Both in the design and deployment of blockchain solutions many performance-impacting configuration choices need to be made. We introduce BlockSim, a framework and software tool to build and simulate discrete-event dynamic systems models for blockchain systems. BlockSim is designed to support the analysis of a large variety of blockchains and blockchain deployments as well as a wide set of analysis questions. At the core of BlockSim is a Base Model, which contains the main model constructs common across various blockchain systems organized in three abstraction layers (network, consensus and incentives layer). The Base Model is usable for a wide variety of blockchain systems and can be extended easily to include system or deployment particulars. The BlockSim software tool provides a simulator that implements the Base Model in Python. This paper describes the Base Model, the simulator implementation, and the application of BlockSim to Bitcoin, Ethereum and other consensus algorithms. We validate BlockSim simulation results by comparison with performance results from actual systems and from other studies in the literature. We close the paper by a BlockSim simulation study of the impact of uncle blocks rewards on mining decentralization, for a variety of blockchain configurations.
翻译:在设计和部署链式解决办法时,都需要作出许多影响性能的配置选择。我们引入了BlockSim,这是一个框架和软件工具,用于为链式系统建立和模拟离散活动动态系统模型。BlockSim旨在支持分析各种块式链和块式链部署以及一系列广泛的分析问题。在BlockSim的核心是一个基础模型,它包含在三个抽象层(网络、共识和激励层)组织的不同块式系统共同的主要模型结构。该模型可用于各种块式系统,并可轻易扩展,以包括系统或部署细节。BlockSim软件工具提供了一个模拟器,用于在Python实施基地型模型。本文描述了基础模型、模拟器实施以及BlockSim对Bitcoin、Etheyum和其他共识算法的应用。我们通过比较实际系统和其他文献研究的性能结果来验证BlockSim模拟结果。我们用一个块式链式系统模拟文件关闭了纸质,用于对金库式矿业分权制对采矿业的影响进行配置。