İçeriğe geçin
buybitcoinsmart

Sözlük / Protokol ve güncellemeler

OP_CHECKTEMPLATEVERIFY

Diğer adları: CTV, BIP119.

OP_CHECKTEMPLATEVERIFY nedir?
OP_CHECKTEMPLATEVERIFY, bir çıktının kendisini harcamasına izin verilen tam işleme, çıktıları ve tutarları dahil, önceden bağlanmasını sağlayacak önerilen bir işlem kodudur.

Tanımlandığı belge: BIP-119.

Bunu BIP-119 tanımlıyor, Jeremy Rubin ilk taslağı Ocak 2020'de yayımladı ve ağ bunu benimsemedi. İşlem kodu yığından 32 baytlık bir hash alacak ve harcama işleminin şablonunun, yani sürümünün, locktime değerinin, girdi sayısının, sıra numaralarının, çıktılarının ve girdi indeksinin hash'i eşleşmezse başarısız olacaktır. Cüzdanınızdaki hiçbir şey bunu kullanmıyor ve bir soft fork etkinleşene kadar da kullanmayacak.

Nasıl çalışır

Durum: önerildi, etkinleştirilmedi. BIP-119 2020'den beri taslak durumunda, 2022 içinde önerilen bir etkinleştirme yeterince itirazla karşılaşıp rafa kaldırıldı ve Bitcoin Core içinde bunun için hiçbir dağıtım parametresi yok.

Tasarım eski bir yükseltme hilesini yeniden kullanıyor. Daha önce OP_NOP4 olan 179 işlem kodu şu anda hiçbir şey yapmıyor, dolayısıyla onu içeren bir betik ağdaki her düğüm için geçerli. Bir soft fork bu baytı yeniden tanımlayacak, böylece yükseltilmiş düğümler kontrolü yapacak, eski düğümler ise betiği geçirmeye devam edecek; CLTV'nin OP_NOP2 üzerinden ve CSV'nin OP_NOP3 üzerinden izlediği yolun aynısı.

Hash'e neyin gireceği olağandışı bir özenle seçilmiş. Şablon çıktıları, tutarları, girdi sayısını ve sıra numaralarını kapsıyor, ancak outpoint'leri, yani harcanan çıktıların txid'lerini bilerek dışarıda bırakıyor. Bunları dışarıda bırakmanın tüm önerinin dayandığı iki sonucu var. Birincisi, hash'i fonlama işlemi henüz yokken hesaplayabilirsiniz; gelecekteki harcamalardan oluşan bir zincir kurup sonra fonlamanıza olanak tanıyan da budur. İkincisi, bir şablon kendisine taahhüt içeremez, dolayısıyla kısıtlamanın sonsuza kadar tekrarlanması sağlanamaz; destekçilerinin buna dar covenant demesinin nedeni de budur.

Sonuç, txid'si gerçekleşmeden önce bilinen bir harcamadır. Bir cüzdan size ileride var olacak bir ödeme için makbuz verebilir ve o çıktının başka hiçbir şekilde harcanamayacağını kanıtlayabilir.

Nerede görülür

OP_CHECKTEMPLATEVERIFY mainnet'te hiçbir yerde çalışmıyor, dolayısıyla bakılacak yer, işlem kodu etkinleşirse yayına girecek olan özel signet'ler üzerine kurulmuş uygulamalar dizisidir.

En çok anılan uygulama tıkanıklık kontrolüdür. Ücretlerde ani bir artışla karşılaşan bir borsa, 1.000 para çekme işlemini ileri ödemelerden oluşan bir ağaca taahhüt eden tek bir çıktıyla öder; her kullanıcı daha sonra kendi dalını genişletip ücretler düştüğünde parasını alabilir ve borsa bin çıktı yerine bir çıktı harcamış olur. İkincisi kasalardır: bir para çekme işlemi önce gecikmeli bir ara çıktıya düşmelidir, bu da talep sizin değilse fonları soğuk saklamaya geri çekmeniz için bir pencere tanır. Ödeme havuzları ve etkileşimsiz Lightning kanalı fonlaması da aynı önce taahhüt sonra genişlet biçimini kullanır.

Bitcoin satın alan biri için dürüst tutum, bunun harekete geçebileceğiniz hiçbir şeyi değiştirmediğidir. Kısaltmayı tanımak yine de değerli, çünkü Bitcoin'in neye dönüşmesi gerektiği tartışmalarında sürekli karşınıza çıkıyor ve bazı saklama hizmetlerinin duyurduğu kasa özellikleri bir gün etkinleşirse gerçekten uygulanabilir olacak.

OP_CHECKTEMPLATEVERIFY vs OP_CHECKLOCKTIMEVERIFY

OP_CHECKTEMPLATEVERIFY harcama işleminin biçimini kısıtlar, OP_CHECKLOCKTIMEVERIFY ise bir harcamanın ne zaman yapılabileceğini kısıtlar ve paranın nereye gittiği hakkında hiçbir şey söylemez. Neredeyse aynı adlar yüzünden bu ikisi sürekli karıştırılıyor.

Diğer fark durumdur ve önemli olan da budur. OP_CHECKLOCKTIMEVERIFY, 14 Aralık 2015'te 388.381 numaralı bloktan beri uygulanıyor ve Lightning, emanet (escrow) betikleri ve miras cüzdanları tarafından her gün kullanılıyor. OP_CHECKTEMPLATEVERIFY ise mainnet'te tek bir düğüm tarafından bile asla uygulanmadı. Bir hizmet size bitcoinlerinizin bir şablon taahhüdüyle korunduğunu söylerse, ağın şu anda kontrol etmediği bir şeyi anlatıyordur.

Karıştırılmaması gerekenler

Sık sorulan sorular

OP_CHECKTEMPLATEVERIFY Bitcoin ağında etkin mi?

Hayır. Şu anda hiçbir şey yapmayan bir işlem kodunu kullanan bir taslak öneridir, dolayısıyla hiçbir düğüm bunu uygulamaz. Herhangi bir etkinleştirme, parametreleri Bitcoin Core içine birleştirilmemiş bir soft fork gerektirir.

CTV özyinelemeli covenant'lara izin verir mi?

Hayır ve tasarımın amacı da budur. Taahhüt, tek bir işlem şablonunun düz bir hash'idir ve başka bir taahhüt içeremez, dolayısıyla bir kısıtlama gelecekteki her harcamaya yeniden bağlanamaz.

Sıradaki okuma

İlgili terimler

Daha fazlası: Protokol ve güncellemeler

Bu sayfayı İngilizce okuyun