BCH硬分叉背後如何解決重放攻擊?

買賣虛擬貨幣

BCH硬分叉背後如何解決重放攻擊?今天來說一下BCH硬分叉,去年11月16日凌晨2:16分,BCH在第556767個塊高度發生硬分叉,分叉大戰落下帷幕,分成了BCH ABC和BCH SV兩個陣營。

在此次此次硬分叉中,BCH ABC和BCH SV雙方都沒有進行“重放保護”。也就是說,此次分叉後,理論上,重放攻擊將有可能導致任何一方發生共識崩塌和算力歸零。

何謂“重放攻擊”

傳統計算機術語中,重放攻擊(Replay Attacks)又稱重播攻擊、回放攻擊,是指攻擊者傳送一個目的主機已接收過的資料包,來達到欺騙系統的目的。重放攻擊在任何網路通訊過程中都可能發生,是計算機世界駭客常用的攻擊方式之一。主要用於身份認證過程。

而在區塊鏈領域,重放攻擊(Replay Attacks)通常出現在區塊鏈硬分叉的時候,指的是“一條鏈上的交易在另一條鏈上也往往是合法的”。

有一個例子可以簡單的說明什麼是區塊鏈中的“重放攻擊”:

小A向某個不能有效識別付款(這裡指不能判斷是哪一筆付款)的啤酒廠買啤酒,當他把用支付寶成功付款的付款資訊出示給銷售員後, 銷售員把啤酒給他。 然後小A又再把上次的付款資訊出示給另一個銷售員, 銷售員又給他一份啤酒。 只要小A不斷重複出示他的付款資訊,就可以源源不斷騙得啤酒, 這對於啤酒廠來說就是被重放攻擊了,損失了無數啤酒。

就本次BCH硬分叉來說,BCH由一條鏈變成了兩條鏈,在這兩條鏈都得到支援並持續運營的情況下,另外一條分叉出來的鏈又產生了BSV這一資產,也就是BCH ABC和BCH SV都存在。由於沒有重放保護,分叉完了之後如果不去管它,任其自然生長,這時候就會出現這樣的情況:你在SV鏈上交易時,由於相同的地址、演算法和交易格式,拿到ABC鏈上去重新廣播,就有可能會被ABC鏈承認有效,從而進行相同的交易操作。攻擊者一旦利用這個漏洞,不斷在交易所進行充提操作(BCH SV), 就能獲取額外的BCH ABC。

這就意味著,沒有重放保護的BCH使用者資產已經被暴露於風險之中,更嚴重的,還將導致共識崩塌和算力歸零。

“重放攻擊”源起:以太坊硬分叉

2016年7月20日晚,以太坊在第192萬個區塊高度發生了硬分叉,產生了兩條鏈,分別稱為ETH chain和ETH Classic chain,上面的代幣分別稱為ETH和ETC。

這兩條鏈上的地址和私鑰演算法相同,交易格式也完全相同,導致在其中一條鏈上的交易在另一條鏈上很可能是完全合法的。所以你在其中一條鏈上發起的交易,放到另一條鏈上去重新廣播,可能也會得到確認。

由於事先沒有做好預案,很多人利用這個漏洞,不斷在交易所進行ETH充提操作,獲取額外的ETC。 “重放攻擊”得以在區塊鏈世界被重新定義。

受重放攻擊的影響,對使用者來說,以太坊目前的問題是存在的。因為ETH和ETC都有很好的經濟量,而使用者如果無法解決掉自己的操作被重放的可能,他想賣其中一個資產的同時保留另一個資產,要麼自行進行分離,要麼就只能在交易所的協助下才能實現了。

應對:先分離 再交易

既然BCH在沒有重放保護的前提下已經發生分叉,被重放無法避免,那麼,為了避免受損失,交易所和使用者都有必要在進行新的交易之前,對所持有的BCH ABC/BCH SV進行分離。

讓我們回看一下BCH升級後的兩個版本:bitcoin abc 0.18.2和bitcoin sv 0.1.

Abc0.18.2協議版本主要修改是增加了兩個操作碼OPcode, OP_CHECKDATASIG (CDS)和OP_CHECKDATASIGVERIFY(DSV);將區塊裡的交易排序規則從拓撲排序(TTOR)改成了規範排序(CTOR)。

SV0.1協議版本主要修改是恢復了比特幣早期的四個操作碼OPCode,OP_MUL,OP_LSHIFT,OP_RSHIFT,OP_INVERT;刪除每個指令碼201個操作碼的限制;提高區塊大小上限到128MB。

由於兩個版本都更新了操作碼,對於已經持有BCH的使用者來說,使用新的 OP code進行交易操作,應先進行分離再操作賬戶更為穩妥。

分離最簡單有效的辦法,就是在分裂點後100個區塊,從礦池購買一丁點Coinbase交易的UTXO,發到你的BCH錢包裡,然後將所有餘額一次性轉入一個新地址。只需要在一條鏈上這麼做一次,就可以徹底分離出來了。

分離兩種資產後,新OPCode你就可以使用了,不會出現因被重放而導致新OPCode在BCH鏈上有安全隱患的情況。

在此安比(SECBIT)實驗室提醒廣大BCH持有者和支援ABC/BSV的交易所,在分離你/你的使用者的BSV之前,為避免重放造成損失,在交易中謹慎使用新的OPCode。

免責聲明:

  1. 本文版權歸原作者所有,僅代表作者本人觀點,不代表鏈報觀點或立場。
  2. 如發現文章、圖片等侵權行爲,侵權責任將由作者本人承擔。
  3. 鏈報僅提供相關項目信息,不構成任何投資建議

推荐阅读

;