EP4026016A1 - Migration d'une chaîne de blocs de données - Google Patents
Migration d'une chaîne de blocs de donnéesInfo
- Publication number
- EP4026016A1 EP4026016A1 EP20757362.7A EP20757362A EP4026016A1 EP 4026016 A1 EP4026016 A1 EP 4026016A1 EP 20757362 A EP20757362 A EP 20757362A EP 4026016 A1 EP4026016 A1 EP 4026016A1
- Authority
- EP
- European Patent Office
- Prior art keywords
- blockchain
- user
- blocks
- chain
- address
- 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.)
- Pending
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/27—Replication, distribution or synchronisation of data between databases or within a distributed database system; Distributed database system architectures therefor
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/23—Updating
- G06F16/2379—Updates performed during online database operations; commit processing
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/21—Design, administration or maintenance of databases
- G06F16/214—Database migration support
Definitions
- the invention relates to the field of block chains and more particularly to a technique for migrating block chain (s).
- a chain of blocks indexes the data deemed important. Every block, every transaction, every address, for example, is an indexed key for quick access to data. On the other hand, the more keys an index contains, the more its performance is reduced. As a blockchain only increases in storage size, the more it is used, the more that blockchain stores stale data, the slower its performance.
- the present description relates to a method of migrating a chain of blocks to be replaced, called the first chain of blocks, to a chain of replacement blocks, called the second chain of blocks, the method being implemented. implemented by one or more computers.
- the migration method comprises: an initialization of the second blockchain, the initialization comprising a generation, in a main blockchain configured to supervise the access to the first and second blockchains, of a supervision area of the second chain of blocks; a registration of one or more users with the second blockchain, the registration of a user comprising a registration in a user directory in the main blockchain of a secondary address allocated to this user for connection to the second chain of blocks; generation in the second chain of blocks of a set of data blocks corresponding to an image of the first chain of blocks, the image corresponding to a determined instant in the history of the first chain of blocks; a switchover of all or part of the users from the first chain of blocks to the second chain of blocks so as to prohibit the recording of transactions on behalf of these users in the first blockchain and allow the recording of transactions on behalf of these users in the second blockchain.
- the method according to the first aspect comprises recording new transactions for which a registration request has reached the first blockchain both in the first blockchain and in the second chain of blocks for a period, called the mirror period, before the switching step. This makes it possible to avoid a sudden switch from one blockchain to another and to provide a period during which the users will be able to switch individually, each according to their needs, from the first blockchain to the second blockchain.
- the method according to the first aspect comprises a definitive switch to the second blockchain by modifying the rights of the users on the first blockchain, so that no more transactions can be recorded in the first blockchain and any new transaction is recorded only in the second blockchain.
- the method according to the first aspect the supervision area of the second blockchain configured to store user rights on the second blockchain.
- the first blockchain is implemented in a communication system comprising a plurality of nodes and an instance of the first chain at each node, the method comprising, for at least one node of the communication system, following the definitive switchover, a deletion of the instance of the first chain of blocks located at the level of the node considered.
- the method according to the first aspect comprises an allocation to each user of the second blockchain of a multi-signed address for signing transactions to be recorded in the second blockchain on behalf of this user, the multisigned address being generated from the secondary address allocated to this user for connection to the second block chain and from an administrator address of the second block chain.
- the secondary address allocated to a user for connection to the second blockchain is stored in the user directory in association with the multi-signed address .
- the multi-signed address is used to record new transactions in the second blockchain during the mirror period.
- the rights of a user on the second blockchain are recorded in the supervision area in association with the multisigned address allocated to this user.
- the generation of the image of the first chain of blocks comprises a recording in the second chain of blocks of a set of data blocks representative of units. assets held by one or more users of the first blockchain at the determined time.
- the method according to the first aspect comprises recording in the main blockchain of a marker for each user indicating whether or not this user has switched to the second blockchain.
- the present description relates to a computer device or computer system comprising means for implementing the method according to the first aspect.
- These means may comprise one or more processors and one or more memories comprising computer program code, the memory (s) and the computer program code being configured to, together with the processor (s), cause execution by the processor.
- device of the steps of the method according to the first aspect the memory (s) comprise a computer program comprising instructions configured to cause the device to perform the steps of the method according to the first aspect.
- the various steps of the method according to the first aspect are implemented by one or more computer programs.
- the present description thus relates to a data storage medium readable by a processor on which is recorded a computer program comprising instructions for the execution of the steps of a method according to the first aspect are implemented by one or more computer programs.
- the present description thus relates to a computer program product comprising instructions for the execution of the steps of a method according to the first aspect when the computer program is executed by a data processor.
- FIG. 1A schematically shows a communication system comprising block chains
- FIG. 1B schematically illustrates aspects of a node of a communication system according to Fig. 1A;
- FIG. 1C illustrates aspects of generating a user address
- FIG. 1D illustrates aspects of generating a multi-signed address
- FIG. 2A schematically shows the relationships between a main blockchain and secondary block chains
- FIG. 2B schematically represents the relationships between a main block chain and secondary block chains for the management of the rights and addresses of a user
- FIG. 3A schematically illustrates aspects of a method of connecting a user to a secondary blockchain
- FIG. 3B represents a flowchart of a method of connecting a user to a secondary blockchain according to one or more embodiments according to one or more embodiments;
- FIG. 4A schematically illustrates aspects of a process for migrating from a secondary blockchain to be replaced to a secondary blockchain replacement
- FIG. 4B is a flowchart of a process for migrating from a secondary blockchain to be replaced to a replacement secondary blockchain according to one or more embodiments.
- blockchains can be used to record any type of transaction. Behind the scenes, a blockchain is generally defined as a computerized ledger of transactions. The blockchain (this computerized ledger) "grows" as more data blocks are recorded in it, these data blocks corresponding to new transactions or to sets of new transactions that are added to the chain. of blocks. New data blocks corresponding to new transactions are recorded in the blockchain after a validation process that is specific to each blockchain.
- transaction can cover any type of transaction between one or more actors. It can relate to any type of product or material, device component, packaging and / or document or physical or electronic file, including virtual assets such as data, electronic files, intangible assets or even data. cryptocurrency.
- blockchain technology allows the creation of a computerized register of transactions, non-repudiable, resistant to forgery.
- FIG. 1A schematically represents a communication system 1000 for the implementation of blockchains, in the case of a decentralized architecture.
- This communication system 1000 includes several nodes 100, 101, 102 communicating with each other through a communication network 110. These nodes are generally organized in a network of peers.
- This figure shows an example of a network illustrating the “decentralized” nature of the blockchain and the relationships between network nodes (peer-to-peer network).
- This figure schematically illustrates a possible architecture of an operating network and / or use of one or more blockchains. Another architecture or infrastructure could be chosen.
- Each node 100, 101, 102 of the communication system 1000 can correspond to one or more physically distinct computer devices, implementing software corresponding to one or more software applications.
- This software implements, at the node level in question, the functionalities of a block chain and accesses one or more data sets for the storage of the data blocks of the block chain in question.
- the data blocks can be stored in a distributed manner (in this case, we speak of a distributed register, or "distributed ledger" according to English terminology) , for example on one or more sub-nodes of a local network at the level of the node considered.
- the node 100 comprises a computer device 150, implementing the functionalities of two chains of blocks 130, 140 and accessing two sets of data 130, 140, which correspond respectively to these two chains of blocks 130, 140.
- the node 101 comprises a computer device 151, implementing the functionalities of two chains of blocks 131, 141 and accessing two sets of data 131, 141, which correspond respectively to these two chains of blocks 131, 141.
- the node 102 comprises a computing device 152, implementing the functionalities of two chains of blocks 132, 142 and accessing two sets of data 132, 142, which correspond respectively to these two chains of blocks 132, 142.
- Each computer device 150, 151, 152 can be implemented by one or more physically distinct machines.
- the computing device 150 can have the overall architecture of a computer, including components of such an architecture: data memory (s), processor (s), communication bus, hardware interface (s) for the connection of this device to a network or other equipment, interface (s) user, etc.
- Each computer device 150, 151, 152 is configured to communicate via the communication network 110 with the other nodes 100, 101, 102 of the communication system and implements all or part of the functions of one or more channels of associated blocks 130, 131, 132 and / or 140, 141, 142.
- each computer device 150, 151, 152 implements user registration functions, allocation of rights on the block chain , user address allocation, blockchain access control, signing and recording transactions, reading and writing data sets or data blocks, etc., as described in this document for the relevant blockchain.
- a node 100, 101, 102 can be a full node or a lightweight node for a given blockchain. If the node 100, 101, 102 is a full node, the node stores locally (in one of the local data sets) all the data blocks of the blockchain: the data blocks are in this case duplicated as many times as 'there are knots. [0037] In the example of FIG. 1A, if it is assumed that the blockchain 130 (respectively 140) is initially created by an administrator Z0 by means of the computing device 150, then each of the blockchains 131 and 132 (respectively 141 and 142) are an instance of the same. blockchain 130 (respectively 140). If node 100, 101, 102 is a lightweight node, the node locally stores only user Z0, Z1, or Z2 data blocks from that node. The invention described in this document is applicable regardless of the type of node.
- a user Z1 of the node 101 wishes to connect to a chain of blocks 130, he will establish, by means of a computer device 151, a connection via a telecommunications network to the computer device 150 corresponding to an administrator Z0 of the targeted blockchain. If node 101 is a full node, a full copy of blockchain 130 will be created at node 101 after the first connection and after rights have been given to this user Z1 on blockchain 130. Each new one following user Z2, Z3 etc will be able to connect to any one of the nodes 100 or 101 already created.
- FIG. 1 B schematically illustrates the principle of updating block chains in the exemplary case of a block chain 141 and of a node 101.
- This figure schematically illustrates a possible architecture of a computer system. for the operation and / or use of a blockchain.
- Fig. 1B represents an example of a local node serving to illustrate the "autonomous" character of the blockchain where the data is stored locally for each node and updated by the network and requires a "Interface" to be used by the local node.
- Another architecture or physical / material structure could be considered.
- each node 101 includes software 161 (respectively 160, 162) implementing all the functions associated with the chain of blocks considered.
- This software 161 can comprise at least a first software sub-assembly 161 A (respectively 160A, 162A) configured to perform the operations of writing and reading of data blocks as well as the operations of synchronization with the data blocks. other instances of the blockchain on other nodes.
- the software subset 161A locally updates the instance 141 of the considered blockchain by recording one or more new data blocks.
- the software 161 may further include at least a second software sub-assembly 161 B (respectively 160B, 162B), based on the first software sub-assembly 161A and configured to implement the various functionalities described in this document.
- the software 161 (respectively 160, 162) can further include at least a third software subset 161C (not shown) based on the first and second software subsets 161A and 161 B and configured to implement the functionalities. user interface.
- the software of a blockchain can correspond to one or more software applications and one or more computer devices.
- Each software subset of the software of a blockchain can correspond for example, depending on the software architecture chosen, to a stand-alone software application within the software, or an application layer within the software or even to one or more several software components within the software. Any other architecture is possible.
- Each operation performed on a given blockchain is performed by means of the software associated with this blockchain, executed by the computing device of one of the nodes. For example, the operations performed by a user Z1 on a given block chain will be performed by means of the software 161 associated with the block chain considered, executed by the computer device 151 of the node 101 associated with the user Z1.
- the blockchains 130, 131, and 132 can be instances of the same blockchain and a synchronization mechanism is then implemented for these instances 130, 131, 132 through the communication network 110 connecting the various nodes 100, 101, 102.
- Each data block stored in a chain of blocks 130, 131, 132 or 140, 141, 142 can be accessed by one or more users depending on the rights of these users Z0, Z1, Z2 on this data block.
- the trust of blockchains is, in particular, based on the empowerment of each user who becomes fully involved in his own data management.
- a user can therefore have the possibility of creating datasets, if this is the case then he is the legitimate owner of the dataset, no one other than him can create new data within this dataset.
- each has on its own address, which is not accessible by any other actor, the data that it may have received. It is therefore, a priori, impossible to carry out an action for someone else while leaving him or her autonomous over similar actions regardless of the level of law of the person carrying out the action.
- a user address (173) is a personal identifier on the blockchain (like an email address on a mail server).
- FIG. 1C illustrates the principle of generating a user address (173) for a blockchain.
- the user address (173) of a user entity (or user) of the blockchain can be seen as the (unique) identifier of that entity.
- This user address (173) is generally, in the case of asymmetric encryption, generated from a public signing key (172) (and therefore from the private key (171) since the public key (172) is in general calculated from the private key (171)).
- a user address (173) can be used by a user entity such as: a physical person, a script or any system, autonomous or not, which can connect to a blockchain.
- FIG. 1C illustrates in particular the dependence between the private key (171), the public key (172) and the associated signature.
- the private key (171) is for example generated randomly, then by a first algorithm (for example ECDSA, Elliptic Curve Digital Signature Algorithm) the public key (172) is generated from the private key (171), then by a second algorithm (for example a hash function or “hash” according to the English terminology) the user address is generated from the public key (172).
- a blockchain user can manage several user addresses, these user addresses are kept in a wallet or “wallet”.
- asset For a chain of blocks, it is possible to distinguish different categories of assets (or object classes).
- assets In Anglo-Saxon terminology, we speak of “assets”, which is translated here as “assets”.
- the term “Bitcoin” usually refers to a blockchain that contains only one category of assets of the same name: Bitcoin. Newer blockchain systems allow different categories of assets to be created according to user needs.
- the object class is generally owned by a single user address belonging to the user who created this object class and in this case only that user is able to generate new units of assets for this asset.
- each user owns the Bitcoin asset.
- Asset units are the units used to quantify each asset of an asset class. For example if an asset corresponds to an "Apple" category, the asset unit corresponds to an "apple". Units of assets are held by addresses that received those units of assets, for example as a result of blockchain transactions. An instance of an object class, indicating a number of units of an asset of a given category, is owned by one and the same user address (173), i.e. is the property of a single user to whom this user address (173) is assigned. Only a user who owns units of assets is able to transmit or transact on units of assets he owns. .
- Blockchain processors are the processes that move transactions from "unconfirmed” to "confirmed” status, such as miners in the case of a proof-of-work blockchain. By definition, processors can only accept, upon confirmation, technically complete and valid transactions. A partial transaction cannot be accepted by processors and therefore cannot be stored, as a transaction, in a blockchain.
- the permissions define the rights of a user address (173) on a permitted blockchain. These are the permissions that indicate whether the address is able to connect to the blockchain, whether it can send and / or receive transactions, whether it has the ability to create assets.
- the present description is aimed at both authorized systems and so-called non-authorized systems, that is to say without the slightest restriction of rights for any present or future user.
- FIG. 1D Examples of rights that can be granted to one or more user addresses of the blockchain are schematically illustrated in FIG. 1D and may include: Connection rights for a user address (173) having the right to connect to the blockchain (this set of rights is named “Connect” in Fig. 1D); this set of rights includes read rights, so a user can read the data blocks;
- Asset creation rights for a user address (173) having the right to create new assets in the blockchain (implicitly has the right to send and receive) (this set of rights is named “Issue” on Fig. 1D);
- Block creation rights for a user address (173) which manages the creation of new blocks in the blockchain (this set of rights is named "Miner” in Fig. 1D);
- FIG. 1D further illustrates the principle of generating a multi-signed address (180, 190) for a plurality of users of a blockchain.
- a multi-signed address (180, 190) can be used to sign transactions in a blockchain.
- a multi-signed address (180, 190) can take different forms depending on the blockchain involved.
- a multisigned address (180, 190) is an address the use of which is reserved for a predefined number of authorized signatories (or users).
- a multisigned address (180, 190) is generated from the signatures of the authorized signatories.
- a multi-signed address (180, 190) is defined by the number of signatures required to confirm a transaction using that multi-signed address (180, 190) and the list of authorized associated users (or signatories) associated with these signatures.
- S x P to inform of the number (S) of signatures required among the (P) keys public possible.
- the number of signatures required for a transaction involving these two signers is at least 1 (multisigned address 180) and at maximum of 2 (multisigned address 190). If the number of signatures required is 1, then any transaction created with the multisigned address (180) can be confirmed if it has only one signature. If the number of signatures required is 2, then any transaction created with the multi-signed address (180) will require 2 signatures (one signature per signer) to be able to be confirmed. Any transaction carried out with a multisigned address (180) bears the signature of the original address of the signature.
- a multi-signed address (180) can be generated and if this multi-signed address (180) only requires the signature of Alice or Bob, then for any transaction from the address multisigned (180) and bearing only one signature, any user who can consult the transaction will be able to determine whether the transaction was signed by Alice or by Bob.
- FIG. 1D According to what is shown in FIG. 1D:
- the rights allocated to Alice are the "Miner”, "Origin node” rights for a first address and “Send” and “Receive” for a second address;
- the rights allocated to Bob are the "Send”, “Issue” and “Receive” rights for a first address, the "Send” and “Receive” rights for a second address;
- the rights associated with the multi-signed address can be assigned as needed; in the example of Figure 1D, the associated rights correspond to the rights named "Send” and "Receive”.
- main block chain and secondary block chain In the context of the present description, the notion of main block chain (also called master block chain or, more simply, master) and of chains of secondary blocks.
- the master is the main blockchain which has a supervisory function on the secondary blockchains.
- the master notably stores the technical supervision information allowing the supervision of secondary blockchains, for example: user addresses, rights associated with users, connection parameters, etc.
- Secondary block chains are block chains which store application information, for example information necessary for systems / projects / applications associated respectively with each of these secondary block chains. These secondary block chains therefore generally do not contain any technical supervision information, unlike the master.
- a secondary blockchain is replaced by a second secondary blockchain.
- the migration method can subsequently be applied to this second secondary blockchain so that this second secondary blockchain is itself replaced by a third secondary blockchain and so on.
- a secondary block chain thus succeeds a previous secondary block chain and the block chains thus form a temporal succession (or time series) of secondary block chains.
- a time series of blockchains is for example denoted BS26, and two successive block chains of index 41 and 42 in the time series BS26 will be denoted for example BS26-41 and BS26-42.
- the blockchain index starts at 1 (BS26-1) for the initial blockchain and does not presumably have a limit.
- BS26-Y a secondary blockchain (220) of any index Y and BS26- (Y-1) the previous secondary blockchain (220) in the time series and BS26- (Y + 1) the next secondary blockchain (220) in the time series.
- the Y index thus corresponds to a version number of the BS26-Y blockchain.
- Technical supervision data is stored by the master (200) for each secondary block chain (220) supervised by the master (200).
- the technical data for supervision includes parameters for creating a secondary blockchain (220) and parameters for migration.
- the parameters for creating a secondary blockchain (220) are a set of parameters that define criteria for creating blockchains or time series of blockchains and parameters for migrating blockchains within of a time series. These creation parameters can be changed over time but are inherently set for a relatively long duration, at least for the duration of use of a blockchain in a time series.
- the parameters for creating a blockchain can include: a description of the blockchain and / or a maximum size and / or a minimum size and / or a migration trigger size and / or a frequency of migration and / or a switchover time range and / or an end of migration.
- Parameters such as maximum size and / or minimum size and / or migration trigger size and / or migration frequency and / or switchover time range and / or end of migration serve as migration parameters. These creation parameters are described in more detail below.
- the parameters such as maximum size and / or a minimum size and / or a size of Migration trigger and / or migration frequency and / or switchover time range and / or migration end are migration parameters.
- Migration parameters are used to determine when a secondary blockchain should be migrated and the duration of that migration operation so that a migration start date can be derived when the migration process should be triggered.
- the description of a blockchain can include a general description valid for the entire time series, for example comprising information specific to the time series of blockchains concerned and / or a description specific to a specific blockchain. of a time series. All of the information contained in the description is sufficiently comprehensive or explicit to allow a user to know if they are interested in this time series or a particular blockchain.
- the maximum size of a blockchain is the maximum size allocated to that blockchain before this blockchain is replaced by another blockchain.
- the minimum size of a blockchain is the minimum size allocated to that blockchain before that blockchain is replaced by another blockchain.
- the blockchain migration trigger size is the desired size for this blockchain to trigger the replacement of this blockchain. If the system follows an evolution close to a linear evolution then a prediction system can be set up to determine, in advance, when this size will be reached.
- the migration trigger size is greater than or equal to the minimum size and it is less than or equal to the maximum size.
- a migration frequency expressed in units of time, can also be used instead of the migration trigger size to set the length of time after which the blockchain should be replaced.
- the migration trigger size can be specified as an interval so as not to force a change at a time that is unsuitable for systems / application projects.
- the failover time range allows you to specify one or more time ranges where blockchain replacement will be best accepted by application systems / projects.
- the chain of blocks to be replaced is stopped and only the chain of replacement blocks is kept.
- the end of migration is therefore calculated as the moment when the criteria of size and time range of failover are met, and at the latest when the maximum size is reached.
- BSX-Y blockchain takes over from another BSX- (Y-1), that is to say that the BSX-Y blockchain contains up-to-date information for the normal continuity of the system / application project, it may be necessary not to limit oneself to the only immediate information, that is to say a snapshot of the data at the time of the start of migration, but to include data over a period preceding the start of migration. This past period is called the memory period or the remanence period.
- BSX-Y blockchain replaces another BSX- (Y-1) blockchain
- the BSX- (Y-1) blockchain cannot be stopped ( i.e. decommissioning and offline) before the BSX-Y blockchain is fully functional. It is therefore necessary to wait until all systems / application projects have migrated from BSX- (Y-1) to BSX-Y.
- the time allowed for this migration is defined as the time allowed for migration.
- the allowed time to migrate a blockchain is prior to the switchover date to the new BSX-Y blockchain and may be the result of a predictive calculation. The result of the predictive calculation will be all the more consistent as the evolution of the size of the blockchain can be predicted (regular evolution, at best linear).
- the master (200) comprises, for each chain of blocks under the supervision of the master (200) a supervision data storage area, here also called technical area or supervision area (250), accessible, read only , by users of the relevant blockchain.
- This supervision zone (250) makes it possible to store and exchange all the information necessary for connection to the block chain concerned, whether this block chain is a first chain of blocks of a new time series or a chain of blocks. replacing a previous blockchain in an already existing time series.
- the supervision area (250) is also used to configure the use of the blockchain during the authorized migration period.
- the supervision area of a blockchain can be specific to a single version of the blockchain or else be common to all the blockchains of the blockchain time series to which this blockchain belongs.
- a single supervision zone (250) is used for the different blockchains of a time series of blockchains: a common supervision zone ZTBS1 is associated with the time series of blockchains BS1-1, .. BS1-42, ... BS1-kk; a common ZTBS26 supervision area is associated with the time series of blockchains BS26-1, ... BS26-23, ... BS1-II; a common ZTBSxx supervision zone is associated with the time series of blockchain BSxx-1, ... BSxx-15, ... BSxx-mm.
- the supervision area (250) of a blockchain can include the parameters for creating the blockchain concerned.
- the supervision area (250) of a secondary blockchain (220) (BS26) can include the connection parameters associated with the secondary blockchain (220) (BS26) concerned.
- the supervision zone (250) can include the associated user rights and the user addresses for connection to each concerned BSX-Y secondary blockchain.
- the supervision zone (250) of a secondary block chain BSX-Y stores for example for each user Z, the user address (173) AM-BSX-YZ in association with the D-BSX-YZ rights associated with this user address (173) on the affected blockchain. If for example the rights of a user are deleted on a secondary blockchain (220) then the supervision zone (250) mentions it just as the supervision zone (250) comprises data specifying the rights obtained by a user on a particular user address (173).
- the master (200) stores in memory a directory (230) of users.
- This directory (230) of users includes a first part, called here directory (230) master (200), composed of niches, called niches master (231).
- the user address (173) A-M-Z allocated to a user for connection to the master (200) is referred to here as the master address or master address.
- the business card is a storage space where the identity of the user is detailed, for example in compliance with the regulations in force.
- a user's business card may include public and / or private information about that user such as last name, first name, alias, etc. Depending on the operation implemented, this identity card can be managed by the user himself or by the administrator of the master (200).
- An evaluation of the user (“scoring” according to the Anglo-Saxon terminology) can be set up and open for participation to all the other users of the master (200): in in this case the business card can be used to store this type of evaluation information.
- the technical manager (also called administrator) of a secondary blockchain is also identified in a business card in the directory of the master, like any other user.
- a secondary blockchain time series there may be one administrator per secondary blockchain version or a single administrator for all versions of a blockchain time series.
- the directory (230) of users includes a second part, referred to herein as a secondary directory, composed of niches, called secondary niches (232).
- An NBSX-Y-Z (232) secondary niche is storage space (corresponding to one or more data blocks) associated with a Z user and a given BSX-Y secondary blockchain.
- An NBSX-Y-Z (232) secondary niche is stored in association with that user's A-M-Z master address and / or that user's business card.
- NBSX-YZ In a secondary niche NBSX-YZ (232) is stored the user address (173) AT-BSX-YZ (also called technical address) allocated to this user Z for connection to the secondary block chain BSX-Y concerned in association with the user profile for this secondary blockchain.
- the AT-BSX-Y-Z user address (173) allocated to a Z user for connection to the BSX-Y secondary blockchain is also referred to herein as the secondary address.
- the user profile includes the rights of the user on the relevant secondary blockchain.
- the directory (230) can be structured by secondary blockchain so that the niches associated with users having access to a secondary blockchain are grouped together.
- the directory (230) can be structured in hives, with one hive per secondary blockchain, this hive comprising the niches associated with this secondary blockchain.
- a multisigned address (180) (also called "business address”) AM-BSX-YZ is generated from two addresses: on the one hand, the user address (173) AT-BSX-YZ allocated to user Z for connection to the secondary blockchain BSX-Y and, on the other hand, the administrator address AT-BSX-Y-Z0 of the blockchain administrator secondary BSX-Y.
- This multi-signed address (180) is used for performing operations on the secondary blockchain (220) BSX-Y, so that the technical administrator of the secondary blockchain BSX-Y is able to perform operations. on behalf of this Z1 user.
- the digital signature operation (s) of business transactions in the BSX-Y blockchain are performed: either by means of the secondary address AT-BSX-Y-Z1 when requested by user Z1, or by means of the administrator address AT-BSX-Y-ZO, when requested by the technical administrator of the BSX-Y blockchain.
- the master (200) also stores in memory a catalog (240) of secondary blockchains (see FIG. 2B).
- This catalog (240) lists the secondary block chains supervised by the master (200) and the descriptions respectively associated with these secondary block chains.
- the catalog (240) further includes for each secondary block chain (220) (eg BS26) a link to the supervision area (250) (eg ZTBS26) of this secondary block chain (220).
- the catalog (240) contains a data block (241) that points to the ZTBS26 supervision area (250) of the secondary blockchain BS26.
- the ZTBS26 supervision area (250) comprises a data block (251) associated with the user Z which stores in association a multisigned address AM-BS26- YZ allocated to the user Z for the transaction signing in the blockchain.
- the blockchains to which a user is likely to connect can multiply. These blockchains may correspond to related applications so that there is a need for centralized management and / or control of connections to different blockchains.
- a method for connecting to a block chain is implemented by one or more computers and comprises: receiving a request for connection to the block chain, the block chain being a secondary blockchain whose access is supervised via a primary blockchain; allocation to the user of a secondary address for connection to the secondary blockchain; a record, in the primary blockchain, in a user directory, of the secondary address; a recording, in the main block chain, in a supervision area of the secondary block chain, of the rights of the user on the secondary block chain granted by the administrator of the secondary block chain; authentication of the user by means of the secondary address following a connection request to the secondary blockchain.
- Such a method allows a user to connect to at least one secondary blockchain independently of the blockchain while allowing centralized management and supervision of connections. to the various secondary block chains.
- the method according to the first exemplary embodiment comprises receiving a request for recording a transaction sent by the user via a multisigned address generated from the secondary address and a user address of an administrator of the secondary blockchain; a signature of the transaction by the user by means of the signature corresponding to the secondary address.
- the method according to the first exemplary embodiment comprises a recording, in the main block chain, of a catalog of secondary block chains, the catalog comprising for each secondary block chain a description and a link to a supervision area of the relevant secondary blockchain.
- the method may include searching for at least one secondary blockchain in the blockchain catalog based on search criteria entered by a user; obtaining, in the supervision zone of the secondary block chain concerned, of connection parameters to the secondary block chain corresponding to the search criteria.
- the method according to the first exemplary embodiment may comprise a connection of the user to the main blockchain by means of a main address allocated to this user; a read, by means of a primary address, in the user directory of the secondary address of the user and of the multi-signed address; a read, in the main blockchain in the supervision area of the secondary blockchain, of the user rights stored in association with the read multisigned address; receiving a request for access from the user to the secondary blockchain and authenticating the user based on the read secondary address; a user login to the secondary blockchain on successful authentication.
- the secondary address allocated to a user for connection to the blockchain is stored in the user directory in association with the address multisigned.
- the rights of a user on the second blockchain are recorded in the supervision area in association with the multi-signed address allocated to this user.
- a computer device or computer system comprises means for implementing the method according to the first example of achievement.
- These means may comprise one or more processors and one or more memories comprising computer program code, the memory (s) and the computer program code being configured to, together with the processor (s), cause execution by the processor.
- device of the steps of the method according to the first exemplary embodiment the memory or memories comprise a computer program comprising instructions configured to cause the device to execute the steps of the method according to the first exemplary embodiment.
- the various steps of the method according to the first exemplary embodiment are implemented by one or more computer programs.
- a data storage medium readable by a processor on which is recorded a computer program comprising instructions for the execution of the steps of a method according to the first exemplary embodiment when the instructions are implemented by one or more computer programs.
- a computer program product comprises instructions for executing the steps of a method according to the first exemplary embodiment when the computer program is executed by a data processor.
- FIGS. 3A and 3B An example of a method of connecting a user to a blockchain is described in detail with reference to FIGS. 3A and 3B. To simplify the description, the example case of connecting to a particular BS26 secondary blockchain (220) is described, but is applicable to any other secondary blockchain (220).
- the master blockchain corresponds to instances 140, 141, 142 of blockchains, that the administrator of the master corresponds to the user Z0 and that the node of the administrator of the master thus corresponds to the node 100.
- Step 300 Recording of the catalog in the master
- the master stores a catalog (240) of secondary blockchains.
- This catalog (240) includes for each secondary block chain (220) a description and a link to a supervision area (250) of the secondary block chain (220) concerned. The storage of this information can be done as the channels are created. Secondary blockchains and updates on those secondary blockchains.
- This catalog registration can be done under the supervision of the Z0 administrator of the master. For example, with reference to FIG. 1A, this recording is done by means of the computing device 150 in the instance 140 of the master. Note that at this point, instances 141 and 142 of the master may not exist if users Z1 and Z2 are not yet registered with the master. If these instances exist, synchronization takes place so as to update the various instances 141 and 142 of the master.
- Step 305 User connection to the master (200)
- the user Z1 connects to the master (200) by means of a computer device 151 of the node 101.
- the user is authenticated on the basis of his master address (173) AM-Z1 which is allocated to him for the 'access to the master and associated authentication data (for example a password or other).
- This first connection can be made using any known connection procedure.
- the master address AM-Z1 of the user Z1 is stored, by means of the software associated with the master executed by the computer device 151 of the node 101, in the master niche NM-Z1 (231) of this user. It can be stored in conjunction with user Z1's business card.
- the secondary address (or technical address) AT-BSX-Y-Z1 of the user Z1 for the block chain secondary (220) will be stored in the NBSX-Y-Z1 niche (232) of the relevant secondary blockchain (220) and refers to the user's business card and / or the user's master address .
- a Z1 user After successful authentication, a Z1 user has access to the master (200), and in particular to the directory (230) and the catalog (240). In particular, a new instance
- this new instance is a full copy of instance 140 of the master of administrator node 100 associated with administrator Z0.
- Step 310 access to the catalog (240) and search for a chain of blocks
- the master (200) After connecting the user to the main blockchain, the master (200) presents the catalog (240) of the secondary block chains supervised by the master (200). Following a first authentication, the catalog (240) thus allows the user to know all the managed secondary blockchains.
- a search (310) for at least one secondary blockchain (220) is performed in the blockchain catalog (240) based on search criteria entered by a user. As explained above, this search is carried out by means of the software associated with the master executed by the computing device 151 of the node 101 of the user Z1.
- Step 320 obtaining parameters for connection to the secondary block chain.
- the catalog (240) being linked to the supervision areas of the secondary block chains, this makes it possible to find the connection parameters present in the supervision area of each secondary block chain (220).
- the user Z1 obtains from the master, by means of the software associated with the master executed by the computing device 151, parameters for connection to a secondary blockchain BS26 corresponding to the search criteria or to a secondary blockchain.
- BS26 selected by the user.
- connection parameters are read in the supervision zone (250) of the secondary block chain BS26 concerned.
- the supervision zone (250) can be stored in the different instances 140, 141, 142 of the master or only in the instance 140 of the node 100 of the administrator Z0 of the master.
- Step 330 connection to the secondary block chain
- This step concerns a first connection of the user to the secondary blockchain selected previously, this blockchain being a secondary BS26 blockchain, access to which is supervised via the master.
- the user sends, by means of a computing device (151), a request for connection to the secondary blockchain BS26 using the connection parameters obtained in step 320.
- a computing device 151
- connection is made on the current Y version of the secondary blockchain.
- BS26-Y will denote the block chain concerned by steps 340 to 380, but these steps are applicable in the same way to an isolated block chain, not forming part of a series.
- This connection request is made by means of the software associated with the secondary blockchain BS26-Y executed by the computing device 151 of the node 101 of the user Z1.
- Step 340 Allocation of Technical Address and Multi-signed Address
- the user obtains in return a user address (173) AT-BS26-Y-Z1 (secondary address, or even technical address), serving as a 'BS26-Y secondary blockchain connection identifier.
- the user Z1 After registration in the directory and allocation of the address AM-BS26-Y-Z1, the user Z1 also obtains the multi-signed address (180) AM-BS26-Y-Z1 which is allocated to him for the signing transactions to be recorded on behalf of this user in the secondary blockchain BS26-Y.
- the multi-signed address (180) is generated from the secondary address AT-BS26-Y-Z1 and a technical address AT-BS26-Y-Z0 (or administrator address) of a blockchain administrator secondary BS26-Y.
- AT-BS26-Y-Z0 or administrator address
- the secondary address AT-BS26-Y-Z1 (173) and the multi-signed address (180) AM-BS26- Y-Z1 are generated by the software associated with the secondary blockchain BS26-Y, executed by means of the computing device 150 of the administrator node 100 of the secondary blockchain BS26-Y, under the control of the administrator Z0 of the secondary blockchain BS26-Y.
- the software associated with the secondary block chain BS26-Y, executed by means of the computer device 150 of the administrator node 100 of the secondary block chain BS26-Y is thus in communication with the software associated with the chain of secondary blocks BS26-Y, executed by means of the computing device 151 of the node 101 associated with the user Z1.
- the multisigned address (180) AM-BS26-Y-Z1 is based on two signatures: on the one hand, the user's signature from the secondary address AT-BS26-Y-Z1 and, d on the other hand, the signature of the technical manager (or administrator) from the address AT-BS26-U-Z0 of the administrator Z0 of the secondary block chain BS26-Y.
- the multi-signed (180) AM-BS26-Y-Z1 address is determined so that it requires only one of the two possible signatures.
- Step 350 recording in the directory (230) of the master (200).
- the multi-signed (180) address AM-BS26-Y-Z1 is registered in the master in the secondary directory (230) as a business address for the BS26-Y blockchain.
- the multisigned address (180) AM-BS26-Y-Z1 is registered, in the niche NBS26-Y-Z1 of the secondary blockchain BS26-Y concerned, in association with the technical address AT-BS26-Y-Z1 so that an explicit link exists between the two addresses.
- the Z1 user has read rights on the master niche NBS26-Y-Z1 of the directory associated with it. After synchronization of the master instances, the Z1 user can read the multisigned address (180) AM-BS26-Y-Z1 and the technical address AT-BS26-Y- Z1 in this master niche NBS26-Y-Z1 using of the software associated with the master, executed by means of the computer device 151 of the node 101 associated with the user Z1. [0134] Step 360: registration of rights.
- Rights to the secondary blockchain BS26-Y are assigned to the user by the administrator of the secondary blockchain BS26-Y. Like the generation of addresses, the allocation of rights on the secondary blockchain BS26-Y is performed by the software associated with the secondary blockchain BS26-Y, executed by means of the computing device 150 of the administrator node 100 of the secondary blockchain BS26-Y, under the control of the Z0 administrator of the secondary blockchain BS26-Y.
- the D-BS26-Y-Z1 rights granted to the business address AM-BS26-Y-Z are recorded in the master (200) in the supervision area ZTBS26 of the secondary blockchain BS26-Y.
- D-BS26-Y-Z1 rights are registered by the administrator of the BS26-Y blockchain in association with the multi-signed address (180) AM-BS26-Y-Z1 in the ZTBS26 supervision zone of the chain of secondary blocks BS26-Y.
- This recording in the ZTBS26 supervision zone of the master is carried out in the instance 140 of the master, by the software associated with the secondary block chain BS26-Y, executed by means of the computer device 150 of the administrator node 100 of the block chain BS26-Y secondary, under the control of the Z0 administrator of the BS26-Y secondary blockchain.
- the other instances 141 and 142 of the master are updated at the level of the associated nodes 101 and 102.
- the Z1 user has read rights to the data in the ZTBS26 supervision zone that concerns him. After synchronization of the instances of the master, the user Z1 can read the D-BS26-Y-Z1 rights registered in the supervision zone ZTBS26 by means of the software associated with the master, executed by means of the computer device 151 of the node 101 associated with the user Z1.
- Step 370 connection to the secondary block chain BS26-Y.
- the user uses the technical address AT-BS26-Y-Z1 to log in and access the secondary BS26-Y blockchain.
- the user is authenticated on the basis of his user address (173) AT-BS26-Y-Z1 and associated authentication data (eg password).
- This connection is made by means of the software associated with the secondary blockchain BS26-Y, executed by means of the computing device 151 of the node 101 associated with the user Z1.
- Step 380 recording of a transaction in the secondary blockchain BS26-Y.
- the user sends, by means of his computer device 151, to the secondary block chain BS26-Y a request to record a transaction.
- This transaction registration request is issued from the multi-signed address AM-BS26-Y-Z1.
- This request is sent by the software associated with the secondary blockchain.
- BS26-Y executed by means of the computing device 151 of the node 101 associated with the user Z1.
- the transaction sent via the multi-signed address AM-BS26-Y-Z1 (if the transaction meets the required validation conditions) is signed by the user by means of the signature corresponding to the secondary address AT -BS26-Y-Z1, used for the generation of the multi-signed address AM-BS26-Y-Z1.
- any transaction between two or more users is performed from one multi-signed address (180) to another multi-signed address (180).
- transactions can be used to create assets, create units of assets, send units of assets, perform transactions that contain data unrelated to an asset or any other action permitted by BS26-Y secondary blockchain technology subject to the rights granted.
- one or more data blocks are recorded in the secondary block chain BS26-Y.
- the secondary blockchain BS26-Y corresponds to instances 130, 131, 132 described with reference to FIG. 1A.
- This registration is thus carried out in the instance 131 of the secondary block chain BS26-Y, by the software associated with the secondary block chain BS26-Y, executed by means of the computer device 151 of the node 101 associated with the user Z1. .
- the other instances 130 and 132 of the corresponding secondary blockchain BS26-Y are (as needed and full node / thin node mode) updated at the associated nodes 100 and 102.
- steps of this method are presented sequentially, the order of execution of these steps can be modified, some of the steps can be executed at least in part in parallel, some of the steps can be omitted or repeated. .
- the steps of this method relating to a block chain can be carried out by one or more of the physical entities (computers) implementing the functions of this block chain at the level of at least one node. .
- This migration method is implemented so as to keep only certain information of the migrated secondary block chains, for example the application information. In this way the memory size occupied by the secondary blockchain replacement is reduced compared to the memory size occupied by the replaced blockchain.
- the master (200) is in a way the conductor of the migration in that he supervises the migration by behaving like a communication hub.
- the migration of a blockchain is carried out under the supervision of the administrator of the BS26 and with the corresponding software 160 (in particular the software subset 160B, based on the software subset 160A) , implemented on the administrator node Z0.
- the migration of a blockchain is preferably carried out so as to guarantee continuity of service for the applications (systems / application projects) implemented by this blockchain.
- a migration start date is calculated by the administrator of the current secondary blockchain (220). This calculation can be done in several ways.
- the end of migration is calculated, for example at regular time intervals. From the end of migration, the start of the switchover time range is calculated, and from the switchover time range and / or the end of migration, the start of the allowed migration time is calculated. From the end of migration, the start of the buffer period is also calculated.
- step 410 on the occurrence of the start of the authorized migration period, the new secondary blockchain BS26-Y is initialized and recorded (connection parameters, migration parameters, description, and other parameters. useful) in the master (200) at the request of the administrator of the current secondary block chain (220), this new secondary block chain being intended to replace a secondary block chain to be replaced.
- a supervision zone is created in the main block chain for the new secondary block chain. Either the ZTBS26 supervision area is completed if only one supervision area is used for the blockchain series, or a new ZTBS26-Y supervision area is created in the master (200) for the new secondary blockchain BS26- Y if a supervision zone specific to each version is used.
- This ZTBS26-Y supervision zone includes the parameters for creating the new secondary block chain BS26-Y, these creation parameters can be identical or different from the parameters for creating the current secondary block chain BS26- (Y- 1). As described above, this supervision zone is intended to store the associated user rights and the user addresses for connection to the secondary block chain concerned.
- a new description of the new secondary blockchain BS26-Y is recorded in the catalog (240) of the master (200) or the description of the secondary blockchain series BS26-Y is updated.
- step 420 after initialization of the new secondary blockchain BS26-Y, the registration period begins and all the users wishing or having to register on the new secondary blockchain BS26-Y are invited to connect to it and to register in the directory (230) of the master (200) their new technical address for this new secondary blockchain BS26-Y.
- the business address and the technical address of the user concerned are recorded in the master in the directory (230) associated with the new chain of secondary blocks as described with reference to FIGS. 3A and 3B.
- Only the administrator of the new secondary blockchain BS26-Y has write rights in the supervision area of the new secondary blockchain BS26 and in the secondary directory associated with the secondary blockchain BS26.
- the registration in the directory of the master is carried out in the instance 140 of the master, under the control of the administrator Z0 of the secondary block chain BS26-Y via the software associated with the secondary block chain BS26-Y , executed by means of the computing device 150 of the administrator node 100 of the secondary blockchain BS26-Y.
- the other instances 141 and 142 of the master are updated at the level of the associated nodes 101 and 102. It is recalled here that there can be a single administrator for all the channels number of blocks in a time series or one administrator per blockchain version. During the registration period, user rights can be modified or not renewed
- the rights are assigned to all the business addresses (multi-signed addresses) allocated for the new secondary blockchain BS26-Y.
- the technical addresses remain without rights, or alternatively with rights to send but without reception rights for all the corresponding users, so that the state of the new secondary blockchain remains frozen until step 450 of failover of users. In particular, no new data block can be generated in the new secondary blockchain.
- the initialization period begins after allocation of rights to business addresses.
- the administrator of the new secondary blockchain BS26-Y having the right to sign on each multisigned business address, generates, with the business addresses (multisigned addresses) of the owner users, in the new chain of blocks, a set of data blocks corresponding to an image of the first chain of blocks.
- the signing of these data blocks is done by the administrator using the secondary blockchain administrator address BS26-Y. This image corresponds to a specific time in the history of the first blockchain.
- each asset and each asset unit is recreated and the asset units are allocated to user addresses so that the data image of the new secondary blockchain BS26-Y is the same as The data image of the old secondary blockchain BS26- (Y-1) in terms of assets owned by users.
- the instant at which the image is generated corresponds to the start of the memory period of the old secondary blockchain BS26- (Y-1).
- operations performed in the past on the old secondary blockchain BS26- (Y-1) during a memory period of the old secondary blockchain BS26- (Y-1) are carried out on the new secondary blockchain BS26-Y so as to reproduce the relevant part of the history of the blockchain BS26- (Y-1).
- the initial image is generated at the instant T0, corresponding to the start of the memory period. Then the operations carried out during a time period of duration T1-T0 are reproduced on the new secondary blockchain BS26-Y so that, following this reproduction, the state of the new secondary blockchain BS26-Y corresponds to the current state of the 'old blockchain at time T 1. Time T 1 also corresponds to the start of the migration period.
- the generation of this image is performed in a local instance of the new secondary block chain BS26-Y, by the software associated with the new secondary block chain BS26-Y, executed by means of the computing device 150 of the administrator node. 100 of the new BS26-Y secondary blockchain, under the control of the Z0 administrator of the new BS26-Y secondary blockchain. With no user registered, there are no other instances of the new BS26-Y secondary blockchain for which synchronization is required.
- the so-called mirror period begins, corresponding to step 440.
- the old secondary blockchain BS26- (Y-1) coexists with the new one.
- secondary blockchain BS26-Y remains accessible for all operations in accordance with the rights granted.
- These new transactions are transactions for which a registration request has reached the blockchain to be replaced or the replacement blockchain.
- the registration of this user can be simulated by creating by assigning it a secondary address and a multi-signed address and the registrations in the new blockchain are required by the administrator of the new blockchain using this user's multi-signed address and signed with this administrator's secondary address.
- any new block created in the new or old blockchain is also duplicated by a synchronization mechanism in each of the existing instances of the new or old blockchain.
- the user switchover period begins after the start of the mirror period and corresponds to step 450. As illustrated by FIG. 4A, this user switching period can be done at least in part in parallel with the mirror period.
- the rights are allocated to the addresses techniques and systems / projects using the old secondary blockchain and having rights to the new secondary blockchain are allowed to switch to the new secondary blockchain BS26-Y.
- a marker is stored, by means of the software associated with the master, under the control of the administrator Z0, for this user in the master (200) which includes the identifier of the blockchain secondary to which a user is connected.
- a marker indicates whether or not a user has switched to the replacement blockchain.
- the switching of a user thus corresponds to a switching of rights from this user to the replacement block chain (whether or not these rights are identical on these two block chains).
- the records of new transactions are reoriented in an appropriate manner.
- the BS26- (Y-1) blockchain to be replaced then the BS26-Y replacement blockchain is updated with the software associated with BS26-Y, from the user, to keep it like the blockchain to be replaced BS26- (Y-1).
- the master serves as a communication register in that the master makes it possible to determine to which version of the secondary blockchain a user must connect to at a given moment in the migration process, thanks in particular to the marker registered for this user.
- the two blockchains coexist for the duration of the mirror period during which users can be migrated from one chain to another, each at different times and without constraint.
- the computation time required to start the new chain is reduced to a minimum.
- step 460 This step corresponds to the switching between the old BS26- (Y-1) secondary blockchain and the new BS26-Y secondary blockchain.
- This switch between secondary blockchains is final so that any new transaction is recorded only in the new blockchain so that no more transactions can be recorded in the old BS26- (Y-1) blockchain and any new transaction is recorded only in the new BS26-Y blockchain.
- the mirror period therefore ends and all rights, except possibly the connection right (set of “Connect” rights described with reference to Fig. 1D), are removed from the user addresses for the old secondary blockchain BS26- ( Y-1). Keeping only connection rights does not allow users to delete their local instance on the old secondary blockchain BS26- (Y-1), but only to be able to reconnect and find all historical data (rights reading) if necessary.
- the recording of the restricted rights on the old secondary block chain is carried out in the master in the supervision area of the old block chain in a local instance of the master, by the software associated with the master, executed at means of the computing device 150 of the administrator node 100 of the old secondary blockchain, under the control of the administrator Z0 of the old secondary blockchain.
- a Z1 user has the option of removing the local instance at his node 101 from older versions of blockchains for which the migration is complete. All information relating to transactions prior to the migration (prior to the migration period) is in fact kept at the level of the BS26 administrator's node without it being necessary to keep at the level of the other nodes.
- any new user is forced to use the new secondary blockchain BS26-Y from the shutdown of the old secondary blockchain BS26- (Y-1 ) so that you can continue to use the functionality associated with this secondary BS26 blockchain.
- the master has a supervisory role but does not determine how the rights are allocated to the users in the different chains of secondary blocks.
- the master therefore has a declarative role and storage of information about supervised blockchains.
- An administrator of a secondary blockchain could not store the rights allocated to users in the master and rely solely on internal management of the secondary blockchain of these rights to determine which rights to apply. .
- the rights of an administrator on the master could in this case be withdrawn.
- the master (200) is the entity that manages the migrations of secondary blockchains in the same time series of secondary blockchains.
- the master (200) is a blockchain just like the secondary blockchains.
- the master (200) can also exceed a maximum size limit, for example a size limit tolerated by the users. It may therefore be necessary to replace the master (200) in the same way as the secondary blockchains are replaced.
- the current master (200) can thus be replaced by a new master (200) by following the same migration process as the secondary blockchains with the only difference that the migration data is self-supporting, that is to say say that the current master (200) itself stores all the data necessary for the migration of users from the current master (200) to the new master (200).
- the parameters for creating a new master (200) contain, in addition to the creation parameters described for the chains of secondary blocks, a pointer to the previous master (200) which allows users who have had an activity to make better use of the history stored in the previous master (200) if necessary.
- processors can be ensured by the use of dedicated hardware as well as of hardware capable of executing software in association with appropriate software.
- functions may be provided by a single dedicated processor, by a single shared processor, or by multiple individual processors, some of which can be shared. Other materials, conventional and / or specific, can also be included.
- the present document thus relates to a computer program, capable of being executed by a computer or by a data processor, this computer program comprising instructions for controlling the execution of the steps of one or more method. of the methods described in this document.
- This computer program can use any programming language, and be in the form of source code, object code, or intermediate code between source code and object code, such as in a partially compiled form, or in any other desirable form.
- the instructions are intended to be stored in a memory of a computing device 150, 151, 152 in order to be processed (read, interpreted, etc.) with a view to their execution by one or more processors of this device.
- the computing device 150, 151, 152 can be implemented by one or more physically distinct machines.
- the device can have the overall architecture of a computer, including components of such an architecture: data memory (s), processor (s), communication bus, hardware interface (s) for the connection of this device to a network or other equipment, user interface (s), etc.
- processor should not be interpreted as referring exclusively to hardware capable of executing software, and may include purely hardware components, a digital signal processor (DSP), a network processor , an application specific integrated circuit (ASIC), a programmable gate network (FPGA), etc.
- DSP digital signal processor
- ASIC application specific integrated circuit
- FPGA programmable gate network
- the present description also relates to a data storage medium readable by a computer, transient or not, and comprising instructions of a computer program as mentioned above.
- the data storage medium can be any entity or device capable of storing the computer program.
- the data storage medium may comprise one or more ROM or RAM memories, one or more flash memories, one or more digital memories, one or more magnetic storage media such as magnetic disks and magnetic tapes, disks hard drives or optical readable digital data storage media, etc.
Landscapes
- Engineering & Computer Science (AREA)
- Databases & Information Systems (AREA)
- Theoretical Computer Science (AREA)
- Data Mining & Analysis (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Computing Systems (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
Description
Claims
Applications Claiming Priority (3)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| FR1909627A FR3100351B1 (fr) | 2019-09-02 | 2019-09-02 | connexion à chaîne de blocs de données |
| FR1909624A FR3100350B1 (fr) | 2019-09-02 | 2019-09-02 | migration d’une chaîne de blocs de données |
| PCT/EP2020/073486 WO2021043599A1 (fr) | 2019-09-02 | 2020-08-21 | Migration d'une chaîne de blocs de données |
Publications (1)
| Publication Number | Publication Date |
|---|---|
| EP4026016A1 true EP4026016A1 (fr) | 2022-07-13 |
Family
ID=72088141
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| EP20757362.7A Pending EP4026016A1 (fr) | 2019-09-02 | 2020-08-21 | Migration d'une chaîne de blocs de données |
Country Status (3)
| Country | Link |
|---|---|
| US (1) | US11934386B2 (fr) |
| EP (1) | EP4026016A1 (fr) |
| WO (1) | WO2021043599A1 (fr) |
Families Citing this family (3)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US20220051129A1 (en) * | 2020-08-14 | 2022-02-17 | International Business Machines Corporation | Blockchain-enabled model drift management |
| CN114866560B (zh) * | 2022-04-29 | 2023-12-01 | 蚂蚁区块链科技(上海)有限公司 | 区块链节点迁移的方法、装置、电子设备及可读存储介质 |
| US12457264B2 (en) * | 2023-05-22 | 2025-10-28 | Verizon Patent And Licensing Inc. | Systems and methods for migration of distributed ledger node environments |
Family Cites Families (15)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JP7189144B2 (ja) * | 2017-04-11 | 2022-12-13 | エヌチェーン ライセンシング アーゲー | 動的ノードグループのための秘密鍵のセキュアな再利用 |
| US11240035B2 (en) * | 2017-05-05 | 2022-02-01 | Jeff STOLLMAN | Systems and methods for extending the utility of blockchains through use of related child blockchains |
| US11177961B2 (en) * | 2017-12-07 | 2021-11-16 | Nec Corporation | Method and system for securely sharing validation information using blockchain technology |
| WO2019142049A1 (fr) * | 2018-01-17 | 2019-07-25 | Geeq Corporation | Procédés, nœuds, systèmes, et produits associés à des chaînes de blocs |
| CN108829350B (zh) * | 2018-05-31 | 2020-02-21 | 阿里巴巴集团控股有限公司 | 基于区块链的数据迁移方法和装置 |
| US10671315B2 (en) * | 2018-08-17 | 2020-06-02 | Bank Of America Corporation | Blockchain architecture for selective data restore and migration |
| US11032292B2 (en) * | 2018-09-04 | 2021-06-08 | Allen Gluck | Systems and methods for hybrid blockchain control |
| US12147399B2 (en) * | 2018-11-06 | 2024-11-19 | International Business Machines Corporation | Migration of a legacy system |
| US20200162263A1 (en) * | 2018-11-15 | 2020-05-21 | Eleven01 International Limited | System and method of validation of block chain by secondary chain having incentivization and insurance coverage powered by proof of work |
| US11025431B2 (en) * | 2018-12-31 | 2021-06-01 | Mastercard International Incorporated | Method and system for two factor authentication for blockchain transactions |
| US11734655B2 (en) * | 2019-01-17 | 2023-08-22 | Mastercard International Incorporated | Method and system for a failsafe mechanism for blockchain wallets |
| US11044074B2 (en) * | 2019-01-22 | 2021-06-22 | Mastercard International Incorporated | Method and system for state associated device identification for digital payments using blockchain technology |
| US11405181B2 (en) * | 2019-07-12 | 2022-08-02 | Microsoft Technology Licensing, Llc | Lightweight blockchain based on split-trust |
| US10860259B1 (en) * | 2019-07-17 | 2020-12-08 | Tyson York Winarski | Multi-tiered storage system for blockchain |
| US11573780B2 (en) * | 2019-08-16 | 2023-02-07 | Red Hat, Inc. | Automated generation of status chains for software updates |
-
2020
- 2020-08-21 US US17/638,962 patent/US11934386B2/en active Active
- 2020-08-21 WO PCT/EP2020/073486 patent/WO2021043599A1/fr not_active Ceased
- 2020-08-21 EP EP20757362.7A patent/EP4026016A1/fr active Pending
Also Published As
| Publication number | Publication date |
|---|---|
| WO2021043599A1 (fr) | 2021-03-11 |
| US20220300488A1 (en) | 2022-09-22 |
| US11934386B2 (en) | 2024-03-19 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| EP3676787B1 (fr) | Procédés et dispositifs de fourniture de données clé-valeur pouvant être parcourues sur une chaîne de blocs | |
| US11847099B2 (en) | Synchronizing content | |
| Ali et al. | Blockstack: A new decentralized internet | |
| US11528129B2 (en) | Synchronizing content | |
| EP4026016A1 (fr) | Migration d'une chaîne de blocs de données | |
| FR3107416A1 (fr) | Tokenisation aléatoire efficace dans un environnement dématérialisé | |
| WO2009147357A1 (fr) | Procede et systeme de synchronisation de modules logiciels d'un systeme informatique distribue en grappe de serveurs, application au stockage de donnees | |
| Ali et al. | Blockstack technical whitepaper | |
| CN114500119A (zh) | 区块链服务的调用方法和装置 | |
| CN116886758B (zh) | 云存储信息安全管理方法、装置、系统及存储介质 | |
| FR3100350A1 (fr) | migration d’une chaîne de blocs de données | |
| FR3100351A1 (fr) | connexion à chaîne de blocs de données | |
| EP2353076A1 (fr) | Procede et systeme de stockage virtualise d'un ensemble de donnees numeriques | |
| FR2873219A1 (fr) | Procede de sauvegarde distribuee sur des postes clients dans un reseau informatique | |
| EP3903210A1 (fr) | Reseau de communication securisee et tracee | |
| US10409780B1 (en) | Making a copy of a profile store while processing live updates | |
| FR3022716A1 (fr) | Procede de partage de fichiers numeriques entre plusieurs ordinateurs, et ordinateur, ensemble de stockage de donnees et systeme de partage de fichiers numeriques associes | |
| WO2026013504A1 (fr) | Procédé pour l'exécution d'un programme d'application au moyen d'un module de sécurité matérielle équipé d'une mémoire sécurisée | |
| FR3164301A1 (fr) | Procédé pour l’exécution d’un programme d’application au moyen d’un module de sécurité matérielle équipé d’une mémoire sécurisée. | |
| FR3073061B1 (fr) | Procede de communication entre processus, programme d’ordinateur et installation informatique correspondants | |
| FR3147922A1 (fr) | Dérivation de clés de preuve pour la gestion d’une infrastructure à clé publique | |
| FR3012900A1 (fr) | Procede de protection de metadonnees | |
| WO2009136030A1 (fr) | Procede de sauvegarde/restauration de fichiers dans un reseau pair a pair | |
| HK40036621A (en) | Methods and devices for providing traversable key-value data storage on blockchain | |
| WO2011039317A1 (fr) | Procede de synchronisation d'elements stockes par des dispositifs d'un systeme de communication de type paire a paire |
Legal Events
| Date | Code | Title | Description |
|---|---|---|---|
| STAA | Information on the status of an ep patent application or granted ep patent |
Free format text: STATUS: UNKNOWN |
|
| STAA | Information on the status of an ep patent application or granted ep patent |
Free format text: STATUS: THE INTERNATIONAL PUBLICATION HAS BEEN MADE |
|
| PUAI | Public reference made under article 153(3) epc to a published international application that has entered the european phase |
Free format text: ORIGINAL CODE: 0009012 |
|
| STAA | Information on the status of an ep patent application or granted ep patent |
Free format text: STATUS: REQUEST FOR EXAMINATION WAS MADE |
|
| 17P | Request for examination filed |
Effective date: 20220228 |
|
| AK | Designated contracting states |
Kind code of ref document: A1 Designated state(s): AL AT BE BG CH CY CZ DE DK EE ES FI FR GB GR HR HU IE IS IT LI LT LU LV MC MK MT NL NO PL PT RO RS SE SI SK SM TR |
|
| DAV | Request for validation of the european patent (deleted) | ||
| DAX | Request for extension of the european patent (deleted) | ||
| P01 | Opt-out of the competence of the unified patent court (upc) registered |
Effective date: 20230527 |
|
| STAA | Information on the status of an ep patent application or granted ep patent |
Free format text: STATUS: EXAMINATION IS IN PROGRESS |
|
| 17Q | First examination report despatched |
Effective date: 20241118 |