FR3062499A1 - Procede de reduction de la taille d'une base de donnees repartie de type chaine de blocs, dispositif et programme correspondant - Google Patents
Procede de reduction de la taille d'une base de donnees repartie de type chaine de blocs, dispositif et programme correspondant Download PDFInfo
- Publication number
- FR3062499A1 FR3062499A1 FR1750898A FR1750898A FR3062499A1 FR 3062499 A1 FR3062499 A1 FR 3062499A1 FR 1750898 A FR1750898 A FR 1750898A FR 1750898 A FR1750898 A FR 1750898A FR 3062499 A1 FR3062499 A1 FR 3062499A1
- Authority
- FR
- France
- Prior art keywords
- dictionary
- creation
- block chain
- blocks
- parameter
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
- 238000000034 method Methods 0.000 title claims abstract description 42
- PWPJGUXAGUPAHP-UHFFFAOYSA-N lufenuron Chemical compound C1=C(Cl)C(OC(F)(F)C(C(F)(F)F)F)=CC(Cl)=C1NC(=O)NC(=O)C1=C(F)C=CC=C1F PWPJGUXAGUPAHP-UHFFFAOYSA-N 0.000 title description 2
- 238000012217 deletion Methods 0.000 claims abstract description 18
- 230000037430 deletion Effects 0.000 claims abstract description 18
- 238000004590 computer program Methods 0.000 claims description 7
- 230000005540 biological transmission Effects 0.000 claims description 5
- 230000008569 process Effects 0.000 claims description 5
- 238000004891 communication Methods 0.000 claims description 4
- 238000003780 insertion Methods 0.000 claims description 3
- 230000037431 insertion Effects 0.000 claims description 3
- 230000009467 reduction Effects 0.000 claims description 2
- 230000006870 function Effects 0.000 description 29
- 230000008901 benefit Effects 0.000 description 13
- 238000012545 processing Methods 0.000 description 11
- 230000015654 memory Effects 0.000 description 8
- 238000004364 calculation method Methods 0.000 description 7
- 238000003860 storage Methods 0.000 description 6
- 238000005065 mining Methods 0.000 description 5
- 238000012986 modification Methods 0.000 description 5
- 230000004048 modification Effects 0.000 description 5
- 230000006835 compression Effects 0.000 description 4
- 238000007906 compression Methods 0.000 description 4
- 238000012795 verification Methods 0.000 description 4
- 238000013459 approach Methods 0.000 description 3
- 230000000694 effects Effects 0.000 description 3
- 230000007246 mechanism Effects 0.000 description 3
- 238000003672 processing method Methods 0.000 description 3
- 230000004075 alteration Effects 0.000 description 2
- 238000009792 diffusion process Methods 0.000 description 2
- 238000009826 distribution Methods 0.000 description 2
- 238000005516 engineering process Methods 0.000 description 2
- 230000003287 optical effect Effects 0.000 description 2
- 238000010200 validation analysis Methods 0.000 description 2
- 239000002131 composite material Substances 0.000 description 1
- 230000001186 cumulative effect Effects 0.000 description 1
- 238000010586 diagram Methods 0.000 description 1
- 238000005265 energy consumption Methods 0.000 description 1
- 230000003203 everyday effect Effects 0.000 description 1
- 230000010365 information processing Effects 0.000 description 1
- 230000010354 integration Effects 0.000 description 1
- 238000012423 maintenance Methods 0.000 description 1
- 238000004519 manufacturing process Methods 0.000 description 1
- 238000007620 mathematical function Methods 0.000 description 1
- 238000004377 microelectronic Methods 0.000 description 1
- 230000000644 propagated effect Effects 0.000 description 1
- 238000012549 training Methods 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/90—Details of database functions independent of the retrieved data types
- G06F16/901—Indexing; Data structures therefor; Storage structures
- G06F16/9024—Graphs; Linked lists
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
- G06Q20/00—Payment architectures, schemes or protocols
- G06Q20/04—Payment circuits
- G06Q20/06—Private payment circuits, e.g. involving electronic currency used among participants of a common payment scheme
- G06Q20/065—Private payment circuits, e.g. involving electronic currency used among participants of a common payment scheme using e-cash
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/32—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
- H04L9/3236—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials using cryptographic hash functions
- H04L9/3239—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials using cryptographic hash functions involving non-keyed hash functions, e.g. modification detection codes [MDCs], MD5, SHA or RIPEMD
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/50—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols using hash chains, e.g. blockchains or hash trees
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
- G06Q2220/00—Business processing using cryptography
Landscapes
- Engineering & Computer Science (AREA)
- Business, Economics & Management (AREA)
- Computer Security & Cryptography (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- Computer Networks & Wireless Communication (AREA)
- Databases & Information Systems (AREA)
- Accounting & Taxation (AREA)
- Signal Processing (AREA)
- General Physics & Mathematics (AREA)
- General Business, Economics & Management (AREA)
- Strategic Management (AREA)
- Software Systems (AREA)
- Finance (AREA)
- Data Mining & Analysis (AREA)
- General Engineering & Computer Science (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
- Storage Device Security (AREA)
- Machine Translation (AREA)
Abstract
L'invention se rapporte à un Procédé de réduction de la taille d'une base de données répartie de type chaine de blocs, procédé mis en œuvre par un dispositif électronique, appelé nœud, connecté à un ensemble de nœud formant un système de gestion de base de donnée répartie Un tel procédé comprend : - une étape de détermination (10) d'un instant t de création d'un dictionnaire A[t], courant comprenant pour chaque utilisateur de la chaine de blocs, à l'instant t un couple de type (clé, valeur), en fonction d'au moins un paramètre de détermination prédéterminé ; - une étape de création (20), pour ledit instant t de création, du dictionnaire A[t] en fonction d'au moins un paramètre de création prédéterminé, au sein d'une structure de donnée ; - une étape d'obtention (30), à partir du dictionnaire A[t], d'une donnée cryptographique unique DCu, représentative du dictionnaire ; une étape de suppression (40) de blocs de la chaine de blocs en fonction d'au moins un paramètre de suppression prédéterminé.
Description
Titulaire(s) :
INGENICO GROUP Société anonyme.
O Demande(s) d’extension :
® Mandataire(s) : CABINET PATRICE VIDON.
*54) PROCEDE DE REDUCTION DE LA TAILLE D'UNE BASE DE DONNEES REPARTIE DE TYPE CHAINE DE BLOCS, DISPOSITIF ET PROGRAMME CORRESPONDANT.
FR 3 062 499 - A1
@) L'invention se rapporte à un Procédé de réduction de la taille d'une base de données répartie de type chaîne de blocs, procédé mis en oeuvre par un dispositif électronique, appelé noeud, connecté à un ensemble de noeud formant un système de gestion de base de donnée répartie Un tel procédé comprend:
- une étape de détermination (10) d'un instant t de création d'un dictionnaire A[t], courant comprenant pour chaque utilisateur de la chaîne de blocs, à l'instant t un couple de type (clé, valeur), en fonction d'au moins un paramètre de détermination prédéterminé;
- une étape de création (20), pour ledit instant t de création, du dictionnaire A[t] en fonction d'au moins un paramètre de création prédéterminé, au sein d'une structure de donnée;
- une étape d'obtention (30), à partir du dictionnaire A[t], d'une donnée cryptographique unique DCu, représentative du dictionnaire; une étape de suppression (40) de blocs de la chaîne de blocs en fonction d'au moins un paramètre de suppression prédéterminé.
ι
Procédé de réduction de la taille d'une base de données répartie de type chaîne de blocs, dispositif et programme correspondant
1. Domaine
L'invention se rapporte au domaine du traitement de transactions. Plus particulièrement, l'invention se rapporte au traitement de transactions authentifiées. Une transaction authentifiée est généralement mise en œuvre dans la cadre du traitement d'obligation et/ou dans un cadre contractuel. Une transaction authentifiée, plus particulièrement, se présente sous la forme d'une structure de données dont le contenu est authentifié : le contenu de la structure de donnée (tout comme la structure de données elle-même), ne peux pas faire l'objet de modifications ou d'altération une fois que la transaction est validée. L'invention apporte une solution simple et efficace aux traitements transactionnels mis en œuvre dans le cadre de transactions authentifiées et plus particulièrement dans le cadre de chaînes de blocs (de l'anglais pour BlockChain).
2. Art Antérieur
Une chaîne de blocs est une technologie de stockage et de transmission d'informations. Une chaîne de bloc, de par les technologies mises en œuvre pour la créer possède plusieurs caractéristiques à savoir qu'elle est transparente, sécurisée, et qu'elle fonctionne de manière décentralisée.
Ainsi, dans le langage usuel, l'expression chaîne de blocs est également utilisée pour faire référence à une base de données distribuée qui gère une liste d'enregistrements protégés contre la falsification ou la modification par les nœuds de stockage. Une chaîne de bloc, par extension, est donc une chronologie décentralisée et sécurisée de toutes les transactions effectuées depuis l'initialisation du système réparti. Une chaîne de blocs, typiquement, comprend en son sein des transactions authentifiées.
Une des chaînes de blocs la plus connue est celle mise en œuvre dans la cadre de la gestion de la crypto monnaie BitCoin. D'autres chaînes de blocs existent cependant, et ce pour la gestion d'activité diverses allant de la gestion de transactions financières à la gestion de contrats de services.
La mise en œuvre d'une chaîne de blocs est basée sur l'utilisation d'un nombre important de nœuds, qui chacun possède une copie de la chaîne de blocs et est en mesure de participer à la génération et à la validation des blocs de la chaîne de blocs et des transactions qui s'y trouvent. Ainsi, pour la mise en œuvre d'une chaîne de blocs, il est nécessaire de disposer d'une pluralité de nœuds, qui chacun, de manière indépendante, est en mesure de valider les transactions passées entre les utilisateurs de la chaîne de blocs et est en mesure de participer à la création de nouveaux blocs. L'intérêt suscité par les gains obtenus pour une participation à la création de blocs entraîne une croissance rapide du nombre de nœuds. Cette croissance a plusieurs conséquences : la première est une augmentation importante de la consommation énergétique. En effet, pour la génération de nouveaux blocs, des conditions particulières sont ajoutées. Parmi ces conditions, certaines requièrent l'obtention de données cryptographiques complexes, notamment par l'utilisation de fonctions mathématiques injectives de type fonction de hachage, qui nécessitent des calculs extensifs et donc une énorme dépense énergétique. Ajoutons que la mise en œuvre de ces fonctions est réalisée en concurrence : cela signifie que les différents nœuds se font concurrence pour la mise en œuvre de ces fonctions et que généralement seul le nœud qui obtient le résultat escompté est le nœud qui obtient la récompense. Ceci participe à l'inefficacité énergétique du système. Il existe d'autres systèmes dans lesquels il n'y a pas de mise en concurrence, mais plutôt une participation à l'effort, système dans lequel la récompense est attribuée en fonction d'une preuve de participation au résultat et non d'une preuve d'accomplissement d'un travail.
La deuxième conséquence de la croissance du nombre de nœud est indirecte et se rapporte à la croissance du nombre de transactions. En effet, plus le nombre de nœud augmente, plus il est aisé d'utiliser le système de chaîne de blocs pour effectuer une transaction puisque cela implique que la transaction est validée de manière beaucoup plus rapide. Or, l'augmentation du nombre de transactions entraîne mécaniquement une augmentation du nombre de blocs de la chaîne de blocs, ce qui entraîne une augmentation importance du besoin de stockage des transactions. Or, la confiance accordée à la chaîne de blocs réside dans le fait que chaque nœud dispose d'une copie de cette chaîne de blocs. Ainsi, par exemple, dans le cas du bitcoin, la totalité de la chaîne de blocs représente au jour de la présente, plus de 100 Go. Chaque nœud possède donc une copie de cet ensemble de données. Cela représente une dépense considérable en termes d'espace total de stockage et participe à l'inefficacité de la chaîne de blocs à ce sujet.
Il existe donc un besoin, consistant à fournir une solution pour limiter la croissance de la base de données (de la chaîne de blocs) tout en conservant le caractère authentifié des transactions qui sont mises en œuvre dans le cadre de la chaîne de blocs.
3. Résumé
La présente technique permet de solutionner, au moins en partie, ce problème lié à la nécessité de disposer d'un historique de données au sein de la chaîne de blocs. Plus particulièrement, il est proposé un procédé de réduction de la taille d'une base de données répartie de type chaîne de blocs, procédé mis en œuvre par un dispositif électronique, appelé nœud, connecté à un ensemble de nœud formant un système de gestion de base de donnée répartie. Selon l'invention, ce procédé comprend :
une étape de détermination d'un instant t de création d'un dictionnaire A[t], courant comprenant pour chaque utilisateur de la chaîne de blocs, à l'instant t un couple de type (clé, valeur), en fonction d'au moins un paramètre de détermination prédéterminé ;
une étape de création, pour l'instant t de création, du dictionnaire A[t] en fonction d'au moins un paramètre de création prédéterminé, au sein d'une structure de donnée ;
une étape d'obtention, à partir du dictionnaire A[t], d'une donnée cryptographique unique DCj, représentative du dictionnaire ;
une étape de suppression de blocs de la chaîne de blocs en fonction d'au moins un paramètre de suppression prédéterminé ;
Éventuellement de l'instant t de création est également pris en compte pour la suppression des blocs.
Ainsi, selon l'invention, comme le dictionnaire est créé en fonction de l'instant de création t et des données de la chaîne de blocs antérieures à cet instant t, il est aisé de diminuer la taille de la chaîne de blocs en supprimant les blocs antérieurs à l'instant t. Comme explicité par la suite, cette suppression est effectuée en fonction de paramètre de suppression, comme par exemple le temps écoulé depuis la création du dictionnaire ou encore le nombre de blocs ajoutés à la chaîne de blocs depuis la création du dictionnaire. Ainsi, en fonctionnement nominal, itératif, le procédé permet de à taille de la chaîne de blocs de rester relativement constante : cette taille évolue entre une borne maximum et une borne minimum, bornes dépendant de la valeur des paramètres du procédé.
Selon un mode de réalisation particulier, le procédé comprend, postérieurement à l'étape d'obtention, une étape d'insertion de la donnée cryptographique unique DCj au sein d'un enregistrement d'un bloc de la chaîne de blocs.
Ainsi, la donnée cryptographique est insérée dans la chaîne de bloc elle-même et bénéficie donc des caractéristiques de la chaîne de blocs : transparence et auditabilité.
Selon une caractéristique particulière, le paramètre de suppression prédéterminé comprend un paramètre relatif au nombre de blocs créés depuis l'insertion de la donnée cryptographique unique DCjau sein d'un enregistrement d'un bloc de la chaîne de blocs.
Ainsi, il est possible de borner la taille de la chaîne de blocs de manière plus efficace tout en assurant une sécurisation des transactions : les blocs antérieurs à l'instant t ne sont supprimés que lorsqu'un certain nombre de blocs supplémentaires ont été ajoutés, postérieurement à l'instant t.
Selon une caractéristique particulière, le nombre de blocs créés depuis la création du dictionnaire courant est supérieur ou égal à quatre.
Dans un mode de réalisation particulier, ce nombre est supérieur ou égal à six.
Selon une caractéristique particulière, l'étape de suppression de blocs de la chaîne de blocs comprend la suppression de l'ensemble des blocs de la chaîne de blocs antérieurs audit dictionnaire courant.
Selon un mode de réalisation particulier, l'étape d'obtention, à partir du dictionnaire A[t], de la donnée cryptographique unique DCU; comprend une étape d'application, sur la structure de données dudit dictionnaire, d'une fonction de hachage, délivrant un haché dudit dictionnaire.
Selon une caractéristique particulière, le procédé comprend en outre au moins une étape de transmission de la donnée cryptographique unique DCU; à au moins un nœud dudit ensemble de nœuds.
Ainsi, la donnée cryptographique unique peut être auditée et acceptée par d'autres nœuds, ce qui participe à la prise en compte du dictionnaire par d'autre nœud du réseau de nœuds.
Selon une caractéristique particulière, l'étape de transmission comprend :
une étape de création d'un enregistrement de la chaîne de blocs ;
une étape d'adjonction, à titre de métadonnées dudit enregistrement, de la donnée cryptographique unique DCj ;
une étape d'insertion, au sein d'un bloc courant de la chaîne de blocs, dudit enregistrement.
Selon un autre aspect, l'invention se rapporte également à un dispositif de réduction de la taille d'une base de données répartie de type chaîne de blocs, dispositif au sein d'un dispositif électronique, appelé nœud, connecté à un ensemble de nœud formant un système de gestion de base de donnée répartie. Un tel dispositif comprend :
des moyens de détermination d'un instant t de création d'un dictionnaire A[t], courant comprenant pour chaque utilisateur de la chaîne de blocs, à l'instant t un couple de type (clé, valeur), en fonction d'au moins un paramètre de détermination prédéterminé ;
des moyens de création, pour ledit instant t de création, du dictionnaire A[t] en fonction d'au moins un paramètre de création prédéterminé, au sein d'une structure de donnée ;
des moyens d'obtention, à partir du dictionnaire A[t], d'une donnée cryptographique unique DCU; représentative du dictionnaire ;
des moyens de suppression de blocs de la chaîne de blocs en fonction d'au moins un paramètre de suppression prédéterminé.
Selon une implémentation préférée, les différentes étapes des procédés selon l'invention sont mises en œuvre par un ou plusieurs logiciels ou programmes d'ordinateur, comprenant des instructions logicielles destinées à être exécutées par un processeur de données selon l'invention et étant conçu pour commander l'exécution des différentes étapes des procédés.
En conséquence, l'invention vise aussi un programme, susceptible d'être exécuté par un ordinateur ou par un processeur de données, ce programme comportant des instructions pour commander l'exécution des étapes d'un procédé tel que mentionné cidessus.
Ce programme peut utiliser n'importe quel langage de programmation, et être sous la forme de code source, code objet, ou de code intermédiaire entre code source et code objet, tel que dans une forme partiellement compilée, ou dans n'importe quelle autre forme souhaitable.
L'invention vise aussi un support d'informations lisible par un processeur de données, et comportant des instructions d'un programme tel que mentionné ci-dessus.
Le support d'informations peut être n'importe quelle entité ou dispositif capable de stocker le programme. Par exemple, le support peut comporter un moyen de stockage, tel qu'une ROM, par exemple un CD ROM ou une ROM de circuit microélectronique, ou encore un moyen d'enregistrement magnétique, par exemple une disquette (floppy dise) ou un disque dur.
D'autre part, le support d'informations peut être un support transmissible tel qu'un signal électrique ou optique, qui peut être acheminé via un câble électrique ou optique, par radio ou par d'autres moyens. Le programme selon l'invention peut être en particulier téléchargé sur un réseau de type Internet.
Alternativement, le support d'informations peut être un circuit intégré dans lequel le programme est incorporé, le circuit étant adapté pour exécuter ou pour être utilisé dans l'exécution du procédé en question.
Selon un mode de réalisation, l'invention est mise en œuvre au moyen de composants logiciels et/ou matériels. Dans cette optique, le terme module peut correspondre dans ce document aussi bien à un composant logiciel, qu'à un composant matériel ou à un ensemble de composants matériels et logiciels.
Un composant logiciel correspond à un ou plusieurs programmes d'ordinateur, un ou plusieurs sous-programmes d'un programme, ou de manière plus générale à tout élément d'un programme ou d'un logiciel apte à mettre en œuvre une fonction ou un ensemble de fonctions, selon ce qui est décrit ci-dessous pour le module concerné. Un tel composant logiciel est exécuté par un processeur de données d'une entité physique (terminal, serveur, passerelle, routeur, etc.) et est susceptible d'accéder aux ressources matérielles de cette entité physique (mémoires, supports d'enregistrement, bus de communication, cartes électroniques d'entrées/sorties, interfaces utilisateur, etc.).
De la même manière, un composant matériel correspond à tout élément d'un ensemble matériel (ou hardware) apte à mettre en œuvre une fonction ou un ensemble de fonctions, selon ce qui est décrit ci-dessous pour le module concerné. II peut s'agir d'un composant matériel programmable ou avec processeur intégré pour l'exécution de logiciel, par exemple un circuit intégré, une carte à puce, une carte à mémoire, une carte électronique pour l'exécution d'un micrologiciel (firmware), etc.
Chaque composante du système précédemment décrit met bien entendu en œuvre ses propres modules logiciels.
Les différents modes de réalisation mentionnés ci-dessus sont combinables entre eux pour la mise en œuvre de l'invention.
4. Figures
D'autres caractéristiques et avantages de l'invention apparaîtront plus clairement à la lecture de la description suivante d'un mode de réalisation préférentiel, donné à titre de simple exemple illustratif et non limitatif, et des dessins annexés, parmi lesquels :
la figure 1 présente un synoptique de la technique proposée, pour la création d'un dictionnaire d'une chaîne de blocs ;
la figure 2 présente la création d'un dictionnaire à différentes phases de la croissance d'une chaîne de blocs selon la présente technique.
la figure 3 décrit un dispositif pour la mise en œuvre de la méthode de traitement décrite.
5. Description
5.1. Rappel du principe
Comme explicité précédemment, le principe général de l'invention consiste à déterminer dans une chaîne de blocs, à un instant donné, une base de départ authentifiée, base de départ qui est utilisée comme source pour la génération de blocs ultérieurs. D'une certaine manière, cette base de départ constitue une version compressée de l'ensemble des blocs précédents, qui peut être utilisée comme source fiable de départ pour la création des enregistrements ultérieurs.
Dans un mode de réalisation, l'invention consiste à intégrer, au sein de la chaîne de blocs, un dictionnaire de valeurs clés authentifiées. Ce dictionnaire de valeurs clés, également appelé dictionnaire par la suite, bénéficie des avantages de la chaîne de blocs : visibilité publique et résistance aux attaques. En fonction de l'implémentation (par exemple dans le cas d'une crypto monnaie), le dictionnaire représente un état instantané des engagements des utilisateurs (par exemple un état du compte des utilisateurs) à un instant donné (moment où le dictionnaire est créé). Dans d'autres cas, le dictionnaire peut représenter un ensemble de valeurs d'autres natures : il peut s'agir de valeurs cumulatives, par exemple dans le domaine de l'énergie de valeurs cumulant une production donnée et/ou une consommation donnée. II peut encore s'agir de valeurs composites, de types tableau, représentant un ensemble de valeurs ou encore des positions dans un espace géo référencé. Dans le cadre de la présente, un utilisateur peut être un utilisateur humain, au sens commun du terme; un utilisateur peut aussi être un serveur, un logiciel, un service : la définition de ce qui est considéré comme un utilisateur dépend de l'objet de la chaîne de blocs, comme indiqué supra.
Quoi qu'il en soit, la création de nouveaux blocs de la chaîne de blocs peut être réalisée en utilisant les données du dictionnaire plutôt que les données des blocs précédents. On suppose ainsi, dans le cadre de l'invention, que l'ensemble des utilisateurs de la chaîne de blocs est identifiable, au moins à l'aide d'une information publique constante (telle qu'une clé publique appartenant à un couple clé privée/clé publique) : cela signifie que quand bien même l'utilisateur ne peut pas être nommé, il peut à tout le moins être identifié sur la base d'une clé publique, clé qui est diffusée à l'ensemble du réseau de nœuds, afin de vérifier la signature des enregistrements issus de l'activité de l'utilisateur.
Avantageusement, postérieurement à l'établissement du dictionnaire, les blocs antérieurs sont supprimés de la chaîne de blocs. Cette suppression présente des avantages, notamment celui de réduire la taille de la chaîne de blocs, et donc de réduire l'espace nécessaire au stockage de celle-ci. On note que cette suppression n'est pas obligatoire : un nœud peut tout à fait décider de conserver l'ensemble de la chaîne de blocs, s'il souhaite par exemple disposer d'un historique complet des enregistrements. L'autre avantage est l'oubli progressif des enregistrements passés : tout comme dans une gestion patrimoniale classique, les enregistrements les plus anciens sont progressivement oubliés, ce qui présente l'avantage d'assurer un certain respect de confidentialité et un relatif maintien de la vie privée.
Ainsi, à la différence de la solution proposée par exemple dans le document « BitCoin : A Peer-to-Peer Electronic Cash System », on ne conserve pas un historique de hachage. On rappelle en effet que l'historique de la chaîne de bloc est conservé dans le BitCoin en utilisant le principe des arbres de Merkle, principe dans lequel seul le haché racine (le haché de plus haut niveau) est conservé, afin d'effectuer une vérification des enregistrements réalisés tout au long de la chaîne de blocs.
Le mécanisme proposé, à l'inverse, consiste bien en une suppression pure et simple des blocs antérieurs à l'établissement du dictionnaire, et non pas en une réduction de la taille de ceux-ci. Pour assurer qu'une telle suppression ne soit pas nuisible à la chaîne de blocs, celle-ci est réalisée postérieurement à la création du dictionnaire et à sa diffusion. Plus particulièrement, selon l'invention, la suppression de blocs antérieurs (à la création du dictionnaire) de la chaîne de blocs est mise en œuvre lorsqu'un nombre suffisant de nouveaux blocs de la chaîne de blocs est créé (par exemple uniquement lorsque plus de quatre nouveaux blocs ont été créés après la création du dictionnaire, le nombre de blocs étant paramétrable en fonction d'une part de la nature des données des enregistrement et du caractère privé ou public de la chaîne de blocs, du nombre de participants, etc.). Cette caractéristique relative à la suppression est importante car elle permet d'assurer que le dictionnaire créé est suffisamment enfoui dans la chaîne de blocs pour que sa modification soit en pratique quasiment impossible (comme celle des enregistrements passés). En effet, une autre caractéristique de l'invention est de faire en sorte que le dictionnaire (qui vient d'être créé), soit le point de référence de nouvelles vérifications des enregistrements suivants. En revanche, le dictionnaire n'acquiert la fonction de point de référence qu'après un temps donné, par exemple après un temps prédéterminé ou après qu'un certain nombre d'autres blocs aient été créés, comme explicité précédemment.
En d'autres termes, pour un instant donné t (déterminé préalablement), un dictionnaire est créé. L'instant t en question peut dépendre de plusieurs paramètres, tels que la taille de la chaîne de blocs et/ou le temps écoulé depuis la création d'un dictionnaire précédent. Ce dictionnaire, ou une information unique représentative de celui-ci (par exemple un haché du dictionnaire) est par exemple diffusé dans le réseau. Le dictionnaire peut être créé par un ou par plusieurs nœuds du réseau. Plus particulièrement, dans un mode de réalisation, un dictionnaire est créé par une pluralité de nœuds du réseau, lorsque les conditions de création sont réunies. Plus particulièrement encore, le processus de création de dictionnaire est soumis aux mêmes contraintes que la création d'un enregistrement de la base de données (chaîne de blocs) : cela signifie que, ίο lorsque le dictionnaire est diffusé dans le réseau, l'approbation du dictionnaire suit des règles identiques à celles de l'approbation des nouveaux enregistrements eux-mêmes.
La création de ce dictionnaire et sa diffusion aux nœuds du réseau n'influe pas sur la création de nouveaux enregistrements, qui restent soumis aux mêmes conditions d'acceptations que celles édictées dans le protocole de la chaîne de blocs : lorsque suffisamment de nœuds valident l'enregistrement (par exemple sur la base de l'historique des enregistrements antérieurement réalisées et sur la base de l'horodatage du nouvel enregistrement), celle-ci est considéré comme accepté et est entériné dans la base de données (dans la chaîne de blocs). Ainsi, le nouvel enregistrement créé après la création du dictionnaire en lui-même n'est pas basé sur le dictionnaire qui vient d'être créé, mais sur l'historique des enregistrements qui est établi soit depuis le début de la chaîne de blocs, soit depuis la création et l'acceptation du dictionnaire précédent (t-1).
Dès lors, selon la présente, le risque d'insertion d'un dictionnaire fantaisiste dans le réseau est minime. Pour faire accepter un tel dictionnaire par les nœuds, il faudrait que l'attaquant ait à sa disposition une puissance de calcul qui serait supérieure à celle des nœuds honnêtes : il faudrait en d'autres termes que les nœuds frauduleux soient en mesures d'accepter le dictionnaire frauduleux à une majorité.
D'une manière générale, en relation avec la figure 1, le procédé de l'invention comprend, au niveau d'un nœud d'un réseau de nœud de gestion d'une chaîne de blocs (base de données répartie) :
une étape de détermination (10) d'un instant t de création d'un dictionnaire A[t], courant comprenant pour chaque utilisateur de la chaîne de blocs (BC), à l'instant t un couple de type (clé, valeur), en fonction d'au moins un paramètre de détermination prédéterminé ;
une étape de création (20), pour ledit instant t de création, à partir de la chaîne de blocs (BC), du dictionnaire A[t] en fonction d'au moins un paramètre de création prédéterminé, au sein d'une structure de donnée ;
une étape d'obtention (30), à partir du dictionnaire A[t], d'une donnée cryptographique unique DCj, représentative du dictionnaire ;
une étape de suppression (40) de blocs de la chaîne de blocs (BC) en fonction d'au moins un paramètre de suppression prédéterminé et optionnellement dudit instant t.
Comme explicité précédemment, parmi les paramètres prédéterminés de création d'un dictionnaire, on réalise une distinction entre :
l'ensemble des enregistrements depuis la création de la chaîne de blocs, et/ou l'ensemble des enregistrements depuis la création d'un dictionnaire précédemment créé.
On présente, en relation avec la figure 2, les différentes phases de croissance et de décroissance de la chaîne de blocs relativement à la méthode précédemment présentée.
Dans une première phase (A), la chaîne de blocs (BC) est constituée d'une pluralité de blocs (non représentés). Optionnellement, cette chaîne de blocs (BC) peut déjà être basée sur un dictionnaire de référence (T-l). En second lieu (B), après que la chaîne de blocs (BC) ait reçue des nouveaux blocs, un dictionnaire est créé et sa donnée cryptographique unique est par exemple insérée dans un enregistrement (T0) (comme s'il s'agissait d'un enregistrement classique). De nouveaux blocs (NBC) sont ajoutés (C) à la chaîne de blocs en lien avec les blocs précédents tout en enfouissant l'enregistrement (T0). Lorsque suffisamment de nouveaux blocs sont ajoutés (NBC+xBs), les blocs antérieurs à l'enregistrement (T0) sont supprimés (D). Le dictionnaire lié à l'enregistrement (T0) devient alors le point de référence. Puis lorsque la nouvelle chaîne de blocs (NBCC) atteint une taille déterminée (et/ou lorsqu'un temps déterminé s'est écoulé et/ou lorsqu'un autre évènement survient), le processus est réitéré (E) et un nouvel enregistrement Tl est ajouté. Ainsi, la taille de la chaîne de blocs reste relativement constante et à tout le moins n'excède pas une taille prédéterminée. Par ailleurs, les calculs réalisés sur cette chaîne de blocs sont facilités. Ainsi, en fonctionnement « nominal », ll y a presque toujours dans la chaîne « active » (au moins) « deux » dictionnaires : l'un est à la base de la chaîne et sert de référence (pour vérifier les enregistrements) et l'autre est un bloc normal tant qu'il n'a pas été succédé par un nombre de blocs prédéterminé (par exemple six, à tout le moins supérieur ou égal à quatre). Lorsque cela arrive, le premier dictionnaire est obsolète, et le second dictionnaire devient le bloc de base (on supprime les blocs précédents).
Selon la présente, comme explicité précédemment, la diffusion de la donnée cryptographique unique, représentative du dictionnaire nouvellement créé est optionnelle. Cette diffusion peut être avantageusement réalisée en adjoignant cette donnée cryptographique à un enregistrement prenant place dans la chaîne de blocs, à titre de métadonnée de cet enregistrement. Pour ce faire, on s'assure que la donnée cryptographique unique est suffisamment courte pour qu'elle n'excède pas la longueur des métadonnées de l'enregistrement. Dans un autre mode de réalisation, la donnée cryptographique unique est par exemple insérée dans un enregistrement de la chaîne de blocs, au même titre que toute autre donnée : il ne s'agit donc pas de données cachées.
Le dictionnaire, en tant que tel, peut, lorsqu'il n'est pas directement inclus dans la chaîne de blocs, être diffusé auprès d'un hébergeur tiers. Cet hébergeur ne bénéficie pas nécessairement du statut de tiers de confiance : en effet, dans la mesure où la donnée cryptographique unique est dérivée du dictionnaire, il importe peu que celui-ci soit hébergé auprès d'un tiers de confiance, dans la mesure ou la vérification de l'intégrité du dictionnaire (c'est à dire le calcul de la donnée cryptographique du dictionnaire) implique la comparaison avec la donnée cryptographique unique de référence (celle calculée au moment de la création du dictionnaire). Ainsi, toute altération ultérieure du dictionnaire entraîne nécessairement une modification de la donnée cryptographique que l'on peut calculer sur ce dictionnaire et donc entraîne une invalidation de celui-ci. L'avantage de cette décentralisation du dictionnaire est de ne pas nécessiter un espace de stockage du dictionnaire dans la chaîne de blocs. On réduit donc ainsi la taille de la chaîne de blocs, particulièrement lorsque le nombre d'utilisateurs générant des enregistrements est important. De plus, astucieusement, le dictionnaire n'est diffusé auprès d'un hébergeur tiers que lorsqu'il prend la fonction de point de référence. Ainsi, c'est seulement lorsque le dictionnaire devient un point de référence pour l'adjonction de nouveaux enregistrements que le dictionnaire devient accessible chez l'hébergeur. On assure ainsi, comme pour la création de nouveaux enregistrements, que le dictionnaire est assez ancien (et donc que la donnée cryptographique unique est suffisamment enfoui dans la chaîne de blocs), avant qu'il soit hébergé en dehors de la chaîne de blocs.
5.2. Description d'un mode de réalisation
Le mode de réalisation présenté ici, décrit en relation avec la figure 2, s'applique plus particulièrement aux chaînes de blocs qui mettent en œuvre une crypto monnaie, par exemple de type BitCoin. L'objet du procédé de traitement mis en œuvre est ici de réaliser une compression de la chaîne de blocs (sous la forme d'un arrêté de compte), compression qui est réalisée lorsqu'un nombre de blocs de transactions financières suffisant est atteint. Cette compression peut être réalisée de manière autonome par un nœud, sans qu'il soit nécessaire d'avertir les autres nœuds. Avantageusement, cependant, cette compression est mise en œuvre par un nombre significatif de nœuds et est propagée à l'ensemble du réseau de nœuds.
On rappelle, pour cet exemple du BitCoin, qu'un bloc de la chaîne de blocs est une structure de données dans laquelle qui contient un ensemble de transactions et un entête de bloc. L'entête de bloc contient, de manière classique, un haché du bloc précédent (formant la chaîne), un haché racine et un nombre (nonce).
Dans ce mode de réalisation, le dictionnaire représente le solde des comptes de tous les utilisateurs à un instant donné. Concrètement, le dictionnaire est une structure de données dans laquelle est enregistrée tous les soldes de tous les utilisateurs à un instant donné, noté t. On note A[i,t] le solde d'un utilisateur i à un instant t. On note A[t], le solde de tous les utilisateurs à un instant t, A[t] étant ainsi un tableau, pouvant être enregistré dans toute structure de données adéquate.
Le dictionnaire A[t] peut être obtenu par tout nœud ou utilisateur du réseau à l'aide des informations publiques de la chaîne de blocs : à partir de l'historique des transactions (c'est-à-dire des données contenus dans les enregistrements) de la chaîne de blocs (et éventuellement d'un dictionnaire précédemment obtenu A[t-1]), on met en œuvre :
une étape de détermination d'un temps de référence t courant, [temps pour lequel un arrêté de compte est effectué] en fonction d'au moins un paramètre prédéterminé (le paramètre prédéterminé étant par exemple un nombre de blocs de la chaîne de blocs et/ou un temps écoulé depuis la détermination d'un temps de référence précédent (t-1);
une étape de calcul, pour chaque utilisateur, d'un solde de compte, le solde étant obtenu par l'application, sur un solde initial, à un temps de référence t-1 précédent, d'un ensemble (potentiellement vide) de transactions de crédit et/ou de débit effectuées par ledit utilisateur, délivrant un dictionnaire courant A[t] ;
une étape de calcul d'une donnée cryptographique unique à l'aide du dictionnaire courant A[tJ;
Cette donnée cryptographique unique est par exemple un haché du dictionnaire courant A[t]. Ce haché peut être calculé à l'aide d'une fonction de hachage prédéterminée (comme par exemple la fonction SHA-256). Avantageusement, ce haché (c'est à dire la suite d'octets) respecte au moins un critère prédéterminé de formation et/ou de temps auquel il est formé.
Par exemple, un premier Haché peut être obtenu à partir du dictionnaire A[tJ. Ce haché de niveau 1, nommé Hl=H(A[t]) est alors concaténé avec un nombre aléatoire (nonce) N, pour former une donnée intermédiaire DI=H(A[t]) + N. Un deuxième haché H2 est alors calculé sur la base de la donnée intermédiaire H2=H(DI) de sorte que ce deuxième haché respecte au moins un critère prédéterminé (par exemple un certain nombre d'octets ou de bits à 0). Le nombre aléatoire N est modifié par le nœud qui effectue ce calcul jusqu'à l'obtention de ce critère pour le haché H2.
Alternativement, le haché de niveau 1 (Hl) est simplement ajouté dans l'entête d'un bloc. Ce haché de niveau 1 du bloc participe alors, comme entrée, à la détermination du haché du bloc. Le haché du bloc est calculé de la manière suivante H(Bloc) = H(Hl,Hracine, H(A[t]), N). Les valeurs H-l, Hracine et H(A[t]) sont connues. Le nombre aléatoire (nonce) N est alors successivement modifié pour obtenir un haché de bloc H(Bloc) respectant au moins un critère prédéterminé (par exemple un certain nombre d'octets ou de bits à 0).
L'avantage de cette inclusion est de permettre une intégration naturelle dans la création des blocs de la chaîne de blocs, en respectant les critères usuellement mis en œuvre pour la détermination d'un haché de blocs.
Alternativement, la création du dictionnaire et son insertion dans un bloc peut être réalisée à tout moment, par exemple lors de la création d'une transaction T0 par un utilisateur. Au moment où la transaction T0 est réalisée par l'utilisateur, celui-ci calcule le dictionnaire A[tO], où tO correspond au temps auquel la transaction T0 est effectuée. Un haché de ce dictionnaire H(A[tO]) est attaché à la transaction, par exemple en insérant ce haché dans des métadonnées de la transaction. Le dictionnaire, en tant que tel (c'est à dire l'ensemble des comptes d'utilisateurs), peut être stocké au sein d'un ou plusieurs blocs ou être conservé par l'utilisateur.
II est à noter que le mécanisme décrit dans ce mode de réalisation, n'entraine pas de modification du mécanisme de chaîne de blocs existant et peut donc être appliqué directement sur une infrastructure existante (par exemple Bitcoin). II n'y a pas de différence pour les autres utilisateurs (c'est-à-dire qu'il s'agit simplement d'un compromis local réalisé entre auditabilité et mémoire).
Au-delà de l'avantage évident d'avoir des exigences de quantité de mémoire plus faibles (ce qui rend la présente technique adaptée pour les petits appareils), le fait de ne conserver que les soldes disponibles conduit à une vérification plus rapide de la validité de la transaction: ll est beaucoup plus facile de vérifier qu'un compte donné dispose des fonds pour une transaction. Cette exploitation plus rapide, en particulier pour les mineurs (i.e. les utilisateurs qui participent à la validation de la chaîne de blocs), crée une incitation économique qui encourage les utilisateurs à la diminution de la taille de la chaîne de blocs : cette diminution augmente en effet un peu les chances d'être récompensés (i.e. c'est à dire les chances de trouver un nonce N qui satisfait les exigences de la chaîne de blocs).
Toutefois, il n'est pas suffisant d'encourager les nœuds à comptabiliser des transactions telles que TO. En effet, un nœud peut tout simplement calculer ces informations pour son propre bénéfice (avec ou sans diffusion, utilisant un code MAC au lieu d'une fonction de hachage, de sorte que seul celui qui calcule le MAC à accès au dictionnaire).
Deux méthodes permettent de résoudre le problème de diffusion du dictionnaire : la première approche consiste à rémunérer la clé à TO et le dictionnaire A [t0]. De cette façon, les utilisateurs sont récompensés pour le partage de cette information.
la deuxième approche consiste à rémunérer la création de transactions telles que TO. Cette approche n'est pas nécessairement compatible avec les chaînes de bloc existantes, mais peut aisément être incorporée. Dans ce scénario, après qu'un nombre prescrit de N de blocs a été ajouté, tous les mineurs seraient en concurrence pour calculer TO (par exemple selon la méthode présentée précédemment), et le bloc résultant pourrait être récompensé plus que d'habitude ; Après avoir calculé ce bloc, le compteur à N est réinitialisé.
Comme cela a été exposé précédemment, on note que A [tO] peut être stocké dans un format compressé sur un seul serveur et partagé par plusieurs utilisateurs. Une fois qu'un nouveau bloc A [tl] a été créé et que suffisamment de blocs ont été ajoutés pour sécuriser Tl, il n'y a plus besoin de A [tO] et il peut être supprimé.
5.3. Autres caractéristiques et avantages
On décrit, en relation avec la figure 3, un dispositif électronique de minage mis en œuvre pour diminuer la taille de la chaîne de blocs, selon le procédé décrit préalablement.
Par exemple, le dispositif électronique de minage comprend une mémoire 31 comprenant par exemple une mémoire tampon, un processeur de traitement général 32, équipée par exemple d'un microprocesseur, et pilotée par un programme d'ordinateur 33, et/ou une mémoire sécurisée 34, un processeur de traitement sécurisé 35, pilotée par un programme d'ordinateur 36, ces unités de traitement mettant en œuvre des procédés de traitement et de suppression de blocs décrits précédemment, pour diminuer la taille de la chaîne de blocs et faire en sorte que celle-ci reste comprise dans des limites préalablement définies.
À l'initialisation, les instructions de code du programme d'ordinateur 36 sont par exemple chargées dans une mémoire avant d'être exécutées par le processeur de traitement sécurisé 35. Le processeur de traitement 35 reçoit en entrée au moins une donnée représentative d'un temps ou bien une donnée représentative d'une transaction à effectuer ou d'un enregistrement à créer. Le processeur de traitement sécurisé 35 met en œuvre les étapes du procédé de traitement, selon les instructions du programme d'ordinateur 36 pour déterminer la nécessiter d'effectuer un calcul d'un dictionnaire basé sur les enregistrements précédents et calculer une données cryptographique unique associée à ce dictionnaire.
Pour cela, le dispositif électronique de minage comprend, outre la mémoire 34, des moyens de communications, tels que des modules de communication réseau, des moyens de transmission de donnée et des circuits de transmission de données entre les divers composants du dispositif électronique de minage.
Les moyens précédemment décrits peuvent se présenter sous la forme d'un processeur particulier implémenté au sein d'un terminal, tel qu'un terminal d'utilisateur, ou encore d'un serveur. Selon un mode de réalisation particulier, le dispositif électronique de minage met en œuvre une application particulière qui est en charge de la réalisation des opérations précédemment décrites, cette application étant par exemple fournie par le fabricant du processeur en question afin de permettre l'utilisation du processeur. Pour ce faire, le processeur comprend des moyens d'identification uniques. Ces moyens d'identification uniques permettent d'assurer l'authenticité du processeur.
Les moyens mis en œuvre peuvent, selon les modes de réalisation, être des circuits ou processeurs électroniques spécifiquement construits et optimisées pour effectuer un traitement de l'information le plus rapidement et/ou efficacement possible. Par exemple, des circuits spécifiques de chiffrement de données peuvent être mis en œuvre au sien du dispositif afin de garantir une efficacité accrue du chiffrement. II en est de même pour le calcul du dictionnaire, qui peut être mis en œuvre sous la forme d'un processeur particulier, adapter au type d'enregistrement à traiter, afin de réduire le temps et l'énergie nécessaire au calcul de ce dictionnaire.
Claims (10)
- REVENDICATIONS1. Procédé de réduction de la taille d'une base de données répartie de type chaîne de blocs, procédé mis en œuvre par un dispositif électronique, appelé nœud, connecté à un ensemble de nœud formant un système de gestion de base de donnée répartie, procédé caractérisé en ce qu'il comprend :une étape de détermination (10) d'un instant t de création d'un dictionnaire A[t], courant comprenant pour chaque utilisateur de la chaîne de blocs, à l'instant t un couple de type (clé, valeur), en fonction d'au moins un paramètre de détermination prédéterminé ;une étape de création (20), pour ledit instant t de création, du dictionnaire A[t] en fonction d'au moins un paramètre de création prédéterminé, au sein d'une structure de donnée ;une étape d'obtention (30), à partir du dictionnaire A[t], d'une donnée cryptographique unique DCU; représentative du dictionnaire ;une étape de suppression (40) de blocs de la chaîne de blocs en fonction d'au moins un paramètre de suppression prédéterminé.
- 2. Procédé selon la revendication 1, caractérisé en ce qu'il comprend, postérieurement à l'étape d'obtention (30), une étape d'insertion de la donnée cryptographique unique DCj au sein d'un enregistrement d'un bloc de ladite chaîne de blocs.
- 3. Procédé selon la revendication 2, caractérisé en ce que ledit paramètre de suppression prédéterminé comprend un paramètre relatif au nombre de blocs créés depuis l'insertion de la donnée cryptographique unique DCj au sein d'un enregistrement d'un bloc de ladite chaîne de blocs.
- 4. Procédé selon la revendication 3, caractérisé en ce que le nombre de blocs créés depuis la création du dictionnaire courant est supérieur ou égal à quatre.
- 5. Procédé selon la revendication 1, caractérisé en ce que l'étape de suppression de blocs de la chaîne de blocs comprend la suppression de l'ensemble des blocs de la chaîne de blocs antérieurs audit dictionnaire courant.
- 6. Procédé selon la revendication 1, caractérisé en ce que ladite étape d'obtention (30), à partir du dictionnaire A[t], de la donnée cryptographique unique DCU; comprend une étape d'application, sur la structure de données dudit dictionnaire, d'une fonction de hachage, délivrant un haché dudit dictionnaire.
- 7. Procédé selon l'une quelconque des revendications 1 à 6, caractérisé en ce qu'il comprend en outre au moins une étape de transmission de la donnée cryptographique unique DCj, à au moins un nœud dudit ensemble de nœuds.
- 8. Procédé selon la revendication 7, caractérisé en ce que ladite étape de transmission comprend :une étape de création d'un enregistrement de la chaîne de blocs ;une étape d'adjonction, à titre de métadonnées dudit enregistrement, de la donnée cryptographique unique DCj une étape d'insertion, au sein d'un bloc courant de la chaîne de blocs, dudit enregistrement.
- 9. Dispositif de réduction de la taille d'une base de données répartie de type chaîne de blocs, dispositif au sein d'un dispositif électronique, appelé nœud, connecté à un ensemble de nœud formant un système de gestion de base de donnée répartie, dispositif caractérisé en ce qu'il comprend :des moyens de détermination (10) d'un instant t de création d'un dictionnaire A[t], courant comprenant pour chaque utilisateur de la chaîne de blocs, à l'instant t un couple de type (clé, valeur), en fonction d'au moins un paramètre de détermination prédéterminé ;des moyens de création (20), pour ledit instant t de création, du dictionnaire A[t] en fonction d'au moins un paramètre de création prédéterminé, au sein d'une structure de donnée ;des moyens d'obtention (30), à partir du dictionnaire A[t], d'une donnée 5 cryptographique unique DCU; représentative du dictionnaire ;des moyens de suppression (40) de blocs de la chaîne de blocs en fonction d'au moins un paramètre de suppression prédéterminé.
- 10. Produit programme d'ordinateur téléchargeable depuis un réseau de 10 communication et/ou stocké sur un support lisible par ordinateur et/ou exécutable par un microprocesseur, caractérisé en ce qu'il comprend des instructions de code de programme pour l'exécution d'un procédé de réduction selon la revendication 1 à 8, lorsqu'il est exécuté par un processeur.1/2
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
FR1750898A FR3062499B1 (fr) | 2017-02-02 | 2017-02-02 | Procede de reduction de la taille d'une base de donnees repartie de type chaine de blocs, dispositif et programme correspondant |
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
FR1750898A FR3062499B1 (fr) | 2017-02-02 | 2017-02-02 | Procede de reduction de la taille d'une base de donnees repartie de type chaine de blocs, dispositif et programme correspondant |
FR1750898 | 2017-02-02 |
Publications (2)
Publication Number | Publication Date |
---|---|
FR3062499A1 true FR3062499A1 (fr) | 2018-08-03 |
FR3062499B1 FR3062499B1 (fr) | 2020-06-26 |
Family
ID=59253599
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
FR1750898A Active FR3062499B1 (fr) | 2017-02-02 | 2017-02-02 | Procede de reduction de la taille d'une base de donnees repartie de type chaine de blocs, dispositif et programme correspondant |
Country Status (1)
Country | Link |
---|---|
FR (1) | FR3062499B1 (fr) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110825806A (zh) * | 2018-08-09 | 2020-02-21 | 诺基亚技术有限公司 | 分布式数据存储 |
EP3671598A1 (fr) | 2018-12-21 | 2020-06-24 | Thales | Registres distribues pour le partage de donnees en aeronautique |
EP3712798A1 (fr) | 2019-03-21 | 2020-09-23 | Thales | Registres distribues pour la gestion du cycle de vie de donnees en aeronautique |
Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2016202952A1 (fr) * | 2015-06-16 | 2016-12-22 | The Provost, Fellows, Foundation Scholars, & The Other Members Of Board, Of The College Of The Holy & Undiv. Trinity Of Queen Elizabeth, Near Dublin | Système d'échange de jetons numériques |
-
2017
- 2017-02-02 FR FR1750898A patent/FR3062499B1/fr active Active
Patent Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2016202952A1 (fr) * | 2015-06-16 | 2016-12-22 | The Provost, Fellows, Foundation Scholars, & The Other Members Of Board, Of The College Of The Holy & Undiv. Trinity Of Queen Elizabeth, Near Dublin | Système d'échange de jetons numériques |
Non-Patent Citations (1)
Title |
---|
J D BRUCE: "Purely P2P Crypto-Currency With Finite Mini-Blockchain", 1 May 2013 (2013-05-01), pages 1 - 15, XP055392374, Retrieved from the Internet <URL:https://pdfs.semanticscholar.org/3f64/123ce97a0079f8bea66d3f760dbb3e6b40d5.pdf> [retrieved on 20170719] * |
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110825806A (zh) * | 2018-08-09 | 2020-02-21 | 诺基亚技术有限公司 | 分布式数据存储 |
EP3671598A1 (fr) | 2018-12-21 | 2020-06-24 | Thales | Registres distribues pour le partage de donnees en aeronautique |
FR3090964A1 (fr) | 2018-12-21 | 2020-06-26 | Thales | Registres distribues pour le partage de donnees en aeronautique |
EP3712798A1 (fr) | 2019-03-21 | 2020-09-23 | Thales | Registres distribues pour la gestion du cycle de vie de donnees en aeronautique |
FR3094110A1 (fr) | 2019-03-21 | 2020-09-25 | Thales | Registres distribues pour la gestion du cycle de vie de donnees en aeronautique |
Also Published As
Publication number | Publication date |
---|---|
FR3062499B1 (fr) | 2020-06-26 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
EP3251046B1 (fr) | Systèmes et procédés pour la gestion d'engagements en réseau d'entités sécurisées | |
EP1807967B1 (fr) | Procede de delegation securisee de calcul d'une application bilineaire | |
CA2888103C (fr) | Procede de signature electronique a signature ephemere | |
EP1055203B1 (fr) | Protocole de controle d'acces entre une cle et une serrure electronique | |
FR3010215A1 (fr) | Procede de traitement de donnees transactionnelles, dispositifs et programmes d'ordinateur correspondants. | |
FR3062499A1 (fr) | Procede de reduction de la taille d'une base de donnees repartie de type chaine de blocs, dispositif et programme correspondant | |
WO2019092327A1 (fr) | Procédé d'obtention d'une identité numérique de niveau de sécurité élevé | |
WO2017162930A2 (fr) | Dispositif d'authentification biométrique adaptatif par échographie, photographies en lumière visible de contraste et infrarouge, sans divulgation, à travers un réseau informatique décentralisé | |
WO2022208016A1 (fr) | Procédé et système informatique de stockage decentralisé et de partage de fichiers numériques certifiés | |
WO2022269179A1 (fr) | Procede et dispositif de paiement par chaines de blocs | |
FR3093225A1 (fr) | Procédé de gestion d’accès d’un utilisateur à un service vocal, dispositif, système et programmes correspondants | |
WO2024188822A1 (fr) | Procédé et dispositif de paiement confidentiel sur chaîne de blocs | |
EP3284209B1 (fr) | Procédés de génération et de vérification d'une clé de sécurité d'une unité monétaire virtuelle | |
EP3371760A1 (fr) | Procédé de verification d'identité lors d'une virtualisation | |
EP3896634A1 (fr) | Procede de traitement d'une transaction effectuee par une entite debitrice aupres d'une entite creditrice cible | |
WO2023031561A1 (fr) | Procede de fourniture de service mis en œuvre par ordinateur dans une chaine de blocs, nœud d'un reseau de chaine de blocs et programme d'ordinateur correspondants | |
WO2021165625A1 (fr) | Procede de calcul d'une cle de session, procede de recuperation d'une telle cle de session | |
WO2023203291A1 (fr) | Procedes, terminal et serveur de gestion de donnees personnelles | |
WO2023099496A1 (fr) | Procédé de traitement de preuve numérique, système et programme correspondant | |
WO2021165612A1 (fr) | Procede et dispositif de controle d'acces a une fonction d'une application inscrite dans une chaine de blocs | |
EP4075358A1 (fr) | Gestion de la mémoire dans un dispositif de traitement de transactions | |
WO2023203301A1 (fr) | Procédé et système de gestion des droits d'accès dans une transaction équitable de données numériques | |
FR3140184A1 (fr) | Procédé et dispositif d’attribution d’un NFT | |
FR2957168A1 (fr) | Procedes, systemes et dispositifs de verification biometrique. | |
FR3093259A1 (fr) | Sidechain sécurisé et décentralisé réalisant des consensus pour des blockchains publique ou privée |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PLFP | Fee payment |
Year of fee payment: 2 |
|
PLSC | Publication of the preliminary search report |
Effective date: 20180803 |
|
PLFP | Fee payment |
Year of fee payment: 4 |
|
PLFP | Fee payment |
Year of fee payment: 5 |
|
TP | Transmission of property |
Owner name: BANKS AND ACQUIRERS INTERNATIONAL HOLDING, FR Effective date: 20211202 |
|
PLFP | Fee payment |
Year of fee payment: 6 |
|
PLFP | Fee payment |
Year of fee payment: 7 |
|
PLFP | Fee payment |
Year of fee payment: 8 |