Přístupnostní navigace
E-application
Search Search Close
Bachelor's Thesis
Author of thesis: Bc. Daniil Kniazkin
Acad. year: 2025/2026
Supervisor: Ing. Martin Perešíni, Ph.D.
Reviewer: Ing. Samuel Olekšák
This thesis focuses on integrating zkLogin into a Web3 application so users can authenticate with an OpenID Connect account instead of managing a seed phrase. It explains the zkLogin protocol, compares it with other Web3 authentication approaches, and implements a prototype for Sui and Ethereum. The Sui branch uses native zkLogin support, while the Ethereum branch uses a Groth16 proof, a smart account, a JWK registry, and ERC-4337. A simple lending scenario is used to test repeated state-changing actions after login. The results show that zkLogin can simplify onboarding and reduce direct exposure of the link between a Web2 account and an on-chain address, but the prototype still depends on the identity provider, salt service, proving infrastructure, and public-key management.
zkLogin, Web3 authentication, OpenID Connect, OAuth 2.0, zero-knowledge proofs, smart accounts, account abstraction
Date of defence
15.06.2026
Result of the defence
Defended (thesis was successfully defended)
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
Language of thesis
English
Faculty
Fakulta informačních technologií
Department
Department of Intelligent Systems
Study programme
Information Technology (BIT)
Composition of Committee
doc. Ing. František Zbořil, Ph.D. (předseda) doc. Mgr. Kamil Malinka, Ph.D. (místopředseda) Ing. Jiří Matoušek, Ph.D. (člen) Ing. Vladimír Veselý, Ph.D. (člen) doc. Ing. Vítězslav Beran, Ph.D. (člen)
Supervisor’s reportIng. Martin Perešíni, Ph.D.
Prácu hodnotím ako veľmi dobrú, známka B. Téma práce nebola jednoduchá a je vysoko aktuálna. Študent preukázal schopnosť zorientovať sa v nej a technicky pokročilej problematike a integrovať ju do funkčného celku. Dosiahnuté výsledky sú v súlade so zadaním, avšak dali by sa rozšíriť. Kvalitou aj rozsahom spracovania je to na úrovni bežnej dobrej bakalárskej práce. Študent problémy riešil samostatne, plus s využitím konzultácií.
Úlohou bolo oboznámiť sa a naštudovať princípy prokolou zkLogin, analýza technológií prepojenia sveta Web2/Web3, návrhu a implementácii demonštračnej Web3 aplikácie s integrovaným protokolom zkLogin a vyhodnotiť aplikáciu v end-to-end scenároch. Podľa môjho názoru študent zadanie splnil.
Práca s literatúrou je na dobrej úrovni. Študent vychádzal zo zdrojov zadaných školiteľom a dohľadal aj ďalšie relevantné a aktuálne zdroje. Zoznam literatúry je približne 30 referencií. Vzhľadom na novosť témy považujem podiel primárnych špecifikácií a online zdrojov za primeraný a opodstatnený.
Študent pracoval prevažne samostatne a svoje riešenie občasne konzultoval. Frekvencie stretnutí boli rôzne nerovnomerné. Aktivita sa výraznejšie zvýšila až s blížiacim sa termínom odovzdania, tzn. trocha menej systematický prístup počas celého obdobia riešenia práce. Nemám ale iné výtky.
Finalizácia práce, písanie textovej časti a kompletizácia výsledkov, prebiehala pod časovým tlakom. To obmedzilo priestor na rozsiahlejšie pripomienky z mojej strany. Na druhej strane pozitívne hodnotím, že študent bol samostatný a napriek časovému stresu si riešenie udržalo robustnosť. Väčšina pripomienok bola zapracovaná, no na hlbšiu interpretáciu výsledkov alebo ich vylepšenie nezostal čas.
Publikačná činnosť nie je známa. Téma adaptácie protokolu zkLogin do prostredia EVM a dosiahnuté výsledky by však mohli mať potenciál pre akademické publikovanie alebo menšiu prezentáciu na nejakom študentskom fóre alebo workshope. Pred prípadnou publikáciou by si avšak vyžadovali rozšírenejšie overenie a podrobnejšiu analýzu.
Grade proposed by supervisor: B
Reviewer’s reportIng. Samuel Olekšák
Celkovo ide o kvalitnú prácu s náročným zadaním, ktorá spája teoretickú analýzu s funkčným a dobre zdokumentovaným realizačným výstupom. Technická správa je na vysokej prezentačnej aj formálnej úrovni. Výhrady sú iba drobné a týkajú sa niekoľkých chýbajúcich relevantných existujúcich riešení a používania pojmov pred ich definíciou.
Termín odovzdania práce bol o týždeň posunutý.
Evaluation level: more difficult assignment
Práca vyžaduje znalosti kryptografie, blockchainových technológií a webových autentizačných protokolov výrazne presahujúce úroveň bakalárskeho štúdia. Súčasťou práce bola analýza existujúceho protokolu zkLogin, ktorý slúži na zjednodušenie prístupu k blockchainovým sieťam pri zachovaní súkromia. Protokol mal byť porovnaný s inými existujúcimi riešeniami a mal byť implementovaný spolu s demonštračnou aplikáciou.
Technická správa je logicky štrukturovaná a dobre pochopiteľná, avšak niektoré technológie sú najprv využité a až neskôr definované a popísané (napr. JWT, OIDC). Text dopĺňa veľké množstvo diagramov, ktoré napomáhajú pochopeniu práce. Drobné výhrady mám k use case diagramu na Fig. 4.1, ktorý nesprávne využíva relácie include a extend, a k zvláštnemu nadpisu prílohy "Evaluation Evidence", ktorá obsahuje záznamy z automatizovaných testov. Technická správa neobsahuje rozšírený abstrakt, ktorý je povinný pre práce v anglickom jazyku.
Jazyková a typografická úroveň práce je vysoká. Vytknúť sa dajú iba drobnosti, napr. nekonzistentné začiatočné písmená nadpisov, mierna nekonzistencia vo využití neproporcionálneho písma (\texttt) a nekonzistentná typografia odrážok v sekcii 3.4.2.
Realizačným výstupom je funkčný prototyp, ktorý prakticky demonštruje celý proces autentizácie od prihlásenia cez Web2 až po vykonanie akcie na blockchaine. Vytvorená aplikácia je vysoko modulárna a funguje na dvoch rôznych sieťach (Ethereum a Sui). Kvalita kódu a dokumentácie je vysoká, inštrukcie na spustenie sú jasné a aplikácia je kontajnerizovaná. Pri prístupe viacerých používateľov sa však testuje iba separácia identít, nie súbežné relácie.
Práca má charakter analýzy a implementácie existujúceho protokolu zkLogin. Študent vytvoril prototyp, ktorý môže byť naďalej rozšírený na praktické nasadenie. Praktické využitie je otázne, keďže implementácie protokolu zkLogin už existujú, avšak študent postupoval v súlade so zadaním.
Evaluation level: assignment fulfilled
Všetky body zadania boli splnené bez výhrad. Študent nad rámec zadania vytvoril aj demonštračné video implementovanej aplikácie.
Evaluation level: is within the usual extent
Technická správa obsahuje 77 normostrán a je informačne hustá.
Technická správa obsahuje 26 bibliografických zdrojov, pričom je využitá rozumná zmes vedeckých článkov, dokumentácií a štandardov (RFC, EIP a iné). Medzi analýzou existujúcich protokolov na zjednodušenie prístupu k blockchainovým sieťam chýbajú vysoko relevantné riešenia ako ZK Email a Passkeys. Takisto technická správa nepopisuje existujúce implementácie zkLogin a neporovnáva s nimi vytvorenú implementáciu, avšak to zadanie explicitne nepožadovalo.
Grade proposed by reviewer: A
Responsibility: Mgr. et Mgr. Hana Odstrčilová