Sistemin bir çox istifadəçisi blok zəncirindəki bir əməliyyatı ləğv etmək zərurəti ilə qarşılaşır, çünki getdikcə daha çox əməliyyat dondurulur və pul cüzdanından silinir. Ancaq belə bir ləğv edilə bilərmi? Və belədirsə, necə?
Blockchain texnologiyası elə bir şəkildə hazırlanmışdır ki, hər hansı bir əməliyyat və əməliyyat, əgər onlar artıq həyata keçirilmişsə, ləğv edilə bilməz. Bununla birlikdə, əməliyyat təsdiqini almamışsa, bir neçə gündür sistemdə heç bir nəticə vermədən "asılacaq". Və belə bir vəziyyətdə bitcoins cüzdandan silinəcəkdir. Və gedişatını nəzərə alaraq problemin ciddi olduğu ortaya çıxdı.
Bununla birlikdə, bir çıxış yolu var. Həm də əməliyyatların bunun kimi dondurulmamasına əsaslanır - hər vəziyyətdə bir səbəb var: blok zəncir sisteminə uyğun olmayan bir şey. Bunu anlaya bilsəniz, sistemdə ilişib qalan bir əməliyyat problemini həll edə biləcəksiniz.
Zərərçəkən əməliyyatların ən ümumi səbəbi aşağıdakılardır:
- blockchain sisteminin özünün həddindən artıq yüklənməsi;
- sözdə mempools - əməliyyatların icrası üçün növbə formalaşması.
Həqiqət budur ki, bitkoinin olduqca bahalı bir kriptovalyuta kimi populyarlığı getdikcə artır və bu da bir çox yeni istifadəçini sistemə cəlb edir. Bir çoxu, quruluşlarını həqiqətən anlamadan fərqli əməliyyatlara qərar verir və nəticədə qarışıq olurlar. Və blockchain sistemi bu cür istifadəçilərin hərəkətlərini birmənalı olaraq qeyri-adekvat olaraq qəbul edir və kəskin reaksiya verir: həddindən artıq yük və dondur. Təbii ki, bu vəziyyətdə əməliyyat keçmir və asılır.
Mempools-a gəldikdə, onlar bir neçə səbəbdən yaranır:
- çox sayda istifadəçi müqavilə bağlamaq istəyir, lakin doldurduqları bloklar fiziki olaraq sistemə eyni anda daxil edilə bilməz - bir mempool görünür;
- yüksək komissiya ilə köçürmələr birincidir və növbə riski daha azdır və istifadəçi aşağı komissiya təyin etmişsə və ya ümumiyyətlə göstərməyibsə, mempool (və uzun müddət) ona verilir.
Üstəlik, sonuncu vəziyyətdə, bu əməliyyatın ümumiyyətlə keçəcəyinə zəmanət vermək olmaz, çünki komissiya bazarına göndəriləcək və madenciler buna əhəmiyyət verməyəcəklər - əməliyyat tapılana qədər sadəcə mempoollarında asılacaq yeni bir blok.
Bəs həm birinci, həm də ikinci vəziyyətdə problemi həll etmək üçün nə etmək olar? Əməliyyatı daha da "itələməyə" çalışın və ya mümkünsə ləğv edin. Fəaliyyət üçün bir neçə seçim var:
- Doublelespend istifadə etməyə cəhd edə bilərsiniz - əməliyyatın hərəkət etməsini təmin edəcək ikiqat xərcləmə seçimi, yəni. əvvəlcə çox aşağı olsaydı, komissiyanı artıraraq "keçmək" seçimi. Bu mümkündür, çünki qarşı tərəflər yalnız müəyyən bir anda hesablarındakı aktivləri yoxlayırlar. Bu o deməkdir ki, əməliyyat dondurulubsa, komissiya artımı ilə başqa birini göndərə bilərsiniz. Hər iki əməliyyat da uğursuz olacaq, bundan narahat olmağınıza ehtiyac yoxdur.
- CPFP istifadə etmək, bir girişlə bir əməliyyat yaratmağınıza imkan verən bir mexanizmdir (mütləq problemli bir əməliyyatın nəticəsi olmalıdır - məsələn, eyni dəyişiklik) və özünüzə bitcoins göndərin.
- Həm alıcı, həm də göndərən tərəfindən istifadə edilə bilən əməliyyatlar üçün xüsusi sürətləndiricilərin istifadəsi.
Ancaq bu metodlardan heç biri əməliyyatın hələ ləğv ediləcəyi və ya itələyəcəyi üçün mütləq bir zəmanət vermir. Və bu vəziyyətdə heç bir metod belə zəmanət verməyəcək, çünki daha əvvəl də qeyd edildiyi kimi, blok zənciri sistemi əməliyyatların ləğv edilməsini təmin etməyəcək şəkildə tərtib edilmişdir. Artıq təsdiqlənmişlərsə (bloka daxil edilmişdir), heç bir metod kömək etməyəcək, lakin təsdiqlənmədən əvvəl ilişib qaldıqları təqdirdə, cəhd edə bilərsiniz.
Və yadda saxlamalıyıq ki, təsdiqlənməmiş bir əməliyyat öz-özünə ləğv edilə bilməz. Bu vəziyyətdə yalnız istifadəçinin cüzdanındakı ekranı dəyişdirmək mümkündür.