代码之家  ›  专栏  ›  技术社区  ›  Derrick

将PouchDB的rev算法更改为使用区块链/哈希链模式

  •  0
  • Derrick  · 技术社区  · 7 年前

    将CouchDB/PouchDB的修订算法“隐藏”更改为使用区块链风格的“哈希链”是否合理,以便每个文档的修订都是其先前修订的哈希结果?

    这种模式将有助于保持修订的完整性;例如,在分布式网络中,它本质上可能是整个数据库不可变历史的基础。

    1 回复  |  直到 7 年前
        1
  •  2
  •   Bernhard Gschwantner    7 年前

    事实上 对文档及其所有修订的确定性哈希,至少对CouchDB是这样。它还使用了之前的版本,因此如果对文档进行相同的更新序列,基本上会得到一个确定性哈希。

    不幸的是,它是一个MD5哈希,所以它并不真正适合与安全相关的东西。

    好了,从来没有检查过_rev的实际值,只有破折号之前的部分必须是数字。所以你 能够 编写一个PouchDB插件,该插件可以更改_rev的生成,并在每次更新时检查_rev值的完整性。