Episode 28: Explaining Bitcoin Addresses
from Bitcoin, Explained — The Technical Side of Bitcoin
In this episode of The Van Wirdum Sjorsnado, hosts Aaron van Wirdum and Sjors Provoost discuss Bitcoin addresses. Every Bitcoin user has probably at one point used Bitcoin addresses, but what are they, exactly? Aaron and Sjors explain that Bitcoin addresses are not part of the Bitcoin protocol. Instead, they are conventions used by Bitcoin (wallet) software to communicate where coins must be spent to: either a public key (P2PK), a public key hash (P2PKH), a script hash (P2SH), a witness public key hash (P2WPKH), or a witness script hash (P2WSH). Addresses also include some meta data about the address type itself. Bitcoin addresses communicate these payment options using their own “numeric systems”, Aaron and Sjors explain. The first version of this was base58, which uses 58 different symbols to represent numbers. Newer address types, bech32 addresses, instead use base32 which uses 32 different symbols to represent numbers. Aaron and Sjors discuss some of the benefits of using Bitcoin addresses in general. and bech32 addresses in specific. In addition, Sjors explains that the first version of bech32 addresses included a (relatively harmless) bug, and how a newer standard for bech32 addresses has fixed this bug. Chapters 00:00:00 Bitcoin addresses, IP payments and public keys 00:04:49 Paying to a public-key hash 00:06:33 Base58 and numeral systems 00:11:58 Address conventions and version prefixes 00:14:01 Pay-to-script-hash addresses 00:16:14 Bech32 and native SegWit addresses 00:18:56 Decoding the parts of a Bech32 address 00:21:38 Checksums and locating typing errors 00:24:49 The Bech32 insertion bug and Bech32m 00:28:16 Future formats and Lightning invoices
Embed this episode
Chapters
- 0:00 Bitcoin addresses, IP payments and public keys
- 4:49 Paying to a public-key hash
- 6:33 Base58 and numeral systems
- 11:58 Address conventions and version prefixes
- 14:01 Pay-to-script-hash addresses
- 16:14 Bech32 and native SegWit addresses
- 18:56 Decoding the parts of a Bech32 address
- 21:38 Checksums and locating typing errors
- 24:49 The Bech32 insertion bug and Bech32m
- 28:16 Future formats and Lightning invoices
No transcript yet.