diff --git a/protocols/4.0-versioning.md b/protocols/4.0-versioning.md new file mode 100644 index 0000000..ff178d7 --- /dev/null +++ b/protocols/4.0-versioning.md @@ -0,0 +1,9 @@ +# Versioning in OP_RETURN + +Protocols can implement versioning by chaining based upon a private key per version that is issued in an OP_RETURN. + +## Proposal + +A new, optional, data element `` is provided. This is public key derived from a private key known to the publisher of the OP_RETURN. + +A second data element `` is required when issuing a transaction that increments the version number of the OP_RETURN. This key matches the previous transaction's `` and the new OP_RETURN also provides its own ``. This new `` is derived from the private key for the prior version's OP_RETURN, and can be verified as a valid version increment by an explorer or protocol interpretation engine.