Simulation Tangle Preview
Simulation Tangle Preview
B. Kusmierz
IOTA Foundation
November 6, 2017
Abstract
In this paper we present preliminary results obtained with the computer simulation of the
Tangle - directed acyclic graph adapted for decentralized information storage. The first scalable,
permissionless distributed ledger to use this technology is IOTA. IOTA protocol is designed
for Internet of Things, Web 3.0 and other applicable sectors where the standard blockchain
architecture comes up short. We examine basic properties of the Tangle, this include analysis of
cumulative weight and stability of tips number, for different tip selection mechanisms.
1 Introduction
Todays constant internet connection is a fact and smart devices are becoming more and more
popular. This brings a need for development of protocol for Internet of Things (IOT). In order
to make such network function properly it needs convenient payment system and rapidly growing
cryptocurrencies seem to be a natural candidate. No doubt cryptocurrencies are one of the most
innovative and disruptive inventions of the last decade. However, the vast majority of them are
based on blockchain technology which has some flaws, especially noticeable within the IOT industry.
What makes blockchain based payment system hard to implement in all smart devices are scalability
issues. Constant growth of transaction fees is major obstacle in establishing true micropayments.
One of the solutions to this problem could be an increase of block size or decrease of time between
blocks. However such move brings need for more storage space and that might threaten the very idea
of trustless peer-to-peer cryptocurrency. Satoshi Nakamoto [1] wanted a radical decentralization of
the proposed payment system. Requirement of large storage space might concentrate full nodes
in the hands of the few richest people. Another characteristic of standard blockchain not suited
for IOT industry is the division of users into two groups: those who issue transactions, and those
who approve transactions (miners). Both groups have fundamentally different goals and roles.
Blockchain scalability issues are intensively studied and there are variety of promising solutions
like the lightning networks [2], proof of stake protocols [3] and novel architecture of DAG (directed
acyclic graphs) also known as the Tangle [4]. The first cryptocurrency-platform based on this
idea is IOTA, developed by the IOTA foundation.
Currently IOTA foundation is developing a computer simulation of the Tangle network. We hope
this tool will improve our understanding of the system and allow us to find optimal parameters for
the smoothest performance. Moreover, we want to study possible attacks on the Tangle. It is our
priority to understand them and find the best methods of protecting against them. As systematic
authors contact information: [email protected]
1
research progresses we will publish results to the IOTA community. In this paper we present
preliminary results and validate certain results from the Whitepaper [4]. This includes analysis of
cumulative weight and evolution of tips number. In the future we want to share results of more
advanced studies.
2 Methodology
The computer simulation had been based on formalism and algorithms proposed in the Whitepaper
[4], however certain adaptations had to be made. In particular we use the discrete model instead
of the continuous one, explored in Whitepaper. In the future we want to examine simulations of
continuous model as well.
Terminology we use is analogical as in Whitepaper. In order to issue a transaction, users must
directly approve two other transactions. If transaction A directly approves B it is denoted A B.
One says A indirectly approves Z if there is a sequence of length at least three of transactions
satisfying: A B ... Z. The weight of a transaction is proportional to the amount of work
that the issuing node invested into it. In the simulation all of the transactions are assumed to have
the same, constant weight. Very important notion introduced in the Whitepeper is the cumulative
weight of transaction denoted Hx . The cumulative weight is a sum of own weight of a particular
transaction plus the sum of own weights of all transactions that directly or indirectly approve this
transaction.
The fundamental unit of time in the simulation is a time step. During each time step there is
on average transactions issued, exact number is chosen from Poisson distribution Pois(). Each
new transaction approves two older ones. We assume that all of the calculations required for device
to issue a transaction are done within one time step. Two tips selection mechanism are considered:
Tips selection at random - tips are chosen from the list of available tips randomly (uniform
distribution).
MCMC algorithm (Markov Chain Monte Carlo) - random walk of particles towards the tips.
Particles are released in the tangle, first pair of particles at different tips determines transactions
to approve.
In the case of MCMC algorithm we use random walk of 10 particles, starting positions of particles
are chosen randomly (uniform distribution) from transactions issued between 100 and 200 time steps
ago. This mimic release of particles deep in the Tangle. The transition probability Pxy of particle
moving from transaction x to y (y approves x directly, y x) is analogical as in the Whitepaper[4]:
!1
X
Pxy = exp (Hx Hy ) exp ((Hx Hz )) . (1)
z:z x
3 Results
Our analysis revolve around recreation of results obtained in the Whitepaper [4]. We focused on
cumulative weight growth and stability of number of tips L(t). Results are presented in a form of
graphs.
2
3.1 Cumulative weight
Performed simulations confirm findings of the Whitepaper in the matter of cumulative weight
growth. Obtained data strongly suggest existence of two phases of growth: adaptation period
(exponential growth) and linear growth (see figs. 1, 2 and 3). This is the case for both examined
tip selection mechanisms. Behavior analogical to what is observed in figs. 1-3 is typical for almost
all other transactions. The only exceptions are permanent tips. Permanent tips are transactions
that are either approved by negligible number of transactions or not approved whatsoever.
800
cum. wg.
f (x) = ax + b
700 g(x) = exp(cx + d)
Cumulative weight
600
500
400
300
200
100
0
0 5 10 15 20 25
Time step
Figure 1: Cumulative weight of 200th transaction issued during the simulation and the best fitted:
linear and exponent functions (f (x) = ax + b, g(x) = exp(cx + d) respectively). Flow rate of new
transactions: = 50; tip selection algorithm: at random. Linear trend of cumulative weight
continues for large time steps. f (x) had been fitted on an interval [19, 30], g(x) on an interval
[4, 16]. Values of parameters: a = 54.83 0.87, b = 795 21; c = 0.452 0.016, d = 2.69 0.25.
3
900
cum. wg.
800 f (x) = ax + b
g(x) = exp(cx + d)
700
Cumulative weight
600
500
400
300
200
100
0
0 5 10 15 20 25 30
Time step
Figure 2: Cumulative weight of 200th transaction issued during the simulation and the best fitted:
linear and exponent functions (f (x) = ax + b, g(x) = exp(cx + d) respectively). Flow rate of new
transactions: = 50; tip selection algorithm: MCMC random walk of 10 particles towards the tips
for = 0.001. Linear trend of cumulative weight continues for large time steps. f (x) had been
fitted on an interval [22, 30], g(x) on an interval [6, 21]. Values of parameters: a = 49.94 0.40,
b = 981 12; c = 0.3117 0.015, d = 1.96 0.30.
4
800
tr. no.: 200
tr. no.: 400
700 tr. no.: 600
tr. no.: 800
Cumulative weight 600 tr. no.: 1000
500
400
300
200
100
0
0 5 10 15 20 25 30 35 40 45
Time step
Figure 3: Cumulative weight of 200th, 400th, 600th, 800th and 1000th transaction issued during
the simulation. Flow rate of new transactions: = 50; tip selection algorithm: MCMC random
walk of 10 particles towards the tips for = 0.001. Linear trend of cumulative weight continues for
large time steps.
5
90
85
80
Number of tips
75
70
65
60
55
50
45
40
0 5000 10000 15000 20000
Time step
Figure 4: Values of L(t) - number of the tips (unconfirmed transactions) at any given time step
of the simulation. Flow rate of new transactions: = 50; tip selection algorithm: at random;
simulation involves 106 transactions what corresponds to roughly 20000 time steps (106 /). L(t)
varies grately, but fluctuates around an average.
6
14000
12000
10000
Occurrence
8000
6000
4000
2000
0
30 40 50 60 70 80 90 100
Number of tips
Figure 5: Histogram for values of L(t). Flow rate of new transactions: = 50; tip selection
algorithm: at random; simulation involves 107 transactions.
In the case of MCMC, when parameter is small, L(t) is expected to exhibit similar behavior
as for the tip selection at random. Indeed, fig. 6 shows that on examined time interval, L(t)
seems to be stable. There are theoretical arguments, based on classical results from probability
theory that for any positive , number of tips actually diverges. One can notice that each tip has
nonzero probability of being unapproved for any arbitrarily large, but finite time. However after
certain time, starting positions of particles are placed further than the considered tip and there is
no chance of approving it. Thus each transaction has nonzero probability of becoming permanent
tip and by Borel-Cantelli lemma number of tips will become infinite in the limit of large time[5].
Nonetheless obtained data shows that growth of number of tips is very small, actually unobservable
on examined time interval. On the other hand random walk of particles, when is large should
be concentrated near fixed paths, determined by the highest cumulative weight. Then MCMC
tip selection mechanism no longer resembles tip selection at random and L(t) undergo different
evolution. As simulation suggests in this regime number of tips grows linearly and slope of line can
be significant. Example of such behaviour is given in the fig. 7 ( = 5).
7
110
100
90
Number of tips
80
70
60
50
40
0 5000 10000 15000 20000
Time step
Figure 6: Values of L(t) - number of the tips (unconfirmed transactions) at any given time step of
the simulation. Flow rate of new transactions: = 50; tip selection algorithm: MCMC random
walk of 10 particles towards the tips for = 0.001; simulation involves 106 transactions. L(t) varies
greatly, but fluctuates around an average.
8
2000
1500
Number of tips
1000
500
0
0 5000 10000 15000 20000
Time step
Figure 7: Values of L(t) - number of the tips (unconfirmed transactions) at any given time step of
the simulation. Flow rate of new transactions: = 50; tip selection algorithm: MCMC random
walk of 10 particles towards the tips for = 5; simulation involves 106 transactions. L(t) grows
approximately like linear function of time.
9
References
[1] S. Nakamoto, Bitcoin: A Peer-to-Peer Electronic Cash System,
https://bitcoin.org/bitcoin.pdf (2008)
[2] J. Poon, T. Dryja, The Bitcoin Lightning Network: Scalable Off-Chain Instant Payments
https://lightning.network/lightning-network-paper.pdf (2016)
[3] BitFury Group, Proof of Stake versus Proof of Work: White Paper
http://bitfury.com/content/5-white-papers-research/pos-vs-pow-1.0.2.pdf (2015)
[7] J. Propp and D. Wilson, Exact sampling with random Markov sampling with applications
to statistical mechanics, Random Structures and Algorithms, vol. 9, pp. 232-252 (1996)
10