Security-Aware GA Based Practical Byzantine Fault Tolerance for Permissioned Blockchain

Achieving good performance in terms of throughput and scalability, with high quality of security has always been a challenging problem in all sorts of scheduling. Permissioned blockchain allows multiple contracts of non-trusting peer organization to be deployed for working in consortium. It is the responsibility of the scheduler often called as an ordering service to form block of transactions to get committed through consensus. Practical Byzantine Fault Tolerance (PBFT) is one of the most popular consensus algorithm used in current implementations of blockchain. Most consensus algorithms including PBFT follow FIFO scheduling strategy to create the block of transactions. With block chain being supported for multi-contract environment, scheduling should consider difference in service requirements specifically security requirement for heterogeneous contracts. The current work proposes SAGA-PBFT (Security-Aware Genetic Algorithm based Practical Byzantine fault Tolerance) scheduler, which uses multi objective genetic algorithm for balancing the security requirement and security overhead at the time of block creations. The algorithm assigns the security level to each transaction as per its security requirement but in an unpredictable manner making security attack difficult. It further uses security aware PBFT for consensus. Experimental simulation proves that SAGA-PBFT when compared with PBFT, achieves better commit time and scalability with best possible security.

[1]  Xiao Qin,et al.  Security-Aware Resource Allocation for Real-Time Parallel Jobs on Homogeneous and Heterogeneous Clusters , 2008, IEEE Transactions on Parallel and Distributed Systems.

[2]  Xiao Qin,et al.  Performance evaluation of a new scheduling algorithm for distributed systems with security heterogeneity , 2007, J. Parallel Distributed Comput..

[3]  Miguel Oom Temudo de Castro,et al.  Practical Byzantine fault tolerance , 1999, OSDI '99.

[4]  Yuhao Wang,et al.  Study of Blockchains’s Consensus Mechanism Based on Credit , 2019, IEEE Access.

[5]  Xiao Qin,et al.  Dynamic task scheduling with security awareness in real-time systems , 2005, 19th IEEE International Parallel and Distributed Processing Symposium.

[7]  Qichao Zhang,et al.  Reputation-Based Byzantine Fault-Tolerance for Consortium Blockchain , 2018, 2018 IEEE 24th International Conference on Parallel and Distributed Systems (ICPADS).

[8]  J. Javier Gutiérrez,et al.  Optimized priority assignment for tasks and messages in distributed hard real-time systems , 1995, Proceedings of Third Workshop on Parallel and Distributed Real-Time Systems.

[9]  Deo Prakash Vidyarthi,et al.  Security‐aware scheduling model for computational grid , 2012, Concurr. Comput. Pract. Exp..

[10]  Michael Devetsikiotis,et al.  Blockchains and Smart Contracts for the Internet of Things , 2016, IEEE Access.

[11]  Kenli Li,et al.  A Novel Security-Driven Scheduling Algorithm for Precedence-Constrained Tasks in Heterogeneous Distributed Systems , 2011, IEEE Transactions on Computers.

[12]  Daniel Davis Wood,et al.  ETHEREUM: A SECURE DECENTRALISED GENERALISED TRANSACTION LEDGER , 2014 .

[13]  Ladislau Bölöni,et al.  A Comparison of Eleven Static Heuristics for Mapping a Class of Independent Tasks onto Heterogeneous Distributed Computing Systems , 2001, J. Parallel Distributed Comput..

[14]  John H. Holland,et al.  Adaptation in Natural and Artificial Systems: An Introductory Analysis with Applications to Biology, Control, and Artificial Intelligence , 1992 .

[15]  Satoshi Nakamoto Bitcoin : A Peer-to-Peer Electronic Cash System , 2009 .