Criptopedia

Modelul UTXO vs. Modelul de conturi

De catre Criptopedia - 07 iul 2024

Bitcoin utilizează modelul UTXO pentru constituirea soldurilor utilizatorilor, în timp ce Ethereum și lanțurile EVM utilizează modelul de conturi (account model). UTXO-urile sunt nefungibile și sunt cheltuite o singură dată, în timp ce conturile urmăresc soldul general.

În cadrul platformelor tradiționale Web2 bazate pe server, urmărirea datelor și informațiilor utilizatorilor este de fapt mult mai ușoară decât pe blockchain. Acest lucru se datorează faptului că există un singur server centralizat care stochează starea conturilor utilizatorilor. Nu este nevoie de consens sau de rezolvarea discrepanțelor deoarece există un singur loc central care stochează informațiile.

Cu toate acestea, când treci la un sistem descentralizat, problema stocării soldurilor utilizatorilor devine complicată. Rețelele descentralizate precum Bitcoin și Ethereum necesită modele specifice pentru a urmări stările conturilor utilizatorilor. Bitcoin utilizează modelul UTXO, iar Ethereum și alte lanțuri EVM utilizează modelul de conturi pentru a urmări soldurile.

Ce înseamnă UTXO?

UTXO este abrevierea pentru Unspent Transaction Output. Bitcoin folosește modelul UTXO, iar includerea acestuia ne ajută să înțelegem mai bine compromisurile modelelor de stocare pe blockchain și să îl comparăm cu utilizarea modelului de conturi de către Ethereum și alte lanțuri EVM.

Tranzacțiile

Soldurile conturilor sunt rezultatele unor tranzacții, dar care sunt elemente necesare pentru a efectua o tranzacție de la cap la coadă?

  1. Suma: suma de trimis către cineva;
  2. Plătitor: persoana care transferă valoarea (suma);
  3. Beneficiar: persoana care primește valoarea (suma) transferată.

Întrucât aceste sisteme sunt bazate pe criptografie pentru securitate maximă, avem nevoie de încă un lucru pentru a completa cu succes o tranzacție pe blockchain. Avem nevoie de autorizarea plătitorului care este imposibil de falsificat.

Acest al patrulea element ar fi, de fapt, semnătura digitală, care este practic un hash extrem de greu de reprodus dacă nu ești posesorul datelor de intrare corecte - în acest caz, cheile private ale utilizatorului. Fără cheile private, nu poate avea loc o autorizare de plată. Singura modalitate de a o face ar fi spargerea criptografiei tranzacției, ceea ce este imposibil.

Modelul bazat pe conturi

Dacă ai un cont bancar, sigur ești familiarizat cu acest model de urmărire a soldurilor utilizatorilor. Modelul de conturi urmărește exact acest lucru: conturile. El urmărește soldurile utilizatorilor pe baza stării generale a contului, fără a ține evidența a ceea ce constituie soldul efectiv. Cu alte cuvinte, un registru bazat pe conturi ar înregistra o intrare astfel:

  • Vlad are un sold total de 50 lei.
  • Ionuț are un sold total de 30 lei.
  • Vlad îi trimite lui Ionuț 5 lei.
  • Soldul lui Vlad este redus cu 5 lei; dacă soldul rămas este mai mare de 0, se continuă, altfel se anulează tranzacția.
  • Soldul lui Ionuț se mărește cu 5 lei.
  • Registrele sunt actualizate la ambele capete pentru a reflecta soldurile totale. 

Nu se urmărește nicio informație suplimentară despre structura soldurilor. Mai precis, nu se urmărește dacă soldurile lui Vlad sau Ionuț sunt constituite din bancnote de 10 lei, 5 lei sau 20 lei. Dacă Ionuț se duce la un bancomat și retrage din soldul disponibil, primește banii în orice bancnote are la dispoziție banca, nu în aceleași bancnote care au condus la construirea soldului.

Modelul bazat pe UTXO

Ethereum folosește modelul bazat pe conturi, în timp ce Bitcoin utilizează UTXO-uri pentru a urmări starea/soldurile utilizatorilor. Modelul UTXO diferă destul de mult de modelul de conturi și este puțin mai complex. Ce este de fapt UTXO?

Să presupunem că Vlad îi trimite lui Ionuț 5 BTC, comunicarea făcându-se prin rețeaua Bitcoin. În acest moment, dacă tranzacția este validă (Vlad are > 5 BTC, deține cheile private relevante și poate produce o semnătură, etc.), Vlad semnalează o intenție de a schimba starea contului utilizatorului. Când rețeaua Bitcoin minează tranzacția lui Vlad, Ionuț este creditat cu 1 UTXO în valoare de 5 BTC.

Astfel păstrează rețeaua Bitcoin evidența soldurilor utilizatorilor; mai exact, printr-un set foarte mare de UTXO-uri ce reprezintă tranzacții necheltuite care sunt creditate beneficiarilor cu o anumită sumă de BTC. Deci, când oamenii spun: "Dețin 3 BTC", ar trebui de fapt să spună: "Dețin niște UTXO-uri care îmi permit să fac o cheltuială maximă de 3 BTC".

Revenind, Ionuț are o tranzacție necheltuită (ieșirea determinată de Vlad prin transfer) în valoare de 3 BTC. Dacă acesta dorește să trimită la rândul său 2 BTC, tranzacția respectivă va consuma/cheltui din UTXO-ul (ce valorează 3 BTC) 2 BTC, iar restul până la 3 BTC va fi consolidat într-o altă UTXO. Astfel, orice UTXO poate fi cheltuită o singură dată, evitându-se, în acest mod, și cheltuiala dublă (double spending).

Articole similare

Ce sunt contractele inteligente?
Educație

Ce sunt contractele inteligente?

Informații relevante despre contractele inteligente. Diferențele dintre un contract tradițional și un contract modern. Care este importanța acestora. Beneficii și provocări.

Ce este  Ethereum Name Service (ENS)?
Educație

Ce este Ethereum Name Service (ENS)?

ENS își propune să simplifice spațiul crypto și al finanțelor descentralizate, permițând unui utilizator să creeze un nickname universal pentru toate adresele sale publice și adrese de site-uri web descentralizate.

Dificultăți întâmpinate de tehnologia blockchain
Educație

Dificultăți întâmpinate de tehnologia blockchain

Dificultățile întâmpinate de tehnologia blockchain. Atacurile cibernetice, trilema blockchain, impactul asupra mediului si complexitatea tehnica sunt câteva dintre aceste dificultăți.

Simplu explicat: Ce sunt blockchain bridges?
Educație

Simplu explicat: Ce sunt blockchain bridges?

Un blockchain bridge (punte/pod blockchain), cunoscut și sub numele de cross-chain bridge, conectează două chainuri diferite, permițând utilizatorilor să trimită criptomonede de la un chain la altul (oferi Matic pt ETH).

Criptomonede. Blockchain. Hashing - Introducere în Crypto
Educație

Criptomonede. Blockchain. Hashing - Introducere în Crypto

Simplu explicat: Ce sunt criptomonedele, ce reprezintă funcția de hashing, ce este un blockchain și cum funcționează acesta. Un ghid util începătorilor în crypto.

Cryptominting vs mining: care este diferența?
Educație

Cryptominting vs mining: care este diferența?

Când vine vorba de ”batere„ (minting) vs minerit (mining) în criptoeconomie, principala diferență constă în modul contrastant în care sunt create monedele. Află din acest ghid care este diferența între minting și mining