
eUTXO, czyli rozszerzone niewydane wyjścia transakcji, oferują odmienny sposób tworzenia inteligentnych kontraktów i budowania dApps na blockchainach podobnych do Bitcoina. Model eUTXO jest zasadniczo różny od modelu opartego na kontach Ethereum oraz wielu innych łańcuchów inteligentnych kontraktów, a także ma różne zalety i kompromisy.
Czym jest UTXO?
UTXO to niewydane wyjście transakcji, czyli blok monet, które są wynikiem transakcji i które nie zostały następnie wydane przez adres odbiorcy. UTXO są ważnym pojęciem dla Bitcoina i podobnych blockchainów, w tym Ergo.
W takich systemach saldo adresu nie jest przechowywane na blockchainie jako jedna wartość. Zamiast tego jest to suma zbioru indywidualnych, wydawalnych „wyjść” z transakcji do adresu, z których każde reprezentuje określoną ilość monet. Te indywidualne wyjścia to UTXO.
Jak działają UTXO?
UTXO są sposobem śledzenia sald na blockchainie. Kiedy użytkownik inicjuje transakcję, zasadniczo wydaje jedno lub więcej UTXO, które kontroluje w swoim portfelu. Wyjścia transakcji tworzą nowe UTXO dla odbiorców, a potencjalnie „resztę” salda UTXO dla nadawcy, jeśli coś zostanie.
Na przykład, Alice chce wysłać Bobowi 20 ERG. Jej adres zawiera UTXO o wartościach 15, 10, 7, 6 i 3 ERG. Wybiera UTXO o wartościach 15 i 6 ERG (ważne jest, aby zauważyć, że ten krok jest zazwyczaj obsługiwany automatycznie przez portfel kryptograficzny, ale można go wykonać ręcznie) i wysyła 20 ERG do Boba. Bob ma teraz UTXO o wartości 20 ERG w swoim portfelu, a Alice otrzymuje „resztę” w postaci UTXO o wartości 1 ERG.
Alice mogła połączyć dowolną liczbę UTXO, które łącznie wynoszą co najmniej 20 ERG, aby wysłać do Boba, ale im więcej UTXO jest używanych, tym większa ilość danych musi być przechowywana na blockchainie, a wyższa opłata transakcyjna.
UTXO wysyłane w transakcjach są uważane za niewydane, dopóki nie zostaną użyte w przyszłej transakcji. W tym momencie stają się częścią nowego UTXO.
UTXO są więc trochę jak koperty z pieniędzmi. Użytkownik może posiadać wiele takich kopert i może je łączyć w transakcjach. Każda nowa reszta (fundusze w nadmiarze w stosunku do kwoty transakcji) wynikająca z transakcji trafia do nowej koperty i jest zatrzymywana przez nadawcę.
Użytkownicy płacą również niewielką opłatę transakcyjną górnikom, która jest po prostu różnicą między całkowitym wejściem a całkowitymi wyjściami, w tym resztą. (Na Ergo zazwyczaj wynosi to 0.0011 ERG za prostą transakcję.)
Każda moneta na blockchainie należy więc do UTXO. Każdą monetę można prześledzić przez wcześniejsze bloki monet UTXO, aż do transakcji, w której po raz pierwszy powstała (tj. kiedy została wydobyta).
W ten sposób blockchainy podobne do Bitcoina śledzą salda i zapewniają niezawodność transakcji. Każda transakcja musi odnosić się do ważnych i niewydanych UTXO, aby być uznana za legalną. Model UTXO zapewnia przejrzystość i pozwala każdemu niezależnie weryfikować własność i ważność bitcoinów poprzez inspekcję blockchaina.
UTXO reprezentują więc fundamenty własności i transakcji w systemach podobnych do Bitcoina.
Czym jest model oparty na kontach?
Główną alternatywą dla modelu UTXO jest podejście oparte na kontach. Jest ono używane przez wiele blockchainów, w tym Ethereum. Model oparty na kontach działa w zupełnie inny sposób niż łańcuchy UTXO w celu śledzenia stanu blockchaina.
Jak działa model oparty na kontach?
W blockchainie opartym na kontach transakcje są zarządzane przez konta powiązane z adresami. Każdy użytkownik ma konto z saldem, podobnie jak konto bankowe ma saldo, a transakcje polegają na obciążaniu i uznawaniu tych sald.
Stan księgi jest aktualizowany, aby odzwierciedlić zmiany w saldach kont po wykonaniu transakcji. Ten model daje bardziej szczegółową kontrolę nad saldami użytkowników (ponieważ nie ma potrzeby wyjść resztowych), ale ma różne właściwości oraz różne zalety i wady.
UTXO vs Konta: Zalety i Wady
Jak w każdym systemie, istnieją zalety i wady korzystania z modelu UTXO lub podejścia opartego na kontach.
Zalety modelu UTXO:
- Uproszczone śledzenie stanu: Każde UTXO reprezentuje określoną ilość kryptowaluty i jej własność, co sprawia, że śledzenie stanu blockchaina jest proste.
- Prywatność: Model UTXO może zwiększyć prywatność, jeśli jest używany prawidłowo, ponieważ poszczególne transakcje nie są bezpośrednio powiązane z tożsamościami użytkowników.
- Równoległe przetwarzanie: UTXO mogą być przetwarzane równolegle, co umożliwia szybszą weryfikację i walidację transakcji, co potencjalnie przyczynia się do skalowalności.
- Jasne śledzenie własności: Łatwo jest prześledzić pochodzenie i aktualnego posiadacza określonej ilości monet.
- Zmniejszenie bloatu blockchaina: Ponieważ wydane UTXO są usuwane z zestawu UTXO, korzystanie z modelu UTXO może pomóc w zmniejszeniu bloatu blockchaina, prowadząc do bardziej efektywnego przechowywania.
Wady modelu UTXO:
- Wyzwania związane z skryptowaniem: Z powodu natury modelu UTXO, skryptowanie działa inaczej niż na platformach opartych na kontach, więc może być trudniej budować dApps, jeśli deweloperzy są przyzwyczajeni do bardziej konwencjonalnego podejścia.
- Mniej wyraziste inteligentne kontrakty: Prostota modelu UTXO może ograniczać złożoność inteligentnych kontraktów, chociaż istnieją sposoby, aby to obejść.
- Skalowalność: W miarę wzrostu liczby UTXO przechowywanych na blockchainie mogą pojawić się wyzwania związane ze skalowalnością.
- Wykorzystanie zasobów: Model UTXO może prowadzić do mniej efektywnego wykorzystania zasobów, ponieważ wydawanie monet wiąże się z konsumowaniem całych UTXO, nawet jeśli kwota transakcji jest niska.
Czym są eUTXO?
Jak omówiono powyżej, w standardowym modelu UTXO (takim jak używa Bitcoin), każda transakcja wymaga istniejących UTXO jako wejścia i tworzy nowe UTXO jako wyjścia.
Rozszerzony model UTXO lub model „eUTXO” rozwija tę koncepcję, pozwalając UTXO zawierać dodatkowe informacje, takie jak złożone skrypty lub logikę inteligentnych kontraktów.
Korzyścią z tego podejścia jest to, że użytkownicy mogą nadal cieszyć się zaletami modelu UTXO, w tym bezpieczeństwem i prostotą, ale platforma może również zapewniać możliwości inteligentnych kontraktów. Cardano to jeden z dobrze znanych blockchainów, który wykorzystuje model eUTXO do umożliwienia inteligentnych kontraktów w swojej sieci. Ergo to kolejny przykład.
Jak działają eUTXO?
Model eUTXO rozszerza standardowy model monet UTXO na dwa sposoby:
- Adresy mogą zawierać dodatkową logikę w skryptach, które dostarczają dalsze warunki i informacje. Kiedy transakcja jest wydobywana przez węzeł, węzeł sprawdza i wykonuje skrypt, jeśli warunki są spełnione.
- Wyjścia mogą zawierać dodatkowe dane, co pozwala na bardziej potężne i elastyczne skrypty.
Wszystko to pozwala na złożoną logikę, która może zawierać wiele różnych warunków i informacji. Ta arbitralna logika jest stosowana do transakcji przez walidatora i przetwarzana, jeśli transakcja ma prawo użyć danego wejścia.
Zalety i wady eUTXO
Jak można zobaczyć z powyższego przeglądu, korzystanie z UTXO jako podstawy dla inteligentnych kontraktów ma różne implikacje. Niektóre z nich oferują znaczące zalety w porównaniu do inteligentnych kontraktów opartych na kontach, ale jak w każdym systemie, istnieją kompromisy.
Jedną z cech modelu eUTXO jest to, że transakcja jest walidowana wyłącznie na podstawie samej transakcji i jej wejść, bez potrzeby wymagania czegokolwiek innego na blockchainie. Interesującą i użyteczną implikacją tego jest to, że transakcja może być sprawdzana pod kątem ważności poza łańcuchem przed jej wysłaniem do walidacji. Po jej sprawdzeniu transakcja będzie gwarantowana jako udana (o ile inna transakcja nie skonsumowała jej wejść w międzyczasie). eUTXO są więc bardziej przewidywalne i niezawodne niż transakcje inteligentnych kontraktów opartych na kontach, które mogą nie powieść się podczas przetwarzania. Na przykład na Ethereum możliwe jest, że transakcja zużyje znaczną ilość gazu i nadal się nie powiedzie, kosztując użytkownika bez żadnych korzyści.
Inną implikacją tej niezawodności jest to, że wszystkie opłaty wymagane dla transakcji mogą być również obliczane przed złożeniem transakcji. Systemy oparte na kontach, takie jak Ethereum, są nieokreślone, co oznacza, że nie tylko transakcja może się nie powieść, ale nawet jeśli się powiedzie, dokładny koszt nie jest znany. W modelu eUTXO opłaty są z góry określone i przewidywalne.
Prywatność ma tendencję do bycia lepsza w modelu eUTXO, a logika transakcji ma tendencję do bycia prostsza, ponieważ UTXO może być konsumowane tylko raz (i w całości). Podnosi to również możliwość równoległego przetwarzania, ponieważ wiele UTXO może być przetwarzanych obok siebie (o ile nie próbują użyć tego samego wejścia UTXO). Zakres możliwych wyników jest znacznie bardziej ograniczony niż w systemie opartym na kontach, co sprawia, że wykonanie jest bardziej przewidywalne i bezpieczne.
Wobec tego model eUTXO jest dość różny od modelu opartego na kontach, z którym większość deweloperów jest zaznajomiona (ponieważ Ethereum przyjmuje to podejście). dApps, które zostały stworzone dla Ethereum i podobnych blockchainów, nie mogą być łatwo dostosowane do użycia na platformach eUTXO.
Kluczowe różnice między eUTXO, UTXO a modelem opartym na kontach
UTXO reprezentują proste niewydane wyjścia, które mogą być używane w nowych transakcjach. Jest to prosty, bezpieczny model księgowy używany przez blockchain pierwszej generacji: Bitcoin.
eUTXO rozszerzają to podejście i uogólniają je, aby walidatorzy mogli podejmować decyzje o tym, czy UTXO jest wydane na podstawie szerokiego zakresu warunków – umożliwiając budowanie dalekosiężnych i wyrazistych inteligentnych kontraktów, przy jednoczesnym zachowaniu prostoty i bezpieczeństwa fundamentu UTXO.
Wykonywanie inteligentnych kontraktów w systemie opartym na kontach może być bardziej skomplikowane i potencjalnie mniej bezpieczne, z powodu sposobu, w jaki dane są przechowywane i wprowadzane zmiany.
W systemie eUTXO monety UTXO są albo wydane, albo nie w całości. W systemie opartym na kontach każde konto jest zmienne, a inteligentne kontrakty mogą modyfikować swój stan podczas wykonywania. Może to prowadzić do złożonych i czasami trudnych do przewidzenia interakcji między różnymi kontraktami. Zmiany w stanie jednego inteligentnego kontraktu mogą wpływać na inne, więc mogą występować potencjalne konflikty, które należy wziąć pod uwagę. To nie jest możliwe w modelu eUTXO. Ponieważ UTXO są niezależne, są izolowane, a wykonanie inteligentnych kontraktów jest bardziej deterministyczne i bezpieczne - zmiany w jednej części księgi nie wpływają bezpośrednio na inne. Warunki wydania są jasne i łatwe do weryfikacji. Podobnie, obliczenie gazu jest znane i przewidywalne.
Wobec tego blockchainy oparte na kontach zazwyczaj oferują większą elastyczność dla złożonych inteligentnych kontraktów i zdecentralizowanych aplikacji, ponieważ rozwój jest zazwyczaj prostszy, a kontrakty mogą łatwo uzyskiwać dostęp i wchodzić w interakcje z innymi kontraktami - chociaż wiąże się to z większym ryzykiem i możliwością wprowadzenia niezamierzonych luk. Podejście oparte na eUTXO jest często preferowane, przy równych warunkach, dla niektórych typów dApp.
Podsumowanie
eUTXO oferują zasadniczo inny sposób podejścia do inteligentnych kontraktów i zdecentralizowanych aplikacji niż dominujący model oparty na kontach. Chociaż w niektórych aspektach może wydawać się bardziej ograniczony, model eUTXO jest ogólnie bezpieczniejszy i bardziej przewidywalny, eliminując niektóre z najpoważniejszych luk związanych z inteligentnymi kontraktami.
Share post
13 sierpnia 2025
12 maja 2025






