程式漏洞導致虛擬貨幣被駭客無限制提領

作者 | 發布日期 2016 年 06 月 21 日 17:37 | 分類 支付方案 follow us in feedly
ethereum

自從比特幣打響虛擬貨幣的名號,不少人也想創造不少監管的虛擬貨幣,或是利用大家的焦點進入大肆炒作。虛擬貨幣 Ethereum 平台驚傳被駭,駭客利用程式漏洞能夠無限制提領虛擬貨幣。



Ethereum 平台是公開的區塊鍊平台,具有可自動交易的特性。這次被駭共被偷走 5,300 萬 Ether 幣,折合 1 億 5,000 萬美元,問題出在 Ethereum 的 DAO,decentralized autonomous organization 去中心化自主組織機制。DAO 能夠讓 Ethereum 參與者集資用 Ether 幣共同投資專案,過程完全靠程式來完成不必人工介入。如果專案達標則會給專案團隊資金,未達標則會退還 Ether 幣。

Ethereum 這次被駭牽涉到 Ethereum 的聰明合約 (smart contract) 機制。由於 Ethereum 貨幣本身有程式語言能被執行。問題出在有人退出時,程式執行 splitDAO() 指令,結果 splitDAO() 指令還可以再呼叫第二次,因此造成多給退出者原本他退回的 Ether 幣 之外,更多的 Ether 幣。駭客利用這項漏洞反覆執行,直到沒有 Ether 幣為止。

儘管 Ethereum 官方已經緊急修理程式的漏洞,並且也 soft fork 了,但是共同創辦人 Vitalik Buterin 的回應卻引發眾恕,紛紛在 Hacker News 上執疑 Buterin 的見解。Buterin 認為要完全信任程式,即便程式臭蟲造成溢付的狀況,由於程式碼視同契約,如果輕易的改程式碼,不就跟不少人眼中邪惡的銀行家一樣,修規則符合自身需求。

有駭客在 Pasebin 上貼文聲稱自己幹走價值 5,300 萬 Ether 幣。不過 Ethereum 專案的 Nick Johnson 卻質疑最後留下的簽名無效。

由於 DAO contract 的關係,這些退款放在某個帳戶中,直到 26 天後才會釋出。目前 Ethereum 專案社群研擬 hard fork 的方式回覆狀態。如果大家同意採用 hard fork 方式強硬執行,就會回到原先 Ether 幣被駭之前的狀況,意即在那之後的交易都會被取消了。

看來不論 Ethereum 社群怎麼做,都會有人有意見。如果採用 hard fork 則背叛原先遵循的 DAO,由程式執行的程式碼,跟邪惡的銀行家沒兩樣了。或是放任人為的程式錯誤不管,則會讓大家不信任 Ether 幣,以及 DAO 機制。以往簽合約需要聘律師確保自己權力,還有自己能佔便宜的地方,在虛擬貨幣的世界,簽訂「合約」要靠駭客了,除了確保自己,還要找潛在對自己有力的程式碼。

關鍵字: , , ,

發表迴響