create account

Pondering about Bitcoin scaling. Response to Roger Ver. by tomz

View this thread on: hive.blogpeakd.comecency.com
· @tomz · (edited)
$1.27
Pondering about Bitcoin scaling. Response to Roger Ver.
In a recent article bitcoin.com owner and Bitcoin Jesus, Roger K Ver [wrote](https://steemit.com/bitcoin/@rogerkver/time-to-end-the-block-size-blockade-by-roger-ver) about some of the problems we face in growing Bitcoin.

As we face a greater popularity in the crypto world, and Bitcoin still is the front-runner of that, we have to be brutally honest about the implications of growth.  Roger is doing that, and I welcome that. So please don't see this as a debate or a disagreement.

At the same time, if you are not shoulder-deep into Crypto, scaling may feel scary. After all, anyone doing the numbers will see that in order to get millions of people on the currency, you have to process all those transactions. And due the distributed nature of Bitcoin this can't be done on a server in a datacenter, this is something that each machine running a fully-validating Bitcoin node will have to do.

The good thing is that most people don't realize nearly how fast modern computers are and how little time it takes to process Bitcoin transactions. I recently wrote a [blog](http://zander.github.io/posts/Scaling%20Bitcoin/) investigating how much we have to invest in technology to support 50 million users each posting 1 transaction a day.  The conclusion is rather optimistic.

But back to the topic at hand; if we want to grow, Roger states there are 4 negative externalities that result from more users and bigger blocks.  And I want to challenge him on that!

# 1. Additional bandwidth. 
This sounds so obvious, but its not.  The truth is that Bitcoin has not seen much in the form of smart architecture or engineering, probably ever. Lots of great protocol-developers and cryptographers, not so much on the engineering front.  And the result of this is that there is room for optimisation. A lot of room.
In a research project called "x-thin-blocks" the obvious-in-hindsight problem was solved that each node validates and transmits all transactions twice. Once when they are send on the network and again when they are validated in a block. This new technology brings down the sending of a block from 1MB to maybe 20KB. 
Its not been deployed yet, with the result that if we upgrade to something more modern that can both support bigger blocks and supports this technology we'll likely see a DROP in bandwidth.

# 2. Extra CPU Time. 
Another point that sounds extremely obvious, add more transactions to process every second and you "waste" CPU power validating them. Well, yes and no. First of all, read my answer to point 1 where we half the amount used by not doing the same work twice.
The situation with CPU is actually quite rosy already, the processing power needed to validate is extremely little. If we were to go to 10GB blocks today your desktop would still not have a problem validating all those transactions in under 10Min.  So the bottom line is, its not an issue.
Next to that we have seen various optimizations already. For instance in [Bitcoin Classic](https://bitcoinclassic.com) I removed the validation of very old transactions. Ones that have been confirmed and have a week worth of proof-of-work to prove they have been validated by numerous nodes before. There are other optimizations that can be added still. But, again, it hardly is an issue to focus on.

# 3. Extra Storage Space.
Agreed,  this is a real issue, but the problem is at minimum overstated by many.  Most people don't realize that it would take 75 years of Bitcoin blocks to fill up a common 3TB harddrive.
Naturally, we all want to get really big blocks in, say, 5 years so many many more people would be able to use Bitcoin on a daily basis. This would make the issue a real thing before long, for sure.
The solution I see is one where we fix this in software.  This is actually less hard than most believe because a node doesn't actually need to keep more than a day worth of downloaded blocks on hand. Any node never actually refers to its own old blocks.  The only reason to keep old blocks is to share them on the network with nodes that have yet to see them the first time.
The solution I came up with is a smarter way of pruning. I called it [Random Pruning](http://zander.github.io/scaling/Pruning/) which uses the network as a big database. The effect is that you can have a node store only as much data as you are willing to store without this hurting the Bitcoin network.

# 4. Fewer Nodes

I don't really have much to add to Rogers point here. He also concludes this is really not likely to become an issue.
One thing that I'd like to add to this is that people that see censorship happening (for instance a country bans Bitcoin nodes) the result in a network that is the size and popularity of Bitcoin has always been that more people start running nodes. Just because they can. Call it a variation of the Streisand effect, if you will.

Naturally, when Roger ends up concluding we need bigger blocks, the I completely agree. And I'm working towards that end as much as I can.

I think what I'm trying to add is the idea that there somehow is a technical reason we can't scale is in my technical expert opinion just totally not true and will become less true in the coming year(s) as we see engineering efforts starting up in the Bitcoin space.
👍  , , , , , , , , , , , , , ,
properties (23)
authortomz
permlinkpondering-about-bitcoin-scaling-response-to-roger-vir
categorybitcoin
json_metadata{"tags":["bitcoin","blockchain","crypto-news"],"links":["https://steemit.com/bitcoin/@rogerkver/time-to-end-the-block-size-blockade-by-roger-ver"]}
created2016-08-19 14:37:39
last_update2016-08-19 15:09:18
depth0
children4
last_payout2016-09-19 16:15:51
cashout_time1969-12-31 23:59:59
total_payout_value0.971 HBD
curator_payout_value0.298 HBD
pending_payout_value0.000 HBD
promoted0.000 HBD
body_length5,254
author_reputation1,290,546,603,896
root_title"Pondering about Bitcoin scaling. Response to Roger Ver."
beneficiaries[]
max_accepted_payout1,000,000.000 HBD
percent_hbd10,000
post_id889,731
net_rshares1,662,588,446,141
author_curate_reward""
vote details (15)
@arcurus ·
i really hope, that soon your ideas will be implemented in Bitcoin.
Thank you a lot for your great work!
properties (22)
authorarcurus
permlinkre-tomz-pondering-about-bitcoin-scaling-response-to-roger-vir-20160819t150058649z
categorybitcoin
json_metadata{"tags":["bitcoin"]}
created2016-08-19 15:00:57
last_update2016-08-19 15:00:57
depth1
children0
last_payout2016-09-19 16:15:51
cashout_time1969-12-31 23:59:59
total_payout_value0.000 HBD
curator_payout_value0.000 HBD
pending_payout_value0.000 HBD
promoted0.000 HBD
body_length104
author_reputation549,553,053,579
root_title"Pondering about Bitcoin scaling. Response to Roger Ver."
beneficiaries[]
max_accepted_payout1,000,000.000 HBD
percent_hbd10,000
post_id890,094
net_rshares0
@laonie · (edited)
And i noticed your post that linked to steemit was disappeared, the MODs deleted it?
properties (22)
authorlaonie
permlinkre-tomz-pondering-about-bitcoin-scaling-response-to-roger-vir-20160819t145453514z
categorybitcoin
json_metadata{"tags":["bitcoin"]}
created2016-08-19 14:54:51
last_update2016-08-19 15:20:03
depth1
children2
last_payout2016-09-19 16:15:51
cashout_time1969-12-31 23:59:59
total_payout_value0.000 HBD
curator_payout_value0.000 HBD
pending_payout_value0.000 HBD
promoted0.000 HBD
body_length84
author_reputation38,329,407,931,057
root_title"Pondering about Bitcoin scaling. Response to Roger Ver."
beneficiaries[]
max_accepted_payout1,000,000.000 HBD
percent_hbd10,000
post_id889,990
net_rshares0
@tomz ·
Thanks for the notice, updated.

I guess you meant my post to reddit, turns out that using the words "I joined steemit" to indicate I got an account here was mostly seen by people as me signing a contract with them.  Poor choice of words. So I deleted it (since you can't change topic names there). Maybe I should post it with a non-confusing topic :)
properties (22)
authortomz
permlinkre-laonie-re-tomz-pondering-about-bitcoin-scaling-response-to-roger-vir-20160819t151112850z
categorybitcoin
json_metadata{"tags":["bitcoin"]}
created2016-08-19 15:11:12
last_update2016-08-19 15:11:12
depth2
children1
last_payout2016-09-19 16:15:51
cashout_time1969-12-31 23:59:59
total_payout_value0.000 HBD
curator_payout_value0.000 HBD
pending_payout_value0.000 HBD
promoted0.000 HBD
body_length351
author_reputation1,290,546,603,896
root_title"Pondering about Bitcoin scaling. Response to Roger Ver."
beneficiaries[]
max_accepted_payout1,000,000.000 HBD
percent_hbd10,000
post_id890,256
net_rshares0
@laonie · (edited)
I see, thanks for the explanation.
properties (22)
authorlaonie
permlinkre-tomz-re-laonie-re-tomz-pondering-about-bitcoin-scaling-response-to-roger-vir-20160819t152158495z
categorybitcoin
json_metadata{"tags":["bitcoin"]}
created2016-08-19 15:21:57
last_update2016-08-19 15:24:12
depth3
children0
last_payout2016-09-19 16:15:51
cashout_time1969-12-31 23:59:59
total_payout_value0.000 HBD
curator_payout_value0.000 HBD
pending_payout_value0.000 HBD
promoted0.000 HBD
body_length34
author_reputation38,329,407,931,057
root_title"Pondering about Bitcoin scaling. Response to Roger Ver."
beneficiaries[]
max_accepted_payout1,000,000.000 HBD
percent_hbd10,000
post_id890,414
net_rshares0