Déploiement et comparaison de protocoles de blockchains sur AWS
Encadrants
- Matthieu Rambaud
- Emails: matthieu.rambaud@telecom-paris.fr
- Bureaux: 4D31
Nombre d'étudiant par instance du projet:
- Minimum: 4
- Maximum: 5
Nombre d'instances du projet :
3Sigles des UE couvertes et/ou Mots-clés :
algorithmes distribués, cloud, cryptographieDescription du projet :
J'ai (votre encadrant) la chance d'avoir cassé un protocole de consensus de blockchains proposé par l'équipe Diem de Facebook en 2021 (appelé 2-phase VABA). Ils l'ont rétracté en Avril 2024: https://arxiv.org/pdf/2106.10362 et ils conseillent publiquement d'utiliser le mien à la place: https://eprint.iacr.org/2024/1108 (appelé "2PAC", une variante est appelée "BIG").
Depuis, un étudiant de l'université de Huazhong (Chaozheng Ding) a implémenté 2PAC et BIG https://github.com/ac-dcz/s2PAC/blob/master/readme.md et ses simulations sur une machine locale montrent leur supériorité par rapport à un algorithme proche de l'état de l'art (appelé "GradedDAG").
Le ou les projets ont des objectifs indépendants qui peuvent être faits en parallèle, suivant le nombre d'élèves et leurs intérêts.
1) Apprendre à utiliser la librarie https://github.com/ac-dcz/s2PAC/blob/master/readme.md à bas niveau pour réaliser des actions élémentaires entre machines à distance:
- envoi/réception de message
- signature digitale
- hashs et recherche dans une base de donnée indexée par des hashs.
S'en servir pour faire un protocole de blockchains très simplifié (du type de IPFS https://ipfs.tech/ ), le déployer sur plusieurs machines (par exemple des Rasberrys fournis).
2) utiliser cette même librairie https://github.com/ac-dcz/s2PAC/blob/master/readme.md à plus haut niveau pour modifier "BIG" en l'algorithme de l'état de l'art: "LightDAG", voire Wahoo (déjà implémenté ici https://github.com/CGCL-codes/Wahoo par le même Chaozheng Ding).
3) déployer 2PAC / Wahoo sur plusieurs machines fournies par AWS réparties dans le monde et faire les comparaisons de latence et de throughput (=débit"). Une documentation sera fournie par C. Ding pour le réaliser.
Objectifs du projet :
cf ci dessus
Logiciels requis:
cf ci dessus
Références bibliographiques:
cf ci dessus