2019-12-19 00:26:55 -05:00
# Bitcoin Cash Protocol
2020-02-25 15:15:21 -05:00
### About
2020-02-06 15:08:56 +01:00
[Style Guide ](/style-guide ) — [Contributors ](/contributors ) — [Target Audience ](/target-audience ) — [Project History ](/project-history )
### Basics
2020-09-23 16:58:50 -04:00
[Blockchain Basics ](/protocol/blockchain ) — [Protocol Hashing Algorithms ](/protocol/blockchain/hash ) — Memory Pool
2020-02-06 15:08:56 +01:00
### Transactions
[Bitcoin Transaction ](/protocol/blockchain/transaction ) — [Unlocking Script ](/protocol/blockchain/transaction/unlocking-script )— [Locking Script ](/protocol/blockchain/transaction/locking-script )
### Blocks
2020-09-23 16:58:50 -04:00
[Bitcoin Blocks ](/protocol/blockchain/block ) —
[Block Header ](/protocol/blockchain/block/block-header ) — [Merkle Tree ](/protocol/blockchain/block/merkle-tree ) — [Transaction Ordering ](/protocol/blockchain/block/transaction-ordering )
2020-02-06 15:08:56 +01:00
### Script (Bitcoin transaction language)
2020-09-23 16:58:50 -04:00
[Script ](/protocol/blockchain/script ) — [Operation Codes (opcodes) ](/protocol/blockchain/script#operation-codes-opcodes )
2020-02-06 15:08:56 +01:00
### Transaction validation
[Transaction Validation ](/protocol/blockchain/transaction-validation ) —
[Block-Level Validation Rules ](/protocol/blockchain/transaction-validation/block-level-validation-rules ) — [Network-Level Validation Rules ](/protocol/blockchain/transaction-validation/network-level-validation-rules )
### Proof of Work (PoW)
[Proof of Work ](/protocol/blockchain/proof-of-work ) — [Difficulty Adjustment Algorithm ](/protocol/blockchain/proof-of-work/difficulty-adjustment-algorithm ) — [Mining ](/protocol/blockchain/proof-of-work/mining ) — Stratum Protocol — Mining Pools
### Addresses
2020-09-23 16:58:50 -04:00
Pay To Public Key (P2PK) — Pay To Public Key Hash (P2PKH) — Pay To Script Hash (P2SH) — [Base58Check encoding (legacy) ](/protocol/blockchain/encoding/base58check ) — [Cashaddr Encoding ](/protocol/blockchain/encoding/cashaddr )
2020-02-06 15:08:56 +01:00
### Cryptography
2020-09-23 16:58:50 -04:00
Secp256k1 — Public Key — Private Key — ECDSA Signatures — Schnorr Signatures — [Multisignature (M-of-N multisig) ](/protocol/blockchain/cryptography/multisignature.md )
2020-02-06 15:08:56 +01:00
### Network upgrades
[Bip-16 ](/protocol/forks/bip-0016 ) — [Bip-34 ](/protocol/forks/bip-0034 ) — [Bip-37 ](/protocol/forks/bip-0037 ) — [Bip-64 ](/protocol/forks/bip-0064 ) — [Bip-65 ](/protocol/forks/bip-0065 ) — [Bip-66 ](/protocol/forks/bip-0066 ) — [Bip-68 ](/protocol/forks/bip-0068 ) — [Bip-112 ](/protocol/forks/bip-0112 ) — [Bip-113 ](/protocol/forks/bip-0113 ) — [Bip-157 ](/protocol/forks/bip-0157 ) — [Bip-158 ](/protocol/forks/bip-0158 ) — [Bip-159 ](/protocol/forks/bip-0159 ) — BCH-UAHF (BUIP-55) — [HF-20171113 ](/protocol/forks/hf-20171113 ) — HF-20180515 — HF-20181115 — HF-20190515 — HF-20191115
### Network protocol
[Network Messages ](/protocol/network/messages ) — [Handshake ](/protocol/network/node-handshake )
2020-02-25 15:15:21 -05:00
#### Announcement messages
2020-02-06 15:08:56 +01:00
2020-03-02 00:32:11 -05:00
[filteradd ](/protocol/network/messages/filteradd ) — [filterclear ](/protocol/network/messages/filterclear ) — [filterload ](/protocol/network/messages/filterload ) — [inv ](/protocol/network/messages/inv )
2020-02-06 15:08:56 +01:00
2020-02-25 15:15:21 -05:00
#### Request messages
2020-02-06 15:08:56 +01:00
2020-09-23 16:58:50 -04:00
[feefilter ](/protocol/network/messages/feefilter ) — [getaddr ](/protocol/network/messages/getaddr ) — [getblocks ](/protocol/network/messages/getblocks ) — [getdata ](/protocol/network/messages/getdata ) — [getheaders ](/protocol/network/messages/getheaders ) — [ping ](/protocol/network/messages/ping ) —
[sendheaders ](/protocol/network/messages/sendheaders ) — [version ](/protocol/network/messages/version )
2020-02-06 15:08:56 +01:00
2020-02-25 15:15:21 -05:00
#### Response messages
2020-02-06 15:08:56 +01:00
2020-09-23 16:58:50 -04:00
[addr ](/protocol/network/messages/addr ) — [block ](/protocol/network/messages/block ) — [headers ](/protocol/network/messages/headers ) — [notfound ](/protocol/network/messages/notfound ) — [merkleblock ](/protocol/network/messages/merkleblock ) — [pong ](/protocol/network/messages/pong ) —
[reject ](/protocol/network/messages/reject ) — [tx ](/protocol/network/messages/tx ) — [verack ](/protocol/network/messages/verack )
2020-02-06 15:08:56 +01:00
2020-02-25 15:15:21 -05:00
#### Other messages (extensions)
2020-02-06 15:08:56 +01:00
2020-03-02 00:32:11 -05:00
sendcmpct — get_xthin — xthinblock — thinblock — get_xblocktx — xblocktx —[xverack ](/protocol/p2p/xverack ) — [xversion ](/protocol/p2p/xversion )
2020-02-06 15:08:56 +01:00
### Simple Payment Verification (SPV)
[Bloom Filters ](/objects/bloom__filter )
### Simple Ledger Protocol
### Miscellaneous
2020-02-06 22:52:40 +01:00
[Endian ](/protocol/misc/endian )