UTXO: s magi

I en av våra tidigare artiklar pratade vi om attacken med “dubbla utgifter”. En viktig roll för att förhindra en sådan attack spelas av bevis för ägarbokföring – UTXO. På grund av denna struktur för byggtransaktioner kan Bitcoin-protokollet spåra myntens placering när som helst.

I dagens artikel kommer vi att fokusera på UTXO-konceptet, överväga problemen i samband med denna redovisningsmodell och undersöka möjliga lösningar på dessa problem.

Vad är en UTXO?

UTXO står för “Unspent Transaction Output”, med andra ord, resterna eller “förändring”, som erhållits efter att ha använt några medel.

Noderna i Bitcoin-nätverket har en blockchain som lagrar alla UTXO-apparater som är tillgängliga för utgifter. Var och en av noderna håller reda på alla UTXO: er och kontrollerar varje transaktion i varje block när blockchain bildas. Att spåra outnyttjade mynt är mycket bekvämare än att spåra varje transaktion separat.

Varje transaktion består av in- och utgångar. Ingångarna för en ny transaktion är referenser till utdata från tidigare transaktioner. Genom att summera värdena på dessa länkar kan de användas i utdata från en nyligen genererad transaktion. Utdata är där mynt och instruktioner för att spendera dem lagras.

När du kontrollerar saldot på din bitcoinplånbok ser du hela lagrat belopp. Men faktiskt, baserat på historiken för tidigare transaktioner, kan saldot bestå av många output som representerar olika belopp. Tänk på det som de många räkningarna i din plånbok. Balansen för en adress vid en viss tidpunkt är summan av alla UTXO-adresser som adressen för närvarande kan spendera. Uppsättningarna av utdata representerar UTXO, det vill säga en uppsättning utgångar med olika belopp i dem, som står för balansen.

Låt oss använda ett exempel för att bättre förstå UTXO-principen: 

Om du innehar 50 BTC på ditt konto och vill göra en betalning på 0,5 BTC, krävs det att en transaktion bildas, där det måste finnas minst en ingång och en utgång. Låt oss säga att det bara finns en UTXO på 50 BTC. Det är inte möjligt att dela UTXO; därför används 50 BTC som ingång. Genom att skicka in en signatur bekräftar vi vårt ägande av den inmatningen. Som ett resultat skapas två utgångar med valörer 0,5 och 49,5 BTC. En förändring på 49,5 BTC skickas tillbaka till ägarens plånbok och blir en ny UTXO och 0,5 BTC skickas till en mottagares adress. Det är värt att notera att transaktionsavgiften dras av från UTXOs förändring.

Viktiga funktioner för att använda transaktionsoutputmodellen:

  • Transaktioner görs genom att “konsumera” befintliga UTXO och skapa nya istället.
  • Nya UTXO kan bara skapas genom transaktioner;
  • Begagnade UTXO: er blir “förbrukade” och konsumeras bara en gång.

UTXO är ett av sätten att registrera och spara blockkedjans tillstånd och registrera bevis på att mynt ägs av någon i nätverket. UTXO-baserad blockchain är en typ av blockchain-protokoll. Principen om outnyttjade utdata används i blockkedjorna i alla Bitcoin-gafflar, liksom i blockkedjorna i många andra mynt som Monero, Cardano och Komodo. Hyperledger Fabric använder en modifierad UTXO-modell.

Ett annat sätt att organisera blockkedjan är “Kontomodellen”, som används i Ethereum-blockkedjan. Detta tillvägagångssätt implementeras genom lokal redovisning av tokens på noderna och inte i själva transaktionerna.

Problem och lösningar av UTXO-modellen

Cryptocurrency damm

Cryptocurrency dust är en term som refererar till belopp i BTC som inte överstiger transaktionsavgifter.

Problemet med kryptovalutadamm blev relevant under Bitcoins demonstration av dess historiska ATH 2017. Att lagra ett stort antal olönsamma UTXO: er är meningslöst eftersom det kostar mycket att spendera dem än vad de är värda.

Utvecklare försöker lösa problemet med kryptodamm på olika nivåer. Binance blev den första börsen som möjliggjorde omvandling av kryptovalutadamm för BNB-tokens.

Cryptocurrency damm kan också användas för att matcha olika adresser som tillhör en enskild ägare. Eftersom ingångarna inte kombineras när en transaktion görs kan angripare skicka kryptodamm som ska blandas med andra UTXO och matcha olika offeradresser.

Lagring av UTXO

Eftersom blockchain lagrar alla UTXO-apparater som finns i nätverket, ju högre antal sådana uppsättningar, desto mer utrymme tar de upp.

Hela noder lagrar en databas över outnyttjade transaktioner i RAM, och med en ökning av mängden lagrad data ökar kostnaden för att underhålla en nod bara. Ett av de diskuterade alternativen för att lösa problemet med lagring av outnyttjade transaktioner är att överföra en del av den lagrade data till hårddisk eller SSD-enheter.

Segregerat vittnesimplementering

UTXO-databasen underhålls och kontrolleras av alla noder i nätverket för att kontrollera giltigheten av transaktionerna. För snabbare nätverksdrift bör en sådan kontroll utföras så snart som möjligt. Det är av denna anledning som databasen lagras i RAM. Med ökningen av antalet användare och antalet plånböcker växer UTXO-datavolymen, vilket leder till problemet med nätverksskalning. För att öka integriteten eller för att stödja Lightning Network-betalningskanaler skapar användare flera UTXO-poster.

En av förbättringarna efter introduktionen av SegWit var att minska tillväxten av UTXO genom att skapa UTXO-poster som inte påverkar dess volym. Med detta tillvägagångssätt är det att föredra att använda transaktioner med mindre påverkan på UTXO på grund av lägre provisioner.

UTreeXo-lösning

Eftersom de resurser som krävs för att upprätthålla en fullständig nod har ökat växlar användare i allt högre grad till så kallade “light clients” och tredjepartsnoder för att övervaka nätverket. Lätta klienter lagrar inte UTXO-databasen och verifierar inte transaktioner utan använder SPV, som står för “Förenklad betalningsverifiering”. Denna verifieringsmetod beskrivs i Bitcoin White Paper av Satoshi Nakamoto själv. På grund av ett antal betydande integritetsfel är det osäkert att använda SPV-klienter jämfört med fullständiga noder. Problemet med att hålla hela noder kan lösas genom att implementera uTreeXo-protokollet

UTreeXo-protokollet är en dynamisk ackumulator som minskar storleken på UTXO i blockkedjan till flera kilobyte. UTreeXo-lösningen tillåter fullständiga noder för att undvika att lagra all blockchain-data och hålla reda på uppsättningen av alla UTXO-enheter. Istället kommer ackumulatorerna att bevisa att uppgifterna är korrekta.

Med introduktionen av uTreeXo-protokollet är det möjligt att köra hela noder på mobila enheter.

Slutsats

UTXO-modellen, som dök upp tillsammans med Bitcoin, förenklade metoden för redovisning av medel och gav drivkraft för utvecklingen av lösningar inom området för att uppnå integritet i transaktioner. Genom att blanda olika UTXO: er kan en användare använda olika adresser för att genomföra transaktioner, vilket komplicerar metoderna för att skapa länkar mellan adresser.

Den traditionella UTXO-modellen har ett antal begränsningar när den används i smarta kontrakt, men Cardano-utvecklarna beskrev det utvidgade UTXO (EUTXO) -konceptet – en utökad UTXO-modell för att införa smarta kontrakt i sitt nätverk.

Trots de befintliga bristerna är detta tillvägagångssätt en av de mest använda i blockkedjor för andra kryptovalutor, och intensivt arbete med att lösa dessa brister kommer bara att öka UTXO-modellens popularitet i andra blockchain-system.

Mike Owergreen Administrator
Sorry! The Author has not filled his profile.
follow me
Like this post? Please share to your friends:
map