← All courses

Bitcoin and Blockchain Technology

  • October-December 2020
  • University of Milano-Bicocca
  • Department of Statistics and Quantitative Methods, University of Milano-Bicocca

Bitcoin and Blockchain Technology, October-December 2020

Department of Statistics and Quantitative Methods, University of Milano-Bicocca

Because of COVID-19 the course will be streaming only.

e-learning: https://elearning.unimib.it/course/view.php?id=31548

If you have an e-mail @campus.unimib.it please join the 202010-bicocca channel in the Slack BBT workspace using your first and last name (no nicknames) and a profile picture. Updates and conversations about the course will be posted in the Slack channel.

The course is for the students of University of Milano-Bicocca only; anyone else, please consider https://dgi.io/workshop.

Learning objectives

The course is an introduction to bitcoin and the associated blockchain technology.

Starting from a computationally focused approach to elliptic curves over finite fields and presenting the discrete logarithm problem as the cornerstone of public-key cryptography, bitcoin is introduced as ingenious breakthrough innovation.

Its game theory, computer science (distributed systems, distributed consensus), and monetary theory elements are examined in the attempt to properly convey the interdisciplinarity of the topic and appreciate its relevance.

Technical and programming elements about digital signatures, blockchain, Merkle tree, addresses, transactions, and timestamping are also provided to assess features and limits of the Bitcoin protocol.

Prerequisites

There are no strict prerequisites, even if a computer science mindset and some familiarity with algebra and finance might help to appreciate the course. While a rigorous formal approach is almost impossible in a course touching on so many and so different knowledge areas, intellectual curiosity is stimulated about the interplay between maths, cryptography, economic incentives, technology, monetary theory, regulatory issues, and politics.

Contents

Teaching method

Teaching language

Italian or English, the latter if foreign students are present.

Assessment

Students attending the lessons are asked to solve course assignments for each lesson. Assignments have a deadline and are not required/allowed for students that did not actively partecipate to the semester activity.

Assignments can be tackled cooperatively by team of students, up to three students. Successful assignments will contribute up to five points to the final grade.

Please send the assignments to the e-mail that will be indicated with subject BBT202010-BICOCCA #1 for the first assignment, BBT202010-BICOCCA #2 for the second assignment, etc.

The final exam will be individual: a grade of at least 18/30 is required to pass the exam.

Schedule

Assistant lecturer: Paolo Mazzocchi.

  1. 2020-10-07 Wednesday 16:30-18:30
    Bitcoin as Digital Gold (Part 1)
    slides
  2. 2020-10-14 Wednesday 16:30-18:30
    Bitcoin as Digital Gold (Part 2)
    slides
    Assignment #1: read the “Bitcoin: oro digitale, finanza e tulipani” interview; then send up to three questions that, in your opinion, might deserve further clarifications; deadline: 2020-10-20
  3. 2020-10-21 Wednesday 16:30-18:30
    Discrete Logarithm Problem on Finite Fields and Elliptic Curves
    slides
    Assignments are included in the slides; deadline: 2020-11-10
  4. 2020-10-28 Wednesday 16:30-18:30
    Hash Functions
    slides
    Assignments are included in the slides; deadline: 2020-11-10
    Blockchain, Mining, and Distributed Consensus (Part 1)
    slides
  5. 2020-11-04 Wednesday 16:30-18:30
    Blockchain, Mining, and Distributed Consensus (Part 2)
    slides
  6. 2020-11-11 Wednesday 16:30-18:30
    Elliptic Curve Digital Signature Algorithm
    slides
  7. 2020-11-18 Wednesday 16:30-18:30
    Addresses, WIFs, and Bitcoin Message Signing
    slides
    Transactions and Scripts
    slides
  8. 2020-12-02 Wednesday 16:30-18:30
    Beyond Bitcoin: Between Hype and Reality
    slides
  9. 2020-12-09 Wednesday 16:30-18:30
    Wallets and Deterministic Key Chains
    slides
  10. 2020-12-16 Wednesday 16:30-18:30
    The Cryptocurrency Frontier in Monetary Engineering
    slides and video
    Bitcoin: oro digitale per nuovi standard monetari
    Hayek Money: The Cryptocurrency Price Stability Solution
  11. 2020-12-23 Wednesday 16:30-18:30
    Final Q&A
    Extra Material: Diffie Hellman and Symmetric Cryptography
    Extra Material: Schnorr Signature
    slides

Python library

btclib.org github.com/btclib-org/btclib

Python scripts, Excel spreadsheets, and regtest lab material

github.com/btclib-org/bbt

Introductory reading

Technology references

Cryptography references

Monetary theory references