在Layer2扩容赛道上,ZkRollup方案以完美的数据可用性以及与Layer1同等级的安全性,备受青睐;以单个Block为处理单元,用零知识证明算法来保证此区块引起的世界状态变化的有效性,大幅降低了每笔交易的上链成本,同时也增长了系统的吞吐效率。然而,在实际的落地过程中,研究者们发现,简单的ZkRollup方案带来的扩容效果,并不能满足真实的场景需求;这和很多因素有关,电路参数的限制,零知识证明算法的效率等等;研究者们做了很多努力,比如对零知识证明算法进行加速,配备超高配置机器,优化电路规模等,虽带来了一定的性能提升,但仍难以满足需求。
研究者们当然希望,链上一次处理的交易越多越好。朝着这个目标出发,研究者们首先发现了聚合证明技术,该技术已经被ZKSwap推出的ZKSpeed扩容方案采用。在前面的文章中,已经解释了聚合证明的原理和思想,简单来说就是把多个区块的证明聚合成一个证明,使得链上一次就可以完成多个区块的验证,大大的降低了交易的平均成本,其原理如下图所示:
以太坊Layer2上总锁仓量为98.03亿美元:金色财经报道,L2BEAT数据显示,截至目前,以太坊Layer2上总锁仓量为98.03亿美元,近7日涨1.24%。其中锁仓量最高的为扩容方案Arbitrum One,约58.92亿美元,占比60.10%,其次是Optimism,锁仓量22.41亿美元,占比22.86%。[2023/7/2 22:13:10]
?该方案虽然有优势,可实现多个区块的证明的一次验证,但也有其一定的局限性:
1.一次聚合的区块是有上限的,受限于电路参数的限制;
2.聚合的区块越多,电路就越大,直到其规模的上限;这种电路生成的证明时间要更长,证明密钥和验证密钥也会占用更大的存储空间;
EigenLayer的智能合约在主网发布当天流入1600万美元:金色财经报道,EigenLayer 的三个Restaking智能合约在该协议在以太坊主网上发布的第一天就达到了 3,200 个流动性质押代币的最大限制,吸引了大约 1600 万美元。
与过去一周部署的其他以太坊智能合约相比,EigenLayer的三个再押注池(包括stETH、rETH和cbETH流动押注代币)在过去24小时内获得了最高的资金流入。[2023/6/16 21:41:06]
3.目前可支持的最大聚合粒度是20个区块,也就是凑齐20个区块后,才会开始聚合处理。如果生成证明的效率比较低,这会导致这些区块被确认的时间拉长,尤其是最早生成的那些区块;
受限于证明计算和CRS生成复杂度的限制,上述的零知识证明算法是不可扩展的。因此,研究者们也在努力寻找一个可扩展的零知识证明算法,即Scalablezk-SNARKs。
Layer2 NFT市场Mint Square已上线zKsync 2.0测试网:10月20日消息,基于以太坊Layer2 ZK Rollup的NFT市场Mint Square已上线zKsync 2.0测试网,用户可在zkSync 2.0测试网上铸造和交易NFT,并引入了购物车批量购买、定时拍卖这两个新功能。[2022/10/20 16:31:13]
Scalablezk-SNARKs可拓展的zk-SNARKs
在论文《ScalableZeroKnowledgeviaCyclesofEllipticCurves》中,EliBen-Sasson等给出了Scalablezk-SNARKs的定义:
1.Keygenerationischeap:即,Key生成的时间和计算复杂度没有关系;
跨链互操作性协议LayerZero Labs推出安全漏洞赏金计划:金色财经报道,跨链互操作性协议LayerZero Labs宣布推出一个安全漏洞赏金计划,最高奖金为1500万美元。该团队表示,已将所有EOA迁移到Stargate和LayerZero的多重签名,同时开始将Stargate转移到一个单独的多重签名中,并将与社区合作,以投票选出多签密钥持有者。LayerZero将在接下来的几周内与Immunefi和其他团体合作,敲定漏洞赏金的确切细节并将其正式推出。[2022/4/2 13:59:55]
2.Proofgenerationiscarriedoutincrementally:即,证明生成过程既包含了当前执行步骤的正确性又包含了在此之前所有计算的正确性,这种zk-SNARKs是incrementallycomputable;
Spatium推出钱包Spatium3.0,已在GooglePlay和AppStore上提供:9月18日消息,去中心化加密资产钱包Spatium推出新版无密钥移动端加密钱包Spatium3.0,该应用已在GooglePlay和AppleAppStore上提供。Spatium3.0包含重新设计的应用程序界面,通过匿名人脸生物识别备份技术,增强数字资产的加密安全性和改进的注册程序,支持接收和转移加密资产,钱包内显示余额和操作历史。[2021/9/18 23:34:50]
为了方便大家理解,用一张图来表示上述思想:
上图表示意思是:证明着证明一个递归计算过程,即:初始状态为S0,经过t次函数F迭代计算后的结果为St。
第一个计算方式,Monolithicoption:证明方P把t次计算过程全部写成电路,然后一次性证明,正如我们前面所列举的一样,存在相同的局限性,很高的时间复杂度和空间复杂度;
第二个计算方式,Recursiveoption:递归计算,其过程如下:
1.首先对于初始状态S0=>S1,证明方P对于S1?=F(S0)计算过程生成一个证明π1;
2.对于S1=>S2的转换,由图中可以得知,证明方P证明了两部分:{S2?=F(S1),V(S1,π1)=1},前半部分保证了当前计算的有效性,后半部分保证了上一步计算过程的有效性;由于在zk-SNARKs里,证明生成的时间比原始计算要快一些,因此,对于验证过程进行证明是合理的;
由此可以看出,?Recursiveoption满足Scalablezk-SNARKs了基本要求:
1.Key的生成和循环次数没有关系,取决于单次F的复杂度,如果是generalzk-SNARKs,只取决于安全参数;
2.证明满足incrementallycomputable,每个证明都包含了在此之前所有计算的有效性;
3.证明的大小固定,和迭递归次数t没有关系;
由上可知,Scalablezk-SNARKs采用了Recursive思想,即当前的Prove过程包含上一步的验证过程电路,具体如下图所示:
可以看到,P2证明电路里,包含了上一步P1的验证过程电路。需要注意的是,P1对应的V在域Fq上,P2的证明过程在Fr上,如何在Fr上表示V的算术电路,是一个值得探讨的过程;由于Cv可以看作是P的一个子电路,因此,q需要满足?q=#E(Fr)或者?q整除?#E(Fr),即q整除rk?-1,因此:
尝试1.理想的情况下,如果?r=q,那么在Fr上,能完美表示Fq上的V的算术电路,但是根据上述原理,r!=q恒成立;
尝试2.对于q!=r,因为需要在Fr上去模拟Fq上的计算,会导致计算复杂度的提高log(r)倍;
尝试3.采用椭圆曲线循环,可以完美实现Recursive过程;
具体的,选取两个大素数,r和q。满足r=#E(Fq)和q=#E(Fr),即,当前群的域等于另外一个群的阶,反之亦然。因此,域Fq上的证明方P可以完美的在Fq上实现Fr上的验证电路,域Fr上的证明方P也可以在Fr上实现Fq上的验证电路;因此不会出现尝试2里面的缺陷。
下面表格列举常用的cycleofellipticcurves
写在最后
通过采用递归证明组合密码技术(RecursiveProofComposition),zk-SNARKS变成了Scalablezk-SNARKs,实现了更高效、简洁的零知识证明算法,并能真实的落地应用。即将发布主网的Mina就采用了这种技术实现了简洁的区块链,即固定大小的链,保持在22KB左右;同时,其他的技术团队包括MatterLabs、starkWare等也在计划采用Scalablezk-SNARKs技术来实现Layer2更高的扩容。ZKSwap团队在Layer2赛道上持续发力,在Scalablezk-SNARKs上亦有所突破,相信不久就会应用于新的版本上。
郑重声明: 本文版权归原作者所有, 转载文章仅为传播更多信息之目的, 如作者信息标记有误, 请第一时间联系我们修改或删除, 多谢。