Skip to content

Add S3-compatible object storage over decentralized storage #58

Description

@flo2517

Offer an S3-compatible object storage API backed by content-addressed decentralized storage, so tenants get a familiar interface without a central storage operator. Per ADR-012 §3, object payloads are a content-addressed class and tenant objects are tenant-private: confidentiality comes from client-side encryption with tenant-held keys, not from access control at the gateway.

Blocked by: ADR-018 (see ADR-012 §6) — no implementation before acceptance.

Acceptance criteria:

  • ADR-018 selects the storage network and states its pinning strategy, retention proofs, cost model, and gateway trust assumptions;
  • the S3-compatible surface states precisely which operations and semantics are supported and which are not; unsupported operations fail explicitly rather than silently diverging from S3 behavior;
  • tenant objects are encrypted client-side with tenant-held keys before leaving the tenant boundary; a storage node learns only ciphertext and size;
  • erasure is implemented by key destruction, per ADR-012 §4, and the residual-ciphertext consequence is documented for the tenant;
  • retention is backed by a proof, not by a promise: a node claiming to store data it does not hold is detectable;
  • data unavailability produces an explicit error, never a silent empty result, per ADR-012 §4;
  • access-pattern correlation between tenants is addressed as a privacy threat, per the storage-node row of the ADR-012 §2 threat table;
  • tests cover put/get/delete round-trips, a node silently losing data, a node lying about possession, an unavailable pinset, erasure by key destruction, and a partitioned gateway.

Original request (FR, preserved verbatim):

Fournir une interface S3 pour le stockage d'objets en utilisant des protocoles de stockage décentralisés.

Metadata

Metadata

Assignees

No one assigned

    Projects

    No projects

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions