Bitcoin Forum

Bitcoin => Development & Technical Discussion => Topic started by: hack_ on December 15, 2014, 08:52:53 PM



Title: Dealing with Bloat
Post by: hack_ on December 15, 2014, 08:52:53 PM
Hi..i just had a random thought and wonder why such a system has not been mentioned or tried.

so, the block chain is bloated and is likely to always bloat after a given number of blocks under the current structure. So i had a thought while reading through some alts, i saw how they imported balances from other chains here is my suggestion:-

After every 50000 blocks, there are 10 "Maintenance" blocks. During this time the app automatically parses the chain for all balances and prepares to import them into a new block. To avoid gaming issues, NO transactions are processed during maintenance blocks. at block 50000+11 whichever solves it adds all relevant balances to a block and alll previous blocks are "pruned/deleted".

That means for every year of blocks, the chain has 1 hour maintenance time whereby it summarizes the year and starts afresh.


Title: Re: Dealing with Bloat
Post by: altcoinex on December 15, 2014, 09:54:41 PM
Hi..i just had a random thought and wonder why such a system has not been mentioned or tried.

so, the block chain is bloated and is likely to always bloat after a given number of blocks under the current structure. So i had a thought while reading through some alts, i saw how they imported balances from other chains here is my suggestion:-

After every 50000 blocks, there are 10 "Maintenance" blocks. During this time the app automatically parses the chain for all balances and prepares to import them into a new block. To avoid gaming issues, NO transactions are processed during maintenance blocks. at block 50000+11 whichever solves it adds all relevant balances to a block and alll previous blocks are "pruned/deleted".

That means for every year of blocks, the chain has 1 hour maintenance time whereby it summarizes the year and starts afresh.

Well, you are mistaken in that it has not been mentioned or tried. In fact, Satoshi covers pruning in the original whitepaper. ;D

Most recently, in Gavin's https://bitcoinfoundation.org/2014/10/a-scalability-roadmap/ post he touches on the current state of implementation of pruning, and it is likely much further along than you expect.

There are several threads that go into detailed discussion about the methodology of implementing pruning effectively and efficiently, and it is very actively being worked on, just search the forums for 'pruning'. :D







Title: Re: Dealing with Bloat
Post by: bcearl on December 15, 2014, 10:37:59 PM
It does not help at all, because the number of addresses with balances is still growing.


Title: Re: Dealing with Bloat
Post by: hhanh00 on December 16, 2014, 01:13:24 AM
It'd help by trimming the addresses that have no unspent outputs but it'd take much more than 10 blocks. There are several million addresses in use and more than 1 GB of active data. The blockchain is at 27 GB, it's still a considerable win but it would take several days of downtime.


Title: Re: Dealing with Bloat
Post by: hack_ on December 16, 2014, 01:55:06 AM
Hi..i just had a random thought and wonder why such a system has not been mentioned or tried.

so, the block chain is bloated and is likely to always bloat after a given number of blocks under the current structure. So i had a thought while reading through some alts, i saw how they imported balances from other chains here is my suggestion:-

After every 50000 blocks, there are 10 "Maintenance" blocks. During this time the app automatically parses the chain for all balances and prepares to import them into a new block. To avoid gaming issues, NO transactions are processed during maintenance blocks. at block 50000+11 whichever solves it adds all relevant balances to a block and alll previous blocks are "pruned/deleted".

That means for every year of blocks, the chain has 1 hour maintenance time whereby it summarizes the year and starts afresh.

Well, you are mistaken in that it has not been mentioned or tried. In fact, Satoshi covers pruning in the original whitepaper. ;D

Most recently, in Gavin's https://bitcoinfoundation.org/2014/10/a-scalability-roadmap/ post he touches on the current state of implementation of pruning, and it is likely much further along than you expect.

There are several threads that go into detailed discussion about the methodology of implementing pruning effectively and efficiently, and it is very actively being worked on, just search the forums for 'pruning'. :D







i've seen the discussions on pruning i meant the exact method i have hinted at


Title: Re: Dealing with Bloat
Post by: hack_ on December 16, 2014, 01:58:25 AM
It does not help at all, because the number of addresses with balances is still growing.

Whats bloating the chain is not balances, its transaction records. by tallying all the balances and creating a block that represents the current state of the chain, there becomes no need to keep all the old data. ie from 27 GB down to a few hundred megabytes.


Title: Re: Dealing with Bloat
Post by: xcapator on December 26, 2014, 05:09:14 AM
bloating was not really the problem since orphan blocks dont stay on the "disk" necessarily... but the daemon was using more cpu/network bandwidth per tx due that reordering problem


Title: Re: Dealing with Bloat
Post by: gmannnnn on December 27, 2014, 09:59:20 AM
Hi..i just had a random thought and wonder why such a system has not been mentioned or tried.

so, the block chain is bloated and is likely to always bloat after a given number of blocks under the current structure. So i had a thought while reading through some alts, i saw how they imported balances from other chains here is my suggestion:-

After every 50000 blocks, there are 10 "Maintenance" blocks. During this time the app automatically parses the chain for all balances and prepares to import them into a new block. To avoid gaming issues, NO transactions are processed during maintenance blocks. at block 50000+11 whichever solves it adds all relevant balances to a block and alll previous blocks are "pruned/deleted".

That means for every year of blocks, the chain has 1 hour maintenance time whereby it summarizes the year and starts afresh.

1) pruning
2) not really all that bloated. Adding ~150mega a day at max is not really a big deal right now.