基于区块链的加密智能合约检测系统技术方案

技术编号:36743377 阅读:18 留言:0更新日期:2023-03-04 10:23
本发明专利技术公开了基于区块链的加密智能合约检测系统,属于信息安全技术领域,包括开发者节点、算力节点、规则处理节点以及检测节点,开发者节点与算力节点、检测节点互联,算力节点与开发者、规则处理节点、检测节点互联,且规则处理节点、检测节点互联。本发明专利技术通过引入的检测节点接收开发者发布的加密智能合约和随机令牌,并接收规则处理节点发布的模糊映射表,能够在不暴露有效负载的情况下,使用随机令牌与模糊映射表执行匹配检测,即在保证加密智能合约隐私性的基础上,实现了对加密智能合约的安全性检测。安全性检测。安全性检测。

【技术实现步骤摘要】
基于区块链的加密智能合约检测系统


[0001]本专利技术涉及信息安全
,尤其涉及基于区块链的加密智能合约检测系统。

技术介绍

[0002]在现有的区块链系统中,所有参与共识的节点都必须拥有交易和智能合约的真实数据,才能完成计算工作并根据状态达成共识。然而,智能合约中可能会包含一些隐私信息,比如身份信息、企业机密、特定代码等,由于所有参与共识的节点都可以获得智能合约的真实数据,导致智能合约中的隐私数据存在泄露的风险,进而降低区块链的安全性和实用性。因此,为了保证智能合约的隐私性,一些关于智能合约加密的方法、系统或流程被提出。
[0003]考虑这样一个场景,存在一个拥有强大算力和大量数据资源的算力节点(比如数据训练平台),它可以为其他用户提供数据挖掘的操作。另外,存在一个用户,它作为智能合约的开发者,希望利用该算力节点的资源和算力进行数据挖掘,同时不想让除了该算力节点以外的其他节点获取智能合约的真实数据。此时,可行的操作为:首先,用户和算力节点进行协商获取密钥;之后,用户将智能合约加密后得到的合约密文存储到区块链上;最后,算力节点在收到用户的交易信息(包含智能合约地址和其他调用参数)后,根据交易信息获取对应的合约密文,对密文解密获取智能合约明文(有且只有该节点拥有可以对加密合约解密的密钥)。
[0004]然而,此时又产生了另外的问题,如果智能合约的开发者存在无意的疏忽或故意的恶意行为,则智能合约代码中可能会存在安全漏洞,这将对交易及财产安全产生威胁。因此,在保护智能合约的隐私性的前提下,为了进一步保证加密智能合约的内容安全性,需要在加密智能合约部署在区块链上之前对其进行检测操作。

技术实现思路

[0005]本专利技术的目的在于克服现有技术的问题,提供基于区块链的加密智能合约检测系统。
[0006]本专利技术的目的是通过以下技术方案来实现的:基于区块链的加密智能合约检测系统,该系统包括开发者节点、算力节点、规则处理节点以及检测节点,开发者节点与算力节点、检测节点互联,算力节点与开发者、规则处理节点、检测节点互联,且规则处理节点、检测节点互联;
[0007]开发者节点用于将智能合约进行加密处理,并将密钥共享至算力节点,同时对智能合约的明文代码进行处理得到用于检测的随机令牌,并将加密智能合约和随机令牌写入交易信息并存储至交易池;
[0008]算力节点选择用于进行规则处理的矿工作为规则处理节点,并将关键信息写入交易信息并存至交易池,关键信息包括哈希值、密钥、算力节点签名;
[0009]规则处理节点用于计算并构建模糊映射表并存储至包含若干区块的私有链上,同
时将包括模糊映射表地址的交易信息发布至交易池中;
[0010]检测节点包括签名验证单元和令牌检测单元,检测节点根据开发者发布的交易信息获取加密智能合约、随机令牌集合T和开发者签名Sig
DEV
,并根据规则处理节点发布的交易信息获得模糊映射表Obm和算力节点签名Sig
CP
,模糊映射表Obm用于反映响应规则与隐藏内容选项的映射关系;
[0011]签名验证单元用于对开发者签名Sig
DEV
、算力节点签名Sig
CP
进行验证处理,若验证成功,根据随机令牌集合T、模糊映射表Obm执行令牌检测操作,若检测通过,将加密智能合约和随机令牌存储至区块链,否则,认为智能合约中包含恶意行为,直接丢弃;
[0012]在对开发者签名Sig
DEV
、算力节点签名Sig
CP
进行验证处理前还包括:
[0013]比较算力节点发布的交易信息transInfo
CP
和开发者发布的交易信息transInfo
DEV
中的滑动窗口大小L是否相同,如果相同,对开发者签名Sig
DEV
、算力节点签名Sig
CP
进行验证处理;否则,需要在私有区块链上找到一个新的区块;
[0014]模糊映射表的构建包括以下子步骤:
[0015]根据算力节点发布的交易信息获取密钥;
[0016]对规则集中的规则R
i
进行预处理;
[0017]对内容进行分割处理,得到包含等长的第一片段集合Seg
j

[0018]基于第一片段集合Seg
j
对内容进行隐藏处理;
[0019]对规则响应操作进行隐藏处理,生成τ个秘密共享
[0020]拼接字符串和秘密共享得到拼接结果
[0021]将的异或结果作为映射表的值插入模糊映射表Obm的位置,表示由第j个内容的第n个片段产生的伪随机数,f表示伪随机函数;Kh表示密钥;表示规则的第j个内容的第n个片段。
[0022]在一示例中,所述算力节点还用于对密钥进行验证:
[0023]算力节点接收开发者发送的基于公钥对K'
AES
、密钥集K'
SET
和时间戳ts进行加密的加密信息Enc
PKCP
(K'
AES
,K'
SET
,ts);
[0024]采用私钥SK
CP
对加密信息(K'
AES
,K'
SET
,ts)进行解密,得到K'
AES
,K'
SET
和ts;
[0025]以K'
AES
为种子,采用与开发者使用的相同伪随机数生成器生成一个新的密钥集,若新的密钥集与开发者通过相同伪随机数生成器得到的密钥集相同,不执行任何操作;反之,算力节点停止与开发者的通信。
[0026]在一示例中,所述算力节点在接收检测节点发送的包含加密智能合约地址的交易信息后,从区块链上获取智能合约密文和随机令牌,并基于开发者共享的密钥对加密智能合约进行解密,获取智能合约明文;
[0027]通过随机令牌化操作生成新的随机令牌,并与来自开发者的随机令牌进行对比,验证智能合约的一致性,若不一致,丢弃对应智能合约。
[0028]在一示例中,所述开发者使用算力节点的公钥对K'
AES
、密钥集K'
SET
和时间戳ts对智能合约进行加密,并将加密信息(K'
AES
,K'
SET
,ts)传输至算力节点。
[0029]在一示例中,所述开发者执行一个基于滑动窗口的令牌化算法,将整个智能合约M划分为一个令牌集合W={W1,|,W
σ
},计算公式为:
[0030]W={W1,|,W
σ
}=Token(M)
[0031]式中,Token是基于滑动窗口的令牌化算法,每个令牌W
i
的长度与滑动窗口长度相同且均为L;
[0032]开发者利用伪随机函数和密钥生成随机令牌集合T进行安全检测。
[0033]需要进一步说明本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.基于区块链的加密智能合约检测系统,其特征在于:包括开发者节点、算力节点、规则处理节点以及检测节点,开发者节点与算力节点、检测节点互联,算力节点与开发者、规则处理节点、检测节点互联,且规则处理节点、检测节点互联;开发者节点用于将智能合约进行加密处理,并将密钥共享至算力节点,同时对智能合约的明文代码进行处理得到用于检测的随机令牌,并将加密智能合约和随机令牌写入交易信息并存储至交易池;算力节点选择用于进行规则处理的矿工作为规则处理节点,并将关键信息写入交易信息并存至交易池,关键信息包括哈希值、密钥、算力节点签名;规则处理节点用于计算并构建模糊映射表并存储至包含若干区块的私有链上,同时将包括模糊映射表地址的交易信息发布至交易池中;检测节点包括签名验证单元和令牌检测单元,检测节点根据开发者发布的交易信息获取加密智能合约、随机令牌集合T和开发者签名Sig
DEV
,并根据规则处理节点发布的交易信息获得模糊映射表Obm和算力节点签名Sig
CP
,模糊映射表Obm用于反映响应规则与隐藏内容选项的映射关系;签名验证单元用于对开发者签名Sig
DEV
、算力节点签名Sig
CP
进行验证处理,若验证成功,根据随机令牌集合T、模糊映射表Obm执行令牌检测操作,若检测通过,将加密智能合约和随机令牌存储至区块链,否则,认为智能合约中包含恶意行为,直接丢弃;在对开发者签名Sig
DEV
、算力节点签名Sig
CP
进行验证处理前还包括:比较算力节点发布的交易信息transInfo
CP
和开发者发布的交易信息transInfo
DEV
中的滑动窗口大小L是否相同,如果相同,对开发者签名Sig
DEV
、算力节点签名Sig
CP
进行验证处理;否则,需要在私有区块链上找到一个新的区块;模糊映射表的构建包括以下子步骤:根据算力节点发布的交易信息获取密钥;对规则集中的规则R
i
进行预处理;对内容进行分割处理,得到包含等长的第一片段集合Seg
j
;基于第一片段集合Seg
j

【专利技术属性】
技术研发人员:王中健陈大江曹明生王颢
申请(专利权)人:药融云数字科技成都有限公司
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1