虛擬貨幣具有去中心化的特點,理論上不存在被盜的可能,但無數事實告訴我們,只要有交易,駭客有無數種方式盜竊虛擬貨幣,並不一定要破解加密貨幣。
就在近日,區塊鏈初創公司MonoX Finance表示,一名駭客透過用於起草“智慧合約”的軟體漏洞,竊取了3100萬美元。
該公司使用一種被稱為MonoX的去中心化金融協議,交易雙方透過名為“Mono”代幣進行交易,大體過程為:
1.檢查兌換引數是否正常
2.計算應輸入輸出代幣的數量以及代幣兌換後的價格
3.執行兌換操作,並將新的代幣寫入賬本
在不同代幣兌換時,上述過程能正常執行,但在同種代幣兌換時,則出現了兩個問題,在執行第二個步驟時,沒有考慮兌換過程中,交易池代幣儲量的變更。最後一步沒有考慮同種代幣進行兌換時,兌出代幣的價格更新操作會覆蓋兌入代幣的更新操作。
這就導致駭客可以利用這一漏洞,大幅提升Mono代幣的價格。攻擊者不斷用Mono代幣,兌換Mono代幣,透過反覆兌換,不斷拉昇代幣價格,最後再用Mono代幣兌換其他虛擬貨幣。
經過55次操作,Mono代幣被拉昇到一個可怕的價格,致使MonoX Finance損失高達3100萬美元。
有人可能會覺得,這駭客的技術得多牛,才能發現協議漏洞,盜取公司鉅額的財產。實際上這個漏洞相當低階,講一個例子你就明白了。
張三和李四兩人都是賣雞蛋的,現在一斤雞蛋才5塊錢,他們倆都覺得價格太低,於是商量著怎麼抬高雞蛋價格。
因為這片區只有兩人買雞蛋,張三想了一個絕妙的方法。首先,李四以每斤7塊錢的價格,從張三手中買走一斤雞蛋,張三再從李四手中以9塊錢一斤的價格買走一斤雞蛋,如此反覆,雞蛋價格被炒到100塊錢一斤。
這個例子在現實中根本無法成立,因為他們倆在那邊倒來倒去,雞蛋的價值還是5塊錢,太貴根本沒人買,或者人們就會尋求其他替代品,比如吃鴨蛋。到頭來,張三的雞蛋還是隻能以5元一斤的價格往外賣。
問題是計算機程式不是人,它只會執行人類為它事先設定好的操作。按照設定,李四以每斤7塊錢的價格向張三買雞蛋後,計算機程式認為張三的雞蛋都值7塊錢,而且不會買一斤少一斤,原來多少還是多少。
100塊錢一斤的雞蛋,不會有人買,但計算機程式會照單全收,就產生了這麼一出鬧劇。
用Mono代幣買Mono代幣本來應該被禁止。假如有一家公司對外宣佈,本年公司流水高達3萬億美元,結果一調查發現,這家公司根本就是空殼公司,之所以有這麼高的流水,是透過拿1萬美元去買1萬美元,反覆操作來的。
在會計行業,像這種操作不具有商業實質,是不能確認收入的。但MonoX協議卻允許這種操作……
更讓人無語的是,MonoX在今年已經接受了三項安全審計,均沒有發現這一低階漏洞。
MonoX並不是唯一的受害者,十月份,駭客利用Indexed Finance公司其重新平衡指數池方式進行攻擊,損失約1600萬美元。區塊鏈分析公司Elliptic所謂的DeFi協議已經損失120億美元。
因為底層技術不成熟,使駭客能夠輕易竊取使用者資金,而流動性池使犯罪分子能夠清洗勒索軟體和詐騙等犯罪所得。
不僅如此,消耗大量電力資源進行“挖礦”活動本質上沒有產生任何價值,“炒幣”更是一種風險極高的活動。
在今年9月份,人民銀行等10部門釋出了《關於進一步防範和處置虛擬貨幣交易風險炒作風險的通知》,通知稱,近期,虛擬貨幣交易炒作活動抬頭,擾亂經濟金融秩序,滋生賭博、非法集資、詐騙、傳銷、洗錢等違法犯罪活動,嚴重危害人民群眾財產安全。
通知明確,虛擬貨幣兌換、作為中央對手方買賣虛擬貨幣等虛擬貨幣相關業務全部屬於非法金融活動,一律嚴格禁止,堅決依法取締。