一些應用需要特定的定制化服務,而這些服務,將由 Layer 3 來提供。
作者:鹿目圓,IOBC Capital
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 有什麼優勢?
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 證明的壓縮優勢成倍增加。
Layer3--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 的項目。
免責聲明:作為區塊鏈信息平台,本站所發布文章僅代表作者及嘉賓個人觀點,與 Web3Caff 立場無關。本文內容僅用於信息分享,均不構成任何投資建議及要約,並請您遵守所在國家或地區的相關法律法規。