處理所有共識、數據和交易執行工作的單片區塊鏈的時代即將結束。
作者:Plaintext Capital
原標題:《Scalability & The Modular Blockchain Stack》
編譯:Web3er Liu,鏈捕手
可擴展性,即增加交易數量的能力,對所有區塊鏈都至關重要。可拓展性是很關鍵的,因為要讓全世界都進入Web3 並釋放這項技術的全部潛力,有必要找到解決方案,以處理不斷增加的每秒交易量(TPS) ,從而提供更快速、成本更低廉的交易。
儘管許多新公鏈擁有很高的TPS,但創新程度有限,付出的代價也很大,目前我們還遠無法讓傳統金融系統在區塊鏈上運行。例如,在Layer1架構上作出最大程度優化的Solana可以實現大約2500( Solana Beach 上可查詢)的TPS。令人印象深刻的是,這比Visa 聲稱的每秒可處理65,000 筆交易要低幾個數量級。
我從2017 年開始進入加密貨幣行業,從那時起,大部分的研究都集中在性能擴展方面。我曾為以太坊2.0 工作,並希望“分片”的啟動將最終滿足所有的可擴展性需求,但我在尋求改善跨分片通信產生的可組合性損失方面沒有取得進展,後來我的關注重點轉向了Rollup。
考慮到令人擔憂的可拓展性問題,開發者正從以太坊轉移到新的智能合約平台,但隨著用戶對這些新平台的需求量增加,區塊空間飽和,用戶體驗再次下降(例如Avalanche的Gas費飆升)。
目前為止,提高TPS的開發方法主要集中在以下幾點:
-
更快的共識算法(允許節點更快地就交易指令達成一致)
-
優化運行環境(使事務運行的更快)
-
更快地在網絡內傳播區塊
這三點幾乎覆蓋了多數新公鏈所鼓吹的獨特創新的99%。
歸功於一些在研究和實踐上述方法時做出優秀貢獻的團隊,上述創新方式的採用,疊加代碼庫的重新編寫,創造出了許多高性能的網絡節點(並非在以太坊源碼基礎上進行簡單的分叉或構建),確實將TPS提高了幾乎一個數量級。但是,為了讓這些平台繼續擴展用戶,它們必須提升對硬件設備的需求以換取微博的線性增長。如果有一種更好的架構,既能解決可擴展性問題,又不影響去中心化性,又會如何呢?
可擴展性
今天的區塊鏈平台可以被認為是單片的。每個區塊鏈節點都參與運行構成區塊鏈的所有部分:執行、共識和數據可用性。
執行(Execution)是對包含在區塊中的交易的計算。簡而言之,該過程要讀取用戶在以太坊網絡上擁有的代幣數量,減去他發送出去的代幣數量,並將結果保存至鏈上的過程。
共識(Consensus)的作用是處理這些交易並對其進行排序和驗證確認。沒有共識算法,一組節點不可能就交易指令的次序達成一致,從而達到相同的狀態。
最後,數據可用性(data availability)是保證區塊完全發佈到網絡上的過程。為了讓輕客戶端(低級區塊鏈節點)工作,網絡必須確保完整的區塊被發布,這樣當出現一個無效區塊時,誠實的節點可以創建一個欺詐證明(fraud proof)。數據可用性對於擴展區塊鏈至關重要,因為它允許網絡增加容量,而無需讓所有節點都線性地增加可用資源。
今天,擴展區塊鏈意味著同時擴展這三個部分。
自農業革命以來,人類一直依靠專業化來提高效率和生產力,軟件也不例外。事實上,今天的互聯網協議棧是由各個層組成的,每一層都服務於一個單一的目的。總的來說,它們是我們今天愛不釋手的互聯網的基礎。
這些模塊化的層還容許更強的靈活性和實驗性嘗試。例如,在互聯網協議套件的傳輸層,我們在網上的每次在線連接中都通過它來將數據包從一台計算機發送到其他計算機。有許多不同的協議,TCP、UDP 和SCTP 就是一些實例,開發者可以從中挑選,以最佳方式滿足其應用程序的需求。
將類似的範式應用於區塊鏈可以提供類似的可擴展性優勢。
進入模塊化區塊鏈設計
執行層是面向用戶的層(稱為Rollup),交易在該層得到執行。
結算層(可選)為上層的所有Rollup匯總結果提供最終確定性,允許它們以去信任的方式進行橋接。
共識層&數據可用性層為交易指令進行排序和驗證確認,並保證所有數據都已發布並可訪問。
並非每個節點都需要執行並驗證每一筆交易,以便所有其他節點都可證明知道區塊鏈數據有效。只要我們有一個可以轉存所有執行數據的基礎層,我們就可以保證(通過零知識證明或博弈論機制)交易是有效的,並且網絡內所有人都知道。因此,這些交易現在可以只由一個節點來執行。
如果這個節點有惡意行為,它就會被清理掉,另一個節點會接替其執行,網絡運轉就可繼續進行。
這意味著什麼?這意味著我們現在已經將重點從同時擴展多個節點轉變到了擴展單個節點。這是一個更簡單的工程學壯舉。正如當今大型Web2 平台的性能所證明的那樣,我們已經知道如何擴展這種執行類別。
所以,執行層的可擴展性現在已經不礙事了,但有一個需要注意的地方,執行層必須將所有的數據轉存到共識層。否則,輕節點(低資源節點)就沒有辦法意識到執行層中的潛在欺詐行為。這是因為輕型節點本身不執行和驗證任何交易。
因此,我們需要一種廉價的方法,讓任何與執行層進行同步通信的節點都可以證明出塊節點操作者是否有欺詐行為。幸運的是,有幾種方法可以實現這一目的。
Sovereign Rollups
我們所知道的Rollups必須在智能合約平台(公鏈)上進行結算,而智能合約鏈通常處理數據可用性和結算工作。 Rollups需要在智能合約平台上執行欺詐或有效性證明,以獲得安全性,並受到該鏈的容量和執行性能的約束。由於目前的智能合約平台要處理結算工作,其可擴展性是有限的。
然而,Sovereign Rollups的過程不需要智能合約平台的參與。相反,其每筆交易都在數據可用性層上發布,但在Rollup層進行結算。重要的是,數據可用性層(DA)不負責執行交易和結算,這可以提高其規模。執行交易的過程發生在Rollup層上,數據在DA層上可用,而結算最終再次發生在Rollup層。 Rollup由Rollup層全節點監控DA層並通過防欺詐證明報告無效區塊來維持安全性。
一旦欺詐證明由任何誠實的全節點產生,它就會在整個Rollup層網絡中傳播,任何收到欺詐證明的輕節點/全節點都會立即放棄無效區塊,並清理無效區塊生產者,這可使區塊生產者保持誠實。
如果沒有輕節點在指定的時間範圍內收到欺詐證明,它們就可以確定該區塊是有效的。
由於Rollup不涉及將交易包含在一個可能擁堵或易受干擾的結算層中,因此Sovereign Rollup可以提供延遲性更佳的最終確定狀態。
具有中心輻射模型的結算層(可選)
在中心輻射模型中,(查看Matthew Di Ferrante 的精彩帖子)一個受限的結算層位於數據可用性層之上。總共可能有三層:典型的Rollup(執行層)、結算層(Sovereign Rollups)和數據可用性層(DA層)。結算層像區塊鏈一樣工作,有自己的區塊生產者和執行交易功能,但其執行功能僅限於某些類型的交易,使其更易於優化。
具體來說,結算層只關心存儲執行層的區塊數據,執行optimistic rollup的欺詐證明,或存儲zk-rollup 的狀態差異和有效性證明,以及在這些Rollup間切換。
只需要與結算層同步,用戶即可獲得交易執行有效的充分保證。結算層節點由於其特殊性質而佔用較小空間,因為它們不承擔在執行層進行計算的繁重任務。
中心輻射模型很酷的地方在於,可以有許多Rollup/執行層可以在去信任化的情況下進行橋接。由於結算層為所有在頂層運行的交易提供安全性,在重組的情況下,所有Rollup執行層也會重組,從而消除了橋接所固有的安全風險。正如Vitalik 最近所說,這種模式的共享安全性優於多鏈世界的碎片化安全性。事實上,Eth2.0 將充當這個樞紐,提供結算和數據可用性。
然而,這個模型也可以在任何專門的DA 層上實現,例如Celestia 或Polygon Avail。具體來說,Celestia(數據可用性)和Evmos(結算/樞紐)之間的合作是樞紐模型的一個有趣示例。
兩者的比較
這兩種模型有不同的權衡和取捨。在中心輻射模型中,執行層受到底層結算層的限制,但受益於與其他Rollup執行層的去信任化互操作性。例如,Arbitrum 和Optimism 都使用以太坊作為他們的結算和數據可用性層,就像一個樞紐一樣。在以太坊重組的情況下,無論它們之間橋接的資金量多大,由於這兩個Rollup執行層也與以太坊一起重組,因此兩個執行層都沒有損失資金的風險。
在Sovereign Rollups的情形下,直接在數據可用性DA 層之上構建執行層,將防欺詐處理從鏈上轉移,這使得延遲性、可升級性和其他方面具有更強的靈活性。但是,我們沒有獲取到執行層間的互操作性。
擴展數據可用性層
需要由執行層發布的數據量與執行的交易數量呈線性增長。所以,我們需要可擴展的數據層。
事實證明,擴展專門的數據層要比擴展單片區塊鏈容易得多。
使用糾刪碼(這種技術可以讓我們在碟片被嚴重劃傷的情況下播放CD)和區塊數據的數據可用性採樣(要求N個隨機小部分)的組合,每個節點可以概率性地保證所有區塊數據都是可用的,並發佈到網絡。 (查看Mustafa Al-Bassam 的帖子,深入了探討數據可用性問題和解決方案)
同時,這些節點可以整合在一起,通過組合每個輕節點獨自擁有的數據樣本來拼湊出數據全貌。
這種採樣的巧妙之處在於,所需的樣本大小與DA 層區塊大小成對數(即擴展性得非常好),並且隨著用戶向網絡中添加更多節點,網絡的數據容量也會增加。
其帶來的主要啟示是,我們可以大幅擴展“安全的”數據可用性,就像BitTorrent這樣的文件共享網絡一樣。
總結
經過多年的研究和不確定性,區塊鏈的擴展性問題終於在理論上得到了解決。我無法用原因讚美這是多麼重大的一件事情。我簡直要為此失眠了。
這意味著,處理所有共識、數據和交易執行工作的單片區塊鏈的時代即將結束。
下一代協議將更加專業化,迎合我們今天所說的區塊鏈的不同層級,並為實驗性創新提供極大的靈活性。
我們將迎來一場狂歡:基於以太坊的Rollup項目或其派生分叉將部署在使用Celestia、Eth2.0或任何其他專業DA層的結算層上。結算層、DA層和執行層都將以不同方式進行優化。
我預計今天的許多智能合約平台將成為這個新堆棧的各個層級,許多新的項目將在未來崛起。對於在某些領域(例如虛擬機、共識算法和網絡)具有特殊專業知識的團隊來說,可能會有很大的機會。
走向光明和可擴展的未來。
展開全文打開碳鏈價值APP 查看更多精彩資訊