Cryptocurrency Forensics

Cryptocurrency Forensics. Część 1 – Podstawy i pojęcia.

autor: TMG


W serii artykułów Cryptocurrency Forensics postaramy się przybliżyć mechanizmy stosowane w analizie przepływów transakcji kryptowalutowych.


Zaczniemy od podstawowych pojęć związanych z takimi transakcjami (czy szerzej blockchainem) – na czym skupimy się w tym artykule. W następnych wpisach sięgniemy po tematy bardziej zaawansowane, będące sednem takiej analizy – czyli śledzenie przepływów między portfelami, identyfikację miejsc do których trafiają środki aż po finalne odnajdywanie i odzyskiwanie przywłaszczonych przez przestępców kryptowalut.


Celem artykułu jest podanie tej tematyki w sposób jak najprostszy i przystępny dla czytelnika wchodzącego dopiero w to zagadnienie.


Żebyśmy mogli rozpocząć analizę przepływów krypto, musimy wprowadzić pojęcia które będą przewijały się w każdym z aspektów takiej analizy.


1. Czym jest tajemniczy blockchain na którym bazują kryptowaluty ?

Nazwa blockchain, wywodzi się z konceptu bloków danych (block) zawierających wewnątrz informacje i połączonych ze sobą łańcuchowo (chain).


W najprostszym ujęciu – jest to technologia cyfrowa umożliwiająca rejestrowanie transferów własności aktywów cyfrowych (np. krypto) między członkami sieci.


W ujęciu dokładniejszym – sieć blockchain rejestruje transakcje (stan i zmiany własności) w rozproszonej bazie danych. Przenoszenie własności odbywa się poprzez kryptograficzne podpisy i konsensus sieci, aktywa istnieją jako wpisy w niezmiennym, otwartym i współdzielonym przez uczestników sieci, rejestrze.


Takie łańcuchowe połączenie zapewnia, że:

  • każdy blok zawiera informację jaki blok znajduje się przed nim w danym łańcuchu (wpisany w dany blok hash poprzedniego bloku) oraz zapis potwierdzonych transakcji – gwarantuje to niezmienialność dokonanych już i potwierdzonych zapisów,
  • sieć node’ów (czyli de facto komputerów będących częścią danego łańcucha – będziemy je od tej pory nazywać węzłami) otrzymuje kopie takiego rejestru, publikowaną na bieżąco przy każdym dołożeniu nowego bloku – gwarantuje to rozproszenie i decentralizację zapisów,
  • sieć waliduje każdy nowy blok (robią to węzły o statusie miner/ górnik lub validator/ walidator, zależnie od typu blockchaina – omówimy to w dalszej części tego artykułu) przed dodaniem do łańcucha i rejestru – gwarantuje to potwierdzenie takich zapisów z wielu źródeł równocześnie,
  • rejestr bloków (a zatem i wszystkich dotychczasowych transakcji krypto), z ang. open ledger, jest publicznie jawny, rozproszony pomiędzy węzłami, niezmienny wstecznie. Możemy go przeglądać – zapewnia to transparentność,
  • dane posiadaczy danego zasobu są z założenia niejawne publicznie – dany „portfel” do którego trafia krypto, jest po prostu adresem w sieci – choć jak wspomniano wcześniej, przepływy są publiczne i dające się analizować (adres nie jest wprost powiązany z tożsamością, ale może zostać zidentyfikowany),
  • każdy nowy blok jest weryfikowany przez sieć węzłów pod kątem prawdziwości informacji w nim zawartych (przynależność do danej osoby, informacje o blokach poprzednich w łańcuchu. lista transakcji) – jeżeli blok taki był manipulowany (zmieniany) to zostanie on odrzucony przez sieć i nie zostanie „dołożony” do łańcucha i rejestru.

Takie współdzielenie informacji (bloków, łańcucha, rejestru) jest najważniejszą ideą blockchaina – wiedza o tym kto czym dysponuje jest współdzielona przez całą sieć węzłów (społeczność), wszyscy mają dostęp do tej samej informacji – mamy decentralizację (co z kolei przekłada się np. przy kryptowalutach na brak instytucji które, tak jak w świecie pieniądza fizycznego, posiadają nad nim całkowitą kontrolę – państwo, bank itd.) oraz publiczne i rozproszone potwierdzanie autentyczności danego bloku z danymi.


2. Czy kryptowaluta to blockchain ?

Kryptowaluta to nie blockchain, kryptowaluta jest informacją o własności danej jednostki, przenoszoną przy użyciu technologii blockchain między osobami (przenoszenie tej własności).


Każda główna sieć (np. Bitcoin, Ethereum) ma swój odrębny łańcuch (obecnie istnieje około 20 tysięcy takich projektów). Każdy taki łańcuch to odrębny blockchain (należy jednak wspomnieć, że wiele kryptowalut działa jako tokeny na już istniejących blockchainach, a nie na własnym łańcuchu – omówimy to w dalszej części artykułu).


3. Jak przebiega transakcja krypto ?

W punkcie poprzednim pojawiło się pojęcie otwartego rejestru (open ledger) – to w nim właśnie będą rejestrowane wszelkie przeniesienia własności jednostki krypto (kto posiadał ją wcześniej, kto posiada ją obecnie, jak wygląda jej aktualny zasób w danym portfelu).


Póki co, nie interesuje nas konkretna implementacja (np. Bitcoin czy Ethereum) w sieci blockchain.


Rys.1 Ideowy przepływ transakcji krypto w sieci blockchain.

Ideowy przepływ transakcji krypto w sieci blockchain.


4. Skąd biorą się nowe bloki w blockchainie?

Wcześniej wspomniane zostały węzły ze statusem miner czy validator będą odpowiedzialne za dołączanie nowych bloków do łańcucha (oraz walidację transakcji, które do tego bloku wejdą).


Minerzy istnieją między innymi w sieci Bitcoina (implementuje ona mechanizm Proof of Work, w skrócie PoW), walidatorzy – np. w sieci Ethereum (tu z kolei mamy mechanizm Proof of Stake, w skrócie PoS) – omówimy pobieżnie obydwa te przypadki (bez szczegółowego zagłębiania się w detale), żeby pokazać skąd biorą się nowe bloki i jakie są różnice pomiędzy tymi dwoma podejściami.


Mechanizm PoW.

Węzły o statusie miner (górnik), po opublikowaniu/ ogłoszeniu transakcji w sieci blockchaina, przygotowują blok zawierający wiele transakcji (w Bitcoinie średnio 3 tysiące transakcji na blok) i „ścigają się” w znalezieniu rozwiązania zagadki kryptograficznej dla całego bloku (hash spełniający warunek trudności).


Robią to zużywając zasoby obliczeniowe procesora/ maszyny, czas oraz energię elektryczną.


Ten kto pierwszy „znajdzie” poprawny blok otrzyma nagrodę w postaci kryptowaluty.


Pozostali górnicy, widząc zaakceptowany blok i przyznaną nagrodę, porzucają swoje dotychczasowe obliczenia, aktualizują swój lokalny rejestr do nowego stanu i zaczynają „wyścig” od nowa, przygotowując kolejny blok z nadzieją na nagrodę.


Dzięki temu mechanizmowi sieć pozostaje zsynchronizowana, a stan rejestru jest spójny u wszystkich uczestników (węzły).


Mechanizm PoS.

Mechanizm Proof of Stake w Ethereum działa podobnie do PoW pod względem celu (dodawanie bloków i zabezpieczenie sieci), ale zupełnie inaczej wybiera „zwycięzcę” i nie wymaga „kopania” (czyli wyścigu na wielkość mocy obliczeniowej).


Walidatorzy blokują swoje środki (krypto) jako zabezpieczenie. Im więcej krypto zablokuje dany walidator, tym częściej sieć wybiera go do proponowania i zatwierdzania nowych bloków.


Taka stawka (stake) jest „zamrażana” (zastaw) i służy jako zabezpieczenie – jeśli walidator będzie próbował oszukiwać, część jego środków może przepaść (tzw. slashing). W zamian za uczciwe działanie walidator regularnie otrzymuje nagrody w kryptowalucie.


Czas w PoS jest podzielony na krótkie sloty (kilkanaście sekund). W każdym slocie protokół pseudolosowo wybiera jednego walidatora, który ma prawo zaproponować nowy blok z transakcjami. Inni walidatorzy tworzą komitety głosujące – sprawdzają poprawność bloku (podpisy, saldo, zasady protokołu) i oddają głosy. Jeśli zdecydowana większość głosów potwierdzi blok, zostaje on dołączony do łańcucha, a walidator proponujący oraz walidatorzy głosujący za przyjęciem otrzymują nagrody.


5. Czym są tokeny?

To cyfrowe aktywa, które są tworzone i zarządzane na istniejącej sieci blockchain (nie posiadają własnego łańcucha ale go współdzielą), najczęściej przy użyciu inteligentnych kontraktów (z ang. smart contracts – rozwiniemy to w następnych częściach serii).


W przeciwieństwie do kryptowalut które działają na własnych blockchainach (np. Bitcoin czy Ethereum – inaczej nazywanych też coinami), tokeny są emitowane na platformach typu Ethereum (współdzielą łańcuch) i mogą reprezentować różne wartości lub prawa – np. udział w firmie, dostęp do usługi, punkty lojalnościowe, udział w projekcie, przedmiot w grze itd.).


Można wyobrazić sobie, że blockchain to autostrada, token to samochód a smart kontrakt to przepisy ruchu.


6. Gdzie trzymamy kryptowaluty?

Kryptowaluty można przechowywać w portfelach (wallets) lub na giełdach kryptowalut.


Ok ale czym są te portfele?

Portfel to aplikacja lub urządzenie (np. pendrive), które generuje i przechowuje parę kluczy: publiczny (na jego podstawie tworzony jest adres portfela, z ang. public key) i prywatny (hasło do portfela, z ang. private key).​


Trzeba tu zaznaczyć, że portfel przechowuje klucze prywatne, a nie same kryptowaluty (które fizycznie „istnieją” w sieci blockchain).


Adres portfela podawany jest innym użytkownikom żeby mogli wysłać środki, natomiast klucz prywatny nie jest ujawniany (jego utrata oznacza utratę dostępu do środków).


Portfele możemy podzielić na 3 grupy:

a) cold wallets/ cold storage – czyli portfele sprzętowe (dyski twarde, pendrive’y i inne urządzenia fizyczne), odłączone od sieci. Najczęściej używane wtedy kiedy przez dłuższy czas nie zamierzamy nic z krypto robić (sprzedaż, płatność, wymiana).

Uznawane za najbezpieczniejszy sposób przechowywania – hakerzy nie mają dostępu z sieci.

b) hot wallet – czyli portfel widoczny w sieci, głównie pod postacią aplikacji (komputer, telefon, web), jest przez to także bardziej narażony na utratę środków.

Używany najczęściej do codziennych płatności i wtedy kiedy przechowywane tam środki mają być szybko dostępne.

c) portfel papierowy – inna forma cold storage – klucz prywatny zapisany na kartce/metalu i schowany w bezpiecznym miejscu.


Bezpieczne przed atakami sieciowymi, ale podatne na zgubienie lub zniszczenie nośnika – forma odchodząca powoli w zapomnienie.


Ok ale czym jest giełda kryptowalut?

To platforma (serwis web lub aplikacja), na której można kupować, sprzedawać i wymieniać krypto na inne krypto lub tradycyjne waluty.


Działa podobnie jak tradycyjna giełda: użytkownicy składają zlecenia kupna/sprzedaży, a system dopasowuje je po określonej cenie.


Giełda przechowuje także część „środków” klientów w swoich portfelach i prowadzi ich konta.

Zdarza się, że giełdy stają się celem ataków hakerskich lub same bywają źródłem zaplanowanych scamów (nowe i z małym zaufaniem).


Znanymi przykładami giełd o ugruntowanej reputacji będą tu: Binance czy Coinbase.


Analiza blockchain to tylko jeden z elementów nowoczesnego śledztwa. W cyfrowym świecie każda aktywność pozostawia ślad. Jeśli potrzebujesz sprawdzić wiarygodność kontrahenta, zweryfikować majątek dłużnika lub znaleźć informacje ukryte w ogólnodostępnych źródłach, sprawdź, jak wykorzystujemy profesjonalny wywiad OSINT do zabezpieczania interesów naszych klientów.