5 Single- and Multi-node Deployment

 

This chapter covers:

  • Differences in consensus mechanisms and how to select the appropriate one.
  • Why we need permissioned blockchains
  • When to create single- and multi-node networks
  • Learning how to deploy a smart contract on Ganache and Quorum

“No one can whistle a symphony. It takes a whole orchestra to play it.”

— H.E. Luccock

Let us refresh our memory and look again at the abstraction layers of a typical DLT system, shown in Figure 5.1. In the last chapter, we tackled the smart contract layer. In this chapter, we will look at the consensus layer. This will start giving you a better idea for how “real” blockchains operate.

Figure 5.1 Four broad abstraction layers of a typical DLT system

5.1   Various ways of achieving consensus

In blockchains, as in any team sport, the most difficult thing is to get everyone on the same page. A good team is one where all the members agree on a strategy and are up-to-date on the state of the game. This process of “getting everyone on the same page”  when applied to nodes is what we mean by the term consensus. (Sorry we have a penchant for tortured analogies). The algorithm by which we arrive at consensus is known as the consensus algorithm.

Note:

The consensus algorithm is one of, if not the most fundamental choice, in a blockchain system.

5.1.1   Byzantine Generals’ Problem

5.1.2   Understanding Byzantine Issues: Digital Signatures and Identity Management

5.1.3   Trade-off dimensions

5.1.4   Solutions: proof of limited resource

5.1.5   Solutions: PBFT and successors

5.1.6   Let’s talk about Nodes

5.2   Deploying a Network

5.2.1   Ganache: A single node blockchain “network”

5.2.2   Quorum: A true multi-node blockchain network

5.3   Summary