CAS
How it works
1) Content (a block/file/blob) is passed through a cryptographic hash function (e.g. SHA-256) that produces a content address. 2) The system checks whether that address already exists — if so it does not store a duplicate (deduplication); if not, it stores the content and maps the address to its physical location. 3) Reads are performed by supplying the content address: the system locates the data and optionally recomputes the hash to verify integrity. A separate metadata directory (names, timestamps, indexes) lets users find the right address, since the hashes themselves are not human-readable. Composing addresses into Merkle structures (trees/DAGs) allows addressing of entire collections and versioning.
Problem solved
Eliminates redundancy and the mutability problem of location-based storage: in traditional systems the same content under different names/paths is stored as multiple copies, with no built-in guarantee that a file was not modified. CAS guarantees one copy per unique content and makes any modification detectable.
Components
Maps arbitrary content to a fixed, unique identifier (the content address). The determinism of the hash provides deduplication and change detection.
Official
Immutable store holding exactly one copy of each unique piece of content addressed by its hash (write-once).
Official
Maps content addresses to physical locations and stores human-readable metadata (names, timestamps, search indexes), since hashes themselves are not human-readable.
Official
Implementation
CAS security relies on the hash’s collision resistance; breaking the algorithm (e.g. SHA-1 collisions — SHAttered, 2017) undermines uniqueness/integrity guarantees and forces migration.
Immutability and block sharing make deletion hard: content can be safely removed only when no object references it, requiring reference counting or garbage collection.
Evolution
Quinlan and Dorward (Bell Labs) describe an archival store where a block is addressed by the hash of its content, with a write-once policy and deduplication.
Centera popularized CAS for fixed-content/compliance use; sales of the original Centera ended in 2018.
Git is built as a userspace content-addressable filesystem: objects addressed by content hash, Merkle trees ensuring integrity and cheap versioning.
The InterPlanetary File System uses CAS (hash-based CIDs, a Merkle DAG) to address and share files across a peer-to-peer network.
Hyperparameters (configurable axes)
Choice of hash algorithm (e.g. SHA-1, SHA-256, BLAKE3) determines collision resistance and performance.
How and at what granularity content is split into blocks (fixed-size or content-defined, e.g. Rabin fingerprinting) affects deduplication effectiveness.
Computational complexity
Time complexity: O(1). Space complexity: O(U).
Parallelism
Immutability and location-independent addressing let reads and writes be freely replicated and distributed across nodes without conflicts or locking.
Hardware requirements
CAS is a data/storage-layer concept independent of accelerators; it runs on any hardware with persistent storage and a CPU for hashing.