[发明专利]一种面向区块链的乐观并发保序编码方法有效
申请号: | 202010342311.1 | 申请日: | 2020-04-27 |
公开(公告)号: | CN111680317B | 公开(公告)日: | 2021-05-25 |
发明(设计)人: | 李青青;戚晓冬;陈之豪;张召;金澈清 | 申请(专利权)人: | 华东师范大学 |
主分类号: | G06F21/62 | 分类号: | G06F21/62;G06F21/64 |
代理公司: | 上海德禾翰通律师事务所 31319 | 代理人: | 陈艳娟 |
地址: | 200241 *** | 国省代码: | 上海;31 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 面向 区块 乐观 并发 编码 方法 | ||
1.一种面向区块链的乐观并发的保序编码方法,其特征在于,该方法具体包括以下步骤:
步骤1:区块链网络中所有的节点初始化本地的OPE树,所述OPE树为一棵二叉排序树,用作区块链中交易的索引;所述步骤1中的初始化OPE树过程具体包括:
步骤1-1:区块链节点初始化OPE树,生成两个边界节点Encrypt(-1,sk),-1,Encrypt(M,sk),N,其中,M是明文域大小,N是编码域大小,sk是加密密钥,Encrypt是加密算法,可以是对称加密或者非对称加密,其功能是通过传入密钥和要加密的明文,返回密文;
步骤2:对需要上传的一条数据条目,数据拥有者将隐私字段的明文值加密后,将密文发给区块链节点请求编码;
步骤3:区块链节点对收到的密文计算保序编码,并将编码结果发给数据拥有者;如果编码过程中发现OPE树需要重平衡,就发送重平衡消息给数据拥有者;所述步骤3中的编码过程具体包括:
步骤3-1:如果根节点为空,直接计算-1和N的中值作为编码发送给数据拥有者;否则区块链节点将OPE树的根节点的密文c’发给数据拥有者;
步骤3-2:数据拥有者收到根节点的密文c’后,解密得到根节点的明文x’,并与要进行编码的值x进行比较,将比较结果发送给区块链节点;
步骤3-3:如果xx’,区块链节点向数据拥有者发送OPE树中根节点的右子节点的密文;如果xx’则发送左子节点的密文;如果x=x’,则直接将根节点的编码返回给数据拥有者,否则跳转到步骤3-4;
步骤3-4:如果OPE树中没有明文与x相等的节点,数据拥有者与区块链节点就重复步骤3-2和步骤3-3中的交互式过程,直到区块链节点遍历到OPE树中的一个空位置;设有两个节点v1,v2是遍历路径上的有序排列的节点中使得对应的明文x1和x2满足x1≤x≤x2的两个节点,设v1的编码为y1,v2的编码为y2,如果y2和y1的差不为1,就计算y1和y2的中值作为x的编码y,即并返回y给数据拥有者,否则就跳转到步骤3-5;
步骤3-5:y2与y1之差为1,说明编码域没有足够的空间进行编码,需要重平衡整棵OPE树使得编码分布更均匀,于是发给数据拥有者需要重平衡的消息;
步骤4:数据拥有者收到区块链节点发来的编码结果后,发起一笔TX_ENC类型的交易提案,所述TX_ENC类型的交易提案是指:隐私字段是密文、其他非隐私字段是明文、步骤3中计算好的保序编码、编码过程中记录在树上的路径和当前OPE树的版本号一起发给区块链主节点的交易;如果数据拥有者收到的是重平衡消息,就发起一笔TX_UPD类型的交易提案给主节点,所述TX_UPD类型的交易提案是指:标识用于重平衡OPE树的发给主节点的交易;
步骤5:主节点收到数据拥有者发送的交易提案后,存储到本地的交易池中;
步骤6:主节点从交易池中取出固定数量的交易打包成区块,串行地预执行区块中的每一笔交易;
步骤7:主节点将没有冲突交易的区块在从节点之间进行投票共识,从节点对区块中的每一笔交易进行和主节点预执行一样的验证方法,如果区块链中存在有冲突的交易,就拒绝这次共识投票,否则就继续进行共识;
步骤8:经过共识的区块将被写入每个节点的本地账本,并且本地的OPE树也会被更新;
步骤9:授权查询用户在OPE树上对密文进行点查询;
步骤10:授权查询用户在OPE树上对密文进行范围查询;
步骤11:授权查询用户在OPE树上对密文进行基于cache的范围查询。
2.根据权利要求1中所述的保序编码方法,其特征在于,所述步骤6具体包括:
步骤6-1:如果交易类型是TX_ENC,首先获取交易中的版本号,与当前OPE树的版本号比较,如果不相等就直接中止这笔交易;如果相等,首先根据交易中的路径遍历到OPE树上应该写入的位置,如果这个位置上已经存在节点,就中止这笔交易,否则就将交易中的密文-编码对写到树上;
步骤6-2:如果交易类型是TX_UPD,需要重平衡OPE树,重平衡会更新所有树上的编码,先初始化OPE树为两个边界节点,然后按顺序重新编码所有不同的密文,编码按照一样的计算方法,即计算连续序列中明文比当前明文小的和比当前明文大的对应的两个编码的中值,先编OPE树上所有节点中按顺序中间的值,再编左边序列中的中值,然后是右边序列中的中值,依此类推,是一个递归的过程,最后产生了临时平衡的树,然后全局的树版本号加1。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于华东师范大学,未经华东师范大学许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202010342311.1/1.html,转载请声明来源钻瓜专利网。