header-langage
简体中文
繁體中文
English
Tiếng Việt
한국어
日本語
ภาษาไทย
Türkçe
掃碼下載APP
Partnered With:

社區爭議:側鏈算不算L2?

閱讀本文需 27 分鐘
L2 的安全性依賴於以太坊;而側鏈的安全性與以太坊的不相關
原文標題:《 社區爭議:側鏈算不算 L2?》
原文來源:ETH中文站


本文總結了社區中對於 Polygon 側鏈與 L2 的相關爭議討論,並且翻譯了 Dankrad Feist 的文章《關於 51% 攻擊,大家都搞錯了什麼》以便讀者從中參考對這些爭議的解答。

 

5 月 16 日,以太坊擴容解決方案 Polygon 的市值躋身加密貨幣市值前 20,隨後 StarkWare 的聯合創始人 Uri Kolodny 轉推祝賀,但同時他強調:「Polygon 是側鏈,而不是 Layer-2。L2 的安全性依賴於以太坊;而側鏈的安全性與以太坊的不相關 (甚至更低)。」因此,社區圍繞 Polygon 到底是不是 L2 開始了激烈的討論。

 

針對 Uri Kolodny 的評論,Mihailo Bjelic 做了以下回復 [1]:

 

首先,Polygon 並不是一條側鏈,它是一套擴容解決方案。其次 (也是最重要的),默認 L2 比 PoS 側鏈 (我們的是提交鏈 commit chain) 更安全是絕對錯誤的。爲了解釋其中原因,我將簡單地比較一下 Polygon 的 PoS 鏈和 StarkWare 的 zkRollup 或者 Validium。

 

我們的 PoS 鏈的確有自己的驗證者集,但這是完全無需許可的,且質押金額已達到 28 億美元。此外,該實現已經經過了實戰測試 (1400 萬個區塊且零事故)。

 

然而 StarkWare Rollup 只有一個 PoA 運營者。這個運營者可能會宕機,搶跑、審查用戶的交易等。並且,它由 STARKs 提供安全性,這是一個全新的、未經過驗證的密碼學。至於 Validium,情況甚至更令人擔憂。DeversiFi 所使用的 Validium 方案還依賴於一小組 PoA 數據可用性節點。這些節點可以合謀,通過拒絕訪問數據來阻止任何或所有用戶提取資金。

 

考慮到上述情況,我認爲那種默認 L2s 比側鏈/提交鏈更加安全的想法是錯誤的。

 

針對 Mihailo Bjelic 的回覆,社區分別從三個角度進行了討論:1) Layer-2 與側鏈在安全性上的區別;2) Layer-2 能否達到與 Layer-1 一樣的安全性;3) Eth2 與側鏈在安全性上的區別。而對於社區上的困惑,以太坊基金會開發者 Dankrad Feist 發佈了文章《關於 51% 攻擊,大家都搞錯了什麼》[2](見下文),該文章基本上囊括了以上討論中的問題與解答。

 

1. 首先,關於第一個問題,Dankrad Feist 表示不贊同,他說 L2 確實更安全,因爲作爲 L2 必須提供與基礎層相同的安全性。而 PoS 側鏈具有較弱鏈 (通常是側鏈) 的安全性。[3]

 

James Prestwich 也參與了討論 [4]:「與側鏈相比,L2 需要更少新的安全假設,但其安全性並非與主網完全一樣。」他指出 L2 與側鏈相比,具有以下不同的特點:

 

 • 依賴於非審查 (欺詐證明) 

 • 依賴於新的密碼學和可信的設置 (有效性證明) 補充一點,Starks 不需要依賴可信的設置

 • 更高的硬件和帶寬需求

 


 

在下文中,Dankrad Feist 指出「側鏈不驗證有效性,僅驗證共識條件的絕大部分,並且其不具有數據可用性檢查。」關於側鏈的安全性問題,詳見文章中「側鏈如何運作?」那一部分。

 

2. 至於 L2 能否達到與 L1 一樣的安全性。Patrick McCorry 認爲 [5],L2 的目標是儘可能地接近 L1 的安全性,但想要完全一樣,是不可能的:

 

 • 欺詐證明不是尚方寶劍,尤其是當發佈欺詐證明的費用太高時,其安全性就更小了

 • 同樣的,零知識證明也不是萬能的,會出現排序者掉線以及 L1 無法應對大規模退出的情況

 

他還提到,L2 解決方案可以歸結爲以下四點:

 

 • 數據可用性 (委員會/rollup/等) 

 • 狀態轉換完整性 (零知識證明/欺詐證明) 

 • 提款完整性 (退出保證) 

 • 協議活性 (排序者的選擇)

 

這個混合的方案難以完全達到 L1 的安全性。

 



回到下面的文章,Dankrad Feist 解釋了「區塊鏈的安全模型」,以強調爲何 L1 的安全性如此難達到。

 

3. 那麼 Polygon 的 PoS chain 與 Eth2 的 PoS 機制對比呢?在討論中,Dankrad Feist 指出 [5],在長期發展來看,PoS 側鏈會是一個很大的隱患。在 Eth2 中我們儘量移除大多數誠實假設,然而 PoS 橋接並不能做到。

 

以下是文章內容:


關於 51% 攻擊,大家都搞錯了什麼

 

請大家原諒標題中的挑釁意味。顯然,並不是每個人都會誤解 51% 攻擊,但還是有相當一部分人沒有搞清楚,因此寫一篇相關的文章並無壞事。

 

區塊鏈圈內大概有一個神話:只要有人控制了比特幣、以太坊或者其他區塊鏈的超過 50% 的算力,那麼 ta 就可以對網絡做任何事。在 PoS (權益證明) 機制中,只要有人聚集了質押總額的 2/3,ta 同樣可以對網絡做任何事情。ta 可以轉走別人的資產,隨意發行代幣等等。

 

這種想法是錯誤的。以下是 51% 攻擊可以做的事情:

 

 • 攻擊者可以阻止用戶使用區塊鏈,即,攔截任何他們不喜歡的交易。這叫做審查。

 • 他們可以回滾區塊鏈的交易,即撤銷一定數量的區塊並更改其中的交易順序。

 

他們不能做到的是:更改系統的規則。這意味着:

 

 • 他們不能簡單地在區塊鏈系統規定之外發行新代幣;例如,比特幣目前爲每個新的區塊生產者 6.25 BTC;他們不能將這個數字變成 100 萬比特幣

 • 如果他們沒有某個地址的私鑰,他們就不能使用該地址的代幣

 • 他們生產的區塊不能比共識規則規定的大

 

這並非說明 51% 攻擊的後果不嚴重,這仍然是十分惡劣的攻擊。重新排序交易可以造成雙花,這是非常嚴重的問題。但他們能做的事情仍然有侷限性。

 

那麼包括比特幣和以太坊的大多數區塊鏈,他們現在如何確保這一點?如果有一名礦工挖出了違法共識規則的區塊會如何?或者,如果絕大部分質押者對一個違反共識規則的區塊簽名會發生什麼?

 

區塊鏈安全模型

 

有時人們聲稱最長鏈爲有效的比特幣或者以太坊鏈。這個說法不太完整。對當前鏈頭的正確定義是

 

 • 總難度最高的有效鏈。

 

因此,在客戶端接受區塊鏈應該用來記錄當前歷史數據這個條件之前,他們需要驗證兩個屬性:

 

1.該區塊鏈必須有效。這意味着,所有狀態轉換都是有效的。比如,在比特幣上,所有交易只花費此前沒有花費的交易輸出,coinbase 僅接收交易費和區塊獎勵,等等。


2.它必須是難度最高的鏈。通俗地說,這是一條最長鏈,然而「最長」不是以區塊的數量來衡量的,衡量的是總共花了多少挖礦算力在這條鏈上。

 

這聽起來可能有點抽象。我們有理由提出一個疑問,上述中的第一個條件由誰來驗證,即誰來驗證者區塊鏈上的所有區塊均應有效?因爲如果還是礦工驗證該鏈有效,那麼這只是重複工作了,我們並沒有真正從中獲得什麼。

 

但區塊鏈不一樣。讓我們分析一下爲什麼,先從一個普通的客戶端/服務器數據庫架構開始:


請注意,對於典型的數據庫,用戶信任數據庫服務器。他們不會檢查迴應是否正確;客戶端確保已按照協議對其有效格式化,僅此而已。客戶端 (此處用一個空白的方塊表示) 是「非智能的」:它無法驗證任何內容。

 

但是在區塊鏈的架構中,是這樣的:


我先來總結一下上圖包括的組件。首先礦工 (或質押者) 生產區塊鏈。P2P (點對點) 網絡確保每個人都能夠使用有效的鏈,儘管存在一些不誠實節點 (你需要連接到至少一個誠實且連接良好的 P2P 節點,以確保自己始終與有效鏈保持同步)。最後,客戶端將交易發送至 P2P 網絡並從網絡中的其他節點接收最新的鏈更新 (或者是完整的鏈,如果它們正在同步的話)。客戶端實際上是網絡的一部分,它們也將通過轉發區塊和交易來做貢獻,但在這裏不是那麼重要。

 

重要的部分是,用戶正在運行一個全節點,上圖中由客戶端中的柱體表示。只要客戶端獲得一個新的區塊,就像任何其他節點一樣,無論是一個礦工還是 P2P 網絡中的一個節點,這些客戶端都將驗證該區塊是否爲有效的狀態轉換。

 

如果這不是一個有效的狀態轉換,該區塊則會被忽略。這就是爲什麼網絡中的礦工試圖挖掘無效的狀態轉換是沒有意義的。所有人都只會忽略它。

 

許多用戶運行自己的節點,與以太坊或比特幣等區塊鏈交互。許多社區已將此模式作爲其文化的一部分,並且非常強調每個人都運行自己的節點,由此他們就成爲驗證過程的一部分。確實,讓大多數用戶 (尤其是那些質押了大筆資產的用戶) 運行全節點是非常重要的;如果大多數用戶變得懶惰,那麼礦工可能會突然被誘使生產無效區塊,如此一來該模型將不再適用。

 

打個比方:三權分立

 

這有點像民主制中的三權分立——政府有不同的分支,而僅僅因爲你在其中一個分支擁有多數席位 (比如立法機構),並不意味着你可以做任何你喜歡的事以及藐視所有的法律。同樣,礦工或質押者有權排序區塊鏈中的交易;而他們無權輕易對社區制定新規則。

But do all blockchains work like this? 但是所有區塊鏈都是這樣運作的嗎?

 

這是個好問題。需要注意的一個重點是,以上所說的模型只有在全節點易於運行的情況下才會奏效。作爲普通用戶,如果運行全節點必須要花 $5000 購買另一臺計算機,並且一直需要 1 GBit/s 的網絡連接,那麼 ta 根本不會選擇運行全節點。儘管 ta 可以在某些地方達到該網絡要求,但是永久地保持以運行自己的區塊鏈節點很可能不那麼方便。在這種情況下,普通用戶很有可能不會選擇自己運行節點 (除非 ta 的交易非常有價值),這意味着 ta 將信任其他人來爲其執行該操作。

 

假設有一條鏈,其運行成本太高,以至於只有質押者和交易所會運行全節點。你剛剛改變了信任模型,然後大多數質押者和交易所能夠聚集在一起並改變共識規則。對於這一點,用戶是沒有任何爭議的——如果用戶對該鏈完全沒有控制權,那麼他們無法發起分叉。他們可以堅持使用舊的規則,然而,除非他們開始運行全節點,否則,他們根本不知道自己的請求是否在自己想要的鏈 (滿足其共識要求的鏈) 上得到了迴應。

 

這就是爲什麼每當出現提高以太坊或比特幣的區塊大小的討論時,總會引起大量的爭論——區塊大小每提高一次,都會增加大家自己運行節點的負擔。這對礦工來說不是什麼大問題——與實際的挖礦操作相比,運行一個節點的成本要小得多——因此,這將權力的天平從用戶轉移到了礦工 (或質押者) 身上。

 

輕客戶端如何運作?

 

但是,如果用戶只是想用加密貨幣來買咖啡,該怎麼辦?Ta 需要在手機上運行全節點嗎?

 

當然,沒人希望需要這樣做,用戶也不希望。那麼這時候就是輕客戶端發揮作用的時候了。輕客戶端是較簡單的客戶端,它們不需要驗證整條鏈——它們僅驗證共識,即總難度或者已投票的質押金額數量。

 

換句話說,輕客戶端會被誘使跟隨一條包含無效區塊的鏈。對此有補救措施,例如數據可用性檢查和欺詐證明。據我所知,目前還沒有任何一條鏈實現了這些,但至少以太坊未來會這樣做。

 

因此,使用具有數據可用性檢查和欺詐證明的輕客戶端,用戶在不需要運行全節點的情況下,也可以使用區塊鏈的安全模型了。這是我們最終的目標,即任何智能手機都能夠輕鬆地運行以太坊輕客戶端。

 

側鏈如何運作?

 

側鏈是當前的熱門話題。它們似乎可以提供一種簡單的擴容方案,不像 rollups 那麼複雜。簡而言之:

 

 • 創建一條新的 PoS 鏈

 • 在自身和以太坊之間創建一個雙向橋接

 • …

 • 重點!請注意,側鏈的安全性幾乎完全依賴於橋接——這是一種允許某條鏈讀取另一條鏈的狀態的構造。畢竟,如果攻擊者能夠欺騙主鏈上的橋,讓橋接鏈上的所有資產都爲其所有,那麼即便 PoS 鏈上的全節點提出異議也沒辦法了。所以一切都取決於橋。

 

不幸的是,橋的狀態與輕客戶端相同。它們不驗證有效性,僅驗證共識條件的絕大部分。然而,側鏈有兩個方面比輕客戶端更糟糕:

 

1.橋接用於價值非常高的交易,其中大多數用戶會選擇一個全節點,如果可以的話


2.不幸的是,我們沒有辦法加固橋接,而我們可以對輕客戶端這樣做——原因就是它們無法驗證數據可用性檢查

 

第二點很微妙,可以花一到兩篇文章講解一下。但是簡單來說,橋接不能做數據可用性檢查,而沒有數據可用性檢查,欺詐證明也幾乎沒用了。而如果使用零知識證明,可以要求橋接打包所有有效區塊的證明,從而改善這個問題——不幸的是,這樣還是有可能會受到數據可用性攻擊,但也是一種改進了。

 

總言而止,側鏈的安全模型與以太坊和比特幣等區塊鏈不同,而且要弱得多。它們無法防止無效的狀態轉換。

 

這些問題都需要靠分片來解決嗎?

 

實際上,所有這些都與分片有很大的關係。我們之所以需要分片來進行擴容,是因爲只有分片能夠實現這樣的擴容方式:既不需要提高運行全節點的門檻,同時又能夠儘可能地維護區塊鏈的完整安全性保證。

 

但如果有人撤銷所有歷史數據呢?那麼 ta 還是可以盜取所有比特幣/ETH/等

 

理論上說,在一條非檢查點的 PoW 鏈上,可以通過回滾所有交易來盜取比特幣。是的,你不能發行一萬億個比特幣,但你仍然可以盜取現存的所有比特幣,這也很好,對吧?

 

我認爲這一點非常理論化。社區會接受一個修改其好幾年數據 (甚至只是好幾個小時) 的分叉的機率幾乎爲零。在所有可能的分叉中,都會出現大規模的爭搶,很快就會得出結論並拒絕分叉,只同意有效的鏈爲現存的那條鏈。

 

有了 PoS 和敲定,這種機制將變得形式化——客戶端永遠不能回滾已敲定的區塊。


原文鏈接


歡迎加入律動 BlockBeats 官方社群:

Telegram 訂閱群:https://t.me/theblockbeats

Telegram 交流群:https://t.me/BlockBeats_App

Twitter 官方帳號:https://twitter.com/BlockBeatsAsia

举报 糾錯/舉報
選擇文庫
新增文庫
取消
完成
新增文庫
僅自己可見
公開
保存
糾錯/舉報
提交