社區爭議:側鏈算不算L2?
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 的安全性如此難達到。
二級標題
二級標題
關於51% 攻擊,大家都搞錯了什麼
請大家原諒標題中的挑釁意味。顯然,並不是每個人都會誤解51% 攻擊,但還是有相當一部分人沒有搞清楚,因此寫一篇相關的文章並無壞事。
區塊鏈圈內大概有一個神話:只要有人控制了比特幣、以太坊或者其他區塊鏈的超過50% 的算力,那麼ta 就可以對網絡做任何事。在PoS (權益證明) 機制中,只要有人聚集了質押總額的2/3,ta 同樣可以對網絡做任何事情。 ta 可以轉走別人的資產,隨意發行代幣等等。
這種想法是錯誤的。以下是51% 攻擊可以做的事情:
攻擊者可以阻止用戶使用區塊鏈,即,攔截任何他們不喜歡的交易。這叫做審查。
他們可以回滾區塊鏈的交易,即撤銷一定數量的區塊並更改其中的交易順序。
他們不能做到的是:更改系統的規則。這意味著:
他們不能簡單地在區塊鏈系統規定之外發行新代幣;例如,比特幣目前為每個新的區塊生產者6.25 BTC;他們不能將這個數字變成100 萬比特幣
如果他們沒有某個地址的私鑰,他們就不能使用該地址的代幣
他們生產的區塊不能比共識規則規定的大
二級標題
二級標題
區塊鏈安全模型
有時人們聲稱最長鍊為有效的比特幣或者以太坊鏈。這個說法不太完整。對當前鏈頭的正確定義是
總難度最高的有效鏈。
因此,在客戶端接受區塊鏈應該用來記錄當前歷史數據這個條件之前,他們需要驗證兩個屬性:
該區塊鏈必須有效。這意味著,所有狀態轉換都是有效的。比如,在比特幣上,所有交易只花費此前沒有花費的交易輸出,coinbase 僅接收交易費和區塊獎勵,等等。
它必須是難度最高的鏈。通俗地說,這是一條最長鏈,然而“最長”不是以區塊的數量來衡量的,衡量的是總共花了多少挖礦算力在這條鏈上。
這聽起來可能有點抽象。我們有理由提出一個疑問,上述中的第一個條件由誰來驗證,即誰來驗證者區塊鏈上的所有區塊均應有效?因為如果還是礦工驗證該鏈有效,那麼這只是重複工作了,我們並沒有真正從中獲得什麼。
但區塊鏈不一樣。讓我們分析一下為什麼,先從一個普通的客戶端/服務器數據庫架構開始:
請注意,對於典型的數據庫,用戶信任數據庫服務器。他們不會檢查回應是否正確;客戶端確保已按照協議對其有效格式化,僅此而已。客戶端(此處用一個空白的方塊表示) 是“非智能的”:它無法驗證任何內容。
但是在區塊鏈的架構中,是這樣的:
我先來總結一下上圖包括的組件。首先礦工(或質押者) 生產區塊鏈。 P2P (點對點) 網絡確保每個人都能夠使用有效的鏈,儘管存在一些不誠實節點(你需要連接到至少一個誠實且連接良好的P2P 節點,以確保自己始終與有效鏈保持同步)。最後,客戶端將交易發送至P2P 網絡並從網絡中的其他節點接收最新的鏈更新(或者是完整的鏈,如果它們正在同步的話)。客戶端實際上是網絡的一部分,它們也將通過轉發區塊和交易來做貢獻,但在這裡不是那麼重要。
重要的部分是,用戶正在運行一個全節點,上圖中由客戶端中的柱體表示。只要客戶端獲得一個新的區塊,就像任何其他節點一樣,無論是一個礦工還是P2P 網絡中的一個節點,這些客戶端都將驗證該區塊是否為有效的狀態轉換。
二級標題
二級標題
打個比方:三權分立
這有點像民主制中的三權分立—— 政府有不同的分支,而僅僅因為你在其中一個分支擁有多數席位(比如立法機構),並不意味著你可以做任何你喜歡的事以及藐視所有的法律。同樣,礦工或質押者有權排序區塊鏈中的交易;而他們無權輕易對社區製定新規則。
But do all blockchains work like this?但是所有區塊鏈都是這樣運作的嗎?
這是個好問題。需要注意的一個重點是,以上所說的模型只有在全節點易於運行的情況下才會奏效。作為普通用戶,如果運行全節點必須要花$5000 購買另一台計算機,並且一直需要1 GBit/s 的網絡連接,那麼ta 根本不會選擇運行全節點。儘管ta 可以在某些地方達到該網絡要求,但是永久地保持以運行自己的區塊鏈節點很可能不那麼方便。在這種情況下,普通用戶很有可能不會選擇自己運行節點(除非ta 的交易非常有價值),這意味著ta 將信任其他人來為其執行該操作。
二級標題
二級標題
輕客戶端如何運作?
但是,如果用戶只是想用加密貨幣來買咖啡,該怎麼辦? Ta 需要在手機上運行全節點嗎?
當然,沒人希望需要這樣做,用戶也不希望。那麼這時候就是輕客戶端發揮作用的時候了。輕客戶端是較簡單的客戶端,它們不需要驗證整條鏈—— 它們僅驗證共識,即總難度或者已投票的質押金額數量。
二級標題
二級標題
側鏈如何運作?
側鍊是當前的熱門話題。它們似乎可以提供一種簡單的擴容方案,不像rollups 那麼複雜。簡而言之:
創建一條新的PoS 鏈
在自身和以太坊之間創建一個雙向橋接
…
重點!請注意,側鏈的安全性幾乎完全依賴於橋接—— 這是一種允許某條鏈讀取另一條鏈的狀態的構造。畢竟,如果攻擊者能夠欺騙主鏈上的橋,讓橋接鏈上的所有資產都為其所有,那麼即便PoS 鏈上的全節點提出異議也沒辦法了。所以一切都取決於橋。
不幸的是,橋的狀態與輕客戶端相同。它們不驗證有效性,僅驗證共識條件的絕大部分。然而,側鏈有兩個方面比輕客戶端更糟糕:
橋接用於價值非常高的交易,其中大多數用戶會選擇一個全節點,如果可以的話
不幸的是,我們沒有辦法加固橋接,而我們可以對輕客戶端這樣做—— 原因就是它們無法驗證數據可用性檢查
二級標題
二級標題
二級標題
二級標題
但如果有人撤銷所有歷史數據呢?那麼ta 還是可以盜取所有比特幣/ETH/等
理論上說,在一條非檢查點的PoW 鏈上,可以通過回滾所有交易來盜取比特幣。是的,你不能發行一萬億個比特幣,但你仍然可以盜取現存的所有比特幣,這也很好,對吧?
我認為這一點非常理論化。社區會接受一個修改其好幾年數據(甚至只是好幾個小時) 的分叉的機率幾乎為零。在所有可能的分叉中,都會出現大規模的爭搶,很快就會得出結論並拒絕分叉,只同意有效的鍊為現存的那條鏈。
有了PoS 和敲定,這種機制將變得形式化—— 客戶端永遠不能回滾已敲定的區塊。
[1] https://twitter.com/MihailoBjelic/status/1393686451255226368
[2] https://dankradfeist.de/ethereum/2021/05/20/what-everyone-gets-wrong-about-51percent-attacks.html
[3] https://twitter.com/dankrad/status/1393721324300865537?s=20
[4] https://twitter.com/_prestwich/status/1393730794238005253
[5] https://twitter.com/stonecoldpat0/status/1393869662572748801


