比特幣現最大bug,或將打破固定發行量2100萬枚的預設

上週,人們發現了比特幣最嚴重的bug,並進行了修補。比特幣社區發現,這一bug在兩年前就存在,一旦被別有居心的人利用,那麼比特幣將會被大肆複製,打破比特幣2100萬固定發行量,到時,比特幣的市價還會向現在這麼傲嬌嗎?因此,開發者憂心忡忡,思考如何才能阻止代碼中的bug。

自從發現bug以來,比特幣社區還沒有任何正式提案。由此卻推動了關於比特幣運作的討論,人們甚至還想到了,加密貨幣最常用的軟件實現(軟件實現:就是將代碼利用編譯器編譯生成的軟件)比特幣核心中(Bitcoin Core)是否存在類似bug,這一bug該被怎樣定義和解決。99top交易所(www.99.top),數字資產交易平臺。

PS. Bitcoin Core客戶端是一個由社區驅動的自由軟件項目。

比特幣現最大bug,或將打破固定發行量2100萬枚的預設

Bug一出,其他問題也隨之而來:如果惡意開發者率先找到的開發路徑該怎麼辦?代碼中是否還有其他隱藏bug?是否會由此引發其他災難?

已經有匿名的比特幣愛好者站出來,提醒比特幣社區,不要忘記這一bug的存在,因為它真的像一枚定時炸彈,不知何時會拖垮整個比特幣底層結構。

如果Bitcoin Core的政策、實踐方法保持不變,那麼類似的問題也將發生在Bitcoin Core上,到時就沒有這麼幸運了。

Bitcoin Core處在開放的網絡中,由全球開發者公同參與搭建,但是對於Bitcoin Core是否擁有技術史上最穩定的代碼審核程序,很多人仍存在疑問。

目前,在開放資源的代碼庫中,軟件實現吸引了比以往都多的開發者參與。Bitcoin Core要經過相當多的測試,有人估計,單測試部分就已佔據代碼庫的20%。

比特幣現最大bug,或將打破固定發行量2100萬枚的預設

失誤來自社區而非個人

很多人認為,測試不應該是工程師一個人的責任,比特幣是一個“分散”的項目,眾人共同參與,因此保證比特幣“零失誤”,是每個開發者的責任。

揪住一個開發者讓其承擔全部責任,這樣做並不公平。比特幣核心的維修人員Wladimir也曾站出來表示,錯誤代碼出現是事實。但失誤並非來自某個人,而是來自很多人。

比特幣愛好者認為搭建先進的測試定位並不難,難的是如何發現bug。由於現在多數公司對核心開發沒有任何貢獻。因此,該愛好者還建議,所有的大型比特幣公司,都應該任命比特幣核心測試專家。

對於Bitcoin Core的開發者來說,引導人們在測試方面做出更多努力是一項長期挑戰。在比特幣開發中,代碼審查是一個很大的瓶頸,很大原因在於,能夠進行代碼審查的工程師少之又少。

從某種程度看,測試的藝術性與科學性並不亞於系統工程的其他方面,並非每個人都擁有測試的技能和資質。

比特幣核心的開發者James Hilliard建議開發者提高測試的次數和質量。測試很重要,測試的質量與細節更加重要。

比特幣現最大bug,或將打破固定發行量2100萬枚的預設

搭建多個Bitcoin Core

目前,關於比特幣bug風險的討論依然存在。當然,比特幣作為軟件,曾經出現過bug,未來依然有出現bug的可能,這並不奇怪。

現在,Bitcoin Core是主要的比特幣軟件,佔據了95%的比特幣節點,自然處於討論的風口浪尖。

對此,有人認為,應該開發更多的Bitcoin Core實現,這樣一來,即便某個實現存在致命bug,其他的實現依然能正常運轉,保證比特幣的整體良好運行。

對於其他加密貨幣而言,這樣做已經成為標配,拿以太坊來說,包含兩個主要的實現方式,分別是geth 和parity,軟件運作中,任何一個客戶端都能使用。

比特幣現最大bug,或將打破固定發行量2100萬枚的預設

對比特幣來說,除了Bitcoin Core,確實還有類似代碼實現存在,但知名度相對較低,比如Bitcoin Knots和Btcd。

然而,很多比特幣開發者擔心,增加實現方式,會帶來更多問題,嚴重性甚至超過上週的bug。因為,多個不同的實現方式同時運行,會給攻擊者可乘之機,分割網絡。

雖然,比特幣社區無法阻止bug再次出現,但輕視當前bug,甚至忽視其存在,卻是最錯誤的做法。


分享到:


相關文章: