Coin Control pozwala samodzielnie wybrać środki do konkretnej płatności. Saldo bitcoina składa się z osobnych niewydanych wyjść wcześniejszych transakcji, czyli UTXO. Portfel zwykle wybiera je automatycznie; Coin Control pozwala przejąć ten wybór.
Alicja otrzymała 120 000 sat za pracę i kolejne 80 000 sat w prezencie. Sat to najmniejsza jednostka bitcoina. Portfel pokazuje 200 000 sat, ale w naszym przykładzie za tą kwotą stoją dwa osobne UTXO. Nie musi używać obu do płatności. W Coin Control otwiera listę i wybiera na przykład tylko wynagrodzenie. Etykiety „praca” i „prezent” pomagają jej zachować porządek: to jej notatki w portfelu, a nie dowód pochodzenia pieniędzy. Jeśli nie ma powodu wybierać konkretnych środków, może pozostawić decyzję portfelowi. [3]
Alicja wybiera UTXO o wartości 120 000 sat, aby wysłać 100 000 sat. Wyjście zostaje wydane w całości, podobnie jak większy banknot, z którego dostaje się resztę. Załóżmy, że gotowa transakcja ma rozmiar wirtualny 200 vB i stawkę 5 sat/vB. vB to jednostka rozmiaru używana przy obliczaniu opłat: tutaj opłata wynosi 1 000 sat. Odbiorca dostaje 100 000 sat, a 19 000 sat wraca do Alicji jako nowe wyjście, nazywane change, czyli resztą. Drugie UTXO, o wartości 80 000 sat, pozostaje nietknięte. To przykład z założonym rozmiarem i opłatą pokrywaną przez nadawcę, a nie uniwersalny rozmiar każdej płatności. [4]
Każde użyte UTXO staje się wejściem nowej transakcji i dodaje do niej dane. Przy takim samym typie wejść i stawce płatność z dziesięciu małych wpłat zwykle kosztuje więc więcej niż z jednej dużej. Opłata nie jest procentem wysyłanej kwoty: portfel oblicza ją na podstawie rozmiaru i wybranej stawki. Łączenie kilku drobnych UTXO w jedno własne wyjście nazywa się konsolidacją. Przy niskich stawkach może uprościć późniejsze płatności i zmniejszyć ich opłaty. Sama jednak również kosztuje i publicznie łączy użyte środki. [1]
Gdyby Alicja użyła wynagrodzenia i prezentu w jednej transakcji, obserwator blockchaina mógłby uznać, że kontroluje je ta sama osoba. Blockchain jest publicznym zapisem transakcji. Prywatnych etykiet Alicji w nim nie widać, ale połączenie wejść jest widoczne. Oddzielny wybór środków pozwala uniknąć tego konkretnego powiązania. Nie zapewnia jednak anonimowości: inne związki mogą już być znane. Wspólne wejścia nie są też pewnym dowodem jednego właściciela. Payjoin pozwala na przykład, by nadawca i odbiorca wnieśli wejścia do tej samej płatności. [2]
19 000 sat nie wraca do Alicji później w osobnej transakcji. Change powstaje od razu w tej samej płatności jako nowe wyjście dla jej portfela. Ta reszta też ma historię: pochodzi z wynagrodzenia. Jeśli Alicja wyda ją później razem z prezentem, może stworzyć powiązanie, którego wcześniej uniknęła. Warto więc śledzić również wyjścia reszty i nie zakładać, że nowy adres automatycznie przywraca prywatność. Duża reszta oznacza, że wybrana wartość znacznie przewyższa płatność i opłatę; sama w sobie nie świadczy o błędnym wyborze. [2]
Przed podpisaniem Alicja sprawdza rzeczywiście użyte wejścia, pełny adres odbiorcy, kwotę, własną resztę i całkowitą opłatę. Podpis zatwierdza konkretną transakcję; zaznaczone pola na liście to jeszcze nie gotowa płatność. Środków musi wystarczyć na kwotę i opłatę. Gdy wydajesz jeszcze niepotwierdzone środki, nowa płatność zależy od transakcji, z której pochodzą. Jeśli ta wcześniejsza transakcja nigdy nie trafi do blockchaina, płatność wydająca jej wyjście również nie zostanie potwierdzona. Ręczny wybór ma pomagać zrozumieć płatność, a nie zachęcać do zmiany ustawień o nieznanych skutkach. [4]
Zależy to od programu i jego wersji. W Bitcoin Core v29.0 polecenie fundrawtransaction domyślnie włącza add_inputs: może dodać wejścia, jeśli wskazane nie wystarczają. Aby wydać wyłącznie wybrane UTXO, trzeba sprawdzić tę opcję oraz końcowy projekt. Polecenie listunspent pozwala obejrzeć dostępne wyjścia. txid identyfikuje wcześniejszą transakcję, a vout pozycję jej wyjścia; razem wskazują konkretne UTXO. solvable oznacza, że program wie, jak można je wydać, nie że ma potrzebne klucze prywatne. Zbudowanie transakcji nie dostarcza brakujących podpisów. [4] [3]
Coin Control pomaga, gdy wiesz, dlaczego chcesz oddzielić pewne wpłaty, albo chcesz zrozumieć koszt ich wydania. Nie zastępuje bezpiecznej kopii zapasowej, nie zmienia historii środków i nie usuwa ujawnionych powiązań. Nie trzeba używać go przy każdej płatności. Ważne, by wiedzieć, kiedy automatyczny wybór wystarcza, a kiedy warto zdecydować samodzielnie, oraz sprawdzić, czy przygotowana transakcja odpowiada temu zamiarowi. [3] [2]
Pełniejszy obraz uzyskasz, czytając to hasło razem z UTXO, Portfel, Change Address, Prywatność w Bitcoinie. Do tego hasła prowadzą również odsyłacze z Change Address, CoinJoin, Prywatność w Bitcoinie, Coin Selection.