Introduction: The Blockchain Game
Updated for 2022
Blockchain technology can be a game-changer for accounting, supply chain, banking, contract law, and many other fields. But blockchains will only be useful if lots of people understand, trust, and adopt them. Enter “The Blockchain Game,” a hands-on exercise that explains the core principles of blockchains and serves as a launching pad for a discussion of blockchain’s real-world applications. Designed for non-technical audiences and can be used to spark a discussion in many different fields
Italian and German Translations Available
Thanks to some professors and trainers in Italy and German, the game files have been translated into German and Italian! Email me at firstname.lastname@example.org for the files.
Basics of the Game
- A hands-on exercise. Like MIT’s “Beer Game” which demonstrates some supply chain principles.
- Simulation centers around a blockchain for student grades (discussion at the end of the simulation about why this would not be a good application for blockchain).
- No computers. Participants are the computors and calculate blocks.
- As such, some aspects are left out of the simulation but may be brought up by participants or discussed at the end of the simulation.
- The game seeks to teach core concepts about a distributed ledger, but can be modified to take in whatever direction the educator wants (smart contracts, supply chain applications, etc.)
- Additional elements could be added if you want to play the game with a computer.
Blockchain concepts taught by the game
- Distributed Ledger
- No central authority to hold ledger or be attacked.
- All people (aka nodes) have a complete ledger.
- Transparent but anonymous Ledger
- The ledger can be public while concealing identity.
- Append-only Ledger
- Each entry (aka block) is linked to the previous entry via some math (aka hash).
- Some nodes (aka miners) are paid for performing calculations (aka proof of work).
- Immutable Ledger
- Attacks to the ledger are impractical due to the need for a majority of nodes (aka 51% attack) to agree to a change and the computational power required.
The exercise leader will want to download the following files:
- The Blockchain Game 2022 Slides. This is the slide deck that you will use to lead your audience through the exercise. Instructables no longer allows for the upload of keynote or Powerpoint. Email me at email@example.com if you want these. I also have a German translation that I can send.
- Student Handout. This is the main handout that you will want to provide to your participants.
- Student Keys for Face to Face (pdf) or Student Keys for Zoom (textfile). These are used to give out to the students who will have their grades stored on the blockchain.
- Blockchain Ledger (optional). This is an MS Excel file with a ledger that has already been calculated Instructables no longer allows for the upload of Excell or zip files. Email me at firstname.lastname@example.org if you want this file
- Blockchain Game Survey. (optional). Pre-exercise and post-exercise survey, the instructor can see how effective the simulation is for teaching the basic concepts.
If you are doing this exercise via a videoconferencing platform like zoom, you will want to distribute the Student Handout in advance so they can print out and have at the ready.
If you are doing this exercise face-to-face, you will want to print a Student Handout for each participant, and one copy of the Student Keys for Face to Face file.
Students will want to have something to write with!
The leader/teacher should have the slide-deck ready to use at the beginning of class.
Other suggested windows to have open and ready to view:
Step 1: Introduce and Setup the Game
Introduce the game (Slides 1-6). I start by mentioning that Blockchain is different than cryptocurrency. While most cryptocurrencies are built on a blockchain, that is not the only use for this technology. I point out that there are many blockchain applications beyond the world of cryptocurrencies and cite some examples in the introductory slides. I also mention that students will have to take me on my word that what I'm saying about Blockchain is true and that once we play the game for a little bit, they can verify if my statements about blockchains are correct.
Distribute student IDs (Slide 7). If this activity is conducted face to face, print a copy of the Student Keys for Face to Face document and distribute one key pair to seven of the participants (volunteers or at random). Be sure to emphasize that this is a crucial document, their blockchain wallet, and they should keep it private and safe: this is the only way that they will be able to prove ownership of blockchain assets. Later you will be able to illustrate the importance of private keys.
If you're doing this exercise on Zoom or some other videoconferencing technology, you will want to copy key pairs from the Student Keys for Zoom.txt file one by one and send them via private chat to seven students (volunteers or at random).
Step 2: Build the Grade Ledger
Building the blockchain (Slides 8-9). Present the information that is to be stored in the first block (slide 8) and have participants enter this information in the first block (row) of the student handout (Student Handout.pdf). Be sure to point out the other columns in the block: Nouce, a, b, c, and the value of the last two digits of the previous hash. Emphasize that an origin block is used to begin the ledger when a blockchain is created. For our grade blockchain, the origin block has a hash of 212. As such, the last two digits (12) are entered into the appropriate field in block 1. Why? For right now, the students have to take your word; let them know that you will revisit this information later.
Mining and Hashes (Slides 10-12). It is now time to introduce the concept of hashing (slide 10) and give them the formula for the grade hash (slide 11). Walk them through looking up the values of a, b, and c in the look-up table (80, 65, 70 for the first block). It is essential to explain that the nonce is a variable for which they will solve. It will be 1, 2, or 3. The determining factor is which value for a Nonce will create a hash that is equally divisible by three. Doing math in public is hard! And some students will get flustered, So you might want to remind students what "is equally divisible by three" means (nothing after the decimal point).
Let them know that hashes often have to meet specific criteria. In Bitcoin, it might be that the first 16 bits are all 0s. We are making it simple. Also, let them know that blockchains would have a much more complicated hash. And that hashes are considered one-way functions.
Time to mine (still slide 12). The students will need to calculate the hash and respond when they have figured out the nonce (1, 2, or 3) either verbally (face-to-face) or through the chat on zoom. They should just share the nonce.
Once a student has announced what they think the correct nonce is, remind the class that there is no central authority to verify if that answer is correct. Instead, the blockchain will have to reach a consensus, and our criteria for consensus is that 51% of the nodes (students) agree. Ask everyone to stop their current work and see if they can verify the announced answer. Take votes via a show of hands (face to face), or chat.
It is essential not to make fun of someone who has the wrong answer for the nonce (1 for the first two blocks, 3 for the blocks three and four, 2 for blocks five and six). If a wrong answer is announced, I will talk through the calculation again, saying something like, "OK so what Joe is saying is if he takes 3+80+65+70 and then subtracts 12 he gets a number that is equally divisible by three, meaning that there's nothing after the decimal point." That usually is enough to get the students on the right track and the student with the wrong answer will change their vote.
I try to keep the conversation light by making some jokes about how math is not an exact science and that doing math in public is hard!
Reward the Winning Miner! Once the blockchain has reached a consensus, you want to reward the student who came up with the correct answer first. For face-to-face classes, I often give out little trinkets, notepads, etc. If you are in a zoom class, you may have to "give" them a funny image in the chat or bow down to them or some other student mention. This moment is an excellent time to talk about mining Bitcoin!
This is how Mag. Marie Nitzlader, Academic Lecturer at the University of Applied Sciences - Austria has modified the reward system! Very cool!
What I included in the game was an award in the form of virtual “FHWN coins” (FHWN is the German acronym for our university), which I decided represent our university-specific digital coins. The reward was halved after every second block was mined. I started with awarding 50 FHWN coins to the first two winners, then 25 to the next two successful miners, then only 12.5 coins.
At the end of the game, I asked them, whether they think that these coins were worth anything? Well, I had received some goodies from Corporate Marketing, like USB sticks, pens, post-its, a bag and similar low-value merchandising articles, and the student with the highest amount of coins was allowed to select a gift first. Then came the student with the second-highest amount of coins and so on. In the end, I had small give-aways for ALL students attending the class!
Review (slide 13). Some students will still be lost, so review the solution with the class. Note that we will be taking the last two digits of the block 1 hash (204) and putting it into the block 2 calculation (in the value of the last two digits of the previous hash field).
Build out the blockchain! (slides 14-23). Repeat the process for the remaining blocks (you don't need to do all 6, but it gets much faster after the first couple of blocks. After a couple of blocks, you can start to have discussions about what is happening.
Step 3: Class Discussions and Wrap-up
Discussing the blockchain (slides 24-29). You don't have to wait until the end of the exercise to discuss what students are observing. I generally discuss one or two of these items every two blocks. However, a couple of items are best to discuss at the end. Here are the topics I like to mention. You might have more or others that you want to emphasize.
- Including the hash from a block in the calculation of the next block is what makes this a chain! There is a reason it is called a blockchain.
- The hash also makes the ledger append-only and immutable. I will bring up the excel file with the ledger. Column K is formated with the modulus formula so that it displays green if the hash is equally divisible by 3, red if not. I usually joke that I am easily corrupted, and if the student who received an F in the first block gave me $50, I would change it to an A. And then I do so in the ledger, and we see that it "breaks" the rule for our blockchain.
- I will then ask Student 7 (public key: e2dd8a) what grade they received. After they respond, I talk about how blockchains can be transparent and anonymous. This moment is an excellent time to bring up a blockchain explorer and look at transactions on the blockchain, pointing out the public keys.
- I talk about the problems with lost private keys. In a face-to-face class, I will ask Student 6 to hand over the paper with the public and private keys and then rip it up. You can take this in several directions. You have to say, "what if" Student 6 lost their keys on zoom.
Ending the exercise (slide 31-32). Review the main points of the exercise (slide 30), and then discuss why storing grades on a blockchain is probably not a great idea. I used a flowchart from NIST (see pdf), to explain why we store graded in encrypted databases instead of a blockchain. However, I point out that there might be some applications for storing educational data
Extra slides on Private keys (slides 34-35). Included in case you want to discuss pubic key encryption in more detail.
Step 4: Contact Me
I hope this helps! Let me know if you have any feedback or suggestions!
If my schedule allows, I would be happy to zoom into your class to help or run the game, or to meet one-on-one to answer any questions. Contact me through my website and we can set something up. I am also happy to do a train the trainer session (free for non-profits and educational institutions, nominal fee for for-profit organizations)
Enjoy this instructable?
Here are three more things you might like:
- The Free-Range Technologist: My monthly list of resources, useful apps, book reviews and must listen to podcast episodes. Subscribe here.
- YouTube channel: I post lots of technology talks and useful videos for teaching technology. Subscribe here.
- Keynote speaking: Hire me to speak to your organization or team about Thinking Critically About Artificial Intelligence or FUD and FOMO on the Blockchain. Contact me with your requests here.