[发明专利]一种块链式账本中数据记录的验证方法、装置及设备有效
申请号: | 202010538204.6 | 申请日: | 2020-06-12 |
公开(公告)号: | CN111444197B | 公开(公告)日: | 2020-12-11 |
发明(设计)人: | 杨新颖 | 申请(专利权)人: | 支付宝(杭州)信息技术有限公司 |
主分类号: | G06F16/22 | 分类号: | G06F16/22;G06F16/23;G06F16/27;G06F21/64;G06Q40/04 |
代理公司: | 北京博思佳知识产权代理有限公司 11415 | 代理人: | 陈冲 |
地址: | 310000 浙江省杭州市*** | 国省代码: | 浙江;33 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 链式 账本 数据 记录 验证 方法 装置 设备 | ||
1.一种块链式账本中数据记录的验证方法,应用于以块链式账本存储数据记录的中心化的数据库服务端中,包括:
执行用户所确定的在所述账本中的第一次清除指令,清除指令用于在所述账本中清除最前端的连续的部分账本;所述部分账本为初始数据块到指定数据块之前的所有数据块;
确定被清除的部分账本中与所述用户相关的第一数据记录,构成包含第一数据记录的第一数据记录集合;
根据所述第一数据记录集合构建出第一默克尔树;
将所述第一默克尔树以数据记录的形式写入所述块链式账本中,以便根据账本中所存储的第一默克尔树对所述第一数据记录进行验证。
2.如权利要求1所述的方法,确定被清除的数据记录中与用户相关的第一数据记录,包括:
遍历所述被清除的账本,确定被清除的账本中包含用户签名的数据记录,将包含用户签名的数据记录确定为第一数据记录;
或者,获取用户所指定的业务属性,确定被清除的账本中包含所述业务属性的数据记录,将包含所述业务属性的数据记录确定为与用户相关的第一数据记录。
3.如权利要求1所述的方法,根据所述第一数据记录集合构建出第一默克尔树,包括:
按照第一数据记录集合中的每一数据记录在所述账本中的位置先后依序排列,所谓位置包括数据记录所处的块高和在数据块中的偏移量,块高和偏移量越小,位置排序越靠前;
根据依序排列后的部分数据记录的哈希值构建出第一默克尔树。
4.如权利要求1所述的方法,将所述默克尔树以数据记录的形式写入所述块链式账本中,包括:
服务端对所述默克尔树进行数字签名,并将服务端的数字签名和所述默克尔树发送至用户,以便用户在验证所述服务端的数字签名之后对所述默克尔树进行数字签名;
接收用户发送的用户的数字签名, 将包含所述服务端的数字签名和用户的数字签名的默克尔树以数据记录的形式写入所述块链式账本中。
5.如权利要求1所述的方法,所述方法还包括:
接收用户所发送的验证指令,所述验证指令中包含待验证的数据记录的哈希值,所述待验证的数据记录属于所述第一数据记录集合;
根据所述第一默克尔树对所述哈希值执行完整性验证。
6.如权利要求1所述的方法,所述方法还包括:
执行用户所确定的在所述账本中的第K次清除指令,K1;
确定所述第K次清除指令所清除的账本中与用户相关的第K数据记录,构成包含第K数据记录的第K数据记录集合;
获取第K-1次清除时所产生的第K-1默克尔树,根据所述第K数据记录集合与所述第K-1默克尔树构建出第K默克尔树;
将所述第K默克尔树以数据记录的形式写入所述块链式账本中。
7.如权利要求6所述的方法,所述方法还包括:
接收用户所发送的验证指令,所述验证指令中包含待验证的数据记录的哈希值,所述待验证的数据记录属于被清除的数据记录中与用户相关的数据记录中与用户相关的数据记录;
根据所述第K默克尔树对所述哈希值执行完整性验证。
8.如权利要求1所述的方法,在所述块链式账本中,数据块通过如下方式生成:
接收用户所发送的待存储的数据记录,确定所述数据记录的哈希值;
当达到预设的成块条件时,确定待写入数据块中的各数据记录,生成包含数据块的哈希值和数据记录的第N个数据块:
当N=1时,初始数据块的哈希值和块高基于预设方式给定;
当N1时,根据待写入数据块中的各数据记录和第N-1个数据块的哈希值确定第N个数据块的哈希值,生成包含第N个数据块的哈希值和各数据记录的第N个数据块,其中,数据块的块高基于成块时间的先后顺序单调递增。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于支付宝(杭州)信息技术有限公司,未经支付宝(杭州)信息技术有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202010538204.6/1.html,转载请声明来源钻瓜专利网。
- 数据显示系统、数据中继设备、数据中继方法、数据系统、接收设备和数据读取方法
- 数据记录方法、数据记录装置、数据记录媒体、数据重播方法和数据重播装置
- 数据发送方法、数据发送系统、数据发送装置以及数据结构
- 数据显示系统、数据中继设备、数据中继方法及数据系统
- 数据嵌入装置、数据嵌入方法、数据提取装置及数据提取方法
- 数据管理装置、数据编辑装置、数据阅览装置、数据管理方法、数据编辑方法以及数据阅览方法
- 数据发送和数据接收设备、数据发送和数据接收方法
- 数据发送装置、数据接收装置、数据收发系统、数据发送方法、数据接收方法和数据收发方法
- 数据发送方法、数据再现方法、数据发送装置及数据再现装置
- 数据发送方法、数据再现方法、数据发送装置及数据再现装置