在密碼學貨幣產業,每當牛市開啟,就會有鋪天蓋地的虛假消息。許多側鏈項目會誤導用戶相信它們是名正言順的Layer 2 可擴展性解決方案。本文旨在向初學者說明什麼樣的區塊鏈才是 Layer2。因此,為便於讀者理解,完整性和嚴謹度不免有所犧牲。本文源自於 Gourmet Crypto《Layer-2 for Beginners》,由專欄作者 以太坊愛好者 編譯、撰寫及整理。
(前情提要:形塑未來金融!「Synthetix質押功能」成功上線以太坊的 Layer2 主網 Optimism)
(事件背景:以太坊 2.0 大幕揭開下, 第二主角 Layer 2 — 以 Rollup 最有望被普遍採用)
通常來說,Layer 1 區塊鏈具有更高的安全性和流動性,Layer 2 區塊鏈則依賴 Layer 1 區塊鏈為其提供安全性和流動性。如果你是初學者,尤其是剛入行的小白,請先跟我看一個簡單的例子。
假設你在以太坊區塊鏈上有100 Dai,你的 Metamask 上也顯示如此。
但是,Metamask 是怎麼知道的?因為它通過 Infura(以太坊節點即服務提供商)與以太坊點對點網路進行通信。
但是,擁有 100 Dai 究竟意味著什麼?它意味著,Dai 合約(運行在以太坊區塊鏈上的、由程式碼和數據組成的軟體)有你的地址(如你在Metamask中所見的那樣),地址旁邊顯示的數值是 100。
再回到如何辨別新的區塊鏈是否是 Layer 2 這個問題上。
定義 Layer 2
假設有條新的區塊鏈叫作 Macau。出於某種原因(想要買某個東西,以更低的 gas 價格交易或獲得某種體驗),你想將你自己的 100 Dai 從以太坊轉移到Macau 鏈上。
你會如何將這100 Dai轉移到Macau上?
發送一封郵件給 Vitalik 的 Masternode,讓他幫你轉移嗎?當然不是,你其實是將你的 100 Dai 發送到以太坊區塊鏈上的另一個合約,也就是通常所說的「存款」合約(好比賭場的存款窗口)(譯者註:實際上是在 Dai 合約內將 100 Dai 從你的帳戶中轉出、然後轉入另一個帳戶;但正如作者所說,這是為了便於理解)。
- 第一步:將 100 Dai 發送到 Macau 在以太坊區塊鏈上的存款合約。
Macau 鏈的驗證者/礦工可以看到你的存款,因為他們一直在監控以太坊區塊鏈,尤其是 Macau 的存款合約。
這時,其中一位驗證者/礦工告訴其他人:「嘿!大家快來看啊!有客戶上門了!快乾活!」
接著又對你說:「歡迎你,很高興你能加入我們。這是你的 100 個合成Dai,是我剛剛挖出/驗證的 Macau 區塊裡的,希望你玩得開心。」
- 第二步:你已經從 Macau 獲得了100 張借據(好比是賭場籌碼)。
憑這些借據,你可以取回你在以太坊上的存款合約中鎖定的 Dai。我們稱這些借據為合成 Dai(簡稱sDai)。
所謂的「進入Macau」,實際上是你所在的某個網站上的一些 Javascript 腳本在與 Macau 的點對點網路通信。
這就好比,當你在 Aave 網站上借貸或 Uniswap 網站上交易時,你「進入了以太坊」:這些前端上的Javascript 腳本為你創建了借貸/兌換交易,然後通知你的 Metamask。看到 gas 費之後,你嚶嚶嚶了 5 分鐘,才點擊「確認」來簽署並廣播你的交易。你很熟悉這個流程。
Macau 也是一樣。如果Macau 是以太坊的分叉(就像幣安的 BSC 🤢 或 Avalanche 的 C-Chain 🤮),那麼整個流程實際上也差不多,因為你只需要使用 Metamask,不需要使用專屬錢包來簽署創建好的交易(因為以太坊/BSC 等區塊鏈均採用相同的地址格式和密碼學簽名機制)。
- 第三步:將Macau 上的100 sDai 用於交易、流動性挖礦、投資等。
假設你玩德州,將 100 sDai 的本金翻倍變成了200 sDai(這多出的 100 sDai 是你從對手那裡贏來的,他們也在以太坊上的 Macau 存款合約中鎖倉了一筆 Dai)。
注意了,現在是最關鍵的部分👏:
這時,考慮到安全性和流動性(或者不在乎那千把塊美元的 gas 費),你想取回本息並放到以太坊上。如果你隨時隨地都能從 Macau 存款合約(再強調一次,這個合約在以太坊區塊鏈上)中取回200 Dai,且沒人能阻止你(只有當滿足這兩個條件時),Macau 就是 Layer 2 區塊鏈🎉🍾。
如果從理論上來說 Macau 的驗證者可以阻止你取回 200 Dai,或直接偷走它們(自己取走),Macau 就不是Layer 2 區塊鏈,而是側鏈🤮。
如果從理論上來說你可以取走更多資金(如300 Dai),Macau 就不是 Layer 2 區塊鏈。
當我們提及可擴展性方案時,最終總會回到「誰控制出口」這一問題上?
Rollup 方案
如何將以太坊上的存款合約變得更加智能,來防止你、其他 Macau 用戶以及 Macau 的礦工/驗證者/運營方作弊呢?
可以想像得到,這並非一件容易的事,因為這需要存款合約能夠實時了解 Macau 上的資金流向:假設 1 小時前你在 Macau 上玩德撲贏了 100 sDai,你就可以提取 100 Dai 到以太坊上,但是你可能在下一局就把這筆錢輸掉了!因此,合約要能了解所有這些情況,以及 Macau 的最新狀態。
狀態通道和 plasma 等早期解決方案的做法是:將欺詐聲明和爭議解決邏輯編程到 Layer 1 上的存/取款合約中。但是,它們都給用戶造成了沉重的負擔,例如:
- 用戶必須時刻在線監控以太坊上的 Layer 1 合約,以便挑戰/制止/懲罰威脅其資產的惡意取款行為。
- 用戶必須存儲提出爭議所必需的數據。在狀態通道方案中,這個數據通常是對手方的簽名,用來證明通道中的狀態變化(例如,「Alice:我保證向 Bob 支付 10 Dai」或「Charlie:我保證將車移動到棋盤上的H5」 )。
- 只針對plasma:用戶容易受到兩方面影響
- (a)需要存儲的數據大量增加,因為用戶所需數據是 plasma 鏈全局狀態的一部分,而不只是狀態通道的對手方的數據
- (b)數據扣留攻擊(data withholding attack),即,plasma運營者(區塊生產者)試圖進行惡意取款,同時扣留用戶發起挑戰所需的數據。這進一步提高了Layer 1上取款安全性邏輯的複雜性。
直到 rollup 方案出現,才真正解決了這些棘手的問題。
rollup 要求用戶退出時所需的一切數據都能在 Layer 1 上獲得。每當 Layer 2 上的狀態變化時,rollup 運營者都會在 Layer-1 上披露導致本次狀態變化的事務數據。
因此,Layer 2 上的執行和 Layer 1 上的數據更新是同步的。如果你想要了解更多關於rollup的資訊,請閱讀這些文章:入門、進階、高階(zk-rollup)和高階(optimistic rollup)。
rollup 方案通過數學方法(ZKRU)或密碼學貨幣經濟(ORU)保障來確保所有相關參與方都是誠實的。
延伸閱讀:乾貨|深入理解 OVM (Optimistic Rollup):兼容 EVM、以太坊Layer 2擴容方案大躍進
如果 rollup 運營者消失或開始搗亂【濫發信息、審查或(在optimistic rollup 方案中)實施欺詐】,用戶總是可以使用 Layer 1 上的數據來安全地取走資金。
這些數據都存儲在以太坊 Layer 1 上的 rollup 合約中,因此用戶唯一需要信任的就是 Layer 1 會誠實地執行這些合約(其它 Layer 1 合約也採用同樣的信任假設,如 MakerDao MCD 和 Aave 等)。
正文結束🤝。
注1:其它 Layer 1 鏈,如NEAR、Polkadot 和 CosmosHub 等,也可以成為以太坊的 rollup。它們只需要創建一個遵守 rollup 設計模式的橋樑,並將必要的數據發佈到以太坊上,就像其它 rollup 所做的那樣。
注2:ZK Rollup方案採用有效性證明來證明 rollup 狀態更新的正確性。每當rollup狀態更新,有效性證明都會在 Layer 1 上驗證。因此,這類方案可以杜絕欺詐行為。但是,數據還是要發佈到鏈上。這樣一來,如果rollup運營者消失,用戶依然能夠使用數據來自行提交取款請求。
注3 :比特幣可以有Layer 2 嗎?
不行。比特幣缺少編程元件和狀態管道系統,無法創建複雜的 Layer 1 合約來處理爭議 和/或 驗證有效性證明 。當然了,你也許聽到過,使用某某比特幣側鏈無需放棄代幣所有權之類的說法,千萬別信這些虛假營銷 。
那閃電網路呢? 閃電網路僅僅在理論上是 L2。但實際上,普通用戶幾乎都要信任一個第三方來監控整個系統,也就是說實踐中它並不是L2。
Rollup 是唯一可以保證用戶高枕無憂的 Layer 2 可擴展性方案,因為資金出口被以太坊 Layer 1 牢牢控制住了。
說回側鏈
如果 rollup 有這麼神奇,那為什麼有人會選擇創建一個(a)需要額外的信任假設和(b)過去7年來始終得不到市場認可的側鏈 ?
側鏈之所以苟延殘喘,是因為這類方案很容易構建。很多項目方只是草草構建出一個側鏈,就可以拿風投🤡,然後發行代幣。
實際上,只需要一下午時間,你就可以構建出一條以太坊側鏈:
你只需要在以太坊上構建一個類似智能錢包的基礎合約讓人們能夠存入資金,然後分叉Geth(為你的側鏈選一個新的鏈ID 並重新構建即可)……瞧!這不就差不多了……
呃,好吧,還差一點……你還得僱一些水軍,再請平面設計師設計一個高大上的網站……不過很多風投機構想必都很樂意幫你一把,它們可以部署大量機器人。
一些騙子會忽悠你說側鏈就是 Layer 2方案,更有甚者還會宣傳說他們的側鏈比 rollup 更安全。然而,說到底,這只是一個很簡單的問題:
資金出口由誰控制?在rollup方案中,資金出口是受到控制的,並由以太坊 Layer 1 的 EVM 保護。
本文要點
- 目前,凡是宣稱 tps 超過 2,000 並以可擴展性項目為賣點的鏈都很可能是側鏈,需要用戶作出一些未公開的信任假設。
- 等到 Eth2 數據分片上線後,Rollup 的 tps 可能會達到 1 萬以上。這類方案對數據的需求量很大。
Rollup 是唯一不需要用戶做出額外的信任和/或活性假設的 Layer2 可擴展性解決方案。 - 側鏈之所以存在至今,是因為這類方案可以在 1 小時內構建出來,通常是為了募集資金並發行代幣。
在使用一條鏈之前,請檢查資金出口以及你必須做出的信任假設,從而- (a)確保這條鏈是安全的,以及
- (b)你可以安全取回資金。項目方通常會使用很多營銷話術和荒謬的論調來掩蓋項目為提高性能而在安全性方面做出的權衡。
- 其它 Layer 1 鏈可以充當以太坊的 rollup,它們只需要遵循 rollup 的設計模型,並將必要數據發佈到以太坊上即可。
- 沒有活性假設的 Layer 2 無法構建在比特幣上,因為它缺少必要的編程元件和狀態管道系統來獲得 Layer 1 的安全性保障。
📍相關報導📍
V神:以太坊 Rollups「快來了」!無須分片就可擴容百倍,最高達4,000TPS
乾貨|DeFi 擁堵救星?彙整以太坊 Layer2 的常見方案和主要進展
讓動區 Telegram 新聞頻道再次強大!!立即加入獲得第一手區塊鏈、加密貨幣新聞報導。
LINE 與 Messenger 不定期為大家服務