İçeriğe geçin
buybitcoinsmart

Sözlük / İşlemler ve ücretler

Child pays for parent

Diğer adları: CPFP, Ancestor mining.

Child pays for parent nedir?
Child pays for parent, düşük ücretli bir işlemi, onaylanmamış çıktısını her ikisinin ücretini karşılayan ikinci bir işlemde harcayarak kurtarır; çünkü madenciler bu ikiliyi birlikte değerlendirir.

Madenciler işlemleri tek tek seçmez. Bitcoin Core, Ağustos 2016'daki 0.13.0 sürümünden bu yana işlemleri ata ücret oranına göre seçiyor, bu yüzden cömert bir alt işlem cimri bir üst işlemi aynı bloğa sürükler. Takılıp kalan bir ödemenin alıcısına, hiç yanıt vermeyebilecek bir göndereni beklemek yerine harekete geçme imkânı veren şey, tam da bu tek tasarım tercihidir.

Nasıl çalışır

Ücret oranı bir orandır ve Child pays for parent, tek bir işlemin oranını değil bir grubun oranını iyileştirerek çalışır.

Bir bloğu dolduran madenci, sanal bayt başına alabileceği en fazla satoshiyi ister. Mempool'daki bir işlem onaylanmamış bir üst işleme bağlıysa madencilik kodu onu tek başına alamaz, bu yüzden ata kümesinin tamamını değerlendirir: üst ve alt işlemin birleşik ücretleri bölü birleşik boyutları. Bu sayı rekabeti geçerse ikisi birlikte girer. Bitcoin Core'un madencilik seçimi, işlem bazında basit sıralamayı ata ücret oranı sıralamasıyla değiştiren 0.13.0 sürümünden bu yana bu şekilde çalışır.

Aritmetiği bir kez elle yapmaya değer. 141 sanal bayt büyüklüğünde ve 1 sat/vB ödeyen, yani 141 satoshi ödeyen bir üst işlem alın. İkilinin 25 sat/vB seviyesine ulaşmasını istiyorsunuz. Bu parayı harcayan, bir girdili ve bir çıktılı bir alt işlem yaklaşık 111 sanal bayttır, yani paket 252 sanal bayttır ve toplamda 6.300 satoshi gerektirir. Üst işlem 141 satoshiyi zaten sağladı, bu yüzden alt işlemin 6.159 satoshi taşıması gerekir; bu da tek başına yaklaşık 55 sat/vB ücret oranına denk gelir. Alt işlem her zaman fazladan öder, çünkü kendi baytlarının yanı sıra başkasının baytları için de blok alanı satın alır.

Bunu iki sınır kısıtlar. Onaylanmamış işlemlerden oluşan bir zincir varsayılan olarak 25 atayı veya alt öğeyi aşamaz ve bu ailenin toplam boyutu kabaca 101 kilovbayt ile sınırlıdır, bu yüzden alt işlemleri sonsuza kadar üst üste yığamazsınız. Yayılma ise otomatik değildir: yıllar boyunca, az ödeyen bir üst işlemi yükselten bir alt işlem, o üst işlemi zaten bırakmış düğümler tarafından reddediliyordu; bu yüzden Ekim 2024'te Bitcoin Core 28.0 sürümü, tek bir üst ve tek bir alt işlemden oluşan paketler için fırsatçı yayılma ekledi, böylece ikili ağda bir birim olarak dolaşır.

Aynı bağımlılığın daha kötü bir versiyonu vardır. Bir başkası, ortak bir onaylanmamış işleme büyük ve düşük ücretli bir alt işlem ekleyebilirse ailenin boyutunu şişirebilir ve ücretini yükseltmeyi aşırı pahalı hale getirebilir. Bu saldırıya işlem sabitleme (transaction pinning) denir ve Lightning ile diğer sözleşme protokollerinin artık basit ücret yükseltmeye güvenmek yerine kısıtlı işlem topolojileri kullanmasının nedeni budur.

Bitcoin satın alırken bu neden önemli

Child pays for parent, bir alıcının elindeki tek ücret düzeltme yoludur; bu da onu tıkanan borsa çekimleri için araç haline getirir.

Sıra şöyle işler. Bir borsadan para çekersiniz, borsa ödemenizi saatler önce seçtiği bir ücret oranıyla elli kişiyle birlikte toplu işleme koymuştur, ücret baskısı artar ve toplu işlem onaylanmadan bekler. Replace-by-fee burada size yaramaz çünkü o girdileri borsa imzalamıştır. Yapabileceğiniz şey, gelen parayı onaylanmamış haliyle kendi cüzdanınızdaki başka bir adrese yüksek bir ücret oranıyla harcamaktır. Artık madenciler madenciliğe değer bir paket görür ve iki işlem birlikte onaylanır.

Cüzdanınızın buna izin vermesi gerekir. Bitcoin Core, Sparrow ve Electrum onaylanmamış gelen bir parayı seçip harcamanıza izin verir; birçok mobil cüzdan onaylanmamış bakiyeleri tamamen gizler ve tıklayacak bir şey sunmaz. Gerçek parayı kendi kendine saklamada tutmayı planlıyorsanız bunu, bir ücret artışı sırasında değil, ihtiyaç duymadan önce kontrol edin.

İki uyarı. Birincisi, alt işlem tam olarak aldığınız parayı harcar, yani ücret az önce çektiğiniz paradan çıkar ve küçük bir çekimde maliyet tutarın anlamlı bir payı olabilir. İkincisi, alt işlem yeni bir adreste yeni bir para oluşturur ve bu ikisini kamuya açık kayıtta birbirine bağlar. Çekim gizliliğe önem veren bir düzenin parçasıysa, ücreti bu şekilde yükseltmek bilerek yapmanız gereken bir tercihtir.

4 sat/vB ödeyen bir toplu işlemde takılı kalan 0,02 BTC çekimini kurtarma

Diyelim ki bir borsa size 4 sat/vB ödeyen bir toplu işlemde 0,02 BTC gönderdi ve sabaha kadar 30 sat/vB altındaki hiçbir şey onaylanmadı. Toplu işlem büyüktür, belki 1.500 sanal bayttır ve tamamının ücretini ödemek sizin göreviniz değildir. Yalnızca paranızı içeren paketin çekici görünmesi gerekir.

İnsanları şaşırtan nokta şudur: bir madencinin değerlendirdiği paket, sizin payınızı değil, tüm üst işlemi, onun 1.500 baytının tamamını içerir. 111 baytlık bir alt işlem eklediğinizde paket 1.611 sanal bayt olur, yani 30 sat/vB seviyesine ulaşmak toplamda 48.330 satoshi bulmak demektir. Üst işlem bunun 6.000 satoshisini sağladığı için alt işlem yaklaşık 42.330 satoshi borçludur; bu da 0,02 BTC değerinde bir çekimde gerçek bir maliyettir.

Bu yüzden child pays for parent rutin değil bir kurtarma aracıdır ve bu yüzden büyük bir borsa toplu işleminde değil, bir kişinin doğrudan size gönderdiği ödeme gibi küçük bir üst işlemde çok daha iyi çalışır. Bazen dürüst yanıt beklemektir: ücret oranları çoğu hafta sonu düşer ve bir işlem, düğümler onu unutmadan önce varsayılan olarak 14 güne kadar mempool'larda bekler.

Child pays for parent vs replace-by-fee

İkisi de bir ücreti yükseltir, ama karşıt taraflarca kullanılır ve farklı izler bırakır. Değiştirme (replace-by-fee) orijinal işlemi yeniden yazar, girdilerini imzalayan anahtarları gerektirir, yeni bir işlem kimliği üretir ve ilk sürümü ortadan kaldırır. Child pays for parent ise üstüne yeni bir işlem ekler, yalnızca aldığınız bir çıktının anahtarlarını gerektirir, üst işlemde hiçbir şeyi değiştirmez ve ikisini de zincirde kalıcı olarak bırakır.

Değiştirme mümkün olduğunda daha ucuzdur, çünkü iki işlemin baytları yerine yalnızca bir işlemin baytları için ödeme yaparsınız. Takılıp kalan ödeme kendi cüzdanınızdan çıktıysa onu kullanın. Takılıp kalan ödeme bir başkasından geldiyse alt işleme başvurun.

Karıştırılmaması gerekenler

Sık sorulan sorular

Almayı beklediğim bir ödemede child pays for parent yöntemini kullanabilir miyim?

Evet, zaten ana kullanım alanı da budur. Gelen para, işlem var olduğu anda harcanabilir durumdadır; bu yüzden onu yüksek bir ücret oranıyla ileri gönderebilirsiniz ve madenciler her iki işlemi birlikte onaylar. Cüzdanınızın onaylanmamış bitcoinleri harcamanıza izin vermesi gerekir.

Alt işlemin ücreti neden gerçekte istediğim orandan çok daha yüksek?

Çünkü alt işlem kendi baytlarının yanı sıra üst işlemin baytlarının ücretini de ödüyor. Madenciler ücretin ortalamasını paketin tamamı üzerinden alır; bu yüzden daha küçük olan alt işlemin, birleşik oranı hedefinize çıkarmak için çok geniş bir marjla aşırıya kaçması gerekir.

Bunun işlemesi için göndericinin bir şeyi etkinleştirmiş olması gerekiyor mu?

Hayır. Child pays for parent için ne bir işaret, ne bir sinyal ne de göndericinin işbirliği gerekir. Yalnızca onaylanmamış işlemin, anahtarını elinizde tuttuğunuz bir çıktısı gerekir; gelen bir ödemede bu, size ödeme yapan çıktıdır.

Sıradaki okuma

İlgili terimler

Daha fazlası: İşlemler ve ücretler

Bu sayfayı İngilizce okuyun