Přihlášení do KOSu pro zápis předmětu Zobrazit rozvrh
Kód Zakončení Kredity Rozsah Jazyk výuky
NIE-BLO Z,ZK 5 1P+2C anglicky
Garant předmětu:
Róbert Lórencz
Marek Bielik, Josef Gattermayer, Róbert Lórencz, Jakub Růžička
Marek Bielik, Josef Gattermayer, Róbert Lórencz, Jakub Růžička
Předmět zajišťuje:
katedra informační bezpečnosti

Students will understand the foundations of blockchain technology, smart contract programming, and gain an overview of most notable blockchain platforms. They will be able to design, code and deploy a secure decentralized application, and assess whether integration of a blockchain is suitable for a given problem. The course places an increased emphasis on the relationship between blockchains and information security. It is concluded with a defense of a research or applied semester project, which prepares the students for implementing or supervising implementation of blockchain-based solutions in both academia and business.


Fundamentals of cryptography, computer security (i.e. BI/E-KAB or BI/E-BEZ) and programming.

Osnova přednášek:

1. Prerequisites and fundamentals: Databases, Decentralized/distributed databases/ledgers, Blockchain-related cryptography, Consensus/trust, types of proofs, Public vs. private blockchains, Blockchain programming languages (Solidity, Rust, WASM..)

2. Cryptocurrencies and major blockchain platforms: Digital currencies, Popular platforms (Bitcoin, Ethereum, Avalanche, etc.), Smart contracts, Decentralized applications, Cryptocurrency trading, Governance, Limitations and future development

3. Systems design, hands-on development: Fitness for purpose, Software architecture, languages, and libraries, Web3.js development - mock projects / simple games, launching ICO, representing identity, exchanging data, tracking goods, smart contracts etc.

4. Security: Most notable hacks (The DAO hack, etc.), Attack vectors, Threat modelling, Anonymity, Post-quantum cryptography, Platform governance, Best practices

5. Applications and case studies: Finance, Enterprise networks, Legal relationships/contracts, Public service, Other use-cases, Startup, corporate and country case studies, Most notable blockchain apps (Uniswap, Compound, Aave, etc.)

Osnova cvičení:

1. Programming language Solidity & Ethereum Virtual Machine

2. Architecture of a decentralized application, interfaces (ERC-20, ERC-721, etc.). We create an ERC-20 token and list it on DEX on testnet

3. Front-end, back-end, co-design (which logic to code on blockchain and which not)

4. Security of blockchain applications (we take examples containing bugs and try to find them/fix them)

5. Devops/testing blockchain applications (how to properly test/deploy smart contract)

6. Economy of decentralized apps - why do we need a token?

7. Presentation of team works

Cíle studia:
Studijní materiály:

1. Bashir, Imran. Mastering Blockchain: Distributed Ledgers, Decentralization, and Smart Contracts Explained. 2nd edition, Packt Publishing, 2018.

2. Antonopoulos, Andreas M. Mastering Bitcoin: Programming the Open Blockchain. 2nd edition, O'Reilly, 2017.

3. Song, Jimmy. Programming Bitcoin: Learn How to Program Bitcoin from Scratch. O'Reilly, 2019.

4. Antonopoulos, Andreas M., and Gavin Wood. Mastering Ethereum: Building Smart Contracts and DApps. O'Reilly, 2019.

5. Gerard, David. Attack of the 50 Foot Blockchain: Bitcoin, Blockchain, Etherium and Smart Contracts.CreateSpace Independent Publishing Platform, 2017.



Další informace:
Rozvrh na zimní semestr 2024/2025:
Rozvrh není připraven
Rozvrh na letní semestr 2024/2025:
Rozvrh není připraven
Předmět je součástí následujících studijních plánů:
Platnost dat k 19. 4. 2024
Aktualizace výše uvedených informací naleznete na adrese https://bilakniha.cvut.cz/cs/predmet6813906.html