This course will explore the fundamentals of blockchains, their cryptographic principles, smart contracts, and some frameworks introduced to help developers building decentralized applications in the Web3 ecosystem.
Can a fully decentralized system be sustainable? We will study the techniques and problems related to systems based on permissioned and permissionless blockchains, and decentralized systems in general, examining with particular attention the aspects related to security.
At the end of the course, students will be able to:
DISCUSS decentralized consensus algorithms and their use in peer-to-peer networks EXPLAIN how cryptographic techniques guarantee the security of distributed ledgers ANALYSE basic scalability issues in blockchain architectures and DESCRIBE some solutions proposed in the literature DISCUSS some security and privacy issues in blockchain architectures and their countermeasure IMPLEMENT basic smart contracts interacting with programmable blockchains (e.g., Ethereum, Solana) USE available tools and libraries to interact with deployed smart contracts UNDERSTAND basic economic, ethical and environmental problems behind blockchain platforms
To be successful in this course, students should have basic knowledge on:
This course includes lectures, practical exercises, and self-study at home.
Scientific papers and other resources will be indicated on AulaWeb during the course.
Ricevimento: By appointment (in person or online), taken via email (matteo.dellamico@unige.it).
Ricevimento: By appointment (in person or online), taken via email.
MATTEO DELL'AMICO (President)
GIOVANNI LAGORIO
MARINA RIBAUDO (President Substitute)
In agreement with the calendar approved by the Degree Program Board of Computer Science.
Oral examination with discussion of the:
During the oral exam students will be evaluated based on: