Descrizione
Lo scopo del corso è quello di accrescere le competenze degli sviluppatori per diventare “Blockchain developer”, dominando l’argomento dal punto di vista tecnico e tecnologico, nonostante esso sia estremamente interdisciplinare: informatica, dottrine politiche, economiche e sociali, matematica e teoria dei giochi.
Obiettivi
Il master é stato concepito in modo da garantire il metodo di apprendimento piú efficace possibile grazie all’unione di teoria e pratica.
La prima parte è finalizzata infatti alla trasmissione di conoscenze e competenze generali relative all’ecosistema Bitcoin e alle tecnologie blockchain based. Essa affronta Bitcoin da differenti angolazioni: tecnologica, sociale, storica, economica, filosofica, legale e fiscale con un approfondimento legato ai modelli di business basati su blockchain.
La seconda parte invece, rappresentante circa l’80% del corso, approfondisce maggiormente l’argomento da un punto di vista tecnico.
Verranno inizialmente spiegate le basi matematiche di Bitcoin, ovvero campi finiti, curve ellittiche nonché concetti di crittografia.
In seguito viene fornita una formazione di base su Bash, Python e JavaScript, necessaria per poter utilizzare in seguito tali linguaggi in modo da interagire con il network Bitcoin e il software Bitcoin Core.
Viene quindi approfondita la generazione di chiavi ed indirizzi, il funzionamento di Wallet deterministici e seed, sia dal punto di vista teorico che pratico attraverso esercizi svolti in modo guidato ed autonomo. I linguaggi Python, Bash e JavaScript vengono utilizzati quindi per capire ed analizzare il funzionamento di elementi fondamentali nella rete Bitcoin quali Wallet e Block Explorer.
A questi argomenti si aggiungono inoltre quelli relativi al linguaggio Script e alla verifica e firma delle transazioni, oltre ovviamente all’approfondimento del layer 2 Bitcoin maggiormente sviluppato ed utilizzato attualmente, ovvero Lightning Network.
Una corretta formazione in ambito Bitcoin e blockchain non puó precludere inoltre da solide basi di Sicurezza Informatica. Verranno quindi consolidati concetti quali GPG e verifica delle firme tramite terminale, 2FA e Hardware Wallet.
Durante il corso verranno approfondite le tecniche piú sicure per la salvaguardia di Wallet e nodi Bitcoin, oltre che le basi per realizzare Web Application sicure, caratteristica oggigiorno sempre più richiesta.
Il corso possiede inoltre una forte connotazione pratica tramite la realizzazione di veri e propri progetti.
Alcuni di essi riguardano:
– L’installazione di un nodo Bitcoin su VPS oppure tramite hardware dedicato quale Raspberry;
– L’installazione di un nodo Lightning Network e relativa interazione;
– Come accettare Bitcoin nel proprio e-commerce tramite BTCPay Server o OpenNode;
– Creazione di un prototipo di Hardware Wallet;
– Creazione di un POS Bitcoin;
– Analisi dei Wallet e LApp piú interessanti per Lightning Network;
– Il concetto di mixing e l’esecuzione di operazioni di Coinjoin per incrementare la propria privacy online.
Alla fine del corso verrà approfondita la teoria necessaria per comprendere altre blockchain diverse da quella di Bitcoin, ovvero Ethereum e relativi Smart Contracts, fino ad illustrare il loro deploy e collegamento su DApp browser.