Bitcoin Cash Protocol
About
Style Guide — Contributors — Target Audience — Project History
Basics
Overview — Blockchain Basics — Protocol Hashing Algorithms — Memory Pool
Transactions
Bitcoin Transaction — Unlocking Script — Locking Script — Transaction Signing
Blocks
Bitcoin Blocks — Block Header — Merkle Tree — Transaction Ordering
Script (Bitcoin transaction language)
Script — Operation Codes (opcodes)
Transaction validation
Transaction Validation — Block-Level Validation Rules — Network-Level Validation Rules
Proof of Work (PoW)
Proof of Work — Difficulty Adjustment Algorithm — Mining — Stratum Protocol — Mining Pools
Addresses
Pay To Public Key (P2PK) — Pay To Public Key Hash (P2PKH) — Pay To Script Hash (P2SH) — Base58Check encoding (legacy) — Cashaddr Encoding
Cryptography
Secp256k1 — Public Key — Private Key — ECDSA Signatures — Schnorr Signatures — Multisignature (M-of-N multisig)
Network upgrades
Bip-16 — Bip-34 — Bip-37 — Bip-64 — Bip-65 — Bip-66 — Bip-68 — Bip-112 — Bip-113 — Bip-157 — Bip-158 — Bip-159 — BCH-UAHF (BUIP-55) — HF-20171113 — HF-20180515 — HF-20181115 — HF-20190515 — HF-20191115
Network protocol
Announcement messages
filteradd — filterclear — filterload — inv
Request messages
feefilter — getaddr — getblocks — getdata — getheaders — ping — sendheaders — version
Response messages
addr — block — headers — notfound — merkleblock — pong — reject — tx — verack
Other messages (extensions)
sendcmpct — get_xthin — xthinblock — thinblock — get_xblocktx — xblocktx — xupdate — xversion — xverack