Zobacz więcej

UTXO: Czym jest Unspent Transaction Output?

8 mins
Autor Alex Lielacher
Tłumaczenie Karol Nalepa
Dołącz do Naszej Społeczności na Telegramie

Unspent transaction output, czyli UTXO, to termin, który prawdopodobnie napotkałeś w ekosystemach blockchain. Ale co to oznacza i dlaczego jest to istotne? W tym artykule wyjaśnimy czym jest niewydany wynik transakcji, jak to działa i podamy przykłady ilustrujące tę koncepcję.

Giełda Kraken

Giełda Kraken
Rejestracja
Launchpad Nie
KYC Bez dokumentów
Waluty EUR, USD, krypto

Binance

Binance
Handluj teraz
Launchpad Tak
KYC Wymagane
Waluty PLN, EUR, USD, krypto

Giełda Bybit

Giełda Bybit
Załóż konto
Launchpad Tak
KYC Wymagane
Waluty EUR, USD, krypto
Zbudowane przez Ari10. Możliwość płatności BLIK
Zbudowane przez Ari10. Możliwość płatności BLIK

Co to jest UTXO?

czym jest Unspent Transaction Output (UTXO)?

To pojęcie odnosi się do niewykorzystanych danych wyjściowych transakcji

Dane wyjściowe transakcji kryptowalutowej są “niewydane”, dopóki nie zostaną wykorzystane jako dane wejściowe w innej transakcji. Niewykorzystane wyniki transakcji są kluczową częścią ekosystemu kryptowalut, wykorzystywaną do śledzenia własności środków w wielu blockchainach, najważniejszym przykładem jest sieć Bitcoina. Co istotne dla zrozumienia UTXO, klucz prywatny umożliwia nam posiadanie ogromnej ilości adresów publicznych.

Niewydane dane wyjściowe są odpowiednikiem “reszty” w zakupie przy pomocy walut tradycyjnych.

Załóżmy, że masz saldo Bitcoin w wysokości 1 BTC i chcesz kupić coś, co kosztuje 0,1 BTC. Wysłałbyś 0,1 BTC do sprzedawcy, a pozostałe 0,9 BTC byłoby Twoim UTXO. Następnie możesz użyć tej niewydanej kwoty transakcji, aby dokonać więcej zakupów lub przelewów w przyszłości.

Łańcuch przechowuje wszystkie UXTO i wszyscy mogą je przeglądać. Każdy z nich ma unikalny identyfikator, czyli hash poprzedniej transakcji i indeks wyjścia w ramach tej transakcji.

Użytkownicy, którzy chcą utworzyć nową transakcję, wybierają jeden lub więcej UTXO do wykorzystania jako dane wejściowe. Na przykład, możesz mieć 2 BTC i 4 BTC pozostałych z poprzedniej transakcji w sieci Bitcoin. Kupujesz przedmiot o wartości 4,5 BTC, więc musisz wysłać obie kwoty, aby pokryć rachunek. Transakcja jest zakończona po otrzymaniu “reszty” (ang. change address): nowego UTXO o wartości 1,5 BTC.

Suma musi być równa lub większa niż wysyłana kwota plus wszelkie opłaty transakcyjneGdy transakcja zużyje UTXO, nie może ono być ponownie wykorzystane.

Każde z nich ma swój unikalny adres. Gwarantuje to, że monety nie zostaną wydane dwukrotnie. Zazwyczaj widzisz dwa adresy, gdy otrzymujesz UTXO po transakcji. Jeden jest przeznaczony dla odbiorcy, a drugi dla adresu zmiany. Adres zmiany to miejsce, do którego jest wysyłana reszta aktywów.

Jak jest tworzone UTXO?

Gdy użytkownicy dokonują transakcji na blockchainie, który wykorzystuje model niewydanych danych wyjściowych, tworzony jest nowy UTXO. Ten niewydany wynik transakcji jest wynikiem poprzedniej transakcji. Jest następnie wykorzystywany jako dane wejściowe w nowej transakcji.

Aby nastąpiło wyjście niewydanej transakcji, najpierw musi istnieć wejście. Wejście jest po prostu odniesieniem do istniejącego UTXO, które może być użyte w transakcji. Jest następnie wydawane, a na jego miejsce tworzone jest nowe. Wyjścia można traktować jako odbiorcę transakcji. Określają one, ile monet otrzyma odbiorca i można je wydać tylko poprzez odniesienie do nich w przyszłych wejściach.

Jak działają UTXO?

jak działa utxo

Różne sieci wykorzystują model niewydanych transakcji do śledzenia, kto jest właścicielem jakich monet. Kiedy ktoś wysyła Bitcoiny do innej osoby, wysyła jeden lub więcej UTXO do klucza publicznego odbiorcy. Odbiorca może następnie użyć je w postaci danych wejściowych do swoich równoległych transakcji.

UTXO są przechowywane na blockchainach i mogą być traktowane jako analogiczne do fizycznych monet. Jeśli masz fizyczną monetę, możesz ją wydać, przekazując ją komuś innemu. Gdy już ją oddasz, przestaje należeć do ciebie i nie możesz jej ponownie wydać. Po użyciu UTXO w transakcji, nie jest ona już przechowywana w twoim portfelu. Zamiast tego znajduje się teraz w blockchainie jako część historii transakcji. Jeśli z transakcji pozostało saldo, otrzymasz je jako nowe UTXO.

Przykłady

Aby zrozumieć, jak to działa, spójrzmy na przykład. Załóżmy, że pewna osoba chce wysłać innej 3 BTC. Otwiera swój portfel Bitcoin i ma dostępne 2 BTC z wcześniejszej transakcji, w której użytkownik otrzymał 2 BTC, oraz kolejne 1,5 BTC z innej transakcji, w której otrzymał 1,5 BTC. Aby wysłać 3 BTC, musi użyć obu transakcji jako wejścia.

Po zakończeniu transakcji pojawią się dwa wyjścia. Po pierwsze, odbiorca otrzyma 3 BTC. Ma teraz nowe UTXO o wartości 3 BTC, które może wykorzystać do realizacji przyszłych transakcji. Różnica między całkowitą wartością wejściową (3,5 BTC) a kwotą wysłaną przez nadawcę (3 BTC) wyniesie 0,5 BTC. Kwota ta jest następnie wysyłana z powrotem do nadawcy jako nowe UTXO. Może on wykorzystać ją do realizacji przyszłych transakcji.

Blockchainy mają również opcję konsolidacji, aby uniknąć złożoności korzystania z wielu niewydanych wyników transakcji w innych transakcjach. Oto jak to działa.

Co to jest konsolidacja UTXO?

Konsolidacja wyniku niewykorzystanych transakcji łączy wiele UTXO w jeden wynik w celu zmniejszenia opłat lub zwiększenia prywatności.

Jak pokazano powyżej, podczas dokonywania transakcji musisz uwzględnić wszystkie swoje UTXO jako dane wejściowe. Dlatego im więcej ich masz, tym więcej danych wejściowych będzie potrzebnych i tym wyższe będą opłaty transakcyjne. Konsolidując je, możesz zmniejszyć liczbę danych wejściowych i zaoszczędzić na opłatach.

Konsolidacja niewydanych transakcji wyjściowych umożliwia również tworzenie smart kontraktów. Konsolidując wiele UTXO w jedno, da się utworzyć wynik, który można wydać tylko wtedy, gdy spełnione są określone warunki. Pozwala to na przykład na tworzenie kontraktów depozytowych.

Istnieją dwa główne sposoby konsolidacji: konsolidacja ręczna oraz konsolidacja automatyczna.

Ręczna konsolidacja polega na utworzeniu nowej transakcji z żądanymi UTXO jako danymi wejściowymi, a następnie wysłaniu całej kwoty do siebie w jednym wyjściu. 

Automatyczna konsolidacja polega na tym, że portfel okresowo tworzy nowe transakcje, które łączą wiele niewydanych danych w jeden wynik. Konsolidacja ta odbywa się bez udziału użytkownika i jest najczęściej wykorzystywaną opcją.

Konsolidacja to świetny sposób na zaoszczędzenie na opłatach transakcyjnych, zwłaszcza jeśli jesteś aktywnym użytkownikiem Bitcoina. Jeśli nie masz pewności, czy Twój portfel obsługuje tę funkcję, sprawdź w dokumentacji na jego stronie internetowej. Możesz też poszukać opcji konsolidacji niewydanych transakcji w menu ustawień portfela.

Dlaczego UTXO są ważne?

UTXO po co

Inne powody, dla których niewykorzystane wyniki transakcji są ważne:

  • Smart kontrakty niezależne od języka: Smart kontrakty oparte na UTXO zapewniają niezależne od języka rozwiązanie, które pozwala na rozwijanie własnych mechanizmów konsensusu.
  • Zapobieganie podwójnym wydatkom (ang. double spending): UTXO można wydać tylko raz. Ma to zasadnicze znaczenie dla technologii blockchain, która gwarantuje, że kryptowaluty nie da się wydać więcej niż jeden raz.
  • Wsparcie dla atomic swap i zdecentralizowanych giełd: Implementacje atomic swap w UTXO to świetny sposób na umożliwienie transakcji peer-to-peer bez angażowania strony trzeciej. Funkcja atomic swap w tym przypadku jest lepsza od bezpośredniej wymiany kryptowalut między portfelami użytkowników.
  • Korzyści związane ze skalowalnością: Mechanizmy transakcyjne zapewniają, że każda transakcja jest oddzielnym zdarzeniem, co znacznie zmniejsza obciążenie obliczeniowe sieci kryptowalut.
  • Prywatność i bezpieczeństwo: Dla każdej transakcji generuje się nowe adresy, co utrudnia ich śledzenie. Promuje to prywatność i bezpieczeństwo w sieci blockchain.
  • Elastyczność: Niewydane wyniki transakcji są bardziej elastyczne niż przeciętna waluta fiat, ponieważ nie mają z góry określonych wartości. Zamiast tego można je podzielić na dowolne kwoty, dzięki czemu nadają się do różnych transakcji.

Zalety modelu

Model konsolidacji niewydanych wyników transakcji ma kilka zalet w porównaniu z innymi modelami.

Po pierwsze, jest znacznie bardziej skalowalny. Liczba transakcji przetwarzanych na sekundę jest ograniczona jedynie szybkością sieci.

Następną kluczową zaletą jest prywatność. W tym modelu nowe adresy są generowane dla każdej transakcji, co sprawia, że śledzenie pochodzenia tych transakcji jest prawie niemożliwe.

Kolejną zaletą jest to, że UTXO ułatwiają uwierzytelnianie ponieważ każde z nich można prześledzić wstecz do wejścia. Staje się to przydatne do identyfikacji wszelkich możliwych podwójnych wydatków, które mogą wystąpić.

Co więcej, model umożliwia przeprowadzanie transakcji poza łańcuchem, które są nadal bezpieczne i weryfikowalne w sieci blockchain, na przykład w celu zwiększenia skalowalności i prywatności.

Wreszcie, model zezwala na pewne rodzaje smart kontraktów (niezależnych od języka), które nie mogą działać z innymi modelami.

Wady modelu

Model ma jednak kilka wad.

Po pierwsze, może prowadzić do wyższych opłat transakcyjnych ponieważ każde UTXO musi być indywidualnie podpisane.

Po drugie, może prowadzić do gromadzenia się “pyłu”. Pył to małe ilości monet, których nie można wydać, ponieważ są mniejsze niż minimalna kwota transakcji. Jednak z czasem pył może się sumować i stać się ponownie możliwy do wydania.

Wreszcie, UTXO nie są bardzo wydajne przestrzennie. Każde z nich reprezentuje oddzielne wyjście z transakcji, a każde wyjście powinno być przechowywane oddzielnie. To stwarza znaczne wymagania dotyczące przechowywania danych, szczególnie w przypadku aplikacji obsługujących wiele transakcji.

Model UTXO w porównaniu do tradycyjnej rachunkowości

model utxo a account model

Model niewydanych danych transakcji różni się od modelu rachunkowego używanego przez banki i niektóre blockchainy jak na przykład EthereumW modelu rachunkowym wszystkie transakcje są odzwierciedlone w saldzie konta. Każda transakcja traktowana jest osobno.

W przeciwieństwie do tradycyjnych finansów, niewydane wyniki transakcji traktują walutę jako obiekt, a nie jednostkę. Każdy obiekt ma swoją historię przechowywaną na nim i może być wydany w razie potrzeby, ale własność sprawdza się tylko podczas wysyłania waluty.

Niektóre inne różnice między modelem rachunkowym a UTXO obejmują następujące elementy:

Model rachunkowy (“konta”)Model UTXO
Transakcje mają mniejsze zapotrzebowanie na pamięć Transakcje wymagają więcej przestrzeni dyskowej
Stan jest zapisywany w węzłachStan jest zapisywany w transakcjach
Mniejsze bezpieczeństwoWiększe bezpieczeństwo
Obliczanie transakcji jest skomplikowaneObliczanie transakcji jest prostsze
Większa wydajność w przypadku transakcji masowychMniejsza wydajność w przypadku transakcji masowych
Model rachunkowości a model UXTO

UTXO jako istotna część ekosystemu blockchain

UTXO zasadniczo odgrywają kluczową rolę w działaniu Bitcoina i kilku innych kryptowalut. Kiedy wysyłasz transakcję Bitcoin, niewydane dane wyjściowe transakcji sygnalizują sieci, ile cyfrowej waluty wysłałeś i otrzymałeś. To, co pozostało w portfelu Bitcoina, to właśnie UTXO. Inne blockchainy, jak np. Cardano, dalej rozwijają ten koncept i wykorzystują eUTXO – Extended UTXO. Ale to już temat na kolejny artykuł.

Najczęściej zadawane pytania

Co oznacza UTXO?

W jaki sposób odbywają się transakcje UTXO?

Dlaczego Bitcoin stosuje UTXO?

Gdzie są przechowywane UTXO Bitcoina?

Które Blockchainy używają UTXO?

Czym jest eUTXO w Cardano?

Najlepsze platformy dla krypto inwestorów | Kwiecień 2024

Trusted

Wyjaśnienie

Wszystkie informacje zawarte na naszej stronie internetowej są publikowane w dobrej wierze i wyłącznie w ogólnych celach informacyjnych. Wszelkie działania podejmowane przez czytelnika w związku z informacjami znajdującymi się na naszej stronie internetowej odbywają się wyłącznie na jego własne ryzyko.
W dziale Edukacja, naszym priorytetem jest dostarczanie najwyższej jakości sprawdzonych informacji. Poświęcamy czas na identyfikację, badanie i tworzenie treści edukacyjnych, które są przydatne dla naszych czytelników.
Aby utrzymać ten standard i nadal tworzyć niesamowite treści, nasi partnerzy mogą nagradzać nas prowizją za miejsca w naszych artykułach. Jednak te prowizje, w żaden sposób, nie wpływają na nasze procesy tworzenia bezstronnych, uczciwych i pomocnych treści.

TCPMHRYSU-U021BUZMVC0-9b6cacb5b296-512.jpg
Karol Nalepa
Tłumacz i redaktor w BeInCrypto od 2021 roku. W branży kryptowalut jest stosunkowym nowicjuszem. Aktualnie zajmuje się materiałami edukacyjnymi dla polskiej społeczności kryptowalutowej. Entuzjasta stakingu i sieci PoS.
READ FULL BIO
Sponsorowane
Sponsorowane