I want to verify that a block exists in a trust-less manner - i.e. with on chain validation. This rules out the option of using an oracle.
I'm aware of this function:
blockhash(uint blockNumber) returns (bytes32) but it only works for the most recent 256 blocks.
Are there any ideas how this can be done for older blocks?
Also a related question: Is it possible to verify a given `block hash` is valid in a contract? but it's (reasonably) old now and I wanted to know if there are any new thoughts.