科普 | 以太坊 Layer 2 擴容方案及用例綜述

來源 :ethereum.org
編輯:南風


Layer 2 是一系列鏈下擴展性解決方案的總稱,這些解決方案旨在通過在以太坊 (Layer1) 鏈下處理交易來幫助應用實現擴展。當以太坊網絡繁忙時,交易速度會受到影響,這可能會導致某些類型的 Dapps 的用戶體驗較差。隨着網絡越來越繁忙,Gas 價格也隨着交易發送方 競相出價 而上漲。這可能會導致使用以太坊變得非常昂貴。
 
本文假設你對一些基本知識有着很好的理解。實現 Layer 2 解決方案是先進的技術,該技術的戰場考驗還較少
 

爲何需要 Layer 2?

  • 對於一些用例 (比如區塊鏈遊戲) 而言,當前的交易處理所需時間是行不通的;
  • 使用基於區塊鏈的應用 (apps) 可能會非常昂貴;
  • 任何對可擴展性的改進都不應該以犧牲安全性和去中心化爲代價 ––  Layer 2 構建於以太坊之上。
 

Layer 2 解決方案的類型

  • Rollups
    • ZK Rollups
    • Optimistic Rollups
  • 狀態通道 (State channels)
  • Plasma
  • Validium
  • 側鏈
  • 混合方案
 
大多數 Layer 2 解決方案都以某個服務器或服務器集羣爲中心,每個服務器都可以被稱爲一個節點,驗證者,運營者,區塊生產者,或者其它類似的術語。根據實現方式的不同,這些 Layer 2 節點可能由使用它們的企業或實體、或由第三方運營商、或由一大羣個人 (類似於以太坊主網) 運行。
 
一般來說,交易會被提交給這些 Layer 2 節點來處理,而不是直接提交到 Layer 1 (主網);然後,Layer 2 實例會將交易分批成組地錨定到 Layer 1 上,之後這些交易就被 Layer 1 保護且無法再被更改。根據不同的 Layer 2 技術及其實現的不同,這方面的具體實現細節也有很大的不同。
 
某個特定的 Layer 2 實例可能對許多應用 (apps) 開放和共享,或者可能僅由某個公司部署並專門用於支持該公司的應用。


01

Rollups

Rollups 是在 Layer 1 之外執行交易,但在 Layer 1 上發佈交易數據的解決方案。由於交易數據位於 Layer 1 上面,這使得 Rollups 受到了 Layer 1 的保護。
 
Rollups 的關鍵特徵是:繼承了以太坊主鏈 (Layer 1) 的安全屬性,同時在 Layer 1 之外執行交易
 
Rollups 的三個簡化特性如下:
 
  1. 在 Layer 1 之外執行交易;
  2. 在 Layer 1 上發佈交易數據或證明;
  3. 部署在 Layer 1 上的某個 Rollup 智能合約,通過使用 Layer 1 上的交易數據能夠確保 Layer 2 交易被正確地執行。
 
Rollups 要求運營者在 Rollup 智能合約中質押一筆保證金,這樣就激勵了運營者正確地驗證和執行交易。
 
Rollups 可用於:
 
  • 爲用戶減少交易費;
  • 開放式參與;
  • 快速的交易吞吐量。
 
當前有兩種具有不同安全模型的 Rollups:
 
  • ZK Rollups:在鏈下運行計算,並向主鏈提交有效性證明 (validity proof);
  • Optimistic Rollups:默認情況下假定交易是有效的,僅在遇到挑戰 (challenge) 時,通過欺詐證明 (fraud proof) 運行計算。
 

1. ZK Rollups

 
ZK Rollups,全稱 Zero Knowledge Rollups,會將數百筆交易在鏈下 (Layer 2) 進行捆綁打包,並生成一個稱爲SNARK(簡潔的非交互式零知識證明)的加密證明。這就是所謂的有效性證明 (validity proof),該證明會被提交和發佈在 Layer 1 上面
 
部署在 Layer 1 上的 ZK Rollup 合約會維護所有發生在 Layer 2 上的交易轉移狀態,該狀態只能通過有效性證明才能進行更新。這意味着,ZK Rollups 只需要有效性證明,而不需要所有的交易數據。通過 ZK Rollup,驗證區塊將變得更快、更廉價,因爲被打包的數據更少了
 
使用 ZK Rollup 時,當資金從 Layer 2 轉移到 Layer 1 時不會出現延遲,因爲 ZK Rollup 合約此前接受的有效性證明已經驗證了這筆資金的有效性
 
我們還可以對使用 ZK Rollups 的側鏈進行優化,以進一步減少交易大小。比如,賬戶 (account) 可以由索引 (index) 而非地址 (address) 來表示,這樣就可以將交易大小從 32 字節減少到僅僅 4 字節;交易還可以作爲 calldata 被寫入以太坊,從而減少 Gas 使用量。
 

ZK Rollups 的優缺點

 
優點:
  • 當需要將資金轉移至主鏈上時,不會出現延遲,因爲有效性證明已經對資金進行了驗證;
  • 不像 Optimistic Rullops 那樣容易受到經濟攻擊的影響。
 
缺點:
  • 僅限於簡單的轉賬,不兼容於 EVM (以太坊虛擬機);
  • 有效性證明的計算強度很大,因此對於一些鏈上交易活動較少的應用而言,不值得采用此技術;
 

ZK Rollups 的用例

  • Loopring
  • Starkware
  • Matter Labs 的 zkSync
  • Aztec 2.0
  • ZeroSwap
  • Sushiswap
  • dYdX
  • Immutable X
 

2. Optimistic Rollups

 
Optimistic Rollups 與以太坊主鏈平行運行。Optimistic Rollups 可以在可擴展性方面提供改進,因爲默認情況下它們不進行任何計算。相反,在交易完成之後,它們會向主網提議新的狀態,也即對交易進行“公證”。
 
使用 Optimistic Rollops,交易將作爲 calldata (調用數據)被寫入以太坊主鏈,通過降低 Gas 成本來進一步對交易進行優化。
 
由於鏈上計算是導致以太坊緩慢、昂貴的原因,Optimistic Rollups 能夠根據交易類型提供 10-100 倍的可擴展性提升。隨着 Eth2 升級將引入分片鏈,這一數字將會進一步增加。這是因爲,當 Optimistic Rollup 鏈中的某筆交易存在爭議時,將會有更多的數據可用。
 

當交易存在爭議時

 
Optimistic Rollups 實際上並不會對交易進行計算,因此需要存在一種機制,以確保其中的交易是正當而非欺詐性的。這就是欺詐性證明 (fraud proofs) 發揮作用的地方。如果某人注意到了一筆欺詐性交易 (並提出欺詐證明)Optimistic Rollup 鏈將使用可用的狀態數據來校驗該欺詐證明並運行該筆交易的計算。這意味着,ZK-rollup 相比,Optimistic Rollup 可能有更長的交易確認等待時間,因爲交易可能會被挑戰

 
你在提交欺詐證明時計算所消耗的 Gas 甚至會被補償,也即你會因爲證明有欺詐行爲而得到補償。Optimism 團隊的 Ben Jons 描述了現有的保證金系統:
 

Optimistic Rollups 的優缺點

 
優點
  • 你在以太坊 Layer 1 上能做的任何事情,都可以在 Optimistic Rollups 上進行,因爲 Optimistic Rollups 兼容於 EVM 和 Solidity
  • 所有的交易數據都存儲在 Layer 1 鏈上,意味着 Optimistic Rollups 是安全和去中心化的。
 
缺點
  • 由於潛在的欺詐性挑戰,需要很長的交易確認等待時間
 

Optimistic Rollups 的用例

  • Optimism
  • Offchain Labs 的 Arbitrum Rollup
  • Fuel Network
  • Cartesi
  • Synthetix


02

通道 (Channels)


通道 (Channels) 允許參與者在鏈上只提交兩筆交易的情況下進行 x 次鏈下交易。這能夠實現極高的交易吞吐量。

 

可用於:
 
  • 大量的狀態更新;
  • 預先知道參與者的數量時;
  • 當參與者總是存在時。
 
參與者必須將一筆 ETH 存款鎖定在一個多籤合約中。多籤合約是一種需要多個私鑰簽名 (從而使各方達成共識) 以執行交易的智能合約類型。
 
鎖定存款就是基於這種方式的第一筆交易,以此來開通一個交易通道。之後,參與者就可以快速和自由地進行鏈下交易。當交互完成之後,一筆最終的鏈上交易會被提交,從而解鎖之前被鎖定的存款。
 

狀態通道 (State channels)

 
狀態通道的井字遊戲:
 
  1. 在以太坊主鏈上創建一個多籤智能合約“法官”,該合約理解井字遊戲規則,並可以識別 Alice 和 Bob 爲遊戲中的兩個玩家。這份合約持有 1 ETH 的獎勵。

  2. 然後,Alice 和 Bob 開始玩遊戲,開啓狀態通道。每一步操作都會創建一筆包含“nonce”值的鏈下交易,這意味着之後我們總是可以知道這些操作發生的順序。


  3. 當贏家產生時,Alice 和 Bob 通過向“法官”合約提交最終狀態 (比如交易列表) 來關閉該通道,這樣就付一交易費用。“法官”確保這一“最終狀態”由 Alice 和 Bob 雙方簽署,並等待一段時間以確保沒人會對這一結果的合法性發起挑戰,然後將 1 ETH 的獎勵發給 Alice。


目前有兩種類型的通道:
 
  • 狀態通道 – 如上所述;
  • 支付通道 – 經簡化的狀態通道,只處理支付。支付通道允許兩個參與者之間進行鏈下轉賬,只要他們的轉賬淨額不超過存入的代幣數量。
 

優缺點

 
優點:
  • 即時提款/主網結算 (前提是通道的參與雙方合作的情況下);
  • 可能實現極高的交易吞吐量;
  • 每筆交易有着最低的成本,有利於小額支付。
 
缺點:
  • 創建和結算通道的時間和成本 — 對於任意用戶之間偶爾的一次性交易來說不太好;
  • 需要定期查看通道網絡,或將此責任委託給其他人,以確保用戶資金的安全;
  • 必須在開啓通道時鎖定資金;
  • 不支持公開參與。
 

狀態通道的用例

  • Connext
  • Kchannels
  • Perun
  • Raiden
  • Statechannels.org


03

Plasma


Plasma 鏈是一條獨立的區塊鏈,錨定到以太坊主鏈,並使用欺詐證明 (類似於 Optimistic Rollups) 來仲裁糾紛。
 
Plasma 的優缺點
 
優點:
  • 高吞吐量,低交易成本;
  • 適用於任意用戶之間的交易 (如果兩個用戶都在 Plasma 鏈上,則每個用戶對沒有開銷);
 
缺點:
  • 不支持通用計算,只能支持基本的代幣轉移、兌換和其它一些交易類型;
  • 需要定期查看該網絡,或將此責任委託給其他人,以確保用戶的資金安全;
  • 依賴於一個或多個 Plasma 鏈運營者來存儲數據並根據請求提供服務;
  • 存在交易挑戰期,提款會被推遲了幾天。流動性提供者可以減輕這種情況,但存在相關的資本成本。
 

Plasma 用例

  • OMG Network
  • Polygon (前身爲 Matic Network)
  • Gluon
  • Gazelle
  • LeapDAO



04

Validium

 

Validium 使用像 ZK-Rollops 這樣的有效性證明,但數據並不存儲在以太坊的以太坊 Layer 1 主鏈上而是將 Layer 2 的交易數據存儲在鏈下。這可能實現每條 Validum 鏈每秒處理 10k 筆交易,多條 Validum 鏈可以並行運行。
 
Validium 的優缺點
 
優點:
  • 沒有取款延遲 (鏈上/跨鏈交易沒有延遲),從而提高資本效率;
  • 不會像基於欺詐證明的系統那樣容易受到某些經濟攻擊。
 
缺點:
  • 對通用計算/智能合約的支持有限;專門的語言要求。
  • 生成 ZK 證明需要較高的計算能力,對於低吞吐量的 Apps 來說,此方案是不划算的;
 

Validium 用例

  • Starkware
  • Matter Labs 的 zkPorter
  • Loopring

05

側鏈


側鏈 (sidechain) 是一條獨立的區塊鏈,它與主網並行且獨立運行。側鏈有自己的共識算法 (比如權威證明、DPoS委託權益證明、拜占庭容錯等等)。側鏈通過一個雙向橋與主鏈相連。

 

優缺點
 
優點:
  • 較成熟的技術;
  • 支持通用計算,兼容 EVM;
 
缺點:
  • 不那麼去中心化;
  • 使用單獨的共識機制,其安全性不受 Layer 1 保護 (因此從技術上來說,側鏈不是 Layer 2);
  • 一定數量的側鏈驗證者可以實現欺詐。
 

側鏈的用例

  • Skale
  • POA Network
  • xDAI

06

混合解決方案


結合多個 Layer 2 技術的最佳部分,並提供可配置的折衷方案。
 

用例

  • Offchain Labs 的 Arbitrum SCSC
  • Celer Network

延伸閱讀

  • Validium And The Layer 2 Two-By-Two — Issue No. 99

    https://www.buildblockchain.tech/newsletter/issues/no-99-validium-and-the-layer-2-two-by-two
  • Evaluating Ethereum layer 2 Scaling Solutions: A Comparison Framework

    https://medium.com/matter-labs/evaluating-ethereum-l2-scaling-solutions-a-comparison-framework-b6b2f410f955
  • Adding Hybrid PoS-Rollup Sidechain to Celer’s Coherent Layer-2 Platform on Ethereum

    https://medium.com/celer-network/adding-hybrid-pos-rollup-sidechain-to-celers-coherent-layer-2-platform-d1d3067fe593
  • Zero-Knowledge Blockchain Scalability

    https://ethworks.io/assets/download/zero-knowledge-blockchain-scaling-ethworks.pdf

 

狀態通道

  • EthHub on state channels

    https://docs.ethhub.io/ethereum-roadmap/layer-2-scaling/state-channels/

  • Making Sense of Ethereum’s Layer 2 Scaling Solutions: State Channels, Plasma, and Truebit   – Josh Stark, Feb 12 2018
    https://medium.com/l4-media/making-sense-of-ethereums-layer-2-scaling-solutions-state-channels-plasma-and-truebit-22cb40dcc2f4
  • State Channels - an explanation Nov 6, 2015 - Jeff Coleman

    https://www.jeffcoleman.ca/state-channels/

  • Basics of State Channels - District0x

    https://education.district0x.io/general-topics/understanding-ethereum/basics-state-channels/

 

支付通道

  • EthHub on payment channels

    https://docs.ethhub.io/ethereum-roadmap/layer-2-scaling/payment-channels/

 

ZK Rollups

  • EthHub on zk-rollups

    https://docs.ethhub.io/ethereum-roadmap/layer-2-scaling/zk-rollups/

 

Optimistic rollups

  • EthHub on optimistic rollups

    https://docs.ethhub.io/ethereum-roadmap/layer-2-scaling/optimistic_rollups/

  • OVM Deep Dive

    https://medium.com/ethereum-optimism/ovm-deep-dive-a300d1085f52

 

側鏈

  • EthHub on sidechains

    https://docs.ethhub.io/ethereum-roadmap/layer-2-scaling/sidechains/

  • Scaling Ethereum Dapps through Sidechains  - Feb 8, 2018 - Georgios Konstantopoulos
    https://medium.com/loom-network/dappchains-scaling-ethereum-dapps-through-sidechains-f99e51fff447



*本文首發於Unitimes App*

-END-

【發佈文章僅爲傳播更有價值的信息,文章版權歸原作者所有,其內容與觀點不代表Unitimes立場。本微信平臺出現的圖片均在互聯網收集而來,版權歸版權所有人所有,若版權者認爲其作品不宜供大家瀏覽或不應無償使用,請添加微信unitimes2018聯繫我們,本平臺將立即更正。】

來了就點個唄😘

本文分享自微信公衆號 - Unitimes(Uni-times)。
如有侵權,請聯繫 [email protected] 刪除。
本文參與“OSC源創計劃”,歡迎正在閱讀的你也加入,一起分享。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章