作者:?AlexGluchowski
翻译:?阿剑
编者注:原标题为《干货|OptimisticRollupvs.ZKRollup:一探究竟,Part-1》
声明:本文的作者自ZK-Rollup的概念形成以来就一直在开发ZK-Rollup,因此不可避免会带有一些偏见。不过,我的经验也让我很适合从技术的角度深入分析和比较这两种解决方案。
摘要
OptimisticRollup是一种近期提出的、旨在扩展以太坊上智能合约通用性吞吐量的技术。如果开发相对较快的话,它就可以为迁移现有的dApp和服务提供一种简单的方案,而且为此付出的安全性/可扩展性牺牲也不会太大。它能帮助Eth1.0适应不断增长的需求。
而ZKRollup是一种更复杂的技术。今时今日它可以用于代币转移和定制化的应用。不过,真要用它来实现通用性智能合约,就需要更长时间,甚至需要更多研究工作来把EVM高效封装进零知识证明。不过好事情是,一旦ZKRollup开发完成,现在所有的以太坊dApp和服务都可以平滑迁移到ZKRollup上,无需花太多力气。
ZKRollup可以解决OptimisticRollup上的几个根本问题:
消除了令人厌恶的尾部风险:通过复杂但可行的攻击方法从OR中盗取资金
报告:过去12个月加密货币劫持攻击激增399%:金色财经报道,网络犯罪分子越来越多地远程攻击服务器和设备,迫使他们在所有者不知情的情况下挖掘加密货币和比特币。Sonic Wall的一份报告发现,这种攻击被称为加密劫持,在过去12个月中全球范围内增加了399%。Sonic Wall EMEA副总裁Spencer Starkey表示,随着越来越多的组织拒绝支付赎金,这种做法已成为黑客的新作案手法。数据表明,由于执法活动的增加和严厉的制裁,网络犯罪分子也转向了这种更加离散的方法。针对企业、政府和全球公民的看似无休无止的数字攻击正在加剧,威胁范围也在不断扩大。[2023/7/26 15:59:55]
将提取资金的时间从1-2周缩减到几分钟
支持快速的交易确认和退出,而且体量几无上限
默认保护隐私
对ZKRollup来说,OptimisticRollup的出现是个好消息。迁移到Layer-2扩展方案上需要对钱包、预言机、dApp和用户习惯的巨大变更。OptimisticRollup可以帮助整个生态为这样的迁移作好准备,并为那些当前还没有办法构建到ZKRollup之上的应用提供了扩展途径。这就给了ZKRollup时间来成长、使ZKRollup的普及可以尽可能顺利,同时保持以太坊的增长势头。
元宇宙开发公司LandVault与Super League达成合作开发虚拟宇宙游戏:金色财经报道,刚刚完成3700万美元融资的元宇宙开发公司LandVault宣布与Super League达成合作开发虚拟宇宙游戏,将消费品牌、国际体育特许经营权、娱乐集团和行政机构带入元宇宙,并且提供创建、分发、营销和货币化元宇宙解决方案。此外,LandVault还透露目前正在构建AI创作工具、以及内容托管和代币化协议Matera。(venturebeat)[2023/4/17 14:09:11]
Rollup101
什么是Rollup?
Rollup是一种类似于Plasma的Layer-2扩展方案:用主链上的单个合约来保管所有的资金,并保存一条指向“侧链”状态的简洁密码学承诺。侧链的状态是由用户以及链下运营者来维护的,不会占用Layer-1的存储空间。
Rollup与Plasma有所不同的是,Plasma会面临交易数据可用性的问题。而Rollup则通过在Layer-1网络上为每一笔交易公开一些数据解决了这个问题。因此,几千笔交易可以被打包到一个Rollup区块中。虽然这种方法的开销是O(n),也就是说它的开销会随着交易数量的增加而严格线性增长,但它也提供了实用的100倍吞吐量提升,因为CALLDATA的开销要比Layer-1的存储和计算便宜很多。
证监会科技监管局局长姚前:重点发展基于AIGC技术的合成数据产业:3月7日消息,证监会科技监管局局长姚前在《中国金融》撰文称,建议重点发展基于AIGC技术的合成数据产业。以更高效率、更低成本、更高质量为数据要素市场“增量扩容”,助力打造面向人工智能未来发展的数据优势。在强化数据要素优质供给方面,应统筹兼顾自立自强和对外开放。可考虑对Wikipedia、Reddit等特定数据源建立过滤后的境内镜像站点,供国内数据处理者使用。
国家相关部门应对大模型训练数据的处理和使用标准进行统一规范;建立数据托管机制,对数据托管方进行约束,要求数据托管方按照监管机构的规定对数据来源、处理结果以及使用去向等进行监测,从而使得模型的输入、输出结果符合监管要求。[2023/3/7 12:46:29]
Rollup也一再被VitalikButerin认可为他最喜欢的Layer-2扩展方案。
根据状态转换有效性的保证方式不同,可区分出来两种Rollup方案:ZKRollup以及OptimisticRollup。两种方案的简史在?此文?中有清晰的阐释。
什么是ZK-Rollup?
在一个ZK-Rollup系统中,运营者必须为每一次状态转换提供一个简洁的零知识证明;该证明将由主链上的Rollup合约来验证。这样的一个SNARK证明了存在一些交易,这些交易是由发起人正确签名过的,并且正确地更新了相关账户的余额,并使旧的默克尔根值变为代表新状态的新值。这就杜绝了运营者提交无效状态或篡改状态的可能。
报告:比特币NFT市场到2025年将达到45亿美元:金色财经报道,根据GalaxyResearch周五发布的一份报告,新兴的比特币NFT生态系统到2025年市场规模可能会达到45亿美元。分析师们预计,过去两个月的比特币Ordinal狂热并不是昙花一现。他们预测,对在比特币区块链上存储NFT的能力的需求在未来几年只会增长。Galaxy研究人员表示,甚至到今年夏天,整个产品和服务的基础设施将被完全开发,以满足这个不断增长的市场。[2023/3/4 12:42:02]
可以在EthResearch论坛?和MattLabs博文?处找到更多技术细节。你也可以尝试一下MatterLabs用于ERC-20代币转账的ZKRollup在线demo。
什么是OptimisticRollup?
在一个OptimisticRollup系统中,运营者发布新的状态根时无需每次都接受Rollup智能合约的检验。相反,每个人都假设状态转换是正确的。不过。如果有人发布了一次不正确的状态转换,其它运营者或者用户都可以指出不合法的交易并回滚不正确的区块、惩罚恶意验证者。
OR的理念是由JohnAdler首先构想出来的。读者可以在这篇OptimisticRollupAMA中发现更多细节。向PlasmaGroup的伟大成果致敬!
数据:BTC平均休眠期达5年低点:7月17日消息,据Glassnode数据显示,当前BTC平均休眠期(7日均值)为2.036,达5年低点。[2022/7/17 2:19:07]
开始比较吧!
灵活性:通用性计算
OptimisticRollup
虽然OR可以用于专用性计算,PlasmaGroup最重要的创举其实是OVM:Optimistic虚拟机。OVM可以支持任意智能合约逻辑的实现。几乎所有在以太坊上可以执行的计算都可以在OVM上执行,包括智能合约的可组合性。它也可以给予EVM、EWASM或任何其它虚拟机。
OVM的一大长处是,如果与EVM搭配使用,大家就可以用Solidity来写码。因此,大部分现有的代码库都可以轻松移植到OR上。
如果OVM能直接重用现有的EVM字节码的话是最理想的,但可能没有那么简单。一个合适的实现应该要改变交易数据格式,还需要一个类似于Truebit/PlasmaLeap的复杂挑战/响应协议来接收错误性证明,这就很有可能导致与EVM的区别,否则便不能处理极端情况。这也意味着,要让现有的合约能适应OVM,还有一些工作要做。
另一个实现上的难点来源于一个事实:对大型区块的错误性证明所要求的Gas可能会大于Layer-1区块的Gas上限。那么这些错误性证明就必须被打散为多条ETH交易。
ZKRollup
迄今为止,所有ZK-Rollup现有的实现都只支持专用性操作比如代币转移或者原子化互换。这里面有几个原因。第一,现在还没有技术能够高效地实现不同零知识证明方案的简洁递归证明合成,但是想在一个区块内对不同智能合约做聚合执行又必然需要这样的技术。我们现在最好的方案就是椭圆曲线循环运算?加上Groth16,它需要对长字段进行运算,在用于大型计算时是完全没有效率的。
第二,即便我们有了更短的字段,Groth16也需要一个受信任初始设置流程,而且每个智能合约、每个新版本都需要独立的一个!显然,这绝对是不现实的。我们现在只有一种不需要受信任初始设置的高效零知识证明方案,就是基于FRI的STARKs,但是其中验证者仅对一小部分问题类型才是简洁的。一个STARK验证者必须执行被证明的计算语句的所有约束至少一次,这就意味着我们不能对一组异构的智能合约进行迭代运算。
不过所有这一切都会在SNORKs到来之后改变,这是一种新一代的零知识证明方案,它背后的密码学原语与前辈们的稍有不同——最值得注意的是多项式承诺方案。这一技术是由SeanBowe提出的,一开始命名为?Sonic;2019年夏天,代号为?PLONK?和?Marlin?的技术继承了这条路线。这几种技术都有一个共同特点:虽然整个方案仍然需要受信任初始设置,但这时候的初始设置是普遍性的且可升级的,只要做一次,就可以被任意数量的不同项目随时重用。
不过,这些证明系统所用的Kate多项式承诺方案,仍然需要高效的椭圆曲线循环运算来进行递归,这个高效运算现在还不能实现。这就是为什么我们对一些最新的、完全简洁且透明的证明系统,,例如Halo、SuperSonic、Fractal以及一些MatterLabs团队正在开发的新东西,感到非常兴奋的原因。长话短说:在ZKP上构建通用性智能合约系统的障碍在最近已被消除。ZKRollup完全可以支持像EVM一样的编程模式。第一批合约可能会要求定制化的DSL,虽然对于Solidity开发者来说,学习时间不会超过1天。最终来看,如果ZKP证明者技术维持当前的进步速率,我们可以预期所有现有的以太坊合约都可以轻松、高效地迁移。
可扩展性&交易费用
OptimisticRollup
根据JohnAdler的说法,当前的估计是在EIP2028/伊斯坦布尔升级激活之后,可以达到每笔交易只需4kgas
换算一下,TPS可上升到约100
有了BLS签名聚合技术之后,TPS可以上升到约500
如果愿意打破EVM的兼容性,理论上的吞吐量可以直逼ZKR的上限
现实的吞吐量估计:
500TPS。
对现在来说可能也蛮够用了。
ZKRollup
当前,在Matter测试网上,每笔转账交易的公开数据成本是16字节;在EIP2028/伊斯坦布尔升级激活之后,每笔交易要消耗272gas
此外,还有一个需要平摊的证明成本,当前的估计是300kgas
即便我们估计最坏的情况,需要付出100万gas的证明成本,预计天花板也是2140TPS
在一些讨论中,我听到有人提出ZKP包括了大量的计算开销,因此是非常昂贵的。实际上,相比起Gas的生产费用,计算开销是微不足道的;因为Gas的生产要兼顾抗审查性、去中心化,它的数量才是真正的瓶颈。我们也预计,这个负面因素的影响会大幅减弱。
现实的吞吐量估计:
超过2000TPS——就快赶上Visa了。
不过,对于大部分应用场景来说,ZKRollup都能提供更大的开销节约力度,因为可以免去在公开数据中存储较大的数据块,只要这些数据不是重建状态转换delta所必需的就好。这里的核心观念是这样的:虽然OR总是需要用户发布完整的交易输入,在ZK中我们可以有所选择:1)发布交易输入,删去不影响状态转换的见证数据;或者2)只发布交易输出。这样的选择可以相当优雅地实现,无需引入多少复杂性。
重要例子:
在多签名钱包、类似Argent的账户抽象型钱包或者去中心化交易所中,用户需要提交签名,以供合约验证。这些签名对状态更新也没有用,所以也可以从公开数据中省去。
像Gnosis的Dfusiondutch去中心化交易所这样的合约需要大量的数据集输入,这些数据集不会直接影响存储,只用来验证计算结果。
ETH2.0实现以后因为Rollup都会驻留在单个分片中,所以CALLDATA的成本应该不会有太大改变。除非带宽整体变得更加便宜。
郑重声明: 本文版权归原作者所有, 转载文章仅为传播更多信息之目的, 如作者信息标记有误, 请第一时间联系我们修改或删除, 多谢。