Qu’est-ce que le Proof of Elapsed Time ?
Également connu sous le nom de PoET, ce consensus est tout sauf de la poésie ! Cet algorithme est surtout utilisé dans les blockchains à autorisation comme Hyperledger Sawtooth (en plus de PBFT). PoET utilise une sélection aléatoire de type loterie pour choisir le nœud qui va gagner le nouveau bloc.
PoET a commencé à être utilisé dans Hyperledger Sawtooth en 2016/2017, introduit par Intel. Les « mineurs » doivent d’abord rejoindre le réseau, en obtenant un certificat d’adhésion. Une fois qu’ils sont dans le réseau, les nœuds doivent attendre un certain temps qui est décidé aléatoirement. Le mineur doit attendre au moins le temps défini avant de commencer à extraire un nouveau bloc dans la blockchain. Dans PoET, le mineur qui a le plus court temps d’attente est élu pour effectuer le minage du bloc lors de ce tour. Le système tend à être équitable et à choisir les mineurs avec un bon degré d’aléa. Il ne nécessite pas une grande consommation d’électricité et les mineurs peuvent « s’endormir » en attendant leur tour.
POeT est basé sur des processeurs spéciaux développés par Intel appelés SGX – Software Guard Extensions. SGX permet une séparation logique de la mémoire du processeur à laquelle on ne peut accéder ni la modifier. Ces parties sont également appelées enclaves et peuvent exécuter des commandes isolées et le cryptage de la mémoire. Seules les enclaves peuvent accéder à la mémoire stockée dans ce compartiment et la modifier. Le code est crypté et ne peut être consulté en dehors de l’enclave, ce qui le rend très sûr pour les processus qui se déroulent à l’intérieur de l’enclave.
Le principal cas d’utilisation de la preuve du temps écoulé est Hyperledger Sawtooth, une blockchain à autorisation conçue pour les entreprises qui utilise principalement la POeT comme mécanisme de consensus. Sawtooth est utilisée pour développer et réaliser des contrats intelligents.
Elle peut être déployée sur site ou dans le cloud. Les mécanismes de consensus disponibles pour Sawtooth sont RAFT, PBFT ou POeT, et ce qui est intéressant, c’est que le mécanisme de consensus peut être modifié à la volée en fonction des besoins ou de la croissance du réseau.
Il est compatible avec un large éventail de cas d’utilisation, allant des soins de santé à la traçabilité de la chaîne d’approvisionnement, en passant par les systèmes financiers, les échanges d’actifs numériques et le règlement des actifs, comme les autres produits Hyperledger, et il est Open Source.
Les principaux cas d’utilisation de Sawtooth sont de permettre la création et la traçabilité des actifs sur la blockchain. Les cas d’utilisation les plus connus de Sawtooth sont liés à la traçabilité de la chaîne d’approvisionnement et aux applications de traçabilité alimentaire.
Pour participer en tant que nœud au consensus POeT de Sawtooth, le nœud doit télécharger le logiciel d’application et obtenir un certificat d’adhésion. Le code générera ensuite une paire de clés pour le nœud participant. Le SGX utilise une approche de clé asymétrique avec la paire de clés privée/publique. Le mineur doit envoyer l’attestation de la SGX au réseau afin d’être approuvé.
Le mécanisme POeT génère un temps d’attente aléatoire pour le mineur, et le mineur reçoit le minuteur signé du code de confiance SGX. Après avoir attendu que le temps s’écoule, le mineur reçoit un certificat indiquant qu’il a attendu le temps nécessaire. Une fois le bloc miné, le mineur diffuse le bloc avec le certificat. Selon la façon dont la blockchain a été conçue, le mineur peut recevoir une récompense ou non pour son travail.