Obiettivi
=========
Il corso fornisce agli studenti la capacità di comprendere, confrontare e utilizzare le distinte tecnologie blockchain disponibili. Vengono presentate le basi teoriche necessarie a comprendere il funzionamento delle blockchain, unitamente alle conoscenze tecniche che permettono una reale interazione con alcune delle piattaforme blockchain esistenti.
Docenti
=======
Fausto Spoto, Università di Verona
Maddalena Castellani, IP lawyer, Euipo, Triberti & Castellani
Fabio Pallaro, Sync Lab Srl
Dove
====
Lezioni online su Zoom, ad accesso libero:
https://univr.zoom.us/j/89861828199?pwd=M1FZYXdtUVBMQ1N1K3FTZ2dGZDFmQT09
Le lezioni verranno registrate e saranno successivamente disponibili su Panopto, ad accesso libero:
https://univr.cloud.panopto.eu/Panopto/Pages/Sessions/List.aspx?folderID=1c8bb888-fca4-48bd-85af-acc700e40484
Programma
=========
Teoria:
- storia della tecnologia blockchain
- classificazione delle blockchain
- decentralizzazione e DApp
- richiami su hashing e crittografia
- encoding Base64, Base58, Merkle/Patricia tries
- consenso, proof of work, proof of stake
- finality
- la blockchain Bitcoin
- smart contract, introduzione e storia
- la blockchain Ethereum
- il linguaggio Solidity
- esempi di contratti in Solidity
- il motore Tendermint e la sua interfaccia per le applicazioni
- la blockchain Hotmoka
- il linguaggio Takamaka
- esempi di contratti in Takamaka
- token
- governance
- aspetti legali delle crittomonete e degli smart contract
- ICO
Laboratorio:
- esperimenti di interazione con la rete Bitcoin
- esperimenti di interazione con la rete Ethereum tramite MetaMask, Remix, JSON RPC e Web3j; scrittura e utilizzo di contratti in Solidity
- esperimenti di interazione con una rete Hotmoka
- sviluppo di contratti in Takamaka e loro esecuzione su Hotmoka
Esame
======
progetto finale (3 crediti D)
Testo di riferimento
====================
- Andreas M. Antonopoulos: "Mastering Bitcoin": https://github.com/bitcoinbook/bitcoinbook
- Andreas M. Antonopoulos: "Mastering Ethereum": https://github.com/ethereumbook/ethereumbook
- Imran Bashir. "Mastering Blockchain: A deep dive into distributed ledgers, consensus protocols, smart contracts, DApps, cryptocurrencies, Ethereum, and more", 3rd Edition, Packt editor
Materiale didattico fornito dai docenti
============================
https://github.com/spoto/blockchain-course
https://drive.google.com/file/
Orario
======
Lunedì 1 marzo, 10:20 - 12:00 Spoto
Mercoledì 3 marzo 15:20 - 17:00 Spoto
Lunedì 8 marzo, 10:20 - 12:00 Spoto
Mercoledì 10 marzo, 15:20 - 17:00 Pallaro
Lunedì 15 marzo, 10:20 - 12:00 Pallaro
Mercoledì 17 marzo, 15:20 - 17:00 Pallaro
Lunedì 22 marzo, 10:20 - 12:00 Spoto
Mercoledì 24 marzo, 15:20 - 17:00 Spoto
Lunedì 29 marzo, 10:20 - 12:00 Spoto
Mercoledì 31 marzo, 15:20 - 17:00 Spoto
Mercoledì 7 aprile, 15:20 - 17:00 Spoto
Lunedì 12 aprile, 10:20 - 12:00 Spoto
Mercoledì 14 aprile, 15:20 - 17:00 Spoto
Lunedì 19 aprile, 10:20 - 12:00 Castellani
Mercoledì 21 aprile, 15:20 - 17:00 Castellani
Lunedì 26 aprile, 10:20 - 12:00 Castellani