U jednom od naših prethodnih članaka govorili smo o napadu “dvostrukog trošenja”. Važnu ulogu u sprečavanju takvog napada igra model dokazivanja vlasništva – UTXO. Zbog ove strukture transakcija izgradnje, protokol Bitcoin omogućuje vam praćenje lokacije kovanica u bilo kojem trenutku.

U današnjem ćemo se članku usredotočiti na koncept UTXO, razmotriti probleme povezane s ovim računovodstvenim modelom i istražiti moguća rješenja tih problema.

Što je UTXO?

UTXO je kratica za „Nepotrošeni izlaz transakcije“, drugim riječima, ostatke ili „promjenu“, primljene nakon trošenja nekih sredstava.

Čvorovi u Bitcoin mreži održavaju blockchain koji pohranjuje sve UTXO skupove dostupne za potrošnju. Svaki od čvorova prati sve UTXO-ove, provjeravajući svaku transakciju svakog bloka prilikom formiranja blockchaina. Praćenje neutrošenih kovanica mnogo je prikladnije od praćenja svake transakcije zasebno.

Bilo koja transakcija sastoji se od ulaza i izlaza. Ulazi nove transakcije reference su na izlaze prethodnih transakcija. Zbrajanjem vrijednosti ovih poveznica mogu se koristiti u izlazu novo generirane transakcije. Na kraju se čuvaju kovanice i upute za njihovo trošenje.

Kada provjeravate stanje na svom bitcoin novčaniku, vidite cijeli pohranjeni iznos. Ali zapravo, na temelju povijesti prethodnih transakcija, saldo se može sastojati od mnogih rezultata koji predstavljaju različite iznose. Zamislite to kao brojne novčanice u novčaniku. Stanje adrese u bilo kojem trenutku zbroj je svih UTXO-a koje adresa trenutno može potrošiti. Skupovi izlaza predstavljaju UTXO-ove, odnosno skup izlaza s različitim iznosima u njima, računajući saldo.

Upotrijebimo primjer za bolje razumijevanje principa UTXO: 

Ako na svom računu držite 50 BTC i želite izvršiti uplatu od 0,5 BTC, to zahtijeva formiranje transakcije u kojoj mora biti najmanje jedan ulaz i jedan izlaz. Recimo da postoji samo jedan UTXO od 50 BTC. Nije moguće podijeliti UTXO; stoga se 50 BTC koristi kao ulaz. Predajom potpisa potvrđujemo svoje vlasništvo nad tim unosom. Kao rezultat, stvorena su dva izlaza u apoenima od 0,5 i 49,5 BTC. Promjena od 49,5 BTC šalje se natrag u novčanik vlasnika i postaje novi UTXO, a 0,5 BTC šalje se na adresu primatelja. Vrijedno je napomenuti da se naknada za transakciju odbija od promjene UTXO-a.

Važne značajke korištenja izlaznog modela transakcije:

  • Transakcije se obavljaju “trošenjem” postojećih UTXO-a i stvaranjem novih na njihovom mjestu;
  • Novi UTXO mogu se stvoriti samo putem transakcija;
  • Korišteni UTXO postaju “potrošeni” i troše se samo jednom.

UTXO je jedan od načina za snimanje i spremanje stanja blockchaina, bilježenje dokaza vlasništva kovanica od strane nekoga na mreži. UTXO blockchain zasnovan je na vrsti blockchain protokola. Načelo nepotrošenih izlaza koristi se u blokovima svih bitcoin vilica, kao i u blokovima brojnih drugih kovanica kao što su Monero, Cardano i Komodo. Hyperledger Fabric koristi modificirani UTXO model.

Drugi način organizacije blockchaina je “Model računa”, koji se koristi u Ethereum blockchainu. Ovaj se pristup provodi kroz lokalno računovodstvo tokena na čvorovima, a ne u samim transakcijama.

Problemi i rješenja UTXO modela

Prah od kriptovaluta

Prah od kriptovaluta izraz je koji se odnosi na iznose u BTC-u koji ne prelaze naknade za transakcije.

Problem prašine kriptovaluta postao je relevantan tijekom Bitcoin-ovog skupa na njegovom povijesnom ATH-u 2017. Pohranjivanje znatnog broja neprofitabilnih UTXO-a besmisleno je jer ih troši više nego što vrijede.

Programeri pokušavaju riješiti problem kripto prašine na različitim razinama. Binance je postala prva razmjena koja je omogućila pretvorbu prašine kriptovaluta za BNB tokene.

Prah od kriptovaluta također se može koristiti za podudaranje različitih adresa koje pripadaju jednom vlasniku. Budući da se ulazi ne kombiniraju prilikom izvršavanja transakcije, napadači mogu poslati kripto prašinu kako bi se pomiješali s drugim UTXO-ima i podudarali s različitim adresama žrtve.

Pohranjivanje UTXO-a

Budući da blockchain pohranjuje sve UTXO skupove prisutne na mreži, što je veći broj takvih skupova, oni zauzimaju više prostora.

Puni čvorovi pohranjuju bazu podataka o neutrošenim transakcijama u RAM-u, a s povećanjem količine pohranjenih podataka, troškovi održavanja čvora samo se povećavaju. Jedna od raspravljenih mogućnosti rješavanja problema pohrane nepotrošenih transakcija je prijenos dijela pohranjenih podataka na HDD ili SSD uređaje.

Provedba odvojenog svjedoka

UTXO bazu podataka održavaju i provjeravaju svi čvorovi na mreži kako bi se provjerila valjanost transakcija. Za brži rad mreže takvu provjeru treba provesti što je prije moguće. Iz tog se razloga baza podataka čuva u RAM-u. Povećanjem broja korisnika i broja novčanika raste količina podataka UTXO, što dovodi do problema skaliranja mreže. Da bi povećali privatnost ili podržali kanale plaćanja Lightning Network, korisnici stvaraju više UTXO zapisa.

Jedno od poboljšanja nakon uvođenja SegWita bilo je smanjenje rasta UTXO stvaranjem UTXO zapisa koji ne utječu na njegov volumen. Ovim pristupom poželjno je koristiti transakcije s manjim utjecajem na UTXO zbog nižih provizija.

UTreeXo rješenje

Kako su resursi potrebni za održavanje punog čvora porasli, korisnici sve više prelaze na takozvane “lagane klijente” i čvorove trećih strana za nadgledanje mreže. Lagani klijenti ne pohranjuju UTXO bazu podataka i ne provjeravaju transakcije, već koriste SPV, što znači “Pojednostavljena provjera plaćanja”. Ovu je metodu provjere u Bitcoin Bijeloj knjizi opisao sam Satoshi Nakamoto. Zbog niza značajnih nedostataka u privatnosti, korištenje SPV klijenata je nesigurno u usporedbi s punim čvorovima. Problem zadržavanja punih čvorova može se riješiti primjenom uTreeXo protokola

UTreeXo protokol je dinamički akumulator koji smanjuje veličinu UTXO-a u blockchainu na nekoliko kilobajta. Rješenje uTreeXo omogućuje punim čvorovima da izbjegnu pohranu svih blockchain podataka i praćenje skupa svih UTXO-a. Umjesto toga, akumulatori će pružiti dokaze da su podaci točni.

Uvođenjem protokola uTreeXo bit će moguće pokretati pune čvorove na mobilnim uređajima.

Zaključak

UTXO model, koji se pojavio zajedno s Bitcoinom, pojednostavio je način računovodstva sredstava i dao poticaj razvoju rješenja na polju postizanja privatnosti u transakcijama. Miješanjem različitih UTXO-a, korisnik može koristiti različite adrese za provođenje transakcija, što komplicira metode uspostavljanja veza između adresa.

Tradicionalni UTXO model ima niz ograničenja kada se koristi u pametnim ugovorima, ali programeri Cardano opisali su koncept Extended UTXO (EUTXO) – prošireni UTXO model za uvođenje pametnih ugovora u svoju mrežu.

Unatoč postojećim nedostacima, ovaj je pristup jedan od najčešće korištenih u blockchainsima ostalih kriptovaluta, a intenzivan rad na rješavanju tih nedostataka samo će povećati popularnost UTXO modela u drugim blockchain sustavima.

Mike Owergreen Administrator
Sorry! The Author has not filled his profile.
follow me