Zhang and deVadoss co-author article on blockchain consensus for Microsoft Developer Network magazine
Erik Zhang, NEO co-founder, and John deVadoss, head of NGD Seattle, have co-authored an article on blockchain consensus mechanisms for the Microsoft Developer Network (MSDN) magazine. The article was published in the magazines October 2019 edition, and provides an introduction to blockchain technology, the role of consensus protocols, and the advantages offered by NEOs dBFT.
NEOs appearance in the MSDN magazine aligns with the projects efforts to attract traditional developers to the blockchain industry, with a particular focus on .NET developers. In other recent news, NEO became the first blockchain project to join the .NET Foundation, another example of the ongoing outreach efforts.
The article, titled Exploring Blockchain Consensus, begins with an introduction to blockchain as a growing list of records linked using cryptography, highlighting the immutability and transparency of the ledger. Delving further, blockchain platforms like Ethereum and NEO are explained as programmable blockchains, using smart contracts to support decentralized applications across a variety of markets and use cases.
Noting blockchains as a new type of distributed system, the article also notes the importance of fault tolerance in ensuring continued operation in chaotic environments, which are to be expected for decentralized networks. Continuing, deVadoss explains that fault tolerance is usually achieved through state machine replication, which use consensus mechanisms to ensure that nodes agree on any state transitions.
In laymans terms, state machine replication refers to running multiple copies of the same node/server. The more copies (replicas) that are created, the more can fail before the service is prevented from working.
Consensus mechanisms are required to ensure that each of the state machine replicas agree on what the next chain state (block) will be in a deterministic manner. To be considered a fault-tolerant, three key properties must be satisfied:
- Termination – non-faulty nodes should eventually make progress in moving to the next state (liveness)
- Integrity – if all/most non-faulty nodes propose a certain output value, all non-faulty nodes should determine the same output values
- All non-faulty nodes in the network should eventually agree with the outputs (safety).
Zhang and deVadoss note two main approaches to addressing the challenge, such as Bitcoins Nakamoto consensus, which facilitates agreements in a probabilistic manner. However, this approach never provides true finality for a given state, allowing for forks to reorganize the blockchain, potentially involving the reversal or exclusion of transactions.
This lack of finality is what led Erik Zhang and Da Hongfei, co-founders of NEO, to pursue alternate consensus approaches, based on the belief that finality was of key importance for financial applications.
Delegated Byzantine Fault Tolerance (dBFT)
Building on the work done by Castro and Listov in developing ...