May I request that if you want to have a discussion about theory behind graph models for transaction state, that you create a new thread and we will discuss it there. Then after we reach mutual understanding, we will post the summary back in this thread. I don't want to make this thread unnecessarily noisy.
I don't think trees will work and that is why I think we will end up writing a long discussion. And this thread is already getting difficult to follow, being too long to digest holistically in a reader's mind.
This is not specifically about trees; it could be any single, completely linear sequence of chained transactions. In fact, I think the reader would be enlightened by the answer to this simple, direction question about trustless consensus:
Why is it not enough to find one global sequence for all transactions ever made?As I see it, sequencing is all you need, even in the face of double spends because the first time an output is spent in this linear sequence, subsequent spends of the same output will simply be invalid.
There doesn't exist such a sequence. As
I explained upthread when I first started discussing the Inconsistency problem of a DAG, such a linear sequence would require every transaction get into a global
synchronous queue, which would mean every one a million global transactions per second would have to wait in line to processed.
Relativity of spacetime (link to my blog) tells us that the truth about the ordering of events happening simultaneously is relative to the perspective of the observer. Another way of looking this, is that the speed-of-light isn't infinite so we couldn't be informed as to the relative ordering of events that occurred within the propagation time of the speed-of-light. And if the speed-of-light was infinite, then the past and future would collapse into an infinitesimal point and we would not exist (i.e. friction is necessary for existence).
So instead of attempting the impossible goal of eliminating relativity from our universe, we instead want to arrive at an
arbitrary consensus choice of ordering. That ordering choice will by definition be one of a plurality of possible perspectives, and we need some way to
unambiguously choose a perspective such that no one can disagree.
Competing ambiguously ordered double-spends make it impossible to have agreement about which ordering is correct.
Satoshi's single longest chain PoW design insures there can only be one winning perspective on the ordering and thus there is no competing ordering with ambiguously ordered double-spends. Whereas, a DAG (or any tree with multiple branches) can't unambigously define an ordering in its data structure. I know you will think we can order these in time, but I already explained upthread that there is no global clock to timestamp these nodes of the tree with. Thus the only ordering is the structure of the graph.
So what Iota does is build a mathematical model that it expects all participants to adhere to which defines a probabilistic ordering, but I assert that participants are not bound to this mathematical model and can choose any game theory they want. Again I don't want to rehash these arguments about DAG/Iota, which
I already explained upthread. If ever I produce a competing coin to Iota, then I will probably be forced to explain this more clearly in a whitepaper so that it can be known that a DAG simply won't work. But for now, I have no strong incentive to go trying to publicize that. So long as Iota doesn't start trying to promote their coin in this thread. I have been fair enough.
I believe its impossible to implement total order or anything like it, without a actually distributed timestamp mechanism.
Aye, the same is observed in general theory of relativity
Yup.
CAP does not apply to distributed systems. Sure, state can be inconsistent, but that's not necessarily a problem. Consistency is usually over-rated by academics, and that's how one often ends up with misleading theorems.
Sorry but you lack imagination and thus understanding. As Einstein said, be careful not to read too much, because one loses the ability to think for themself. CAP does indeed apply and I have explained in this thread how a DAG breaks Consistency because it allows Partition tolerance. The summary above for monsterer should be convincing enough.
The basis of blockchains is Lamport's work on how communication can happen in such a distributed system. In essence there needs to be consensus on a partial order of events. Total consensus on one variable is impossible, since information can't travel faster than light, but it is not required. If node A knows that X = 1, he sends a message to B "X = 1". But it might be that before that message reaches B, that X = 2. This in itself is not a problem. Bitcoin's PoW indeed solves the double-spending problem.
[...]
Blockchains doesn't mean that all nodes agree on a total order of events. It means consensus on partial order of events.
That agrees with what I wrote above.
Its possible even at a distance to know what happens first, as long as Peers are honest
But we are designing trustless, decentralized systems here, so that case does not apply. And that is the problem with a DAG.