Citrea
WebsiteBlogJoin The Community
  • 👋Welcome
    • Getting started
  • ⛓️Technical Specs
    • TL;DR
    • Technical Introduction
    • Characteristics
      • Execution Environment
      • Block Production
        • Pre-Confirmations
        • Decentralized Sequencer Network
      • Proof Generation
      • Nodes
      • Bitcoin Settlement: Trust-minimized BTC Bridge
        • BitVM
        • Optimistic Verification
    • Security Properties
      • Validity
      • Data Availability
      • Re-org Resistance
      • Censorship Resistance and Force Transactions
        • Escape Hatch
  • 👤User Guide
    • Run Citrea Full Node
      • Bitcoin Testnet4
        • Testnet4 Docker Setup
        • Build Testnet4 from Source
      • Citrea Full Node
        • Citrea Binary Executable
        • Build Citrea from Source
    • Use Citrea Testnet Faucet
    • Installing an EVM Wallet
    • Taproot Recovery Address
  • 📖Developer Documentation
    • Kickstart
    • Deployment Guide
      • Deploy a Smart Contract Using Remix
      • Deploy a Token
      • Configure Hardhat
    • System Contracts
      • Bitcoin Light Client
      • Bridge
      • Fee Vaults
    • Chain Information
    • RPC Documentation
    • Deploy a Bitcoin Appchain (L3)
  • 🔎Future Research
    • Decentralized Sequencer Network
    • Lightning Integration
    • Multi Prover
    • Multi VM Approach
    • Trustless Atomic Swaps
    • Trustless Settlement
    • Volition Model
  • 🌐Community
    • Citrea Meetups
      • Meetup Guide
      • Resources
      • Code of Conduct
Powered by GitBook
On this page

Was this helpful?

  1. Technical Specs
  2. Security Properties

Data Availability

PreviousValidityNextRe-org Resistance

Last updated 7 months ago

Was this helpful?

Data availability by definition represents the availability of data needed to transact for everyone. Unlike existing L2 solutions on Bitcoin, Citrea keeps all the data needed to transact on the rollup in Bitcoin.

Because the data bandwidth is limited on Bitcoin, Citrea keeps the data in a special form called state differences (state diffs in short). Instead of recording the full Citrea transaction data like signature witnesses in Bitcoin, Citrea records the state diff between two consecutive batches. The state diff is constrained by the zk circuit, which means it cannot be altered without invalidating the proof.

A full node can retrieve the full rollup state by only looking into Bitcoin blocks. It can examine Bitcoin blocks one-by-one, extract the valid batch proofs, and apply the state diffs to the local state. Once it reaches the latest Bitcoin block, the full node has the full Citrea state. Liveness is crucial to recover from catastrophic events as well as censorship resistance for nodes. Citrea lives as long as Bitcoin lives thanks to its on-chain data availability.

For low security use cases, Citrea heavily explores the volition model. The volition model is a special type of L2 that has both on-chain and off-chain data.

⛓️
DA in Citrea