6 ms·
Hi. Bitcoin.org contributor[0] here. You can start and run a fully validating Bitcoin node with 7GB of storage space and 128MB-256MB RAM. Download the official
by crazypython 5y ago
Hi. Bitcoin.org contributor[0] here. You can start and run a fully validating Bitcoin node with 7GB of storage space and 128MB-256MB RAM. Download the official GUI Bitcoin software here[1]. Enable pruning to store just 7GB. This validates all blocks.
The ability to prune older blockchain data is an inherent feature of blockchain, as explained by Satoshi himself:
> Once the latest transaction in a coin is buried under enough blocks, the spent transactions before it can be discarded to save disk space. To facilitate this without breaking the block's hash, transactions are hashed in a Merkle Tree [7][2][5], with only the root included in the block's hash. Old blocks can then be compacted by stubbing off branches of the tree. The interior hashes do not need to be stored.
Only the recent several days need to be stored for security, which allows Bitcoin to run very securely with just 7GB of space.
[0]: https://github.com/bitcoin-dot-org/Bitcoin.org/pull/3624 https://github.com/bitcoin-dot-org/Bitcoin.org/pull/3624
[1]: https://bitcoincore.org/ https://bitcoincore.org/
- dmitriid 5y ago> 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!"
- crazypython 5y agoYes, 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.
- dmitriid 5y ago> 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".
- miracle2k 5y agoThen participants who are obligated to keep 4 years of history around will run nodes that keep that data around.
- dmitriid 5y agoWill they?
- crazypython 5y ago> 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.
- dmitriid 5y ago> 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 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/Visa-Inc.-Q3-2020-Operational-Performance-Data.pdf 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-statistics/ https://www.creditcards.com/credit-card-news/market-share-st... So, how long before even the archive nodes start truncating data?
- gruez 5y agoThis 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.
- dmitriid 5y agowhat happens when everyone on the chain discards old transactions?
- wmf 5y agoThat would be bad. Archive nodes are needed.
- dmitriid 5y agoSo. 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.