- Retour au menu
- Retour au menuTarifs
- Retour au menuRecherche
- Retour au menuConsensus
- Retour au menu
- Retour au menu
- Retour au menu
- Retour au menuWebinaires et Événements
Au-delà de « la blockchain est l'application »
Les blockchains sont inutiles en elles-mêmes. Pour que l'informatique décentralisée fonctionne, elles doivent s'associer à d'autres solutions, écrit Mic Bowman d'Intel.
Mic Bowman est ingénieur principal chez Intel et membre du conseil consultatif de CoinDesk.
L'article suivant a été initialement publié dans Consensus Magazine, distribué exclusivement aux participants de l'événement Consensus 2019 de CoinDesk.
Quatre véhicules autonomes arrivent à une intersection. Qui passe en premier ?
Oui, cela ressemble au début d'une mauvaise blague, mais le problème est bien réel et étonnamment complexe. La solution réside dans l'informatique décentralisée, un domaine émergent qui impliquera probablement les blockchains, ainsi qu'une multitude d'autres technologies. Pour comprendre les problèmes qu'elle tente de résoudre, approfondissons cette impasse suburbaine…
Si l'on part du principe qu'il n'existe aucune infrastructure statique – par exemple un feu de signalisation – pour arbitrer l'intersection, les véhicules devront trouver une solution en utilisant uniquement leur capacité de calcul embarquée. Quelles seraient les instructions de l'ordinateur ? Eh bien, il existe des règles sociétales générales à respecter : ONE ne souhaite d'accident ; chacun souhaite traverser l'intersection le plus rapidement possible ; et il existe une notion d'« équité » (« Vraiment, je suis arrivé le premier, alors je passe en premier ! »).
Tout cela semble plus ou moins faisable, sauf que les véhicules pourraient être équipés d'un « petit bouton rouge » qui tricherait lors des négociations pour passer en premier. (Sérieusement, si vous étiez en retard au travail, vous appuieriez sur le bouton, non ?)
Du point de vue de l'architecture système, ce scénario présente cependant de sérieux problèmes. En voici quelques-uns : aucune autorité centrale ne décide de l'ordre de passage des voitures. Deuxièmement, la seule infrastructure informatique disponible réside dans les voitures ; autrement dit, les ressources sont allouées dynamiquement pour le calcul. Troisièmement, chaque conducteur est motivé par des objectifs qui piloteront le calcul de son véhicule. Si certains objectifs, comme franchir une intersection sans accident, sont communs à tous, d'autres sont spécifiques à chaque individu.
(Je suis en retard, alors laissez-moi passer en premier !).
C’est cette dernière caractéristique qui rend l’informatique décentralisée si difficile.
Applications et défis
Les cryptomonnaies sont les applications les mieux établies de l'informatique décentralisée. Mais il en existe bien d'autres. Dans la plupart des cas, les blockchains, qui fonctionnent comme une alternative décentralisée et consensuelle à la confiance accordée à une autorité centralisée, joueront probablement un rôle clé. Pourtant, les blockchains sont inutiles en elles-mêmes. Pour que l'informatique décentralisée fonctionne, elles doivent s'associer à d'autres solutions.
La provenance des produits dans les chaînes d'approvisionnement est une application informatique décentralisée très discutée. Walmart a récemment annoncé que tous ses fournisseurs alimentaires devront transférer leurs données vers un système basé sur la blockchain afin que les utilisateurs puissent surveiller la chaîne d'approvisionnement et détecter les aliments contaminés. Des idées similaires sont appliquées au suivi des minéraux non liés à des conflits.
Dans ces cas de provenance, la blockchain est un élément essentiel, mais loin d'être le ONE. Comme je l'ai expliqué dans le Consensus Magazine de l'année dernière, si une blockchain peut assurer une gestion transactionnelle, un stockage et des mises à jour des données persistants et transparents, la capacité à suivre la provenance nécessite également une saisie de données efficace et intègre. La qualité de la surveillance de la blockchain dépend des données collectées. Sans une surveillance adéquate, la saisie de données (par exemple, via des capteurs et des données de télémétrie) peut être manipulée par un participant malveillant pour fausser la provenance.
Les applications de la chaîne logistique démontrent également l'importance de la confidentialité et de la Politique de confidentialité des données, car elles reposent CORE sur l'accès interorganisationnel à des données partagées. Des requêtes sur les données, telles que « D'où vient cette laitue ? », sont relativement peu controversées et, dans la plupart des cas, cohérentes avec les objectifs communs des participants. D'autres, en revanche, sont plus conflictuelles et mettent en évidence les difficultés de gestion de la confidentialité dans les systèmes décentralisés.
Un fournisseur peut-il prouver, par exemple, qu'il peut respecter les exigences de livraison sans divulguer des informations confidentielles sur ses opérations internes ? C'est là que réside un problème CORE de l'informatique décentralisée : comment effectuer des calculs à l'échelle du réseau sur des données confidentielles sans divulguer les détails de ces informations confidentielles au groupe.
Considérez les défis liés aux données génomiques. Alors que les chercheurs cherchent des remèdes contre les maladies, effectuer des calculs sur le plus large ensemble possible de sources de données génomiques, souvent créées, gérées ou détenues par différentes organisations, présente un intérêt sociétal et potentiellement commercial considérable. Cependant, chaque base de données contient des données à la fois très précieuses en termes de propriété intellectuelle et soumises à des réglementations protégeant la Politique de confidentialité La rédaction .
Dilemme.
Ou bien, nous pourrions simplement revenir à nos véhicules autonomes, qui sont probablement encore immobilisés à l'intersection. (« Vous passez en premier. » « Non, vous passez en premier », « Non, VOUS passez en premier »). Une exigence récente pour l'exploitation d'un véhicule autonome est qu'il soit équipé d'une « boîte noire » enregistrant des données télémétriques permettant d'analyser le comportement passé, par exemple pour déterminer la cause d'un accident. Ce rôle est fondamentalement identique à celui d'une boîte noire dans un avion, à une différence près : un avion est quasiment seul dans le ciel, tandis qu'un véhicule autonome interagit en permanence avec d'autres véhicules (potentiellement autonomes). La boîte noire d' un véhicule offre une perspective historique unique.
Cependant, cela ne permet pas d'analyser les actions ou les décisions des autres véhicules autonomes sur la route. Tout cela est compliqué par l'apprentissage automatique antagoniste, qui pourrait créer un nouveau vecteur d'attaque pour les véhicules autonomes. Comment un ordinateur s'appuyant sur un simple enregistrement local de données de télémétrie peut-il faire la différence entre une erreur interne du véhicule autonome, une attaque externe sur la télémétrie du véhicule ou les actions d'un participant malveillant au protocole de coordination ?
Idéalement, pour fournir un historique du comportement du véhicule résistant aux attaques, la boîte noire devrait confirmer les données de télémétrie du véhicule avec celles des véhicules à proximité, ainsi que les informations sur les interactions avec ces véhicules – autrement dit, un instantané complet du système. Cela nous ramène au problème des calculs avec des informations confidentielles provenant de sources non fiables.
Traiter la blockchain comme l'ancre de confiance
L'Internet des objets nécessitera des applications décentralisées. Mais en créer des versions non triviales est complexe. Des problèmes relativement simples, comme l'échange déterministe et équitable entre deux parties, sont connus pour être impossibles sans un tiers de confiance pour arbitrer l'interaction. Dans ce contexte, la blockchain offre une valeur ajoutée considérable, car elle devient un tiers de confiance technologique capable d'arbitrer des protocoles multipartites. Cependant, de nombreux autres défis restent à relever avant de parvenir à une informatique décentralisée à usage général.
Pour y parvenir, il faut en partie passer de « la blockchain est l’application » à « la blockchain est l’ancre de confiance ».
C'est une transition que nous observons déjà dans le Bitcoin. Par exemple, le Lightning Network transfère la gestion des transactions Bitcoin vers un canal hors chaîne créé par deux participants qui ne clôtureront leurs soldes sur la blockchain qu'en cas de litige hors chaîne.
Ainsi, la blockchain fonctionne comme l’ancre de confiance tandis que le Lightning Network est l’application décentralisée.
Pendant ce temps, Thunderella, un algorithme de consensus développé à l'Université Cornell, obtient une amélioration substantielle des performances en combinant un protocole de consensus « hors chaîne » optimiste et performant avec un chemin lent asynchrone qui utilise un protocole de consensus blockchain traditionnel comme ancre de confiance de secours lorsque les hypothèses optimistes échouent.
Dans ce cas, le rôle de la blockchain sous-jacente est de publier des preuves que les hypothèses optimistes ne sont plus valables et de réinitialiser les vues incohérentes.
Nos propres travaux sur les objets de données privés, un projet Hyperledger Labs visant à explorer les modèles informatiques décentralisés, divisent l'exécution des contrats en un composant hors chaîne qui effectue les calculs proprement dits et un composant sur chaîne qui assure simplement un ordre de mise à jour respectant les dépendances entre les objets contractuels. Ainsi, intuitivement, la blockchain sert de journal de validation/coordination décentralisé pour les mises à jour des bases de données.
Relever le défi de la confidentialité
Comment faire évoluer cela et protéger la confidentialité ?
Une approche consiste à reconnaître que l'équilibre entre objectifs communs et objectifs individuels est simplifié si l'on élargit nos notions de calcul performant. Grâce au principe de Politique de confidentialité différentielle, nous pouvons réduire, ou « flouter », la précision requise d'une base de données afin de préserver la confidentialité. Par exemple, nous pourrions convertir un résultat précis comme « le camion de livraison est à l'angle de la 4e et de Wilshire » en un résultat moins définitif comme « le camion de livraison arrivera dans environ 10 minutes ».
Imaginez comment ce concept – où certains objectifs doivent être atteints pour réussir tandis que d'autres sont flous pour finaliser le calcul – pourrait s'appliquer à nos véhicules autonomes. Il n'est peut-être pas nécessaire que le premier véhicule à arriver à l'intersection soit le ONE à la traverser, tant qu'il n'y a T d'accident et qu'il peut poursuivre sa route jusqu'à sa destination dans les délais. L'équité et le principe du premier arrivé, premier servi restent des objectifs, mais ne sont peut-être pas des conditions de réussite.
D'autres avancées en informatique pourraient également être utiles. Les cryptomonnaies préservant la confidentialité et utilisant des preuves à divulgation nulle de connaissance (ZKP), telles que Zcash et Monero, démontrent la puissance de la cryptographie pour permettre le calcul sur des ensembles de données protégés par la confidentialité. Pourtant, jusqu'à présent, les développeurs peinent à porter cette Technologies complexe à l'échelle requise pour l'informatique décentralisée à usage général.
Dans ce cas, les environnements d'exécution sécurisés (TEE) basés sur le matériel offrent une alternative potentielle. De nombreux processeurs modernes sont dotés d' une Technologies permettant d'effectuer des calculs garantissant l'intégrité et la confidentialité des données dans certaines circonstances.
Parmi les produits déjà commercialisés, on peut citer TrustZone d'ARM, Software Guard Extensions (SGX) d'Intel et Secure Encrypted Virtualization (SEV) d'AMD. Pour ceux qui privilégient les spécifications matérielles ouvertes, le projet Keystone, mené par des chercheurs de l'UC Berkeley et du MIT, vise à développer un TEE open source pour le processeur RISC-V.
Un TEE matériel fournit un environnement informatique polyvalent répondant aux exigences de performance et de flexibilité qui limitent l'applicabilité des technologies ZKP. Cependant, la confiance matérielle ne doit pas être considérée comme une panacée. Intégrée de manière appropriée dans un contexte de conception de sécurité plus large, elle peut constituer un moyen efficace de
exécuter des calculs confidentiels de manière optimiste.
En d'autres termes, l'informatique décentralisée nécessite une combinaison de solutions. Je regrette de le leur dire, mais ces voitures bloquées à un carrefour vont devoir effectuer plusieurs tâches à la fois.
Image de la carte mèrevia Shutterstock