Kas yra UTXO?
UTXO reiškia Nepanaudotos operacijos (TX) išvestis. Iš esmės, tai yra likęs kriptovaliutos pokytis, kurį gaunate iš kiekvienos operacijos. Vis dėlto norėdami paaiškinti toliau, pirmiausia turėtume išsiaiškinti, kaip veikia įprasta šifravimo operacija. Savo pavyzdžiu naudokime „Bitcoin“, nes tai yra labiausiai žinoma kriptovaliuta, naudojanti UTXO.
UTXO operacijos pavyzdys
Pažvelgę į savo „Bitcoin“ piniginę matote pusiausvyrą. Šiame pavyzdyje nustatykime 100 bitkoinų. Nors stebi tik vienas balansą, iš tikrųjų susideda iš jūsų lėšų keli UTXO. Jūs galite turėti keturis UTXO, kurių vertė yra 25 bitkoinai, du UTXO, kurių vertė yra 50, arba UTXO rinkinį, vertinantį 37, 18, 40 ir 5 bitkoinus. Konkrečios sumos neturi reikšmės, tačiau jos turi sudaryti bendrą jūsų balansą, šiuo atveju – 100.
Tęsdami pavyzdį, tarkime, kad jūs perkate naują automobilį. Tu sunkiai dirbi; tu to nusipelnei. Palaikydami „Lambo“ stereotipą, nusprendžiate „Porche“, kuris kainuoja 35 bitkoinus. Na, jūsų piniginėje yra tik UTXO, kurių kiekviena lygi 15, 17, 28 ir 40 bitkoinų. Jūs neturite vieno, kurio vertė yra tiksliai 35 bitkoinai.
UTXO padalinti neįmanoma, todėl niekaip negalima sumokėti tikslaus 35 bitkoinų, kuriuos esate skolingi.
Vietoj to jūs išleidžiate 40 bitkoinų UTXO. Vietoje jo tinklas kaldina du naujus UTXO: vienas vertinamas 35 bitkoinais, vienas vertas 5 bitkoinais. Automobilių prekybos atstovybė gauna 35 bitcoin UTXO, o jūs gaunate 5 bitcoin UTXO kaip pasikeitimus.
Taip pat galite išleisti 17 ir 28 bitkoinų UTXO ir gauti 10 bitkoinų kaip pakeitimą. Sandoryje gali būti naudojamas bet koks UTXO derinys; tačiau jūs negalite kontroliuoti, kurie iš jų.
Kaip galite suskaidyti UTXO į atskirus egzempliorius, taip pat galite juos sujungti didesnėse operacijose, sukurdami mažiau jų tinkle.
Ką apie sandorių mokesčius?
Operacijų mokesčiai taip pat įtraukiami į operacijas ir atimami iš UTXO, kurį gaunate kaip pasikeitimą. Lygtis atrodo maždaug taip:
Naujas UTXO = (Sandorio UTXO suma) – (operacijos suma) – (operacijos mokestis)
Tęsdami mūsų naujausią pavyzdį su vienu bitkoino operacijos mokesčiu:
Naujas UTXO = (17 + 18) – (35) – (1) = 9 bitkoinai
UTXO svarba ir galimos problemos
Įdiegus UTXO labai supaprastinami „blockchain“ apskaitos metodai. Užuot sekę ir saugoję kiekvieną operaciją, norėdami ne mažiau, mes tiesiog turime sekti neišleistas monetas, dar žinomas kaip UTXO.
Matote, kiekvieną Bitcoin ekosistemos monetą galima išleisti tik vieną kartą. Taigi, kiekvienas piniginėje esantis bitkoinas šiuo metu yra neišleistas, nes:
- Kalnakasys jį gavo kaip kasybos atlygį, arba
- Jis buvo nukaltas sandorio metu. (Prisimenate mūsų ankstesnį pavyzdį?)
UTXO yra labai svarbūs siekiant užkirsti kelią dvigubai išlaidaujantiems išpuoliams, todėl jie neleidžia išleisti monetų, kurių nėra. Tinklo mazgai registruoja ir prižiūri duomenų bazę, kurioje yra kiekviena UTXO (t. Y. Neišleista moneta), kurią galima išleisti. Jei bandysite išsiųsti operaciją su moneta, kurios nėra toje duomenų bazėje, mazgai ją atmes.
Galimos saugojimo problemos
Mazgai saugo UTXO duomenų bazę RAM, todėl svarbu, kad duomenų rinkinys būtų valdomas. Jam augant, auga ir viso mazgo valdymo išlaidos. Jei viso mazgo paleidimas tampa per brangus, galime pastebėti tolesnę Bitcoin tinklo centralizaciją tarp turtingųjų, kurie gali sau leisti juos paleisti.
„Bitcoin UTXO“ duomenų bazės dydis laikui bėgant per „Blockchain“
Ši centralizavimo rizika yra vienas iš pagrindinių argumentų prieš didinant „Bitcoin“ blokų dydį. Geriausiai tai apibūdina „Bitcoin“ kūrėjas Gavinas Andresenas jo straipsnis UTXO uh-oh…:
„Vieno megabaito bloke per metus galima atlikti apie 100 milijonų 500 baitų operacijų. Jei kiekvienas iš jų padidintų UTXO rinkinį 500 baitų, tai padidintų 50 gigabaitų per metus. “
Vieno megabaito bloko dydis nustato viršutinę ribą, kad UTXO duomenų bazė galėtų augti kiekvienais metais. Jis tęsia:
„Jei leisite daugiau operacijų be jokių kitų pakeitimų, greičiausiai paspartės UTXO rinkinio augimas, todėl bus brangiau ir greičiau paleisti visiškai patvirtinantį mazgą.“
Kad mes nesmulkintume Andreseno žodžių: Jo straipsnis iš tikrųjų pritaria blokų dydžio didinimui. Jis teigia, kad poveikis UTXO rinkinio dydžiui nėra drastiškas, kaip mano kiti. Atsižvelgiant į antrojo sluoksnio mastelio sprendimų sudėtingumą, mes turime įgyvendinti didesnius blokus artimiausiu metu, kol šie sprendimai bus įgyvendinti ilgainiui.
Sprendimai
Laimei, yra keletas galimų saugojimo problemų sprendimų. Pirma, mazgai neprivalo saugoti visos UTXO duomenų bazės RAM. Jie gali pasirinkti dalį jo laikyti pigesniame kietojo kūno diske (SSD) arba besisukančiame standžiajame diske. Nors dėl šių saugojimo tipų kiekvieno mazgo patvirtinimo laikas yra lėtesnis, problemų neturėtų kilti, jei jie vis dar nesiekia dešimties minučių vidutinio blokavimo laiko.
Be to, „Bitcoin“ kūrėjai nuolat tobulina sandorių mechanizmus, kad optimizuotų UTXO duomenų bazę.
Galiausiai „Segregated Witness“ („Segwit“) ir panašūs mastelio keitimo sprendimai netiesiogiai sulėtina UTXO duomenų bazės augimą. Traukiama tiesiai iš „Bitcoin Core“ dokumentacija:
„Segwit pagerina situaciją čia, nes parašo duomenys, kurie neturi įtakos UTXO rinkinio dydžiui, kainuoja 75% mažiau nei duomenys, kurie daro įtaką UTXO rinkinio dydžiui. Tikimasi, kad tai paskatins vartotojus pirmenybę naudoti operacijoms, kurios sumažina poveikį UTXO rinkiniui, siekiant sumažinti mokesčius, ir paskatins kūrėjus kurti pažangias sutartis ir naujas funkcijas taip, kad taip pat sumažėtų poveikis UTXO rinkiniui. “
Išvada: UTXO alternatyvos?
Šiandien savo pavyzdyje nuosekliai naudojome „Bitcoin“, tačiau yra daugybė kitų kriptovaliutų, diegiančių UTXO, įskaitant „Bitcoin Cash“, „Litecoin“ ir „Komodo“, be daugelio kitų.
Taip pat yra daugybė kitų kriptografijų, kuriose naudojami kiti apskaitos mechanizmai. Pavyzdžiui, „Ethereum“ turi sąskaitos pagrindu sudarytą operacijų modelį. Šis mechanizmas paprastai leidžia sutaupyti daugiau vietos ir paprasčiau naudoti kodą; tačiau jūs prarandate sandorių privatumo lygį ir kelyje susiduriate su galimomis mastelio problemomis.
Jei paklausite dešimties šifravimo programų kūrėjų kambario apie geriausius apskaitos metodus, greičiausiai gausite dešimt skirtingų atsakymų. Tai karštai diskutuojama tema visoje bendruomenėje, kuri vis dar neturi tobulo sprendimo. Dėl sudėtingumo greičiausiai taip ir nebus.