Foundational Math, ECDSA and Transactions
Jimmy Song explains the basics of cryptography that serves as a foundation for Bitcoin transactions. This course provides in-depth coverage of Elliptic Curve Digital Signature Algorithm (ECDSA), how ECDSA functions and how it is used to provide signing and verification of Bitcoin transactions. After covering the basics, Jimmy dives into and explains Bitcoin transaction data structure, including Bitcoin scripting opcodes - how these transactions are formed and interpreted by Bitcoin nodes.
This session contains multiple sections at following timestamps:
- Finite Fields
- Elliptic Curves
- Elliptic Curves over Finite Fields
- Mathematical Group
- Bitcoin Addresses
- ECDSA
- Bitcoin Transactions
- Bitcoin Scripts
- Transaction Validation
- Pay to Script Hash
To complete tasks in this course, you will need to setup the appropriate python environment as follows:
Install python3, virtualenv, git
$ git clone http://github.com/bitcoinedge/devplusplus
$ cd devplusplus
$ virtualenv -p python3 .venv
$ . .venv/bin/activate
$ pip install -r requirements.txt
$ jupyter notebook
Your browser should open up a jupyter notebook