Logo ÉTS
Session
Cours
Responsable(s) Latifa Guerrouj, Kaiwen Zhang

Se connecter
 

Sauvegarde réussie
Echec de sauvegarde
Avertissement
École de technologie supérieure

Responsable(s) de cours : Latifa Guerrouj
Kaiwen Zhang


PLAN DE COURS

Été 2019
SYS869 : Sujets spéciaux I: génie logiciel (3 crédits)
Applications et systèmes décentralisés





Préalables
Aucun préalable requis




Descriptif du cours
Ce cours vise à familiariser l’étudiant 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 cryptomonnaie, 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 semestre 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.



Objectifs du cours

Au terme de ce cours, l'étudiant sera en mesure d'expliquer les principes fondamentaux de systèmes décentralisés: réseaux pair-à-pair, cryptographie, problème de consensus distribué. L'étudiant maîtrisera le concept des systèmes à chaînes de blocs, et va découvrir en profondeur tous les aspects de Bitcoin: utilisation de la cryptomonnaie, protocole de consensus, minage à base de "Proof-of-Work", structure des données hachées, et validation de transactions. L'étudiant va aussi se familiariser avec les systèmes à chaine de blocs avec contrats intelligents: Ethereum et Hyperledger Fabric. L'étudiant sera en mesure de développer ses propres applications avec contrats intelligents sur des plateformes à chaînes de blocs.




Stratégies pédagogiques

Les objectifs seront atteints par un enseignement sous la forme d'un cours magistral, à raison de trois (3) heures par semaine pendant treize (13) semaines. La participation active des étudiant(e)s sera sollicitée via divers exercices en classe durant les cours. Les concepts vus en classe seront mis en application par l’intermédiaire d'un projet de trimestre à présenter à la fin du cours.




Utilisation d’appareils électroniques

Les appareils électroniques seront tolérés en classe, conditionnellement à l'approbation du professeur. Aucun enregistrement (photographie, film ou audio) ne sera toléré.




Horaire
Groupe Jour Heure Activité
01 Mercredi 18:00 - 21:30 Activité de cours



Coordonnées de l’enseignant
Groupe Nom Activité Courriel Local Disponibilité
01 Kaiwen Zhang Activité de cours Kaiwen.Zhang@etsmtl.ca A-4475



Cours

La matière ne sera pas nécessairement présentée dans cet ordre. Toutefois, l’ensemble des sujets sera présenté dans le cadre de ce cours. Les heures sont des heures approximatives d’enseignement pour chaque sujet et incluent le temps alloué à l’examen intra-trimestriel et à la revue pour l'examen final.

1.  Fondements (5 heures)

  • Généraux byzantins
  • Consensus distribué
  • Cryptographie appliquée

2.  Bitcoin (15 heures)

  • Preuve-de-Travail
  • Structure de chaînes de blocs
  • Transactions
  • Minage de blocs

3. Ethereum (9 heures)

  • Minage par Ethhash
  • Protocole de GHOST
  • Contrats intelligents et Solidity
  • Preuve-d'Enjeu, Casper

4.  Hyperledger (6 heures)

  • Fabric, Consensus PBFT
  • Exécution EOV
  • Composer

5. Sujets avancés (4 heures)

  • Applications pour blockchains
  • Avantages des blockchains
  • Autres systèmes: Ripple, IOTA



Laboratoires et travaux pratiques

Des exercices seront donnés environ à chaque semaine durant les laboratoires. Ces exercices ne seront pas corrigés. Les solutions aux questions seront données et discutées durant les cours, une semaine après que les exercices sont publiés. Le but de ces exercices est d'approfondir les connaissances sur le matériel vu en classe et de se préparer pour les examens.

Le projet de trimestre a pour but de faire la synthèse des connaissances acquises dans le cadre du cours et d'acquérir de nouvelles connaissances liées au cours. Les étudiants peuvent proposer leurs propres projets ou choisir parmi la liste suggérée.




Évaluation

Examen intra 30 %

Examen final 40 %

Projet de trimestre 30 %

Le projet de trimestre est sous-divisé de la façon suivante:

  • Proposition de projet: 5%
  • Rapport, code, et documentation du projet: 15%
  • Présentation du projet final: 10%

L'étudiant(e) doit avoir une moyenne d'au moins 50% dans les travaux individuels afin de réussir le cours. Cette condition est nécessaire mais non suffisante.

Les deux (2) examens sont sans documentation et seule une calculatrice non programmable est permise.




Dates des examens intra
Groupe(s) Date
1 5 juin 2019



Date de l'examen final
Votre examen final aura lieu pendant la période des examens finaux, veuillez consulter l'horaire à l'adresse suivante : http://etsmtl.ca/Etudiants-actuels/Baccalaureat/Examens-finaux


Politique de retard des travaux
Tout travail (devoir pratique, rapport de laboratoire, rapport de projet, etc.) remis en retard sans motif valable, c’est-à-dire autre que ceux mentionnés dans le Règlement des études (1er cycle, article 7.2.7 b / cycles supérieurs, article 6.5.4 b) se verra attribuer la note zéro, à moins que d’autres dispositions ne soient communiquées par écrit par l’enseignant dans les consignes de chaque travail à remettre ou dans le plan de cours pour l’ensemble des travaux.

Dispositions additionnelles

Veuillez respecter la procédure de remise, de même que les échéances fixées :

Retard de moins de 24 heures : perte de 10 %;
Retard de plus de 24 heures, mais moins de 48 heures: perte de 20 %;
Retard de plus de 48 heures, mais moins de 72 heures: perte de 30 %;
Retard de plus de 72 heures: perte de 100 %.




Absence à un examen
Dans les cinq (5) jours ouvrables suivants, la tenue de son examen, l’étudiant devra justifier son absence d’un examen durant le trimestre auprès de la coordonnatrice – Affaires départementales qui en référera au directeur du département ou du SEG. Pour un examen final, l’étudiant devra justifier son absence auprès du Bureau du registraire. Dans tous les cas, l’étudiant doit effectuer sa demande en complétant le formulaire prévu à cet effet qui se trouve dans son portail Mon ÉTS/Formulaires. Toute absence non justifiée par un motif majeur (maladie certifiée par un billet de médecin, décès d’un parent immédiat, Activité compétitive d’un étudiant appartenant à un club scientifique ou un club sportif d’élite de l’ÉTS ou au programme « Alliance sport étude » ou autre) à un examen entraînera l’attribution de la note zéro (0).



Infractions de nature académique
Les clauses du « Règlement sur les infractions de nature académique de l’ÉTS » s’appliquent dans ce cours ainsi que dans tous les cours du département. Les étudiants doivent consulter le Règlement sur les infractions de nature académique (https://www.etsmtl.ca/docs/ETS/Gouvernance/Secretariat-general/Cadre-reglementaire/Documents/Infractions-nature-academique ) pour identifier les actes considérés comme étant des infractions de nature académique ainsi que prendre connaissance des sanctions prévues à cet effet.  À l’ÉTS, le respect de la propriété intellectuelle est une valeur essentielle et les étudiants sont invités à consulter la page Citer, pas plagier ! (https://www.etsmtl.ca/Etudiants-actuels/Baccalaureat/Citer-pas-plagier).



Documentation obligatoire

Antonopoulos, Andreas M. Mastering Bitcoin: unlocking digital cryptocurrencies. " O'Reilly Media, Inc.", 2014.

Antonopoulos, Andreas M., and Gavin Wood. Mastering ethereum: building smart contracts and dapps. O'Reilly Media, 2018.

Gaur, Nitin, et al. Hands-on Blockchain with Hyperledger: Building Decentralized Applications with Hyperledger Fabric and Composer. Packt Publishing Ltd, 2018.




Ouvrages de références

Tout autre matériel sera fourni en ligne à chaque semaine.




Adresse internet du site de cours et autres liens utiles

Ce cours utilise la plateforme Moodle pour toute communication durant le semestre. Les élèves pourront aussi utiliser Moodle pour poser des questions à l'enseignant.