一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

基于同态加密和零知识证明的联盟链隐私保护方法及系统与流程

2021-11-24 20:34:00 来源:中国专利 TAG:


1.本发明涉及区块链交易隐私保护技术领域,具体地,涉及一种基于同态加密和零知识证明的联盟链隐私保护方法及系统。


背景技术:

2.区块链最初广泛应用于1.0比特币中,在比特币区块链中采用utxo(即未花费交易)来证明用户资产的合法性,这使得矿工对交易合法性的验证更加简单且效率更高,但其无法快速的查询用户的余额,为了支持更广泛的行业应用,以太坊、超级账本等区块链平台使用了基于账户的模型。使用交易模型的比特币基于公有链进行设计,在最初的公有链中,采用伪匿名的方式将系统中节点的地址与用户的真实身份进行分离,虽然起到了用户身份隐私的保护作用,但随着科学技术的发展,简单的伪匿名已不能满足用户的隐私需求,且在比特币交易中,交易的金额是透明公开的,虽使得矿工对交易合法性验证更加简单,但用户的隐私不能得到应有保障,因此越来越多的密码学算法被应用于区块链中。
3.公开号为cn111654363a的发明专利,公开了一种基于群签名和同态加密的联盟链隐私保护方法,面向基于账户的区块链模型,实现交易金额的保护以及交易双方身份的部分隐私保护。该方案将联盟链节点分为分为三类:群管理员、主要节点和次要节点,次要节点为用户,用户之间进行交易,主要节点利用本方案提出的三步验证法验证交易双方身份合法性、金额以及余额的合法性,并在交易发生纠纷时,群管理员利用群签名打开算法找到交易双方真实身份,保护联盟链中合法用户的权益。
4.随着区块链中对大量交易的聚合和分析技术的出现,区块链中的匿名性越来越弱,参与交易的参与方甚至可以关联到现实世界中的真实身份,因此在区块链中需要额外的技术来保证交易双方的身份以及交易金额不暴露,目前实现隐私计算的方法大多是基于公链,且不能完全保证用户的隐私数据。


技术实现要素:

5.针对现有技术中的缺陷,本发明提供一种基于同态加密和零知识证明的联盟链隐私保护方法及系统。
6.根据本发明提供的一种基于同态加密和零知识证明的联盟链隐私保护方法及系统,所述方案如下:
7.第一方面,提供了一种基于同态加密和零知识证明的联盟链隐私保护方法,所述方法包括:
8.步骤s1:根据用户发起的注册和充值服务,通过用户的公钥生成身份,并初始化匿名代币的数量为0的密文,用户通过代币兑换策略,充值匿名代币,并将密文更新为相应数量的密文;
9.步骤s2:根据交易发起方的公钥、收款人的公钥、转账金额、账户的金额密文生成匿名交易,隐藏交易发起方、交易接收方以及交易金额;
10.步骤s3:交易发起方生成合法的交易签名后,将交易发送到区块链网络中,由区块链中的节点打包交易并广播给其他节点。
11.优选的,所述步骤s1包括:
12.步骤s1.1:用户发起注册服务时,需要用私钥签名,注册请求附带签名信息,根据公钥处理注册请求;
13.步骤s1.2:生成密文时使用满足同态加密的密码学算法,使得密文的加减操作对应相应的明文操作。
14.优选的,所述步骤s2包括:
15.为隐藏交易双方的身份,交易发起方会在区块链的网络中随机选择其他人的公钥组成一个环,进行混淆,并获取到公钥环中账户的金额密文,最终交易只能定位到是公钥环中的某两个人发起转账交易,并不能确认具体身份,所有人的金额都是密文形式,交易双方的金额密文会根据转账金额变化,其他人的金额密文会增加数字0对应的密文,保证原有金额不发生改变,仅金额的密文发生改变。
16.优选的,所述步骤s2还包括:
17.交易的发起方需要在一笔交易中同时证明以下关系成立:发起方有足够的金额发起转账,转账金额要小于等于账户现有金额、发起方和接收方的金额变动相等,转出的金额与转入的金额相等;
18.交易双方的身份都在公钥环中,且交易发起方有公钥环中的私钥,金额减少方的下标对应的私钥。
19.优选的,所述步骤s3包括:
20.步骤s3.1:区块链中的节点收到交易先验证交易的合法性,当验证合法后,执行交易并等待交易上链确认;
21.步骤s3.2:交易确认后,所有节点更新链上账户状态,参与交易的节点金额根据交易更新。
22.第二方面,提供了一种基于同态加密和零知识证明的联盟链隐私保护系统,所述系统包括:
23.模块m1:根据用户发起的注册和充值服务,通过用户的公钥生成身份,并初始化匿名代币的数量为0的密文,用户通过代币兑换策略,充值匿名代币,并将密文更新为相应数量的密文;
24.模块m2:根据交易发起方的公钥、收款人的公钥、转账金额、账户的金额密文生成匿名交易,隐藏交易发起方、交易接收方以及交易金额;
25.模块m3:交易发起方生成合法的交易签名后,将交易发送到区块链网络中,由区块链中的节点打包交易并广播给其他节点。
26.优选的,所述模块m1包括:
27.模块m1.1:用户发起注册服务时,需要用私钥签名,注册请求附带签名信息,根据公钥处理注册请求;
28.模块m1.2:生成密文时使用满足同态加密的密码学算法,使得密文的加减操作对应相应的明文操作。
29.优选的,所述模块m2包括:
30.为隐藏交易双方的身份,交易发起方会在区块链的网络中随机选择其他人的公钥组成一个环,进行混淆,并获取到公钥环中账户的金额密文,最终交易只能定位到是公钥环中的某两个人发起转账交易,并不能确认具体身份,所有人的金额都是密文形式,交易双方的金额密文会根据转账金额变化,其他人的金额密文会增加数字0对应的密文,保证原有金额不发生改变,仅金额的密文发生改变。
31.优选的,所述模块m2还包括:
32.交易的发起方需要在一笔交易中同时证明以下关系成立:发起方有足够的金额发起转账,转账金额要小于等于账户现有金额、发起方和接收方的金额变动相等,转出的金额与转入的金额相等;
33.交易双方的身份都在公钥环中,且交易发起方有公钥环中的私钥,金额减少方的下标对应的私钥。
34.优选的,所述模块m3包括:
35.模块m3.1:区块链中的节点收到交易先验证交易的合法性,当验证合法后,执行交易并等待交易上链确认;
36.模块m3.2:交易确认后,所有节点更新链上账户状态,参与交易的节点金额根据交易更新。
37.与现有技术相比,本发明具有如下的有益效果:
38.1、本发明利用了密码学承诺隐藏区块链上的状态数据与交易体,解决了区块链上全网同步的公开数据库中,账户与交易数据的隐私问题;
39.2、同时本发明没有引入中心化组件,在不影响共识机制和存储结构的情况下,最小化地修改交易发送和执行的逻辑,即可实现对用户隐私的保护。
附图说明
40.通过阅读参照以下附图对非限制性实施例所作的详细描述,本发明的其它特征、目的和优点将会变得更明显:
41.图1为本发明整体示意图。
具体实施方式
42.下面结合具体实施例对本发明进行详细说明。以下实施例将有助于本领域的技术人员进一步理解本发明,但不以任何形式限制本发明。应当指出的是,对本领域的普通技术人员来说,在不脱离本发明构思的前提下,还可以做出若干变化和改进。这些都属于本发明的保护范围。
43.本发明实施例提供了一种基于同态加密和零知识证明的联盟链隐私保护方法,参照图1所示,所述方法包括以下三个部分:
44.用户注册和充值:需要匿名性功能的用户通过代币兑换策略,将代币转换为将为隐私代币。
45.赎回:当用户不需要匿名性功能时,将隐私代币转换为普通代币。
46.匿名转账:用户发起匿名性交易时可以完美隐藏交易的发送者、接收者以及交易金额。
47.该方法具体步骤如下:
48.步骤s1:在发起匿名交易之前,首先用户发起注册和充值服务,根据用户的公钥生成身份,并初始化匿名代币的数量为0的密文,用户通过代币兑换策略,充值匿名代币,并将密文更新为相应数量的密文。
49.具体地,用户在发起注册服务时,需要用私钥签名,注册请求附带签名信息,以便于验证身份,并根据身份(即公钥)处理注册请求;
50.为保证匿名转账的正确性和可验证性,生成密文时使用满足同态加密的密码学算法,在不泄露金额明文的情况下,计算金额相加之后的密文,从而保护了交易双方的金额明文。
51.步骤s2:交易发起方根据自己的公钥、收款人的公钥、转账金额、账户的金额密文生成匿名交易,以达到隐私交易双方身份、交易金额的效果。
52.通过零知识证明和同态加密算法解决账户与交易数据的隐私问题,在不改变原有区块链处理逻辑的前提下,保证用户隐私,使得区块链中的交易数据不暴露用户金额、交易双方身份。
53.该步骤s2中为隐藏交易双方的身份,交易发起方会在区块链的网络中随机选择其他人的公钥组成一个环,以起到混淆的作用,并获取到公钥环中账户的金额密文,最终交易只能定位到是公钥环中的某两个人发起转账交易,并不能确认具体身份,所有人的金额都是密文形式,交易双方的金额密文会根据转账金额变化,其他人的金额密文会增加数字0对应的密文,保证原有金额不发生改变,但金额的密文发生改变。
54.交易的发起方需要在一笔交易中同时证明以下关系成立:发起方有足够的金额发起转账,即转账金额要小于等于账户现有金额、发起方和接收方的金额变动相等,即转出的金额与转入的金额相等,交易双方的身份都在公钥环中,且交易发起方有公钥环中的私钥,即金额减少方的下标对应的私钥,同时需要保证交易的有效性,如合法的签名。
55.步骤s3:交易方将满足上述条件的交易发送到区块链网络中,由区块链中的节点打包交易并广播给其他节点。
56.区块链中的节点收到交易先验证交易的合法性,如签名是否正确、证明是否合法等,当验证合法后,执行交易并等待交易上链确认;交易确认后,所有节点更新链上账户状态,参与交易的节点金额根据交易更新。
57.该发明还提供了一种基于同态加密和零知识证明的联盟链隐私保护系统,系统包括:
58.模块m1:由用户发起注册和充值服务,根据用户的公钥生成身份,并初始化匿名代币的数量为0的密文,用户通过代币兑换策略,充值匿名代币,并将密文更新为相应数量的密文。
59.用户发起注册服务时,需要用私钥签名,注册请求附带签名信息,以便于验证身份,并根据身份(即公钥)处理注册请求;为保证匿名转账的正确性和可验证性,生成密文时使用满足同态加密的密码学算法,使得密文的加减操作可对应到相应的明文操作。
60.模块m2:交易发起方根据自己的公钥、收款人的公钥、转账金额、账户的金额密文生成匿名交易,以达到隐私交易双方身份、交易金额的效果。
61.为隐藏交易双方的身份,交易发起方会在区块链的网络中随机选择其他人的公钥
组成一个环,以起到混淆的作用,并获取到公钥环中账户的金额密文,最终交易只能定位到是公钥环中的某两个人发起转账交易,但是并不能确认具体身份,所有人的金额都是密文形式,交易双方的金额密文会根据转账金额变化,而其他人的金额密文会增加数字0对应的密文,保证原有金额不发生改变,但是金额的密文发生改变。
62.交易的发起方需要在一笔交易中同时证明以下关系成立:发起方有足够的金额发起转账,即转账金额要小于等于账户现有金额、发起方和接收方的金额变动相等,即转出的金额与转入的金额相等;交易双方的身份都在公钥环中,且交易发起方有公钥环中的私钥,即金额减少方的下标对应的私钥。同时需要保证交易的有效性,如合法的签名。
63.模块m3:交易方将满足上述条件的交易发送到区块链网络中,由区块链中的节点打包交易并广播给其他节点。
64.区块链中的节点收到交易会首先验证交易的合法性,如签名是否正确、证明是否合法等,当验证合法后,执行交易并等待交易上链确认;交易确认后,所有节点更新链上账户状态,参与交易的节点金额根据交易更新。
65.本发明实施例提供了一种基于同态加密和零知识证明的联盟链隐私保护方法及系统,利用了密码学承诺隐藏区块链上的状态数据与交易体,解决了区块链上全网同步的公开数据库中,账户与交易数据的隐私问题,同时没有引入中心化组件,在不影响共识机制和存储结构的情况下,最小化地修改交易发送和执行的逻辑,即可实现对用户隐私的保护。
66.本领域技术人员知道,除了以纯计算机可读程序代码方式实现本发明提供的系统及其各个装置、模块、单元以外,完全可以通过将方法步骤进行逻辑编程来使得本发明提供的系统及其各个装置、模块、单元以逻辑门、开关、专用集成电路、可编程逻辑控制器以及嵌入式微控制器等的形式来实现相同功能。所以,本发明提供的系统及其各项装置、模块、单元可以被认为是一种硬件部件,而对其内包括的用于实现各种功能的装置、模块、单元也可以视为硬件部件内的结构;也可以将用于实现各种功能的装置、模块、单元视为既可以是实现方法的软件模块又可以是硬件部件内的结构。
67.以上对本发明的具体实施例进行了描述。需要理解的是,本发明并不局限于上述特定实施方式,本领域技术人员可以在权利要求的范围内做出各种变化或修改,这并不影响本发明的实质内容。在不冲突的情况下,本技术的实施例和实施例中的特征可以任意相互组合。
再多了解一些

本文用于企业家、创业者技术爱好者查询,结果仅供参考。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献