Cryptocurrencies Block Course 2018
Course Outline
A basic knowledge in cryptography or computer security is preferred, but not required. It would be ideal if you have done a cryptography and/or security lecture at FAU or during your previous studies somewhere else. A preliminary list of topics covered are the following:
- Cryptographic e-cash
- Introduction to Blockchain
- Bitcoin Protocol
- Nakamoto Consensus
- Mining
- Alternative Coins (e.g. Ethereum, Anonymous Payments, ZCash)
- Scalability Issues on Blockchain
- State-of-the-art research on cryptocurrencies
General Information
- First lecture: 5th of March 2018
- Venue: Chair of Applied Cryptography, Nuremberg Campus of Technology
Fürther Str 246c / Eingang 5 / 2. OG (Room 11.2.21) - Instructor: Dr. Bernardo Magri
- ECTS credits: 5.0
- Language: English
- StudOn
- Registration: To register send an email to bernardo dot magri at fau dot de with a brief motivation and your academic background.
Program* (Tentative)
Date | Session 1
10:00 – 11:45 |
Session 2
13:00 – 15:00 |
Session 3
15:00 – 17:00 |
05/03 | Introduction to Cryptocurrencies and Cryptography | Nakamoto Consensus | Tutorial session |
06/03 | Introduction to Bitcoin | Bitcoin Applications | Tutorial session |
07/03 | Introduction to Bitcoin Mining | Mining Strategies and Attacks | Tutorial session |
08/03 | Introduction to ChaaCoin | Programming exercises on ChaaCoin | Programming Exercise |
09/03 | Anonymous Blockchain | Bitcoin Backbone Protocol | Programming Exercise |
12/03 | Blockchain as a Platform | Alternative Mining Puzzles | Programming Exercise |
13/03 | Case Study: Redactable Blockchain | Case Study: Certified Bitcoin | Programming Exercise |
14/03 | Case Study: OmniLedger | Case Study: Fruitchain | Programming Exercise |
15/03 | Case Study: Cardano Consensus (Ouroboros) | Payment Networks and Ripple | Programming Exercise |
16/03 | Programming Project | Programming Project | Programming Project |
19/03 | Programming Project | Programming Project | Programming Project |
20/03 | Programming Project | Programming Project | Programming Project |
21/03 | Programming Project | Programming Project | Programming Project |
22/03 | Programming Project | Programming Project | Programming Project |
23/03 | Programming Project | Programming Project | Programming Project |
*The program is subject to changes before and during the course
Evaluation
Programming project
Programming Project
On the duration of the course the students will be assigned a programming project (to be defined at the course).
Language: Python
Project deadline: April 6th 2018 (The groups will present their projects in a special session on April 6th)