生成交易地址和索引树以及确定交易接收者的方法和装置制造方法及图纸

技术编号:34103569 阅读:26 留言:0更新日期:2022-07-11 23:59
本说明书实施例提供一种基于索引树进行隐地址检索的方案;在该方案中,在一定的模空间中生成隐地址,使得交易的目标用户和非目标用户针对该隐地址进行某种操作得到不同性质的结果。然后基于这样的隐地址进行逐层聚合,构建索引树,其中该聚合不改变上述操作结果的性质。当用户想要查找属于自己的目标交易时,可以沿着索引树进行检索,不断排除不包含目标交易的树分支,从而缩小包含目标交易的分支范围,无需遍历区块中的所有交易,就可快速检索到属于自己的目标交易。到属于自己的目标交易。到属于自己的目标交易。

【技术实现步骤摘要】
生成交易地址和索引树以及确定交易接收者的方法和装置


[0001]本说明书一个或多个实施例涉及区块链领域,尤其涉及在区块链中针对交易生成隐地址,并基于隐地址确定交易接收者的方法及装置。

技术介绍

[0002]区块链是一种防篡改的、共享的数字化账本,用于记录公有或私有对等网络中的交易。账本分发给网络中的所有成员节点,在区块中永久记录网络中发生的资产交易的历史记录。由于账本是完全公开的,因此区块链账本本身无隐私保护功能,需通过额外的技术来保护资产交易的隐私。
[0003]为了保护接收者身份隐私,在一些方案中开始使用隐地址来保证身份匿名。隐地址的原理是让发送方为每笔交易生成一个一次性地址,即使多笔交易是与同一个接收方进行的,交易不相关方也无法区分。因此,隐地址有助于保护加密货币支付接收者的隐私及其资产细节。隐地址方案的语义安全性,要求外部观察者在观察相应的隐地址字段后无法区分所选用户的。现有的语义安全的隐地址方案的搜索时间与所有隐地址交易的总数量成线性关系。这使得从大规模交易中检索变得非常困难。
[0004]因此,期望能有改进的方案,可以支持基于隐地址的批量交易的快速检索,从而提高隐私保护下的区块链系统的整体性能。

技术实现思路

[0005]本说明书一个或多个实施例描述了一种生成交易地址,构建索引树以及确定交易接收者的方法及装置,可以支持基于隐地址的批量交易的快速检索,从而提高隐私保护下的区块链系统的整体性能。
[0006]根据第一方面,提供一种基于隐私保护生成区块链交易的方法,包括:
[0007]获取第一用户的第一公钥,所述第一用户为当前交易的目标接收者,所述第一公钥包括定义第一模空间的第一数值,以及第一基元组;
[0008]基于第一基元组在第一模空间进行第一运算,生成第一用户对应的隐地址;该隐地址满足,利用第一公钥对应的第一私钥在第一模空间中对其进行预定操作的结果不为1;
[0009]获取第二用户的第二公钥,所述第二用户为用户集合中所述第一用户之外的任意用户,第二公钥包括定义第二模空间的第二数值,以及第二基元组;
[0010]基于第二基元组在第二模空间进行第二运算,生成第二用户对应的隐地址;该隐地址满足,利用第二公钥对应的第二私钥在第二模空间中对其进行预定操作的结果等于1;
[0011]对所述用户集合中各个用户对应的各个隐地址进行聚合,将聚合结果作为所述当前交易的接收地址;其中,所述接收地址在各用户对应的模空间的取模结果等于该用户对应的隐地址。
[0012]根据第二方面,提供了一种在区块链中生成区块索引树的方法,包括:
[0013]获取当前区块中包含的所有n条交易对应的n个接收地址,其中,所述n条交易中任
意交易的接收地址满足,在用户全集中各用户对应的模空间的取模结果等于该用户对应的隐地址;其中用户全集包括作为该交易的目标接收者的第一用户,和除其之外的第二用户,第一用户对应的隐地址满足,利用第一用户的私钥在第一模空间中对其进行预定操作的结果不为1;第二用户对应的隐地址满足,利用第二用户对应的私钥在第二模空间中对其进行预定操作的结果等于1;
[0014]将所述n个接收地址作为叶节点的节点值,逐层生成上一层级节点,直到获得根节点;其中,逐层生成上一层级节点包括,将当前层级中相邻两个节点的节点值在全量模空间中进行聚合,得到该两个节点在上一层级的父节点的节点值,其中,所述全量模空间是所述用户全集中各个用户对应的模空间的聚合空间;
[0015]记录从叶节点到根节点形成的索引树。
[0016]根据第三方面,提供了一种确定区块中交易接收者的方法,通过目标用户对应的设备执行,包括:
[0017]获取当前区块对应的索引树,所述索引树的叶子节点对应于当前区块包含的所有N条交易对应的N个接收地址,任意父节点的节点值,基于其两个子节点的节点值在全量模空间中的聚合结果而得到,所述全量模空间是用户全集中各个用户对应的模空间的聚合空间;
[0018]从所述索引树的根节点开始,沿目标节点构成的路径检索所述索引树,直到叶子节点层,其中所述目标节点的节点值满足,利用所述目标用户的私钥在该目标用户对应的目标模空间中对其进行目标操作的结果不等于1;
[0019]将符合所述目标节点的若干叶子节点对应的交易,确定为以所述目标用户为接收者的目标交易。
[0020]根据第四方面,提供了一种基于隐私保护生成区块链交易的装置,包括:
[0021]第一获取单元,配置为获取第一用户的第一公钥,所述第一用户为当前交易的目标接收者,所述第一公钥包括定义第一模空间的第一数值,以及第一基元组;
[0022]第一地址生成单元,配置为基于第一基元组在第一模空间进行第一运算,生成第一用户对应的隐地址;该隐地址满足,利用第一公钥对应的第一私钥在第一模空间中对其进行预定操作的结果不为1;
[0023]第二获取单元,配置为获取第二用户的第二公钥,所述第二用户为用户集合中所述第一用户之外的任意用户,第二公钥包括定义第二模空间的第二数值,以及第二基元组;
[0024]第二地址生成单元,配置为基于第二基元组在第二模空间进行第二运算,生成第二用户对应的隐地址;该隐地址满足,利用第二公钥对应的第二私钥在第二模空间中对其进行预定操作的结果等于1;
[0025]聚合单元,配置为对所述用户集合中各个用户对应的各个隐地址进行聚合,将聚合结果作为所述当前交易的接收地址;其中,所述接收地址在各用户对应的模空间的取模结果等于该用户对应的隐地址。
[0026]根据第五方面,提供了一种在区块链中生成区块索引树的装置,包括:
[0027]地址获取单元,配置为获取当前区块中包含的所有n条交易对应的n个接收地址,其中,所述n条交易中任意交易的接收地址满足,在用户全集中各用户对应的模空间的取模结果等于该用户对应的隐地址;其中用户全集包括作为该交易的目标接收者的第一用户,
和除其之外的第二用户,第一用户对应的隐地址满足,利用第一用户的私钥在第一模空间中对其进行预定操作的结果不为1;第二用户对应的隐地址满足,利用第二用户对应的私钥在第二模空间中对其进行预定操作的结果等于1;
[0028]节点生成单元,配置为将所述n个接收地址作为叶节点的节点值,逐层生成上一层级节点,直到获得根节点;其中,逐层生成上一层级节点包括,将当前层级中相邻两个节点的节点值在全量模空间中进行聚合,得到该两个节点在上一层级的父节点的节点值,其中,所述全量模空间是所述用户全集中各个用户对应的模空间的聚合空间;
[0029]记录单元,配置为记录从叶节点到根节点形成的索引树。
[0030]根据第六方面,提供了一种确定区块中交易接收者的装置,部署在目标用户对应的设备中,包括:
[0031]索引树获取单元,配置为获取当前区块对应的索引树,所述索引树的叶子节点对应于当前区块包含的所有N条交易对应的N个接收地址,任意父节点的节点值,基于其两个子节点的节点值在全本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种基于隐私保护生成区块链交易的方法,包括:获取第一用户的第一公钥,所述第一用户为当前交易的目标接收者,所述第一公钥包括定义第一模空间的第一数值,以及第一基元组;基于第一基元组在第一模空间进行第一运算,生成第一用户对应的隐地址;该隐地址满足,利用第一公钥对应的第一私钥在第一模空间中对其进行预定操作的结果不为1;获取第二用户的第二公钥,所述第二用户为用户集合中所述第一用户之外的任意用户,第二公钥包括定义第二模空间的第二数值,以及第二基元组;基于第二基元组在第二模空间进行第二运算,生成第二用户对应的隐地址;该隐地址满足,利用第二公钥对应的第二私钥在第二模空间中对其进行预定操作的结果等于1;对所述用户集合中各个用户对应的各个隐地址进行聚合,将聚合结果作为所述当前交易的接收地址;其中,所述接收地址在各用户对应的模空间的取模结果等于该用户对应的隐地址。2.根据权利要求1所述的方法,其中所述第一基元组包括,第一基元和第二基元,所述第二基元满足,利用所述第一私钥在所述第一模空间中对其进行所述预定操作的结果等于1;所述第一运算包括,基于第一随机数对第二基元进行指数操作,将操作结果和第一基元进行组合,获得该组合结果在第一模空间的取模结果。3.根据权利要求2所述的方法,其中,所述第一数值为第一素数与第二素数的乘积,第一素数和第二素数分别基于第一辅助元和第二辅助元确定,所述第一私钥等于第一辅助元;所述第二基元基于在第一模空间中利用所述第二辅助元对中间基元进行操作而确定;其中,所述第一基元和所述中间基元均为第一辅助值阶的元素,所述第一辅助值为第一辅助元和第二辅助元的乘积。4.根据权利要求1所述的方法,其中,所述第二基元组包括,第三基元和第四基元,所述第四基元满足,利用所述第二私钥在所述第二模空间中进行所述预定操作的结果等于1;所述第二运算包括,基于第二随机数对第四基元进行指数操作,获得该操作结果在第二模空间的取模结果。5.根据权利要求1所述的方法,其中,所述当前交易用于将数字藏品转移到目标接收者。6.一种在区块链中生成区块索引树的方法,包括:获取当前区块中包含的所有n条交易对应的n个接收地址,其中,所述n条交易中任意交易的接收地址满足,在用户全集中各用户对应的模空间的取模结果等于该用户对应的隐地址;其中用户全集包括作为该交易的目标接收者的第一用户,和除其之外的第二用户,第一用户对应的隐地址满足,利用第一用户的私钥在第一模空间中对其进行预定操作的结果不为1;第二用户对应的隐地址满足,利用第二用户对应的私钥在第二模空间中对其进行预定操作的结果等于1;将所述n个接收地址作为叶节点的节点值,逐层生成上一层级节点,直到获得根节点;其中,逐层生成上一层级节点包括,将当前层级中相邻两个节点的节点值在全量模空间中进行聚合,得到该两个节点在上一层级的父节点的节点值,其中,所述全量模空间是所述用户全集中各个用户对应的模空间的聚合空间;
记录从叶节点到根节点形成的索引树。7.根据权利要求6所述的方法,其中,记录从叶节点到根节点形成的索引树,包括:在所述当前区块的区块头中,记录所述索引树。8.根据权利要求6所述的方法,其中,记录从叶节点到根节点形成的索引树,包括:在所述区块链的各个节点设备中,记录所述索引树。9.根据权利要求6所述的方法,其中,定义各用户对应的模空间的各数值彼此互质,定义所述全量模空间的数值为所述各数值的乘积。10.一种确定区块中交易接收者的方法,通过目标用户对应的设备执行,包括:获取当前区块对应的索引树,所述索引树的叶子节点对应于当前区块包含的所有N条交易对应的N个接收地址,任意父节点的节点值,基于其两个子节点的节点值在全量模空间中的聚合结果而得到,所述全量模空间是用户全集中各个用户对应的模空间的聚合空间;从所述索引树的根节点开始,沿目标节点构成的路径检索所述索引树,直到叶子节点层,其中所述目标节点的节点值满足,利用所...

【专利技术属性】
技术研发人员:王欣林立周知远雷浩
申请(专利权)人:蚂蚁区块链科技上海有限公司
类型:发明
国别省市:

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

1