[发明专利]一种区块链数据同步方法有效
申请号: | 201810925401.6 | 申请日: | 2018-08-15 |
公开(公告)号: | CN109034807B | 公开(公告)日: | 2021-07-06 |
发明(设计)人: | 吴思进;王志文 | 申请(专利权)人: | 杭州复杂美科技有限公司 |
主分类号: | G06Q20/38 | 分类号: | G06Q20/38 |
代理公司: | 暂无信息 | 代理人: | 暂无信息 |
地址: | 310000 浙江省杭州市*** | 国省代码: | 浙江;33 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 区块 数据 同步 方法 | ||
1.一种区块链数据同步方法,其特征在于,包含以下内容:
数据同步方法的角色包括:用户、交易、记账节点、共识节点、普通节点、位图;
所述用户将所述交易发送到区块链系统;所述用户、所述交易都至少有一个;
每个所述共识节点都有一个对应的位图;所述共识节点对收到的所述交易做哈希运算,并将得到的交易哈希值保存到所述对应的位图中;所述共识节点用于打包交易生成区块,在每轮共识过程中,最快打包交易生成区块的共识节点为所述记账节点,除去所述记账节点外的其他所述共识节点为所述普通节点;每轮共识只有一个所述记账节点,所述普通节点至少有三个;
所述位图是由N个存储位构成的列表,所述N为存储位的个数;每一个所述存储位包括状态码、存储空间和位编号;所述位编号是[0,N-1]范围内的连续整数,所述位编号为十进制数;所述存储空间用于存放哈希值;所述状态码包括0和1,已经存放哈希值的存储位的状态码为1,没有存放哈希值的存储位的状态码为0;
所述数据同步方法,包括以下处理步骤:
步骤1:所述用户将所述交易经私钥签名发送到所述区块链系统;
步骤2:所述共识节点将由所述交易经哈希运算得到的交易哈希值保存到所述对应的位图中,保存的过程为:首先将所述交易哈希值的前M个字节与所述N取模得到序号,在所述对应的位图中和所述序号相同的所述位编号对应的所述存储空间中写入所述交易哈希值;再更新所述状态码,将已经存放有哈希值的存储位的状态码设置为1,没有存放哈希值的存储位的状态码保持为0;所述M、所述N均为正整数,取值由工作人员确定;
步骤3:所述共识节点将所有所述交易哈希值生成梅克尔树,得到梅克尔根;最快得到所述梅克尔根的共识节点为所述记账节点即最快打包交易生成区块的共识节点;
步骤4:所述共识节点向所述区块链系统中的其他共识节点广播自己的位图和梅克尔根;
步骤5:所述共识节点收到所述其他共识节点广播的位图和梅克尔根,并对比收到的梅克尔根和自己的梅克尔根,如果两者一致,则执行步骤9,如果两者不一致,则执行步骤6;
步骤6:所述共识节点将收到的位图和自己的位图中位编号相同的存储位按照所述位编号由小到大的顺序逐个对比的得到异常的存储位:首先对比状态码,如果所述状态码不一致,则所述存储位异常;如果所述状态码均为1,则将两个存储位中的交易哈希值取出部分进行对比,如果交易哈希值的取出部分不一致,则所述存储位异常;所述交易哈希值的取出部分的长度及位数由工作人员根据需要调整;
步骤7:所述共识节点将步骤6中所有所述异常的存储位对应的交易广播给所述区块链系统中的其他共识节点,并向所述区块链系统中的其他共识节点获取所述异常的存储位对应的交易的原始数据;
步骤8:所述共识节点将获取到的所述异常的存储位对应的交易的原始数据做哈希运算,并将得到的所述交易哈希值保存到对应的异常的存储位中,得到最终的位图;
步骤9:所述记账节点将本节点的所有交易进行打包生成区块,并将区块头及所述最终的位图广播给所述普通节点;所述区块头包含所述梅克尔根;
步骤10:所述普通节点验证所述记账节点广播的所述梅克尔根、所述交易哈希值、所述最终的位图,并进行投票。
2.根据权利要求1所述的一种区块链数据同步方法,其特征在于,包括:所述区块链系统中单个区块平均打包交易的数量与所述存储位的个数的比值小于1/10。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于杭州复杂美科技有限公司,未经杭州复杂美科技有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201810925401.6/1.html,转载请声明来源钻瓜专利网。
- 上一篇:一种代币发行系统
- 下一篇:一种支付类应用程序的运行方法、运行装置及终端设备
- 数据显示系统、数据中继设备、数据中继方法、数据系统、接收设备和数据读取方法
- 数据记录方法、数据记录装置、数据记录媒体、数据重播方法和数据重播装置
- 数据发送方法、数据发送系统、数据发送装置以及数据结构
- 数据显示系统、数据中继设备、数据中继方法及数据系统
- 数据嵌入装置、数据嵌入方法、数据提取装置及数据提取方法
- 数据管理装置、数据编辑装置、数据阅览装置、数据管理方法、数据编辑方法以及数据阅览方法
- 数据发送和数据接收设备、数据发送和数据接收方法
- 数据发送装置、数据接收装置、数据收发系统、数据发送方法、数据接收方法和数据收发方法
- 数据发送方法、数据再现方法、数据发送装置及数据再现装置
- 数据发送方法、数据再现方法、数据发送装置及数据再现装置