文件名称:merkle-tree:Java中的默克尔树实现
文件大小:15KB
文件格式:ZIP
更新时间:2024-06-20 20:59:26
Java
概述 我最近发现需要在数据处理系统中进行检查点检查,该系统要求任何数据事件都不会丢失,并且任何事件都不能被处理和无序流式传输。 我想要一种在生产中实时自动检测这一点的方法。 有几种方法可以做到这一点,但由于我们的数据事件已经附加了一个签名(一个 SHA1 散列),我决定做检查点的一个有用的方法基本上是保留一个散列的散列。 可以使用来做到这一点,其中保留了每个数据元素的散列链,并且当出现检查点时,会按顺序获取所有这些散列的散列。 此模型的一个缺点是,如果下游系统检测到哈希不匹配(由于消息丢失或消息无序),则必须迭代完整列表以检测问题所在。 一个优雅的替代方案是哈希树,又名默克尔树,以其发明者拉尔夫默克尔命名。 默克尔树 Merkle 树通常被实现为二叉树,其中每个非叶节点都是它下面两个节点的哈希。 叶子可以是数据本身,也可以是数据的哈希/签名。 因此,如果在系统之间检测到根散列的任何
【文件预览】:
merkle-tree-master
----.gitignore(51B)
----src()
--------main()
--------test()
----LICENSE.md(1KB)
----pom.xml(973B)
----README.md(10KB)