Bitcoin Forum

Bitcoin => Development & Technical Discussion => Topic started by: HCLivess on December 23, 2014, 02:44:34 PM



Title: Blockchain bloat solutions?
Post by: HCLivess on December 23, 2014, 02:44:34 PM
Is it really necessary to keep the entire blockchain being actively used by the client all the time? Cannot we drop the beginning of it into some backup file and create a signed, incorruptible checkpoint every now and then?


Title: Re: Blockchain bloat solutions?
Post by: Parazyd on December 23, 2014, 02:47:25 PM
If it's too resource intensive for you, you can use more lightweight clients like Electrum.

Bitcoin Core uses the entire blockchain because it runs like a node and has to contain everything, from the genesis block. It's needed for proper functionality and helps decentralization. It wouldn't be good if the entire blockchain is only on 10 places in the world.


Title: Re: Blockchain bloat solutions?
Post by: CIYAM on December 23, 2014, 02:52:40 PM
Checkpoints are added by the devs at every new release (except perhaps some very minor patch releases) but the problem is that you need to be able to trace back UTXOs to their origin (known as "coinbase") which actually still includes the very first blocks created.

I gather that "pruning" will eventually help reduce the burden by being able to remove all spent UTXOs from the data needing to be kept.


Title: Re: Blockchain bloat solutions?
Post by: Parazyd on December 23, 2014, 02:54:04 PM
Checkpoints are added by the devs at every new release (except perhaps some very minor patch releases) but the problem is that you need to be able to trace back UTXOs to their origin (known as "coinbase") which actually still includes the very first blocks created.

I gather that "pruning" will eventually help reduce the burden by being able to remove all spent UTXOs from the data needing to be kept.


I don't think pruning is a good idea. One should be able to keep ALL history.
If it's too much for you, use Electrum or something similar.


Title: Re: Blockchain bloat solutions?
Post by: CIYAM on December 23, 2014, 02:56:27 PM
I don't think pruning is a good idea. One should be able to keep ALL history.
If it's too much for you, use Electrum or something similar.

No-one is going to *dictate* pruning - that would be an option of course but it would be much better to have people running full nodes with pruning than to instead run clients that have *no blockchain* like Electrum (as they are not helping to secure the network at all in regards to the blockchain).


Title: Re: Blockchain bloat solutions?
Post by: Q7 on December 23, 2014, 03:29:02 PM
But op do have a point. Imagine for another 5 years to come the bloated blockchain size would mean a lot of people would turn away from maintaining a node and use a lightweight wallet instead. Maybe input from those with deeper programming knowledge on what are the pros and cons especially what options do we have


Title: Re: Blockchain bloat solutions?
Post by: DannyHamilton on December 23, 2014, 04:25:18 PM
But op do have a point. Imagine for another 5 years to come the bloated blockchain size would mean a lot of people would turn away from maintaining a node and use a lightweight wallet instead.
- snip -


According to Satoshi Nakamoto, that is the intended design of Bitcoin:

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
- snip -

- snip -
I anticipate there will never be more than 100K nodes, probably less.  It will reach an equilibrium where it's not worth it for more nodes to join in.  The rest will be lightweight clients, which could be millions.

At equilibrium size, many nodes will be server farms with one or two network nodes that feed the rest of the farm over a LAN.

- snip -
If the network becomes very large, like over 100,000 nodes, this is what we'll use to allow common users to do transactions without being full blown nodes.  At that stage, most users should start running client-only software and only the specialist server farms keep running full network nodes, kind of like how the usenet network has consolidated.
- snip -




Title: Re: Blockchain bloat solutions?
Post by: coinableS on December 23, 2014, 05:08:31 PM
 Why does/did Satoshi want there to be less nodes? If they are hosted by large server farms, doesn't that in a way take away from the decentralized nature of Bitcoin?  Imagine in 10-20 years, if only server farms had the full blockchain couldn't they be "bought out" by people or groups with nefarious intentions?


Title: Re: Blockchain bloat solutions?
Post by: Buffer Overflow on December 23, 2014, 10:54:34 PM
Who's to says it's bloated anyway?


Title: Re: Blockchain bloat solutions?
Post by: odolvlobo on December 24, 2014, 12:13:23 AM
Call me when the block chain size outpaces micro SD cards advancements. Not that you need to use a micro SD card for your block chain storage purposes, but if something this tiny can fit the entire block chain, I don't see a problem.

The issue is not storage space as much as it is bandwidth. The growth of the block chain is outpacing the increase in bandwidth (at least in the U.S.). Hopefully that will change when Google breaks the Comcast monopoly.