Niewydane transakcje Ouput: kompletny przewodnik dla początkujących po UTXO

Podczas wysyłania / odbierania bitcoinów być może widziałeś termin „niewykorzystane wyniki transakcji” lub jego akronim UTXO i zastanawiałeś się, co to do cholery jest?

Zasadniczo jest to Twoja zmiana w stosunku do dowolnej transakcji Bitcoin lub innej transakcji kryptowalutowej.

W tym poście podam wszystko, co musisz wiedzieć o niewydanych transakcjach i jak możesz ich użyć do odczytania łańcucha bloków.

Ale najpierw, aby lepiej zrozumieć UTXO i jego działanie, oto przykład transakcji kryptowalutowej, z wykorzystaniem najbardziej znanego Bitcoina jako krypto.

Przykład UTXO

Jeśli posiadasz jakiekolwiek Bitcoiny, zobaczysz dokładne saldo, gdy zajrzysz do swojego portfela. Jednak równowaga, którą widzisz, może składać się z kilku UTXO. Powiedzmy, że Twoje saldo Bitcoin wynosi 10 BTC.

Może to być 5 UTXO o wartości 2 BTC każdy, może to być 10 UTXO o wartości 1 BTC każdy, lub mogą to być cztery UTXO o wartościach 3,5 BTC, 2,5 BTC, 2,25 BTC i 1,75 BTC. Kwoty każdego UTXO nie mają znaczenia, ale muszą sumować się do całkowitego salda, w tym przypadku 10 BTC.

Więc teraz powiedzmy, że robisz zakupy na Amazon i będziesz płacić saldo BTC (hipotetyczny przyszły zakup Amazon Bitcoin). Twoja suma wynosi 0,25 BTC, ale nie masz w portfelu UTXO 0,25 BTC i nie można podzielić UTXO.

Przykład UTXO Bitcoin

Przykład transakcji Bitcoin z niewydanym wyjściem. Obrazy z Shutterstock i Amazon

Zamiast tego portfel wyśle ​​1,75 BTC UTXO, a sieć Bitcoin weźmie to i wybije dwa nowe UTXO. Jeden zostanie wyceniony na 0,25 BTC i przejdzie do portfela odbiorczego Amazon, a drugi zostanie wyceniony na 1,5 BTC i wróci do Twojego portfela jako zmiana.

Może twój portfel ma kilka UTXO 0,1 BTC. Byłoby również możliwe połączenie trzech z tych UTXO i otrzymanie 0,05 BTC jako zmiana. Zasadniczo każda transakcja może wykorzystywać dowolną kombinację UTXO, ale nie możesz kontrolować, które z nich są używane.

Dzieje się tak, ponieważ Twój portfel decyduje, którego UTXO użyć w dowolnej transakcji i automatycznie przesyła wszelkie zmiany z powrotem do Twojego portfela. To właściwie dobra rzecz, ponieważ w przeszłości wymagano od Ciebie określenia, gdzie miała zostać dostarczona Twoja zmiana UTXO.

Jeśli błędnie wpiszesz adres portfela, Twoja zmiana może zostać wysłana gdzie indziej i nie będziesz miał szczęścia.

Jak obsługiwane są opłaty za transakcje?

Opłaty transakcyjne są w rzeczywistości pobierane z UTXO, które jest wysyłane z powrotem jako reszta. Tak więc w powyższym przykładzie 1,5 BTC UTXO odesłane do Ciebie byłoby w rzeczywistości nieco mniejsze, ponieważ opłata transakcyjna byłaby pobierana z tego UTXO.

Praktyczne przykłady

Oczywiście najważniejszym aspektem dla Ciebie jest sposób korzystania z odczytu danych UTXO w łańcuchu bloków. Zanim to zrobisz, musisz wybrać preferowanego ekspolorera blockchain.

Gdy masz już eksploratora bloków, możesz dokładniej przyjrzeć się każdej transakcji, którą wysłałeś lub masz otrzymać. Na przykład poniżej przedstawiono transakcję o wartości 36 USD.

UTXO Blockchain.com

Przykład wydanego UTXO & niewydane transakcje w dniu blockchain.com

Jak widać, całkowity wkład w transakcję wynosi 45,19 $. Istnieją dwa wyjścia, które są wydatkami w wysokości 36,13 USD (przechodząc do 1MfLb95r8jUMBbYjh3cJFGs5oLn4nP8w98) i 9,02 niewydanymi danymi wyjściowymi, które są odsyłane z powrotem.

Możesz się zastanawiać, dlaczego niewydana kwota wraca na nowy adres?

Dzieje się tak, ponieważ niewykorzystane dane wyjściowe transakcji są wysyłane do tak zwanego „zmiana adresu„. To nowy adres, który jest tworzony dla nadawcy przez portfele.

Jak wspomniano powyżej, opłata transakcyjna jest odejmowana od niewykorzystanej kwoty transakcji, która jest wysyłana do Ciebie. Tak więc w rzeczywistości każda transakcja będzie miała dwie transakcje.

W dzisiejszych czasach nowoczesne portfele Hierarchical Deterministic (HD) są w stanie obsłużyć te transakcje i automatycznie wygenerować adres zmiany. Dlatego czasami zauważysz, że za każdym razem po zainicjowaniu transakcji generowany jest nowy adres.

Jest to funkcja wbudowana w te portfele HD, która ma na celu zapewnienie prywatności. Więc następnym razem, gdy zauważysz zmianę adresu, będziesz wiedział, że jest to związane z nowym UTXO wchodzącym na twój zmienny adres.

Znaczenie koncepcji UTXO

Koncepcja UTXO pomogła radykalnie uprościć księgowanie w łańcuchu bloków. Zamiast śledzić i przechowywać każdą pojedynczą transakcję, jaka kiedykolwiek została dokonana, przy użyciu UTXO, każdy węzeł musi tylko śledzić informacje o niewydanych monetach lub UTXO.

Model Bitcoin UTXO

W jaki sposób sieć Bitcoin śledzi transakcje. Zdjęcie za pośrednictwem bitcoin.org

To działa, ponieważ sieć Bitcoin pozwala na wydanie każdej monety tylko raz. Oznacza to, że każdy BTC znajdujący się w portfelu jest niewydany, ponieważ został odebrany jako nagroda za wydobycie lub został wybity podczas transakcji jako zmiana.

Koncepcja UTXO ma kluczowe znaczenie w zapobieganiu podwójnemu wydatkowaniu na łańcuch bloków, a także uniemożliwia użytkownikom wydawanie nieistniejących monet. Każdy węzeł sieci utrzymuje bazę danych zawierającą wszystkie istniejące UTXO. Oznacza to, że każda transakcja wysłana monetą, której nie ma w bazie danych, zostanie odrzucona przez węzły.

Potencjalne problemy z magazynowaniem węzłów

Cała baza danych UTXO jest przechowywana w pamięci RAM, co sprawia, że ​​niezwykle ważne jest utrzymywanie zbioru danych w rozsądnym rozmiarze. Im większa baza danych, tym droższa jest obsługa pełnego węzła. A jeśli uruchomienie pełnego węzła stanie się zbyt kosztowne, w sieci nastąpi wzrost centralizacji wśród bogatej mniejszości, której stać na prowadzenie węzła.

W rzeczywistości to właśnie ryzyko centralizacji powstrzymało programistów Bitcoin przed zwiększeniem rozmiaru bloku. Utrzymując rozmiar bloku na poziomie 1Mb, ogranicza wzrost bazy danych, ponieważ istnieje ograniczona liczba transakcji i ograniczony zestaw UTXO. Zwiększenie rozmiaru bloku spowodowałoby, że zestaw UTXO odpowiednio szybko się rozrósł, a uruchomienie pełnego węzła stałoby się droższe.

Wzrost Bitcoin UTXO

Rozwój UTXO w łańcuchu bloków Bitcoin od momentu powstania. Zdjęcie za pośrednictwem blockchain.com

To powiedziawszy, konieczne będzie zwiększenie rozmiaru bloku Bitcoin, aby umożliwić stosowanie rozwiązań skalowania drugiej warstwy. Ale są też inne zmiany, które można wprowadzić, aby zminimalizować wpływ rosnącego rozmiaru zestawu UTXO.

Node Storage Solutions

Jak wspomniano powyżej, istnieją rozwiązania problemu magazynowania węzłów w miarę powiększania się zbioru danych UTXO. Pierwszym rozwiązaniem jest przechowywanie części zbioru danych na dysku twardym, a nie w pamięci RAM.

To radykalnie zwiększa rozmiar pamięci, chociaż niska prędkość przechowywania na dysku twardym prowadzi do wolniejszego sprawdzania poprawności transakcji. Jednak rozwiązanie to będzie akceptowalne, o ile czasy walidacji będą mniejsze niż dziesięciominutowy średni czas blokowania.

Ponadto zespół programistów Bitcoin nadal wprowadza ulepszenia, które optymalizują bazę danych UTXO. Plus Segregated Witness i inne rozwiązania skalujące faktycznie spowalniają wzrost zbioru danych UTXO pośrednio.

Jednym ze sposobów rozwiązania problemu UTXO przez Segwit jest zmniejszenie o 75% kosztów danych podpisu. Jest to ważne, ponieważ dane podpisu nie mają wpływu na rozmiar zbioru danych UTXO, a dzięki znacznemu obniżeniu jego kosztów użytkownicy będą zachęcani do korzystania z transakcji, które nie zwiększają rozmiaru zbioru danych UTXO.

Zachęca również programistów do projektowania inteligentnych kontraktów i innych nowych funkcji w sposób, który nie będzie miał wpływu na rozmiar zbioru danych UTXO.

Wniosek

Chociaż użyłem Bitcoina do dyskusji na temat UTXO, nie jest to jedyny blockchain, który korzysta z UTXO. Inne kryptowaluty wykorzystujące metodę UTXO to Litecoin i Bitcoin Cash.

Wiele kryptowalut możemy znaleźć również przy użyciu innych metod księgowania, takich jak Ethereum. Ma model transakcji oparty na koncie, który nie korzysta z UTXO. Ta metoda zapewnia sieci Ethereum prostszą bazę kodu i lepsze środki oszczędzania miejsca.

Są jednak kompromisy. Jednym z nich jest do pewnego stopnia utrata prywatności transakcji i potencjalne problemy ze skalowalnością mogą pojawić się w późniejszym okresie życia łańcucha bloków.

Pod koniec dnia metoda księgowania UTXO działa dla Bitcoin i innych kryptowalut. Metody księgowe są w rzeczywistości bardzo ważnym i bardzo dyskutowanym tematem wśród programistów blockchain i jeśli zapytasz dziesięciu programistów o najlepsze metody rozliczania dla rejestrów blockchain, prawdopodobnie otrzymasz dziesięć różnych odpowiedzi.

Nie ma idealnej odpowiedzi na pytanie o metody księgowe i podobnie jak kwestia skalowalności jest na tyle złożona, że ​​nie ma szans na znalezienie idealnego rozwiązania. Zamiast tego programiści będą nadal korzystać z rozwiązania, które działa najlepiej dla ich łańcucha blokowego, aw wielu przypadkach będzie to nadal metoda UTXO.

Wyróżniony obraz za pośrednictwem Fotolia

Mike Owergreen Administrator
Sorry! The Author has not filled his profile.
follow me