Bitcoin Forum

Bitcoin => Development & Technical Discussion => Topic started by: cdb000 on January 19, 2011, 07:49:11 PM



Title: Will we be able to cope when there are _lots_ of transactions?
Post by: cdb000 on January 19, 2011, 07:49:11 PM
Thinking about Bitcoins and how the Bitcoin network works, something concerns me.

If we imagine a future where Bitcoins are used for lots of transactions would the network cope? As I understand it, every transaction is broadcast to all nodes, so every node would be fed every transaction.

If a simple transaction is described in 250 bytes, and we have 100 transactions per second then every node is receiving 25k/second of transaction data. This is within the capability of most home DSL lines, but probably a bit tough for anyone using a cellphone based Internet connection.

I know... at the moment there are very few transactions, but we can dream of a world where Bitcoins are heavily used, and maybe be prepared for it.


Title: Re: Will we be able to cope when there are _lots_ of transactions?
Post by: Cdecker on January 19, 2011, 08:30:27 PM
Already discussed here http://bitcointalk.org/index.php?topic=2454


Title: Re: Will we be able to cope when there are _lots_ of transactions?
Post by: theymos on January 19, 2011, 10:08:48 PM
Only generators need to receive transactions and full blocks. In the future there will be a group of "backbone" nodes that handle all this, much like ultrapeers in Gnutella.


Title: Re: Will we be able to cope when there are _lots_ of transactions?
Post by: Cdecker on January 19, 2011, 10:43:05 PM
Still, by reducing the number of generators to a few we reduce the computational power in the network, making it easier (read not yet easy) to attack the network. It is by the way also my main criticism of the pool, which could be taken over and misused.


Title: Re: Will we be able to cope when there are _lots_ of transactions?
Post by: caveden on January 19, 2011, 10:46:18 PM
Even generators may delegate the task of verifying valid transactions (the task which needs the entire chain) to somebody else.
Today you could already implement a generator that parses the blockexplorer instead of downloading all blocks, for example. More efficient solutions may come up.


Title: Re: Will we be able to cope when there are _lots_ of transactions?
Post by: ShadowOfHarbringer on January 20, 2011, 05:52:48 AM
I don't think this is much of a problem.

For example, mastercard has maximum capacity of 140 million transactions per hour. Which makes 38.888 transactions per second.
38.888 transactions per second * 250 bytes = 9722000 bytes = ~77,77Mbit. (Though on average, Mastercard does only 22 billion transactions a year, which makes about 2,5 million a hour, and ~700 a second, so there are probably only spikes with high number of transactions, and the rest is much lower)

So anybody with 100Mbit broadband/fiber will be fine. Just buy a powerful 6-or-more cores computer, and you probably will be able to easily calculate everything without much strain.

But by the time Bitcoin will be so popular to process that many transactions, internet connections around the world will be easily 100-200% faster than currently, so no problem there. Also, you can always buy a decidated hosting connected to 1Gbit pipe (which is less expensive that you would imagine), and You're cool.