3 ms·
I'd love to hear more about the decision trade off they made. On the one hand, you want to have a minimum of at least a handful of confirmations to verify that
by geuis 13y ago
I'd love to hear more about the decision trade off they made. On the one hand, you want to have a minimum of at least a handful of confirmations to verify that the btc aren't being double-spent. This means a delay of several minutes or longer. Alternatively, you can accept on faith with zero-confirmations that the btc is legit.
In this case, it sounds like Namecheap decided the ease of use is economically more valuable than the threat of being cheated. I like this line of thinking.
Further, it could be that it's not really a risk for Namecheap, because they can reverse a domain name purchase afterwards if the btc payment is fraudulent.
- drcode 13y agoThe latest I've heard is that an extremely sophisticated hacker can roll back* a zero confirmation transaction in about one third of attempts... so long term such a hacker could manage a 33% discount on purchases. *Via a double spend attack with careful selection of peer connections and precise timing
- dllthomas 13y agoBut even if that's the case, when the double spend is spotted the service can be canceled, which in this case seems likely to be before service is started anyway.
- nadaviv 13y agoI wouldn't usually worry about accepting zero confirmation transactions on a website. Most digital orders are reversible and physical orders take some time to process (packaging, shipping, etc). However, with brick and mortar stores, 0-confirmations transactions are much more problematic for the business. The customer could be long gone with your product by the time you notice the double-spend. OTOH, the 10 minutes delay is also much more problematic for the customer with physical stores (imagine a customer having to wait for 10 minutes to buy a pack of gum). One interesting solution for making zero-confirmations safer to accept is fidelity bonds [1], where you would "sacrifice" some Bitcoins from your address, a sort of "safe deposit" that you never get back. From that point on, until that address is seen to commit a double-spend, merchants can accept zero-confirmation payments from it knowing that attempting to double-spend would make the customer's initial deposit invalidated. As long as the deposit is larger than the transaction amount, it'll make double-spending unprofitable. Edit: Another interesting aspect is that fidelity bonds can also be used to make other kinds of fraud unprofitable, not only double-spending. However, while its easy to determine when a user committed a double-spend attack (just show two signed transactions paying the same coins to two different places), its not that straight forward to prove other kinds of fraud. [1] https://en.bitcoin.it/wiki/Fidelity_bonds#Financial_Services https://en.bitcoin.it/wiki/Fidelity_bonds#Financial_Services
- drcode 13y agoFidelity bonds are interesting, but it seems to me there are a couple of alternative solutions that are much easier to understand and hence more likely to get traction. One would be to rely on green addresses (downside: requires third party trust) and another is to simply sniff the bitcoin network for an additional small time window looking for suspicious double spend attempts (downside: not 100% effective) However, I suspect you understand these issues better than I, so I'd love to hear your input on these alternatives and why you think Fidelity bonds are the most likely solution that will be adopted.
- nadaviv 13y ago> green addresses (downside: requires third party trust) I think that fidelity bonds are in fact a decentralized solution for green addresses. With traditional green addresses, you would have to use 3rd party services to prove you're honest. Those services would have to charge fees in order to operate. With fidelity bonds, you would prove you're going to be honest by making it unprofitable to act otherwise. This doesn't require a trusted party, should be much cheaper for users in the long run, and imho a much more elegant solution.
- petertodd 13y agoIt's actually not all that hard and doesn't require timing more precise than a few seconds. You can try it yourself: https://blockchain.info/create-double-spend https://blockchain.info/create-double-spend That site isn't great because it's tricky to hit the two submit buttons in succession, but a fairly trivial script can do the same thing without much difficulty. The reason why you don't hear about it is in reality there pretty much aren't any services out there that are actually vulnerable to that kind of double-spend in a way that results in genuine financial loss. Aside from some rare exceptions everyone accepting zero-conf transactions are either selling something that can be recalled after the fact, (tell the shipping department to stop) or has zero marginal cost. (like mp3s)