top | item 15935342

The Ethereum-blockchain size will not exceed 1TB anytime soon

119 points| fagnerbrack | 8 years ago |dev.to | reply

41 comments

order
[+] TD-Linux|8 years ago|reply
The described system is basically identical to Bitcoin's pruned mode. It's lot better than geth's fast sync, which trusts your peers to not have messed with the state.
[+] DennisP|8 years ago|reply
I don't think there's any way they could mess with the state, since every block header has a merkle root of that block's state.
[+] VMG|8 years ago|reply
Bitcoin prune node still downloads the full blockchain, just does not store all of it. It trusts the local file system, not other nodes.
[+] homakov|8 years ago|reply
Irrelevant, as it is not working on a powerful laptop anymore, which means it is not a real blockchain anymore.
[+] kruhft|8 years ago|reply
Good thinking. I like that.
[+] mgalka|8 years ago|reply
Depends on your purpose for running a node. I use it to validate transactions and to query transaction histories, for which the full state is necessary.

It would be nice if they could implement a version that allows this, without the bloat.

[+] cft|8 years ago|reply
I also use it to query transaction histories and to trace the currency flows. For that, full sync is necessary AFAIK.
[+] QML|8 years ago|reply
Someone help me with this, but why do people need the full history of the Ethereum blockchain? Shouldn't having a few of the last valid blocks be enough?
[+] CydeWeys|8 years ago|reply
Each block does not replay the entire state of the system. There could be an unspent output in a block from a year ago, that is then spent in a transaction tomorrow. You need to track all of the valid inputs that might go into a transaction. You don't need the full history (i.e. you don't need spent outputs), but you certainly need a lot more than just the most recent N blocks.
[+] nowarninglabel|8 years ago|reply
2 years ago when I was first experimenting with Ethereum, it was necessary for trying to extract out smart contract addresses among other things. Now, I'd likely use etherscan or such, unless I was building something proprietary.
[+] wslh|8 years ago|reply
Many reasons. If you want to analyze the events and method calls happening on a smart contract you need to review the whole blockchain.

A more obvious use case is reviewing all the transactions related to your address.

[+] KamelAufAbwegen|8 years ago|reply
Somebody still have to save the full chain. I don't think the idea is finally to have just one full copy of the chain.
[+] 5chdn|8 years ago|reply
But that's precisely my point. Pruned Ethereum nodes hold _all_ blocks and therefore are full nodes. In Ethereum, unlike pruning Bitcoin nodes, old blocks are not deleted.
[+] DennisP|8 years ago|reply
Yes but you only need the transaction history for that, since you can reconstruct any block state you wish from the transactions.
[+] ohhhlol|8 years ago|reply
[+] DennisP|8 years ago|reply
That's only if you store the full state of every block, which isn't necessary even for a full node. If you just keep a few recent block states, plus the entire transaction history, it's in the low tens of GB but you can still fully validate the entire chain history, and reconstruct the state of any block you want.
[+] 5chdn|8 years ago|reply
Thanks for not reading the linked article, I'm explaining this very same example in the first paragraph :)