Blockchain Scalability and its Foundations in Distributed Systems
Learn how to make blockchain scale and improve its security and efficiency. Understand the vulnerabilities of mainstream blockchains and design consensus algorithms that tolerate attacks. Explore the fundamentals of blockchain and consensus, and solve the consensus problem in various scenarios. Discover how delays in the network can impact blockchain security and protect digital assets from hackers. Enhance your knowledge of blockchain technology and distributed computing in this comprehensive course.
Blockchain promises to disrupt industries once it will be efficient at large scale. In this course, you will learn how to make blockchain scale. You will learn about the foundational problem of distributed computing, consensus, that is key to create blocks securely. By illustrating limitations of mainstream blockchains, this course will indicate how to improve the technology in terms of security and efficiency.
In particular, this course will help you:
* understand security vulnerabilities of mainstream blockchains;
* design consensus algorithms that tolerate attacks, and;
* design scalable blockchain systems.
What you will learn
Consensus in blockchain
This week, we will start our exploration of the blockchain and its relation to distributed computing. In particular, we will learn the basics on blockchain abstraction and the importance of consensus between machines in order to mitigate the risks of having an attacker spend the same asset twice – an undesirable situation called ‘double-spending’.
Blockchain fundamentals
This week we will learn how classic blockchains try to solve consensus. We will look at the failures and delays blockchain systems must consider, and how these events may prevent machines from reaching consensus.
Consensus fundamentals
This week, we will investigate how to solve the consensus problem. To do this, we will first investigate how to solve consensus when failures cannot occur in the network. Later on, we will learn how to solve consensus when processes may fail, first through crash failures and then when processes can behave arbitrarily.
Making blockchains secure
This week, we will investigate how delays in the network can impact the security of the blockchain. We will illustrate this using network attacks that allow hackers to steal digital assets in the past and that every blockchain designer should be aware of.