- [02m] 🏆 Objectives
- [03m] 🤔 Why Learn Blockchain?
- [20m] 📚 Warm Up: Blockchain's Secret 1,000 Year History
- [15m] 📖 Overview: What is a Blockchain?
- [15m] 👥 Breakouts: Blockchain Vocabulary
- [15m] ⭐️ Demo: MVP Blockchain in Python
- [15m] 🌴 BREAK
- [60m] 💻 Activity: Build a Blockchain in Python
- [30m] 💻 Review: Build a Blockchain in Python
- 🌃 After Class
- 📚 Resources & Credits
- Define the terms blockchain and ledger.
- Understand the structure and properties of the blockchain and the blocks within it.
- Build a small blockchain library in Python.
Blockchain is a powerful technology with applications in fields such as cryptocurrency, healthcare, insurance, government, music, identification, supply chain, data management, and many more. By understanding the fundamental mechanisms that power blockchain, you can join the conversation and discover use cases for blockchain in your own life and work. - Codecademy
Read Blockchain's Secret 1,000 Year History, then write down the answers to the following questions.
- Is the Yap currency centralized or decentralized?
- Through which medium was the ledger distributed?
Finish early? Learn more about the Yap here (~8 min read): How the Island of Stone Money Can Teach Us About Blockchain.
A blockchain is a distributed software network that functions as:
- A digital ledger that exists over a peer-to-peer network.
- A mechanism enabling the secure transfer of assets without an intermediary.
- A permanent forensic record of transactions and a single version of the truth. Digital signatures and cryptography are used to prove identity, authenticity, and enforce rights to read and write to the chain. Ensures it's hard to change historical records, or at least make it easy to detect when someone is attempting to.
- Facilitates the exchange of value or financial transaction represented in digital units.
Define the following terms in your breakout groups.
Use Blockchain for Beginners as a guide.
- Transaction
- Block
- Mining
- Consensus
We will discuss these terms together after the breakout.
Instructor will demonstrate and walk through the code in the blockchain-walkthrough repo.
- Complete the Blockchain in Python tutorial with your breakout group.
- Add all the code you wrote to a Git repository, then push it to GitHub.
- Upload your completed tutorial code to Gradescope.
Instructor will ask students demonstrate code for the following, providing answers to questions along the way:
- Structure of a block
- Important functions
- Next class period, you'll have a quiz on protocols. The study guide will be updated by Friday.
- Be sure to turn in today's assignment on Gradescope by 11:59pm on Day 4.
- Presentations graded on [Gradescope]. Nice work folks!
- Did you miss the last class? Request a make-up assignment from the instructor.