BTC:Rollup不完全指南

总的来说我自己的观点是,短期内OptimisitcRollup很可能在实现具有通用性的EVM中胜出,ZKRollup很可能在简单的支付、转账和其他特定应用中胜出。但从中长期来看,随着ZK-SNARK技术的改进,ZKRollup将在所有应用场景中胜出。剖析欺诈证明

OptimisticRollup的安全性取决于这样的想法:如果有人将一个无效的批处理发布到Rollup中,任何同步了该链的人只要发现欺诈行为便可以向主链上的合约发布欺诈证明,证明该批处理是无效的,应该被回滚”到底是指主链,还是指Rollup,虽然都是对的)。

一个断言某个批处理无效的欺诈证明需要包括上图中以绿色标识的数据:该批处理本身以及证明该批处理读取或修改了特定账户的默克尔树路径。黄色的节点可以通过绿色的节点重建,所以无需包含在证明中。这些数据足以执行批处理并计算新的状态根。如果计算出的新状态根和批处理中提供的新状态根不一样,那么就证明了该批处理是欺诈的。可以确保的是,如果一个批处理中存在错误,而在此之前的所有批处理都是正确的,那么就可以创建一个欺诈证明,证明该批处理的构造是错误的。注意如果在Rollup中有多个无效的批处理,那么最好尽量证明最早的那个批处理无效。当然可以确保的是,如果一个批处理是正确的,那么永远不可能创建一个欺诈证明,证明该批处理是无效的。压缩是如何实现的?

Uniswap社区正对“在Scroll上部署V3”提案进行温度检查投票:8月15日消息,治理页面显示,Uniswap社区正对“在以太坊扩容项目Scroll上部署Uniswap V3”提案进行温度检查投票,并将于8月20日结束。提案指出,继Uniswap在Scroll测试网上成功部署后,Scroll团队提议Uniswap DAO将Scroll即将推出的Uniswap V3主网部署视为正式部署。

经过温度检查后,Scroll团队将继续在Scroll主网上部署Uniswap V3,随后将提交治理提案并添加已部署的合约地址,这些步骤均计划于9月进行。[2023/8/15 21:24:44]

一笔最简单的以太坊转账大约需要110字节,但是在Rollup中实现ETH转账只需要大约12字节:

这其中的部分原因是Rollup可以采用更简单的高级编码技巧,而目前以太坊的RLP在每个值的长度上浪费了1个字节。同时Rollup还运用了一些非常聪明的压缩技巧。Nonce:这个参数的目的是为了防止重放。如果一个账户状态当前的nonce是5,那么该账户的下一笔交易的nonce参数必须是5,但是一旦交易被处理,账户状态中的nonce就会被递增为6,这样nonce为5的交易就不会再被打包。在Rollup中,我们可以完全省略nonce,因为我们只需要从更新前状态中恢复nonce;如果有人试图用较早的nonce重放交易,签名将无法通过验证,因为签名校验将使用nonce更大的数据。GasPrice:我们可以允许用户使用固定范围的Gas价格进行支付,例如范围是0-2的16次幂。另外,我们也可以只为每个批处理收取固定的费用,甚至可以将gas支付完全移到Rollup之外,让交易者通过特定渠道向批处理创建者支付费用。Gas:我们同样可以只是将Gas总量范围选择为2的幂。另外,我们也可以只在批处理层面设置Gas限制。To:我们可以用索引代替20字节的地址。Value:我们可以用科学计数法来存储Value。在大多数情况下,转账只需要1-3个有效位。Signature:我们可以使用BLS聚合签名,使许多签名聚合成一个约32-96字节的签名。然后,这个签名可以一次性对整个消息集和发送者进行批处理的签名校验。表中的~0.5表示在一个主链区块中可以验证的聚合签名数量是有限的,因此如果批处理中的交易较多,需要约每100笔交易生成一次聚合签名。ZKRollup有一个特殊的重要压缩技巧:如果交易的一部分只用于验证,与计算状态更新无关,那么这部分数据可以不存储在主链上。这在OptimisitcRollup中是做不到的,因为该数据仍然需要存储在链上,以备后续欺诈证明校验的不时之需,而在ZKRollup中,证明某批处理数据正确性的SNARK证明,已经证明了相关方提供了所有验证所需的数据。一个重要的例子是实现具有隐私保护性质的Rollup:在OptimisitcRollup中实现隐私保护,每笔交易中用于保护隐私的约500字节的ZK-SNARK需要上链,而在ZKRollup中实现隐私保护,覆盖整个批处理的ZK-SNARK已经可以证明"内部"的ZK-SNARK是有效的。这些压缩技巧是Rollup实现扩容的关键,如果没有这些技巧,Rollup或许只能在主链的扩容基础上实现大约10倍的扩容,但在使用了压缩技巧之后,几乎所有应用的扩容系数都可以超过100倍。谁可以提交批处理?

Layer2解决方案Scroll现已集成OKX Web3钱包:6月20日消息,据Scroll官方,Scroll现已集成OKX Web3钱包,用户可连接OKX Web3钱包在Scroll Alpha测试网体验跨链交易等。此外,OKX Web3钱包的插件端也已支持Scroll Alpha测试网,用户可以通过自定义网络接入Scroll Alpha测试网进行转账等。Scroll是一个EVM等效的zkRollup以太坊扩容方案Scroll,其Alpha测试网已经在Goerli上线。[2023/6/20 21:50:02]

对于哪些人可以在OptimisticRollup或ZKRollup中提交批处理这个问题,已经存在许多流派。一般来说,大家都认为提交批处理的用户必须质押一大笔押金,如果某用户曾经提交过一个具有欺诈性的批处理,那么这笔押金的一部分将被燃烧销毁,另一部分奖励给提交欺诈证明的用户。但除此之外,还存在许多可能:,该术语得名原因是该角色需要对批处理中的交易进行排序)完全无许可的排序者:任何人都可以在任何时候提交批处理。这个方法最简单,但有一些严重的缺点,比如存在这样的问题:多个参与者同时生成并试图提交批处理,而其中仅有一个批处理可以成功被收录。这将导致在生成证明的计算开销或提交证明时的Gas开销有大量被浪费。中心化的排序者:通过排序者这样的角色提交批处理。这种方法“效率”最高,但需要依赖一个中心化的角色。排序者拍卖:通过拍卖来决定谁有权利成为第二天的排序者。这种方案的优点是可以筹集资金,而这些资金可以通过Rollup的DAO来分配。从PoS集合中随机选择:任何人都可以将ETH存入Rollup合约中,每一个批处理的排序者都会在这些存款人中随机选取,被选中的概率与存款金额成正比。这种方案的主要缺点是需要锁定大量资产。DPoS投票:某些排序者通过拍卖选取后执行批处理,但如果他们表现不佳,那么代币持有者可以投票将其踢出,并举行新的拍卖来替代他们。将批处理和状态根提交分开目前正在开发的一些Rollup采用的是“分割-批处理”模式,即提交一批二层交易批处理的行为和提交一个状态根的行为是分开进行的。这其中有一些关键的优势。你可以允许许多排序者并行发布批次,以提高抗审查能力,减轻对于某些批处理会因为其他一些批处理提前打包而无效的担心。如果一个状态根存在欺诈,无需回滚整个批处理,可以只回滚状态根,并等待有人为同一批处理提供新的状态根。这样可以更好地确保交易发送者的交易不会被还回滚。总的来说,这是一个相当复杂的技术组合,还在涉及效率,简单性,抗审查性和其他目标的复杂权衡中找到平衡。现在说这哪种组合最有效还为时过早,时间会证明一切。Rollup会带来多大的扩容?

ZK Rollup 订单簿 DEX ZigZag 已在 GitHub 上提交代币源代码:6月14日消息,以太坊二层 ZK Rollup 订单簿 DEX ZigZag Exchange 已在 GitHub 上提交代币源代码。[2022/6/14 4:24:25]

在现有的以太坊主链上,每个区块的Gas上线是1250万,而交易的每个字节存储在链上花费16Gas。这意味着,如果一个区块中只包含一个批处理,那么这个批处理可以包含1200万/16=75万字节的数据。而如上文所述,Rollup中的每一笔ETH转账只需要12字节的存储空间,这意味着每个批处理中可以包含62500笔交易。目前以太坊主链的区块间隔是13秒,也就是说实现的TPS约为4807。下表中包含了其他一些应用场景的扩容效率。

最大扩容倍数计算方法:以太坊主链对应操作的Gas消耗/(Rollup中对应操作需上链的字节数*16)*1200万/1250万需要说明的是,出于某些原因,这些数字其实是过于乐观的。最重要的原因是,一个区块中几乎不可能只包含一个批处理,因为到时会有多个不同的Rollup系统。第二个原因是,存款和提现操作始终将会存在。第三个原因是,短期内Rollup的使用量可能较低,因此固定成本的收费模式会占据主导。不过即使考虑了这些因素,超过100倍的扩容应该不难实现。那如果我们想要实现1000-4000TPS呢?这就需要eth2数据分片了。在这个提案中,每12秒开辟一个16MB的存储空间,这个存储空间可以被任何数据填满,系统将确保对这些数据的可用性达成共识。这个数据空间可以被Rollup使用。这个约1398kB/秒的数据吞吐量比当前以太坊主链的约60kB/秒提高了23倍,从长远来看,数据容量有望进一步增长。因此,使用eth2数据分片实现的Rollup的TPS可以高达10万,在未来甚至会更大。还有哪些尚未解决的挑战?

Layer2跨rollup桥Orbiter测试网络新增支持zkSync2.0:金色财经消息,Layer2跨rollup桥Orbiter Finance的测试网络新增支持以太坊二层解决方案zkSync2.0。[2022/5/25 3:40:54]

虽然现在Rollup的基本概念已经被人们所熟知,我们也很确定Rollup从本质上说上是可行的、安全的,而且已经有多个Rollup在以太坊主网部署,但Rollup在设计层面仍有许多地方没有被很好地探索,如果要将以太坊生态系统的大部分都完全引入Rollup从而利用其扩容性,这方面仍存在不少挑战。一些关键的挑战包括:用户和生态系统的入驻:目前使用Rollup的应用不多,用户对Rollup不熟悉,很少有钱包开始整合Rollup。商家和慈善机构还不接受它们用于支付。跨Rollup交易:有效地将资产和数据从一个Rollup转移到另一个Rollup中,而不需要通过主链中转并产生相应费用。审计激励:如何最大限度地提高至少有一个诚实节点会完全验证OptimisticRollup的概率,从而确保在出现问题时有人发布欺诈证明?对于小规模的Rollup来说,这不是一个重要的问题,可以简单地依靠利他主义实现,但对于更大规模的Rollup来说,需要把激励问题研究清楚。探索在Plasma和Rollup两者之间设计的可能性:是否有技术可以把部分与状态更新相关的数据放在链上,但不把全部数据放在链上?通过这种技术是否会诞生出新的有用的工具?最大限度地提高预确认的安全性:很多Rollup为了让用户体验更好,提供了一个“预确认”的概念,即在交易完成后,排序者即刻提供一个承诺:某笔交易将被包含在下一批处理中,如果排序者食言,他们的押金将被销毁。但是这种方案在经济层面的安全性是有限的,因为排序者可能同时向非常多的用户做出很多承诺。这个机制是否可以改进?提高对缺席排序器的响应速度:如果一个Rollup的排序者突然离线,那么如何最大限度地快速以及低成本地从这种情况中恢复,要么快速和低成本地大规模退出到另一个Rollup,要么更换排序者。快速响应这是非常有价值的。高效的ZK-VM:生成一个ZK-SNARK证明,证明具有通用性的EVM代码已经正确执行,并有一个确定的结果。总结

DASH核心团队聘任Bob Carroll为CTO:据DASH官方消息,DASH Core聘任Bob Carroll为新任CTO。Bob Carroll曾任Phoenix大学CIO,拥有数十年行业经验。[2018/6/5]

Rollup是一种新的强大的二层扩容范式,预计将成为以太坊未来短期和中期实现扩容的基石。以太坊社区对于Rollup非常兴奋,因为与之前的二层扩容尝试不同,Rollup可以支持通用的EVM代码,允许现有的应用程序轻松迁移过来。Rollup通过做出一个关键的妥协来实现这一目标:不试图完全搬到链下,而是将每笔交易的少量数据保留在链上。Rollup有很多种,设计上也有很多选择:使用欺诈证明的OptimisitcRollup,使用有效性证明的ZKRollup。排序者可以是一个中心化的角色,也可以是一个去中心化的自由角色,或者是介于两者之间的许多其他选择。Rollup仍然是一项早期阶段的技术,开发正在快速地继续,但它们是有效的,一些已经运行了几个月。期待在未来的几年里,Rollup领域会有更多令人兴奋的成果出现。

郑重声明: 本文版权归原作者所有, 转载文章仅为传播更多信息之目的, 如作者信息标记有误, 请第一时间联系我们修改或删除, 多谢。

链链资讯

[0:5ms0-5:960ms