– “橋” 的安全/威脅模型各有不同 –
通過鏈下協議增強網絡可擴展性的方案在密碼學貨幣社區內掀起了一股熱潮。這類方案使得絕大多數交易的處理任務可以從Layer 1 區塊鏈轉移到鏈下系統,從而繞開Layer 1 區塊鏈的一切費用和延遲問題。
什麼是“橋”?
在本文中,我想要討論一個對所有鏈下協議來說都很基礎的組件。這個組件常常被忽視,但是對於資產安全保護來說至關重要:
“橋”的作用是持有Layer 1 區塊鏈上的資產,同時在另一個(外部)服務上發行它們。它規定了資產託管者以及解鎖資產的條件。
簡而言之,Layer 1 區塊鏈(如以太坊)連接到其它系統時都會使用“橋”。所有的“橋” 都執行相似的操作:
- 存款。用戶可以將資金存到“橋” 上,通過“橋” 將這筆資產等量映射到另一個系統上。
- 更新用戶餘額。 “橋” 會收到賬戶餘額的更新通知,並將其用於取款流程。
- 取款。用戶可以通過“橋” 將資金提取到Layer 1 區塊鏈上,同時將另一個系統上的對應餘額銷毀。
最常見的一類“橋”(很少有人注意到它們)就是單一組織橋:
– 絕大多數密碼學貨幣交易所都是”橋” –
如果我們只考慮“橋” 的定義,我們完全可以說密碼學貨幣交易所是一種鏈下協議。用戶可以將資金鎖定在該協議內,避免交易時的gas 費和網絡延遲,最後再將餘額提取到Layer 1 區塊鏈上。
除了單一組織橋之外,還有兩類依賴於多名託管者的橋:
- 多組織橋。被鎖定的資金託管給一組固定的獨立參與方(K/N)。
- 密碼學經濟橋。被鎖定的資金託管給一組動態的參與方,具體取決於這些參與方的資產權重。
需要注意的是,上述三類“橋”,它們在Layer 1 區塊鏈上都無法驗證其對象系統上的賬戶餘額數據是否正確(或者其對象系統內的負債是否超過了“橋” 所持有的資產)。託管者需要驗證每一筆取款是否與其對象系統存在衝突。他們最終決定是否釋放資金,以及收款方是誰。側鍊和“橋” 彼此獨立上文主要討論的是利用“橋” 將用戶引導到託管服務(如密碼學貨幣交易所)上。 “橋” 還有一個越來越受歡迎的應用場景,即,實現區塊鏈之間的互聯(順帶一提,這就是側鏈的起源)。
– “橋” 和側鏈在安全性上彼此獨立 –
下面列舉了一些現有的“橋” 項目:
- WBTC:單一組織橋,將BTC 轉移到以太坊上。
- 流動網絡或RSK:多組織橋,由部署了硬件安全模塊(HSM)的聯盟成員將BTC 轉入/轉出其它區塊鏈。
- Polygon 橋:密碼學經濟橋,其中,驗證者需要憑藉不少於總質押量的2/3 + 1 定期就所有Polygon 用戶的賬戶餘額達成共識,用戶可以根據共識將資金提取到以太坊上。 (實際上,Polygon 最終由一個小型多簽合約控制,但是這裡側重的是它的長期目標)。
- Rainbow 橋:密碼學經濟橋,其中,橋合約是一個輕客戶端,可以驗證另一條區塊鏈的狀態變化。它不會驗證另一條區塊鏈的有效性,資產的安全性最終取決於另一條區塊鏈的持續狀態變化(由密碼學經濟機制保障)。
最重要的是,每個橋都有自己的安全模型,並且獨立於區塊鍊網絡。我們可以舉一個簡單的例子WBTC 來作進一步闡述:BitGo Trust 負責保管被鎖定的BTC,並在以太坊上發行等量的WBTC。以太坊上的智能合約會追踪所有涉及WBTC 轉賬的賬戶的餘額。用戶需要相信BitGo 會尊重記錄在智能合約內的賬戶餘額。就WBTC 而言,我們需要考慮以下幾點:
- 單一託管方。 WBTC 橋依賴於單一託管方來保證其完整性。託管方可以在以太坊上超額發行WBTC,也可以拒絕退回BTC。
- 獨立的安全模型。以太坊的安全模型獨立於比特幣。 WBTC 橋的安全模型則獨立於這兩個區塊鏈。
- 將以太坊作為側鏈。在實現從比特幣到以太坊的跨鏈時,交易被轉移到了鏈下。
上述三類“橋” 的共同點是都不驗證側鏈的完整性,而且沒有在託管方(或側鏈)掉線時保護資金的自動應急計劃。它們構想了自己的安全模型,而非依賴於其所在的Layer 1 區塊鏈的安全模型。慢著。 Layer 2 協議與“橋” 又是什麼關係? Layer 2 的可擴展性承諾是將交易吞吐量從Layer 1 區塊鏈轉移到鏈下系統。 “橋” 的作用是保管資產,並將它們映射到另一個系統上。
然而,不同於上文提到的所有“橋”,Layer 2 協議力圖為其保管的資金提供與Layer 1 區塊鏈同等的安全性,而且它不能依賴一組託管者(或另一個鏈下系統)來保護資金。
這就需要一種全新類型的“橋”:
- Layer 2 橋。資金託管在Layer 1 區塊鏈上,“橋” 必須能夠確認Layer 2 協議沒有遭到破壞。遇到最糟糕的情況時,“橋” 將自行增強Layer 2 協議的活性,直到所有資金能夠取出為止。
Layer 2 橋是所有“橋” 中最強大的。
Layer 2 橋不依賴於一組託管者來保護資金的安全性。 Layer 2 橋在釋放資金之前必須確保鏈下系統一切正常。一旦Layer 2 橋出於任何原因相信鏈下系統遭到破壞,它完全可以徹底避開另一個網絡。
– 一些致力於開發Layer 2 橋、打造全新區塊鍊網絡的公司 –
這就是為什麼Layer 2 協議如此令人興奮的原因,以至於上述公司甘願花費數年時間研究Layer 2 解決方案。這些公司都在力爭率先推出Layer 2 協議。這場競賽主要專注於如何實現安全的Layer 2 橋(而不一定是如何實現另一個區塊鍊網絡)。
這正是進一步探索“橋” 的技術問題和定義的好機會。我們已經明確指出,“橋” 必須有辦法確定Layer 2 協議沒有遭到破壞。而Layer 2 協議被破壞的情形可以歸結為下面四種:
- 數據可得性。 “橋” 如何確保另一個區塊鍊網絡的所有數據都是公開可得的,以便用戶可以獨立重新計算Layer 2 數據庫?
- 狀態轉換完整性。我們如何讓“橋” 相信Layer 2 網絡的所有狀態轉換是合法且有效的?
- 取款完整性。當Layer 2 網絡遭到破壞時,“橋” 如何保證所有誠實用戶都能取回自己的資金?
- 協議活性。當Layer 2 協議暫停或掉線時,“橋” 如何保證交易依然能夠執行?
當然了,上述問題必須得到解決。與此同時,由於橋合約擁有的計算資源比鏈下系統少得多,橋無法實時重新執行所有交易。否則,它就不是可擴展性解決方案了。
解決上述問題就像是掉進了深不見底的兔子洞,需要面對鏈上挑戰、欺詐證明、有效性證明、將交易數據發佈到Layer 1 區塊鏈(rollup)等重重問題。
儘管我們的文章不會著重介紹各種解決方案,但是我們要強調:所有解決方案各有不同。一些即將部署的Layer 2 協議無法滿足上述安全性目標。事實上,它們並不能被稱為Layer 2 協議,因為缺少Layer 2 橋。 “橋” 沒有對錯之分
– 所有”橋” 都將幫助我們to the moon –
正如本文討論的那樣,總共有四類“橋” 。它們可以將資金鎖定在一條區塊鏈內,並將其映射到另一個鏈下系統(甚至是另一條區塊鏈)上。
託管橋。前三類“橋” 側重於確定被鎖定的資產由哪些託管者控制。託管者的職責是在允許用戶取回託管在“橋” 中的資金之前,先驗證鏈下系統是否正確。託管橋假設鏈下系統的完整性是客戶端問題,且託管者擁有足夠的算力來處理它。雖然有額外的措施來減少託管者的職責,或引入密碼學經濟激勵來鼓勵託管者遵守協議,橋協議無法完全約束託管者。曾經發生過幾例橋丟失用戶資產的事件(如MtGo 交易所),這是因為橋的完整性歸根結底還是取決於信任。
Layer 2 橋。 “橋” 完全取代了託管者來保管資金,並驗證鏈下系統的完整性。核心問題是,“橋” 必須確保鏈下系統沒有遭到破壞。與此同時,它缺少獨立驗證每筆交易的算力(否則它就不是可擴展性方案了)。除了會帶來巨大的技術挑戰之外,Layer 2 橋還有著很高的成本。為了讓Layer 1 區塊鏈相信鏈下系統是合法且完整的,Layer 2 橋會持續產生經濟成本。然而,最終來說會是“橋” 成為資金的託管方,而鏈下系統的運營方則無權託管。
總而言之,用戶是否真正關心Layer 2 橋?我們是否應該將以太坊的安全模型擴展至鏈下系統?這些問題尚無定論。我認為這四類“橋” 將一直存在下去,因為它們在提高用戶採用率方面具有重要意義。我希望每一位用戶都能關注“橋”,並思考自己最喜歡的協議採用的是哪一類“橋”。這有助於用戶更好地理解自己正在使用的協議是如何保護資金安全的。
原文鏈接:
https://stonecoldpat.medium.com/a-note-on-bridges-…
作者: Patrick McCorry
翻譯&校對: 閔敏& 阿劍