Couchdb 更改数据库';s rev算法使用区块链/哈希链模式

Couchdb 更改数据库';s rev算法使用区块链/哈希链模式,couchdb,pouchdb,blockchain,Couchdb,Pouchdb,Blockchain,是否有理由将CouchDB/PockDB的修订算法“在引擎盖下”更改为使用区块链样式的“hashchain”,以便每个文档的修订都是其先前修订的哈希结果 这种模式将有助于保持修订的完整性;例如,在分布式网络中,它基本上是整个数据库不可变历史的基础 事实上,_rev是对文档及其所有修订的确定性哈希,至少对CouchDB来说是这样。它还使用了上一版本,因此如果对文档进行相同的更新序列,基本上会得到一个确定性哈希 不幸的是,它是一个MD5散列,所以它并不真正适用于安全相关的东西 另外,绝对不会检查_r

是否有理由将CouchDB/PockDB的修订算法“在引擎盖下”更改为使用区块链样式的“hashchain”,以便每个文档的修订都是其先前修订的哈希结果


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

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

不幸的是,它是一个MD5散列,所以它并不真正适用于安全相关的东西


另外,绝对不会检查_rev的实际值,只有破折号前的部分必须是数字。因此,您可以编写一个PockDB插件来更改_rev的生成,并在每次更新时检查_rev值的完整性。

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

不幸的是,它是一个MD5散列,所以它并不真正适用于安全相关的东西


另外,绝对不会检查_rev的实际值,只有破折号前的部分必须是数字。因此,您可以编写一个PockDB插件来更改_rev的生成,并在每次更新时检查_rev值的完整性。

类似于安全的SkuttleButt,但与PockDB API实现/集成这是区块链或“hashchain”概念的一个很好的入门/更新,应该清楚地展示新的_rev模型我建议的是与secure scuttlebutt类似的东西,但与pockDB APIHere实现/集成了区块链或“hashchain”的概念,这是一个很好的入门/更新,它应该清楚地展示我建议的新的_rev模型非常棒,它澄清了一些事情。“确定性散列”——是的,可能比“散列链”更准确,谢谢。更广泛的目标是或多或少为分布式区块链提供一个coach/pockDB API。因此,我正在寻找一个插件的替代方案——也许是一个“适配器”,将PockDB的API安装在安全的scuttlebut之类的东西上;这是一个GH问题,我提出了这个想法。然而,dominictarr指出,最好同时使用两者的优点(根据用例选择一个或另一个)!所以我同意他的观点。注意这只适用于CouchDB,对于PockDB,
\u rev
是随机的。虽然改变了这一点。太棒了,这澄清了问题。“确定性散列”——是的,可能比“散列链”更准确,谢谢。更广泛的目标是或多或少为分布式区块链提供一个coach/pockDB API。因此,我正在寻找一个插件的替代方案——也许是一个“适配器”,将PockDB的API安装在安全的scuttlebut之类的东西上;这是一个GH问题,我提出了这个想法。然而,dominictarr指出,最好同时使用两者的优点(根据用例选择一个或另一个)!所以我同意他的观点。注意这只适用于CouchDB,对于PockDB,
\u rev
是随机的。尽管有必要改变这一点。