prefer transparent cryptography with no trusted setup or social committees.…

separate compute/consensus from data availability; keep a clean, swappable boundary.…

tier data by criticality and expected half-life to optimize cost versus permanence.…

make light verification the default path; anyone should verify on a phone.…

design for graceful degradation and reversible choices via governance.…

threat model (high-level)…

da withholding by block producers or operators.…

long-range or governance capture of a single da provider.…

corruption of trusted-setup ceremonies (where used) or committee collusion.…

network partition and economic attacks that raise posting costs beyond thresholds.…

trust stack summary…

no-ceremony cryptography: hash trees + erasure coding (celestia), fri/stark-style sampling (frida research).…

escape hatch: ethereum calldata for minimal checkpoints (fully trustless, expensive).…

avoid committee trust for mission-critical data; allow as optional low-cost tier if ever needed.…

layered da stack…

tier 0 — critical roots: post checkpoint roots to ethereum calldata once per epoch; immutable forever; low bandwidth (≈32–64 kb/epoch); used for ultimate recovery and dispute resolution.…

tier 1 — active graph: post "focus blobs" (≈10k links + proofs) to celestia; retain for ≥30 days; mirror to ipfs/filecoin; verified by celestia light sampling on phones.…

tier 2 — historical tails: erasure-coded archival to filecoin/arweave/ipfs pinning; refreshed by archivers; used for deep replay and research analytics.…

target sLOs and kpis…

blob post success rate ≥ 99.95% over rolling 7 days.…

median light-client acceptance latency ≤ 2 seconds per blob.…

cost per mb (tier 1) below budget b (governance parameter) with automated reroute if exceeded.…

checkpoint cadence hit rate 100% with zero missed epochs.…

posting unit: focus blob…

content: batch of cyberlinks + minimal per-link metadata + optional sampling metadata.…

size target: 1–4 mb per blob (tunable); bounded by da provider limits.…

retention: min 30 days on tier 1; long-term via tier 2.…

light-client verification path…

today: celestia das with √n random share sampling until acceptance threshold reached.…

feature flag: embed fri/frida-style proofs in blob metadata to enable poly-log sampling when available.…

phones-first: default clients verify availability before accepting any on-chain reference.…

checkpoints and replay…

every n blocks form a state commitment (e.g., merkle/patricia root + rolling hash of blob ids).…

write the commitment to ethereum calldata; store a small proof-of-inclusion reference on our chain.…

replay requires: retrieve blobs from celestia/ipfs → apply to state → compare to last checkpoint root.…

failure and degradation modes…

if celestia posting cost > max_blob_fee, pause tier-1 posting and increase checkpoint frequency; queue blobs for later or route to backup da if approved by governance.…

if retrieval fails from celestia, fetch via ipfs/filecoin mirrors; if still unavailable, mark range as contested and trigger dispute protocol using checkpoints.…

if governance capture suspected, switch da target via on-chain parameter without hard fork.…

on-chain parameters (governance knobs)…

min_sampling_confidence: default 0.999 (probability data is available given samples).…

max_blob_fee: absolute or dynamic cap (e.g., usd/mb); triggers reroute or defer.…

checkpoint_interval: blocks per ethereum checkpoint; trade cost vs recovery speed.…

redundancy_factor: number of independent pinning providers for each blob.…

retention_days_tier1: minimum retention requirement before archiving.…

kzg/committee exposure policy…

mission-critical data (tier 0/1) must avoid trusted setup and committee trust.…

optional experimental tier may use kzg-based or dac-backed da for non-critical, short-lived analytics; disabled by default.…

interfaces and data structures…

blob descriptor (on-chain):…

  • hash: blake3/sha256 of blob payload.…
  • da_target: enum { celestia, future_frida, reserved }.…
  • size_bytes: uint64.…
  • retention_class: enum { hot, warm, cold }.…
  • mirrors: list for ipfs/filecoin.…

posting api (off-chain service → da adaptor):…

  • post_blob(payload, policy) → da_receipt { target, height/slot, commitment, inclusion_proof }.…
  • verify_availability(da_receipt, confidence) → bool.…
  • publish_descriptor(da_receipt, mirrors) → tx_hash (our chain).…

routing policy (pseudo):…

fn route(policy, market):
  if policy.trust_minimized_only and market.target != celestia:
    target = celestia
  if market.celestia_fee_per_mb > policy.max_blob_fee:
    target = pause_and_queue
  return target

…

operational runbook (excerpt)…

assemble batch every block or at size threshold.…

run erasure-coding locally for redundancy hints; compute hash.…

call post_blob to celestia; receive da receipt.…

perform light-client sampling to target confidence; on success, publish descriptor on our chain.…

push payload to ipfs/filecoin with redundancy_factor mirrors; store multihashes in descriptor.…

emit metrics: cost per mb, acceptance latency, failure reasons.…

implementation timeline…

q3 2025: celestia blob poster + ipfs fallback; light sampling in mobile client; basic dashboards.…

q4 2025: ethereum calldata checkpoint writer; incident automation; cost benchmarks public.…

q1 2026: embed fri/frida-style sampling metadata; feature-flag rollout; adversarial testing.…

h2 2026: evaluate production frida-based da; migration playbook; staged cutover if justified.…

comparison snapshot (july 2025)…

| solution | type | trusted setup | committee trust | throughput (now/roadmap) | retention | light sampling | maturity |… |---|---|---|---|---|---|---|---|… | celestia | modular da l1 | none | none | high → roadmap to ~1 gb blocks | persistent | yes (das) | mainnet |… | ethereum eip-4844 blobs | l1 blobspace | kzg ceremony | none | moderate; cheap for l2s | ~18 days then pruned | commitment only | mainnet (mar 2024) |… | eigenda | restaked da | kzg ceremony | none | high (operator-limited) | operator-configurable | roadmap | mainnet |… | avail | modular da | kzg ceremony | none | high; "infinity blocks" roadmap | persistent | yes | mainnet |… | arbitrum anytrust dac | committee da | none | ≥1 honest member | variable | committee policy | no (assumption-based) | mainnet |… | starknet volition/validium | hybrid | none (stark proofs) | optional dac | variable | mode-dependent | n/a | rolling out |… | frida (research) | sampling algo | none | none | theoretical poly-log overhead | n/a | yes (core) | academic |…

risk register (initial)…

celestia throughput or fee volatility makes tier-1 uneconomical → mitigation: max_blob_fee guard, dynamic batch sizing, temporary checkpoint frequency increase.…

ipfs/filecoin mirror unreliability → mitigation: redundancy_factor ≥ 3, periodic verify-and-repin jobs.…

ethereum calldata spikes in gas price → mitigation: elastic checkpoint_interval with floor; pre-funded gas vault and hedging.…

future frida networks slip or underperform → mitigation: keep feature-flagged and optional; do not block tier-1 operations.…

monitoring and alerts…

blob_post_cost_usd_mb (p95) crossing threshold.…

light_accept_latency_ms (p95) crossing threshold.…

missing_checkpoints count > 0 within window.…

mirror_retrieve_errors > x per day.…

open questions…

optimal batch sizing under varying network conditions without hurting light verification latency.…

standardized receipt format across da providers to simplify bridges and wallets.…

best-in-class erasure coding parameters for our data shape and retrieval patterns.…

next actions…

implement the da adaptor skeleton and wire to celestia light clients.…

ship the calldata checkpoint writer and recovery/replay tool.…

draft the governance parameters and defaults; socialize with stakeholders.…

define the archiver incentives and service-level requirements for mirrors.…

glossary (brief)…

da: data availability — the guarantee that posted data can be retrieved by anyone.…

light client: a verifier that checks availability/proofs without downloading full data.…

kzg: polynomial commitment scheme needing a multi-party trusted setup ceremony.…

fri/stark: transparent proof systems with no trusted setup; used by frida/starknet.…

dac: data availability committee; a social trust model requiring one or more honest members.…

Local Graph