Vitalik 在最近的一篇文章中討論了Layer 3的概念。那麼,什麼是Layer 3?
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 在他的文章中也對這三種模式表示了認可:
1. 自訂功能。即layer 2用於擴容,layer 3用於特定的功能,例如隱私。在這個願景中,沒有嘗試提供“可擴展性的平方”,而是在堆疊中有一層專門來輔助應用程式擴展,然後其他層則為不同用例提供定制功能。
2. 自訂擴展性。即layer 2用於通用擴容, layer 3用於定制擴容。定制擴容可能有不同的形式:不使用EVM來進行計算的特殊的應用、用資料格式優化來為特定應用進行資料壓縮的Rollup等。
3. 自訂安全性。即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只有大約 8,000 gas 的layer 1 成本(500 位元組用於證明)。這將上表更改為:
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 證明的壓縮優勢成倍增加。
對於 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的項目。
免責聲明:
本文觀點僅代表作者個人觀點,不構成本平台的投資建議,本平台不對文章信息準確性、完整性和及時性作出任何保證,亦不對因使用或信賴文章信息引發的任何損失承擔責任
0.00