Bitcoin’de MATT ve OP_CCV ile durum taşıyan sözleşmeler
Bitcoin’de MATT ve OP_CCV, sözleşme durumunu Taproot anahtarlarına bağlayıp harcamalarda doğrulamayı; dinamik durum geçişleri ve kompakt sahtekârlık kanıtlarını mümkün kılmayı hedefliyor.
Bitcoin için önerilen MATT çerçevesi ve OP_CHECKCONTRACTVERIFY (OP_CCV), sözleşmelerin durum bilgisini işlemler arasında taşımasını ve her harcamada yeni durumun doğrulanmasını amaçlıyor. Bu yaklaşım, durum taşıyan sözleşmeler ile daha kompakt sahtekârlık kanıtlarının önünü açabilir.
MATT, “Merkleize All The Things” ifadesinin kısaltması. Bir sözleşmenin birden fazla işlem boyunca bilgi taşıyıp zaman içinde güncellenmesine imkân veren bir yapı olarak tanımlanıyor. Standart Bitcoin betikleri ise her işlemi önceki çalıştırmalardan bağımsız değerlendiriyor; bu nedenle sözleşmenin geçmiş durumunu doğrudan sonraki harcamaya aktaramıyor.
Mevcut covenant önerilerinde durum taşıyan UTXO’lar belirli ölçüde oluşturulabiliyor. Örneğin OP_CTV üzerine kurulan Sapio, adresleri sonlu durum makinesindeki durumlar, işlemleri de bu durumlar arasındaki geçişler gibi kullanıyor. Ancak bu modelde sayısal mantığı esnek biçimde uygulamak zor. MATT’in farkı, harcama anında veriler üzerinde hesaplama yapılmasına ve güncellenmiş bilginin sonraki çıktıya yeniden bağlanmasına dayanıyor.
Bu yapı Taproot’un açık anahtar taahhütlerinden yararlanıyor. Her Taproot çıktısındaki iç anahtar, ek veriye taahhüt vermek üzere kriptografik olarak değiştirilebiliyor. Kaynakta bu işlem Q = P + t·G formülüyle açıklanıyor: P iç anahtarı, G eğri üzerindeki üretici noktayı, t ise anahtar ve taahhüt edilecek veriden türetilen etiketli özeti ifade ediyor. Standart kullanımda bu taahhüt genellikle harcama yollarını içeren taptree’nin Merkle kökünü taşıyor.
MATT, aynı mekanizmayla sözleşmenin mevcut durumunu da Taproot anahtarına bağlıyor. Böylece karmaşık hesaplamaları doğrudan betik içinde tanımlamak yerine, sözleşmenin durumları arasındaki geçişler taahhüt ediliyor; zincir üzerinde bu geçişin kurallara uygun olup olmadığı denetleniyor. En doğrudan ve ayrıntıları en iyi tanımlanmış uygulama olarak sunulan OP_CCV, bir Taproot girdi veya çıktı anahtarının belirli durum verisine bağlanıp bağlanmadığını doğruluyor.
OP_CCV ile betik, tanık yığınında sunulan durum bilgisini inceleyip üzerinde hesaplama yapabiliyor. Ardından güncellenmiş durumun belirlenen sonraki çıktıya doğru biçimde taahhüt edilmesini şart koşuyor. Böylece harcama, mevcut durumu doğrulamakla kalmıyor; sözleşmenin bir sonraki durumunu da zincir üzerinde kurala bağlıyor. Önerinin hedeflediği kullanım alanları arasında kasalar ve kompakt sahtekârlık kanıtları da bulunuyor.