FR3120460A1 - Method for enabling users to deploy smart contracts in a blockchain using a deployment platform - Google Patents

Method for enabling users to deploy smart contracts in a blockchain using a deployment platform Download PDF

Info

Publication number
FR3120460A1
FR3120460A1 FR2102104A FR2102104A FR3120460A1 FR 3120460 A1 FR3120460 A1 FR 3120460A1 FR 2102104 A FR2102104 A FR 2102104A FR 2102104 A FR2102104 A FR 2102104A FR 3120460 A1 FR3120460 A1 FR 3120460A1
Authority
FR
France
Prior art keywords
platform
safe
blockchain
digital
administrator
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
Application number
FR2102104A
Other languages
French (fr)
Other versions
FR3120460B1 (en
Inventor
José LUU
Cyril VIGNET
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
BPCE SA
Original Assignee
BPCE SA
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by BPCE SA filed Critical BPCE SA
Priority to FR2102104A priority Critical patent/FR3120460B1/en
Priority to PCT/EP2022/055179 priority patent/WO2022184726A1/en
Publication of FR3120460A1 publication Critical patent/FR3120460A1/en
Application granted granted Critical
Publication of FR3120460B1 publication Critical patent/FR3120460B1/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION 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/00Payment architectures, schemes or protocols
    • G06Q20/02Payment architectures, schemes or protocols involving a neutral party, e.g. certification authority, notary or trusted third party [TTP]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION 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/00Payment architectures, schemes or protocols
    • G06Q20/04Payment circuits
    • G06Q20/06Private payment circuits, e.g. involving electronic currency used among participants of a common payment scheme
    • G06Q20/065Private payment circuits, e.g. involving electronic currency used among participants of a common payment scheme using e-cash
    • G06Q20/0655Private payment circuits, e.g. involving electronic currency used among participants of a common payment scheme using e-cash e-cash managed centrally
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION 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/00Payment architectures, schemes or protocols
    • G06Q20/30Payment architectures, schemes or protocols characterised by the use of specific devices or networks
    • G06Q20/36Payment architectures, schemes or protocols characterised by the use of specific devices or networks using electronic wallets or electronic money safes
    • G06Q20/363Payment architectures, schemes or protocols characterised by the use of specific devices or networks using electronic wallets or electronic money safes with the personal data of a user
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION 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/00Payment architectures, schemes or protocols
    • G06Q20/38Payment protocols; Details thereof
    • G06Q20/382Payment protocols; Details thereof insuring higher security of transaction
    • G06Q20/3821Electronic credentials
    • G06Q20/38215Use of certificates or encrypted proofs of transaction rights
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION 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/00Payment architectures, schemes or protocols
    • G06Q20/38Payment protocols; Details thereof
    • G06Q20/389Keeping log of transactions for guaranteeing non-repudiation of a transaction
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION 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/00Payment architectures, schemes or protocols
    • G06Q20/38Payment protocols; Details thereof
    • G06Q20/40Authorisation, e.g. identification of payer or payee, verification of customer or shop credentials; Review and approval of payers, e.g. check credit lines or negative lists
    • G06Q20/401Transaction verification
    • G06Q20/4014Identity check for transactions
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION 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/00Payment architectures, schemes or protocols
    • G06Q20/38Payment protocols; Details thereof
    • G06Q20/40Authorisation, e.g. identification of payer or payee, verification of customer or shop credentials; Review and approval of payers, e.g. check credit lines or negative lists
    • G06Q20/405Establishing or using transaction specific rules
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/32Cryptographic 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/3236Cryptographic 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/3239Cryptographic 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
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/50Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols using hash chains, e.g. blockchains or hash trees
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION 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/00Business processing using cryptography

Landscapes

  • Business, Economics & Management (AREA)
  • Engineering & Computer Science (AREA)
  • Accounting & Taxation (AREA)
  • Computer Security & Cryptography (AREA)
  • Strategic Management (AREA)
  • Theoretical Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • General Business, Economics & Management (AREA)
  • Physics & Mathematics (AREA)
  • Finance (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • General Engineering & Computer Science (AREA)
  • Computing Systems (AREA)
  • Computer Hardware Design (AREA)
  • Development Economics (AREA)
  • Economics (AREA)
  • Lock And Its Accessories (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Financial Or Insurance-Related Operations Such As Payment And Settlement (AREA)

Abstract

Procédé pour permettre à des utilisateurs de déployer des contrats intelligents dans une chaîne de blocs au moyen d’une plateforme de déploiement L’invention concerne un procédé pour permettre à des utilisateurs de déployer des contrats intelligents (1, 1’) dans une chaîne de blocs au moyen d’une plateforme de déploiement (2a, 2b), ledit procédé prévoyant de : créer un premier coffre-fort numérique (3a, 3b) pour ladite plateforme sur la chaîne de blocs ; enregistrer dans ledit premier coffre-fort numérique au moins un identifiant (4a, 4’a, 4’’a, 4b, 4’b, 4’’b) de ladite plateforme sur la chaîne de blocs ; ledit procédé prévoyant en outre, lorsqu’un utilisateur sollicite ladite plateforme pour déployer un contrat intelligent (1, 1’) dans la chaîne de blocs, de : enregistrer une adresse numérique (8, 8’) du contrat intelligent (1, 1) dans un deuxième coffre-fort numérique (9) de la chaîne de blocs, en l’associant à une adresse numérique (7a, 7b) du premier coffre-fort (3a, 3b) sur ladite chaîne de blocs ; envoyer à l’utilisateur au moins une notification comprenant l’adresse numérique (8, 8’) dudit contrat intelligent et/ou une adresse numérique (7a, 7b) du premier coffre-fort (3a, 3b), afin de permettre audit utilisateur de vérifier le déploiement dudit contrat intelligent et l’identité de la plateforme (2a, 2b) l’ayant déployé. Figure 2Method for enabling users to deploy smart contracts in a blockchain by means of a deployment platform The invention relates to a method for enabling users to deploy smart contracts (1, 1') in a blockchain. blocks by means of a deployment platform (2a, 2b), said method comprising: creating a first digital vault (3a, 3b) for said platform on the blockchain; storing in said first digital vault at least one identifier (4a, 4'a, 4''a, 4b, 4'b, 4''b) of said platform on the blockchain; said method further comprising, when a user requests said platform to deploy a smart contract (1, 1') in the blockchain, of: registering a digital address (8, 8') of the smart contract (1, 1) in a second digital vault (9) of the blockchain, by associating it with a digital address (7a, 7b) of the first vault (3a, 3b) on said blockchain; send the user at least one notification comprising the digital address (8, 8') of said smart contract and/or a digital address (7a, 7b) of the first safe (3a, 3b), in order to allow said user to verify the deployment of said smart contract and the identity of the platform (2a, 2b) having deployed it. Figure 2

Description

Procédé pour permettreà des utilisateursdedéployerdes contrats intelligents dans une chaîne de blocsau moyen d’une plateforme de déploiementMethod for enabling users to deploy smart contracts in a blockchain using a deployment platform

L’invention concerne un procédé pour permettre à des utilisateurs de déployer des contrats intelligents dans une chaîne de blocs au moyen d’une plateforme de déploiement, ainsi qu’une plateforme comprenant des moyens pour permettre la mise en œuvre d’un tel procédé.The invention relates to a method for enabling users to deploy smart contracts in a blockchain by means of a deployment platform, as well as a platform comprising means for enabling the implementation of such a method.

Les chaines de blocs (pour l’anglais « blockchain ») sont des technologies qui permettent à leurs utilisateurs de stocker, transmettre et modifier des données de manière sécurisée et sans organe central de contrôle, grâce à une base de données distribuée dont les informations envoyées par les utilisateurs et les liens internes sont vérifiés et groupés à intervalles de temps réguliers en blocs, formant ainsi une chaîne (voir notamment l’article « Blockchain » sur le site de l’encyclopédie collaborative Wikipedia et l’article du journal en ligne « Le Journal du Net » disponible à l’adresse https://www.journaldunet.com/economie/finance/1195520-blockchain-avril-2019/).Blockchains are technologies that allow their users to store, transmit and modify data securely and without a central control body, thanks to a distributed database whose information sent by the users and the internal links are checked and grouped at regular time intervals in blocks, thus forming a chain (see in particular the article “Blockchain” on the site of the collaborative encyclopedia Wikipedia and the article of the online newspaper “ Le Journal du Net” available at https://www.journaldunet.com/economie/finance/1195520-blockchain-avril-2019/).

Cette technologie en pleine expansion est notamment utilisée pour permettre aux utilisateurs de réaliser des transactions, validées par un mécanisme de consensus entre des nœuds de la chaîne (appelés « mineurs »), et trouve plus particulièrement son application dans la création et la gestion de monnaies virtuelles, ou crypto-monnaies, telles que par exemple le Bitcoin, Ether, Monero ou encore Peercoin (ou PPcoin).This rapidly expanding technology is used in particular to allow users to carry out transactions, validated by a consensus mechanism between nodes in the chain (called "miners"), and more particularly finds its application in the creation and management of currencies. virtual, or crypto-currencies, such as for example Bitcoin, Ether, Monero or Peercoin (or PPcoin).

Cette technologie permet notamment à ses utilisateurs d’exécuter des programmes informatiques de type « contrat intelligent » (pour l’anglais « smart contract »). L’établissement de ces programmes sur la chaine de blocs se fait au moyen de l’exécution d’une transaction spéciale de mise en place, appelée aussi transaction de déploiement, et l’exécution de ces programmes fait partie du consensus de ladite chaine de blocs, de sorte qu’elle doit être identique sur tous les nœuds de validation, comme pour les transactions.In particular, this technology allows its users to execute “smart contract” type computer programs. The establishment of these programs on the blockchain is done by means of the execution of a special setup transaction, also called a deployment transaction, and the execution of these programs is part of the consensus of the said blockchain. blocks, so it must be the same on all committing nodes, just like for transactions.

Un contrat intelligent est une forme de service pour tout utilisateur de la chaine de blocs, qui peut en tirer parti pour son activité, ledit contrat étant mis à disposition par son créateur. Les contrats intelligents peuvent réaliser diverses fonctions, parmi lesquelles un horodatage de documents, une tenue de comptes ou de registres de possession, une organisation d’élections, ou encore un enregistrement et une vérification de participation à un évènement.A smart contract is a form of service for any user of the blockchain, who can take advantage of it for their activity, said contract being made available by its creator. Smart contracts can perform a variety of functions, including timestamping documents, maintaining accounts or ownership records, organizing elections, or recording and verifying attendance at an event.

Pour pouvoir être utilisés, ces contrats intelligents doivent d’abord être enregistrés (ou « déployés ») sur la chaîne de blocs par leur créateur. Pour ce faire, le créateur peut effectuer lui-même cet enregistrement, ou solliciter l’aide d’un autre utilisateur de la chaine de blocs, ou « tiers déployeur », qui va effectuer cet enregistrement pour ledit créateur.In order to be used, these smart contracts must first be registered (or “deployed”) on the blockchain by their creator. To do this, the creator can carry out this registration himself, or seek the help of another user of the blockchain, or "third-party deployer", who will carry out this registration for the said creator.

L’enregistrement d’un contrat intelligent se fait au moyen d’une transaction signée, dont le mécanisme de signature utilise une paire de clés liées entre elles par des fonctions mathématiques, parmi lesquelles une clé privée, que le créateur doit tenir secrète, et une clé publique, de laquelle est dérivée une adresse qui représente l’identifiant du créateur. Cette dérivation peut être effectuée par une fonction triviale, simple ou cryptographiquement complexe, mais reproductible par tous les utilisateurs.The registration of a smart contract is done by means of a signed transaction, whose signature mechanism uses a pair of keys linked together by mathematical functions, including a private key, which the creator must keep secret, and a public key, from which is derived an address that represents the identifier of the creator. This derivation can be performed by a trivial, simple or cryptographically complex function, but reproducible by all users.

Ce type d’adresse est appelé adresse EOA (pour l’anglais « Externally Owned Address »), et désigne donc une adresse liée à une clé privée appartenant à un acteur externe. Ce mécanisme cryptographique garantit qu’une transaction ne peut être émise que par le propriétaire de la clé privée, ce fait étant vérifiable par tous ceux qui ont connaissance de l’adresse du signataire.This type of address is called an EOA address (for “Externally Owned Address”), and therefore designates an address linked to a private key belonging to an external actor. This cryptographic mechanism guarantees that a transaction can only be issued by the owner of the private key, this fact being verifiable by anyone who has knowledge of the signer's address.

En parallèle, les contrats intelligents développés sur une chaine de blocs sont identifiés au moyen de leur adresse numérique, qui ne possède pas de clé privée correspondante.In parallel, smart contracts developed on a blockchain are identified by means of their digital address, which does not have a corresponding private key.

Dans le cas où l’enregistrement d’un contrat intelligent est effectué par une autre personne ou entité que son utilisateur, c’est-à-dire lorsque ledit utilisateur et le créateur dudit contrat sont deux entités différentes, plusieurs problèmes se posent.In the case where the registration of a smart contract is carried out by another person or entity than its user, that is to say when said user and the creator of said contract are two different entities, several problems arise.

En effet, lorsqu’il souhaite accéder à un contrat intelligent, un utilisateur utilise l’identifiant dérivé de la clé publique du créateur l’ayant enregistré sur la chaîne de blocs, notamment pour s’assurer que ledit enregistrement a bien été effectué par le bon créateur. Or, si le créateur change ses identifiants de connexion à la chaîne de blocs, c’est-à-dire ses clés, cela entraîne des contraintes de mise à jour pour l’utilisateur, qui peut avoir des difficultés pour authentifier l’identité dudit créateur.Indeed, when he wishes to access a smart contract, a user uses the identifier derived from the public key of the creator who registered it on the blockchain, in particular to ensure that said registration was indeed carried out by the good creator. However, if the creator changes his login credentials to the blockchain, i.e. his keys, this leads to update constraints for the user, who may have difficulty authenticating the identity of said Creator.

En particulier, pour limiter les risques de perte de clés privées permettant l’accès à la chaine de blocs, plusieurs techniques peuvent être utilisées. Ainsi, il existe une technique dite de « cérémonie des clés », dans laquelle une priorité est donnée à l’unicité de la paire de clés. Cette procédure est lourde, car la clé doit être générée sur un matériel spécial appelé HSM (pour l’anglais Hardware Security Module, ou module matériel de sécurité), reconnu pour ses propriétés de résistance aux attaques. En outre, les informations constituant la sauvegarde de la clé privée doivent être réparties entre des personnes physiques de confiance.In particular, to limit the risks of loss of private keys allowing access to the blockchain, several techniques can be used. Thus, there is a technique called "key ceremony", in which priority is given to the uniqueness of the key pair. This procedure is cumbersome, because the key must be generated on a special hardware called HSM (for English Hardware Security Module, or hardware security module), recognized for its properties of resistance to attacks. In addition, the information constituting the backup of the private key must be distributed among trusted natural persons.

Une autre technique consiste à employer plusieurs paires de clés, et donc d’identifiants, ce qui peut poser un problème d’identification du créateur de ces contrats pour les utilisateurs desdits contrats. En effet, les identifiants étant potentiellement nombreux et variables, ils ne peuvent plus être prépositionnés dans les logiciels devant valider l’origine des contrats.Another technique consists in using several pairs of keys, and therefore of identifiers, which can pose a problem of identification of the creator of these contracts for the users of said contracts. Indeed, the identifiers being potentially numerous and variable, they can no longer be prepositioned in the software that must validate the origin of the contracts.

Une troisième technique repose sur l’utilisation d’un coffre-fort numérique sur la chaîne de blocs, c’est-à-dire un contrat intelligent dont la fonction est de se substituer à un utilisateur muni de sa clé privée et de son identifiant. Le coffre-fort numérique est téléopéré par son propriétaire, et devient à sa place le récepteur ou l’émetteur des transactions effectuées par ledit propriétaire sur la chaîne de blocs.A third technique is based on the use of a digital safe on the blockchain, i.e. a smart contract whose function is to replace a user provided with his private key and his identifier. . The digital safe is remotely operated by its owner, and in its place becomes the receiver or the transmitter of the transactions carried out by said owner on the blockchain.

Un coffre-fort numérique permet la gestion des identifiants qu’il reconnaît comme source d’ordres de téléopération, notamment un ajout, un retrait ou un changement desdits identifiants, mais aussi la gestion d’autres listes d’adresses, qui peuvent être utilisées pour des buts spécifiques au type de coffre-fort déployé.A digital safe allows the management of identifiers that it recognizes as a source of remote operation orders, in particular an addition, withdrawal or change of said identifiers, but also the management of other lists of addresses, which can be used for purposes specific to the type of vault deployed.

L’invention vise à perfectionner l’art antérieur en proposant notamment un procédé et une plateforme qui permettent à un utilisateur d’enregistrer des contrats intelligents sur une chaîne de blocs au moyen d’une plateforme tierce, et ce indépendamment des identifiants de ladite plateforme, afin de simplifier la procédure d’enregistrement pour ledit utilisateur, mais également la vérification par ledit utilisateur de l’identité de ladite plateforme.The invention aims to improve the prior art by proposing in particular a method and a platform which allow a user to register smart contracts on a chain of blocks by means of a third-party platform, and this independently of the identifiers of said platform. , in order to simplify the registration procedure for said user, but also the verification by said user of the identity of said platform.

A cet effet, selon un premier aspect, l’invention propose un procédé pour permettre à des utilisateurs de déployer des contrats intelligents dans une chaîne de blocs au moyen d’une plateforme de déploiement, ledit procédé prévoyant de :To this end, according to a first aspect, the invention proposes a method for allowing users to deploy smart contracts in a blockchain by means of a deployment platform, said method providing for:

  • créer un premier coffre-fort numérique pour ladite plateforme sur la chaîne de blocs ;creating a first digital vault for said platform on the blockchain;
  • enregistrer dans ledit premier coffre-fort numérique au moins un identifiant de ladite plateforme sur la chaîne de blocs ;save in said first digital safe at least one identifier of said platform on the blockchain;

ledit procédé prévoyant en outre, lorsqu’un utilisateur sollicite ladite plateforme pour déployer un contrat intelligent dans la chaîne de blocs, de :said process also providing, when a user requests said platform to deploy a smart contract in the blockchain, to:

  • enregistrer une adresse numérique du contrat intelligent dans un deuxième coffre-fort numérique de la chaîne de blocs, en l’associant à une adresse numérique du premier coffre-fort sur ladite chaîne de blocs ;register a digital address of the smart contract in a second digital vault of the blockchain, associating it with a digital address of the first vault on said blockchain;
  • envoyer à l’utilisateur au moins une notification comprenant l’adresse numérique dudit contrat intelligent et/ou une adresse numérique du premier coffre-fort, afin de permettre audit utilisateur de vérifier le déploiement dudit contrat intelligent et l’identité de la plateforme l’ayant déployé.send the user at least one notification comprising the digital address of said smart contract and/or a digital address of the first safe, in order to allow said user to verify the deployment of said smart contract and the identity of the platform having deployed.

Selon un deuxième aspect, l’invention propose une plateforme pour permettre à des utilisateurs de déployer des contrats intelligents dans une chaîne de blocs, ladite plateforme comprenant :According to a second aspect, the invention proposes a platform to allow users to deploy smart contracts in a blockchain, said platform comprising:

  • des moyens pour créer un premier coffre-fort numérique pour ladite plateforme sur la chaîne de blocs ;means for creating a first digital vault for said platform on the blockchain;
  • des moyens pour enregistrer dans ledit premier coffre-fort numérique au moins un identifiant de ladite plateforme sur la chaîne de blocs ;means for recording in said first digital safe at least one identifier of said platform on the blockchain;

ladite plateforme comprenant en outre :said platform further comprising:

  • des moyens pour, lorsqu’un utilisateur sollicite ladite plateforme pour déployer un contrat intelligent dans la chaîne de blocs, enregistrer une adresse numérique du contrat intelligent dans un deuxième coffre-fort numérique de la chaîne de blocs, en l’associant à une adresse numérique du premier coffre-fort sur ladite chaîne de blocs ;means for, when a user requests said platform to deploy a smart contract in the blockchain, register a digital address of the smart contract in a second digital safe of the blockchain, by associating it with a digital address the first vault on said blockchain;
  • des moyens pour envoyer à l’utilisateur au moins une notification comprenant l’adresse numérique dudit contrat intelligent et/ou une adresse numérique du premier coffre-fort, afin de permettre audit utilisateur de vérifier le déploiement dudit contrat intelligent et l’identité de la plateforme l’ayant déployé.means for sending the user at least one notification comprising the digital address of said smart contract and/or a digital address of the first safe, in order to allow said user to verify the deployment of said smart contract and the identity of the platform that deployed it.

D’autres particularités et avantages de l’invention apparaîtront dans la description qui suit, faite en référence aux figures annexées, dans lesquelles :Other particularities and advantages of the invention will appear in the following description, made with reference to the appended figures, in which:

représente schématiquement une plateforme selon un mode de réalisation de l’invention, avec les premier et deuxième coffres-forts ; schematically represents a platform according to one embodiment of the invention, with the first and second safes;

représente schématiquement l’enregistrement des différent(e)s identifiants et/ou adresses numériques de plateformes de déploiement dans les premier et deuxième coffres-forts tels que représentés sur la ; schematically represents the recording of the various identifiers and/or digital addresses of deployment platforms in the first and second safes as represented in the ;

représente schématiquement une étape de mise à jour d’un identifiant d’un administrateur d’une plateforme selon les figures précédentes, pour permettre audit administrateur d’accéder aux différents coffres-forts ; schematically represents a step for updating an identifier of an administrator of a platform according to the preceding figures, to allow said administrator to access the various safes;

et And

représentent schématiquement différentes étapes de développement de la plateforme des figures précédentes. schematically represent different stages of development of the platform of the previous figures.

En relation avec ces figures, on décrit ci-dessous un procédé pour permettre à des utilisateurs de déployer des contrats intelligents 1, 1’ dans une chaîne de blocs au moyen d’une plateforme de déploiement 2, ainsi qu’une plateforme 2 comprenant des moyens pour permettre la mise en œuvre d’un tel procédé.In relation to these figures, a method is described below for allowing users to deploy smart contracts 1, 1' in a blockchain by means of a deployment platform 2, as well as a platform 2 comprising means to allow the implementation of such a method.

La plateforme 2 est une entité logicielle et/ou informatique, par exemple un serveur, qui comprend des moyens pour permettre la création et l’enregistrement de contrats intelligents 1, 1’ sur sollicitation d’un utilisateur de la chaîne de blocs, et agit de ce fait comme un tiers déployeur pour ledit utilisateur.The platform 2 is a software and/or computer entity, for example a server, which comprises means for allowing the creation and recording of smart contracts 1, 1' at the request of a user of the blockchain, and acts thereby as a third-party deployer for said user.

En relation avec la , la plateforme 2 crée un contrat intelligent 1en utilisant un identifiant dont la clé secrète 6 correspondante ne quitte jamais ladite plateforme, ledit contrat étant créé avec une adresse numérique 8 permettant l’accès audit contrat sur la chaîne de blocs.In relation to the , the platform 2 creates a smart contract 1 using an identifier whose corresponding secret key 6 never leaves said platform, said contract being created with a digital address 8 allowing access to said contract on the blockchain.

Le procédé prévoit de :The process provides for:

  • créer un premier coffre-fort numérique 3 pour la plateforme 2 sur la chaîne de blocs ;create a first digital vault 3 for the platform 2 on the blockchain;
  • enregistrer dans ledit premier coffre-fort numérique au moins un identifiant 4 de ladite plateforme sur la chaîne de blocs.save in said first digital safe at least one identifier 4 of said platform on the blockchain.

Pour ce faire, la plateforme 2 comprend des moyens pour créer le premier coffre-fort numérique 3, ainsi que des moyens pour y enregistrer un(des) identifiant(s) 4 de ladite plateforme sur la chaîne de blocs.To do this, the platform 2 comprises means for creating the first digital safe 3, as well as means for recording therein one or more identifier(s) 4 of said platform on the blockchain.

En particulier, la plateforme 2 peut être identifiée sur la chaîne de blocs par un compte dont l’identifiant est une adresse numérique de type EOA (pour l’anglais « External Owner Account »), auquel elle accède au moyen d’une paire de clés liées entre elles par des fonctions mathématiques, parmi lesquelles une clé privée 5, qui doit rester secrète, et donc ne jamais quitter ladite plateforme, ainsi qu’une clé publique, de laquelle son adresse numérique est dérivable. Dans ce cas, l’identifiant 4 enregistré dans le premier coffre-fort 3 est l’adresse numérique EOA dérivée de la clé publique d’un tel compte.In particular, the platform 2 can be identified on the blockchain by an account whose identifier is a numerical address of the EOA (External Owner Account) type, which it accesses by means of a pair of keys linked together by mathematical functions, including a private key 5, which must remain secret, and therefore never leave said platform, as well as a public key, from which its digital address is derivable. In this case, the identifier 4 recorded in the first safe 3 is the EOA digital address derived from the public key of such an account.

Une telle paire de clés 5 peut notamment être générée sur un module HSM tel que décrit précédemment, ledit module pouvant être directement intégré dans la plateforme 2.Such a pair of keys 5 can in particular be generated on an HSM module as described previously, said module being able to be directly integrated into the platform 2.

De façon avantageuse, comme représenté sur les figures 2 et 3, le procédé prévoit d’enregistrer dans le premier coffre-fort 3, 3a, 3b plusieurs identifiants 4, 4’, 4’’, 4a, 4’a, 4’’a, 4b, 4’b, 4’’b de différents comptes de la plateforme 2, 2a, 2b sur la chaîne de blocs, afin de permettre à ladite plateforme d’accéder au premier coffre-fort 3, 3a, 3b et d’enregistrer un contrat intelligent 1, 1’ au moyen de n’importe lequel desdits identifiants enregistrés.Advantageously, as shown in Figures 2 and 3, the method provides for recording in the first safe 3, 3a, 3b several identifiers 4, 4', 4'', 4a, 4'a, 4'' a, 4b, 4'b, 4''b of different accounts of the platform 2, 2a, 2b on the blockchain, in order to allow said platform to access the first vault 3, 3a, 3b and d 'register a smart contract 1, 1' using any of said registered identifiers.

Ainsi, en cas de changement et/ou de perte d’un identifiant 4, 4’, 4’’, 4a, 4’a, 4’’a, 4b, 4’b, 4’’b, la plateforme 2, 2a, 2b peut continuer à utiliser le premier coffre-fort 3, 3a, 3b au moyen des autres identifiants 4, 4’, 4’’, 4a, 4’a, 4’’a, 4b, 4’b, 4’’b enregistrés dans ledit premier coffre-fort.Thus, in the event of a change and/or loss of an identifier 4, 4', 4'', 4a, 4'a, 4''a, 4b, 4'b, 4''b, platform 2, 2a, 2b can continue to use the first safe 3, 3a, 3b by means of the other identifiers 4, 4', 4'', 4a, 4'a, 4''a, 4b, 4'b, 4' 'b recorded in said first safe.

Comme représenté sur la , le procédé prévoit notamment de créer un coffre-fort 3a, 3b pour chaque plateforme 2a, 2b déployant des contrats intelligents 2, 2’ dans la chaîne de blocs, dans lequel sont enregistrées les identifiants 4a, 4’a, 4’’a, 4b, 4’b, 4’’b propres à une telle plateforme 2a, 2b. En particulier, ces identifiants 4a, 4’a, 4’’a sont enregistrés dans une liste informatique dédiée L1 au sein du premier coffre-fort 3a, comme représenté sur la .As shown on the , the method provides in particular for creating a safe 3a, 3b for each platform 2a, 2b deploying smart contracts 2, 2' in the blockchain, in which the identifiers 4a, 4'a, 4''a are recorded , 4b, 4'b, 4''b specific to such a platform 2a, 2b. In particular, these identifiers 4a, 4'a, 4''a are recorded in a dedicated computer list L1 within the first safe 3a, as shown in the .

A l’issue de la création du premier coffre-fort 3, 3a, 3b, accessible à l’adresse numérique 7, 7a, 7b, la plateforme 2, 2a, 2b peut l’utiliser pour effectuer des opérations de mise à jour lorsque nécessaire, en utilisant les clés privées 5, 5a, 5b, 5’, 5’a, 5’b, 5’’, 5’’a, 5’’b correspondant aux identifiants EOA 4, 4a, 4b, 4’, 4a, 4’b, 4’’, 4’’a, 4’’b qui y sont enregistrés, lesdits identifiants ayant déjà été positionnés afin d’autoriser lesdites opérations.At the end of the creation of the first safe 3, 3a, 3b, accessible at the digital address 7, 7a, 7b, the platform 2, 2a, 2b can use it to perform update operations when necessary, using the private keys 5, 5a, 5b, 5', 5'a, 5'b, 5'', 5''a, 5''b corresponding to the EOA identifiers 4, 4a, 4b, 4', 4a, 4'b, 4'', 4''a, 4''b which are recorded there, said identifiers having already been positioned in order to authorize said operations.

Lorsqu’un utilisateur de la chaîne de blocs sollicite la plateforme 2, 2a, 2b pour déployer un contrat intelligent 1, 1’ le procédé prévoit de :When a user of the blockchain requests the platform 2, 2a, 2b to deploy a smart contract 1, 1' the process provides for:

  • enregistrer une adresse numérique 8, 8’ du contrat intelligent 1, 1’ dans un deuxième coffre-fort numérique 9 de la chaîne de blocs, en l’associant à une adresse numérique 7, 7a, 7b du premier coffre-fort 3, 3a, 3b sur la chaîne de blocs ;save a digital address 8, 8' of the smart contract 1, 1' in a second digital safe 9 of the blockchain, by associating it with a digital address 7, 7a, 7b of the first safe 3, 3a , 3b on the blockchain;
  • envoyer à l’utilisateur au moins une notification comprenant l’adresse numérique 8, 8’ dudit contrat intelligent et/ou l’adresse numérique 7, 7a, 7b dudit premier coffre-fort, afin de permettre audit utilisateur de vérifier le déploiement dudit contrat intelligent et l’identité de la plateforme 2, 2a, 2b l’ayant déployé.send the user at least one notification comprising the digital address 8, 8' of said smart contract and/or the digital address 7, 7a, 7b of said first safe, in order to allow said user to verify the deployment of said contract intelligent and the identity of the platform 2, 2a, 2b having deployed it.

Pour ce faire, la plateforme 2, 2a, 2b comprend des moyens pour effectuer un tel enregistrement et des moyens pour envoyer une telle notification à l’utilisateur, par exemple sur un terminal au moyen duquel ledit utilisateur est connecté à la chaîne de blocs.To do this, the platform 2, 2a, 2b comprises means for performing such a registration and means for sending such a notification to the user, for example on a terminal by means of which said user is connected to the blockchain.

Le terminal destinataire peut être un terminal portable, notamment un téléphone portable dit intelligent (pour l’anglais « smartphone »), mais aussi une tablette numérique, ou encore un assistant personnel (PDA, pour l’anglais « Personal Digital Assistant »).The recipient terminal can be a portable terminal, in particular a so-called smart mobile phone (for English “smartphone”), but also a digital tablet, or even a personal assistant (PDA, for English “Personal Digital Assistant”).

Le deuxième coffre-fort 9 est agencé pour fournir l’adresse numérique 7, 7a, 7b utilisée par la plateforme 2, 2a, 2b ayant déployé un contrat intelligent 1, 1’ donné, par exemple en réponse à une requête contenant l’adresse numérique 8, 8’ dudit contrat intelligent. Ainsi, dès lors qu’un utilisateur connaît l’adresse numérique 7, 7a, 7b utilisée par une plateforme 2, 2a, 2b, il peut facilement vérifier si le contrat intelligent 1, 1’ a bien été enregistré par la plateforme 2, 2a, 2b de confiance.The second safe 9 is arranged to provide the digital address 7, 7a, 7b used by the platform 2, 2a, 2b having deployed a given smart contract 1, 1', for example in response to a request containing the address digital 8, 8' of said smart contract. Thus, once a user knows the digital address 7, 7a, 7b used by a platform 2, 2a, 2b, he can easily check whether the smart contract 1, 1' has indeed been registered by the platform 2, 2a , 2b trust.

En particulier, comme représenté sur les figures 2 et 3, le deuxième coffre-fort 9 comprend une liste informatique S2 dans laquelle sont enregistrées les adresses numériques 8, 8’ des contrats intelligents 1, 1’ développés et/ou déployés par des plateformes 2, 2a, 2b de confiance choisies par l’utilisateur desdits contrats, lesdites adresses étant associées chacune à l’(les) adresse(s) numérique(s) 7, 7a, 7b correspondant à la(aux) plateforme(s) 2, 2a, 2b ayant participé à l’enregistrement desdits contrats au sein de ladite liste.In particular, as represented in FIGS. 2 and 3, the second safe 9 comprises a computer list S2 in which are recorded the digital addresses 8, 8' of the smart contracts 1, 1' developed and/or deployed by platforms 2 , 2a, 2b of trust chosen by the user of said contracts, said addresses each being associated with the digital address(es) 7, 7a, 7b corresponding to the platform(s) 2, 2a, 2b having participated in the registration of said contracts within said list.

Ainsi, le deuxième coffre-fort 9 permet de reconnaître et constituer un réseau de plateformes 2, 2a, 2b de confiance pour participer au déploiement des contrats intelligents 1, 1’ pour des utilisateurs sur la chaîne de blocs.Thus, the second safe 9 makes it possible to recognize and constitute a network of trusted platforms 2, 2a, 2b to participate in the deployment of smart contracts 1, 1' for users on the blockchain.

La liste S2 peut également comprendre d’autres données, parmi lesquelles un identifiant du groupe de clients auquel appartient l’utilisateur sur la chaîne de blocs, des informations sur le niveau de sécurité des contrats intelligents 1, 1’ et/ou des informations sur une quantité de monnaie cryptographique contenue dans ledit contrat intelligent. Ces données supplémentaires dépendent notamment des applications exécutables avec le contrat intelligent 1, 1’.The list S2 may also include other data, including an identifier of the customer group to which the user belongs on the blockchain, information on the security level of smart contracts 1, 1' and/or information on an amount of cryptocurrency contained in said smart contract. This additional data depends in particular on the applications executable with the smart contract 1, 1'.

Pour permettre à une plateforme 2, 2a, 2b d’accéder au deuxième coffre-fort 9, le procédé prévoit l’enregistrement préalable de :To allow a platform 2, 2a, 2b to access the second safe 9, the method provides for the prior recording of:

  • une adresse numérique 10 du deuxième coffre-fort 9 dans le premier coffre-fort 3, 3a, 3b ; eta digital address 10 of the second safe 9 in the first safe 3, 3a, 3b; And
  • l’adresse numérique 7, 7a, 7b du premier coffre-fort 3, 3a, 3b dans le deuxième coffre-fort 9 ;the digital address 7, 7a, 7b of the first safe 3, 3a, 3b in the second safe 9;

de sorte que ladite plateforme puisse accéder audit deuxième coffre-fort au moyen de l’adresse numérique 7, 7a, 7b du premier coffre-fort 3, 3a, 3b.so that said platform can access said second safe by means of the digital address 7, 7a, 7b of the first safe 3, 3a, 3b.

Pour ce faire, la plateforme 2, 2a, 2b comprend des moyens pour effectuer de tels enregistrements au sein des coffres-forts 3, 3a, 3b, 9. En particulier, en relation avec la , la plateforme 2 comprend des moyens pour enregistrer :To do this, the platform 2, 2a, 2b comprises means for making such recordings within the safes 3, 3a, 3b, 9. In particular, in relation to the , the platform 2 comprises means for recording:

  • l’adresse numérique 10 du deuxième coffre-fort 9 dans une liste informatique L3 distincte de la liste L1 au sein du premier coffre-fort 3 ;the digital address 10 of the second safe 9 in a computer list L3 distinct from the list L1 within the first safe 3;
  • l’adresse numérique 7 du premier coffre-fort 3 dans une liste informatique S1 distincte de la liste S2 au sein du deuxième coffre-fort 9.the digital address 7 of the first safe 3 in a computer list S1 distinct from the list S2 within the second safe 9.

Ainsi, le premier coffre-fort 3, 3a, 3b comprend au moins :Thus, the first safe 3, 3a, 3b comprises at least:

  • une première liste L1 telle que décrite précédemment, qui contient l’ensemble des identifiants de type EOA 4, 4’, 4’’, 4a, 4’a, 4’’a, 4b, 4’b, 4’’b de la plateforme de déploiement 2, 2a, 2b correspondante ;a first list L1 as described previously, which contains all of the EOA type identifiers 4, 4', 4'', 4a, 4'a, 4''a, 4b, 4'b, 4''b of the corresponding deployment platform 2, 2a, 2b;
  • une deuxième liste L3, qui contient les adresses numériques 10 des deuxièmes coffres-forts 9 utilisés par ladite plateforme pour enregistrer des contrats intelligents 1, 1’ pour différents utilisateurs sur la chaîne de blocs.a second list L3, which contains the 10 digital addresses of the second 9 vaults used by said platform to register smart contracts 1, 1’ for different users on the blockchain.

Le premier coffre-fort 3, 3a, 3b peut également comprendre d’autres listes, parmi lesquelles :The first safe 3, 3a, 3b can also include other lists, including:

  • une liste des adresses électroniques (non représentée), par exemple de type URL (pour l’anglais « Uniform Resource Locator »), permettant audit premier coffre-fort d’interagir avec la plateforme 2, 2a, 2b, notamment pour se connecter aux interfaces API (pour l’anglais « Application Programming Interface ») de ladite plateforme ;a list of electronic addresses (not shown), for example of the URL (Uniform Resource Locator) type, allowing said first safe to interact with the platform 2, 2a, 2b, in particular to connect to API (Application Programming Interface) interfaces of said platform;
  • une liste (non représentée) regroupant les adresses électroniques des nœuds de relais (pour l’anglais “Relay Node”) utilisés par le premier coffre-fort 3, 3a, 3b pour se connecter à la chaîne de blocs ;a list (not shown) grouping the electronic addresses of the relay nodes (for English “Relay Node”) used by the first safe 3, 3a, 3b to connect to the chain of blocks;
  • une liste L2 regroupant les adresses numériques 13 des administrateurs habilités à mettre à jour certaines listes des coffres-forts 3, 3a, 3b, 9, notamment les listes L3, S1 et/ou des listes contenant des adresses numériques d’interférence desdits coffres-forts avec la plateforme 2, 2a, 2b ou d’autres éléments de la chaîne de blocs.a list L2 grouping together the digital addresses 13 of the administrators authorized to update certain lists of safes 3, 3a, 3b, 9, in particular the lists L3, S1 and/or lists containing digital addresses of interference of said safes- strong with platform 2, 2a, 2b or other blockchain elements.

Le premier coffre-fort 3, 3a, 3b peut également comprendre une variable indiquant un mode d’ajout d’une nouvelle adresse 13 dans la liste L2 d’« identifiants autorisés » mentionnée ci-dessus. En particulier, cette variable peut être établie de manière permanente lors du déploiement du premier coffre-fort 3, 3a, 3b.The first safe 3, 3a, 3b can also include a variable indicating a mode for adding a new address 13 to the list L2 of “authorized identifiers” mentioned above. In particular, this variable can be established permanently during the deployment of the first safe 3, 3a, 3b.

Par exemple, cette variable peut être choisie suivant différents modes prédéterminés, parmi lesquels :For example, this variable can be chosen according to different predetermined modes, including:

  • un mode « unitaire », qui permet à n’importe quel administrateur 11 dont l’adresse 13 est enregistrée dans cette liste L2 d’y ajouter une nouvelle adresse 13 ;a “unitary” mode, which allows any administrator 11 whose address 13 is recorded in this list L2 to add a new address 13 to it;
  • un mode « premier », qui permet uniquement au créateur du coffre-fort 3, 3a, 3a d’ajouter une adresse 13 dans cette liste L2 ;a "first" mode, which only allows the creator of the safe 3, 3a, 3a to add an address 13 in this list L2;
  • un mode « quatre yeux », qui nécessite l’accord de deux administrateurs 11 enregistrés dans cette liste L2 pour l’ajout d’une nouvelle adresse 13 ;a “four eyes” mode, which requires the agreement of two administrators 11 registered in this list L2 for the addition of a new address 13;
  • un mode « majoritaire », qui nécessite l’accord d’au moins la moitié des administrateurs 11 enregistrés dans cette liste L2 ;a “majority” mode, which requires the agreement of at least half of the administrators 11 registered in this L2 list;
  • un mode « unanime », qui nécessite l’accord d’au moins 75% desdits administrateurs.a “unanimous” mode, which requires the agreement of at least 75% of said administrators.

De même, le deuxième coffre-fort 9 comprend au moins :Similarly, the second safe 9 comprises at least:

  • une liste S1 dans laquelle sont enregistrées les clés publiques 7, 7a, 7b des premiers coffres-forts 3, 3a, 3b autorisés à interagir avec ledit deuxième coffre-fort pour enregistrer des contrats intelligents 1, 1’ dans une liste S2 telle que décrite précédemment ; eta list S1 in which are recorded the public keys 7, 7a, 7b of the first safes 3, 3a, 3b authorized to interact with said second safe to record smart contracts 1, 1' in a list S2 as described previously; And
  • une telle liste S2, qui contient les adresses numériques 8, 8’ des contrats intelligents 1, 1’ déployés, associées aux adresses numériques/clés publiques 7, 7a, 7b des premiers coffres-forts 3, 3a, 3b utilisés pour déployer lesdits contrats intelligents.such a list S2, which contains the digital addresses 8, 8' of the smart contracts 1, 1' deployed, associated with the digital addresses/public keys 7, 7a, 7b of the first safes 3, 3a, 3b used to deploy said contracts smart.

Le deuxième coffre-fort 9 peut également comprendre une variable indiquant un mode d’ajout d’une nouvelle adresse 7, 7a, 7b dans la première liste S1 d’« identifiants autorisés » mentionnée ci-dessus. En particulier, cette variable peut être établie de manière permanente lors du déploiement du deuxième coffre-fort 9.The second safe 9 can also include a variable indicating a mode for adding a new address 7, 7a, 7b in the first list S1 of “authorized identifiers” mentioned above. In particular, this variable can be permanently established during the deployment of the second safe 9.

Par exemple, cette variable peut être choisie suivant différents modes prédéterminés, parmi lesquels :For example, this variable can be chosen according to different predetermined modes, including:

  • un mode « unitaire », qui permet à n’importe quelle plateforme 2, 2a, 2b dont l’adresse 7, 7a, 7b est enregistrée dans cette liste S1 d’y ajouter une nouvelle adresse 7, 7a, 7b ;a “unitary” mode, which allows any platform 2, 2a, 2b whose address 7, 7a, 7b is recorded in this list S1 to add a new address 7, 7a, 7b to it;
  • un mode « premier », qui permet uniquement au créateur du coffre-fort 9 d’ajouter une adresse 7, 7a, 7b dans cette liste S1 ;a "first" mode, which only allows the creator of the safe 9 to add an address 7, 7a, 7b in this list S1;
  • un mode « quatre yeux », qui nécessite l’accord de deux plateformes 2, 2a, 2b enregistrées dans cette liste S1 pour l’ajout d’une nouvelle adresse 7, 7a, 7b ;a “four eyes” mode, which requires the agreement of two platforms 2, 2a, 2b registered in this list S1 for the addition of a new address 7, 7a, 7b;
  • un mode « majoritaire », qui nécessite l’accord d’au moins la moitié des plateformes 7, 7a, 7b de cette liste S1 ;a "majority" mode, which requires the agreement of at least half of the platforms 7, 7a, 7b of this list S1;
  • un mode « unanime », qui nécessite l’accord d’au moins 75% desdites plateformes.a “unanimous” mode, which requires the agreement of at least 75% of said platforms.

Lors de l’enregistrement d’un contrat intelligent 1, 1’, la plateforme 2, 2a, 2b qui effectue cet enregistrement envoie au deuxième coffre-fort 9 une notification comprenant l’adresse numérique 7, 7a, 7b du premier coffre-fort 3, 3a, 3b qu’elle utilise et une adresse numérique 8, 8’ dudit contrat intelligent. Le deuxième coffre-fort 9 vérifie ensuite que l’adresse 7, 7a, 7b est bien présente dans la liste S1 des premiers coffres-forts 3, 3a, 3b autorisés et, le cas échéant, enregistre ensemble les deux adresses 7, 7a, 7b, 8, 8’ dans la liste S2.When registering a smart contract 1, 1', the platform 2, 2a, 2b which performs this registration sends the second safe 9 a notification comprising the digital address 7, 7a, 7b of the first safe 3, 3a, 3b that it uses and a digital address 8, 8' of said smart contract. The second safe 9 then checks that the address 7, 7a, 7b is indeed present in the list S1 of the first safes 3, 3a, 3b authorized and, if necessary, saves together the two addresses 7, 7a, 7b, 8, 8' in list S2.

Le procédé prévoit la création du premier 3, 3a, 3b et du deuxième 9 coffres-forts par un administrateur 11 de la plateforme 2, 2a, 2b, par exemple un employé d’une organisation ou d’une entreprise utilisant ladite plateforme pour fournir des services à ses clients, utilisateurs de la chaine de blocs.The method provides for the creation of the first 3, 3a, 3b and the second 9 safes by an administrator 11 of the platform 2, 2a, 2b, for example an employee of an organization or a company using said platform to provide services to its customers, users of the blockchain.

En particulier, pour faire connaître cette fonctionnalité à ses clients et/ou à des clients potentiels, l’organisation ou l’entreprise détenant la plateforme 2, 2a, 2b peut publier un lien interactif lié à l’adresse numérique 7, 7a, 7b, par exemple sous la forme d’un code-barres ou d’un code QR (pour l’anglais « Quick Response »), dans un journal papier ou numérique.In particular, to make this functionality known to its customers and/or potential customers, the organization or company holding the platform 2, 2a, 2b can publish an interactive link linked to the digital address 7, 7a, 7b , for example in the form of a barcode or a QR code (for English “Quick Response”), in a paper or digital journal.

La plateforme 2, 2a, 2b comprend des moyens pour permettre à un administrateur 11 d’interagir avec ladite plateforme au moyen d’un terminal 12 dudit administrateur, par exemple un terminal de type « smartphone » ou tout type de terminal mentionné précédemment, pour créer les coffres-forts 3, 3a, 3b, 9.The platform 2, 2a, 2b comprises means for allowing an administrator 11 to interact with said platform by means of a terminal 12 of said administrator, for example a "smartphone" type terminal or any type of terminal mentioned above, for create safes 3, 3a, 3b, 9.

Le procédé prévoit en particulier, grâce à des moyens adaptés intégrés à la plateforme 2, 2a, 2b, d’enregistrer dans les coffres-forts 3, 3a, 3b, 9 au moins un identifiant 13 de l’administrateur 11 sur la chaîne de blocs.The method provides in particular, by means of adapted means integrated into the platform 2, 2a, 2b, to record in the safes 3, 3a, 3b, 9 at least one identifier 13 of the administrator 11 on the chain of blocks.

L'identifiant 13 peut notamment être l’adresse de type EOA correspondant à une paire de clés cryptographiques attribuée à l’administrateur 11 sur la chaîne de blocs.The identifier 13 may in particular be the EOA type address corresponding to a pair of cryptographic keys assigned to the administrator 11 on the blockchain.

En particulier, cette adresse de type EOA 13 est liée par des fonctions mathématiques à une clé privée, cette clé et son adresse dérivée étant liées au terminal 12 de l’administrateur 11, et pouvant notamment être créées directement dans ledit terminal sous le contrôle dudit administrateur, qui n’est identifié que par l’adresse 13 lors de ses interactions avec la chaîne de blocs et le reste du système. De ce fait, la clé privée ne quitte jamais le terminal 12 de l’administrateur 11, ce qui garantit audit administrateur une sécurité optimale.In particular, this EOA type address 13 is linked by mathematical functions to a private key, this key and its derived address being linked to the terminal 12 of the administrator 11, and which can in particular be created directly in said terminal under the control of said administrator, who is only identified by address 13 when interacting with the blockchain and the rest of the system. As a result, the private key never leaves the terminal 12 of the administrator 11, which guarantees said administrator optimal security.

Pour ce faire, le terminal 12 peut comprendre des moyens, notamment intégrés dans une application installée sur ledit terminal, pour permettre à l’administrateur 11 de créer ou d’entrer en possession d’un tel ensemble clé / identifiant 13 sous le contrôle dudit administrateur, et la plateforme 2, 2a, 2b comprend des moyens pour enregistrer un tel identifiant 13 dans les coffres-forts 3, 3a, 3b, 9, notamment par interaction avec ledit terminal.To do this, the terminal 12 may include means, in particular integrated into an application installed on said terminal, to allow the administrator 11 to create or take possession of such a key/identifier set 13 under the control of said administrator, and the platform 2, 2a, 2b comprises means for recording such an identifier 13 in the safes 3, 3a, 3b, 9, in particular by interaction with said terminal.

En particulier, le procédé prévoit la création et l’enregistrement dans les coffres-forts 3, 3a, 3b, 9 d’un identifiant provisoire 14a pour l’administrateur 11 lors de la création desdits coffres-forts, puis l’enregistrement dans lesdits coffres-forts d’un identifiant 13 de connexion dudit administrateur sur la chaîne de blocs à la place dudit identifiant provisoire.In particular, the method provides for the creation and recording in the safes 3, 3a, 3b, 9 of a temporary identifier 14a for the administrator 11 during the creation of said safes, then the recording in said safes of a connection identifier 13 of said administrator on the blockchain in place of said temporary identifier.

A cet effet, la plateforme 2, 2a, 2b comprend des moyens adaptés pour, d’une part, créer et/ou enregistrer un tel identifiant provisoire 14a dans les coffres-forts 3, 3a, 3b, 9 lors de leur création desdits coffres-forts puis, d’autre part, enregistrer dans lesdits coffres-forts une tel identifiant de connexion 13 à la place dudit identifiant provisoire.To this end, the platform 2, 2a, 2b comprises suitable means for, on the one hand, creating and/or recording such a temporary identifier 14a in the safes 3, 3a, 3b, 9 during their creation of said safes -forts then, on the other hand, save in said safes such a connection identifier 13 in place of said temporary identifier.

En relation notamment avec la , pour initier la création des coffres-forts 3, 9, l’administrateur 11 se connecte au moyen de son terminal 12 à une interface API adaptée fournie par la plateforme 2 pour générer un ensemble clé privée 14b / identifiant 14a provisoire, en lançant une procédure 15 adaptée sur ladite interface.In particular in relation to the , to initiate the creation of the safes 3, 9, the administrator 11 connects by means of his terminal 12 to a suitable API interface provided by the platform 2 to generate a private key 14b/temporary identifier 14a set, by launching a procedure 15 adapted on said interface.

En parallèle, notamment sur requête de l’administrateur 11, la plateforme 2 lance une procédure 16 spécifique pour créer un seconde ensemble clé / identifiant provisoire EOAb, qui sera également utilisé pour créer les coffres-forts 3, 9.At the same time, in particular at the request of the administrator 11, the platform 2 launches a specific procedure 16 to create a second key set / provisional identifier EOAb, which will also be used to create the safes 3, 9.

L’administrateur 11 envoie ensuite à la plateforme 2 une requête 17 contenant notamment l’identifiant provisoire 14a, afin de créer le deuxième coffre-fort 9 au moyen de l’identifiant EOAb et avec l’identifiant provisoire 14a comme adresse parente. En réponse, la plateforme 2 génère le deuxième coffre-fort 9 et communique à l’administrateur 11 une notification 18 contenant notamment l’adresse numérique 10 dudit deuxième coffre-fort.The administrator 11 then sends to the platform 2 a request 17 containing in particular the provisional identifier 14a, in order to create the second safe 9 by means of the identifier EOAb and with the provisional identifier 14a as parent address. In response, the platform 2 generates the second safe 9 and communicates to the administrator 11 a notification 18 containing in particular the digital address 10 of said second safe.

A ce stade, le terminal 12 interagit avec la chaîne de blocs pour vérifier que l’identifiant provisoire 14a a bien été enregistré comme adresse parente dans le deuxième coffre-fort 9, et poursuit la procédure le cas échéant.At this stage, the terminal 12 interacts with the chain of blocks to verify that the temporary identifier 14a has indeed been registered as the parent address in the second safe 9, and continues the procedure if necessary.

Pour ce faire, le terminal 12 se connecte à une interface API adaptée et envoie par ce biais à la plateforme 2 une deuxième requête 19 contenant l’identifiant provisoire 14a, afin de créer le premier coffre-fort 3 au moyen de l’identifiant EOAb et avec :To do this, the terminal 12 connects to a suitable API interface and thereby sends the platform 2 a second request 19 containing the temporary identifier 14a, in order to create the first safe 3 by means of the identifier EOAb and with :

  • l’identifiant 14a en tant qu’adresse parente ;the identifier 14a as parent address;
  • une liste contenant des liens d’interactions avec la plateforme 2, comprenant comme première entrée une adresse électronique d’une interface API d’identification auprès de ladite plateforme.a list containing interaction links with the platform 2, comprising as the first entry an electronic address of an API interface for identification with said platform.

En réponse, la plateforme 2 génère donc le premier coffre-fort 3 et communique au terminal 12 une notification 20 contenant notamment l’adresse numérique 7 dudit premier coffre-fort.In response, the platform 2 therefore generates the first safe 3 and communicates to the terminal 12 a notification 20 containing in particular the digital address 7 of said first safe.

Une fois les coffres-forts 3, 9 créés, le terminal 12 envoie à chaque coffre-fort 3, 9, au moyen de l’adresse provisoire 14a, une notification 21, 22 contenant respectivement l’adresse numérique 7, 10 de l’autre coffre-fort 3, 9, afin d’enregistrer ladite adresse numérique dans une liste spécifique L3, S1 dudit coffre-fort.Once the safes 3, 9 have been created, the terminal 12 sends each safe 3, 9, by means of the temporary address 14a, a notification 21, 22 respectively containing the digital address 7, 10 of the another safe 3, 9, in order to record said digital address in a specific list L3, S1 of said safe.

Ainsi, à ce stade de la procédure, le deuxième coffre-fort 9 comprend une liste S1 de premiers coffres-forts 3 autorisés, avec une première entrée correspondant au premier coffre-fort 3 venant d’être créé.Thus, at this stage of the procedure, the second safe 9 comprises a list S1 of first safes 3 authorized, with a first entry corresponding to the first safe 3 which has just been created.

De même, le premier coffre-fort 3 comprend une liste L3 de deuxièmes coffres-forts 9 avec une première entrée correspondant au deuxième coffre-fort 9 venant d’être créé. En particulier, le premier coffre-fort 3 est alors opérationnel pour enregistrer des données dans le deuxième coffre-fort 9, et l’administrateur 11 peut lire l’adresse numérique 10 dudit deuxième coffre-fort directement à partir du premier coffre-fort 3.Similarly, the first safe 3 comprises a list L3 of second safes 9 with a first entry corresponding to the second safe 9 which has just been created. In particular, the first safe 3 is then operational to save data in the second safe 9, and the administrator 11 can read the digital address 10 of said second safe directly from the first safe 3 .

Ensuite, la procédure prévoit de supprimer l’identifiant provisoire 14a dans les coffres-forts 3, 9, et d’enregistrer à sa place un identifiant 13 de connexion de l’administrateur 11 à la chaîne de blocs.Then, the procedure provides for deleting the temporary identifier 14a in the safes 3, 9, and recording in its place an identifier 13 for connecting the administrator 11 to the blockchain.

En relation avec la , si l’administrateur 11 possède déjà un tel identifiant 13 au moment de la création des coffres-forts 3, 9, son identifiant 13 est enregistré dans un coffre-fort numérique 23 spécifique de la chaîne de blocs.In relation to the , if the administrator 11 already has such an identifier 13 at the time of the creation of the safes 3, 9, his identifier 13 is recorded in a digital safe 23 specific to the chain of blocks.

En particulier, cet identifiant 13 peut y être enregistré en étant associé à une identité numérique de l’administrateur 11 indépendante de la chaîne de blocs, par exemple en utilisant son compte d’identité numérique sur une plateforme tierce 24 d’un autre service en ligne, ce qui permet audit administrateur de se connecter à la chaîne de blocs au moyen de ce compte d’identité numérique, au besoin en évitant d’avoir recours à l’identifiant 13 dérivé de sa clé privée.In particular, this identifier 13 can be recorded there by being associated with a digital identity of the administrator 11 independent of the blockchain, for example by using his digital identity account on a third-party platform 24 of another service in line, which allows said administrator to connect to the chain of blocks by means of this digital identity account, if necessary by avoiding having to use the identifier 13 derived from his private key.

Ainsi, pour se connecter sur son compte d’identité numérique, l’administrateur 11 envoie, au moyen de son terminal 12, une requête 25 lui permettant de faire reconnaître son identité numérique à la plateforme tierce 24 correspondante, qui répond audit administrateur en lui envoyant une notification 26 de succès ou d’échec de ladite reconnaissance, selon si les éléments communiqués dans ladite requête correspondent ou non à une identité numérique reconnue par le service rattaché à ladite plateforme tierce.Thus, to connect to his digital identity account, the administrator 11 sends, by means of his terminal 12, a request 25 enabling him to have his digital identity recognized by the corresponding third-party platform 24, which responds to said administrator by sending a notification 26 of success or failure of said recognition, depending on whether the elements communicated in said request correspond or not to a digital identity recognized by the service attached to said third-party platform.

A l’issue, en cas de succès de cette reconnaissance de l’identité numérique de l’administrateur 11, la plateforme tierce 24 envoie via la plateforme 2 une notification 27 à un coffre-fort 23 tel que décrit précédemment, pour positionner l’identifiant de type EOA 13 de l’administrateur 11 sur la chaîne de blocs. Le coffre-fort 23 est soit créé à ce moment-là, soit réutilisé s’il en existait déjà un pour l’administrateur 11 sur la chaîne de blocs.At the end, if this recognition of the digital identity of the administrator 11 is successful, the third-party platform 24 sends via the platform 2 a notification 27 to a safe 23 as described above, to position the EOA type identifier 13 of the administrator 11 on the blockchain. Vault 23 is either created at this time or reused if one already existed for admin 11 on the blockchain.

La plateforme 2 envoie en outre une notification 28 au deuxième coffre-fort 9, qui enregistre l’identifiant 13 dans la liste créée précédemment, qui recense les adresses numériques 7, 7a, 7b des plateformes 2, 2a, 2b autorisées à interagir avec le deuxième coffre-fort 9, et qui contient notamment l'adresse numérique 7 du premier coffre-fort 3 créé précédemment.The platform 2 also sends a notification 28 to the second safe 9, which records the identifier 13 in the list created previously, which identifies the digital addresses 7, 7a, 7b of the platforms 2, 2a, 2b authorized to interact with the second safe 9, and which contains in particular the digital address 7 of the first safe 3 previously created.

En relation avec les figures 4b et 3, le terminal 12 enregistre ensuite l’identifiant de type EOA 13 de l’administrateur 11 dans une seconde liste L2 du premier coffre-fort 3 (voir notamment la ), ladite seconde liste regroupant les adresses numériques 13 des administrateurs 11 habilités à mettre à jour :In relation to FIGS. 4b and 3, the terminal 12 then saves the EOA type identifier 13 of the administrator 11 in a second list L2 of the first safe 3 (see in particular the ), said second list grouping together the digital addresses 13 of the administrators 11 authorized to update:

  • dans le premier coffre-fort 3 : une liste L3 des adresses numériques 10 des deuxièmes coffres-forts 9 utilisés par ledit premier coffre-fort et/ou une liste (non représentée) des adresses électroniques d’interférence avec la plateforme 2 ;in the first safe 3: a list L3 of the digital addresses 10 of the second safes 9 used by said first safe and/or a list (not shown) of electronic addresses interfering with the platform 2;
  • dans le deuxième coffre-fort 9 : une liste (non représentée) des variables de référence du deuxième coffre-fort 9 et/ou la liste S1 des identifiants 7, 7a, 7b autorisés à interagir avec ledit deuxième coffre-fort.in the second safe 9: a list (not shown) of the reference variables of the second safe 9 and/or the list S1 of the identifiers 7, 7a, 7b authorized to interact with said second safe.

A ce stade de la procédure, l’administrateur 11 peut mettre à jour les coffres-forts 3, 9 directement au moyen de son identifiant 13 de connexion à la chaîne de blocs, et n’a plus besoin de l’identifiant provisoire 14a. Ainsi, l’administrateur 11 peut détruire l’ensemble clé privée 14b / identifiant 14a provisoire, puis relancer son identification auprès de la plateforme tierce 24 après avoir regénéré un ensemble clé / identifiant, afin de mettre à jour ses identifiants.At this stage of the procedure, the administrator 11 can update the safes 3, 9 directly by means of his identifier 13 for connecting to the blockchain, and no longer needs the temporary identifier 14a. Thus, the administrator 11 can destroy the private key 14b/provisional identifier 14a set, then restart his identification with the third-party platform 24 after having regenerated a key/identifier set, in order to update his identifiers.

En relation avec la , pour finaliser la création du premier coffre-fort 3, la plateforme 2 génère au moins un ensemble clé privée 5, 5’ / identifiant 4, 4’ de connexion à la chaîne de blocs, puis communique ses identifiants 4, 4’ à l’administrateur 11, notamment par l’envoi d’une notification 29 adaptée.In relation to the , to finalize the creation of the first safe 3, the platform 2 generates at least one set of private key 5, 5' / identifier 4, 4' for connecting to the blockchain, then communicates its identifiers 4, 4' to the administrator 11, in particular by sending a suitable notification 29.

L’administrateur 11 envoie ensuite au premier coffre-fort 3 une notification 30 pour y enregistrer les identifiants 4, 4’, notamment dans une liste L1 telle que mentionnée précédemment, afin de permettre à la plateforme 2 de déployer des contrats intelligents 1, 1’ au moyen du premier coffre-fort 3.The administrator 11 then sends to the first safe 3 a notification 30 to save the identifiers 4, 4' there, in particular in a list L1 as mentioned previously, in order to allow the platform 2 to deploy smart contracts 1, 1 ' using the first safe 3.

Le procédé prévoit en outre de permettre à l’administrateur 11 de désactiver le premier coffre-fort 3, 3a, 3b, afin d’empêcher le déploiement et/ou la modification ultérieur(e)(s) de contrats intelligents 1, 1’ au moyen dudit premier coffre-fort. Pour ce faire, la plateforme 2, 2a, 2b comprend des moyens pour permettre à l’administrateur 11 d’effectuer une telle désactivation, notamment par interaction de son terminal 12 avec ladite plateforme.The method further provides for allowing the administrator 11 to deactivate the first safe 3, 3a, 3b, in order to prevent the subsequent deployment and/or modification(s) of smart contracts 1, 1' by means of said first safe. To do this, the platform 2, 2a, 2b comprises means to allow the administrator 11 to perform such deactivation, in particular by interaction of his terminal 12 with said platform.

Claims (14)

Procédé pour permettre à des utilisateurs de déployer des contrats intelligents (1, 1’) dans une chaîne de blocs au moyen d’une plateforme de déploiement (2, 2a, 2b), ledit procédé prévoyant de :
  • créer un premier coffre-fort numérique (3, 3a, 3b) pour ladite plateforme sur la chaîne de blocs ;
  • enregistrer dans ledit premier coffre-fort numérique au moins un identifiant (4, 4’, 4’’, 4a, 4’a, 4’’a, 4b, 4’b, 4’’b) de ladite plateforme sur la chaîne de blocs ;
ledit procédé prévoyant en outre, lorsqu’un utilisateur sollicite ladite plateforme pour déployer un contrat intelligent (1, 1’) dans la chaîne de blocs, de :
  • enregistrer une adresse numérique (8, 8’) du contrat intelligent (1, 1) dans un deuxième coffre-fort numérique (9) de la chaîne de blocs, en l’associant à une adresse numérique (7, 7a, 7b) du premier coffre-fort (3, 3a, 3b) sur ladite chaîne de blocs ;
  • envoyer à l’utilisateur au moins une notification comprenant l’adresse numérique (8, 8’) dudit contrat intelligent et/ou une adresse numérique
    (7, 7a, 7b) du premier coffre-fort (3, 3a, 3b), afin de permettre audit utilisateur de vérifier le déploiement dudit contrat intelligent et l’identité de la plateforme (2, 2a, 2b) l’ayant déployé.
Method for enabling users to deploy smart contracts (1, 1') in a blockchain by means of a deployment platform (2, 2a, 2b), said method comprising:
  • creating a first digital vault (3, 3a, 3b) for said platform on the blockchain;
  • save in said first digital safe at least one identifier (4, 4', 4'', 4a, 4'a, 4''a, 4b, 4'b, 4''b) of said platform on the chain blocks;
said method further providing, when a user requests said platform to deploy a smart contract (1, 1') in the blockchain, of:
  • register a digital address (8, 8') of the smart contract (1, 1) in a second digital vault (9) of the blockchain, by associating it with a digital address (7, 7a, 7b) of the first vault (3, 3a, 3b) on said blockchain;
  • send the user at least one notification comprising the digital address (8, 8') of said smart contract and/or a digital address
    (7, 7a, 7b) of the first safe (3, 3a, 3b), in order to allow said user to verify the deployment of said smart contract and the identity of the platform (2, 2a, 2b) having deployed it .
Procédé selon la revendication 1, caractérisé en ce que l’identifiant comprend une adresse numérique (4, 4’, 4’’, 4a, 4’a, 4’’a, 4b, 4’b, 4’’b) de la plateforme de déploiement (2, 2a, 2b) sur la chaîne de blocs.Method according to Claim 1, characterized in that the identifier comprises a numerical address (4, 4', 4'', 4a, 4'a, 4''a, 4b, 4'b, 4''b) of the deployment platform (2, 2a, 2b) on the blockchain. Procédé selon l’une des revendications 1 ou 2, caractérisé en ce qu’il prévoit d’enregistrer dans le premier coffre-fort (3, 3a, 3b) plusieurs identifiants
(4, 4’, 4’’, 4a, 4’a, 4’’a, 4b, 4’b, 4’’b) de la plateforme de déploiement (2, 2a, 2b) sur la chaîne de blocs, afin de permettre à ladite plateforme d’accéder audit premier coffre-fort et de déployer un contrat intelligent (1, 1’) sur la chaîne de blocs au moyen de n’importe lequel desdits identifiants enregistrés.
Method according to one of Claims 1 or 2, characterized in that it provides for recording in the first safe (3, 3a, 3b) several identifiers
(4, 4', 4'', 4a, 4'a, 4''a, 4b, 4'b, 4''b) of the deployment platform (2, 2a, 2b) on the blockchain, to enable said platform to access said first vault and deploy a smart contract (1, 1') on the blockchain by means of any of said registered identifiers.
Procédé selon l'une quelconque des revendications 1 à 3, caractérisé en ce qu’il prévoit l’enregistrement préalable de :
  • une adresse numérique (10) du deuxième coffre-fort (9) dans le premier coffre-fort (3, 3a, 3b) ; et
  • l’adresse numérique (7, 7a, 7b) du premier coffre-fort (3, 3a, 3b) dans le deuxième coffre-fort (9) ;
afin de permettre à la plateforme (2, 2a, 2b) d'accéder au deuxième coffre-fort (9) au moyen de l’adresse numérique (7, 7a, 7b) du premier coffre-fort (3, 3a, 3b).
Method according to any one of Claims 1 to 3, characterized in that it provides for the prior recording of:
  • a numeric address (10) of the second safe (9) in the first safe (3, 3a, 3b); And
  • the numerical address (7, 7a, 7b) of the first safe (3, 3a, 3b) in the second safe (9);
to allow the platform (2, 2a, 2b) to access the second safe (9) by means of the digital address (7, 7a, 7b) of the first safe (3, 3a, 3b) .
Procédé selon l’une quelconque des revendications 1 à 4, caractérisé en ce qu’il prévoit la création du premier (3, 3a, 3b) et du deuxième (9) coffres-forts par un administrateur (11) de la plateforme (2, 2a, 2b), par interaction dudit administrateur avec ladite plateforme.Method according to any one of Claims 1 to 4, characterized in that it provides for the creation of the first (3, 3a, 3b) and of the second (9) safes by an administrator (11) of the platform (2 , 2a, 2b), by interaction of said administrator with said platform. Procédé selon la revendication 5, caractérisé en ce qu’il prévoit l’enregistrement dans les coffres-forts (3, 3a, 3b, 9) d’au moins un identifiant (13) de l’administrateur (11) sur la chaîne de blocs.Method according to claim 5, characterized in that it provides for the recording in the safes (3, 3a, 3b, 9) of at least one identifier (13) of the administrator (11) on the blocks. Procédé selon la revendication 6, caractérisé en ce qu’il prévoit la création et l’enregistrement dans les coffres-forts (3, 3a, 3b) d’un identifiant provisoire (14a) pour l’administrateur (11) lors de la création desdits coffres-forts, puis l’enregistrement dans lesdits coffres-forts d’un identifiant (13) de connexion dudit administrateur sur la chaîne de blocs à la place dudit identifiant provisoire.Method according to claim 6, characterized in that it provides for the creation and recording in the safes (3, 3a, 3b) of a temporary identifier (14a) for the administrator (11) during the creation of said safes, then the recording in said safes of an identifier (13) for connection of said administrator to the blockchain in place of said temporary identifier. Procédé selon l’une quelconque des revendications 4 à 7, caractérisé en ce qu’il prévoit de permettre à l’administrateur (11) de désactiver le premier coffre-fort (3, 3a, 3b), afin d’empêcher le déploiement et/ou la modification ultérieur(e)(s) de contrats intelligents (1, 1’) au moyen dudit premier coffre-fort.Method according to any one of Claims 4 to 7, characterized in that it provides for allowing the administrator (11) to deactivate the first safe (3, 3a, 3b), in order to prevent the deployment and /or subsequent modification(s) of smart contracts (1, 1') by means of said first safe. Plateforme (2, 2a, 2b) pour permettre à des utilisateurs de déployer des contrats intelligents (1, 1’) dans une chaîne de blocs, ladite plateforme comprenant :
  • des moyens pour créer un premier coffre-fort numérique (3, 3a, 3b) pour ladite plateforme sur la chaîne de blocs ;
  • des moyens pour enregistrer dans ledit premier coffre-fort numérique au moins un identifiant (4, 4’, 4’’, 4a, 4’a, 4’’a, 4b, 4’b, 4’’b) de ladite plateforme sur la chaîne de blocs ;
ladite plateforme comprenant en outre :
  • des moyens pour, lorsqu’un utilisateur sollicite ladite plateforme pour déployer un contrat intelligent (1, 1’) dans la chaîne de blocs, enregistrer une adresse numérique (8, 8’) du contrat intelligent (1, 1’) dans un deuxième coffre-fort numérique (9) de la chaîne de blocs, en l’associant à une adresse numérique (7, 7a, 7b) du premier coffre-fort (3, 3a, 3b) sur ladite chaîne de blocs ;
  • des moyens pour envoyer à l’utilisateur au moins une notification comprenant l’adresse numérique (8, 8’) dudit contrat intelligent et/ou une adresse numérique (7, 7a, 7b) du premier coffre-fort (3, 3a, 3b), afin de permettre audit utilisateur de vérifier le déploiement dudit contrat intelligent et l’identité de la plateforme (2, 2a, 2b) l’ayant déployé.
Platform (2, 2a, 2b) for enabling users to deploy smart contracts (1, 1') in a blockchain, said platform comprising:
  • means for creating a first digital vault (3, 3a, 3b) for said platform on the blockchain;
  • means for recording in said first digital safe at least one identifier (4, 4', 4'', 4a, 4'a, 4''a, 4b, 4'b, 4''b) of said platform on the blockchain;
said platform further comprising:
  • means for, when a user requests said platform to deploy a smart contract (1, 1') in the blockchain, registering a digital address (8, 8') of the smart contract (1, 1') in a second digital safe (9) of the blockchain, by associating it with a digital address (7, 7a, 7b) of the first safe (3, 3a, 3b) on said blockchain;
  • means for sending the user at least one notification comprising the digital address (8, 8') of said smart contract and/or a digital address (7, 7a, 7b) of the first safe (3, 3a, 3b ), in order to allow said user to verify the deployment of said smart contract and the identity of the platform (2, 2a, 2b) having deployed it.
Plateforme de déploiement (2, 2a, 2b) selon la revendication 9, caractérisée en ce qu’elle comprend :
  • des moyens pour enregistrer au préalable une adresse numérique (10) du deuxième coffre-fort (9) dans le premier coffre-fort (3, 3a, 3b) ; et
  • des moyens pour enregistrer au préalable l’adresse numérique (7, 7a, 7b) du premier coffre-fort (3, 3a, 3b) dans le deuxième coffre-fort (9) ;
afin de permettre à ladite plateforme d'accéder au deuxième coffre-fort (9) au moyen de l’adresse numérique (7, 7a, 7b) du premier coffre-fort (3, 3a, 3b).
Deployment platform (2, 2a, 2b) according to claim 9, characterized in that it comprises:
  • means for previously registering a digital address (10) of the second safe (9) in the first safe (3, 3a, 3b); And
  • means for previously registering the digital address (7, 7a, 7b) of the first safe (3, 3a, 3b) in the second safe (9);
in order to allow said platform to access the second safe (9) by means of the digital address (7, 7a, 7b) of the first safe (3, 3a, 3b).
Plateforme de déploiement (2, 2a, 2b) selon l’une des revendications 9 ou 10, caractérisée en ce qu’elle comprend des moyens pour permettre à un administrateur (11) d’interagir avec ladite plateforme au moyen d’un terminal (12) dudit administrateur pour créer les premier (3, 3a, 3b) et deuxième (9) coffres-forts.Deployment platform (2, 2a, 2b) according to one of Claims 9 or 10, characterized in that it comprises means for allowing an administrator (11) to interact with said platform by means of a terminal ( 12) of said administrator to create the first (3, 3a, 3b) and second (9) safes. Plateforme de déploiement (2, 2a, 2b) selon la revendication 11, caractérisée en ce qu’elle comprend des moyens pour enregistrer dans les coffres-forts
(3, 3a, 3b, 9) au moins un identifiant (13) de l’administrateur (11) sur la chaîne de blocs.
Deployment platform (2, 2a, 2b) according to claim 11, characterized in that it comprises means for registering in the safes
(3, 3a, 3b, 9) at least one identifier (13) of the administrator (11) on the block chain.
Plateforme de déploiement (2, 2a, 2b) selon la revendication 12, caractérisée en ce qu’elle comprend :
  • des moyens pour créer et/ou enregistrer dans les coffres-forts
    (3, 3a, 3b, 9) un identifiant provisoire (14a) pour l’administrateur (11) lors de la création desdits coffres-forts ;
  • des moyens pour enregistrer dans les coffres-forts (3, 3a, 3b, 9) un identifiant (13) de connexion dudit administrateur sur la chaîne de blocs à la place de ladite clé provisoire.
Deployment platform (2, 2a, 2b) according to claim 12, characterized in that it comprises:
  • means for creating and/or saving in vaults
    (3, 3a, 3b, 9) a temporary identifier (14a) for the administrator (11) when creating said safes;
  • means for recording in the safes (3, 3a, 3b, 9) an identifier (13) for connecting said administrator to the blockchain in place of said temporary key.
Plateforme de déploiement (2, 2a, 2b) selon l’une quelconque des revendications 11 à 13, caractérisée en ce qu’elle comprend des moyens pour permettre à l’administrateur (11) de désactiver le premier coffre-fort (3, 3a, 3b), afin d’empêcher le déploiement et/ou la modification ultérieur(e)(s) de contrats intelligents (1, 1’) au moyen dudit premier coffre-fort.Deployment platform (2, 2a, 2b) according to any one of claims 11 to 13, characterized in that it comprises means to allow the administrator (11) to deactivate the first safe (3, 3a , 3b), in order to prevent the subsequent deployment and/or modification(s) of smart contracts (1, 1') by means of said first vault.
FR2102104A 2021-03-04 2021-03-04 Method for enabling users to deploy smart contracts in a blockchain using a deployment platform Active FR3120460B1 (en)

Priority Applications (2)

Application Number Priority Date Filing Date Title
FR2102104A FR3120460B1 (en) 2021-03-04 2021-03-04 Method for enabling users to deploy smart contracts in a blockchain using a deployment platform
PCT/EP2022/055179 WO2022184726A1 (en) 2021-03-04 2022-03-01 Method for enabling users to deploy smart contracts in a blockchain using a deployment platform

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
FR2102104A FR3120460B1 (en) 2021-03-04 2021-03-04 Method for enabling users to deploy smart contracts in a blockchain using a deployment platform
FR2102104 2021-03-04

Publications (2)

Publication Number Publication Date
FR3120460A1 true FR3120460A1 (en) 2022-09-09
FR3120460B1 FR3120460B1 (en) 2023-04-28

Family

ID=75539573

Family Applications (1)

Application Number Title Priority Date Filing Date
FR2102104A Active FR3120460B1 (en) 2021-03-04 2021-03-04 Method for enabling users to deploy smart contracts in a blockchain using a deployment platform

Country Status (2)

Country Link
FR (1) FR3120460B1 (en)
WO (1) WO2022184726A1 (en)

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20190012249A1 (en) * 2017-07-07 2019-01-10 Microsoft Technology Licensing, Llc Blockchain analytics

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20190012249A1 (en) * 2017-07-07 2019-01-10 Microsoft Technology Licensing, Llc Blockchain analytics

Also Published As

Publication number Publication date
FR3120460B1 (en) 2023-04-28
WO2022184726A1 (en) 2022-09-09

Similar Documents

Publication Publication Date Title
Kuperberg Blockchain-based identity management: A survey from the enterprise and ecosystem perspective
EP3568794B1 (en) Methods and systems for executing programs in secure environments
EP3343425B1 (en) System and method for the creation and management of decentralized authorizations for connected objects
JP6871386B2 (en) Systems and methods for blockchain-based authentication
EP0941525B1 (en) Authenticating system with microcircuit card
CN109639632A (en) User information management method, electronic equipment and storage medium based on block chain
EP3547203A1 (en) Method and system for managing access to personal data by means of an intelligent contract
EP2294776B1 (en) Method and system for user access to at least one service offered by at least one other user
FR2864289A1 (en) Resource access controlling method, involves notifying comparison of biometric data and biometric references of user, to access terminal, by server that communicates simultaneously with terminal and access terminal
EP2619941A1 (en) Method, server and system for authentication of a person
FR3048530B1 (en) OPEN AND SECURE SYSTEM OF ELECTRONIC SIGNATURE AND ASSOCIATED METHOD
WO2013121127A1 (en) Securing a data transmission
US10867326B2 (en) Reputation system and method
EP3262553B1 (en) Method of transaction without physical support of a security identifier and without token, secured by the structural decoupling of the personal and service identifiers
EP3729307B1 (en) Methods and devices for enrolling and authenticating a user with a service
CA2694335C (en) Management and sharing of dematerialised safes
WO2022184726A1 (en) Method for enabling users to deploy smart contracts in a blockchain using a deployment platform
CA2647239C (en) Process and server for access to an electronic safe via several entities
FR3101453A1 (en) A method of managing the rights and assets of a user on a blockchain
FR3143143A1 (en) Method of connecting to a personal account on an online service using a blockchain
FR2898423A1 (en) Certified electronic signature generating device e.g. chip card, configuring method for e.g. computer, involves updating certificate to user upon reception of denomination and number by certificate producer so as to be used with device
WO2022152630A1 (en) Method for securing the use of an iot module connected to a blockchain
FR3114714A1 (en) A method of accessing a set of user data.
WO2023001846A1 (en) Method for transaction between an organisation and an establishment on a blockchain
EP3926499A1 (en) Method for authenticating a user on a client device

Legal Events

Date Code Title Description
PLFP Fee payment

Year of fee payment: 2

PLSC Publication of the preliminary search report

Effective date: 20220909

PLFP Fee payment

Year of fee payment: 3

PLFP Fee payment

Year of fee payment: 4