Module Specifications.
Current Academic Year 2024 - 2025
All Module information is indicative, and this portal is an interim interface pending the full upgrade of Coursebuilder and subsequent integration to the new DCU Student Information System (DCU Key).
As such, this is a point in time view of data which will be refreshed periodically. Some fields/data may not yet be available pending the completion of the full Coursebuilder upgrade and integration project. We will post status updates as they become available. Thank you for your patience and understanding.
Date posted: September 2024 No Banner module data is available
| |||||||||||||||||||||||||||||||||||||||||||
None |
|||||||||||||||||||||||||||||||||||||||||||
Description 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. | |||||||||||||||||||||||||||||||||||||||||||
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 BlockchainThe 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 TechnologiesIn 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 BitcoinIn 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 FPGAsIntroduction to Smart ContractsIn 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 VectorsIn 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. | |||||||||||||||||||||||||||||||||||||||||||
| |||||||||||||||||||||||||||||||||||||||||||
Indicative Reading List | |||||||||||||||||||||||||||||||||||||||||||
Other Resources None | |||||||||||||||||||||||||||||||||||||||||||