Get in the NODE #2: Consensus without trust — what kind of world is this??

Yvonne Fung
Human Ventures
Published in
6 min readMar 22, 2018

Hey hey! Welcome to the second installation of Get in the NODE, a biweekly blog that we at Human Ventures are excited to bring to all who are interested in learning more about cryptocurrencies and blockchain technology. Today, I’d like to cover a topic that is critical for the ability of public blockchains to maintain immutability and scale — consensus protocols.

Imagine this — I’m selling something on eBay and a buyer offers to buy my product and pay for it via a social payment platform. Upon receiving notice of his payment, I submit a request to transfer the funds to my bank account and head to the post office to ship my product. Days go by and I suddenly notice that the funds were never transferred. I contact the payment platform and it turns out the buyer reversed the payment without me knowing, leaving me with no item and no payment. Adding salt to the wound is the fact that the payment platform never bothered to send me notification of this reversal.

Though the above scenario is hypothetical, it is rooted in the fact that many of our transactions are reliant on a central authority, whether it be a payment platform or other, to behave honestly and transparently about all that is occurring within a transaction. Unfortunately, as illustrated in the above, central authorities aren’t infallible and, in some instances, can be argued to act as agents in the unexpected loss of peoples’ funds.

So if trust in a central authority can be faulty, what can be done to ensure that we are engaging in secure transactions? A great alternative can be found in blockchain technology, in which no central authority exists and no one party, or node, trusts the other nodes. The challenge, of course, is in understanding how all nodes can achieve consensus in a world of distrust. Before we delve deeper, let’s first take a look at the Byzantine Generals’ Problem.

The Byzantine Generals’ Problem

The Byzantine army, comprised of several divisions each of which is led by a general, has fully surrounded a city that it hopes to capture. The army is coming across fierce resistance from citizens of the city, so much that the generals must decide to attack all at once or to retreat all at once. Doing otherwise would result in utter and total defeat.

Since the generals are stationed away from each other, they must each communicate via messengers to determine whether to attack simultaneously or retreat simultaneously. Complicating matters is the fact that amongst the generals, some are traitors who want nothing more than to see the army fail and have no qualms about corrupting message exchanges to avoid consensus.

Therein lies the Byzantine Generals’ Problem — what can be done to limit the ability of bad actors to behave badly in a decentralized environment?

How Blockchain Comes into Play

Now let’s look at a public blockchain. Here, we can think of the nodes as generals in the network. The nodes must agree upon the true history of transactions, but there exists the potential of bad nodes coming in to corrupt transaction history. A public blockchain attempts to mitigate attempts by bad nodes and achieve consensus through a number of ways, one of which is highlighted below.

Proof of Work

Proof of work, the consensus algorithm first found in Bitcoin, posits the assumption that the very state of the public ledger is observable by everyone. Under this assumption, everyone has a copy of the blockchain, so no one has to trust in third parties, as anyone can directly validate historical transactions. In the scenario where there are conflicting transactions, the goal is for consensus to be achieved for the transaction which is “good” and not “bad.”

So how does that happen? Let’s go back to my experience with the buyer above. Instead of payment via fiat currency, let’s say my buyer wants to pay me via bitcoin. He publishes his intention to pay me using the transaction details, his bitcoin address (also known as his public key), and his private key. With this, a digital signature is produced which must be verified by the network.

Miners, which are nodes on the network, play the central role in transaction verification. They validate that Bob has the required amount of bitcoin to send me from his public key, which holds a record of all his previous transactions, and compete to publish the transaction onto a new block in the blockchain via a difficult cryptographic puzzle. The first miner to solve the puzzle announces the proof of work to the network, which will accept it only if all transactions in it are valid and not already spent. As a reward, a miner receives bitcoins for successfully confirming a new block of transactions and thereby securing the network.

Given the considerable computing power and time that goes into mining, the proof of work consensus mechanism serves as practical protection against malicious parties that want to manipulate the blockchain.

As for me, I receive my payment knowing that the buyer has been confirmed to have had all the necessary funds in his account. Because of the immutability of the blockchain, I can rest assured knowing that the buyer won’t be able to reverse his transaction.

Conclusion

The above is a highly simplified version of what a proof of work consensus mechanism looks like. In reality, miners are often racing to validate several transactions in a Bitcoin block. Given the computational power and time required for validation, common criticisms of this consensus mechanism include its inability to scale well and the fact that the mining process can be incredibly costly due to the need for expensive hardware and high energy consumption.

Other consensus protocols, such as proof of stake, proof of capacity, and proof of importance, have been developed since Satoshi Nakamoto first introduced proof of work to the blockchain. Like proof of work, they all aim to ensure that the next block is the only version of truth through the creation of mechanisms that deter bad nodes from derailing the system. However, the jury is still out, and time will tell which consensus protocols prove to be the most resilient, decentralized, and scalable.

Thanks for reading and I hope this helped you better understand how consensus protocols (proof of work at least) works on the blockchain!

Yvonne is a second-year MBA candidate at Columbia Business School, where she is President of the Venture Capital Club and an active member of the school’s entrepreneurial ecosystem. She enjoys learning and teaching others about emerging technologies — late last year, she created and led a design thinking workshop on AR and VR technology for NYC Media Lab. Yvonne has experience working on tech M&A transactions with Houlihan Lokey and flexing her problem-solving skills as a management consultant with Accenture.

In her personal life, she is an advocate for educational equity and serves as Vice Chair of the Junior Leadership Board at Sponsors for Educational Opportunity, a non-profit dedicated to providing educational and career opportunities to students from underserved and underrepresented communities.

--

--

Yvonne Fung
Human Ventures

Relentlessly curious, always inquiring. MBA @Columbia_Biz. @ellecapitan1.