Czwartek, 21 września 2017 • 264 dzień roku • Imieniny: Jonasza, Mateusza, Hipolita Kontakt

Prywatność transakcji w sieci Bitcoin


W przeciwieństwie do operacji bankowych wszystkie transakcje zawarte w sieci Bitcoin są publicznie dostępne (public ledger). Jawne są także salda wszystkich adresów Bitcoin. W konsekwencji powiązanie adresu Bitcoin z daną osobą oznacza ujawnienie wszystkich jej transakcji z udziałem tego adresu. Dlatego też nie zaleca się publikowania adresów Bitcoin np. na stronach www.

Adres jednorazowego użytku

W celu zachowania większej prywatności należy traktować każdy adres jako "token jednorazowego użytku", tj. do każdej płatności przychodzącej powinno się używać nowego adresu Bitcoin. Nie ukryje to, co prawda, jego salda, ale utrudni powiązanie go z innymi adresami danego użytkownika.

Wysyłanie Bitcoinów a prywatność

Trzeba pamiętać, że środki wysyłane w ramach jednej transakcji mogą pochodzić z kilku adresów tworzących portfel (Multi-Input Transaction). Wykonanie takiej transakcji ujawnia, że wszystkie użyte adresy wchodzą w skład tego samego portfela, a więc należą do tej samej osoby. W takiej sytuacji powiązanie chociaż jednego z tych adresów z daną osobą oznacza ujawnienie także wszystkich innych transakcji tej osoby z udziałem pozostałych adresów. W przypadku adresów używanych wielokrotnie, publikowanych na stronach www zaleca się używanie osobnego portfela.

Reszta (change)

W celu utrudnienia śledzenia transakcji wprowadzony został mechanizm przesyłania reszty (pozostałego salda danego adresu) na nowo tworzony adres. W przypadku klienta Bitcoin Core adresy, na które przesyłana jest reszta, są ukryte przed użytkownikiem.

Przykład

Załóżmy, że w portfelu mamy tylko jeden adres A, którego saldo wynosi 1 BTC oraz że wysyłamy 0,4 BTC na adres B. Gdyby A i B były rachunkami bankowymi, to saldo naszego rachunku A po transakcji wynosiłoby 0,6 BTC. Zobaczmy, jakie będzie saldo A w przypadku transakcji w systemie Bitcoin.

Ponieważ saldo adresu A i wysyłana kwota nie są równe (dla uproszczenia pomijamy koszty transakcji), klient Bitcoin Core wykona dwie operacje: prześle 0,4 BTC na adres B i 0,6 BTC na nowo utworzony adres C (ściślej mówiąc: na kolejny adres z domyślnej puli 100 nieużytych jeszcze adresów zapisanych w portfelu).

Zgodnie z powyższym po transakcji:

  • saldo adresu A wyniesie 0,
  • saldo adresu C wyniesie 0.6 BTC,
  • saldo portfela wyniesie 0,6 BTC,
  • adres C nie będzie widoczny dla użytkownika,
  • z punktu widzenia osób trzecich może być trudne do ustalenia, czy transakcja dotyczyła 0,4 BTC czy 0,6 BTC, innymi słowy, trudne może być rozstrzygnięcie, który z adresów B i C jest adresem użytkownika.

Uwaga! Automatyczne wykorzystywanie nowych adresów w celu przesłania reszty stwarza też pewne zagrożenia.


Zobacz też:

Produkt krajowy brutto per capita w PPS - mapa

Najbardziej zadłużone państwa Europy

Mapa długu publicznego - dane roczne