作者:月之暗面,PANews
模塊化一直是區塊鏈底層擴容的熱門議題。 11月22日,Polygon Avail宣布完成第一階段的測試網開發進度,將會在2023年適時上線主網。而在稍早前的8月份,Avail的測試網已經可達420筆每秒的交易速度,在目前的L2擴容方案中名列前茅。
Avail屬於模塊化(modular)通用擴容方案,其自稱為擴展性(scalable)擴容方案,不論如何稱呼,究其本質而言,都是在“橫向”增加單個區塊的數據存儲能力。從Avail測試網數據來看,其單個區塊數據容量可達2MB,在其生命週期內,平均可容納8000餘筆交易,而在擴展的極限性能條件下,甚至可達50萬筆交易。
L2 縱向分層,模塊化橫向分鏈,以及單體高性能公鏈,三者構成了下一代公鏈總的發展趨勢,目前來看,制約公鏈發展的主要是數據存儲和證明的效率,這也是ZK(零知識證明)技術和DA(數據可用性)方案的用武之地。
本文主要聚焦於Polygon Avail在數據可用性領域的解決方案的設計理念和機制特點,而Avail在明年主網上線後是否會成為公鏈賽道的攪局者也是值得注意的趨勢。
Avail 不僅實現了模塊化的公鏈設計,各種鏈上場景均可以使用Avail 進行數據排序和可用性調用。同時,Avail 與公鏈執行層無關,執行層可以是獨立的公鍊或使用Avail 的鏈下擴展解決方案,並且託管在這些執行層上的應用享有Avail 的全部安全性。
總之,Avail的意義在於,將L2、模塊化,以及數據可用性的概念集合在一起,可以理解為Polygon 上的模塊化區塊鏈,以太坊版本的Celestia ,並且也可以透過Avail來一窺Polyon在L2擴容賽道的整體佈局。
源起:數據可用性
Polygon Avial目標是用模塊化的思路解決數據可用性問題,關於數據可用性,可以拆分為數據存儲和可用性證明兩個部分,最經典的應用場景是L2在打包數據後,需要和L1進行通信,來確保此次打包數據的有效性。
以以太坊為例,會接收並保存L2傳遞的數據,還是會受到以太坊主網性能的限制。而在預計的danksharding升級過後,以太坊將轉為blob存儲機制,也就是只存儲有效性證明,而數據本身則設立存儲時間限制,以釋放以太坊主網的擴容潛力。
不論是以太坊主網,還是L2的解決方案,重點都在於圍繞“數據”本身做文章,而模塊化擴容方案是轉而擴展“空間”,就好像把大象裝冰箱的思路,既可以減少大象的體重,也可以把冰箱換成冷庫。
各類數據可用性解決方案
模塊化擴容方案的思路在於靈活配置區塊的容量,以Celestia為例,其設計思路不在於保存全節點數據,而是通過抽樣的思路來驗證存儲節點保存了數據,或者可以設立獎懲機制,來鼓勵或懲罰驗證節點保存數據。
而Polygon Avial的不同之處在於,其希望通過KZG多項式承諾的驗證機制來確保數據得到有效存儲,不相信人性,而是相信數學。或者可以將Celestia類比為optimistic的樂觀激勵機制,而將Avail類比為ZK的數學驗證機制。
Avail 通過使用一種極其安全的數學手段,使用糾刪碼(erasure codes)的機制來提供數據可用性,在多項式承諾方案機制下,避免了欺詐證明的滯後性,也不需要多數節點誠實假設,最重要的是,不需要全節點的主觀承諾來建立數據可用層。
但是,Avail的問題也和ZK系L2一樣,其構建在數學機制上的安全性導致其開發難度遠超Celestia等方案,Avail從2021年中開始進行設計,在歷經一年半的開發後仍未能主網上線,而5 月份Celestia 已啟動其首個測試網Mamaki,並且在10月份完成5500萬美元的融資。
Polygon Avail的開發進展需要提速,才能在商業競爭上建立生態優勢。
甚至可以說,Avail的全部設計理念都在於數據可用層的建立,並且這種擴容機制不需要限定在某條公鏈上,可以和任意公鍊或者跨鏈橋進行結合,構建溝通應用層和公鏈的通用數據解決方案。
進擊:Avail 運作模式
Avail的通用性在於其運作機制的普適性,而非針對特定公鏈進行優化,其目的是為應用層提供最佳的全場景數據可用性解決方案,在提交數據上,針對區塊Header和Body進行優化,並且也吸取數據採樣等技術的優勢,盡可能減少對區塊空間的佔用。
我們從以太坊的運作機制出發來說明Avail的運作邏輯,一般而言,一條公鏈存在三種角色,驗證節點、全節點和輕節點,驗證節點負責檢驗數據的正確性,全節點保存完整數據,而輕節點只保存區塊頭數據。
比如錢包就屬於典型的輕節點,其本身無需保存全節點數據,而只需在交易過程中驗證自身的區塊頭能否被驗證,只有全節點才需要保存交易的完整數據。
這樣做的好處是便利錢包等應用的推廣和普及,但問題在於其上的區塊數據有效性存在隱患,而Avail的創新點在於將區塊數據驗證的問題簡化為數據可用性驗證,Avail不糾結於區塊數據是否可被驗證,而是確保數據有效性是被“驗證”過的,也就是需要傳遞的數據本身已經被證明有效,隨後只是傳遞這種有效性證明的數據,而不是區塊數據本身。
Avail數據可用性只要求單個輕節點從鏈上區塊中抽取少量隨機數據塊,甚至可以利用一組輕節點對整個區塊鏈進行集體採樣,Alice可以保存數據塊的開頭,Bob可以保存數據塊的中間,而Tony保存數據塊的末尾,他們之間可以相互交換驗證後的有效性,進而組合成關於數據塊的整體有效性,而單個節點只需要驗證1/N的有效性,從而達到減輕存儲空間壓力的效果。
Avail運作模式說明
其次,是通過在Avail上使用的KZG多項式承諾來確保數據在進行“擦除”後仍舊是有效的,包括三個部分:
- 數據冗餘,確保有足量的數據可參與運算
- 抗欺詐證明,保證擦除後的數據有效性可得到證明
- 承諾機制,允許全節點將輕節點納入全部交易數據
並且使用多項式承諾可更為方便的擴展至通用數據可用性方案,只需要通過核驗數據的有效性,那麼Avail便可進行數據有效性證明和廣播至全節點,通過和Cosmos SDK的配合,任意PoS機制的公鏈都可快速和Avail進行對接。
Avail也可以抽象成數據可用性的驗證層,某個應用程序可以只查詢與之相關的數據,而不需要下載整個數據塊進行驗證,有利於更多DApp的開發和“瘦身”,而無需像Web 2時代的應用無限制佔用寶貴的內存空間。
本質上,Avail是一個掛載於公鏈之上的數據可用性SDK,而在Web 3.0時代的億級應用上,Avail驗證空間可隨著用戶數量的增加而逐步擴大,這也是其模塊化的重要特點,無限的橫向擴展能力。
Polygon 擴容佈局
通過對Avail的相關介紹,Polygon在L2賽道的佈局也值得一提。
從以太坊側鏈Matic起步,Polygon始終是擴容賽道的時代弄潮兒,很難直接概括Polygon的特定路線,因為幾乎所有的擴容方案其都在實驗和探索,或自研、或收購,比如對hermez的收購確保其卡位zkEVM賽道。
單就Rollup賽道,其就實驗了Plonk算法賽道的Polygon Zero,STARK路線的Miden,以及專注隱私賽道的Nightfall,以及EVM等效性賽道的Hermez。
Polygon各類解決方案
甚至Polygon也在佈局自己的模塊化公鏈開發框架Edge,用於開發者構建與Ethereum兼容的公鏈,並且在其上建立了Supernets,主打一個模塊化和可擴展的框架,這已經高度接近Cosmos本身的概念。
而Avail也是其較為重點的擴展性(模塊化)擴容方案,在其上搭建的擴容方案也承擔了突破單一以太坊應用的重任,L2本身並不局限於以太坊主網之上,而隨著各類公鏈的蓄力和加入戰局,通用的數據可用性擴容方案也會迎來新的市場空間。
在目前的競爭格局上,Celestia佔據了Cosmos生態上的先發優勢,而Avail從以太坊上起步與其撞了個滿懷,至於接下來兩者的輸贏,還需要等到Polygon如何發揮擴容方案的協同優勢。