Episode notes
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
