17

Since each double spend, from its perspective, is a valid transaction, they are equally likely to be selected as tips. How will multiple parties agree for certain which one has confirmed, in a timely and deterministic fashion?

30

In every DLT, a transaction have a probability to be valid. (In Bitcoin, a transaction is valid as long as it is written in the longest chain, so the probability for your transaction to be invalid is the probability that a longer chain exists somewhere without your transaction).

In a blockchain like Bitcoin: 2 conflicting transactions cannot be in the longest blockchain.

In the tangle it is fundamentally different: 2 conflicting transactions can be in the tangle. It is not a problem because only one of them will eventually be seen as valid.

The probability for a transaction to be valid is equals to the proportion of tips validating the transaction (directly or indirectly). I created some illustrations to explain how a double spend is detected. Let's start with a tangle without a conflict: 5 tips no coordinator; no conflict

Now if you introduce conflicting transactions (X and Y) in this tangle we will have this : same tangle with a conflict

When we add more transaction, the conflict will be detected and kind of split in the tangle will occurs: split tangle after adding more transactions even more transactions

And the split will be resolved by eventually making the red part orphan. even more transactions; one side "wins"

In this example, the tangle choose Y as valid, fundamentally this decision was random, but once this decision is taken it become practically impossible to revert it.

Regarding the time to detect, you can figure out that it depends on:

  • the number of new transactions
  • the average "width" of the tangle
  • Great answer. Are those diagrams self-created? – Helmar Jan 1 '18 at 12:50
  • 5
    yes, I have some free time these days ;) – ben75 Jan 1 '18 at 13:11
  • 1
    For both questions : yes. – ben75 Jan 1 '18 at 21:10
  • 1
    Can I use your diagrams on iotaprices.com ? I'll credit you, of course. – jabman Jan 2 '18 at 17:00
  • 1
    @jabman Thanks for asking :) and yes you can use them as long as you respect the terms of the stackexchange licence. Mainly "proper attribution is required" – ben75 Jan 2 '18 at 22:11
2
+50

Generally speaking, the double-spend which is directly and indirectly referenced by more transactions (i.e. has a larger cumulative weight) will most probably get confirmed. This is because more nodes will have accepted that double-spend and will thus impose their consensus on the rest of the network (eventually) by simply ignoring/orphaning the other double-spend. Note that I am talking probabilistic terms.

One could compare this to bitcoin where the longest chain will always prevail.

  • 1
    Doesn't this bring up the annoyance someone can cause by simply issuing double spend transactions to delay confirmations of valid transactions? Or am I missing something here. – Scott Foster Jan 5 '18 at 16:31
  • wouldn't those double spend transactions have to each compute two other transactions? (I can't say I understand this at all, so take my comments with a grain of salt) It seems like issuing more transactions would speed up the confirmation of valid ones, right? – stephan.com Jan 6 '18 at 7:09
  • Since the tip selection is pseudo-random does this mean that the transaction that succeeds does so by chance and not according to actual order they were originally issued by (temporal order)? – The Coordinator Dec 19 '18 at 6:47

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.