Bitcoin Covenants deel 5 MATT en OP_CHECKCONTRACTVERIFY maken staat in transacties mogelijk
Een nieuw voorstel maakt het mogelijk om contractstaat direct in Taproot-uitgangen van Bitcoin vast te leggen. Dat gebeurt met het MATT‑framework en de opcode OP_CHECKCONTRACTVERIFY, wat ook compactere fraudebewijzen mogelijk maakt.
Meer nieuws over BTC
Wat er gebeurde
MATT staat voor Merkliize All The Things en is een smart contract‑framework voor Bitcoin. Het maakt zogenaamde stateful contracts mogelijk. Dat zijn contracten die informatie van de ene transactie naar de volgende dragen en bijwerken. Standaard Bitcoin‑scripts missen deze geheugenfunctie omdat elke transactie onafhankelijk wordt beoordeeld.
MATT gebruikt een mechanisme van Taproot waarbij een intern openbaar sleutel wordt aangepast om gegevens te committeren. In plaats van vooraf vastgelegde toestanden kiezen transacties bij het uitgeven dynamisch nieuwe staat. Dat maakt numerieke en gecompliceerde logica beter uitvoerbaar dan bij eerdere covenant‑ideeën zoals Sapio en OP_CTV.
De meest directe implementatie van MATT gebruikt OP_CHECKCONTRACTVERIFY, of OP_CCV. Met OP_CCV kan een script controleren of een Taproot‑input of uitgangsleutel is aangepast om een specifieke staat te bevatten. De opcode leest staat op de witness stack, voert berekeningen uit en verlangt dat de bijgewerkte staat correct wordt her‑committeerd in een opgegeven output. OP_CCV kent drie controlemodi en een aparte inputmodus. In de default‑modus gaat de volledige waarde van de input naar de gecontroleerde output. In deduct‑modus wordt alleen een deel toegewezen zodat de rest voor andere outputs beschikbaar blijft. In ignore‑modus wordt alleen de script‑ en data‑commitment geverifieerd zonder de hoeveelheid te beperken.
De ontwerpkeuze voor default en deduct voorkomt dat transacties per ongeluk fondsen verbranden. Transactiekosten moeten worden betaald via aparte fee‑inputs en dat kan zonder te botsen met de covenant‑regels. Dit lost beperkingen op van oudere covenantvormen en van voorgeschreven, vooraf ondertekende transacties die geen dynamische fees of gedeeltelijke uitgaves toestaan.
Als OP_CCV wordt gecombineerd met OP_CAT wordt MATT nog krachtiger. OP_CAT maakt byte‑concatenatie mogelijk en maakt het bouwen en verifiëren van Merkle‑bewijzen op chain mogelijk. Een Taproot‑output kan dan twee Merkle‑bomen hebben. Eén boom bevat de contractscripts en de andere de staatdata. Zo kan een script een Merkle‑pad verifiëren, de nieuwe staat berekenen en via OP_CCV afdwingen dat de volgende output die nieuwe staat bevat. Dit maakt compacte fraudebewijzen mogelijk waarbij alleen het betwiste stapje van een lange berekening on‑chain hoeft te worden gecontroleerd.
De OP_CCV plus OP_CAT constructie kan ook gebruiksgevallen voor vaults bieden. OP_CCV alleen kan al vaults implementeren, maar in combinatie met OP_CAT levert het functionaliteit vergelijkbaar met OP_VAULT. De auteur van OP_VAULT zei dat OP_CCV een algemenere en robuustere opzet biedt die zijn voorstel effectief overvleugelt.
De reeks artikelen gaat verder. De volgende aflevering bespreekt opcodes met een meer specifieke toepassing zoals OP_VAULT, OP_UNVAULT en OP_EVICT.
Waarom dit telt
Voor beleggers in BTC en ontwikkelaars van Bitcoin‑infrastructuur betekent dit dat er technisch meer mogelijkheden ontstaan voor programmatische en stateful toepassingen op Bitcoin. Dat kan invloed hebben op welke diensten en producten op het netwerk mogelijk worden gemaakt.
Waar je op kunt letten
- Ontwikkelingen rondom de goedkeuring en adoptie van OP_CCV en OP_CAT.
- Concrete implementaties of testnet‑projecten die MATT gebruiken.
- Discussie en acceptatie van MATT ten opzichte van bestaande voorstellen zoals OP_VAULT en BitVM.