【技术实现步骤摘要】
一种块链式账本中数据记录的验证方法、装置及设备
本说明书实施例涉及信息
,尤其涉及一种块链式账本中数据记录的验证方法、装置及设备。
技术介绍
在以中心化的块链式账本对外提供服务的数据库服务端中,可以对块链式账本执行清除操作,清除掉的账本即视为不存在。但是在清除掉的账本中仍然存在一些用户相关的数据记录,用户可能需要对于这些已经清除的数据记录进行完整性验证。
技术实现思路
本申请实施例的目的是提供一种在块链式账本中对于已经清除的数据记录可以进行验证的方案。为解决上述技术问题,本申请实施例是这样实现的:一种块链式账本中数据记录的验证方法,应用于以块链式账本存储数据记录的中心化的数据库服务端中,包括:执行用户所确定的在所述账本中的第一次清除指令,清除指令用于在所述账本中清除最前端的连续的部分账本;确定被清除的部分账本中与所述用户相关的第一数据记录,构成包含第一数据记录的第一数据记录集合;根据所述第一数据记录集合构建出第一默克尔树;将所述第一默克尔树以数据记录的形式写入所述块链式账本中,以便根据账本中所存储的第一默克尔树对所述第一数据记录进行验证。对应的,本说明书实施例还提供一种块链式账本中数据记录的验证装置,应用于以块链式账本存储数据记录的中心化的数据库服务端中,包括:清除模块,执行用户所确定的在所述账本中的第一次清除指令,清除指令用于在所述账本中清除最前端的连续的部分账本;确定模块,确定被清除的部分账本中与所述用户相关的第一数 ...
【技术保护点】
1.一种块链式账本中数据记录的验证方法,应用于以块链式账本存储数据记录的中心化的数据库服务端中,包括:/n执行用户所确定的在所述账本中的第一次清除指令,清除指令用于在所述账本中清除最前端的连续的部分账本;/n确定被清除的部分账本中与所述用户相关的第一数据记录,构成包含第一数据记录的第一数据记录集合;/n根据所述第一数据记录集合构建出第一默克尔树;/n将所述第一默克尔树以数据记录的形式写入所述块链式账本中,以便根据账本中所存储的第一默克尔树对所述第一数据记录进行验证。/n
【技术特征摘要】
1.一种块链式账本中数据记录的验证方法,应用于以块链式账本存储数据记录的中心化的数据库服务端中,包括:
执行用户所确定的在所述账本中的第一次清除指令,清除指令用于在所述账本中清除最前端的连续的部分账本;
确定被清除的部分账本中与所述用户相关的第一数据记录,构成包含第一数据记录的第一数据记录集合;
根据所述第一数据记录集合构建出第一默克尔树;
将所述第一默克尔树以数据记录的形式写入所述块链式账本中,以便根据账本中所存储的第一默克尔树对所述第一数据记录进行验证。
2.如权利要求1所述的方法,确定被清除的数据记录中与用户相关的第一数据记录,包括:
遍历所述被清除的账本,确定被清除的账本中包含所述用户签名的数据记录,将包含所述用户签名的数据记录确定为第一数据记录;
或者,获取用户所指定的业务属性,确定被清除的账本中包含所述业务属性的数据记录,将包含所述业务属性的数据记录确定为与用户相关的第一数据记录。
3.如权利要求1所述的方法,根据所述第一数据记录集合构建出第一默克尔树,包括:
按照第一数据记录集合中的每一数据记录在所述账本中的位置先后依序排列,所谓位置包括数据记录所处的块高和在数据块中的偏移量,块高和偏移量越小,位置排序越靠前;
根据依序排列后的部分数据记录的哈希值构建出第一默克尔树。
4.如权利要求1所述的方法,将所述默克尔树以数据记录的形式写入所述块链式账本中,包括:
服务端对所述默克尔树进行数字签名,并将服务端的数字签名和所述默克尔树发送至用户,以便用户在验证所述服务端的数字签名之后对所述默克尔树进行数字签名;
接收用户发送的用户的数字签名,将包含所述服务端的数字签名和用户的数字签名的默克尔树以数据记录的形式写入所述块链式账本中。
5.如权利要求1所述的方法,所述方法还包括:
接收用户所发送的验证指令,所述验证指令中包含待验证的数据记录的哈希值,所述待验证的数据记录属于所述第一数据记录集合;
根据所述第一默克尔树对所述哈希值执行完整性验证。
6.如权利要求1所述的方法,所述方法还包括:
执行用户所确定的在所述账本中的第K次清除指令,K>1;
确定所述第K次清除指令所清除的账本中与用户相关的第K数据记录,构成包含第K数据记录的第K数据记录集合;
获取第K-1次清除时所产生的第K-1默克尔树,根据所述第K数据记录集合与所述第K-1默克尔树构建出第K默克尔树;
将所述第K默克尔树以数据记录的形式写入所述块链式账本中。
7.如权利要求6所述的方法,所述方法还包括:
接收用户所发送的验证指令,所述验证指令中包含待验证的数据记录的哈希值,所述待验证的数据记录属于被清除的数据记录中与用户相关的数据记录中与用户相关的数据记录;
根据所述第K默克尔树对所述哈希值执行完整性验证。
8.如权利要求1所述的方法,在所述块链式账本中,数据块通过如下方式生成:
接收用户所发送的待存储的数据记录,确定所述数据记录的哈希值;
当达到预设的成块条件时,确定待写入数据块中的各数据记录,生成包含数据块的哈希值和数据记录的第N个数据块:
当N=1时,初始数据块的哈希值和块高基于预设方式给定;
当N>1时,根据待写入数据块中的各数据记录和第N-1个数据块的哈希值确定第N个数据块的哈希值,生成包含第N个数据块的哈希值和各数据记录的第N个数据块,其中,数据块的块高基于成块时间的先后顺序单调递增。
9....
【专利技术属性】
技术研发人员:杨新颖,
申请(专利权)人:支付宝杭州信息技术有限公司,
类型:发明
国别省市:浙江;33
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。