Keyboard shortcuts

Press or to navigate between chapters

Press S or / to search in the book

Press ? to show this help

Press Esc to hide this help

Locating and Retrieving Data

Applications require a method to associate a Data to a particular Read Cap.

Since the Read Cap itself gives access to the plaintext, we can’t use that. Therefore, we have a way to derive an Immutable Identifier from either a Read Cap or a Verify Cap.

This Identifier doesn’t reveal which Read Cap it goes with – that can only be done by a device holding the Read Cap (or Verify Cap). Internally, we use the Identifier in the Catalog.

The Identifier is a 32-byte value derived via tagged-hash (with tag "magic_cap_storage_index_v1"). This Identifier is essentially the same as the “storage index” used in Tahoe-LAFS.

When locating Data stored in files on disk, that Catalog implementation uses the Identifier to put the files in a structure very similar to a Git “objects/” subdirectory.

In the HTTP implementation of Catalog, the Identifier is used in the URL to ask for the ciphertext (and metadata) separately.