Skip to main content

BlobRetention

Trait BlobRetention 

Source
pub trait BlobRetention { }
Expand description

Assumption (Blob retention). A correct validator that has processed a certified block keeps the blobs that block requires, for as long as any node may still need to execute it.

Content addressing makes a blob impossible to forge but does nothing to make it exist: CertifiedBlockIsAvailable needs someone to still be holding it. A validator writes them when it accepts the block — write_blobs_and_certificate — and records BlobState { origin, last_used_by, epoch } alongside.

Currently discharged by omission. Nothing deletes blobs: there is no collection pass in linera-storage or linera-views, so retention is unbounded and the assumption holds trivially. That is not a policy, and the shape of BlobState — recording which certificate last used a blob and in which epoch — suggests one was anticipated. Introducing collection would put this assumption at risk, and the rule would have to be keyed on those fields rather than on age.

Its counterpart is BlobAdmissionIsBounded: retention is only affordable because blobs that no certified block references cannot accumulate.

Implementors§