Předmět je základní jednotka výuky, jejímž prostřednictvím si student osvojí ucelenou část souboru znalostí a dovedností, potřebnou pro zvládnutí studijního oboru/specializace. Za věcný obsah předmětu zodpovídá garant předmětu. Časovou náročnost předmětu zhruba vyjadřuje atribut předmětu rozsah kontaktní výuky. Například rozsah = 2+2 značí, že předmět bude mít týdně dvě hodiny přednášek a dvě hodiny cvičení týdně. Na závěr semestru musí vyučující provést vyhodnocení, nakolik si ten který student osvojil poznatky a dovednosti, kterých měl během výuky nabýt. Jakým způsobem toto hodnocení vyučující provedou určuje atribut způsob zakončení. U předmětu lze definovat, že předmět je zakončen pouze zápočtem(Z), klasifikovaným zápočtem(KZ), pouze zkouškou(ZK), nebo zápočtem a zkouškou(Z,ZK). Náročnost úspěšného absolvování předmětu je vyjádřena ECTS kreditními body. Výuka předmětu probíhá během semestru. Opakovaně se předmět vyučuje vždy v zimním(Z), nebo v letním(L) semestru každého akademického roku. Výjimečně může předmět být nabízen studentům v obou semestrech(Z,L). Za organizační zajištění výuky zodpovídá přiřazená katedra, která zejména vytvoří časový rozvrh předmětu a zajistí pro předmět vyučující. Někteří přednáší a zkouší, jiní vedou cvičení a udělují zápočty.
Obsahová náplň a další organizační informace, týkající se předmětu je popsána pomocí různých popisných textů(anotace, týdenní osnova, literatura, apod.)
$DODATEK_POPIS
NIE-BLO | Blockchain | Rozsah kontaktní výuky: | 1P+2C | ||
---|---|---|---|---|---|
Vyučující: | Bielik M., Gattermayer J., Lórencz R., Růžička J. | Způsob zakončení: | Z,ZK | ||
Zodpovědná katedra: | 18106 | ECTS Kredity: | 5 | Semestr: | Z |
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.
Osnovy 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.) |
Osnovy 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 |
Literatura:
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. |
Požadavky:
Fundamentals of cryptography, computer security (i.e. BI/E-KAB or BI/E-BEZ) and programming.
|
Předmět je zahrnut do těchto studijních plánů:
Stránka vytvořena 27. 4. 2024, semestry: L/2023-4, L/2021-2, Z/2023-4, Z,L/2019-20, Z/2024-5, Z/2021-2, Z/2020-1, Z/2022-3, L/2020-1, L/2022-3, připomínky k informační náplni zasílejte správci studijních plánů | Návrh a realizace: J. Novák, I. Halaška |