一种用于区块链的智能合约隐私数据处理系统及方法与流程

文档序号:25652307发布日期:2021-06-29 20:56阅读:99来源:国知局
一种用于区块链的智能合约隐私数据处理系统及方法与流程

1.本发明属于区块链技术领域,尤其涉及一种用于区块链的智能合约隐私数据处理系统及方法。


背景技术:

2.区块链技术在2008年诞生以来,经历了快速的发展,不断有新的理论和技术诞生。随着各种区块链项目开始涉及到有关隐私、安全的领域,人们迫切的希望区块链上的数据能够具备更强的安全性和隐私性。区块链本身具备着去中心化、不可篡改、不可伪造等安全特性,十分适合用来确保数据的长久和稳定保存,具有重要的商业价值和现实意义。区块链的安全性通过每个节点持有一个账本,并对账本进行共识完成,这使得参与到区块链网络的节点都可以查看区块链上的所有数据。这种方式使得区块链网络记录的数据是公开和透明的,一些需要在隐私环境下计算的数据难以上传到区块链网络。其中区块链在安全业务智能合约数据处理方面的应用又格外关键,区块链利用业务智能合约数据处理程序不能够对计算过程进行造假,防止客户遭受损失,但用户需要计算隐私数据时,由于区块链的透明性,使得其难以满足客户需求。


技术实现要素:

3.针对现有技术中的上述不足,本发明提供的一种用于区块链的智能合约隐私数据处理系统及方法,解决了基于同态加密底层库的区块链隐私保护问题。
4.为了达到以上目的,本发明采用的技术方案为:
5.本方案提供一种用于区块链的智能合约隐私数据处理系统,包括主链、若干个以预编译合约形式部署在区块链上的全同态加密算法库以及业务智能合约;
6.所述主链,用于利用预编译合约方法部署满足全同态加密算法的预编译合约,并在运行阶段作为业务智能合约部署与执行平台,以及存放用户的公钥信息;
7.所述预编译合约,用于将所述全同态加密算法库以预编译合约的形式编译进入区块链网络中;
8.所述业务智能合约,用于调用所述全同态加密算法库。
9.进一步地,所述预编译合约在区块链编译时一并编译至区块链,且其具有区块链地址和账户。
10.再进一步地,所述同态加密算法库包括:安全参数生成预编译合约、公钥生成预编译合约、私钥生成预编译合约、全同态运算预编译合约、同态加密预编译合约以及同态解密预编译合约。
11.基于上述系统,本发明还提供了一种用于区块链的智能合约隐私数据处理方法,包括以下步骤:
12.s1、利用全同态加密算法库为业务智能合约提供全同态加密算法;
13.s2、向区块链提供公钥,以及向指定用户提供私钥;
14.s3、通过业务智能合约调用所述全同态加密库,并部署至区块链;
15.s4、利用业务智能合约对加密数据进行运算;
16.s5、将运算结果发送至用户,并在本地解密保存的私钥,完成用于区块链的业务智能合约隐私数据处理。
17.进一步地,所述步骤s1包括以下步骤:
18.s101、将安全参数生成程序代码、公钥生成程序代码、私钥生成程序代码、全同态运算程序代码、同态加密程序代码以及同态解密程序代码打包为全同态加密算法库;
19.s102、通过预编译合约的形式,将全同态加密算法库以预编译合约的形式编译至区块链网络中;
20.s103、公开全同态加密算法预编译合约,向业务智能合约提供地址,完成为业务智能合约提供全同态加密算法的流程。
21.再进一步地,所述步骤s2包括以下步骤:
22.s201、调用全同态加密算法库的密钥生成算法,生成公钥和私钥;
23.s202、将公钥以明文形式上传至区块链;
24.s203、将私钥以冷数据形式保存至用户本地未接入互联网的存储设备中。
25.再进一步地,所述步骤s3包括以下步骤:
26.s301、根据不同业务场景编写业务智能合约;
27.s302、根据公开的地址,在业务智能合约编写时调用以预编译合约形式存在的全同态加密算法和业务智能合约;
28.s303、对业务智能合约进行编译,并部署至区块链网络中执行。
29.再进一步地,所述步骤s4包括以下步骤:
30.s401、由用户利用公钥在本地加密明文数据,生成加密数据;
31.s402、由用户上传加密数据至部署在区块链网络上业务智能合约,作为业务智能合约的输入;
32.s403、通过业务智能合约接收加密数据,并对加密数据进行计算。
33.本发明的有益效果:
34.(1)本发明详细描述了区块链的业务智能合约数据处理在编译时加入隐私保护业务智能合约,进行安全隐私业务智能合约数据处理的过程,使得整个区块链架构成为一种能够保护隐私的,高安全性的架构体系。同时描述了隐私保护模块包含的基于全同态加密的可计算加密技术,增强了链上业务智能合约数据处理的可应用范围并增加了攻击者的攻击成本。同时本发明给出了预编译合约,用于将全同态加密算法库以预编译合约的形式编译进入区块链网络中,业务智能合约开发人员通过业务智能合约调用的方式调用全同态加密的流程,可以在保证隐私安全性的前提下保证通用性,开发人员可以自由的调用所需库,并实现各种业务功能。
35.(2)在整个系统的运行效率层面上,本发明通过预编译合约技术,实现了在区块链上业务智能合约数据处理的可行性,保证了业务智能合约数据处理的高效性。同时通过实现成熟高效的同态加密算法,尽可能地提升了在加密数据处理中对于计算资源的消耗,让业务智能合约数据处理可以以最高效的计算代价在安全的情况下进行计算。
36.(3)在整个系统的安全层面上,本发明通过全同态加密算法保证了上链数据在进
入业务智能合约运行时的数据安全性和隐私性。同时保证了上链数据在区块链被计算时的可用性。基于全同态加密算法的隐私保护预编译合约可以防止明文数据泄露。同时满足加密数据在计算时能够符号预期。上述的安全机制可以充分解决业务智能合约数据处理中对隐私性,安全性的需求,即使数据量较少,数据较简单,在本发明中也可以通过预编译业务智能合约库得到安全保证。
37.(4)针对在业务智能合约数据处理现实层面的应用来讲,本发明为业务智能合约数据处理系统中要求的安全性,隐私性与传统区块链系统的可靠性,高安全性有效结合起来。通过同态加密预编译合约的方式,将传统区块链的可靠性进行转换,从而实现隐私性上的提升。这种架构在面对现实情境下的动态,复杂,且对安全性和隐私性高的常景有着强适应性,其动态调整,高兼容性,可复用性也可以很好的适应现实情境下的业务智能合约数据处理系统。
附图说明
38.图1为本发明的系统结构示意图。
39.图2为本发明的方法流程图。
40.图3为本实施例中同态加密预编译机制流程图。
41.图4为本实施例中区块链主链上的数据保存机制流程图。
42.图5为本实施例中智能合约代码调用机制流程图。
具体实施方式
43.下面对本发明的具体实施方式进行描述,以便于本技术领域的技术人员理解本发明,但应该清楚,本发明不限于具体实施方式的范围,对本技术领域的普通技术人员来讲,只要各种变化在所附的权利要求限定和确定的本发明的精神和范围内,这些变化是显而易见的,一切利用本发明构思的发明创造均在保护之列。
44.实施例1
45.如图1所示,本发明提供了一种用于区块链的智能合约隐私数据处理系统,包括主链、若干个以预编译合约形式部署在区块链上的全同态加密算法库以及业务智能合约;主链,用于利用预编译合约方法部署满足全同态加密算法的预编译合约,并在运行阶段作为业务智能合约部署与执行平台,以及存放用户的公钥信息;预编译合约,用于将全同态加密算法库以预编译合约的形式编译进入区块链网络中,业务智能合约开发人员通过业务智能合约调用的方式调用全同态加密算法;业务智能合约,用于调用全同态加密算法库,即满足具体业务需要,由业务智能合约开发人员编写业务智能合约,并在业务智能合约编写时调用已经以预编译合约形式存在的全同态加密算法业务智能合约,并根据不同业务场景编写具体的业务智能合约,将其编译并部署到区块链网络中执行。预编译合约在区块链编译时一并编译至区块链,且其具有区块链地址和账户。全同态加密算法库包括:安全参数生成预编译合约、公钥生成预编译合约、私钥生成预编译合约、全同态运算预编译合约、同态加密预编译合约以及同态解密预编译合约。
46.本实施例中,全同态加密算法库,设置c
i
为多个通过同一公钥加密得到的密文集
合,全同态加密运算后的密文与明文存在关系为:其中,dec(
·
)表示同态解密算法,sk表示公钥对应的私钥,m
i
为c
i
对应的明文,hc(
·
)表示针对密文集合的任意次数的乘法、加法或复合运算过程,t表示对应的任意次数针对明文的乘法、加法或复合运算过程。
47.本发明详细描述了区块链的业务智能合约数据处理在编译时加入隐私保护业务智能合约,进行安全隐私业务智能合约数据处理的过程,使得整个区块链架构成为一种能够保护隐私的,高安全性的架构体系。同时描述了隐私保护模块包含的基于全同态加密的可计算加密技术,增强了链上业务智能合约数据处理的可应用范围并增加了攻击者的攻击成本。同时本发明给出了预编译合约,用于将全同态加密算法库以预编译合约的形式编译进入区块链网络中,业务智能合约开发人员通过业务智能合约调用的方式调用全同态加密的流程。可以在保证隐私安全性的前提下保证通用性,开发人员可以自由的调用所需库,并实现各种业务功能。
48.实施例2
49.如图2所示,本发明提供了一种用于区块链的智能合约隐私数据处理方法,其实现方法如下:
50.s1、利用全同态加密算法库为业务智能合约提供全同态加密算法,其实现方法如下:
51.s101、将安全参数生成程序代码、公钥生成程序代码、私钥生成程序代码、全同态运算程序代码、同态加密程序代码以及同态解密程序代码打包为全同态加密算法库;
52.s102、通过预编译合约的形式,将全同态加密算法库以预编译合约的形式编译至区块链网络中;
53.s103、公开全同态加密算法预编译合约,向业务智能合约提供地址,完成为业务智能合约提供全同态加密算法的流程。
54.s2、向区块链提供公钥,以及向指定用户提供私钥,其实现方法如下:
55.s201、调用全同态加密算法库的密钥生成算法,生成公钥和私钥;
56.s202、将公钥以明文形式上传至区块链;
57.s203、将私钥以冷数据形式保存至用户本地未接入互联网的存储设备中。
58.s3、通过业务智能合约调用所述全同态加密库,并部署至区块链,其实现方法如下:
59.s301、根据不同业务场景编写业务智能合约;
60.s302、根据公开的地址,在业务智能合约编写时调用以预编译合约形式存在的全同态加密算法和业务智能合约;
61.s303、对业务智能合约进行编译,并部署至区块链网络中执行;
62.s4、利用业务智能合约对加密数据进行运算,其实现方法如下:
63.s401、由用户利用公钥在本地加密明文数据,生成加密数据;
64.s402、由用户上传加密数据至部署在区块链网络上业务智能合约,作为业务智能合约的输入;
65.s403、通过业务智能合约接收加密数据,并对加密数据进行计算;
66.s5、将运算结果发送至用户,并在本地解密保存的私钥,完成用于区块链的业务智能合约隐私数据处理。
67.本实施例中,如图3所示,全同态加密库预编译机制,包括以下步骤:
68.a1、原始全同态加密算法通过程序实现全同态加密算法程序,包括全同态密钥生成函数、全同态加密函数、全同态密文运算函数和全同态解密函数;
69.a2、全同态加密算法程序在编译之前设置好gas和合约地址;
70.a3、通过编译指令,同区块链主链代码一起编译生成完整的区块链程序。
71.本实施例中,如图4所示,区块链主链上的数据保存机制,包括以下步骤:
72.b1、同态加密库以预编译合约的方式部署在区块链主链上,预先设定好包括预编译合约各函数调用的地址,预编译合约各函数调用的gas消耗,预编译合约各函数调用的输入输出;
73.b2、同态加密公钥以区块数据的方式保存在区块链上;
74.b3、业务智能合约以业务智能合约的形式,在区块链运行之后,通过部署的方式,运行在区块链虚拟机上。
75.本实施例中,如图5所示,业务智能合约代码调用机制,包括以下步骤:
76.c1、同态加密库向所有区块链节点暴露其各个预编译合约的地址、gas消耗和输入输出的类型;
77.c2、业务智能合约在代码中通过调用指令调用对应地址的同态加密库预编译合约,并支付gas;
78.c3、业务智能合约提供对应地址的同态加密库预编译合约需要的输入;
79.c4、业务智能合约获得对应地址的同态加密库预编译合约提供的输出,并结束调用。
80.本发明通过以上设计,用于保证区块链智能合约在执行业务智能合约数据处理时的隐私性,大大提高了业务智能合约数据处理的隐私性和安全性。
当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1