Blockchain, mahiyyət etibarilə, mərkəzləşdirilməmiş paylanmış verilənlər bazası və ya reyestrdir. Bəs “blockchain reyestri” qeydləri necə saxlayır? Mövcud blockchain layihələrində iki əsas uçot metodu var: Hesab Balansı Modeli (Ethereum tərəfindən təmsil olunur) və Xərclənməmiş Tranzaksiya Çıxışı (UTXO) Modeli (Bitcoin tərəfindən təmsil olunur). UTXO-nu anlamaq, Bitcoin-in blockchain-i arxasındakı uçot məntiqini dərk etməyə kömək edir.
UTXO, “xərclənməmiş tranzaksiya çıxışı” ifadəsinin qısaltmasıdır və Bitcoin tranzaksiyalarında əsas vahid kimi başa düşülə bilər. Məsələn, Bob Bitcoin ödənişi alırsa və onu xərcləmirsə, həmin Bitcoin UTXO-ya çevrilir. UTXO modeli elə bir pul kisəsinə bənzəyir ki, burada hər bir UTXO birdəfəlik istifadə olunan kağız pul kimidir. Hər bir UTXO (kağız pul) müəyyən məbləği təmsil edir və bütün UTXO-ları (kağız pulları) toplayaraq istifadəçinin Balansını müəyyən edə bilərsiniz.
Hər bir tranzaksiyada UTXO-ların tam ədəd qatları istifadə olunur. Məsələn, 1 UTXO, 2 UTXO istifadə edə bilərsiniz, lakin 0,5 UTXO kimi kəsr hissələrdən istifadə edə bilməzsiniz (bu, kağız əsginasın yarısını istifadə edə bilməməyə bənzəyir). Tranzaksiya baş verdikdə mövcud UTXO-lar (köhnə kağız əsginaslar) sərf olunur və yeni UTXO-lar (yeni kağız əsginaslar) yaradılır. Məsələn:Səhər qəhvə və şirniyyat almağa gedirsiniz, bu da $5 edir. Kassirə $10-luq əsginas verirsiniz. Bir UTXO kimi təqdim olunan bu $10-luq əsginas ticarətçiyə verilir. Sonra ticarətçi sizə $5 qaytarır və bu anda siz yeni UTXO (yeni $5-luq əsginas) alırsınız.
Əgər bu tranzaksiya UTXO modelindən istifadə edən bir blockchain-də baş versə, necə işləyərdi? Bunu anlamaq üçün sadəlik naminə mayner komissiyalarını nəzərə almadan nümunələrlə üç köçürmə ssenarisini abstraktlaşdıra bilərik:
Fərz edək ki, Bob 10 BTC alır, beləliklə onun Bitcoin ünvanı ilə əlaqəli 10 BTC-lik bir UTXO-su var. İndi Bob Alice-ə 2 BTC köçürməlidir. Bu halda 10 BTC-lik UTXO bütöv şəkildə xərclənəcək (köhnə kağız əsginas tam istifadə olunur). 2 BTC (yeni kağız əsginas) Alice-ə göndəriləcək, qalan 8 BTC (yeni kağız əsginas) isə qaytarma kimi Bob-a geri qaytarılacaq. Başqa sözlə, ilkin 10 BTC tək bir UTXO kimi mövcud idi, lakin tranzaksiya zamanı bu UTXO (köhnə kağız əsginas) məhv edildi və artıq mövcud deyil. Onun əvəzinə iki yeni UTXO (yeni kağız əsginas) yaradıldı: biri Bob-a məxsus 8 BTC dəyərində (Bob-a qaytarılan qaytarma), digəri isə Alice-ə məxsus 2 BTC dəyərində. Gələcəkdə Alice bu UTXO-dan başqalarına köçürmə etmək üçün balans kimi istifadə edə bilər.
Alice həmin 2 BTC-ni Frank-a köçürmək istəsə və Alice-in bu 2 BTC-ni iki dəfə xərcləməsinin qarşısını almaq üçün (bu, məşhur ikiqat xərcləmə hücumuna bənzəyir), maynerlər UTXO-nun digər tranzaksiyalarda istifadə olunmadığını yoxlamalıdır. Əgər bu UTXO əvvəlki tranzaksiyada artıq xərclənibsə, maynerlər bu yeni tranzaksiyanın icrasını rədd edəcəklər.
Anlayışımızı dərinləşdirmək üçün iki nümunəyə baxaq. (1) Bir ünvan üç ünvana köçürmə edir (2) Üç ünvan bir ünvana köçürmə edir. Bu dörd ünvanı A, B, C və D adlandıraq. Ssenari ① A, B, C və D-yə köçürmə edir. Ssenari ② A, B və C, D-yə köçürmə edir. Əvvəlcə A ünvanında 10 BTC var, B, C və D-də isə 0 BTC var.
Ssenari (1)-də A ünvanında əvvəlcə 10 BTC-lik bir UTXO var və B, C və D ünvanlarının hər birinə 2 BTC köçürmək istəyir.
Əvvəlcə A-dan olan ilkin 10 BTC UTXO tam şəkildə xərclənir və B, C və D ünvanlarının hər birinə 2 BTC göndərilir. Qalan 4 BTC isə qalıq (change) kimi A-ya qaytarılır. Bu anda əvvəlki 10 BTC UTXO artıq mövcud olmur və dörd yeni UTXO-ya çevrilir: biri A-ya məxsus 4 BTC dəyərində, digər üçü isə B, C və D-yə məxsus olmaqla hamısı 2 BTC dəyərindədir. Köçürmə baş verdikdən sonra A ünvanında 4 BTC-lik 1 UTXO, B ünvanında 2 BTC-lik 1 UTXO, C ünvanında 2 BTC-lik 1 UTXO və D ünvanında 2 BTC-lik 1 UTXO olur.
İndi isə (2) ssenarisini simulyasiya edək: burada A, B və C-nin hər biri D-yə 2 BTC köçürür.
A ünvanındakı 4 BTC-lik UTXO bütöv şəkildə xərclənəcək, bunun 2 BTC-si D-yə köçürüləcək və 2 BTC-si qalıq (change) kimi özünə qaytarılacaq. B ünvanındakı 2 BTC-lik UTXO D-yə köçürülür, C ünvanındakı 2 BTC-lik UTXO da D-yə köçürülür. Köçürmələr baş verdikdən sonra A ünvanında 2 BTC-lik 1 UTXO olacaq, B ünvanında olmayacaq, C ünvanında olmayacaq və D ünvanında 2 BTC-lik 4 UTXO olacaq (bunlardan 1-i ssenari ①-də baş verən köçürmədən qalanıdır, qalanları isə ssenari ②-dəndir).
Tutaq ki, A-nın bir neçə UTXO-su var: 1 BTC UTXO, 2 BTC UTXO, 3 BTC UTXO və 4 BTC UTXO, B-də isə BTC yoxdur. Bu anda A, B-yə 2,5 BTC köçürməlidir. UTXO modeli necə işləyir?
Bu məqamda, A ünvanındakı 2 BTC UTXO birbaşa B-yə köçürüləcək. 1 BTC UTXO bütöv şəkildə xərclənəcək, bunun 0,5 BTC-si B-yə köçürüləcək, 0,5 BTC-si isə qaytarılan qalıq kimi geri veriləcək. Köçürmədən sonra A ünvanında hələ də 0,5 BTC UTXO, 3 BTC UTXO və 4 BTC UTXO qalır. B-də 2 BTC UTXO və 0,5 BTC UTXO var.
UTXO modelindən istifadə edən kriptovalyutalarda, istifadəçi səhvən yanlış kontrakt ünvanı daxil edərsə, vəsaitlərin bərpa olunmaması ehtimalı çox yüksəkdir. Bunun səbəbi UTXO-ların əməliyyatın çıxış vəziyyəti barədə əlavə məlumat saxlamamasıdır və kriptovalyuta əməliyyatı tamamlandıqdan sonra müvafiq UTXO artıq verilənlər bazasında mövcud olmur. Əslində, sistem vəsaiti artıq xərclədiyinizi qəbul edir və bu əməliyyat geri qaytarıla bilməz. Bundan əlavə, kontrakt ünvanı uyğun deyilsə və ya yanlışdırsa, bu, səhv daxil etmələrə səbəb ola bilər, yəni alıcı kriptovalyutanı düzgün qəbul edə bilməz. Nəticədə, kriptovalyutanın bərpa olunmaması ehtimalı çox yüksəkdir.
Görə bilərik ki: ① UTXO-lar son vəziyyətləri deyil, hadisələri qeydə alır. ② Hər bir UTXO müəyyən miqdarda Bitcoin-i təmsil edir və bütün UTXO-ların cəmi hesab Balansını müəyyən edir. ③ UTXO Bitcoin əməliyyatının çıxışıdır. ④ Tam bir əməliyyat əməliyyat çıxışlarından (göndərənlər) və əməliyyat girişlərindən (alıcılar) ibarətdir. Əməliyyat çıxışları Outputs, əməliyyat girişləri isə Inputs adlandırıla bilər. Əməliyyat tamamlandıqdan sonra yeni yaradılan istənilən UTXO Bitcoin reyestrində qeydə alınır və sonrakı əməliyyatlar üçün istifadə oluna bilər. Bitcoin əməliyyatlarının təməl daşı olan UTXO-lar təhlükəsizlik, məxfilik və miqyaslana bilmə kimi üstünlüklər təqdim edir. Onlar çoxsaylı blockchain layihələri üçün əsas əməliyyat çərçivəsi rolunu oynayır.
MEXC-də Siyahıya daxil edilib olan aşağıdakı tokenlər UTXO modelindən istifadə edir:
ADA, AE, AVAX, BCH, BCHA, BEAM, BHD, BSV, BTC, BTCV, BTM, BTM2, CHIA, CKB, DASH, DOGE, FIRO, HC, HNS, HYDRA, IOEX, KAS(KASPA), LBC, LBTC, LTC, MASS, PAC, PLCU, PSL, QTUM, RVN, SC, SYS, UT, WIT, XRD, XVG, ZEL, ZEN
Yuxarıda qeyd olunan kriptovalyutanın köçürülməsində xəta olarsa, onu bərpa etməkdə kömək edə bilməyəcəyik. Zəhmət olmasa, hər hansı depozitə başlamazdan əvvəl düzgün Depozit ünvanı daxil etdiyinizə əmin olun!