1. 程式人生 > >比特幣核心出現史上最嚴重漏洞 惡意礦工或可人為地誇大BTC供應

比特幣核心出現史上最嚴重漏洞 惡意礦工或可人為地誇大BTC供應

根據比特幣核心(Bitcoin Core)開發人員最新披露的宣告 CVE-2018-17144 顯示,他們最新修補的漏洞破壞力可能比預想的要嚴重的很多。以太坊錢包

比早期公佈的比特幣漏洞更加嚴重 近日,比特幣核心開發人員披露了幾個漏洞,可能會對比特幣客戶端的一些操作執行產生影響並且已經呼籲社群內的所有節點需要執行修復補丁,進行軟體升級。

根據比特幣核心開源網站上披露的資訊,本次共發現了兩個漏洞,一個是服務拒絕(Denial of Service)元件漏洞,另一個是更為嚴重的通貨膨脹(inflation)漏洞。根據最初的報道,一些比特幣核心開發人員只在 Bitcoin ABC 和比特幣無限(Bitcoin Unlimited)客戶端上發現了服務拒絕bug,但是他們很快判斷出,這個問題可能會同時引發通貨膨脹漏洞——簡單的說,就是這個漏洞可能使惡意礦工通過特定型別的雙重支出(double spend)交易去人為地誇大比特幣供應。

現階段,比特幣核心社群稱最新的 0.16.3 和 0.170rc4 版本已經修復了這些問題,同時還發布了中發現和修補漏洞的時間線。不僅如此,比特幣核心卡法人員還做了進一步解釋:

“在比特幣核心 0.15.X、0.16.0、0.16.1 和 0.16.2 三個版本中,任何人嘗試在一個區塊內的單個事務中進行雙重支出交易輸出,且該支出的輸出被建立在統一去看中,那麼就會發生相同的斷言失敗(assertion failure),這個問題已經存在於0.16.3 補丁包中的測試用例中,因此0.16.3補丁升級應該可以解決這個問題。但是,如果在前一個區塊中建立了雙重支出的輸出,那麼一個‘entry’仍然會保留在CCoin對映中,並且DIRTY標誌已經被設定、或是已經被標記為‘已支出(spent)’,因此就不會產生此類斷言,比特幣價值就會被用兩次,繼而會讓礦工製造通貨膨脹,也就是誇大比特幣供應。”

(編者注:編寫程式碼時,我們總是會做出一些假設,斷言就是用於在程式碼中捕捉這些假設。斷言表示為一些布林表示式,程式設計師相信在程式中的某個特定點該表示式值為真,可以在任何時候啟用和禁用斷言驗證,因此可以在測試時啟用斷言而在部署時禁用斷言。同樣,程式投入執行後,終端使用者在遇到問題時可以重新啟用斷言。)

一開始,比特幣核心開發人員發現的是一個“不算很大”但仍較為嚴重的Dos錯誤,該問題會導致礦工節點朋克,並破壞比特幣網路。然而,這麼做會導致他們放棄自己的區塊獎勵——現階段,即為 12.5 BTC(約合 83,500 美元)。

同樣根據比特幣核心釋出的宣告披露,這個錯誤其實從 0.14 版本就一直存在於比特幣核心軟體中了——儘管直到最近才被發現。而在比特幣核心 0.15 版本中,出現的bug則能讓惡意礦工通過特定型別的雙重支出交易去人為地誇大比特幣供應。

比特幣核心社群呼籲儘快進行補丁升級 比特幣核心開發人員表示,儘管本次漏洞嚴重性還沒有達到無法控制的地步,但仍然強烈建議社群升級軟體,而且通過延遲釋出全部問題,已經給系統升級提供了足夠的時間,礦工、企業和其他受影響的系統需要儘快部署補丁。

此外,目前有超過一半的比特幣雜湊率已經升完成了修補節點升級,但還不知道任何是否會有人企圖利用此漏洞。但是,受影響的使用者可以使用最新的補丁進行升級,這樣就能確保不會出現大規模重組、挖掘無效區塊、或是接受無效事物等情況的發生。

另一方面,比特幣社群成員、也是 Bitcoin.org 網站擁有者之一的 Theymos 認為,升級到比特幣核心 0.16.3 版本是必需的。他透露,大約有不到 200 次確認的交易都會存在被撤銷的可能性,如果不加以重視,未來可能會出現分裂。

值得一提的是,目前比特幣核心節點升級貌似仍然未能在社群內達成一致。

另一位比特幣核心開發人員 Luke-jr 聲稱現在就更新補丁還為時過早。他在推特上寫道:

“在我看來,升級釋出補丁時間太過早了,目前只有2%的網路進行了升級。”

Luke-jr 甚至表示,礦工巨頭位元大陸有可能利用本次漏洞製造通貨膨脹並摧毀比特幣網路,而不是等待這個漏洞被修復並維護網路安全和價格穩定性。

比特幣核心漏洞處理方式引發爭議 Bitcoin.org 另一位聯合擁有者、也是比特幣現金(BCH)的倡議者 Cobra 認為,本次漏洞的潛在影響非常可怕,而且比特幣核心社群處理此漏洞的方式也不盡如人意。他在推特上發文表示:

“比特幣核心處理這個漏洞的表現非常差勁,他們首先撒謊稱該漏洞只是一個 Dos 問題,現在真相大白,確認此漏洞會讓惡意礦工通過特定型別的雙重支出交易去人為地誇大比特幣供應,而且這個風險警告還是從比特幣現金社群發出的!”

正如比特幣核心開發人員 Luke-jr,漏洞問題現在已經出現,比特幣網路似乎並不像人們想象的那麼安全,仍然還有很長的路要走。