金色学院前沿课第三讲:以太坊Layer2最新策略与趋势

课程介绍:

早在2008年时候中本聪发明比特币,区块链只是为了保证比特币系统稳定运行的技术手段。2013年Vitalik Buterin创造以太坊,区块链才真正独立于比特币,成为改变互联网运行模式的下一代网络技术,逐步发展为新的数字网络,可以通过智能合约部署一系列应用和交易的区块链网络系统。但取得成功同时缺陷逐渐显现出来,费用高、效率低等等。以太坊的扩容问题,一直备受关注。在ETH2.0到来前,近年来Layer2成为最为有效的以太坊扩容方式之一,相当于在以太坊边上架起另一座起桥梁,本期我们深入研究以太坊Layer2。

本期课程讲师:

祁超 Celer Network 中国负责人 

课程大纲:

1. Layer2的由来

2. Layer2的设计思路

3. 状态通道及特点

4. 侧链扩容方案

5. Rollup方案

6. 怎么看待各个layer2的优劣?

7. 如何看待layer2以后的发展

课程内容

1.  Layer2的由来

谈到layer1和layer2就不可避免的要提到一个经典话题,不可能三角,即一个区块链系统无法同时满足三个条件:安全、可扩展性、去中心化。

而对于一个底层区块链系统来说,安全性和去中性化一定是最重要的,在保持了安全和去中性化的前提下,一个区块链系统是肯定无法实现足够的可拓展性的。

所以这个时候我们就需要在layer1上再搭一层来解决可拓展性,这就是layer2。

2.  Layer2的设计思路

我一直认为区块链系统最有趣最优美的地方就是他的系统和经济模型的设计,非常有趣的是,Layer1设计原理是把人往坏里想,它要防止人作恶,它要设计一个治理体系防止人们去作恶,要 can’t be evil。Layer2刚好相反,因为layer2是一个应用层,它要把人往好了去想,因为不管是在区块链世界还是在现实世界其实都是好人多,大部分区块链世界中的交互,大家也是冲着互利互惠的角度去做的,我们可以先假定大家都是好的,只要有一个办法可以在有人作恶是去很好的处理坏人就好了。

以下为常见的layer2

3.  状态通道

我打个比方来说状态通道的实现方式,我和小明在现实生活当中有一个合作,我们会如何来做呢,我们其实不会像layer1目前处理方式这样,把我们的合作公之于众,让大家都能验证,而是私下签个合同,然后按照合同的步骤一步一步去做,99%的情况下我们俩合作特别愉快,这事结束了,因为这是我们两个人之间的合作,也就把这事了了,也不用让别人知道,非常愉快就结束了。

而如果发生了1%的情况,就是我们俩出现了纠纷,那也没关系,我们之前签了合同盖了章,这个都是有法律效力的,我们可以拿着这份合同,不管是去仲裁机构仲裁还是去法院打官司,都可以把这个纠纷很好的解决掉,这是现实生活中,双方有合作的处理方式。

其实在区块链世界中我们可以用同样的方式去做,区块链世界中我们的私钥签名和时间戳,就可以类比现实生活中的合同和盖章,我们链上的智能合约可以充当现实生活中的司法机构,在区块链中非常多的交互都可以拿到链下来做。

一句话来简述状态通道就是双方会在链下建立一个状态通道,通过交换各自用私钥进行签名后的信息,在链下进行交易。

状态通道的特点简单总结一下就是:

● 即时确认,互联网级别的延迟 

● 固定的参与者集合(通常为双方) 

● 可以互相连通,形成通道网络 

● 资金效率较低 

● 需要把应用逻辑写成状态机的形式 

● 不适用与大部分现有的 dApp,应用场景较为局限 

状态通道是最极致、纯粹的二层扩容方案,把延迟降到了互联网应用的级别。但由于上述种种局限,特别是参与者集合的固定性,在以太坊生态内一直没有得到大规模的应用。

4.   侧链扩容方案

然后我们来看一种能支持动态的参与者集合的扩容方案:侧链。侧链在技术上的特点是:在与主链有一定联系的基础上,采用不依赖于主链的独立共识。比如Polygon会定期把状态根同步到以太坊主链上,但它本身的出块是独立于以太坊进行的。一般来说,侧链会采用经典共识算法,例如结合了PoS的BFT或者PoA,而非中本聪共识。因此,它们的吞吐量相对较高,延迟也相对较低。

● 独立共识,不依赖于主链 

● 相对较高的吞吐量 (TPS)、较低的延迟 

● 灵活的参与者集合 

● 一般采用经典共识算法,假设大部分验证人是诚实的 

● 安全性较弱

5.  Rollup方案

由于侧链独立于主链进行共识,安全性是比较差的。那么有没有一种扩容方案可以结合侧链的性能和主链的安全性呢?这就是Rollup。。Rollup这种技术的关键点是: 交易历史数据的存储开销远远小于链上状态的存取和计算。在侧链的基础上,把所有交易历史数据打包,加上这些数据产生的状态树的根,汇总到主链,并且提供一种验证状态转移正确性的机制,就成了Rollup。

Rollup分为Optimistic Rollup  和zk Rollup  两大类。这两大类的主要区别在于链上验证状态转移正确性的机制。在Optimistic Rollup中,链上的合约提供了所谓“欺诈证明”或者叫“过失证明”的机制。在一个挑战期限(通常为七天)之内,任何人一旦发现某个状态根是错误的,都可以发起过失挑战来证明这一点,并将Rollup链回滚到错误的状态之前。而在zk Rollup中,运营者在提交交易历史数据和状态根的同时,还会提交一个由零知识证明技术生成的有效性证明,从数学和密码学上证明所有状态转移都是有效的。

目前,两种Rollup都已在以太坊主网上投入使用了。Optimistic Rollup由于技术相对简单,比较容易支持通用智能合约。例如Optimism, Arbitrum都已经完整支持了EVM。zk Rollup的复杂度比较高,因而对支付、交易、NFT等特定应用的支持会比对于智能合约的支持进展更快。目前有StarkNet, zkSync等智能合约平台正在进行开发和测试。

6.   怎么看待各个layer2的优劣?

我们在系统设计中一般都会有个取舍问题,也就是说很多时候并没有完美的方案。目前来看,Optimistic Rollup由于能比较快地支持智能合约,短期内会更容易推广。从长期来看,zkRollup由于提现延迟小,并且安全性由可证明的密码学而不是难以证明的经济学来保障,可能会得到更广泛的应用。另外,侧链方案也可能会长期应用在诸如游戏一类的,对TPS要求比较高而对资金安全要求较低的场景中。

7. 如何看待layer2以后的发展

思考:目前layer2的数量是不是过多了,有没有可能会变得非常少,让生态更具有可组合性。

开篇我就提到了不可能三角,由于不可能三角以太坊无法满足所有的需求,会有各种各样的需求溢出,也正是因为这样产生了各种各样的新型公链和layer2,我认为在相当长的一个阶段里,会是一个多链多layer2共存的状态,

我并不认为L2会出现一家独大的情况,相反,多个L2并存更可能是长期的方向。我们看到BSC、Polygon这样的侧链也时不时出现拥堵。而Arbitrum、Optimism、zkSync、Layer2.Finance这些Rollup,由于需要把交易历史记录在主链上以确保数据可用性,最终还是会受制于主链的性能,所以理论TPS一般会比侧链更低一些。从技术上讲,每个去中心化的扩容方案无论性能多好,最终都会遇到瓶颈,所以我认为很难出现单独一个L2承载所有需求的情况。

除了通用的、兼容EVM的L2以外,还会有各种专用L2。例如Arbitrum在自己的Arbitrum One主网之外还会部署一个为Reddit积分系统专门定制的Rollup。Layer2.Finance也是一个定制化Rollup,专为聚合DeFi而生。另外还有Immutable X等NFT专用L2。

至于”可组合性“,我觉得可以分为同步和异步两种。诸如闪电贷之类,在一条链上的一笔交易内对多个协议进行操作,可以称为“同步可组合性”。这种场景在多层多链时代会有所牺牲。与此同时,跨链转账、合约调用等“异步可组合性”会得到很大的发展。Celer也是在今年1月推出了Celer消息跨链架构Celer IM,开发者可以通过Celer IM 使用跨链函数调用进行dApp的多链组合;用户可以不必切换所链接的区块链即可一键使用多链应用。

下次和大家分享跨链的时候我会和大家详细的介绍一下这个话题~今天就到这里,感谢大家的时间