Depuis sa création, le monde des crypto-monnaies regorge de nouvelles idées, et l'une d'entre elles est Proof of Elapsed Time (PoET). Il s'agit d'un algorithme de consensus totalement nouveau et révolutionnaire avec une évolutivité inégalée.
Eparmi les algorithmes de consensus et l'exploitation minière blockchain, l'un des algorithmes les plus frappants est Preuve du temps écoulé (PoET), qu'est-ce qu'en espagnol Test du temps écoulé. Il s'agit d'un algorithme de consensus conçu dès le départ pour être hautement évolutif et ciblé sur les blockchains privées. Pour cette raison, on ne le verra guère soutenir l'activité d'une blockchain d'une crypto-monnaie publique, comme dans le cas de Bitcoin.
Cependant, le potentiel du PoET est orienté pour être appliqué dans le développement de blockchains dans le cadre de systèmes à fort trafic d'informations. Par exemple, les entreprises qui ont besoin de systèmes d'audit intégrés garantissant l'immuabilité de ces informations. Ce serait le cas des chaînes de montage hautement techniques et automatisées, des laboratoires de chimie et de médecine, entre autres.
Mais vous vous demandez sûrement quelle est l'origine de cette technologie? Comment fonctionne PoET? Quels sont ses avantages et ses inconvénients? Qui utilise cette technologie? Eh bien, nous répondrons à ces questions et à d'autres ci-dessous dans ce nouvel article de Bit2Me Academy.
Origine du PoET
L'origine de PoET remonte à 2016 lorsque des chercheurs d'Intel, la plus grande société de création et de conception de processeurs au monde, ont commencé à participer au projet Hyperligue, conduit déjà alors par le Linux Foundation. A cette époque, Intel a annoncé sa participation au projet, en plus du début du développement de "Lac en dents de scie". Il s'agissait d'un développement de blockchain intéressant soutenu par Hyperledger qui cherchait à développer une technologie pour une blockchain privée extrêmement évolutive.
C'est à ce moment qu'Intel a introduit la preuve du temps écoulé (PoET) en tant qu'algorithme de consensus basé sur la loterie temporelle, protégé par cryptographie. Un concept révolutionnaire qui utilise toute la technologie qu'Intel peut fournir dans ses processeurs. En fait, la technologie est fortement liée aux produits Intel au point où elle n'est pas utilisable avec des garanties en dehors de leurs produits.
Comment fonctionne la preuve du temps écoulé (PoET)?
Fondamentalement, ce que fait PoET est de créer un anneau de confiance où un groupe de participants est coordonné par un contrôleur. Ce contrôleur a la tâche de prendre le travail des personnes dans l'anneau de confiance et de vérifier qu'il est correct. Pour ce faire, le contrôleur partage une minuterie et une série de tests cryptographiques qui permettent aux participants de produire de manière aléatoire des blocs dans la blockchain.
Une fois qu'un participant est choisi, il génère le bloc, développe la preuve cryptographique et l'envoie au contrôleur. Lorsque le contrôleur reçoit le test, il le vérifie et, s'il est correct, accepte le blocage. Sinon, jetez-le. Compte tenu de cette dernière décision, il déclenche à nouveau le chronomètre pour que le processus de sélection recommence et que le test soit généré par un autre participant. Le processus suit ce cycle de répétitions permettant de maintenir indéfiniment le fonctionnement du réseau.
Bien sûr, c'est une manière très simple d'expliquer le fonctionnement de PoET, mais cela vous donnera une idée générale du processus et vous aidera à mieux comprendre l'explication que nous ferons ensuite.
Lancement du processus de sélection PoET
La base du fonctionnement de PoET réside dans le processus de sélection créé par l'algorithme de vérification de processus. Le travail de cet algorithme de sélection est de donner à chaque participant un objet temps. Nous pouvons voir cet objet temporel comme un compte à rebours dans lequel un certain temps est décrit. A la fin de ce temps, le chronomètre lance un événement d'activation pour le participant qui, à partir de ce moment, devient générateur de blocs. Vous pouvez alors voir cet objet de temps comme un réveil, qui quand il atteint l'heure indiquée, l'alarme retentit indiquant qu'il est temps de travailler pour générer un bloc.
L'aléatoire, la clé du processus
Ce processus de sélection est aléatoire et est alimenté par les instructions de génération de nombres aléatoires d'Intel, l'instruction RDRAND. Cette instruction unique dans les processeurs Intel (bien qu'AMD ait également un équivalent) génère des nombres aléatoires de manière accélérée en utilisant l'entropie (ou le chaos) qui provient électriquement dans les processeurs. Un processus qui en théorie génère des nombres aléatoires très difficiles à détecter. C'est la base de ce processus initial, et cela nous indique également à quel point PoET est extrêmement dépendant de ces processeurs.
Mais de plus, la seule façon dont un participant peut devenir un générateur de blocs est de présenter un certificat qui le valide. Ce certificat est généré à l'aide du Instructions SGX (Intel Software Guard Extensions). Ces instructions sont spécialisées en cryptographie, et sont utilisées pour générer un certificat numérique sécurisé. Le certificat généré est stocké dans un coffre-fort matériel (comme ceux des portefeuilles matériels, un HSM) O TEE (Trusted Execution Environment) qui se trouve à l'intérieur du même processeur.
Seuls les participants qui se conforment à avoir un certificat valide dans le système, avec les clés publique et privée dans leur TEE, et qui ont un objet temps vérifié et actif, pourront participer à la génération de blocs à l'aide de l'algorithme PoET.
Phase de génération
Maintenant, lorsque le participant reçoit son objet temps et qu'il est activé, le processus de génération commence. A partir du moment précis où l'objet temporel "réveille" le participant, cela est activé pour générer un bloc. L'ensemble du processus ci-dessus garantit que ce participant a respecté les règles de pré-génération, qui sont:
- Générez un certificat sécurisé à l'aide de RDRAND, SGX et stockez-le dans votre TEE.
- Partagez le certificat avec le réseau. Ceci afin de devenir un participant actif et reconnu au sein du réseau.
Comme vous pouvez le voir, ces deux étapes sont clairement des points de contrôle d'accès, qui garantissent qu'aucune personne non reconnue par les autorités centrales du réseau ne peut y participer. En bref, nous sommes confrontés à un protocole de consensus conçu spécifiquement pour les réseaux privés ou autorisés.
La génération de hachage commence
La phase de génération PoET est simple. Le participant actif ou le générateur de blocs doit uniquement prendre les transactions du réseau, les ajouter au bloc, générer un hachage pour celui-ci et l'envoyer au réseau pour qu'il les accepte. Le hachage utilisé peut varier en fonction de l'implémentation, mais il est possible d'utiliser SHA-256, mais sans qu'il soit nécessaire de faire une preuve de travail comme dans Bitcoin, puisque PoET rend cela inutile. Il suffit de générer un hachage associé aux informations du bloc pour émettre ledit bloc. En bref, un processus qui ne devrait pas prendre près de 0,1 seconde.
Lorsque le bloc est généré, il est émis vers le réseau avec le certificat numérique d'un participant. Dans ledit certificat, il y a une liste des prochains générateurs de blocs sur le réseau, clôturant ainsi le processus de génération.
Avantages et inconvénients de PoET
Avantages
- Il s'agit d'un algorithme de génération de blocs et de consensus extrêmement efficace et évolutif.
- Le processus est parfait pour s'appliquer aux réseaux privés de blockchain, en fait, il est destiné aux espaces commerciaux contrôlés.
- La sélection et l'acceptation des validateurs garantissent que le réseau est résistant aux attaques externes et internes.
- Le processus de génération est décentralisé. Son processus de génération est décentralisé. Les éléments de temps et l'activation garantissent que tout le monde aura les mêmes opportunités d'apparition de bloc.
Contra
- Extrêmement dépendant de la technologie Intel. Bien que l'algorithme soit un logiciel libre et puisse être adapté à d'autres plates-formes, les changements rendraient ces réseaux pratiquement incompatibles ou présenteraient de graves problèmes d'incompatibilité.
- Il existe des véhicules d'attaque sur ces réseaux qui exploitent les vulnérabilités connues des processeurs Intel.
Que savez-vous, cryptonuta?
Une blockchain utilisant la preuve du temps écoulé (PoET) est-elle hautement évolutive?VRAI!
Un réseau PoET peut évoluer à plus d'un million de transactions par seconde, mais avec l'inconvénient qu'il ne s'agit pas d'un réseau ouvert et non censuré comme Bitcoin ou Ethereum.
Les vulnérabilités
Alors que PoET est un algorithme de consensus conceptuellement très sécurisé, la structure qu'il utilise pour fonctionner a commencé à faiblir: Intel et ses processeurs sont criblés de bogues, qui sont publiquement connus mais non résolus.
Bien qu'il n'y ait pas de matériel ou de logiciel sans bogue, Intel a été confronté à de graves problèmes au cours des 10 dernières années. Des problèmes qui se sont accentués beaucoup plus récemment. Des cas de vulnérabilités tels que Meltdown, Spectre, Fissure SGX, Prime + Sonde, LVI, pillagevolt, Rejouer SGX o Enclave, ont un impact direct sur la sécurité PoET. En fait, ils ont un impact direct sur la sécurité générale de nos ordinateurs.
Bien que les véhicules et moyens d'attaque soient très complexes, ils sont possibles et tout hacker ou groupe de hackers disposant de ressources peut les exploiter. Les gouvernements dans leur quête de tout contrôler, dépensent des fortunes pour s'emparer de ces types de vulnérabilités afin de développer des outils qui leur permettent d'espionner leurs citoyens et d'autres gouvernements, voire le monde entier si possible. En fait, on soupçonne que, par exemple, RDRAND, est une instruction trojanized ou intentionnellement affaiblie pour faciliter l'espionnage.
Les vulnérabilités matérielles sont les plus risquées
Tout ce groupe de vulnérabilités peut dans une certaine mesure aider à créer des outils capables de casser la cryptographie. Par exemple, une instruction RDRAND affaiblie (car Intel est soupçonné d'avoir été fait intentionnellement) permettrait au générateur de nombres aléatoires d'être "prévisible" en connaissant les caractéristiques internes de son fonctionnement, ce que seul Intel sait. Cela pourrait ouvrir la porte à des algorithmes que nous considérons sûrs comme AES, ECDSA, RSA ou autres peuvent être compromis lorsqu'ils sont exécutés sur un processeur Intel, compromettant notre sécurité et notre argent. Ceci, qui peut ressembler à de la science-fiction aux yeux inexpérimentés, est une réalité. En fait, il existe déjà un précédent avec le cas de Double-RDBG et la console PlayStation de Sony. N'oubliez pas que la cryptographie anti-copie de cette console a été interrompue en raison d'un problème de sécurité de cette nature.
Heureusement, aucun projet de crypto-monnaie comme Bitcoin ou Ethereum, utilise ces types d'instructions. Beaucoup moins Zcash o Monero, où les développeurs font attention à l'extrême avec la qualité des implémentations cryptographiques qu'ils utilisent. De plus, le même développement de Bitcoin a remis en cause les outils cryptographiques connus, tels que OpenSSL, abandonnant leur utilisation au profit de leurs propres outils. Un autre exemple du sérieux de la sécurité dans le développement de cette crypto-monnaie.
Cas d'utilisation de PoET
HyperLedger
Le cas d'utilisation le plus important de PoET est le projet HyperLedger, où PoET est l'algorithme par défaut pour les solutions qui utilisent le framework HyperLedger Sawtooth (développement de framework et de logiciels). Sawtooth est en effet le berceau et le développement de PoET.