Course detail

Blockchain and Decentralised Applicatons

FIT-BDAAcad. year: 2021/2022

Decentralized platforms, blockchains, integrity-preserving data structures, smart contracts, decentralized applications, consensus protocols, security threats.

Language of instruction

Czech

Number of ECTS credits

5

Mode of study

Not applicable.

Learning outcomes of the course unit

Advanced theoretical and practical knowledge in the field of decentralized computing platforms, their types, consensual protocols, and problems associated with them. Knowledge of terminology, unique properties of blockchain, knowledge of advanced integrity-preserving data structures and algorithms used in blockchains and smart contract platforms. Knowledge of practical use cases and their potential vulnerabilities. Knowledge of the problem of scalability and anonymity and variants of their solution. Ability to design, deploy, and manage custom decentralized applications and solutions.
Students will understand the importance and use of blockchain and decentralized smart contract computing platforms.

Prerequisites

Not applicable.

Co-requisites

Not applicable.

Planned learning activities and teaching methods

Not applicable.

Assesment methods and criteria linked to learning outcomes

Assessment of an individual assignment.

Course curriculum

Not applicable.

Work placements

Not applicable.

Aims

The course aims to acquaint students with the principles and protocols in fully decentralized (P2P) network communication. While aspects of client-server communication are important, the less traditional but emerging peer-to-peer blockchain scheme and its integration into the Internet is an alternative that allows us to achieve unique features in terms of availability, transparency, and trust. This course focuses on the technical aspects of blockchain systems, smart contracts, and decentralized applications. Students will learn how these systems are built, how to communicate with them, and how to design & create secure decentralized applications. Students will also exercise the acquired knowledge in practice through a semestral assignment.

Specification of controlled education, way of implementation and compensation for absences

Assessment of assignments.

Recommended optional programme components

Not applicable.

Prerequisites and corequisites

Not applicable.

Basic literature

Not applicable.

Recommended reading

Texty přednášek v elektronické podobě.
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.
Nakamoto, S. (2019). Bitcoin: A peer-to-peer electronic cash system. Manubot.
 Narayanan, A., Bonneau, J., Felten, E., Miller, A., & Goldfeder, S. (2016). Bitcoin and cryptocurrency technologies: a comprehensive introduction. Princeton University Press.
Douceur, John R. "The sybil attack." International workshop on peer-to-peer systems. Springer, Berlin, Heidelberg, 2002.
Castro, M., & Liskov, B. (1999, February). Practical byzantine fault tolerance. In OSDI (Vol. 99, No. 1999, pp. 173-186).
Cachin, C., & Vukolić, M. (2017). Blockchain consensus protocols in the wild. arXiv preprint arXiv:1707.01873.
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.
Solidity Documentation, https://solidity.readthedocs.io/
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.
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).
Casino, F., Dasaklis, T. K., & Patsakis, C. (2019). A systematic literature review of blockchain-based applications: current status, classification and open issues. Telematics and informatics, 36, 55-81.

Classification of course in study plans

  • Programme MITAI Master's

    specialization NADE , any year of study, summer semester, elective
    specialization NBIO , any year of study, summer semester, elective
    specialization NGRI , any year of study, summer semester, elective
    specialization NNET , any year of study, summer semester, elective
    specialization NVIZ , any year of study, summer semester, elective
    specialization NCPS , any year of study, summer semester, elective
    specialization NSEC , any year of study, summer semester, elective
    specialization NEMB , any year of study, summer semester, elective
    specialization NHPC , any year of study, summer semester, elective
    specialization NISD , any year of study, summer semester, elective
    specialization NIDE , any year of study, summer semester, elective
    specialization NISY do 2020/21 , any year of study, summer semester, elective
    specialization NISY , any year of study, summer semester, elective
    specialization NMAL , any year of study, summer semester, elective
    specialization NMAT , any year of study, summer semester, elective
    specialization NSEN , any year of study, summer semester, elective
    specialization NVER , any year of study, summer semester, elective
    specialization NSPE , any year of study, summer semester, elective

Type of course unit

 

Lecture

26 hours, optionally

Teacher / Lecturer

Syllabus

  1. Introduction and required cryptographic constructs.
  2. 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.
  3. Bitcoin - mining, transaction, block, header, scripting language, UTXO / account-balance model, SPV clients and consensus participants.
  4. Bitcoin and PoW Blockchains - wallets, chain selection, forks, double spending, selfish mining, mining pools, time and accuracy, scalability, energy consumption, privacy, mixers.
  5. Proof-of-Resource Protocols - ASIC-Resistant Mining (Scrypt), Proof-of-Storage, Proof-of-Replication, popular altcoins and their protocols.
  6. 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.
  7. 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.
  8. Anonymity and Privacy - non-clinkability, deanonymization at the network layer, centralized and decentralized mixing services, zero-knowledge evidence, zk-Snarks, privacy-oriented cryptocurrencies.
  9. 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).
  10. 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).
  11. 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.
  12. Use Case - Decentralized auctions and identity management
  13. Use Case - Decentralized elections
  14. Invited lecture from a company or industry expert.