更改PouchDB的rev算法以使用区块链/ hashchain模式

时间:2017-12-07 04:12:32

标签: couchdb pouchdb blockchain

是否有理由改变CouchDB / PouchDB的修订算法'使用区块链样式' hashchain'这样每个文档的_rev都是它之前版本的哈希的结果?

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

1 个答案:

答案 0 :(得分:1)

事实上,_rev 是文档及其所有修订版的确定性哈希,至少对于CouchDB而言。它还使用了之前的_rev,因此如果对文档进行相同的更新序列,则基本上可以获得确定性散列。

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

AFAIK,永远不会检查_rev的实际值,只有破折号前面的部分必须是数字。所以你可以编写一个改变_rev生成的PouchDB插件,并在每次更新时检查_rev值的完整性。