[發明專利]一種基于棧指令序列的智能合約相似度檢索方法及系統在審
| 申請號: | 202010176290.0 | 申請日: | 2020-03-13 |
| 公開(公告)號: | CN111460454A | 公開(公告)日: | 2020-07-28 |
| 發明(設計)人: | 柳陽;敖翔;莊福振;羅平;何清 | 申請(專利權)人: | 中國科學院計算技術研究所 |
| 主分類號: | G06F21/57 | 分類號: | G06F21/57;G06F8/75;G06F40/194;G06N3/04 |
| 代理公司: | 北京律誠同業知識產權代理有限公司 11006 | 代理人: | 祁建國 |
| 地址: | 100080 北*** | 國省代碼: | 北京;11 |
| 權利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關鍵詞: | 一種 基于 指令 序列 智能 合約 相似 檢索 方法 系統 | ||
本發明提出一種基于棧指令序列的智能合約相似度檢索方法及系統,包括:在以太坊虛擬機上獲得待檢測的智能合約被執行時的棧指令序列,通過神經網絡建模該棧指令序列進而將該智能合約向量化,得到該智能合約的向量表示,并通過向量相似度分析,檢索得到與該向量表示最相似的智能合約。該向量相似度分析可作為安全檢測的提供依據。
技術領域
本發明涉及區塊鏈智能合約建模,并特別涉及一種基于棧指令序列的智能合約相似度檢索方法及系統。
背景技術
現有的智能合約分析工具,主要基于智能合約的代碼和字節碼,研究表明,經過代碼塊的對比,96%以上的現有智能合約代碼存在相似的冗余行,這會導致功能不同的合約相似度增大,因此代碼層面的比較不能很好地度量合約之間的相似性。
發明內容
本發明的目的是解決智能合約的相似度計算問題,提出了一種基于棧指令序列的智能合約相似度檢索方法及系統。
針對現有技術的不足,本發明提出一種基于棧指令序列的智能合約相似度檢索方法,包括:
在以太坊虛擬機上獲得待檢測的智能合約被執行時的棧指令序列,通過神經網絡建模該棧指令序列進而將該智能合約向量化,得到該智能合約的向量表示,并通過向量相似度分析,檢索得到與該向量表示最相似的智能合約。
所述的基于棧指令序列的智能合約相似度檢索方法,該神經網絡包括一個輸入層、多個編碼層、一個輸出層和Softmax層;輸入層是指令的輸入向量,每層編碼層中各個編碼器之間有雙向連接,輸出層是每層指令得到的學習向量,Softmax層輸出的是對下一個指令預測的概率值。
所述的基于棧指令序列的智能合約相似度檢索方法,待檢測的智能合約c的棧指令序列為Sc=(s1,s2,…,sN),Sc的長度為N,指令st(t=1,…,N)的輸入層向量為該神經網絡第層得到的向量為其中編碼層共有L-1層,第L層為輸出層,智能合約c的輸入層向量為第層得到的向量為編碼層中的編碼器使用長短時記憶網絡,以正向LSTM的前向傳播為例,介紹編碼器中的運算,記t時刻第層的輸出特征為:
所述的基于棧指令序列的智能合約相似度檢索方法,該長短時記憶網絡編碼器網絡包含遺忘門ft、輸入門it、輸出門ot和細胞單元Ct,更新公式如下
ft=σ(Wfht-1+Ufxt+bf)
it=σ(Wiht-1+Uixt+bi)
ot=σ(Woht-1+Uoxt+bo)
其中,Wf,Uf,bf為遺忘門參數,Wi,Ui,bi為輸入門參數,Wo,Uo,bo為遺忘門參數;
在遺忘門和輸入門作用下,細胞單元更新如下:
at=tanh(Waht-1+Uaxt+ba)
該專利技術資料僅供研究查看技術是否侵權等信息,商用須獲得專利權人授權。該專利全部權利屬于中國科學院計算技術研究所,未經中國科學院計算技術研究所許可,擅自商用是侵權行為。如果您想購買此專利、獲得商業授權和技術合作,請聯系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/202010176290.0/2.html,轉載請聲明來源鉆瓜專利網。





