Bachelor's Thesis

Modeling the Propagation of Transactions in the Bitcoin P2P Network

Final Thesis 1003.62 kB

Author of thesis: Matěj Široký

Acad. year: 2025/2026

Supervisor: Ing. Jan Pluskal, Ph.D.

Reviewer: Ing. Marcel Marek

Abstract:

This thesis examines the topic of transaction propagation in the Bitcoin peer-to-peer network, including the monitoring of transactions and the measurement of the time required for their propagation under various combinations of Bitcoin node and network parameters. The primary objective of this bachelor’s thesis is to understand the principles and mechanisms used in the Bitcoin protocol for propagating transactions across the network. Based on the information obtained, a simulation model is designed and implemented that enables the gathering of statistical data about the process of transaction propagation between nodes. The thesis also includes an analysis script capable of identifying the nodes by which the given transactions were created.

Keywords:

Bitcoin, Bitcoin Core, peer-to-peer networks, transactions, modeling, simulation, time analysis, deanonymization, OMNeT++

Date of defence

18.06.2026

Result of the defence

Defended (thesis was successfully defended)

znamkaBznamka

Grading

B

Process of defence

Student nejprve prezentoval výsledky, kterých dosáhl v rámci své práce. Komise se poté seznámila s hodnocením vedoucího a posudkem oponenta práce. Student následně odpověděl na otázky oponenta a na další otázky přítomných. Komise se na základě posudku oponenta, hodnocení vedoucího, přednesené prezentace a odpovědí studenta na položené otázky rozhodla práci hodnotit stupněm B.

Topics for thesis defence

  1. Proč při generování identifikátorů transakcí nepoužíváte deterministický formát, například na bázi dvojice, který by umožnil jednodušší evidenci skutečného původce transakce a snížil riziko kolizí náhodně generovaných identifikátorů?
  2. Jak by se podle vás změnily výsledky simulace, pokud by model zahrnoval kompletní sekvenci zpráv inv-getdata-tx a nikoli pouze šíření zpráv typu inv? Ovlivnilo by to především latenci, datovou zátěž, nebo i výsledky deanonymizační analýzy?
  3. Jakým způsobem jste váš model validoval oproti chování reálné sítě? Jaké informace o síti jste k tomuto potřeboval?

Language of thesis

Czech

Faculty

Department

Study programme

Information Technology (BIT)

Composition of Committee

doc. Ing. Petr Matoušek, Ph.D., M.A. (předseda)
doc. Ing. Michal Bidlo, Ph.D. (místopředseda)
Ing. Radek Kočí, Ph.D. (člen)
Ing. Jan Pluskal, Ph.D. (člen)
Ing. František Grézl, Ph.D. (člen)

Supervisor’s report
Ing. Jan Pluskal, Ph.D.

Student úspěšně vypracoval simulační model šíření transakcí v bitcoinové P2P síti, který je validován proti dostupným měřením platformy Bitnodes s odchylkou v řádu jednotek procent.


Velmi kladně hodnotím rozšíření OMNeT++ o vlastní C++ implementaci generátoru topologie podle modifikovaného Barabási-Albertova modelu, čímž student obešel omezení jazyka NED, a precizní self-validaci generovaných exponenciálních zpoždění s relativní odchylkou pod 1,6 % od teoretické střední hodnoty. Za přínos považuji rovněž rozšíření deanonymizační heuristiky korelující více transakcí jednoho odesílatele, díky kterému student dokázal kvantifikovat, že pro 100% identifikaci zdrojového uzlu při 80% propojení postačí osm monitorovacích uzlů.


Naopak chybí hlubší diskuze omezení modelu. Zejména abstrakce síťové vrstvy, kdy je veškerá síťová realita zhuštěna do kanálu DatarateChannel s pevnou rychlostí 10 Mbps a uniformním zpožděním 20-250 ms bez TCP/IP, bez sdílené kapacity uplinku, bez ztrátovosti, jitteru s těžkými chvosty, geografického rozložení uzlů a bez NAT, je pravděpodobně hlavním zdrojem 10% odchylky simulační doby šíření vůči datům platformy Bitnodes (sekce 4.7.3), a měla by být v sekcích 4.2.1 a 4.7.4 reflektována transparentněji než pouhým konstatováním, že brány OMNeT++ tyto efekty zastupují. Práce rovněž záměrně neimplementuje zprávy getdata a tx a místy je výklad ovlivněn neúplnou jazykovou redakcí textu.


Vzhledem ke komplexnosti zvolené problematiky, kvalitnímu validačnímu aparátu a praktické využitelnosti výsledků pro další výzkum v oblasti deanonymizace v kryptoměnových sítích navrhuji práci hodnotit stupněm B jako velmi dobrou.

Evaluation criteria Verbal classification
Informace k zadání

Cílem práce bylo nastudovat principy šíření transakcí v peer-to-peer síti Bitcoin, navrhnout konceptuální model této sítě v prostředí OMNeT++ a vytvořenou simulaci využít k analýze vlivu parametrů sítě a uzlů na latenci propagace transakcí, jejich redundanci a možnost deanonymizace zdrojového uzlu. Téma vzniklo jako rozšíření výzkumných aktivit skupiny NES@FIT v oblasti analýzy síťové komunikace a kryptoměnových protokolů. Zadání kombinuje studium referenční implementace Bitcoin Core, návrh simulačního prostředí v jazyce C++ nad OMNeT++ a kvantitativní analýzu nasbíraných dat v Pythonu, což jej činí obtížnějším než typickou bakalářskou práci čistě implementačního charakteru. S dosaženými výsledky jsem spokojen, student dovedl všechny body zadání do funkční podoby a doplnil je o vlastní experimentální vyhodnocení.

Práce s literaturou

Student si samostatně vyhledal 31 zdrojů, mezi nimiž převažuje vývojářská dokumentace Bitcoinu, BIP specifikace a přímé odkazy do zdrojového kódu Bitcoin Core. Vzhledem k povaze tématu, kde jsou primárním zdrojem pravdy referenční implementace a komunitní návrhy, je převaha online zdrojů přirozená. Nechybí ani recenzované publikace, zejména práce Neudeckera a kolektivu o časové analýze a charakterizaci bitcoinové sítě, ze kterých student konzistentně čerpá při návrhu i validaci simulačního modelu. Uvítal bych širší zařazení akademických prací k modelování P2P sítí nad rámec dvou citovaných zdrojů ke scale-free a small-world sítím.

Aktivita během řešení, konzultace, komunikace

Student pracoval na zadání průběžně po celý akademický rok. Na konzultace byl připravený, předkládal konkrétní průběžné výsledky a otevřené otázky, diskuze byly věcné a konstruktivní. Oceňuji především systematický přístup, kdy student ke každé části simulace nejprve dohledal mechanismus v referenční implementaci Bitcoin Core (zejména v souborech net.h, net_processing.cpp a random.cpp) a teprve poté navrhoval jeho odpovídající podobu v OMNeT++.

Aktivita při dokončování

Práce byla dokončena v dostatečném předstihu před termínem odevzdání a její finální obsah byl konzultován. Student měl prostor pro doplnění validační kapitoly 4.7 a srovnání simulace s daty platformy Bitnodes. Ne všechny stylistické připomínky byly do odevzdané verze zapracovány, v textu zůstaly drobné formulační nedostatky (například nedokončená věta v úvodu sekce 3.3 o referenční verzi klienta).

Publikační činnost, ocenění

Není.

Points proposed by supervisor: 81

Grade proposed by supervisor: B

Reviewer’s report
Ing. Marcel Marek

Práce splňuje zadání a zabývá se náročnějším tématem na pomezí P2P sítí, kryptoměn, simulací a síťové analýzy. Student prokázal schopnost nastudovat relevantní technické podklady, navrhnout simulační model, implementovat jej v prostředí OMNeT++ a provést nad ním experimentální vyhodnocení.


Pozitivně hodnotím zejména funkční realizační výstup, parametrizovatelnost simulace, validační část a snahu o porovnání výsledků s dostupnými daty z reálné bitcoinové sítě. Práce obsahuje také rozšíření v podobě analýzy deanonymizačních technik, které vhodně navazuje na téma šíření transakcí.


Hodnocení snižuje slabší jazyková a formální úroveň technické zprávy, nepřesná prezentace části dat a nedostatečné vyhodnocení vlastností generované topologie. Práce místy používá příliš neurčitý styl formulací, což oslabuje přesnost technického výkladu. Některé závěry by také měly být formulovány opatrněji vzhledem ke zjednodušenému modelu a omezenému porovnání se skutečnou bitcoinovou sítí.


Celkově jde o práci s použitelným technickým výstupem a relevantními experimenty, avšak s výraznějšími nedostatky v technické zprávě a v prezentaci výsledků.

Evaluation criteria Verbal classification Points
Náročnost zadání

Evaluation level: obtížnější zadání

Zadání hodnotím jako náročnější. Práce vyžaduje pochopení principů fungování P2P sítě Bitcoin, zejména mechanismů propagace transakcí, používaných síťových zpráv a vlivu topologie na šíření informací. Současně bylo nutné nastudovat simulační prostředí OMNeT++, navrhnout vhodnou abstrakci reálné sítě, implementovat simulační model, provést experimenty s různými parametry a vyhodnotit získaná data. 

Prezentační úroveň technické zprávy

Technická zpráva má logickou strukturu. Kapitoly na sebe navazují v přirozeném pořadí: popis bitcoinové P2P sítě, návrh simulačního modelu, implementace a vyhodnocení experimentů. Pozitivně hodnotím zařazení validační části a přehledné členění práce.

Prezentační úroveň snižuje způsob výkladu. Text obsahuje dlouhé věty, ve kterých se hlavní sdělení ztrácí. 

Práce také používá podmiňovací a neurčitý styl formulací, například „mohlo by“, „bylo by možné“, „pravděpodobně“ nebo „přibližně“. Tento styl oslabuje přesnost technického výkladu. 

Přehlednosti by prospělo nahrazení výrazů typu „několik“, „nejčastěji“, „vyšší počet“ nebo „velké množství“ konkrétní hodnotou, intervalem nebo výčtem.

Celkově je struktura práce vhodná, ale čitelnost a přesvědčivost textu snižuje rozvláčný styl a nedostatečně přesná formulace některých tvrzení.

72
Formální úprava technické zprávy

Formální úprava práce je přijatelná, ale jazyková stránka je slabší. V textu se objevují gramatické chyby, překlepy, nepřesná interpunkce a neobratné formulace. Časté jsou také nevhodné tvary a slovní spojení, například „tomuto“ nebo „takováto“ v kontextech, kde by bylo vhodnější použít jednodušší spisovnou formulaci.

Základní jednotkou času je sekunda, nikoliv vteřina. Vteřina je úhlová jednotka.

U části grafů chybí konkrétní hodnoty přímo v grafu nebo doprovodná tabulka. U výsledků se směrodatnou odchylkou by bylo vhodné použít například boxploty nebo alespoň grafy s chybovými úsečkami.

Některé osy grafů nejsou dostatečně popsány a u podgrafů místy splývají popisky, takže není zřejmé, kde popis jednoho podgrafu končí a druhý začíná.

68
Realizační výstup

Realizační výstup považuji za kvalitní. Student vytvořil simulační model v prostředí OMNeT++, který zahrnuje generování síťové topologie, bitcoinové a monitorovací uzly, model šíření transakcí, sběr dat a analytické skripty. Řešení je parametrizovatelné a umožňuje provádět experimenty s různými velikostmi sítě, počty spojení a konfiguracemi monitorovacích uzlů.

Pozitivně hodnotím validaci základních vlastností modelu, zejména kontrolu generovaného zpoždění a porovnání části výsledků s dostupnými daty z reálné bitcoinové sítě. Zjednodušení modelu pouze na šíření zpráv typu inv považuji vzhledem k cílům práce za přijatelné.

Za slabší místo považuji charakterizaci vygenerované sítě. Práce uvádí, že topologie a stupeň uzlů významně ovlivňují rychlost šíření zpráv, ale u vygenerovaných sítí nejsou systematicky vyhodnoceny topologické metriky, například rozdělení stupňů, průměrná délka cest nebo maximální vzdálenost mezi uzly. Zároveň není přesněji definováno, podle jakých vlastností je simulovaná síť považována za podobnou reálné bitcoinové síti.

Celkově jde o funkční a použitelný výstup odpovídající zadání, jehož vypovídací hodnota je však omezena mírou abstrakce a neúplným vyhodnocením vlastností generované topologie.

75
Využitelnost výsledků

Práce není pouze kompilačního charakteru. Výstupem je vlastní simulační model a sada experimentálních výsledků zaměřených na šíření transakcí v modelované bitcoinové P2P síti. Výsledky mohou být využitelné jako základ pro další rozvoj simulace, porovnání různých parametrů sítě nebo pro výukové účely při vysvětlování šíření informací v P2P sítích.

Praktická využitelnost výsledků pro hodnocení reálné bitcoinové sítě je omezená zjednodušením modelu a nedostatečnou charakterizací rozdílů mezi simulovanou a reálnou topologií. Použitelnost také negativně ovlivnňuje nakonec nepoužití popsaného frameworku INET. Přesto práce poskytuje použitelný rámec, na který lze navázat například doplněním dalších síťových metrik, přesnějšího modelu chování uzlů nebo aktuálnějších empirických dat.

Rozsah splnění požadavků zadání

Evaluation level: zadání splněno

Požadavky zadání považuji za splněné. Student prostudoval principy fungování bitcoinové P2P sítě, popsal relevantní zprávy protokolu, mechanismus propagace transakcí i vliv topologie na šíření informací. Dále navrhl a implementoval simulační model v prostředí OMNeT++, včetně generování topologie, bitcoinových a monitorovacích uzlů, sběru dat a následného vyhodnocení. Práce obsahuje experimenty s různými velikostmi sítě, počty spojení, rychlostí generování transakcí a konfiguracemi monitorovacích uzlů. Výsledky jsou diskutovány a částečně porovnány s dostupnými empirickými daty z reálné bitcoinové sítě. Jako drobné rozšíření oproti základnímu zadání lze vnímat část věnovanou deanonymizačním technikám, tedy pokusu o identifikaci autorského uzlu transakce na základě dat získaných monitorovacími uzly.

Rozsah technické zprávy

Evaluation level: je v obvyklém rozmezí

Rozsah technické zprávy je pro bakalářskou práci přiměřený. Jednotlivé části jsou relevantní k zadání a pokrývají potřebný teoretický kontext, návrh, implementaci i analýzu výsledků. Rozsah kapitol je celkově vyvážený, i když některé experimentální závěry by mohly být rozebrány podrobněji, zejména ve vztahu ke zjednodušenému modelu a k rozdílům mezi simulovanou a reálnou bitcoinovou sítí.

Práce s literaturou

Výběr literatury je tematicky relevantní. Student využívá oficiální dokumentaci Bitcoinu, zdrojové kódy Bitcoin Core, dokumentaci OMNeT++, BIP návrhy a odborné práce zaměřené na časovou analýzu a charakterizaci bitcoinové P2P sítě. Zdroje tedy pokrývají protokolovou i simulační část zadání.

Slabinou je formální zpracování bibliografických citací. U řady online zdrojů chybí autor nebo jsou uvedené údaje neúplné. U autora Andráse Vargy je v seznamu literatury obrácené jméno a příjmení. U zdroje BitInfoCharts chybí úplnější bibliografické údaje, odkaz, označení online zdroje i datum citování.

Část analýz je opřena o starší studie, zejména Timing Analysis for Inferring the Topology of the Bitcoin Peer-to-Peer Network z roku 2016 a Characterization of the Bitcoin Peer-to-Peer Network (2015-2018). Tyto práce jsou pro téma kvalitní a relevantní, ale u parametrů, které se v čase mění, například rychlost propagace transakcí, velikost sítě nebo síťové parametry uzlů, by bylo vhodné doplnit aktuálnější zdroje nebo zdůvodnit, proč jsou starší hodnoty stále použitelné.

Celkově student s literaturou pracuje dostatečně, ale formální nedostatky citací a omezené využití aktuálních zdrojů snižují hodnocení této části.

70
Topics for thesis defence:
  1. Proč při generování identifikátorů transakcí nepoužíváte deterministický formát, například na bázi dvojice <index uzlu, index transakce>, který by umožnil jednodušší evidenci skutečného původce transakce a snížil riziko kolizí náhodně generovaných identifikátorů?
  2. Jak by se podle vás změnily výsledky simulace, pokud by model zahrnoval kompletní sekvenci zpráv inv-getdata-tx a nikoli pouze šíření zpráv typu inv? Ovlivnilo by to především latenci, datovou zátěž, nebo i výsledky deanonymizační analýzy?
Points proposed by reviewer: 72

Grade proposed by reviewer: C

Responsibility: Mgr. et Mgr. Hana Odstrčilová