CPSC 601: Blockchain and its Uses (Spring 2018)

Announcements | General Information


General information

Instructor: Joel Reardon, ICT 642, e-mail joel.reardon [at] ucalgary [dot] ca
Lectures: TR 13:00--15:45 in ST 061
from 2018.05.08 to 2018.06.30

Course Overview

This will be a seminar course targetted for graduate students to learn about research in the space of the blockchain. How blockchain works at the detail of hash functions and chaining, what it does as consensus finding mechanism, bitcoin as an application of it to motivate, then an more breadth exploration of proposed areas where it can be used in public and private spheres, such as irrevocable and automatic contracts, land leasing and ownership, supply chain managment, indeliable bookkeeping.

The begining on the course will consist of some introductary lectures on the cryptographic basics such as hashes, signatures, proof of work, Merkle trees, etc. The foundations of blockchain, including the Byzantine general's problem and distributed consensus will be also introduced. The properties of blockchain as a data structure will be examined, and Bitcoin as a top-layer, e.g., application of blockchain, will be covered.

The remainder of the course will be a seminar style course where students will present blockchain research papers and lead a discussion. Each student will select a paper to present, prepare a 30 minute presentation and lead a 30 minute discussion with the class afterwards. The other students will review both the paper before class and the presentation of the student afterwards. Participation in discussion and these reviews correspond to a quarter of the grade. The presentation itself is a further quarter of the grade.

Finally, there will be a course project, done in groups of two. Students will pick a topic related to blockchain, for example, building an application that works with blockchain, researching ways to improve it, examining the economics of it, etc. The project will be worth half the grade of the course, and will consist of a written conference-style paper describing the research as well as a presentation done in class on the topic. There will be time reserved in class for students to work on their project to ensure that work on it is done early and often.

Course Evalation

Project report is due no later than July 2nd.

Paper List

This list is provisionary. The students can also suggest a paper and not all these papers will be presented.
Unit Title Presenter
Background Bitcoin: A Peer-to-Peer Electronic Cash System Joel Reardon
Background Bitcoin’s Academic Pedigree Joel Reardon
Background How to Time-Stamp a Digital Document Joel Reardon
Background CommitCoin Joel Reardon
Background Do you need a Blockchain? Joel Reardon
Smart Contracts Corda: An introduction Joel Reardon
Smart Contracts Ethereum White Paper Joel Reardon
Alternative Consensus Ripple Consensus Phodkar
Alternative Consensus The Swirlds Hashgraph Consensus Algorithm Horacsek
Mining On the Security and Performance of Proof of Work Blockchains Newson
Applications Toward Cryptocurrency Lending Farhoudi
Applications Blockchain and Quantum Computing Shabash
Applications A Quantitative Analysis of the Impact of Arbitrary Blockchain Content on Bitcoin Talero
Smart Contracts ZEUS: Analyzing Safety of Smart Contracts MacAdam
Applications A Blockchain-Based Storage System for Data Analytics in the Internet of Things Pullano
Smart Contracts Designing Secure Ethereum Smart Contracts
Smart Contracts Chainspace: A Sharded Smart Contracts Platform
Smart Contracts TLS-N: Non-repudiation over TLS Enabling Ubiquitous Content Signing
Alternative Consensus The Tangle (IOTA)
Alternative Consensus Blockchain Consensus Protocols in the Wild
Alternative Consensus Hyperledger Fabric
Privacy On the Privacy Provisions of Bloom Filters in Lightweight Bitcoin Clients
Privacy Listening to Whispers of Ripple
Mining SmartPool
Mining Resource-Efficient Mining for Blockchains
Applications On Decentralizing Prediction Markets and Order Books Guest
Applications Making Sense of Blockchain Applications

Course Admissions

The course is open to graduate students in the computer science department. Graduate students in any department at the University of Calgary are welcome to attend with consent of the instructor, and will be expected to be able to read and understand published research papers on blockchain. Undergraduate students at the University of Calgary are also welcome to attend with consent of the instructor and the same expectations as graduate students. These admissions will be space permitting with priority given first to graduate students in the department of Computer Science and second to those with high GPAs.

Last updated: