Author

Topic: Dealing with Bloat (Read 1351 times)

member
Activity: 78
Merit: 10
December 27, 2014, 05:59:20 AM
#8
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.
sr. member
Activity: 322
Merit: 252
Here I Am !!
December 26, 2014, 01:09:14 AM
#7
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
hero member
Activity: 501
Merit: 503
December 15, 2014, 09:58:25 PM
#6
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.
hero member
Activity: 501
Merit: 503
December 15, 2014, 09:55:06 PM
#5
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. Grin

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'. Cheesy







i've seen the discussions on pruning i meant the exact method i have hinted at
sr. member
Activity: 467
Merit: 266
December 15, 2014, 09:13:24 PM
#4
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.
full member
Activity: 168
Merit: 103
December 15, 2014, 06:37:59 PM
#3
It does not help at all, because the number of addresses with balances is still growing.
sr. member
Activity: 293
Merit: 250
Director - www.cubeform.io
December 15, 2014, 05:54:41 PM
#2
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. Grin

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'. Cheesy





hero member
Activity: 501
Merit: 503
December 15, 2014, 04:52:53 PM
#1
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.
Jump to: