Blockchain: distributed transactions that will radically change the world

The American mathematician and A.M. Turing Award winner Leslie Lamport is one of the founding fathers of distributed computing and distributed algorithms. Back in 1978, he defined distributed computing thus: “A distributed system consists of a collection of distinct processes which are spatially separated, and which communicate with each other by exchanging messages. A network of interconnected computers such as the ARPANET is a distributed system.” [1] In an age when there were no such things as the internet, the Internet of Things or advanced manufacturing, he worked on distributed algorithms that have helped make these developments possible. Without the trailblazing by this founding father of distributed computing, today’s blockchain technology hype would have been unthinkable.

Distributed computing

A key requirement in the development of distributed computing is that a system made up of distributed processes has to be able to keep functioning, even when one or several of its components have ceased to (reliably) contribute to the functioning of the system as a whole. When it comes to reliability, Lamport is unequivocal when he says that a distributed system can only function reliably by using time as a fundamental part of its reliability [2].

As a whole, the system can only function reliably on a permanent basis when the majority of separate components of the system maintain consensus with respect to the functioning of the system as a whole. It is therefore key for a distributed system that all components involved keep a ledger of how and with whom they have performed transactions by exchanging and sharing data and information. All components must have access to information about transactions logged in the distributed ledgers, which are intended to provide an overall view of all approved transactions. In Lamport’s age, generating consensus between the various components of a system was a new and complex issue. In 1982, he addressed this consensus problem in an article he co-wrote with Robert Shostak and Marshall Pease, coining it the Byzantine Generals’ Problem [3]. In their article, Lamport, Shostak and Pease develop an algorithm that lays the foundation for reliable consensus between systems that are separated in terms of time and space. The essential idea in the solution they come up with is that to establish consensus there have to be at least three plus one components and mutual exchange of qualified messages between them. In 1998, Lamport added a protocol to this consensus principle that regulates the voting that is needed to achieve consensus between the various components within a system. This latter protocol, which is also known as the Paxos algorithm [4], addresses things such as how to handle the voting between the various components, how to record the results of the voting between the components in central and decentralised ledgers, and how to guarantee the consistency of recorded information.

The rest of the blog can be found here.