n°36
Mars
2017
"Blockchain" : Décentraliser l’Internet

A sa conception, Internet avait été imaginé comme un grand magma décentralisé de services informatiques communiquants dont les protocoles de routage promettaient d’éviter les situations d’engorgement et de rupture de flux. Aujourd’hui, certains acteurs majeurs ont mis en place des services centralisés qui s’accaparent une grande partie de deux ressources essentielles de l’Internet : la bande passante et les utilisateurs. La « Blockchain » est la mise en œuvre d’un ensemble de technologies éprouvées (les certificats électroniques, les communications « pair à pair » ou « P2P »…) promettant de revenir aux bases de l’Internet : décentralisation des services informatiques et réappropriation des droits des utilisateurs.

Une Blockchain est une structure de données qui circule sur un réseau pair à pair dans lequel les participants, évoluant hors de toute hiérarchie, assurent l’exécution de transactions et les enregistrent dans un « ledger » (registre en anglais) entièrement distribué : un « livre des comptes » inaltérable apportant la preuve d’existence, d’identité et d’horodatage. Les participants valident ensemble les transactions par un protocole de consensus et les enregistrent de manière inaltérable dans le ledger dont ils possèdent chacun une copie. Le protocole est robuste : il s’accommode de pertes de connexion ou de participant, et il a su résister, jusqu’à présent, aux attaques malveillantes.

La Blockchain a été introduite par la crypto monnaie « BitCoin », mais son utilisation peut aller bien au-delà de la seule crypto monnaie : elle est un ensemble de données certifiées et pérennes qui circulent sur un réseau entièrement distribué et tolérant aux pannes. Il ne faut toutefois pas se contenter de voir la Blockchain comme une base de données distribuée et sécurisée, car son concept révolutionnaire réside dans l’algorithme de consensus pour la validation des transactions.

Les middleware actuels de Blockchain (comme « Ethereum1 ») permettent d’écrire des « Smart Contract  » (littéralement contrat intelligent) avec le langage « Solidity2 ». Ces contrats autonomes, auto exécutant et immuables ouvrent la voie à une nouvelle forme de relation de confiance, vers des horizons dont il est difficile de prendre la mesure à la date de cet article.

Il existe aujourd’hui un écosystème très actif autour de cette technologie. Afin de vous faire une idée, je vous invite à jeter un œil sur la page Ethereum-dApps, celle de Venture-Radar, ou encore celle du projet « Blockchain Infrastructure for e-Science ».

De notre côté, nous pensons que cette technologie peut nous permettre de proposer un cloud entièrement distribué. Dans le cadre de l’ANR « Emergence », l’IN2P3 a participé de janvier 2013 à septembre 2015 au projet « CloudPower » d’Inria. L’objectif était de valoriser la technologie « XtremWeb-HEP », une plate-forme de calcul global développée en coopération par les deux instituts3. Entre autres résultats, nous avons pu prouver qu’il est possible d’utiliser la Blockchain pour mettre en œuvre un paradigme de cloud entièrement distribué capable de collecter les ressources informatiques sous-exploitées. Ainsi, avec les blockchains, nous sommes à même de proposer une solution alternative à l’utilisation des ressources centralisées par les acteurs dominant le marché du cloud, et tout un chacun est invité à entrer dans un grand « market place » pour acheter, vendre, louer des ressources IT, des applications et de l’espace de stockage. Notre plate-forme de test a eu un grand succès lors de la conférence SuperComputing 2016. Nous vous invitons à visiter notre page et restons à votre disposition pour toute question.

Oleg LODYGENSKY (LAL)