Section VI: Bitcoin Framework
April 9, 2026
Why it matters: nodes are the distributed record—without them, there is no independent verification or decentralized consensus.
Goal: ensure that every honest node can find and maintain diverse peers for transaction relay, block propagation, and consensus updates.
addr and addrv2 messages advertise known peers, allowing the network to expand organically without a central directory.version, verack, inv, getdata, tx, and block.inv (inventory) message.getdata message requesting the full data.tx message.inv → getdata → block.scriptPubKey (locking script): defines the spending conditions for a UTXO—what must be provided to unlock it.scriptSig (unlocking script): provides the data (e.g., signature, public key) needed to satisfy those conditions.TRUE, the spend is valid.OP_CHECKSIG — verifies a single digital signature.OP_CHECKMULTISIG — validates multiple signatures against a set of public keys.OP_HASH160 — applies SHA-256 followed by RIPEMD-160 (used in P2PKH).OP_SHA256 — computes a standard SHA-256 hash.OP_CHECKLOCKTIMEVERIFY — prevents spending until a specified block height or timestamp.OP_CHECKSEQUENCEVERIFY — enforces relative time locks between transactions.OP_IF, OP_ELSE, OP_ENDIF — conditional logic to enable script branches.OP_DUP), and compare values on the stack.Overview: the most common and foundational Bitcoin script type—used in standard single-signature payments.
Locking script (scriptPubKey):
OP_DUP OP_HASH160 <pubKeyHash> OP_EQUALVERIFY OP_CHECKSIGUnlocking script (scriptSig):
<signature> <pubKey>Meaning:
<pubKeyHash>.Execution flow:
TRUE, the spend is valid.
Bitcoin Nodes and Network — Army Cyber Institute — April 9, 2026