Co to jest UTXO? | Wyjaśniacz dla początkujących na temat wyników transakcji

Co to jest UTXO?

UTXO oznacza Wyjście niewydanej transakcji (TX). Zasadniczo jest to kwota pozostałej zmiany kryptowaluty, którą otrzymujesz z każdej transakcji. Aby jednak dalej wyjaśnić, powinniśmy najpierw rozbić, jak działa typowa transakcja kryptograficzna. Użyjmy w naszym przykładzie Bitcoina, ponieważ jest to najbardziej znana kryptowaluta wykorzystująca UTXO.

Przykład transakcji UTXO

Kiedy patrzysz na swój portfel Bitcoin, widzisz saldo. W tym przykładzie ustawmy to na 100 bitcoinów. Chociaż obserwujesz tylko jeden saldo, twoje fundusze się składają kilka UTXOs. Możesz mieć cztery UTXO o wartości 25 bitcoinów każdy, dwa UTXO o wartości 50 lub zestaw UTXO o wartości 37, 18, 40 i 5 bitcoinów. Konkretne kwoty nie mają znaczenia, ale muszą się sumować do całkowitego salda, w tym przypadku 100.

Kontynuując przykład, załóżmy, że szukasz nowego samochodu. Ciężko pracujesz; zasługujesz na to. Łamiąc stereotyp Lambo, decydujesz się na Porche, który kosztuje 35 bitcoinów. Twój portfel zawiera tylko UTXO równe 15, 17, 28 i 40 bitcoinów każdy. Nie masz takiego, którego wartość wynosi dokładnie 35 bitcoinów.

Nie można podzielić UTXO, więc nie ma możliwości zapłacenia dokładnie 35 bitcoinów, które jesteś winien.

Zamiast tego wydajesz 40 bitcoinów UTXO. W jej miejsce sieć wykuwa dwa nowe UTXO: jeden o wartości 35 bitcoinów i jeden o wartości 5 bitcoinów. Salon samochodowy otrzymuje 35 bitcoin UTXO, podczas gdy ty otrzymujesz 5 bitcoin UTXO jako reszta.

Możesz również wydać 17 i 28 bitcoinów UTXO i otrzymać 10 bitcoinów jako swoją zmianę. Transakcja może wykorzystywać dowolną kombinację UTXO; jednak nie masz kontroli nad tym, które z nich.

Tak jak możesz podzielić UTXO na oddzielne instancje, możesz również łączyć je w większe transakcje, tworząc mniej z nich w sieci.

Co z opłatami transakcyjnymi?

Opłaty transakcyjne są również uwzględniane w transakcjach i odejmowane od UTXO, które otrzymujesz jako zmianę. Równanie wygląda mniej więcej tak:

Nowy UTXO = (Suma UTXO w transakcji) – (Kwota transakcji) – (Opłata transakcyjna)

Kontynuując nasz najnowszy przykład z jedną opłatą transakcyjną za bitcoin:

Nowy UTXO = (17 + 18) – (35) – (1) = 9 bitcoinów

Znaczenie i potencjalne problemy UTXO

Wdrożenie UTXO znacznie upraszcza metody księgowe w łańcuchu bloków. Zamiast śledzić i przechowywać każdą pojedynczą transakcję, po prostu musimy śledzić niewydane monety, znane również jako UTXO.

Widzisz, każdą monetę w ekosystemie Bitcoin można wydać tylko raz. Tak więc każdy bitcoin w portfelu jest teraz niewydany, ponieważ:

  1. Górnik otrzymał to jako nagrodę za wydobycie lub
  2. Został wybity podczas transakcji. (Pamiętasz nasz przykład z wcześniejszego?)

UTXO odgrywają kluczową rolę w zapobieganiu atakom z podwójnymi wydatkami i powstrzymują Cię przed wydawaniem monet, które nie istnieją. Węzły sieciowe rejestrują i utrzymują bazę danych zawierającą wszystkie UTXO (tj. Niewydane monety) dostępne do wydania. Jeśli spróbujesz wysłać transakcję za pomocą monety, której nie ma w tej bazie danych, węzły ją odrzucą.

Potencjalne problemy z pamięcią masową

Węzły przechowują bazę danych UTXO w pamięci RAM, dlatego ważne jest, aby zestaw danych miał rozsądny rozmiar. Wraz ze wzrostem rośnie koszt uruchomienia pełnego węzła. Jeśli uruchomienie pełnego węzła stanie się zbyt kosztowne, możemy zobaczyć dalszą centralizację w sieci Bitcoin wśród nielicznych bogatych, których stać na ich prowadzenie.

Rozmiar bazy danych Bitcoin UTXO w czasie za pośrednictwem Blockchain

Rozmiar bazy danych Bitcoin UTXO w czasie za pośrednictwem Blockchain

Ryzyko centralizacji jest jednym z głównych argumentów przeciwko zwiększaniu rozmiaru bloku Bitcoin. Deweloper Bitcoin, Gavin Andresen, opisuje to najlepiej w jego artykuł UTXO uh-oh…:

„Jeden megabajtowy blok to miejsce na około 100 milionów 500-bajtowych transakcji rocznie. Gdyby każdy z nich zwiększył zestaw UTXO o 500 bajtów, spowodowałoby to wzrost zestawu UTXO o 50 gigabajtów rocznie ”.

Rozmiar jednego megabajta bloku wyznacza górną granicę w zakresie, w jakim baza danych UTXO może rosnąć każdego roku. On kontynuuje:

„Zezwolenie na więcej transakcji bez innych zmian najprawdopodobniej przyspieszyłoby wzrost zestawu UTXO, sprawiając, że uruchomienie w pełni weryfikującego węzła byłoby droższe i szybsze”.

Tylko po to, by nie uciskać słów Andresena: Jego artykuł faktycznie opowiada się za zwiększeniem rozmiaru bloku. Twierdzi, że wpływ na rozmiar zestawu UTXO nie jest drastyczny, jak uważają inni. Biorąc pod uwagę złożoność rozwiązań skalowania drugiej warstwy, musimy wdrożyć większe bloki w najbliższym czasie, zanim te rozwiązania zostaną wprowadzone w dłuższej perspektywie.

Rozwiązania

Na szczęście istnieje kilka rozwiązań potencjalnych problemów z pamięcią masową. Po pierwsze, węzły nie muszą przechowywać całej bazy danych UTXO w pamięci RAM. Mogą zdecydować się na przechowywanie jego części na tańszym dysku półprzewodnikowym (SSD) lub wirującym dysku twardym. Chociaż te typy pamięci masowej prowadzą do wolniejszych czasów weryfikacji dla każdego węzła, nie powinno być problemu, o ile nadal znajdują się poniżej 10 minut średniego czasu blokowania.

Dodatkowo programiści Bitcoin stale ulepszają mechanizmy transakcyjne, aby zoptymalizować bazę danych UTXO.

Wreszcie Segregated Witness (Segwit) i podobne rozwiązania skalujące pośrednio spowalniają wzrost bazy danych UTXO. Ciągnięcie bezpośrednio z Dokumentacja Bitcoin Core:

„Segwit poprawia sytuację, tworząc dane sygnatur, które nie mają wpływu na rozmiar zestawu UTXO, kosztują o 75% mniej niż dane, które mają wpływ na rozmiar zestawu UTXO. Oczekuje się, że zachęci to użytkowników do faworyzowania transakcji, które minimalizują wpływ na zestaw UTXO w celu zminimalizowania opłat oraz zachęci programistów do projektowania inteligentnych umów i nowych funkcji w sposób, który również zminimalizuje wpływ na zestaw UTXO. ”

Wniosek: alternatywy UTXO?

W naszym przykładzie konsekwentnie używaliśmy dziś Bitcoin, ale istnieje wiele innych kryptowalut, które wdrażają UTXO, w tym między innymi Bitcoin Cash, Litecoin i Komodo.

Istnieje również wiele innych kryptowalut, które wykorzystują inne mechanizmy księgowe. Na przykład Ethereum ma model transakcji oparty na koncie. Ten mechanizm ogólnie zapewnia większą oszczędność miejsca i prostszy kod do pracy; Jednak tracisz poziom prywatności transakcji i napotykasz potencjalne problemy ze skalowalnością.

Jeśli zapytasz grupę dziesięciu programistów kryptograficznych o najlepsze metody księgowania, prawdopodobnie otrzymasz dziesięć różnych odpowiedzi. Jest to gorący temat w całej społeczności, który wciąż nie ma idealnego rozwiązania. I ze względu na złożoność prawdopodobnie nigdy nie będzie.

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