[發明專利]基于智能合約的檢測方法及裝置、存儲介質、電子裝置在審
| 申請號: | 202010706712.0 | 申請日: | 2020-07-21 |
| 公開(公告)號: | CN111861465A | 公開(公告)日: | 2020-10-30 |
| 發明(設計)人: | 李鵬霄;彭成維;王紅兵;時磊;項菲;翟羽佳;馬宏遠 | 申請(專利權)人: | 國家計算機網絡與信息安全管理中心 |
| 主分類號: | G06Q20/38 | 分類號: | G06Q20/38 |
| 代理公司: | 北京國謙專利代理事務所(普通合伙) 11752 | 代理人: | 肖應國 |
| 地址: | 100029*** | 國省代碼: | 北京;11 |
| 權利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關鍵詞: | 基于 智能 合約 檢測 方法 裝置 存儲 介質 電子 | ||
1.一種基于智能合約的檢測方法,其特征在于,包括:
確定區塊鏈上的智能合約,其中,所述智能合約包括:在所述區塊鏈上的數字資產;
根據所述數字資產的狀態對所述智能合約進行檢測操作,其中,所述檢測操作至少包括以下之一:檢測所述智能合約的鏈上交易、檢測在所述智能合約中提取的數字資產、檢測所述數字資產的匹配條件。
2.根據權利要求1所述的方法,其特征在于,根據所述數字資產的狀態對所述智能合約進行檢測操作包括:
遍歷與所述智能合約相關的所述數字資產的狀態;
根據所述數字資產的狀態,檢測所述智能合約的鏈上交易。
3.根據權利要求2所述的方法,其特征在于,所述檢測所述智能合約的鏈上交易包括:
將創建合約的發送方的地址作為初始地址,加入到第一地址列表,其中,所述第一地址列表初始為空;
將調用所述數字資產增發函數的發送方的地址加入所述第一地址列表;
將調用所述數字資產代持函數的發送方的地址加入所述第一地址列表;
在調用轉移所述數字資產的發送方的地址在所述第一地址列表中的情況下,將轉移接收方的地址加入到所述第一地址列表;
在調用轉移所述數字資產的發送方的地址不在所述第一地址列表的情況下,將所述轉移所述數字資產的操作作為異常交易。
4.根據權利要求1所述的方法,其特征在于,所述根據所述數字資產的狀態對所述智能合約進行檢測操作包括:
提取所述數字資產的特征量;其中,所述特征量至少包括如下之一:數字資產總量,初始賬戶地址、增發函數的信息;
檢測在所述智能合約中提取的數字資產數字資產總量、初始賬戶地址或者增發函數的信息。
5.根據權利要求4所述的方法,其特征在于,所述提取所述數字資產的特征量包括:
遍歷所述智能合約的交易列表,提取初始化函數中的數字資產總量;
和/或,遍歷所述智能合約的函數列表匹配預設的接口函數,提取得到所述數字資產的初始賬戶地址或者增發函數的信息。
6.根據權利要求1所述的方法,其特征在于,所述根據所述數字資產的狀態對所述智能合約進行檢測操作包括:
檢測所述數字資產的匹配條件是否滿足預設規則,其中,所述預設規則根據語法特征或數據流特征描述所述數字資產的增發漏洞或行為;
在檢測所述數字資產的匹配條件滿足預設規則的情況下,記錄所述數字資產的狀態。
7.根據權利要求6所述的方法,其特征在于,所述檢測所述數字資產的匹配條件包括:
確定所述智能合約的字面值,得到字面值字典;
根據所述字面值字典遍歷所述智能合約中的函數,確定所述數字資產增發的函數;
遍歷所述數字資產增發的函數中的語句,確定數組賦值語句;
根據所述數組賦值語句檢測所述數字資產的匹配條件。
8.一種基于智能合約的檢測裝置,其特征在于,包括:
確定模塊,用于確定區塊鏈上的智能合約,其中,所述智能合約包括:在所述區塊鏈上的數字資產;
檢測模塊,用于根據所述數字資產的狀態對所述智能合約進行檢測操作,其中,所述檢測操作至少包括以下之一:檢測所述智能合約的鏈上交易、檢測在所述智能合約中提取的數字資產、檢測所述數字資產的匹配條件。
9.一種存儲介質,其特征在于,所述存儲介質中存儲有計算機程序,其中,所述計算機程序被設置為運行時執行所述權利要求1至7任一項中所述的方法。
10.一種電子裝置,包括存儲器和處理器,其特征在于,所述存儲器中存儲有計算機程序,所述處理器被設置為運行所述計算機程序以執行所述權利要求1至7任一項中所述的方法。
該專利技術資料僅供研究查看技術是否侵權等信息,商用須獲得專利權人授權。該專利全部權利屬于國家計算機網絡與信息安全管理中心,未經國家計算機網絡與信息安全管理中心許可,擅自商用是侵權行為。如果您想購買此專利、獲得商業授權和技術合作,請聯系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/202010706712.0/1.html,轉載請聲明來源鉆瓜專利網。





