We have learned about the basic concepts of Tangle in the previous article. Now. let’s examine how tips are selected. We shall also discuss transaction rates and the concept of random walk.
In IOTA tangle, transactions do not occur uniformly but rather randomly. At a certain period, there may be m transactions while in another period there may be only n transactions, where m>n or m<n. The transaction rate can be determined by a mathematical process known as Poisson Point Process. The Poisson Point Process model is used to
The transaction rate may be calculated based on the simplified Poisson Point Process formula as follows:
N=λt
Where N is the number of transactions and t is the time unit. λ is a constant. For example, if we set λ =5, and time unit =10 (the unit could be in milliseconds or seconds etc), the number of transactions occurring in a 10-unit time interval is 5×10=50.
Setting a suitable value of λ is crucial to maintaining the coherence of the Tangle structure. if we set the value of λ to be very small, let’s say 0.1 and the number of transactions remains at 50, the time interval will be 50 ÷ 0.1=500. In this case, it means that transactions will come in so slowly that it will form a chain instead of a Tangle, such that only one single tip could be approved at any given time, instead of approving two previous transactions. The scenario is illustrated in the diagram below:
On the other hand, what will happen if we set the value of λ too high? For example, if λ =10000 and N=50, the time interval t is 0.0005. It means that transactions will be occurring so fast that the only tip they can view is the genesis node, as illustrated in the diagram below:
In both cases, the Tangle structure will crumble.
Unweighted Random walk Algorithm
The tips selection algorithm we have discussed so far is a random selection process. This kind of selection process might not be suitable for the real use case. Therefore, we need to choose a more advanced tip selection algorithms. One of the algorithms is known as the unweighted random walk.
What is it? In programming, a walker is a variable used to move through an array or other data structure, often heading towards a fixed value and stepping through elements in an array. In Tangle, we can program a walker on the
On each step, it walks to one of the transactions which directly approves the one we are currently on. It chooses which transaction to walk to with equal probability, therefore it is called unweighted random walk. You can
Please watch the video below to understand more about the Tangle system.