CAS
Jak działa
1) Treść (blok/plik/blob) jest przepuszczana przez kryptograficzną funkcję skrótu (np. SHA-256), która produkuje adres treści. 2) System sprawdza, czy ten adres już istnieje — jeśli tak, nie zapisuje duplikatu (deduplikacja), jeśli nie, zapisuje treść i mapuje adres na jej fizyczną lokalizację. 3) Odczyt następuje przez podanie adresu treści: system odnajduje lokalizację i opcjonalnie ponownie przelicza skrót, weryfikując integralność. Oddzielny katalog metadanych (nazwy, znaczniki czasu, indeksy) pozwala użytkownikom wyszukać właściwy adres, bo same skróty nie są czytelne dla człowieka. Łączenie adresów w struktury Merkle (drzewa/DAG) umożliwia adresowanie całych kolekcji i wersjonowanie.
Rozwiązany problem
Eliminuje redundancję i problem zmienności w pamięci lokalizacyjnej: w tradycyjnych systemach ta sama treść pod różnymi nazwami/ścieżkami zajmuje wiele kopii, a brak jest wbudowanej gwarancji, że plik nie został zmodyfikowany. CAS zapewnia jedną kopię na unikalną treść i wykrywalność każdej modyfikacji.
Komponenty
Odwzorowuje dowolną treść na stały, unikalny identyfikator (adres treści). Determinizm skrótu zapewnia deduplikację i wykrywanie zmian.
Oficjalna
Niemutowalny magazyn przechowujący jedną kopię każdej unikalnej treści zaadresowanej jej skrótem (write-once).
Oficjalna
Mapuje adresy treści na fizyczne lokalizacje oraz przechowuje czytelne metadane (nazwy, znaczniki czasu, indeksy wyszukiwania), bo same skróty nie są czytelne dla człowieka.
Oficjalna
Implementacja
Bezpieczeństwo CAS opiera się na odporności skrótu na kolizje; złamanie algorytmu (np. kolizje SHA-1 — SHAttered, 2017) podważa gwarancje unikalności i integralności i wymusza migrację.
Niemutowalność i współdzielenie bloków utrudniają kasowanie: treść można bezpiecznie usunąć dopiero gdy nie odwołuje się do niej żaden obiekt, co wymaga liczenia referencji lub GC.
Ewolucja
Praca Quinlana i Dorwarda z Bell Labs opisuje magazyn archiwalny, w którym blok adresowany jest skrótem swojej treści, z polityką write-once i deduplikacją.
Centera spopularyzowała CAS w zastosowaniach fixed-content/zgodności regulacyjnej; sprzedaż oryginalnej Centery zakończono w 2018 r.
Git zbudowany jako userspace’owy content-addressable filesystem: obiekty adresowane skrótem treści, drzewa Merkle gwarantują integralność i tanie wersjonowanie.
InterPlanetary File System używa CAS (CID oparte na skrótach, Merkle DAG) do adresowania i współdzielenia plików w sieci peer-to-peer.
Hiperparametry (konfigurowalne osie)
Wybór algorytmu skrótu (np. SHA-1, SHA-256, BLAKE3) determinuje odporność na kolizje i wydajność.
Sposób i granularność dzielenia treści na bloki (stały lub oparty na treści, np. Rabin fingerprinting) wpływa na skuteczność deduplikacji.
Złożoność obliczeniowa
Złożoność czasowa: O(1). Złożoność przestrzenna: O(U).
Równoległość
Niezmienność i adresowanie niezależne od lokalizacji sprawiają, że odczyty i zapisy można swobodnie replikować i rozpraszać między węzłami bez konfliktów i blokad.
Wymagania sprzętowe
CAS to koncept warstwy danych/pamięci masowej, niezależny od akceleratorów; działa na dowolnym sprzęcie z pamięcią trwałą i CPU do liczenia skrótów.