Author

Topic: Will my computer be able to keep up with the network? (Read 1084 times)

legendary
Activity: 4214
Merit: 1313
Even if the download speed is the bottleneck, it still seems like sharing all the information across the network will eventually be too slow. And I know that a block can contain more transactions than others and that the difficulty changes every 2016 blocks, but more transactions means more data to transfer. That's why I did all my calculations in terms of # of transactions per seconds, not blocks per second.

I'm not sure what you are implying by the bolded part with regard to your computer being able to keep up.
legendary
Activity: 3472
Merit: 4801
- snip -
I'm just worried that bitcoin will lose its decentralized nature if becomes widely adopted.

I wonder what Satoshi's thoughts would have been.  It's too bad he isn't around anymore to ask.  If only he would have commented on this back in 2010, perhaps this would have already been considered before it got so big.

Let's see what a simple Google search turns up:

The current system where every user is a network node is not the intended configuration for large scale.  That would be like every Usenet user runs their own NNTP server.  The design supports letting users just be users.  The more burden it is to run a node, the fewer nodes there will be.  Those few nodes will be big server farms.  The rest will be client nodes that only do transactions and don't generate.

- snip -

Interesting.  It looks like Bitcoin is working exactly the way it was intended to work, exactly the way it was designed to work, and exactly the way it was advertised to work. 
member
Activity: 88
Merit: 12
Napkin math aside, I'm just wondering: Will my computer be able to keep up with bitcoin if it becomes widely adopted?

The scalability section of the wiki (https://en.bitcoin.it/wiki/Scalability) estimates that everyone on the network will need 8 MBPS of bandwidth for 2000 TPS. I think that we could theoretically see much more than 2000 TPS. I'm just worried that bitcoin will lose its decentralized nature if becomes widely adopted.
legendary
Activity: 2058
Merit: 1452
Even if the download speed is the bottleneck, it still seems like sharing all the information across the network will eventually be too slow. And I know that a block can contain more transactions than others and that the difficulty changes every 2016 blocks, but more transactions means more data to transfer. That's why I did all my calculations in terms of # of transactions per seconds, not blocks per second.
How are you coming to this conclusion? The wiki you linked already contains a section on bandwidth and it contradicts what you're saying
Quote

Let's assume an average rate of 2000tps, so just VISA. Transactions vary in size from about 0.2 kilobytes to over 1 kilobyte, but it's averaging half a kilobyte today.

That means that you need to keep up with around 8 megabits/second of transaction data (2000tps * 512 bytes) / 1024 bytes in a kilobyte / 1024 kilobytes in a megabyte = 0.97 megabytes per second * 8 = 7.8 megabits/second.

This sort of bandwidth is already common for even residential connections today, and is certainly at the low end of what colocation providers would expect to provide you with.

When blocks are solved, the current protocol will send the transactions again, even if a peer has already seen it at broadcast time. Fixing this to make blocks just list of hashes would resolve the issue and make the bandwidth needed for block broadcast negligable. So whilst this optimization isn't fully implemented today, we do not consider block transmission bandwidth here.
member
Activity: 88
Merit: 12
Even if the download speed is the bottleneck, it still seems like sharing all the information across the network will eventually be too slow. And I know that a block can contain more transactions than others and that the difficulty changes every 2016 blocks, but more transactions means more data to transfer. That's why I did all my calculations in terms of # of transactions per seconds, not blocks per second.
copper member
Activity: 1498
Merit: 1528
No I dont escrow anymore.
I dont get your calculations. The slow sync speed has almost certainly nothing to do with your CPU speed but with the speed of the connection to the sync node. Bitcoin core uses only 1 node to sync (use getpeerinfo in console and look for sync:true) if that connection is slow the sync is slow, the calculations to verify each block should take your macbook fractions of a second for each block.

The time miners need to find a block has very little to do with the number of TXs that will be confirmed with that block, so more TX do not equal less blocks. The way the bitcoin is disgned is that an block will be done every 10 minutes on average and its self regulating this every 2016 blocks by increasing or decreasing the difficulty.
member
Activity: 88
Merit: 12
This is just some napkin math, but it concerns me. I hadn't opened my QT wallet to sync for about 2 weeks and when I opened it today it was syncing incredibly slowly. I timed how many blocks were processed in a minute and got about 10 blocks per minute on a Friday morning at 8:00. Theoretically, this shouldn't be a very popular time to make bitcoin transactions. Still, the blocks that I my wallet was able to process in that time were of the following sizes:

320306: 340 kb
320307: 730 kb
320308: 10 kb
320309: 263 kb
320310: 230 kb
320311: 100 kb
320312: 221 kb
320313: 26 kb
320314: 225 kb
320315: 700 kb

Total: 2.845 MB

So my computer (a newer macbook pro retina) could process ~2.8 MB worth of transactions in a minute. Or rather, on average, ((2845 kb)/(.5 kb per tx))/(10 blocks *7.5 min/block *60 sec/min) ~= 1.25 TXs per second. And if there are more transactions on the network then we can expect even fewer blocks per minute to be processed. I suppose that theoretically the network should be fine as long as it doesn't take more to validate than it does to solve a block (expected 10 min, more like 7.5 minutes in reality). But even if the 1MB block size restriction were removed, it seems like we could get to the point someday where lone computers couldn't keep up with the transactions in the network.

According to this: https://en.bitcoin.it/wiki/Scalability, VISA handles about 2000 TPS on average. If 1.25TPS ~= 6 seconds/block download and verification, then 2,000 TPS gives ~1.5 hours to download and verify a block. BASIC COMPUTERS WILL NOT BE ABLE TO VERIFY TRANSACTIONS AND THE WHOLE SYSTEM WILL FAIL TO BE DECENTRALIZED.

It seems that bitcoin may be punished by its own success. Yes, this doesn't take into account Moore's law, and it's just napkin math, but it's still concerning.

TL;DR: If bitcoin becomes adopted, then it may have to become centralized. At least more centralized than it is now. But at least it will be open and auditable by multiple companies, and no one can just create bitcoin out of thin air.
Jump to: