IOBC Capital:Layer3 會是以太坊的新方向嗎?
來源:IOBC Captial
Vitalik在最近的一篇文章中討論了Layer 3的概念。那麼,什麼是Layer 3?
我們先簡單回顧一下Layer 1和Layer 2。
早期的公鏈,尤其是以太坊,其生態發展受制於網絡性能,每秒可處理的交易筆數(TPS)比較小,網絡時常發生擁堵,且交易GAS費比較昂貴,無法支撐高性能的應用在其上發展。為了提升網絡的可擴展性,各種擴容方案相繼被提出。
擴容的路線主要有兩種:
一種是在原有的區塊鏈本身,也就是Layer 1上進行擴容,讓區塊鏈自身擁有更高的交易容量和處理速度。
這種方案的主要問題是:如果通過更大的區塊來進行擴容,那區塊會變得更難驗證,同時網絡也會變得更加中心化。
第二種是在區塊鏈上附加一層,即常說的Layer 2擴容。這種方式不是將所有的活動(比如計算、存儲、共識)直接放進原鏈中(單片式的layer 1區塊鏈),而是通過模塊化的執行層,也就是一些鏈下的Layer 2協議來處理一系列的交易。鏈上的智能合約只進行兩項工作:處理存款和取款,以及驗證所有鏈下發生的行為是符合規則的。
在討論Layer 2擴容的過程中,逐漸出現了一個新的概念--Layer 3。
Layer 3基於這樣一種理念:
如果可以在Layer 1之上添加Layer 2協議來幫助處理交易從而提升安全性和可擴展性,那麼是不是也可以在Layer 2上面增加額外的Layer 3協議來繼續增加安全性和可擴展性?
這個想法聽上去不錯,但是在實際執行上面臨著諸多問題,使得這種擴容方案無法直接簡單地進行堆疊。
一、通過堆疊更多層來持續擴容可行嗎?
Rollup是一種擴容技術,主要是為了解決區塊鏈運行時的擴展的兩大瓶頸:計算和數據。
其中計算瓶頸可以由欺詐證明或者SNARK來解決,這依賴於一小部分人來處理區塊,其他人只需要進行很小的計算量,來驗證這些處理結果的正確性。
這些方案,尤其是SNARK,幾乎可以無限制擴容,可以通過在SNARK上再進行SNARK來把很多計算量縮小到一個證明裡。
但是數據則不同。Rollup使用一系列的技巧來縮小一個交易需要上鏈的數據量,一個簡單的貨幣轉帳的大小被從100字節壓縮到16字節,一個保護隱私的ZK-SNARK交易可以從600字節被壓縮到80字節。
但是Rollup仍然需要維持鏈上數據的可用性。也就是說鏈上數據對用戶來說需要可獲得並且可驗證,這樣用戶就可以獨立地計算和驗證Rollup的狀態,並且在現有驗證者離線的時候可以作為驗證者加入。
數據只能做一次壓縮,不能用同樣的壓縮邏輯把壓縮過的數據再壓縮一次。
所以,Rollup上的Rollup(多層堆疊)這種方案實際上並不能在可擴展性方面帶來更多的收益。
但是,Layer 3模型可以用作其他用途。
二、如果不適宜用來做通用擴容,那麼用Layer 3做什麼比較合理? Polynya在文章《分形擴容》中介紹了一個可行的Web3網絡是什麼樣的。文章中提到,試圖把所有內容塞進一個伺服器,在一個伺服器中進行並行化,遠不如把並行的概念帶到下一個層,也就是新增加一個Layer 3來進行並行處理,這樣可以把內容擴展到多台伺服器上。通過分形的方式來進行並行與特定擴容,這就是我們需要layer 3的地方。任何計算密集型的應用程序,都会需要為應用定制的rollups。這樣做有以下幾個好處:
- 優化了零虛擬機開銷的應用程序
- 無MEV,或MEV有限,即可以通過簡單的解決方案來減輕有害的MEV
- 為特定目的選擇微調硬體(通用鏈總會有一些不適合某個應用程序的瓶頸)。
- 解決交易質量不可能三角--可以支付少量的交易費用,但仍然可以通過有針對性的防DDoS方案來規避垃圾郵件。
Starkware也提出了他們的Layer 3的方案。它採用的遞歸的理念可以甚至可以被用到更多層級上來實現分形層級解決方案。在他們的方案中展示了這種生態的示例,如下圖所示。
它的layer 3包括了:
- 擁有Validium的數據可用性的StarkNet,主要給一些對價格特別敏感的應用來使用。
- 專門針對APP的擁有更好的應用處理性能的StarkNet系統,例如應用了特殊設計的存儲結構。
- 服務於類似 dYdX、Sorare、Immutable 和 DeversiFi 的StarkEx系統,這些系統具有 Validium 或 Rollup數據可用性,可以為StarkNet帶來可擴展性優勢。
- 隱私StarkNet實例(在此示例中也作為L4)可以實現隱私保護交易而不會將它們包含在公共StarkNet中。
Starkware在文章中提到了三種關於Layer 3的願景,Vitalik在他的文章中也對這三種模式表示了認可:
- 自定義功能。即layer 2用於擴容,layer 3用於特定的功能,例如隱私。在這個願景中,沒有嘗試提供"可擴展性的平方",而是在堆棧中有一層專門來幫助應用程序擴展,然後其他層則為不同用例提供定制功能。
- 自定義擴展性。即layer 2用於通用擴容, layer 3用於定制擴容。定制擴容可能有不同的形式:不使用EVM來進行計算的特殊的應用、用數據格式優化來為特定應用進行數據壓縮的Rollup等。
- 自定義安全性。即layer 2用於無需信任的擴容(rollups),layer 3用於弱信任擴容(validiums)。Validium是SNARKs用於驗證計算的系統,但是把數據可用性放在了鏈外可信任的第三方或委員會處。Vitalik認為,Validiums被嚴重低估了:對於大多數"企業區塊鏈"應用程序來說,運行validium證明者並定期將哈希提交上鏈的中心化伺服器就可以滿足需要。雖然Validium的安全性不如rollup(因為是中心化的),但是它們的費用便宜許多。
三、Layer 3的成本
Rollup和validium需要在確認時間和固定成本之間做權衡。但Layer 3可以解決這些。
Rollup中的每筆交易的費用都很低:根據應用的不同,大概是16-60字節的數據。
但是Rollup也有一筆很高的固定成本,來源於每次需要將一批交易提交到layer 1鏈上時:如果是optimistic rollup需要21000 layer 1 gas每批次,如果是ZK rollup則會超過400,000 gas,如果是量子安全的STARK則需要百萬以上的gas。
當然,rollup也可以簡單地選擇等到有1000萬gas價值的交易時再來提交整批交易,但這會造成非常長的批次間隔,迫使用戶等待更長的時間以獲得高安全性的確認。
因此,它們需要在不同方案中權衡:較長的批次間隔和最佳成本,或者較短的批次間隔和增長的成本。
Vitalik在文章中展示了一個批次成本為600000 gas的ZK rollup、每筆交易成本為368 gas的完全優化的ERC20轉帳(23字節)的情況。假設此rollup處於早期採用階段,TPS為5。計算得出每筆交易與批次間隔的gas:
如果在擁有大量定制化Validium和針對APP的定制環境的情形下,它們可能不需要用到5tps。事實上,layer 3確實能解決這個問題。ZK rollup中的ZK rollup只有大約8000 gas的layer 1成本(500字節用於證明)。這將上表更改為:
四、Layer 3有什麼優勢?
Layer 3的優勢有以下幾點:
更好的可擴展性:來源於利用遞歸證明的倍數效應。
構建layer3的應用程序設計人員獲得了更好的控制性。
隱私:例如,零知識證明應用於開放Layer 2上的隱私保護交易。
更便宜/更簡單的layer 2-layer 3互操作性:
目前在layer 1和layer 2之間的出入金流程非常昂貴。相比之下,由於layer 2的成本效益,這些流程在應用於layer 3時不僅極具吸引力,而且易於實施。雖然在layer 2和layer 3之間移動資產的延遲可能比部署在同一layer 2上的應用程序之間的延遲要長,但成本和吞吐量是成正比的。
更便宜/更簡單的layer 3-layer 3互操作性 :獨立的layer 3將通過layer 2而不是layer 1進行互操作。layer 2顯然比它的layer 1便宜。在沒有layer 3的情況下,這些都將在layer 2上運行,也就必須通過相當昂貴的layer 1進行互操作。
layer 3作為layer 2的"金絲雀"網絡 :新的創新可以在layer 3上進行測試,然後在layer 2或layer 3上向公眾提供(很像Kusama在Polkadot中扮演的角色)。
六、layer 3的實現方式 Starkware在他們的方案中介紹了layer 3的具體實現方式。
一個經典的layer 2結構包括了以下幾個組成部分:
跟蹤layer 1上的layer 2狀態根的智能合約(例如以太坊上的StarkNet智能合約)
一個Verifier智能合約來證明狀態轉換證明的有效性
layer 1上的用來管理layer 2上進出的代幣的存取款的橋合約
layer 2上用來作為layer 1上代幣交易對手方的代幣合約,如ERC20, ERC721
而一個分形的layer 3結構則如下圖所示。只要在layer 2上放置狀態跟蹤和Verifier智能合約,layer 3就可以利用有效性證明在layer 2上安全地運行。當layer 2也使用提交給layer 1的有效性證明時,這將成為一個非常優雅的遞歸結構,layer 3證明的壓縮優勢可以使layer 2證明的壓縮優勢成倍增加。
七、Layer 3--Dapp開發者的選擇
對於dApp的開發者來說,在基礎設施上可以有以下幾種選擇:
1、自己開發一個Rollup(ZK Rollups或者Optimistic Rollups),優勢是你可以繼承以太坊的生態(用戶),還有它的安全性,但是對於一個dApp團隊來說,Rollup的開發費用顯然過高。 2、選擇Cosmos、Polkadot或者是Avalanche,開發的費用會更低(例如dydx就選擇了Cosmos),但是你將失去以太坊的生態(用戶)以及安全性。 3、自己開發一個Layer 1區塊鏈。這帶來的開發費用和難度很高,但是卻能擁有最高的控制權。我們對比一下三種情況: 難度/費用:Alt-layer 1 > Rollup > Cosmos 安全性:Rollup > Cosmos > Alt-layer 1 生態/用戶:Rollup > Cosmos > Alt-layer 1 控制權:Alt-layer 1 > Cosmos > Rollup 作為一個dApp的開發者,如果想繼承以太坊上的安全性和流量,那就不能重新開發一條鏈,那只能選擇rollup。但是自己開發一個layer 2 rollup又非常貴,那麼合適的解決方案就變成了利用layer 3 SDK開發一個自己的應用專用的Rollup(application-specific rollup),即Layer 3。
八、結語
Layer 2可以降低每筆交易的gas成本、提高鏈上的可擴展性。同時,Layer 2保留了去中心化、通用邏輯和可組合性的好處。通過遞歸結構的設計,Layer 3也可能繼承Layer 2的這些優點。
目前一個比較普遍的觀點是:一些應用需要特定的定制化服務,而這些服務,將由Layer 3來提供。
Layer 3可能會為以太坊或者說是區塊鏈,開闢一個新的空間,就像Rollup那樣。但是目前還有很多的技術細節需要去解決,這還需要時間。
自2020年以來,應用層的創新幾乎沒有出現。過去關於區塊鏈應用未爆發的原因,多數說法是現有的公鏈的性能不足以支撐高計算量高並發的應用,這種思路還停留在單片區塊鏈的時代。但是隨著layer 3方案的成熟,預計將會出現一批新的應用,這些應用只有在分形擴容的情況下才真正有可能實現。鏈上遊戲或類似依賴大量計算的項目,可能會成為第一批部署自己的layer 3的項目。