Live data from Hacker News

BitUndo – Double Spending as a service

bitundo.com

31–40 of 59 posts

Re: BitUndo – Double Spending as a service

#31
post #26
post #21

Previously, processors and merchants accepting bitcoin payments would wait until a large fraction of bitcoin nodes listed a 0-conf txn as "valid-but-unconfirmed," the so-called memory pool or mempool (because it is a collection of transactions in RAM). This works well, because we empirically know how nodes operate: they accept these valid-but-unconfirmed txns into the blockchain and reject (both discard and fail to r…

> processors and merchants accepting bitcoin payments Citation needed. The existing behavior is very easy to rip off: You write two transactions, the one paying yourself, one paying the merchant. Simultaneously you hand a big miner the first while handing every other node you can reach the second. It's very likely that the first doesn't propagate at all, but you'll have a decent successrate at reversing. Blockchain.i…

It took me a bit, but I think I now understand what you are saying. I'm a novice, so please correct me if I'm wrong.

The "greedy" behavior would be when minors explicitly prefer a sequence of transactions such as:

Customer => Merchant: X+ε (1)

Merchant => fees: X+ε (1)

over

Customer => Customer: X+ε (2)

Going so far as to swap out (2) with (1), even if they already have (2). If there is no double spend, presumably the trustworthy merchant would send back ε after sufficient confirmation []. Or, in a world with fees, the ε would be fees in the original transaction (still serving the purpose of costing the malicious customer Bitcoin, even with successful double spend).

That seems like a decent solution.

[*] Or I suppose it could be in the same block. No difference.

Edit: formatting made it unclear.

Re: BitUndo – Double Spending as a service

#32
post #2

Wild. So, if this takes off (ie, enjoys miner adoption) and if the incentive structure works as advertised (ie, miners stand to make more by accepting the invalidating transactions), then this pretty much destroys the credibility of 0-confirms except with trusted parties, yes?

That's a good thing. Unconfirmed transactions are.... get this... unconfirmed. :)

If people treat them that way, the network will be stronger.

Re: BitUndo – Double Spending as a service

#33
post #27

Earlier quoted context omitted.

> It doesn't really look like this is meant to make any money for the developer yet Incorrect. > the new fee you will need to pay is 10% of the undo amount, plus the original mining fee. Note: If you are sending a secret transaction, you must then double this fee http://www.bitundo.com/developer.html

Ah, I didn't catch that part. 10% of the transaction seems like quite a steep fee. I don't really like how they hide the fee breakdown buried in the developer documentation.

It's not bad considering this is an emergency service that might prevent you from losing the full amount.

Re: BitUndo – Double Spending as a service

#34
post #7

Interesting product. It doesn't really look like this is meant to make any money for the developer yet (maybe the plan is to add fees to their mining pool at some point in the future?). I suspect the point is to drive policy so that companies and individuals don't trust transactions with zero confirmations, or at least start checking for double-spend attempts. The standard right now for many companies is to accept ze…

This is why it exists https://bitcointalk.org/index.php?topic=257525.0

Bitcoin apps/sites are using blockchain.info API as a hot wallet. I bet some exchanges are secretly doing this too. Surprised there doesn't already exist a hot wallet as a service yet. A competent one would make assloads of profit from gambling and betting sites that don't want to run their own.

Re: BitUndo – Double Spending as a service

#35

Doesn't this mean paying with bitcoin in the real world is now broken? Merchants will either have to make people wait for up to 10 minutes for the transaction to confirm or risk that person reversing the transaction after walking out the door.

Merchants already have to understand and factor in risk with credit card reversals – merchants will need to learn what their risk is with bitcoin and factor that risk into their price just as they already do (or should do) with the risk from non-cash txns.

Re: BitUndo – Double Spending as a service

#37
post #7

Interesting product. It doesn't really look like this is meant to make any money for the developer yet (maybe the plan is to add fees to their mining pool at some point in the future?). I suspect the point is to drive policy so that companies and individuals don't trust transactions with zero confirmations, or at least start checking for double-spend attempts. The standard right now for many companies is to accept ze…

> It doesn't really look like this is meant to make any money for the developer yet Incorrect. > the new fee you will need to pay is 10% of the undo amount, plus the original mining fee. Note: If you are sending a secret transaction, you must then double this fee http://www.bitundo.com/developer.html

If miners want to provide this service, can't they just resolve double-spends based on mining fee?

It doesn't seem like it there needs to be a middle-man here.

Re: BitUndo – Double Spending as a service

#38
Right now nodes do not accept double spending transactions, no matter how much they pay in mining fees. This makes simple security promise for 0-conf transactions: the most relayed version is the one that most probably will be included in the block. So merchants can accept such transactions because they know that reversing it would cost much more than 100% of the transaction value.

If enough nodes on the network replace transactions when the mining fee is, say, 10% higher than the previous version (or 10% of the total amount, or whatever), then for the user it is much cheaper to “take money back”. You will send $5 for your coffee and get back $4 with no sweat. Merchant will lose all $5. You can say goodbye to 0-confirmation transactions.

So what do we have:

1) Users get some sort of “undo” function which is nobody was asking for. In my view, if there’s a problem with accidental button clicking in the UI, it’s simpler to fix right there, not by changing the entire network.

2) No one can rely on 0-confirmation transactions anymore. Even today they are not safe, but for small purchases the risks are pretty low, so they work for many people to everyone’s satisfaction. But with network-wide “replace with higher-fee transaction” the risk will go up significantly to make this feature unusable.

However, in the long run, 0-conf transactions won’t be the future of instant micropayments (we’ll have some sort of distributed clearing network instead), so we might not care that much. But the value of “undo” is still very questionable to throw away usefulness of 0-conf transactions today.

Final note: Bitundo can’t be useful when it’s small. It’s either working more than 90% of the time for legitimate “undos” (which makes 0-conf txs useless) or it’s used marginally only by those who wish to rob merchants who accept 0-conf transactions. In which case they still may render 0-conf transactions useless.

Re: BitUndo – Double Spending as a service

#39
post #3
post #2

Wild. So, if this takes off (ie, enjoys miner adoption) and if the incentive structure works as advertised (ie, miners stand to make more by accepting the invalidating transactions), then this pretty much destroys the credibility of 0-confirms except with trusted parties, yes?

There never was any credibility behind an unconfirmed transaction.

No, there is credibility demonstrated by actual practice. Merchants accept zero-confirmation transaction, specifically in-person. Yes, there's a risk that the transaction never gets in the block or is double-spent, but that risk for certain kind of transactions is low enough to be tolerated.

Re: BitUndo – Double Spending as a service

#40
post #7

Interesting product. It doesn't really look like this is meant to make any money for the developer yet (maybe the plan is to add fees to their mining pool at some point in the future?). I suspect the point is to drive policy so that companies and individuals don't trust transactions with zero confirmations, or at least start checking for double-spend attempts. The standard right now for many companies is to accept ze…

Breaking instant payments doesn't make Bitcoin more secure, it just makes it less useful. The model generalises to probabilistic rewriting of the block chain, there's nothing special about confirmed vs unconfirmed.

Bitcoin assumes the majority of hash power obeys the rules. At the moment, nobody knows how to build a system in which the majority of all players are dishonest and colluding against you, and Bitcoin is definitely not such a system. People who think it can be trivially evolved into such a system need a reality check: the more miners become dishonest and don't play by the rules, the less useful Bitcoin becomes. It doesn't take 51% to make it practically useless either.

Post reply on HN