Development and security of smart contracts: Analysis and auditing on blockchain platforms

Thesis title: Vývoj a bezpečnost smart kontraktů: Analýza a auditování na blockchainových platformách
Author: Dítě, Jan
Thesis type: Bakalářská práce
Supervisor: Sudzina, František
Opponents: Perzina, Radomír
Thesis language: Česky
Abstract:
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ů.
Keywords: bezpečnost; blockchain; smart kontrakty; Solidity a Vyper
Thesis title: Development and security of smart contracts: Analysis and auditing on blockchain platforms
Author: Dítě, Jan
Thesis type: Bachelor thesis
Supervisor: Sudzina, František
Opponents: Perzina, Radomír
Thesis language: Česky
Abstract:
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.
Keywords: smart contracts; security; Solidity and Vyper; blockchain

Information about study

Study programme: Aplikovaná informatika
Type of study programme: Bakalářský studijní program
Assigned degree: Bc.
Institutions assigning academic degree: Vysoká škola ekonomická v Praze
Faculty: Faculty of Informatics and Statistics
Department: Department of Systems Analysis

Information on submission and defense

Date of assignment: 23. 1. 2025
Date of submission: 11. 5. 2025
Date of defense: 2025

Files for download

The files will be available after the defense of the thesis.

    Last update: