Optimistic Rollups側鏈攻擊

作者:扎克-赫斯, Zack Hess https://github.com/zack-bitcoin/amoveo-docs/blob/master/other%5Fblockchains/optimistic%5Frollups%5Fsidechain%5Fattack.md

Optimistic Rollups側鏈攻擊 #

這是試圖表明,如果樂觀的卷積的規模比線性的差。如果你增加tx生產的速度,每tx的費用必然增加。

一個成功的擴展方案是,隨着TXS總數的增加,TXS費用會減少。

Optimistic rollups有分片 #

如果我們增加我們可以存儲在共識空間中的可用數據量,但仍然試圖只維護一個單一的每個人的餘額的默克爾樹,我們會遇到縮放限制。就是不可能把元素插入到一個單一的默克爾樹中,並重新計算默克爾的根,超過一定的速度。這種計算有一些方面是不能並行化的。因此,無論我們在網絡上增加多少臺計算機,我們在任何單一的默克爾樹上更新賬戶餘額的速度仍然會有一個上限。

因此,爲了克服這個限制,我們需要維護多個賬戶餘額的數據庫,稱爲分片。我們需要一些較慢的機制來將價值從一個分片中轉移到另一個分片中。

optimistic rollups需要領導 #

讓我們假設有一個以上的人有權限發佈側鏈區塊。如果是這樣的話,那麼他們中的任何一個人都有可能進行3級悲痛攻擊。

一個側鏈區塊需要容納許多TXS,但攻擊者可以建立一個只包含1個TXS的矛盾側鏈區塊,他可以讓他的小矛盾區塊插入到大區塊前面。

因此,攻擊者的成本是在可用的共識狀態中發佈一個tx的成本。而攻擊造成的破壞與平均側鏈區塊的大小成正比,我們從欺詐證明分析中知道,這至少是O(sqrt(sqrt(可用共識空間中的txs總數)))。由於破壞大於攻擊的成本,這將是一個3級攻擊。因此,這意味着有一個側鏈,超過一個人有權限發佈區塊是不安全的。

因此,這意味着在任何時候,都需要有一個人,或一些人擁有製作側鏈區塊的獨家許可。他們是該側鏈的領導。

永久性領導不起作用 #

如果任何一個側鏈的領導權是永久性的,那麼該側鏈將容易受到軟分叉的賄賂攻擊。 proof_of_stake.md

只要領導層定期更換,而你又無法預測誰是下一任領導,而且一下子賄賂所有分片的驗證者是不可行的,那麼賄賂就是無效的。因爲你不知道你需要將誰鎖定在一個合同中,以獲得你開始執行攻擊所需的保證。

如果領導層只是很少被調換,那麼對單輪領導層執行這種攻擊仍然是有利可圖的。所以我們需要的是,輪換領導的成本不會太高。

你可以根據他們換出的時間長短,以及分片中的價值多少來賺取一些利潤。而成本則是基於如果他們進行這種攻擊,有多少股權可能會受到懲罰。

每條側鏈的領導 #

如果我們希望攻擊的利潤是恆定的,那麼一個分片中的硬幣~每個分片中的股權

通過分析欺詐攻擊,我們知道分片的數量是sqrt(tx生產率),所以每個分片中的硬幣部分一定是sqrt(tx生產率)。

假設每個領導的股權保持不變。

每個分片的領導~平方(Tx生產率)

領導層輪換的成本 #

交換領導權的成本與領導者各自同步另一條側鏈的成本相同。

旋轉的成本=O((#領導)*(同步一個側鏈的成本))

同步一個側鏈的成本至少是O(該側鏈的大小)。通過分析欺詐證明,我們知道這個規模至少是O(sqrt(tx產生率))。

通過分析欺詐證明,我們知道側鏈的數量至少是O(sqrt(tx產生的速率))。

= O((#分片)*(每個分片的#領導)*(側鏈的大小))

= O(sqrt(tx生產率)*(sqrt(tx生產率))*(sqrt(tx生產率)))

旋轉成本=O((Tx生產率)^(3/2))

因此,這意味着每個側鏈的每個tx費用需要隨着整個Optimistic Rollups網絡中tx生產率的增加而增加。如果Optimistic Rollups網絡變得4倍大,所有分片中的最低tx費用將變得至少2倍大。