For those of you who have not read Mr. Lopp's original article, here is a summary. The Cliff Notes version if you will -
Assumptions and Guarantees
- Bitcoin assumes that the majority of miners act honestly, incentivized by block rewards.
- Full nodes guarantee several facts: no monetary inflation beyond defined limits, no unauthorized spending, and no double-spending.
Thermodynamic Security
- Once a transaction is confirmed in a block, reversing it requires significant energy. An attacker needs over 50% of the network's computational power to reverse transactions.
- The cost to rewrite Bitcoin’s entire blockchain is prohibitively high (around $277 million), making such attacks impractical.
Sybil Resistance
- Bitcoin nodes are resistant to Sybil attacks, where attackers create multiple fake peers. A single honest connection allows a node to disregard false information from dishonest peers.
Consensus Properties
- Bitcoin achieves eventual consensus, exponential convergence of forks, liveness (new blocks added regularly), correctness (valid transactions only), and fairness (mining proportional to computational power).
Checkpoints and Bootstrapping
- Hard-coded checkpoints ensure a common history for new nodes, preventing Sybil attacks during initial sync.
- Bitcoin uses DNS seeds for bootstrapping, requiring trust in at least one honest seed or node.
SPV Clients vs. Full Nodes
- Simplified Payment Verification (SPV) clients download block headers, reducing resource needs but assuming valid transactions. SPV is less secure than full nodes, which verify all consensus rules.
- Running a full node offers superior security with minimal trust assumptions.
Security Considerations
- Full nodes require trusting hardware and software to some extent, though methods exist for verifying software integrity.
- Miner concentration poses risks, but incentives align against malicious behavior due to capital investment and network monitoring.
Infrastructure Options
- Alternatives like mobile wallets or SPV with custom configurations can balance security and convenience. Proxies combining third-party services with local verification offer hybrid models.
Run a Full Node Already
Running a full node provides the highest level of security for Bitcoin users, minimizing trust assumptions and ensuring financial sovereignty at minimal cost.