PROTOSOURCE-LED TOPIC GUIDE

How Bitcoin works: protocol, nodes and consensus

Connect transactions and UTXO with Proof of Work, Full Node checks and the rules for selecting a valid history.

55connected coordinates
175Source links

A Full Node rejects invalid blocks and follows the chain with the greatest cumulative work among known valid branches. Miners produce that work. These complementary roles can be performed by the same person. A Full Node checks blocks and spends, including signatures, issuance rules and the prohibition of double spending within the accepted history. Admission and relay policies for unconfirmed transactions can be stricter than consensus. Mempool rejection alone does not make a block invalid.

This overview does not replace a complete specification. Bitcoin Core v29.0 is a specific implementation example, not a claim to be the latest version. BIP141 describes SegWit changes; always check activation conditions for rule changes. Linked entries have their own sources and reviews.

Primary sources

A curated path from first principles to the details that matter.

01
Protocol · BTC

Bitcoin

An open monetary network: what holding bitcoin means, how a payment is made and why nodes verify its acceptance.

Open entryOpen source
02
Protocol · PoW

Proof of work

A costly-to-produce and cheap-to-verify hash condition that gives valid Bitcoin histories measurable cumulative work.

Open entryOpen source
03
Network · NODE

Full node

Software that independently validates Bitcoin’s complete rule set and maintains its own view of the valid chain and UTXO set.

Open entryOpen source
04
Protocol · UTXO

UTXO

A specific transaction output that exists in the current spendable set and can be consumed only in full.

Open entryOpen source
05
Protocol · SHA²

SHA-256

SHA-256 is the 256-bit member of NIST's SHA-2 family. Bitcoin uses the primitive both directly and inside precisely specified constructions, but its security depends as much on serialization, domain separation and consensus rules as on the compression function itself.

Open entryOpen source
06
Protocol · CORE

Bitcoin Core

Bitcoin Core is the most widely used open-source implementation of a fully validating Bitcoin node; it is not the Bitcoin protocol or the whole network.

Open entryOpen source

Definitions, mechanisms, people and source data connected to this field.

BTCBitcoinProtocol · 8 §TIMETimechainProtocol · 2 §PoWProof of workProtocol · 4 §HASHMiningNetwork · 3 §NODEFull nodeNetwork · 4 §2016Difficulty adjustmentProtocol · 4 §TXTransactionProtocol · 4 §UTXOUTXOProtocol · 3 §MEMMempoolNetwork · 3 §BLKBlockProtocol · 3 §HDRBlock headerProtocol · 3 §HASHCryptographic hashProtocol · 8 §SHA²SHA-256Protocol · 12 §MRKLMerkle treeProtocol · 3 §ADDRBitcoin addressProtocol · 16 §CONFConfirmationNetwork · 14 §CBTXCoinbase transactionProtocol · 12 §SCRIPTBitcoin ScriptProtocol · 4 §FORK↓Soft forkProtocol · 17 §FORK↑Hard forkProtocol · 2 §BIPBitcoin Improvement ProposalProtocol · 5 §RULESConsensus rulesProtocol · 4 §REORGChain reorganizationNetwork · 3 §STALEStale blockNetwork · 3 §ASICASIC minerNetwork · 3 §POOLMining poolNetwork · 3 §H/sHashrateNetwork · 3 §NONCENonceProtocol · 2 §TIMETimelockProtocol · 3 §COREBitcoin CoreProtocol · 8 §TESTTestnetProtocol · 8 §BGPByzantine Generals ProblemProtocol · 8 §NCNakamoto consensusProtocol · 2 §PROPBlock propagationNetwork · 3 §CMPCTCompact block relayNetwork · 2 §IBDInitial block downloadNetwork · 3 §PRUNEPruned nodeNetwork · 3 §SIGNETSignetNetwork · 2 §vBVirtual byte (vbyte)Protocol · 3 §WUBlock weightProtocol · 5 §WITWitness dataProtocol · 5 §OPBitcoin Script opcodeProtocol · 3 §CLTVCHECKLOCKTIMEVERIFYProtocol · 2 §CSVCHECKSEQUENCEVERIFYProtocol · 3 §PKGPackage RelayNetwork · 4 §COVBitcoin covenantsProtocol · 3 §CTVOP_CHECKTEMPLATEVERIFYProtocol · 2 §NOSTRNostrNetwork · 7 §SOLOSolo MiningNetwork · 7 §PPSPay Per ShareNetwork · 5 §PPLNSPay Per Last N SharesNetwork · 4 §AUXPOWMerged MiningNetwork · 5 §FINALProbabilistic settlement finalityNetwork · 2 §BIP110BIP 110 — Reduced Data Temporary SoftforkProtocol · 5 §OP_RETOP_RETURN and null-data outputsProtocol · 4 §
691Search all Atlas entries