First draft of a proposal to add metadata to txs added on GitHub by Duncan Coutts. Super interesting read.
@@ -0,0 +1,62 @@
Cardano transaction metadata
This is a draft specification to add support for metadata to Cardano Shelley transactions.
The transaction body format is extended to contain metadata. The structure of the metadata is a mapping from keys to values. The keys are unsigned integers limited in size up to 64 bits. The values are bytes limited in size up to 64 bytes. There is no limit on the number of key-value pairs, except that imposed by the overall transaction size limit.
Note that the metadata is within the transaction body, which is the signed portion of the transaction.
A key aspect of the design is that metadata included in transactions is *not* available for later retrieval from within the ledger validation rules, including scripts. The metadata is not entered into the ledger state, and general historical chain data is not otherwise available to the ledger validation rules.
The changes to the ledger validation rules are thus very limited: only the metadata syntax, metadata size limits and the effect of the metadata on the transaction size calculation and thus the transaction fees. No data is added to the ledger state. The metadata resides only on the chain.
There are no special fees for metadata. This is justified by the fact that the cost to operators is only the one-time processing cost and an...