2020年5月,以太坊网络出现了所谓的“黑色星期四”:以太坊变得非常拥挤,以至于马克道无法按预期工作。在这种情况下,不同的参与者可以竞购“抵押品不足资产”,这意味着允许一个参与者以0美元的价格出价450万美元的以太坊。makerdao的崩溃向我们展示了缺乏可伸缩性的后果。
正如“黑色星期四”所证明的,以太坊的拥堵所造成的安全威胁已经成为一个非常严重的问题。许多项目通过为链外层2(如侧链、状态通道、汇总等)创建解决方案来解决可伸缩性问题,这些层本质上使用区块链作为信任的锚。
Layer2扩展技术将事务迁移到链外(与layer1相反,后者提高了底层链的事务吞吐量)。如果构建是可行的,Layer2扩展解决方案可以利用区块链的许多好处(安全性、不变性、去中心化等),而不需要相同的成本(确认时间慢、交易成本高、交易成本高),并且需要较少的权衡和假设。
在过去几年中,以太坊的两个主要扩展方案是侧链(即plaa)和状态通道(一种更通用的支付渠道版本,在比特币网络上已经存在多年)。最近,rollup的解决方案引起了公众的关注,基于rollup的layer2项目也取得了很大进展。上一期,德林研究院介绍了以太坊Layer2扩容方案。本期的主题是在了解layer2的基础上,探讨以太坊社区火灾的汇总扩展解决方案。
首先,什么是汇总?
Rollup是一个与plaa类似的layer2扩展解决方案,它借鉴了plaa的许多概念。Rollup在某种意义上类似于plaa,它通过将事务从链外迁移到受主网络保护的第2层侧链(即第1层)来扩展以太坊的容量。两种方案都将智能合约部署到主网,包括侧链中存储的所有资金以及侧链当前状态的证明。侧链用户和运营商维护侧链,确保有效的状态转移提交给主网络契约。
上卷的概念可以追溯到2014年,以太坊的联合创始人V神(vitalik buterin)称之为“影子链”。plaa和state channels等解决方案的失败导致开发人员重新访问了buterin的影子链(现在称为rollup)。虽然plaa和state通道每秒可以扩展数百万个事务,但它们与DeFi相关应用程序中的智能合约不兼容。
上卷是基于“影子链”的思想,它实现链外的状态,只使用以太坊区块链来实现数据可用性。Rollup的块发布或状态更新只通过TX calldata向每个事务的主链发布部分数据,提高了吞吐量,克服了侧链数据截留攻击的问题。
有两种类的汇总:**汇总和ZK汇总。他们采取不同的方法来确保侧链滑车的有效性。对于**上卷,其有效性由欺诈证明和同步假设保证,而对于ZK上卷,其有效性由零知识证明保证。
什么是**汇总?
**上卷的概念最早由约翰·阿德勒在2019年7月的以太坊基金会研究论坛上提出,**上卷更接近影子链的原始轮廓。致力于优化汇总的团队包括Optimi(前plaa group)、燃料实验室、Arbitrom等。
在优化汇总中,有两个主要参与者:聚合器(收取网络费用)和验证器(激励模式类似于比特币的完整节点)。它可以提供近乎即时的交易和智能合约,而且不需要GAS FEE(不包括聚合商收取的费用)。使用现有的ECDSA签名,通过优化汇总启用的事务速度大约为100tps。如果将签名方法改为BLS,则事务处理速度可以提高到500tps。
**汇总是指它使用以太坊**虚拟机(OVM)。从技术上讲,它是以太坊虚拟机(EVM)的集成。它根据Layer2的数据“乐观地”预测第1层的状态。可以理解为:在**上卷layer2链上,用户拥有一台用于处理交易和智能合约的机器(OVM),所有日常操作都在layer2机器上进行;在以太坊 layer1链上,用户拥有同一台OVM机器,但除非发生紧急情况,否则不会使用它。如果有人认为第2层OVM的操作是欺诈性的,他可以在运行第1层的OVM计算机上重新运行该操作,以证明该操作的真实性。为了成为一个**的上卷第2层节点,用户(a)必须在第1层智能合约中锁定一些资金(称为“债券”。如果用户(a)表现不佳,而另一个用户(b)最终证明用户(a)的操作是欺诈性的,则用户(a)的保证金将减少,用户(b)将获得相当于减少的金额的保证金作为奖励。
**上卷可以支持简单的支付和复杂的智能合约,并且现有的代码库大部分可以很容易地移植到**上卷,因此**上卷被视为一种直接的解决方案。另一方面,智能合约从以太坊主链无缝迁移到ZK rollup相对比较困难。
什么是zkrollup?
简言之,ZK rollup是一种二层扩展解决方案,所有资金由主链上的智能合约持有,执行链外计算和存储,其侧链有效性由零知识证明保证。
ZK汇总最初由Barry WhiteHat在2018年提出。其安全保证与底层1(即以太坊)相同。它可以在一分钟内生成块,并将吞吐量提高到2000 TPS。ZK rollup实施的项目包括matter labs和starkware。
ZK rollup不再等待两周时间等待影子链中的区块最终确定,而是用零知识证明取代了欺诈挑战。账户和余额由单独的Merkle树表示。这些默克尔树的根确保没有人能伪造数据。每个Merkle树的根(一个用于帐户,另一个用于余额)存储在以太坊上的智能合约中,它只提供侧链状态的“简单表示”,所有其他数据都存储在链外。
ZK rollup就像与创建块和状态更新的人(称为转发器)交谈。状态的变化是散列的,这是snark(零知识证明)的输入过程,其中包含了rollup块中每个事务的有效性证明。交易被聚合,只有标题被签名并提交给主链。因此,以太坊链上存储的数据量减少。所有的签名都被一个称为zk snark的零知识证明所取代,它压缩聚合的事务记录。
由于每个签名的验证都被单个Snark代替,计算也得到了改进。只有少量信息(地址簿的两个Merkle根和余额/随机数,都是32个字节)添加到主链中,它们只占通过calldata在链上发布的事务数据的一小部分。提交块或状态更新后,用户可以验证零知识证明的有效性。如果具有挑战性的事务告诉智能合约某些数据不正确,块最终将无效。
这些挑战将被zk-snark-in-zk-rollup所取代,其中不能提交无效或不正确的状态。Snark证明了这一系列交易是由所有者正确签名的,并且帐户余额从旧的Merkle根正确更新到新的Merkle根。因此,对于一个**纵的转发器来说,提交或提交是不可能的。
合同将提交给zlupSNK。然后,主网络智能合约将验证并接受任何有效证据。这一过程几乎立即发生,规模巨大。相比之下,**汇总总是牺牲一些可伸缩性来适应第2层的智能合约,而且其过程也稍微延迟,因此用户有时间挑战无效的bond aggregator块。
因此,从长远来看,有人认为ZK-rollup是一个更有前途的解决方案。虽然这种扩展技术确实可以补充简单支付的**汇总,但已经有一些dapp使用该技术(例如loopring),并且在实现智能合约支持方面取得了进展。
对于以太坊来说,上卷有很大的潜力,但仍有许多挑战需要克服。Rollup的挑战是DeFi服务器的可组合性。不同链上不同链间的信息交换比较困难。为了保持可组合性,DeFi服务器必须协调并在特定的汇总链上创建临界质量。尽管以太坊应用程序中有采用汇总的良好迹象,但区块链网络的“无许可证”性质意味着并非每个用户或服务器都会采用这些Layer2解决方案。
文章链接:https://www.btchangqing.cn/165319.html
更新时间:2020年12月17日
本站大部分内容均收集于网络,若内容若侵犯到您的权益,请联系我们,我们将第一时间处理。