Pomyłki w zawieraniu transakcji Bitcoin są często niewybaczalne, a najlepszym tego przykładem jest błędne zrozumienie idei adresów resztkowych („change addresses”). Pomimo, że zwiększają one naszą prywatność, to ich nieprawidłowe rozumowanie może prowadzić do nieporozumień, utraty środków bądź kradzieży. W serii trzech artykułów postaram się wytłumaczyć czym one są i jak działa transakcja BTC. Opowiem również o ich wpływie na naszą prywatność i konsekwencji wyboru portfeli na sposób konstruowania transakcji. Ostatni artykuł poświęcę przykładom pomyłek mogących zagrozić naszym BTC i możliwym ich rozwiązaniach. Zapraszam do lektury.

Błędna analogia

Wyobraźcie sobie, że idziecie na zakupy, za które chcecie zapłacić kartą debetową. Sprzedający podlicza wartość zakupionych przez was towarów i dochodzi do płatności. Nie możecie jednak zapłacić części środków, gdyż terminal wymaga od was całej kwoty znajdującej się na waszym koncie.  Sprzedający tłumaczy, że to nowy wymóg banku i udostępnia wam dwie opcje:

  • odsyłasz resztę na Twój obecny rachunek
    odsyłasz resztę na Twój właśnie nowo otworzony rachunek
  • Czy to intuicyjne? Raczej zagmatwane. Wiele osób próbuje znaleźć podobieństwa pomiędzy płatnościami internetowymi i Bitcoinem wpadając tym samym w pułapkę. Porównywanie transakcji BTC z dotychczasowymi doświadczeniami potrafi wprowadzić w błąd. Jest lepszy sposób na zrozumienie tego typu transakcji.
Electronic Cash

Bitcoin ma więcej wspólnego ze starszym środkiem wymiany, gotówką. Nawet Satoshi Nakamoto nazwał swój twór „Bitcoin: A Peer-to-Peer Electronic Cash System”. Zrozumienie tej analogii jest kluczem do zrozumienia działania transakcji Bitcoin i idei adresów resztkowych.
W rzeczywistości jeśli ktoś posiada 10BTC, to oznacza, że istnieje wpis w księdze rozrachunkowej o przynależności 10BTC dla danego adresu. Wpis ten ma nazwę niewydanego wyjścia transakcyjnego („unspent transaction output”, „UTXO”). Dobrą analogią dla UTXO jest banknot, a dla naszego adresu zwyczajny portfel. Postaram się pokazać to na przykładzie, żeby lepiej zobrazować ten koncept.

Rozpatrzmy przypadek dwóch osób, Alicji i Boba. Zarówno Alicja i Bob posiadają 100zł. W portfelu Alicji znajdują się następujące nominały:

  • 10zł
  • 20zł
  • 20zł
  • 50zł

Bob natomiast posiada tylko jeden banknot o wartości 100zł. Obie osoby posiadają taką samą ilość pieniędzy, mają tylko inne nominały. Przekładając to na język kryptowalut, Alicja posiada cztery niewydane wyjścia, a Bob jedno. Ma to duże znaczenie do sposobu w jaki konstrukowane będą transakcje przez te dwie osoby.

Rodzaje transakcji Bitcoin

Transakcję BTC możemy przedstawić w postaci prostego graficznego równania.

Suma wejść transakcyjnych musi być równa sumie wyjść. Oznacza, to, że podczas transakcji środki nie mogą się „magicznie” rozmnożyć. Na podstawie prostych przykładów przedstawię trzy przykłady, które rozróżniamy w sieci Bitcoin. Wykorzystamy do tego wymyślone na potrzeby tego artykuły postacie. Różnica będzie polegałą na tym, że zamiast 100zł, każda z nich będzie posiadać 100BTC i konsekwentnie odpowiednie niewydane wyjścia.

Typ 1: 1 wejście, 1 wyjście

Wyobraźmy sobie, że Alicja chcę wysłać Bobowi 9BTC. Dla prostoty ustalmy, że opłaty transakcyjne wynoszą 1BTC. Transakcja będzie wyglądać w następujący sposób:

Jak możemy zauważyć mamy jedno wejście i jedno wyjście. Niewydane wyjście o wartości 10BTC stało się wejściem transakcyjnym i zostało podzielone. 1BTC otrzymał górnik w postaci opłaty transakcyjnej, a 9BTC stało się nowym niewydanym wyjściem na adresie Boba.

Typ 2: Wiele wejść, 1 wyjście

W tym przypadku Alicja chce wysłać Bobowi 29BTC. Posiada na swoim portfelu dwa wyjścia 10BTC i 20BTC, które idealnie nadają się do skonstruowania takiej transakcji.

Niewydane wyjścia Alicji o wartości 10BTC i 20BTC stają się wejściami i tworząc wyjście 29BTC, a 1BTC zostaje przekazane górnikowi jako fee.

Typ 3: 1 wejście, wiele wyjść

Alicja zamierza wysłać Bobowi 5BTC. Posiada na swoim adresie jednak najmniejsze niewydane wyjście o wartości 10BTC. Transakcja będzie wyglądała następująco.

W tym przypadku 5BTC zostaje wysłane Bobowi i staje się jego nowym wyjściem. Jak w każdym z wymienionych przypadków górnikowi przypada 1BTC opłat. 4BTC, które pozostały jako reszta do zrównoważenia transakcji są wysyłane na adres Alicji. Stąd pochodzi nazwa adres resztkowy („change address”). Reszta transakcyjna jest wysyłana w zależności od rodzaju portfela. Tym tematem zajmiemy się w następnej części artykułu.

Podziel się z innymi

Bitcoin, Blockchain, Kryptowaluty, Poradnik dla początkujących