-
Notifications
You must be signed in to change notification settings - Fork 370
Home
Zeno is an implementation of a consensus protocol that tries to handle the problem of byzantine failures in distributed systems in an elegant manner
This tutorial assumes an intermediate level knowledge of Python, basics of distributed systems, concurrency but not much else. The goal is to give you an overview of the consensus protocol technology that helps you overcome the existing concurrency problems in a distributed system. We recommend going through Getting Started
This is a collaborative document written by Evernym team. Have something to add? See a typo? Fork and issue a pull request on Github. Any and all contributions are welcome.
Many Byzantine fault tolerant replication protocols are proposed to solve the problem of byzantine faults and failures. "Practical Byzantine Fault Tolerance" (PBFT) algorithm is one such example. PBFT provides high-performance Byzantine state machine replication by processing thousands of requests per second with sub-millisecond latency. But the performance of these BFT protocols degrades marginally when a fault or a failure occurs.
For even the best ones Prime, performance degradation is at least 78%. We have implemented a new approach ABFT (Async Byzantine Fault Tolerant Protocol) to solve above issue. ABFT provides high throughput even in faulty systems, and ABFT protocols performance degradation is as low as 3% (Source: “RBFT: Redundant Byzantine Fault Tolerance”)
In ABFT, On the nodes, we execute multiple instances of the same BFT protocol. All the instances order the requests, but only the requests ordered by one of the instances, called the master instance, are actually executed. To see the Protocol in action, you can go through this tutorial.