Blockchain and distributed ledger technologies rely on distributed consensus algorithms. In recent years many consensus algorithms and protocols have been proposed; most of them are for permissioned blockchain networks. However, the performance of these algorithms is not well understood. This paper introduces an approach to evaluating consensus algorithms and blockchain platforms in a hostile network environment with the presence of byzantine and other network failures. The approach starts by using stochastic modeling to model the behaviors of consensus algorithms under different typical and faulty operational scenarios. Next, we implemented a blockchain application using different consensus protocols and tested their performance using chaos engineering techniques. To demonstrate our generic evaluation approach, we analyze the performance of four permissioned blockchain platforms and their consensus protocols. Our results showed that stochastic modeling is an inexpensive and efficient technique for analyzing consensus protocols. But they do not represent the actual performance of the consensus protocols in a production environment. Moreover, an experiment with chaos engineering indicates that if two different blockchain platforms use the same blockchain algorithm or protocol, we should not assume they will have similar performance. Therefore, It is also essential to consider the role of platform architecture and how the protocols are engineered in a given platform.
翻译:屏障链和分布式分类账技术依赖于分布式共识算法。 近些年来,许多共识算法和协议被提出来, 其中大部分是允许的链条网络。 然而, 这些算法的性能并没有得到很好的理解。 本文介绍了一种方法, 用来评估敌意网络环境中的协商一致算法和链条平台, 并有旁观和网络的其他故障。 这种方法首先使用随机模型来模拟不同典型和错误操作情景下协商一致算法的行为。 其次, 我们采用不同的共识算法和协议, 并用混乱工程技术测试它们的表现。 为了展示我们的通用评价方法, 我们分析四个允许的链条平台及其共识协议的性能。 我们的结果显示, 随机模型是分析共识协议的低成本和高效技术。 但是它们并不代表生产环境中共识协议的实际表现。 此外, 与混乱工程有关的实验表明, 如果两个不同的链条平台使用相同的块链算法或协议, 我们不应该假设它们具有相似的性能。 因此, 也有必要考虑平台结构的作用以及协议是如何在给定的平台上设计。