[发明专利]一种块链式账本的授时认证方法、装置及设备有效
申请号: | 201910476244.X | 申请日: | 2019-06-03 |
公开(公告)号: | CN110347745B | 公开(公告)日: | 2020-10-02 |
发明(设计)人: | 杨新颖;张渊;俞本权;李亿泽 | 申请(专利权)人: | 阿里巴巴集团控股有限公司 |
主分类号: | G06F16/27 | 分类号: | G06F16/27;G06F16/22;G06F21/64 |
代理公司: | 北京博思佳知识产权代理有限公司 11415 | 代理人: | 周嗣勇 |
地址: | 英属开曼群岛大开*** | 国省代码: | 暂无信息 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 链式 账本 授时 认证 方法 装置 设备 | ||
1.一种块链式账本的授时认证方法,应用于通过块链式账本存储数据的中心化的数据库服务端中,包括:
确定需要进行授时的目标账本;
按照所述目标账本中数据块的块高的顺序,生成对应于所述目标账本的默克尔树,基于各数据块的块哈希确定所述默克尔树的根哈希;
在可信执行环境中执行预先设定的时间抓取代码,获取可信时间,生成可信执行环境对所述可信时间和所述根哈希的数字签名,其中,所述时间抓取代码用于从可信授时机构所提供的界面中获取可信时间;
生成包含所述可信时间、根哈希和数字签名的授时证书。
2.如权利要求1所述的方法,在中心化的数据库服务端,块链式账本中的数据块通过如下方式预先生成:
接收待存储的数据记录,确定各数据记录的哈希值;
当达到预设的成块条件时,确定待写入数据块中的各数据记录,生成包含数据块的哈希值和数据记录的第N个数据块,具体包括:
当N=1时,初始数据块的哈希值和块高基于预设方式给定;
当N1时,根据待写入数据块中的各数据记录和第N-1个数据块的哈希值确定第N个数据块的哈希值,生成包含第N个数据块的哈希值、各数据记录和数据块的成块时间的第N个数据块,其中,数据块的块高基于成块时间的先后顺序单调递增。
3.如权利要求2所述的方法,所述预设的成块条件包括:
待存储的数据记录数量达到数量阈值;或者,
距离上一次成块时刻的时间间隔达到时间阈值。
4.如权利要求1所述的方法,确定需要进行授时认证的目标账本,包括:
将每一个新出的数据块确定为目标账本;或者,
基于用户的指令所包含的起始块高和块数量,确定需要进行授时认证的目标账本。
5.如权利要求1所述的方法,确定需要进行授时认证的目标账本,包括:
将符合授时预设条件内的新生成的账本作为目标账本,所述授时预设条件包括:新生成的数据块达到数量阈值时;或者,距离上一次授时认证的时间间隔已经到达时间阈值。
6.如权利要求1所述的方法,所述可信执行环境包括Intel SGX或AMD SEV或ARMTrustzone。
7.如权利要求1所述的方法,在生成包含所述可信时间、根哈希和数字签名的授时证书之前,所述方法还包括:
将所述根哈希、可信时间和数字签名写入所述目标账本中指定数据块中。
8.一种块链式账本的授时认证装置,应用于通过块链式账本存储数据的中心化的数据库服务端中,包括:
确定模块,确定需要进行授时的目标账本;
根哈希生成模块,按照所述目标账本中数据块的块高的顺序,生成对应于所述目标账本的默克尔树,基于各数据块的块哈希确定所述默克尔树的根哈希;
可信执行模块,在可信执行环境中执行预先设定的时间抓取代码,获取可信时间,生成可信执行环境对所述可信时间和所述根哈希的数字签名,其中,所述时间抓取代码用于从可信授时机构所提供的界面中获取可信时间;
生成模块,生成包含所述可信时间、根哈希和数字签名的授时证书。
9.如权利要求8所述的装置,还包括数据块生成模块,用于
接收待存储的数据记录,确定各数据记录的哈希值;当达到预设的成块条件时,确定待写入数据块中的各数据记录,生成包含数据块的哈希值和数据记录的第N个数据块,具体包括:
当N=1时,初始数据块的哈希值和块高基于预设方式给定;
当N1时,根据待写入数据块中的各数据记录和第N-1个数据块的哈希值确定第N个数据块的哈希值,生成包含第N个数据块的哈希值、各数据记录和数据块的成块时间的第N个数据块,其中,数据块的块高基于成块时间的先后顺序单调递增。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于阿里巴巴集团控股有限公司,未经阿里巴巴集团控股有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201910476244.X/1.html,转载请声明来源钻瓜专利网。