智能合約的安全性需要關(guān)注最先出現(xiàn)在己任區(qū)塊鏈。
]]>智能合約原理
因此,智能合約的編寫者需要極為謹慎,避免編寫出有邏輯漏洞或是執(zhí)行動作本身有不確定性的智能合約。不過,一些區(qū)塊鏈平臺引入了不少改進機制,對執(zhí)行動作上的不確定性進行了消除,如超級賬本項目的Fabric子項目,即引入了先執(zhí)行、背書、驗證,再排序?qū)懭胭~本的機制;以太坊項目也通過限制用戶只能通過其提供的確定性的語言(Ethereum Solidity)進行智能合約的編寫,確保了其上運行的智能合約在執(zhí)行動作上的確定性。
2016年著名的The DAO事件,就是因為智能合約漏洞導(dǎo)致大約幾千萬美元的直接損失。The DAO是當(dāng)時以太坊平臺最大的眾籌項目,上線不到一個月就籌集了超過1 000萬個以太幣,當(dāng)時價值一億多美元。但是該智能合約的轉(zhuǎn)賬函數(shù)存在漏洞,攻擊者利用該漏洞,盜取了360萬個以太幣。由于此事件影響過大,以太坊最后選擇進行回滾硬分叉挽回損失。The DAO智能合約的具體內(nèi)容感興趣的讀者可以自行查閱(1)。但是我們并不能因此而否認智能合約的價值,任何事物在發(fā)展初期必然因為不完善而存在風(fēng)險,因噎廢食并不可取。
隨著智能合約的普及,智能合約的編寫必然會越來越嚴謹、規(guī)范,同時,其開發(fā)門檻也會越來越低,對應(yīng)領(lǐng)域的專家也可參與到智能合約的開發(fā)工作中,智能合約必定能在更多的領(lǐng)域發(fā)揮越來越大的作用。隨著技術(shù)的發(fā)展和大家對智能合約安全的重視,從技術(shù)上可以對智能合約進行靜態(tài)掃描,發(fā)現(xiàn)潛在問題反饋給智能合約開發(fā)人員,也可以通過智能合約形式化驗證的方法全面地發(fā)現(xiàn)智能合約中存在的
智能合約的安全性需要關(guān)注最先出現(xiàn)在己任區(qū)塊鏈。
]]>