Optimistic Rollups和以太坊的二層解決方案:Arbitrum的安全機制
比巴卜呀
2021-07-12 07:36
本文约3244字,阅读全文需要约13分钟
Optimistic Rollups和以太坊的二層解決方案:Arbitrum的安全機制

二層擴展解決方案是當前以太坊上討論最熱門的話題,也是整個區塊鏈技術社區中最熱門的話題。 Arbitrum是基於Optimistic Rollups的二層擴展解決方案,率先部署了其主網的測試版,並獲得了Uniswap和Compound等核心DeFi項目的支持,成為目前最引人注目的二層解決方案。

從以太坊主網遷移到二層解決方案的安全機制,是用戶最關心的問題之一。在這篇文章中,我們將對Arbitrum的安全機制進行深入探討,包括Arbitrum如何紮根於以太坊安全性中,為什麼挑戰期是7天,以及如何防禦審查攻擊。

紮根於以太坊安全性中

與其他擴容方案相比,Layer 2最大的優勢是它完全依賴的以太坊安全性,大多數人可能知道這一點,但不知道為什麼。 Arbitrum是如何紮根於以太坊安全性中的?

我們先來回顧一下Optimistic Rollup方案的主要特點:

1. 在Rollup解決方案中,交易被寫在L1(作為calldata),但合約的計算和存儲是在L2上完成的,實現擴容。

2. 驗證者在L1上發布一個斷言,可以理解為將所有交易打包成一個Rollup塊並發送到L1交易上。

數據可用性

數據可用性

數據可用性

所有在L2上執行的交易都會先提交給運行在L1上的Inbox智能合約,並作為calldata寫入L1上。任何人都可以使用這些數據來檢索L2上的所有交易,並將L2恢復到其原始狀態。這個數據的可用性是通過L1保證的,用戶不必擔心L2故障會給他們在L2上的資產帶來損失。

AnyTrust

AnyTrust是Rollup協議的一個關鍵安全特性。這個功能意味著任何誠實的驗證者都可以確保L2上交易的正確執行。無論有多少惡意的人試圖阻止交易,你或你僱傭的人都可以確保交易正確執行,而不需要相信任何第三方。

緊急退出機制

Arbitrum目前沒有專門的緊急退出機制,但是有一系列的安全機制來保證用戶可以緊急退出。

首先,數據的可用性保證了用戶在L2上的資產和數據可以隨時從L1上恢復,並且永不丟失。

其次,任何用戶都可以向L1上的Inbox合約發送交易請求,強制退出。

最後,AnyTrust機制確保用戶可以強制L2正確處理退出交易。

對於以上三點,用戶不需要信任任何第三方,這充分說明了Arbitrum植根於以太坊安全性中。

為什麼挑戰期是7天

Arbitrum是一個多輪互動的Rollup解決方案。該解決方案首先會樂觀地認為驗證者所做的斷言是正確的,直到它在挑戰期內被其他驗證者質疑或反駁。在大多數情況下,沒有挑戰,整個系統可以更快地取得進展,而且成本較低。

顯然,挑戰期越長,整個系統就越安全,但同時用戶體驗也會變差(因為用戶在退出時需要等到挑戰期結束)。那麼我們如何找到最佳的挑戰期呢?

Arbitrum團隊提出了這樣一個模型來計算最佳挑戰期:

1. 假設一個挑戰期是C塊的長度,攻擊者在L2上能得到的最大值是V。那麼攻擊者得到的預期值是V exp(-AC)。

注意:exp是指數函數"e",A是某個常數A,AC前面的"-"號意味著C與預期回報成反比。

2.斷言者需要認捐遠大於攻擊價值的資產來應對攻擊。我們假設是10倍,斷言者的成本是10V exp(-AC)I。 I是資本利率。

3. 我們假設鎖定在挑戰期的提款用戶的提款資產為CWV(其中W為小數,WV是L2上總資產的一部分,每個時間點會有C塊未結束挑戰),用戶的資產成本為CWVI。

4. 最佳挑戰期的長度是在斷言者和退出用戶的總資產成本最低的時候。也就是說,當取C的值時,10V exp(-AC)I+CWVI處於最小。 V和I發生在兩個條款中,它不會影響最低點,可以忽略。我們只需要取C的導數,將所得導數設為0,得到C=ln(10A/W)/A。

現在我們把一些合理的數字插入上述方程,得到一個粗略的最佳挑戰期。

假設一個區塊時間的連續審查的成功率高達99.99%,相當於A=-ln(0.99)=0.01。

進一步假設每天有總價值的1%被提取,按15秒一個區塊計算,每個區塊的提取比例約為W=0.000002。

將這些插入公式,我們得到一個最佳挑戰延遲C=62146個區塊,即10.79天,這與Arbitrrum團隊最終選擇的7天最佳挑戰期非常接近。

如何抵禦審查制度的攻擊

在本節中,我們將討論Arbitrum如何防禦四種主要類型的審查攻擊:分叉攻擊、迴避攻擊、幹擾攻擊和速度惡魔攻擊。

分叉攻擊:礦工合謀(或被收買)丟棄包含正常挑戰的區塊,以便接受一個不包含挑戰的替代鏈。

首先,由於挑戰者的存在,一旦發生分叉攻擊,將不可避免地被某個挑戰者發現。而當大家發現區塊鏈中的挖礦壟斷者(這是分叉攻擊的前提條件)為了利益不受約束地破壞規則時,區塊鏈本身就已經被破壞了。此時,無論Arbitrum是否採用挑戰期的設計模式,這一點都沒有意義。

迴避攻擊:礦工合謀(或受賄),在他們製作的區塊中省略正常的挑戰。

我們假設壟斷者控制了90%的挖礦算力,期限是50個區塊。壟斷者需要連續打包50個區塊來完成攻擊。概率是0.9的50次方,也就是只有0.5%。而實際的挑戰期遠遠超過50個區塊,所以攻擊成功的概率是非常小的。在Arbitrum的設計中,當攻擊失敗時,攻擊者將支付巨額罰款,壟斷者發起迴避攻擊是相當不划算的。

幹擾攻擊:攻擊者發起'老式的拒絕服務攻擊'(DoS),阻止其他方發布任何交易(無法發布包含挑戰的交易)。

由於只要有一個誠實的挑戰者,攻擊就會失敗,攻擊者必須幹擾所有可能的挑戰者。如果有很多這樣的挑戰者,攻擊就已經很難完成了。更糟糕的是,任何利益相關方可能已經僱用了一個沉默的觀察者作為備份。他們只在主要參與者太晚或難以發布挑戰時才會介入。攻擊者不會知道是否有沉默的觀察者,或者如果他們存在,他們是誰,所以在他們行動之前,沒有實際的方法來發起DoS攻擊。

速度惡魔攻擊:攻擊者產生鏈上斷言的速度非常快,以至於其他各方沒有時間在最後期限前檢查和挑戰所有斷言。

Arbitrum防禦速度惡魔攻擊的方法是限制斷言的創建速度,以確保在任何時候,檢查待定斷言並在挑戰一個斷言所需的總工作能在協議的最後期限內順利完成。具體來說,是對Rollup鏈中的智能合約的進展施加一個速度限制,因此,即使有人能夠快速製造出大量的斷言,它最終也不得不放慢速度。

綜上所述,我們不需要太擔心分叉攻擊。在發生惡意挖礦壟斷的情況下,這種區塊鏈已經從根本上失去了吸引力。 Arbitrum可以通過適當的設計或實踐來抵御其他三種審查攻擊。

Sequencer模式的優勢和風險

Sequencer模式是Arbitrum的一個可選的功能,Offchain Labs在主網啟動時操作唯一的Sequencer節點。

Sequencer被賦予有限的權力來控制Inbox中每筆交易的排序,以保證用戶交易的結果立即生效,而不需要在以太坊上等待5分鐘來確認區塊,甚至不需要像在以太坊一樣等待15秒的出塊時間。

同時,一個行為良好的sequencer可以有效地抵禦Front-Running攻擊。

因此,由Offchain Labs運營的集中式、行為良好的Sequencer節點對項目的早期發展非常有利,可以減少很多麻煩,但安全風險也很明顯(雖然很難想像Offchain Labs會有惡意)。 Offchain Labs承諾,一旦技術成熟,將改用去中心化的多Sequencer節點方案。

原文:hackernoon


原文:hackernoon

編譯:比巴卜呀

比巴卜呀
作者文库