chapter twelve

12 Crypto as in cryptocurrency?

 

This chapter covers:

  • What consensus algorithms are.
  • A tour of cryptocurrencies.
  • How the Bitcoin and Libra cryptocurrencies work in practice.

The word "crypto" has been used to refer to cryptography as far as I can remember. Recently, I have seen its meaning quickly changing and being used by many people to refer to cryptocurrencies. Many cryptocurrency enthusiasts, in turn, seem to get more and more interested to learn about cryptography. Which makes sense, as cryptography is at the core of cryptocurrencies.

What’s a cryptocurrency? It is two things:

  • It’s a digital currency. Simply: it allows people to transact some currency electronically. Sometimes a real currency is used (like the US dollar), sometimes a made up one is used (like Bitcoin). You already use digital currencies whenever you send money to someone on the internet. Indeed, you don’t need to send cash by mail anymore.
  • It’s a currency that relies heavily on cryptography to avoid having to use a trusted third-party. In a cryptocurrency there is no central authority that one has to trust. We often talk about this property as decentralization, as in "we are decentralizing trust". Thus, as you will see in this chapter, cryptocurrencies are designed to tolerate a certain number of malicious actors, and allow people to verify their well-functioning.

12.1 A gentle introduction to byzantine fault tolerant consensus algorithms

12.1.1 A problem of resilience - distributed protocols to the rescue

12.1.2 A problem of trust - decentralization helps

12.1.3 A problem of censorship - permissionless networks

12.2 How does Bitcoin work?

12.2.1 Accounts and transactions

12.2.2 Mining and Proof of Work and Forks

12.2.4 Forking hell!

12.2.5 Reducing a block’s size by using merkle trees

12.3 A tour of cryptocurrencies

12.4 How does Libra work?

12.4.1 LibraBFT: a byzantine fault tolerant consensus protocol

12.5 Summary