Tokyo Tech News
Tokyo Institute of Technology merged with Tokyo Medical and Dental University to form Institute of Science Tokyo (Science Tokyo) on October 1, 2024.
Over time, content on this site will be migrated to the Science Tokyo Web. Any information published on this site will be valid in relation to Science Tokyo.
Tokyo Tech News
Published: June 27, 2019
Kazuyuki Shudo, his colleaguesa and the Cybersecurity Research Center at Tokyo Tech developed a public blockchain simulator called "SimBlock" for use in testing blockchain performance and security. The software can run on a single PC. It is now publicly available as open source.
SimBlock allows a user to simulate a blockchain network consisting of a large number of nodes (servers), and modify behavior of the nodes to test effects on performance and security. Users can simulate the impact of changes to an existing blockchain, such as Bitcoin, or to a blockchain of their own design.
Blockchain was first implemented for cryptocurrency, serving as the basis of the Bitcoin network, which began operating in 2009. But now other potential applications are being found in areas such as resource and rights management, product (e.g., food) traceability, voting, and business process automation.
These days, a number of conferences on blockchain technology are held, including IEEE ICBC, CryBlock, and IEEE Blockchain. Yet despite the activity in the field, it has been almost impossible to test improvements on a real-world blockchain network. Such an experiment requires updating the software of all nodes, which is not practical for a working network due to the risk of causing disruptions. Even in cases where a blockchain has a problem that needs fixing, testing the fix may be difficult, as it could break something else.
Shudo and colleagues developed SimBlock1, which can simulate behavior of about 10,000 nodes on the Internet using a single typical PC. The software, which was made open source in July 2019, allows engineers to test improvements on an existing or their original blockchain, or even simulate malicious nodes and measure success rates of attack, then apply countermeasures to test its effects.
SimBlock can currently simulate the parameters of Bitcoin, Litecoin, and Dogecoin, mirroring blockchain network size, block generation interval, and communication speed over the Internet. Users can see what changes to node behavior do to a blockchain network by modifying Java code in SimBlock. It is also possible to modify parameters of the blockchain and communication speed.
SimBlock also has a visualizer that shows communication between nodes and block heightb animated on a world map. A demonstration of the visualizer is available at the following web page.
The research team gave a demonstration of SimBlock2 at IEEE ICBC 2019 held in Seoul, attracting much attention from the participants (Figure 2).
The team members also used SimBlock in their other studies. The followings are such research topics to improve performance of blockchains.
Figure 3 shows the effect of applying a technique called proximity neighbor selection, where each node connects with its near nodes on the network. This results in reduced time for blocks to propagate over the network. The reduction of propagation time leads to improvement of security. It also leads to improvement of transaction process performance without sacrificing security.
Figure 4 illustrates the benefit of nodes utilizing a relay networkc. By using a relay network, a node can dramatically lower the probability that a block it generated becomes an orphan blockd. It means that a node can increase its revenue by utilizing the relay network because such an orphan block does not give mining reward to the node that generated the orphan block.
A node utilizing a relay network can receive a newly generated block quickly. It seems that mininge success rate of the node increases because of the quick receipt. However, using SimBlock, the research team did not observe any obvious increase. On the other hand, the research team found another benefit of relay networks. A node could lower the probability that a block it generated becomes an orphan block. A relay network naturally lowers the orphan block rate of the entire blockchain network and it has previously been pointed out. The research team found that nodes benefit much from a relay network even if the ratio of nodes utilizing the relay network is very low (e.g., 1%).
The research team will continue working on performance improvement of blockchains utilizing SimBlock. They also started working on security studies by simulating attacks on a blockchain and countermeasures. On-going and planned improvements for SimBlock include support for other blockchains such as Ethereum, further updating of Internet parameters such as communication speed, and support for newer communication protocols such as Compact Block Relay.
The team strongly believes that engineering and research communities can benefit from SimBlock and its contributions to blockchain technology and our society supported by the technology.
This work was supported by SECOM Science and Technology Foundation.
Yusuke Aoki (2nd year master's student in FY 2018), Ryohei Banno (researcher), Takeshi Kaneko (1st year master's student), Ryunosuke Nagayama (1st year master's student), Kai Otsuki (1st year master's student), Kazuyuki Shudo
The length of a blockchain. Here the total number of blocks a node has received.
A network different from a blockchain network. It distributes blocks and transactions to nodes that connect to it.
A block that has been generated once but invalidated due to a fork of the blockchain.
A calculation race between nodes to gain block generation reward.
Reference
Journal : |
Proc. CryBlock 2019, April 2019 |
Title of original paper : |
SimBlock: A Blockchain Network Simulator |
Authors : |
Yusuke Aoki, Kai Otsuki, Takeshi Kaneko, Ryohei Banno, Kazuyuki Shudo |
Journal : |
Proc. IEEE ICBC 2019, pp.3-4, May 2019 |
Title of original paper : |
Simulating a Blockchain Network with SimBlock |
Authors : |
Ryohei Banno, Kazuyuki Shudo |
Journal : |
Proc. IEEE Blockchain 2019, July 2019 (accepted) |
Title of original paper : |
Proximity Neighbor Selection in Blockchain Networks |
Authors : |
Yusuke Aoki, Kazuyuki Shudo |
Journal : |
Proc. AINTEC 2019, August 2019 (accepted) |
Title of original paper : |
Effects of a Simple Relay Network on the Bitcoin Network |
Authors : |
Kai Otsuki, Yusuke Aoki, Ryohei Banno, Kazuyuki Shudo |
School of Computing
—Creating the Future Information Society—
Information on School of Computing inaugurated in April 2016
Further information
Associate Professor Kazuyuki Shudo
School of Computing, Tokyo Institute of Technology
Email dsg-titech@googlegroups.com
Contact
Public Relations Section,
Tokyo Institute of Technology
Email media@jim.titech.ac.jp
Tel +81-3-5734-2975