目前模塊化區塊鏈熱度不減,這是由於單一型區塊鏈它所固有的一些局限,性能和效率的低下讓用戶體驗實在不良好;而單純地提高硬件要求來改善性能的做法又會導致中心化的問題,因為節點參與網絡運營的成本或者說門檻太高。


那麼模塊化區塊鏈/分層結構為何會被大家青睞呢?它的設計邏輯是什麼?怎麼改善單一型區塊鏈所固有的局限?在這期節目中我們邀請到了來自A&T Capital 的研究者Todd 一起聊聊這些話題,希望大家聽完之後可以對模塊化區塊鏈這一概念能夠有更清晰的認知。


點擊收聽Podcast,了解更多:

ecnpodcast.fireside.fm


﹋﹊﹋﹊﹋﹊﹋﹊﹋﹊﹋﹊﹋﹊﹋﹊﹋﹊


時間戳

Intro - 00:37

模塊化區塊鏈起源- 02:43

模塊化的含義- 07:48

單一型區塊鏈的局限- 09:18

模塊的切分方式有哪些- 17:29

以太坊的模塊化生態講解- 19:29

Rollup 排序共識的探討- 35:45

Validium 的安全性討論- 43:04

Danksharding 的大區塊問題和去中心化維持- 46:11

Celestia 和以太坊在模塊化上最大的區別是什麼- 58:24

Celestia 提供的主權性有什麼好處- 61:52

這種主權性會帶來額外的信任假設嗎? - 71:45

結尾- 74:31


精彩摘錄


Franci



根據維基百科,模塊化編程的定義是指將計算機程序的功能分離成獨立的、可互換的“模塊”(module) 的軟件設計技術,模塊接口表達了這個模塊所提供的和所要求的元素。


那麼區塊鏈中模塊化的具體應用是如何的呢?我們一直強調的模塊化區塊鏈,它為何會出現並且發展成蓬勃的生態?它的提出必然是為了解決或是完善單一型區塊鏈的一些問題,總的來說,後者有什麼局限呢?



Todd



從單一型區塊鏈的定義開始,我們通常把什麼樣的區塊鏈稱為模塊化區塊鏈呢?舉兩個最典型的例子就是比特幣網絡和以太坊1.0 網絡,他們最大的特點就是節點承擔運行區塊鏈所有類型的職責:這些職責包括計算、共識和存儲。這意味著節點運行者的硬件要同時滿足這三部分所帶來的要求。比如說,CPU 這個硬件能算多快?帶寬與共識職責相關,節點與其他節點通信完成共識,能夠傳遞信息的速度能有多快?最後就是內存,你的節點能存多少東西。這些都需要考慮。然而從硬件上來看,這些都已經被壓榨到一個極限了。


也就是說,作為單一型區塊鏈,由於他對於節點的硬件要求已經到了一定的瓶頸。那麼為了不提高硬件要求,同時讓網絡變得更快,模塊化提出的方案就是讓節點去承擔相對少的職責。比如說把上面的三塊拆分開來看作是不同的模塊,然後讓節點只承擔一塊或者兩塊的職責。這樣來讓網絡提高效率。



Franci



模塊的切分方式有哪些?


Todd



主要來說會把它分成三層,分別是數據可用性層、共識層和執行層。這個分層框架主要適用於介紹以太坊模塊化的生態。而之後會提到的Celestia,我會對共識層進行再細分:交易順序共識和全局狀態共識。


那麼我們來看以太坊上的模塊化生態發展。先從最簡單的兩種開始:基於以太坊的Rollup 和Validium。 Rollup 就是將執行層分出來,單獨交給了L2 去執行。相當於將大量的計算工作交由給鏈下,最終把計算結果發送到鏈上,鏈上只需要對計算結果進行共識即可。


第二個就是Validium,它就是在Rollup 的基礎上,把數據可用性層也拆開了並交個了鏈下。從某種意義上來講,Validium 這套體係其實是削弱了整個網絡的安全性,來換取更高的可擴展性。


Danksharding 是一種更為精妙的設計。它通過對共識層上的節點進一步拆分。也就是說,讓其中一部分(區塊構建) 的職能由硬件能力超高的網絡節點來承擔,而在這部分中,勢必會造成削弱網絡的去中心化,所以會引入其他部分對其進行補充,讓共識層網絡維持去中心化。那它是如何在大區塊的前提下維持整體網絡的去中心化呢?前面那部分只是涉及了區塊的構造,並沒有涉及區塊內容的驗證或者說對區塊內容的共識。所以其實全網依然是有一萬個甚至兩萬個節點來參與共識的一個過程。最終讓網絡的安全性得到一個不錯的保障。



Franci



怎麼看待Rollup 中心化排序的問題?


Todd



Rollup 目前排序的權力確實是由項目方來掌握的,也就是說你需要信任項目方在這方面不會作惡。其實排序這件事情,能夠帶來的最大的一個價值就是MEV。所以其實Sequncer 的作惡其實無非就是能做到提取一些MEV,並不是說可以摻雜一筆假交易或者可以雙花。



Franci



Validium 相較於Rollup,會犧牲掉部分的安全性。會犧牲到什麼程度呢?有沒有具體的例子。



Todd



DA 放在鏈上最本質的一個原因就是,當我的所有元數據都在鏈上,那我單個節點是有能力去重新跑一遍交易然後算出這個狀態是否對的。如果將DA 放在鏈下,實際上你能夠拿到的數據只是對方想讓你拿到的數據。如果對方不想讓你拿到其中一部分數據的話,意味著你是沒有辦法重現所有鏈上交易的。那這其中能夠做到的一些很明確的事情就是拒絕服務。



Franci



Celestia 和以太坊在模塊化上最大的區別是什麼?



Todd



我最最開始提到的將模塊化分成四層,但是在談以太坊的模塊化生態時只按三層來講,因為以太坊的交易排序共識和全鏈狀態共識其實都是由Beacon Chain 來維護的。而在Celestia 的體系裡是有明顯的拆分的。也就是說,交易排序共識由Celestia 的底層網絡來維護,而全局狀態的共識則是由rollup 或者自己的鏈的節點來維護。


那麼這麼做最大的一個好處就是,基於Celestia 搭建的Rollup 允許自己的節點同時跑不同版本的客戶端。打個比方,在以太坊的框架下,大家經常會說想在這個地方做個升級,想在那個地方做個升級,那基本上只有一條路,就是硬分叉。因為所有節點都需要跟上最新的一個版本。在Celestia 的邏輯裡,它認為既然你的歷史數據、歷史交易排序都是一致的,那麼不管你用A 算法來算還是B 算法來算,答案都是一樣的。那這樣的話,它會釋放更多的自主性。



訂閱ECN Podcast


訪問ecnpodcast.fireside.fm 收聽Podcast 以及獲取節目的其他詳細信息。你也可以通過泛用型播客客戶端Apple Podcasts、Pocket Casts、Castro、Google Podcasts、Spotify 等訂閱我們的節目。