Navigation

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)