A sha256 hash is 32 bytes, but otherwise I agree with this proposal. Genesis block hash is the logical way to identify chains, moving forward.
BIP 70 currently lists two networks, main and test (inferred as testnet3) for payment protocol requests. This means that different testnets cannot be supported trivially, and the protocol cannot be used for alternative coins (or, lacks context to indicate which coin the request applies to, which is particularly dangerous in cases where coins share address prefixes).
I propose adding a new optional "genesis" field as a 16 byte sequence containing the SHA-256 hash of the genesis block of the network the request belongs to, uniquely identifying chains without any requirement for a central registry. For backwards compatibility, the "network" field would contain "main" for Bitcoin main net, "test" for Bitcoin testnet3, and "other" for other networks apart from those two.
I'd appreciate initial feedback on the idea, and if there's no major objections I'll raise this as a BIP.
Ross
_______________________________________________
bitcoin-dev mailing list
bitcoin-dev@lists.linuxfoundation.org
https://lists.linuxfoundation.org/mailman/listinfo/bitcoin-dev