3 Prerequisites: Docker and Cryptography
This chapter covers:
- Fundamental cryptography concepts: symmetric keys, asymmetric keys and hashes
- Utilizing OpenSSL to understand cryptography concepts
- Using Docker and Docker Compose to deploy simple applications
— Abraham Lincoln
Congratulations! You are now a theoretical expert in Distributed Ledgers. Or maybe an expert in the theory of DLTs? Either way, now that we got the history and the “why” out of the way it is time to get to the “what.” It’s time to start coding.
In this chapter we will introduce the prerequisites needed to work with blockchains so that we are well prepared to tackle our first blockchain in the next chapter. We will familiarize ourselves with both the theory and the usage of some cryptographic primitives; and say hello to a new piece of technology called Docker. If you already have experience with both, feel free to skip this chapter, we’ll see you in the next one!
From now on we will try to have a similar pattern for all chapters: we start off with the why's and the how's and the who cares’ for the exercises that will follow. As you go through them, it will be time to get your hands dirty. You will need a computer (Mac, Windows Pro/Enterprise, any Linux distro - we won’t shame you for choosing Ubuntu!), a working Internet connection, and sufficient disk space (about 10 GBs should suffice). Alright then, time to explore!