Author

Topic: Could blockchain compression/pruning lead Bitcoin to its demise? (Read 4314 times)

sr. member
Activity: 455
Merit: 250
You Don't Bitcoin 'till You Mint Coin
.......
In addition to that it's possible to retain strong confidence of trustworthyness in even in an environment where many people don't have access to the long ago historical data— I suggested an idea I call "proof of treachery" on the Bitcoin-dev list:

If the rules are violated in a chain someone who observes the violation can copy out the minimum necessary data to _PROVE_ that a violation happened (which is always small: it's no more than two conflicting transactions or one bad-signature transaction, and the hash trees that connect them to the header) they can then broadcast these proofs and any node— even one without the history can see and understand the proof just on a purely 'mathematical' basis— without trust and then completely reject any chain following the point of treachery, even if that point was long before the history they have.  Because information is hard to stifle so long as there was at least _one_ honest node that observed the cheating it would be reliably defeated.  That is not quite as good as "you checked for yourself", but Bitcoin doesn't quite achieve that even with access to the whole history because someone could have potentially concealed an alternative history from you (e.g. there is another longer chain but no one has told you about it) so Bitcoin's autonomy already depends on it being too hard to effectively conceal the truth from nodes for too long. Plus, a proof of treachery is much smaller and more easily passed than a block (and it's origin more easily concealed from someone who would want to suppress it).

That is a really cool. What's the chance of getting implemented? Are you still pushing for it?
sr. member
Activity: 455
Merit: 250
You Don't Bitcoin 'till You Mint Coin
Would this destroy Bitcoin? No, it would not;

If changes in usage resulted in centralization of validation it would 'destroy' Bitcoin. No, it wouldn't stop existing— but it would stop having a point. We have other ways to have centralized money and Bitcoin isn't an especially efficient one.

However…

Quote
I think it would be a huge loss. Why? Because the never-ending-supply of skeptics learning about Bitcoin can no longer trust solely in math and cryptography to audit the system. As soon as you start deleting information that is "no-longer useful" you have to start trusting the mining community that nothing dubious has been done though the probability of a mining conspiracy is extremely low;

Technology like pruning and txout trees are things which _prevent_ centralization. What you're saying above right now applies much more strongly to block validation then they do to storage.  Storage has been growing at a rate faster than moore's law and slow nearline storage is very inexpensive. At home I already have enough storage for about 100 years of the current maximum blockchain growth.  But timely validation is much more costly and there is a risk of a tragedy of the commons on performing it and everyone moving to centeralized webwallets or lite nodes that trust other nodes to be honest.  Technologies that minimize the cost of fully validating nodes are not a threat, they are potentially a salvation.

(In particular: it's already trivial to mine without having the history— all of these centralized pool miners are doing so already, and unless you're using P2Pool, bitpenny, eligius-gmp, or solo mining you are guilty of it too, so these improvements don't create new ways of being anti-social)

I'm not too worried about your concern because the cost of storage is reasonably cheap, and preservation of the data is valuable for many reasons and not just preserving the autonomous trust-freeness of the system— e.g. historical, contractual, investigative, and academic reasons. But the autonomous validation is probably enough incentive alone, after all the whole Bitcoin system was created in order to have that property.

In addition to that it's possible to retain strong confidence of trustworthyness in even in an environment where many people don't have access to the long ago historical data— I suggested an idea I call "proof of treachery" on the Bitcoin-dev list:

If the rules are violated in a chain someone who observes the violation can copy out the minimum necessary data to _PROVE_ that a violation happened (which is always small: it's no more than two conflicting transactions or one bad-signature transaction, and the hash trees that connect them to the header) they can then broadcast these proofs and any node— even one without the history can see and understand the proof just on a purely 'mathematical' basis— without trust and then completely reject any chain following the point of treachery, even if that point was long before the history they have.  Because information is hard to stifle so long as there was at least _one_ honest node that observed the cheating it would be reliably defeated.  That is not quite as good as "you checked for yourself", but Bitcoin doesn't quite achieve that even with access to the whole history because someone could have potentially concealed an alternative history from you (e.g. there is another longer chain but no one has told you about it) so Bitcoin's autonomy already depends on it being too hard to effectively conceal the truth from nodes for too long. Plus, a proof of treachery is much smaller and more easily passed than a block (and it's origin more easily concealed from someone who would want to suppress it).

So I think so long as we build all these paranoid little tools that preserve the vision of Bitcoin and act with thoughtfulness and care when making adjustments to improve scalability which might result in centralization then Bitcoin will do just fine.


Hi gmaxwell,
       Thanks for a great post. I have the tendency to think too much of the long term projection of this cool project and worry. I've thought some more about it and with your post I'm going to set my concerns aside and continue with the few projects I hope to realize.
hero member
Activity: 815
Merit: 1000
If the rules are violated in a chain someone who observes the violation can copy out the minimum necessary data to _PROVE_ that a violation happened (which is always small: it's no more than two conflicting transactions or one bad-signature transaction, and the hash trees that connect them to the header) they can then broadcast these proofs and any node— even one without the history can see and understand the proof just on a purely 'mathematical' basis— without trust and then completely reject any chain following the point of treachery, even if that point was long before the history they have
Did you see my swarm client proposal? What you just described is a key part of it - just mentioning since you're "staff" Wink

In addition my swarm node would verify a few addresses, so that once you have a swarm of thousands of them, some are guaranteed to start propagating report-proofs in the case of fraud.
staff
Activity: 4284
Merit: 8808
Would this destroy Bitcoin? No, it would not;

If changes in usage resulted in centralization of validation it would 'destroy' Bitcoin. No, it wouldn't stop existing— but it would stop having a point. We have other ways to have centralized money and Bitcoin isn't an especially efficient one.

However…

Quote
I think it would be a huge loss. Why? Because the never-ending-supply of skeptics learning about Bitcoin can no longer trust solely in math and cryptography to audit the system. As soon as you start deleting information that is "no-longer useful" you have to start trusting the mining community that nothing dubious has been done though the probability of a mining conspiracy is extremely low;

Technology like pruning and txout trees are things which _prevent_ centralization. What you're saying above right now applies much more strongly to block validation then they do to storage.  Storage has been growing at a rate faster than moore's law and slow nearline storage is very inexpensive. At home I already have enough storage for about 100 years of the current maximum blockchain growth.  But timely validation is much more costly and there is a risk of a tragedy of the commons on performing it and everyone moving to centeralized webwallets or lite nodes that trust other nodes to be honest.  Technologies that minimize the cost of fully validating nodes are not a threat, they are potentially a salvation.

(In particular: it's already trivial to mine without having the history— all of these centralized pool miners are doing so already, and unless you're using P2Pool, bitpenny, eligius-gmp, or solo mining you are guilty of it too, so these improvements don't create new ways of being anti-social)

I'm not too worried about your concern because the cost of storage is reasonably cheap, and preservation of the data is valuable for many reasons and not just preserving the autonomous trust-freeness of the system— e.g. historical, contractual, investigative, and academic reasons. But the autonomous validation is probably enough incentive alone, after all the whole Bitcoin system was created in order to have that property.

In addition to that it's possible to retain strong confidence of trustworthyness in even in an environment where many people don't have access to the long ago historical data— I suggested an idea I call "proof of treachery" on the Bitcoin-dev list:

If the rules are violated in a chain someone who observes the violation can copy out the minimum necessary data to _PROVE_ that a violation happened (which is always small: it's no more than two conflicting transactions or one bad-signature transaction, and the hash trees that connect them to the header) they can then broadcast these proofs and any node— even one without the history can see and understand the proof just on a purely 'mathematical' basis— without trust and then completely reject any chain following the point of treachery, even if that point was long before the history they have.  Because information is hard to stifle so long as there was at least _one_ honest node that observed the cheating it would be reliably defeated.  That is not quite as good as "you checked for yourself", but Bitcoin doesn't quite achieve that even with access to the whole history because someone could have potentially concealed an alternative history from you (e.g. there is another longer chain but no one has told you about it) so Bitcoin's autonomy already depends on it being too hard to effectively conceal the truth from nodes for too long. Plus, a proof of treachery is much smaller and more easily passed than a block (and it's origin more easily concealed from someone who would want to suppress it).

So I think so long as we build all these paranoid little tools that preserve the vision of Bitcoin and act with thoughtfulness and care when making adjustments to improve scalability which might result in centralization then Bitcoin will do just fine.
sr. member
Activity: 455
Merit: 250
You Don't Bitcoin 'till You Mint Coin
I can see how blockchain pruning and the "ultimate compression" would be very useful for many applications.
However, could it start a trend where no one, not even the miners, care about storing and maintaining the entire block chain when it scales to the same level as other payment processors?
It makes sense; why store and maintain it when "the next guy will take care of it if ever needed". Purchasing hard drives and spending money on the electricity to keep them running to maintain the entire block chain is money your mining competitor didn't spend.

It looks as if this trend will be set in motion and will make the entire block chain database heavily centralized or lost completely in the distant future. Would this destroy Bitcoin? No, it would not; however, I think it would be a huge loss. Why? Because the never-ending-supply of skeptics learning about Bitcoin can no longer trust solely in math and cryptography to audit the system. As soon as you start deleting information that is "no-longer useful" you have to start trusting the mining community that nothing dubious has been done though the probability of a mining conspiracy is extremely low; however, it is still a very valuable selling point for Bticoin that anyone can audit the system and have 100% assurance that all rules were followed to the letter. This can only be done with the full block chain.

So, how many of you serious miners feel the duty to maintain the entire block chain to increase decentralization and robustness of the system?
I, for one, have the goal of doing this, but will expect the costs to be recovered via transaction fees as the system scales. Am I alone on this? What percentage of the community feels this way?
Please chime in on your position/viewpoint


If I am alone, I need to rethink some of my projects I had for bitcoin. I'm hoping there's at least 50% plus.



Jump to: