MGL869A Sujets spéciaux I en génie logiciel : Applications et systèmes décentralisés
Ce cours est généralement offert à la session d'été.
Ce cours vise à familiariser l’étudiant ou l'étudiante avec les principaux concepts liés aux technologies des systèmes décentralisés et au développement d'applications décentralisées. Le cours introduit les fondements de systèmes décentralisés : réseaux pair-à-pair, cryptographie, problème du consensus distribué. L'emphase est mise sur les systèmes à chaînes de blocs, en se concentrant principalement sur tous les aspects de Bitcoin : utilisation de la crypto monnaie, protocole de consensus, minage à base de proof-of-work, structure des données hachées, et validation de transactions. Le cours aborde aussi les systèmes à chaine de blocs avec contrats intelligents (smart contracts). Projet de session axé sur la technologie des chaînes de blocs en implémentant le protocole original de Bitcoin, ainsi que la mise en œuvre d'applications décentralisées avec des systèmes open source populaires.