Course detail
Blockchain and Decentralised Applicatons
FIT-BDAAcad. year: 2022/2023
Decentralized platforms, blockchains, integrity-preserving data structures, smart contracts, decentralized applications, consensus protocols, security threats.
Language of instruction
Number of ECTS credits
Mode of study
Guarantor
Department
Learning outcomes of the course unit
Students will understand the importance and use of blockchain and decentralized smart contract computing platforms.
Prerequisites
Co-requisites
Planned learning activities and teaching methods
Assesment methods and criteria linked to learning outcomes
Course curriculum
Work placements
Aims
Specification of controlled education, way of implementation and compensation for absences
Recommended optional programme components
Prerequisites and corequisites
Basic literature
Recommended reading
Douceur, John R. "The sybil attack." International workshop on peer-to-peer systems. Springer, Berlin, Heidelberg, 2002.
I. Homoliak, S. Venugopalan, D. Reijsbergen, Q. Hum, R. Schumi and P. Szalachowski, "The Security Reference Architecture for Blockchains: Toward a Standardized Model for Studying Vulnerabilities, Threats, and Defenses," in IEEE Communications Surveys & Tutorials, vol. 23, no. 1, pp. 341-390, Firstquarter 2021, doi: 10.1109/COMST.2020.3033665.
Luu, L., Narayanan, V., Zheng, C., Baweja, K., Gilbert, S., & Saxena, P. (2016, October). A secure sharding protocol for open blockchains. In Proceedings of the 2016 ACM SIGSAC Conference on Computer and Communications Security (pp. 17-30).
Miers, I., Garman, C., Green, M., & Rubin, A. D. (2013, May). Zerocoin: Anonymous distributed ecash from bitcoin. In 2013 IEEE Symposium on Security and Privacy (pp. 397-411). IEEE.
Sapirshtein, A., Sompolinsky, Y., & Zohar, A. (2016, February). Optimal selfish mining strategies in bitcoin. In International Conference on Financial Cryptography and Data Security (pp. 515-532). Springer, Berlin, Heidelberg.
Solidity Documentation, https://solidity.readthedocs.io/
Texty přednášek v elektronické podobě.
Elearning
Classification of course in study plans
- Programme MITAI Master's
specialization NADE , 0 year of study, summer semester, elective
specialization NBIO , 0 year of study, summer semester, elective
specialization NCPS , 0 year of study, summer semester, elective
specialization NEMB , 0 year of study, summer semester, elective
specialization NGRI , 0 year of study, summer semester, elective
specialization NHPC , 0 year of study, summer semester, elective
specialization NIDE , 0 year of study, summer semester, elective
specialization NISD , 0 year of study, summer semester, elective
specialization NISY up to 2020/21 , 0 year of study, summer semester, elective
specialization NMAL , 0 year of study, summer semester, elective
specialization NMAT , 0 year of study, summer semester, elective
specialization NNET , 0 year of study, summer semester, elective
specialization NSEC , 0 year of study, summer semester, elective
specialization NSEN , 0 year of study, summer semester, elective
specialization NSPE , 0 year of study, summer semester, elective
specialization NVER , 0 year of study, summer semester, elective
specialization NVIZ , 0 year of study, summer semester, elective
specialization NISY , 0 year of study, summer semester, elective
specialization NEMB up to 2021/22 , 0 year of study, summer semester, elective
Type of course unit
Lecture
Teacher / Lecturer
Syllabus
- Introduction and required cryptographic constructs.
- Bitcoin I - mining, transaction, block, header, scripting language, UTXO / account-balance model, SPV clients and consensus participants.
- Bitcoin II - PoW Blockchains - wallets, chain selection, forks, double spending, selfish mining, mining pools, time and accuracy, scalability, energy consumption, privacy, mixers.
- Consensus protocols - goals, Zooko triangle, CAP theorem, Byzantine consensus and consistent broadcast, PBFT, Nakamoto's consensus, finality, Proof-of-Work, Proof-of-Stake, Proof-of-Authority, permissioned and permissionless models, reward schemes and game theory models.
- Proof-of-Resource Protocols - ASIC-Resistant Mining (Scrypt), Proof-of-Storage, Proof-of-Replication, popular altcoins and their protocols.
- Ethereum and Smart Contracts - computational model, mining (ethash), uncles, structure block and headers, light clients, virtual machine, memory and storage, gas concept, consistent status updates with Merkle-Patricia trees, smart contracts, invocations types.
- Smart Contract Programming - Examples of standard contracts and decentralized applications (DAPP), fungible and non-fungal tokens, examples of bugs in smart contracts, frameworks for code analysis, truffle and Solidity, decentralized applications, eth.web3, JSON RPC, Ganache Turing's complete and incomplete smart contract languages.
- Scalability and throughput - problems and trade-offs, Bitcoin-NG, acyclic graphs, Sharding, Off-chaining (payment channels, lighting network), TEE, Permissioned blockchains and Proof-of-Authority, centralized blockchains (history trees, CT).
- Anonymity and Privacy - non-clinkability, deanonymization at the network layer, centralized and decentralized mixing services, zero-knowledge evidence, zk-Snarks, privacy-oriented cryptocurrencies.
- Proof-of-Stake protocols - virtual mining, combination with BFT and PoR, examples of protocols, attacks on PoS protocols (nothing-at-stake, grinding, long-range, DoS on leaders and Commission).
- Layered blockchain model, administration - reference architecture, ISO / IEC 15408 and blockchains, graphs of vulnerabilities / threats / measures, security aspects of layers, exemplar application of blockchains, administration via BIP and EIP, types of forks.
- Forensics analysis [VV].
- Invited lecture from a company or industry expert.
Project
Teacher / Lecturer
Syllabus
- An individual semestral assignment.
Elearning