Corso Blockchain avanzato

Sicurezza degli smart contract, metodologie avanzate di sviluppo con Solidity e blockchain private con Hyperledger Besu

Corso di formazione professionale avanzato sulle tecnologie blockchain, con particolare attenzione a Hyperledger Besu e allo sviluppo di blockchain private per uso interno aziendale e consortile; il corso affronta anche la sicurezza degli smart contract e le metodologie avanzate di sviluppo con Solidity. È rivolto a sviluppatori che hanno già una buona conoscenza delle tecnologie blockchain e che vogliono approfondire lo sviluppo di smart contract e la progettazione di blockchain private.

Il corso si tiene in italiano o in inglese, in presenza a Torino o da remoto.

Per partecipare servono ottime capacità di programmazione e conoscenze delle tecnologie blockchain, di Ethereum e di Solidity. Sono consigliate anche conoscenze di base di JavaScript, Node.js e Docker. È necessario un computer con Linux, Mac o Windows con WSL2.

I moduli previsti, ciascuno della durata di mezza giornata (4 ore), sono i seguenti:

  • Ripasso delle basi di Ethereum
    • EVM, Turing completezza, smart contract;
    • Wallet, EOA e indirizzi dei contratti;
    • Ether e gas;
    • Transazioni e blocchi;
    • Reti;
  • Solidity: vulnerabilità ed attacchi
    • Re-entrancy;
    • Manipolazione del timestamp;
    • Overflow e underflow, prima e dopo Solidity 0.8;
    • Denial of Service;
    • Invio forzato di ether;
  • Solidity: pattern avanzati
    • Sospensione e ripresa dei contratti;
    • Aritmetica controllata e blocchi unchecked;
    • Checkpoint;
    • Merkle tree;
    • Contratti aggiornabili tramite proxy;
  • Reti blockchain private
    • Tipologie di reti blockchain;
    • Hyperledger Fabric;
    • Quorum;
    • Hyperledger Besu;
  • Consenso e Proof of Authority
    • Byzantine Fault Tolerance;
    • Proof of Authority;
    • Algoritmo Clique;
    • Algoritmo Raft;
    • Algoritmo IBFT;
    • Algoritmo QBFT;
  • Implementazione di una rete Hyperledger Besu
    • Progettazione di un caso di studio;
    • Definizione delle caratteristiche della rete privata;
    • Creazione del progetto;
    • Generazione dei nodi (bootnode, validatori, membri);
    • Configurazione della rete: blocco genesi, nodi statici, permessi;
    • Orchestrazione e avvio dei nodi con Docker;
  • Smart contract
    • Sviluppo di uno smart contract per il caso di studio;
    • Pubblicazione dello smart contract sulla rete privata;
  • Interazione server-blockchain
    • Gestione delle chiavi;
    • Application server con Node.js;
    • Pubblicazione di transazioni e interazione con lo smart contract;
    • Sottoscrizione agli eventi;

Durante i moduli sono previsti esercizi per mettere in pratica gli argomenti trattati.