Brevet FR3074598A1 — publié le 20190607

PROCEDE DE MISE A JOUR DE DONNEES DANS UN REGISTRE DISTRIBUE PRIVE A PARTIR D'UNE PREUVE D'AUTHORISATION DE PUBLICATION, GEREE ET FOURNIE PAR UN AUTRE REGISTRE DISTRIBUE PRIVE [1] La presente invention concerne de maniere generale le domaine des reseaux en pair a pair permettant l'execution securisee et infalsifiable de transactions entre individus ou entites sans l'intervention d'un tiers de confiance. Ces reseaux sont plus communement appeles « Registre Distribues » ou plus generalement « Blockchains D. [2] Elle concerne plus particulierement le domaine des methodes dits de consensus, qui permettent Ia validation de transactions ou de donnees et leur ajout en bloc dans un registre distribue. [3] Elle concerne en particulier les methodes de consensus utilises dans les registres distribues dits « prives », ou une authentification securisee des participants au reseau en pair a pair est require pour pouvoir publier des donnees dans le registre distribue et/ou acceder aux dites donnees du registre distribue. [04] Depuis l'apparition recente des technologies dites blockchains ou encore de registres distribues, Ia problematique de validation et d'enregistrement des blocs de transactions et/ou de donnees dans le registre distribue est un aspect fondamental pour garantir Ia conformite du registre ainsi que sa perennite dans le temps. Les technologies actuelles pour Ia mise en place de registres distribues dans un reseau en pair a pair proponent déjà des methodes de consensus fiables, mail comportant des avantages et des inconvenients ainsi que des niveaux de fiabilites plus ou moins importants. [05] Les trois methodes de consensus les plus couramment utilisees par les technologies actuelles sont : - Methodes dites de « Proof of Work » (« PoW » ou « preuve de travail » ou « preuve de calcul ») : Cette methode consiste a demander a un nceud du reseau en pair a pair Ia resolution d'un probleme mathematique necessitant une grande quantite de calcul. Les nceuds du reseau acceptant ce deli sont plus communement appeles « mineurs ». Lorsque l'un des mineurs parvient a trouver Ia solution, celle-ci doit etre facilement verifiable par tour les autres nceuds du reseau. Le premier a trouver Ia solution gagne le droit de valider et d'ecrire le prochain bloc du registre distribue. La difficulte du probleme est ajustee en temps reel selon Ia puissance totale du reseau. Les blocs sont ainsi ecrits a intervalley reguliers. Ce systeme rend les tentatives de piratage du registre distribue difficiles et 2 protege d'eventuelles tentatives de « spams » pour surcharger le reseau. Des lors que ('identification du mineur-pirate est facile, falsifier le registre distribue (en rassemblant plus de 50 % de la puissance de calcul totale) revient a detruire son investissement materiel et s'exclure du reseau. Cette methode de consensus presente neanmoins certains 5 inconvenients non-negligeables : cette methode est tres lente (la validation de blocs peut prendre jusqu'a 10 minutes sur les registres distribues actuels) et tres couteuse en terme de puissance machine et de consommation d'electricite. En effet, le mecanisme de preuve de travail est tres critique pour le cout en electricite qui decoule du processus de minage et son impact environnemental du a la pollution generee par les sources d'energies 10 utilisees par certaines centrales de minage. - Methodes dites de « Proof of Stake » (PoS ou « preuve d'enjeu » ou « preuve de possession ») : L'algorithme de preuve d'enjeu tente de resoudre les problemes lies au mecanisme de preuve de travail evoque ci-dessus en supprimant entierement le concept de minage et en le remplacant par un autre mecanisme. La preuve d'enjeu demande aux 15 nceuds du reseau participants de prouver la possession d'une certaine quantite de crypto- monnaie pour pretendre a pouvoir valider des blocs supplementaires dans la chaine de bloc et de pouvoir toucher une recompense, s'il y en a une, a ('addition de ces blocs. Bien que cette methode de consensus solutionne les problemes lies a la methode de preuve de travail mentionnee ci-dessus, rien ne garantit que le nceud ayant la plus grande quantite 20 de crypto-monnaie agira dans les meilleurs interets du reseau pour garantir sa perennite. - Methodes dites de « Proof of Authority » (PoA ou « preuve d'autorite ») : Cette methode de consensus est utilisee pour une blockchain dite « privee » ou le nombre de participants est limitee et ou leur identite est connue. La methode de consensus par preuve d'autorite a ete inventee pour pallier aux risques lies au mecanisme de preuve d'enjeu, ou 25 le nceud possedant le plus de crypto monnaies pourrait prendre le controle de tout le reseau. Dans une methode de consensus par preuve d'autorite, les nceuds qui feront autorite pour valider des blocs sont definis a l'avance. Cette methode a pour inconvenient que le reseau est dependant d'un nombre de nceud limit& ainsi que de la puissance machine que ces nceuds mettent a disposition du reseau. 30 [06] Afin de remedier aux inconvenients precites de l'etat de la technique, la presente invention propose une methode de consensus fiable, automatique et performante pour un 3 registre distribue prive, qui garantit la conformite et la perennite de la chaine de blocs du registre distribue. Plus particulierement, on propose selon l'invention un mecanisme qui permettra de verifier que tout participant du reseau souhaitant publier une donnee dans le registre distribue est bien le participant autorise pour la publication et la mise a jour de 5 ladite donnee. La gestion des types de donnees autorisees pour tel ou tel participant sera faite dans un autre registre distribue prive, dit registre distribue maitre. Ce registre distribue maitre est partage uniquement entre des participants de confiance, ayant pour seul role de definir quell participants du registre distribue sous-jacent, dit registre esclave, sont autorises a publier tels ou tels types de donnees. Le registre distribue maitre servira 10 ensuite de reference au registre esclave. Ainsi, pour chaque participant initiant un processus de publication de donnees dans le registre esclave, un mecanisme de consensus evaluera automatiquement les enregistrements du registre distribue maitre pour valider que le participant du registre distribue esclave est bien autorise a publier le type de donnees dont il a initie la publication. 15 [07] Selon l'invention, la validation des blocs de donnees dans le registre distribue esclave ne se fait plus par consensus entre nceuds du reseau (approche classique) mais de facon automatique a partir des enregistrements stockes dans le registre distribue maitre, ce qui rends le processus de validation de blocs extremement performant par rapport aux methodes actuelles, puisque cette validation se fait de facon quasi-instantanee ; 20 [08] La conformite du registre distribue esclave est garantie puisque seulement les participants autorises pourront publier des donnees pour les types de donnees pour lesquelles ils ont recu l'autorisation par le registre distribue maitre. [09] - Au-dela de la gestion de l'autorisation de publication par participant et par type de donnees, le registre distribue maitre permets de gerer les droits de tour les participants au 25 registre distribue esclave, puisqu'un participant du registre esclave non-enregistre ou n'ayant pas de type de donnees autorise attribue, ne pourra publier de donnees dans le registre distribue esclave. Au mieux, il pourra acceder au registre esclave seulement dans un mode consultatif ou il pourra rechercher et lire les donnees du registre distribue esclave, mais en a ucun cas participer a la mise a jour de ce registre. 30 [10] La gestion des autorisations des participants par types de donnees dans un registre distribue maitre permet d'assurer une evolution des droits des participants du registre distribue esclave dans le temps. Ainsi les participants du registre distribue maitre pourront 4 decider a tour moments de retirer ou d'ajouter des droits de publication de types de donnees particuliers pour chacun des participants du registre distribue esclave. [11] Le registre distribue maitre pourra etre consultable en lecture seulement par les participants du registre distribue esclave, offrant ainsi toute transparence sur les droits ou 5 a utorisation de chacun des participants du reseau esclave. [12] Selon une variante de l'invention, il est mis en ceuvre un mecanisme de demande d'autorisation pour la publication et la mise a jour d'un type de donnees particulier. Ainsi les membres du registre distribue esclave pourront par ('execution d'une requete specifique offerte par le registre distribue esclave, faire une demande automatique aux 10 participants du registre maitre pour obtenir l'autorisation de publie dans le registre esclave un type de donnees dont ils ont la responsabilite legitime ou legale. [13] La description qui va suivre en regard des dessins annexes, donnes a titre d'exemples non limitatifs, fera bien comprendre en quoi consiste l'invention et comment elle peut etre mise en ceuvre. Sur les dessins annexes : 15 - la figure 1 illustre de maniere schernatique le procede de demande et d'enregistrement d'autorisation pour un certain type de donnees. -la figure 2 illustre de maniere de schernatique le procede permettant la validation d'une publication de donnees dans le registre distribue esclave par un participant au registre distribue esclave autorise. 20 [14] Selon l'invention, il convient d'entendre par participant une machine ou un dispositif electronique qui comprend des moyens de calcul et de communication adaptes pour permettre la generation de messages authentifies notamment par des mecanismes cryptographiques d'authentification ou de signature par exemple du type a cle publique et cle privee. 25 [15] L'invention propose la mise en ceuvre de deux types de participants a savoir les participants maitres et les participants enclaves sachant qu'un merne participant peut etre a la foil maitre et esclave. [16] L'invention prevoit la mise en ceuvre d'un registre distribue maitre, c'est-a-dire un registre comprenant la liste des participants maitre et la liste de l'ensemble des participants 30 au registre esclave avec pour chaque participant l'ensemble des identifiant et moyens d'authentification dudit participant ainsi que l'ensemble des prerogatives et droits attaches 5 a ce participant. Le registre maitre est dit distribue en ce que chaque participant maitre possede une copie integrale du registre maitre. [17] L'invention prevoit la mise en ceuvre d'un registre esclave c'est-à-dire un registre dans lequel sont stockees des informations fournies par des participants esclaves sont 5 enregistrees apres avoir ete dument valides par une machine de contrOle egalement appelee module de consensus. [18] A la figure 1, on a represents le mecanisme par lequel un participant du registre distribue esclave est autorise a publier un type de donnees particulier dans le registre distribue esclave. 10 [19] Sur cette figure, le participant SPD au registre distribue esclave S effectue une demande d'autorisation [1] pour la publication d'un type de donnees particulier dans S. Cette demande d'autorisation DAD est collectee [2] et envoyee [3] au registre distribue maitre M par le module de demande d'autorisation au registre distribue maitre DAM. La demande est ensuite collectee pour validation par M au travers du module de validation 15 d'autorisation VDA. Grace a une methode de consensus classique de type preuve d'autorite, les participants MPX, MPY, MPZ a M valide [4] l'autorisation de publication de donnees d'un type particulier pour SPD dans S. Cette validation donne lieu a recriture d'un nouveau block dans la chaine de blocs MR de M. VDA est ensuite notifie [6] qu'un nouveau bloc a ete kris dans MR et que l'autorisation a ete enregistree avec succes. A son tour, 20 VDA notifie [7] DAM que l'autorisation a ete validee. Enfin DAD est egalement mise a jour [8], indiquant ainsi a SPD [9] que sa demande d'autorisation a bien ete validee. [20] Sur la figure 2, on a represents le mecanisme par lequel un nouveau bloc est valide et cree dans le registre distribue esclave. [21] Sur cette figure, le participant SPD au registre distribue esclave S effectue [21] une 25 demande de publication DPD d'un type de donnees particulier dans S. DPD est collectee [22] et envoyee [23] au registre distribue maitre M par le module de consensus SC en charge de la validation et de l'ecriture de nouveau bloc dans S. La demande de publication est ensuite collectee pour verification d'autorisation par M au travers du module de verification d'autorisation VMR. VMR consulte [24] ensuite la chaine de bloc MR de M et 30 verifie [25] que SPD a bien le droit de publier le type de donnees pour lequel it fait la demande de publication. Apres verification VMR notifie [26] SC que la publication est a utorisee. SC valide a lors la publication des donnees provenant de SPD et enregistre [27] 6 ces donnees dans un nouveau bloc dans la chaine de bloc SR de S. Apres ecriture reussie dans SR [28], SC valide DPD comme etant executee avec succes. La nouvelle version de SR contenant le nouveau bloc de donnees publiee par SPD est ensuite distribuee a tour les participants de S : SPX, SPY, REVENDICATIONS1. Procede pour ajouter des donnees dans un registre distribue prive esclave a partir d'une preuve d'autorisation de publication de la donnee, geree et fournie par un registre distribue prive maitre distinct du registre esclave comprenant les etapes suivantes. - demande d'un participant du registre distribue esclave au registre distribue maitre d'une autorisation pour la publication d'un type de donnees particulier, - lecture et validation de la demande par l'un des participants du registre distribue maitre, via une methode de consensus de preuve d'autorite utilise pour valider la demande dans le registre distribue maitre, enregistrement dans le registre distribue maitre de l'autorisation donnee au participant du registre distribue esclave pour la publication dans le registre distribue esclave du type de donnees pour lequel le participant du registre distribue esclave a fait la demande, - demande de publication de donnees dans le registre distribue esclave par le participant du registre distribue esclave autorise pour le type de donnee pour lequel il effectue sa demande de publication, - verification par consultation du registre distribue maitre que le participant initiant la publication de donnees dans le registre esclave est bien autorise a publier le type de donnees pour lequel il fait la demande, apres verification aupres du registre distribue maitre, les donnees publiees par le participant du registre distribue esclave sont validees et enregistrees sous forme de bloc dans le registre distribue esclave. 2. La demande d'un participant du registre distribue esclave au registre distribue maitre d'une autorisation pour la publication d'un type de donnees particulier selon la revendication 1, est caracterise en outre par les proprietes suivantes : une foil l'autorisation validee dans le registre distribue maitre, cette autorisation reste valide pour un intervalle de temps indetermine, tant qu'elle reste inchangee par les participants du registre distribue maitre. Ainsi tout participant du registre distribue esclave dont l'autorisation pour un type de donnees particulier a ete validee et enregistree dans le 8 registree distribue maitre, n'a plus besoin de faire explicitement cette demande avant une publication de donnees. une nouvelle demande de la part d'un participant du registre distribue esclave pour un nouveau type de donnees, en plus du ou des type(s) de donnees pour le ou lesquels il a 5 etc prealablement autorise est possible a tout moment. Si la demande de ce participant est validee, il pourra, en plus des types de donnees actuels pour lesquels il est autorise, publier des donnees pour le nouveau type de donnees pour lequel il a fait la nouvelle demande si la demande d'un participant du registre distribue esclave au registre distribue 10 maitre d'une autorisation pour la publication d'un type de donnees particulier selon la revendication 1, est refusee par les participants du registre distribue maitre, le participant du registre distribue esclave ne pourra pas public le type de donnees pour lequel il a effectue la demande si une demande de publication de donnees dans le registre distribue esclave est 15 effectuee par un participant du registre distribue esclave pour un type de donnee pour lequel il nest pas autorise, cette demande est rejetee par le registre distribue esclave (apres consultation du registre distribue maitre) et les donnees concernees seront perdues car elles ne pourront etre ajoutees au registre distribue esclave. 20