It is the next blog in the series of Fed4Fire+ Stage 2 Experiment. The previous blog contained the overall information about the experiment performed to stress test asvin platform. The Blockchain Server is one of the core components of asvin platform. The experiment results of Blockchain Server will be discussed in length in this blog.
Blockchain
asvin utilizes blockchain server to store device and firmware metadata. asvin’s blockchain network is powered by HyperLedger Fabric and Besu. We have developed and maintained our own fabric network and we utilize Alastria’s Network B for the besu. asvin has deployed multiple besu nodes in the Network B. The distributed ledger technology (DLT) provides an extra layer of security and defense against single point failure. All parties in the network are authenticated and every transaction happening among them are recorded in an immutable distributed ledger. The figures below depict high-level architecture for besu and fabric networks.
Experiment Results
Fed4FIRE+ Experiment showed robust performance of blockchain server during high traffic of requests. The reliability and scalability of the server are assessed using multiple parameters such as total number of requests (successful and failed), response time of each request to the server etc. The below section explains the results in detail.
In the graphs, different colors represent distinct Kubernetes pods. Each pod runs a number of virtual edge devices. And each virtual IoT device fetch the CID of the new firmware update file to be downloaded from the Blockchain Server. The graph below shows the number of requests made per second per pod to the Blockchain Server. The server was smooth and seamless while handling soaring requests from thousands of devices.
The graph below illustrates the total number of successfully handled requests by Blockchain server. There were no requests which were not handled by the server. During the high traffic condition also the server managed to handle the requests without fail. This demonstrates the robustness of the Blockchain server which can handle enormous number of requests from IoT devices.
As part of the experiment, we have also calculated the response time of each request made by the edge devices to the Blockchain server. In the device application program, the total response time for each request is recorded along with other details and then stored in the influx DB for performance evaluation. Our GitHub repository has the self explanatory program written in python for these virtual edge devices which shows the functionality of each request and response on the device side to collect experiment data for further analysis of our platform.
The figure below represents the response times of Blockchain server. The Y-axis gives the time taken by the server to respond to the requests and on the X-axis is the time during which the data was collected. Most of the requests were handled within 200 milliseconds. The response time had an impressive improvement in the Stage 2 as compared to Stage 1 experiment.
Conclusion
The stage 2 experiment results affirm that asvin platform powered by Blockchain technology is highly scalable because of its distributed and decentralised nature. We have gathered enormous amount of data from Fed4FIRE+ experiment which helped us to analyse and improve the architecture of our platform along with the Blockchain server configurations for high scalability and resilience.