Kazuyuki Shudo和他的同事以及东京理工大学网络安全研究中心开发了一个名为“SimBlock”的区块链模拟器,用于测试区块链的性能和安全性。该软件可以在一台PC上运行。它现在是开放源码的。
SimBlock允许用户模拟由大量节点(服务器)组成的区块链网络,并修改节点的行为以测试对性能和安全性的影响。用户可以模拟更改对现有区块链(如比特币)或自己设计的区块链的影响。
区块链最初用于加密货币,作为2009年开始运营的比特币网络的基础。但是现在在资源和权利管理、产品(例如,食品)可跟踪性、投票和业务流程自动化等领域也发现了其他潜在的应用程序。
这些天,许多关于区块链技术的会议被举办,包括IEEE ICBC, CryBlock,和IEEE区块链。然而,尽管在这个领域有很多活动,要在真实的区块链网络上测试改进几乎是不可能的。这样的实验需要更新所有节点的软件,这对于一个正在工作的网络来说是不现实的,因为有导致中断的风险。即使在区块链有需要修复的问题的情况下,测试修复可能会很困难,因为它可能会破坏其他东西。
一个叫做SimBlock的区块链模拟器
Shudo和他的同事开发了SimBlock,它可以使用一台典型的PC模拟互联网上大约10,000个节点的行为。该软件于2018年7月成为开源软件,允许工程师测试现有或原始区块链上的改进,甚至可以模拟恶意节点并测量攻击成功率,然后应用对策测试其效果。
在IEEE工商银行演示SimBlock 2019学分:Kazuyuki Shudo
SimBlock目前可以模拟比特币、莱特币和Dogecoin的参数,镜像区块链网络大小、块生成间隔和Internet上的通信速度。通过修改SimBlock中的Java代码,用户可以看到对节点行为的更改会对区块链网络造成什么影响。也可以修改参数的区块链和通信速度。
SimBlock还有一个可视化工具,可以在世界地图上显示节点和块高度之间的动态通信。此web页面提供了visualizer的演示。
演示可视化工具:比特币网络(缩小到600个节点)
研究团队在首尔举行的IEEE ICBC 2019年会议上对SimBlock进行了演示,吸引了很多参与者的注意(图2)。
应用实例
团队成员在他们的其他研究中也使用了SimBlock。以下是提高区块链性能的研究课题。
邻居选择(图3)
一个继电网络的效果测量(图4)
图3中继网络的邻近近邻选择和图4效应测量。图3为IEEE区块链程序2019,图4为AINTEC程序2019。
图3显示了应用一种称为邻近近邻选择的技术的效果,其中每个节点都与网络上的临近节点连接。这减少了块在网络上传播的时间。传播时间的缩短导致安全性的提高。它还可以在不牺牲安全性的情况下改进事务处理性能。
图4说明了利用中继网络的节点的好处[c,4]。通过使用中继网络,节点可以显著降低其生成的块成为孤立块的概率[d]。这意味着节点可以通过利用中继网络增加收益,因为这样的孤立块不会给生成孤立块的节点提供挖掘奖励。
利用中继网络的节点可以快速接收新生成的块。似乎由于接收速度快,节点的挖掘[e]成功率增加。然而,使用SimBlock后,研究小组并没有观察到任何明显的增加。另一方面,研究小组发现了中继网络的另一个好处。节点可以降低它生成的块成为孤立块的概率。中继网络自然降低了整个区块链网络的孤立块率,这一点已经在前面指出过。研究小组发现,即使使用中继网络的节点比例非常低(例如,1%),节点也能从中继网络中获益良多。
研究团队将继续利用SimBlock改进区块链的性能。他们还开始进行安全研究,模拟对区块链的攻击和对策。SimBlock正在进行的和计划中的改进包括支持其他区块链,如Ethereum,进一步更新互联网参数,如通信速度,支持较新的通信协议,如紧凑块中继。
该团队坚信工程和研究社区可以从SimBlock及其对区块链技术和我们的社会的贡献中受益。
领取专属 10元无门槛券
私享最新 技术干货