// don't trust us. check it yourself.
a block height, a block hash, the code printed on a poster, or the sha256 of your pdf
an example, block 100,000:
- okheader decoded80 bytes · version 1 · bits 1b04864c · nonce 274148111
- okhash recomputedsha256(sha256(header)) =
000000000003ba27aa200b1cecaad478
d2b00432346c3f1f3986da1afd33e506 - okproof of workhash below target 0x1b04864c · 11 leading zero digits
# same check, on your own node
$ bitcoin-cli getblockhash 100000
$ bitcoin-cli getblockheader 000000000003ba27aa200b1cecaad478d2b00432346c3f1f3986da1afd33e506 false
step by step
find the block by its height: any node running Bitcoin Core gives the hash of a height.
$ bitcoin-cli getblockhash 100000 000000000003ba27aa200b1cecaad478d2b00432346c3f1f3986da1afd33e506get its 80-byte header, raw, in hexadecimal: the header is what the proof of work covers.
$ bitcoin-cli getblockheader 000000000003ba27aa200b1cecaad478d2b00432346c3f1f3986da1afd33e506 false 0100000050120119172a610421a6c3011dd330d9df07b63616c2cc1f1cd00200000000006657a9252aacd5c0b2940996ecff952228c3067cc38d4885efb5a4ac4247e9f337221b4d4c86041b0f2b5710hash it twice with SHA-256, read backwards: one line of Python does it.
$ python3 -c "import hashlib; h = bytes.fromhex('0100000050120119172a610421a6c3011dd330d9df07b63616c2cc1f1cd00200000000006657a9252aacd5c0b2940996ecff952228c3067cc38d4885efb5a4ac4247e9f337221b4d4c86041b0f2b5710'); print(hashlib.sha256(hashlib.sha256(h).digest()).digest()[::-1].hex())" 000000000003ba27aa200b1cecaad478d2b00432346c3f1f3986da1afd33e506compare with the poster: the result is the hash printed on it, leading zeros included. no node at hand? any block explorer shows the same hash for the same height.