可延展性攻擊:為何如此重要

買賣虛擬貨幣
加密領域的許多人都聽說過“交易延展性”,並且它是“不好的”。但是,什麼是“交易延展性”,為什麼不好?讓我們快速瞭解一下。在像比特幣這樣的加密貨幣中,交易是在使用者之間轉移價值的原子操作。使用者建立事務並將其釋出到網路。這些交易傳播網路並最終被挖掘到區塊鏈中。接收者使用區塊鏈來確定交易是否得到確認。在隨著成千上萬筆交易的進行,使用者如何快速識別它們以便能夠區分它們?如何在不使用某些緩慢的全域性登錄檔系統的情況下,以一整套相同的方式快速地,唯一地標識全球範圍內的所有斷開連線的使用者的交易?答案很簡單,您可以使用交易的加密hash作為識別符號。加密雜湊允許任何人僅使用資料本身派生任何資料的指紋。指紋是唯一的,每次計算都是一樣的。即使更改1位資料,指紋雜湊也會完全更改。在比特幣中,事務的雜湊稱為事務的txid,並充當該事務的通用唯一識別符號。很好,那麼什麼是延展性?
交易可延展性可延展性是指在不使事務失效的情況下更改事務(TXID)識別符號的能力。根據加密貨幣的不同,有很多方法可以做到這一點。跨所有加密貨幣的通用方式是透過簽名延展性,這是本文的重點。ECDSA數字簽名的數學原理,可以更改簽名,但不會使其失效。雖然這不允許偽造這些簽名,但允許攻擊者更改包含這些簽名的事務的txid,這可能會導致嚴重後果。可延展性攻擊

假設bob透過一個帶有識別符號x的事務向alice支付了一些比特幣,假設在挖掘之前,x被擴充套件為一個新的識別符號x’。alice收到了付款,但bob不知道。既然alice知道bob不知道,她就騙bob再次付款。她重複這一過程,直到bob最終意識到發生了什麼,但這可能為時已晚。在現實世界中,這種攻擊是按以下方式在交易所執行的:

在這種情況下,攻擊者:

1.紅色圓圈一女巫Sybil節點
2.使用女巫Sybil節點包圍交換節點(黃色圈)。
3.從交易所提款。
4.提款X離開交易所後,Sybil節點將提款延展至X'。
5.X'會傳播到網路中。

當X'被挖掘到下一個區塊時,攻擊者已收到提款X',但是交易所後端尚未確認收到提款,因為它正在區塊鏈中尋找X。知道這一點,攻擊者將繼續:

6.要求交易所重複提款,因為“還沒有透過”。
7.沖洗結果並重復提款。

取決於交易所的規模大小,攻擊者可以採用“寄生策略”,透過這種方式,只需不斷少量體現就可以耗盡交易所。這使攻擊者可以在未發現的情況下,重複體現直到交易所管理人員發現為止。或者攻擊者也可以採用“吸血鬼策略”,從而在系統管理員做出響應之前,以高頻率的大筆撤資消耗掉交易所。

無論採用哪種策略,這都是一個問題,加密貨幣架構師都需要去解決可延展性問題。

注意:實際上對於步驟(2)攻擊者無需完全包圍交易所節點。儘管攻擊成功的可能性較低,但僅需要幾個連線即可執行攻擊。包圍得越多,概率越高。

解決可延展性問題

比特幣(BTC)透過引入隔離見證(Segwit)而“解決了”延展性,隔離見證將簽名與TXID計算隔離開來,並用對該簽名的不可更改的雜湊承諾來代替它。該雜湊用作指向簽名的指標,該簽名儲存在另一個資料結構中。為了驗證交易簽名,驗證者使用雜湊在其他資料結構中查詢簽名,然後執行常規的ECDSA驗證。這消除了簽名作為交易可延展性的來源,因為它們儲存在交易之外,並且不能將指向簽名的雜湊指標進行延展。但是它引入了對包含簽名的其他資料結構的依賴性。比特幣的一個小折衷,但意義重大。

雖然Segwit本身並不是一個壞主意,但部署和由此產生的部署政治在比特幣社羣內部引起了分裂。這導致社羣分為比特幣(BTC)和比特幣現金(BCH)。儘管將隔離見證(Segwit)吹捧為主要原因,但潛在的問題更多是與隔離見證的部署有關,而不是技術問題。另外,“永遠不要軟叉,永遠不要硬叉”的政策暗示著1MB塊大小實際上是鎖定的,這對於許多人來說是不可接受的。

反對隔離見證(Segwit)的技術論點更多地與它作為軟叉的無用複雜性有關,而與它作為硬叉的健全性無關。作者認為,Segwit作為軟叉是使比特幣破裂的源頭。然而作為硬叉的Segwit是(並且仍然是)技術上合理的延展性解決方案。

免責聲明:

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

推荐阅读

;