CN112364382B - 基于可信账本数据库的业务记录的可信时间域确定方法 - Google Patents
基于可信账本数据库的业务记录的可信时间域确定方法 Download PDFInfo
- Publication number
- CN112364382B CN112364382B CN202110033553.7A CN202110033553A CN112364382B CN 112364382 B CN112364382 B CN 112364382B CN 202110033553 A CN202110033553 A CN 202110033553A CN 112364382 B CN112364382 B CN 112364382B
- Authority
- CN
- China
- Prior art keywords
- time
- account book
- record
- credible
- trusted
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
- 238000000034 method Methods 0.000 title claims abstract description 41
- 238000012795 verification Methods 0.000 claims description 27
- 238000004590 computer program Methods 0.000 claims description 4
- 238000010200 validation analysis Methods 0.000 claims description 4
- 238000012163 sequencing technique Methods 0.000 claims description 2
- 238000010586 diagram Methods 0.000 description 13
- 238000004891 communication Methods 0.000 description 11
- 238000013500 data storage Methods 0.000 description 3
- 230000006870 function Effects 0.000 description 3
- 238000005034 decoration Methods 0.000 description 2
- 238000005516 engineering process Methods 0.000 description 2
- 230000003993 interaction Effects 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 230000003287 optical effect Effects 0.000 description 2
- 230000003068 static effect Effects 0.000 description 2
- 230000005540 biological transmission Effects 0.000 description 1
- 230000000903 blocking effect Effects 0.000 description 1
- 238000004364 calculation method Methods 0.000 description 1
- 230000001413 cellular effect Effects 0.000 description 1
- 230000008859 change Effects 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 230000006872 improvement Effects 0.000 description 1
- 230000008520 organization Effects 0.000 description 1
- 230000000737 periodic effect Effects 0.000 description 1
- 238000012545 processing Methods 0.000 description 1
- 230000000750 progressive effect Effects 0.000 description 1
- 230000004044 response Effects 0.000 description 1
- 230000002123 temporal effect Effects 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/60—Protecting data
- G06F21/62—Protecting access to data via a platform, e.g. using keys or access control rules
- G06F21/6218—Protecting access to data via a platform, e.g. using keys or access control rules to a system of files or objects, e.g. local or distributed file system or database
- G06F21/6227—Protecting access to data via a platform, e.g. using keys or access control rules to a system of files or objects, e.g. local or distributed file system or database where protection concerns the structure of data, e.g. records, types, queries
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/22—Indexing; Data structures therefor; Storage structures
- G06F16/2228—Indexing structures
- G06F16/2255—Hash tables
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/60—Protecting data
- G06F21/64—Protecting data integrity, e.g. using checksums, certificates or signatures
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Software Systems (AREA)
- Computer Security & Cryptography (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Databases & Information Systems (AREA)
- Health & Medical Sciences (AREA)
- Bioethics (AREA)
- General Health & Medical Sciences (AREA)
- Computer Hardware Design (AREA)
- Data Mining & Analysis (AREA)
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
Abstract
公开了一种基于可信账本数据库的业务记录的可信时间域确定方法。间隔性地基于可信账本数据库中的全部业务记录向权威授时方(Time Stamp Authority,TSA)服务端请求授时,并针对每次获取到的时间戳,将该时间戳作为一个锚点标记,用于确定该时间点之前最近一个存入所述可信账本数据库的业务记录,与该时间点之后最近一个存入所述可信账本数据库的业务记录之间的锚点。如此一来,对于可信账本数据库中的任一业务记录来说,基于该业务记录相邻的两个锚点分别对应的时间戳可以划定该业务记录的可信时间域。
Description
技术领域
本说明书实施例涉及信息技术领域,尤其涉及一种基于可信账本数据库的业务记录的可信时间域确定方法。
背景技术
可信账本数据库,是在区块链存储方案的基础上进行改进得到的新型存储方案,其能够克服了去中心化的区块链存储存在的吞吐量低、响应时间长等问题,同时又能满足用户对数据的可信存储需求。
可信账本数据库由中心化的数据库服务端在本地进行维护,其服务对象通常是企业级用户,用户在数据库服务端注册账户,并通过注册的账户将自身业务产生的业务数据封装成业务记录,将业务记录提交给数据库服务端,数据库服务端按照接收到每个业务记录的顺序,依次将每个业务记录写入本地的可信账本数据库进行存储。
在现有技术的基础上,还需要考虑可信账本数据库对于第三方的可信性。
发明内容
本申请技术方案旨在解决现有的可信账本数据库对于第三方而言可信性较低的技术问题。
为解决上述技术问题,本申请技术方案是这样实现的:
根据本说明书实施例的第1方面,提供一种可信账本数据库的业务记录的可信时间域确定方法,应用于维护可信账本数据库的数据库服务端,所述方法包括:
在预设时间计划指定的每个时间点,向权威授时方TSA服务端提交授时请求;所述预设时间计划指定的任意两个时间点之间存在时间间隔;该授时请求包含:在该时间点,基于所述可信账本数据库中全部业务记录构建的全局默克树的根哈希;
获取所述TSA服务端以该授时请求包含的根哈希为授时对象所返回的时间戳,并且,将该时间戳作为锚点标记,用于确定该时间点之前最近一个存入所述可信账本数据库的业务记录,与该时间点之后最近一个存入所述可信账本数据库的业务记录之间的锚点;
针对所述可信账本数据库中任一业务记录,确定该业务记录前后相邻的两个锚点分别对应的时间戳,并基于确定的两个锚点标记分别对应的时间戳,划定该业务记录的可信时间域。
根据本说明书实施例的第2方面,提供另一种可信账本数据库的业务记录的可信时间域确定方法,应用于维护可信账本数据库的数据库服务端,所述方法包括:
在预设时间计划指定的每个时间点,向权威授时方TSA服务端提交授时请求;所述预设时间计划指定的任意两个时间点之间存在时间间隔;该授时请求包含:该时间点之前最近一个存入所述可信账本数据库的业务记录的记录哈希;
获取所述TSA服务端以该授时请求包含的根哈希为授时对象所返回的时间戳,并且,将该时间戳作为锚点标记,用于确定该时间点之前最近一个存入所述可信账本数据库的业务记录,与该时间点之后最近一个存入所述可信账本数据库的业务记录之间的锚点;
针对所述可信账本数据库中任一业务记录,确定该业务记录前后相邻的两个锚点分别对应的时间戳,并基于确定的两个锚点标记分别对应的时间戳,划定该业务记录的可信时间域。
根据本说明书实施例的第3方面,提供一种基于第1方面方法中所述的可信时间域的业务记录真实性验证方法,包括:
针对待验证的业务记录,获取所述业务记录的可信时间域;
采用TSA公钥分别对用于划定所述业务记录的可信时间域的两个时间戳进行合法性验证;
若两个时间戳的合法性验证皆通过,则基于所述可信时间域对所述业务记录进行真实性验证。
通过本说明书实施例中所提供的方案,间隔性地基于可信账本数据库中的全部业务记录向权威授时方(Time Stamp Authority,TSA)服务端请求授时,并针对每次获取到的时间戳,将该时间戳作为一个锚点标记,用于确定该时间点之前最近一个存入所述可信账本数据库的业务记录,与该时间点之后最近一个存入所述可信账本数据库的业务记录之间的锚点。如此一来,对于可信账本数据库中的任一业务记录来说,基于该业务记录相邻的两个锚点分别对应的时间戳可以划定该业务记录的可信时间域。
通过本说明书实施例中,任一业务记录的可信时间域能够用于验证该业务记录在写入顺序队列中的位置是否真实,从而为该业务记录的真实性提供背书,提升业务记录对于第三方的可信性。
应当理解的是,以上的一般描述和后文的细节描述仅是示例性和解释性的,并不能限制本说明书实施例。
此外,本说明书实施例中的任一实施例并不需要达到上述的全部效果。
附图说明
为了更清楚地说明本说明书实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本说明书实施例中记载的一些实施例,对于本领域普通技术人员来讲,还可以根据这些附图获得其他的附图。
图1是本说明书提供的一种基于可信账本数据库的数据存储***示意图;
图2是本说明书提供的一种可信账本数据库的业务记录的可信时间域确定方法的流程示意图;
图3是本说明书实施例提供的一种业务记录间锚点的示意图;
图4是一种业务记录真实性验证方法的流程示意图;
图5是本说明书提供的一种可信账本数据库的业务记录的可信时间域确定装置的结构示意图;
图6是本说明书提供的另一种可信账本数据库的业务记录的可信时间域确定装置的结构示意图;
图7是本说明书实施例提供的一种业务记录真实性验证装置的结构示意图;
图8是用于配置本说明书实施例方法的一种设备的结构示意图。
具体实施方式
图1是本说明书提供的一种基于可信账本数据库的数据存储***示意图。如图1所示,数据存储***包括中心化的数据库服务端与多个客户端。其中,数据库服务端负责维护可信账本数据库,每个客户端对应于一个企业级用户(机构),每个企业级用户自身又进一步对接一个或多个个人用户。
例如,外卖平台与电商平台分别作为用户在数据库服务端上进行注册,获得用户账户,并且,分别在自己的设备上安装数据库服务端提供的客户端,在客户端中登录用户账户,从而具有与数据库服务端进行数据交互的能力。
而外卖平台与电商平台又分别对接各自的大量个人用户。某个个人用户使用自己的手机上安装的外卖客户端购买一份外卖食品后,外卖平台的设备会生成一外卖订单记录(即外卖平台基于业务产生的业务数据),外卖平台会通过自己在数据库服务端注册的用户账户将订单记录封装成记录(类似于区块链领域的交易,本文所述的记录是适用于可信账本数据库存储的专用数据结构),将记录提交给数据库服务端,以便数据库服务端将记录封装成记录写入可信账本数据库进行存储。类似地,电商平台也会将基于电商业务产生的每个电商订单封装成记录提交给数据库服务端。
为了描述的方便,后文所述的用户是指数据库服务端所服务的企业级用户,后文所述的用户账户,是指企业级用户在数据库服务端注册的账户。
通常,一个用户向数据库服务端提交的业务记录的先后顺序体现了记录所封装的业务数据产生的先后顺序,而数据库服务端可以根据同一用户提交的业务记录的先后顺序,依次将各业务记录存入可信账本数据库,如此,在可信账本数据库中,对于同一用户提交的若干业务记录而言,通常是顺序靠前的业务记录的存证时间早于顺序靠后的业务记录存证的时间。
对于可信账本数据库存储业务记录的方式,可以类似区块链,即按照一定的成块条件,将接收的各业务记录按批次打包成一个个数据块,同一数据块中各业务记录的排列顺序与数据库服务端接收到各业务记录的顺序也是一致的。每个数据块基于块体中封装的全部业务记录计算默克尔树根哈希,将根哈希写入数据块的块头,并且,下一个数据块的块头包含上一个数据块的哈希值(即对块头进行哈希计算得到的哈希值)。这种情况下,可信账本数据库实际上也属于一种块链式账本,可以确保难以对可信账本数据库中的部分业务记录进行篡改。
此外,可信账本数据库也可以将各业务记录按接收次序进行存储,将可信账本数据库中的全部业务记录形成一个全局的默克尔树,利用全局的默克尔树的根哈希可以确保难以对可信账本数据库中的部分业务记录进行篡改。
由于上述的存储方式,目前的可信账本数据库对于用户来说是可信的,用户通常会保存数据库服务端返回的默克尔树的根哈希,利用根哈希可以校验可信账本数据库中的业务记录是否被篡改。
然而,目前的可信账本数据库对于用户、数据库服务端之外的第三方来说不一定是可信的,因为可能存在用户与数据库服务端串通篡改可信账本数据库的情况。其中,第三方例如可以是审计方、公众等。
举例来说,假设用户是某准备上市的企业,在企业创设之初,企业在数据库服务端开通账户,企业将按月将当月产生的财务数据形成财务记录提交给数据库服务端以存入可信账本数据,随着企业发展壮大,有了上市需求,需要由审计方对审计时间点之前企业的财务记录进行审计。企业担心之前产生的财务数据存在一些不合规的问题,因此企业串通数据库服务端,将可信账本数据库中在审计时间点之前存入的所有财务记录删除并替换成临时伪造的财务记录,在这种情况下,审计方从可信账本数据库中获取的财务记录就是不可信的。
为了解决上述技术问题,在本说明书的一个或多个实施例中,间隔性地基于可信账本数据库中的全部业务记录向权威授时方(Time Stamp Authority,TSA)服务端请求授时,并针对每次获取到的时间戳,将该时间戳作为一个锚点标记,用于标记在所述可信账本数据库对应的写入顺序队列中,标记该时间点之前最近一个存入所述可信账本数据库的业务记录,与该时间点之后最近一个存入所述可信账本数据库的业务记录之间的位置。如此一来,对于可信账本数据库中的任一业务记录来说,其在写入顺序队列中前后相邻的两个时间戳可以划定该业务记录的可信时间域。
通过本说明书的一个或多个实施例,任一业务记录的可信时间域能够用于验证该业务记录在写入顺序队列中的位置是否真实。
为了使本领域技术人员更好地理解本说明书实施例中的技术方案,下面将结合本说明书实施例中的附图,对本说明书实施例中的技术方案进行详细地描述,显然,所描述的实施例仅仅是本说明书的一部分实施例,而不是全部的实施例。基于本说明书中的实施例,本领域普通技术人员所获得的所有其他实施例,都应当属于保护的范围。
以下结合附图,详细说明本说明书各实施例提供的技术方案。
图2是本说明书提供的一种可信账本数据库的业务记录的可信时间域确定方法的流程示意图,包括如下步骤:
S200:在预设时间计划指定的每个时间点,向权威授时方TSA服务端提交授时请求。
图2所示方法的执行主体是数据库服务端。预设时间计划指定的任意两个时间点之间存在时间间隔,换言之,数据库服务端间隔性地向TSA服务端提交授时请求。
在本说明书的有些实施例中,所述预设时间计划指定的任意两个时间点之间存在相同的时间间隔。换言之,所述预设时间计划属于周期性时间计划,数据库服务端周期性执地执行向权威授时方TSA服务端提交授时请求。
此外,所述预设时间计划也可以是非周期性时间计划,两两时间点之间的时间间隔可以不尽一致。
对于预设时间计划的每个时间点,授时请求包括的授时对象可以是,在该时间点,基于所述可信账本数据库中全部业务记录构建的全局默克树的根哈希。此外,授时请求包括的授时对象也可以是,该时间点之前最近一个存入所述可信账本数据库的业务记录的记录哈希。
在本说明书的有些实施例中,可以基于所述可信账本数据库中每个业务记录的存入先后顺序,将每个业务记录的记录哈希进行排序,得到排序队列;以所述排序队列为默克尔树的叶子节点队列,构建全局默克尔树。
在本说明书的有些实施例中,所述可信账本数据库具有多个数据块,每个数据块封装有多个业务记录,所述多个数据块之间具有先后顺序,在先的数据块中的业务记录的本地存证时间早于在后的数据块中的业务记录的本地存证时间,这种情况下,可以针对所述可信账本数据库中每个数据块,基于该数据块所封装的全部业务记录,计算该数据块对应的默克尔树的根哈希;基于每个数据块对应的默克尔树的根哈希,确定全局默克尔树的根哈希。
S202:获取所述TSA服务端针对授时对象所返回的时间戳,并将该时间戳作为锚点标记。
其中,锚点标记用于确定该时间点之前最近一个存入所述可信账本数据库的业务记录,与该时间点之后最近一个存入所述可信账本数据库的业务记录之间的锚点。
S204:针对所述可信账本数据库中任一业务记录,确定该业务记录在所述写入顺序队列中前后相邻的两个时间戳。
图3是本说明书实施例提供的一种业务记录间锚点的示意图。如图3所示,由于一个个基于权威时间戳确定的锚点的存在,因此,锚点的先后顺序实际上表征了绝对可信的时间顺序。对于任一业务记录来说,该业务记录之前最近一个锚点(前面相邻的锚点)表征了该业务记录最晚存证时间不会早于该锚点对应的时间戳所授予的时间,该业务记录之后最近一个锚点(后面相邻的锚点)表征了该业务记录最晚存证时间不会晚于该锚点对应的时间戳所授予的时间。
S206:基于确定的两个锚点标记分别对应的时间戳,划定该业务记录的可信时间域。
可以将该业务记录前后相邻的两个时间戳用于划定一个可信时间域(这两个时间戳的时间分别用于作为可信时间域的左右边界点),可以表征该业务记录的最晚存证时间所属的可信时间范围。
通过图2所示的方法流程,间隔性地基于可信账本数据库中的全部业务记录向权威授时方TSA服务端请求授时,并针对每次获取到的时间戳,将该时间戳作为一个锚点标记,用于确定该时间点之前最近一个存入所述可信账本数据库的业务记录,与该时间点之后最近一个存入所述可信账本数据库的业务记录之间的锚点。如此一来,对于可信账本数据库中的任一业务记录来说,基于该业务记录相邻的两个锚点分别对应的时间戳可以划定该业务记录的可信时间域。
通过本说明书实施例中,任一业务记录的可信时间域能够用于验证该业务记录在写入顺序队列中的位置是否真实,从而为该业务记录的真实性提供背书,提升业务记录对于第三方的可信性。
在采用图2所示的方法流程对存入可信账本数据库中的每个业务记录进行授时的基础上,本说明还提供了一种业务记录真实性验证方法。图4是一种业务记录真实性验证方法的流程示意图,包括以下步骤:
S400:针对待验证的业务记录,获取所述业务记录的可信时间域。
在第三方需要验证可信账本数据库中的一个或多个业务记录的情况下,可以采用图4所示的方法流程进行验证。
S402:采用TSA公钥分别对用于划定所述业务记录的可信时间域的两个时间戳进行合法性验证。
S404:若两个时间戳的合法性验证皆通过,则基于所述可信时间域对所述业务记录进行真实性验证。
两个时间戳的合法性验证皆通过,说明可信时间域是合法的,是可信的。基于可信时间域对业务记录进行真实性验证,实际上是将用户或者数据库服务端向第三方声明的该业务记录的存证时间与可信时间域进行比对,如果声明的存证时间落入可信时间域,则意味着声明的该业务记录的存证时间是非常可信的,可以认定该业务记录是真实的。
如果声明的存证时间未落入可信时间域,则意味着声明的该业务记录的存证时间是不可信的,可以认定该业务记录未通过真实性验证。
此外,若任一时间戳的合法性验证未通过,则说明该业务记录的可信时间域实际上并不合法,因而实际不可信,因此可以确定所述业务记录未通过真实性验证。
图5是本说明书提供的一种可信账本数据库的业务记录的可信时间域确定装置的结构示意图,应用于维护可信账本数据库的数据库服务端,所述装置包括:
授时请求模块501,在预设时间计划指定的每个时间点,向权威授时方TSA服务端提交授时请求;所述预设时间计划指定的任意两个时间点之间存在时间间隔;该授时请求包含:在该时间点,基于所述可信账本数据库中全部业务记录构建的全局默克树的根哈希;
获取模块502,获取所述TSA服务端以该授时请求包含的根哈希为授时对象所返回的时间戳,并且,将该时间戳作为锚点标记,用于确定该时间点之前最近一个存入所述可信账本数据库的业务记录,与该时间点之后最近一个存入所述可信账本数据库的业务记录之间的锚点;
划定模块503,针对所述可信账本数据库中任一业务记录,确定该业务记录前后相邻的两个锚点分别对应的时间戳,并基于确定的两个锚点标记分别对应的时间戳,划定该业务记录的可信时间域。
图6是本说明书提供的另一种可信账本数据库的业务记录的可信时间域确定装置的结构示意图,应用于维护可信账本数据库的数据库服务端,所述装置包括:
授时请求模块601,在预设时间计划指定的每个时间点,向权威授时方TSA服务端提交授时请求;所述预设时间计划指定的任意两个时间点之间存在时间间隔;该授时请求包含:该时间点之前最近一个存入所述可信账本数据库的业务记录的记录哈希;
获取模块602,获取所述TSA服务端以该授时请求包含的根哈希为授时对象所返回的时间戳,并且,将该时间戳作为锚点标记,用于确定该时间点之前最近一个存入所述可信账本数据库的业务记录,与该时间点之后最近一个存入所述可信账本数据库的业务记录之间的锚点;
划定模块603,针对所述可信账本数据库中任一业务记录,确定该业务记录前后相邻的两个锚点分别对应的时间戳,并基于确定的两个锚点标记分别对应的时间戳,划定该业务记录的可信时间域。
图7是本说明书实施例提供的一种业务记录真实性验证装置的结构示意图,包括:
获取模块701,针对待验证的业务记录,获取所述业务记录的可信时间域;
第一验证模块702,采用TSA公钥分别对用于划定所述业务记录的可信时间域的两个时间戳进行合法性验证;
第二验证模块703,若两个时间戳的合法性验证皆通过,则确定所述业务记录通过真实性验证。本说明书还提供一种计算机设备,其至少包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,其中,处理器执行所述程序时实现图2或图4所示方法。
图8示出了本说明书实施例所提供的一种更为具体的计算设备硬件结构示意图,该设备可以包括:处理器1010、存储器1020、输入/输出接口1030、通信接口1040和总线1050。其中处理器1010、存储器1020、输入/输出接口1030和通信接口1040通过总线1050实现彼此之间在设备内部的通信连接。
处理器1010可以采用通用的CPU(Central Processing Unit,中央处理器)、微处理器、应用专用集成电路(Application Specific Integrated Circuit,ASIC)、或者一个或多个集成电路等方式实现,用于执行相关程序,以实现本说明书实施例所提供的技术方案。
存储器1020可以采用ROM(Read Only Memory,只读存储器)、RAM(Random AccessMemory,随机存取存储器)、静态存储设备,动态存储设备等形式实现。存储器1020可以存储操作***和其他应用程序,在通过软件或者固件来实现本说明书实施例所提供的技术方案时,相关的程序代码保存在存储器1020中,并由处理器1010来调用执行。
输入/输出接口1030用于连接输入/输出模块,以实现信息输入及输出。输入输出/模块可以作为组件配置在设备中(图中未示出),也可以外接于设备以提供相应功能。其中输入设备可以包括键盘、鼠标、触摸屏、麦克风、各类传感器等,输出设备可以包括显示器、扬声器、振动器、指示灯等。
通信接口1040用于连接通信模块(图中未示出),以实现本设备与其他设备的通信交互。其中通信模块可以通过有线方式(例如USB、网线等)实现通信,也可以通过无线方式(例如移动网络、WIFI、蓝牙等)实现通信。
总线1050包括一通路,在设备的各个组件(例如处理器1010、存储器1020、输入/输出接口1030和通信接口1040)之间传输信息。
需要说明的是,尽管上述设备仅示出了处理器1010、存储器1020、输入/输出接口1030、通信接口1040以及总线1050,但是在具体实施过程中,该设备还可以包括实现正常运行所必需的其他组件。此外,本领域的技术人员可以理解的是,上述设备中也可以仅包含实现本说明书实施例方案所必需的组件,而不必包含图中所示的全部组件。
本说明书实施例还提供一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现图2或4所示方法。
计算机可读介质包括永久性和非永久性、可移动和非可移动媒体可以由任何方法或技术来实现信息存储。信息可以是计算机可读指令、数据结构、程序的模块或其他数据。计算机的存储介质的例子包括,但不限于相变内存(PRAM)、静态随机存取存储器(SRAM)、动态随机存取存储器(DRAM)、其他类型的随机存取存储器(RAM)、只读存储器(ROM)、电可擦除可编程只读存储器(EEPROM)、快闪记忆体或其他内存技术、只读光盘只读存储器(CD-ROM)、数字多功能光盘(DVD)或其他光学存储、磁盒式磁带,磁带磁盘存储或其他磁性存储设备或任何其他非传输介质,可用于存储可以被计算设备访问的信息。按照本文中的界定,计算机可读介质不包括暂存电脑可读媒体(transitory media),如调制的数据信号和载波。
通过以上的实施方式的描述可知,本领域的技术人员可以清楚地了解到本说明书实施例可借助软件加必需的通用硬件平台的方式来实现。基于这样的理解,本说明书实施例的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品可以存储在存储介质中,如ROM/RAM、磁碟、光盘等,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本说明书实施例各个实施例或者实施例的某些部分所述的方法。
上述实施例阐明的***、方法、模块或单元,具体可以由计算机芯片或实体实现,或者由具有某种功能的产品来实现。一种典型的实现设备为计算机,计算机的具体形式可以是个人计算机、膝上型计算机、蜂窝电话、相机电话、智能电话、个人数字助理、媒体播放器、导航设备、电子邮件收发设备、游戏控制台、平板计算机、可穿戴设备或者这些设备中的任意几种设备的组合。
本说明书中的各个实施例均采用递进的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。尤其,对于方法实施例而言,由于其基本相似于方法实施例,所以描述得比较简单,相关之处参见方法实施例的部分说明即可。以上所描述的方法实施例仅仅是示意性的,其中所述作为分离部件说明的模块可以是或者也可以不是物理上分开的,在实施本说明书实施例方案时可以把各模块的功能在同一个或多个软件和/或硬件中实现。也可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。本领域普通技术人员在不付出创造性劳动的情况下,即可以理解并实施。
以上所述仅是本说明书实施例的具体实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本说明书实施例原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也应视为本说明书实施例的保护范围。
Claims (10)
1.一种可信账本数据库的业务记录的可信时间域确定方法,应用于维护可信账本数据库的数据库服务端,所述方法包括:
在预设时间计划指定的每个时间点,向权威授时方TSA服务端提交授时请求;所述预设时间计划指定的任意两个时间点之间存在时间间隔;该授时请求包含:在该时间点,基于所述可信账本数据库中全部业务记录构建的全局默克树的根哈希;
获取所述TSA服务端以该授时请求包含的根哈希为授时对象所返回的时间戳,并且,将该时间戳作为锚点标记,用于确定该时间点之前最近一个存入所述可信账本数据库的业务记录,与该时间点之后最近一个存入所述可信账本数据库的业务记录之间的锚点;
针对所述可信账本数据库中任一业务记录,确定该业务记录前后相邻的两个锚点分别对应的时间戳,并基于确定的两个锚点标记分别对应的时间戳,划定该业务记录的可信时间域。
2.如权利要求1所述的方法,所述预设时间计划指定的任意两个时间点之间存在相同的时间间隔。
3.如权利要求1所述的方法,基于所述可信账本数据库中全部业务记录构建全局默克尔树,包括:
基于所述可信账本数据库中每个业务记录的存入先后顺序,将每个业务记录的记录哈希进行排序,得到排序队列;
以所述排序队列为默克尔树的叶子节点队列,构建全局默克尔树。
4.如权利要求1所述的方法,所述可信账本数据库具有多个数据块,每个数据块封装有多个业务记录,所述多个数据块之间具有先后顺序,在先的数据块中的业务记录的本地存证时间早于在后的数据块中的业务记录的本地存证时间;
基于所述可信账本数据库中全部业务记录构建全局默克尔树,包括:
针对所述可信账本数据库中每个数据块,基于该数据块所封装的全部业务记录,计算该数据块对应的默克尔树的根哈希;
基于每个数据块对应的默克尔树的根哈希,确定全局默克尔树的根哈希。
5.一种基于权利要求1-4任一项方法中所述的可信时间域的业务记录真实性验证方法,包括:
针对待验证的业务记录,获取所述业务记录的可信时间域;
采用TSA公钥分别对用于划定所述业务记录的可信时间域的两个时间戳进行合法性验证;
若两个时间戳的合法性验证皆通过,则基于所述可信时间域对所述业务记录进行真实性验证。
6.如权利要求5所述的方法,还包括:
若任一时间戳的合法性验证未通过,则确定所述业务记录未通过真实性验证。
7.一种可信账本数据库的业务记录的可信时间域确定装置,应用于维护可信账本数据库的数据库服务端,所述装置包括:
授时请求模块,在预设时间计划指定的每个时间点,向权威授时方TSA服务端提交授时请求;所述预设时间计划指定的任意两个时间点之间存在时间间隔;该授时请求包含:在该时间点,基于所述可信账本数据库中全部业务记录构建的全局默克树的根哈希;
获取模块,获取所述TSA服务端以该授时请求包含的根哈希为授时对象所返回的时间戳,并且,将该时间戳作为锚点标记,用于确定该时间点之前最近一个存入所述可信账本数据库的业务记录,与该时间点之后最近一个存入所述可信账本数据库的业务记录之间的锚点;
划定模块,针对所述可信账本数据库中任一业务记录,确定该业务记录前后相邻的两个锚点分别对应的时间戳,并基于确定的两个锚点标记分别对应的时间戳,划定该业务记录的可信时间域。
8.一种基于权利要求1-4任一项方法中所述的可信时间域的业务记录真实性验证装置,包括:
获取模块,针对待验证的业务记录,获取所述业务记录的可信时间域;
第一验证模块,采用TSA公钥分别对用于划定所述业务记录的可信时间域的两个时间戳进行合法性验证;
第二验证模块,若两个时间戳的合法性验证皆通过,则基于所述可信时间域对所述业务记录进行真实性验证。
9.一种计算机设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,其中,所述处理器执行所述程序时实现如权利要求1-4任一项所述方法。
10.一种计算机设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,其中,所述处理器执行所述程序时实现如权利要求5或6所述方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110033553.7A CN112364382B (zh) | 2021-01-12 | 2021-01-12 | 基于可信账本数据库的业务记录的可信时间域确定方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110033553.7A CN112364382B (zh) | 2021-01-12 | 2021-01-12 | 基于可信账本数据库的业务记录的可信时间域确定方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN112364382A CN112364382A (zh) | 2021-02-12 |
CN112364382B true CN112364382B (zh) | 2021-04-27 |
Family
ID=74534811
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202110033553.7A Active CN112364382B (zh) | 2021-01-12 | 2021-01-12 | 基于可信账本数据库的业务记录的可信时间域确定方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN112364382B (zh) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN117914868A (zh) * | 2022-10-11 | 2024-04-19 | 抖音视界有限公司 | 一种数据处理方法、装置、设备及存储介质 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9667427B2 (en) * | 2015-10-14 | 2017-05-30 | Cambridge Blockchain, LLC | Systems and methods for managing digital identities |
CN109951290A (zh) * | 2019-01-31 | 2019-06-28 | 阿里巴巴集团控股有限公司 | 一种链式账本的授时认证方法、装置及设备 |
CN111183446A (zh) * | 2019-09-02 | 2020-05-19 | 阿里巴巴集团控股有限公司 | 管理基于区块链的中心化账本*** |
CN111400270A (zh) * | 2020-03-16 | 2020-07-10 | 上海简苏网络科技有限公司 | 一种基于区块链的文件授时的方法和装置 |
-
2021
- 2021-01-12 CN CN202110033553.7A patent/CN112364382B/zh active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9667427B2 (en) * | 2015-10-14 | 2017-05-30 | Cambridge Blockchain, LLC | Systems and methods for managing digital identities |
CN109951290A (zh) * | 2019-01-31 | 2019-06-28 | 阿里巴巴集团控股有限公司 | 一种链式账本的授时认证方法、装置及设备 |
CN111183446A (zh) * | 2019-09-02 | 2020-05-19 | 阿里巴巴集团控股有限公司 | 管理基于区块链的中心化账本*** |
CN111400270A (zh) * | 2020-03-16 | 2020-07-10 | 上海简苏网络科技有限公司 | 一种基于区块链的文件授时的方法和装置 |
Also Published As
Publication number | Publication date |
---|---|
CN112364382A (zh) | 2021-02-12 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110188096B (zh) | 一种数据记录的索引创建方法、装置及设备 | |
CN110162662B (zh) | 一种块链式账本中数据记录的验证方法、装置及设备 | |
CN110163006B (zh) | 一种块链式账本中的签名验证方法、***、装置及设备 | |
CN110009338B (zh) | 基于区块链的记账方法及装置、电子设备 | |
KR20200108513A (ko) | 시간 중심 머클 해쉬 트리와 같은, 해쉬 트리를 이용한 데이터 검증방법들 및 그 시스템들 | |
CN110162526B (zh) | 一种块链式账本中数据记录的查询方法、装置及设备 | |
CN110266494B (zh) | 一种块链式账本中的授时认证方法、装置及设备 | |
CN110334153B (zh) | 块链式账本中的授权方法、***、装置及设备 | |
CN110190963B (zh) | 一种针对授时证书生成请求的监控方法、装置及设备 | |
CN111506580B (zh) | 一种基于中心化块链式账本的交易存储方法 | |
CN110019278B (zh) | 一种数据验证方法、装置及设备 | |
CN112966311A (zh) | 智能合约校验方法及装置和电子设备 | |
CN110347745B (zh) | 一种块链式账本的授时认证方法、装置及设备 | |
CN112364382B (zh) | 基于可信账本数据库的业务记录的可信时间域确定方法 | |
US20200193430A1 (en) | Determining generation time for blockchain data | |
CN114039733B (zh) | 一种针对联盟链的存证业务转移方法、装置及设备 | |
CN111464319B (zh) | 一种基于中心化块链式账本的交易存储、签名校验方法 | |
CN111475778A (zh) | 一种基于区块链的音乐数据处理方法及装置 | |
CN111046052A (zh) | 一种数据库中的操作记录存储方法、装置及设备 | |
CN112291321B (zh) | 业务处理方法、装置及*** | |
CN112364389B (zh) | 一种基于可信账本数据库的业务记录授时方法 | |
CN108710658B (zh) | 一种数据记录的存储方法及装置 | |
CN112364384B (zh) | 一种基于可信账本数据库的业务记录授时方法 | |
CN112364383B (zh) | 一种业务记录真实性验证方法 | |
CN112507014B (zh) | 一种基于可信账本数据库的数据存储方法、装置及*** |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant | ||
REG | Reference to a national code |
Ref country code: HK Ref legal event code: DE Ref document number: 40045955 Country of ref document: HK |