En prévision d’une réunion passée portant sur les potentialités d’Ethereum avec Nicolas L. et Guillaume R. j’ai commencé à investiguer cette technologie, en prenant comme point de départ la documentation officielle et cette investigation m’a donné envie de réaliser une série d’articles me permettant de présenter mes découvertes et mes avancées, afin de vous permettre de découvrir cette technologie qui se veut prometteuse.
Ethereum Frontier, la 1ère release est, d’après la documentation, toujours expérimentale mais malgré tout suffisante pour permettre à des développeurs d’expérimenter le développement d’applications en se basant dessus. C’est ce qu’on va voir !
Contexte
Comme toute bonne série d’articles qui se respecte, je vais commencer par vous expliquer pourquoi l’investigation de cette technologie m’intéresse particulièrement en ce moment et en quoi elle consiste exactement.
Ethereum
Ethereum est une surcouche de la technologie Bitcoin, dont le but premier est de fournir l’accès à une monnaie non soumise au système financier actuel. Malheureusement dans le cas de Bitcoin, ce qui se voulait comme un espace d’expression de la démocratie accessible via l’internet est aujourd’hui assez fortement discrédité car touché de plein fouet par la spéculation et la montée en puissance de quelques “mineurs” privés.
Que propose donc Ethereum de plus ?
Ethereum propose trois concepts qui sont selon moi particulièrement intéressants:
- la possibilité de générer facilement sa propre crypto-monnaie
Je vois là un bon support pour le déploiement de monnaies complémentaires à vocation territoriale ou temporaire.
- la possibilité de créer son propre réseau privé, à accès limité
Pour faire bref, avoir la possibilité de déployer un réseau privé et sécurisé propre à une organisation, dans le but de résoudre de manière automatique toutes les problématiques de rétributions des contributions ou de répartition des responsabilités.
- la possibilité d’implémenter des “smart contracts”
Ceux-ci permettent d’ajouter une couche de logique automatisée au sein de son propre réseau, et donc de développer des applications spécifiques qui dépassent le cadre de la simple transaction monétaire.
Blockchain
Le buzzword de ce début d’année
Le principe de la blockchain est à la base de la technologie Bitcoin dont cette dernière est l’application monétaire par excellence. La blockchain est souvent présenté comme une machine à fabriquer du consensus et se modélise concrètement sous la forme d’un réseau de machines dont chacun des noeuds contient l’intégralité de l’historique des transactions entre chacun des pairs ayant ouvert un compte (notion de registre distribué).
Construite autour de principes mathématiques et cryptographiques d’assez haut niveau (que cette série d’articles n’a pas vocation à aborder) sa sécurité est considérée comme inviolable tant qu’aucun acteur unique ne possède plus de 50% de la puissance de calcul du réseau (auquel cas il pourrait se permettre de réécrire l’historique, et, par le biais de l’automatisation de la création du consensus, finirait par avoir raison).
La place des mineurs
Au sein de ce réseau, certains noeuds sont particuliers. Il s’agit de ceux qu’on qualifie de “mineurs”. Ces noeuds ont pour responsabilité de valider les transactions demandés par l’ensemble des clients du réseau. Pour cela, ils utilisent la puissance de calcul de leurs machines afin de résoudre des puzzles cryptographiques dont la difficulté est modulé en fonction de la charge globale du réseau. Lorsqu’un puzzle est résolu, un mineur demande la confirmation de cette résolution auprès des autres mineurs du réseau. Si cela est confirmé, le mineur génère alors un block, qui vient prendre sa place en haut du registre et est propagé au sein du réseau. Le mineur gagnant se voit lui, récompensé par la récupération d’un certain nombre (chiffre ou divisions) de tokens (Bitcoin, Ether ou autre selon le réseau)
Les limites
Un des problèmes inhérents à ce concept de blockchain est la puissance de calcul nécessaire pour maintenir un niveau de service acceptable. En effet, plus il y a de clients qui entre dans le système, plus le volume de transactions à valider augmente, plus les mineurs sont chargés. Le minage devenant en parallèle de plus en plus complexe, les bitcoins minés de plus en plus rare, la pertinence économique de cette architecture est d’autant fragilisé. Ce qui provoque la grande volatilité actuelle du Bitcoin.
Le web distribué
Un des points qui, en tant que membre actif et contributeur du projet de l’Assemblée Virtuelle m’intéresse particulièrement est celui de l’aspect distribué par essence de ce type de réseau. En effet, il n’existe pas d’autorité de validation des transactions entre deux pairs autre que le réseau lui-même. C’est ce qui explique que la blockchain soit regardée à l’heure actuelle comme l’alternative la plus intéressante aux technologies Webs centralisées classiques (le monde des silos encouragés par Google, Facebook, Apple et consorts) et ce qui explique que cette technologie intrigue voire inquiète des acteurs (gouvernementaux comme industriels) qui ne la comprennent pas.
De mon côté, j’y vois un ensemble d’opportunités tout en étant conscient des limites actuelles et c’est pourquoi je vous invite à plonger avec moi dans ce nouvel univers 😉
La série
Voilà le planning de la série ainsi que je le vois actuellement:
- Création d’un réseau privé de test
- Les premières transactions
- Implémentation d’un smart-contract
- Plusieurs clients sur un même réseau
- Instanciation de sa propre monnaie
- Découvertes d’applications
- Accès à la blockchain publique