1. 引言
前序博客:
以太坊扩容是一个几乎与以太坊本身一样古老的问题。扩容任务的复杂性是 以太坊伟大之处的直接结果:
- 以太坊是有活力的协议,其缓慢进化,以确保链的安全性和去中心化。
当活动的增加刺激了更大的需求时,使用以太坊可能会变得昂贵得令人望而却步。但以太坊扩容意味着什么?
本文将解答:
- 何为Layer 2(L2)
- Layer 2与Layer 1的不同之处
- 扩容如何解决区块链不可能三角困境
- 不同Layer 2扩容方案之间的差异
2. Layer 2 vs. Layer 1
Layer 1和Layer 2通常指父链L1和子链L2,L1无需依赖L2的任何功能。L1是完全自我维持的,而L2在某些方面依赖于L1。这种依赖性因L2的类型而异,尽管大多数依赖L1来实现安全性和存储交易数据。
所有以太坊L2都被设计为至少做一件重要的事情:处理和执行交易。
从这个意义上讲,L2充当了以太坊的执行层。反过来,L1为L2提供了共识------验证交易数据和更新区块链上所有账户余额的复杂而昂贵的任务。
安全达成共识比迅速达成共识更重要。虽然说以太坊移动缓慢并没有错,但更准确的说法是以太坊移动安全。慢是一种副产品。
3. Layer 2解决了什么问题?
有一句古老的工程格言:好、便宜、快------选二。好且快的东西不会便宜。便宜又快的东西不可能是好的。在区块链技术的情况下,不可能三角对应的是去中心化、可扩展性和安全性。
考虑到安全性和去中心化是区块链区别于Web2.0的基本功能,可扩展性成为L2解决方案所能提供的最有用的功能。
虽然部署L2的技术栈正在成熟,但也有一些中间扩容解决方案权衡了不可能三角困境。
4. 如何使用Layer 2对以太坊扩容?
区块链上的区块空间(blockspace)是唯一资源。当用户在链上执行交易时,需支付手续费。该手续费用于购买区块空间或账本空间,以最终记录其交易。
Layer 2通过扩展区块空间来对以太坊进行扩容。
但是,并不是所有扩容方案都是L2。State channels(状态通道)和plasma chains为2种扩容方案,为以太坊提供了低手续费并行化环境:
- state channels:存在与链下,在链上有对应智能合约。用户在该合约内存入资产,然后用户可以在状态通道中使用这些资产。状态通道不与L1交互。相反,这些侧链为 如何验证交易和如何解决纠纷 强加了自己的逻辑。正因为如此,使用状态通道需要高度的信任。
- plasma chains:仍然需要信任,但程度低于状态通道。这是因为plasma chains会定期以区块承诺的形式向底层L1提交其交易总结。这些区块承诺是由validators根据共识机制生成的。
除此之外,还有一类扩容方案(即L2扩容方案):
- Rollups:分为Optimistic Rollups和ZK Rollups。
侧链与真正的L2的区别很简单,在于:
- 安全性。在状态通道和plasma chains使用共识机制来生成状态转换的情况下,L2使用密码学证明来为底层L1提供L2上发生的交易是合法的保证。
Optimistic Rollups和ZK Rollups之间的区别在于它们使用的证明类型:
- Optimistic Rollups使用欺诈证明。
欺诈证明认为区块内交易数据总是有效的。因此,为什么fraud proof Rollups被称为Optimistic Rollups。对于以太坊L2,Optimistic Rollups会将交易batches提交到以太坊,同时可能会检查该区块是否存在欺诈。
这种欺诈检查不是必需的,但必须在被称为争议时间延迟(DTD,dispute time delay)的特定时间段内执行,在此期间,该batch中的资产是不可访问的。
也许不是所有的人都是无赖,但肯定有一些人是。因此,如果在区块被提交给以太坊后提交了有效的欺诈证明,区块中的交易可能会部分或全部revert,不诚实的一方将受到惩罚。 - ZK Rollups使用有效性证明。
有效性证明或零知识(ZK)证明要简单得多:只有当它所代表的一批交易有效时,才能生成ZK证明。ZK证明允许L2向L1证明一个陈述是真的,而不必透露任何特定信息。本质为tell me without telling me。
5. ZK如何实现tell without telling?
ZK证明包含三个基本元素:
- 第一个是witness:Prover可通过witness有效地向Verifier表明,他们确实知道某些东西的内容------比如一批交易数据是有效的。Prover和Verifier循环挑战。如果Prover只要哪怕有一次反应不正确,就不能不生成证明。
这就是零知识证明允许在以太坊之外执行可验证计算的方式。至关重要的是,ZK证明比其所代表的一批数据要小得多,减少了网络拥塞并降低了成本,所有这些都不会损害其安全性或去中心化。
ZK Rollups集成了以太坊卓越的安全性和去中心化,但速度更快,更便宜。物美价廉,速度快。没有权衡,解决了不可能三角问题。
6. Polygon对以太坊的扩容方案
没有一刀切的扩容方案。如,游戏平台最好由L2提供服务,因L2可提供尽可能高的吞吐量,而去中心化的交易所将优先考虑安全性而非每次交易的成本。
Polygon 2.0致力于为每种可能的应用场景实现扩容。
目前在以太坊上运行的Polygon协议包括:
所有这些Polygon链都将是可互操作的,这意味着用户可执行近乎即时的跨链交易,而无需连接回以太坊。ZK证明是唯一已知的使这成为可能的技术。
6.1 Polygon PoS
Polygon PoS是最初的Polygon链,于2020年推出。从那时起,该网络已经处理了超过20亿笔交易,来自一万多个dApp,平均交易费用为0.015美元。
该网络在一定程度上被设计成plasma chain,100个validators就以太坊的区块承诺达成共识。
然而,Polygon Labs提出了一种将Polygon PoS转换为zkEVM validium的提案。validium具有ZK证明的密码安全性,但通过在链外存储交易数据而降低了成本。如果Polygon社区接受该提案,Polygon PoS将成为真正的L2。
6.2 Polygon zkEVM
大多数L2建立在以太坊上的原因是,以太坊在开发者活跃度方面领先于所有区块链。这些开发人员的接入也应该是无缝的。这意味着支持所有优秀的工具和智能合约开发人员已经知道和喜爱的东西。
Polygon zkEVM,为EVM等价的ZK Rollup------使用Polygon zkEVM与使用以太坊完全相同。
自Polygon zkEVM主网上线以来,该Polygon zkEVM ZK Rollups已处理了来自40万个独特地址的500多万笔交易,并生成了60多万个ZK证明。Polygon zkEVM是由MIT/Apache授权的开源软件,交易费用与Optimistic Rollups持平。
6.3 Polygon Miden
Polygon Miden也是ZK Rollups,但具有非常不同的设计优先级。不同于Polygon zkEVM的EVM等价性,Polygon Miden重点关注ZK-centric设计。这使得Polygon Miden可:
- 高效扩展EVM的特性集
- 允许开发人员在以太坊等基于账户的系统上创建当前难以或不切实际的应用程序
Polygon Miden的2大主要优势为:
- enhanced privacy:隐私强化
- 高吞吐量
6.4 Polygon CDK
Polygon CDK是一个开源链开发工具包,允许任何人在任何地方部署自己的ZK驱动的L2。这些是应用链,意味着它们是为了适应特定的用例而部署的。Polygon CDK是模块化的,可针对性能和成本进行配置。
使用Polygon CDK构建的链可与所有其他Polygon CDK链互操作。
现有的应用链解决方案要么产生具有孤立流动性的围墙花园,要么提供具有显著延迟和额外安全假设和担忧的互操作性。这些限制是由于现有解决方案的体系结构和技术造成的。
Polygon CDK链受益于所有网络中存在的巨大流动性,同时保持最高级别的可扩展性、安全性和主权。
参考资料
[1] Polygon Labs 2023年9月博客 Layer 2 Demystified: How Polygon Scales Ethereum