Open-Source Tool Lets Anyone Experiment With Cryptocurrency Blockchains
SimBlock, a new blockchain simulator, lets users play around with the parameters of Bitcoin, Litecoin, and Dogecoin
Blockchain technology records information to a ledger shared between thousands of nodes. In the technology’s purest form, those nodes are not controlled by any central authority, and information cannot be changed once written to the ledger. Because of the security and autonomy this technology offers (in theory at least), blockchains now underpin many popular cryptocurrencies such as Bitcoin.
But as Kazuyuki Shudo, an associate professor at the Tokyo Institute of Technology, points out, “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.”
In researching blockchains, Shudo and his colleagues searched for a simulator that would help them experiment with and improve the technology. But existing simulators were too hard to use and lacked the features the team wanted. Moreover, these simulators had apparently been created for specific research and were abandoned soon after that work was completed, because many of the tools the group found were no longer being updated.
“The most recent simulator we looked at was developed in October 2016,” says Shudo. “And it was no longer being maintained.”
So, the group developed its own simulator. Dubbed SimBlock, it runs on any personal computer supporting Java and enables users to easily change the behavior of blockchain nodes. Consequently, investigating the effects of changed node-behavior has now become a straightforward matter, says Shudo.
“All the parameters of the nodes in SimBlock are written in Java,” he explains. “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.”
Changes may be applied to all nodes at once, or to an individual node or group of nodes.
SimBlock can simulate the parameters of Bitcoin, Litecoin, and Dogecoin. It mirrors a blockchain’s network size, block-generation interval, and Internet communication speeds, taking into account bandwidth and latency between six regions: North America, South America, Europe, Australia, Asia Pacific, and Japan. It also lets users modify simulated communication speed parameters as well as the parameters of the blockchain nodes.
To help users understand how a network behaves after different modifications, the group has created a visualization tool that shows communication between nodes, as well as the length of a blockchain. This is presented as an animated simulation of the network running on a world map. [READ MORE]