Conference PaperPDF Available

Meta-model for Stress Testing on Blockchain Nodes

Authors:

Abstract and Figures

Blockchain nodes are essential part of a blockchain network. The quality of blockchain nodes are very crucial as these are building blocks of a network. The failure of nodes may lead to the failure of network. In this paper we have discussed the meta-model for stress testing on blockchain nodes, which will test blockchain nodes. Meta-model is based on UML 2.0. It is destined to be worked on all blockchain networks with minor changes.
Content may be subject to copyright.
2020 3rd International Conference on Computing, Mathematics and Engineering Technologies iCoMET 2020
XXX-X-XXXX-XXXX-X/XX/$XX.00 ©20XX IEEE
Meta-model for Stress Testing on Blockchain Nodes
Adil Aziz
Department of Computer &
Software Engineering
College of Electrical &
Mechanical Engineering
(CEME), National University of
Science & Technology (NUST)
Islamabad, Pakistan
adil.aziz18@ce.ceme.edu.pk
Muhammad Talha Riaz
Department of Computer &
Software Engineering
College of Electrical &
Mechanical Engineering
(CEME), National University of
Science & Technology (NUST)
Islamabad, Pakistan
talha.riaz18@ce.ceme.edu.pk
Muhammad Shah Jahan
Department of Computer &
Software Engineering
College of Electrical &
Mechanical Engineering
(CEME), National University of
Science & Technology (NUST)
Islamabad, Pakistan
shah.jahan18@ce.ceme.edu.pk
Kashif Ayub
Department of Computer &
Software Engineering
College of Electrical &
Mechanical Engineering
(CEME), National University of
Science & Technology (NUST)
Islamabad, Pakistan
muhammad.kashif18@ceme.nust.
edu.pk
Abstract Blockchain nodes are essential part of a blockchain
network. The quality of blockchain nodes are very crucial as these
are building blocks of a network. The failure of nodes may lead to
the failure of network. In this paper we have discussed the meta-
model for stress testing on blockchain nodes, which will test
blockchain nodes. Meta-model is based on UML 2.0. It is destined
to be worked on all blockchain networks with minor changes.
Keywords Blockchain, Blockchain nodes, Stress Testing,
Meta-model for stress testing.
I. INTRODUCTION
Blockchain is becoming an area of interest for people from
diverse background because of its applications and trust which
it is providing. Developers are developing applications on top
of blockchain. A blockchain network require at least 3 nodes to
be fault tolerant. There is no maximum limit of nodes. Nodes
keep on joining the blockchain networks to provide reliability
and mining the network fees. There are currently many
blockchain networks like Bitcoin, Ethereum, Stellar etc. These
networks have multiple nodes.[1][3]
With increasing number of transactions on blockchain
networks. The block size on a node is increasing which is
causing scaling problem. Also, many people concurrently do
transactions on blockchain networks which are affected by slow
processing power of node. A node is usually built on top of
traditional servers which may crash in peak hours. As there is
no single authority hence the regulation of node cannot be
done.[5]
So, in this paper, we are going to discuss meta model for stress
testing on blockchain nodes. This will help us in further testing
any blockchain node written in any language.
II. LITERATURE REVIEW
Blockchain's first known application was Bitcoin which
came into existence in 2009. Since then rapid number of bitcoin
nodes as well as other networks' nodes are being deployed across
the globe [1]. With the Blockchain Proof of Work [4], Proof of
Stake and other mechanism which offer benefits to the people
having nodes, more people are focused on having nodes and
mine cryptocurrencies.[13] Most people are making nodes on
public networks. On Proof of Work networks people are
installing miners to mine the cryptocurrency out of it and hence
trafficking the network. Permission less networks are more
exposed to threat then Permissioned networks because no
authority is regulating the joining nodes [4]. There is no check
on specification and load resistant servers. With the passage of
time number of transactions on blockchain networks are
increasing which result in block size increase beyond the
expectation and all nodes are not ready to accommodate such
large blocks on them, resulting in Blockchain Scalability
issues.[2][5]
As low-quality nodes are cheap and easy to hack, if low
quality nodes keep on joining the network, it will become more
exposed to failure. 51% attack can be inserted to take down
network, in majority attack, 51% nodes in network are tempered
to take down blockchain network.[6] If a network will have
more of its nodes down, Byzantine fault tolerance will also fail.
This is unavoidable security flaw and was highlighted by Satoshi
Nakamoto when he launched bitcoin.[1]
To alter this risk, we need the proper testing of server before
making it part of our network. There came need of the modern
stress techniques to be embedded in blockchain network node's
core code to be apply pre-validate server before making it part
of consensus of payments on network. This will help in
minimizing security threats due to load of server in peak time
and leading transactions on network.[12]
III. METHODOLOGY
A. Proposed Solution
Before Modeling of blockchain has been done in past but
now we are going to make meta model for stress testing of nodes
which are part of network. The following parameters are
variable in different blockchain networks.
i. Block Size [2]
ii. Transaction speed [7]
Getting current block size and transaction speed of a
network we can calculate the transactions for a specific
blockchain network and can predict how much time it will be
sufficient for node to handle the transactions safely. [7]
We will do modeling of enterprise modeling using above
mentioned metrics. As meta-model is platform independent,
so we are not modeling this for a specific blockchain
network.[8] This meta-model will generate models for
different blockchain networks. Meta-model will gather the
networks' recent stats and then prepare a test analyzing the
data. All of this will be on an independent node hence
maintaining the decentralized status of network.
Blockchain nodes will have a code embedded in
repository which will be shipped to server before making it a
node of blockchain network. Code will execute the sample
data set to test reliability and other requirement of the
connection.
B. Requirements for Proposed Solution
Blockchain network will have at least 3 master nodes
to validate transactions. [1]
Candidate node should have reliable internet
connectivity to take part in validation process.
Blockchain network's core code should be publicly
available and easy to fork.
C. Support for Testing by MDSD Approach
We will discuss the scope of problem, which we have
discussed in this paper, in this section. Then we will present our
approach which will generate automated testing script to
validate blockchain node according to Model Driven Software
Design. [10]
D. Problem Definition
Automation in testing of a blockchain node includes writing
a script which can be acknowledged by any testing tool, which
will imply test cases which we have defined prior for node under
examination. Test script will validate the node under
consideration despite of network of blockchain which will run
on that specific node.[15]
E. Model-Driven Solution
We use the concepts of MDSD to automatically generate the
testing script for blockchain node.
Fig 1 Basic model of generating test sets.
Figure-1 shows the model and how we convert our model
into the in-test cases for blockchain node, through test script
generator we have made. This is a platform independent model
hence it can work for any blockchain network, representing test
case set for blockchain node as input of the model. For example,
Test Script Generator will take Model and platform specific
blockchain technologies constraints to generate platform
specific test set. [14]
F. Meta-Model
In this section a conceptual model present abstractions of
testing blockchain network and its nodes. On the basis on
conceptual model, to support testing blockchain node, we then
present a UML 2.0 profile of a meta-model. [9]
1) Conceptual Model of Blockchain Node Testing
Fig 2 Meta-model for blockchain nodes’ testing.
Conceptual model is being shown in figure of working of
blockchain node. Providing abstraction for visual elements of
testing of blockchain node. BlockNodeObject is on the top in the
hierarchy of object types, which is a general representative for
any element in blockchain node. BlockNodeObject is derived
from BlockchainNetwork object, which is an interesting aspect
of this model. This is because a blockchain network have many
nodes in it, and testing should address such scenarios. [11]
IV. VALIDATION
A. Case Study
We will discuss the case study as initial proof of concept of
our methodology, which we have discussed in this paper, in this
section. We first mention features of blockchain network, and
then describe the technologies and test tools required for
experiment. The findings and limitations are also mentioned in
this section. The network under study is Stellar Network.
Fig 3 Working of Stellar Network
B. Test Implementation
To implement the model-driven testing solution
presented, we developed a prototype in java. First test cases
for Stellar Network were designed using block size and
transaction speed.
C. Generation of Test Scripts
Tests Scripts will be generated by using parameters of
Blockchain Network and will compare ideal characteristics of a
Stellar network with the BlockNodeObject.
Fig 4 Application of Meta-model on Steller Network quorum having 3 nodes.
In the above-mentioned model, BlockchainNetwork's
instance StellarNetwork is at top of hierarchy. Stellar network
has nodes in it. Here we have taken, three nodes because at least
3 nodes are required to validate a network. These nodes have
Testcase on each node for execution of stress testing. These test
cases are derived from same testing scenario which has
specification of testing scenario.
V. CONCLUSION AND FUTURE WORK
The reason for the contextual investigation was to exhibit the
practicality of applying a model-driven way to deal with the plan
and improvement of testing contents for a web application.
Actualizing the model offers assurance to the case that the
procedure can be utilized to characterize stage free tests and
convert them into contents for a mechanized testing instrument.
The majority of the base experiments created for the contextual
analysis were effectively executed. This recommends the
conceptual builds utilized in the present model were in this way
adequate for speaking to the stage explicit develops required to
approve the Stellar Network. In spite of the fact that the present
variant of the model does not execute the innovation model for
Blockchain, this could be effectively fused by broadening the
summed-up classes given by the foundation. Leading the
investigation likewise given us understanding into the
complexities of building up a system for the proposed
methodology. In spite of the fact that the Stellar Network test set
just required the model to address a predetermined number of
test situations, structuring the structure to keep up autonomy
among the test model, innovation model, and content generator
was testing. Confinements of the present model incorporate
inclusion of just a subset of web controls and gadgets, and
manual identification of model limitation infringement. In any
case, the last could be settled using model-driven engineering
devices, for example, the Eclipse Modeling Framework. This
model can be further improved by including more specific
details of each blockchain platform. Since blockchain
technology is open to innovation. Every network tries to
accommodate the cons of previous network. This result in
change of detailed specification. We need to make a standard of
blockchain network in order to implement this globally.
REFERENCES
[1] Satoshi Nakamoto. Bitcoin: A Peer-to-Peer Electronic Cash System.
https://bitcoin.org/bitcoin.pdf
[2] Iuon-Chang Lin, Tzu-Chun Liao. A Survey of Blockchain Security Issues
and Challenges International Journal of Network Security, Vol.19, No.5,
PP.653-659, Sept. 2017
[3] DAVID MAZI`ERES, The Stellar Consensus Protocol:A Federated
Model for Internet-level Consensus, Stellar Development Foundation
[4] Debin Liu, L Jean Camp. Proof of Work can Work, Indiana University,
2006.
[5] Croman, Kyle; Eyal, Ittay (2016). On Scaling Decentralized Blockchains.
[6] Jake Frankenfield. 51% Attack, Investopedia, 2019.
[7] CoinBundle Team, Transaction Speeds to Infinity & Beyond, 2018.
[8] Fill, Hans-Georg, Haerer, Felix, Knowledge Blockchains: Applying
Blockchain Technologies to Enterprise Modeling, 2018.
[9] Y. Hernandez, TM. King, J. Pava, PJ. Clarke, “A Meta-model to
Support Regression Testing of Web Applications”, SEKE-
works.bepress.com, 2008: 500-505.
[10] Atifi Meriem, Marzak Abdelaziz, A Meta-Model for Risk-Based Testing
Technique Based on the MDA Approach, 2018.
[11] Ildevana P. Rodrigues, Márcia de Borba Campos, Avelino F. Zorzo,
Usability Evaluation of Domain-Specific Languages: a systematic
literature review, 2017.
[12] Andreas M. Antonopoulos. 2014. Mastering Bitcoin: Unlocking Digital
Crypto-Currencies (1st ed.). O'Reilly Media, Inc.
[13] Dhillon, Vikram & Metcalf, David & Hooper, Max. (2017). Blockchain
Enabled Applications: Understand the Blockchain Ecosystem and How to
Make it Work for You. 10.1007/978-1-4842-3081-7.
[14] Alberts, Berend & O. Meertens, Lucas & Iacob, Maria-Eugenia &
Nieuwenhuis, Bart. (2013). A Meta-Model Perspective on Business
Models. Lecture Notes in Business Information Processing. 142. 64-81.
10.1007/978-3-642-37478-4_4.
[15] Cihak, Martin. (2007). Introduction to Applied Stress Testing. IMF
Working Papers. 07. 10.5089/9781451866230.001.
ResearchGate has not been able to resolve any citations for this publication.
Conference Paper
Full-text available
Blockchains permit to store information in a tamper-resistant and irrevocable manner by reverting to distributed computing and cryptographic technologies. The primary purpose is to keep track of the ownership of tangible and intangible assets. In the paper at hand we apply these concepts and technologies to the domain of knowledge management. Based on the explication of knowledge in the form of enterprise models this permits the application of so-called knowledge proofs for a. enabling the transparent monitoring of knowledge evolution, b. tracking the provenance, ownership, and relationships of knowledge in an organization, c. establishing delegation schemes for knowledge management, and d. ensuring the existence of patterns in models via zero-knowledge proofs. To validate the technical feasibility of the approach a first technical implementation is described and applied to an illustrative use case.
Conference Paper
Full-text available
Software developers have always been concerned with the quality of the products they produce. Although software engineers use new methods to evaluate the quality of their software, there are still some concerns in several of the methods they use when developing software, for example, when using Domain-Specific Languages (DSLs). One of the main goals of DSLs is to ease the work of developers in different areas. However, to achieve this goal it is necessary to provide an evaluation of the usability of such languages. Although it is possible to find some experiments to evaluate such languages, usually this experiments are subjective and do not use techniques from the Human-Computer Interaction (HCI) area. Therefore, this paper presents a Systematic Literature Review (SLR) in which a discussion on the usability of DSLs is presented. This paper also presents a mapping to show how usability has been assessed by researchers in their work.
Article
Full-text available
and Overview Proof of work has been proposed as a mechanism to increase the cost of email so that spamming is no longer economically attractive. However, the first economic examination of proof of work argued that POW would not, in fact, work because of the difference of cost to spammers and senders of legitimate email. We illustrate that this shift in the production frontier enabled by zombies does not remove the efficacy of proof of work if work requirements are weighted by a reputation function. We illustrate that proof of work can worked when combined with the currently used reputation systems in commercial anti-spam technologies.
Article
A purely peer-to-peer version of electronic cash would allow online payments to be sent directly from one party to another without going through a financial institution. Digital signatures provide part of the solution, but the main benefits are lost if a trusted third party is still required to prevent double-spending. We propose a solution to the double-spending problem using a peer-to-peer network. The network timestamps transactions by hashing them into an ongoing chain of hash-based proof-of-work, forming a record that cannot be changed without redoing the proof-of-work. The longest chain not only serves as proof of the sequence of events witnessed, but proof that it came from the largest pool of CPU power. As long as a majority of CPU power is controlled by nodes that are not cooperating to attack the network, they'll generate the longest chain and outpace attackers. The network itself requires minimal structure. Messages are broadcast on a best effort basis, and nodes can leave and rejoin the network at will, accepting the longest proof-of-work chain as proof of what happened while they were gone.
Conference Paper
As businesses strive to keep pace with the rapid evo- lution of web technologies, their eorts to maintain au- tomated regression testing strategies are being hindered. Technological migration of a web application can lead to test scripts becoming incapable of validating the mi- grated application due to dierences in the testing plat- form. Regression tests that are still applicable to the application would therefore have to be re-written to be compatible with the new technologies. In this paper, we apply a model-driven approach to the development of automated testing scripts for validating web appli- cations from the client-side. We dene a meta-model using UML 2.0 proles,
  • Iuon-Chang Lin
  • Tzu-Chun Liao
Iuon-Chang Lin, Tzu-Chun Liao. A Survey of Blockchain Security Issues and Challenges International Journal of Network Security, Vol.19, No.5, PP.653-659, Sept. 2017
A Meta-Model for Risk-Based Testing Technique Based on the MDA Approach
  • Atifi Meriem
  • Marzak Abdelaziz
Atifi Meriem, Marzak Abdelaziz, A Meta-Model for Risk-Based Testing Technique Based on the MDA Approach, 2018.
Introduction to Applied Stress Testing
  • Martin Cihak
Cihak, Martin. (2007). Introduction to Applied Stress Testing. IMF Working Papers. 07. 10.5089/9781451866230.001.