Bitcoin Forum
June 20, 2024, 05:49:06 AM *
News: Latest Bitcoin Core release: 27.0 [Torrent]
 
   Home   Help Search Login Register More  
Pages: « 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 [18] 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 »
  Print  
Author Topic: DECENTRALIZED crypto currency (including Bitcoin) is a delusion (any solutions?)  (Read 91080 times)
monsterer
Legendary
*
Offline Offline

Activity: 1008
Merit: 1002


View Profile
January 12, 2016, 07:11:48 PM
 #341

Asynchrony will always be the case. It can't be an exceptional case. How can you get the world's transactions to all stand in line in a queue without a centralized server.

It is not when they send, it is when they begin composing their transaction. There is a latency between the time they start that, and the transaction has propagated. Therefor they can't all stand in line. You seem to have no clue. I wish you would think more and post less.

The case you outlined above is only possible when N users simultaneously compose a transaction with the same DAG state. In order for this to be divergent this would need to happen over and over, and I just don't see that being very likely.

Even if this pathological case does cause divergence, like I say, you just vary the POW with each composition and it will reduce the probability of this occurring greatly.
TPTB_need_war (OP)
Sr. Member
****
Offline Offline

Activity: 420
Merit: 262


View Profile
January 12, 2016, 07:20:45 PM
 #342

Asynchrony will always be the case. It can't be an exceptional case. How can you get the world's transactions to all stand in line in a queue without a centralized server.

It is not when they send, it is when they begin composing their transaction. There is a latency between the time they start that, and the transaction has propagated. Therefor they can't all stand in line. You seem to have no clue. I wish you would think more and post less.

The case you outlined above is only possible when N users simultaneously compose a transaction with the same DAG state. In order for this to be divergent this would need to happen over and over, and I just don't see that being very likely.

Even if this pathological case does cause divergence, like I say, you just vary the POW with each composition and it will reduce the probability of this occurring greatly.

It is a statistical phenomenon. The math is in the white paper. You won't get some cleanly ordered scenario such as you are are diagramming. Instead we must use probability to model it. And my point remains that it is impossible to force a strategy on the payers unless you use centralized servers. When you analyze the game theory of what they do decentralized, your simple graphs make no sense. The payers can't know what all the other payer's are doing before those transactions appear on the DAG. There isn't one consistent global state at any given point in time. CfB please do correct me if I make an incorrect statement.


1. But it may not always be unambiguous or other reasons that they can't do what you think they are incentivized to do. MUST is not the same as incentive. Be very careful in analyzing the details of consensus designs.

1In fact, the author's feeling is that the tip approval strategy is the most important ingredient for constructing a tangle-based cryptocurrency. It is there that many attack vectors are hiding. Also, since there is usually no way to enforce a particular tip approval strategy, it must be such that the nodes would voluntarily choose to follow it knowing that at least a good proportion of other nodes does so.

monsterer
Legendary
*
Offline Offline

Activity: 1008
Merit: 1002


View Profile
January 12, 2016, 07:34:50 PM
 #343

It is a statistical phenomenon. The math is in the white paper. You won't get some cleanly ordered scenario such as you are are diagramming. Instead we must use probability to model it. And my point remains that it is impossible to force a strategy on the payers unless you use centralized servers. When you analyze the game theory of what they do decentralized, your simple graphs make no sense. The payers can't know what all the other payer's are doing before those transactions appear on the DAG. There isn't one consistent global state at any given point in time.

As transaction frequency increases, the likelihood of branches increases with it due to propagation delays; this is exactly the same problem as in blockchains - when you decrease the block frequency, orphan rate increases.

However, in a DAG, this situation is different because each branch is not an orphan, so what you end up with is several parallel chain heads, which mitigate the problem since the likelihood of any one single chain head being picked to be extended by all participants decreases linearly with the number of heads.
TPTB_need_war (OP)
Sr. Member
****
Offline Offline

Activity: 420
Merit: 262


View Profile
January 12, 2016, 07:42:53 PM
Last edit: January 12, 2016, 07:55:28 PM by TPTB_need_war
 #344

It is a statistical phenomenon. The math is in the white paper. You won't get some cleanly ordered scenario such as you are are diagramming. Instead we must use probability to model it. And my point remains that it is impossible to force a strategy on the payers unless you use centralized servers. When you analyze the game theory of what they do decentralized, your simple graphs make no sense. The payers can't know what all the other payer's are doing before those transactions appear on the DAG. There isn't one consistent global state at any given point in time.

As transaction frequency increases, the likelihood of branches increases with it due to propagation delays; this is exactly the same problem as in blockchains - when you decrease the block frequency, orphan rate increases.

However, in a DAG, this situation is different because each branch is not an orphan, so what you end up with is several parallel chain heads, which mitigate the problem since the likelihood of any one single chain head being picked to be extended by all participants decreases linearly with the number of heads.

And therefor double-spends can't be unambiguous. There is no way to just remove the double-spend from the chain as in your nonsense chart in the other thread. Thus the payers will unlikely reference any chain with a conflicting double-spends. So you can shut the entire Iota down by spamming the chains with double-spends. Because the latency is not zero between the time transactions are constructed and they are globally recorded on the DAG!

Why would payers risk referencing a chain that has a conflicting transaction since due to latency it is impossible to know which one will be the longest. You can't just wait a while because there is no clock on the chain to know how long you have waited! Yet you can't prevent some payers from referencing the transaction before it is recognized as a double-spend, due to the latency in the system. So transactions get orphaned.

There is the flaw. Done.

Only way around it is to use a centralized server to dictate policy.

Sorry CfB, monsterer forced me.

Come-from-Beyond
Legendary
*
Offline Offline

Activity: 2142
Merit: 1009

Newbie


View Profile
January 12, 2016, 07:51:57 PM
 #345

Sorry CfB, monsterer forced me.

No need to sorry, keep it going this way, I'm preparing FAQ.
TPTB_need_war (OP)
Sr. Member
****
Offline Offline

Activity: 420
Merit: 262


View Profile
January 12, 2016, 07:59:08 PM
 #346

Sorry CfB, monsterer forced me.

No need to sorry, keep it going this way, I'm preparing FAQ.

The only solution is to have a server running a clock and payers trust their transaction policy to a server. But then all such servers need to coordinate else there is random ambiguity again.

It always comes back to centralization.

TPTB_need_war (OP)
Sr. Member
****
Offline Offline

Activity: 420
Merit: 262


View Profile
January 12, 2016, 08:03:05 PM
 #347

You can't just wait a while because there is no clock on the chain to know how long you have waited!

The payer can't just wait a while either because he can't know if his view is consistent with every other payer if his perspective is decentralized.

You say waiting works, but the attacker can add transactions to both double-spends to make the chains equal length.

There is no solution.

monsterer
Legendary
*
Offline Offline

Activity: 1008
Merit: 1002


View Profile
January 12, 2016, 08:08:22 PM
 #348

And therefor double-spends can't be unambiguous. There is no way to just remove the double-spend from the chain as in your nonsense chart in the other thread.

I'm still at a loss for why you think the double spend must be physically removed? It remains in place, simply not getting applied because its invalid. All other non-derivative chained transactions are processed normally.

I don't agree with your assessment.
monsterer
Legendary
*
Offline Offline

Activity: 1008
Merit: 1002


View Profile
January 12, 2016, 08:19:18 PM
 #349

You say waiting works, but the attacker can add transactions to both double-spends to make the chains equal length.

That's completely irrelevant. Both chains are valid, excepting for the double spend itself, so it doesn't matter at all.
Come-from-Beyond
Legendary
*
Offline Offline

Activity: 2142
Merit: 1009

Newbie


View Profile
January 12, 2016, 08:21:58 PM
 #350


@Come-from-Beyond

Are any of these concerns related to the special "coordinator" node?

No. The role of the coordinator is to protect Iota until it gets enough hashing power against people like Luke-Jr.
monsterer
Legendary
*
Offline Offline

Activity: 1008
Merit: 1002


View Profile
January 12, 2016, 08:23:21 PM
 #351

No. The role of the coordinator is to protect Iota until it gets enough hashing power against people like Luke-Jr.

Rather than having checkpoints, I would instead pay some honest miners to do the job for you; I think that'll work more cleanly and appear less centralised.
Come-from-Beyond
Legendary
*
Offline Offline

Activity: 2142
Merit: 1009

Newbie


View Profile
January 12, 2016, 08:30:27 PM
 #352

Rather than having checkpoints, I would instead pay some honest miners to do the job for you; I think that'll work more cleanly and appear less centralised.

Why? Coordinator node will give the same result for free. Honest miners is the same centralization but from another angle.
monsterer
Legendary
*
Offline Offline

Activity: 1008
Merit: 1002


View Profile
January 12, 2016, 08:35:52 PM
 #353

Why? Coordinator node will give the same result for free. Honest miners is the same centralization but from another angle.

Marketing.
TPTB_need_war (OP)
Sr. Member
****
Offline Offline

Activity: 420
Merit: 262


View Profile
January 12, 2016, 08:44:00 PM
Last edit: January 12, 2016, 09:03:40 PM by TPTB_need_war
 #354

Carrying on, if the rule on double-spends in order to defend against the attack I described is that all double-spends are invalid (since I have already shown the game theory that it is impossible to conclude which one has more weight[1]), the attacker can introduce double-spends at any time to reverse historical transactions. Thus the coin would be entirely untrustworthy and thus that rule can not be chosen.

We can't use time, remember there is no clock and no time. The only metric we have is cumulative PoW weight.

[1] In case my elucidation upthread was not clear, the more general flaw is that when a double-spend appears there is no way to know which of the chains will end up having the most weight. The attacker for example could continue appending transactions to the shorter chain. The honest payer has no incentive to risk it and will just choose to reference chain which has no conflict. Thus the attacker has all the PoW resources on the chains with double-spends. Iota's white paper makes the assumption that the honest payers will follow a different rule, but why would they follow a rule which pits them against the PoW resources of the attacker? They have no way to know how much resources the attacker has. Also they have no way to know how long ago the attacker precomputed a chain and is hiding it in wait. A few attacks by powerful adversaries will teach payEEs that they do not accept transactions from conflicting chains. The generalized description of the flaw is in addition the natural latency case of the flaw I described upthread.

But the key point is that due to latency (or the attacker just delays issuing the double-spend slightly), there will be some honest transactions on the tips of the double-spends. Thus the attacker can jam Iota because no payers will reference those transactions so they become orphaned. I haven't computed what level of PoW resources the attacker needs to effectively jam all transactions under the game theory assumption I outlined.

monsterer continues making the nonsense the that following transactions are not invalidated by the double-spend (DSPEND -> GOODA -> GOODB), but that is not the point. They become orphaned. Is there something not clear about the different meaning of those two words, orphaned and invalidated.

The fundamental problem is a DAG has no reference point. This is why all crypto currencies needs a single LCR with blocks. I await Fuserleer's design.

My early opinion is Iota's white paper makes assumptions that are not realistic. I will need to spend more time on it to be more forceful in my conviction.

Come-from-Beyond
Legendary
*
Offline Offline

Activity: 2142
Merit: 1009

Newbie


View Profile
January 12, 2016, 09:01:35 PM
 #355

Marketing.

Noone outside of BTT cares about centralization. Bitcoin had a single pool controlling 51+% at least twice. Did it change anything? I doubt. We target the real world, not BTT. Once Iota matures it will become decentralized naturally. Before that it's fine with coordination.
sidhujag
Legendary
*
Offline Offline

Activity: 2044
Merit: 1005


View Profile
January 12, 2016, 09:02:59 PM
 #356

Marketing.

Noone outside of BTT cares about centralization. Bitcoin had a single pool controlling 51+% at least twice. Did it change anything? I doubt. We target the real world, not BTT. Once Iota matures it will become decentralized naturally. Before that it's fine with coordination.
+1, aslong as there is a technical path forward to achieve it.
Come-from-Beyond
Legendary
*
Offline Offline

Activity: 2142
Merit: 1009

Newbie


View Profile
January 12, 2016, 09:04:38 PM
 #357

This is why all crypto currencies needs a single LCR with blocks.

Is it 99% again or 100% this time?
TPTB_need_war (OP)
Sr. Member
****
Offline Offline

Activity: 420
Merit: 262


View Profile
January 12, 2016, 09:05:14 PM
 #358

+1, aslong as there is a technical path forward to achieve it.

This is not a technical post. This is shrilling.

TPTB_need_war (OP)
Sr. Member
****
Offline Offline

Activity: 420
Merit: 262


View Profile
January 12, 2016, 09:05:46 PM
 #359

This is why all crypto currencies needs a single LCR with blocks.

Is it 99% again or 100% this time?

Publish your technical rebuttal.

Come-from-Beyond
Legendary
*
Offline Offline

Activity: 2142
Merit: 1009

Newbie


View Profile
January 12, 2016, 09:07:47 PM
 #360

Publish your technical rebuttal.

So it's 99%, ok.
Pages: « 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 [18] 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 »
  Print  
 
Jump to:  

Powered by MySQL Powered by PHP Powered by SMF 1.1.19 | SMF © 2006-2009, Simple Machines Valid XHTML 1.0! Valid CSS!