天天看點

一文讀懂Layer 2

一文讀懂Layer 2

Layer 2指基于底層區塊鍊(注:通常也稱為“Layer 1網絡”)的鍊下網絡、系統或技術,目的是為了擴充底層區塊鍊網絡。Layer 2網絡可以提升任何底層區塊鍊的吞吐量以及其他性能。

Layer 2網絡、系統或技術的核心價值是能夠利用底層區塊鍊的安全性。其交易資料必須以某種形式被底層區塊鍊網絡驗證并确認。按照這個标準來看,側鍊就不屬于Layer 2,因為側鍊通常會部署自己的共識機制和驗證節點,是以擁有獨立于底層區塊鍊的安全機制。

一些區塊鍊為了保障去中心化水準和安全性而犧牲了可擴充性,這類區塊鍊可以利用Layer 2來提高交易吞吐量,并降低交易成本。Layer 2是解決可擴充性問題的方案之一,無需犧牲去中心化水準或安全性就能快速執行交易并實作可擴充性。

對Layer 2的需求

區塊鍊技術誕生于2008年。自那以來,上千名研究者和開發者一直緻力于解決區塊鍊可擴充性的瓶頸,以滿足不斷增長的應用需求。這些瓶頸導緻交易成本居高不下,執行速度慢,并成為了區塊鍊技術主流化的絆腳石。

以太坊聯合創始人Vitalik Buterin首次提出了“區塊鍊不可能三角”的概念,認為區塊鍊無法同時兼顧可擴充性、安全性和去中心化三個次元。開發者不得不在這三者之間進行取舍。如今的區塊鍊網絡最多隻能同時滿足其中兩個次元。

一文讀懂Layer 2

Layer 2是一種新興技術,其主張區塊鍊之是以會在可擴充性方面存在限制,是因為區塊鍊需要完成的任務過多。目前區塊鍊有三個核心功能,即:執行交易、資料可用性以及達成共識。

  • 執行交易

處理并完成交易。衡量名額是區塊鍊每秒可以完成的計算次數(其中包含交易數量)。

  • 資料可用性

網絡中的節點和驗證者需要儲存交易、狀态以及其他資料。衡量名額是标準存儲機關,比如MB和GB等。

  • 達成共識

節點和驗證者需要針對網絡狀态和交易排序達成共識。衡量名額是去中心化水準和終局速度,或所有節點針對某一狀态變更達成一緻意見所需的時間。

L2解決方案的運作機制

Layer 2解決方案大緻可以分為兩個部分:一個是負責處理交易的網絡;另一個是部署在底層區塊鍊上的智能合約,負責解決任何分歧,并将Layer 2網絡達成的共識傳輸到底層區塊鍊進行驗證。

Layer 2網絡上可以快速執行交易并開展計算。不同網絡會通過完全不同的方式提升交易吞吐量。但這些Layer 2網絡有一個共同點,那就是在結算時都會向底層區塊鍊送出某種可驗證的加密證明,以證明狀态變更的真實性。有些Layer 2會提前建立證明并送出至底層區塊鍊,而另一些則是之後再建立追溯性的證明。

另外,不同Layer 2網絡在底層區塊鍊上的智能合約實作方式也有所不同,但智能合約的核心功能是一樣的, 即:

儲存并釋放資金,轉賬至Layer 2;

收到Layer 2送出的證明,進行驗證,解決分歧,并最終确認交易。

為了更好地了解這兩種機制,我們可以探讨目前的兩種Layer 2實作方案,即:支付通道和rollups。

支付通道

兩個或以上使用者可以預先向通道中充值資金,然後在鍊下進行通證轉賬。

Alice和Bob分别在智能合約中鎖定一筆資金,建立支付通道,并通過加密簽名技術約定雙方可以使用多少資金。比如,雙方各鎖定50美元,是以支付通道裡的資金總額為100美元。那麼他們很可能會協定每一方可以使用50美元。

一旦建立了支付通道,Alice和Bob都可以通過簽名消息在鍊下進行交易,無需向底層區塊鍊送出交易。Alice可以向Bob付款,Bob也可以向Alice付款,無需任何成本也不存在延時。在這個雙向支付通道中,Alice和Bob的交易不會發送到底層區塊鍊。隻有當雙方都決定關閉通道時,最終交易結果才會被發送至鍊上進行結算。

是以,最終Bob和Alice隻需要在建立和關閉支付通道時支付兩筆鍊上交易費即可。當支付通道開通時,幾百萬美元的轉賬可以在不到一秒的時間内完成,而且無需任何成本。這就是解決區塊鍊擴容問題的經典案例。

一文讀懂Layer 2

Rollups

Optimistic rollups和zk-rollups可以在鍊下執行智能合約狀态變更,并在鍊上進行驗證,以此提升區塊鍊的吞吐量并降低成本。Rollups可以通過以下三種方式實作擴容:

  1. Rollups在鍊下執行交易,底層區塊鍊隻需計算輕量化的交易證明,驗證網絡活動并儲存原始交易資料。
  2. Rollups将交易資料打包,并送出至區塊鍊,鍊上gas費可以分攤到各個交易中。
  3. Rollups最少隻需要一個誠實的驗證節點,就可以向底層區塊鍊證明交易的有效性,是以對驗證節點的數量要求較低,而對節點硬體要求較高,同時不會對安全性有很大影響。

鍊下執行

rollups的一個關鍵特質就是在鍊下執行交易。這意味着Layer 2網絡可以代替底層區塊鍊處理與其他使用者或智能合約的交易。由于驗證節點數量較少且硬體更強大,這将大幅提升Layer 2網絡相較于底層區塊鍊的交易吞吐量。

底層區塊鍊隻需要計算送出至智能合約的證明,就可以驗證Layer 2網絡中的活動(注:如果是optimistic rollups的話,隻有當分歧出現時才需要驗證),并将未執行的原始交易資料作為calldata儲存起來。簡而言之,區塊鍊不再需要執行那麼多計算任務,也不需要儲存那麼多Layer 2上的交易資料,是以可以降低每筆交易的成本。

打包交易

另外一種降低成本的方式就是将交易打包。你可以把這想象成是送禮物。在區塊鍊上,每筆交易都是一個單獨的禮物,被放在不同的盒子裡。這樣一來運費就會非常高,因為每寄出一個禮物就需要支付一筆運費。而rollups則是将許多禮物放到一個大盒子裡,隻需付一次運費即可,每個禮物可以分攤運費。

如果要用更技術性的語言來解釋,那就是rollups将原始交易資料打包成calldata。Rollup交易的驗證方式與鍊上交易不同,交易資料被打包隻是為了将資料儲存在底層區塊鍊上,驗證節點或rollup參與者如果有需要的話随時可以重建Layer 2網絡的狀态。然而,核心邏輯仍然沒有改變,即:主鍊上的一個打包交易中儲存了多筆rollup交易。

一文讀懂Layer 2

這樣可以有效降低交易成本,并為區塊鍊擴容掃清障礙。而将資料壓縮還可以進一步降低交易執行成本。

Zk-rollups和optimistic rollups使用同樣的方式打包交易。

減少驗證節點數量

正如上文所述,Layer 2可以利用底層區塊鍊的安全保障和去中心化水準,我們下文中會詳細闡述。但這裡的核心概念是,Layer 2必須向底層區塊鍊送出某種證明,以證明其發起的狀态變更是有效的。

是以,rollups就可以減少Layer 2網絡中負責執行交易的驗證節點數量。驗證節點可以是獲得許可的實體,這些節點通常擁有更強大的硬體,以更快的速度和更低的成本來計算交易。之是以能做到這一點,是因為驗證節點不負責達成共識,共識是由底層區塊鍊達成的,底層區塊鍊上的智能合約需要驗證Layer 2送出的證明。

證明對于Layer 2的安全性至關重要

“證明”對于Layer 2來說至關重要,因為Layer 2需要通過送出證明來利用底層區塊鍊的安全保障。在現實世界中,證明可以是多種形式的,比如武器上的指紋或者監控錄像都可以是證明。

加密證明也差不多,隻是内容比法庭上的證據更客觀。利用加密技術來證明某事,可以保障其客觀性、可驗證性以及防篡改性。如果證明有效,那就可以百分之百保證真實性。比如上文提到的支付通道,對交易附上加密簽名就可以為智能合約提供确定性的權威事實,解決任何分歧。

每個Layer 2網絡都需要提供某種加密證明,以解決底層區塊鍊上的分歧。如今最主流的兩種證明方式是錯誤性證明(fault proof)以及有效性證明(validity proof,也稱“零知識證明”)。這兩種證明方式是optimistic rollups和zk-rollups的底層技術。

支付通道簽名消息

假設在關閉支付通道時,Bob或Alice發起惡意攻擊,并試圖取走不屬于自己的資金。他們中任何一個人都可以向智能合約發送一個之前版本的支付通道“賬本”。

支付通道的關鍵是每筆交易都必須附上加密簽名。這可以為底層區塊鍊上的智能合約提供證明,以解決分歧。比如,如果Alice送出了過期的賬本副本,拿走了不屬于她的那部分錢,那麼Bob就可以對結算交易發起挑戰,并送出最新的賬本副本。然後,智能合約就可以判定正确的金額。而且Alice還會因為不誠實的行為被罰款。

由于底層區塊鍊智能合約會進行裁決,是以支付通道也是一種Layer 2方案。一個簡單的評判方法就是看有沒有“證明”。支付通道建立後,Bob和Alice都必須對他們發起的每一筆交易附上簽名,并儲存一份對方的簽名。

這就是支付通道中交易的證明。但光有證明還不夠,還需要執行事實,這很像法官在得到證據和陪審團審議結果後做出裁決的過程。同樣地,智能合約也會執行判決結果,将正确的金額打到各方在底層區塊鍊上的錢包中,以進行結算。

這就是上文中提到的“利用底層區塊鍊的去中心化水準和安全保障”。支付通道将大部分計算和執行都放到鍊下處理,但在最後結算時,還是會利用底層區塊鍊強大的共識層來作出最終裁決。

Optimistic Rollups的錯誤性證明

錯誤性證明其實很簡單。采用這種證明方式的Layer 2網絡會預設所有交易都是有效的。然而,網絡會設定一個挑戰期,任何參與者都可以發起挑戰,并向智能合約送出證明,表明交易資料或狀态變更是錯誤的。當錯誤性證明釋出後,rollup交易會部分或全部在鍊上重新計算一遍,最終的狀态變更會跟原來的結果進行比較。如果重新計算的結果不一樣,原來的結果将被認為是無效的,并被撤回。

這就是目前optimistic rollups采用的機制。“optimistic”中文意思是“樂觀的”,其代表了一種樂觀的哲學視角,即:智能合約“樂觀地”預設所有交易都是有效的,除非有人提出異議(疑罪從無)。回到剛剛說的那個不誠實驗證節點的例子。任何網絡參與者隻需要在挑戰期内向智能合約送出有效的錯誤性證明即可,一旦證明無誤,驗證節點的行為就會廢棄。

一文讀懂Layer 2

zk-rollup的有效性證明

有效性證明則是另一種截然不同的哲學視角,預設所有計算結果都是存疑的,必須先被證明才能接受。

簡而言之,有效性證明的作用是證明某件事是正确的。對于zk-rollup來說,證明的就是Layer 2網絡中的交易和計算。是以,底層區塊鍊上的智能合約可以驗證Layer 2網絡送出的有效性證明,以準許狀态變更。對于驗證節點來說,功能完備的zk-rollup将不允許任何錯誤的交易在底層區塊鍊上結算,因為每一批交易都必須附上相應的有效性證明。

一文讀懂Layer 2

Layer 2主流項目

Optimistic Rollups主流項目

Arbitrum

Arbitrum 是ETH的 L2 擴充解決方案,提供一系列獨特的優勢:

無信任的安全性:基于ETH的安全性,任何一方都可以確定正确的第 2 層結果;

與ETH的相容性:能夠運作未經修改的 EVM 合約和ETH交易;

可擴充性:通過從主網上分離合約處理和存儲來實作,允許大幅提高吞吐量;

最低成本:開發和建構以減少系統的 L1 Gas,降低每個交易成本。

Optimism

Optimism 是由ETH開發者為ETH開發者建構的快速、穩定、可擴充的 L2 區塊鍊。

作為對現有ETH軟體的最小擴充,Optimism 的 EVM 等效架構可以擴充ETH應用程式。

那些應用既可以在ETH上運作,也可以在 Optimism 上運作,而成本隻是其中的一小部分。

ZK-Rollups 主流項目

zkSync

zkRollups被認為是L2最有前途的解決方案之一,而zkSync是zkRollups領域的龍頭項目。

zkRollups有一個有趣的設計特點,即處理的交易越多,就越便宜。它颠覆了區塊鍊的三難困境。

Immutable

據Immutable Pundi官網介紹,Immutable Pundi每秒鐘最多可處理超過9000筆交易,交易在極短時間内被确認,使用者不需要為交易支付Gas費。這一設計解決了ETH網絡上交易NFT時确認時間長、Gas費高的痛點。除此之外,Immutable Pundi具有Volition模型、中繼資料交易和碳中和NFT交易等獨特的設計。

StarkNet

StarkNet 是 zkVM ZKR,由于為虛拟機設計了全新的 Cairo 語言,是以對ETH原生開發者具備一定開發門檻。近期實作了 Rust-VM,極大降低了熟悉 Rust 語言的開發者在 StarkNet 上開發應用的門檻。據悉,目前在 StarkNet 上有 120+ 項目,大多部署在測試網,可能在今年第四季度或者明年上半年,會看到大量的應用部署到 StarkNet 主網上。

Scroll

Scroll号稱最相容EVM的zk-Rollup。目前在zk-Rollup賽道,還存在兩個普遍的問題:一是zk-Rollup目前僅支援支付、轉賬等較為簡單的功能,尚未支援通用的功能;二是尚未建立起去中心化的驗證網絡。Scroll的解決方案就着力于這兩個方面。

Polygon Hermez

Hermez在Polygon家族中也被稱為Polygon zkEVM,是第一個開源 zk-Rollup,為無摩擦的使用者體驗和ETH的安全性提供完整的 EVM 操作碼等效性。

Loopring

Loopring是ETH Layer2的zk-Rollup協定,用于可擴充、安全的DeFi和NFT應用程式。Loopring在Layer2之上建構了非托管的高性能産品,包括移動的ETH智能錢包Loopring錢包,和Loopring L2網絡應用的L2訂單簿和AMM DENPXS。

總結

支付通道、rollups和Layer 2都屬于區塊鍊擴容方案,都具有長遠潛力,可以為Web3應用發展提供助力,并提升使用者體驗。

Layer 1和Layer 2等大多數Web3技術棧都才剛剛起步,還需要不斷發展。這些技術目前還沒有達到爆發點,仍需要經曆一系列實戰檢驗來證明自己。然而,無數開發者和研究者都在通過不懈努力擴充區塊鍊生态并開發DAG和Layer 2方案,以推動Web3實作主流應用。

繼續閱讀