Sistemin birçok kullanıcısı blok zincirindeki bir işlemi iptal etme ihtiyacıyla karşı karşıyadır, çünkü giderek daha sık işlemler dondurulur ve fonlar cüzdandan borçlandırılır. Ancak böyle bir iptal yapılabilir mi? Ve eğer öyleyse, nasıl?
Blockchain teknolojisi, daha önce yapılmışsa herhangi bir işlem ve işlemin iptal edilemeyecek şekilde tasarlanmıştır. Ancak, işlem onay almadıysa, sistemde birkaç gün boyunca "askıda kalır" ve sonuçsuz kalır. Ve böyle bir durumda, bitcoinler cüzdandan borçlandırılacaktır. Ve onların seyri göz önüne alındığında, sorunun ciddi olduğu ortaya çıkıyor.
Ancak, bir çıkış yolu var. Ve işlemlerin böyle donmadığı gerçeğine dayanıyor - her durumda bir sebep var: blok zinciri sistemine uymayan bir şey. Bunu çözebilirseniz, sistemde sıkışmış bir işlem sorununu çözebileceksiniz.
Sıkışmış işlemlerin en yaygın nedeni şudur:
- blok zinciri sisteminin kendisinin aşırı yüklenmesi;
- sözde mempools oluşumu - işlemlerin yürütülmesi için kuyruklar.
Gerçek şu ki, Bitcoin'in oldukça pahalı bir kripto para birimi olarak popülaritesi giderek artıyor ve bu da sisteme birçok yeni kullanıcı çekiyor. Birçoğu, yapılarını gerçekten anlamadan farklı işlemlere karar verir ve sonuç olarak kafaları karışır. Ve blok zinciri sistemi, bu tür kullanıcıların eylemlerini kesin olarak - yetersiz olarak algılar ve keskin tepki verir: aşırı yük ve donma. Doğal olarak, bu durumda işlem gerçekleşmez ve ayrıca askıda kalır.
Mempool'lara gelince, birkaç nedenden dolayı ortaya çıkarlar:
- çok sayıda kullanıcı bir anlaşma yapmak istiyor, ancak doldurdukları bloklar aynı anda sisteme fiziksel olarak dahil edilemez - bir mempool belirir;
- yüksek komisyonlu transferler ilktir ve kuyruk riski taşıma olasılığı daha düşüktür ve kullanıcı düşük bir komisyon belirlediyse veya hiç belirtmediyse, mempool (ve uzun süre) kendisine sağlanır.
Üstelik, ikinci durumda, komisyon piyasasına gönderileceğinden ve madenciler buna dikkat etmeyebileceğinden, bu işlemin gerçekleşeceğini bile garanti edemez - işlem, buluncaya kadar işlem kendi mempool'larında asılı kalacaktır. yeni bir blok.
Peki hem birinci hem de ikinci durumda sorunu çözmek için ne yapılabilir? İşlemi daha fazla "itmeye" veya mümkünse iptal etmeye çalışın. Eylem için birkaç seçenek vardır:
- Doublespend'i kullanmayı deneyebilirsiniz - işlemin hareket etmesini sağlayacak olan çift harcama seçeneği, ör. başlangıçta çok düşükse, komisyonu artırarak "zorlama" seçeneği. Bu mümkündür, çünkü karşı taraflar hesaplarındaki varlıkları yalnızca belirli bir anda kontrol eder. Bu, işlemin dondurulması durumunda komisyon artışıyla başka bir tane gönderebileceğiniz anlamına gelir. Her iki işlem de başarısız olacak, bunun için endişelenmenize gerek yok.
- CPFP kullanmak, tek bir girdi ile bir işlem oluşturmanıza (mutlaka sorunlu bir işlemin çıktısı olmalıdır - örneğin aynı değişiklik) ve kendinize bitcoin göndermenize izin veren bir mekanizmadır.
- Hem alıcı hem de gönderici tarafından kullanılabilen işlemler için özel hızlandırıcılar kullanmak.
Ancak bu yöntemlerin hiçbiri, işlemin yine de iptal edileceğine veya geçileceğine dair mutlak bir garanti sağlamaz. Ve bu durumda hiçbir yöntem bu tür garantileri vermeyecektir, çünkü daha önce de belirtildiği gibi, blok zincir sistemi, işlemlerin iptal edilmesini sağlamayacak şekilde tasarlanmıştır. Zaten onaylanmışlarsa (bloğa dahil), hiçbir yöntem yardımcı olmaz, ancak onaydan önce takılırlarsa deneyebilirsiniz.
Ve onaylanmamış bir işlemin kendi başına iptal edilemeyeceğini hatırlamalıyız. Bu durumda, yalnızca kullanıcının cüzdanındaki ekranı değiştirmek mümkündür.