Hacker News new | ask | show | jobs
by BenC88 4364 days ago
Could somebody explain the reasoning behind "customers have 15 minutes to complete their bitcoin payment before their invoice expires"
4 comments

Bitcoin is decentralised, so, from Neweggs perspective, the transaction is never completed 'online'. Their payment processor (I'm guessing it's going to be Bitpay) has to wait until they see your transaction on the Bitcoin network before they tell Newegg that it's paid. Think of it as waiting for a cheque to arrive. A timeout is just sensible so you're not reserving stock.
That's not what the timer is referring to. The 15 minute timer is in place due to the exchange rate. Newegg prices their items in dollars, BitPay converts it to a BTC price and presents that price to the user. They can't show that same BTC price forever, becasue if the price of bitcoin drops by 50% over 24 hours, and you decide to leave your window open and order then instead of now, you will get whatever you are buying for half the price. Bitpay guaranteed the USD price that was set on the item to the merchant. Now they owe it, but have only collected half. Thus Bitpay would be out hundreds of dollars (or whatever half your order is). Similarly, if the price rose by 100% over 24 hours you could accidentally pay double. So they put a timer on it.
If it's a moving spot price that lasts just 15 minutes, is the exchange market deep enough to keep people from abusing this?

By placing a huge number of buy orders at a time when the market is quite shallow, all within a few minutes (temporarily driving the exchange price up sharply) the BTC-denominated price of goods on Newegg can become very low in a 15-minute windows.

Huge numbers of orders ($millions) could then be placed at that low BTC price, included by a distributed group of people.

What protects against this? Moving the price for 15 minutes seems quite plausible but I don't know the details - and am not an expert.

Honestly, the price of the BTC is decently stable, I wouldn't expect anything to happen which would effect their prices enough to make a difference within a 15-minute window.

Ex. The Bitcoin is on an uptrend and went up 30$ in the window between when I checked it ~8 hours ago and just now. Even if it managed to do that in a 15-minute window of time, that's only 30-dollars off of every 600 dollars you spend. A 100$ dollar order will only see a 5 dollar 'discount'. And if it goes the other way, they make a bit more, so over time I'm guessing it'll mostly even out, Maybe a bit more in the consumers favor if we assume the BTC price will end-up going up.

I mean, e.g. buying $800K worth of bitcoin in 15 minutes, so that you can increase the price and then buy $5M worth of goods NewEgg - would $800K in fifteen minutes press newegg's btc-denominated price well below wholesale on those same electronic goods?
The lower graph here shows the depth of the market. Right now, for $800k USD, you can move the price from $656/BTC to $665/BTC. So you might get a $67,700 discount on your $5,000,000 order.

Edit: spaced the link https://bitcoinity.org/markets

IIRC someone implemented this attack (buying or selling small amounts could move the price on BitStamp and Coinbase would offer to buy/sell large amounts at that price), notified Coinbase, and now it's fixed.
Interesting :) Do you know what the fix was?
I think they were using the "last price" instead of the "weighted average", or some stupid mistake like that, and obviously without any sanity checks. Meaning someone could manipulate Coinbase's price by placing a tiny buy order for a very high price or a tiny sell order for a very low price.
What protects against this is that if you put in a bunch of buy orders for BTC at high dollar amounts, a rash of people would rush to sell their BTC.

You might temporarily drive up the exchange price sharply, but at the cost of buy a ton of BTC at an inflated price.

Of course, that's the cost. But how much do you have to spend in bitcoins to drive the price up that much?

e.g. buying $800K worth of bitcoin in 15 minutes, so that you can increase the price of BTC and then buy $5M worth of goods NewEgg - would $800K in fifteen minutes press newegg's btc-denominated price well below wholesale on those same electronic goods? (including to cover what you overpaid for the btc to execute your position.)

Taking into account the potential for extreme value fluctuation seems a reasonable guess to me.
I'd say it's because bitcoin transactions are not instant. To fully 'verify' that a transaction has taken place, they need 6 confirmations. The transaction may within a few seconds show up on the bitcoin blockchain, but it can't be fully trusted until it has at least 6 confirmations. Waiting for that can take some time.
I'm pretty sure Bitcoin payment processors like Bitpay aren't waiting for 6 full confirmations.
yeah. Looks like it's configurable.

https://bitcoin.stackexchange.com/questions/12033/how-many-c...

https://bitpay.com/downloads/bitpayApi.pdf “transactionSpeed” - "medium" An invoice is considered to be "confirmed" after 1 block confirmation (~10 minutes).

BitPay doesn't wait for anything; it's the merchant that chooses how many confirmations to wait for (and incurs the risk of this choice).
It's something normal among bitcoin payment processors because of high price volatality (you could start a payment and only finish it if the bitcoin value goes down).