UTXO to kwota powstała we wcześniejszej transakcji, która nie została jeszcze wydana. Skrót oznacza Unspent Transaction Output. Portfel może pokazywać jedno saldo, choć składa się ono z kilku osobnych UTXO, podobnie jak kilka banknotów tworzy gotówkę w kieszeni. Przy płatności portfel wybiera, których użyć. Jeden adres może otrzymać wiele płatności i mieć kilka różnych UTXO.
Masz dwa UTXO: 70 000 sat i 50 000 sat, razem 120 000 sat. Sat to najmniejsza jednostka bitcoina. Aby zapłacić 90 000 sat z opłatą 1 000 sat, portfel może użyć obu. Powstaje nowe wyjście 90 000 sat dla odbiorcy i nowe wyjście 29 000 sat jako reszta dla Ciebie. Oba pierwotne UTXO są zużywane w całości; nic w nich nie zostaje. Przypomina to płacenie banknotami i otrzymywanie reszty, ale kwoty nie są ograniczone do stałych nominałów. Nawet dwa nowe wyjścia na ten sam adres nie łączą się: nadal są dwoma osobnymi UTXO. [2]
Portfel sumuje śledzone wyjścia, ale nie wszystkie może od razu wydać. Watch-only Wallet obserwuje płatności, choć sam nie ma kluczy prywatnych potrzebnych do podpisania. Inne wyjście może być zablokowane do pewnego momentu. Nagroda z pierwszej transakcji bloku, zwanej Coinbase Transaction, musi najpierw osiągnąć wymaganą dojrzałość. Bardzo mała kwota może też być technicznie wydawalna, ale przy wysokich opłatach jej użycie kosztuje więcej, niż wynosi jej wartość. Dostępność, uprawnienie do wydania i sens ekonomiczny to różne sprawy. [1]
Każde użyte UTXO dodaje do transakcji wejście i zwykle kolejne dane. Przy tej samej stawce opłat i porównywalnych typach wejść wydanie wielu małych kwot kosztuje więcej niż jednej większej. Coin Control pozwala ręcznie wybrać konkretne UTXO. Ich konsolidacja, czyli połączenie w mniejszą liczbę większych kwot, może zmniejszyć przyszłą transakcję, ale dziś wymaga opłaty. Wpływa też na prywatność: połączenie wejść może sugerować obserwatorowi wspólną kontrolę. Nie jest to rozstrzygający dowód, ale warto o tym pamiętać, by nie łączyć automatycznie środków, których historie chcesz zachować oddzielnie. [2] [4]
Sam adres nie wystarczy. Każde wyjście identyfikuje para: txid transakcji i numer wyjścia w niej. To odwołanie nazywa się outpoint. Wyjście zawiera kwotę w satoshi oraz scriptPubKey, zapis warunków wydania. Dla potwierdzonego wyjścia węzeł przechowuje także wysokość bloku utworzenia i informację o pochodzeniu z Coinbase Transaction, aby sprawdzać dojrzałość i ograniczenia czasowe. Znajomość adresu lub outpointu pozwala wskazać zapis, ale nie daje możliwości wydania pieniędzy; do tego trzeba spełnić jego warunki. [1] [2]
Potwierdzony zbiór UTXO odpowiada historii kończącej się na konkretnym bloku. Węzeł może dodatkowo uwzględniać mempool, poczekalnię niepotwierdzonych transakcji: niektóre znane wyjścia są tam już wydawane, a nowe dopiero powstają. Stan może zmienić też reorganizacja, gdy sieć przyjmie inną prawidłową gałąź historii. Techniczną kontrolę umożliwia polecenie gettxout w Bitcoin Core. Opcja include_mempool określa, czy uwzględnić transakcje oczekujące. Odpowiedź null mówi jedynie, że w tym widoku wyjście nie jest dostępne jako UTXO; nie odróżnia wyjścia, które nigdy nie istniało, od już wydanego. Przy porównywaniu danych liczą się więc stan węzła i sposób zapytania. [3]
Wydanie całego wyjścia
Aby zapłacić 600 000 sat, portfel wybiera UTXO o wartości 1 000 000 sat. Przy opłacie 1 500 sat transakcja tworzy wyjście płatności 600 000 sat i wyjście reszty 398 500 sat. Pierwotne UTXO zostaje zużyte w całości.
Pełniejszy obraz uzyskasz, czytając to hasło razem z Transakcja, Full Node, Private Key, Portfel, Mempool. Do tego hasła prowadzą również odsyłacze z Full Node, Transakcja, Private Key, Portfel.
01Czy UTXO to to samo co saldo portfela?+
Nie. UTXO to jedno konkretne wyjście; portfel oblicza saldo ze śledzonych wyjść zgodnie z ich stanem. Nie całą wyświetloną sumę musi dać się natychmiast wydać. Sieć śledzi wyjścia i warunki ich wydania, a nie jedno zmienne saldo konta.
02Dlaczego wiele małych UTXO zwiększa opłatę?+
Każde wybrane wejście dodaje dane. Przy porównywalnych typach wejść i pozostałych wyjściach wydanie wielu małych UTXO zajmuje więcej wirtualnych bajtów niż wydanie jednego większego UTXO. Przy tej samej stawce w sat/vB całkowita opłata jest więc zwykle wyższa.