Blockchain
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
- Přednášející:
- Marek Bielik, Josef Gattermayer, Róbert Lórencz, Jakub Růžička
- Cvičící:
- Marek Bielik, Josef Gattermayer, Róbert Lórencz, Jakub Růžička
- Předmět zajišťuje:
- katedra informační bezpečnosti
- Anotace:
-
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.
- Požadavky:
-
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.
- Poznámka:
- Další informace:
- https://courses.fit.cvut.cz/NIE-BLO/
- 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ů:
-
- Mgr. specializace Počítačová bezpečnost, 2020 (volitelný předmět)
- Mgr. specializace Návrh a programování vestavných systémů, 2020 (volitelný předmět)
- Mgr. specializace Počítačové systémy a sítě, 2020 (volitelný předmět)
- Mgr. specializace Manažerská informatika, 2020 (volitelný předmět)
- Mgr. specializace Softwarové inženýrství, 2020 (volitelný předmět)
- Mgr. specializace Systémové programování, verze od 2020 (volitelný předmět)
- Mgr. specializace Webové inženýrství, 2020 (volitelný předmět)
- Mgr. specializace Znalostní inženýrství, 2020 (volitelný předmět)
- Mgr. specializace Teoretická informatika, 2020 (volitelný předmět)
- Mgr. program, pro fázi studia bez specializace, ver. pro roky 2020 a vyšší (volitelný předmět)
- Master specialization Software Engineering, in English, 2021 (volitelný předmět)
- Master specialization Computer Security, in English, 2021 (volitelný předmět)
- Master specialization Computer Systems and Networks, in English, 2021 (volitelný předmět)
- Master specialization Design and Programming of Embedded Systems, in English, 2021 (volitelný předmět)
- Master specialization Computer Science, in English, 2021 (volitelný předmět)
- Study plan for Ukrainian refugees (volitelný předmět)
- Master Specialization Digital Business Engineering, 2023 (povinně volitelný předmět, volitelný předmět)
- Mgr. specializace Systémové programování, verze od 2023 (volitelný předmět)
- Mgr. specializace Teoretická informatika, 2023 (volitelný předmět)