Consensus & blockchain : le proof of elapsed time
Cette mini série d’articles vous est proposée par Morgan Richaud, responsable rédaction chez KryptoSphere. Kryptosphere est la première association étudiante en France spécialisée dans la blockchain et les cryptomonnaies. Son but est de vulgariser et démocratiser cet univers auprès du grand public.
Lors de la rédaction du présent article, nous sommes en plein confinement et cela m’a permis de prendre conscience de l’écoulement du temps … Ne m’en voulez pas de cette accroche peu recherchée qui servira à introduire la dernière technique de consensus de notre série d’articles qui sera… Le Proof Of Elapsed Time !
Back to Silicon Valley !
Avant de parler de la méthode en elle même, remontons à ses origines. Le géant des puces électroniques, Intel, a développé en 2016 Software Guard Extension (SGX), un outil permettant de créer des “enclaves” chiffrées. Traduction : SGX va créer des zones sécurisées et distinctes, où vos données seront stockées, ne pourront être modifiables, et seront chiffrées. Concrètement, SGX va faire 2 choses :
- Un composant va attester que le code compilé dans l’enclave a été réalisé correctement dans un environnement de confiance. Cette attestation sera une preuve que le code est authentique pour des acteurs extérieurs.
- L’enclave informatique dans laquelle se trouve le code ne peut être modifiée par des applications tierces, et n’interagit pas avec les autres espaces de stockage. Cet isolement permet entre autres de conserver l’intégrité du code.
Mais alors, pourquoi est ce que je vous parle de cela ?
Tic tac, tic tac, fait la montre du Lapin Blanc…
Désormais, vous connaissez le fonctionnement simplifié de SGX, voyons comment l’appliquer au Proof Of Elapsed Time. Le POET a un fonctionnement relativement simple, ici pas besoin de puissance de calcul exorbitante ou d’envoyer vos bitcoins à une adresse sans propriétaire, vous avez juste à… attendre.
En effet, lorsque vous souhaitez participer à une blockchain utilisant le POET, vous allez télécharger le code et faire parvenir l’attestation de SGX pour certifier que le code que vous allez utiliser est bien l’original, utilisé par les autres membres du réseau. Ensuite, cela fonctionne comme une loterie : chaque nœud se voit attribuer une durée définie aléatoirement par l’algorithme. Le nœud qui a son compte à rebours finissant le premier va en envoyer la preuve au reste du réseau, et pourra alors valider le bloc.
Pour l’instant, nous n’avons appliqué que le premier aspect de SGX; le deuxième sert à éviter la fraude. Ce qui empêche l’utilisateur de s’octroyer un temps volontairement inférieur pour valider le bloc, c’est qu’il ne peut tout simplement pas modifier le code – souvenez vous du système d’enclave.
Aujourd’hui, la première utilisation du POET est au sein de l’outil Hyperledger Sawtooth. Cette branche d’Hyperledger est majoritairement utilisé par des projets souhaitant créer leur propre blockchain – qui sera en réalité plus un registre distribué, puisque l’administrateur décide de qui a accès, ou non, aux informations.
C’est donc avec ce dernier article que s’achève notre série sur les méthodes de consensus. Ces alternatives ont l’ambition de proposer des processus de validation moins énergivores que le traditionnel Proof Of Work; mais gardons à l’esprit qu’elles ne sont pas parfaites non plus.
En effet, nous pouvons attribuer des défauts à chacun d’entre eux. En l’occurrence, le POET a un mécanisme d’incitation peu susceptible d’attirer des “mineurs” du fait de son caractère aléatoire. Certes, on ne met à disposition que son ordinateur, mais est-ce rentable ?
Le proof of burn et le proof of transfer se caractérisent quant à eux par la destruction directe de tokens (avec du staking en plus pour le POX), et comme dans une loterie géante, plus on achète de tickets, plus on a de chance de gagner…