[發明專利]一種基于棧指令序列的智能合約相似度檢索方法及系統在審
| 申請號: | 202010176290.0 | 申請日: | 2020-03-13 |
| 公開(公告)號: | CN111460454A | 公開(公告)日: | 2020-07-28 |
| 發明(設計)人: | 柳陽;敖翔;莊福振;羅平;何清 | 申請(專利權)人: | 中國科學院計算技術研究所 |
| 主分類號: | G06F21/57 | 分類號: | G06F21/57;G06F8/75;G06F40/194;G06N3/04 |
| 代理公司: | 北京律誠同業知識產權代理有限公司 11006 | 代理人: | 祁建國 |
| 地址: | 100080 北*** | 國省代碼: | 北京;11 |
| 權利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關鍵詞: | 一種 基于 指令 序列 智能 合約 相似 檢索 方法 系統 | ||
1.一種基于棧指令序列的智能合約相似度檢索方法,其特征在于,包括:
在以太坊虛擬機上獲得待檢測的智能合約被執行時的棧指令序列,通過神經網絡建模該棧指令序列進而將該智能合約向量化,得到該智能合約的向量表示,并通過向量相似度分析,檢索得到與該向量表示最相似的智能合約。
2.如權利要求1所述的基于棧指令序列的智能合約相似度檢索方法,其特征在于,該神經網絡包括一個輸入層、多個編碼層、一個輸出層和Softmax層;輸入層是指令的輸入向量,每層編碼層中各個編碼器之間有雙向連接,輸出層是每層指令得到的學習向量,Softmax層輸出的是對下一個指令預測的概率值。
3.如權利要求2所述的基于棧指令序列的智能合約相似度檢索方法,其特征在于,
待檢測的智能合約c的棧指令序列為Sc=(s1,s2,…,sN),Sc的長度為N,指令st(t=1,…,N)的輸入層向量為該神經網絡第層得到的向量為其中編碼層共有L-1層,第L層為輸出層,智能合約c的輸入層向量為第層得到的向量為編碼層中的編碼器使用長短時記憶網絡,以正向LSTM的前向傳播為例,介紹編碼器中的運算,記t時刻第層的輸出特征為:
4.如權利要求3所述的基于棧指令序列的智能合約相似度檢索方法,其特征在于,
該長短時記憶網絡編碼器網絡包含遺忘門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)
Ct=ft⊙Ct-1+it⊙at
其中,Wa,Ua,ba,at為細胞單元參數;
最后,由輸出門和細胞單元得到輸出向量ht:
ht=ot⊙tanh(Ct)
整個網絡的訓練目標是正向指令預測和逆向指令預測,兩個方向的最大似然為:
通過最大化該最大似然,更新該神經網絡。
5.如權利要求1-4所述的任意一種基于棧指令序列的智能合約相似度檢索方法,其特征在于,判斷該最相似的智能合約與該待檢測的智能合約的相似度是否大于預設值,若是,則判定該待檢測的智能合約存在安全漏洞,進行告警,否則判定該待檢測的智能合約為安全合約。
該專利技術資料僅供研究查看技術是否侵權等信息,商用須獲得專利權人授權。該專利全部權利屬于中國科學院計算技術研究所,未經中國科學院計算技術研究所許可,擅自商用是侵權行為。如果您想購買此專利、獲得商業授權和技術合作,請聯系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/202010176290.0/1.html,轉載請聲明來源鉆瓜專利網。





