Base58

Bitcoin Transactions Intensive

Price: $2235

Base58’s flagship Bitcoin Transactions class gives you an in-depth intro to the bitcoin protocol and will get you comfortable with the bitcoin-cli and command line interfaces. No prior experience required, but some understanding of bytes and encodings will be extremely helpful.

Class Pre-Requisites

In-person classes:

4 days of bitcoin transaction learning! We do 3 hours of instruction in the morning; afternoons are for homework and hacking.

Online classes:

Take the full transactions class self-paced online! We offer two 3-week courses on Udemy which cover the entirety of our transactions curriculum.

  1. Intro to bitcoin transactions

    What is a transaction? 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, coinbases

  2. Intro to script

    Let's learn 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, opcodes

  3. Enter SegWit

    Now that we've seen how transactions are constructed and built, time to 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

  4. Public/Private keys; intro to elliptic curves

    We're halfway through class, it's about time we introduced cryptography. Time to start building an understanding of elliptic curves over a finite field and looking at bitcoin's secp256k1 curve parameters. Then we'll pick a private key and derive a public key. Finally we'll make our first signed transactions.

    Topics: elliptic curves, secp256k1, public/private key cryptography, P2PK, P2PKH

  5. Signing transactions

    Signing transactions is actually a bit complicated. We'll talk about the ECDSA and walk through how a private key produces signatures for a transaction. We'll cover sighashes and discuss the TX_HASH proposal.

    Topics: ECDSA, SegWit, sighashes, TX_HASH

  6. Multisig + Getting your transaction mined

    This is the last topic of the course class. We'll cover multisig transactions and the OP_CHECKMULTISIG opcode. Our final class we'll cover some topics on how to get your transaction mined: RBF + CPFP.

    Topics: multisig, OP_CHECKMULTISIG, RBF, CPFP