以太坊扩容是我比较关注的方向,每一次能够影响市场基本面的大的技术革新,都能带来不错的投资机会;以及深入底层技术、提高自己的认知,也能为自己带来更多的满足感。今天抽空看完了年前就计划阅读的以太坊文档,尽量用简单直白的语言为大家总结一下自己所理解的目前的以太坊扩容的方案。王源爱抽烟。
**背景:**随着使用以太坊的人数增加,以太链已经达到一定的容量限制。容量有限但需求激增,这就极大推高了以太链的使用成本,严重影响了以太坊的使用体验和发展,这就产生了对以太坊扩容需求。
在讲扩容前,首先要引入一个概念——“区块链的不可能三角”,即:在传统技术框架下的区块链,只能拥有可扩展性、去中心化、安全性三个属性中的两个。例如:

a.比特币:这种依赖于每个参与者运行一个完整的节点来验证每笔交易的区块链,具有去中心化和安全性,但缺乏可扩展性。
b.高TPS链:这些依赖于少数节点保持共识,具有可扩展性且使用上的安全性,但它不是去中心化的。
c.多链生态系统:依赖于让不同的应用程序存在于不同的链上,并在它们之间使用跨链通信协议进行横向扩展,多链生态系统具有去中心化和可扩展性,但缺乏安全性;攻击者只需要在众多链之一中获得多数共识节点即可破坏该链并可能引起连锁反应,从而导致对其他链上的应用造成很大的损害。
而以太坊的扩容方案的目的就是打破该不可能三角,在保证去中心化和安全的基础上,使以太坊具有可扩展性,提高交易速度和交易吞吐量。在速度和吞吐量方面增加网络容量是以太坊有意义和大规模采用的基础。从概念上讲,目前以太坊的扩容方案分类为链上扩容或链下扩容。
**链上扩容:链上扩容方案目前主要聚焦于分片(Sharding)**技术。
**链下扩容:**链下扩容方案的特点是与第一层主网隔离,无需改变现有的以太坊协议。通过第二层解决方案,例如:Roll Ups与State Channels;或通过创建新链的解决方案,例如:Side Chains与Plasma Chains。
**分片(Sharding):**分片是水平拆分数据库以分散负载的过程,在以太坊环境中,分片将通过创建称为“分片”的新链来减少网络拥塞并增加每秒交易量,使用分片链,验证者只需要为他们正在验证的分片存储/运行数据,而不是整个网络,这加快了速度并大大降低了硬件要求。举一个最容易理解的分片的例子:通过随机拆分进行分片
一条权益证明链包含N个验证者,有M个需要验证的区块。如果不做分片,那所有验证者都要对M个区块进行验证;如果通过随机拆分验证人,每个随机分组(称为committee)有K个验证人,每组被依次分配验证一个区块。当验证者验证一个块时,他们会发布一个签名来证明其验证的行为;其他验证者无需再验证M个完整的区块,只需验证N个签名,极大减少了工作量。
若用O(C) 来指代单个节点的计算能力,则传统的区块链可以处理大小为O(C)的块;分片链可以并行处理O(C)个块,且每个块有O(C)容量,所以分片链的总容量是O(C^2)。

使用分片,将验证者拆分为committees,也可以避免多链产生的安全问题:a.随机抽样使得该链具有共享安全性,可以防止攻击者将他们的力量集中在一个分片上,极大提高了作恶成本。b.若一个分片出现坏块,整个链都会重组以避免它,保留了单链环境的最关键的安全属性。
Roll Ups
Roll Up是在以太坊主链(一层)之外执行事物但在主链上发布事务数据的解决方案。Roll Up具有几大特点:
a.一层外(二层)的事务执行
*b.*数据或交易证明在一层
c.一层中的Roll Up智能合约,可以通过使用一层上的交易数据在二层上执行正确的交易
d.Roll Up要求Operator在Roll Up合约中质押Bond,激励Operator正确验证和执行交易
e.极大降低了交易费用,提升了交易吞吐量。
而Roll Ups根据安全模型的不同分为两大类:
1.Optimistic rollups:假设交易默认有效,仅在发生挑战时执行Fraud Proof验证有效性。
Optimistic rollups默认不进行任何计算,在交易之后,他们向主网提出新状态或“公证”交易。由于计算是使用以太坊缓慢而昂贵的部分,Optimistic rollups可提供高达10-100倍的可扩展性改进,随着与分片技术的结合,改进的空间将更大。目前Optimistic rollups的解决方案有:Arbitrum、Optimism、Boba等。

用一个直白的例子来解释Optimistic rollups:源华经常犯烟瘾,喜欢去楼下便利店买烟,源华默认便利店老板每次卖的都是真烟,所以源华每次买烟流程都是“老板来条中华——付钱——拿烟——抽烟”流利的一条龙,奇快无比。如果源华哪一天抽了华子咳嗽,怀疑老板的烟不对了,那源华可以进行欺诈证明,打电话给烟草局进行举报,如果证明老板卖假烟,那老板的香烟库存被一锅端且会被罚款,而举报人源华也可以获得一部分奖励。
即,参与者会因进行欺诈而受到惩罚,证明欺诈行为的验证者会获得奖励。
Optimistic rollups优点为:a.因为它兼容EVM和Solidity,所以你可以可以使用Optimistic rollups在以太坊一层上做的任何事情。 b.所有交易数据都存储在一层链上,这意味着它是安全且去中心化的。Optimistic rollups缺点为:a.由于潜在的欺诈验证挑战,链上交易的等待时间可能会很长。 b.Operator可以影响处理事务的排序。
Optimistic Rollups视频讲解:https://youtu.be/7pWxCklcNsU
2.ZK rollups:默认交易无效,先在链下运行计算数据,再向链提交有效性证明。
ZK rollups通过链下传输并生成加密证明,来证明所执行事物的有效性。有效性证明方式为SNARK(简洁的非交互式知识论证)或 STARK(可扩展的透明知识论证)。
ZK rollups智能合约在二层维护所有转账的状态,该状态只能通过有效性证明进行更新。这意味着 ZK rollups只需要有效性证明而不是所有交易数据;使用ZK rollups,验证一个块更快、更便宜,因为包含的数据更少;使用ZK rollups,将资金从二层转移到一层时不会出现延迟(Optimistic rollups将资金从二层转移到一层会有7天的延迟),因为 ZK rollups合约接受的有效性证明已经验证了资金。目前ZK rollups的解决方案有:Loopring、Starkware、ZkSync、Aztec2.0等,相较Optimistic rollups,V神更看好ZK rollups。
继续用一个直白的例子来解释ZK rollups:源华经常犯烟瘾,喜欢去楼下便利店买烟,但是狡猾的源华从小多疑,买烟都要怀疑老板卖假烟,所以每次源华买烟前,都会通过扫二维码、紫光验证等方式验证烟的真假;每次买烟都能把老板一柜子的烟都验完,验完后买几条,当下午零食抽。
ZK Rollups优点为:a.更快的交易最终确定时间,因为一旦将有效证明发送到主链,状态就会立即得到验证。 b.相较Optimistic Rollups更安全。 c.安全且去中心化。
ZK Rollups缺点为:a.有些ZK Rollups没有EVM支持。 b.有效性证明的计算量很大,对于链上活动很少的Dapp来说不值得。 c.Operator可以影响交易排序。
Plasma Chains、Side Chains、State Channels、Truebit
Plasma、SideChain、State Channels、Truebit已经是前几年的热点技术方向,最近两年由于Roll Ups在二层扩容解决方案研究中取得了重大的进展和突破,这促使Roll Ups升级优先于Plasma、SideChain、State Channels、Truebit等方向。所以Roll Ups才是主网过渡到权益证明之后的重点,其他方向没有太多兴趣,也不过多赘述。
Weibo:TraderFlank
Twi:TraderFrank
Ama want you to get rich.
