Posted by Robert McKay
Mar 27, 2015/14:32 UTC
The email thread is about a proposed challenge-response protocol that can be used to prove a node has the entire blockchain. The proposed challenge involves sending a request to a node to send SHA256(SHA256(concatenation of N pseudo-randomly selected bytes from the block chain)). The node must perform random reads from local disk to respond with the correct hash value. The number of blocks to be read is chosen such that it would be infeasible for the node to fetch all of the needed blocks in a short amount of time. The challenge also becomes more difficult as average block size increases. The proposed protocol relies on the lack of a "partial getdata" command in the Bitcoin protocol, meaning that a node cannot ask for only part of a block; it must ask for an entire block. Furthermore, nodes could ban other nodes for making too many random requests for blocks. The email thread discusses improvements to this protocol, including sending the encrypted blocks instead of decrypted blocks and further verification by using a Merkle tree root of hashes. The discussion also touched on the use of spinning media versus SSD for random reads. The proposed protocol does not require every node to implement it, but only nodes that want to prove full-node-ness, such as the ones which want to receive bitnodes subsidy.
TLDR
We’ll email you summaries of the latest discussions from authoritative bitcoin sources, like bitcoin-dev, lightning-dev, and Delving Bitcoin.
We'd love to hear your feedback on this project?
Give Feedback