文|李偉志
????????智能合約蘊(yùn)含著巨大潛力,這項(xiàng)新技術(shù)可用于身份驗(yàn)證藕届、確保數(shù)據(jù)共享安全及在ICO或代幣銷售中管理代幣和募集資金挪蹭,但您的智能合約有多聰明?
????????以太坊網(wǎng)絡(luò)有逾1500個(gè)分散式應(yīng)用程序(dApps)休偶,所有這些應(yīng)用程序都使用了智能合約來完成各種任務(wù)梁厉。但智能合約的問題在于它是基于代碼的,因此在本質(zhì)上容易出錯(cuò)踏兜,且其中一些錯(cuò)誤示非常致命的词顾。
????????智能合約基礎(chǔ)知識(shí)
????????簡而言之,智能合約是一組代碼碱妆,只要符合合同規(guī)則肉盹,哪怕沒有第三方的介入,該代碼也可自動(dòng)執(zhí)行疹尾。這與紙質(zhì)合同大有不同上忍,因?yàn)榧堎|(zhì)合同始終由第三方強(qiáng)制執(zhí)行。
????????但是航棱,也由于智能合約是基于代碼的睡雇,它容易出現(xiàn)錯(cuò)誤、漏洞和缺陷饮醇,而這些問題會(huì)使資金面臨被盜和操縱的風(fēng)險(xiǎn)它抱。
????????當(dāng)智能合約的表現(xiàn)差強(qiáng)人意時(shí)
????????最中心化自動(dòng)組織(DAO)的智能合約代碼低級(jí)、臭名昭著朴艰,是智能合約表現(xiàn)差強(qiáng)人意的典例观蓄,該智能合約旨在資助而不受個(gè)人或組織操控的加密貨幣項(xiàng)目。從本質(zhì)上講祠墅,DAO代幣持有人獲準(zhǔn)對(duì)那些值得資助的項(xiàng)目進(jìn)行投票侮穿,這導(dǎo)致在悲劇發(fā)生之前代幣持有人共購買了2.5億美元的以太幣。
????????有問題的代碼的兩個(gè)部分是造成大肆宣傳的DAO項(xiàng)目的崩潰的罪魁禍?zhǔn)谆汆拢@導(dǎo)致以太坊區(qū)塊鏈中的一個(gè)有爭議的硬分叉進(jìn)入以太坊經(jīng)典亲茅。
????????負(fù)責(zé)的兩個(gè)職能是splitDAO和withdrawRewardFor,盡管它們本身并不脆弱。然而克锣,黑客可將400萬以太幣竊取一空茵肃。因此,以太坊社區(qū)或多或少會(huì)被迫對(duì)其區(qū)塊鏈進(jìn)行部分攻擊袭祟,然后重新進(jìn)行編寫验残,從而營造出資金從未失竊的假象。
????????在Parity使用的智能合約中發(fā)現(xiàn)了另一個(gè)最新漏洞巾乳。使用有問題的智能合約后導(dǎo)致?lián)p失50萬以太(價(jià)值高達(dá)1.69億美元)您没,70個(gè)錢包遭到凍結(jié),資金也洗劫一空胆绊。
????????實(shí)際上氨鹏,Parity已承認(rèn)在漏洞發(fā)生之前的幾個(gè)月收到過此類警告,但并未解決該問題辑舷,后來表示:“但我們堅(jiān)信喻犁,不僅需要進(jìn)行更多的審計(jì),而且需要在部署何缓、監(jiān)控和合同測(cè)試方面多下功夫肢础,采用更為廣泛和正式的程序與工具來確保安全性。我們認(rèn)為整個(gè)生態(tài)系統(tǒng)迫切需要這樣的程序和工具來防止類似問題再次發(fā)生碌廓,特別是在使用中的合同數(shù)量和復(fù)雜性不斷增加的情況下传轰。”
????????2017年6月谷婆,由于智能合約漏洞慨蛙,Parity再次遭到黑客入侵,導(dǎo)致15萬以太幣失竊纪挎。
????????基于以太坊的智能合約有何不妥期贫?
????????以太坊的主要問題在于它主要使用Solidity這種高級(jí)編碼語言編寫,因此异袄,許多程序員必須學(xué)習(xí)一種全新的編碼語言通砍,這會(huì)增加人為錯(cuò)誤的機(jī)會(huì)。
????????遺憾的是烤蜕,許多新項(xiàng)目缺乏正確審核其智能合約的經(jīng)驗(yàn)和時(shí)間封孙。這就是COINAdmin等解決方案的用武之地,它有助于完成和隨后審核智能合約讽营,并驗(yàn)證代碼有無漏洞虎忌。