Walrus Consistency Check: Recompute Blob ID to Catch Dishonest Writers

Subtelny atak zagraża zdecentralizowanemu przechowywaniu: nieuczciwy autor twierdzi, że przechowuje blob A, ale dostarcza różne treści dla fragmentów bloba A. Czytelnicy oczekują bloba A, otrzymują coś innego i wykrywają oszustwo dopiero po fakcie—jeśli w ogóle.

@Walrus 🦭/acc wykrywa ten atak poprzez kryptograficzną spójność. Sam identyfikator bloba koduje zobowiązanie. Jest on wyprowadzany z hasha treści plus metadane. Jeśli autor twierdzi, że przechowuje "blob z ID X", ale dostarcza fragmenty, które haszują do zobowiązania Y ≠ X, niespójność jest matematycznie wykrywalna.

Mechanizm jest elegancki. Gdy walidator otrzymuje fragment, weryfikuje, że hasz fragmentu jest zgodny z podanym identyfikatorem bloba. Walidator oblicza: hash(treści fragmentu) i sprawdza, czy pasuje do oczekiwanego hasha z identyfikatora bloba. Jeśli niezgodność, fragment jest odrzucany.

Czytelnicy wykonują tę samą kontrolę w odwrotnej kolejności. Podczas rekonstrukcji bloba, ponownie obliczają identyfikator bloba z odzyskanej treści i weryfikują, czy pasuje do zadeklarowanego identyfikatora bloba. Jeśli niezgodność, odczyt kończy się niepowodzeniem, a oszustwo zostaje udowodnione.

To podejście do ponownego obliczenia jest potężne, ponieważ nie wymaga ufania nikomu. Identyfikator bloba jest źródłem prawdy. Treść musi się z nim zgadzać. Autor nie może twierdzić, że ma blob X i dostarczyć blob Y, ponieważ struktura ID to wykrywa. Walidator nie może po cichu zmieniać fragmentów, ponieważ czytelnicy wykryją niezgodność.

Kontrola spójności jest również wydajna. To tylko jedno obliczenie hasha na fragment. Nie są wymagane skomplikowane dowody ani wielorundowe protokoły.

Kryptograficzna spójność sprawia, że oszustwo jest kosztowne, a wykrywanie automatyczne. Nieuczciwi autorzy nie mogą ukryć się za zaszyfrowanymi haszami lub zafałszowaniem—identyfikator bloba ujawnia wszystko.

#Walrus $WAL