36 / 691CHG

Wyjście reszty

Wyjście zwrotne wysyła część wybranych wejść bitcoinowych, która nie trafiła do odbiorców lub opłaty do skryptu kontrolowanego przez płatnika. To normalny wynik transakcji: łańcuch bloków nie zawiera flagi „zmiany”, więc portfel jest znany portfelowi i inni mogą go tylko odgadnąć.

„Zmień adres” to zapis adresu skryptu tego wyniku, ale technicznie rzecz biorąc jest to skryptPubKey i nowy UTXO, a nie saldo konta. Przy sumie wejść I, wyjść do odbiorców R i opłaty F, zachodzi C = I - R - F. W przypadku dokładnej wypłaty lub pozostałości nieekonomicznej portfel może w ogóle nie wygenerować reszty.

Bitcoin wydaje całe UTXO; od jednego wejścia nie można odjąć tylko części. Jeśli portfel wybierze dane wejściowe o wartości 120 000 sat za zapłatę 100 000 sat i opłatę w wysokości 2000 sat, musi przełożyć pozostałe 18 000 sat na następne wyjście lub zachować je jako opłatę. Dane wyjściowe i zmiany odbiorcy mają tę samą pozycję w serializacji, a kolejność nie ma znaczenia konsensusowego. Po potwierdzeniu zmiana staje się nowym UTXO z własnym punktem końcowym, potwierdzeniem i przyszłą ceną wydania. [Przewodnik programisty Bitcoin – transakcje]

Wybór monety wybiera łącznie dane wejściowe, opłaty i możliwą zmianę. Dokładna kombinacja nie da wyniku; w przeciwnym razie portfel porównuje saldo z kosztem jego utworzenia i późniejszego wydania. Finansowanie RPC Bitcoin Core może wypełnić co najwyżej jedno wyjście zmiany i zwrócić jego pozycję, podczas gdy funkcja wysyłania wszystkich nie ma żadnej. Sterowanie monetami zmienia używane wejścia, a zatem zmienia się, ale każde ręcznie wybrane wejście jest zużywane w całości. Sprawdź wpisy końcowe, kwoty beneficjentów, opłaty i zmiany. [Bitcoin Core – Implementacja wyboru monet] [Bitcoin Core RPC – transakcja fundraw] [Bitcoin Optech – Wybór monet]

Portfele HD zwykle wyprowadzają skrypty akceptacji w gałęzi zewnętrznej i zmieniają się w gałęzi wewnętrznej. BIP44 oznacza zmianę=0 jako zewnętrzną, a zmianę=1 jako wewnętrzną: na przykład m/84'/0'/0'/0/i i m/84'/0'/0'/1/i dla natywnego konta SegWit. Jest to konwencja stosowania, a nie konsensus; deskryptor portfel może mieć inną politykę. Nowy adres wewnętrzny ogranicza ponowne wykorzystanie adresu, natomiast powrót do pierwotnego adresu jest ważny, ale łączy historię. [BIP 32 — Hierarchiczne portfele deterministyczne] [BIP 44 — Hierarchia wielu kont]

Deskryptor wyjściowy łączy typ skryptu, klucze, pochodzenie i symbol wieloznaczny wyprowadzenia określający własność. Para wpkh([odcisk palca/84h/0h/0h]xpub…/0/*) i …/1/* opisuje otrzymanie zmiany; BIP389 umożliwia zapis wielościeżkowy. Flaga wewnętrzna wybiera deskryptor do zmiany, nie zmienia samego skryptu. Zarodek bez informacji o koncie, typu skryptu i zasad wyprowadzania może pozostawić prawidłowe zmiany niewidoczne po odświeżeniu, nawet jeśli klucze istnieją. [BIP 380 — Deskryptory skryptu wyjściowego] [BIP 389 — Wyrażenia klucza deskryptora wielościeżkowego] [Bitcoin Core — Deskryptory wyjściowe]

Blok zawiera wartości i scriptPubKeys, a nie płatnika, odbiorcę czy zmianę etykiet. Portfel rozpoznaje swoją resztę na podstawie zapisów dotyczących instrumentów pochodnych, odkrywca po prostu się domyśla. Kolejność wyników lub reguła „drugiego wyjścia” nie jest wiarygodna. Transakcja nie może mieć żadnej zmiany, jednego, wielu wyjść samosterujących lub wyjść kilku uczestników. Zmiana jest zatem klasyfikacją związaną z portfelem, a nie właściwością zapisaną w protokole. [Przewodnik programisty Bitcoin – transakcje]

Powszechnie stosowana heurystyka oznacza zmianę wyniku tego samego typu skryptu co dane wejściowe, niepochlebną zaokrągloną kwotę, świeży adres lub wartość odpowiadającą arytmetyce danych wejściowych. Często pracują dla zwykłej płatności z dwoma wyjściami, ale każdy ma kontrprzykłady. BIP78 Payjoin celowo łamie zarówno heurystykę wspólnego wprowadzania danych, jak i heurystyki typu skryptu i zaokrąglonych kwot; CoinJoin, grupowanie i samodzielny transfer zwiększają niejednoznaczność. Wynik ma mieć pewien stopień pewności i wsparcia, a nie status dowodu protokołu. [BIP 78 — Payjoin] [Meiklejohn i in. — Garść Bitcoinów]

Pył to polityka przekaźnikowa węzła obliczona na podstawie rodzaju wyjścia, szacunkowej wielkości jego przyszłych wydatków i regulowanej stawki przekaźnika pyłowego; nie jest to uniwersalna liczba satoshi ani zakaz konsensusu. Portfel może odrzucić resztę wysoko w prochu, gdy wytworzenie i późniejsze wydanie kosztuje więcej niż jego wartość. Limit ekonomiczny jest zależny od aktualnej i długoterminowej opłaty oraz wielkości scenariusza. Pominięcie zmiany spowoduje wzrost dzisiejszej opłaty, zbyt mała zmiana może utknąć. [Bitcoin Core – Polityka przekazywania transakcji]

W PSBT wyjściowe wyprowadzenia BIP32 umożliwiają podpisującemu sprzętowi lub offline uzyskanie proponowanych wyników i zweryfikowanie powrotu do tej samej polityki portfela. BIP174 opisuje wykrywanie zarówno dla pojedynczego klucza, jak i multisig; w przypadku multisig dopasowanie jednego klucza lokalnego nie wystarczy. Złośliwy koordynator może zastąpić zmianę własnym wyjściem lub ukryć resztę za wygórowaną opłatą. Podpisujący musi zweryfikować odbiorcę, całkowitą opłatę i każdą zadeklarowaną zmianę na zaufanym wyświetlaczu. [BIP 174 — Częściowo podpisany format transakcji Bitcoin]

Opłata za wymianę zmienia ekonomikę niepotwierdzonej transakcji. opłata za uderzenie w Bitcoin Core może uiścić wyższą opłatę, redukując zmiany, dodając dane wejściowe lub tworząc zmiany; po spadku poniżej poziomu zmiany polityki lub mez gospodarczy znika. Wydanie niepotwierdzonej zmiany tworzy element potomny zależny od zastąpienia elementu nadrzędnego, a CPFP wykorzystuje dane wyjściowe kontrolowane przez portfel w celu zwiększenia opłaty za pakiet. Nie należy brać pod uwagę niepotwierdzonego ostatecznego punktu docelowego/wyjściowego przed rozliczeniem zamienników. [Bitcoin Core RPC – opłata]

Pełne odzyskanie wymaga kluczy początkowych lub podpisujących, a także deskryptorów odbiorczych/wewnętrznych, źródeł kluczy, konta, sieci, zasad skryptów, zakresów wyprowadzania i wystarczająco starego początku skanowania. Brakujący /1/* zazwyczaj obcina saldo, ponieważ nie znaleziono zmiany. W przypadku multisig zachowaj wszystkie xpuby cosignera, próg i kolejność w obu gałęziach. Przetestuj odzyskiwanie, dopasowując znane skrypty odbioru/zmiany, rekonstruując UTXO, tworząc PSBT i weryfikując zmiany u każdego podpisującego. [BIP 32 — Hierarchiczne portfele deterministyczne] [BIP 380 — Deskryptory skryptów wyjściowych] [BIP 389 — Wyrażenia kluczowe deskryptorów wielościeżkowych]

Pełniejszy obraz uzyskasz, czytając to hasło razem z Adres Bitcoin, UTXO, Coin Control, Portfel, Coin Selection, HD Wallet. Do tego hasła prowadzą również odsyłacze z Adres Bitcoin, Coin Control, Prywatność w Bitcoinie, Pseudonimowość.

DOC · 001Bitcoin Developer Guide — TransactionsDokumentacja ↗DOC · 002BIP 32 — Hierarchical Deterministic WalletsSpecyfikacja ↗DOC · 003BIP 44 — Multi-Account HierarchySpecyfikacja ↗DOC · 004BIP 78 — PayjoinSpecyfikacja ↗DOC · 005BIP 174 — Partially Signed Bitcoin Transaction FormatSpecyfikacja ↗DOC · 006BIP 380 — Output Script DescriptorsSpecyfikacja ↗DOC · 007BIP 389 — Multipath Descriptor Key ExpressionsSpecyfikacja ↗DOC · 008Bitcoin Core — Output DescriptorsDokumentacja ↗DOC · 009Bitcoin Core — Coin Selection ImplementationDokumentacja ↗DOC · 010Bitcoin Core RPC — fundrawtransactionDokumentacja ↗DOC · 011Bitcoin Core RPC — bumpfeeDokumentacja ↗DOC · 012Bitcoin Core — Transaction Relay PolicyDokumentacja ↗DOC · 013Bitcoin Optech — Coin SelectionDokumentacja ↗DOC · 014Meiklejohn et al. — A Fistful of BitcoinsDokumentacja ↗
Sprawdzono 1 sierpnia 2026Najpierw źródła · To nie jest porada inwestycyjna