档案存储的可信时间戳技术解析
1. 数据结构基础
在构建档案存储的时间戳方案时,需要一个持久的数据结构来支持新文档的插入、生成文档在任意时间间隔的成员证明和非成员证明,并且每个间隔的承诺要短。这样的数据结构被称为持久认证字典(PAD)。此外,理想的 PAD 还应支持通过文档句柄进行高效搜索,并能枚举特定时间间隔内生成的所有文档。
- Merkle 树按时间间隔构建 :为每个时间间隔构建一个包含该间隔内生成的所有文档句柄的 Merkle 树。这种简单的数据结构能实现高效的追加操作,以及高效的成员证明和非成员证明。然而,搜索文档句柄的时间复杂度与时间间隔的数量呈线性关系。
- 以文档句柄为索引的 Trie 树或 Patricia 树 :为了实现通过文档句柄的高效搜索,可以构建以文档句柄为索引的 Trie 树(或更优化的 Patricia 树)。在 Trie 树上叠加 Merkle 树,通过子节点的哈希值计算内部节点的哈希值。每一轮的承诺是存储在树根的值。在每个时间间隔,随着新节点插入树中,内部节点的哈希值可能会改变。为了在任何时间间隔生成成员证明和非成员证明,需要一种机制来维护所有版本的节点哈希值。此外,还需要一种高效的机制来枚举在时间 t 生成的所有文档。
2. 持久认证字典的构建
我们构建的 PAD 是在 Trie 树(或优化版本的 Patricia 树)上叠加 Merkle 树。树中的每个节点存储一个哈希列表,该列表是为节点哈希值被修改的所有时间间隔计算的(计算方式与 Merkle 树类似)。哈希列表按时间间隔顺序存储在数组中。在优化版
超级会员免费看
订阅专栏 解锁全文
52

被折叠的 条评论
为什么被折叠?



