區塊鏈擴容下一站:速覽 Rollup、分片等流行擴容方案

買賣虛擬貨幣

本篇我們來講一下 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,elrondharmony 這些專案都在做分片,波卡的平行鏈也可以看做是分片的一種極端表現形式。

分片理解起來很容易,如果把節點看成你去超市買東西的收銀員,只有一個收銀員肯定容易造成長隊,兩個話隊伍短一半,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 年被很多人譽為「第三代區塊鏈」,然而其非同步通訊的處理方式雖然可以顯著增加吞吐量,但安全性和穩定性也一直是一個問題。

至少還沒有經歷足夠的時間檢驗,但作為區塊鏈的一種補充,可以未來對其保持一定關注,畢竟目前擴容大計還是戰國時代,最終鹿死誰手尚未可知,多關注幾個不同的發展方向,總沒有虧吃。


免責聲明:

  1. 本文版權歸原作者所有,僅代表作者本人觀點,不代表鏈報觀點或立場。
  2. 如發現文章、圖片等侵權行爲,侵權責任將由作者本人承擔。
  3. 鏈報僅提供相關項目信息,不構成任何投資建議

推荐阅读