隨著其他 L1 公鍊和 L2 的交易活動日漸增長,跨鍊和跨 rollup 的需求也大大增加。而這便使得橋接產生一種” 反網絡效應 “:當交易活動不多時網絡就會非常安全;當交易多起來了,風險就越大 (因為攻擊動機大大超過攻擊成本)。那麼跨鍊和跨 rollup 的安全性有什麼區別?在本文中,Vitalik 提出了” 共享安全性 “ (shared security) 這一概念,並且基於此對各種跨鍊和跨 rollup 活動分安全等級。

— 譯者註

原文:A quick reminder of what "shared security" means and why it's so important

作者: Vitalik Buterin

編譯: EthereumCN

封面: Photo by Shubham Dhage on Unsplash

當評估一條以某種方式 “連接” 到大型鏈的小型鏈時,大家最需要關心的一個問題是:

如果攻擊者能夠對小型鏈發起 51% 攻擊,這可以造成多大的損失?

這是一個非常現實和重要的問題,因為小型鏈往往比大型鏈小得多 (就市值而言)。並且對於攻擊者來說,買下小型鏈 51% 的代幣 (或至少 51% 的質押代幣) 往往是相當可行的,尤其是當有大筆的橋接資產存在那條鏈上時 (攻擊者能夠盜竊這些資產)。

  • 如果小型鍊是一條 ” 獨立的 L1“,攻擊者可以盜走一切資產。他們可以製作一個非法編輯狀態的區塊,將所有代幣發送給他們,然後他們就可以通過橋接提走這些代幣,而且在大型鏈上不會產生任何驗證。
  • 如果小型鍊是一條 ” 側鏈 “,攻擊者同樣可以盜走一切資產,原因同上。然而,側鏈的安全性比完全獨立的 L1 要稍微好點。因為側鏈的區塊頭會發佈在以太坊上,如此一來,如果以太坊回滾,側鏈也會回滾。這樣可以防止涉及以太坊 51% 攻擊的盜竊行為,然而不能阻止對側鏈進行 51% 攻擊。
  • 如果小型鍊是一個 "rollup",攻擊者可以延遲交易,這可能迫使用戶不得不支付 L1 費用,但他們**不能盜竊任何資產。**這是因為其中有一個鏈上機制 (欺詐證明或數據可用性證明),可以驗證小型鏈上涉及攻擊者提款的事件是否都有效。

一些更特殊的例子:

  • 如果小型鍊是一個 "plasma",攻擊者可以延遲交易並且迫使用戶支付 L1 費用,但他們同樣不能盜竊任何資產。
  • 如果小型鍊是一個 "validium",攻擊者可以永久地鎖定所有用戶的資產,但還是不能盜竊任何資產。Validium (如 Starkware 的 ImmutableX ) 因此成為一個有趣的折衷方案。Validium 沒有 rollup 那麼 “L2”,因為控制 validium 的人還是可以拒絕用戶訪問自己的資產並敲詐他們,但不管怎麼樣 validium 還是比側鏈要安全得多。更重要的是,validium 同時可以達到側鏈的可擴展性。

這就是我們所說的” 共享安全 “。如果你在小型鏈上持有資產並進行一些交易,那麼和在大型鏈上做同樣的事情相比,你的資產是否一樣安全,還是沒那麼安全?**結論是:如果是在 rollup 或者 plasma 上,資產共享主鏈的安全性;如果在一個獨立的 L1 或是側鏈上,資產的安全性就比主鏈低得多;如果在 validium 上,其安全性就在這兩者間。

還要注意的是,參考我在 EF 第七次 AMA 中提到的一些原因,很多東西實際上是對稱的:如果你持有 ETC,那麼你在一個基於 ETC 構建的 ZK rollup 上持有它比你在以太坊上持有封裝的 ETC 要好 (儘管這個橋接是以太坊共識的一個完美的 ZK-SNARK 驗證器)。並不是說你需要盡可能地在最大的鏈上進行交易活動。而是說,你進行交易活動所在的區域與你所使用的資產最初發行的區域都屬於同一個” 共享安全區 “ ( shared security zone )。其中,” 共享安全區 “  可以理解為” 某條鏈”,並且所有其他鏈 (如 rollup) 的安全性最終都由該鏈提供保障。

Vitalik 在 EF 第七次 AMA 中的相關回答如下:

我之所以對多鏈的區塊鏈生態系統保持積極態度 (確實有一些獨立的社區具有不同的價值觀,對於它們來說,獨立發展好過全部都就同一件事情的影響力而爭奪),而對跨鏈應用保持消極態度,一個關鍵原因就是橋接具有根本性的安全限制。

為了理解為什麼橋接具有這些限制,我們需要看看區塊鍊和橋接的各種組合是如何抵禦 51% 攻擊的。很多人都有這樣的心態:“如果區塊鏈受到 51% 攻擊,整個系統就會崩潰,所以我們需要花費所有力氣來預防 51% 攻擊,哪怕是一次也不允許。” 我非常不同意這種想法;事實上,區塊鏈即使在受到 51% 攻擊後,也能維持許多保證,而維持這些保證非常重要。

舉個例子,假設你在以太坊上持有 100 枚 ETH,當以太坊受到了 51% 攻擊時,一些交易會被審查和/或被撤銷。那麼無論發生什麼,你依然擁有那 100 枚 ETH。即便是發起 51% 攻擊的黑客也無法提議一個搶走你的 ETH 的區塊,因為這樣的區塊會違反協議規則,所以會被網絡拒絕。即使 99% 的算力或質押份額想要發起攻擊來搶走你的 ETH,每個運行節點的人都只會跟隨剩下的 1%,因為只有它們的區塊遵循協議規則。更普遍地說,如果你在以太坊上有一個應用,那麼通過發起 51% 攻擊可能會在一段時間內審查或回滾應用的交易,但最終獲得的是一致的狀態。如果你持有 100 枚 ETH,然後在 Uniswap 上將之換成 32 萬枚 DAI,那麼就算區塊鏈以某種瘋狂的方式被攻擊了,最終你還是會獲得一個合理的結果:要么還是持有 100 枚 ETH,要么得到那 32 萬枚 DAI。也就是說,兩者都沒有獲得 (或兩者都獲得) 的結果實際上違反了協議規則,是不會被網絡接受的。

現在,想像一下,如果你向 Solana 上的某個橋接轉 100 枚 ETH 並獲得 100 個 Solana-WETH,隨即以太坊受到了 51% 攻擊。攻擊者在 Solana-WETH 封裝合約中存入一筆自己的 ETH,然後等到 Solana 網絡上確認了這筆交易之後,就立即在以太坊網絡回滾存款交易。Solana-WETH 合約現在不再可以完全恢復,也許你的 100 Solana-WETH 現在只值 60 個 ETH。即使有一個基於 ZK-SNARK 的完美橋接可以完全驗證共識,它仍然很容易受到這樣的 51% 攻擊。

因此,在以太坊上持有以太坊原生資產或在 Solana 上持有 Solana 原生資產總是比在 Solana 上持有以太坊原生資產或在以太坊上持有 Solana 原生資產更安全。在這個語境下的 “以太坊” 不僅指以太坊 L1 基礎鏈,還包括基於它構建的任何 L2。也就是說,如果以太坊受到 51% 攻擊並且交易回滾了,Arbitrum 和 Optimism 上的交易也會回滾。因此,即使以太坊受到 51% 攻擊,在 Optimism 和 Arbtirum 上持有狀態的 “跨 rollup” 應用也能保證保持一致。而如果以太坊沒有受到 51% 攻擊,就沒有辦法分別對 Arbitrum 和 Optimism 進行 51% 攻擊。因此,持有在 Optimism 上發行然後在 Arbitrum 上封裝的資產依然非常安全。

然而當出現超過兩條鏈時,問題就比較嚴重了。如果有 100 條鏈,那麼這些鏈之間會出現許多相互依賴的 dapp。這時,哪怕對一條鏈發起 51% 攻擊都會造成系統性的風險,威脅到整個生態系統的經濟。這就是為什麼我認為相互依賴的區域有可能與主權獨立的區域會緊密聯繫 (因此,許多以太坊網絡的應用之間相互密切聯繫,許多 Avax 網絡的應用之間相互密切聯繫等等;而不是以太坊網絡和 Avax 網絡的應用之間相互密切聯繫)。

這也是為什麼 rollup 不能直接 “使用另一個數據層”。如果某個 rollup 將其數據存儲在 Celestia 或 BCH 或其他任何地方,但處理的是以太坊的資產,那麼如果這一層受到了 51% 攻擊,用戶就完蛋了。就算 Celestia 的數據可用性採樣 (DAS) 可以抵禦 51% 攻擊,實際上也並不能幫到你,因為以太坊網絡並沒有讀取這個 DAS;相反,以太坊網絡讀取的是橋接上的信息,而橋接恰恰很容易受到 51% 攻擊。作為一個 rollup 想要為使用以太坊原生資產的應用提供安全性,必須使用以太坊數據層 (對於任何其他生態系統也是如此)。

當然,我不會說這些問題會隨時出現。僅僅對一條鏈進行 51% 攻擊都很困難且成本高昂。然而,使用跨鏈橋接和上面的應用的用戶越多,問題就越嚴重。沒有人會為了盜竊 100 枚 Solana- WETH 去攻擊以太坊 (或者說為了盜竊 100 枚 Ethereum-WSOL 去攻擊 Solana)。但是如果橋接上有 1000 萬 ETH 或 SOL,那麼發起攻擊的動機就會更強,一些大型的資產池會使得這些攻擊更容易發生。所以跨鏈交易活動具有一種反網絡效應:當交易活動不多時網絡就會非常安全;當交易多起來了,風險就越大。

但這不會令上述分類產生變化;這只會讓分類更加廣泛,因為即時以太坊本身收到 51% 攻擊,這些安全方面的差異仍然存在。

一些更加具體的例子:

這是因為 (Ethereum、Optimism、Arbitrum、ZkSync 和 rollup 模式的 StarkEx) 在一個相同的” 共享安全區 “ 中 (因為後四者最終都由以太坊提供安全保障,或者至少在欺詐證明移除所有臨時的軟件後門程序而實現完全啟用之後,很快便如此)。但是 Avalanche 和 Ethereum Classic 很顯然沒有與以太坊共享安全性,並且永遠也不會。

而在 BSV 上使用 BSV 也不安全 (儘管兩者在同一個共享安全區,也就是它自己),因為 BSV 是一條脆弱的 PoW 鏈,很容易被無聊的 BTC/BCH 礦工攻擊。並且 BSV 的區塊太大,令用戶無法驗證 (且沒有任何計劃添加分片/ZK-SNARK/DAS 技術來解決這個問題)。所以當有人對 BSV 進行 51% 攻擊時,攻擊者可以直接發起無效區塊,而用戶可能別無選擇,只能接受這些區塊。

ECN 的翻譯工作旨在為中國以太坊社區傳遞優質資訊和學習資源,文章版權歸原作者所有,轉載須註明原文出處以及 ethereum.cn,若需長期轉載,請聯繫 eth@ecn.co 進行授權。

免責聲明:作為區塊鏈信息平台,本站所發布文章僅代表作者及嘉賓個人觀點,與 Web3Caff 立場無關。文章內的信息僅供參考,均不構成任何投資建議及要約,並請您遵守所在國家或地區的相關法律法規。