Content uploaded by Przemysław Rodwald
Author content
All content in this area was uploaded by Przemysław Rodwald on Oct 10, 2019
Content may be subject to copyright.
Biuletyn WAt
Vol. lXViii, nr 1, 2019
Metody deanonimizacji użytkowników wybranych
kryptowalut na przykładzie bitcoina
PRZEMYSŁAW RODWALD1, WITOLD SOBOLEWSKI2,
MAJA RODWALD3
1 Akademia Marynarki Wojennej, Wydział Nawigacji iUzbrojenia Okrętowego,
Instytut Uzbrojenia Okrętowego iInformatyki, ul. Śmidowicza 69, 81-103 Gdynia,
2 VS DATA Laboratorium Śledcze, ul. Świętojańska 55/16, 81-391 Gdynia,
3 Prokuratura Rejonowa wGdyni, ul. 10 Lutego 39, 81-364 Gdynia,
p.rodwald@amw.gdynia.pl, w.sobolewski@vsdata.pl, mrodwald@wp.pl
Streszczenie. Celem artykułu jest przedstawienie metod umożliwiających deanonimizację użytkow-
ników kryptowalut na przykładzie najpopularniejszej znich — bitcoina. Na wstępie przedstawiono
podstawowe pojęcia oraz zasadę działania tej kryptowaluty, po czym dokonano autorskiej systema-
tyzacji typów transakcji wzbogaconej owykresy ukazujące ich ilościowe występowanie włańcuchu
bloków. Wgłównej części pracy przedstawiono heurystyki wykorzystywane przy deanonimizacji
użytkowników. Następnie skupiono się na praktycznych wskazówkach ułatwiających implementację
omówionych heurystyk wrzeczywistym systemie deanonimizacyjnym. Pokazane zostały także rzeczy-
wiste scenariusze wykorzystania heurystyk wzbogacone okomentarze będące wynikiem doświadczeń
płynących zprzeprowadzonych przez autorów ekspertyz. Wostatniej części wskazano uwarunkowania
prawne oraz istniejące narzędzia wspomagające przeprowadzanie czynności deanonimizacyjnych.
Słowa kluczowe: deanonimizacja, kryptowaluta, bitcoin
DOI: 10.5604/01.3001.0013.1466
1. Wstęp
W ostatnim czasie coraz więcej słyszy się owalutach wirtualnych, głównie
zpowodu spektakularnych wzrostów ich notowań (przykładowo bitcoin pod koniec
2017 roku osiągnął wartość 20000 dol.). Bitcoin, będący ciągle najpopularniejszą
kryptowalutą, powstał jako system mający charakteryzować się anonimowością.
52 P. Rodwald, W. Sobolewski, M. Rodwald
Jedną zintencji autora/-ów1 bitcoina było stworzenie systemu, wktórym „każdy
może zobaczyć, żektoś przesłał środki do kogoś innego, ale bez możliwości powią-
zania tej transakcji zkonkretną osobą”2. Warunkiem wystarczającym do przekazania
środków wsieci Bitcoin jest znajomość adresu3 odbiorcy, nie istnieje natomiast,
wprzeciwieństwie do tradycyjnych systemów bankowych, nadrzędna instytucja
(np. bank) zarządzająca adresami iprzypisująca im rzeczywiste dane personalne
użytkowników. Transakcje przeprowadzane wsieci Bitcoin są pseudoanonimowe
(ang. psudoanonymous), to znaczy, żeszczegóły dotyczące transakcji (adresy wej-
ściowe, wyjściowe, przekazywane kwoty, daty) są publicznie dostępne włańcuchu
bloków (ang. blockchain), ale nie istnieje wnim przyporządkowanie adresów do
konkretnych podmiotów czy osób. Jednak ta publicznie dostępna historia wszystkich
transakcji powoduje, żewpołączeniu zinnymi źródłami danych można skutecznie
próbować deanonimizować użytkowników będących właścicielami adresów BTC.
2. Podstawowe pojęcia
W celu ujednolicenia terminologii stosowanej wniniejszym artykule zostaną
najpierw zdeniowane podstawowe pojęcia. Bitcoin
4
(oznaczany skrótem BTC)
to zdecentralizowana kryptowaluta, opierająca zasady swojego funkcjonowania na
kryptograi. Została przedstawiona w2008 roku przez osobę (bądź grupę osób)
opseudonimie Satoshi Nakamoto [1], jednak do dziś nie udało się ustalić rzeczy-
wistej tożsamości twórcy. Bitcoin dzieli się na mniejsze jednostki zwane satoshi
(odpowiednik groszy wpolskim systemie płatniczym), przy czym jeden bitcoin
jest równy 100 000 000 satoshi. Bitcoiny przechowywane są na adresach. Adres (np.
15gZhgbX1f1JC1ZUxwWBqedXGuTaLaYYdb) to unikalny ciąg alfanumeryczny
składający się z26-34 znaków pozwalający na wysyłanie iodbieranie bitcoinów.
Pierwotnie adresy rozpoczynały się zawsze od liczby 1
5
lub 3
6
, zawierały wielkie
imałe litery oraz cyfry alfabetu łacińskiego zwykluczeniem cyfry 0, wielkiej litery
1 Do dzisiaj nie wiadomo, kto ukrywa się pod pseudonimem Satoshi Nakamoto.
2 „e public can see that someone is sending anamount to someone else, but without information
linking the transaction to anyone.” [1].
3 Pojęcie „adresu” zostało zdeniowane wdalszej części artykułu.
4 W literaturze przyjęło się oznaczać słowem bitcoin (pisanym małą literą) kryptowalutę, natomiast
słowem Bitcoin (pisanym wielką literą) określa się całą infrastrukturę związaną znim.
5 Adresy rozpoczynające się od cyfry 1 (ang. Pay to PubkeyHash) wymagają znajomości jednego
klucza prywatnego powiązanego zdanym adresem wcelu wydania środków znajdujących się
pod danym adresem.
6 Adresy rozpoczynające się od cyfry 3 (ang. Pay to ScriptHash) wymagają znajomości n z m
kluczy prywatnych powiązanych zdanym adresem wcelu wydania środków znajdujących się
pod danym adresem. Zostały utworzone wtrakcie rozwoju sieci Bitcoin wcelu wprowadzenia
możliwości wykonywania transakcji kontrolowanych przez grupę użytkowników.
53Metody deanonimizacji użytkowników wybranych kryptowalut...
O, wielkiej litery I imałej litery l7. Adresy nie zawierają żadnej informacji na temat
ich właściciela. Użytkownicy sieci Bitcoin mogą posiadać wiele adresów. Adres
tworzony jest na podstawie klucza publicznego za pomocą kilkukrokowego algo-
rytmu, wykorzystującego wswojej strukturze dwie kryptograczne funkcje skrótu:
RIPEMD-160 oraz SHA-256. Wszystkie transakcje wsieci Bitcoin zawierane są
pomiędzy adresami iprzechowywane są wpublicznym rejestrze zwanym łańcu-
chem bloków (ang. blockchain). Rejestr ten składa się zkolejnych bloków (ang.
blocks), dodawanych do łańcucha średnio co 10 minut, po potwierdzeniu transakcji
znajdujących się wewnątrz danego bloku. Transakcja natomiast potocznie oznacza
płatność. Polega na przenoszeniu bitcoinów zjednego adresu na inny adres. Każda
transakcja, poza pierwszą wkażdym bloku, posiada co najmniej jeden adres wej-
ściowy oraz co najmniej jeden adres wyjściowy. W celu wykonania transakcji, czyli
przekazania pewnej liczby bitcoinów, konieczna jest znajomość adresu nadawcy
wraz zeskorelowanym znim kluczem prywatnym nadawcy oraz adresu odbiorcy.
Portfel (ang. wallet) to miejsce przechowywania par kuczy (prywatny, publiczny),
przy czym nie ma potrzeby przechowywania samych adresów, gdyż są one genero-
wane na podstawie klucza publicznego. Wyróżnia się kilka typów portfeli: portfel
papierowy stanowiący po prostu wydruk pary kluczy (prywatny ipubliczny), zwany
też portfelem oine; portfel sprzętowy będący wyspecjalizowanym urządzeniem
najczęściej wpostaci klucza USB8, portfel wpostaci aplikacji będący oprogramo-
waniem przeznaczonym na konkretną platformę (komputer, smartfon), portfel
„przeglądarkowy” stanowiący zewnętrzny serwis udostępniany przez pewien pod-
miot, do obsługi którego wystarczy przeglądarka internetowa. Bezpieczeństwo
środków przechowywanych na poszczególnych typach portfeli maleje zgodnie
zkolejnością, wktórej zostały przedstawione: największe jest dla portfeli papiero-
wych, gdzie klucz prywatny znajduje się tylko na wydrukowanej kartce iznany jest
tylko jej właścicielowi, anajmniejsze dla portfeli „przeglądarkowych”, gdzie klucze
prywatne użytkowników przechowywane są na zewnętrznych serwerach. Proces
potwierdzania transakcji, czyli umieszczania ich włańcuchu bloków, realizowany
jest za pośrednictwem górników (ang. miners), którzy wykorzystują do tego moc
obliczeniową swoich urządzeń9. Górnicy rywalizują zesobą oto, który nowy blok
7 Pierwotnie zostało to wprowadzone w celu zminimalizowania pomyłek przy prezentowaniu
adresów. Od lipca 2017 roku, po zmianach wprowadzonych wpierwotnym protokole (ang. so
fork), sieć Bitcoin dopuszcza także adresy rozpoczynające się od znaków „bc1” zawierające
wcześniej niedopuszczalne znaki (0, O, I, l).
8 Do najpopularniejszych portfeli sprzętowych zaliczyć można: Ledger Nano S (ledgerwallet.com),
Trezor (trezor.io), KeepKey (keepkey.com) iEllipal (ellipal.com).
9 Pierwotnie do potwierdzania transakcji wsieci Bitcoin wystarczała moc obliczeniowa procesorów,
później moc obliczeniowa kart gracznych. Aktualnie proces wydobywania (ang. miningu)
realizowany jest głównie za pomocą przeznaczonych do tego urządzeń opartych na układach ASIC,
na przykład Antminer S9 (https://shop.bitmain.com/antminer_s9_asic_bitcoin_miner.htm) czy
też Dragonmint T1 (https://halongmining.com/shop/dragonmint-16t-miner/).
54 P. Rodwald, W. Sobolewski, M. Rodwald
złożony ztransakcji zostanie umieszczony włańcuchu bloków. Górnik, któremu
uda się najszybciej rozwiązać „zagadkę kryptograczną”
10
, otrzymuje nagrodę
wpostaci nowych bitcoinów. Aktualnie górnicy raczej nie wydobywają nowych
bitcoinów wpojedynkę, lecz łączą się współdzielnie wydobywcze (ang. mining
pools), dzięki którym poprzez zwiększenie mocy obliczeniowej wzrasta prawdo-
podobieństwo wydobycia nowego bloku. Każda transakcja występująca wbloku
może zawierać dodatkową opłatę transakcyjną (ang. fee). Jest to kwota oferowana
przez nadawcę transakcji górnikom. Pierwsze transakcje włańcuchu bloków były
najczęściej pozbawione opłat transakcyjnych, aktualnie jednak praktycznie wszystkie
transakcje zawierają te opłaty.
3. Rodzaje transakcji
W celu zrozumienia typów transakcji zostaną najpierw przedstawione podsta-
wowe reguły nimi rządzące:
— Każda osoba może mieć wiele portfeli, akażdy portfel może składać się
zwielu adresów.
— Tylko niezerowa liczba bitcoinów może być przesyłana zjednego adresu
na drugi.
— Każda transakcja składa się zdwóch stron: wejściowej iwyjściowej. Strona
wejściowa wskazuje, skąd pochodzą bitcoiny wchodzące wskład danej
transakcji, natomiast strona wyjściowa pokazuje, dokąd są one wysyłane.
— Adresy znajdujące się po stronie wejściowej, zwane dalej wpracy adresami
wejściowymi, muszą posiadać wystarczającą liczbę bitcoinów dla danej
transakcji. Nie ma możliwości przesłania zdanego adresu większej liczby
bitcoinów, niż jest wjego posiadaniu.
— Cała kwota znajdująca się na adresach wejściowych musi zostać wydana
wpojedynczej transakcji. Przy czym po stronie wyjściowej mogą znajdować
się te same adresy co po stronie wejściowej.
— Transakcje znajdujące się włańcuchu bloków mogą zawierać opłatę trans-
akcyjną.
— Liczba bitcoinów znajdujących się po stronie wejściowej transakcji musi być
równa liczbie bitcoinów znajdujących się po stronie wyjściowej transakcji
powiększonej oewentualną opłatę transakcyjną.
10 Rozwiązanie „zagadki kryptogracznej” dla danego bloku polega na znalezieniu takiej wartości
losowej, która wpołączeniu zeskrótem wszystkich transakcji wchodzących wskład danego bloku
da skrót (wynik działania kryptogracznej funkcji skrótu SHA-256) zaczynający się pewną liczbą
zer, np. 000000000… Liczba zer dostosowywana jest do aktualnych możliwości obliczeniowych
sieci Bitcoin wtaki sposób, aby średni czas potwierdzenia bloku wynosił 10 minut.
55Metody deanonimizacji użytkowników wybranych kryptowalut...
Należy pamiętać, żeprzeniesienie bitcoinów zjednego adresu na inny nie musi
oznaczać przekazania środków do innej osoby. Może mieć miejsce sytuacja, gdy ten
sam właściciel przekazuje środki wramach swojego portfela (z jednego adresu na
drugi) lub na swój inny portfel.
3.1. Transakcja 1 → 1
Transakcja posiadająca jeden adres po stronie wejściowej ijeden adres po
stronie wyjściowej. Występuje ona stosunkowo rzadko włańcuchu bloków, aliczba
transakcji tego typu wujęciu miesięcznym została przedstawiona na wykresie 1.
Jej procentowy udział dla wszystkich transakcji istniejących włańcuchu bloków do
końca marca 2018 roku wynosi zaledwie 8,35%.
Wykres 1. Liczba transakcji 1 → 1 wujęciu miesięcznym
Polega na przekazaniu wszystkich środków znajdujących się pod jednym adre-
sem na inny zuwzględnieniem ewentualnej opłaty transakcyjnej. Przykład takiej
transakcji został zaprezentowany na rysunku iwtabeli 1.
Rys. 1. Schemat transakcji 1 → 1
56 P. Rodwald, W. Sobolewski, M. Rodwald
Przed transakcją adres A (kończący się ciągiem …KTzy) dysponuje kwotą
0.01098 BTC. Podczas transakcji całość środków, pomniejszona oopłatę transakcyjną
wwysokości 0.00000691 BTC, zostaje przekazana na adres B (...JhyS). Po transakcji
adres B dysponuje kwotą 0.01097309 BTC.
T
Przykład transakcji 1 → 1 (źródło: blochchain.info)
3.2. Transakcja 1 → 2
Transakcja posiadająca jeden adres po stronie wejściowej idwa adresy po stronie
wyjściowej. Jest to transakcja najczęściej występująca włańcuchu bloków, co zostało
przedstawione na wykresie 2. Jej procentowy udział dla wszystkich transakcji ist-
niejących włańcuchu bloków do końca marca 2018 roku wynosi aż 57,93%.
Wykres 2. Liczba transakcji 1 → 2 wujęciu miesięcznym
Polega na przekazaniu wszystkich środków znajdujących się pod jednym
adresem na dwa inne adresy zuwzględnieniem ewentualnej opłaty transakcyjnej.
57Metody deanonimizacji użytkowników wybranych kryptowalut...
Najczęściej jeden zadresów wyjściowych jest adresem, na który następuje pewna
płatność, drugi adres stanowi natomiast miejsce, na które zwracana jest reszta
(ang.change). W zależności od tego, czy dany portfel umożliwia przesłanie reszty
na adres wejściowy, czy też za każdym razem generowany jest nowy adres, na który
przesyłana jest reszta, mamy do czynienia zdwoma scenariuszami dla tego typu
transakcji. Scenariusz zprzekazaniem reszty na adres wejściowy został zaprezen-
towany na rysunku iwtabeli 2.
Rys. 2. Schemat transakcji 1 → 2 (jeden adres wyjściowy taki sam jak adres wejściowy)
Przed transakcją adres A (..V99F) dysponuje kwotą 0.49299667 BTC. Podczas
transakcji część środków wwysokości 0.0416 BTC zostaje przekazana na adres B
(…Luo2), natomiast pozostała część wwysokości 0.45089667 BTC powraca na
adres wejściowy A. Powstała różnica wwysokości 0.0005 BTC została wydana na
opłatę transakcyjną.
T
Przykład transakcji 1 → 2, gdy jeden zadresów wyjściowych jest taki sam jak adres wejściowy
(źródło: blochchain.info)
Natomiast scenariusz zprzekazaniem reszty na nowy adres został przedstawiony
na rysunku iwtabeli 3.
Przed transakcją adres A (…TwUg) dysponuje kwotą 89.5676286 BTC. Podczas
transakcji część środków wwysokości 89.38738 BTC zostaje przekazana na adres
B (…RsQ8), adruga część wwysokości 0.18 BTC zostaje przekazana na adres
C (…jq6j). Kwota wwysokości 0.0002486 BTC została przeznaczona na opłatę
transakcyjną.
58 P. Rodwald, W. Sobolewski, M. Rodwald
3.3. Transakcja n → m
Transakcja posiadająca kilka adresów po stronie wejściowej ikilka adresów po
stronie wyjściowej. Polega na przekazaniu wszystkich środków znajdujących się
pod adresami wejściowymi na adresy wyjściowe zuwzględnieniem ewentualnej
opłaty transakcyjnej.
Pierwszym przykładem transakcji tego typu jest transakcja posiadająca kilka
adresów po stronie wejściowej itylko jeden adres po stronie wyjściowej. Liczba
wystąpień transakcji tego typu została przedstawiona na wykresie 3. Jej procentowy
udział dla wszystkich transakcji istniejących włańcuchu bloków do końca marca
2018 roku wynosi 3,63%.
Transakcja ta polega na przekazaniu środków zróżnych adresów wejściowych
na jeden nowy adres wyjściowy. Jest to transakcja konsolidująca izostała przedsta-
wiona na rysunku iwtabeli 4.
Przed transakcją adresy wejściowe (…jq6j, …Awzn, …, …3VJf) dysponują
sumaryczną kwotą 4.6317288 BTC. Podczas transakcji wszystkie środki ztych adre-
sów zostają przekazane na adres wyjściowy (…R7kR), przy opłacie transakcyjnej
wwysokości 0.0017288 BTC.
Rys. 3. Schemat transakcji 1 → 2 (adresy wyjściowe różne od adresu wejściowego)
T
Przykład transakcji 1 → 2, gdy adresy wyjściowe są różne od adresu wejściowego
(źródło: blochchain.info)
59Metody deanonimizacji użytkowników wybranych kryptowalut...
Rys. 4. Schemat transakcji n → m (jeden adres wyjściowy)
T
Przykład transakcji n → m, jeden adres wyjściowy (źródło: blochchain.info)
Wykres 3. Liczba transakcji n → m (jeden adres wyjściowy) wujęciu miesięcznym
60 P. Rodwald, W. Sobolewski, M. Rodwald
Innym przykładem transakcji tego typu jest transakcja posiadająca dwa adresy
wyjściowe. Jest to drugi najczęściej występujący typ transakcji, ajego częstotliwość
występowania została przedstawiona na wykresie 4. Jej procentowy udział dla
wszystkich transakcji istniejących włańcuchu bloków do końca marca 2018 roku
wynosi 21,74%.
Wykres 4. Liczba transakcji n → m (dwa adresy wyjściowe) wujęciu miesięcznym
Sytuacja ta odpowiada najczęściej scenariuszowi, gdy użytkownik chce dokonać
płatności zkilku swoich adresów na adres odbiorcy, areszta traa na nowy adres
wyjściowy użytkownika. Na rysunku iwtabeli 5 została pokazana transakcja zkil-
koma adresami wejściowymi idwoma adresami wyjściowymi.
Rys. 5. Schemat transakcji n → m (dwa adresy wyjściowe)
61Metody deanonimizacji użytkowników wybranych kryptowalut...
Przed transakcją adresy wejściowe (...mU7o, …8tbn, …, …LUbG) dysponują
sumaryczną kwotą 1.41353384 BTC. Podczas transakcji część środków wwysoko-
ści 1.40111321 BTC zostaje przekazana na adres wyjściowy X (…nNYG), aczęść
0.01000463 BTC na adres wyjściowy Y (...kvdg) istanowi resztę transakcji, przy
opłacie transakcyjnej wwysokości 0.002416 BTC. Za tym, żewpodanym przykła-
dzie to właśnie adres Y stanowi resztę transakcji, przemawiają kwoty znajdujące,
którymi dysponują adresy wejściowe. Jeśli płatność miałaby być przekazana na adres
X, wówczas po stronie wejściowej transakcji wystarczyłby dowolny zzaprezento-
wanych adresów, gdyż każdy znich dysponuje kwotą powyżej 0.012 BTC, awięc
wystarczającą, aby przekazać 0.01000463 BTC11.
Jeszcze innym przykładem transakcji tego samego typu jest transakcja posia-
dająca wiele adresów po stronie wejściowej iwiele adresów po stronie wyjściowej.
Częstotliwość występowania transakcji tego typu została przedstawiona na wykresie
5. Jej procentowy udział dla wszystkich transakcji istniejących włańcuchu bloków
do końca marca 2018 roku wynosi 4,18%.
Jest to transakcja najczęściej dokonywana nie przez pojedynczych użytkowni-
ków, lecz przez serwisy obsługujące znaczne liczby transakcji na przykład giełdy,
ale również tak zwane miksery (ang. mixers). Głównym celem przeprowadzania
takich transakcji jest odpowiednio: oszczędność na opłatach transakcyjnych lub
zwiększenie anonimowości. Przykład takiej transakcji został zaprezentowany na
rysunku iwtabeli 6.
11 Nie zostało to przedstawione wtabeli, lecz można dokonać sprawdzenia na przykład pod adresem
https://www.sydeus.pl/pl/search/4410c0c086eaa45365b7e6ca35953539304949c90e01
acf8a96d92d35cb7d5
T
Przykład transakcji n → m, dwa adresy wyjściowe (źródło: blochchain.info)
62 P. Rodwald, W. Sobolewski, M. Rodwald
Przed transakcją adresy wejściowe (…WB6o, ...oggM, ..., ...317X) dysponują
sumaryczną kwotą 35.56430611 BTC. Podczas transakcji środki zostają rozdyspono-
wane na adresy wyjściowe (...Hv9d, ...CTCE, ..., ...Z99a), przy opłacie transakcyjnej
wwysokości 0.0005 BTC.
Jeszcze innym przykładem transakcji typu n → m jest transakcja posiadająca
wiele adresów po stronie wyjściowej itylko jeden adres po stronie wejściowej. Czę-
stotliwość występowania transakcji tego typu została przedstawiona na wykresie 6.
Jej procentowy udział dla wszystkich transakcji istniejących włańcuchu bloków do
końca marca 2018 roku wynosi 4,00%.
Jest to transakcja najczęściej dokonywana przez pojedynczych użytkowników,
chcących oszczędzić na opłatach transakcyjnych (wówczas liczba adresów wyjścio-
wych jest relatywnie mała — kilka), lub duże podmioty takie jak giełdy czy kantory
Rys. 6. Schemat transakcji n → m (wiele wejść iwiele wyjść)
Wykres 5. Liczba transakcji n → m (wiele wejść iwiele wyjść) wujęciu miesięcznym
63Metody deanonimizacji użytkowników wybranych kryptowalut...
przekazujące środki zjednego zeswoich adresów na adresy swoich użytkowników
(wówczas liczba adresów wyjściowych jest stosunkowo duża — kilkanaście, kilka-
dziesiąt). Przykład takiej transakcji został zaprezentowany na rysunku iwtabeli 7.
T
Przykład transakcji n → m, wiele wejść iwiele wyjść (źródło: blochchain.info)
Wykres 6. Liczba transakcji n → m (jedno wejście iwiele wyjść) wujęciu miesięcznym
64 P. Rodwald, W. Sobolewski, M. Rodwald
Przed transakcją adres wejściowy A (…Vzna) dysponuje kwotą 0.77839253 BTC.
Podczas transakcji środki zostają przekazane na adresy wyjściowe (...QJwa, ...Dntn,
...R4Yz, ...x9Y2), aresztę stanowi opłata transakcyjna wwysokości 0.00044276 BTC.
Rys. 7. Schemat transakcji n → m (jedno wejście iwiele wyjść)
T
Przykład transakcji n → m, jedno wejście iwiele wyjść (źródło: blochchain.info)
3.4. Transakcja 0 → 1
Transakcja posiadająca zero adresów po stronie wejściowej ijeden adres po
stronie wyjściowej. Jest związana zwydobyciem nowego bloku przez górnika.
Liczba występowania transakcji tego typu została przedstawiona na wykresie 7. Jej
procentowy udział dla wszystkich transakcji istniejących włańcuchu bloków do
końca marca 2018 roku wynosi 0,17%.
Jest to zawsze pierwsza transakcja wnowym bloku, ana jej wysokość składają się
dwie składowe. Pierwsza jest nagrodą za wydobycie danego bloku, jej kwota uzależ-
niona jest od aktualne obowiązującego wynagrodzenia za wydobyty blok: pierwotnie
było to 50 BTC, od listopada 2012 roku 25 BTC, od lipca 2016 roku 12,5 BTC itd.
Drugą składową stanowi natomiast suma opłat transakcyjnych transakcji zawartych
wdanym bloku. Przykład takiej transakcji został zaprezentowany na rysunku 8.
65Metody deanonimizacji użytkowników wybranych kryptowalut...
Jako pierwszy przykład wybrano pierwszy blok, jaki został kiedykolwiek wydo-
byty. Operacja ta miała miejsce wstyczniu 2009 roku izostała zrealizowana przez
Satoshi Nakamoto. Na adres A (1A1zP1eP5QGe2DMPTfTL5SLmv7DivfNa) została
przekazana kwota 50 BTC, co zostało zaprezentowane wtabeli 8.
Rys. 8. Schemat transakcji 0 → 1
T
Przykład transakcji 0 → 1, pierwszy wydobyty blok (źródło: blochchain.info)
Innym przykładem będzie bardziej współczesny blok, który został zaprezento-
wany wtabeli 9, pokazujący udział opłat transakcyjnych. Ze względu na fakt, żeaktu-
alnie większość górników wydobywa bitcoiny poprzez spółdzielnie wydobywcze,
łącząc swoje moce obliczeniowe, większość transakcji tego typu traa nie na adresy
pojedynczych użytkowników, lecz właśnie na adresy spółdzielni wydobywczych. Na
adres A (…59rB) została przekazana kwota 12.77401803 BTC, na którą składają się
dwa czynniki: 12.5 BTC — nagroda za wydobyty blok oraz 0.27401803 BTC — suma
wszystkich opłat transakcyjnych należących do danego bloku.
Wykres 7. Liczba transakcji 0 → 1
66 P. Rodwald, W. Sobolewski, M. Rodwald
3.5. Porównanie częstości występowania transakcji
Dla uwidocznienia zmian zachodzących wczasie dotyczących typów transakcji
znajdujących się włańcuchu bloków dodatkowo zostały zaprezentowane wykresy
wszystkich transakcji zarówno wujęciu bezwzględnym (wykres 8), jak iwujęciu
procentowym (wykres 9). Kolory na wykresach odpowiadają kolorom dla poszcze-
gólnych typów transakcji zaprezentowanych na poprzednich wykresach.
T
Przykład transakcji 0 → 1, współczesna transakcja (źródło: blochchain.info)
Wykres 8. Typy transakcji wujęciu miesięcznym (wartości bezwzględne)
Wykres 9. Typy transakcji wujęciu miesięcznym (wartości procentowe)
67Metody deanonimizacji użytkowników wybranych kryptowalut...
4. Heurystyki
Znając typy przeprowadzanych transakcji, można przedstawić heurystyki12
pozwalające ustalać, które adresy należą do poszczególnych kopalni, kantorów,
giełd, anawet pojedynczych użytkowników. Autorzy wniniejszej pracy skupiają
się wyłącznie na technikach pozwalających agregować adresy wgrupy należące
do tego samego „identykowalnego” podmiotu, którym może być na przykład
giełda kryptowalut, sklep internetowy akceptujący bitcoiny czy też pojedynczy
użytkownik. Mając wiedzę oprzynależności danego adresu do konkretnego pod-
miotu, zainteresowane organy (na przykład organy ścigania) mogą zwrócić się do
zidentykowanego podmiotu zżądaniem ujawnienia danych osobowych właściciela
badanego adresu. Wszystkie metody grupujące adresy wklastry (ang. clustering)
pozwalają identykować dany podmiot, gdy choć jeden adres należący do danego
klastra zostanie poprawnie przyporządkowany do realnego podmiotu (giełdy, sklepu
itp.). W łańcuchu bloków takiej informacji jednak nie znajdziemy. Na szczęście
zpomocą przychodzą nam zasoby Internetu, gdzie wwielu miejscach (fora dysku-
syjne związane zkryptowalutami, strony podmiotów ujawniające ich adresy BTC
wcelu dokonywania darowizn itp.) możemy znaleźć informacje jednoznacznie
wiążącą dany adres zkonkretnym podmiotem.
Tematyka agregacji adresów poruszana była wliteraturze szczególnie intensyw-
nie w2013 roku. Wówczas to Ron iShamir [2] przeanalizowali łańcuch transakcji,
pokazując wyniki statystyczne dla typowych zachowań użytkowników sieci Bitcoin,
bazując na budowanych grafach transakcyjnych. W tym samym roku wkilku pracach
[3], [4], [5], [6] pokazano heurystyki pozwalające grupować adresy tak, żezdużą
dozą prawdopodobieństwa można przyjąć, żenależą one do tego samego podmiotu.
4.1. Heurystyka 1
Pierwsza heurystyka, prezentowana wwyżej cytowanych pracach inazywana tam
idioms-of-use lub multi-input transactions, polega na grupowaniu adresów wejściowych
wchodzących wskład pojedynczej transakcji. Jeśli dwa lub większa liczba adresów wej-
ściowych wchodzi wskład pojedynczej transakcji, to zakładamy, żesą one kontrolowane
przez ten sam podmiot. Heurystykę tę zawęzimy wyłącznie do adresów wejściowych
wymagających tylko jednego klucza prywatnego izdeniujemy ją następująco:
Heurystyka 1. Jeśli dwa lub większa liczba adresów wejściowych wymagających
użycia pojedynczego klucza prywatnego wchodzi wskład pojedynczej transakcji, to
są one kontrolowane przez ten sam podmiot.
12 Pod pojęciem heurystyki rozumie się tutaj metodę znajdowania rozwiązań, dla której nie ma
gwarancji znalezienia rozwiązania prawidłowego.
68 P. Rodwald, W. Sobolewski, M. Rodwald
Praktyczna implementacja heurystyki 1 jest stosunkowo łatwa. Dla nowego
bloku pojawiającego się wsieci Bitcoin wystarczy sprawdzić transakcje wchodzące
wjego skład, anastępnie dla każdej transakcji dokonać grupowania adresów
wejściowych wklastry zgodnie zpowyższą heurystyką. Jeśli wśród adresów wej-
ściowych będzie adres zidentykowany wcześniej wsystemie iprzyporządkowany
konkretnemu podmiotowi, to nowe adresy wejściowe także zostaną automatycznie
przypisane do danego podmiotu. Do przykładowych transakcji podlegających pod
niniejszą heurystykę należą transakcje zaprezentowane na rysunkach 4 (transakcja
konsolidacyjna), 5 (płatność zkilku adresów użytkownika zresztą), 6 (transakcja
charakterystyczna dla dużych podmiotów takich jak giełdy czy kantory).
4.2. Heurystyka 2
Druga heurystyka polega na grupowaniu jednego zadresów wyjściowych (tak
zwanego adresu reszty) zadresami wejściowymi wchodzącymi wskład pojedynczej
transakcji. Jeśli transakcja zawiera dwa adresy wyjściowe, to zakładamy, żejeden
znich kontrolowany jest przez ten sam podmiot co adresy wejściowe. Heurystyka
ta znana jest wliteraturze jako shadow adresses lub change closure.
Heurystyka 2. Jeśli transakcja składa się zdwóch adresów wyjściowych, to jeden
znich kontrolowany jest przez ten sam podmiot co adresy wejściowe.
Heurystyka ta opiera się dodatkowo na założeniu, żeużytkownicy rzadko
przekazują środki do dwóch różnych odbiorców podczas jednej pojedynczej trans-
akcji. Główną trudnością jest tutaj poprawne zidentykowanie adresu reszty spo-
śród dwóch adresów wyjściowych. Jednym zpodejść jest sprawdzenie, czy jeden
zadresów nigdy wcześniej nie występował włańcuchu bloków. Jeśli tak, to można
zdużym prawdopodobieństwem założyć, żejest to właśnie adres reszty, gdyż wiele
portfeli bitcoinowych działa właśnie wten sposób — tworzy nowy adres dla kwoty
stanowiącej resztę transakcji. Drugim obserwowanym scenariuszem jest przekaza-
nie znacznej kwoty (np. 100 BTC) na pewien adres należący do dużego podmiotu
(np. giełdy) isystematyczne przekazywanie ztego adresu pojedynczych wypłat
(najczęściej małych kwot) na konta użytkowników iprzesłanie reszty (pozostałej
dużej kwoty) na nowo utworzony adres danego podmiotu. Charakterystyczna jest
tutaj systematyczność wwypłatach na kolejnych nowo tworzonych adresach reszt.
Kolejne operacje znajdują się wkolejnych blokach łańcucha bloków lub co kilka
bloków. Trzecim scenariuszem jest transakcja zawierająca kilka adresów wejścio-
wych. Oprogramowanie obsługujące transakcje użytkowników najczęściej działa
wten sposób, żedo wykonania transakcji ookreślonej kwocie dobiera adresy wej-
ściowe tak, aby suma środków znajdujących się na nich była równa lub nieznacznie
większa od kwoty transakcji. Czwarty scenariusz umożliwiający jednoznaczne
69Metody deanonimizacji użytkowników wybranych kryptowalut...
identykowanie adresów reszty, wykorzystujący niniejszą heurystykę, jest związany
zwszystkimi transakcjami, które miały miejsce przed 30 stycznia 2013 roku. Do
tego czasu wocjalnym oprogramowaniu bitcoina znajdował się błąd związany
zgeneratorem liczb pseudolosowych [7]. Błąd ten skutkował tym, żeadres reszty
zawsze pojawiał się jako pierwszy wśród adresów wyjściowych.
4.3. Heurystyka 3
Ostatnia heurystyka polega na identykowaniu właścicieli pojedynczych adresów.
Informacje te można pozyskiwać zwielu źródeł: zwycieków, zistniejących serwisów
internetowych poświęconych deanonimizacji (zostaną one wymienione wdalszej czę-
ści artykułu), zlist dyskusyjnych poświęconych kryptowalutom (użytkownicy często
publikują adresy), zróżnorodnych stron internetowych (część autorów, programistów,
anawet rm zachęca do oferowania im darowizn właśnie poprzez publikację własnych
adresów), pozyskanych wtrakcie realizacji ekspertyz na potrzeby organów procesowych.
5. Implementacja heurystyk
W rozdziale zostaną przedstawione wskazówki implementacyjne pozwalające
skutecznie wdrożyć zaprezentowane heurystyki wrzeczywistych systemach.
5.1. Heurystyka 1
System wykorzystujący heurystykę 1 powinien cyklicznie, na przykład za
każdym razem, gdy nowy blok zostanie dodany do łańcucha bloków, czyli średnio
co 10 minut, pobierać wszystkie transakcje znajdujące się wbloku. Dla każdej
ztransakcji powinien analizować, czy zawiera ona co najmniej dwa adresy wejściowe
rozpoczynające się od cyfry 1 (czyli te wymagające jednego klucza prywatnego do
przekazania środków), ajeśli tak, to sprawdzać, czy dowolny ztych adresów został
już wcześniej zidentykowany (przypisany do konkretnego podmiotu). Jeśli dowolny
zadresów wejściowych był już wcześniej zidentykowany, to pozostałe adresy
wejściowe danej transakcji można przypisać do tego samego podmiotu. Wiele prac
skupiało się na grupowaniu adresów zwykorzystaniem niniejszej heurystyki [3], [4],
[5], [6]. Wnaszym podejściu, dopóki danego adresu nie da się przyporządkować
do konkretnego podmiotu, to ich grupowanie jest bezcelowe inie wnosi wartości
dodanej wprocesie deanonimizacji.
Drugie wykorzystanie tej heurystyki wsystemie powinno następować wmomen-
cie, gdy uda się jednoznacznie przyporządkować nowy adres do konkretnego
podmiotu, na przykład za pomocą heurystyki 3. Wówczas system powinien prze-
analizować wszystkie transakcje występujące włańcuchu bloków zawierające ten
70 P. Rodwald, W. Sobolewski, M. Rodwald
adres po stronie wejściowej. W przypadku znalezienia transakcji zwieloma adresami
wejściowymi przyporządkować je do konkretnego podmiotu, anastępnie wykonać
powyższą procedurę rekurencyjnie dla wszystkich nowo przyporządkowanych
adresów. Implementacja heurystyki 1 może być realizowana wsystemie wsposób
całkowicie zautomatyzowany na przykład przy użyciu CRON-a13.
5.2. Heurystyka 2
Implementacja heurystyki 2 nie jest trywialna do zautomatyzowania. Głów-
nym problemem jest tutaj poprawne zidentykowanie adresu reszty. Wspomniane
wcześniej podejście polegające na sprawdzeniu, czy jeden zadresów nigdy wcześniej
nie występował włańcuchu bloków, może być pomocne, ale nie jest gwarantem
poprawności inależy do niego podchodzić ostrożnie.
Próbując jednak zaimplementować tę heurystykę wrzeczywistym systemie, tak
by była wykonywana automatycznie, możemy zastosować dwa podejścia. Pierwsze
związane jest zdużymi podmiotami. Jeśli wdanej transakcji adres/y wejściowe należą
do jednego podmiotu przyporządkowanego na przykład do kategorii „giełda kryp-
towalut” oraz włańcuchu bloków uda się zidentykować ciąg transakcji ostrukturze
podobnej do tej zaprezentowanej na rysunku 9, wówczas kolejne adresy reszt można
przyporządkować do tego samego podmiotu14.
13 CRON — program do harmonogramowania zadań (programów, komend, skryptów), umożliwia
ich uruchamianie cyklicznie (zgodnie zokreślonym interwałem, na przykład co 10 minut) lub
ookreślonej porze.
14 Zauważyć należy, że przedstawiony ciąg transakcji powinien charakteryzować się kilkoma
cechami: a) pierwszy adres wejściowy powinien dysponować stosunkowo dużą liczbą BTC (jest
to tak zwany hot-wallet służący danemu podmiotowi do realizacji kolejnych wypłat); b) kolejne
transakcje powinny występować zdużą regularnością, na przykład co jeden blok w łańcuchu
bloków; c) kwota przekazywana na adres reszty jest najczęściej znacznie większa od kwoty
przekazywanej użytkownikom.
Rys. 9. Łańcuch transakcji charakterystyczny dla określonej grupy podmiotów umożliwiający auto-
matyczne wykorzystanie heurystyki 2
71Metody deanonimizacji użytkowników wybranych kryptowalut...
Drugie podejście bazuje na transakcjach zkilkoma adresami wejściowymi.
Jeżeli dla wszystkich adresów wejściowych danej transakcji wysokość środków
znajdujących się na każdym znich jest większa od środków przekazanych na jeden
zadresów wyjściowych, to adres ten stanowi adres reszty. Uzasadnienie tego opiera
się na zasadzie działania wielu portfeli. Jeśli wdanym portfelu znajduje się wiele
adresów, na których znajdują się pewne środki, iużytkownik chce dokonać płatności
wwysokości przekraczającej zasobność pojedynczego adresu, wówczas portfel tak
dobiera adresy wejściowe do danej transakcji, aby suma środków znajdujących się
na nich była równa kwocie samej transakcji (co się rzadko zdarza) lub niewiele ją
przekraczała.
Rys. 10. Schemat transakcji zawierającej kilka adresów wejściowych umożliwiający automatyczne
wykorzystanie heurystyki 2
Trzecie podejście do praktycznej implementacji bazuje na opisanym wcześniej
błędzie wocjalnym kliencie bitcoina. Dla wszystkich historycznych transakcji
mających dwa adresy wyjściowe, odbywających się przed 3 lutego 2013 r. (wówczas
została opublikowana poprawiona wersja klienta bitcoin), adres reszty znajduje się
zawsze na pierwszej pozycji.
Dodać jednak należy, żeimplementacja tej heurystyki wymaga kompromisu
pomiędzy jej skutecznością (rozumianą jako liczba zidentykowanych adresów reszty)
apoprawnością (liczba poprawnie zidentykowanych adresów reszty). Wsystemach
tworzonych na potrzeby ekspertyz procesowych poprawność ma priorytetowe
znaczenie idla wielu zidentykowanych łańcuchów transakcji przedstawionych
na rysunku 9 dość szybko traci się pewność co do zidentykowania danego adresu
jako adresu reszty ipozostała część łańcucha zostaje odrzucona.
72 P. Rodwald, W. Sobolewski, M. Rodwald
5.3. Heurystyka 3
Ostatnia zprezentowanych heurystyk jest niemal niemożliwa do zautomatyzowa-
nia. Znalezienie wsieci Internet konkretnego adresu wymaga najczęściej „wczytania
się” wtreść danego komentarza, postu, strony internetowej. Zautomatyzowaniu może
podlegać proces cyklicznego wyszukiwania nowo występujących adresów włańcuchu
bloków pod kątem ich istnienia wsieci Internet. Odpowiada to stworzeniu robota
indeksującego (ang. web-crawler) zbierającego informacje okonkretnym adresie na
stronach (najczęściej poświęconych kryptowalutom) znajdujących się wsieci Inter-
net. Jednak samo przypisanie zidentykowanego adresu do rzeczywistego podmiotu
wymaga już czynnika ludzkiego. Podobnie wprzypadku adresów ipodmiotów nimi
zarządzających otrzymywanych od organów procesowych. Mimo żenie mamy tutaj
problemu wiarygodności pozyskanych informacji, to jednak itak należy „ręcznie”
przyporządkowywać je do konkretnych podmiotów czy osób.
6. Studium przypadków
W tym punkcie przedstawionych zostanie kilka rzeczywistych scenariuszy,
które zostały zidentykowane podczas przeprowadzanych przez autorów eksper-
tyz. Pierwszy znich polega na wykorzystaniu heurystyki 1. Na podstawie zleconej
ekspertyzy wiadomo było, żekilka adresów (m.in.: …jq6j, …Awzn, …mQJ5) należy
do pewnego podmiotu (w tym przypadku konkretnej osoby). Dzięki znalezieniu
transakcji konsolidacyjnej przedstawionej wtabeli 10 zidentykowano inne adresy
należące do tego samego podmiotu (…EFLa, …3VJf), które następnie zostały pod-
dane dalszej analizie śledczej.
T
Przykład rzeczywistego użycia heurystyki 1 — transakcja konsolidacyjna
(źródło: blochchain.info)
Drugi scenariusz pokazuje praktyczne wykorzystanie heurystyki 2. Na pod-
stawie zleconej ekspertyzy wiadomo było, żeadres …vUuu należy do pewnego
dużego podmiotu. Na podstawie heurystyki 2 wywnioskowano, żeadres …nLM5
także należy do tego samego podmiotu (stanowi adres reszty). Wniosek ten został
73Metody deanonimizacji użytkowników wybranych kryptowalut...
wyciągnięty na podstawie trzech faktów: wysokości środków przekazywanych
pomiędzy adresami, tego, żeadres reszty stanowi nowy adres — niewystępujący
wcześniej włańcuchu bloków, akolejna transakcja dla adresu reszty jest podobna
do tej zaprezentowanej wtabeli 11 iwystępuje wbloku odwa numery większym
(potwierdzonym jakieś 20 minut później).
T
Przykład rzeczywistego użycia heurystyki 2 (źródło: blochchain.info)
Trzeci scenariusz pokazuje wykorzystanie wiadomości znajdujących się wsieci
Internet umożliwiających przyporządkowanie konkretnego adresu do podmiotu.
W wyniku działania robota indeksującego przeszukującego serwis bitcointalk.org
na jednej zpodstron [11] zidentykowano adres (…WG7q), który można przy-
porządkować do (nieistniejącej już) giełdy MtGox. Oczywiście znacznie bardziej
wartościowe iwiarygodne są dane pozyskiwane od organów procesowych przy
wykonywaniu ekspertyz sądowych, jednak ich liczba nie pozwala na wyeliminowanie
zasobów Internetu jako źródła danych.
7. Uwarunkowania prawne
O ile przed 2018 r. wPolsce nie istniały mechanizmy zabraniające podmio-
tom zajmującym się obrotem kryptowalutami (giełdy, kantory) przeprowadzania
transakcji pomiędzy anonimowymi użytkownikami, otyle aktualnie każdy taki
podmiot podlega pod regulacje stosownych ustaw [12], [13] ijego użytkownicy
są identykowalni15. W szczególności ustawa oprzeciwdziałaniu praniu pieniędzy
oraz nansowaniu terroryzmu [13] deniuje waluty wirtualne irozszerza zakres
„instytucji obowiązanych” opodmioty świadczące usługi wzakresie wymiany
pomiędzy walutami wirtualnymi iśrodkami płatniczymi czy też wymiany pomiędzy
walutami wirtualnymi. Podobna sytuacja ma miejsce wwielu innych krajach. Na
przykład wUSA podmioty te podlegają pod regulacje AML16/KYC17 nakazujące
15 Aktualnie założenie konta w systemach zajmujących się obrotem kryptowalutami (giełdy,
kantory) wymaga potwierdzenia zarówno tożsamości (np. dowód osobisty, paszport, prawo
jazdy), jak iadresu (np. rachunek za prąd, wodę, gaz; pismo urzędowe zZUS lub US).
16 AML (ang. anti-money laundering).
17 KYC (ang. know your customer).
74 P. Rodwald, W. Sobolewski, M. Rodwald
podmiotom zajmującym się obrotem walutami wirtualnymi werykację iprzecho-
wywanie danych identykujących ich użytkowników. Umożliwia to jednoznaczną
identykację właścicieli adresów.
Z punktu widzenia organów ścigania wyzwaniem jest właśnie identykacja pod-
miotu, do którego należy dany adres ido którego należy się zwrócić wcelu otrzymania
danych osobowych właściciela adresu. W przypadkach gdy znany jest numer telefonu,
aorgany chcą ustalić tożsamość abonenta polskich numerów telefonów komórkowych
lub gdy organy dysponują numerem IMEI telefonu ichcą ustalić, zjakim numerem
karty SIM współpracował onwdanym okresie, mogą wysłać postanowienia ożądaniu
udostępnienia danych telekomunikacyjnych do wszystkich operatorów funkcjonują-
cych na krajowym rynku. Podobna sytuacja może mieć miejsce wprzypadku poszu-
kiwania krajowych kont bankowych konkretnego podejrzanego poprzez wysłanie
postanowień ozwolnieniu ztajemnicy bankowej do wszystkich możliwych banków
wPolsce. Sytuacje takie są powszechne iczęsto stosowane wtoku prowadzonych
postępowań przygotowawczych. W przypadku walut wirtualnych sytuacja znacznie
się komplikuje. Sama znajomość adresu (konkretnej waluty, na przykład bitcoina)
nie przybliża bezpośrednio prowadzącego postępowanie do zidentykowania jego
posiadacza. Adres może należeć do dużego podmiotu (giełdy, kantoru) mającego swoją
siedzibę wdowolnej jurysdykcji (krajowej lub zagranicznej), może też być adresem
wygenerowanym przez samego użytkownika. Wysłanie postanowień ozwolnieniu
ztajemnicy do wszystkich możliwych podmiotów zajmujących się obrotem krypto-
walutami, których są setki na światowym rynku, jest praktycznie niemal niemożliwe
do zrealizowania. Stąd istnienie systemów informatycznych wspomagających proces
deanonimizacji poprzez wskazanie, czy dany adres należy do jakiegoś podmiotu,
wznaczący usprawniałoby iprzyspieszało tok postępowania.
8. Przegląd narzędzi wspomagających deanonimizację
Realna potrzeba deanonimizacji użytkowników sieci Bitcoin, wpołączeniu
zwymienionymi wyżej heurystykami, spowodowała powstanie kilku narzędzi wspo-
magających ten proces. Do projektów opartych na licencji wolnego oprogramowania
zaliczyć można: nierozwijany już blockparser [14], czy bitcoin-deanonymization [15]
lub address-reuse-tracker [16]. Innym wartościowym projektem jest walletexplorer
[17] dostarczający informację ozidentykowanych dużych podmiotach iich adre-
sach oraz bitconeview [18], [19] wizualizujący przepływy bitcoinów, zaczynając od
zdeniowanej przez użytkownika transakcji aż do określonego przez niego czasu.
Do komercyjnych projektów, do których autorom udało się uzyskać tymczasowy
dostęp ije przetestować, należą: Chainanalysis [20], [21], Scorechain [22] oraz Qlue
[23]. Wspomnieć jeszcze należy osystemach Elliptic [24], Skry [25] czy Numisight
[26], do których jednak autorom nie udało się uzyskać dostępu.
75Metody deanonimizacji użytkowników wybranych kryptowalut...
Autorzy, wychodząc naprzeciw potrzebom polskich organów wymiaru spra-
wiedliwości iorganów ścigania, zaprojektowali prototyp autorskiego systemu [27],
opierając się dodatkowo na najlepszych praktykach dostarczanych przez Europol
[28]. Stworzony prototyp składa się koncepcyjnie zkilku modułów funkcjonalnych,
do najważniejszych znich należą: moduł przeszukujący zasoby sieci Internet wcelu
wyszukiwania adresów iprzyporządkowywania ich do konkretnych podmiotów
oraz moduł agregujący adresy za pomocą przedstawionych wniniejszej pracy
heurystyk. Aktualnie, dzięki pozyskaniu rzeczywistych adresów wraz zodpowiada-
jącymi im podmiotami zkilku źródeł (między innymi z: ekspertyz realizowanych
przez autorów na zlecenia organów procesowych; licznych źródeł internetowych,
takich jak wspomniane już [17] czy [29], [30]; oraz innych źródeł, które nie mogą
być ujawnione), system umożliwia bezpośrednią deanonimizację, rozumianą jako
przyporządkowanie adresu do konkretnego podmiotu, dla ponad 100 mln adresów18.
9. Podsumowanie
Satoshi Nakamoto wswojej pracy [1] wskazał istnienie heurystyki (oznaczanej
wniniejszej pracy jako heurystyka 1), która wpołączeniu zujawnieniem właściciela
adresu powoduje deanonimizację także innych transakcji do niego należących.
Pozostałe heurystyki zaprezentowane wniniejszej pracy, mimo żenie są idealne,
to jednak przy poprawnej implementacji znacznie ułatwiają proces deanonimizacji.
Istnienie skutecznych narzędzi na świecie iich brak na krajowym rynku zachęcił
autorów do podjęcia próby tworzenia autorskiego rozwiązania ukierunkowanego na
potrzeby krajowych organów procesowych. Powyższe podejście deanonimizacyjne
można zastosować także do wielu innych kryptowalut, zwanych potocznie altco-
inami19, charakteryzujących się pseudoanonimowością (np. ethereum). Natomiast
wprzypadku altcoinów gwarantujących anonimowość wswojej konstrukcji (np.
Zcash, Monero) zaprezentowane wpracy heurystyki (1 i2) nie znajdą już oczywi-
ście zastosowania.
Źródło nansowania pracy — środki własne autorów.
Artykuł wpłynął do redakcji 18.04.2018 r. Zwerykowaną wersję po recenzjach otrzymano 9.11.2018 r.
Przemysław Rodwald https://orcid.org/0000-0003-4261-8688
Witold Sobolewski https://orcid.org/0000-0003-4606-9604
Maja Rodwald https://orcid.org/0000-0002-7064-8879
18 Sumaryczna liczba unikalnych adresów BTC może zostać oszacowana na przykład w serwisie
https://blockchair.com/bitcoin/outputs iwynosi ponad 900 mln.
19 Altcoin — potoczne określenie wszystkich pozostałych kryptowalut poza bitcoinem; nazwa
pochodzi od angielskiego zwrotu alternative coins — waluty alternatywne.
76 P. Rodwald, W. Sobolewski, M. Rodwald
LITERATURA
[1] N S., Bitcoin: A peer-to-peer electronic cash system, 2008, https://bitcoin.org/bitcoin.
pdf [dostęp 31.03.2018].
[2] R D., S A., Quantitative analysis ofthe full bitcoin transaction graph, International
Conference onFinancial Cryptography and Data Security, Springer, Berlin, Heidelberg, 2013,
s. 6-24.
[3] A E., K G.O., R M., S T., C S., Evaluating User Privacy
inBitcoin, Financial Cryptography and Data Security, FC 2013, Lecture Notes inComputer
Science, vol. 7859, Springer, Berlin, Heidelberg, 2013, s. 34-51.
[4] M S., P M., J G., L K., MC D., V G.M., S
S., A stful ofbitcoins: characterizing payments among men with no names, Proceedings ofthe
2013 conference onInternet measurement conference, ACM, 2013, s. 127-140.
[5] R F., H M., An analysis ofanonymity inthe bitcoin system, Security and privacy
insocial networks, Springer, New York, 2013, s. 197-223.
[6] O M.S., e bitcoin transaction graph anonymity. Master’s thesis, Universitat Oberta de
Catalunya, 2013.
[7] S M., M F., Z S., BitIodine: Extracting Intelligence from the Bitcoin Network,
Financial Cryptography and Data Security, FC 2014, Lecture Notes inComputer Science, vol.
8437, Springer, Berlin, Heidelberg, 2014, s. 457-468.
[8] F M., K M.S., P S., Bitcoin transaction graph analysis, arXiv preprint
arXiv:1502.01657, 2015.
[9] C M., L C., R S., A Survey onSecurity and Privacy Issues ofBitcoin, arXiv preprint
arXiv:1706.00916, 2017.
[10] A C.G., G Y.R., K M., Blockchain: A Graph Primer, arXiv preprint
arXiv:1708.08749, 2017.
[11] https://bitcointalk.org/index.php?topic=481949.msg5305138 [dostęp 31.03.2018].
[12] Ustawa zdnia 19 sierpnia 2011 r. ousługach płatniczych, Dz.U. 2011 nr 199, poz. 1175.
[13] Ustawa zdnia 1 marca 2018 r. oprzeciwdziałaniu praniu pieniędzy oraz nansowaniu terroryzmu,
Dz.U. 2018 poz. 723.
[14] https://github.com/znort987/blockparser [dostęp 31.03.2018].
[15] https://github.com/gfanti/bitcoin-deanonymization [dostęp 31.03.2018].
[16] https://github.com/kristovatlas/address-reuse-tracker [dostęp 31.03.2018].
[17] https://www.walletexplorer.com [dostęp 31.03.2018].
[18] http://www.bitconeview.info [dostęp 31.03.2018].
[19] D B G., D D V., P M., P M., R V., T R., BitCo-
neView: Visualization ofFlows inthe Bitcoin Transaction Graph, IEEE Symposium onVisualization
for Cyber Security (VizSec 2015), 2015.
[20] https://www.chainanalysis.com [dostęp 31.03.2018].
[21] Chainalysis Inc., Chainalysis Reactor guide, version 3.5, 2017.
[22] https://bitcoin.scorechain.com [dostęp 31.03.2018].
[23] https://qlue.io [dostęp 31.03.2018].
[24] https://www.elliptic.co [dostęp 31.03.2018].
[25] https://skry.tech [dostęp 31.03.2018].
[26] http://numisight.com [dostęp 31.03.2018].
77Metody deanonimizacji użytkowników wybranych kryptowalut...
[27] https://www.sydeus.pl/index.php [dostęp 31.03.2018].
[28] Europol, A guide for bitcoin investigators, version 1.06, 2017.
[29] https://www.blocktrail.com [dostęp 31.03.2018].
[30] http://blockchain.exposed [dostęp 31.03.2018].
P. RODWALD, W. SOBOLEWSKI, M. RODWALD
Deanonymization of bitcoin cryptocurrency users
Abstract. e aim ofthis article is to show how one can deanonymize users ofcryptocurrencies. To this
end the most popular ofthe cryptocurrencies, i.e. bitcoin is used as anexample. At the beginning, the
basic concepts about cryptocurrencies are presented. Aerwards, our approach to systematize the types
oftransactions existing inthe blockchain is proposed. is part is enriched with the graphs showing
their quantitative occurrence inthe blockchain. e main part ofthis article presents the heuristics use
to deanonymize users. A few practical pieces ofadvice for implementation ofthe presented heuristics
inthe real deanonymizing system are included. en the real case studies are introduced. ey are
supported with comments based onthe experience from court trials carried out by the authors. e
nal part contains legal regulations and existing tools supporting the deanonymizing process.
Keywords: deanonymization, cryptocurrency, bitcoin
DOI: 10.5604/01.3001.0013.1466