Block Chain Pruning Idea

Here’s the topic and post where my idea originated from:

However, here's an idea that just came to my mind: outputs that have not received a transaction for 1 year should gradually lose their bitcoins (demurrage). If the address represents a cold storage, its owner should at least once in a year send a dust transaction to their cold storage addresses so that demurrage wouldn't apply. If you have some important proof of existence stored in the block chain, you should also make sure to send dust transactions to it so that it wouldn't be affected by demurrage and thus will not be pruned eventually.

It may be cool to have the demurrage flow back to its input addresses instead of just being destroyed.

I know PeerCoin does not have a problem with its block chain size but knowing that the community here is very innovation-oriented my idea could find use in some future project. I hope some high-ranked dev will read my proposal.

i like it. it could solve the “dead-lost coins” issue :wink:

Bump as I found a dust pruning tool for bitcoin maybe worth looking into. Forked on my github account.

Fuzzybear

Sent from my HTC Desire using Tapatalk 2

[quote=“FuzzyBear, post:3, topic:2932”]Bump as I found a dust pruning tool for bitcoin maybe worth looking into. Forked on my github account.

Fuzzybear

Sent from my HTC Desire using Tapatalk 2[/quote]

I’ll take a look at it, Fuzzy.

[quote=“SigmundAlpha, post:4, topic:2932”][quote=“FuzzyBear, post:3, topic:2932”]Bump as I found a dust pruning tool for bitcoin maybe worth looking into. Forked on my github account.

Fuzzybear

Sent from my HTC Desire using Tapatalk 2[/quote]

I’ll take a look at it, Fuzzy.[/quote]

its here https://github.com/FuzzyBearBTC/dust-b-gone

[member=1]FuzzyBear[/member]
Not what I thought you meant by pruning. I’ve been thinking a lot about merkle tree pruning and bloom filtering for use in wallet-as-a-service applications, to reduce database sizes and traffic costs.

Although it brings up a interesting idea for cryptocurrency crowd funding using ANYONECANPAY on OP_CHECKSIG to group all the included transactions for the funds on the blockchain instead of on a server.

I’m not a fan of the fact that this affects cold storage wallets requiring periodic check-ins, even if it’s once a year, and I don’t know how this jives with PPC’s way of handling transaction fees. There should exist a way to have a wallet with zero activity keep its integrity.

You can’t just throw away accounts! Nobody would use the coin then.

Personally I’ve studied POS blockchain trimming pretty thoroughly. I’m convinced it’s not possible while being trustless and decentralized. Maybe I’m missing something though, I’d be curious to hear thoughts.

The problem is that in order to mine, you have to prove that you had a certain number of coins at a given period of time… which basically involved looking at the blockchain in order to prove it. Most of the ideas that try to trim away that data involve allowing people to mine a single block then take over control of the trimmed version of the chain. Or at least create fake ones that non-full node miners can’t verify as being real or fake.

And the only reason PPC doesn’t have a huge blockchain trimming problem is because it isn’t very widely used.

That’s one of the reasons why blockchain bloating should be avoided as much as possible.

One solution could be to forbid minting using stakes older than a certain age (like one year ago or x blocks ago), so we could prune blocks before that date.

Vericoin PoST could be interesting to implement too:

Has anybody asked [member=79]Sunny King[/member] or [member=30141]sigmike[/member] about PoST? Would be interesting to have their point of view on that.

I think fudging with the ability to stake is a better proposition than inducing wallet decay. If I own coins, they should be mine forever, regardless of the usage of that particular wallet. That doesn’t mean, however, that I am necessarily entitled to the POS return, so I see that open for consideration.

Yep the 1% reward could be lowered of course. You could also move your coins around if needed.

Don’t see any other way to allow blockchain pruning, an idea anyone?

Right.

Nope, but…

I don’t see problems with blockchain pruning - but only if it’s a type of blockchain where UTXOs are intended to be used frequently.

Peercoin isn’t one of that type - in my opinion.

If you have, say Dogecoin, and you tip regularly what would be the problem if you’d cut off blocks older than, say 12 months (or the respective number of blocks)? You would lose the genesis block and all the transaction history in the blocks that have been pruned. But you could treat it like a new “genesis block” every 12 months as well, right?
As long as you move all UTXOs regularly, you wouldn’t lose any coin as long as you move them all in a higher frequency than the blockchain gets pruned.
People need to be aware of that before they put much money into something like that.

Transforming a blockchain to such a system might be harder that creating one where that mechanism is in place right from the start.

Wallet applications should be designed to keep track of the number of blocks that remain until the pruning happens to assist users in moving their coins early enough. Standard behaviour could be something like “move all coins after 50% of the blocks since the last pruning have passed with the next issued transaction”. Remember - I’m talking about something frequently used here.
I’d call that coin “Phoenixcoin”, bud sadly that already exists. The name “Rebirthcoin” seems to be unoccupied.

Regarding PoST: that is something which should be an incentive to mint regularly (I still consider securing the blockchain and hence securing all owned coins the main incentive for minting, but the Peercoin minting rate shows that not too many see it that way).
But I see the advantages rather in the area of raising the level of minting coins (in relation to all generated coins) than in paving the ground for something like blockchain pruning - you couldn’t be sure that you have minted with all your coins successfully before the pruning happens.
Unsuccessful (in minting) UTXOs would be gone then, right?
But in general I think PoS would be a superior consensus mechanism for this pruning approach because coin owners have an incentive to do something with their coins - if only they mint…

I think I got mixed up between pruning and SPV :wink:

Pruning: “It provides full validation, and maintains and updates the UTXO set. It just can’t serve historic blocks to others.”

Source: https://twitter.com/pwuille/status/591552354962530304

I guess UTXOs used for minting should be kept around for while before being pruned but we would still be annoyed by that stake modifier thing. V0.5 could solve that problem as stake modifier will supposedly be defined starting from blockchain height rather than stake block.

[member=31980]mczarnek[/member] could you share a bit more of the results of your study with us?

Here are my thoughts on why blockchain trimming may be impossible in POS systems:

Am I missing something?