Étiquette : Territoires Intelligents

  • Contribuer à l’évaluation des performances environnementales des entreprises avec les jumeaux numériques simulables

    Contribuer à l’évaluation des performances environnementales des entreprises avec les jumeaux numériques simulables

    Quels sont les enjeux de l’adoption de la taxonomie des activités soutenables au niveau de l’Union européenne ?

    La Commission européenne a adopté, le 21 avril 2021, un ensemble de mesures visant à mieux orienter les flux de capitaux vers des activités soutenables dans l’ensemble de l’Union européenne. En incitant les investisseurs à financer des technologies et des entreprises plus durables, les mesures adoptées doivent aider l’Europe à atteindre la neutralité carbone pour limiter les impacts climatiques d’ici à 2050.

    La taxonomie des activités soutenables proposée par l’UE [1] vise à promouvoir les investissements durables en donnant une vision plus claire des activités économiques qui contribuent le plus à la réalisation de ses objectifs environnementaux articulés autour de cinq volets :

    • l’atténuation des changements climatiques,
    • l’adaptation au changement climatique,
    • l’utilisation et la protection durables de l’eau et des ressources marines,
    • la transition vers une économie circulaire,
    • la prévention et la maîtrise de la pollution,
    • la protection et la restauration de la biodiversité et des écosystèmes.

    Une nouvelle directive sur l’obligation de publication d’informations en matière de durabilité par les entreprises va être transposée en droit français (Sustainability Finance Diclosure Regulation) et étendue à toutes les grandes entreprises et sociétés cotées pour fin 2022. Ainsi, près de 50 000 entreprises de l’UE devront désormais se conformer à des normes européennes détaillées en matière de publication d’informations sur la durabilité. Avec ces nouvelles normes, les entreprises devront expliquer plus précisément pourquoi elles ont besoin de lever des fonds, à quelles fins, et de quelle manière. Ainsi, elles devront démontrer leur conformité, chiffres et mesures précises à l’appui.

    Quel impact pour les entreprises et les marchés financiers ?

    Les investisseurs sont encouragés à financer des entreprises qui pourront prouver leurs performances sociales, environnementales et de gouvernance (Environmental, Social and Governance / ESG) au travers du marché des obligations : les ESG Bonds.

    En effet, pour avoir accès à ces financements privilégiés, les entreprises devront démontrer l’alignement de leurs activités avec cette taxonomie. Afin de maintenir leur financement via l’émission d’obligations sur le marché primaire, elles auront l’obligation d’émettre de plus en plus de bonds avec des critères ESG. Les obligations de celles qui ne le feront pas ne seront pas souscrites ou alors avec des taux de financement bien plus élevés. Pour cela, les entreprises vont devoir prendre des engagements forts sur les facteurs ESG et donc se doter de modèles.

    Les indicateurs extra-financiers (carbondegree alignment, etc.) viennent complèter les indicateurs financiers (sensibilité, rating des agences, etc.) pour monitorer la transition de durabilité. L’analyse de risque de transition est dès aujourd’hui devenu un enjeu considérable. Toute l’industrie financière s’équipe donc en nouveaux modèles de notation basés sur les données ESG des émetteurs sur ces thématiques. Les gestionnaires de fonds à investissement socialement responsable (ISR), vont être friands des ESG Bonds pour respecter leurs engagements. Les instances de régulation des marchés comme l’AMF et ESMA (European Securities and Markets Authority) au niveau européen s’impliqueront dès 2022 dans le contrôle.

    Le décret pour les sociétés financières est paru en juin 2021 pour première application en 2022 alors que la transposition pour les sociétés cotées est prévue pour fin 2022 (première application a priori pour l’exercice 2023).

    « Le décret d’application de l’article 29 de la Loi énergie-climat publié mi 2021 va renforcer le cadre de transparence extra-financière des acteurs de marché avec notamment la publication d’indicateurs ESG pour chaque ligne d’actifs présents dans l’inventaire d’un fonds d’investissement. »

    Les approches de jumeaux numériques simulables de systèmes industriels sont-ils applicables à l’analyse de risque de transition ?

    Mentionné pour la première fois par Michael Grieves de l’Université du Michigan [3] est selon le digital twin consortium :

    « Un jumeau numérique est une représentation virtuelle d’entités et de processus du monde réel, synchronisés à une fréquence et une fidélité spécifiées. »

    Les jumeaux numériques accélèrent la compréhension holistique du système dans son environnement et la prise de décision optimale. En utilisant des données en temps réel et historiques, ils permettent également de représenter le passé, le présent et simuler des états futurs.

    Un article publié en décembre 2021 au sein d’un magazine lié à l’industrie minière [4] cite Jeff Hamilton, senior director brand strategy and alliances chez Dassault Systèmes : “The virtual twin is incredibly important to digitalize all the variables, not just so you’re making the best economic decision but it also the health, safety and environmental implications. »

    In fine, les aspects liés à la « simulation » deviennent très importants. Pour les entreprises et les marchés financiers, il est nécessaire de modéliser les projets et les portefeuilles et de mesurer les trajectoires carbones associées. L’approche jumeau numérique simulable peut-elle y aider ?

    L’accès aux données est clé pour construire les indicateurs, or tout n’est pas encore normalisé. Il existe aujourd’hui deux principales sources :

    • des ONG ou label indépendants qui analysent les entreprises et produisent leurs propres indicateurs,
    • des gros fournisseurs de données financières qui ont déjà pris une place très importante sur le marché de ces données (S&P via le rachat de TrucostESG Analysis, MorningStar via le rachat de Sustainalytics, MSCI, VIGEO, etc.).

    Or, des jumeaux numériques simulables pour l’ensemble des actifs industriels comme les systèmes de production, les infrastructures, les usines, les chaines d’approvisionnement émergent déjà au sein de l’industrie. Ces jumeaux numériques simulables sont utilisés afin d’anticiper, de prédire et de prendre des décisions, par exemple pour des approches de sûreté de fonctionnement et maintenance, de résilience des systèmes ou encore pour la planification de production.

    À titre d’exemple, avec « Decarbonized City » [5], l’IRT SystemX a développé, avec l’agglomération Paris-Saclay et Cosmo Tech, une véritable réplique énergétique virtuelle des 27 communes qui composent le territoire de Paris-Saclay, construite à partir de données réelles fournies par l’agglomération : configuration du territoire, données cadastrales, bâtiments, réseaux énergétiques, données de consommation et de production d’énergie, etc. À partir des données disponibles, nous avons modélisé le territoire de l’agglomération Paris-Saclay et simulé des scénarios pour une prise de décision optimale autour de futurs projets d’aménagement et d’investissements énergétiques et déterminer leurs conséquences écologiques et économiques.

    En encapsulant à la fois des données en temps réel et historiques et la connaissance des experts, les jumeaux numériques simulables permettent non seulement de représenter le passé et le présent, mais également de simuler les futurs possibles des organisations.

    Le sujet est également prégnant dans l’industrie de la construction et de la rénovation énergétique. Par exemple, le projet européen Probono[6], intègre une analyse stratégique des moyens de financement conforme à la taxonomie et l’utilisation de jumeaux numériques simulables pour encourager le développement des éco-quartiers.

    Il semble donc légitime de se projeter sur l’application d’une approche jumeau numérique simulable pour l’analyse de risque de transition avec trois questions de recherche à aborder très rapidement :

    • Comment intégrer les exigences ESG dans la conception et le déploiement du jumeau numérique simulable ?
    • Comment valider et certifier la dimension ESG du jumeau numérique simulable d’un actif industriel ?
    • Plus encore que la dimension soutenabilité, comment mesurer les performances sociales pour les injecter dans le jumeau numérique simulable ? Ces performances sociales et les modes de gouvernance d’entreprise associés sont-elles pilotables au même titre que les performances techniques ?

    Le défi de la démonstration des performances sociales et environnementales des entreprises est une opportunité pour une croissance durable dans une Europe souveraine si nous maîtrisons et développons des outils et une ingénierie aussi ambitieuse que le plan climat. Les jumeaux numériques simulables peuvent être l’un des leviers de cette nouvelle révolution industrielle.

    Pour aller plus loin :

     

    [1] https://ec.europa.eu/info/business-economy-euro/banking-and-finance/sustainable-finance/eu-taxonomy-sustainable-activities_en

    [2] https://cordis.europa.eu/project/id/101037075

    [3] Grieves, Michael. (2011). Virtually Perfect: Driving Innovative and Lean Products through Product Lifecycle Management. – https://www.digitaltwinconsortium.org/initiatives/the-definition-of-a-digital-twin.htm

    [4] https://www.diggingforclimatechange.com/articles/digital-twins-to-emerge-as-esg-tool

    [5] [Amrani & al. 2022] – A Digital Twin Approach for Sustainable Territories Planning: A Case Study on District Heating ICSCSS 2022 https://hal.archives-ouvertes.fr/IRT-SYSTEMX/hal-03554967

    [6] https://eur-lex.europa.eu/legal-content/FR/TXT/?uri=CELEX%3A32009L0138

  • The future of urban deliveries with robots

    The future of urban deliveries with robots

    In recent years we have seen an increase of experimentations with drones and robots for last-mile deliveries. There are experimentations with drones for deliveries in suburban or rural areas based at specific drone ports[1]. Others are experimenting with van based drones for increased efficiency when delivering goods in areas where delivery points are further apart than in highly urbanized settings[2]. Other experiments are performed using robots for deliveries, one of the first robot delivery use cases was pizza delivery[3]. In urban, settings autonomous deliveries are becoming an increasingly important topic with significant investments looming but also with major regulatory subjects to address[4]. 

    If we examine the different possible use cases for robot and drone deliveries, we quickly realize that a significant use of drones is not to be expected soon in densely populated areas, however slow driving robots become an interesting alternative in settings with restricted access for vans and cars as they are usually smaller, slower, quieter, and cleaner than car or scooter based deliveries. Several experiments have been performed on campuses and pedestrianized areas[5]. It seems that in the future we will see a lot more of these experiments as the promise of increasing efficiency and reducing cost by not needing delivery personnel is attractive to many companies. Just very recently a new fast food truck has been tested in Shanghai permitting some sophisticated interaction with the robotic delivery vehicle: Clients can choose and pay their food directly at the vehicle[6].

    These very exciting technological developments raised interest in the Anthropolis chair’s team. It made us think about the operational possibilities and implications of such a technology. In a recently defended PhD thesis[7], PhD student Shoahua Yu investigated various operational aspects related to robotic deliveries. The main idea was to look at “mothership” variants of the problem.

    • First, two-echelon urban deliveries using robots for 2nd-level route delivery were considered. In this concept, the mothership van carries robots on the 1st-level route and drops them off and picks them up at rendezvous nodes, while the robots handles deliveries on the 2nd-level routes. In this first version, only robots are able to deliver to customers. Our target areas are pedestrianized zones in city centers or campuses. We proposed mathematical models to simulate various test cases and performed a sensitivity analysis for vehicle speed combinations revealing that increasing robot speeds has only very limited benefits. We therefore recommend to keep robot speeds rather low for a pedestrian-friendly insertion into the urban environment.
    • As we considered battery powered robots and vans, we extended our models to incorporate range restrictions and recharging operations for vans and robots. We allowed robots to be recharged in the vans during recharging stops but also en-route. A sensitivity analysis for vehicle charging modes, maximum battery capacities, and charging rate shows that using en-route charging while increasing battery level and charging rate can have beneficial effects on operational costs.
    • We finally considered a very general problem variant where robots and vans are performing pickup and delivery operations in city. Robots can visit areas with van access restrictions, such as pedestrianized areas or university campuses. The van stops at parking nodes to drop off and/or pick up its robot, and to replenish its robot and/or swap its robot’s battery if needed. In a case study considering the city of Xi’an, we performed a comparative analysis with more classical delivery approaches. It showed the operational competitiveness of the proposed robot delivery system.

    As our research has demonstrated, robot based deliveries can be very cost-effective from an operational point of view in comparison with more classical delivery approaches explaining the increased industrial interest in such technologies. Other researchers have shown that energy consumption and CO2 emissions can be significantly reduced in urban area through the introduction autonomous robot deliveries[8].

    We can therefore be quite optimistic about these technological developments as they are expected to decrease delivery costs and reduce negative environmental impacts of deliveries. However, they will also pose some societal questions, as human interactions will be further reduced. There exists ideas on combining robotic conveyors with human porters in densely populated areas to ensure personal local services with a human touch[9]. However in times of the pandemic crisis a big push towards services that are not requiring personal contact has been observed. Such developments will further increase the interest in robot based deliveries not needing any human interaction. An expected further increase in urban deliveries will reduce the attraction of urban centers with local shopping possibilities changing the face of our cities. We can expect substantial technological and operational advances in the years to come with regards to robotic deliveries. As every technological leap, these developments will have economic and societal consequences that will affect the way cities will function.

    Collaboration between economic actors, researchers and municipalities will be required to use those novel technologies in a way that will increase urban quality of life by reducing traffic and other inconveniences. This will be achieved by coordinated interplay between the different stakeholders, increasing the quality and efficiency of deliveries, and at the same time ensuring livable and living quarters. In our ongoing research project LEAD[10]. We create Digital Twins of urban logistics networks in 6 cities (Madrid, The Hague, Budapest, Lyon, Oslo and Porto), to test and represent different innovative solutions for city logistics, to address the requirements of the on-demand economy while aligning competing interests and creating value for all different stakeholders. IRT SystemX is mainly contributing to the design and development of the overall digital twin concept and library as well as the developments for the Lyon living lab. In one of the Lyon test cases we will investigate the use of robot based deliveries in dense urban settings.

    So please stay tuned for more research results on this exciting topic!

     

  • Les fondamentaux de la blockchain

    Les fondamentaux de la blockchain

    Cet article est une introduction technique à la blockchain. Après une mise en perspective et une justification de son intérêt pour l’émergence de nouveaux cas d’usage, l’article décrit les éléments constitutifs de la technologie. Une attention particulière est ensuite portée aux mécanismes de consensus, avant de conclure par un panorama des technologies et des outils.

    La blockchain (chaîne de blocs) est une technologie nouvelle, qui repose sur des éléments techniques anciens et connus. En effet, c’est bien l’assemblage astucieux de mécanismes d’échanges distribués, de consensus et de cryptographie, au service d’usages nouveaux, qui créent l’innovation dont on parle tant aujourd’hui.
    Plus précisément, une blockchain est :

    • une structure de données distribuée, c’est-à-dire partagée et répliquée parmi les nœuds d’un réseau,
    • dont le contenu est validé grâce à un mécanisme de consensus,
    • et qui est sécurisée par des outils cryptographiques.

    Intérêt de la blockchain

    Avant de plonger dans la description de la technologie, intéressons-nous aux propriétés de la blockchain et aux cas d’usage nouveaux qu’elle permet d’engendrer.

    Les propriétés de la blockchain
    La désintermédiation. C’est la propriété la plus connue, à savoir la suppression du tiers de confiance qui se trouve remplacé par la technologie. En réalité, il serait plus exact de dire que la place des tiers de confiance va être déplacée et évoluer, sans toutefois disparaître (cf. la notion « d’oracles » à la section « Technologies et outils de la blockchain »). Un exemple concret de désintermédiation est l’application blockchain la plus connue : le bitcoin. Il s’agit d’une monnaie électronique qui fonctionne sans passer par les intermédiaires traditionnels que sont les banques. Ainsi, les échanges se font directement de pair-à-pair entre les participants, et c’est le réseau qui valide les transactions grâce à un mécanisme de consensus.
    La résilience. La blockchain est partagée et répliquée sur tous les nœuds du réseau. Grâce à cette démultiplication de l’information, le système apparait résilient contre certaines pannes : si un nœud du réseau devient défaillant, les autres nœuds restent disponibles et le service continue à être rendu. A l’inverse, dans une architecture centralisée, si le nœud central tombe en panne, l’ensemble du système s’écroule.
    La transparence. Le contenu de la blockchain est validé par des membres du réseau grâce à un mécanisme de consensus, ce qui impose une certaine transparence dans le système. Cette transparence n’est toutefois pas complétement incompatible avec la notion de confidentialité.
    L’immuabilité. La blockchain est une structure de données dans laquelle on peut rajouter des informations, sans pouvoir en soustraire : une fois qu’une transaction est inscrite dans la blockchain, elle ne peut en principe être retirée. C’est l’utilisation d’outils cryptographiques, associée au consensus, qui garantissent cette propriété d’immuabilité.
    L’automatisation. Sans être une propriété fondamentale de la blockchain, elle est particulièrement mise en avant dans les nouvelles générations d’implémentations (cf. les smart contracts d’Ethereum, voir la section « Technologies et outils de la blockchain »). Ainsi, les transactions peuvent être automatiquement déclenchées lorsque des conditions prédéfinies sont remplies, sans intervention humaine et sans possibilité d’en empêcher l’exécution.

    De nouveaux cas d’usages
    Grâce à ses propriétés, et notamment la désintermédiation, la blockchain est une nouvelle technologie qui pourrait bouleverser des domaines d’activité aussi variés que la finance, la logistique, l’énergie, la mobilité, etc. [9][10]. En collaboration avec ces secteurs, l’IRT SystemX travaille sur différents cas d’usage de la technologie : le passeport du véhicule connecté, l’interconnexion de plateformes (plateformes logistiques, plateformes de covoiturage), les places de marché décentralisées (pour les Green Bonds, pour l’échange d’énergie, pour les services de mobilité (cf Mobility-as-a-Service)) etc…

    Constituants techniques de la blockchain

    Repartons de la définition initiale : une blockchain est une structure de données distribuée, dont le contenu est validé grâce à un mécanisme de consensus et qui est sécurisée par des outils cryptographiques. Regardons maintenant chacun de ces éléments constitutifs.

    Structure de données
    La structure de données correspond à une liste chaînée de transactions. Ainsi, chaque élément de la liste représente un bloc de plusieurs transactions, et possède un pointeur vers le bloc précédent : chaque nouveau bloc bi qui est ajouté contient effectivement une référence au contenu du bloc précédent bi-1. L’ensemble forme donc une chaîne de blocs, ou blockchain.

    Figure 1 : chaîne de blocs

    Réseau distribué
    Nœuds. Les participants d’une blockchain sont des nœuds informatiques qui forment un réseau pair-à-pair (peer-to-peer en anglais). Selon l’implémentation de la blockchain, le réseau est soit public (tout le monde peut y accéder) soit privé ou semi-privé (seuls les comptes autorisés peuvent participer, on parle aussi de blockchain de consortium). Chaque nœud possède une copie locale de l’ensemble de la blockchain (ou de ses en-têtes, qui en constituent un « résumé »). Lorsqu’il rejoint pour la première fois le réseau, un nœud peut typiquement récupérer la blockchain et vérifier l’intégrité des blocs qui la constituent. On voit ici bien apparaitre la propriété de transparence de la blockchain. Ce nœud, comme chaque autre nœud, dispose ainsi de l’historique de toutes les transactions qui ont été réalisées dans le réseau depuis son origine jusqu’à ce jour. Il pourra à partir de là maintenir cette copie de la blockchain à jour, le système étant bien sûr conçu de manière à ce que toutes ces copies soient identiques ou convergent vers une vue identique (cf. le mécanisme de consensus). On note ici que la blockchain est un registre qui croît indéfiniment à mesure que les nouvelles transactions y sont enregistrées : cette inflation de la taille de la blockchain est aujourd’hui un verrou technologique et fait l’objet de recherche.
    Chaque nœud peut émettre des transactions et demander au réseau d’ajouter ces transactions à la blockchain, ces transactions en attente sont ensuite validées par certains nœuds particuliers appelés les « mineurs » (miners en anglais), également appelés générateurs de blocs ou valideurs.
    Mineurs. Les mineurs sont des nœuds prêts à partager leur puissance de calcul pour valider les transactions et ajouter des blocs à la blockchain, généralement en échange d’une rémunération en cryptomonnaie (cas des blockchains publiques). La rémunération dépend de l’implémentation de la blockchain, mais elle peut prendre au moins deux formes non exclusives : soit via des frais de transaction (c’est-à-dire que le nœud qui émet la transaction paie le mineur pour son travail), soit via la création ex-nihilo de valeur (c’est le cas par exemple pour Bitcoin où, à chaque ajout de bloc, le système crée de la cryptomonnaie et l’attribue au mineur qui a réalisé cet ajout).

    Mécanisme de consensus
    Tous les mineurs sont en compétition pour ajouter le prochain bloc à la blockchain mais un seul d’entre eux sera sélectionné pour le faire et lui seul sera rémunéré. Cette sélection est aléatoire pour chaque nouveau bloc. Ce caractère aléatoire est très important pour la sécurité de la blockchain : puisque personne ne sait quel mineur sera choisi, un mineur malveillant a une faible probabilité d’être sélectionné et a donc peu d’intérêt à attaquer le système puisqu’il a peu de chance de réussir dans son entreprise. Cela conduit à la fameuse attaque des 51 % : si plus de la moitié du pouvoir de validation du réseau est détenue par un attaquant, il a alors statistiquement plus de chances que son attaque réussisse qu’elle n’échoue, et donc le réseau peut être considéré comme étant sous son contrôle.
    Consensus. Il existe différentes façons de réaliser cette sélection aléatoire des mineurs : ce sont les mécanismes de consensus. Les blockchains publiques utilisent habituellement un consensus par preuve de travail (Proof of Work, voir la section « Focus sur les mécanismes de consensus »), de sorte que plus la puissance de calcul d’un mineur est élevée, plus grande est la probabilité qu’il soit sélectionné. Comme la puissance de calcul est coûteuse, le coût d’acquisition de 51 % de la puissance totale de calcul du réseau est élevé. C’est une façon de sécuriser le réseau, en rendant le coût d’une attaque disproportionnée par rapport au bénéfice. Les blockchains privées dans lesquelles les nœuds appartiennent à une même entité ou les blockchains semi-privées dans lesquelles les nœuds appartiennent à un consortium de différents utilisateurs autorisés, n’ont pas besoin d’un mécanisme de consensus aussi coûteux que le Proof of Work, car les participants sont connus et de confiance dans une certaine mesure. Dans ce cas, le mécanisme de consensus utilisé est beaucoup plus simple. Voir ci-dessous pour plus de détails sur différentes implémentations de consensus.
    Forks. Une fois que le bloc d’un mineur a été sélectionné, il est ajouté à la blockchain et l’information est diffusée. En raison d’effets de réseau, il peut exister des cas où plusieurs mineurs sont sélectionnés quasi-simultanément, si bien qu’il existe différentes versions de la blockchain dans différentes régions du réseau. C’est ce qu’on appelle un « fork » (embranchement) : la blockchain se subdivise en branches. Le mécanisme de consensus doit alors être assez robuste pour résoudre ce scénario. En d’autres termes, tous les nœuds « honnêtes » devraient converger dans le futur, d’une façon ou d’une autre, pour revenir à une seule et unique version de la blockchain [4]. Dans la pratique, le consensus par la preuve de travail atteint cet objectif en obligeant les mineurs à travailler sur la branche la plus longue qu’ils rencontrent.
    En outre, le logiciel des mineurs est parfois mis à jour pour corriger des bugs, modifier des protocoles, ou ajouter des fonctionnalités. Cela peut également créer des forks, car différents nœuds peuvent gérer les transactions différemment en fonction de leur version de logiciel. Nous distinguons habituellement :

    • les « Soft forks » pour lesquels les transactions considérées comme valides par la nouvelle version sont également valables pour l’ancienne version ;
    • les « Hard forks » pour lesquels les transactions jugées invalides par l’ancienne version peuvent être valables pour la nouvelle version.

    Outils cryptographiques
    Des outils cryptographiques sont utilisés pour garantir l’intégrité de la blockchain, l’identité du participant, l’authenticité des transactions et (parfois) la confidentialité du contenu.
    Fonction de hachage. La fonction de hachage est notamment utilisée pour chaîner les blocs entre eux. Ainsi, l’en-tête d’un bloc contient le « hash », résultat de l’application d’une fonction de hachage (hash function)* du bloc précédent. Ce hash est un élément clé de l’intégrité de la blockchain. Ainsi, si un attaquant du système modifie le contenu d’un bloc bm, n’importe qui peut le détecter en calculant le hash du bloc et en comparant ce résultat avec le hash stocké dans le bloc suivant bm+1 pour voir qu’il existe une incohérence. Afin d’éviter d’être détecté, l’attaquant devrait donc changer tous les blocs et leurs hachages, du bloc bm au dernier bloc en cours. Cependant, les blocs ne peuvent pas être facilement modifiés compte tenu du protocole défini pour l’ajout de blocs (voir section précédente sur « le mécanisme de consensus »). On perçoit donc là une propriété importante de la blockchain : l’immuabilité. Une fois qu’une transaction est inscrite dans la blockchain, elle est très difficilement modifiable.
    Identité. Une identité sur la blockchain est définie par une adresse numérique, dérivée d’une paire de clés : une clé privée qui n’est connue que par son propriétaire et une clé publique destinée à être partagée avec d’autres utilisateurs. D’un point de vue technique, ces deux clés correspondent à des nombres hexadécimaux et sont liées entre elles par une fonction mathématique. Ces clés sont utilisées pour l’identification et pour la signature des transactions. Perdre sa clé privée revient à perdre son identité sur la blockchain.
    Signature. Lorsqu’un utilisateur enregistré souhaite ajouter une transaction à la blockchain, il l’envoie au réseau afin que les mineurs puissent la recevoir, la vérifier et l’ajouter à leur bloc. Mais pour être vérifiées, les transactions (qui sont des données) doivent être signées afin que le mineur puisse identifier incontestablement l’expéditeur. La signature est générée par une fonction cryptographique qui prend en entrée les données d’origine et la clé privée de l’expéditeur, et fournit en sortie une signature. Cette signature est vérifiable par toute personne utilisant une autre fonction qui vérifie la cohérence entre les données, la signature et la clé publique. Par conséquent, lors de l’envoi de données, l’expéditeur ajoute également la signature correspondante et sa clé publique.

     

    Figure 2 : principes (simplifiés) de fonctionnement de bitcoin

    * Une fonction de hachage (hash function) prend une donnée d’entrée et produit un hash, une donnée de taille fixe qui est spécifique à l’entrée, telle une empreinte digitale. Cette fonction permet notamment de vérifier l’intégrité d’une donnée, en comparant le résultat de la fonction de hachage avec le hash d’origine.

    Focus sur les mécanismes de consensus

    Dans cette section, nous décrivons les principaux mécanismes de consensus utilisés aujourd’hui dans les blockchains. Il n’existe pas de mécanisme de consensus universel car, comme nous le verrons, chaque mécanisme présente des avantages et des inconvénients.

    Preuve de travail (Proof of Work ou PoW)
    Ce mécanisme est notamment utilisé dans les blockchains publiques Bitcoin [1] et Ethereum [2]. Il garantit que chaque mineur fournit en moyenne une quantité suffisante de puissance de calcul avant de valider un bloc. Plus exactement, son pouvoir de validation est proportionnel à la puissance de calcul qu’il met en jeu (on parle de hashrate). Ainsi, dans un réseau distribué avec une puissance de calcul bien répartie, aucun acteur n’est prédominant dans le système et ce mécanisme empêche également les attaques de type déni de service.
    Pour ajouter un bloc de données dans la blockchain, chaque mineur doit valider les données du bloc courant (i.e. sa cohérence avec les blocs précédents) et résoudre un puzzle cryptographique. Le puzzle consiste à trouver un nonce* parmi N entiers de sorte que le hash des données combinées avec le nonce commence par au moins « p » zéros. La seule stratégie pour résoudre ce puzzle est en pratique de tester tous les nonces possibles. Une fois qu’un mineur a résolu le puzzle, il peut ajouter les données correspondantes avec son hash et son nonce à la blockchain. La complexité de la résolution de ce puzzle est directement fonction du nombre « p » de zéros requis : plus « p » est grand, plus le puzzle est compliqué, i.e. plus le nombre de nonces à tester devra en moyenne être élevé. Ce paramètre permet au système blockchain d’ajuster la difficulté des puzzles pour contrôler le temps moyen de validation d’un bloc (car ce temps est directement corrélé au hashrate global du système). Par exemple, par conception, Bitcoin maintient un temps moyen de validation d’un bloc de 10 minutes en ajustant ce nombre « p » tous les 2016 blocs (environ deux semaines).
    Étant donné que ce protocole est utilisé sur un réseau décentralisé, bien que la probabilité soit faible, deux blocs Bi différents peuvent être générés quasi-simultanément (i.e. pour un même index « i » de bloc) par deux mineurs différents. Cela conduit la blockchain à se subdiviser en deux branches. Dans ce cas, il appartient au mineur validant le bloc suivant Bi+1 de choisir la branche, c’est-à-dire la version du bloc B, qu’il décidera d’utiliser. Ensuite, un troisième mineur ayant à valider un bloc devra également choisir une branche, et ainsi de suite. Le protocole demande aux mineurs d’opter pour la branche la plus longue, tandis que les branches sur lesquelles personne ne mine seront peu à peu abandonnées, créant des blocs orphelins. Il est généralement admis sur Bitcoin qu’une branche d’environ six blocs peut être considérée comme la branche principale. Ce qui signifie que pour être sûr qu’une transaction est valide et que le bloc qui la contient ne deviendra pas orphelin, il faut attendre environ une heure sur Bitcoin (c’est-à-dire 6 x 10 minutes). On entrevoit ici les limites de Bitcoin pour le passage à l’échelle de certaines applications [8].
    La conséquence de ce mécanisme de consensus est évidente : il repose sur du travail informatique et donc de l’énergie électrique ; d’ailleurs plus la puissance de calcul utilisée dans le réseau est élevée, plus celui-ci est sécurisé. Cela explique les critiques qui sont parfois émises envers Bitcoin, à savoir qu’elle serait une blockchain très énergivore.

    Dans notre cas, un nonce est simplement un nombre arbitraire.

    Proof of Stake (PoS)
    Ce mécanisme de consensus repose sur l’idée que plus un utilisateur a d’intérêts dans la blockchain (par exemple plus il possède de cryptomonnaie), moins il risque d’attaquer le système [3]. Ainsi, il devrait être favorisé dans le choix pour la prochaine génération de blocs.
    Dans la pratique, il existe de nombreuses implémentations. Souvent, on combine des cryptomonnaies mises en gage avec un processus aléatoire (randomization). Un autre exemple est la sélection du valideur basée sur la durée de possession de la cryptomonnaie par son propriétaire. Des propositions alternatives combinent PoS avec d’autres mécanismes de consensus tels que le PoW. Bien que le PoS soit efficace, il a également des limites. Un problème bien connu s’appelle le problème de l’enjeu nul (nothing-at-stake issue). En effet, s’il existe une branche valide A et une autre B, le consensus devrait amener les générateurs de blocs, c’est-à-dire les mineurs, à choisir l’une d’entre elles. Dans le cas du Proof of Work, ce choix est basé sur la branche la plus longue, et les mineurs sont rationnellement incités à faire ce choix : en effet, s’ils travaillent sur la branche la plus courte, ils risquent de dépenser leur énergie en pure perte puisque cette branche sera probablement abandonnée par la suite. Cependant, dans le cas du Proof of Stake, s’il n’y avait aucun coût à choisir l’une ou l’autre, une stratégie serait de choisir les deux branches afin de maximiser ses chances de gagner de l’argent dans la génération de blocs. Dès lors, des solutions différentes ont été proposées pour résoudre ce problème spécifique, impliquant généralement un dépôt de garantie qui peut être perdu en cas de mauvais comportement dans le réseau.

    Practical Byzantine Fault Tolerance (PBFT)
    PBFT [6] est un algorithme de réplication capable de tolérer les « fautes byzantines ». Dit simplement, cet algorithme garantit la cohérence du consensus tant que les deux tiers des nœuds du réseau sont sécurisés (c’est-à-dire qu’ils ne sont ni malveillants, ni défectueux). Ceci est permis par l’application de protocoles pour choisir un leader parmi eux, pour permettre à ce leader d’imposer les transactions valides et enfin de pouvoir changer de leader de manière sécurisée. Cependant, cette méthode exige que tous les nœuds générateurs se connaissent et qu’ils doivent communiquer entre eux. Par conséquent, le réseau doit être privé et son échelle limitée pour rester performant [7].

    Technologies et outils de la blockchain

    Smart contract
    Le concept de smart contract (également appelé chaincode dans l’implémentation Hyperledger Fabric) a d’abord été mis en œuvre par Ethereum. Ce sont des programmes informatiques exécutés par les mineurs. Leur déploiement et leur exécution sont déclenchés par les utilisateurs via des transactions. Comme toute autre transaction, les exécutions de smart contracts bénéficient également des propriétés de la blockchain : désintermédiation, immuabilité, transparence et résilience. Par ailleurs, on peut offrir un service automatisé sur la blockchain à travers un smart contract dont l’exécution est assurée par le réseau. Par exemple, un smart contract pourrait représenter la propriété d’un objet que l’on peut vendre ou acheter lors d’une vente aux enchères. Une fois placé sur le marché par son propriétaire, les acheteurs intéressés émettent leur offre en plaçant de l’argent sur ce contrat. Puis, une fois les enchères terminées, le propriétaire appelle la fonction de vente de son objet. Cette fonction sélectionne alors automatiquement la meilleure offre et transfère la propriété de l’objet au meilleur acheteur. Les autres enchérisseurs sont alors automatiquement remboursés de leur mise par le smart contract et le vendeur reçoit automatiquement son argent. De cette façon, toutes les transactions sont sécurisées par le smart contract et le réseau, sans intervention de tiers de confiance.

    Oracles
    Dans la section précédente, nous avons vu que les smart contracts permettent l’automatisation de transactions selon des conditions programmées. Cependant, les conditions sont limitées à des informations internes de la blockchain : les informations sur les transactions et le code source du smart contract. C’est ici qu’interviennent les oracles. Ils fournissent un service qui permet la communication entre la blockchain et le monde extérieur. De cette façon, un smart contract peut être au courant de la météo, des résultats d’un match de football, des informations de vol d’un avion spécifique, etc. puis utiliser ces informations dans le calcul de son état. Il est également possible de produire des données à destination du monde réel à partir de la blockchain. Par exemple, afin d’informer un utilisateur par courrier électronique de l’exécution du contrat.

    Organisation autonome décentralisée (Decentralized Autonomous Organization, DAO)
    Une organisation autonome décentralisée, ou DAO, est une organisation qui repose sur les règles mises en œuvre dans des smart contracts. L’exemple de DAO la plus célèbre, mise en œuvre sur Ethereum, s’appelle « The DAO », qui a été conçue pour financer de manière participative (crowdfunding) des projets à but lucratif. Ce qui l’a rendue si célèbre, c’est que, lancé en mai 2016, ce projet a réussi à collecter l’équivalent d’environ 150 millions de dollars en 28 jours. Malheureusement, un bug dans le programme informatique « The DAO » a été exploité pour détourner une partie de cet argent (environ 50 millions de dollars), soulignant ainsi les risques et la faible maturité de la technologie [5]. À la suite de ce bug, le projet a été arrêté et un hard fork de la blockchain Ethereum a permis de rembourser les montants collectés auprès des participants. Malgré cet incident malheureux, le concept général de DAO continue de représenter, à juste titre, une perspective intéressante pour les applications blockchain.

    Confidentialité des données
    La notion de confidentialité englobe deux aspects :

    • Une transaction est considérée anonyme si nous ne pouvons pas identifier son émetteur/destinataire.
    • Une transaction est considérée privée si l’objet et le montant de la transaction sont inconnus.

    Plusieurs outils cryptographiques peuvent être utilisés pour garantir la confidentialité des données. Citons le chiffrement homomorphe, qui permet de réaliser des calculs sur des données chiffrées sans avoir besoin au préalable de les déchiffrer. Citons également la technique de preuve à divulgation nulle de connaissance (Zero-Knowledge Proof) qui permet à un interrogateur de vérifier qu’une information secrète est véridique, sans avoir à connaître réellement le secret. Citons enfin la signature de cercle (Ring Signature), un protocole qui permet à une entité de signer une transaction avec une clé appartenant à un ensemble de clés, sans révéler quelle clé a effectivement signé la transaction.

    Conclusion

    Cette introduction à la blockchain s’est attachée à décrire les fondamentaux de la blockchain. Depuis 2 ans, on observe une mobilisation de la recherche sur le sujet, traduisant tout le potentiel de la technologie mais aussi sa faible maturité.

    Pionnier dans ce domaine, l’IRT SystemX travaille avec ses partenaires académiques et industriels à lever les verrous techniques, économiques, juridiques ou de gouvernance nécessaires à la concrétisation de nouveaux services et usages basés sur cette nouvelle technologie.

     

    Références

    [1] S. Nakamoto, « Bitcoin: A peer-to-peer electronic cash system », May 2009: https://bitcoin.org/bitcoin.pdf
    [2] Buterin, Vitalik. « A next-generation smart contract and decentralized application platform. » white paper (2014)
    [3] A. Poelstra. On Stake and Consensus. https://download.wpsoftware.net/bitcoin/pos.pdf
    [4] Juan A. Garay, Aggelos Kiayias, Nikos Leonardos: The Bitcoin Backbone Protocol: Analysis and Applications. EUROCRYPT (2) 2015: 281-310: https://eprint.iacr.org/2014/765.pdf
    [5] N. Atzei, M. Bartoletti, T. Cimoli, A survey of attacks on Ethereum smart contracts, IACR Cryptology ePrint Archive 2016: 1007 (2016)
    [6] M. Castro, B. Liskov, Practical Byzantine Fault Tolerance, Proceedings of the Third Symposium on Operating Systems Design and Implementation, New Orleans, USA, February 1999
    [7] M. Vukolic: The Quest for Scalable Blockchain Fabric: Proof-of-Work vs. BFT Replication. LNCS 9591, Proc. iNetSeC 2015
    [8] K. Croman, C. Decker, I. Eyal, A. E. Gencer, A. Juels, A. Kosba, A. Miller, P. Saxena, E. Shi, E. Gün Sirer, D. Song, and R. Wattenhofer, On Scaling Decentralized Blockchains, FC 2016 International Workshops
    [9] O. Dib, K. Brousmiche, A. Durand, E. Thea, E. Ben Hamida, Consortium Blockchains: Overview, Applications and Challenges. To appear in IARA International Journal On Advances in Telecommunications 2018
    [10] Rapport du groupe de travail Blockchain des Assises Nationales de la mobilité, https://www.assisesdelamobilite.gouv.fr/syntheses.html

     

    Cet article a été initialement publié dans la Revue de l’Électricité et de l’Électronique (2018). Il est retranscrit ici sous un format légèrement adapté.