Bitcoin Cash Protocol
login

Bitcoin Cash Protocol

About

Style GuideContributorsTarget AudienceProject History

Basics

OverviewBlockchain BasicsProtocol Hashing AlgorithmsMemory Pool

Transactions

Bitcoin TransactionUnlocking ScriptLocking ScriptTransaction Signing

Blocks

Bitcoin Blocks
Block HeaderMerkle TreeTransaction Ordering

Script (Bitcoin transaction language)

ScriptOperation Codes (opcodes)

Transaction validation

Transaction Validation
Block-Level Validation RulesNetwork-Level Validation Rules

Proof of Work (PoW)

Proof of WorkDifficulty Adjustment AlgorithmMining — 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-16Bip-34Bip-37Bip-64Bip-65Bip-66Bip-68Bip-112Bip-113Bip-157Bip-158Bip-159BCH-UAHF (BUIP-55)HF-20171113HF-20180515HF-20181115HF-20190515HF-20191115

Network protocol

Network MessagesHandshake

Announcement messages

filteraddfilterclearfilterloadinv

Request messages

feefiltergetaddrgetblocksgetdatagetheadersping
sendheadersversion

Response messages

addrblockheadersnotfoundmerkleblockpong
rejecttxverack

Other messages (extensions)

sendcmpctget_xthinxthinblockthinblockget_xblocktxxblocktxxupdatexversionxverack

Simple Payment Verification (SPV)

SPV - Bloom Filters

Simple Ledger Protocol

SLP

Miscellaneous

Endian