jak działają transakcje kryptowalut

Cryptocurrency Forensics. Część 2 – Jak działają transakcje kryptowalutami.

autor: TMG


Celem drugiej części serii Cryptocurrency Forensics jest przeanalizowanie w jaki sposób przebiegają transakcje w wybranych sieciach blockchain (Bitcoin i Ethereum).


W następnej części serii Cryptocurrency Forensics zagłębimy się w aspekty śledzenia transakcji i szczegółową analizę przepływów kryptowalut, bazując na wiedzy zdobytej w tym artykule.


Dla podsumowania samej idei Blockchaina polecamy część 1 niniejszej serii oraz dla uzupełnienia, wpis na portalu giełdy kryptowalut Binance. Opiszemy 2 wybrane dwa modele transakcyjne:


1. Bitcoin – model UTXO (Unspent Transaction Output).

Zacznijmy od pewnych uproszczeń, dla zrozumienia jak działa mechanizm UTXO.


Na ten moment zakładamy, że:

  • transakcja przyjmuje input, a kiedy dociera do odbiorcy generuje output (nr.1 w kolejności),
  • tak jak w przypadku fizycznej waluty – niewydany input generuje „resztę” (z ang. change) z nie „użytych” środków,
  • ta reszta trafia do nadawcy (output nr.2 w kolejności),
  • w toku transakcji zostaje także wygenerowana opłata transakcyjna (z ang. fee), pobierana od nadawcy.

Przykładowa transakcja w sieci Bitcoina (w kontekście kwot) mogłaby wyglądać tak:

1 BTC input (nadawca)

→ 0.5 BTC (output 1/ kwota dla odbiorcy)

→ 0.4999 BTC (output 2/ reszta dla nadawcy)

→ 0.0001 BTC (fee/ dla górnika)

(Ciekawostka: kurs Bitcoina można śledzić np. tu: https://www.binance.com/pl/price/bitcoin )


Od czego zależy opłata transakcyjna (fee), kto ją pobiera i czy jest stała ?

Opłata transakcyjna nie jest osobnym polem transakcji, jest różnicą pomiędzy sumą kwot (inputów i outputów) – trafia do górnika (miner), który dodaje ją do swojego (nowego) bloku, po wcześniejszej walidacji transakcji przez sieć/ węzły.


Jej wysokość nie wynika ze sztywnego „cennika” (zależy jednak od obciążenia/ zatłoczenia łańcucha na moment jej wykonania, ilości inputów/ outputów oraz pilności wykonania) im niższa jest deklarowana kwota opłaty/ różnicy w transakcji, tym dłużej trwa sfinalizowanie transakcji (nagroda jest mniej atrakcyjna). Analogicznie, im wyższa opłata tym jest ona atrakcyjniejsza i transakcja przebiegnie szybciej.


W 2025 r. typowa opłata za standardową transakcję wynosiła najczęściej równowartość poniżej 2 USD, choć w okresach większego obciążenia sieci, mogła rosnąć do kilku czy kilkunastu USD.


Wielkość opłaty wyrażana jest w Satoshi (najmniejsza część Bitcoina, tak jak np. grosze dla złotówki; 1 satoshi = 0,00000001 BTC), w skrócie: sat/ VB (satoshi/ virtual byte – danych zawartych w transakcji).


W tym momencie, żeby definicja UTXO była prawdziwa i pełna, należałoby zrezygnować z uproszczenia.


Dlatego rozszerzamy ją w sposób następujący:

  • input jest sumą wcześniejszych UTXO (outputów) w danym portfelu/ portfelach które kontroluje nadawca – czyli zawiera niewydane wcześniej UTXO, które do niego trafiły, a wysyłany input je konsumuje,
  • transakcja może przyjąć wiele wcześniejszych UTXO jako input, łącząc je w strumień (input aggregation),
  • transakcja może skutkować wieloma UTXO (outputami),
  • reszta (change) trafia pod adres (portfel), który kontroluje nadawca (najczęściej nowy, choć nie zawsze).

Sam mechanizm reszty wynika z tego, że cała kwota UTXO (użytego jako input) musi zostać „wydana” w transakcji ale jeżeli odbiorca ma otrzymać kwotę mniejszą niż wysłane UTXO, to różnica zostanie zwrócona właśnie jako reszta. Reszta zwracana jest na nowy adres (najczęściej) w portfelu, który kontroluje nadawca UTXO.


Taki mechanizm wpływa także na zwiększenie anonimowości samej operacji.


Podsumowując ten punkt w jednym zdaniu, można stwierdzić, że:

w Bitcoinie śledzenie transakcji polega na analizie przepływu konkretnych UTXO (konsumowanych jako odrębne jednostki) pomiędzy różnymi adresami (portfelami) z uwzględnieniem mechanizmu reszty.

Rys. 1 Przykład transakcji w sieci Bitcoin (link do przeglądu tej transakcji tu: https://blockchair.com/bitcoin/transaction/6c520eaf33d1f9aced2e3a897043b8fa3ea360c3573e4b54773595e396cdc20d)


Uwaga do Rys. 1 na liście outputów pojawia się także taki z nagłówkiem OP_RETURN – jest to mechanizm umożliwiający użytkownikom dodawanie dowolnych danych do transakcji i przesyłanie ich do całej sieci (nazwijmy to wiadomością) – nie ma on wartości BTC, informację można przyjąć ale nie można jej wydać (czyli nie jest to UTXO per se).


Przy Bitcoinie należy także wspomnieć o sieci Lightining (https://lightning.network).

Cyt. "Sieć Lightning to sieć, która działa na sieci blockchain i koordynuje szybkie transakcje peer-to-peer, czyli między punktami równorzędnymi. Sieć Lightning jest oddzielona od sieci Bitcoin – ma własne węzły i oprogramowanie, ale mimo to komunikuje się z łańcuchem głównym.

Aby wejść do sieci Lightning lub z niej wyjść, trzeba utworzyć specjalne transakcje w sieci blockchain.” (za: https://www.binance.com/pl/academy/articles/what-is-lightning-network)


Transakcje peer-to-peer (czyli bezpośrednie między użytkownikami/ nodeami), transakcje szybkie, w tym szczególnie mikrotransakcje – to główne powody implementacji tej dodatkowej warstwy/ nakładki na sieć Bitcoina (tzw. Layer 2). Rozwiązanie to ma odciążyć główną sieć, wspomniane wcześniej transakcje przebiegają w oddzielnym kanale (w sieci Lightning) i dopiero wynikowo zapisywane są w blockchainie (łańcuchu Bitcoina) co zmniejsza ilość zapisów i obciążenie sieci głównej.


Dodatkowo mocno wspiera to prywatność transakcji – zapisane zostają tylko dane wynikowe (tzw. kanały, z ang. channels), na wejściu (funding channel) i wyjściu (settling channel) z sieci Lightning, wymiana danych pomiędzy użytkownika odbywa się zatem off-chain.


To sprawia, że transakcje takie są trudne do śledzenia ale nie jest to niemożliwe, wynik mamy zapisany w blockchainie. Analizę przepływów w sieci Lightning można oprzeć np. na danych z węzłów pośredniczących, giełd oraz korelacji czasów otwierania/ zamykania kanałów z ruchem w warstwie 1 (blockchain).


2. Ethereum – model Account Based.

Odmiennie niż w przypadku Bitcoina, sieć Ethereum śledzi stany wszystkich kont aktualizując globalny stan blockchaina (kto, gdzie i ile czego posiada) – pracujemy bardziej z saldami.


Różnica w stosunku do Bitcoina polega na tym, że nie ma zastosowania tu mechanizm „reszty”, wysyłana jest dokładnie taka ilość Ethereum (ETH) jaka jest wymagana.


Za operacje na sieci pobierana jest automatycznie opłata z salda nadawcy transakcji (w Ethereum nazywana „gas fee”). Nie jest to opłata „za przelew” ale za zużycie zasobów (mocy obliczeniowej).


W Ethereum kwota opłaty składa się z 2 części:

  • base fee (ustalana przez sieć/ zmienna – użytkownik jedynie akceptuje lub nie). Jest „spalana” przez protokół (stąd „gas” – z ang. paliwo/ gaz),
  • priority fee (ustalana przez użytkownika) – im wyższy zawarty w niej „tip” dla walidatora (do którego trafia opłata), tym większa szansa na szybkie wykonanie transakcji.

W 2025 r. taka opłata wynosiła średnio równowartość 0,3 – 1 USD na transakcję (Normal Transaction).

Opłata pobierana jest w częściach ETH tzw. Gwei (1 Gwei = 0,000000001 ETH).


Przykładowa transakcja (Normal Transaction – omówiona zostanie nieco dalej w artykule) kwotowo mogłaby wyglądać tak:

1.0000 ETH (saldo początkowe w portfelu nadawcy)

→ 0.5000 ETH (kwota dla odbiorcy)

→ 0.00042 ETH (gas fee)

→ 0.49958 ETH (saldo końcowe w portfelu nadawcy)

(Ciekawostka: kurs Ethereum można śledzić np. tu: https://www.binance.com/pl/price/ethereum )


Zanim przejdziemy do rodzajów transakcji należałoby wprowadzić pojęcie smart kontraktu (smart contract), który często będzie pojawiał się w przypadku Ethereum.


W prostym ujęciu: smart kontrakt to program komputerowy (kod) zapisany w blockchainie, który automatycznie wykonuje określone działania, gdy spełnione są wcześniej zdefiniowane warunki (np. transfer ETH od użytkownika do kontraktu).


Wykonanie smart kontraktu skutkuje opłatą gas fee, ponoszoną przez nadawcę.


Przechodząc do typów transakcji w Ethereum wyróżnimy:


Typ – Normal Transaction:

  • nadawca wysyła środki do odbiorcy lub smart kontraktu,
  • przy wykonaniu transakcji pobierana jest z salda nadawcy opłata (gas fee),
  • transakcja wymaga, aby saldo nadawcy było większe lub równe sumie wartości transferu + gas (brak mechanizmu „reszty”),
  • stan konta nadawcy i odbiorcy aktualizowany jest po transakcji.

Co może być uznane za Normal Transaction:

  • transfer ETH między użytkownikami,
  • wywołanie smart kontraktu,
  • utworzenie smart kontraktu.

Typ – Internal Transaction:

  • użytkownik wysyła środki do kontraktu, a Internal Transaction to konsekwencja tej akcji,
  • smart kontrakt przeprowadza następnie operacje bez bezpośredniego udziału użytkownika inicjującego transakcję,
  • kontrakt A może wywołać kontrakt B a następnie C, D itd. (np. transfer ETH lub inną operację),
  • działania pomiędzy kontraktami nie są osobnymi transakcjami (ale można je śledzić np. przez logi kontraktu, co zostanie rozwinięte w następnym artykule),
  • transakcja typu „Internal” nie jest zapisywana w bloku jako osobna transakcja,

Co może być uznane za Internal Transaction:

  • transfer ETH z kontraktu A do kontraktu B,
  • wywołanie przez kontrakt innego kontraktu (który przeprowadzi jakąś operację),
  • tzw. rekurencyjne wywołanie kontraktów (kontrakt A wywołuje sam siebie bezpośrednio lub przez inne kontrakty).

Podtyp (dla Normal Transaction) – Token Transfer:

Jest operacją przeniesienia określonej liczby tokenów (przez smart kontrakt) z jednego adresu na inny. Realizowana jest ona przez wywołanie funkcji (kod) w smart kontrakcie.

Token nie istnieje poza kontraktem, a wynikiem operacji Token Transfer jest uzyskanie tokena, a nie ETH.

Tokeny mogą pełnić różne funkcje: środki płatnicze, udziały w projektach, prawa głosu, dostęp do usług, przedmioty w grach itd.


Ten typ transakcji możemy rozpisać w następujących krokach:

  • użytkownik wysyła transakcję do adresu smart kontraktu tokena,
  • smart kontrakt: sprawdza saldo nadawcy, odejmuje tokeny nadawcy, dodaje tokeny odbiorcy,
  • stan blockchaina się zmienia, ale ETH nie jest przesyłane (poza fee),
  • fee odejmowane jest z salda nadawcy.

Najpopularniejsze tokeny w Ethereum to:

  • Tether (USDT): jeden z największych stablecoinów na świecie i najpopularniejszy token pod względem udziału w rynku. Szeroko używany jako środek transferu wartości oraz w DeFi (pojęcie to pojawi się w następnym odcinku artykułu).
  • USD Coin (USDC): duży stablecoin dolarowy, szeroko używany w DeFi i płatnościach.

Czym jest stablecoin ?

To rodzaj kryptowaluty, którego wartość jest stabilnie powiązana z określonym aktywem, najczęściej z tradycyjną walutą (np. USD, EUR) lub np. złotem.


Rys. 2 Przykład transakcji w Ethereum (Normal Transaction) (https://etherscan.io/tx/0xb83ecd2e74c826b03f2769812dfefd0400b6c041f90aa5ec8ea98af1f63dd847)


Podobnie jak w przypadku Bitcoina, także Ethereum posiada tzw. Layer 2, działający na podobnych zasadach – minimalizacji obciążenia sieci, lepszej skalowalności i mniejszych opłat typu gas fee jednak „ekosystem” jest tu bardzie rozbudowany (po szczegóły zapraszamy tu: https://www.geeksforgeeks.org/ethical-hacking/what-is-layer-2-on-ethereum/).


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.