原文標題:《CircumventingLayerZero:WhyIsolatedSecurityisNoSecurity》
作者:KrzysztofUrbański,L2BEAT團隊成員
編譯:Babywhale,ForesightNews
L2BEAT從成立以來就投入了大量精力來分析和理解與Layer2協議相關的風險。我們始終以用戶和生態系統的最大利益為出發點,盡最大的努力成為一個公正、獨立的監督者,不會讓我們對項目或相關團隊的個人偏好影響事實。這就是為什么即使我們尊重項目團隊投入項目的時間和努力,但也會對某些協議存在的潛在風險「拉響警報」或指出我們的擔憂。盡早進行與安全相關的討論可以讓整個生態系統更好地為潛在風險做好準備,并對任何可疑行為更早地做出反應。
今天我們想就跨鏈應用的共享安全模型展開討論。目前有兩種安全模型:共享安全與獨立應用安全。共享安全性就例如所有的Rollup。獨立應用安全性主要由「omnichain」項目使用,這類項目的主要使用的是LayerZero。
共享安全與獨立安全
共享安全性是指在給定基礎架構上運行的特定代幣或應用,而不是自由選擇安全模型,他們必須遵守基礎設施強加的任何安全要求。例如,OptimisticRollups通常會施加一個7天的最終窗口期——在此類Rollups上運行的應用不能簡單地忽略或縮短這個期限。這雖然看起來像是一個障礙,但它是有原因的。這個期限為用戶提供了安全保證,無論應用的內部安全策略是什么,都必須遵守這套安全政策,應用可能只會加強Rollups的安全性,而不會削弱它。
獨立安全是指每個應用都負責定義其安全性,不受基礎設施以任何方式進行的限制。這乍看之下似乎是個好主意,畢竟應用的開發人員最清楚應用可能需要哪些安全措施。但與此同時,它將評估與每個應用安全策略風險相關的責任轉移給了終端用戶。此外,如果應用開發者可以自由選擇他們的安全策略,他們也可以隨時更改。因此,對每個應用評估一次風險是不夠的,每次應用的政策發生變化時都應該對其進行評估。
Arbitrum聯創兼CEO:目前Arbitrum占據L2約65%的市場份額:4月13日消息,在“2023香港Web3嘉年華”主會場《Web3技術基礎設施:Layer 2二層網絡》主題中,Arbitrum聯合創始人兼CEO Steven Goldfeder介紹了Arbitrum的網絡數據、生態、Arbitrum Nova和Arbitrum Orbit。Steven Goldfeder表示,過去一年Arbitrum發展非常快速,目前Arbitrum生態有約60億美元的TVL,在二層中占據65%的市場份額,目前有100萬枚ETH鎖定在橋中,生態DApp也發展得非常繁榮。Arbitrum Nova更適合游戲、社交項目以及一些有高吞吐量和性能需求的DApp。Arbitrum Orbit允許利用技術堆棧和以太坊的安全性構建自己的區塊鏈,具有隱私、安全、性能高等優勢。希望和開發者、用戶和社區成員共同推動Arbitrum發展。[2023/4/13 14:00:57]
存在的問題
我們認為每個應用都可以自由定義其安全策略的獨立安全模型會帶來嚴重的安全問題。首先,它增加了終端用戶的風險,因為他們必須驗證他們打算使用的每個應用的風險。
獨立安全還增加了使用這種模型的應用的風險,例如增加了有關安全策略更改的額外風險——如果攻擊者要更改應用的安全模型,還不如簡單地禁用它,從而耗盡資金或以任何其他方式進行攻擊。應用之上沒有額外的安全層來防止被攻擊。
此外,由于安全策略能夠隨時且即時更改,因此幾乎不可能實時監控應用并告知用戶風險。
我們發現它類似于智能合約的可升級性,我們已經在L2BEAT上發出了警告。我們告知用戶在其智能合約中具有可升級性機制的Rollup和跨鏈橋,以及在每種情況下管理可升級性的確切機制。這已經相當復雜了,加之使用獨立的安全模型更會使得數目成倍增加,幾乎不可能有效跟蹤。
BitDAO社區發起新提案投票,擬為以太坊L2網絡Mantle規劃1年預算資金:2月14日消息,BitDAO社區發起BIP-19提案,該提案提議為此前推出的以太坊L2網絡Mantle規劃一年預算資金,包括1000萬枚BIT和1400萬枚USDC用于支付測試網6個月運營費用,以及1.45億枚BIT和3400萬枚USDC用于支付主網一年的運營支出等。
關于該提案的投票現已開啟,截止2月20日結束。[2023/2/14 12:06:11]
這就是為什么我們認為獨立的安全模型本身就是一種安全風險,并且我們假設默認情況下將使用這種模型的每個應用都應被視為有風險,除非證明并非如此。
證明安全漏洞存在
我們決定在主網上測試我們的假設。選擇LayerZero框架進行實驗是因為它是最流行的以獨立安全為核心的解決方案之一。我們部署了一個安全的omnichain代幣,之后更新安全配置,允許惡意提取代幣。代幣的代碼基于LayerZero提供的示例,與實際部署的許多其他omnichain代幣和應用程序非常相似或相同。
但在我們深入細節之前,讓我們簡要了解一下LayerZero安全模型是什么樣的。
正如LayerZero在白皮書上指出的,其「無需信任的鏈間通信」依賴于兩個獨立的參與者共同行動以確保協議的安全。
LayerZero在其網站上表示,其核心概念是「運行ULN(UltraLightNode)、可配置鏈上終端的用戶應用」。LayerZero的鏈上組件依賴于兩個外部鏈下組件在鏈之間中繼消息——預言機和中繼器。
每當任何消息M從A鏈發送到B鏈時,都會發生以下兩個操作:
首先,預言機等到在A鏈上發送消息M的交易完成,然后在B鏈上寫入相關信息,例如A鏈包含消息M的區塊頭的哈希值。
然后中繼器向B鏈發送一個「證明」,證明存儲的區塊頭包含消息M。
LayerZero假設中繼器和預言機是獨立、誠實的參與者。但LayerZero也在白皮書中表示,如果不滿足該假設,例如中繼器和預言機串通,導致「預言機提供的區塊頭和中繼器提供的交易證明均無效,但仍然匹配」。
以太坊L2網絡總鎖倉量為50.4億美元:金色財經報道,L2BEAT數據顯示,截至6月2日,以太坊Layer2上總鎖倉量為50.4億美元。其中鎖倉量最高的為擴容方案Arbitrum,約25億美元,占比49.74%。其次是dYdX,鎖倉量9.65億美元,占比19.15%。Optimism占據第三,鎖倉量9.08億美元,占比18.03%。[2022/6/2 3:58:54]
LayerZero聲稱「LayerZero的設計消除了合謀的可能性」。但事實上,這種說法是不正確的,因為每個用戶應用程序都可以定義自己的中繼器和預言機。LayerZero不通過設計保證這些組件是獨立的并且無法串通,而是由用戶應用提供這些保證。如果應用選擇破壞它們,LayerZero沒有任何機制可以阻止。
此外,默認情況下,所有用戶應用都可以隨時更改中繼器和預言機,從而完全重新定義安全假設。因此,僅檢查一次給定應用的安全性是不夠的,因為它可能在檢查后隨時更改,正如我們將在實驗中展示的那樣。
實驗設計
在我們的實驗中,我們決定創建一個簡單的omnichain代幣CarpetMoon,同時在以太坊和Optimism上運行,并使用LayerZero在兩個鏈之間進行通信。
我們的代幣最初使用LayerZero提供的默認安全模型,使其與大當前部署的LayerZero應用完全相同。因此,它通常與使用LayerZero的任何其他代幣一樣安全。
首先,我們在以太坊和Optimism上部署我們的代幣合約:
https://ethtx.info/mainnet/0xf4d1cdabb6927c363bb30e7e65febad8b9c0f6f76f1984cd74c7f364e3ab7ca9/
https://optimistic.etherscan.io/tx/0xf41389d71fa3942de5225efb067072728c6c6de56c241574187781db7c73d221
然后我們設置了路由,以便LayerZero知道兩條鏈上哪個合約對應哪個合約。
以太坊Argent L2錢包與LayerSwap合作,支持用戶從CEX提款至Argent L2 賬號:2月16日消息,以太坊 Argent L2 錢包與 LayerSwap 合作,用戶可以直接從中心化交易所提款至 Argent 的 L2 賬號。LayerSwap旨在提供CeFi到DeFi 資產轉移的解決方案,目前的CEX到Layer2橋接讓用戶更快速、更便宜地從中心化交易所向 L2 充值資產。值得注意的是,LayerSwap 使用 Bransfer 以連接到用戶的中心化交易所賬號。用戶需要注冊一個 Bransfer 賬號,僅通過郵箱便可注冊。[2022/2/16 9:55:42]
https://ethtx.info/mainnet/0x19d78abb03179969d6404a7bd503148b4ac14d711f503752495339c96a7776e9/
https://optimistic.etherscan.io/tx/0x037b1bad33faa5607bb5835460a1d5caaf3a147dc3a09762ac7703befcdb3c3c
代幣已部署完成,它看起來與使用LayerZero的所有其他omnichain代幣完全一樣,使用默認配置,沒有任何可疑之處。
我們向我們的「測試用戶」Alice提供了10億枚以太坊上的CarpetMoon代幣。
https://ethtx.info/mainnet/0x7e2faa8426dacae92830efbf356ca2da760833eca28e652ff9261fc03042b313/
現在Alice使用LayerZero將這些代幣跨鏈至Optimism。
我們將代幣鎖定在以太坊上的托管合約中:
動態 | 肉類供應商L28將VeChainThor區塊鏈技術整合到其商業模式中:VeChain基金會發推特稱,西澳大利亞優質肉類供應商L28將VeChainThor區塊鏈技術整合到其商業模式中。[2019/7/24]
https://ethtx.info/mainnet/0xe4dc3757b86bfda8e7baddc088fb1a599e083ed77034c29e5dd8bd11f1e17771/。
包含著交易的消息正在通過LayerZero傳遞給Optimism:
https://layerzeroscan.com/101/address/0xc6005ccc1de4b300d538903b74848bff881d5dc5/message/111/address/0x201fe0d843b546f2e24d4c8444318d1c71b7nonced10d/。
跨鏈的代幣正在Optimism上鑄造,Alice現在在Optimism上擁有10億枚MoonCarpet代幣:
https://optimistic.etherscan.io/tx/0x5388ced88cf562acafff82d6798f791b0b38b90ee106df9bf91c0d86306ec302。
一切都按預期進行,Alice將代幣跨鏈,并看到以太坊上的托管合約中有10億枚MoonCarpet代幣,她在Optimism的賬戶上有10億枚MoonCarpet代幣。但為了確保一切正常,她將一半的代幣轉回以太坊。
我們從Optimism上銷毀5億代幣的交易開始:
https://optimistic.etherscan.io/tx/0x118a57106488ad0bae1f3b920b1fd98b187752ad966f3a901fc53cff47f2097f。
有關該交易的信息被傳遞到以太坊:
https://layerzeroscan.com/111/address/0x201fe0d843b546f2e24d4c8444318d1c71b7d10d/message/101/address/0xc6005ccc1de4b300d538903b74848bff881d5dc5/nonce/1。
正如預期的那樣,5億枚MoonCarpet代幣從托管合約返回到Alice的地址:
https://etherscan.io/tx/0x27702e07a65a9c6a7d1917222799ddb13bb3d05159d33bbeff2ca1ed414f6a18。
到目前為止,一切正常,也與假設的完全一致。Alice已經檢查過她可以將代幣從以太坊跨鏈到Optimism并再次跨鏈回來,她沒有理由擔心她的MoonCarpet代幣。
但是假設本身存在問題——例如,我們的代幣背后的團隊遇到問題,壞人Bob獲得了對我們應用的LayerZero配置的訪問權限。
如此,Bob可以將預言機和中繼器從默認的組件更改為由他控制的組件。
需要注意的是,這是為每個使用LayerZero的應用提供的機制,根植于LayerZero的架構中,它不是任何類型的后門,而是一種標準機制。
所以Bob將預言機更改為他控制下的EOA:
https://ethtx.info/mainnet/0x4dc84726da6ca7d750eef3d33710b5f63bf73cbe03746f88dd8375c3f4672f2f/。
中繼器也同樣被更改:
https://ethtx.info/mainnet/0xc1d7ba5032af2817e95ee943018393622bf54eb87e6ff414136f5f7c48c6d19a/。
現在奇怪的事情發生了。由于預言機和中繼器現在在Bob的完全控制之下,他能夠盜取Alice的代幣。即使在Optimism上沒有采取任何行動,Bob也能夠說服以太坊上的MoonCarpet智能合約他在其他鏈上銷毀了代幣并且他能夠提取在以太坊上的MoonCarpet代幣。
首先,他使用由他控制的預言機更新以太坊的區塊哈希:
https://ethtx.info/0xde2edee2cc7f070120e96c9df90d86696970befcfc221e18c6ac4168bb5b1d92/。
現在他可以從托管合約中提取剩余的代幣:
https://ethtx.info/0xda695f374b375d5372efeca37aae4c5a17f114d5a76db1e86edebb0924bcdcc7/。
實驗結果
Alice甚至不知道為什么以及什么時候發生了錯誤。突然之間,她在Optimism上的MoonCarpet代幣不再得到以太坊上代幣的支持。
智能合約不可升級,并且按預期運行。唯一可疑的活動是預言機和中繼器的變化,但這是LayerZero內置的常規機制,因此Alice甚至不知道這種變化是否有意為之。即使Alice知道了這個變化,也已經太晚了——攻擊者可以在她做出反應之前耗盡資金。
LayerZero也無能為力——這些都是他們機制的有效執行,他們無法進行控制。理論上,應用本身可以阻止自己更改預言機和中繼器,但據我們所知,已經部署的應用都沒有這樣做。
我們做了這個實驗來測試是否有人注意到它,但正如我們所料,沒有人注意到。有效地監控所有使用LayerZero構建的應用來檢查它們的安全策略是否發生改變,并在發生這種情況時警告用戶是幾乎不可能的。
即使有人能夠及時發現預言機和中繼器已經發生變化并帶來了安全風險,但為時已晚。由于新的預言機和中繼器現在可以自由選擇傳遞的消息或簡單地禁用鏈間通信,用戶通常對此無能為力。我們的實驗清楚地表明,即使Alice注意到應用配置的變化,她也不能用她的跨鏈代幣做太多事情——新的預言機和中繼器已不再在原始的通信鏈條上接受消息,所以不會將消息返回以太坊。
結論
正如我們所看到的,即使我們的代幣是使用LayerZero構建并按預期使用其機制,我們還是能夠從代幣的托管中竊取資金。當然,這是應用的錯誤,而不是LayerZero本身的錯誤,但這證明LayerZero本身不提供任何安全保證。
當LayerZero描述他們關于預言機和中繼器的安全模型時,他們假設應用所有者不會做任何不合理的事情。但在對抗性的環境中,這種假設是不正確的。此外,它要求用戶將應用開發者作為可信賴的第三方來信任。
因此在實踐中,人們不能對使用LayerZero構建的應用的安全性做出任何假設——每個應用都應該被認為是有風險的,直到證明不是這樣。
實際上,整個故事是從我們計劃在L2BEAT網站上包含所有omnichain代幣的PR開始的——我們很難弄清楚如何評估它們的風險。在分析風險時,我們提出了實驗的想法。
如果在L2BEAT上線,后果是我們必須在使用LayerZero構建的每個應用之上放置警報,警告可能存在的安全風險。但我們想就安全模型展開更廣泛的討論,因為我們認為獨立的安全是一種應該避免的模式,尤其是在我們的領域。
我們相信,隨著LayerZero等獨立安全模型越來越流行,將會有越來越多的項目濫用它們,造成大量破壞并增加整個行業的不確定性。
主持人:徐思彥,騰訊研究院高級研究員 對話者: SujiYan,MaskNetworkfounderLuke,Web3MQco-founderjoshua.
1900/1/1 0:00:00杭州互聯網法院近日審理了一起因NFT數字藏品交易引發的信息網絡買賣合同糾紛案,原告王某訴稱,其通過該公告公示的購買渠道,搶購了一份A公司發售的NFT數字藏品盲盒.
1900/1/1 0:00:00原文標題:《全球最強10大Web3技術團隊,90%以上市值的加密項目由他們開發和守護?》 作者:火火,白話區塊鏈 據財聯社創投通統計,11月份全球Web3.0領域融資總數量為71筆.
1900/1/1 0:00:00作者:CoryKlippsten,TomerStrolight,SamCallahan編譯:FastDaily價格暴跌和加密貨幣的崩潰占據了2022年的頭條新聞.
1900/1/1 0:00:00流支付協議ZebecProtocol已經遷移至BNBChain上,并得到了PancakeSwap官方的支持.
1900/1/1 0:00:00據官方推特,歐易Web3錢包與Stader達成官方合作關系,用戶可通過歐易Web3錢包一鍵進入Stader平臺質押資產賺取收益.
1900/1/1 0:00:00