2020 10th Annual Computing and Communication Workshop and Conference (CCWC) · 2020 · 38 citations · 25 references
Cluster ComputingBlockchain Consensus ProtocolEngineeringDistributed AlgorithmsNetwork AnalysisCommon Consensus AlgorithmsDistributed LedgerConsensus AlgorithmsFormal VerificationSelf-stabilizationDecentralized SecurityDistributed Decision MakingData ScienceScalability TrilemmaByzantine FaultSystems EngineeringChoose-two TradeoffDecentralised SystemState-change-based ClassificationDistributed SystemsComputer ScienceNetwork ScienceGraph TheoryFormal MethodsBlockchainDistributed Transaction
Consensus algorithms in distributed systems have attracted much attention in recent studies. However, there is a need for a classification that leads to better understanding and helps direct the deployment of such algorithms. In this paper, we classify common consensus algorithms based on how they decide the order of system state changes. We then determine the extent to which each category prioritizes scalability, decentralization, and security. As with other engineering design scenarios, this is a choose-two tradeoff. Our key contribution is that, based on this taxonomy of tradeoffs, we are able to discern the types of consensus algorithms that work well within the application area(s) for a given distributed system. We find that a dichotomy of algorithms between leader-based and voting-based consensus algorithms emerges from this taxonomy. Applications of this classification scheme include several different categories of distributed ledgers such as blockchains and directed acyclic graphs (DAGs).
25
Bitcoin: A Peer-to-Peer Electronic Cash System
Dr Craig S Wright · SSRN Electronic Journal · 2008 · 14.3K citations · Full text
Leslie Lamport · ACM Transactions on Computer Systems · 1998 · 2.7K citations · Full text