The IB Computer Science case study 2020 deals with digital currencies (cryptocurrencies) based on blockchain technology. Specifically, it examines the technology behind the fictional MONS cryptocurrency in Santa Monica. Pablo (the mayor of Santa Monica) and Dolores (a resident) have suggested a new local currency to improve the economy.
A local economy driven by blockchain is the case study for May and November 2020 only. The Computer Science case study for November 2019 is A New Computer Aided Dispatch System for Bangbai
The resources here provide a summary of current cryptocurrencies. They do not necessarily go into the level of detail required for the IB Computer Science case study, but they provide a good idea of the currencies that already exist. Local cryptocurrencies, similar to the fictitious MONS currency in the case study, are covered in a separate section further down the page.
What is Bitcoin and How Does it Work? is a high level overview of the Bitcoin cryptocurrency. It includes an explanation of how it differs from traditional currencies (this may seem obvious but there are many nuances).
The Best Cryptocurrency Exchanges explains what cryptocurrency exchanges are, and the relative benefits and drawbacks of some of the most popular. As an essential component of cryptocurrencies, it is critical that students understand the role of these exchanges.
Bitcoin is by far the most well known cryptocurrency. The Bitcoin website would be an obvious place to start, with a clear video explaining what the currency is.
What Are the Most Popular Cryptocurrencies? is a regularly updated page with information about currently popular cryptocurrencies and their prices. It includes histories of the currencies and some of their relative benefits. The 10 Most Important Cryptocurrencies Other Than Bitcoin does exactly what it says on the tin, and is useful background reading.
Cryptocurency is based on a number of technologies which IB Computer Science students may find beneficial to understand in isolation before moving on to cryptocurrency. These technologies are covered below:
A hash function takes arbitrary sized input data (e.g. a file), and maps it to a fixed-size value (e.g. a 4 byte value). The output (the hash) can be thought of as a "summary" of the input data. Hash functions are one-way - it is not possible to reconstruct the input data from the output data.
As an extremely simple example, imagine a hash function which took names as input and mapped them to numbers based on the first letter of the name. A would get mapped to 1, B to 2, up to Z being mapped to 26. There is an infinite number of possible names, but there is a finite set of outputs - 26. In the image below, there is a collision between John Smith and Jane Snow because they both map to 10 (J being the 10th letter of the alphabet). Note also that we cannot get back to the original data from the hash value: 2 might lead us to Brian Harris, but it could also lead to Bobby Smith, Betty Granger, and any other name starting with B.
Because there are (infinitely) many input values and a fixed range of output values, sometimes hash collisions occur: i.e. more than one input value maps to the same hash (output). It would be useful for students to understand the difference between a hash function and a cryptographic hash function (see below).
A cryptographic hash is a hash function (see above) with some additional requirements for security. These requirements include making it difficult to find collisions, and making the output appear random. Cryptographic and Non-Cryptographic Hash Functions is a good explanation of the difference between the two.
This section explains how cryptocurrencies work, and how they combat key potential problems such as double-spending.
The Computer Science Case Study booklet includes a list of key terms related to cryptocurrencies. Although the explanations above use these terms frequently, they do not necessarily explain them in depth. Below is a glossary of these essential terms.
The case study booklet specifically says "Discussion of the economic arguments for or against local currencies and cryptocurrencies is beyond the scope of this case study.". However, it is reasonable to think that students should have an understanding of the basic potential benefits of local cryptocurrency and the potential concerns (whether valid or not) that citizens of Santa Monica may have.