基于范围证明实现隐私交易的方法和系统技术方案

技术编号:32455851 阅读:18 留言:0更新日期:2022-02-26 08:33
本说明书实施例提供一种在区块链中基于范围证明实现隐私交易的方法。根据该方法,第一账户所在的第一设备获得与区块链交易金额有关的m个数值,以及待证明的m个目标范围对应于二进制表示的m个位数;将各数值转换为对应位数的比特串,并通过依序拼接m个比特串得到数值向量;获取挑战数组;根据数值向量,m个位数,以及挑战数组,生成两个向量多项式及其内积产生的结果多项式,并基于多项式的系数,生成第一组承诺值。然后,第一设备获取变量值x,将x代入前述多项式,得到两个验证向量和结果值,并据此生成第二组承诺值。验证设备至少基于m个位数,第一组承诺值和第二组承诺值,验证m个数值是否对应属于m个目标范围。m个数值是否对应属于m个目标范围。m个数值是否对应属于m个目标范围。

【技术实现步骤摘要】
基于范围证明实现隐私交易的方法和系统


[0001]本说明书一个或多个实施例涉及区块链系统和数据隐私保护,尤其涉及在区块链中基于范围证明实现隐私交易的方法和系统,以及保护隐私的数据验证方法和系统。

技术介绍

[0002]区块链技术是利用点对点传输、共识机制、加密算法等计算机技术实现数据分布式存储的一种应用模式。在区块链网络中,数据的存储和记录通过交易的方式实现。各个交易的交易内容由区块链网络的所有节点共同维护,任何一方无法对区块中的内容进行篡改。
[0003]由于区块链数据透明可跟踪的特性,常规区块链中每条交易公开记录在区块中,任何节点均可以访问读取。然而,当交易涉及个人隐私时,如何在保证节点可以正常对交易进行验证和执行的前提下,不泄露隐私信息,成为有待解决的问题。
[0004]因此,希望提供有效的方案,能够在不泄露隐私的情况下验证和执行区块链交易,从而在区块链中实现安全有效的隐私交易。

技术实现思路

[0005]本说明书一个或多个实施例描述了一种在区块链中基于范围证明实现隐私交易的方法和系统,其中对于区块链交易中本文档来自技高网...

【技术保护点】

【技术特征摘要】
1.一种在区块链中基于范围证明实现隐私交易的方法,包括:第一账户所在的第一设备获得与第一账户的区块链交易有关的m个数值,以及待证明的m个目标范围对应于二进制表示的m个位数;将各数值转换为对应位数的比特串,并通过依序拼接m个比特串得到数值向量;获取挑战数组;根据所述数值向量,所述m个位数,以及所述挑战数组,生成两个向量多项式及其内积产生的结果多项式,并基于所述结果多项式的系数,生成第一组承诺值;获取随机的变量值x;将所述变量值x代入所述两个向量多项式和结果多项式,得到两个验证向量和结果值,并生成第二组承诺值,其中至少包括所述结果值和与所述两个验证向量相关的向量数据;所述m个位数,所述第一组承诺值和第二组承诺值被发送给验证设备,以使验证设备验证所述m个数值是否对应属于所述m个目标范围。2.根据权利要求1所述的方法,其中,获取挑战数组包括,从所述验证设备接收其生成的挑战数组;获取随机的变量值x包括,从所述验证设备接收其生成的变量值x;所述方法还包括:向所述验证设备发送所述第一组承诺值和第二组承诺值。3.根据权利要求1所述的方法,其中,获取挑战数组包括,根据约定的第一生成器和公开的第一数据源,生成所述挑战数组;获取随机的变量值x包括,根据约定的第二生成器和公开的第二数据源,生成所述变量值x;所述方法还包括:所述第一设备至少基于所述第一组承诺值和第二组承诺值,生成零知识证明,并将该零知识证明上传至区块链;所述验证设备从所述区块链获得所述零知识证明。4.根据权利要求1所述的方法,其中,所述验证设备为记账节点对应的设备,所述方法还包括,所述验证设备在验证所述m个数值对应属于所述m个目标范围的情况下,将与所述m个数值相关的交易写入区块链。5.根据权利要求1所述的方法,其中,所述m个数值包括以下中的一项或多项:交易金额,账户余额,基于交易金额和账户余额确定的交易比例值。6.根据权利要求1所述的方法,其中,所述两个向量多项式分别基于第一基础向量和第二基础向量而生成;其中,所述第一基础向量和第二基础向量的内积结果,等于第一运算值和第二运算值δ之和,其中,第一运算值依赖于所述m个数值,第二运算值仅依赖于所述挑战数组和m个位数。7.根据权利要求6所述的方法,还包括:生成与所述数值向量具有预定关系的辅助向量;生成用于混淆所述数值向量和辅助向量的第一和第二盲化向量;根据所述数值向量、辅助向量生成基准值A,根据所述第一和第二盲化向量,生成盲化值S。8.根据权利要求7所述的方法,其中,所述生成两个向量多项式,包括:基于所述第一基础向量引入第一盲化向量和变量,得到第一向量多项式;
基于所述第二基础向量引入第二盲化向量和变量,得到第二向量多项式。9.根据权利要求8所述的方法,其中,验证所述m个数值是否对应属于所述m个目标范围,包括:根据所述基准值A,所述盲化值S,所述挑战数组,所述m个位数,计算得到第一计算值;根据所述两个验证向量,计算得到第二计算值;验证第一计算值是否等于第二计算值。10.根据权利要求6所述的方法,其中,所述挑战数组包括第三挑战数e;生成第一组承诺值,包括:根据所述结果多项式的一次项系数,本地生成的第一随机数,所述m个数值各自在第一账户的公钥pk下进行加密的m个密文的第二部分,以及所述第三挑战数,生成第一承诺值T1;根据所述结果多项式的二次项系数,本地生成的第二随机数,所述m个密文的第二部分,和所述第三挑战数,生成第二承诺值T2,其中在第一承诺值和第二承诺值计算中,所述第三挑战数e均作用于所述第二部分的指数上。11.根据权利要求10所述的方法,其中,生成第二组承诺值,包括:根据所述第一随机数、第二随机数、所述变量值x以及与所述公钥对应的私钥sk,生成验证值τ
x
;确定第二组承诺值,其中至少包括所述验证值τ
x
,所述结果值,所述两个验证向量。12.根据权利要求11所述的方法,其中,验证所述m个数值是否对应属于所述m个目标范围,包括:根据所述验证值τ
x
,所述结果值,所述第二运算值δ,所述第三挑战数e,所述m个密文的第二部分的连乘,计算得到第三计算值;其中,所述第三挑战数e作用于所述第二部分的指数上;根据所述第一承诺值T1,第二承诺值T2,所述变量值x,所述第三挑战数e,所述m个密文的第一部分的连乘,计算得到第四计算值;所述第三挑战数...

【专利技术属性】
技术研发人员:林立王尧雷浩
申请(专利权)人:支付宝杭州信息技术有限公司
类型:发明
国别省市:

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

1