内容可寻址存储系统如何处理可能的哈希冲突?

时间:2014-12-19 11:48:57

标签: storage hash-collision future-proof camlistore

内容可寻址存储系统使用存储数据的散列作为标识符和地址。碰撞是非常罕见的,但如果系统长时间使用很多,可能会发生。如果有两个数据产生相同的哈希,会发生什么?难道不可避免的是,最近存储的一个获胜并且数据丢失,或者是否可以设计存储两者的方法并允许访问它们?

为了缩小这个问题,我想关注Camlistore。如果permanodes碰撞会发生什么?

1 个答案:

答案 0 :(得分:1)

假设不发生碰撞。考虑到强大的哈希函数和随意的非恶意用户输入,这是一个非常合理的假设。 SHA-1是Camlistore目前使用的,它也能抵抗恶意企图产生碰撞。

如果哈希函数随着时间变弱而需要退休,Camlistore支持迁移到新的blobref的新哈希函数,同时保持旧的blob refs可访问。

如果确实发生了碰撞,据我所知,第一个存储的带有该哈希的blobref将获胜。

来源:https://groups.google.com/forum/#!topic/camlistore/wUOnH61rkCE