Hacker News new | past | comments | ask | show | jobs | submit login

> Once the latest transaction in a coin is buried under enough blocks, the spent transactions before it can be discarded to save disk space.

Everyone should have this quote ready when there's an inevitable "but there's no tampering of the log, and all transactions are kept forever and can be verified!"




This feels like a misunderstanding of how the syncing process works. You don't only download the last n blocks and assume the current state is accurate. You download the entire chain, validate it, and optionally discard the redundant information. As far as your client is concerned it still verified the entire chain end-to-end. The only difference with pruning is that you can't revalidate the chain end-to-end without redownloading the whole chain, but I'm not sure why you'd want to do that unless your machine was compromised.


what happens when everyone on the chain discards old transactions?


That would be bad. Archive nodes are needed.


So. What safeguards are in place against this?

Except, you know, "trust us, this will never happen". Given that blockchain size is now 346GB while it handles a fraction of a fraction of a fraction of the number of transactions that the rest of the world runs.


Yes, the blockchain data structure ensures that if you verify the older transactions, the newer transactions on top of it are verified. If the old version was valid, the newer block built on top of it is too.


> Yes, the blockchain data structure ensures that if you verify the older transactions, the newer transactions on top of it are verified.

That is not enough.

Blockchain is proposed for various things like, for example, land registries. They have to be kept around indefinitely long. In many countries financial institutions are required by law to keep financial transactions around for 4 years. Ans so on.

But yeah, sure, go ahead and remove all historical data "because new transaction is mathematically valid".


> Blockchain is proposed for various things like, for example, land registries. They have to be kept around indefinitely long. In many countries financial institutions are required by law to keep financial transactions around for 4 years. Ans so on.

If you have a copy of the latest block and the older verified block headers, you can trustlessly verify older blocks that people give you.

> But yeah, sure, go ahead and remove all historical data "because new transaction is mathematically valid".

Archival nodes– nodes that store full history– still exist and are still needed. You can query them from a normal full node and get their blocks.


> Archival nodes– nodes that store full history– still exist and are still needed.

Still needed as in "must be there for the chain to function"? Is it possible to have a situation where every node on the chain has truncated its history?

Note also that currently bitcoin needs 300 GB to store data for a fraction of a fraction of transactions needed for the world to run [1]. And crypto enthusiasts people want to move everything onto a blockchain.

[1]

- Total number of transactions is ~640 million: https://www.blockchain.com/charts/n-transactions-total

- Visa alone processes 4.8 billion transactions per quarter: https://s1.q4cdn.com/050606653/files/doc_financials/2020/q3/... which amounts to ~52 million transaction per day

- To handle Visa traffic alone, for that same quarter, Bitcoin blockchain would grow by 9 terabytes. 36 terabytes a year.

And that's for Visa volumes alone. Even though Visa is the biggest one, there's the long tail as well.

"the total number of general purpose credit card transactions in the U.S. was 40.9 billion in 2018" https://www.creditcards.com/credit-card-news/market-share-st...

So, how long before even the archive nodes start truncating data?


Then participants who are obligated to keep 4 years of history around will run nodes that keep that data around.


Will they?




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: