Author

Topic: using verified check sum to speed up block chain verification (Read 1483 times)

legendary
Activity: 2618
Merit: 1007
As coinbase is not intended for this kind of stuff afaik, I could also include (as a miner) completely bogus data/hashes in the coinbase. Unless the protocol changes, this would still be a valid block...

If you trust 3rd parties, you can do a lot of other stuff - in your example I'd have to trust the hashes in the coinbase are for the correct macroblocks (something I'd still have to verify! Also with potential pruning of unneeded parts of blocks in the future it can be the case that nobody any more has complete blocks as they were minted). Why not just include a BitTorrent infohash instead in the coinbase? Wink

All in all: Yes, such an option would be nice (I actually don't know if the client downloads a block + verifies it, then loads the next block etc. or if it loads + verifies asynchronously), but it most likely won't save the verification step in a 0 trust scenario.
donator
Activity: 1218
Merit: 1079
Gerald Davis
hmmm.  maybe an option after initial install?  you can user either the normal decentralized method, or opt to do a quick verify?

The issue is for 99.99999999999999999% of users given two options:

a) the right but potentially long and boring way
or
b) the super fast and easy ( .... and potentially cryptographically insecure ... they already clicked a).

I do think the protocol could be expanded to do it is a p2p fashion using the nodes.
1) New nodes compress and hash 10,000 blocks into a "macro block"
2) New nodes randomly pick one prior macro block (to date there would be 17 macroblocks) and include it's hash in coinbase
3) Old nodes would ignore this but new nodes wouldn't consider a block valid unless the macroblock hash in coinbase is valid.

Virgin node bootstrapping.
1) Node requests macroblocks from peers and records their hashes. (downloading all 17 macroblocks would take node to block 170,000)
2) Node requests newest blocks normally and validates macroblocks from the coinbases.

If all 17 macroblocks have valid hashes then the macroblocks are valid and thus tx are valid.
User could even download the 17+ macroblocks from non p2p source since validation is based on the blockchain.
member
Activity: 84
Merit: 10
hmmm.  maybe an option after initial install?  you can user either the normal decentralized method, or opt to do a quick verify?
legendary
Activity: 2618
Merit: 1007
This probably won't be in the mainline client, as one of the ideas of Bitcoin is that you don't need one or multiple trusted sources to verify a blockchain.
member
Activity: 84
Merit: 10
i'm not sure of the technical or potential security short commings, but would it be viable to have an option in a client to download the blockchain (which i understand to be relatively quick) and verify an md5 checksum from multiple trusted sources?

the potential benefit would be more rapidly being up to date, while still being in possession of the full blockchain, as apposed to the thin client option.
Jump to: