We want our application to allow users to declare via a signed 32-byte number which Bitcoin protocol rules and data formats they will adhere to.
Currently I’m thinking this is a hash value of an annotated schema description document (e.g. a JSON schema). The schema describes the composition of block headers, coinbase tx, and other transactions, with comments describing the characteristics of each component. There is no need to include peer-to-peer message forwarding rules.
I expect there to be a lot of “synonyms” in the schema document. For example, changing a period in a schema comment may result in a fully compatible schema, but the hash value will be different.
Does something like this already exist?
Or are there other things I can hash to achieve the same result (e.g. Bitcoin core source code, compilers, and whitepapers)?