以太坊扩容方案即将落地 除Optimism以外还有哪些尝试

HyperPay多生态钱包 view 21 2021-10-11 17:14
share to
Scan QR code with WeChat

以太坊扩容方案 Optimism 的 OVM 2.0 版将于周四(10 月 14 日)部署 至 Kovan 测试网, 此后将于 10 月 28 日部署至以太网主网,届时可能有 4 至 6 小时的停机时间。此前 Optimism 宣布将升级为 EVM 全兼容,此次更新是 Optimistic Ethereum 成立以来最重要的更新,意味着又朝着将原生以太坊带到 L2 这一目标迈出了一大步。开发者将能够一键部署合约,大家习惯使用的工具例如 DappTools、Vyper、Tenderly、Hardhat 也能在 Layer2 上运行 , 并且所有这些都是围绕以太坊最安全的客户端代码库构建的。

VPC Impact Acquisition Holdings 股东特别大会将在美国东部时间 2021 年 10 月 14 日 10:00 举行,其中包括批准拟议的业务合并。此前,美国证券交易委员会(SEC)已经批准了加密货币交易所 Bakkt 与 VPC Impact Acquisition Holdings (VIH)的合并,允许 Bakkt 与 VIH 作为一个实体上市,但仍需 VIH 股东投票批准。据 CoinDesk 之前的报告,此次合并上市后 Bakkt 估值或达 20 亿美元。Bakkt 首席执行官 Gavin Michael 在一份声明中表示:「我们很高兴达到这一里程碑,并期待与 VIH 成功完成拟议的业务合并。」

一直以来,以太坊公有链的核心限制是每一笔交易都要由网络中的每一个节点进行处理,在以太坊区块链上进行的每一项操作(付款,新的 ECR20 合约部署、创建 NFT 等)都必须由网络中的每一个节点并行处理,这也就意味着以太坊整个网络的吞吐量(tps)不能高于以太坊单个节点的吞吐量。以太坊可以选择提高节点的区块工作量来实现扩容,但这是以去中心化为代价的,因为节点做的工作多了,意味着算力小的计算机(就像消费者设备)可能会退出网络,挖矿在算力大的节点上就变得更加中心化。在 2017 年的时候以太坊就因为 ICO 热潮就已经导致以太坊开始变的拥堵,主链每秒所能处理的交易量只有 15 笔(tps),从那时起,陆续有开发团队提出相应的解决方案,只是随后而至的熊市降低了人们的交易热情,这类方案也就淡出了投资者的视野。

直到2020年 5 月份,随着流动性挖矿及 Uniswap 的火爆,用户发现交易的 gas price 成本一路飙升到 500Gwei (约两三百人民币),需要漫长的交易确认时间,未确定交易数达 14 万余笔,以太坊转账变的极其拥堵和昂贵,这严重阻碍了以太坊生态的发展以及用户的增长,因此扩容问题再次吸引着开发者、项目方和投资人的关注,虽然现在随着 defi 的热度降低,gas price 回调到了 20 至 40Gwei 之间,但未来随着越来越多的项目在以太坊的基础上构建,或者已有大型用户体量的互联网公司产品采用以太坊,那么势必需要解决扩容这个挑战。例如拥有超过 4.3 亿用户规模的 Reddit 论坛计划将 Reddit 积分(ERC20 代币)带入以太坊主网,该计划最终被 22 个以太坊扩容技术开发团队提交了解决方案。

纵观过去,以太坊扩容的研究演进之路已经成为现实中许多工程项目的研究案例。然而理想很丰满,现实很骨感,很多具有前瞻性的想法和技术,直到真正实践的时候,工程师才会意识到可行的方案中充满着权衡及折中的考虑。

以太坊扩容方案即将落地 除Optimism以外还有哪些尝试

Gas price 历史记录

实际上,除却以太坊生态当前采用的Optimism以外,还有其他扩容方案,可供大家参考:

扩容方案分类

在以太坊主网上,所有的计算过程和数据存储都在主链进行,每个节点都需要处理所有交易,交易数据存在区块中,全节点执行所有计算过程,开发者已经提出了很多在解决协议层吞吐量问题的方案,这些解决方案基本可以分为两类:一类是将所有计算委托给一小组强大的节点来完成,可以根据 layer2 如何解决这两个扩展相关的瓶颈问题(计算 & 数据存储)来对各种扩容方案分类。另一类是让网络中的每个节点都只需处理所有工作中的一部分,也就是 layer1 层的扩容方案。如下面两张图所示,目前主要有六种扩容计算方案,它们分别是分片、侧链、状态通道、Plasma、Rollup、Validium,其中我们把 ZK Rollup 和 Optimistic Rollup 统称为 Rollup 技术扩容方案

以太坊扩容方案即将落地 除Optimism以外还有哪些尝试

以太坊扩容方案即将落地 除Optimism以外还有哪些尝试

扩容方案详情

分片 (sharding) 方案

分片属于 layer1 扩容,是指区块链不同的节点子集处理区块链的不同部分,通过分割数据以减少区块链节点必须存储和处理的数量。內部运行很多条链,并将一条链称为一个「片区」。每个片区都会拥有独立的一组验证者,即通过 PoS 机制来验证交易和生成区块的网络参与者。通过随机性来选择每一个分片的验证者,而为了实现随机性和验证者分配的计算,所有现有的设计都包含了一条信标链,负责执行维护整个网络所需的操作:除了生成随机数和将验证者分配到各个片区,还包括接收分片的信息更新(并创建快照)、处理权益证明(PoS)系统中验证者质押的押金及其罚没,并(在支持该功能之后)不断重划片区(rebalancing shards)。

同时,整个网络的处理能力受到信标链节点的计算能力限制,因此分片的数量自然是有上限的。但分片网络结构的节点性能提升会产生倍乘效应,比如所有节点(包括信标链中的节点)处理交易的速度都变成 4 倍,那每个分片能够处理的交易量将是之前的 4 倍,且信标链能够维持的分片数量也将是之前的 4 倍,整个系统的吞吐量将变成 4x4=16 倍。分片模式一般有交易分片和状态分片(State Sharding)两种,交易分片只是对交易进行分片分配,而状态分片是对存储、交易处理和网络都进行了分片分配,而需要跨片区交易时,则通过同步或异步两种方式之一去实现。分片方案的恶意分叉问题容易解决,但解决无效区块问题非常棘手,因为解决数据有效性方面的两个解决方向渔夫和密码学技术证明还是存在缺陷,数据可用性也是。

以太坊扩容方案即将落地 除Optimism以外还有哪些尝试

侧链方案

侧链协议本质上是一种跨区块链解决方案。通过这种解决方案,可以实现数字资产从第一个区块链到第二个区块链的转移,又可以在稍后的时间点从第二个区块链安全返回到第一个区块链。其中第一个区块链通常被称为主区块链或者主链,每二个区块链则被称为侧链。侧链是独立的网络,通常具有唯一的共识层,通过双向挂钩连接到一个基础层协议。由于没有第一层设计的负担,侧链可以支持超出其基础层能力的某些特性,包括但不限于可扩展性和互操作性,同时不依赖于第一层的存储。尽管有这些所谓的好处,但这些分支网络需要参与者之间更多的信任和协作。它的缺点是安全性问题,因为无法获得主链的安全性。

以太坊扩容方案即将落地 除Optimism以外还有哪些尝试

状态通道(State Channel)方案

状态通道技术,受启发于比特币的闪电网络。状态通道是固定一组参与者(通常是两名参与者)之间的协议,用以实现安全的链下交易,其中支付通道专门用来支付。支付通道协议具体情况是两名参与者各自通过链上交易在链上锁定保证金,一旦锁定完成,参与者双方即可互相发送形式为轮次、金额、签名的状态更新来实现转账,无需与主链进行交互,只要双方的余额都还为正值即可。

一旦参与者中有一方想要停止使用支付通道,可以执行「退出」操作:将最后的状态更新提交至主链,结算下来的余额会退给发起支付通道的两方。主链可以通过核实签名和最后结余来验证状态更新的有效性,从而防止参与者使用无效状态来退出支付通道。状态通道带来的优点是交互延迟在毫秒级别,是唯一能够逼近当今互联网用户体验的区块链扩容技术;交易手续费极低,从根本上比所有其他 layer2 技术的交易手续费低;水平扩展性强,加节点就能增加总系统容量,TPS 无上限,且互相之间不隔离,不需要有跨分片或者跨链之类的复杂操作。但它的「退出」模式存在一个问题,即主链无法验证支付通道是否提交了全部交易,也就是说,在提交了状态更新之后是否不再出现新的状态更新。此外,状态通道的另一个缺点是只能在两个参与者之间开设。

以太坊扩容方案即将落地 除Optimism以外还有哪些尝试

Plasma 方案

Plasma 由 Vitalik Buterin 和 Joseph Poon(闪电网络创始人) 在 2017 年共同提出,Plasma 是一种链下交易的技术,从一个新的方向实现了状态通道,它允许创建附加在以太坊主链上的子链,这些子链反过来可以产生他们自己的子链,他们的子链也可以产生他们子链。其结果就是,我们可以在子链级别执行许多复杂的操作,运行拥有数千名用户的整个应用程序,并且只需与以太坊主链进行尽可能少的交互;子链可以更快地操作,且交易费用更低,因为它的操作不需要在整个以太坊区块链存留副本。

区别于状态通道,Plasma 中能够运行智能合约,如果说状态通道是对交易吞吐量的扩容,那么它是对计算能力的扩容。Plasma 是将计算和数据存储都迁移到 layer2 进行,由 layer2 的执行者周期性地向主链递交 Merkle 根形式的「状态承诺」。如果执行者递交无效的状态,用户可以向主链上的智能合约提供错误性证明(fraud proof);一旦确认执行者出现欺诈行为,则智能合约会罚没他的保证金。虽然说我们可以通过错误性证明,使得提供无效承诺的执行者在主链上遭到惩罚;但如果 Plasma 的执行者拒绝在主链上公开数据,那么用户则无法取得构造出错误承诺的错误数据,就无法提供错误性证明,所以 Plasma 面临的最大问题是交易数据可用性。针对这个问题,Plasma 衍生出一些相应的方案,如延长资产从 layer2 退出的时间:当出现作恶行为,就能允许大量资产从 Plasma 链退出。但经过这些年的摸索,可行的方案还没有真正实现。

以太坊扩容方案即将落地 除Optimism以外还有哪些尝试

Rollup 方案

Rollup 方案可以被认为一种压缩技术,多笔交易可以压缩在一起(几千笔交易可以被打包到一个 Rollup 区块中),既能减少交易数据规模,又能降低交易验证负担,因此使得以太坊区块链能处理更多交易,tps 可达到 3000 左右。它是将所有 layer2 上的交易数据,也就是 Rollup 区块的快照发送到主链上某个智能合约内,用主链上的单个合约来保管所有的资金,而 Rollup 则通过在主链上为每一笔交易公开一些数据,让任何人都能通过观察区块链上的 calldata (交易输入数据)来获得 layer2 的所有数据。Rollup 区块的状态是由用户以及链下运营者来维护的,因此不会占用主链的存储空间。所有交易的收据都存储在以太坊区块链上,这就提升了 Layer2 交易的安全性。目前主要分为 ZK Rollup 和 Optimistic Rollup 两种 Rollup 技术分类。

以太坊扩容方案即将落地 除Optimism以外还有哪些尝试

ZK Rollup

ZK Rollup 是靠着在主链完成零知识证明,链上无需包含签名数据,因为零知识证明就足以证明交易的有效与否,交易有效性就立刻确认,保证无效的状态绝不会发生,也即数据可用性放在链上,所以 ZK Rollups 对数据存储方面也带来了一定程度上的扩展性提升。但由于零知识证明生成的复杂性,目前适合简单的转账。它的缺点是验证链路的构造没有一个通用的解决方案,所以目前没有很好的办法做到很广义的虚拟机逻辑,简单来说,zk-Rollup 必须对每一个用例定制;程序正确性的验证相对复杂,要对多项式 curcuit 做验证;二层打包节点负担重,成本高,计算零知识证明所需时间长,用户延迟的体验角度仍然比较差。

Optimistic Rollup

Optimistic Rollup 的理念是由 John Adler 首先构想出来的,它保留了 calldata,可以主链获得所有 layer2 的数据,但那些刷新 Layer-2 状态的交易不会在链上被验证,只让主链存储一系列的历史状态根,添加了一个新的状态的一段时间(例如 1 周)后才将新状态最终敲定,也就是数据可用性放在链下。采用错误性证明(跟 Plasma 方案一样),对提交无效状态的执行者进行惩罚。其链下 OVM 虚拟机可以支持任意智能合约逻辑的实现,与以太坊 EVM 虚拟机搭配使用,开发者就可以用 Solidity 来写码,实现 dapp 和智能合约之间的无缝互操作性。它的缺点是安全问题,只有使用 1~2 周的错误性证明挑战期才足够安全。在挑战期过去以前,没有交易能被认为是确定的。

Validium 方案

Validium 是由零知识证明研发机构 StarkWare 主导开发的,选择将 layer2 的交易数据放在链下,因而比 rollup 方案有着更高的扩展性。验证计算方面,Validium 不像 Plasma 依托诈欺证明,而是采用零知识证明。如先前在讨论 zkRollup 时提到的,这样做会导致 Validium 在目前的应用部署,只能局限于特定目的(普适性低),比如 StarkEx 就是面向去中心化交易所的方案,但这些权衡使得 Validium 在某些方面优于 Plasma。在主网进行零知识证明验证能避免执行者提供无效状态,也能降低执行者不公开数据造成的后果。举例来说,想要勾结执行者,让状态错误地转变为「把他人的钱转到自己账户」是不可能办到的;因此 Validium 不需要在协议中设计「大量资金退出」激励博弈,也不需要延长资金从 layer2 退出的时间。由于交易数据放在链下,因此以太坊主网无法恢复它的 Merkle tree (默克尔树),所以它的并不具备以太坊主网的安全性。比如数据扣留攻击问题,(恶意)执行者修改自己所控制的账户的状态是没有问题的,然后积压关于这些交易的数据,这会导致某些用户想退出资金时,无法创建默克尔证明来证明他们对账户的所有权。

以太坊扩容方案即将落地 除Optimism以外还有哪些尝试

以太坊扩容方案即将落地 除Optimism以外还有哪些尝试

以太坊扩容项目

总结

不同的扩容技术有它不同的优缺点,导致适应不同的应用场景,未来不同的扩容技术之间也会是相互合作关系,某一场景下同时使用多种扩容技术。

虽然扩容生态已经很丰富了,但这些扩容方案目前也只是被少数项目所使用,原因有两个,一是对大多数开发者们来说,他们希望在不改变原有代码的情况下将应用迁移至 Layer2,因为对代码进行任何改动会涉及到可观的审计及维护费用;二是对用户来说,选择使用以太坊主链,还是 Layer2 应用是一件非常棘手的问题,用户需要明白使用两者的利弊,或者说,Layer2 项目方能直接让用户实现无感地与 Layer2 进行交互,在没有合理的激励措施下,将资产在一层与二层间转移对于用户来说是极具挑战性的。

但这种状况会随着时间推移,技术难点逐一被解决,各个 layer2 项目方开发者迁移体验更完善,开发者迁移成本更低,以及各 defi 项目方、钱包和交易所都开始积极拥抱 layer2 方案时,最终那些能够得到众多开发者、用户、项目方支持的扩容技术方案,将建立一定的生态并经受住了时间的检验,脱颖而出,最终探索出一条可以能够承接住数千万、数亿用户的扩容技术方案。

btcfans公众号

Scan QR code with WeChat

Link
Disclaimer:

Previous: HyperPay现已支持Polygon,双方达成战略合作 Next: 借元宇宙"东风",加密芯片新晋黑马「暗星电子」迎来发展良机

Related