首頁(yè) ? 智能合約的安全性需要關(guān)注
By Published On: 7 7 月, 2022Categories: 區(qū)塊鏈Tags: ,

因?yàn)楹霞s是嚴(yán)肅的事情,傳統(tǒng)的合約往往需要專(zhuān)業(yè)的律師團(tuán)隊(duì)來(lái)撰寫(xiě)。古語(yǔ)有云:“術(shù)業(yè)有專(zhuān)攻。”當(dāng)前智能合約的開(kāi)發(fā)工作主要由軟件從業(yè)者來(lái)完成,其所編寫(xiě)的智能合約在完備性上可能有所欠缺,因此相比傳統(tǒng)合約,更容易產(chǎn)生邏輯上的漏洞。另外,由于現(xiàn)有的部分支持智能合約的區(qū)塊鏈平臺(tái)提供了利用如Go語(yǔ)言、Java語(yǔ)言等高級(jí)語(yǔ)言編寫(xiě)智能合約的功能,而這類(lèi)高級(jí)語(yǔ)言不乏一些具有“不確定性”的指令,可能會(huì)造成執(zhí)行智能合約節(jié)點(diǎn)的某些內(nèi)部狀態(tài)發(fā)生分歧,從而影響整體系統(tǒng)的一致性。

智能合約

智能合約原理

因此,智能合約的編寫(xiě)者需要極為謹(jǐn)慎,避免編寫(xiě)出有邏輯漏洞或是執(zhí)行動(dòng)作本身有不確定性的智能合約。不過(guò),一些區(qū)塊鏈平臺(tái)引入了不少改進(jìn)機(jī)制,對(duì)執(zhí)行動(dòng)作上的不確定性進(jìn)行了消除,如超級(jí)賬本項(xiàng)目的Fabric子項(xiàng)目,即引入了先執(zhí)行、背書(shū)、驗(yàn)證,再排序?qū)懭胭~本的機(jī)制;以太坊項(xiàng)目也通過(guò)限制用戶(hù)只能通過(guò)其提供的確定性的語(yǔ)言(Ethereum Solidity)進(jìn)行智能合約的編寫(xiě),確保了其上運(yùn)行的智能合約在執(zhí)行動(dòng)作上的確定性。

2016年著名的The DAO事件,就是因?yàn)橹悄芎霞s漏洞導(dǎo)致大約幾千萬(wàn)美元的直接損失。The DAO是當(dāng)時(shí)以太坊平臺(tái)最大的眾籌項(xiàng)目,上線(xiàn)不到一個(gè)月就籌集了超過(guò)1 000萬(wàn)個(gè)以太幣,當(dāng)時(shí)價(jià)值一億多美元。但是該智能合約的轉(zhuǎn)賬函數(shù)存在漏洞,攻擊者利用該漏洞,盜取了360萬(wàn)個(gè)以太幣。由于此事件影響過(guò)大,以太坊最后選擇進(jìn)行回滾硬分叉挽回?fù)p失。The DAO智能合約的具體內(nèi)容感興趣的讀者可以自行查閱(1)。但是我們并不能因此而否認(rèn)智能合約的價(jià)值,任何事物在發(fā)展初期必然因?yàn)椴煌晟贫嬖陲L(fēng)險(xiǎn),因噎廢食并不可取。

隨著智能合約的普及,智能合約的編寫(xiě)必然會(huì)越來(lái)越嚴(yán)謹(jǐn)、規(guī)范,同時(shí),其開(kāi)發(fā)門(mén)檻也會(huì)越來(lái)越低,對(duì)應(yīng)領(lǐng)域的專(zhuān)家也可參與到智能合約的開(kāi)發(fā)工作中,智能合約必定能在更多的領(lǐng)域發(fā)揮越來(lái)越大的作用。隨著技術(shù)的發(fā)展和大家對(duì)智能合約安全的重視,從技術(shù)上可以對(duì)智能合約進(jìn)行靜態(tài)掃描,發(fā)現(xiàn)潛在問(wèn)題反饋給智能合約開(kāi)發(fā)人員,也可以通過(guò)智能合約形式化驗(yàn)證的方法全面地發(fā)現(xiàn)智能合約中存在的