Applied Data Science For Banking and Finance - Cyber Security Regulation

Bitcoin and Blockchain Technology), Fall 2020

Interfacoltà: Scienze Matematiche Fisiche e Naturali (Brescia) - Scienze Bancarie Finanziarie e Assicurative (Milano)
Università Cattolica del Sacro Cuore (Brescia)

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

If you have an e-mail @unicatt.it please join the 202010-brescia channel in the Slack BBT workspace using your first and last name (no nicknames); a profile picture would be appreciated, but is not mandatory. Details and updates about the course will be posted in the Slack channel.

the course is for the students of Università Cattolica del Sacro Cuore only; anyone else, please consider https://dgi.io/workshop.

Learning objectives

The course is about bitcoin, the associated blockchain technology, and their relevance in the field of cyber security regulation.

Bitcoin is introduced as ingenious breakthrough fintech 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

  • Cash, Electronic Money, Central Bank Money, eCash
  • Internet Money
  • Bitcoin Transactions
  • About Money
  • Private Money and the Centralization Dilemma
  • The Double Spending Problem
  • Bitcoin as Digital Gold
  • Bitcoin as Investment Asset
  • Bitcoin Financial Services
  • Discrete Logarithm Problem on Finite Cyclic Groups
  • Modular Arithmetic
  • Finite Fields
  • Elliptic Curves Over Real Numbers
  • DLP on Elliptic Curves Over Finite Fields
  • Hash Functions
  • Partial Hash Inversion
  • Hash Pointer Data Structures: Blockchain and Merkle Tree
  • Design of A Simplified Digital Currency
  • Distributed Consensus
  • Mining
  • P2P Network
  • Protocol Governance
  • Elliptic curve digital signature algorithm
  • Elliptic curve Schnorr signature algorithm: Mu(lti)Sig(nature), threshold signature, batch verification
  • Addresses and WIFs
  • Hierarchical deterministic wallets: BIP32, BIP43, BIP44
  • Mnemonic phrase: BIP39 and Electrum
  • TxIns, TxOs, UTxO, nLockTime
  • Bitcoin script language
  • Transactions
  • Blocks
  • Wallets and Bitcoin Core
  • Testnet, regtest, and wallet workshop
  • Money and innovation: monetary and token engineering
  • Hayek money and dual asset ledger money
  • Blockchain beyond bitcoin
  • Finance and blockchain
  • Timestamping, notarization, and anchoring
  • Smart contracts
  • Distributed ledger technology

Teaching method

  • Slide based lessons with associated bibliography
  • Python 3 programming assignments and technology assignments
  • Workshop labs on Bitcoin Core, Electrum, and OpenTimestamps

Teaching language

English.

Exam

Students are asked to solve the homework assignments for each lesson. Please send the homeworks to the e-mail that will be indicated with subject BBT202010-BRESCIA #1 for the first lesson, BBT202010-BRESCIA #2 for the second lesson, etc.

The exam will be a multiple choice online live test.

Lessons’ calendar and material

Assistant lecturer: Paolo Mazzocchi.

  1. Monday 2019-10-05 11:30-13:30
    Bitcoin as Digital Gold
    slides
  2. Monday 2019-10-12 11:30-13:30
    Bitcoin as Digital Gold
    slides
  3. Monday 2019-10-19 11:30-13:30
    Discrete Logarithm Problem on Finite Fields and Elliptic Curves
    slides
  4. Monday 2019-10-26 11:30-13:30
    Hash Functions
    slides
    Blockchain, Mining, and Distributed Consensus
    slides
  5. Monday 2019-11-02 11:30-13:30
    Elliptic Curve Digital Signature Algorithm
    slides
  6. Monday 2019-11-09 11:30-13:30
    Addresses, WIFs, and Bitcoin Message Signing
    slides
    Transactions and Scripts
    slides
  7. Monday 2019-11-16 11:30-13:30
    Beyond Bitcoin: Between Hype and Reality
    slides
  8. Monday 2019-11-23 11:30-13:30
    Wallets and Deterministic Key Chains
    slides
  9. Monday 2019-11-30 11:30-13:30
    Timestamping and Notarization
  10. Monday 2019-12-07 11:30-13:30
    The Frontier of Monetary Engineering
    slides
    Bitcoin: oro digitale per nuovi standard monetari
    Hayek Money: The Cryptocurrency Price Stability Solution

Python library

https://btclib.org
https://github.com/btclib-org/btclib

Python scripts, Excel spreadsheets, and regtest lab material

http://github.com/btclib-org/bbt

Introductory reading

Technology references

Cryptography references

Monetary theory references