【技术实现步骤摘要】
一种区块链智能合约平台的隐私管理系统及其方法
本专利技术涉及区块链通用平台领域,具体涉及一种区块链智能合约平台的隐私管理系统及其方法。
技术介绍
如今,区块链技术应用已延伸到数字金融、物联网、智能制造、供应链管理、数字资产交易等多个领域。目前,全球主要国家都在加快布局区块链技术发展。我国在区块链领域拥有良好基础,要加快推动区块链技术和产业创新发展,积极推进区块链和经济社会融合发展。区块链技术的集成应用,特别是智能合约,在新的技术革新和产业变革中起着重要作用。现阶段区块链智能合约技术仍存在不足之处,一味强调去中心化和公开性,而在实际应用场景中不可能把所有数据都公开,现行区块链智能合约平台不能兼顾隐私管理的需求,在追求隐私性的过程中,出现了私有合约,形成联盟链、私有链与公链的不同定位和分隔,私有合约与公开合约不能兼容的壁垒,影响了区块链智能合约的应用效率和体验,妨碍了其赋能实体经济以及与经济社会融合发展的速度。
技术实现思路
本专利技术是为了解决上述现有技术存在的不足之处,提出一种区块链智能合约平台的 ...
【技术保护点】
1.一种区块链智能合约平台的隐私管理系统,其特征是应用于由一个合约发起者与多个合约签订者之间签订智能合约所构成的网络环境中,将所述合约发起者记为用户A,将任意一个合约签订者记为用户B;所述隐私管理系统包括:智能合约子系统、私有合约子系统以及加密子系统;/n所述智能合约分为:公开合约与私有合约;/n所述智能合约子系统包括:智能合约提交模块、智能合约执行模块;/n所述私有合约子系统包括:加密合约存储模块、加密合约查询模块;/n所述加密子系统包括:公私钥生成模块、公私钥验证模块、合约加密解密模块ENC;/n所述公私钥生成模块用于生成所述用户A和用户B的非对称公钥以及私钥,并记为用 ...
【技术特征摘要】
1.一种区块链智能合约平台的隐私管理系统,其特征是应用于由一个合约发起者与多个合约签订者之间签订智能合约所构成的网络环境中,将所述合约发起者记为用户A,将任意一个合约签订者记为用户B;所述隐私管理系统包括:智能合约子系统、私有合约子系统以及加密子系统;
所述智能合约分为:公开合约与私有合约;
所述智能合约子系统包括:智能合约提交模块、智能合约执行模块;
所述私有合约子系统包括:加密合约存储模块、加密合约查询模块;
所述加密子系统包括:公私钥生成模块、公私钥验证模块、合约加密解密模块ENC;
所述公私钥生成模块用于生成所述用户A和用户B的非对称公钥以及私钥,并记为用户A的公钥PubA以及私钥PriA,用户B的公钥PubB以及私钥PriB;所述公钥能公开给其他用户;
所述智能合约提交模块获取智能合约的属性信息和智能合约代码;
所述智能合约的属性参数包括:合约发起地址From、合约发起地址的私钥FromKey、合约发起使用非对称公钥PrivateFrom、合约发起使用的非对称私钥PrivateFromKey、合约接受使用的非对称公钥PrivateFor;
所述智能合约代码包括:智能合约方法以及方法的相关参数;
所述用户A利用所述智能合约提交模块在所述智能合约的属性信息中指定:所述合约发起使用非对称公钥PrivateFrom为自己的公钥PubA,所述合约发起使用的非对称私钥PrivateFromKey为自己的私钥PriA,所述合约接受使用的非对称公钥PrivateFor为用户B的公钥PubB;
所述智能合约提交模块根据智能合约的属性信息中的合约发起使用的非对称公钥PrivateFrom、合约发起使用的非对称私钥PrivateFromKey、合约接受使用的非对称公钥PrivateFor三个属性值,判断所述智能合约是否为私有合约;
若为私有合约,则所述公私钥验证模块对公私钥和公钥格式进行验证,若验证通过,则所述合约加密解密模块ENC对智能合约代码进行加密,得到合约密文cipherText;并对所述对称秘钥masterKey进行加密,得到加密后的对称秘钥EncMasterKey;
若为公开合约,则不对智能合约代码进行验证和加密处理;
所述加密合约存储模块对所述合约发起使用的非对称公钥PrivateFrom,合约接受使用的非对称公钥PrivateFor,加密后的合约密文cipherText,以及所述加密后的对称秘钥EncMasterKey进行存储,并取合约密文cipherText的Hash值做索引;
所述智能合约提交模块根据智能合约的属性参数打包成区块链交易数据,所述区块链交易数据包括:交易发起地址,交易接受地址,交易数据Input,交易类型V;
若为私有合约,则所述智能合约提交模块将交易数据Input的值设置为合约密文cipherText的Hash值,以及将交易类型V改为私有合约,从而使得区块链获知所述智能合约为私有合约;
若为公开合约,则所述智能合约提交模块将交易数据Input的值设置为智能合约代码,以及将交易类型V设置为公开合约;
所述智能合约提交模块将区块链交易数据通过区块链广播,并同步到区块链上其他的程序节点,从而获得一个智能合约的地址,以完成智能合约发布的过程;
当用户A或用户B需要调用或查看智能合约代码时,则利用所述智能合约执行模块提交相关参数包括:智能合约的地址,所述智能合约方法以及方法的相关参数,发送者公钥PrivateFrom,发送者私钥PrivateFromKey,接收者公钥PrivateFor;
所述智能合约执行模块据所述智能合约的地址查询所述区块链交易数据,根据所述区块链交易数据的交易类型V判断所述智能合约是否为私有合约;
若是私有合约,则所述公私钥验证模块对发送者公私钥和接收者公钥格式进行验证,若验证通过,则所述加密合约查询模块获取所述区块链交易数据的交易数据Input,即为合约密文cipherText的Hash值,若Hash值不存在,则表示所述智能合约调用失败,返回空值;
若Hash值存在,则所述合约加密解密模块ENC对所述对称秘钥EncMasterKey和合约密文cipherText进行解密,从而得到智能合约代码;
若是公开合约,则所述智能合约执行模块获取所述区块链交易数据的交易数据Input为所述智能合约代码;
所述智能合约执行模块根据所述智能合约方法以及方法的相关参数执行所述智能合约代码的对应方法,并返回结果给用户A或用户B。
2.根据权利要求1所述的隐私管理系统,其特征是,所述公私钥验证模块是按如下过程对公私钥和公钥格式进行验证:
所述公私钥验证模块对所述合约发起使用的非对称公钥PrivateFrom、合约发起使用的非对称私钥PrivateFromKey、合约接受使用的非对称公钥PrivateFor进行验证,判断合约发起使用非对称公钥PrivateFrom、合约发起使用的非对称私钥PrivateFromKey是否为一对公私钥,以及合约接受使用的非对称公钥PrivateFor格式是否正确,若为一对公私钥且格式正确,则表示验证通过。
3.根据权利要求1所述的隐私管理系统,其特征是,所述合约加密解密模块ENC是按如下过程进行加密:
所述合约加密解密模块ENC生成对称秘钥masterKey和一个随机数Nonce,从而使用随机数Nonce和对称秘钥masterKey对智能合约代码进行加密,得到合约密文cipherText;
所述合约加密解密模块ENC利用所述合约发起使用的非对称私钥PrivateFromKey和合约接受使用的非对称公钥PrivateFor计算出一个共享秘钥ShareKey,再使用所述共享秘钥ShareKey和随机生成的随机数RecipientNonce对所述对称秘钥masterKey进行加密,得到加密后的对称秘钥EncMasterKey;
所述加密合约存储模块对用于加密智能合约代码的随机数Nonce,用于加密所述对称秘钥MasterKey的随机数RecipientNonce进行存储。
4.根据权利要求1所述的隐私管理系统,其特征是,所述公私钥验证模块是按如下过程对发送者公私钥和接收者公钥格式进行验证:
所述公私钥验证模块对所述发送者公钥PrivateFrom,发送者私钥PrivateFromKey,接收者公钥PrivateFor进行验证,以确定发送者公钥PrivateFrom,发送者私钥PrivateFromKey是否为一对公私钥,以及接收者公钥PrivateFor的格式是否正确,若为一对公私钥且格式正确,则表示验证通过。
5.根据权利要求1所述的隐私管理系统,其特征是,所述合约加密解密模块ENC是按如下过程对所述对称秘钥EncMasterKey和合约密文cipherText进行解密:
所述合约加密解密模块ENC通过Hash值从所述加密合约存储模块中获得发送者公钥Pr...
【专利技术属性】
技术研发人员:骆扬杰,薛斌,谢雨,
申请(专利权)人:合肥都市链情商务有限公司,
类型:发明
国别省市:安徽;34
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。