Programma di Principles Of Cryptocurrency Design:

1. Problemi classici di consenso. Sistemi distribuiti fault-tolerant: modelli avversariali e sincroni. Teorema FLP e impossibilità del consenso asincrono. Teorema CAP. 2. Preliminari di crittografia e reti. Funzioni Hash crittografiche. Schemi di firma digitale. Curve ellittiche e crittografia. Reti P2P e la rete Internet. 3. Consenso "permissionless" e Bitcoin. Consistenza finale e il protocollo di consenso di Nakamoto. Decentralizzazione, mining, proof-of-work, regolazione della difficoltà. La struttura dei blocchi, alberi di Merkle, UTXOs. Il linguaggio di scripting di Bitcoin. Malleabilità delle transazioni. Sicurezza e privacy di Bitcoin. I Fork e gli Altcoin. 4. I protocolli di secondo livello. Rendere Bitcoin scalabile e la rete Lightning. Canali di pagamento e gli contratti Hash Time-Locked. Routing sulla rete Lightning. Onion routing. Sicurezza e privacy della rete Lightning.