Angielska nazwa #UTXO to Niewydane dane wyjściowe transakcji, co jest tłumaczone jako „Niewydane dane wyjściowe transakcji”. Należy powiedzieć, że podstawową koncepcją transakcji Bitcoin i podstawowym punktem wiedzy o transakcji jest UTXO, dlatego w tym artykule porozmawiamy o tym UTXO.

Składniki transakcji

W Bitcoinie nie ma koncepcji konta. Tak zwane saldo adresu jest w rzeczywistości obliczane poprzez zliczenie wszystkich transakcji związanych z tym adresem. Skupmy więc mikroskop i najpierw przyjrzyjmy się, jakie elementy wchodzą w skład transakcji.


Pierwszym elementem jest wejście, czyli wejście. Po pierwsze, nie wszystkie oferty to mają. Na przykład każdy blok zawiera specjalną transakcję autonomiczną przez górników, czyli tzw. transakcję coinbase. Jest to transakcja bez wkładu. W tej transakcji pewna ilość Bitcoinów jest bezpośrednio przekazywana górnikowi, który wyprodukował ten blok. Z wyjątkiem tego szczególnego przypadku, wszystkie inne transakcje mają dane wejściowe. Na przykład, jeśli Xiao Ming chce przesłać 1 Bitcoin do Xiao Gang, jaki powinien być wkład tej transakcji? Są to pewne transakcje powiązane z adresem Xiao Minga. Mówiąc dokładniej, są to niewykorzystane dane wyjściowe transakcji należące do adresu Xiao Minga zawartego w tych transakcjach, czyli w formacie UTXO.

Naturalnie zatem wkraczamy w drugi element, czyli fakt, że transakcja powinna uwzględniać dane wyjściowe. „Wyjście” to termin nazywany w języku angielskim Wyjściem. W transakcji, w której Xiao Ming przekazuje jeden Bitcoin Xiao Gangowi, wyjściem transakcji jest Bitcoin wskazujący adres Xiao Zhanga. W ten sposób rozumiemy trzy ostatnie litery w UTXO TXO, gdzie TX oznacza transakcję, a O oznacza wyjście.

Ostatnie U odnosi się do Niewydanego, co oznacza nieskonsumowanego. Jeśli Xiao Zhang nigdy nie użył tego wyniku do wprowadzenia innych transakcji, wówczas ten wynik nigdy nie został wykorzystany i stanowi UTXO.

Ostatnim elementem jest opłata manipulacyjna. W przypadku transakcji innej niż moneta wkład musi być równy wynikowi plus opłata manipulacyjna. Dla uproszczenia dyskusji pomijamy opłatę manipulacyjną.

Zrozumienie podstawowych elementów transakcji Bitcoin w rzeczywistości oznacza zrozumienie UTXO. Przejdź do dowolnej przeglądarki Bitcoin i kliknij konkretną transakcję. Możesz zobaczyć czynniki, o których właśnie wspomnieliśmy w szczegółach.

Wprowadź dane i dokonaj zmian

Jedną z cech charakterystycznych UTXO jest to, że podobnie jak monet, nie można go rozbić i wykorzystać. Jak więc zebrać kwotę wejściową podczas transakcji i jak otrzymać resztę?

Xiao Ming przekazuje 1 Bitcoin Xiao Gangowi. Cały proces wygląda tak. Xiao Ming musi zebrać wystarczającą ilość danych wejściowych. Przykładowo w poprzedniej transakcji odpowiadającej adresowi Xiao Minga znalazł UTXO o wartości nominalnej 0,9, co nie wystarczy na 1 Bitcoin dane wejściowe są dozwolone w transakcji, więc Xiao Ming znalazł inny UTXO o wartości nominalnej 0,2, więc w tej transakcji transferu będą dwa wejścia. Jednocześnie będą dostępne dwa wyjścia, jedno wskazujące adres Xiaoganga, o wartości nominalnej 1 Bitcoina. Drugi wskazuje na adres Xiao Minga o wartości nominalnej 0,1 Bitcoina. To wyjście jest zmianą.

Aby to uporządkować, cały proces wygląda następująco: Xiao Ming musi najpierw zebrać wystarczającą liczbę danych wejściowych o wystarczającym nominale. Tutaj znalazł dwa dane wejściowe, a te dwa dane wejściowe same w sobie są wynikami poprzednich transakcji. Te dwa wyjścia są UTXO zanim zostaną wykorzystane, ale gdy bieżąca transakcja zacznie obowiązywać, oba zostaną wykorzystane i w tej transakcji zostaną wygenerowane dwa nowe UTXO, jeden wskazujący na Xiao Ming, a drugi wskazujący na Xiao Gang. Jest to równoznaczne z otrzymaniem przez Xiao Minga i Xiao Ganga monety, którą w przyszłości będzie można wydać na inne transakcje. Saldo odpowiednich adresów Xiao Ming i Xiao Gang jest w rzeczywistości sumą wszystkich odpowiednich UTXO.

W ten sposób zrozumiemy, jak zebrać wystarczającą ilość danych wejściowych, jak wygenerować dane wyjściowe i wprowadzić zmiany w transakcjach.

Dlaczego warto używać modelu UTXO?

W tym momencie mamy pytanie, czy Bitcoin nie jest po prostu wielką księgą rachunkową? Dlaczego nie skorzystać z modelu konta, ale użyć modelu UTXO?

Model konta to podstawowy model tradycyjnego banku czy usługi typu Alipay. W ramach tego modelu mam własne, odpowiadające mi konto, na którym widnieje, że mam 13 juanów, więc liczba 13 jest wyraźnie zapisana w systemie. Model konta jest rzeczywiście bardzo prosty i bardzo elastyczny. Jest to model konta stosowany w Ethereum i niektórych innych projektach blockchain.

Patrząc ponownie na Bitcoin, Xiao Ming ma 13 monet. Tak naprawdę na blockchainie nie ma w ogóle numeru 13, ponieważ na blockchainie odbywają się tylko transakcje. Ale kiedy otwieramy przeglądarkę blockchain Bitcoin, możemy zobaczyć saldo odpowiadające adresowi. Jest ono obliczane przez samą przeglądarkę blockchain i nie jest czymś, co pierwotnie znajdowało się w blockchainie.

Jednak wielu ekspertów powie, że UTXO to bardzo dobry model, głównie dlatego, że UTXO doskonale nadaje się do obliczeń równoległych. Ta funkcja jest bardzo inteligentna w rozproszonych sieciach komputerowych. Konkretne szczegóły nie są przedmiotem tego artykułu. Zaleca się przeczytanie „Porównania modeli UTXO i kont”, w którym znajduje się bardziej szczegółowe omówienie.

Podsumować

UTXO Skończmy tu mówić i podsumujmy kilka słów.

UTXO to kluczowa koncepcja zrozumienia transakcji Bitcoin. Dla studentów, którzy chcą zrozumieć podstawowe zasady Bitcoin, jest to pułapka, której nie da się ominąć. Każda transakcja może zawierać wiele danych wejściowych i zwykle zawiera dwa wyjścia. Całkowita wielkość produkcji plus opłata manipulacyjna jest dokładnie równa całkowitej wartości wejściowej. Każdy wynik jest jak moneta, ma swój nominał i przynależy do konkretnego adresu. Dane wyjściowe, które nie zostały wykorzystane jako dane wejściowe innych transakcji, to „niewydane dane wyjściowe transakcji”, czyli UTXO.

W modelu UTXO nie ma koncepcji konta, więc wydaje się to trochę skomplikowane w porównaniu z modelem konta. Jednak w rzeczywistości ma ogromne zalety, takie jak bardzo sprzyjające przetwarzaniu równoległemu w systemach rozproszonych. $CKB $BTC