Bitcoin OP_RETURN: data carrier, nulldata ve harcanamayan çıktılar
OP_RETURN'ın herkese açık verileri nasıl kaydettiğini, çıktının neden harcanamadığını, Bitcoin Core 31.1 relay politikasının mutabakattan farkını ve witness yazıtlarından ayrımını öğrenin.
Bu rehberdeOP_RETURN veriyi kilitleme betiğine koyar
Kısa özet
OP_RETURN, Bitcoin işleminin çıktı betiğine herkese açık veri ekler. Bitcoin Core, betiği OP_RETURN ile başlayan çıktıları kanıtlanabilir biçimde harcanamaz sayar ve UTXO kümesine dahil etmez. Güncel relay boyutu sınırları her düğümün yerel politikasıdır; ağ genelinde geçerli bir mutabakat payload sınırı değildir.
OP_RETURN veriyi kilitleme betiğine koyar
Bir Bitcoin çıktısı, tutar ile scriptPubKey adlı kilitleme betiğini içerir. Nulldata olarak da sınıflandırılan OP_RETURN çıktısı OP_RETURN opcode'u ile başlar ve ardından baytlar itebilir. İşlem bir bloğa alındığında bu baytlar çıktının parçası olarak herkese açık biçimde kaydedilir. Bu yapı ayrı bir veri katmanı, token bakiyesi veya özel mesaj oluşturmaz.
Çıktı neden yeniden harcanamaz
OP_RETURN, yürütme kendisine ulaştığında başarısız olan bir opcode'dur. Betiği bununla başlayan bir çıktıyı harcama girişimi betiği karşılayamaz. Bitcoin Core bu nedenle çıktıyı harcanamaz olarak sınıflandırır ve hiçbir zaman kullanılamayacak bir coin'i UTXO kümesinde tutmadan hemen dışarıda bırakabilir. Ayrıntı için Bitcoin Core 31.1 script.h dosyasına bakın. Bitcoin Core 31.1 script implementation.
Betiğin boyutu payload'dan büyüktür
Data-carrier sınırı yalnızca uygulama verisinin baytlarını saymaz. Ham çıktı betiği OP_RETURN opcode'unu, push talimatını ve uzunluk kodlamasını, ayrıca payload'ı içerir. 80 baytlık payload 83 baytlık betik oluşturabilir: opcode için bir, OP_PUSHDATA1 başlığı için iki, veri için 80 bayt. Eski kaynaklardaki “80 bayt” çoğu zaman payload'ı anlatır; yeni ayarlar tüm betiği ölçebilir.
Bitcoin Core 31.1'de varsayılan data-carrier politikası
Bitcoin Core 31.1'de -datacarrier varsayılan olarak etkindir. -datacarriersize varsayılan 100.000 bayttır ve tek işlemdeki tüm data-carrier çıktılarının ham scriptPubKey boyutlarını toplar. Birden fazla NULL_DATA çıktısı aynı sınırı paylaşır; opcode ve push kodlaması da sayılır. Core 30.0 eski 83 baytlık betik sınırını toplam 100.000 bayta çıkardı ve birden çok çıktıya izin verdi; Core 31.1 bu ayarı koruyor. Core 31.1 seçeneklerine, politika koduna ve 30.0 sürüm notlarına bakın.

Relay politikası ile mutabakat farklı sorulara yanıt verir
Her düğüm data-carrier relay'ini kapatabilir veya yerel sınırını düşürebilir; başka düğümler ve yazılım sürümleri farklı ayarlar kullanabilir. Bir düğümün işlemi mempool'a almaması, yerel politikasının işlemi iletmediği anlamına gelebilir; mutabakatın işlemi yasakladığını göstermez. Bitcoin Core veri sınırını standartlık kontrolünde uygular ve blok doğrulamasında mutabakat kurallarını ayrıca denetler. Core consensus transaction checks. See Bitcoin Core 31.1 mempool standardness implementation.
Çıktıdaki değer kaybolur; işlem ücreti ayrı hesaplanır
OP_RETURN çıktısına değer atanabilir ama bu değer geri alınamaz ve kalıcı olarak harcanamaz. Cüzdanlar çoğunlukla veri çıktısına sıfır değer verir. 1.000 sat atanması bunu otomatik olarak madenci ücreti yapmaz. İşlem ücreti hâlâ toplam girdiler eksi tüm çıktılardır. Betik baytları işlem ağırlığı kullanır ve aynı sat/vB oranında ücreti artırabilir. Bitcoin işlem ücreti rehberine bakın.
Birden fazla veri çıktısı sınırı çoğaltmaz
Bitcoin Core 31.1 birden çok standart NULL_DATA çıktısına izin verir, ancak betik boyutlarını işlem başına aynı sınırda toplar. Payload'ı parçalara bölmek kapasiteyi artırmaz; ek çıktılar işlem verisini ve blok ağırlığını artırır. Relay, işlem ağırlığına, ücrete ve düğümün diğer standartlık politikalarına da bağlıdır. Bir cüzdanın veya gezginin kabulü tüm ağda yayılım garantisi değildir.
OP_RETURN, Taproot witness yazıtından farklıdır
OP_RETURN verisi işlem oluşturulurken çıktı scriptPubKey alanındadır. SegWit witness verisi her girdi için ayrı serileştirilir; BIP 141 bunu girdi başına yığın verisi olarak tanımlar. Taproot script-path harcaması, betiği ve control block'u girdi witness'ında açığa çıkarabilir. Ordinals yazılımı bu yapıdaki bir envelope biçimini uygulama kuralına göre yazıt olarak yorumlayabilir; bu nulldata çıktısından farklı bir yöntemdir. BIP 141, BIP 341 ve [Bitcoin Ordinals rehberine](/learn/bitcoin-ordinals-inscriptions-satoshi-numbering-witness-data-explained) bakın.
Kullanmadan önce politika, değer ve gizliliği kontrol edin
Dayandığınız Bitcoin Core sürümünü ve yerel ayarları belirleyin. Ham çıktı betiğinin tamamının boyutunu, toplam işlem ağırlığını, harcanamayan çıktıya ayrılan değeri ve madenci ücretini ayrı hesaplayın. Mutabakat rastgele payload baytlarına anlam yüklemez; protokolün veya alıcının formatı tanıdığını da kontrol edin. Zincire yazılan veri herkese açıktır. Çıktı ve para üstü için Bitcoin UTXO ve coin control rehberine bakın.
Sık sorulan sorular
Q1Bitcoin mutabakatı OP_RETURN verisini 80 baytla sınırlar mı?
Hayır. 80 bayt, eski bir standartlık politikası örneğindeki payload değeridir; evrensel mutabakat sınırı değildir. Bitcoin Core 31.1 varsayılan olarak ham veri betiklerine toplam 100.000 bayt sınırı uygular; her düğüm politikasını değiştirebilir.
Q2Daha büyük OP_RETURN işlem ücretini artırır mı?
Artırabilir. Betik baytları işlem ağırlığına eklenir ve aynı sat/vB oranında ücreti yükseltebilir. Harcanamayan çıktıya ayrılan sat'lar ayrıca kaybolur ve madenci ücreti değildir.
Q3OP_RETURN, Ordinals yazıtıyla aynı şey midir?
Hayır. OP_RETURN çıktı betiğindedir ve çıktıyı harcanamaz yapar. Tipik Taproot yazıtı içeriği girdi witness'ının script-path verisine koyar; Ordinals yazılımı bunu kendi kurallarına göre yorumlar.
Kaynaklar ve daha fazla okuma
Sorun bildir
Bu makalenin bağlantısını içeren bir e-posta hazırlayacağız. Mark bildirimi yalnızca gönderdiğinizde alır
Hızlı kontrol
Rehberi okudunuz mu? 3 soruyla kendinizi kontrol edin
Soru 01
Bitcoin Core 31.1'in varsayılan -datacarriersize değeri neyi ölçer?
Açıklamayı görmek için bir yanıt seçin
Opsiyon sözlüğü
Opsiyon kullanım fiyatının dayanak varlığın piyasa fiyatına yakın olduğu durumdur. Opsiyonun o anda içsel değeri az olabilir; buna rağmen kalan süre ve belirsizlik nedeniyle prim taşıyabilir.
Ayrıntılı rehberi okualım opsiyonuSahibine dayanak varlığı kullanım fiyatından satın alma hakkını veren, fakat zorunluluk getirmeyen sözleşmedir. Sözleşmenin satıcısı, hak kullanılır ve kendisine tahsis edilirse karşı yükümlülüğü taşır.
Ayrıntılı rehberi okusatım opsiyonuSahibine dayanak varlığı kullanım fiyatından satma hakkını veren, fakat zorunluluk getirmeyen sözleşmedir.
Ayrıntılı rehberi oku