Covenants and capabilities in the UTXO model



Summary:

The UTXO model can be modified to include covenants and capabilities without changing the model itself. This can be achieved by adding programmatic capabilities to the language and using some programmatic tricks, while ensuring that scriptpubkeys/scriptsigs run ephemerally at validation time. However, a coherent notion of a single parent of each output is missing in transactions currently, which needs to be addressed. Implementing complex general-purpose functionality can be expensive, and deduplication of code snippets that are repeated on chain is necessary to keep optimization linear for each block. Covenants and capabilities are controversial, with the main issue being whether they are opt-in or opt-out. While payments with covenants are reasonable if the recipient is fully aware of their implications, retroactive veto or clawback would be unacceptable. Concerns have also been raised regarding the potential creation of a business model for attacking the underlying chain if colored coins' value is substantially greater than the chain they were tokenized on.A UTXO can have a capability if its scriptpubkey asserts that its parent must either be the originator of that capability or conform to the same parent-asserting format. Backwards pointing covenants can be used to support more complex functionality such as on-chain verifiable colored coins. The chialisp.com website has a fleshed out implementation of these ideas in a slightly different model.


Updated on: 2023-05-22T16:29:55.269183+00:00