Budowanie Ergo: UTXO vs Konto
3 marca 2020

Ergo wykorzystuje najbardziej bezpieczne i najlepiej ugruntowane cechy Bitcoina i wdraża zaawansowane nowe funkcje kryptograficzne na swoich solidnych fundamentach. Ta seria bada wybory, które podjęliśmy przy tworzeniu Ergo, a pierwszy artykuł omawia zalety modelu UTXO.
Kiedy masz do czynienia z wartością finansową, nie możesz sobie pozwolić na ryzyko. Każda decyzja architektoniczna w platformie kryptowalutowej ma swoje konsekwencje. Chociaż istnieją różne sposoby rozwiązania tego samego problemu, niektóre rozwiązania są lepiej przetestowane i bardziej niezawodne niż inne.
Podobnie jak Bitcoin, Ergo korzysta z modelu ‘UTXO’ (niewydane wyjścia transakcji), a nie z modelu Konta, który jest używany przez platformy takie jak Ethereum. Istnieje wiele powodów, dla których podjęliśmy tę decyzję, ale najpierw warto wyjaśnić, jak działa model UTXO lub ‘Box’.
Większość ludzi myśli, że saldo konta to prosty numer, który jest aktualizowany, gdy wysyłasz lub otrzymujesz środki. To oczywiste podejście do problemu; w końcu tak właśnie działa pieniądz w prawdziwym świecie. Twoje konto bankowe ma saldo, które jest zwiększane lub zmniejszane, gdy dokonuje się różnych przelewów. Tak działa model ‘Konta’: twoje saldo na blockchainie jest zmieniane przez transakcje do i z konta.
Ile ciasta?
Model UTXO, zapoczątkowany przez Bitcoina, jest zupełnie inny. Możesz to sobie wyobrazić jak osobę trzymającą serię kawałków ciasta chlebowego. Ich saldo to suma tych kawałków, czyli UTXO. Kawałki mogą być dzielone lub łączone, zanim zostaną wysłane na nowy adres, ale zawsze wiesz, skąd pochodzą. Na przykład:
Alice ma 100g ciasta chlebowego (100 ERG). Odrywa kawałek 75g i daje go Bobowi, zatrzymując 25g ‘reszty’ dla siebie.
Charlie ma 250g ciasta. Odrywa 150g i daje je Bobowi, zatrzymując 100g reszty dla siebie.
Bob odrywa 20g ciasta z 150g kawałka, który otrzymał od Charliego, i łączy powstałe 130g z 75g, które otrzymał od Alice. Daje łącznie 205g Dave'owi, zatrzymując 20g reszty dla siebie.
Dave ma teraz 205g ciasta chlebowego, które wcześniej należało do Charliego. Zanim Charlie je miał, 75g należało do Alice, a 130g do Boba.
W modelu UTXO ‘kawałki’ monet mogą być łączone i dzielone, ale w przeciwieństwie do ciasta chlebowego, nie są mieszane. Możesz śledzić historię funduszy aż do transakcji coinbase, w której te monety zostały po raz pierwszy wydobyte. To bardzo różni się od modelu Konta, gdzie saldo każdego konta jest po prostu zmieniane. (Oczywiście możesz sprawdzić blockchain, aby upewnić się, że Konto mówi to, co powinno, ale nie jest to konieczne, jak ma to miejsce w podejściu UTXO.)
Dlaczego UTXO?
Model UTXO ma kilka konsekwencji. Po pierwsze, każdy obiekt jest niezmienny – kawałki monet nie mogą być ‘edytowane’ tak, jak saldo Konta jest edytowane, gdy dokonuje się transakcji. Saldo jest obliczane na podstawie historii transakcji, aż do momentu, w którym te monety po raz pierwszy powstały.
To znacznie upraszcza bezpieczeństwo, ponieważ albo UTXO istnieje w formie, której się spodziewasz, albo w ogóle nie istnieje. W modelu konta musisz dokładnie sprawdzić, czy konto, z którym się zajmujesz, jest w stanie, w jakim powinno być (a deweloperzy zazwyczaj nie robią tego poprawnie). To również sprawia, że UTXO są bardziej przyjazne dla protokołów offchain, takich jak sidechainy i Lightning Network.
Konta ułatwiają przechowywanie ‘stanu’, ale łatwość nie zawsze oznacza lepszą jakość. Dzięki rozszerzonemu modelowi UTXO w Ergo, przejścia stanu są bardziej wyraźne, a więc są czystsze – nie ma niechcianych niespodzianek. Może być to trochę bardziej uciążliwe w obsłudze, ale jest znacznie lepsze i bardziej przejrzyste pod względem bezpieczeństwa.
Share post
13 sierpnia 2025
12 maja 2025






