Vývoj a bezpečnost smart kontraktů: Analýza a auditování na blockchainových platformách

Název práce: Vývoj a bezpečnost smart kontraktů: Analýza a auditování na blockchainových platformách
Autor(ka) práce: Dítě, Jan
Typ práce: Bakalářská práce
Vedoucí práce: Sudzina, František
Oponenti práce: Perzina, Radomír
Jazyk práce: Česky
Abstrakt:
Tato bakalářská práce se zaměřuje na analýzu vývoje a bezpečnost smart kontraktů na vy- braných blockchainových platformách. V teoretické části jsou představeny principy fungování blockchainu, definice a charakteristiky smart kontraktů a přehled nejpoužívanějších progra- movacích jazyků, jako jsou Solidity a Vyper. Dále jsou popsány běžné typy zranitelností, které se objevují při vývoji chytrých kontraktů, a uvedeny příklady známých útoků, včetně případu DAO hacku. Zmíněny jsou i rozdíly mezi platformami a počty aktivních vývojářů na dané platformě. Součástí přehledu je také srovnání dostupných vývojových nástrojů a podpory bezpečnostních analýz. Praktická část se zaměřuje na demonstraci zranitelnosti typu reentrancy na jednoduchém ukázkovém kontraktu napsaném v jazyce Solidity. Tento kontrakt je upraven do bezpečnější verze, analyzován pomocí nástrojů Slither a Mythril a následně přepsán do jazyka Vyper. Testování kontraktu bylo provedeno pomocí nástroje Brownie. Dále je zformulována sada doporučení, která vychází z poznatků teoretické i praktické části. Tyto poznatky mohou začínajícím vývojářům sloužit jako praktický návod ke zvýšení bezpečnosti smart kontraktů.
Klíčová slova: bezpečnost; blockchain; smart kontrakty; Solidity a Vyper
Název práce: Development and security of smart contracts: Analysis and auditing on blockchain platforms
Autor(ka) práce: Dítě, Jan
Typ práce: Bachelor thesis
Vedoucí práce: Sudzina, František
Oponenti práce: Perzina, Radomír
Jazyk práce: Česky
Abstrakt:
This bachelor’s thesis focuses on the analysis of the development and security of smart contracts on selected blockchain platforms. The theoretical part introduces the principles of blockchain technology, defines the characteristics of smart contracts, and provides an over- view of the most commonly used programming languages, such as Solidity and Vyper. It also describes common types of vulnerabilities that may occur during the development of smart contracts and presents examples of well-known attacks, including the DAO hack. Differences between platforms and the number of active developers on each platform are also discussed. The overview includes a comparison of available development tools and support for security analysis. The practical part focuses on demonstrating a reentrancy vulnerability using a simple exam- ple contract written in Solidity. This contract is then modified into a more secure version, analyzed using the tools Slither and Mythril, and rewritten in the Vyper language. The con- tract was tested using the Brownie tool. Furthermore, a set of recommendations is formulated based on the findings from both the theoretical and practical parts. These insights can serve as a practical guide for beginner developers to improve the security of smart contracts.
Klíčová slova: smart contracts; security; Solidity and Vyper; blockchain

Informace o studiu

Studijní program / obor: Aplikovaná informatika
Typ studijního programu: Bakalářský studijní program
Přidělovaná hodnost: Bc.
Instituce přidělující hodnost: Vysoká škola ekonomická v Praze
Fakulta: Fakulta informatiky a statistiky
Katedra: Katedra systémové analýzy

Informace o odevzdání a obhajobě

Datum zadání práce: 23. 1. 2025
Datum podání práce: 11. 5. 2025
Datum obhajoby: 2025

Soubory ke stažení

Soubory budou k dispozici až po obhajobě práce.

    Poslední aktualizace: