DCU Home | Our Courses | Loop | Registry | Library | Search DCU

Module Specifications..

Current Academic Year 2023 - 2024

Please note that this information is subject to change.

Module Title Blockchain: Basics & Applications
Module Code CA688I
School School of Computing
Module Co-ordinatorSemester 1: Irina Tal
Semester 2: Irina Tal
Autumn: Irina Tal
Module TeachersIrina Tal
Malika Bendechache
NFQ level 9 Credit Rating 7.5
Pre-requisite None
Co-requisite None
Compatibles None
Incompatibles None

This module provides a postgraduate-level comprehensive introduction to Blockchain technology and how it can be used in applications. It is designed in five courses and each course includes four topics corresponding to the main theme. The first course focuses on the origin of blockchain how blockchain enables the internet of value. The second course covers the challenges associated with implementing a real blockchain solution. The third course concentrates on Bitcoin including mining of Bitcoins, Bitcoin transaction workflows, and Bitcoin payment verifications and forks. The fourth course covers smart contracts including smart contracts key components and how do they work. The final course introduces Blockchain vulnerabilities and security threats.

Learning Outcomes

1. Gain a detailed understanding of how Blockchain works.
2. Demonstrate an appreciation of how transactions and exchanges are implemented using Blockchain technology.
3. Compare various smart contacts and how they can be implemented using Blockchain technology.
4. Critically evaluate various cryptocurrencies, such as Bitcoin, and how they are built using Blockchain technologies.
5. Explain the key concept in crypto-economics.
6. Critically evaluate Blockchain weaknesses and attack vectors.

Workload Full-time hours per semester
Type Hours Description
Online activity36Lectures
Assignment Completion120No Description
Independent Study31No Description
Total Workload: 187

All module information is indicative and subject to change. For further information,students are advised to refer to the University's Marks and Standards and Programme Specific Regulations at: http://www.dcu.ie/registry/examinations/index.shtml

Indicative Content and Learning Activities

Introduction to Blockchain
The course focuses on the origins of blockchain and how blockchain enables the internet of value. We look at 4 classic implementation approaches to blockchain and where these approaches are best suited. The global distribution of Bitcoin is reviewed. Finally, we look at how blockchain has enabled the emergence of cryptocurrencies and how those currencies contrast with fiat currencies.

Distributed Ledger Technologies
In this course, we delve into the challenges associated with implementing a real blockchain solution. We analyse the decentralisation & consensus using the Practical Byzantine Fault Tolerance (PBFT) algorithm. We review the implementation details of how transactions and blocks are recorded on the blockchain. We review how blockchain is physically stored and finally we review in detail proof of work and proof of stake.

Introduction to Bitcoin
In this course, we look at the mining of bitcoins, bitcoin transaction workflows, bitcoin payment verifications and forks. Bitcoin block pools are studied also. We look at how bitcoin blocks are implemented, the concept of candidate, blocks and how space is managed when block pools are eliminated. We look at Merkle Roots and electrum wallets. Finally, we study how mining pools are created and implemented using GPUs or CPUs and FPGAs

Introduction to Smart Contracts
In this course, we deepen our knowledge by looking at the key components of smart contracts and the role of Oracles. We review the legal basis of smart contracts and how the Accord project is trying to address smart contract challenges in practice. We study how smart contracts are implemented on the Ethereum network, and other Ethereum features. We study the Solidity programming language approach to smart contracts. The implementation of state and how the state is saved (on the Ethereum network) is also studied. Finally, we look at Solidity function modifiers, data types and enumerated types.

Blockchain Attack Vectors
In this course, we will look at how the structure of blockchain and the peer-to-peer network topology of blockchain is vulnerable. We will also study how application-oriented attacks arise. We will introduce the concepts of selfish mining and majority attacks, along with time-jacking and consensus delay attacks. We will also look at the peripheral factors that contribute to blockchain vulnerabilities, including wallet theft, crypto-jacking and attacks on smart contracts.

Assessment Breakdown
Continuous Assessment40% Examination Weight60%
Course Work Breakdown
TypeDescription% of totalAssessment Date
AssignmentThe students will be given a use case scenario and will be asked to do an analysis of the best blockchain platform that suits the given scenario. Students will need to prepare a report that compares and evaluate the different potential blockchain solutions and decide on the best platform to use on the given use case scenario.20%n/a
AssignmentThe students will be given specific (selected) topics related to what has been covered in the module and will be asked to choose one topic, investigate it and prepare a short presentation explaining and defending their findings.20%n/a
Reassessment Requirement Type
Resit arrangements are explained by the following categories;
1 = A resit is available for all components of the module
2 = No resit is available for 100% continuous assessment module
3 = No resit is available for the continuous assessment component
This module is category 1
Indicative Reading List

    Other Resources

    Programme or List of Programmes
    GCCMGraduate Certificate in Computing
    MCMM.Sc. in Computing
    MCMECMicro-Credential Modules Eng & Comp
    SMPECSingle Module Programme (Eng & Comp)

    My DCU | Loop | Disclaimer | Privacy Statement