Is Bitcoin better understood as a state machine or a database?
Bitcoin is commonly described as a “decentralized database,” but looking at how a full node actually works, that framing feels a bit off. Blocks form an append-only transaction log. Nodes replay that log to derive the current UTXO set, which Bitcoin Core stores in LevelDB (chainstate/). That’s not really how traditional databases work — it feels closer to event sourcing or a replicated state machine where the ledger state is derived rather than primary. So which mental model is actually correct? • Is the UTXO set the “database “? • Or is the block log canonical, with the UTXO set essentially being a cache that could be reconstructed? Is there anything from early mailing list discussions or Satoshi’s design notes that addresses this directly? from Recent Questions - Bitcoin Stack Exchange https://ift.tt/97PciCx via IFTTT