Source-linked AI summary
SimBlock: A Blockchain Network Simulator
Yusuke Aoki, Kai Otsuki, Takeshi Kaneko, Ryohei Banno, Kazuyuki Shudo
TL;DR
Experiments on actual blockchains are costly because they require many geographically distributed nodes and hard-to-change conditions. The paper develops SimBlock, an event-driven simulator with configurable node behavior, and shows that it reproduces blockchain results accurately while depicting how neighbor selection and relay networks affect block propagation.
Problem
Actual blockchain experiments require many nodes and costly, difficult-to-change experimental conditions.
Method
SimBlock is an event-driven blockchain simulator that models block generation and message transmission while allowing node-selection behavior to be changed.
Results
SimBlock’s results were close to measured blockchain values, and experiments depicted effects of neighbor selection and relay networks on block propagation time.
Takeaways & Limitations
SimBlock can be used to investigate blockchain behavior and techniques affecting block propagation time without reproducing computationally intensive mining.
Abstract
from arXiv · showhide
Blockchain, which is a technology for distributedly managing ledger information over multiple nodes without a centralized system, has elicited increasing attention. Performing experiments on actual blockchains are difficult because a large number of nodes in wide areas are necessary. In this study, we developed a blockchain network simulator SimBlock for such experiments. Unlike the existing simulators, SimBlock can easily change behavior of node, so that it enables to investigate the influence of nodes' behavior on blockchains. We compared some simulation results with the measured values in actual blockchains to demonstrate the validity of this simulator. Furthermore, to show practical usage, we conducted two experiments which clarify the influence of neighbor node selection algorithms and relay networks on the block propagation time. The simulator could depict the effects of the two techniques on block propagation time. The simulator will be publicly available in a few months.
I. INTRODUCTION
Blockchain supports distributed ledger management without a centralized system and is being investigated across applications and research topics. SimBlock was developed to make blockchain experiments with many nodes and variable node behavior more feasible.
- Blockchain manages ledger information across multiple nodes without a centralized system.
- Blockchain research examines topics including approval time and scalability.
- Experiments on real blockchains require costly large-scale node deployments and difficult-to-change network conditions.
- SimBlock is an event-driven blockchain network simulator designed to support research on blockchain behavior.
- SimBlock can vary neighbor-node selection and block-generation probability without reproducing mining through intensive hash computation.
A. Transaction propagation and consensus
Blockchain transactions are collected into blocks, broadcast across the network, and linked by preceding hashes. Block-generation mechanisms such as Proof of Work help determine who creates blocks and make past data difficult to tamper with.
- Transactions are collected into blocks, whose broadcast approves and records them in the ledger.
- Each block includes the immediately preceding block’s hash, linking blocks into a chain.
- Changing past transactions requires rewriting all subsequent blocks.
- Proof of Work selects block-generating nodes according to computing power by searching for hashes below a threshold.
B. Network
Blockchain nodes form a peer-to-peer network that broadcasts transactions and blocks while maintaining neighbor connections. Block-propagation delays can create forks when a new block appears before earlier propagation finishes.
- Blockchain nodes form a peer-to-peer network where transactions and blocks are broadcast.
- Nodes periodically exchange information about available nodes and select new neighbors when needed.
- A node receiving an unknown block first requests it with GETDATA after receiving an INV message.
- The INV/GETDATA protocol avoids unnecessary transmission of large blocks.
- A fork occurs when a different block is generated before the entire network propagates the earlier block.
III. SIMULATOR
The simulator section describes SimBlock’s composition and evaluates its validity against an existing simulator. The evaluation is framed as a comparison with prior simulation results.
- SimBlock is presented as a composed blockchain simulator whose validity is evaluated experimentally.
- The evaluation compares SimBlock with an existing simulator.
- The section focuses on explaining the simulator and assessing its validity.
A. Design and features
SimBlock is an event-driven blockchain simulator whose parameters model blocks, nodes, network conditions, and mining. Its event and mining abstractions support large-scale simulation and make neighbor-selection algorithms easy to modify.
- Core architecture: SimBlock models message and mining events for each participating node in an event-driven simulation.Message arrival uses propagation delay, bandwidth, message size, and transmission time.
- Simulation parameters: Block size, target block generation interval, node count, neighbor count, node location, and block generation capacity are configurable parameters.Network parameters are determined by regions, while block generation capacity represents computing power in Proof of Work.
- Network model: Network transmission time combines message size and bandwidth, while reception occurs after transmission time plus propagation delay.Non-block messages are treated as sufficiently small and simulated with a size of 0 byte.
- Mining model: SimBlock avoids actual hash computation by sampling mining success times from block generation capacity and difficulty distributions.The approach supports many nodes and can represent consensus algorithms when their block-generation interval and capacity are specified.
- Extensibility: Changing the neighbor-node management function makes it possible to modify the neighbor-node selection algorithm.The function is invoked during message events and when a node successfully generates a block.
B. Evaluation
SimBlock was evaluated by reproducing conditions from an existing simulator and comparing its outputs with that simulator and measured blockchain data. Its results were generally close to both references, with a Bitcoin fork-rate discrepancy attributed to an unreproduced relay network.
- Evaluation setup: The evaluation reproduced the existing simulator’s conditions and compared SimBlock with Gervais et al.’s simulator and actual blockchain measurements.The experiment covered Bitcoin, Litecoin, and Dogecoin and evaluated fork occurrence and time for a block to reach half the network.
- Evaluation setup: Node placement, regional bandwidth, propagation delay, connection distributions, and block-generation capacity were configured from observed or specified distributions.Six regions were modeled, with propagation delay following a Pareto distribution and capacity using a normal distribution with standard deviation one-third of the average.
- Results: SimBlock’s results were close to measured values and Gervais et al.’s results, indicating good simulation accuracy under the reproduced conditions.The authors state that reviewing parameters can enable closer simulation of actual values.
- Results: Bitcoin’s fork-rate result showed a large error because the experiment did not reproduce Bitcoin’s relay network.The discrepancy is identified as an exception to the generally close results.
IV. APPLICATION EXAMPLE OF THE SIMULATOR
The simulator’s application examples modify neighbor-node selection and relay-network participation to study their effects on blockchain behavior.
- Application experiments: The application experiments varied the neighbor-node selection algorithm and the participation rate in a relay network.These modifications constitute the simulator’s practical usage examples.
A. Purpose
Low blockchain transaction throughput motivates reducing block propagation time. The paper presents neighbor-topology changes and a dedicated relay network as two methods to study this issue with simulation.
- Motivation: Bitcoin’s approximate throughput limit is seven transactions per second, compared with approximately 1700 for Visa and 290 for PayPal.The Bitcoin estimate uses an approximately 4000-transaction block limit and a 10 min block-generation interval.
- Motivation: Shortening propagation delay can allow a shorter block-generation interval and improve throughput.The paper uses block-propagation reduction as the motivation for its application experiments.
- Methods: Neighbor-node selection determines blockchain network topology because the network is peer-to-peer and lacks a central administrator.The first proposed method improves network-topology efficiency by changing neighbor selection.
- Methods: A separate block-propagation relay network can be evaluated by observing propagation time as node participation changes.The paper cites bloXroute and Falcon as examples of dedicated relay networks.
B. Algorithm of the neighbor node selection
The proposed neighbor node selection algorithm improves network-wide block propagation time, with gains appearing quickly after neighbor replacement. However, improvement stops after 100 generated blocks, and the speed and limit depend on the number of randomly selected adjacent nodes.
- Algorithm: The algorithm connects nodes to earlier INV senders and updates neighbors every 10 received blocks using average elapsed time.Each node records elapsed time from block creation to INV reception and uses these values to update connection priority.
- Experiment: The experiment compares fixed-neighbor Bitcoin-like nodes with nodes using the proposed selection algorithm.The horizontal axis shows generated blocks, while the vertical axis shows median block propagation time averaged every 100 blocks.
- Results: The proposed selection algorithm improves the entire network's block propagation time, with substantial improvement after only a small number of neighbor replacements.
- Results: No further propagation-time improvement is observed after 100 blocks are generated.
- Results: Changing the number of randomly selected adjacent nodes may alter both improvement speed and the propagation-time limit.The experiment sets this number to 1.
- Results: Nodes with smaller calculation power have larger propagation times than the network overall, apparently because high-power nodes move toward the network center.The authors identify the resulting network bias as a future security and individual-benefit research topic.
C. Relay network
The relay-network experiment evaluates faster block distribution by varying relay participation. Even 5% participation reduces all-node propagation time below 70% of the original, while participating nodes improve further as participation rises.
- Concept: A relay network distributes blocks outside ordinary blockchain propagation so participating nodes can send and receive them earlier.
- Experiment: The experiment varies the proportion of relay-network nodes and measures median propagation time for three node groups.Relay participants are assumed to use 10 times the usual bandwidth when transmitting to other participating nodes.
- Results: 5% relay participation reduces all-node propagation time to less than 70% of the original.
- Results: Propagation time among relay participants improves further, and the gap between participating and nonparticipating nodes widens as relay participation increases.
V. SUMMARY AND FUTURE WORK
The paper introduces SimBlock and reports that it can accurately simulate an actual blockchain and support research experiments. Future work extends its transmission protocols and adds transaction simulation before planned public release.
- Summary: SimBlock is a blockchain simulator intended to support blockchain research and experiments.
- Summary: The authors report that SimBlock can simulate an actual blockchain with good accuracy and demonstrate its research usefulness.
- Future work: Future work will add newer transmission protocols, such as compact block, because the current simulator supports only a simple block-transmission protocol.
- Future work: The authors also plan to simulate transactions, which were not included in the current work.
- Release: The simulator is planned for website release after input and output methods for experimental scenarios are established.