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

Change PouchDB's rev algorithm to use a blockchain / hashchain pattern

更改 CouchDB / PouchDB 的修订算法 'under the hood' 以使用区块链样式 'hashchain' 这样每个文档的 _rev 都是其先前修订的哈希结果是否合理?

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

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

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

据我所知,从未检查过 _rev 的实际值,只有破折号之前的部分必须是数字。因此,您可以编写一个 PouchDB 插件来更改 _rev 生成并在每次更新时检查 _rev 值的完整性。