Hacker Newsnew | past | comments | ask | show | jobs | submitlogin

Dosen't the blockchain already compact? Correct me if i'm wrong but once a block is hashed and confirmed as the most recent block, why would you need to store the previous blocks?


Full nodes must store the hashes that are generated from previous blocks. If they didn't, how would you know that the most recent hash really is the generated as a result of hashing the previous block recursively? A malicious attacker could forge a previous block, act as the next one is the current block based on the hash of the forged block, and there would be no way to verify that the hash of this block is valid or invalid.


I was under the impression that attack would not work because as long as the majority of nodes are "honest" there would be no way for an attacking node to outpace the chain. Each node votes with their cpu so the combined compute/speed of honest nodes would always outpace the introduction of a corrupt block. Since the the most recent "confirmed block" is a hash of the previous successful block it just continues.

However I admit much of my assumptions are just from reading the original paper so i'm probably over-simplifying. I guess it would make sense they need some history but not sure why they would need all of it since the previous blocks are confirmed?


"Balances" are stored on every block. If you threw away the beginning of the chain, you could keep generating blocks, but you couldn't spend any transaction outputs that are stored in the thrown away parts of the chain.

Unless I'm missing something something pretty big about how Bitcoin's blockchain works.


https://en.bitcoin.it/wiki/Full_node

"Full nodes are the most secure way to use Bitcoin, they do not suffer from many attacks that affect lightweight wallets...[a]s explained previously, full nodes enforce the consensus rules no matter what. However, lightweight nodes do not do this."




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

Search: