From a very high level view and a quick read, this seems like an extremely promising direction. Can you expand a bit on the necessity for OP_CAT and covenants? At the end of the writeup it notes
" and use Bitcoin Script to verify its execution. In order to achieve this we need a covenant like
OP_CHECKCONTRACTVERIFY
to carry state across transactions."
Why is that needed? Is it needed in a model using fraud proofs? (I’m vaguely remembering the basic idea of bitvm and earlier optimistic rollups etc). Apologies for the slightly uneducated question