#UTXO angļu valodā ir Unspent Transaction Output, tulkojot to nozīmē “Neiztērētā darījuma izeja”. Jāteic, ka Bitcoin pamatkoncepts ir darījums, darījuma galvenais zināšanu punkts ir UTXO, tāpēc šajā rakstā mēs labi parunāsim par šo UTXO.

Tirdzniecības sastāvdaļas

Bitcoinā nav konta jēdziena, tā sauktais adreses atlikums faktiski ir saistīto darījumu statistika, un to aprēķina. Tātad mēs pielāgosim mikroskopu fokusēšanu, vispirms apskatīsim, kādi elementi ir iekļauti darījumā.


Pirmais elements ir ieejas dati, proti, Input. Vispirms ne visi darījumi satur šo elementu. Piemēram, katrā blokā ir īpašs mineru autonomais darījums, ko sauc par coinbase darījumu, tas ir darījums bez ieejas datiem. Šajā darījumā tieši iznāk noteikts skaits Bitcoin, kas tiek pārskaitīts minerim, kas izveidojis šo bloku. Izņemot šo izņēmumu, citi darījumi vienmēr satur ieejas datus. Piemēram, ja Mazais Ming vēlas pārskaitīt 1 Bitcoin Mazajam Gangam, kādi būtu šī darījuma ieejas dati? Tie ir saistīti ar Mazā Minga adresi, precīzāk sakot, tie ir tie darījumi, kuros ir iekļauti neizlietotie darījumu izejas dati, kas pieder Mazajam Mingam, proti, UTXO.

Tādējādi mēs dabiski nonākam pie otra elementa, proti, darījumā vajadzētu iekļaut izejas datus. "Izeja" ir termins, angliski saukts par Output. Mazā Minga darījumā, kad viņš pārskaita vienu Bitcoin Mazajam Gangam, darījuma izeja ir šis konkrētais Bitcoin, kas vērsts uz Mazā Zhang adresi. Tādējādi UTXO pēdējie trīs burti TXO, no kuriem TX apzīmē darījumu, O apzīmē izeju, mēs saprotam.

Pēdējais U attiecas uz neizlietotu, proti, neizmantoto. Ja Mazais Zhang nekad nav izmantojis šo izejas datu kā citu darījumu ieejas datus, šis izejas dats ir neizlietots, tas ir UTXO.

Pēdējais elements ir komisijas maksa, kas nozīmē, ka ne coinbase darījumā ieejai jāsakrīt ar izeju plus komisijas maksu, kas ir jāpārskaita mineram. Diskusijās, lai atvieglotu procesu, mēs ignorējam šo komisijas maksu.

Izpratne par Bitcoin darījumu pamatkomponentiem patiesībā nozīmē arī UTXO izpratni. Apmeklējot jebkuru Bitcoin pārlūku, varat atvērt konkrētu darījumu, un detaļās var redzēt iepriekš minētos elementus.

Iegūt ieejas datus un atlikumu

UTXO ir ar vienu īpašību, kuru nevar sadalīt, tādēļ darījuma laikā, kā iegūt pietiekamu ieejas summu un kā iegūt atlikumu?

Mazais Ming pārskaita Mazajam Gangam 1 Bitcoin. Viss process ir šāds: Mazais Ming vāca pietiekami daudz ieejas datu, piemēram, viņa adrese atbilstošajās iepriekšējās darījumos atrada UTXO ar nominālvērtību 0.9, kas nav pietiekami 1 Bitcoin. Tomēr darījumā ir atļauts izmantot vairākas ieejas, tāpēc Mazais Ming atrada arī UTXO ar nominālvērtību 0.2. Šajā darījumā būs divas ieejas. Tajā pašā laikā izejas datiem arī būs divi: viens ir vērsts uz Mazā Ganga adresi ar nominālvērtību 1 Bitcoin, bet otrs uz Mazā Minga adresi ar nominālvērtību 0.1 Bitcoin, kas ir atlikums.

Pārskatot, visa procesa gaita ir šāda: Mazais Ming vispirms jāiegūst pietiekamais nomināls ieejas datiem, šeit viņš atrada divus ieejas datus, un abi šie ieejas dati ir iepriekšējo darījumu izejas dati. Šie divi izejas dati pirms neizlietošanas bija UTXO, bet kad pašreizējais darījums stājas spēkā, tie tiks patērēti, un šajā darījumā tiks ģenerēti divi jauni UTXO, viens vērsts uz Mazā Minga adresi, otrs uz Mazā Ganga adresi. Tas ir līdzīgi kā Mazais Ming un Mazais Gang ir katrs saņēmuši monētu, ko turpmāk varēs izmantot citos darījumos. Savukārt Mazā Minga un Mazā Ganga adresēs esošā bilance patiesībā ir katra atbilstošo UTXO kopums.

Tādējādi mēs skaidri saprotam, kā darījuma laikā iegūt ieejas datus, kā ģenerēt izejas datus un veikt atlikumu.

Kāpēc izmantot UTXO modeli?

Šeit mums ir jautājums: vai Bitcoin nav liels grāmatojums? Kāpēc neizmantot konta modeli, bet izmantot UTXO modeli?

Konta modelis ir tradicionālo banku vai līdzīgu pakalpojumu, piemēram, Alipay, pamatmodelis. Šajā modelī man ir sava atbilstošā konta, kurā ir norādīts, ka man ir 13 naudas vienības. Tādējādi šis 13 skaitlis ir skaidri ierakstīts sistēmā. Konta modelis patiešām ir ļoti vienkāršs un ļoti elastīgs, Ethereum un daži citi blokķēdes projekti izmanto konta modeli.

Paskatoties uz Bitcoin, Mazais Ming ir 13 monētas, bet patiesībā blokķēdē nav skaitļa 13, jo blokķēdē ir tikai darījumi. Tomēr, ja mēs atveram Bitcoin blokķēdes pārlūku, mēs varam redzēt, ka katrai adresei atbilst bilance, ko aprēķina blokķēdes pārlūks, nevis tas, kas sākotnēji ir bijis blokķēdē.

Tomēr daudzi eksperti apgalvo, ka UTXO ir ļoti lielisks modelis, galvenokārt tāpēc, ka UTXO ir ļoti piemērots paralēlām operācijām, un šī īpašība izrādās ļoti izsmalcināta izplatītajās datoru tīklos. Konkretizētās detaļas nav šī raksta uzmanības centrā, ieteicams izlasīt (UTXO un konta modeļa salīdzinājums), kur ir sniegti detalizētāki izskaidrojumi.

Secinājums

Par UTXO mēs šodien runāsim līdz šim, apskatīsim dažas secinājumus.

UTXO ir centrālais jēdziens, lai izprastu Bitcoin darījumus. Ja vēlies saprast Bitcoin pamatprincipus, šis ir neizbēgams šķērslis. Katrs darījums var saturēt vairākus ieejas datus un parasti ietver divus izejas datus, kuru kopējā summa plus komisijas maksa ir tieši vienāda ar ieejas datu kopējo summu. Katrs izejas dats ir līdzīgs monētai, tam ir sava nominālvērtība un tas pieder konkrētai adresei. Ja izejas dats vēl nav izmantots kā ieejas dats citā darījumā, tas ir “neizlietots darījumu izejas dats”, kas ir UTXO.

UTXO modelī nav konta jēdziena, tādēļ salīdzinājumā ar konta modeli tas šķiet nedaudz sarežģītāks, taču tam ir arī milzīgas priekšrocības, piemēram, tas ir ļoti izdevīgs paralēlas aprēķinu apstrādes veikšanai izplatītajās sistēmās. $CKB $BTC