New open source blockchain simulator enables anyone to test and experiment with the behaviour of blockchain nodes, tech magazine IEEE Spectrum published on July 8.
The development of this new tool, called SimBlock, was spurred after Kazuyuki Shudo, an associate professor at the Tokyo Institute of Technology and his team failed to find a working simulator that would let them experiment with blockchain technology. Using a live blockchain is also out of the question, as Shudo explained to the magazine:
“It has been nearly impossible to test improvements on real-world blockchain networks, because that would mean having to update the software of all the thousands of nodes on a network.”
According to the publication, SimBlock allows its users to play around with the parameters of not only Bitcoin, but Litecoin and Dogecoin as well. The simulator can run on any personal computer that supports JAVA, and allows its users to change and investigate the behaviour of blockchain nodes. These changes can be made to all nodes, a group, or a single node, depending on the users’ needs. The blockchain simulator was also made to be easy to use, as Shudo explained:
“All the parameters of the nodes in SimBlock are written in Java. These source files are separated from the main SimBlock Java source code, so the user simply edits the nodes’ source code to change their behavior.”
SimBlock has also been made to mirror the blockchain’s network size, its block-generation interval, the communication speeds, and the bandwidth and latency between six different regions: North America, South America, Europe, Australia, Asia Pacific, and Japan. Users can also compare networks with different parameters by simply opening two windows and running two simulations at the same time, effectively allowing them to see and compare which network is better for block propagation and how the changes affect propagation in different regions.
Finally, the team has also created a visualisation tool which shows animated simulations of the running network on a world map, and the behaviour of the nodes, which are colour coded so the transactional changes can be seen. The team is also planing to add support for other cryptocurrencies such as Ethereum in the future, in addition to next generation communication protocols such as Compact Block Relay.