文章字數:1300字左右
閱讀時間:約2分鐘
上月21日,Bitcoin Core開發者Bryan Bishop發推文預言道,我正考慮在7月初公開中本聰離開前委託給幾位開發者的警報金鑰。
截圖自:Twitter
而七月剛一開始,Bryan Bishop就如約在bitcoin-dev郵件列表上公佈了這個塵封已久的秘密,並且掀起了比特幣社羣成員的熱議。當然這一串字元並沒有什麼好討論的,開發者們更為關注的是金鑰背後的安全問題。
截圖自:bitcoin-dev的郵件列表
1.為保護網路而設,卻淪為安全隱患
所謂警報金鑰,實際上就是啟用比特幣協議內“警報系統”的開關;持有者可以透過它向網路內所有的執行節點發出安全警報,從而起到一定的重要資訊提醒作用。不過與中本聰的設計初衷相反,這個安全警報後來卻成為了網路內的安全隱患。
雜湊派從achow101在Github上釋出的文章瞭解到,警報系統支援多條資訊連續推送,同時傳送的資訊會顯示在GUI介面並儲存到記憶體的Map庫裡面。不過Map庫的大小是沒有限制的,一旦金鑰落到心懷不軌的人手裡,他就能夠向節點傳送海量警報資訊,藉此發起DoS攻擊。
不僅如此,攻擊者還能利用這項功能傳送虛假或無關訊息,從而引起社羣內不必要的恐慌和麻煩。而事實上這種事情也曾有發生,2016年的時候,同樣具有警報系統的萊特幣網路釋出的版本更新提醒資訊,卻因某種原因被同時推送到其山寨幣種Feathercoin所有節點的客戶端內。雖說此次事件並未對Feathercoin造成多大影響;但Bitshop認為,可以隨意在基於同一警報系統的區塊鏈裡傳送警報資訊,“聽起來很危險”。
截圖自:Twitter
2.比特幣早已排除隱患,懶理者或將遭殃
而老早就意識到這些問題的比特幣開發者,在2016年4月15日Bitcoin Core 0.12.1版本釋出的時候已經關停了警報提醒功能;並在隨後上線的0.13.0版本中將其相關程式碼完全刪除。
同年三月開發者更進一步,在Bitcoin Core 0.14.0版本中硬編碼了終極警報,並將其設定為無法被其他訊息所覆蓋;藉此保證所有未升級的節點的執行者都能看到“警報系統已被破壞”的提醒。
不過待一切準備就緒之後,Bitcoin Core並未如承諾般隨後公開警報系統的金鑰。因為部分節點還未升級到新版本客戶端,依然存在被攻擊風險;而早前湧現出的大批次比特幣“山寨幣”的安全問題也同樣引人擔憂。
具體來說,這些幾乎完全引用比特幣原始碼的數字貨幣,如果沒有移除警報系統,又不更改警報金鑰(公鑰),還懶得傳送最終提醒資訊;那麼金鑰一旦釋出,任何人能夠啟動這些網路的警報系統,對它們發起DoS攻擊。
3.拒絕背鍋,正式公佈金鑰
面對如此情況,Core成員之一Greg Maxwell曾發郵件承諾道,他們會花時間搜尋其他還在使用警報系統的加密貨幣,並敦促他們刪除相關程式碼。而根據SatoshiLabs技術長Pavol Rusnak近日的調查顯示,目前Github程式碼庫內,就剩Fargocoin(當前市值排名第1471)這種山寨幣未刪除警報系統了。
潛在風險的專案已所剩無幾,支援0.12版本的比特幣客戶端也接近消失,而當前還停留在較老版本客戶端的使用者佔比已低於3%。為此Bishop認為,比特幣警報系統已“完全退役”,現在公佈金鑰基本上是沒有問題的,對網路安全來說也是好事。
不過除了網路安全問題之外,對於Core開發者來說這次金鑰的公開更多是意味著解脫;因為他們再也不用向要求調整交易費用和挖礦難度等的人解釋,這把金鑰並沒有修改網路規則的功能;也不用擔心網路出現警報系統攻擊的時候,被認定為首要嫌疑物件了。
※更多精彩內容,請關注雜湊派公眾號(ID:hashpai)獲取