在《比特币、以太坊的发展瓶颈即将消失,盘点过去4大方向的扩容方案,你看好哪些?》中我们介绍了通道、DPOS、大区块和侧链等扩容方法。本篇我们来讲Rollup、分片、分层、工作历史证明和DAG等当前流行的“新扩容手段”。Rollup可以说是ETH当前最重要的扩容手段,可以说Rollup的成功与否,直接决定着ETH可持续发展性。换句话说,Rollup失败的话,ETH也别想成功。如果可以分清侧链和Layer2的区别,也算是对扩容有个基本理解,那么能否分清Plasma、Rollup和Validium的区别,就可以当做一种对扩容的进阶考试题。一切的一切,都在下面这张图里了
,理解了这张图,你就完全理解了Plasma,两个Rollup,与Validium的区别。
简单说来区别如下:
1、一切始于PlasmaPlasma是最早V神提出的扩容方案,也是这个图里TPS最高的一套方案。首先,你可以把Plasma先想成一个侧链,但和侧链完全独立运营,只给ETH提交一个结果又有所不同,Plasma会把Plasma计算处理完的区块哈希通过主链合约,在Eth主链上做个“公正”,链下成交了数百或数千笔,最后上链可能只有几十个bytes,你可以理解为Plasma=ETH侧链运营+ETH主链公正。
如果有人在离开Plasma链时,发现自己的转账数据不对或者被篡改了,怎么办?提交挑战!因此会有一个证明需求的过程(类似法院庭审+判决),这也是为什么Plasma的挑战期,或者说资金退出时间是在7-14天左右(是的,很长,很反人类……)。
Plasma最大的两个特点在于:(1)默认,或者说乐观的认为每次“公正”都是对的;(2)“原始数据”在链下存储。
2、Rollup来袭对于Plasma的改进,其实一开始出来的是ZK-Rollup,但是最接近Plasma的反而是后来出来的Optimism Rollup(简称OR),所以先说说OR。OR可以近似理解成Plasma+“原始数据在ETH主链上存储”,所以比Plasma更安全。毕竟链下的东西,万一节点销毁或者篡改了原始数据怎么办?
当然,原始数据放在链上,必然开销会大于链下,所以OR的TPS跑不过Plasma。而Zk-Rollup则可以理解成Plasma+“原始数据’在ETH主链上存储”+每次主链的哈希公正通过ZKP(零知识证明)自动证明有效,所以不存在挑战和挑战期。然而原始数据既要上链,每次公正还要做零知识证明,开销特别大,所以ZK的TPS是最差的。于是又有了个相对折中的方案,也就是
Validium -Plasma+每次主链的哈希公正通过ZKP(零知识证明)自动证明有效,跟Plasma一样,原始数据扔链下,牺牲一部分安全,换取性能的大幅度提升。看到这儿,你再回看上面那张比较图,应该大体心里有个框架了。Plasma虽然性能最佳,然而因为数据链下的安全性以及没有ZKP零知识证明的保护,已然被弃用,其余三家则是各有优劣,未来12-24个月,也会是ETH 关于Rollup系列群雄割据,或者说割裂的年代,届时花落谁家,尚未可知,只有靠市场和时间来给我们答案。
先说说分层,如果一条链天生自带Layer2,是不是“不可能三角”就不会是个问题?Nervos就是这么干的,貌似也是市面上唯一一家这么做的。Nervos很多懂技术的玩家非常喜欢,甚至被评价“这才是ETH原本应该有的样子”,但其实也并不太意外,毕竟其中首席架构师Jan,是最早ETH核心团队的人,可以算是“中国最懂以太坊的人”。
Nervos最大的特点是分层, Layer1负责达成共识,保证整个网络的安全;Layer2做应用链解决方案,
保障各个场景下的性能实现,并通过协议来锚定到Layer1,使得Layer1的安全性可以传递到Layer2,跟以太坊的Rollup有那么点异曲同工的样子。然而Nervos其实还有两个点是很多人容易忽视的,可能跟TPS不是那么直接相关,但作为底层架构非常值得一提。
1、Layer1是POW+UTXO。这在新型公链里并不多见,关于POW和POS的种种争论已经太多,就此略过。但POW总有POW的好处,至少初始的Token分发就是一个更加公平的过程,将来同样保留转型POS的可能,届时可能采取一个ETH的“跟随”策略,ETH踩过的坑,可以吸收经验,尽量避免
2、Nervos独特的Cell模型。CKB的经济模型的核心对象不是计算,而是状态 – CKB代表着对链全局状态的占用。这是一个ETH开始逐步暴露出来的问题,即区块链状态爆炸,简单来说就是包括ETH在内的绝大多数链都是“一次付费,永久存储”的模式,非常容易导致后期的公地悲剧问题,引发全节点数据膨胀,状态爆炸。以太坊已经开始重视这个问题,但目前为止如何解决状态爆炸还没有盖棺定论的解决方案,而在Nervos这边,底层机制直接pass掉了这个问题。
另外,再来说说分片,这也是ETH2.0的终极解决方案。Near,Elrond,Harmony这些项目都在做分片,波卡的平行链也可以看做是分片的一种极端表现形式。分片理解起来很容易,如果把节点看成你去超市买东西的收银员,只有一个收银员肯定容易造成长队,两个话队伍短一半,4个甚至8个收银员在的话估计就不用排队了。
一个人的活多个人一起完成提高效率,这就是分片。然而说起来容易,做起来难,不然ETH2.0不会折腾这么久,当前甚至暂时放弃分片,专攻Rollup;波卡做了4年,平行链这才即将上线,Near的分片还没有完全成型,Harmony的分片阶段性上线……本质上分片就是一个异步处理的机制,目前绝大多数分片都需要一个可信中介来协调处理,ETH2.0里面是信标链,波卡是中继链,Elrond是元数据链,唯一不需要中介的是Near,这也是为什么Near号称“最强分片”。然而是否真的最强,还是得等完全做出来,大家互相PK一下技术和体验再说,这个时间点,估计得2-3年之后了。
分片技术也是当前Layer1里对于不可能三角最为均衡,或者说性价比最高的的一种扩容手段,牺牲一小部分安全性,换取性能的极大提升。其中Randomness(验证者选取以及新节点加入到某个分片的随机性)的安全性是重中之重,有兴趣的朋友可以自行查阅相关资料。分片是无论如何绕不过去的扩容方案,未来2年分片技术一定会占据我们越来越多的视线。
还有许多链采用了独特的技术来对区块链进行扩容,我们来简单的介绍最有代表性的三个:
1、Solana:Solana独创了一个工作历史证明(Proof of History)技术,没有使用分片,也没有Layer2,就在Layer1上面“硬刚”,数据目前来看还不错,至少可以算是当前“最速区块链”。
Solana的POH是个理解起来比较抽象的东西,其核心就是整个链有一个全局可用的时钟(比如互联网时代之前,很多人都会对着7点整的新闻联播对表),有了全局一致的时钟,状态更新就可按照小于一秒时间的异步方式进行,比比特币这种10分钟才更新一次区块(确认一次时间戳)的方式要快很多。
Solana除了速度快之外,最大的让人诟病的问题是不兼容EVM,最让人喜欢的则是对于扩容的可预测性,或者说确定性(相对而言,你完全不知道ETH2.0哪一年才会完成,Rollup最终是ZK还是OR还是Validium会胜出……)
2、Flow:思路很有意思,通过多重角色架构在layer1层解决区块链扩容。说白了就是把流水线这个概念引入了节点。目前的公链都是几个节点一起打包一个网络,一起出块,每个节点的责任也一样,都是干着重复的活(假设没有分片的话)
Flow则把这个活分成了4份,收集、共识、执行和验证,每个节点执行不同任务。拿之前分片里面那个收银台的例子来看的话,分片可以看做是增加收银台数量,Flow则是几个人负责一个大型收银台,一个负责收钱,一个负责录入,一个负责找钱,一个提前在客人排队时候挨个询问提前记录客人要点的东西,流水线作业加速收银速度。
3、DAG流:AVAX、Fantom、Conflux都是DAG(有向无环图)流派。DAG严格意义来讲不是一个共识机制,而是一种数据结构,所以说采用DAG的项目甚至不能完全叫做“区块链”(因为区块链这个词本身也是一种数据结构)。最早也是最出名的DAG有三驾马车,分别是IOTA、NANO和Byteball,但基本都不支持智能合约,在这个智能合约的年代算是被淘汰的那一波,所以当前的新三驾马车成了支持智能合约的AVAX、Fantom和Conflux。
DAG在18年被很多人誉为“第三代区块链”,然而其异步通讯的处理方式虽然可以显著增加吞吐量,但安全性和稳定性也一直是一个问题。至少还没有经历足够的时间检验,但作为区块链的一种补充,可以未来对其保持一定关注,毕竟目前扩容大计还是战国时代,最终鹿死谁手尚未可知,多关注几个不同的发展方向,总没有亏吃。
你还知道或者看好哪些扩容手段呢?欢迎留言区分享你的观点。