[發明專利]一種智能合約的安全檢測方法及裝置有效
| 申請號: | 202111497320.9 | 申請日: | 2021-12-09 |
| 公開(公告)號: | CN113900665B | 公開(公告)日: | 2022-03-15 |
| 發明(設計)人: | 姚俊筍;顏亦軍;韓朋博 | 申請(專利權)人: | 眾連智能科技有限公司;連連銀通電子支付有限公司 |
| 主分類號: | G06F8/41 | 分類號: | G06F8/41;G06K9/62;G06N20/00 |
| 代理公司: | 廣州三環專利商標代理有限公司 44202 | 代理人: | 苗芬芬;賈允 |
| 地址: | 310000 浙江省杭州*** | 國省代碼: | 浙江;33 |
| 權利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關鍵詞: | 一種 智能 合約 安全 檢測 方法 裝置 | ||
本發明公開了一種智能合約的安全檢測方法及裝置,包括:獲取智能合約的代碼信息;基于代碼信息,確定智能合約的合約類型;基于合約類型,獲取智能合約對應的語法規則信息和語義規則信息;基于代碼信息、語法規則信息和語義規則信息,對智能合約進行語法檢查和語義檢查,得到智能合約的安全信息。根據本發明的技術方案,通過基于智能合約的代碼信息確定智能合約的合約類型,基于合約類型獲取智能合約對應的語法規則信息和語義規則信息,并基于代碼信息、語法規則信息和語義規則信息對智能合約進行語法檢查和語義檢查,從而保證智能合約的安全性,避免代碼漏洞安全問題所帶來的巨額的財產損失。
技術領域
本發明涉及到區塊鏈智能合約安全技術領域,尤其涉及一種智能合約的安全檢測方法及裝置。
背景技術
智能合約是運行在區塊鏈上的程序,區塊鏈通過智能合約向用戶提供復雜的業務功能。區塊鏈技術重新構造了交易雙方信任的方式,使用點對點共識同步賬本技術創建了信任的媒介,使得交易的雙方在傳遞價值的過程中去除了對第三方信任機構的依賴,使用技術保障信任,很大程度上提高了價值交互過程中結算的效率。因此,保障智能合約在區塊鏈上的安全運行顯得尤為重要。
但事實上,因為區塊鏈智能合約由于人為書寫的程序代碼漏洞而造成的安全問題屢次出現,但智能合約一旦發布便不可篡改的特性,使得代碼漏洞安全問題往往會帶來巨額的財產損失。為了防患于未然,提前對智能合約的安全檢查工作必不可少。
發明內容
本發明的目的是提供一種智能合約的安全檢測方法及裝置,通過基于智能合約的代碼信息確定智能合約的合約類型,基于合約類型獲取智能合約對應的語法規則信息和語義規則信息,并基于代碼信息、語法規則信息和語義規則信息對智能合約進行語法檢查和語義檢查,從而保證智能合約的安全性,避免代碼漏洞安全問題所帶來的巨額的財產損失。
為實現上述目的,本發明提供了如下方案:
一種智能合約的安全檢測方法,所述方法包括:
獲取智能合約的代碼信息;
基于所述代碼信息,確定所述智能合約的合約類型;
基于所述合約類型,獲取所述智能合約對應的語法規則信息和語義規則信息;
基于所述代碼信息、所述語法規則信息和所述語義規則信息,對所述智能合約進行語法檢查和語義檢查,得到所述智能合約的安全信息。
可選的,所述基于所述代碼信息,確定所述智能合約的合約類型,包括:
獲取合約分類模型;
將所述代碼信息輸入所述合約分類模型,獲得所述智能合約的合約類型。
可選的,所述方法還包括:
獲取樣本智能合約的樣本代碼信息和合約類型標簽;
將所述樣本代碼信息輸入預設機器學習模型,進行合約類型預測處理,得到預測合約類型信息;
根據所述合約類型標簽和所述預測合約類型信息,得到合約類型損失信息;
根據所述合約類型損失信息訓練所述預設機器學習模型,得到所述合約分類模型。
可選的,所述基于所述語法規則信息和所述語義規則信息,對所述智能合約進行語法檢查和語義檢查,得到所述智能合約的安全信息,包括:
基于所述代碼信息,構建所述智能合約對應的抽象語法樹;
基于所述語法規則信息,對所述抽象語法樹的節點信息與所述語法規則信息中的節點信息進行匹配處理;
在存在所述抽象語法樹中的節點信息與所述語法規則信息中的節點信息不匹配的情況下,得到所述安全信息為存在錯誤的相關信息。
該專利技術資料僅供研究查看技術是否侵權等信息,商用須獲得專利權人授權。該專利全部權利屬于眾連智能科技有限公司;連連銀通電子支付有限公司,未經眾連智能科技有限公司;連連銀通電子支付有限公司許可,擅自商用是侵權行為。如果您想購買此專利、獲得商業授權和技術合作,請聯系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/202111497320.9/2.html,轉載請聲明來源鉆瓜專利網。





