Abstract
Blockchains are simple data structures, containing transactions organized into blocks, in which each block points to a previous block using its hash. Thus, by following the chain, we can follow the history of transactions. Blocks are added to the chain through a consensus mechanism. Byzantine Fault Tolerant (BFT) consensus protocols that were designed before blockchains were introduced are usually considered appropriate for use in small scale networks of size 10-20 replicas. Blockchains have changed this trend as the blockchain networks usually require a larger number of replicas and classic BFT protocols cannot provide acceptable performance in large networks. One of the main issues that causes performance degradation in blockchain networks is $n\times n$ message complexity. With a large network size $n$, we will have a quadratic number of messages and transmission and processing of such a large number of messages can cause a performance bottleneck. There have been proposals to improve the message complexity of these protocols, but the solutions do not guarantee consistent performance. As the number of failures in the network reaches a failure threshold, these protocols switch to $n\times n$ message complexity, causing performance delays. Moreover, when BFT protocols are used in the context of blockchains it is possible for a malicious primary node to prevent at most $n/3$ replicas from receiving blocks. To guarantee liveness during the view change process, these replicas need to be updated. A malicious primary will not update these replicas for long time to force consensus protocol stuck in view change. This is an attack vector that can be misused by a malicious primary to cause denial of service. In this research we have addressed each of the above mentioned problems by proposing novel BFT consensus protocols. Our first solution, the window based BFT protocol, reduces the $n \times n$ message complexity to $n \times f'$, where $f'$ is the actual number of Byzantine replicas in the network. This performance gain is achieved without scarifying the latency. Our second approach, the Proteus protocol, executes the expensive consensus protocol on a small subset ($c$) of the $n$ replicas. It guarantees consistent performance regardless of the number of failures encountered in the network with message complexity of $O(c \times n)$. Moreover, Proteus does not allow a malicious primary to perform denial of service attacks over large number of correct replicas, as all replicas receive messages (either through normal protocol execution or through history synchronization)
Talk to us
Join us for a 30 min session where you can share your feedback and ask us any queries you have
Disclaimer: All third-party content on this website/platform is and will remain the property of their respective owners and is provided on "as is" basis without any warranties, express or implied. Use of third-party content does not indicate any affiliation, sponsorship with or endorsement by them. Any references to third-party content is to identify the corresponding services and shall be considered fair use under The CopyrightLaw.