在以太坊网络上不断增长的网络使用需求,大量的交易与交互,导致了网络拥堵,每个用户都想矿工优先打包自己的数据,推高了交易成本。提高存储,网络速度和吞吐量是以太坊迫切需要解决的问题。
核心目的是在保持去中心化和安全性的前提下,提升交易速度,更快的确认交易和交易吞吐。
扩容方案可以分为两类
on Chain 链上扩容 L1 对区块链本身的性能进行性能提升。Layer 1网络是底层区块链的别称。除了以太坊,比特币,Cosmos,Aptos,Sui都属于L1协议,他们是所在生态系统中的主要网络。 L1的扩容方案包括: a.修改共识机制 以太坊的2.0升级中就完成了pow到pos的转换。
b.实施分片
类似于数据库分割技术,将以太坊网络中的节点切割成不同的分片,每个节点会将完成的工作写入主链,每个分片处理整个网络的一部分活动,每个分片都有自己负责的交易和独立的区块。现在已经被danksharding所取代。(danksharding下一章细讲)
c.扩大区块规模
使每个区块能够处理更多的交易,最简单的例子就是将区块大小从20K扩大到1M,自然就可以提高交易的数量。(proto-danksharding就是类似方案,下一章细讲)
off Chain 链下扩容 L2 a.侧链 侧链是独立运行的区块链,其安全性靠自身协议机制。这也是侧链和目前主流链下扩容方案 layer2 二层扩容最大的区别。而侧链作为一条独立的链和一些layer1 公链相比,区别在于侧链专门用于处理以太坊的过剩容量,而不是与整个以太坊竞争。这些生态系统与以太坊社区紧密结合,以互补的方式托管以太坊应用。 侧链通常是选择牺牲了一些去中心化或者安全性来提高吞吐。侧链通过跨链桥来实现与主网的链接、以及相互操作。
例如Polygon,Ronin。
b.链下计算执行,结果上链
1)Channel通道
现在主链上建一个多签合约地址,比如,A和B创建了这样的多签合约,资金只有经过他俩共同同意才能转移。把各自的钱存进去,假设A和B各存10eth,这个初始状态就相当于是打开了一个支付通道。然后在链下 他们之间进行了几十甚至上千笔交易,每笔交易双方都需要签名和盖时间戳。最后A有5eth B有15eth。但他们不需在区块链上记录这么多笔交易,只用记录两笔——初始资金交易和所有交易结束后的最终余额分配。当他们把最终余额上传到主链,相当于关闭了这个支付通道。
例如BTC 的闪电网络lightening network
缺点:
需要一周提交欺诈证明
不支持开放式参与。通道不能用于向尚未参与的人发送链下资金
TPS一般
不支持只能合约
使用的多签合约,状态通道需要参与者100%在线
2)Plasma 由于channel无法支持大规模,大资金,复杂交易,因此Plasma方案应运而生。Plasma是一条独立的区块链,最初的设计也是想保留侧链的主要用途,可以通过链下交易来扩容,同时能一定程度解决侧链自身的安全性问题(也就是说当子链遇到攻击时,存储在子链上的资产始终是安全的)因此在取舍后放弃了侧链的一些性能(比如执行智能合约等),却通过区块锚定回主网来增加安全性。(Plasma会专门出一章讲)
他和侧链最大的2点不同在于:
Ⅰ:侧链使用桥的方式来和主链交互资产,但侧链的安全性依靠自身的共识机制。因此在以太坊主网上是可以确认到plasma链上的状态信息的,以太坊主链在这个过程中只承担了确认者的角色,而非验证者,所以其安全级别是较差的
Ⅱ:plasma上是不支持智能合约的,仅支持基本的代币转移、交换和其他一些交易类型。
Plasma MVP 是 Plasma的一个最小实现
Plasma的缺点:数据不可用,无法防止运营商作恶。应为这个问题,Plasma提出了大规模退出方案,但是会导致以太坊网络堵塞,

Roll-up Rollup是目前最主流的扩容方案,可以算是原始主链处理方式和Plasma方式的折中:他和plasma一样在以太坊主链(也就是一层)之外执行交易,然后将多个交易成批处理在一起,最后将它们的状态发送回以太坊主网络。(roll-up会专门出一章讲)
但是不同之处在于,
1)roll-up也会将交易数据提交给主链.
2)roll-up会最大限度压缩这些交易数据,同时基于Rollup本身的特性适当删除和缩减一部分数据,只要保证最终的提交能够上主链从而供任何人验证即可。
( ZK,Optimistic这两种roll-up 都是在plasma的基础之上,针对交易数据部分提供了不同的证明方案)
Optimism Optimistic roll-up 产品
dYdX ZK-rollups 产品
Validium链
它的运行方式类似于ZK rollup,也通过发布零知识证明来验证以太坊的链下交易,但是最主要的区别在于Validiums 的数据可用性是链下的。因为这样吞吐量不受以太坊数据处理能力的限制,从而提高扩展性、交易速度、降低用户费用(发布成本calldata更低)等目的。

Volition
一个混合方案——StarkWare创立的volition的概念:结合了 ZK-rollup 和validium,并允许用户在两种扩展解决方案之间切换。通过Volition,用户可以利用 validium 的链下数据可用性进行某些交易,同时保留在需要时切换到链上数据可用性解决方案(ZK-rollup)的自由。这实质上使用户可以根据他们的独特情况自由选择权衡取舍。
各类方案对比,rollup有效地保证了状态有效性+数据可用性,保留了先前方案的优势,同时解决了他们的局限性。目前 roll-up看起来好像就是大家公认的答案了,但也许随着探索的深入,还会出现颠覆roll-up的更优的解决方案。
