内容可寻址存储系统使用存储数据的散列作为标识符和地址。碰撞是非常罕见的,但如果系统长时间使用很多,可能会发生。如果有两个数据产生相同的哈希,会发生什么?难道不可避免的是,最近存储的一个获胜并且数据丢失,或者是否可以设计存储两者的方法并允许访问它们?
为了缩小这个问题,我想关注Camlistore。如果permanodes碰撞会发生什么?
答案 0 :(得分:1)
假设不发生碰撞。考虑到强大的哈希函数和随意的非恶意用户输入,这是一个非常合理的假设。 SHA-1是Camlistore目前使用的,它也能抵抗恶意企图产生碰撞。
如果哈希函数随着时间变弱而需要退休,Camlistore支持迁移到新的blobref的新哈希函数,同时保持旧的blob refs可访问。
如果确实发生了碰撞,据我所知,第一个存储的带有该哈希的blobref将获胜。
来源:https://groups.google.com/forum/#!topic/camlistore/wUOnH61rkCE