以太坊扩容之Layer-2 Rollup扩容解决方案的探讨

金色财经 阅读 25300 2020-12-17 15:06
分享至
微信扫一扫,打开网页后点击屏幕右上角分享按钮

在2020年5月,以太坊网络上出现了所谓的 “黑色星期四”:以太坊变得过于拥挤,以至于MakerDAO无法按照预期进行工作。在这种情况下,不同参与者可以去竞标“抵押品不足的资产”,这意味着允许一个参与者以0美元的价格竞标价值450万美元的ETH。MakerDAO的崩溃向我们展示了可扩展性不足的后果。

正如“黑色星期四”所证明的那样,如今这种因以太坊拥堵而造成的安全威胁已成为一个十分严重的问题,许多项目通过创建链外Layer2的解决方案(例如侧链、状态通道、Rollup等)来解决可扩展性问题,这些解决方案本质上都是将区块链作为信任的锚点。

Layer2扩容技术将事务迁移到链外(与Layer1扩容技术相反,后者提高了基础链的事务吞吐量)。如果构建可行,那么Layer2扩容解决方案可以利用区块链的许多好处(安全性,不变性,去中心化等),而不会产生相同的成本(确认时间慢,交易成本高昂且交易成本高等),并且需要进行更少的权衡和假设。

过去几年中,有关以太坊的两个主要扩容建议是侧链(即Plasma)和状态通道(是一种更通用的支付渠道版本,在比特币网络上已存在多年)。而近期Rollup的解决方案引起了公众的密切关注,基于Rollup的Layer2项目也获得了很大进展。本期的主题是在了解Layer2的基础上一起聊一下现在以太坊社区内大火的Rollup扩容解决方案。

首先,什么是Rollup?

Rollup是类似于Plasma的Layer2扩容解决方案,它借鉴了Plasma的许多概念。Rollup在某种意义上类似于Plasma,通过将交易从链下迁移至由主网(也就是Layer 1)保护的Layer2侧链来扩容以太坊。这两种扩容方案都将智能合约部署到主网上,其中包含了存放在侧链中的所有资金和侧链当前状态的证明。侧链用户和运营商对侧链进行维护,并确保将有效的状态转换提交给主网合约。

Rollup的概念可以追溯到2014年,被以太坊联合创始人Vitalik Buterin称为“Shadow Chain”,即影子链。Plasma和状态通道等解决方案的失败导致开发人员重新审视了Buterin的Shadow Chain(现称为Rollup)。虽然Plasma和状态通道每秒可以扩展数百万个事务,但它们不能兼容那些DeFi相关的应用程序中的智能合约。

Rollup建立在“Shadow Chain”构想的基础上,通过在链外执行状态并且仅使用以太坊区块链来实现数据可用性。Rollup的区块发布或状态更新仅通过tx CALLDATA将一些数据发布到每个事务的主链上,从而提高了吞吐量并克服了侧链的数据扣留攻击问题。

Rollup有两种类型:Optimistic Rollup和ZK Rollup。它们在确保侧链区块有效性方面采取的方法有所不同。对于Optimistic Rollup,有效性由欺诈证明和同步假设来确保,而对于ZK Rollup,有效性则由零知识证明来确保。

以太坊扩容之Layer-2 Rollup扩容解决方案的探讨

什么是Optimistic Rollup?

OptimisticRollup的设想首先由John Adler在2019年7月的以太坊基金会研究论坛上提出,并且Optimistic Rollup更接近影子链的原始设想提纲。致力于Optimistic Rollup的团队包括Optimism(前Plasma Group),Fuel Labs,Arbitrum等。

在Optimistic Rollup中,有两个主要参与者:Aggregators(收取网络费用)和Validators(激励方式类似于比特币的全节点)。它可以提供近乎即时的交易和智能合约,并且不需要Gas费(不包括Aggregators收取的费用)。在使用现有ECDSA签名的情况下,由Optimistic Rollups启用的事务处理速度约为100 tps。如果将签名方法更改为BLS,则事务处理速度可以增加到500 tps。

Optimistic Rollup是指其对以太坊Optimistic虚拟机(OVM)的使用,从技术上讲,它是以太坊虚拟机(EVM)的集成化,它基于Layer2的数据对Layer1的状态进行了“乐观”的状态预测。我们可以这样理解:在Optimistic Rollup Layer2链上,用户有一台用于处理交易和智能合约的机器(OVM),所有日常操作都在该Layer2机器中进行;在以太坊Layer1链上,用户拥有一台相同的OVM机器,但除非紧急情况发生,否则不会使用它。如果某人认为某一个Layer2 OVM的操作是具有欺诈性的,那么他可以在Layer1运行的OVM计算机上重新运行该操作来证明该操作的真实性。要成为Optimistic Rollup Layer2节点,用户(A)须在Layer1智能合约中锁定一些资金(成为“Bond Aggregator”),如果该用户(A)表现不佳,并且有其他用户(B)最终证明了该用户(A)的操作具有欺诈性,则该用户(A)的保证金将被削减,而用户(B)将获得与所削减数量等额的保证金作为奖励。

Optimistic Rollup可以支持简单的支付和复杂的智能合约,现有代码库的大部分内容都可以轻松移植到Optimistic Rollup中,因此Optimistic Rollup被视为直接解决方案。另一方面,将智能合约从以太坊的主链无缝迁移到ZK Rollup是一件相对来说难度更大的事。

以太坊扩容之Layer-2 Rollup扩容解决方案的探讨

什么是ZKRollup?

简而言之,ZK Rollup是一种Layer2扩容解决方案,其中所有资金都由主链上的智能合约持有,而它执行链下的计算和存储,其侧链的有效性通过零知识证明来确保。

ZK Rollup最初由Barry Whitehat于2018年提出,其安全保障与底层Layer1(即以太坊)相同,可以在一分钟内生产区块并将吞吐量提高至2,000 tps。ZK Rollup实现的项目包括Matter Labs和Starkware。

ZK Rollup无需等待两周的时间来完成影子链中的一个区块的最终确定,而是用零知识证明代替了欺诈挑战。账户和余额由单独的Merkle树表示。这些默克尔树的根确保了没有人可以伪造数据。每个Merkle树的根(一个用于账户,另一个用于余额)都存储在以太坊上的智能合约中,该合约只提供侧链状态的“简单表示”,所有其他数据都是在链外存储的。

ZK Rollup就像你在与建立区块和状态更新的某个人(称为中继器)进行交谈。状态的变化是经过哈希处理的,这是SNARK(一种零知识证明)的输入过程,该输入中包括Rollup块中每个事务的有效性证明。交易被汇总在一起,仅有头部被签名并提交给主链。因此,减少了以太坊链上存储的数据量。所有签名都被称为ZK-SNARK的零知识证明所取代,这可以使所汇总的交易记录得到压缩。

由于每个签名的验证都被单个SNARK取代,因此计算也得到了改善。仅有一小部分信息(地址簿的两个Merkle根和余额/随机数,两者均为32字节)添加到主链中,他们仅占通过CALLDATA在链上发布的交易数据的一小部分。提交区块或状态更新后,用户可以检验零知识证明的有效性。若其中发起挑战的交易告诉智能合约某些数据不正确,那么该区块最终无效。

这些挑战在ZK Rollup中被ZK-SNARK所取代,在该中继器中无效或不正确的状态是不可能被提交的。SNARK证明这一系列交易是由拥有者正确签署的,并且从旧的Merkle根到新的Merkle根,账户余额的更新是正确的。因此,中继器不可能提交无效的或被操纵的状态。

ZK Rollup将ZK SNARK证明提交到主网Rollup合约中。然后主网智能合约将验证并接受任何有效的证明。这个过程几乎立即发生并且规模巨大。相较而言,Optimistic Rollup总会牺牲一些可扩展性以适应Layer2上的智能合约,同样它的过程会稍有延迟,以便于用户有时间向Bond Aggregator的无效块发起挑战。

因此,从长远来看,也有人认为ZK Rollup是更有希望的解决方案。尽管现在这种扩容技术确实可以对Optimistic Rollup进行补充以实现简单的付款,但是已经有一些Dapp使用该技术(例如LoopRing),并且在实现智能合约支持方面取得了进展。

Rollup对于以太坊具有很大的潜力,但仍有许多挑战需要克服。Rollup的挑战在于DeFi服务器的可组合性。如果不同的Rollup链上有不同的Dapp,则不同Rollup链之间的信息互通将比以太坊主链上的信息互通更加困难。为了保持可组合性,DeFi服务器将必须在特定的Rollup链上进行协调并创造临界质量。尽管在以太坊应用程序中出现了采用Rollup的良好迹象,但区块链网络“无需许可”的性质意味着并非每个用户或服务器都将采用这些Layer2解决方案。

btcfans公众号

微信扫描关注公众号,及时掌握新动向

来源链接:https://www.jinse.com/
免责声明:
2.本文版权归属原作所有,仅代表作者本人观点,不代表比特范的观点或立场
2.本文版权归属原作所有,仅代表作者本人观点,不代表比特范的观点或立场
上一篇:走三撤二在所难免 不要被甩下车 下一篇:微软宣布将在游戏平台上使用区块链技术

相关资讯