03.12.2022, 22:02
Base58'S Bitcoin Protocol Deep Dive: Transactions
Published 8/2022
MP4 | Video: h264, 1280x720 | Audio: AAC, 44.1 KHz
Language: English | Size: 5.89 GB | Duration: 11h 18m
Start your bitcoin dev journey with bitcoin transactions, scripts, and SegWit
What you'll learn
Basic intro to encodings, endianness, and bitcoin's specific base58 encoding
Learn the components of a bitcoin transaction
How to parse a bitcoin transaction from bytes
Intro to bitcoin Script, including writing your own bitcoin locking scripts
How to write standard bitcoin locking scripts (P2SH)
How SegWit changed the basic bitcoin transaction
The standard SegWit locking script: P2WSH
How to make legacy compatible SegWit scripts: P2SH-P2WSH
Requirements
This course is open to everyone, but it is in-depth bitcoin transaction protocol content.
Developers that have experience with byte-formats, encodings, and bitcoin will likely find it more approachable
Description
So you've heard about bitcoin? Ever wondered what's going on with the data in a transaction, or how bitcoin gets locked up and transferred from one holder to another?This course by Base58 instructor niftynei, will take you on a deep dive of the fields, bytes, and scripts that make up the bitcoin blockchain data. In an software engineer focused manner, we'll go over everything you need to know to build your own bitcoin transaction parser, write your very own custom bitcoin locking scripts, and adapt your transactions to the modern SegWit format.Step 1: Intro to bitcoin transactionsWe'll start off learning about what a bitcoin transaction is. Specifically, what fields do they contain? We learn how to calculate a transaction id and what transaction fees are, and how are they calculated. Finally, we'll talk about coinbases and block rewards.Topics: transaction fields, endianness, transaction ids, fees + transaction weights, coinbasesStep 2: Enter ScriptIn week two we start talking about Bitcoin's native "programming language": Script! We'll write our own script this week (and learn about hashes and preimages). Once we've written a script we'll try locking some bitcoins up to it, as well as unlocking them.Topics: Script, standard scripts, P2SH, opcodesStep 3: Transacting with SegWitNow that we've seen how transactions are constructed and built, we'll introduce the bitcoin omnibus update bill, the SegWit soft-fork. SegWit impacted the structure of a transaction and its fee calculations, so we'll dive into how these updates work and two of the 'new' SegWit script types: P2WSH and P2SH-P2WSH.Topics: SegWit! P2WSH, P2SH-P2WSH
Overview
Section 1: Introduction
Lecture 1 Welcome to Base58's Intro to Bitcoin Transactions!!
Lecture 2 Prerequisites and Additional Resources
Lecture 3 OPTIONAL: Encodings - A Primer
Lecture 4 OPTIONAL: Endianness - A Primer
Section 2: Housekeeping
Lecture 5 Nifty's Bitcoin Coding Environment
Lecture 6 Different Bitcoin Networks and Address Types
Lecture 7 How to Use a Block Explorer
Section 3: Anatomy of a Bitcoin Transaction
Lecture 8 Transactions in the Bitcoin Protocol
Lecture 9 Summary Notes - Intro to Bitcoin Transactions - Part 1
Lecture 10 Parsing Our First Bitcoin Transaction
Lecture 11 Note on the Following Video
Lecture 12 Parsing a Segwit Bitcoin Transaction
Lecture 13 Why 1BTC = 1,0000,0000 Satoshis
Lecture 14 Types of Fields in Bitcoin Transactions
Lecture 15 Input and Output Amounts
Lecture 16 The UTXO Set (Unspent Transaction Outputs)
Lecture 17 TX Fees and Coinbase TXs
Lecture 18 Notes - Transaction Fees and Coinbase TXs
Lecture 19 Replit for Bitcoin Regtesting
Lecture 20 Block Rewards and Burning Bitcoin
Section 4: Formatting and Parsing Bitcoin Transactions
Lecture 21 Section 3 Recap and Next Steps
Lecture 22 Updated Skeleton for Parsing Bitcoin Transactions
Lecture 23 Creating a New Transaction by Hand
Lecture 24 Field Sizes and Memory
Lecture 25 Compact Field Sizes
Lecture 26 Compact Field Sizes - Notes and Python Code
Lecture 27 Hashing vs Cryptographic Hashes
Lecture 28 TXIDs and Cryptographic Hash Functions
Lecture 29 Cryptographic Hash Functions
Lecture 30 Duplicate TXIDs
Lecture 31 TXID Bitcoin Improvement Proposals
Lecture 32 The Empty Transaction and Calculating Fees
Section 5: Intro to Script: Locking and Unlocking Bitcoin
Lecture 33 Bitcoin TXs Recap and Next Steps
Lecture 34 The Yin and Yang of Bitcoin Script
Lecture 35 Writing Bitcoin Script (Data and Op_Codes)
Lecture 36 Summary Notes - Intro to Script
Lecture 37 Stack Evaluation of Bitcoin Script
Lecture 38 So How Does Script Keep Our Bitcoin Safe?
Lecture 39 Locking to a Custom Script
Lecture 40 Standard Scripts (Pay to Script Hash)
Lecture 41 Unlocking from the Pay to Script Hash
Section 6: Standard Bitcoin Scripts: Pay to Script Hash
Lecture 42 Pay to Script Hash Recap
Lecture 43 Interpreting a P2SH Script
Lecture 44 Takeaways and Tradeoffs with P2SH
Lecture 45 Legacy Bitcoin Addresses and Base58 Encodings
Lecture 46 When Do We Use P2SH Addresses?
Lecture 47 ScriptHash Security and P2SHs in the Wild
Lecture 48 REGTEST HW1: Pay to Script Hash
Lecture 49 SOLUTION VIDEO: Pay to Script Hash
Section 7: Enter Segwit
Lecture 50 Segregated Witness Overview
Lecture 51 Segwit Differences - TXIDs and vBytes
Lecture 52 Block Weight vs Block Size
Lecture 53 TX Malleability or Why Lightning Required Segwit
Lecture 54 Coverting our P2SH to a Segwit TX - Pay to WITNESS Script Hash
Lecture 55 Segwit Marker and Flag
Lecture 56 Updated Parsed Bitcoin Transaction Skeleton
Lecture 57 REGTEST EXERCISE: Pay to Witness Script Hash
Lecture 58 SOLUTION VIDEO: Pay to Witness Script Hash
Section 8: Script Hashes and Segwit
Lecture 59 Segwit Recap
Lecture 60 Making a new P2WSH Script
Lecture 61 Bech32 Addresses (bc1q, Segwit v0)
Lecture 62 Finishing the New P2WSH Transaction
Lecture 63 Backwards Compatible Segwit aka Nested Segwit
Lecture 64 Unlocking From our Nested Segwit Address
Lecture 65 Fun Facts about Segwit and Bech32
Lecture 66 REGTEST EXERCISE: Nested Segwit (P2SH-P2WSH)
Lecture 67 SOLUTION VIDEO: Nested Segwit
Section 9: Bitcoin Transactions Class Wrapup
Lecture 68 Recap of What We've Learned and Built
Lecture 69 Notes: Script Hash 3 Ways on Testnet: P2SH, P2WSH, Nested Segwit
Lecture 70 Next Steps on Your Path to Bitcoin Wizardry
Lecture 71 Thank You!
Developers who want to learn about blockchain protocols,Bitcoiners that want to really understand how transactions work,Beginning developers that are interested in protocol design,Cryptocurrency curious devs!,Protocol designers that want an in-depth course on bitcoin transaction design decisions,Cryptographers that want an engineer-focused understanding of bitcoin transactions
Homepage