G-IOTA: Fair and confidence aware tangle

02/15/2019 ∙ by Gewu Bu, et al. ∙ CEA Laboratoire d'Informatique de Paris 6 0

This paper proposes strategies to improve the IOTA tangle in terms of resilience to splitting attacks. Our contribution is two fold. First, we define the notion of confidence fairness for tips selection algorithms to guarantee the first approval for all honest tips. Then, we analyze IOTA-tangle from the point of view of confidence fairness and identify its drawbacks. Second, we propose a new selection mechanism, G-IOTA, that targets to protect tips left behind. G-IOTA therefore has a good confidence fairness. G-IOTA lets honest transactions increase their confidence efficiently. Furthermore, G-IOTA includes an incentive mechanism for users who respect the algorithm and punishes conflicting transactions. Additionally, G-IOTA provides a mutual supervision mechanism that reduces the benefits of speculative and lazy behaviours.

READ FULL TEXT VIEW PDF
POST COMMENT

Comments

There are no comments yet.

Authors

This week in AI

Get the week's most popular data science and artificial intelligence research sent straight to your inbox every Saturday.

I Introduction

Blockchain and distributed ledger technologies have emerged as one of the most revolutionary developments in recent years, with the goal of eliminating centralised intermediaries and installing distributed trusted services. They facilitate trustworthy trades and exchanges over the Internet, power cryptocurrencies, ensure transparency for documents, and much more. Traditionally, blockchain systems maintain a continuously-growing list of ordered blocks that include one or more transactions that have been verified by the members of the system, called miners. Blocks are linked using cryptography and the order of blocks in the blockchain is the result of a form of agreement among the system participants.

After the releasing of the most popular blockchains (e.g., Bitcoin [5] or Ethereum [11]) with a specific focus on economical transactions their huge potential for various other applications became evident. However, quickly after their release blockchains reached their limits in terms of throughput, blocksize and unforeseen behaviors. Therefore, non academic research further concentrate in proposing alternatives by improving some performance aspects but with non zero costs either on security or throughput. One of these solutions extends the blockchain to a DAG overlay, provide a total ordering over all blocks and transactions, and outputs a consistent set of accepted transactions. In the research along this line (e.g., [9, 8]) transactions are still organized on blocks. All these DAG-based systems structure blocks in a Directed Acyclic Graph. Each block can include several references to predecessors.

More recently, IOTA has been defined as an alternative dedicated to IoT area where micro-transactions are submitted at a very high frequence. Transactions define a DAG overlay a.k.a. tangle. Strategies to maintain an IOTA-tagle have been proposed and analyzed in [6]. IOTA-tangle properties have been formalized and analyzed in [2], [7] and [4]. More recently, [10] and [1] analyze in detail the stability and the attack resilience of IOTA-tangle. One of the first works addressing the fairness of the selection mechanism in the IOTA tangle is [3].

In this paper we introduce a new notion of fairness: confidence fairness for tips selection algorithms to guarantee the first approval for all honest tips. We propose a new tangle, G-IOTA, that aims at increasing the overall fairness in IOTA-tangle by protecting tips who have been left behind, incentivizes users to respect the algorithm and punishes the conflicting transactions. G-IOTA provides also a mutual supervision mechanism that reduces the benefits of speculative and lazy behaviours. Moreover, G-IOTA tangle is as resistant as IOTA-tangle to attacks, especially to splitting attacks.

The organization of this paper is as follows. Section II introduces IOTA and identifies its drawbacks. Section III proposes G-IOTA that is designed to overcome the drawbacks of IOTA-tangle. Section IV discusses the strengths and the weaknesses of G-IOTA. Finally, Section V concludes the paper and discuss future research directions.

Ii Background on IOTA

In this section, we introduce the fundamental concepts of IOTA system (Sections II-A, II-B and II-C). Furthermore, we discuss the drawbacks of its design (Section II-D).

Ii-a IOTA Tangle

IOTA is a permissionless distributed ledger that stores all the transactions going though the system, shared by all the users in the IOTA network. It utilizes a data structure called the tangle [6].

The users in IOTA work cooperatively to verify the transactions in the tangle for making the IOTA-tangle safe and reliable. Users are grouped in two distinct subsets: honest users that follow the IOTA protocol exactly, and malicious users that show arbitrarily behaviors.

The tangle is a Directed Acyclic Graph (DAG) where each vertex is a transaction submitted to the IOTA network and the directed links represent a verification of transactions. Figure 1 shows an example IOTA tangle in which the white squared transactions are called verified transactions and the grey squared ones are called unverified transactions or tips111The term tips will be used hereafter throughout the paper.. The root of the tangle (transaction 0 in Figure 1) is called the genesis transaction. The depth of a transaction in the tangle is then defined as the length of the longest path from the genesis to the transaction. The depth of the tangle, is then defined as , i.e. the maximum depth over all the transactions in the tangle.

Fig. 1: An example of IOTA tangle

Users submit transactions to the IOTA network. The transactions submitted by honest users are called honest transactions, and the transactions submitted by malicious users are called malicious transactions. A submitted transaction received by a user is called incoming transaction. Since incoming transactions are not verified yet, they are also called incoming tips.

In all cases, to submit a new transaction to the tangle, two transactions from the tangle must be chosen for direct verification. In general, the tips should be chosen for this purpose. Indirect verification means, on the other hand, verifying all the transactions in the verification path of a tip/transaction. Formally, a verification path for a transaction is a set of transactions , containing all the transactions from to the genesis transaction. In Figure 1, the verification path of transaction is from to and and to . Furthermore, if a tip has not received its first verification yet and where is a configurable threshold, we say that the tip is left behind.

It should be noted that unlike in the traditional blockchain systems, the verification of transactions is the responsibility of all users that want to submit transactions to the IOTA network. In other words, to submit transactions, each user must contribute to the IOTA network by verifying the previously submitted transactions. Note that if there are conflicting transactions between two possible chosen tips, the sender needs to chose only one of them and chose another candidate tip to verify.

After verifying two tips, the sender of the transaction will broadcast its transaction and the chosen tips to all the other users in the network. By receiving submitted transactions from other users, the receivers update their local tangle by attaching the new transaction to the corresponding tips.

Ii-B Tip selection algorithm

The method for choosing two tips for verifying is called the tip selection algorithm and is an important decision for users. To resist to various types of attacks and to reduce the negative impact of lazy nodes (see [6]), three kind of tip selection algorithm are proposed in [6]: Uniform Random, Unweighted Random Walk and Weighted Random Walk algorithms. From the analysis proposed in [6] the most advanced tip selection algorithm is weighted random walk algorithm.

The Weighted Random Walk

is an application of Markov Chain Monte Carlo (MCMC) algorithms. The main idea is that multi-random walks are launched in the middle of the tangle. A random walk will go towards candidate tips following opposite direction of the arrows in the DAG (e.g., the opposite direction of the arrows in Figure

1). As a transaction in a tangle could have several directly verifying transactions, the cumulative weight of a transaction in a tangle is the total number of the transactions verifying

directly or indirectly. The more cumulative weight a next transaction has, the higher probability the random walker will go to it.

Weighted Random Walk has a configurable parameter to control the effectiveness of the cumulative weight. With a high enough , even if the cumulative weights of two transactions has a small difference, the transaction with a bigger cumulative weight will have a higher probability to be chosen by the random walk. On the other hand, if is small enough, even if the cumulative weights of two transactions have a big difference, they have almost the same probability to be chosen by the random walk.

The steps of the Weighted Random Walk algorithm are as follows:

  • Chose an interval in tangle, , where represent the depth or the length of tangle.

  • Place random walks particles on transactions in that interval.

  • Let particles perform discrete direct weighted random walkers toward tips.

  • Chose the two tips reached first by the random walks.

Note that to avoid choosing lazy tips that verify old transactions, IOTA may discard random walks who reach tips ”too fast”.

Ii-C Confidence of transactions

Transactions in tangle need to get enough (not only in terms of quantity) verifications to be finally considered as confirmed. In Bitcoin-like blockchains, we say that a transaction can be confirmed with high probability, if there are at least blocks appended to the block that contain .

The confidence of a transaction is a percentage between and . A transaction in the tangle can be considered as confirmed, if it has has enough confidence. Note that ”enough” depends on the relation between the participants to the transaction. For a transaction between friends, 80% of confidence could be ”enough” instead of 100% for transaction between two strangers.

The confidence of transaction is in relation to the tips selection algorithm. The general idea is that if a transaction has a high probability to be verified by new tips in the future, then this transaction will have a high confidence. For a given instant, , we launch the tips selections algorithm times. Each run selects a tip. Let be one of the tips in the tangle at instant , and is the number of time has been selected after launching times the tips selection algorithm. Given a transaction , let contains all tips that verify directly or indirectly. The confidence of the transaction , is:

(1)

Ii-D Drawbacks of IOTA-tangle

In [6] it is recommended that the Weighted Random Walk algorithm needs to chose a relatively high in order to avoid Splitting attack.

Ii-D1 Splitting Attack

In a splitting attack, the attacker splits the tangle into two branches so that s/he can launch double spending in these two different branches. When the total cumulative weight of one branch goes down compared to the other branch, the attacker generates several meaningless transactions to keep the balance between these two branches. Figure 2 illustrates a splitting attack. The attacker first generates two conflicting transactions attached to the same previous transactions. Any honest user who wants to verify both of them has to chose only one of them during the tips selection. Two independent branches therefore are generated automatically by the users of IOTA. As these two branches independently belong to two different verification paths, a pair of double spending transactions appended to one and another will both be considered as correct transactions, if these two branches keep growing evenly. As the probability of having the same total cumulative weight for these two branches is very low, without additional intervention, more and more honest transactions will chose the branche with higher total cumulative weight according to weighted random walk tip selection algorithm. However, the attacker will keep the balance between these two branches by submitting meaningless transactions to the branch having the smaller total cumulative weight.

Fig. 2: Illustration of a splitting attack scenario.

To avoid splitting attacks, a high value is needed for weighted random walk tips selection. So that it will be very hard for an attacker to keep the balance between two branches. However, the higher is, more tips could be left behind according to the Weighted Random Walk algorithm given in Section II-B.

Figure 3 shows a tangle with a relative high

. Grey vertexes are tips, we can consider the tips in the left side as tips that are left behind, and the tips in the right side as tips that are not left behind (for the moment).

Fig. 3: An example of tangle with a relatively high . As can be seen, many tips are left behind.

Using the weighted random walk algorithm with relatively high , the tangle is resilient to splitting attacks but converges to an important rate of left behind tips. This means that the honest tips who have been left behind cannot get any chance to be verified except for the tips that are re-submitted. A similar conclusion is also presented in [3].

We define the level of confidence fairness at a time , , for a tips selection algorithm in a given IOTA-tangle network configuration. That is minus the proportion of none left-behind transactions to all transaction at time instant .

Fig. 4: An example of tangle with relative low : very few tips are left behind.

The weighted random walker tips selection with high therefore, according to our analysis, has a lower confidence fairness, compared with low case shown in Figure 4.

Iii G-Iota

According to the analysis given in the previous section, II-D, recent tips selection weighted random walk used in IOTA-tangle gives a low fairness when choosing a relative high to resist splitting attack. For this reason, we propose G-IOTA that allows honest transactions in a tangle to increase their confidences evenly and quickly to meet the requirement of high confidence fairness. Implicitly, this way, no honest tips and transactions will be left behind during the growth of the tangle. Transactions with low confidence for a relatively long time can be considered as fake transactions. Therefore, fake transactions can be detected easily which easy to implement a punishment mechanism in G-IOTA.

Iii-a Transaction confidence and Tips selection algorithm

Our high confidence fairness tips selection algorithm aims at increasing the confidence of all honest transactions. In the following we will discuss the relation between Transaction confidence and Tips selection algorithm.

From the analysis proposed in [6], we conclude four important facts that could help understanding the relation between confidence and tips selection.

Note 1.

The confidence of the majority of the honest transactions increases with the evolution of the tangle.

Note that each transaction approves two other transactions. It is clear that with the increase of the depth of a tangle, a given transaction has an increased probability to be verified directly or indirectly by the recent tips.

Note 2.

Transactions will hold their confidences once it reaches 100% with high probability.

That is, when the confidence of a transaction goes to 100%, all the tips in selected by runs of tips selection algorithm verify directly or indirectly. Then, when new tips come into the tangle they will chose with high probability tips to verify only among tips in .

Note 3.

The confidence of a transaction is at least equal to the maximum confidence of a transaction among all the transaction verifying directly or indirectly.

(2)

where the symbols means transaction approves directly or indirectly.

That is, consider verifies transaction directly or indirectly. If , that means that by launching a lot of tips selection algorithm, tips verify . As verifies , that means selected tips also verify . The confidence of therefore is at least equal to the maximum confidence of a transaction among all the transactions verifying .

Note 4.

If a none-tip transaction has been left behind, transactions will also be left behind. And there must be at least one tip approving having a low probability to be chosen by the tips selection algorithm, which means these tips will be left behind with high probability.

If one tip has been left behind, there could be some none-tip transaction approved by it that has been left behind.

That is, according to Note 3, all transactions verifying the left-behind transaction could not have higher confidence than has, they will therefore be left behind in the future with high probability. The reason that a non-tip transaction is left behind is that this transaction cannot get new verifications from incoming tips. That means that the current tips approving have very low probabilities to be selected by the tip selection algorithm.

If a tip has been left behind, it could lead to some left-behind transaction, but not for sure because non-tips transactions approved by it could have other tips that could be chosen by the tips selection algorithm.

To increase the confidence fairness and to reduce de number of left-behind transactions, there are three intuitive ways, according to our analysis above:

  1. Increase the number of non left-behind tips that verify the left-behind transactions directly or indirectly.

  2. Increase the probabilities that tips verifying left-behind transactions directly or indirectly can be chosen by the tips selection algorithm.

  3. Increase the confidence of , the left-behind transactions.

Iii-B Confidence fairness aware tips selection algorithm

According to the analysis detailed in Section III-A, we propose a new confidence fairness aware tip selection algorithm G-IOTA. This new algorithm is based on the weighted random walk tips selection. In addition, we integrate a Left-behind Tips Protection mechanism that allows tips who have been left behind regain the opportunity to be approved by incoming tips, which further decreases the transactions left behind.

The G-IOTA tip selection algorithm is as follows:

  1. Launch the weighted random walk tip selection algorithm.

  2. Chose the two tips selected by the tips selection algorithm. Note them as and .

  3. Search in the tangle tips left behind.

  4. Chose one left-behind tip whose verification path contains the smallest average confidence (among all non-confirmed transactions) as the candidate of .

  5. Approve , if it is conflicting with verification paths of and , then postpone the candidate to the one who has the second smallest average confidence, until we find one candidate for that does not conflict with and . therefore is the chosen left-behind tips.

  6. Chose , and as three selected tips, if exists; chose only and , otherwise.

Note that our new tips selection algorithm allows each new transaction approve additionally a left-behind tip if there is any. This mechanism allows left-behind tips to be approved by new incoming transactions. The reason is simple: when a new transaction arrives and choses two first tips, and , following the tips selection algorithm, this new transaction will have a relative high probability to be approved in the future according to Note 1. If adopts the left-behind tips protection and approve one more left-behind transaction then will also get the chance to be approved in the future, because the confidence of , is at least equal to , according to the Note 3.

Figure 5 shows how the left-behind tips protection gives the opportunity to the left-behind tips and transactions to increase their confidence. At a given instant, a partial view of a tangle is as follows. Ignore the new incoming tips, the two grey vertexes are left-behind transaction and tips. The reason for that is that the branches they belong have significantly smaller cumulative weights compared to the other branches. The probability that grey tips can be chosen by tips selection algorithm is therefore significantly smaller than for the other tips in another branch. Then a new transaction (will be a new tip) comes. Very likely, according to weighted random walk tips selection algorithm, it choses and among the tips in the lower branch in the figure. As there is a left-behind tip present in the tangle, the incoming tips need to approve it respecting the new tips selection algorithm description. In this way, the incoming tips verify a left-behind tip, so that this left-behind tips regain at least the confidence of the incoming tips, and so does the left-behind transaction. As the new tips verify and in the branch with a higher cumulative weight, these new tips therefore can continuously increase their confidence according to Note 1.

Fig. 5: Tips selection with left-behind tips protection

By using the G-IOTA tips selection, all honest tips will be guaranteed to receive one first approve in a fixed difference of depth, , the threshold in the definition of left-behind tips. The G-IOTA tips selection therefore holds a very high confidence fairness since the left-behind transactions regain their confidence with the evaluation of tangle.

Iv Discussions

In this section, we discuss and analyze the strengths and the weaknesses of G-IOTA.

Iv-a Incentives and Punishments

We show that our new tip selection algorithm has a good confidence fairness. However, why would a user do additional verification to approve the third tips to protect left-behind tips? A reasonable incentive is that user helping other transactions to regain the opportunity being approved will also receive help from others if the honest users are the majority.

Also, in the process of choosing only one tip to approve from two conflicting verification paths during the choosing of and , we can chose the one whose verification path contains more transaction carrying out the left-behind tips protection mechanism as a additional reward. Because verification paths with more transaction carrying out the left-behind tips protection means more honest user choosing this path to attach their transaction. Note that by helping left-behind tips, the whole confidence in the tangle of honest transactions will increase fast. The conflicting transactions, on the other hand, will be left-behind fast, because honest users will not verify them. We can therefore recognize and locate these conflicting transactions if they always hold low confidence for an unusual long time duration (). This big different confidence between honest transactions and fake transactions can be used further as punishment mechanism.

Iv-B Mutual Supervision Mechanism

What if a speculative user always verify a third tip, a non-left-behind tip, to pretend it works hard for helping the others? Or what if a lazy user only chooses non-left-behind transactions to verify and pretends his/her new transaction has become a left-behind tips. This lazy user then waits for others to save that transaction?

Here we propose a Mutual Supervision Mechanism that allows the user in the G-IOTA system detect speculative or lazy behaviour. The idea is that, when a user receives a new submitted transaction sent to him, it can look into his/her local tangle, if once the tips selected, , or is not a left-behind tips for a long time, meaning that this transaction has at least one path with length to one tip. The receiver can block this transaction or announce the sender that, s/he is cheating. By the supervision of all honest users in the G-IOTA system, the speculative and lazy users cannot profit from their behaviours.

Note that, depends on the network latency. In a high-latency network environment, different nodes could have a different view between their local views and the real view of world tangle. That leads an honest user think that a transaction is still left-behind in the tangle, even it has already been protected by others in the real work tangle, we therefore can use a relatively high to tolerant this case. However, in a low-latency network environment, every user normally receives new transactions and flash their local tangles very fast. We say that the local view and the real view of tangle has a very small difference. In this case, could be relatively small because honest users will not be affected by the network latency. More possible impacts of the network latency to the G-IOTA network is also an interesting future work.

Iv-C Attack Analysis

The G-IOTA tip selection algorithm follows basically the same idea as Weighted Random Walk except for the left-behind tips protection mechanism. This new algorithm still takes two recent tips as the two parents following the same way of Weighted Random Walk. The new tip selection therefore tolerates all the attacks mentioned in [6]. In addition, our left-tips protection mechanism allows higher than Weighted Random Walk of the original IOTA protocol. Therefore, it has better resistance to splitting attacks.

V Conclusion and Future Work

In this work, we proposed G-IOTA, a new tips selection mechanisms that combines a confidence fairness aware tips selection algorithm and a mutual supervision mechanism. The new tips selection algorithm, chooses not only two tips as the classical IOTA but one more tip, which is a left-behind tip in the tangle. That allows increasing the fairness in terms of transaction confidence for all honest transactions in tangle and guarantees the first approval for all honest tips. Integrated incentive and mutual supervision mechanisms guide users to abide by the proposed algorithm. In addition, the new tips selection algorithm tolerates all the attacks tolerated by IOTA-tangle, including the splitting attack.

As future work we intend to extend the analysis proposed in [7] in order to prove that G-IOTA tips selection is a Nash Equilibria.

References