【CN109858281A】一种基于零知识证明的区块链账户模型隐私保护方法【专利】
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
(19)中华人民共和国国家知识产权局
(12)发明专利申请
(10)申请公布号 (43)申请公布日 (21)申请号 201910104512.5
(22)申请日 2019.02.01
(71)申请人 杭州云象网络技术有限公司
地址 311121 浙江省杭州市余杭区仓前街
道海创科技中心2幢301室
(72)发明人 黄步添 俞之贝 杨文龙 蔡玉生
卢瑞瑞
(74)专利代理机构 杭州天勤知识产权代理有限
公司 33224
代理人 王琛
(51)Int.Cl.
G06F 21/62(2013.01)
G06Q 20/10(2012.01)
G06Q 40/04(2012.01)
(54)发明名称
一种基于零知识证明的区块链账户模型隐
私保护方法
(57)摘要
本发明公开了一种基于零知识证明的区块
链账户模型隐私保护方法,包括以下步骤:转账
人将明文余额转换为零知识余额;对零知识余额
进行转账操作;转账人更新自己的余额;收款人
更新自己的余额;用户将零知识余额转换为明文
余额。本发明将零知识证明和区块链账户模型结
合,实现了交易数据的隐私保护,可以有效保证
数据不被泄漏。通过本发明技术方案,明文的数
据交易将会被隐藏,虽然知道双方进行了某笔无
标记的交易,但是当同时进行许多笔交易时,就
会产生许多个发送方与接收方,这样每笔特定交
易的双方就被掩盖起来了,无法将交易双方对应
起来,
并且交易金额完全保密。权利要求书2页 说明书9页 附图2页CN 109858281 A 2019.06.07
C N 109858281
A
权 利 要 求 书1/2页CN 109858281 A
1.一种基于零知识证明的区块链账户模型隐私保护方法,包括如下步骤:
(1)转账人将明文余额转换为零知识余额;
(2)对零知识余额进行转账操作;
(3)转账人更新自己的余额;
(4)收款人更新自己的余额;
(5)用户将零知识余额转换为明文余额。
2.根据权利要求1所述的区块链账户模型隐私保护方法,其特征在于:所述步骤(1)的具体实现过程为:首先定义明文余额转换为零知识余额的零知识转化函数Mint;然后调用函数Mint对指定账户的明文余额进行转化并产生相应的零知识证明,该证明内容包括:
①证明转化前指定账户的零知识余额确实是由该账户已有的明文余额币值转化而来;
②证明当前指定账户待转化的零知识余额确实是由明文余额币值转化而来且币值小于该账户当前持有的明文余额;
③证明转化操作完成后指定账户的零知识余额确实为转化前的零知识余额与新转化的零知识余额的累加。
3.根据权利要求1所述的区块链账户模型隐私保护方法,其特征在于:所述步骤(2)的具体实现过程如下:
2.1转账人选择一个随机数,并利用椭圆曲线的基点在椭圆曲线上相应生成一个随机的点;
2.2使用Diffie-Hellman密钥交换计算得到收款人相应的随机化公私钥;
2.3定义转账交易函数Send,调用函数Send进行转账操作并产生相应的零知识证明,该证明内容包括:
①证明转账人当前的零知识余额确实是由转账人已有明文余额转化而来的且已有的零知识余额大于待转账的零知识余额;
②待转账的零知识余额确实是由转账人实际转账的明文余额转化而来的;
2.4待转账的零知识余额使用默克尔树进行组织处理,记录在以零知识余额rt cmt为树根的默克尔树上;
2.5交易双方所共享的参数使用收款人随机化公钥加密,转账交易产生后,转账人将该交易的哈希值通过链下告知收款人,转账交易记录上链,转账人当前账户的零知识余额所对应的序列号链上公开。
4.根据权利要求3所述的区块链账户模型隐私保护方法,其特征在于:所述步骤(3)的具体实现过程如下:对于记录在区块链上的转账交易,定义相应的转账人更新零知识余额函数Update,转账人通过调用函数Update进行零知识余额更新操作并产生相应的零知识证明,该证明内容包括:
①证明存在一个零知识余额,确实是由转账人账户的明文余额转化而来,并记录在以零知识余额rt cmt为树根的默克尔树上,此过程中使用的参数为交易发起方在转账操作中生成转账交易所缓存的参数;
②证明转账人当前的零知识余额确实是由其账户的明文余额币值转化而来;
③证明更新后账户的零知识余额确实为转账人账户已有的零知识余额与转账消耗的零知识余额的差值;
2