2014-12-19 41 views
1

內容可尋址存儲系統使用存儲數據的散列作爲標識符和地址。碰撞非常罕見,但如果系統長時間使用很多,可能會發生。如果有兩條產生相同散列的數據會發生什麼?難道最近存儲的數據會失敗並且數據丟失,還是有可能設計出既存儲又允許訪問的方法?內容可尋址存儲系統如何處理可能的散列衝突?

爲了保持窄的問題,我想着重Camlistore。如果permanodes相撞會發生什麼?

回答

1

假定碰撞沒有發生。考慮到強大的散列函數和偶然的非惡意用戶輸入,這是一個完全合理的假設。這是Camlistore目前使用的SHA-1也抵抗惡意嘗試產生衝突。

如果散列函數變弱隨着時間的推移,需要退休,Camlistore支持遷移到新blobrefs新散列函數,同時保持老BLOB裁判訪問。

如果碰撞發生過的事,據我瞭解,與哈希第一存儲blobref會贏。

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

+0

儘管如此,仍覺得有些奇怪寫的存儲軟件,是由設計不可靠(碰撞_do_發生)。人們通常假定只有硬件與不可靠的設計編寫(此驅動器將在〜10年最有可能破),而軟件的設計是「完美」。 – user7610 2017-07-31 11:16:56