Author

Topic: Milestone Block Idea (Read 1057 times)

legendary
Activity: 4536
Merit: 3188
Vile Vixen and Miss Bitcointalk 2021-2023
April 12, 2012, 05:17:51 PM
#5
It's a bad idea because:

1) It's impossible, since Bitcoin don't have "balances", only transactions. An address balance is simply a derived figure calculated by adding up all the transactions going into it and subtracting the transactions going out; this figure is not actually "stored" in the blockchain anwhere. More importantly, because a transaction input must be the output of a previous transaction, knowing an address balance is useless if you don't know exactly which transactions the money came from.

2) The idea of stealing money that hasn't been moved in a while is not going be accepted by users. This is one of the key reasons why I'm using Bitcoin in the first place: my bank actually froze one of my accounts once because I "hadn't used it in a while" without even telling me, causing major frustration the day I actually did try to use it. Angry But at least they held on to my money and (eventually) gave it back to me instead of stealing it outright. If anything even remotely like this is ever implemented in Bitcoin (not that that's likely to happen), then I (and probably most other users) will take my money elsewhere.

3) Finally, and most importantly, we already have something like this: Merkle tree pruning, which involves removing transactions that have totally spent outputs. All we need is a client that actually implements this. There's no need to make any changes to the protocol.
legendary
Activity: 1708
Merit: 1010
April 12, 2012, 05:00:27 PM
#4
While it's good that you're thinking, there are a couple of problems with the idea...

1) A table listing all of the addresses that have a non-zero balance can't go into a block, although it's more than reasonable to have such a service exist for the use of future clients that might use Stratum or some other overlay network.

2) A table wouldn't break the bitcoin system, so there is no way to 'invalidate' unspent coins, even if they are known lost.  This is a feature, not a bug.  Even if you could, who would get those coins?

3) The whitepaper already includes a method of blockchain reduction.  "Pruning" of the blockchain, or the removal of old transaction data for which coins have already been spent several times, is included in the protocol.  This is why a 'merkle hash tree' is included in the block's internal structure rather than just a flat file of transactions.  After all transactions have been repeatedly spent again within a given block, including the coinbase transaction; those transactions, their data and their merkle tree branches can be removed from the block's data.  This reduces the block's data size all the way down to only an 80 byte header.  So long term, a full client can reduce prior year blocks down to headers alone, resulting in about 4 megs of data per year plus all current unspent transactions plus about a month worth of all the most recent transactions whether spent or not.  Although this doesn't put a cap on the size of the blockchain, growth is far below the historical growth of disk sizes.  Even miners can do this to their blockchains.  Only the most paranoid of client setups would require the entire blockchain like they all do today, but I'm sure that such a very paranoid client will exist somewhere on the Internet.  There is not any full client that 'prunes' yet because there isn't a need for it yet and the bitcoin network depends upon the "many copies keep data safe" method.  By the time Bitcoin really starts to take off, clients that prune by default will exist.  Already there are light clients (that cannot mine) that don't download or keep blocks created prior to their first startup date.
member
Activity: 61
Merit: 10
April 12, 2012, 04:41:01 PM
#3
Here is my idea.  Every year (or every 52560 blocks) create a special milestone block that contains all the bitcoin addresses and their balances and get that inserted/mined into the block chain.  This would allow you to remove the all blocks before that special block from disk/memory.  I think ideally you might want to keep at least two milestone blocks to keep some history.  This plan also offers the opportunity to reclaim some lost coins.  You could declare any address that has no activity in 1 or 2 years as abandoned and award them to the miner who mined the milestone block.

I think you meant to post this here:
www.highdeas.com
Why?  What is wrong with the idea?  One of the issues with bitcoin is the growing size of storing the whole, ever growing, blockchain.  With my idea you could keep it from growing forever.
donator
Activity: 362
Merit: 250
April 12, 2012, 04:19:56 PM
#2
Here is my idea.  Every year (or every 52560 blocks) create a special milestone block that contains all the bitcoin addresses and their balances and get that inserted/mined into the block chain.  This would allow you to remove the all blocks before that special block from disk/memory.  I think ideally you might want to keep at least two milestone blocks to keep some history.  This plan also offers the opportunity to reclaim some lost coins.  You could declare any address that has no activity in 1 or 2 years as abandoned and award them to the miner who mined the milestone block.

I think you meant to post this here:
www.highdeas.com

edit - sorry for being rude/dismissive, it had been a long day and I was irritable and tired of "lost coin" recovery suggestions.
member
Activity: 61
Merit: 10
April 12, 2012, 12:34:29 PM
#1
Here is my idea.  Every year (or every 52560 blocks) create a special milestone block that contains all the bitcoin addresses and their balances and get that inserted/mined into the block chain.  This would allow you to remove the all blocks before that special block from disk/memory.  I think ideally you might want to keep at least two milestone blocks to keep some history.  This plan also offers the opportunity to reclaim some lost coins.  You could declare any address that has no activity in 1 or 2 years as abandoned and award them to the miner who mined the milestone block.
Jump to: