区块链扩容下一站:速览 Rollup、分片等流行扩容方案

NoVikW3e  船员  2021-07-08 14:51:18  发布在 区块链社区 3550  0
本篇我们来讲一下 Rollup、分片、分层、工作历史证明和 DAG 等当前流行的「新扩容手段」。

Rollup 与 Plasma
Rollup 可以说是 ETH 当前最重要的扩容手段,可以说 Rollup 的成功与否,直接决定着 ETH 可持续发展性。换句话说,Rollup 失败的话,ETH 也别想成功。

如果可以分清侧链和 Layer2 的区别,也算是对扩容有个基本理解,那么能否分清 Plasma、Rollup 和 Validium 的区别,就可以当做一种对扩容的进阶考试题。

一切的一切,都在下面这张图里了,理解了这张图,你就完全理解了 Plasma,两个 Rollup,与 Validium 的区别。

简单说来区别如下:

一切始于 Plasma
Plasma 是最早 V 神提出的扩容方案,也是这个图里 TPS 最高的一套方案。

首先,你可以把 Plasma 先想成一个侧链,但和侧链完全独立运营,只给 ETH 提交一个结果又有所不同,Plasma 会把 Plasma 计算处理完的区块哈希通过主链合约,在 Eth 主链上做个「公正」,链下成交了数百或数千笔,最后上链可能只有几十个 bytes,你可以理解为 Plasma=ETH 侧链运营+ETH 主链公正。

如果有人在离开 Plasma 链时,发现自己的转账数据不对或者被篡改了,怎么办?提交挑战!因此会有一个证明需求的过程(类似法院庭审+判决),这也是为什么 Plasma 的挑战期,或者说资金退出时间是在 7-14 天左右(是的,很长,很反人类……)。

Plasma 最大的两个特点在于:(1)默认,或者说乐观的认为每次「公正」都是对的;(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 不是那么直接相关,但作为底层架构非常值得一提。

Layer1 是 POW+UTXO。
这在新型公链里并不多见 , 关于 POW 和 POS 的种种争论已经太多,就此略过。但 POW 总有 POW 的好处,至少初始的 Token 分发就是一个更加公平的过程,将来同样保留转型 POS 的可能,届时可能采取一个 ETH 的「跟随」策略,ETH 踩过的坑,可以吸收经验,尽量避免

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 年分片技术一定会占据我们越来越多的视线。

「非主流」扩容方案

还有许多链采用了独特的技术来对区块链进行扩容,我们来简单的介绍最有代表性的三个:

Solana:Solana 独创了一个工作历史证明(Proof of History)技术,没有使用分片,也没有 Layer2,就在 Layer1 上面「硬刚」,数据目前来看还不错,至少可以算是当前「最速区块链」。
Solana 的 POH 是个理解起来比较抽象的东西,其核心就是整个链有一个全局可用的时钟(比如互联网时代之前,很多人都会对着 7 点整的新闻联播对表),有了全局一致的时钟,状态更新就可按照小于一秒时间的异步方式进行,比比特币这种 10 分钟才更新一次区块(确认一次时间戳)的方式要快很多。

Solana 除了速度快之外,最大的让人诟病的问题是不兼容 EVM,最让人喜欢的则是对于扩容的可预测性,或者说确定性(相对而言,你完全不知道 ETH2.0 哪一年才会完成,Rollup 最终是 ZK 还是 OR 还是 Validium 会胜出……)

Flow:思路很有意思,通过多重角色架构在 layer1 层解决区块链扩容。说白了就是把流水线这个概念引入了节点。目前的公链都是几个节点一起打包一个网络,一起出块,每个节点的责任也一样,都是干着重复的活(假设没有分片的话)
Flow 则把这个活分成了 4 份,收集、共识、执行和验证,每个节点执行不同任务。拿之前分片里面那个收银台的例子来看的话,分片可以看做是增加收银台数量,Flow 则是几个人负责一个大型收银台,一个负责收钱,一个负责录入,一个负责找钱,一个提前在客人排队时候挨个询问提前记录客人要点的东西,流水线作业加速收银速度。

DAG 流:AVAX、Fantom、Conflux 都是 DAG (有向无环图)流派。
DAG 严格意义来讲不是一个共识机制,而是一种数据结构,所以说采用 DAG 的项目甚至不能完全叫做「区块链」(因为区块链这个词本身也是一种数据结构)。

最早也是最出名的 DAG 有三驾马车,分别是 IOTA、NANO 和 Byteball,但基本都不支持智能合约,在这个智能合约的年代算是被淘汰的那一波,所以当前的新三驾马车成了支持智能合约的 AVAX、Fantom 和 Conflux。

DAG 在 18 年被很多人誉为「第三代区块链」,然而其异步通讯的处理方式虽然可以显著增加吞吐量,但安全性和稳定性也一直是一个问题。

至少还没有经历足够的时间检验,但作为区块链的一种补充,可以未来对其保持一定关注,毕竟目前扩容大计还是战国时代,最终鹿死谁手尚未可知,多关注几个不同的发展方向,总没有亏吃。

时光素材-香车美女  (78)blockchainBTC比特币区块链www.qkl91.com

发表评论

邮箱地址不会被公开。 必填项已用*标注