Bitcoin Forum

Bitcoin => Development & Technical Discussion => Topic started by: benjamindees on May 05, 2015, 09:07:55 PM



Title: 84 Gigabytes Per Month, Per Connection
Post by: benjamindees on May 05, 2015, 09:07:55 PM
That's what 20 MB blocks require.  That means, you receive the blockchain, that's 84 gigabytes per month.  You send the blockchain to one peer, that's another 84 gigabytes per month.

If you want any redundancy at all, as a true peer-to-peer network should, for whatever reason at all (resiliency, privacy, etc), you need to start adding on redundant pathways, and more data.

All of that has to fit within the data caps imposed by your internet service provider, along with all of your other internet usage -- all of the Youtube videos, other P2P programs, NetFlix, etc, for everyone who uses your connection.  In the US, the vast majority of home internet connections are limited to less than 400 gigabytes per month, most less than 250 gigabytes.

These caps are independent of your connection speed.  They are arbitrarily imposed by internet service providers.  They may grow with technological advancements, or they may not.

Other, developing parts of the world have to deal with other limitations.  Only in a few, highly-developed regions, are home internet connections both high speed and un-capped.

In response to this, there will be some hand-waving arguments involving splitting up blocks into transactions and getting each transaction from a different peer.  And that's great.  That's certainly an improvement over the current network.  But please understand all of the trade-offs involved.  There are trade-offs.


Title: Re: 84 Gigabytes Per Month, Per Connection
Post by: futureofbitcoin on May 05, 2015, 09:23:04 PM
Let me get this straight. I'm not technical at all, and I didn't really read any of the previous arguments on this topic. But just from the OP (and some common sense), this is what I gather:

So the trade off is either to make bitcoin unscalable, which obviously means it can't go mainstream, and will probably die off.

OR

Having a few less people/companies with a full copy of the blockchain, though there will probably still be many, many, many companies, mining operators, and individuals in more developed parts who will keep this "redundancy".

Is that correct?


Title: Re: 84 Gigabytes Per Month, Per Connection
Post by: virtualx on May 05, 2015, 09:26:44 PM
That's what 20 MB blocks require.  That means, you receive the blockchain, that's 84 gigabytes per month.  You send the blockchain to one peer, that's another 84 gigabytes per month.

I would add to this that a lot of people do not run bitcoin nodes and instead rely on light wallets.
Perhaps scaling bitcoin with sidechains is a better idea  ??? :)


Title: Re: 84 Gigabytes Per Month, Per Connection
Post by: Meuh6879 on May 05, 2015, 09:32:40 PM
in most europa, up and down are unlimited in volume.
but speed ... 5-10 MBit/s in download ... and less than 1MBit/s in upload.

so, yes ... bitcoin blockchain with blocks limited to 20Mb can be a problem ... for private nodes.
maybe satoshi have right to say "when the time comes, only professionnals nodes can efficiently provides bitcoin network with blockchain data"

professionnal node = 1GBit/s ... synchronised (UP and DOWN).


Title: Re: 84 Gigabytes Per Month, Per Connection
Post by: btbrae on May 05, 2015, 09:35:13 PM
The people that need the data have the data.

Businesses become nodes and supernodes etc for example...

Blockchain -> Coinbase -> Business -> Customer

Is it working fine this way.


Title: Re: 84 Gigabytes Per Month, Per Connection
Post by: NeuroticFish on May 05, 2015, 09:45:11 PM
Each client gets the chain from a couple random others.
Trying to imply that one comp having the chain wil keep sharing it all is silly.

Coming from a Legendary account... is this bought, or you think that some nicely packed trolling will affect the market?


Title: Re: 84 Gigabytes Per Month, Per Connection
Post by: canth on May 05, 2015, 09:54:04 PM
That's what 20 MB blocks require.  That means, you receive the blockchain, that's 84 gigabytes per month.  You send the blockchain to one peer, that's another 84 gigabytes per month.


Gavin's proposal doesn't have 20MB blocks begin until Mar 1 2016. Even after that date, it's incredibly unlikely that we'll have 20MB blocks until several years afterward. Bitcoin will need more bandwidth in the future, not less - luckily technology doesn't stand still and the cost of moving lots of data will come down and be available to many more citizens around the world.

Just like the needs for streaming HD movies will go from 1080 to 4K over the next few years, so too will the hardware requirements for bitcoin. Don't worry - there will be plenty of people to run nodes.


Title: Re: 84 Gigabytes Per Month, Per Connection
Post by: SpanishSoldier on May 05, 2015, 10:00:34 PM
I think, in future, people wont need to download the complete blockchain anymore to run Bitcoin QT. This is probably already available for some wallets. Downloading the complete blockchain will probably become optional or people will get that through torrent.


Title: Re: 84 Gigabytes Per Month, Per Connection
Post by: Klestin on May 05, 2015, 10:17:21 PM
I was going to buy a two ton pickup, but who wants to drive around all day every day with two tons of crap in the bed?  It's just not practical.  So, I bought a scooter instead.  If I ever need to carry something heavy, I'm boned.  But at least I don't have to carry two tons of gravel with me when I go to the grocery store.

Have I correctly captured op's logic?


Title: Re: 84 Gigabytes Per Month, Per Connection
Post by: inBitweTrust on May 05, 2015, 10:23:48 PM
in most europa, up and down are unlimited in volume.
but speed ... 5-10 MBit/s in download ... and less than 1MBit/s in upload.

so, yes ... bitcoin blockchain with blocks limited to 20Mb can be a problem ... for private nodes.
maybe satoshi have right to say "when the time comes, only professionnals nodes can efficiently provides bitcoin network with blockchain data"

professionnal node = 1GBit/s ... synchronised (UP and DOWN).

I am showing much higher averages in europe -
http://explorer.netindex.com/maps

Check for yourself.

That's what 20 MB blocks require.  That means, you receive the blockchain, that's 84 gigabytes per month.  You send the blockchain to one peer, that's another 84 gigabytes per month.

We understand the tradeoffs... Aren't you being somewhat of an alarmist and misleading by only discussing 20MBs? Don't you expect to see the exact same blocksize after the hardfork with an occasional 2MB block? When do you assume we will be pegged at 20 MB blocks? Why are most blocks only 30-40% full now when the limit is higher?
----------------------------------------------------------------------------
Everyone needs to read Mike Hearns recent article on why the blocksize limit needs to increase -

https://medium.com/@octskyward/the-capacity-cliff-586d1bf7715e

The lightning network and other solutions aren't going to be ready for at least 2 years.

Additionally, keep in mind Merkle tree pruning is going to be released in 0.11 as well allowing for full pruned nodes at 1 GB in size.

https://github.com/bitcoin/bitcoin/commit/f9ec3f0fadb11ee9889af977e16915f5d6e01944#diff-c865a8939105e6350a50af02766291b7R1182

https://www.reddit.com/r/Bitcoin/comments/33oz97/just_merged_pruning_support_in_bitcoin_core_run_a/


Title: Re: 84 Gigabytes Per Month, Per Connection
Post by: dasource on May 05, 2015, 11:09:30 PM
Am I the only one who is starting to get sick of this?
Really? we are all going to wake up one day and every block is going to be 20MB? when will you get it? there needs to be transactions to fill up a block; it is not going to magically happen ...

That's what 20 MB blocks require.  That means, you receive the blockchain, that's 84 gigabytes per month.  You send the blockchain to one peer, that's another 84 gigabytes per month.

No it is not; that is not how P2P works ... a single peer does not send all the blocks to another peer, it is shared. Please stop spreading nonsense and dooms day theories on a block size increase.

Quite frankly someone needs to grab the bull by the horn and make the decision and pull into the bitcoin core (and I am sure Gavin will).


Title: Re: 84 Gigabytes Per Month, Per Connection
Post by: achow101_alt on May 05, 2015, 11:55:36 PM
That's what 20 MB blocks require.  That means, you receive the blockchain, that's 84 gigabytes per month.  You send the blockchain to one peer, that's another 84 gigabytes per month.
There is only one time that one node has to upload or download all of the blockchain, and that is when a new full node comes online. It downloads the blockchain from one other node, and that is its only full blockchain download. If you don't want to be the node that has to upload the full blockchain, you can change that in your config file. The full blockchain download is definitely under the monthly caps. Those 84 gigabytes happens only once in the nodes lifetime, and the blockchain won't be 84 gigs even when 20 MB blocks are accepted. The 20 MB blocks just mean that the maximum block size accepted by the network is 20 MB, not that every block is 20 MB. Get your facts straight.


Title: Re: 84 Gigabytes Per Month, Per Connection
Post by: Jammalan the Prophet on May 06, 2015, 12:05:10 AM
Am I the only one who is starting to get sick of this?
Really? we are all going to wake up one day and every block is going to be 20MB? when will you get it? there needs to be transactions to fill up a block; it is not going to magically happen ...

That's what 20 MB blocks require.  That means, you receive the blockchain, that's 84 gigabytes per month.  You send the blockchain to one peer, that's another 84 gigabytes per month.

No it is not; that is not how P2P works ... a single peer does not send all the blocks to another peer, it is shared. Please stop spreading nonsense and dooms day theories on a block size increase.

Quite frankly someone needs to grab the bull by the horn and make the decision and pull into the bitcoin core (and I am sure Gavin will).

And how does the mighty P2P work?
If 100 people want to download 1 gb of data , there have to be people uploading 100 gb of data.
And now it's only a question who will do the upload , 1000 people or 10 people.

If you pick 10 it means 10 people supplying 10x more people.

But be careful , if you pick the 1000 choice it means that 1000 people already have that data , how did they get it?
=)))))

In the end it's a 1:1 ration , with some peers uploading 50x times more than they download and peers not uploading anything.

As a sidenote
A reddit post one year ago tried to raise an alarm
http://www.reddit.com/r/Bitcoin/comments/24645i/psa_the_amount_of_full_bitcoin_nodes_is_dropping/

Of course , people said it was FUD.
But since then the number of nodes dropped from 7400 to 5800
https://getaddr.bitnodes.io/dashboard/?days=90

Was it FUD?



Title: Re: 84 Gigabytes Per Month, Per Connection
Post by: vpitcher07 on May 06, 2015, 12:07:07 AM
That's what 20 MB blocks require.  That means, you receive the blockchain, that's 84 gigabytes per month.  You send the blockchain to one peer, that's another 84 gigabytes per month.
There is only one time that one node has to upload or download all of the blockchain, and that is when a new full node comes online. It downloads the blockchain from one other node, and that is its only full blockchain download. If you don't want to be the node that has to upload the full blockchain, you can change that in your config file. The full blockchain download is definitely under the monthly caps. Those 84 gigabytes happens only once in the nodes lifetime, and the blockchain won't be 84 gigs even when 20 MB blocks are accepted. The 20 MB blocks just mean that the maximum block size accepted by the network is 20 MB, not that every block is 20 MB. Get your facts straight.

I was about to ask the same thing but you answered my question. I don't understand why everyone is freaking out over 20MB blocks as if it's going to happen right when this is implemented. Look at the last blocks mined on blockchain.info. None of them are even 1MB yet (most of them not even close). So unless I'm missing something, I really don't understand the bandwidth/storage argument against this.


Title: Re: 84 Gigabytes Per Month, Per Connection
Post by: Jammalan the Prophet on May 06, 2015, 12:16:17 AM
That's what 20 MB blocks require.  That means, you receive the blockchain, that's 84 gigabytes per month.  You send the blockchain to one peer, that's another 84 gigabytes per month.
There is only one time that one node has to upload or download all of the blockchain, and that is when a new full node comes online. It downloads the blockchain from one other node, and that is its only full blockchain download. If you don't want to be the node that has to upload the full blockchain, you can change that in your config file. The full blockchain download is definitely under the monthly caps. Those 84 gigabytes happens only once in the nodes lifetime, and the blockchain won't be 84 gigs even when 20 MB blocks are accepted. The 20 MB blocks just mean that the maximum block size accepted by the network is 20 MB, not that every block is 20 MB. Get your facts straight.

I was about to ask the same thing but you answered my question. I don't understand why everyone is freaking out over 20MB blocks as if it's going to happen right when this is implemented. Look at the last blocks mined on blockchain.info. None of them are even 1MB yet (most of them not even close). So unless I'm missing something, I really don't understand the bandwidth/storage argument against this.

Looking at another chart :
https://blockchain.info/en/charts/n-transactions-excluding-chains-longer-than-10?showDataPoints=false&timespan=&show_header=true&daysAverageString=7&scale=0&address=

Seems like there are only 30k real transactions per day in bitcoinland.
Let's assume 1 pf every 100 McDonalds customers would pay in bitcoin....

Care to tell me what would be the size of the blocks?


Title: Re: 84 Gigabytes Per Month, Per Connection
Post by: ticoti on May 06, 2015, 12:34:31 AM
The limit is 20 mb doesn't mean that every block is going to be 20 mb, I think we won't see 20 mb blocks in a long time after the hard fork


Title: Re: 84 Gigabytes Per Month, Per Connection
Post by: achow101_alt on May 06, 2015, 01:01:38 AM
Looking at another chart :
https://blockchain.info/en/charts/n-transactions-excluding-chains-longer-than-10?showDataPoints=false&timespan=&show_header=true&daysAverageString=7&scale=0&address=

Seems like there are only 30k real transactions per day in bitcoinland.
Let's assume 1 pf every 100 McDonalds customers would pay in bitcoin....

Care to tell me what would be the size of the blocks?
McDonalds serves about 69 million customers per day, according to their company profile

If one out of every 100 customers paid with bitcoin: 69000000 / 100 = 690000 transactions per day
Assuming that the transactions are spread equally throughout the day: 690000 / 144 = 4791.667 ~ 4792 transactions per block
Assuming that the transactions are standard and the average transaction size is 250 bytes (0.25 KB): 4792*.25 = 1198 KB in transactions
Adding this extra size to average block size: 1.198 + 0.5 = 1.698 MB.

The block size would then be about 1.698 MB, not that much larger than the current maximum, and most certainly not up to 20 MB. Even with that many transactions, it still would not take up a lot of bandwidth, but eventually, over time, like the current blockchain, these transactions will cause the blockchain to grow in size, but it is already doing that.

*Note: these numbers are both rounded up and chosen from the highest numbers on blockchain.info's charts for the past year.


Title: Re: 84 Gigabytes Per Month, Per Connection
Post by: Jammalan the Prophet on May 06, 2015, 01:28:44 AM
Looking at another chart :
https://blockchain.info/en/charts/n-transactions-excluding-chains-longer-than-10?showDataPoints=false&timespan=&show_header=true&daysAverageString=7&scale=0&address=

Seems like there are only 30k real transactions per day in bitcoinland.
Let's assume 1 pf every 100 McDonalds customers would pay in bitcoin....

Care to tell me what would be the size of the blocks?
McDonalds serves about 69 million customers per day, according to their company profile

If one out of every 100 customers paid with bitcoin: 69000000 / 100 = 690000 transactions per day
Assuming that the transactions are spread equally throughout the day: 690000 / 144 = 4791.667 ~ 4792 transactions per block
Assuming that the transactions are standard and the average transaction size is 250 bytes (0.25 KB): 4792*.25 = 1198 KB in transactions
Adding this extra size to average block size: 1.198 + 0.5 = 1.698 MB.

The block size would then be about 1.698 MB, not that much larger than the current maximum, and most certainly not up to 20 MB. Even with that many transactions, it still would not take up a lot of bandwidth, but eventually, over time, like the current blockchain, these transactions will cause the blockchain to grow in size, but it is already doing that.

*Note: these numbers are both rounded up and chosen from the highest numbers on blockchain.info's charts for the past year.

And double that.
Because the customer pays to random generated address , then seller has to collect all coins in one place.

While it might look small , it will be enough for a lot of miners to exclude a lot of transactions just to have their solved block accepted first and a lot of miners would not even think of including 4MB of transactions in one block.

We are seeing this already with the transaction pool running in thousands and miners adding only <100 in their solved block.




Title: Re: 84 Gigabytes Per Month, Per Connection
Post by: futureofbitcoin on May 06, 2015, 01:35:10 AM
@^

Can you explain the details of why miners might not want to include transactions? Does it make it harder to solve a block? Or something else?

Either way, when the block rewards lower significantly, at that time, miners will be forced to accept more transactions, no?


Title: Re: 84 Gigabytes Per Month, Per Connection
Post by: achow101_alt on May 06, 2015, 01:39:22 AM
And double that.
Because the customer pays to random generated address , then seller has to collect all coins in one place.

While it might look small , it will be enough for a lot of miners to exclude a lot of transactions just to have their solved block accepted first and a lot of miners would not even think of including 4MB of transactions in one block.
Actually, it would not have to be double that, they could all send the bitcoin to the same address. Or, once a day, one large transaction is created which consolidates all of the bitcoin in one address. There would only be a massive transaction fee for including so many inputs. Double the transactions is not necessary.

We are seeing this already with the transaction pool running in thousands and miners adding only <100 in their solved block.
Where are we seeing this? I don't see anywhere where miners are dropping transactions because there are too many. I see them dropping transactions for low or no fees. Miners are definitely not adding less than 100 transactions in a block. In fact, there are between 500 and 900 transactions per block on average. I don't know where you are getting that number, but I suggest you do some research before posting.


Title: Re: 84 Gigabytes Per Month, Per Connection
Post by: Jammalan the Prophet on May 06, 2015, 03:07:04 AM
And double that.
Because the customer pays to random generated address , then seller has to collect all coins in one place.

While it might look small , it will be enough for a lot of miners to exclude a lot of transactions just to have their solved block accepted first and a lot of miners would not even think of including 4MB of transactions in one block.
Actually, it would not have to be double that, they could all send the bitcoin to the same address. Or, once a day, one large transaction is created which consolidates all of the bitcoin in one address. There would only be a massive transaction fee for including so many inputs. Double the transactions is not necessary.

We are seeing this already with the transaction pool running in thousands and miners adding only <100 in their solved block.
Where are we seeing this? I don't see anywhere where miners are dropping transactions because there are too many. I see them dropping transactions for low or no fees. Miners are definitely not adding less than 100 transactions in a block. In fact, there are between 500 and 900 transactions per block on average. I don't know where you are getting that number, but I suggest you do some research before posting.


Easiest research ever

Block / transaction
355149   52   
355145   174   
355144    188
355143      98
355137     77


Title: Re: 84 Gigabytes Per Month, Per Connection
Post by: Soros Shorts on May 06, 2015, 03:34:49 AM
@^

Can you explain the details of why miners might not want to include transactions? Does it make it harder to solve a block? Or something else?

Either way, when the block rewards lower significantly, at that time, miners will be forced to accept more transactions, no?

Beyond a certain point larger blocks incur an increasing risk of getting orphaned if they take too long to propagate across the network.


Title: Re: 84 Gigabytes Per Month, Per Connection
Post by: achow101_alt on May 06, 2015, 03:41:16 AM
Easiest research ever

Block / transaction
355149   52   
355145   174   
355144    188
355143      98
355137     77
Even easier, and more accurate:https://blockchain.info/charts/n-transactions-per-block


Title: Re: 84 Gigabytes Per Month, Per Connection
Post by: benjamindees on May 06, 2015, 03:50:15 AM
I'll just say that I really didn't intend to argue one way or another with this post.  I do have my preferences.  But I just wanted to present a few facts regarding blocksize increase, in a way that perhaps some of you hadn't considered before.  Don't get caught up in the hoopla of choosing sides.  We're all ultimately on the same side.


Title: Re: 84 Gigabytes Per Month, Per Connection
Post by: Jammalan the Prophet on May 06, 2015, 05:41:50 AM
Easiest research ever

Block / transaction
355149   52   
355145   174   
355144    188
355143      98
355137     77
Even easier, and more accurate:https://blockchain.info/charts/n-transactions-per-block

Which part of your own statment you're having trouble understand?

Miners are definitely not adding less than 100 transactions in a block.


Title: Re: 84 Gigabytes Per Month, Per Connection
Post by: tss on May 06, 2015, 06:36:02 AM
i would prefer bitcoin to be laissez faire, unfortunately the powers that be, need this extra space to monetize the blockchain.

IF.. AND WHEN.. AND IF EVER! we got to a point of adoption where transactions didn't confirm without higher and higher fees then bitcoin would be a success and spam and penny posts can move to side chains and alts. 

expanding the blockchain to allow more space that is not required to take advantage of it like a whore that you don't have to pay can only hurt bitcoin in the end.


Title: Re: 84 Gigabytes Per Month, Per Connection
Post by: TierNolan on May 06, 2015, 08:59:08 AM
That's what 20 MB blocks require.  That means, you receive the blockchain, that's 84 gigabytes per month.  You send the blockchain to one peer, that's another 84 gigabytes per month.

You don't have to send all blocks to all peers.  You send the block hash to all the peers, and only those who haven't already got it will ask you to send the full block.

On average, each node forwards it to one other node.

If your node is very well connected, then it may receive blocks earlier than others.  In that case, more of your peers will ask you for the block.

If each node limited the number of forwards, then bandwidth could be kept low.  If each node forwarded new blocks to 2 peers, then the blocks would still be flooded over the network.

It could have a long and short term setting.

This means that it can forward a new block up to 10 peers, but not if it has forwarded more than 2X blocks on average over the last 24 hours.

When a new block is received, it would add 2 to the block forwarding counter, up to a maximum of 288.  When a block is forwarded, it would decrement the total by 1.  Once the number hits zero, it would send a reject message when asked for a block.

Connecting to a node multiple times and asking for blocks could be used to consume all the slots.  To prevent a DOS attack, outgoing nodes would have to be given priority.

[Edit]

Thinking more, at minimum, the node would have to download 84GB per month just to stay synced, so 168GB per month on average per node (assuming average forwarding to one other node).


Title: Re: 84 Gigabytes Per Month, Per Connection
Post by: unamis76 on May 06, 2015, 06:20:23 PM
I don't think 84GB is that much... most connections nowadays can perfectly handle that. Connections that currently host nodes can certainly handle that. And all this considering all blocks will be full...

Come on, let's just switch this ;D


Title: Re: 84 Gigabytes Per Month, Per Connection
Post by: altcoinex on May 06, 2015, 08:42:36 PM
In the end it's a 1:1 ration , with some peers uploading 50x times more than they download and peers not uploading anything.

You could say the requirements for running a full node will be going down, as well. A great deal of nodes are going to operate in pruned mode. Sure. some nodes will receive the full chain from several sources, but what about the great deal of nodes that will only hold 1-2GB? The overall ratio of transfer will be much less than 1:1. Your also ignoring a very important factor: Nodes are already up. If you add a new node to the network, and it had to get 84GB, it has 5000 nodes to do it from, not like it some crazy stress to the network. If your unable to download '84GB' or whatever the real number would be, than you can operate a full pruned node with just a few GB, or SPV client.


Title: Re: 84 Gigabytes Per Month, Per Connection
Post by: trout on May 06, 2015, 09:45:18 PM
current block size has little to do with real usage.
There are people pushing megabytes of plain text in transactions just for fun.
(example of someone spamming the blockchain with the text of Gavin's rationale for increasing the limit (http://bitcoinstrings.com/blk00265.txt))
These, dust-spammers and tx chains by people who mistakenly think chains
help "mixing" are almost filling the  1 MB limit now, and they can easily   fill 20 MB blocks as well.

Until there is a reasonably-behaved market for transactions, it seems
opportunistic increasing the block size limit, even if the bandwidth/storage are not a problem for most.


Title: Re: 84 Gigabytes Per Month, Per Connection
Post by: TierNolan on May 06, 2015, 11:01:02 PM
The overall ratio of transfer will be much less than 1:1.

No matter how many full nodes you have on the network, each of them has to download every new block.  This means that the number of blocks downloaded divided by the number of nodes has to be at least 1.

It could be higher if some nodes download the same block from more than 1 node.

This is separate from the initial download.  Some storage nodes are needed for bootstrapping.


Title: Re: 84 Gigabytes Per Month, Per Connection
Post by: altcoinex on May 07, 2015, 01:48:17 AM
The overall ratio of transfer will be much less than 1:1.

No matter how many full nodes you have on the network, each of them has to download every new block.  This means that the number of blocks downloaded divided by the number of nodes has to be at least 1.

It could be higher if some nodes download the same block from more than 1 node.

This is separate from the initial download.  Some storage nodes are needed for bootstrapping.

Sorry I misinterpreted the discussion.... -- the OP was referring to transfer of the entire block chain so I didn't realize it had abstracted from that to discussion on new blocks with the initial block chain being separate. I had meant unless 5000(or more specifically, equivalent to however many nodes there are) new nodes were added, there wouldn't be a 1:1 ratio of transfer of the entire block chain. 


Title: Re: 84 Gigabytes Per Month, Per Connection
Post by: TierNolan on May 07, 2015, 08:30:07 AM
the OP was referring to transfer of the entire block chain so I didn't realize it had abstracted from that to discussion on new blocks with the initial block chain being separate.

He may have been unclear, but it is 84GB "per month".  It wasn't about initial download.

144 blocks per day * 30 days per month * 20 MB per block = 84.375 GB per month.

Quote
I had meant unless 5000(or more specifically, equivalent to however many nodes there are) new nodes were added, there wouldn't be a 1:1 ratio of transfer of the entire block chain. 

Just to stay synced (assuming maximum size blocks), you need to download 84GB.  Unless you plan to leech (in the Bit-torrent meaning of the word), you need an upload to download ratio of at least 1.0, which means an upload of at least 84GB too.

If no new nodes join the network, then you are correct, initial download doesn't add anything.  Even if the number of nodes stays constant, it is likely that some full nodes will drop out to be replaced by other full nodes.  In addition, some (potential) full nodes won't stay online all the time, so they push up the ratio for everyone else.

To contribute to the network a full node needs to stay online and be accessible by SPV clients.  Running a full node which doesn't accept incoming connections uses up slots on full nodes which do.

Using the reference client as a wallet means downloading the chain in short bursts and probably having an upload ratio of less than 1.0.

SPV clients are leechers in the pure network sense of the term, but they contribute to the network by increasing use of the currency.  They probably won't consume much extra bandwidth by an increased block size.


Title: Re: 84 Gigabytes Per Month, Per Connection
Post by: virtualx on May 07, 2015, 08:47:18 AM
the OP was referring to transfer of the entire block chain so I didn't realize it had abstracted from that to discussion on new blocks with the initial block chain being separate.

He may have been unclear, but it is 84GB "per month".  It wasn't about initial download.

144 blocks per day * 30 days per month * 20 MB per block = 84.375 GB per month.

Quote
I had meant unless 5000(or more specifically, equivalent to however many nodes there are) new nodes were added, there wouldn't be a 1:1 ratio of transfer of the entire block chain. 

Just to stay synced (assuming maximum size blocks), you need to download 84GB.  Unless you plan to leech (in the Bit-torrent meaning of the word), you need an upload to download ratio of at least 1.0, which means an upload of at least 84GB too.

If no new nodes join the network, then you are correct, initial download doesn't add anything.  Even if the number of nodes stays constant, it is likely that some full nodes will drop out to be replaced by other full nodes.  In addition, some (potential) full nodes won't stay online all the time, so they push up the ratio for everyone else.

To contribute to the network a full node needs to stay online and be accessible by SPV clients.  Running a full node which doesn't accept incoming connections uses up slots on full nodes which do.

Using the reference client as a wallet means downloading the chain in short bursts and probably having an upload ratio of less than 1.0.

SPV clients are leechers in the pure network sense of the term, but they contribute to the network by increasing use of the currency.  They probably won't consume much extra bandwidth by an increased block size.

84GB per month is a lot. This would lead to growth in full nodes or centralization of the system. Do you think all blocks will be 20M? There may be smaller and bigger blocks in the blockchain?


Title: Re: 84 Gigabytes Per Month, Per Connection
Post by: chalkboard17 on May 07, 2015, 09:31:04 AM
1) Not all users need to run a full node. Most of them don't
2) It will take a long time before (and if) we have 20mb blocks. I don't expect that before 2020.
3) Connection speed and hardware advance fast. If I am not wrong average global internet speed when blockchain was started was ~3mb/s and now is well over 20mb/s. Many people have cheap 100mb/s already. I expect 250mb/s to be average by 2020. 84 gigabytes = 75% of an hour to be downloaded @ 250mb/s speed.
4) Even so, I think scalability is an issue and we need to look into further more efficient measures such as pruning


Title: Re: 84 Gigabytes Per Month, Per Connection
Post by: samson on May 07, 2015, 09:32:55 AM
That's what 20 MB blocks require.  That means, you receive the blockchain, that's 84 gigabytes per month.  You send the blockchain to one peer, that's another 84 gigabytes per month.

This post is very misleading.

Just because block sizes are allowed to be 20 MB doesn't mean they will. That would take a hell of a lot of transactions to create a 20 MB block.

If the block size was 20 MB right now then it would make no difference if there's still only 500-2000 transactions per block.

By the way if we do start seeing 20 MB block sizes at some point in the distant future after they have been enabled the time to increase this limit from 20 GB to 40+ GB block sizes will have long passed.


Title: Re: 84 Gigabytes Per Month, Per Connection
Post by: smooth on May 07, 2015, 09:33:49 AM
Not per connection no. Once you have a block from one peer you don't need to download it from another peer.

One download, one upload, on average.