Přístupnostní navigace
E-application
Search Search Close
Bachelor's Thesis
Author of thesis: Bc. Prokop Schield
Acad. year: 2024/2025
Supervisor: Ing. Jiří Hynek, Ph.D.
Reviewer: Ing. Petr John
This bachelor’s thesis confronts the challenge of secure data sharing within decentralized peer-to-peer networks by proposing ScatterNet, a protocol engineered to ensure data confidentiality, integrity, availability, and resilience. Core contributions include a robust data serialization format and a minimal communication interface. The serialization format defines the DataChunk, identified by a cryptographic Hash constructed from SHA-256 and BLAKE3 outputs, PackedInt-encoded length, and Reed-Solomon parity. Data protection employs Deflate compression, ChaCha20-Poly1305 AEAD encryption—keyed by a hash of the serialized data with a key-derived nonce—and a custom Long Error Correction Code (Long ECC) featuring a self-correcting header and interleaved Reed-Solomon protection for the encrypted payload. A versatile HKey identifier facilitates data addressing. The communication protocol, operating between Ed25519-identified peers, specifies FETCH and PUT operations and incorporates a local reputation system. A modular Rust reference implementation utilizing iroh for QUIC-based peer-to-peer communication demonstrates the protocol’s viability, presenting a comprehensive solution for secure, resilient data exchange.
P2P, peer-to-peer systems, secure data sharing, decentralized systems, cryptographic hash functions, content addressing, authenticated encryption, ChaCha20-Poly1305, data integrity, data confidentiality, Rust, distributed storage, QUIC, iroh, ScatterNet
Date of defence
19.06.2025
Result of the defence
Defended (thesis was successfully defended)
Grading
E
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 E.
Topics for thesis defence
Language of thesis
English
Faculty
Fakulta informačních technologií
Department
Department of Information Systems
Study programme
Information Technology (BIT)
Composition of Committee
doc. Dr. Ing. Dušan Kolář (předseda) doc. Ing. Vladimír Janoušek, Ph.D. (člen) Ing. Radek Hranický, Ph.D. (člen) doc. Ing. Jan Kořenek, Ph.D. (člen) Ing. Zdeněk Materna, Ph.D. (člen)
Supervisor’s reportIng. Jiří Hynek, Ph.D.
Student vytvořil tzv. proof of concept. Pozitivně hodnotím přístup studenta k praktické části práce. Negativně hodnotím přístup k psaní technické zprávy. Navrhuji hodnocení stupněm C.
Práce vznikla ze zájmu studenta vytvořit vlastní decentralizovaný peer-to-peer systém pro bezpečné uložení dokumentů. Musel prostudovat netriviální problematiku týkající se distribuovaných souborových systémů a šifrování. Řešení implementoval v jazyce Rust. Nápad studenta shledávám jako ambiciozní a řešení spíše jako tzv. proof of concept. Zadání však hodnotím jako obtížné a rád bych vyzdvihl, že student k praktické části práci přistupoval s velkou snahou a zájmem.
Student si aktivně dohledával literaturu týkající se zejména oblasti distribuovaných souborových systémů a šifrování.
V prvním semestru byla aktivita slabší. Ve druhém semestru se student účastnil jednou týdně online porad. Také dle potřeby komunikoval přes Slack.
Student psal technickou zprávu na poslední chvíli a neměl jsem příležitost k ní poskytnout dostatečnou zpětnou vazbu. Tuto skutečnost hodnotím negativně.
Student podával příspěvek na konferenci Excel@FIT 2025, nicméně jeho práce nebyla vybrána. Této snahy si přesto velmi cením.
Grade proposed by supervisor: C
Reviewer’s reportIng. Petr John
Pan Shield vytvořil specifikaci a referenční implementaci nového peer-to-peer přístupu ke sdílení souborů. Student rozděluje soubory na menší části, což umožňuje jejich současné sdílení s více klienty. Ve spojení s replikací toto řešení zvyšuje odolnost sítě vůči ztrátě dat při odpojení jednotlivých klientů. I přes rozsáhlé nedostatky v technické zprávě hodnotím bakalářskou práci jako zdařilou a navrhuji hodnocení stupněm D.
Evaluation level: obtížnější zadání
Tato bakalářská práce má za úkol navrhnout peer-to-peer komunikační protokol, společně s datovým formátem, který má zaručit šifrování a zabezpečení dat, a provést jejich referenční implementaci. Zadání bakalářské práce hodnotím jako obtížnější.
Bakalářská práce má obvyklou strukturu. První kapitola velmi stroze popisuje existující řešení, druhá obsahuje popis existujících přístupů k symetrickým šifrovacím algoritmům a jejich srovnání. Analýza popisuje teoretické případy použití a definuje klíčové požadavky. Dále následují dvě návrhové kapitoly, kde první z nich definuje serializační formát a druhá samotný protokol. Bakalářskou práci ukončují velmi slabé kapitoly implementace a testování. Obě návrhové kapitoly, ani implementace nepopisují všechny důležité vlastnosti řešení a některé popisy jsou velmi nešťastné, až zavádějící. V aktuální verzi textu například není žádná informace o dělení souborů na menší části s maximální velikostí a také z něj vyplývá, že pro získání dat je nutné ukládajícímu odeslat nejen hash souboru, ale také klíč pro dešifrování obsahu. Z těchto důvodů hodnotím prezentační úroveň zprávy jako velmi slabou. Celý text obsahuje jen jeden obrázek, což má také velmi negativní dopad na pochopitelnost práce.
Zpráva obsahuje velké množství typografických chyb a velmi zanořené výčty (např. strana 36). Text dále obsahuje velké množství prvků, které postrádají referenci (typicky vzorce kapitoly 4). Kapitolám úvod a závěr chybí číslo kapitoly, text často obsahuje citaci až za tečkou (např. na straně 9, sekce 1.2). Z těchto důvodů hodnotím formální úpravu technické zprávy jako velmi slabou.
Realizační výstup působí na bakalářskou práci velmi dobrým dojmem. Student vytvořil knihovnu, která je schopna přenášet zašifrované soubory pomocí peer to peer sítě. Student demonstroval funkčnost vytvořené knihovny a šifrování pomocí demonstrace v nezávislém Docker containeru. Z konzultace také vyplývá, že student implementovat pokročilou funkcionalitu jako např. rozdělení souboru na menší části, které jsou ukládány separátně mezi různé klienty, a replikaci.
Práce vytváří prototyp pro komunikační standard. Před uvedením do praxe by muselo dojít jak k revizi přístupů, tak k důkladnějšímu otestování.
Evaluation level: zadání splněno s vážnějšími výhradami
Bakalářská práce nesplňuje značnou část zadání, a to konkrétně body 1, 3, 6 a 7. První bod zadání požaduje mimo jiné i rešerši existujících řešení. Student popisuje jediné řešení, které je jmenovitě v zadání, a to BitTorrent. Celá rešerše se nachází v sekci 1.2 a je obsažena na přibližně jedné polovině stránky. Podobně jsou popsané i zbylé části tohoto bodu a celá kapitola zabírá přibližně tři a půl strany, a to i díky častému použití výčtů. Dle třetího bodu zadání měla být provedena analýza případů užití pro tento systém. Analýza sice tyto případy obsahuje, ale jsou plně vymyšleny studentem, bez referencí do literatury nebo jiných zdrojů. Mimo jiné jsou zde obsaženy případy použití jako více institucionální zdravotnické výzkumné konsorcium analyzující anonymizovaná, avšak stále citlivá data pacientů za účelem lékařského pokroku. Preferoval bych spíše případy užití založené na realitě, jako například tzv. Whistleblowing. Kapitola implementace (odpovídající šestému bodu zadání) nepopisuje implementaci, ale pouze kompozici řešení (rozdělení do tzv. Rust crates a GitHub repozitářů). A v poslední řadě sedmý bod popisuje pouze teoretické aspekty testování. Testování výkonnosti obsahuje tvrzení jako: “Přenosy dat probíhaly rychle.” Nesplnění bodů považuji za závažné, a to primárně kvůli jejich rozsahu.
Evaluation level: je v obvyklém rozmezí
Práce je v typickém rozsahu pro bakalářskou práci.
Student cituje 43 zdrojů, které se skládají převážně z vědeckých článků a knižních publikací. Zvolené zdroje vhodně pokrývají popisovanou problematiku.
Grade proposed by reviewer: D
Responsibility: Mgr. et Mgr. Hana Odstrčilová