◆張春峰 王國一
(沈陽智能機(jī)器人創(chuàng)新中心有限公司 遼寧 110000)
隨著數(shù)字化時(shí)代的到來,區(qū)塊鏈技術(shù)作為關(guān)鍵的數(shù)字經(jīng)濟(jì)支持技術(shù),成為新的社會經(jīng)濟(jì)發(fā)展引擎。其中,憑借去中心化、不可篡改等優(yōu)點(diǎn),區(qū)塊鏈技術(shù)已經(jīng)廣泛應(yīng)用于多種場景。隨著應(yīng)用場景不斷豐富,智能合約越來越復(fù)雜多變,這樣導(dǎo)致對應(yīng)的安全漏洞越來越多,直接制約著區(qū)塊鏈技術(shù)發(fā)展。隨著關(guān)于智能合約的攻擊行為不斷增加,安全性能讓整個(gè)區(qū)塊鏈行業(yè)備受詬病,做好安全漏洞檢測越來越重要。
智能合約本質(zhì)為一個(gè)程序模塊,被部署于區(qū)塊鏈技術(shù),從而實(shí)現(xiàn)各種服務(wù)于智能合約的豐富的業(yè)務(wù)功能。當(dāng)前隨著區(qū)塊鏈技術(shù)的快速發(fā)展,業(yè)務(wù)功能也趨近復(fù)雜化,可執(zhí)行的操作也豐富多樣。在智能合約的輔助下,用戶可以不通過對區(qū)塊鏈的結(jié)構(gòu)修改而實(shí)現(xiàn)整個(gè)邏輯操作的嵌入,以此實(shí)現(xiàn)區(qū)塊鏈的功能化拓展。作為一類程序化模塊,通常采用定制化程序來實(shí)現(xiàn),例如應(yīng)用于以太網(wǎng)的Solidity 語言和Libra中的Move 語言,并且可通過設(shè)置程序化接口來對接不同編程語言。
為了實(shí)現(xiàn)節(jié)點(diǎn)安全管控,智能合約和節(jié)點(diǎn)之間不再融合在一起,而是以分治的方式作用于區(qū)塊鏈節(jié)點(diǎn)中的沙盒中。程序和數(shù)據(jù)的智能合約分割不是馮諾依曼系統(tǒng)的傳統(tǒng)體系結(jié)構(gòu),因此,安全威脅在一定程度上不同于普通計(jì)算機(jī)。執(zhí)行智能合約往往會導(dǎo)致狀態(tài)變化,對此可在區(qū)塊鏈的不同環(huán)節(jié)之間達(dá)成協(xié)議并在達(dá)成共識后納入?yún)^(qū)塊?!?br>