使用诸如以时间为中心的默克尔散列树之类的散列树的数据验证方法和系统技术方案

技术编号:18466105 阅读:18 留言:0更新日期:2018-07-18 16:04
本文描述的系统和方法通常涉及存储和验证数据。在一些实施例中,根据时间间隔生成参考级,其中所述第一参考级包括预定数量的时间间隔,并且其中剩余参考级的时间间隔中的每个由先前的参考级的预定数量的时间间隔组成。通过以时间顺序的方式对数据执行散列函数可以在第一参考级创建数据的散列。通过对在第一参考级的时间间隔中的每个处的数据的散列执行散列函数可以生成第一参考级时间间隔散列。通过对先前的参考级的时间间隔中的每个的散列执行散列函数可以生成针对剩余参考级时间间隔的散列。

Data validation methods and systems using hash tree such as time centered Merkel hash tree

The systems and methods described in this article usually involve storing and verifying data. In some embodiments, the reference stage is generated according to the time interval, in which the first reference stage includes a predetermined number of time intervals, and each of the remaining reference stages is composed of each of the predetermined number of time intervals of the previous reference stage. By performing hash functions on data in a chronological order, the hash of data can be created at the first reference level. A hash function can be generated by performing hash functions in the hash of data at each point in the time interval of the first reference level. Hashing can be generated by performing hash functions in each hash of the previous reference level interval, which can generate hashes for remaining reference level intervals.

【技术实现步骤摘要】
【国外来华专利技术】使用诸如以时间为中心的默克尔散列树之类的散列树的数据验证方法和系统相关申请的交叉引用本申请要求于2015年9月14日提交的名称为“DATAVERIFICATIONMETHODSANDSYSTEMSUSINGAHASHTREE,SUCHASATIME-CENTRICMERKLEHASHTREE(使用诸如时间中心的默克尔散列树之类的散列树的数据验证方法和系统)”的美国专利申请号14/852,955的优先权和权益,所述美国专利申请的全部内容出于所有目的通过引用以其全文结合在此。
本公开的各种实施例通常涉及存储和验证数据。更具体地,本公开的各种实施例涉及用于使用散列(hashing)技术存储和验证数据的系统和方法。
技术介绍
散列(hash)函数是一种可用于将任意大小的数字数据映射到固定大小的数字数据的函数。散列函数可用于许多目的,例如用于通过检测大文件中的复制记录来加速表或数据库的查找。散列函数也被用于区块链中。区块链是可验证的永久性账本,该永久性账本用被附接到每个区块并验证该区块的工作量证明密封(散列)来每次被构建一个区块。在任何区块链中,前一个区块的散列被包括在当前区块中,并且因此通过递归,当前散列也将所有先前的区块验证回到原始的创世(genesis)区块。将散列插入到区块链中永久地记录该散列并且充当在区块被添加到链中的时刻验证散列数据存在的时间戳证明的公证人。未来的区块从链重组添加了保护层,并因此添加了对链中较早的区块不能做出改变的确定性。附图说明将通过使用附图来描述和解释本公开的实施例。图1图示了根据本公开的各种实施例的基于网络的操作环境的示例。图2图示了根据本公开的一个或多个实施例的数据存储和验证平台中的一组组件。图3是图示了根据本公开的一个或多个实施例的数据存储和验证平台的架构的图。图4图示了根据本公开的一个或多个实施例的使用非稀疏TOME来存储和验证数据的过程。图5图示了根据本公开的一个或多个实施例的使用稀疏TOME来存储和验证数据的过程。图6图示了根据本公开的一个或多个实施例的使用时钟链TOME来存储和验证数据的过程。图7图示了用其本公开的一些实施例可以被使用的计算机系统的示例。具体实施方式本公开的各种实施例通常涉及存储和验证数据。更具体地,本公开的各种实施例涉及用于使用散列技术存储和验证数据的系统和方法。数据存储和验证平台描述了一种方法和系统,其中使用默克尔(Merkle)树(其中树分支是以时间为中心的数据分组)的概念可以既快速又高效地生成数据记录以及特别地快速变化的时间敏感的数据的记录。数据验证的传统方法是效率低下的,特别是在涉及大量快速变化的数据(例如,交易数据、遥测)的情况下。例如,用于验证数据的一种解决方案包括存储文件或文本的整个语料库并将其与原始数据进行比较以确认有效性。尽管这种方法对于小量数据是可管理的,但该方案对于任何显著量数据的比较都是不切实际的。另一个当前的解决方案是将数据存储在区块链中。但是,因为至少两个原因,在区块链中记录快速变化的数据(例如,在交易所中的每笔交易)是不切实际的。首先,当前必须同步和存储的数据量超过了当前区块链的大多数通信通道、当前区块链的大多数存储系统和当前区块链的“带宽”。简而言之,快速变化的数据不能跨广泛地分布的分散系统被快速同步。其次,在区块链上记录快速变化的数据是不切实际的,因为分散区块链的时序不是确定性的。也就是说,用于数据的路径取决于对等连接,这可能导致以与其最初发生的不同顺序记录快速变化的数据。本文描述的方法和系统提供了记录数据(包括快速变化的时间敏感的数据)以供将来验证的方式。本文描述的一些实施例描述了可以生成时间有序默克尔树时期(TOME)的数据存储和验证平台,其中“时间”可以指视为整体的过去、现在和将来中存在和事件的无限连续进展;“有序”可以指以有条不紊的或适当的方式进行安排;其中“默克尔树”指由RalphMerkle专利技术的默克尔树,其中每个非叶节点用其子节点的标签的散列来标记;“时期(epoch)”指在某人或某事的历史中独特时期的开始。TOME可以使用诸如SHA256之类的加密散列函数用于散列。在一些实施例中,TOME的叶可以是特定记录,并且树可以由每第一参考级的数据记录的数量,第一参考级中组成第二参考级的段或时间间隔的数量,第二参考级中组成第三参考级的段或时间间隔的数量等等来定义。在一些实施例中,参考级由时间定义,并且在这样的实施例中,树可以由每秒的数据记录的数量、每分钟的秒数、每小时的分钟数、每日的小时数等来定义。在示例中并且如本文进一步描述的,如果需要,数据存储和验证平台可以接收数据记录并提供时间戳。在接收到数据记录时,每个数据记录可以用由数据存储和验证平台生成的对应的时间戳来散列。时间戳可以表示不同级的粒度(例如,皮秒、秒等)。在一个说明性的示例中,以秒来表示粒度,并且因此每个数据记录的散列以时间/相继的顺序被组合,并且每秒生成散列的散列;被组合的散列可以被称为一秒TOME。因此,每秒创建一个散列。在已经创建了六十个一秒散列之后,所有的一秒散列然后被组合(按时间上升)并且被散列用于创建一分钟散列,其可以被称为一分钟TOME。在已经创建了一分钟散列的六十个之后,所有的六十个一分钟散列被排序(按时间上升),并被散列用于创建一小时TOME。在已经创建了一小时散列的二十四个之后,二十四个一小时散列被排序(按时间上升),并被散列用于生成一日TOME。该日散列然后可以被排序(按时间上升),并被散列用于产生一个月TOME(即三十个或三十一个每日散列的散列),季度TOME(即九十个每日散列的散列),和/或年度TOME(即365个每日散列的散列)。可以使用各种方法来完成在对被组合的散列执行散列函数之前组合散列。例如,可以通过将散列连接在一起,通过数字上相加散列,或通过将二进制字节连接在一起来组合散列。其他方法也可以将散列取异或在一起、用在它们之间的定界将散列连接起来、或将索引号添加到每个散列并且然后组合散列。必须知道组合散列的方法,以便使独立方复制过程并独立地得出相同的结果。有多种类型的TOME,包括非稀疏TOME、稀疏TOME和时钟链TOME。在非稀疏TOME中,无论数据是否在第一参考级的段(例如,秒)期间被接收到,都生成针对每个段(或时间的单位,例如一秒)的散列。因此,在非稀疏TOME中,将总会有针对每个段的散列(即,即使在六十个一秒散列中的只有三个或四个中接收到数据,六十个一秒散列也将被创建并用于创建一分钟散列)。在稀疏TOME中,仅当在第一参考级的段期间接收到数据时才创建散列(即,如果在特定分钟内的六十秒中的三秒内接收到数据,则只有三个散列将被散列以形成一分钟散列)。时钟链TOME使用创世散列。创世散列是时期中的第一个散列,并且可以是提供正被散列的数据的描述或任何其他类型的信息的文档的散列。创世散列与在第一段(例如,秒)中的数据记录进行散列。在该实施例中,第一段(例如,第一秒)的散列与在下一段(例如,第二秒)中的数据记录进行散列以创建第二段散列,第二段散列与在第三段(例如,第三秒)期间接收到的数据记录的散列进行散列等。散列可以在任何点处被记录在区块链中,允许将来验证数据。也就是说,通过用数据重建TOME,如果数据本文档来自技高网...

【技术保护点】
1.一种计算机化方法,包括:在第一参考级的第一参考级段期间接收数据项;用对应的时间戳对所述数据项中的每个执行散列函数;通过对所述第一参考级段中的每个中的所述数据项的散列根据他们各自的时间戳执行第二散列函数来生成针对所述第一参考级段中的每个的第一参考级段散列;以及生成针对多个第二参考级段中的每个的第二参考级段散列,其中所述多个第二参考级段中的每个由预定数量的所述第一参考级段组成,其中所述多个第二参考级段散列中的每个通过对预定数量的所述第一参考级段散列执行第三散列函数来生成。

【技术特征摘要】
【国外来华专利技术】2015.09.14 US 14/852,9551.一种计算机化方法,包括:在第一参考级的第一参考级段期间接收数据项;用对应的时间戳对所述数据项中的每个执行散列函数;通过对所述第一参考级段中的每个中的所述数据项的散列根据他们各自的时间戳执行第二散列函数来生成针对所述第一参考级段中的每个的第一参考级段散列;以及生成针对多个第二参考级段中的每个的第二参考级段散列,其中所述多个第二参考级段中的每个由预定数量的所述第一参考级段组成,其中所述多个第二参考级段散列中的每个通过对预定数量的所述第一参考级段散列执行第三散列函数来生成。2.根据权利要求1所述的计算机化方法,进一步包括将所述第二参考级段散列中的至少一个记录到分布式账本。3.根据权利要求1所述的计算机化方法,其中所述第一参考级段和所述第二参考级段是时间段。4.根据权利要求3所述的计算机化方法,其中所述第一参考级段的时间段是秒,并且其中所述第二参考级段的时间段是分钟。5.根据权利要求4所述的计算机化方法,其中所述第一参考级段的所述预定数量是六十或六十一。6.根据权利要求1所述的计算机化方法,进一步包括针对附加参考级生成参考级段散列,其中所述附加参考级中的每个包括多个参考级段,其中所述多个参考级段中的每个包括预定数量的先前的参考级段,其中生成所述附加参考级段散列中的每个包括对所述预定数量的所述先前的参考级段中的每个的所述附加参考级段散列执行附加散列函数。7.根据权利要求6所述的计算机化方法,其中第一接收数据项包括创世数据,其中所述第一参考级段中的每个的第一散列是除了所述第一参考级的第一段的第一散列之外的紧接先前的第一参考级段的散列,其中针对所述附加参考级段中的每个的第一散列是除了所述附加参考级中的每个的第一附加参考级段的第一散列之外的紧接先前的附加参考级段的散列。8.根据权利要求1所述的计算机化方法,其中执行生成针对所述第一参考级段中的每个的第一参考级段散列,而不管在所述时间间隔期间是否接收到所述数据项中的任何数据项,其中当在第一参考级段中的一个期间没有接收到数据项时,执行占位符第一参考级段散列。9.一种非瞬态计算机可读存储介质,包括一组指令,所述一组指令在由一个或多个处理器执行时使机器用于:根据时间间隔生成参考级,其中第一参考级包括预定数量的时间间隔,其中剩余参考级的所述时间间隔中的每个由先前的参考级的预定数量的时间间隔组成;通过根据其中接收到数据的时间间隔对所述数据执行散列函数来创建在第一参考级处的数据的散列;通过对在第一参考级的所述时间间隔中的每个处的数据的散列执行散列函数,直到第一参考级的所述预定数量的时间间隔,来生成第一参考级时间间隔散列;以及通过对所述先前的参考级的所述时间间隔中的每个的散列执行散列函数直到所述预定数量的时间间隔,来生成针对所述剩余参考级的参考级时间间隔散列。10.根据权利要求9所述的非瞬态计算机可读存储介质,其中在由所述一个或多个处理器执行时,所述一组指令进一步使所述机器将所述参考级时间间隔散列中的至少一个记录到分布式账本。11.根据权利要求10所述的非瞬态计算机可读存储介质,其中所述一组指令在由所述一个或多个处理器执行时进一步使所述机器用于:处理接收到的验证数据,所述验证数据跨越所述参考级时间间隔散列中的所述至少一个的时间段;生成针对所述验证数据的所述参考级时间间隔散列;以及将针对所述验证数据的所述参考级时间间隔散列与所述参考级散列中的所述至少一个进行比较,以验证所述验证数据从所述数据没有变化。12.根据权利要求9所述的非...

【专利技术属性】
技术研发人员:T·布莱克A·威尔金斯R·克里斯顿森
申请(专利权)人:缇零网股份有限公司
类型:发明
国别省市:美国,US

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1