Blockchain
Blockchain is a distributed, decentralized, and public digital ledger that records transactions across many computers, making data tamper-resistant and transparent.
A blockchain is a distributed, immutable, and transparent digital ledger that records transactions across many computers. Instead of a single central database, the ledger is shared and synchronized across a peer-to-peer network. Transactions are grouped into 'blocks,' and each new block contains a cryptographic hash of the previous block, a timestamp, and transaction data. This chaining mechanism creates a chronological and tamper-evident record.
Key characteristics include:
- Decentralization: Data is replicated across numerous nodes, eliminating reliance on a central authority and increasing resilience. No single entity controls the entire ledger.
- Immutability: Once a block is added to the chain through a consensus mechanism (like Proof-of-Work or Proof-of-Stake), it becomes extremely difficult to alter or delete. Any attempt to modify a past block would invalidate all subsequent blocks due to the cryptographic links.
- Transparency: While the identity of participants can be pseudonymous (represented by public addresses), the transactions themselves are typically publicly viewable on the ledger.
- Security: Cryptographic [hashing](/en/terms/cryptographic-hashing) and consensus mechanisms secure the network against fraud and unauthorized changes.
Blockchains serve as the foundational technology for cryptocurrencies like Bitcoin and Ethereum, but their applications extend to supply chain management, voting systems, digital identity, and more. The trade-off often lies between the degree of decentralization, transaction speed (scalability), and security. Highly decentralized and secure blockchains may sacrifice speed, while faster systems might compromise on decentralization or security.
graph LR
Center["Blockchain"]:::main
Pre_cryptography["cryptography"]:::pre --> Center
click Pre_cryptography "/terms/cryptography"
Pre_hashing["hashing"]:::pre --> Center
click Pre_hashing "/terms/hashing"
Pre_distributed_systems["distributed-systems"]:::pre --> Center
click Pre_distributed_systems "/terms/distributed-systems"
Center --> Child_block["block"]:::child
click Child_block "/terms/block"
Center --> Child_consensus_mechanism["consensus-mechanism"]:::child
click Child_consensus_mechanism "/terms/consensus-mechanism"
Center --> Child_merkle_tree["merkle-tree"]:::child
click Child_merkle_tree "/terms/merkle-tree"
Rel_bitcoin["bitcoin"]:::related -.-> Center
click Rel_bitcoin "/terms/bitcoin"
Rel_ethereum["ethereum"]:::related -.-> Center
click Rel_ethereum "/terms/ethereum"
Rel_blockchain_security["blockchain-security"]:::related -.-> Center
click Rel_blockchain_security "/terms/blockchain-security"
classDef main fill:#7c3aed,stroke:#8b5cf6,stroke-width:2px,color:white,font-weight:bold,rx:5,ry:5;
classDef pre fill:#0f172a,stroke:#3b82f6,color:#94a3b8,rx:5,ry:5;
classDef child fill:#0f172a,stroke:#10b981,color:#94a3b8,rx:5,ry:5;
classDef related fill:#0f172a,stroke:#8b5cf6,stroke-dasharray: 5 5,color:#94a3b8,rx:5,ry:5;
linkStyle default stroke:#4b5563,stroke-width:2px;
🧠 Knowledge Check
🧒 Explain Like I'm 5
🌍 Imagine a group of friends who all have the exact same notebook. Whenever someone buys something, everyone writes it down at the same time. If one person tries to cheat and change their notes, everyone else's notebook will prove them wrong. The notebook is the blockchain.
🤓 Expert Deep Dive
The architectural design of a blockchain balances distributed consensus, cryptographic security, and data structure efficiency. The choice of consensus mechanism (e.g., Nakamoto consensus in PoW, BFT variants in PoS) dictates the network's fault tolerance, finality guarantees, and susceptibility to specific attacks (e.g., 51% attacks, long-range attacks). Data propagation and block synchronization across a large, potentially adversarial network are critical challenges, often addressed through gossip protocols and efficient block relay mechanisms. The Merkle [tree](/en/terms/merkle-tree) structure within blocks allows for efficient verification of transaction inclusion without downloading the entire ledger. Trade-offs are inherent: permissionless blockchains offer greater censorship resistance and decentralization but face scalability bottlenecks, while permissioned blockchains can achieve higher throughput and control but sacrifice decentralization and open access. State bloat and the long-term archival of historical data also present significant architectural challenges.