4

Today, one of the problems with cryptocurrencies like Bitcoin is that it takes quite some time for a transfer to go through and enough confirmations to take place. This really isn't a problem when it comes to inherently slow buying procedures, such as for example ordering something online and receiving it a couple of days later by mail. However, other types of purchases requires a much faster process (for example if you're buying a digital good and want it immediately or if you're buying a physical good and want to leave the store with it right away), and as it is now, cryptocurrencies don't seem suitable for these as it simply takes to long time to confirm the payment and defend against double-spending.

Is this a problem that is inherent with the Blockchain technology, or could purchases go through much, much faster (at least so that they can compete with credit card transfers) given enough resources or faster computers in the future?

3

Blockchain technology, at least without accepting central party that controls access to the chain, inherently has slow blocks, or strong centralization incentives.

The reason is that blocks need to propagate much faster than the block interval time. If they don't, miners who are further away from the majority of the hash power are put at a disadvantage.

To explain this intuitively, notice that when miner A creates a block, he can start working immediately on a successor, while another miner B first needs to wait until A's block reaches him. During that time, B works on an outdated chain, and is unlikely to produce a block that ends up being accepted. The closer A and B are located together, and the more trust they have in eachother about not lying about new blocks they produce, the more they start to behave like a single party.

Thus, the ratio of block interval and propagation speed across the network is a means for keeping the advantages of larger miner groups over smaller ones in check.

This does not mean that the bitcoin currency is inappropriate for fast payments. They just require another mechanism than on-blockchain transactions. For example, look at the proposed Lightning network, which allows many small transaction between parties to occur, while only settling the resulting balance on the blockchain. It requires more trust, but has higher performance and convenience, and lower costs.

1

If faster computers had started producing blocks at higher rate the algorithm would just increase block difficulty. It is intentionally designed to give next block (and therefore next confirmation) at average once per ten minutes.

But it does not mean the money needs an hour to be transferred. The transaction is emitted immediately and the fact of sending money may be detected by receiver in seconds. Confirmations are required just to make sure the transaction is irreversible for the sender. And there are payment processors (like Coinbase) which accept payment just after the transaction is detected (i.e. without waiting for confirmation). Of course it is not suitable method for high value transactions (or if service is highly abused for some reason), but it does work (as making double spend requires some knowledge).

On the other hand if you need payments confirmed in shorter time you can use other cryptocurrencies. For instance DogeCoin block time is one minute (and after 10 minutes you have 10 confirmations making the transaction quite irreversible). There are also some altcoins with shorter times (e.g. 40 seconds for FlorinCoin) but they are not as popular as BTC or DOGE.

  • 1
    The last paragraph is a common misconception - "more confirmations" doesn't inherently mean "more irreversibility". One Dogecoin confirmation represents only one-tenth the work (and hence one-tenth the irreversibility) of a Bitcoin confirmation, relative to the total hashing power of their respective networks. Getting more security in less time is not as simple as choosing a shorter target block time. See also this discussion, and this one. – Nate Eldredge Aug 1 '15 at 19:15
  • 1
    @NateEldredge But there is a pretty big difference between the irreversibility of a transaction with 0 confirmations, and a transaction with 1 confirmation. – Nick ODell Aug 1 '15 at 19:20
  • 1
    @NickODell: True, sort of. But in the limit, as the target block time becomes small, tending to zero, this difference approaches zero as well. – Nate Eldredge Aug 1 '15 at 19:24
  • @NateEldredge Theoretically, yes, but miners have different rules for whether to include transactions into their blocks, and it ends up being difficult to predict what percentage of miners will try to include it. – Nick ODell Aug 1 '15 at 22:27
-1

There's no inherent reason why it couldn't be done that way, but then there's no inherent reason why you couldn't charge an electric car wirelessly.

The present time between blocks represents a compromise: set the block time too high, and you'll inconvenience users. Set it too low, and blocks take too long to propagate around the network, which means that nodes won't mine efficiently. The existing block time is probably too long.

It's not so much that it couldn't be done, it's just that there are a lot of stakeholders with a lot of different ideas about what the block interval should be, and this requires agreement from a lot of people.

@Jakub Jagiełło discusses the mechanism that adjusts difficulty so that the actual block interval matches the target block interval, but the target block interval could be adjusted deliberately.

  • "The existing block time is probably too long." Too long for immediate purchases, or too long in general? – Murch Aug 2 '15 at 11:31
  • 1
    Given the fact that miners currently find it profitable to not fully validate blocks they learn about from others, I would say that the current time is even too fast. – Pieter Wuille Aug 2 '15 at 11:49
  • @Murch Way too long for immediate, in-store purchases, but I don't think that's fixable solely by tweaking nTargetTimespan. Too long in general, I think. – Nick ODell Aug 2 '15 at 18:58
  • I was just trying to point out that the statement is ambiguous in this context. ;) – Murch Aug 2 '15 at 21:00

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.