90748 - Blockchain and Cryptocurrencies

Academic Year 2021/2022

  • Teaching Mode: Traditional lectures
  • Campus: Bologna
  • Corso: Second cycle degree programme (LM) in Artificial Intelligence (cod. 9063)

    Also valid for Second cycle degree programme (LM) in Computer Science (cod. 8028)

Learning outcomes

At the end of the course, the student knows the relevant themes related to blockchain technologies, cryptocurrencies, smart contracts and novel applications that can be built over the blockchain. The student is able to develop simple smart contracts that can be deployed on a blockchain.

Course contents

Bitcoin and novel cryptocurrencies gathered momentum in the last months. More and more investors look with interest at these technologies, while others label them as a dangerous speculative bubble. The truth is that the blockchain, and the alternative implementations of a distributed ledger, represent very interesting technologies, that can be exploited to build novel distributed applications. The underlying building blocks are related to many concepts and research areas of computer science in general. This course will illustrate the main principles and conceptual foundations of the blockchain and the Bitcoin network.

Program

  • Introduction to peer-to-peer sysystems

  • Overlay topologies and decentralization

  • Introduction to Crypto and Cryptocurrencies

  • The blockchain: how to achieve decentralization

  • Transactions and transaction scripting languages

  • Mining

  • Attacks to the blockchain

  • Anonymity

  • Smart contracts

Readings/Bibliography

Lecture notes and slides will be provided by the instructor, along with papers and a list of bibliographical references and additional material. All the course material is in English.

Teaching methods

Frontal lessons

Assessment methods

Project

Teaching tools

Unibo e-learning platform

Office hours

See the website of Stefano Ferretti