 En direct, bonjour tout le monde, j'espère que vous allez très bien. C'est un plaisir d'être là, d'organiser ces meet-ups, j'y ferai de mon mieux. Le titre de la présentation d'aujourd'hui est Hyperledger Fabric, utilisé les consensus Hedera Hagecraft. J'aimerais vous présenter, craque scolaire, le lead developer advocate de Hedera Hagecraft, notre orataire. Greg, je vous commence votre présentation. Avec plaisir, bonjour à tous, merci de prendre du temps pour m'écouter aujourd'hui et puis peut-être poser des questions à la fin. Je suis effectivement grec scolaire, basé en France, lead developer advocate pour Hedera depuis quatre ans environ, et je m'occupe essentiellement de tout ce qui est relation technique avec notre écosystème de développeur, qu'il soit native crypto ou entreprise, donc vraiment un grand panel de cas d'usage potentiel dans lesquels je suis impliqué. On m'a invité, ça fait à peu près six mois, on a mis du temps à se mettre en route, pour vous présenter comment Hedera et Hyperledger Fabric peuvent travailler ensemble ou plutôt comment Hyperledger Fabric peut se servir d'Hedera comme alternative de moteur de consensus, alternatif à ce auquel vous êtes habitué probablement. Donc je vais commencer avec une petite intro sur Hedera et puis après on va rentrer dans le vif du sujet en ce qui concerne le labo d'intégration. Donc Hedera c'est un réseau public qui est assez différent de la plupart des réseaux publics qui existent aujourd'hui dans la mesure où il est très efficace, on a des traits au niveau de performance et aussi une gouvernance qui se différencie dans la mesure où Hedera est gouvernée par des grandes entreprises, des grands groupes industriels, à travers le monde dans plusieurs verticaux industriels différents pour s'assurer que si c'était que des banques ou que des assureurs ou que des entreprises de technologie on aurait éventuellement des décisions qui sont prises au niveau gouvernance qui sont axées dans la direction de ces entreprises particulières. Là on essaye vraiment d'inviter sur le niveau de la gouvernance tous les types d'entreprises à travers le monde pour avoir une pluralité maximale. Ces entreprises sont aussi au siège de Hedera pendant trois ans, un premier terme de trois ans qui est éventuellement renouvelable une deuxième fois pour trois ans mais après au maximum six ans ils n'ont a priori plus le droit de revenir au siège de la gouvernance au siège d'administration à moins qu'éventuellement on décide d'une dizaine d'années ou d'autres de les réinviter. Et quand je dis on, en fait c'est le Conseil d'administration de Hedera qui est constitué de ces entreprises jusqu'à 39 qui prennent ces décisions. Donc ça n'est pas ma décision, ça n'est pas la décision du personnel d'Hedera c'est vraiment la décision du Conseil d'administration. Donc ce Conseil d'administration, Hedera est toujours en train de le construire on est arrivés à 26 aujourd'hui donc vous pouvez voir les noms là des entreprises qui gouvernent Hedera aujourd'hui et cette gouvernance elle est complète, il s'occupe absolument de tout que ce soit au niveau technique, ce sont eux qui gèrent la feuille de route, ce sont eux qui décident comment la plateforme évolue, ce sont eux qui décident de toute la crypto-économie, ce sont eux qui décident de notre tenue au niveau régulatoire, marketing donc ce sont vraiment eux qui gouvernent, ils ne sont pas simplement des partenaires ce sont vraiment des copropriétaires de Hedera. Et en parlant de copropriété, ils ont tous le même pouvoir de vote donc là pour l'instant il y a 26 membres donc c'est 1 sur 26 quand il s'agit de voter sur des décisions. À terme, il y aura 39 que ce soit que l'on soit Google ou que l'on soit ServiceNow pour prendre deux entreprises qui sont un peu opposées au niveau market cap Google a autant de pouvoir de décision que ServiceNow il n'y a personne les plus gros que les autres donc c'est vraiment distribué et décentralisé dans le sens là. Si on regarde ensuite ce en quoi Hedera est constitué donc on a un réseau mine net donc ça c'est le réseau stable qui perdure on a d'autres réseaux test net et preview net pour des activités de développement mais le réseau mine net effectivement le réseau qui perdure sur ce réseau on a trois services principaux le service de consensus, le service de token qui est natif donc pas de RC20 ou de RC721 pour ceux qui connaissent Heterium pas de contrat intelligent c'est vraiment du natif sur la plateforme et aussi un service de contrat intelligent qui est basé sur solidity donc compatible avec Heterium. Donc ça c'est les réseaux, le conseil d'administration comme je disais tout à l'heure s'occupe lui de gérer tout ce qui est technique et etc vis-à-vis de l'évolution de la plateforme et puis après on a des cas d'usage qui se servent de ces services donc des cas d'usage d'intégrité de processus, d'identité, tokenisation, paiement qui sont utilisés par des utilisateurs qui soient individuels, entreprises ou de l'aïe aïe des objets connectés peuvent se servir de ces différents cas d'usage donc le faire de lance vraiment pour Hédéra c'est cette stabilité qui vient de la gouvernance c'est un niveau de performance très élevé que l'on verra tout à l'heure et une multitude de cas d'usage on n'est pas vraiment orienté seulement d'IFAN et non seulement NFT on peut vraiment couvrir tout un tas de cas d'usage différents y compris une intégration avec Ritalhacher Au niveau écosystème vous pouvez voir ici les outils de développement qui sont disponibles en tant que SDK les intégrateurs avec lesquels on travaille donc ça c'est vraiment notre force de déploiement de solution les plateformes d'échange sur lesquelles on peut trouver HAPAR, notre crypto-monnaie et puis voilà d'autres choses plus ou moins importantes portefeuille et autres si on se concentre un peu sur le niveau de performance de Hédéra donc on est capable aujourd'hui de 10 000 transactions par seconde tous les types de transactions ne peuvent pas forcément évoluer à ce genre de performance si on regarde des contrats intelligents c'est plutôt 300, 400 transactions par seconde mais globalement sur le mix de types de transactions que l'on peut avoir sur Hédéra c'est pour l'instant 10 000 transactions par seconde donc ça c'est ce que l'on peut faire c'est un peu comme un autoroute à 4 voix on peut y mettre beaucoup de monde le 15 août ou on peut avoir 2 ou 3 personnes la nuit donc ce que l'on voit aujourd'hui sur le Mainnet n'est pas forcément représentatif de ce que l'on peut faire ce sont les cas d'usage qui sont en cours d'exécution à ce moment précis au niveau transaction on a passé le cap de 2 milliards de transactions depuis notre libre accès en septembre 2019 donc ça surpasse enfin on a des surpassés de loin Ethereum par exemple et a priori la plupart des autres réseaux publics et quand on parle de transactions ce sont des vraies transactions ici ce ne sont pas des échanges de consensus entre les nœuds chacune de ces 2 milliards de transactions ont été motivées par un utilisateur de la plateforme donc on tourne à grosso modo au plus de 2 millions et demi de transactions par jour vous pouvez voir sur la droite un petit schéma qui vous donne une idée de ce que l'on a fait la semaine dernière il y a quelqu'un qui n'est pas il y a quelqu'un qui est pancage oui j'ai muté nos vraies transactions sont très très bas donc dans le contexte de ce qu'on va parler tout à l'heure d'un hyper ledger ou de l'intégration on est au millième de centimes de dollars et ces frais de transactions sont en dollars contrairement à d'autres plateformes qui expriment leurs frais de transactions dans leurs crypto-monnaies nous on fait une conversion suivant le taux de change en quasi temps réel c'est mis à jour toutes les heures donc une entreprise qui veut servir de hédéra peut prévoir ces coûts au long terme sans être nécessairement à la merci des fluctuations du cours d'une crypto-monnaie on a aussi un temps de finalité pour le consensus de 3,5 secondes et quand on parle de finalité ici on parle de finalité à 100% il n'y a pas de confirmation de bloc ou quoi que ce soit quand une transaction est confirmée après 3 secondes et demie elle est confirmée et on a plusieurs milliers de développeurs qui travaillent sur Tasnat et dans notre discord en ce moment donc après si on regarde l'évolution des réseaux publics par rapport au réseau privé tel que fabrique beaucoup de travaux au début au niveau de la blockchain ont commencé avec des réseaux privés pour des raisons assez classiques dans la mesure où beaucoup d'entreprises aiment travailler avec des produits en interne comme on l'a vu avec le cloud il y a une quinzaine d'années l'éployer des applications dans le cloud n'était pas vraiment très courant jusqu'à ce que ce soit devenu plus sécurisé, plus sûr et de nos jours très peu de startups et même de grandes entreprises ont des gros data centers ou même de l'équipement chez eux la plupart d'entre elles se servent maintenant de services publics tel que le cloud et on retrouve un peu cette évolution au niveau des réseaux privés publics où beaucoup d'entreprises ont fait l'exploration sur réseaux privés pour commencer et puis ce sont éventuellement orientés vers des réseaux publics ou un mélange privé public qui leur donne une plus grande ouverture vis-à-vis des interconnections avec d'autres réseaux ou d'autres réseaux privés donc ce sur quoi on a travaillé avec Renipalaja et ça a commencé il y a pas mal de temps en avril 2019 IBM est rentré au conseil d'administration de HEDERA en mai 2019 on a rejoint ou HEDERA a rejoint la communauté Renipalaja et en mai 2020 on avait le premier lab en place pour une intégration entre Renipalaja Fabric et le consensus HEDERA et au-delà de ce lab en particulier on continue à travailler assez étroitement avec Renipalaja de manière générale donc là récemment on a installé le VM BESU pour nos contrats intelligents donc ça c'est le VM qui est utilisé entre autres par certains noeuds Ethereum enfin c'est un des moteurs d'Ethereum on y a contribué aussi au projet BESU on a contribué des améliorations et là on est en train d'essayer de travailler sur une intégration possible de notre service de token comme je disais tout à l'heure qui est natif à HEDERA donc très très très rapide et peu chère à l'utilisation pour les projets HEDERA et HEDERA et on a une proposition en cours pour cet été de mentorat pour une première intégration avec HEDERA pour essayer de solliciter de l'aide de la communauté Renipalaja sur ce projet donc si c'est quelque chose qui vous intéresse peut-être quelque chose à consulter ou à avoir donc dans le contexte de cette intégration avec Renipalaja on utilise le service de consensus HEDERA donc HEDERA utilise un algorithme de consensus qui s'appelle hashgraph qui est très efficace très rapide et très peu énergivore en fait un des moins si ce n'est le moins énergivore de tous les réseaux publics et ce que HEDERA a fait en fait c'est créer une couche d'API sur le consensus hashgraph pour rendre ce consensus en fait disponible en tant que service à des réseaux externes, des réseaux tiers qui n'ont pas forcément envie d'exploiter HEDERA comme moteur d'exécution mais qui veulent ou qui recherchent toujours un moteur de consensus public pour justement gérer l'ordre de leur transaction pour profiter de la confiance que l'on peut apporter à un réseau public décentralisé etc. donc ce service de consensus en fait c'est hashgraph le consensus au travers d'un API qui peut être utilisé relativement facilement et comme je disais les frais associés à l'opération de ce service sont faibles au millième de dollars américain et prévisibles donc parce que nos frais sont fixés en USD alors le service de consensus peut donc être utilisé pour donner les transactions de réseaux privés ou dans d'autres cas c'est pour Hyperledger donc non seulement le consensus HEDERA où hashgraph est très rapide et on obtient cette finalité en trois secondes et demi tous les services HEDERA sont aussi justes, équitables dans le sens où on n'a pas de leader dans hashgraph on n'a pas de leader pour créer des blocs il n'y a aucun moment un oeuf qui est responsable de la création d'un bloc et ça c'est très important au niveau équitabilité dans le sens où quand un oeuf a la possibilité de créer un bloc sur un réseau public ce oeuf peut choisir quelle transaction inclure dans le bloc et typiquement ça se fait sur une base financière quelles sont les transactions qui ont le plus d'intérêt pour le oeuf au niveau retour financier donc on arrive à éventuellement des cas de figure où une transaction n'est pas exécutée pendant pas mal de temps parce qu'elle n'est pas favorable au oeuf donc elle reste en mémoire jusqu'à ce qu'un oeuf décide de l'inclure dans un bloc ce qui fait aussi que certains acteurs peuvent payer plus cher pour prioritiser leur transaction voire même sur certains réseaux publics le oeuf peut parfois insérer une transaction à lui-même pour extraire de la valeur supplémentaire dans le cas d'un échange endifin et autres avec HKRAF, on n'a pas de leaders donc toutes les transactions sont séquencées et ordonnées dans le temps complètement en fonction du moment où le réseau en entier a atteint le consensus pour cette transaction donc c'est un des moteurs de consensus les plus justes au niveau accès et utilisation donc ça permet éventuellement à des réseaux privés comme Rampelager de profiter de ces avantages de justesse, d'équitabilité tout en ayant un niveau de performance qui est largement suffisant pour la plupart des réseaux privés dans la mesure où comme je disais on peut faire entre 6 et 10 000 transactions par seconde pour le service de consensus comment est-ce que le service de consensus fonctionne ? c'est relativement simple si vous connaissez le principe des message queues en anglais, j'oublie le terme français où on envoie un message à une message queues et on peut souscrire à cette message queues pour recevoir les messages le service de consensus est très similaire en fait on crée un topic sur Edara donc ça c'est comme un channel une voix de communication envers lesquels on envoie un message ce message est totalement arbitraire ça peut être le hash d'une transaction ça peut être du texte ça peut être dédonné en crypté ça peut être vraiment n'importe quoi que l'on envoie sur ce topic donc ça c'est la soumission d'un message le réseau Edara va ensuite ça se fait sous la forme d'une transaction qui contient un message pour un topic particulier le réseau Edara va ensuite arriver au consensus sur cette transaction et lui allouer un euro d'attache encore une fois ça s'est calculé sur le médian pas la moyenne mais le médian de l'heure à laquelle tous les nœuds sont au courant d'une transaction donc encore une fois il n'y a pas moyen pour un nœud d'influencer cet euro d'attache de façon importante et ce message une fois qu'il a atteint le consensus va recevoir cet euro d'attache va se faire allouer un numéro de séquence c'est tout simple 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, etc et puis un hash continue aussi donc il y a un hash continue qui se fait qui fait qu'en fait on peut vérifier que la séquence de message et que le contenu de chaque message est en fait correct dans cette séquence donc personne ne peut influencer les messages en eux-mêmes et si on veut qu'on peut éventuellement considérer qu'au sein d'un topic, tous ces messages représentent une mini blockchain avec chaque transaction étant un bloc d'une seule transaction avec un hash dans cette transaction qui référence la transaction ou le message précédent et ainsi de suite donc en fait au travers d'un topic on crée sa mini blockchain personnalisée et on peut souscrire un topic donc dans le cadre d'un déploiement Hyperledger Fabric les nœuds du réseau envoient leur transaction à Edera au travers de HCS et les autres nœuds du même réseau souscrivent au même topic et en fait reçoivent le même flux de transaction enfin le même flux de messages que s'ils étaient directement connectés aux nœuds qui ont envoyé cette opération cette transaction donc au niveau implementation dans le labo en lui-même ce qu'on a c'est quelque chose d'assez traditionnel et je pense que vous le comprendrez probablement mieux que moi l'application soumet sa proposition aux pierres Fabric qu'elle veut récupère les réponses avec les approbations nécessaires et ensuite diffuse la transaction à son ordreur qui va lui en fait la fragmenter la mettre dans un message associé à un topic et envoyer cette transaction à Edera pour le consensus donc Edera va arriver au consensus sur cette transaction va générer une preuve d'état optionnel et au travers des nœuds miroirs qui sont des nœuds qui en fait valident les opérations et qui les persistent le même ordreur enfin non, tous les ordreurs du réseau vont souscrire à ce topic commun et au travers de cette subscription vont être notifiés de cette transaction qui a été envoyée par un des ordreurs du réseau une fois que la notification a été reçue si la transaction avait été fragmentée donc ça c'est une question de si la transaction est plus grande enfin contient plus que plus de 1000 octets par exemple pardon, on est obligé de la fragmenter en plusieurs transactions donc elle est reconstituée à l'étape 7 et en fait comme toutes ces transactions arrivent dans un séquencement ordonné elles sont ensuite livrées dans cet ordre au PS qui peuvent ensuite communiquer avec l'application pour indiquer que la transaction a été effectivement terminée ou complétée donc voilà grosso moto à 40 000 pieds ou 30 000 pieds comment cette intégration fonctionne donc en regardant au niveau bloc fonctionnel donc les transactions sont envoyées vers l'ordre d'heureur qui au travers des différents blocs par exemple la geofabrique éventuellement il communique avec le SDK idéra donc là c'est le SDK golang qui est utilisé ce SDK envoie les messages vers le mainnet pour le consensus et ce même SDK souscrit à un miroir pour recevoir les retours de consensus et ensuite renvoyer le résultat de ce retour au plugin hcs qui va ensuite lui gérer le reste du flux vers l'ordre d'heureur pour éventuellement renvoyer des blocs séquencés à la partie qui a éventuellement enfin qui a au début invoqué l'ordre d'heureur pour envoyer une transaction donc tout ça c'est évidemment disponible sur comment dire dans un labo donc on a une page où vous pouvez ici je la répéterai à la fin dans les questions-réponses où vous pouvez aller voir un guide pour démarrer il est en anglais mais vous trouverez un guide qui permet de démarrer de lancer une application pour essayer le labo vous-même et l'intégrer éventuellement dans votre déploiement donc juste 2-3 dernières petites choses et puis après j'ai une vidéo d'une démo de Fabcar avec hcs donc juste rappeler les points forts de HEDERA leader en technologie pour sa rapidité sécurisé on est le seul protocole ABFT qui est vraiment le standard ultime dans ce qui concerne Byzantine fault tolerance ou la tolérance aux erreurs Byzantine ça a été vérifié et testé avec COQ qui est une innovation française qui permet de vérifier des théorèmes mathématiques au travers d'un programme informatique donc tout ça a été vérifié et validé par une tierche personne les attaques des doses sont limitées dans la mesure où on n'a pas de leader etc etc j'ai parlé de l'équitabilité de l'eurodata de l'accès au réseau et puis de la stabilité de la tarification de HEDERA qui est une plateforme pour les entreprises qui ont besoin de cette visibilité de simplement passer du kit double d'une semaine à l'autre suivant la volatilité d'une crypto-monnaie n'est pas idéale pour les entreprises un cas d'usage réel qui est un des membres de notre conseil d'administration a lancé une plateforme qui s'appelle TOCO de de tokenisation de tokenisation d'actifs ils ont fait ça sur Apple Edge of Abrek donc ils utilisent Chincud etc pour gérer leurs solutions mais se servent du consensus HCS pour synchroniser pour gérer leur transaction avec tous les tous les nœuds qui participent à leur solution donc DLIPMP c'est une entreprise d'avocats ils travaillent avec beaucoup de grands comptes sur la tokenisation que ce soit des actifs financiers ou des œuvres d'art et tout ça avec le contexte régulatoire qu'il leur est propre et qu'il connaisse très bien donc ils ont su marier la technologie blockchain avec l'aspect régulatoire de certains actifs une fois tokenisés voilà pour la démo je pense que ça va se jouer là donc ça c'est FAPcar j'envoie une requête pour faire une petite pause à droite j'ai FAPcar qui fonctionne sous fabric et à gauche j'ai un explorer qui me permet de voir les transactions sur edera dans ce cas c'est sur notre test net pour ce topic 30.666 comme vous pouvez voir ça a été enregistré il y a quelques temps les numéros de topique ont largement augmenté ou centaines de millions mais en gros ce que vous allez voir ici c'est une liste de messages qui va augmenter donc on va passer de 76 à 77 au fur et à mesure qu'on exécute des transactions au travers de FAPcar la première chose c'est de voir car la voiture 6 existe donc on a bien trouvé la voiture on va effectuer un transfert de la voiture 6 vers un nouveau propriétaire et ça ça va en fait résulter en plusieurs opérations donc des transactions sur le consensus on verra ici 77 est un message que l'on a reçu sur le consensus on attend quelques secondes 78 pour un autre et sur la gauche en FAPcar que cette transaction va se finaliser ou se terminer voilà donc on a maintenant terminé cette opération vous avez vu la rapidité avec laquelle ça s'est fait et il y en a les maintenant bien propriétaires de la voiture numéro 6 et ici on va en créer une nouvelle donc 17 bleu et encore une fois ça va nous créer des opérations qui vont être envoyées à HCS donc on voit d'autres messages ici qui vont servir de consensus pour le petit réseau fabrique que j'ai dans cette démo et voilà l'opération est complète et on peut maintenant trouver que la voiture a effectivement été créée voilà donc ça termine la démo et ça termine ma présentation donc j'espère avoir gardé dans les clous dans les temps en les à 40 minutes donc on a à peu près 5 minutes ou un peu plus pour des questions réponses si vous en avez j'ai mis sur la page là des liens qui vous sont éventuellement utiles vers edera, vers notre documentation notre github, notre discord comment créer un contestnet vous en aurez besoin si vous voulez faire tourner le labo et le lien vers le labo pour essayer éventuellement revenir vers nous pardon sur discord si vous avez des questions au sujet du labo voilà avec ça j'attends des questions s'il y en a et merci beaucoup, quoi qu'il arrive pour le temps que vous m'avez accordé merci, merci beaucoup grec c'était très informatif commençons par Q&A s'il vous plaît, posez vos questions pour me voir mais je crois c'est un question du youtube pour la gestion des topics c'est du Kafka dernier ou c'est c'est autre aux choses c'est du pardon je pose une question du Kafka dernier les topics oui le nom peut donner l'impression que c'est du Kafka mais non pas du tout les topics c'est une entité sur le réseau Edera donc en fait on utilise la pays du réseau Edera pour créer un topic et après on peut envoyer des messages sur le réseau Edera donc ça permet de regrouper certains messages donc disons par exemple que moi je lance mon Fabcard sur mon réseau Fabric et puis que Igor fait la même chose sur le sien on veut pas forcément que nos messages s'entremêlent et se retrouvent mélangés parce qu'on est deux implementations complètement indépendantes donc Igor utiliserait un topic qu'il a créé pour son son réseau à lui et moi j'utiliserai un topic pour le mien mais cet topic n'existe que sur Edera il n'y a pas de et sont intimement liés au service Edera il n'y a pas de Kafka là où Kafka utiliserait son propre système de gestion de messages de mise en ordre des messages etc là on utilise le consensus comme moyen de déterminer l'ordre et la validité des opérations donc il n'y a pas de Kafka du tout mais en termes de modélisation fonctionnelle c'est à peu près la même chose on envoie des messages à un topic et si on sous-crit au topic on reçoit la message c'est juste l'ordonnancement le séquencement qui n'est pas Kafka qui est à Hcraft vous d'autres questions je pense c'est fini ok très bien j'espère que ça a été informatif et utile soit j'ai répondu à toutes vos questions soit il n'en a pas donc encore une fois merci beaucoup à tous et n'hésitez pas à nous rejoindre si vous voulez développer ceci un peu plus un peu plus loin merci à tous d'être venus passer une bonne journée merci à la prochaine celui d'accord merci à tous au revoir, bonne semaine