This is the first part of a more technical talk where Andreas explores Bitcoin script, with examples from the 2nd edition of Mastering Bitcoin, focusing on the use of conditional statements, flow control, guard clauses and time locks. The examples will include advanced multi-signature scripts, hash time lock contracts and asymmetric revocable commitments. Then he answers questions about Bitcoin’s quirky bugs, where Bitcoin differs from Ethereum at a scripting level, how SegWit works, how consensus rules change, and whether Bitcoin is more than just a currency.
The fundamentals of Bitcoin script 2:17
Bitcoin’s operators 5:00
Creating transactions (P2PKH – Pay to Public Key Hash) 6:30
Public Key CheckSigs, security by obfuscating public keys 7:42
Redeeming the script 9:05
The RIPEMD160 hash operation 12:05
OP_EQUALVERIFY, OP_CHECKSIG, & the elliptic curve digital signature algorithm (ECDSA) 14:05
Summary 18:30
Illustrating scripts: Equal, EqualVerify, CheckSig, CheckVerify, CheckMultisig, CheckLockTimeVerify 19:45
Guard clauses 23:02
Script-based timelocks 24:53
Flow control statements, interactive artificial intelligence 26:50
If, Else, EndIf 28:35
Unlocking scripts, what conditional flows do in Bitcoin 33:55
1-of-2 multi-signature script 35:44
1-of-2 multi-signature script with guard clause 38:28
2-of-3 multi-signature script 41:30
2-of-3 multi-signature script with timelock guard clause 43:20
BIP-113, how time is referenced in Bitcoin 44:42
Backup clause & other nuances in multi-signature schemes 46:58
Game theory, complexity from simplicity 52:36
2-of-3 multi-signature script, unlocking 53:45