5 ms·
I am sorry, but I think I am missing something here: isn't the "double spend problem" actually needing to be resolved by the choice of including one specific tr
by netfortius 4y ago
I am sorry, but I think I am missing something here: isn't the "double spend problem" actually needing to be resolved by the choice of including one specific transaction (and no others), from a set of conflicting ones, truly relevant (vs. irrelevant)?
- nosianu 4y agoThe point is that it does not matter which one is included, only that it's only one of the choices that all agree on. Which one that is is not relevant, there is no part of the algorithm that determines one transaction to be "more valid" than another one. There is no ranking of transactions, one of them has to be picked but which one it is can be random, as long as there is agreement. Also see the response from and sub-thread from uncletammy.
- mhluongo 4y agoThere are certainly tx validity rules, though, and when presented with a set of equally valid txs, miners will likely choose the one that is best for them (called "MEV", miner extractable value).
- nosianu 4y agoNeither the OP or me said there are no rules and they have to use an RNG to make a decision, only that it does not matter. That they then go and use an algorithm that maximizes their profits is only to be expected and the rational outcome from the fact that there is no other constraint from the technical algorithm.
- mhluongo 4y agoJust sharing for general interest / awareness, not as a "gotcha". Though I will point out... > only that it does not matter ... that this isn't true! MEV can destabilize consensus. There's been research around this in the Bitcoin/Lightning ecosystem, and it's been an active discussion in Ethereum for quite a while.
- paulgb 4y agoYes, a specific transaction needs to be chosen as the consensus transaction. But if there are multiple to choose from (e.g. in the case of an attempted double spend), the miner can choose either one. The blockchain doesn’t guarantee, for example, that the transaction which appeared earlier will always be chosen (in practice, it’s likely the one with the highest transaction fee)
- Nursie 4y agoIIRC there were some hacks on bitcoin ATMs using this sort of knowledge. The attacker would set up a withdrawal of (IIRC) CAD on the ATM, then transfer the bitcoin. The ATM would see the transaction, and dispense the cash. However the attacker would immediately, before the next block was generated, send the same BTC to another address which they controlled, with a higher fee. The miner would discard the first one and roll the update into a new block. I may have one or two of the details wrong (is there an explicit way in the bitcoin protocol to mark a transaction as superseding a previous one?), but anyway, like many things, it worked until they got caught.
- FabHK 4y agoATMs would dispense actual cash when a transaction enters the mempool without waiting for (say) 6 confirmations? That seems like a pretty egregious design choice even a decade ago. If that story is true, the ATM designers merited the loss.
- Nursie 4y agohttps://thenextweb.com/news/double-spenders-scam-150000-bitcoin https://thenextweb.com/news/double-spenders-scam-150000-bitc... 2018, and yes, it seems like the Bitcoin arms were dispensing cache as soon as a valid transaction but the mempool.