• Course Introduction

        • Time: 18 hours
        • Free Certificate
        How does Bitcoin work? Why is Bitcoin called a "cryptocurrency"? What cryptography does it use? How is security maintained in a system with no central authority? This course will answer these and many more questions. In this course, you will learn the building blocks that make up the open, decentralized system that is Bitcoin.

        We'll start by diving into the cryptographic algorithms used in Bitcoin and walk through how these tools are used to keep the system secure and running. This course is designed for students with a technical background, including some coding experience. Many of the examples and exercises will require some familiarity with coding to follow along.

        When you finish this course, you'll be able to differentiate between public and private keys and understand how they are used in Bitcoin transactions, calculate the hash of a piece of data and explain why hashing is used in Bitcoin's Proof-of-Work consensus protocol, list the functions of a wallet, describe the utility of nodes on the network, and more. You'll have the foundations necessary for understanding, working with, and building on Bitcoin and other open cryptocurrency systems.

        • Course Syllabus

          First, read the course syllabus. Then, enroll in the course by clicking "Enroll me". Click Unit 1 to read its introduction and learning outcomes. You will then see the learning materials and instructions on how to use them.

        • Unit 1: Introduction to Bitcoin Technology

          In this first unit, you'll learn the basics of Bitcoin and open blockchain systems. We'll cover open, decentralized networks and how Bitcoin maintains a balance of power, what a Bitcoin actually is, the basics of network consensus, and more. Later units of the course will dive into more depth on much of what is covered here. This unit aims to provide you with a basic understanding of what Bitcoin is doing and how this open and decentralized system can function without centralized control. 

          After completing this unit, you will be able to explain the structure of the Bitcoin system and summarize how these components were put together to create the first open blockchain network.

          Completing this unit should take you approximately 2 hours.

        • Unit 2: Cryptographic Algorithms

          Often when someone hears the word "cryptography", they think only of encrypting or hiding data. However, the branch of math that is cryptography includes a wide variety of functions that serve many purposes besides just hiding or encrypting data. In fact, Bitcoin doesn't encrypt any of its blockchain data. What Bitcoin does do is hash and sign data.

          In this unit, we'll cover the basics of cryptography, including hashing and signing data, and explain the field's evolution from symmetric to asymmetric encryption. We'll then dig into public and private keys and how Bitcoin uses them in addresses and transactions.

          Completing this unit should take you approximately 2 hours.

        • Unit 3: Signatures and Transactions

          Cryptographic signatures are fundamental to preventing fraud in Bitcoin transactions. Without them, people on the network could spend Bitcoins that are not theirs.

          In this unit, you'll learn what cryptographic signatures are, what is needed to create and validate a signature, how to sign and validate data using public and private keys, and how Bitcoin transactions use signatures to prevent fraud on the network.

          Completing this unit should take you approximately 1 hour.

        • Unit 4: Hashing and Mining

          Hashing is ubiquitous in the Bitcoin system. It's used in addresses, transactions, the Proof-of-Work consensus algorithm, and the data structure of blocks. Understanding the utility of hashing is necessary for comprehending the Bitcoin system as a whole.

          Here, you'll learn what hashes are used for in Bitcoin and practice generating hashes. Then, we'll dive into the use of hashing in mining and learn to differentiate between the different uses of hashing in Bitcoin, from mining to Merkle trees.

          Completing this unit should take you approximately 2 hours.

        • Unit 5: Bitcoin Data

          Bitcoin uses a variety of encoding methods, including some unique methods, checksums, and other techniques. Understanding how Bitcoin stores and transmits data will help you to understand why these methods were chosen. From hexadecimal to base58, these various techniques help minimize data usage, ensure immutability, and prevent errors.

          In this unit, you'll learn the various encoding and data storage methods used in Bitcoin, the utility these methods provide, how to convert between encoding, and how these encoding methods improve security and efficiency.

          Completing this unit should take you approximately 3 hours.

        • Unit 6: Bitcoin Nodes and Wallets

          Nodes are computers that are connected to and participating in the Bitcoin network. They maintain a connection to other nodes, share data with the network, relay valid transactions, and maintain at least some blockchain data, among other functions. A Bitcoin wallet serves many functions, such as managing keys, providing a user interface, and creating and signing transactions. While node and wallet functionality often comes together in the same program, they are often discussed in different contexts.

          In this unit, we'll dive into what roles nodes and wallets play on the Bitcoin network. You'll learn who runs nodes and why, experience Bitcoin node and wallet functionality by setting up a regtest node, use a regtest node to perform basic functions, and learn to distinguish between the different functions of a Bitcoin wallet.

          Completing this unit should take you approximately 2 hours.

        • Unit 7: Transactions and Scripting

          In this unit, we'll have a close look at the structure of transactions, unspent transaction outputs or UTXOs, the transaction timeline, and more. Then we'll really dig into the process of locking, and unlocking (or validating) transactions via Bitcoin scripting. Finally, we'll test our knowledge out with a scripting exercise!

          Completing this unit should take you approximately 3 hours.

        • Unit 8: Reaching Consensus

          Bitcoin transactions are signed, broadcast to the network, determined to be valid or invalid by nodes, and via the mining process, join the blockchain. This system is very carefully crafted to prevent fraud on the network without a central authority. How does a decentralized system decide who's transactions are valid? What happens if the same Bitcoin is sent to different people at the same time? How does the network come to an agreement on conflicting data? How is this process updated or changed? These questions are answered in this unit as you'll learn more about the mining process and the details of how consensus is achieved and maintained. 

          Completing this unit should take you approximately 3 hours.

        • Study Guide

          This study guide will help you get ready for the final exam. It discusses the key topics in each unit, walks through the learning outcomes, and lists important vocabulary. It is not meant to replace the course materials!

        • Course Feedback Survey

          Please take a few minutes to give us feedback about this course. We appreciate your feedback, whether you completed the whole course or even just a few resources. Your feedback will help us make our courses better, and we use your feedback each time we make updates to our courses.

          If you come across any urgent problems, email contact@saylor.org.

        • Certificate Final Exam

          Take this exam if you want to earn a free Course Completion Certificate.

          To receive a free Course Completion Certificate, you will need to earn a grade of 70% or higher on this final exam. Your grade for the exam will be calculated as soon as you complete it. If you do not pass the exam on your first try, you can take it again as many times as you want, with a 7-day waiting period between each attempt.

          Once you pass this final exam, you will be awarded a free Course Completion Certificate.