Could a member of that forum pls re-post it here or stick it up on pastebin? thanks
June 26, 2014, 11:38:05 pm
Let me bring back an idea that we briefly discussed in our private conversations with Chuck and Matt, but then kind of left behind. So, why do we need a chain of blocks, and not a DAG? I mean a "one-ended" DAG, of course, so that there are sometimes parallel branches, but they eventually merge:
That's an easy question: it is because if the "parallel" branches are allowed, they may contain "conflicting" information, leading e.g. to double-spends. OK, for now.
But let me ask another question: why are we obliged to have only one blockchain, which is used for virtually everything?
Suppose that we need a place for storing some sort of information, such that no conflict between "parallel" chains may arise. For example, the accounts may "declare" or "register" something (e.g., "I've just forged a block", "I've just made an instant transaction"), wanting to later have a proof they did it (i.e., this can be particularly useful for timestamping). Then there is no problem if different "declarations" are made on different branches: this just proves that the account has declared two different things (those declarations are signed, of course). So, why not use a DAG? It can be probably built faster (the network latency is not so much a problem), and, if a restricted set of nodes is allowed to build this DAG, it can be really fast, IMHO.
So, what do you think? In my opinion, if this is viable, it can be quite useful for TF.
EDIT1: It seems I didn't express myself in a sufficiently clear way. Of course, for money transactions, there should be one and only one chain. But if we want to store some other information for which there is no possibility of conflicts similar to double-spending, we may well use another chain for that, or even a DAG.
EDIT2: I think there is a very important advantage of DAGs over chains: it is much easier to attack a chain than to attack a DAG! As you know, there are many attack scenarios that go like this: a bad guy is doing something to create an alternative subchain, and then feeds this subchain to good guys. If the alternative subchain is "better", then the Dark Side wins. However, this kind of attack would be useless if a DAG is used instead of chain: the nodes would just store the two subchains, and that's all.
« Last Edit: June 27, 2014, 03:25:41 pm by mthcl »