FR3018378A1 - Systeme et procede transactionnels a architecture repartie fondees sur des transactions de transferts d'unites de compte entre adresses - Google Patents
Systeme et procede transactionnels a architecture repartie fondees sur des transactions de transferts d'unites de compte entre adresses Download PDFInfo
- Publication number
- FR3018378A1 FR3018378A1 FR1400594A FR1400594A FR3018378A1 FR 3018378 A1 FR3018378 A1 FR 3018378A1 FR 1400594 A FR1400594 A FR 1400594A FR 1400594 A FR1400594 A FR 1400594A FR 3018378 A1 FR3018378 A1 FR 3018378A1
- Authority
- FR
- France
- Prior art keywords
- transaction
- transactions
- upstream
- downstream
- output
- 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; CALCULATING OR COUNTING
- G06Q—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
- G06Q20/00—Payment architectures, schemes or protocols
- G06Q20/22—Payment schemes or models
- G06Q20/223—Payment schemes or models based on the use of peer-to-peer networks
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
- G06Q20/00—Payment architectures, schemes or protocols
- G06Q20/30—Payment architectures, schemes or protocols characterised by the use of specific devices or networks
- G06Q20/36—Payment architectures, schemes or protocols characterised by the use of specific devices or networks using electronic wallets or electronic money safes
- G06Q20/367—Payment architectures, schemes or protocols characterised by the use of specific devices or networks using electronic wallets or electronic money safes involving electronic purses or money safes
- G06Q20/3674—Payment architectures, schemes or protocols characterised by the use of specific devices or networks using electronic wallets or electronic money safes involving electronic purses or money safes involving authentication
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
- G06Q20/00—Payment architectures, schemes or protocols
- G06Q20/38—Payment protocols; Details thereof
- G06Q20/382—Payment protocols; Details thereof insuring higher security of transaction
- G06Q20/3829—Payment protocols; Details thereof insuring higher security of transaction involving key management
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/14—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols using a plurality of keys or algorithms
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/30—Public key, i.e. encryption algorithm being computationally infeasible to invert or user's encryption keys not requiring secrecy
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/32—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
- H04L9/3236—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials using cryptographic hash functions
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/32—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
- H04L9/3236—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials using cryptographic hash functions
- H04L9/3242—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials using cryptographic hash functions involving keyed hash functions, e.g. message authentication codes [MACs], CBC-MAC or HMAC
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/32—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
- H04L9/3247—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials involving digital signatures
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L2209/00—Additional information or applications relating to cryptographic mechanisms or cryptographic arrangements for secret or secure communication H04L9/00
- H04L2209/56—Financial cryptography, e.g. electronic payment or e-cash
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L2209/00—Additional information or applications relating to cryptographic mechanisms or cryptographic arrangements for secret or secure communication H04L9/00
- H04L2209/68—Special signature format, e.g. XML format
Landscapes
- Engineering & Computer Science (AREA)
- Business, Economics & Management (AREA)
- Computer Security & Cryptography (AREA)
- Accounting & Taxation (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- Strategic Management (AREA)
- General Business, Economics & Management (AREA)
- General Physics & Mathematics (AREA)
- Finance (AREA)
- Power Engineering (AREA)
- Computing Systems (AREA)
- Financial Or Insurance-Related Operations Such As Payment And Settlement (AREA)
- Computer And Data Communications (AREA)
Abstract
Un système transactionnel à architecture répartie en peer-to-peer se base sur des transactions permettant de transférer des unités de compte entre nœuds émetteurs d'unités et nœuds receveurs d'unités, chaque transaction ayant en entrée un input se référant à un output d'une transaction précédente (ou plusieurs inputs se référant chacun à un output d'une transaction précédente) et ayant elle-même au moins un nouvel output spécifiant un nombre d'unités de compte et un nœud receveur. Selon l'invention, il met en œuvre : des transactions dites transactions amont, des transactions aval destinées à être sélectivement alimentées par des transactions amont, des moyens pour affecter à une transaction aval au moins une transaction amont en fonction de règles de correspondance entre un code de hachage calculé sur tout ou partie du contenu d'une transaction aval et une valeur de hachage contenue dans une transaction amont, ou inversement, des moyens pour établir des contraintes de répartition du montant d'une transaction aval alimentée par une transaction amont qui lui est affectée entre plusieurs bénéficiaires.
Description
Le domaine de l'invention est l'utilisation de crypto-monnaies et la génération automatique de transactions, notamment pour permettre la mutualisation des risques dans une communauté. Dans un système de crypto-monnaie tel que le système BitCoin, des transactions 5 permettent de transférer des unités de compte entre adresses créées à partir de clés publiques cryptographiques. Chaque transaction a en entrée un input se référant à un output d'une transaction précédente (ou plusieurs inputs se référant chacun à un output d'une transaction précédente) et peut elle-même avoir un nouvel output (ou plusieurs nouveaux outputs) spécifiant un nombre 10 d'unités de compte et une adresse de bénéficiaire. Lesdites adresses constituent les noeuds d'un réseau de transactions de crypto-monnaie (ci après le réseau) dont les transactions forment les liens. Les transactions sont validées collectivement dans le réseau et forment une structure partagée dans le réseau appelée chaîne de blocs (« blockchain » en terminologie anglo-saxonne) jouant 15 le rôle d'un livre de comptes mais contenant en plus l'historique des transactions. En effet, quand un individu A fait un transfert d'un certain nombre d'unités de compte depuis une de ses adresses vers une des adresses d'un individu B, A doit prouver d'où elles viennent. Et ainsi, il transmet une information du type "ces 20 unités de compte sont celles que j'ai obtenues quand C me les a envoyées il y a deux jours". Et comme tous les utilisateurs possèdent la même copie de la chaîne de blocs, tout le monde peut vérifier que C les a effectivement envoyées à A et qu'elles n'ont pas déjà été envoyées par A. Plus loin, on peut aussi vérifier comment C les a lui-même obtenues et ainsi remonter la chaîne de leurs 25 propriétaires successifs. Autrement dit, on peut reconstruire l'histoire des transactions. Enfin, la validation collective des transactions sert à tendre vers un consensus de réseau par des techniques connues en soi, telles que les techniques « Proofof-Work » et « Proof-of-Stake » de validation des transactions annoncées 30 (« broadcast », diffusées) dans le réseau. Chaque transaction validée est insérée dans un bloc de la chaîne de blocs, bloc organisé en arbre de Merkle de façon à ce que toute tentative de modification de la transaction violerait l'intégrité de toute la chaîne de blocs à partir du bloc la contenant, ce qui donc signifie que les transactions insérées dans la chaîne de blocs ne peuvent plus être modifiées.
Résumé de l'invention On définit ici une communauté comme un sous-ensemble du réseau. Il s'agit d'un ensemble de noeuds dans le réseau, correspondant à des individus qui se mutualisent pour mettre dans un « pot commun », le montant nécessaire à pourvoir collectivement à des paiements (transactions) de chacun, paiements ayant une probabilité d'occurrence inférieure à 1. Les paiements des membres peuvent ainsi se faire à partir dudit pot commun (ci-après dénommé pot) dans des cas définis à l'avance. La présente invention vise à permettre d'assurer une telle mutualisation, sans besoin d'un intermédiaire financier, en étant fiable et en étant extrêmement souple sur les contraintes de distribution et de restitution des unités de compte accumulées dans le pot commun. Avantageusement, le procédé de l'invention peut être mis en oeuvre en enrichissant l'Etat de l'Art pour permettre de garantir des paiements via un pot commun. On propose ainsi selon l'invention, selon un premier aspect, un système transactionnel à architecture répartie en peer-to-peer, mettant en oeuvre des transactions permettant de transférer des unités de compte entre noeuds émetteurs d'unités et noeuds receveurs d'unités, chaque transaction ayant en entrée un input se référant à un output d'une transaction précédente (ou plusieurs inputs se référant chacun à un output d'une transaction précédente) et ayant elle-même au moins un nouvel output spécifiant un nombre d'unités de compte et un noeud receveur, caractérisé en ce qu'il met en oeuvre : des transactions dites transactions amont qui ont un output vers un identifiant de noeud receveur, des transactions aval (transactions générées) contenant dans un input un programme (contrat) et un ensemble de paramètres (contexte d'invocation), des transactions aval ne pouvant être alimentées qu'à partir de transactions amont ayant pour identifiant de noeud receveur (Pot) dans leur output une valeur égale à celle résultant de l'application d'une fonction de hachage prédéterminée sur un ensemble d'informations contenant le programme et les paramètres, le programme et les paramètres contenus dans un input d'un transaction aval donnée définissant des contraintes implicitement émises au niveau d'une transaction amont qui l'alimente, ces contraintes étant relatives à un ou plusieurs montants de la transaction aval, et à un ou plusieurs identifiants de noeud receveurs pour ces montants, une transaction aval ne pouvant être validée que si de telles contraintes émises au niveau d'au moins une transaction amont sont satisfaites.
Selon un second aspect, on propose un procédé de gestion d'unités de compte mises en commun dans un système transactionnel à architecture répartie en peer-to-peer, mettant en oeuvre des transactions permettant de transférer des unités de compte entre noeuds émetteurs d'unités et noeuds receveurs d'unités, chaque transaction ayant en entrée un input se référant à un output d'une transaction précédente (ou plusieurs inputs se référant chacun à un output d'une transaction précédente) et ayant elle-même au moins un nouvel output spécifiant un nombre d'unités de compte et un noeud receveur, le procédé comprenant les étapes suivantes : prévoir des transactions dites transactions amont ayant un output vers 25 un identifiant de noeud receveur, prévoir des transactions aval (transactions générées) contenant dans un input un programme (contrat) et un ensemble de paramètres (contexte d'invocation), pour une transaction aval donnée, appliquer une fonction de hachage prédéterminée sur un ensemble d'informations contenant le programme et les paramètres contenus dans l'input de ladite transaction aval, et considérer la ou les transactions amont dont l'identifiant de noeud receveur (Pot) est égal au code de hachage obtenu par la fonction de hachage, seules de telles transactions amont pouvant être validées comme alimentant ladite transaction aval, pour une transaction aval donnée, exécuter le programme en utilisant lesdits paramètres pour retrouver la contrainte implicitement émise au niveau d'une transaction amont qui l'alimente, cette contrainte étant relative à un ou plusieurs montants de la transaction aval, et à un ou plusieurs identifiants de noeud receveurs pour ces montants, et valider une transaction aval seulement si la contrainte émise au niveau d'au moins une transaction amont est satisfaite. Brève description des dessins La figure 1 présente schématiquement le procédé de l'invention sur un exemple. La figure 2 est un diagramme de séquence décrivant les interactions entre les différentes entités participant au procédé. La figure 3 introduit le procédé de l'invention sur un exemple de deux fournisseurs qui se mutualisent.
La figure 4 présente des contributions apportées par un troisième fournisseur dans l'exemple de la figure 3. La figure 5 illustre la généralisation du procédé présenté dans la figure 3 afin de pouvoir le mettre en oeuvre sous la forme d'un programme contrat qui est présenté dans l' Annexe 1.
La figure 6 présente le principe du procédé généralisé introduit à la figure 5. Description détaillée Dans le système Bitcoin, un output peut être conditionnel au sens où il ne peut être consommé qu'à certaines conditions qui y sont spécifiées. Notamment, Bitcoin permet de spécifier (dans un « script ») une condition de « 2 signatures sur 3 » (CHECKMULTISIG), par exemple une condition de deux signatures à fournir parmi les signatures (i) d'un fournisseur, (ii) d'un client et (iii) d'un arbitre, ce dernier devant donner sa signature en cas de dispute entre le fournisseur et le client. Récemment, il a été introduit, dans Bitcoin, l'option de pouvoir spécifier la condition d'un output en plaçant dans l'output le hash-code (dit « Pay to Script Hash ») de cette condition, qui elle doit se trouver en clair dans l'input de la transaction qui consomme cet output (condition qui doit être satisfaite pour que ladite transaction soit valide). Ce procédé est décrit dans le BIT 16 Bitcoin Improvement Proposai, https://github.comibitcoinibipsiblobjmasteribip0016.mediawiki (plus tard il le sera aussi dans le wiki https://en.bitcoinitjwiki/Transactions#Pay-to-ScriptHash), dont le contenu est ici considéré comme faisant partie de la présente description. Actuellement, les conditions qui peuvent être exprimées dans Bitcoin sont des conditions de signature, la ou les signatures en question devant être fournies dans ledit input. La partie gauche de la Figure 1 en présente un exemple : Une transaction « Txl » offre 1000 unités de compte à un noeud receveur identifié par un code de hachage dénommé ici « Cl » (dans le 3iP- « [20-byte-ha sh-va lue du OP HASH160 0-byte-haste-'.-' ces 1000 unités ne pouvant être consommées que par un input qui comprenne un script (ii « {serialized script} » mentionné O;n1, le B1P-16) dont le code de hachage (obtenu en appliquant une fonction de hachage prédéterminée sur son contenu) est ce Cl et qui comprenne une ou des signatures qui satisfont la condition spécifiée dans ce script. Quant à la partie droite de la Figure 1, elle présente exactement le même paiement conditionnel que dans la partie gauche mais en introduisant une indirection selon le procédé de l'invention : Les 1000 unités sont, dans une première transaction (dite transaction amont), « Tx1.1 », payés à un noeud receveur « P1 » (que l'on appelle Pot), à partir duquel, dans une deuxième transaction (dite transaction générée ou transaction aval), « Tx2.1 », le paiement conditionnel de 1000 unités doit être conforme à une contrainte (représentée par « 1000@C1 » pour dire que la transaction générée doit forcément consister à payer 1000 unités avec la condition représentée par C1) implicitement imposée par la première transaction (ainsi dans la figure, la contrainte est représentée sur l'output de la transaction amont, en italique) via le code hachage représentant le Pot dans l'output de Tx1.1, code qui doit être retrouvé lorsqu'on applique la fonction de hachage prédéterminée au contenu (du script) de l'input de Tx2.1 qui permette de retrouver cette contrainte. Autrement dit, pour que Tx2.1 soit valide, l'application de la fonction de hachage prédéterminée au contenu (du script) de l'input de Tx2.1 doit donner P1, et Tx2.1 doit être conforme à la contrainte (ici la contrainte 1000@C1) produite par (le script de) cet input. (On décrit plus loin comment cette contrainte est produite.) A noter que, comme on le voit dans la suite, une transaction générée peut avoir plusieurs inputs et pour être valide il suffit qu'elle soit conforme à la contrainte issue d'un de ces inputs. L'état de l'art ne permet pas de valider les outputs d'une transaction aval par 20 rapport à des contraintes émises au niveau d'une transaction amont. On va dans la suite prendre l'exemple de fournisseurs (Fi) qui dans des transactions (Tx1.i) mettent en séquestre des unités de compte qui ne pourront être débloquées que si (selon une condition Ci) le client (correspondant à ce Ci) est d'accord (et donc que le fournisseur et le client signent tous les deux, quel 25 que soit le bénéficiaire décidé par eux) ou si l'arbitre signe soit avec le fournisseur soit avec le client (condition de deux signatures sur trois précitée). Les séquestres (avec ces conditions de signatures) ont pour but d'assurer aux clients respectifs que s'ils ne sont pas livrés de manière satisfaisante, les unités de compte séquestrées leurs reviendront.
Dans une mise en oeuvre avec « mutualisation de risques », les fournisseurs s'organisent en « communauté » et utilisent le procédé de l'invention pour faire des mises (d'unités de compte) en séquestre dans un « Pot commun » (désigné par le code de hachage « Pot » mentionné plus haut), les engagements des fournisseurs envers les clients se faisant ainsi via ce pot commun plutôt que directement par chacun. Ainsi, la probabilité de devoir payer un client étant inférieur à 1, plus le pot se remplit plus les mises des fournisseurs respectifs peuvent être relativement plus faibles. A noter que typiquement, selon la communauté en question, l'arbitre précité 10 (ayant le rôle de donner la deuxième signature, dans le cas de conditions de deux signatures sur trois) peut optionnellement devoir être agréé par la communauté pour que la transaction aval puisse être validée. On a vu que « Pot » est le code de hachage du contenu (du script) de l'input d'une transaction générée, input permettant de produire des contraintes telle 15 que 1000@C1 qui seront vérifiées sur les outputs de la transaction générée elle-même. Ces contraintes sont produites par l'exécution d'un programme dénommé contrat (ou « contrat de communauté », qui lie les membres de la communauté en question en ce qui concerne les modalités des mises en séquestre) sur des paramètres appelés contexte d'invocation (ou contexte). Tant 20 le contrat que le contexte d'invocation font partie de l'input de la transaction générée. Les différents fournisseurs se contraignent mutuellement pour leurs mises en séquestre du fait qu'ils partagent un même contrat. Pour toutes les mises en séquestre par les membres d'une communauté donnée, les transactions Tx2i 25 sont générées en l'application du même contrat. A noter que des « commentaires » (non exécutés) peuvent être insérés dans le contenu d'un contrat pour se l'approprier. On pourra par exemple insérer un nombre aléatoire donné dans chaque contrat utilisé dans une communauté donnée pour éviter de le confondre avec un même contrat qui serait utilisé dans une autre 30 communauté.
Lesdits contextes d'invocation qui figurent dans l'input sont signés par la communauté. Il peut s'agir d'une multi-signature (de n parmi m membres de la communauté), ou encore d'une signature d'un agent autonome exploité par la communauté en exploitant la technique connue en soi dite de « trusted computing » en matière de sécurisation d'ordinateurs. Dans un système trusted computing, l'ordinateur possède une paire de clés privée/publique, la clé privée étant inscrite dans le matériel sans possibilité de lecture externe et gardée secrète. Cette clé privée peut servir à signer au nom d'une communauté donnée. Plus largement, les programmes qui sont exécutés dans un tel ordinateur peuvent être authentifiés en faisant générer des codes de hachage correspondant à ces programmes et en les faisant signer avec la clé privée matérielle précitée (« remote attestation »). Cette approche permet ainsi non seulement de vérifier (en générant le code de hachage soi-même) que c'est bien le code attendu qui est exécuté dans le circuit, mais aussi de sécuriser l'envoi de données au programme en les chiffrant avec la clé publique correspondant à la clé privée du circuit. On peut ainsi exploiter de tels programmes dans le cadre des interactions décrites plus loin en relation avec la figure 2. En résumé, les transactions selon ce procédé sont caractérisées en ce qu'elles contiennent les éléments suivants : - Dans l'output de la transaction amont : i. Valeur : nombre d'unités de compte ii. Hash(Contrat + Contexte signé) : code de hachage « Pot » (comme le « [2 yte-hash-valuei » du « OF HASI-1160 [20- byte-Ilash-value EQUAL BIP 16) résultant de l'application de la fonction de hachage prédéterminée au contenu du script de l'input en question de la transaction générée - Dans le script de l'input de la transaction générée : i. Contrat ii. Contexte d'invocation par rapport à l'output connecté, signé.
La validation consiste à - vérifier que tous les inputs de la transaction générée contiennent (dans leur scripts respectifs) le même contrat ainsi qu'une signature (ou multisignature) par la communauté du contexte d'invocation fourni ; - obtenir le code de hachage du contenu du script (Contrat + Contexte signé) de chaque input de la transaction générée et le comparer avec le code de hachage donné dans l'output auquel il se connecte et vérifier qu'ils sont identiques et - exécuter ledit Contrat sur ledit Contexte d'invocation par rapport à l'output connecté, pour : 1. obtenir les contraintes (censées contraindre les outputs) et ensuite 2. vérifier que pour un input de la transaction générée la contrainte obtenue est satisfaite vis-à-vis des outputs de la transaction générée (ceci sera illustré dans les exemples présentés plus loin).1 La vérification se satisfait de la conformité d'un seul input (c'est-à-dire qu'il suffit de satisfaire les contraintes émises par un seul output connecté) car une transaction générée ne peut pas satisfaire des contraintes émises par une transaction amont antérieure à sa propre transaction amont or il peut avoir un input qui en bénéficie (comme on va le voir dans l'exemple qui suit, présenté dans la figure 3). On va maintenant illustrer la création d'une communauté et décrire comment s'effectue la mutualisation de risques. Dans l'exemple qui suit, le principe est que le premier fournisseur (ou un ou plusieurs remplaçants) joue un rôle de 1 Ainsi, au lieu de classiquement signer avec une clé privée correspondant à une adresse (spécifiée dans un noeud émetteur d'unités de compte) ou de signer pour satisfaire un script (comme dans le cas de l'usage actuel du Pay-to-Script-Hash), on donne dans l'input de la transaction générée le contrat et le contexte d'invocation qui correspondent exactement au contrat et au contexte d'activation voulus au moment de la création de la transaction amont et qui ont permis d'obtenir le code de hachage donné dans son output. Alors, dans la mesure où la transaction générée effectue, pour un input, les paiements voulus par le contrat dans le contexte d'invocation du contrat, elle est valide. coordinateur (Root) et qu'il informe les autres fournisseurs du contexte, selon le protocole présenté à la figure 2. Le contexte ainsi communiqué aux membres successifs de la communauté comprend l'ensemble des outputs disponibles dans le pot (correspondant aux mises en séquestre précédentes, ou un sous- ensemble de celles-ci) où chaque nouveau fournisseur (ou plutôt la communauté, en son nom) pourra puiser pour payer (si besoin) son client, le restant des unités de compte des output étant remis au pot pour les prochains. Chaque fournisseur complète les paiements d'autres fournisseurs dans des cas où leurs engagements envers leurs propres clients ne sont pas entièrement couverts, ceci est décrit plus loin et illustré à la figure 4. La figure 2 est un diagramme de séquence présentant les interactions entre les différents acteurs impliqués qui représentent des noeuds d'un réseau. F., F._1 et Root sont des fournisseurs, C. et Ci sont des clients, `Blockchain' représente le réseau : une flèche vers Blockchain indique le fait d'annoncer une ou des transactions dans le réseau en vue de la ou les faire inclure dans la chaîne de blocs. Root est l'initiateur de la communauté : c'est le premier fournisseur, ou un ensemble d'autres fournisseurs lorsque le Root courant n'est plus fonctionnel (lorsque le Root courant quitte la communauté ou devient indisponible). On représente ici les interactions sans préciser si elles sont effectuées manuellement ou de manière automatique (l'intérêt d'un traitement automatique est présenté juste après). Les numéros indiqués dans la figure correspondent aux étapes suivantes : 1. Le fournisseur F. est introduit dans la communauté par le fournisseur Fn1 qui lui communique l'adresse de Root 2. F. demande confirmation à Root, en fournissant l'identifiant de F.-1 (typiquement on pourra ajouter ici des sous-étapes de validation de l'entrée du nouveau membre dans la communauté et d'insertion dans le contexte de paramètres spéciaux le concernant, tels que le volume des outputs disponibles dans le pot à prendre en compte) 3. Dans le cas d'une confirmation donnée, Root fournit le contexte (l'état courant de la communauté) signé : l'ensemble des outputs disponibles (ou un sous-ensemble) avec leurs propres contextes respectifs (pour permettre à un nouvel input de les consommer) + l'ensemble des valeurs (nombre d'unités de compte) attendus par les Clients respectifs 4. Fn hache le contrat et le contexte signé pour générer le code de hachage qui figurera dans l'output de sa mise en séquestre (Tx1.n) 5. Fn annonce son paiement (Tx1.n) dans le réseau 6. Fn génère les contraintes et les transactions correspondantes et envoie à Root une mise-à-jour du contexte 7. Eventuellement F. informe lui-même son client C. des transactions qui sont à sa disposition 8. Eventuellement Fn informe lui-même les autres clients des transactions complémentaires dont ils pourront bénéficier.
On peut bien entendu envisager un système informatique pour assister les fournisseurs (ou dans d'autres exemples d'autres acteurs qui se mutualisent) à générer des transactions, ainsi que pour assister les clients (ou dans d'autres exemples d'autres bénéficiaires potentiels de ces transactions) à générer aussi des transactions pour le cas échéant se faire payer et annoncer ces transactions dans le réseau et les faire insérer dans la chaîne de blocs. Le contrat peut être prévu pour tenir compte de préférences (fournies dans le contexte d'invocation), en particulier quant au volume des montants prévus potentiellement payables par des transactions générées (il s'agit d'ignorer certaines mises en séquestre dans le pot commun et d'exploiter les autres) et aux contraintes produites en conséquence. La partie droite de la figure 1 présentait la mise au pot de 1000 unités d'un premier fournisseur (suite à la création d'une nouvelle communauté et de son contrat). La figure 3 présente en plus les transactions ajoutées pour un deuxième fournisseur. On voit dans cette figure quatre lignes de transactions, selon l'ordre de consommation des outputs des premières transactions Tx1.i.
Ainsi, en cas de défaut de livraison par deux fournisseurs Fl et F2 à deux clients respectifs Cl et C2, la première ligne de transactions présente le cas d'un premier paiement au client Cl par le fournisseur Fl en cas de défaut de livraison de Fl à Cl, la deuxième ligne concerne le cas du paiement à Cl par Fl après que C2 a été payé en cas de défauts de livraison successifs, la troisième ligne présente le cas d'un premier paiement à C2 en cas de défaut de livraison de F2 à C2, et la quatrième ligne le cas du paiement de C2 par F2 après que le paiement de Cl a déjà été effectué. La restitution des sommes mises en séquestre aux fournisseurs dans le cas où les livraisons ont été correctement assurées s'effectue selon le même processus, les bénéficiaires des transactions pouvant dans ce cas être Fl ou F2 à la place de Cl ou C2. (Ainsi par Ci on entend les conditions qui engendrent un paiement au client ou fournisseur de niveau i). Les contraintes sont présentées ici dans une syntaxe compacte pour spécifier les montants et les noeuds receveurs. Ainsi, sur Tx1.2, « 950@p5o@c1)./000@c2 » et « 950@C2 » forment ensemble une contrainte signifiant « transaction générée ayant un premier output payant 950 unités (implicitement au Pot) à partir duquel une autre transaction générée paye 950 unités à une condition Cl et un deuxième output payant 1000 unités à C2, et transaction générée ayant un output payant 950 unités à une condition C2 ». L'ajout d'une nouvelle mise en séquestre dans le pot permet de complémenter les transactions qui ne payaient pas l'entièreté des montants attendus par les clients. Par exemple, en ce qui concerne la séquence « C2 Cl » (d'abord C2 ou F2 est payé, ensuite Cl ou Fl est payé), Tx2.2.2 ne paie que 950 unités alors que, le cas échéant, le client Cl s'attend à en recevoir 1000. La figure 4 présente des transactions supplémentaires pour les séquences « C2 Cl » et « Cl C2 » où des inputs sont connectés à des mises en séquestre d'un troisième fournisseur (non présentées dans la figure). La figure 5 présente une manière de généraliser le procédé et faciliter ainsi la 30 mise en oeuvre d'un contrat dont un exemple (simplifié) est présenté (encapsulé entre des balises en formalisme XML) dans l'Annexe. Comparée à la figure 3, dans la figure 5 la transaction générée Tx2.2.3 est connectée à un output de la transaction générée Tx2.1.1 au lieu d'être connecté à un output de la mise en séquestre (Tx1.2) par F2, qui elle-même alimente Tx2.1.1 bien qu'elle fut déjà suffisamment alimentée par Tx1.1. Vu ainsi, le mécanisme fonctionne quel que soit les montants mis en séquestre par les différents fournisseurs. Par exemple Tx1.1 peut consister en une mise en séquestre inférieure au montant attendu par Cl (en attendant qu'il y ait d'autres fournisseurs qui participent au pot et complètent sa mise). La figure 6 présente le principe du procédé ainsi généralisé, avec les tests sur les montants Ai (comme Amount) mis en séquestre par les fournisseurs Fi vis-à-vis des montants attendus Air (comme Required Amount) par les clients Ci, pour décider des montants à spécifier sur les outputs, tel que mis en oeuvre dans le programme donné en guise d'exemple en Annexe. Ainsi (le premier output de Tx2.1.1, après l'arrivée de F2), « Al+A2>A1r:Alr,(Al+A2) -> Air -3 1000 » signifie « Si Al (la mise en séquestre de Fl) + A2 (la mise en séquestre de F2) est supérieur à Air (le montant attendu par Cl), alors l'output paie Air (en l'occurrence c'est le cas, et l'output paie ainsi 1000 unités de compte) sinon l'output paie Al+A2. Par ce programme présenté en Annexe, pour le contexte suivant où il y a les 3 20 fournisseurs Fl, F2, F3, ces fournisseurs mettant respectivement en séquestre 1000, 950 et 900 unités de compte, et leurs clients respectifs Cl, C2, C3 attendant chacun 1000 unités de compte: List<Output> availableOutputs = new LinkedList<Output>(); availableOutputs.add(new Output(1000,"F1")); 25 availableOutputs.add(new Output(950,"F2")); availableOutputs.add(new Output(900,"F3")); List<ClientRequirement> currentRequirements = new LinkedList<ClientRequirement> Q; currentRequirements.add(new ClientRequirement(1000, "Cl")); currentRequirements.add(new ClientRequirement(1000, "C2")); currentRequirements.add(new ClientRequirement(1000, "C3")); ce contrat fournit la liste de contraintes suivantes (auxquelles les transactions générées doivent se conformer) : 1000.0@C1+1850.0@((1000.0@C2+850.0@(850.0@C3))11(1000.0@C3+ 850.0@(850.0@C2))) 1000.0@C2+1850.0@((1000.0@C1+850.0@(850.0@C3))11(1000.0@C3+ 850.0@(850.0@C1))) 1000.0@C3+1850.0@((1000.0@C1+850.0@(850.0@C2))11(1000.0@C2+ 850.0@(850.0@C1))) Dans un autre mode de réalisation, on peut placer le Contexte d'invocation et/ou le Contrat au niveau de l'output de la transaction amont, le noeud receveur étant toujours représenté par le code de hachage du Contexte d'invocation signé et du Contrat. Il faut cependant que ce mode puisse être détecté pour, lors de la validation des transactions générées, produire les Contraintes à partir de l'exécution du Contrat sur le Contexte d'invocation et vérifier que leurs outputs les satisfont (comme décrit plus haut). Ces procédés peuvent être combinés. Une autre approche pourrait être que les transactions générées soient « localement » validées par la communauté. Les transactions générées seraient alors des transactions conditionnelles classiques de type Pay-to-Script-hash exigeant une signature de la communauté. Dans chaque transaction générée, la signature de sa validité par la communauté - on entend par là une multisignature ou la signature d'un agent autonome, tel que décrit plus haut - doit alors être ajoutée avant de l'annoncer (broadcast) au réseau (pour la faire inclure dans la chaîne de blocs). On comprend qu'il n'est alors pas nécessaire de garder in-extenso le contenu des inputs, dans la mesure où les validateurs (via le Root) sont aptes à les reconstruire et vérifier les outputs des transactions générées. Le défaut d'une telle approche est que n'importe quelle transaction agréée par la communauté peut puiser dans la mise en séquestre du fournisseur Il est important de mettre en oeuvre le protocole présenté à la figure 2, car il s'agit bien d'un contrat passé entre F. et la communauté (représentée par Root) et ce protocole permet à F. de générer les contraintes lui-même sur la base de ce contrat et du contexte courant, en accord avec la communauté, et d'être sûr qu'elles vont être respectées. L'approche la plus avantageuse est de faire vérifier par le réseau simplement la signature de la communauté (fournie sur la transaction et indiquant que la transaction générée a déjà été vérifiée par la communauté, localement, comme évoqué ci-avant) par rapport à la signature du contexte d'invocation fourni dans chaque input. On a alors en plus l'assurance que F. et la communauté sont bien d'accord. On a décrit l'invention en donnant l'exemple d'une mise en séquestre par un fournisseur pour rassurer un client, mais on peut bien sûr aussi appliquer exactement le même procédé pour la mise en séquestre d'un client pour rassurer un fournisseur, l'avantage de la mutualisation (des risques) se retrouvant dans le cas d'une mutualisation entre clients. Ces termes peuvent ainsi être librement échangés. Le procédé de l'invention consistant à enrichir l'Etat de l'Art pour permettre d'utiliser un « pot commun » de mutualisation peut s'appliquer à tous les cas de mutualisation de risques. On peut par exemple mutualiser des risques de maladie ou d'accident et mettre en séquestre des unités de compte pour couvrir des dépenses de traitement médical... Il ne s'agit ainsi pas seulement de fournisseurs ou de clients mais biens de n'importe quels types d'acteurs, acteurs qui d'un côté se mutualisent et de l'autre acceptent de recevoir des garanties d'une communauté d'acteurs ainsi mutualisés.
ANNEXE - Input Script & Simplified Contract <Script> <Context> <AvailableOutputs> <Output address="F1" amount="1000" /> <Output address="F2" amount="950" /> <Output address="F3" amount="900" /> </AvailableOutputs> <ClientRequirements> <ClientRequirement client="C1" amount="1000" /> <ClientRequirement client="C2" amount="1000" /> <ClientRequirement client="C3" amount="1000" /> </ClientRequirements> </ Context> <Contract> class Output { double amount; String address; String toString(){ return address-F":"+amount; } Output(double amount, String address) { setAmount(amount); setAddress(address); } } class ClientRequirement double amount; String client; String toString(){ return client+":"+amount; } ClientRequirement( double amount, String client) { setAmount(amount); setClient(client); } } class Constraint { double amount; String cldest; List<Constraint> dest = new LinkedList<Constraint>(); List<Constraint> otherOutputs = new LinkedList<Constraint>(); String toString() { String result = "" + amount + "@"; if (cldest != null) { result += cldest; }else{ result += "("; if (dest.size() > 1) { for (int i = 0; i < dest.size(); i++) { Constraint c = dest.get(i); if (i < dest.size() - 1) { result += "(" + c + I"; } else result += "(" + c + ")"; } } } else if (dest.size() > 0) { result dest.get(0); result ")"; } for (Constraint c : otherOutputs) { result += "+" + c; } return result; } Constraint(double amount, String cldest) setAmount(amount); setCldest(cldest); } Constraint(double amount, List<Constraint> dest) setAmount(amount); setDest(dest); } void addToDest(Constraint c) dest.add(c); void addToOtherOutput(Constraint c) otherOutputs.add(c); } } double sum(List<Output> outputs) double result = 0; for (Output o : outputs) result += o.getAmount(); } return result; } List<Constraint> generateConstraints(List<Output> availableOutputs, List<ClientRequirement> currentRequirements) { List<Constraint> results = new LinkedList<Constraint>(); double total = sum(availableOutputs); for (ClientRequirement clr currentRequirements) Constraint c = null; if (total > clr.getAmount()) c = new Constraint(c1r.getAmount(), clr.getClient()); if (total - clr.getAmount() > 0) { List<Output> newLO = new LinkedList<Output>(); newL0.add(new Output(total - clr.getAmount(), "POT")); List<ClientRequirement> remainingRequirements = new LinkedList<ClientRequirement>(); remainingRequirements.addAll(currentRequirements); remainingRequirements.remove(clr); List<Constraint> dest = generateConstraints(newLO, remainingRequirements); Constraint otherC = new Constraint(total - clr.getAmount(), dest); c.addToOtherOutput(otherC); } } else c = new Constraint(total, clr.getClient()); results.add(c); } return results; } </Contract> </Script>
Claims (11)
- REVENDICATIONS1. Système transactionnel à architecture répartie en peer-to-peer, mettant en oeuvre des transactions permettant de transférer des unités de compte entre noeuds émetteurs d'unités et noeuds receveurs d'unités, chaque transaction dite transaction aval ayant en entrée un input se référant à un output d'une transaction amont (ou plusieurs inputs se référant chacun à un output d'une transaction amont) et ayant elle-même au moins un nouvel output spécifiant un nombre d'unités de compte et un noeud receveur, caractérisé en ce qu'il met en oeuvre : des moyens pour affecter à une transaction aval au moins une transaction amont en fonction de règles de correspondance entre un code de hachage calculé sur tout ou partie du contenu d'une transaction aval et une valeur de hachage contenue dans une transaction amont, ou inversement, des moyens pour établir des contraintes d'attribution du montant d'une transaction aval alimentée par une ou plusieurs transactions amont qui lui sont affectées à un ou plusieurs bénéficiaires.
- 2. Système selon la revendication 1, dans lequel les contraintes de répartition sont établies dans la transaction amont affectée à la transaction aval.
- 3. Système selon la revendication 1, dans lequel les contraintes de répartition sont établies dans la transaction aval.
- 4. Système selon la revendication 3, dans lequel les moyens d'établissement de contraintes de répartition comprennent la mise en oeuvre d'instructions formant contrat sur des paramètres formant contexte d'invocation.
- 5. Système selon la revendication 4, dans lequel le contexte d'invocation comprend des paramètres de contexte temporel établies au moment où la transaction amont affectée est générée.
- 6. Système selon la revendication 4 ou 5, dans lequel les instructions formant contrat sont identiques pour toutes les transactions amont affectées à une transaction aval, le contexte d'invocation pouvant être différent.
- 7. Système selon la revendication 5 ou 6, lequel comprend des moyens pour sélectivement affecter une transaction amont à une transaction aval également en fonction de données de nombre ou de volume d'unités de compte total de transactions amont déjà affectées à ladite transaction aval.
- 8. Système selon l'une des revendications 4 à 7, lequel comprend des moyens de sécurisation des transactions par signature des contextes d'invocation respectivement associés auxdites transactions amont, à l'aide d'au moins une clé de contextes.
- 9. Système selon l'une des revendications 1 à 8, lequel comprend des moyens de validation d'une transaction aval par signature à l'aide d'au moins une clé de transaction.
- 10. Système selon la revendication 9, dans lequel la ou les clés de signature de contextes et la ou les clés de signature de transaction sont les mêmes.
- 11. Système selon l'une des revendications 9 et 10, lequel comprend également des moyens de validation de transactions au niveau réseau(blockchain), la validation des transactions aval s'effectuant par vérification de leurs signatures.
Priority Applications (5)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
FR1400594A FR3018378A1 (fr) | 2014-03-12 | 2014-03-12 | Systeme et procede transactionnels a architecture repartie fondees sur des transactions de transferts d'unites de compte entre adresses |
FR1400695A FR3018379A1 (fr) | 2014-03-07 | 2014-03-21 | Systeme et procedes transactionnels a architecture repartie fondes sur des transactions de transfert d'unites de compte entre adresses |
FR1400719A FR3018370A1 (fr) | 2014-03-07 | 2014-03-24 | Procede et systeme de generation automatique de crypto-monnaies |
US14/645,930 US11210647B2 (en) | 2014-03-12 | 2015-03-12 | Transactional system with peer-to-peer distributed architecture for exchanging units of account |
US15/782,685 US20180121902A1 (en) | 2014-03-12 | 2017-10-12 | Transactional system with peer-to-peer distributed architecture for exchanging units of account |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
FR1400594A FR3018378A1 (fr) | 2014-03-12 | 2014-03-12 | Systeme et procede transactionnels a architecture repartie fondees sur des transactions de transferts d'unites de compte entre adresses |
Publications (1)
Publication Number | Publication Date |
---|---|
FR3018378A1 true FR3018378A1 (fr) | 2015-09-11 |
Family
ID=53938677
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
FR1400594A Pending FR3018378A1 (fr) | 2014-03-07 | 2014-03-12 | Systeme et procede transactionnels a architecture repartie fondees sur des transactions de transferts d'unites de compte entre adresses |
Country Status (2)
Country | Link |
---|---|
US (2) | US11210647B2 (fr) |
FR (1) | FR3018378A1 (fr) |
Cited By (21)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2017079214A1 (fr) * | 2015-11-05 | 2017-05-11 | Mastercard International Incorporated | Procédé et système d'utilisation d'une chaîne de blocs dans un réseau de traitement de transactions |
WO2017079218A1 (fr) * | 2015-11-05 | 2017-05-11 | Mastercard International Incorporated | Procédé et système de traitement d'une transaction blockchain dans un réseau de traitement de transactions |
FR3049087A1 (fr) * | 2016-03-21 | 2017-09-22 | Sebastien Jean Serge Dupont | Procede permettant a des dispositifs par l'intermediaire de connaissances et de capacites croisees, de realiser des transactions a travers un reseau informatique decentralise |
WO2017187395A1 (fr) * | 2016-04-29 | 2017-11-02 | nChain Holdings Limited | Procédé et système pour contrôler l'exécution d'un contrat à l'aide d'une table de hachage distribuée et d'un grand livre distribué poste à poste |
WO2019138391A1 (fr) * | 2018-01-15 | 2019-07-18 | Enrico Maim | Systèmes et procédés transactionnels à base de tokens |
US10652014B2 (en) | 2016-02-23 | 2020-05-12 | nChain Holdings Limited | Determining a common secret for the secure exchange of information and hierarchical, deterministic cryptographic keys |
US10659223B2 (en) | 2016-02-23 | 2020-05-19 | nChain Holdings Limited | Secure multiparty loss resistant storage and transfer of cryptographic keys for blockchain based systems in conjunction with a wallet management system |
US10715336B2 (en) | 2016-02-23 | 2020-07-14 | nChain Holdings Limited | Personal device security using elliptic curve cryptography for secret sharing |
US11082204B2 (en) | 2016-07-15 | 2021-08-03 | Mastercard International Incorporated | Method and system for partitioned blockchains and enhanced privacy for permissioned blockchains |
US11120437B2 (en) | 2016-02-23 | 2021-09-14 | nChain Holdings Limited | Registry and automated management method for blockchain-enforced smart contracts |
US11126976B2 (en) | 2016-02-23 | 2021-09-21 | nChain Holdings Limited | Method and system for efficient transfer of cryptocurrency associated with a payroll on a blockchain that leads to an automated payroll method and system based on smart contracts |
US11182782B2 (en) | 2016-02-23 | 2021-11-23 | nChain Holdings Limited | Tokenisation method and system for implementing exchanges on a blockchain |
US11194898B2 (en) | 2016-02-23 | 2021-12-07 | nChain Holdings Limited | Agent-based turing complete transactions integrating feedback within a blockchain system |
US11308486B2 (en) | 2016-02-23 | 2022-04-19 | nChain Holdings Limited | Method and system for the secure transfer of entities on a blockchain |
US11373152B2 (en) | 2016-02-23 | 2022-06-28 | nChain Holdings Limited | Universal tokenisation system for blockchain-based cryptocurrencies |
US11410145B2 (en) | 2016-02-23 | 2022-08-09 | nChain Holdings Limited | Blockchain-implemented method for control and distribution of digital content |
US11455378B2 (en) | 2016-02-23 | 2022-09-27 | nChain Holdings Limited | Method and system for securing computer software using a distributed hash table and a blockchain |
US11574303B2 (en) | 2016-10-25 | 2023-02-07 | Nchain Licensing Ag | Blockchain-based method and system for specifying the recipient of an electronic communication |
US11606219B2 (en) | 2016-02-23 | 2023-03-14 | Nchain Licensing Ag | System and method for controlling asset-related actions via a block chain |
US11625694B2 (en) | 2016-02-23 | 2023-04-11 | Nchain Licensing Ag | Blockchain-based exchange with tokenisation |
US11727501B2 (en) | 2016-02-23 | 2023-08-15 | Nchain Licensing Ag | Cryptographic method and system for secure extraction of data from a blockchain |
Families Citing this family (105)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2012122994A1 (fr) * | 2011-03-11 | 2012-09-20 | Kreft Heinz | Transfert hors ligne de jetons électroniques entre dispositifs homologues |
US10354325B1 (en) | 2013-06-28 | 2019-07-16 | Winklevoss Ip, Llc | Computer-generated graphical user interface |
US10068228B1 (en) | 2013-06-28 | 2018-09-04 | Winklevoss Ip, Llc | Systems and methods for storing digital math-based assets using a secure portal |
US9898782B1 (en) | 2013-06-28 | 2018-02-20 | Winklevoss Ip, Llc | Systems, methods, and program products for operating exchange traded products holding digital math-based assets |
US11282139B1 (en) | 2013-06-28 | 2022-03-22 | Gemini Ip, Llc | Systems, methods, and program products for verifying digital assets held in a custodial digital asset wallet |
US10269009B1 (en) | 2013-06-28 | 2019-04-23 | Winklevoss Ip, Llc | Systems, methods, and program products for a digital math-based asset exchange |
JP6813477B2 (ja) * | 2014-05-09 | 2021-01-13 | ヴェリタセウム アイエヌシー. | 信頼度が低い、または信頼度が皆無の当事者間での価値転送を円滑化する装置、システム、または方法 |
US9853977B1 (en) | 2015-01-26 | 2017-12-26 | Winklevoss Ip, Llc | System, method, and program product for processing secure transactions within a cloud computing system |
US10915891B1 (en) | 2015-03-16 | 2021-02-09 | Winklevoss Ip, Llc | Autonomous devices |
US10158480B1 (en) | 2015-03-16 | 2018-12-18 | Winklevoss Ip, Llc | Autonomous devices |
US20160321676A1 (en) * | 2015-05-01 | 2016-11-03 | Monegraph, Inc. | Sharing content within social network services |
US20160321434A1 (en) * | 2015-05-01 | 2016-11-03 | Monegraph, Inc. | Digital content rights transactions using block chain systems |
US11481771B2 (en) | 2015-05-20 | 2022-10-25 | Ripple Luxembourg S.A. | One way functions in a resource transfer system |
US11392955B2 (en) * | 2015-05-20 | 2022-07-19 | Ripple Luxembourg S.A. | Temporary consensus networks in a resource transfer system |
US11392944B2 (en) | 2015-05-20 | 2022-07-19 | Ripple Luxembourg S.A. | Transfer costs in a resource transfer system |
US11367072B2 (en) | 2015-05-20 | 2022-06-21 | Ripple Luxembourg S.A. | Private networks and content requests in a resource transfer system |
US11386415B2 (en) | 2015-05-20 | 2022-07-12 | Ripple Luxembourg S.A. | Hold condition in a resource transfer system |
US10740732B2 (en) * | 2015-05-20 | 2020-08-11 | Ripple Luxembourg S.A. | Resource transfer system |
JP6951329B2 (ja) * | 2015-10-14 | 2021-10-20 | ケンブリッジ ブロックチェーン,エルエルシー | デジタルアイデンティティを管理するためのシステム及び方法 |
US10013573B2 (en) * | 2015-12-16 | 2018-07-03 | International Business Machines Corporation | Personal ledger blockchain |
GB2604540B (en) * | 2016-02-03 | 2023-01-11 | Luther Systems | System and method for secure management of digital contracts |
EP3411824B1 (fr) * | 2016-02-04 | 2019-10-30 | Nasdaq Technology AB | Systèmes et procédés de stockage et de partage de données transactionnelles utilisant des systèmes informatiques distribués |
EP3420518B1 (fr) * | 2016-02-23 | 2023-08-23 | nChain Licensing AG | Procédés et systèmes de transfert efficace d'entités sur un registre distribué poste à poste au moyen d'une chaîne de blocs |
US10454677B1 (en) * | 2016-02-24 | 2019-10-22 | United Services Automobile Associate (USAA) | Cryptographic key generation from biometric data |
GB201605032D0 (en) * | 2016-03-24 | 2016-05-11 | Eitc Holdings Ltd | Recording multiple transactions on a peer-to-peer distributed ledger |
US11017387B2 (en) * | 2016-03-24 | 2021-05-25 | International Business Machines Corporation | Cryptographically assured zero-knowledge cloud services for elemental transactions |
US11017388B2 (en) * | 2016-03-25 | 2021-05-25 | International Business Machines Corporation | Cryptographically assured zero-knowledge cloud service for composable atomic transactions |
US9985964B2 (en) * | 2016-03-28 | 2018-05-29 | Black Gold Coin, Inc. | Systems and methods for providing block chain-based multifactor personal identity verification |
US10839096B2 (en) * | 2016-03-28 | 2020-11-17 | International Business Machines Corporation | Cryptographically provable zero-knowledge content distribution network |
US20190149337A1 (en) * | 2016-04-29 | 2019-05-16 | nChain Holdings Limited | Implementing logic gate functionality using a blockchain |
CN109155034A (zh) | 2016-04-29 | 2019-01-04 | 区块链控股有限公司 | 使用区块链实现逻辑门功能 |
CN107438002B (zh) * | 2016-05-27 | 2022-02-11 | 索尼公司 | 基于区块链的系统以及系统中的电子设备和方法 |
CN116911835A (zh) * | 2016-07-29 | 2023-10-20 | 区块链控股有限公司 | 区块链实现的方法和系统 |
DE102016215915A1 (de) * | 2016-08-24 | 2018-03-01 | Siemens Aktiengesellschaft | Sicheres Konfigurieren eines Gerätes |
US20180096551A1 (en) * | 2016-10-04 | 2018-04-05 | International Business Machines Corporation | Spheres of knowledge |
US10367645B2 (en) * | 2016-10-26 | 2019-07-30 | International Business Machines Corporation | Proof-of-work for smart contracts on a blockchain |
US10970780B2 (en) * | 2016-11-01 | 2021-04-06 | International Business Machines Corporation | Zero-knowledge predictions market |
EP3971750B1 (fr) | 2016-12-06 | 2024-05-15 | Enrico Maim | Procédés et entités notamment transactionnels mettant en jeu des dispositifs sécurisés |
CN107067255B (zh) * | 2017-02-27 | 2019-02-26 | 腾讯科技(深圳)有限公司 | 区块链中账户的处理方法和装置 |
AU2018230763A1 (en) | 2017-03-08 | 2019-10-31 | Ip Oversight Corporation | System and method for creating commodity asset-secured tokens from reserves |
US10762479B2 (en) * | 2017-04-05 | 2020-09-01 | Samsung Sds Co., Ltd. | Method and system for processing blockchain-based real-time transaction |
CN107274184A (zh) * | 2017-05-11 | 2017-10-20 | 上海点融信息科技有限责任公司 | 基于零知识证明的区块链数据处理 |
WO2018215875A1 (fr) | 2017-05-22 | 2018-11-29 | nChain Holdings Limited | Contrats intelligents paramétrables |
CN111247546A (zh) * | 2017-05-26 | 2020-06-05 | 区块链控股有限公司 | 基于脚本的区块链交互 |
GB201709848D0 (en) * | 2017-06-20 | 2017-08-02 | Nchain Holdings Ltd | Computer-implemented system and method |
CN111108732A (zh) * | 2017-06-30 | 2020-05-05 | 维萨国际服务协会 | 用于确定数字资产交易所的偿付能力的方法、系统和计算机程序产品 |
GB201711878D0 (en) | 2017-07-24 | 2017-09-06 | Nchain Holdings Ltd | Computer - implemented system and method |
CN110998630A (zh) * | 2017-08-15 | 2020-04-10 | 区块链控股有限公司 | 区块链中的随机数生成 |
GB201713046D0 (en) * | 2017-08-15 | 2017-09-27 | Nchain Holdings Ltd | Computer-implemented system and method |
EP3676780A1 (fr) * | 2017-08-29 | 2020-07-08 | Nchain Holdings Limited | Traitement simultané de machines à états à l'aide d'une chaîne de blocs |
EP3979110B1 (fr) * | 2017-10-27 | 2023-11-01 | Digital Asset (Switzerland) GmbH | Système informatique et procédé pour l'exécution partagée préservant la confidentialité distribuée d'au moins un processus |
WO2019092552A1 (fr) | 2017-11-09 | 2019-05-16 | nChain Holdings Limited | Systèmes et procédés permettant de garantir l'exécution correcte d'un programme informatique à l'aide d'un système informatique médiateur |
SG11202004146WA (en) | 2017-11-09 | 2020-06-29 | Nchain Holdings Ltd | System for simplifying executable instructions for optimised verifiable computation |
EP3710970B1 (fr) | 2017-11-15 | 2024-05-15 | Enrico Maim | Terminaux et procédés pour transactions sécurisées |
US10567168B2 (en) * | 2017-11-16 | 2020-02-18 | International Business Machines Corporation | Blockchain transaction privacy enhancement through broadcast encryption |
US11823178B2 (en) | 2017-11-17 | 2023-11-21 | International Business Machines Corporation | Optimization of high volume transaction performance on a blockchain |
US20190164157A1 (en) * | 2017-11-28 | 2019-05-30 | American Express Travel Related Services Company, Inc. | Transaction authorization process using blockchain |
GB201720389D0 (en) * | 2017-12-07 | 2018-01-24 | Nchain Holdings Ltd | Computer-implemented system and method |
KR20200096248A (ko) | 2017-12-13 | 2020-08-11 | 엔체인 홀딩스 리미티드 | 암호 자료를 안전하게 공유하기 위한 시스템 및 방법 |
US20190213573A1 (en) * | 2018-01-10 | 2019-07-11 | Walmart Apollo, Llc | Systems and methods for processing store returns |
GB201802148D0 (en) * | 2018-02-09 | 2018-03-28 | Nchain Holdings Ltd | Computer-implemented system and method |
US11200569B1 (en) | 2018-02-12 | 2021-12-14 | Winklevoss Ip, Llc | System, method and program product for making payments using fiat-backed digital assets |
US11139955B1 (en) | 2018-02-12 | 2021-10-05 | Winklevoss Ip, Llc | Systems, methods, and program products for loaning digital assets and for depositing, holding and/or distributing collateral as a token in the form of digital assets on an underlying blockchain |
US11475442B1 (en) | 2018-02-12 | 2022-10-18 | Gemini Ip, Llc | System, method and program product for modifying a supply of stable value digital asset tokens |
US10438290B1 (en) | 2018-03-05 | 2019-10-08 | Winklevoss Ip, Llc | System, method and program product for generating and utilizing stable value digital assets |
US10540654B1 (en) | 2018-02-12 | 2020-01-21 | Winklevoss Ip, Llc | System, method and program product for generating and utilizing stable value digital assets |
US11522700B1 (en) | 2018-02-12 | 2022-12-06 | Gemini Ip, Llc | Systems, methods, and program products for depositing, holding and/or distributing collateral as a token in the form of digital assets on an underlying blockchain |
US10373129B1 (en) | 2018-03-05 | 2019-08-06 | Winklevoss Ip, Llc | System, method and program product for generating and utilizing stable value digital assets |
US11909860B1 (en) | 2018-02-12 | 2024-02-20 | Gemini Ip, Llc | Systems, methods, and program products for loaning digital assets and for depositing, holding and/or distributing collateral as a token in the form of digital assets on an underlying blockchain |
US10929842B1 (en) | 2018-03-05 | 2021-02-23 | Winklevoss Ip, Llc | System, method and program product for depositing and withdrawing stable value digital assets in exchange for fiat |
US11308487B1 (en) | 2018-02-12 | 2022-04-19 | Gemini Ip, Llc | System, method and program product for obtaining digital assets |
US10373158B1 (en) | 2018-02-12 | 2019-08-06 | Winklevoss Ip, Llc | System, method and program product for modifying a supply of stable value digital asset tokens |
US11334883B1 (en) | 2018-03-05 | 2022-05-17 | Gemini Ip, Llc | Systems, methods, and program products for modifying the supply, depositing, holding and/or distributing collateral as a stable value token in the form of digital assets |
US11381392B2 (en) * | 2018-05-15 | 2022-07-05 | Mfe Capital, Llc | Device for off-line storage and usage of digital assets |
US11188920B2 (en) | 2018-05-23 | 2021-11-30 | International Business Machines Corporation | Autocommit transaction management in a blockchain network |
US11775479B2 (en) | 2018-05-24 | 2023-10-03 | Luther Systems Us Incorporated | System and method for efficient and secure private similarity detection for large private document repositories |
CN108876572A (zh) | 2018-05-29 | 2018-11-23 | 阿里巴巴集团控股有限公司 | 区块链交易的对账方法及装置、电子设备 |
EP3803745B1 (fr) * | 2018-06-06 | 2022-11-16 | Enrico Maim | Système transactionnel sécurisé dans une architecture p2p |
US11699202B2 (en) | 2018-06-12 | 2023-07-11 | Robert Vanzetta | Method and system to facilitate gamified arbitration of smart contracts |
US11281796B2 (en) | 2018-06-13 | 2022-03-22 | At&T Intellectual Property I, L.P. | Blockchain based information management |
CN109035029A (zh) * | 2018-07-27 | 2018-12-18 | 阿里巴巴集团控股有限公司 | 基于区块链的资产转移方法及装置、电子设备 |
CN109242453B (zh) | 2018-08-07 | 2021-03-23 | 创新先进技术有限公司 | 一种基于中心化结算与区块链存证的交易方法及系统 |
US10721069B2 (en) | 2018-08-18 | 2020-07-21 | Eygs Llp | Methods and systems for enhancing privacy and efficiency on distributed ledger-based networks |
US10972274B2 (en) | 2018-08-29 | 2021-04-06 | International Business Machines Corporation | Trusted identity solution using blockchain |
US10742424B2 (en) | 2018-08-29 | 2020-08-11 | International Business Machines Corporation | Trusted identity solution using blockchain |
KR20200034020A (ko) | 2018-09-12 | 2020-03-31 | 삼성전자주식회사 | 전자 장치 및 그의 제어 방법 |
US11146399B2 (en) | 2018-10-19 | 2021-10-12 | Eygs Llp | Methods and systems for retrieving zero-knowledge proof-cloaked data on distributed ledger-based networks |
US11240001B2 (en) * | 2018-11-06 | 2022-02-01 | International Business Machines Corporation | Selective access to asset transfer data |
US11860822B2 (en) | 2018-11-19 | 2024-01-02 | Luther Systems Us Incorporated | Immutable ledger with efficient and secure data destruction, system and method |
US10938574B2 (en) * | 2018-11-26 | 2021-03-02 | T-Mobile Usa, Inc. | Cryptographic font script with integrated signature for verification |
CN109614820A (zh) * | 2018-12-06 | 2019-04-12 | 山东大学 | 基于零知识证明的智能合约认证数据隐私保护方法 |
US11316691B2 (en) | 2019-04-15 | 2022-04-26 | Eygs Llp | Methods and systems for enhancing network privacy of multiple party documents on distributed ledger-based networks |
US11502838B2 (en) | 2019-04-15 | 2022-11-15 | Eygs Llp | Methods and systems for tracking and recovering assets stolen on distributed ledger-based networks |
US11677563B2 (en) | 2019-04-15 | 2023-06-13 | Eygs Llp | Systems, apparatus and methods for local state storage of distributed ledger data without cloning |
US11943358B2 (en) | 2019-04-15 | 2024-03-26 | Eygs Llp | Methods and systems for identifying anonymized participants of distributed ledger-based networks using zero-knowledge proofs |
FR3095371B1 (fr) * | 2019-04-25 | 2021-04-30 | Idemia Identity & Security France | Procédé d’authentification d’un document d’identité d’un individu et éventuellement d’authentification dudit individu |
US11206138B2 (en) | 2019-05-02 | 2021-12-21 | Ernst & Young U.S. Llp | Biosignature-based tokenization of assets in a blockchain |
US11403640B2 (en) * | 2019-05-21 | 2022-08-02 | Jpmorgan Chase Bank, N.A. | Mobile payment fraudulent device list |
US11501370B1 (en) | 2019-06-17 | 2022-11-15 | Gemini Ip, Llc | Systems, methods, and program products for non-custodial trading of digital assets on a digital asset exchange |
US11232439B2 (en) | 2019-08-09 | 2022-01-25 | Eygs Llp | Methods and systems for preventing transaction tracing on distributed ledger-based networks |
WO2021102116A1 (fr) | 2019-11-20 | 2021-05-27 | Eygs Llp | Systèmes, appareil et procédés pour identifier et stocker de manière sécurisée des caractéristiques distinctives dans un registre distribué à l'intérieur d'un réseau à base de registre distribué basé sur des jetons fongibles et non fongibles |
US20210209684A1 (en) * | 2020-01-07 | 2021-07-08 | Brian McLaren Foote | System and method for transferring currency using blockchain |
US11546161B2 (en) | 2020-02-21 | 2023-01-03 | Hong Kong Applied Science and Technology Research Institute Company Limited | Zero knowledge proof hardware accelerator and the method thereof |
CN115968481A (zh) | 2020-04-15 | 2023-04-14 | 艾格斯有限责任公司 | 用于使用分布式账本认证和控制网络通信的智能断言令牌 |
US11874827B2 (en) | 2020-12-30 | 2024-01-16 | Luther Systems Us Incorporated | System and method for automatic, rapid, and auditable updates of digital contracts |
Family Cites Families (28)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20040260653A1 (en) * | 1999-04-19 | 2004-12-23 | First Data Corporation | Anonymous transactions |
AU6620000A (en) * | 1999-08-06 | 2001-03-05 | Frank W Sudia | Blocked tree authorization and status systems |
US7363495B2 (en) * | 2001-02-22 | 2008-04-22 | Bea Systems, Inc. | System and method for message encryption and signing in a transaction processing system |
US7194618B1 (en) * | 2001-03-05 | 2007-03-20 | Suominen Edwin A | Encryption and authentication systems and methods |
US8086867B2 (en) * | 2002-03-26 | 2011-12-27 | Northrop Grumman Systems Corporation | Secure identity and privilege system |
US8229859B2 (en) * | 2007-04-19 | 2012-07-24 | Gideon Samid | Bit currency: transactional trust tools |
US9406063B2 (en) * | 2002-10-01 | 2016-08-02 | Dylan T X Zhou | Systems and methods for messaging, calling, digital multimedia capture, payment transactions, global digital ledger, and national currency world digital token |
JP4306232B2 (ja) * | 2002-11-25 | 2009-07-29 | 日本電気株式会社 | 証明システムと評価システム |
AU2004252882A1 (en) * | 2003-06-10 | 2005-01-06 | Mastercard International Incorporated | Systems and methods for conducting secure payment transactions using a formatted data structure |
US20060041484A1 (en) * | 2004-04-01 | 2006-02-23 | King Martin T | Methods and systems for initiating application processes by data capture from rendered documents |
WO2006001718A1 (fr) * | 2004-06-24 | 2006-01-05 | Geoffrey David Bird | Securite pour logiciel informatique |
US8464348B2 (en) * | 2004-11-15 | 2013-06-11 | Microsoft Corporation | Isolated computing environment anchored into CPU and motherboard |
US20070168293A1 (en) * | 2005-06-02 | 2007-07-19 | Alexander Medvinsky | Method and apparatus for authorizing rights issuers in a content distribution system |
WO2007038653A2 (fr) * | 2005-09-26 | 2007-04-05 | Digimarc Corporation | Materiau central securise pour documents |
TW200820108A (en) * | 2006-05-24 | 2008-05-01 | Ibm | Method for automatically validating a transaction, electronic payment system and computer program |
GB2446199A (en) * | 2006-12-01 | 2008-08-06 | David Irvine | Secure, decentralised and anonymous peer-to-peer network |
US7711786B2 (en) * | 2007-08-06 | 2010-05-04 | Zhu Yunzhou | Systems and methods for preventing spam |
CN102017510B (zh) * | 2007-10-23 | 2013-06-12 | 赵运磊 | 自封闭联合知识证明和Diffie-Hellman密钥交换方法与结构 |
WO2010067820A1 (fr) * | 2008-12-11 | 2010-06-17 | 日本電気株式会社 | Système de preuve à connaissance nulle, dispositif de preuve à connaissance nulle, dispositif de vérification à connaissance nulle, procédé de preuve à connaissance nulle et programme associé |
WO2010137508A1 (fr) * | 2009-05-29 | 2010-12-02 | 日本電気株式会社 | Dispositif de signature, dispositif de vérification de signature, système d'authentification anonyme, procédé de signature, procédé d'authentification de signature et programmes correspondants |
US8281149B2 (en) * | 2009-06-23 | 2012-10-02 | Google Inc. | Privacy-preserving flexible anonymous-pseudonymous access |
US8312158B2 (en) * | 2010-01-26 | 2012-11-13 | At&T Intellectual Property I, Lp | System and method for providing multimedia digital rights transfer |
US8825555B2 (en) * | 2010-06-30 | 2014-09-02 | International Business Machines Corporation | Privacy-sensitive sample analysis |
US8577029B2 (en) * | 2010-09-10 | 2013-11-05 | International Business Machines Corporation | Oblivious transfer with hidden access control lists |
US20120089494A1 (en) * | 2010-10-08 | 2012-04-12 | Microsoft Corporation | Privacy-Preserving Metering |
US9122911B2 (en) * | 2013-03-28 | 2015-09-01 | Paycasso Verify Ltd. | System, method and computer program for verifying a signatory of a document |
AU2014275340A1 (en) * | 2013-06-05 | 2015-12-24 | Morphotrust Usa Inc. | System and method for credential authentication |
US20150120569A1 (en) * | 2013-10-31 | 2015-04-30 | Bitgo, Inc. | Virtual currency address security |
-
2014
- 2014-03-12 FR FR1400594A patent/FR3018378A1/fr active Pending
-
2015
- 2015-03-12 US US14/645,930 patent/US11210647B2/en active Active
-
2017
- 2017-10-12 US US15/782,685 patent/US20180121902A1/en not_active Abandoned
Cited By (37)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2017079214A1 (fr) * | 2015-11-05 | 2017-05-11 | Mastercard International Incorporated | Procédé et système d'utilisation d'une chaîne de blocs dans un réseau de traitement de transactions |
WO2017079218A1 (fr) * | 2015-11-05 | 2017-05-11 | Mastercard International Incorporated | Procédé et système de traitement d'une transaction blockchain dans un réseau de traitement de transactions |
US11349645B2 (en) | 2016-02-23 | 2022-05-31 | Nchain Holdings Ltd. | Determining a common secret for the secure exchange of information and hierarchical, deterministic cryptographic keys |
US11126976B2 (en) | 2016-02-23 | 2021-09-21 | nChain Holdings Limited | Method and system for efficient transfer of cryptocurrency associated with a payroll on a blockchain that leads to an automated payroll method and system based on smart contracts |
US11606219B2 (en) | 2016-02-23 | 2023-03-14 | Nchain Licensing Ag | System and method for controlling asset-related actions via a block chain |
US11347838B2 (en) | 2016-02-23 | 2022-05-31 | Nchain Holdings Ltd. | Blockchain implemented counting system and method for use in secure voting and distribution |
US11936774B2 (en) | 2016-02-23 | 2024-03-19 | Nchain Licensing Ag | Determining a common secret for the secure exchange of information and hierarchical, deterministic cryptographic keys |
US11356280B2 (en) | 2016-02-23 | 2022-06-07 | Nchain Holdings Ltd | Personal device security using cryptocurrency wallets |
US10659223B2 (en) | 2016-02-23 | 2020-05-19 | nChain Holdings Limited | Secure multiparty loss resistant storage and transfer of cryptographic keys for blockchain based systems in conjunction with a wallet management system |
US10715336B2 (en) | 2016-02-23 | 2020-07-14 | nChain Holdings Limited | Personal device security using elliptic curve cryptography for secret sharing |
US11755718B2 (en) | 2016-02-23 | 2023-09-12 | Nchain Licensing Ag | Blockchain implemented counting system and method for use in secure voting and distribution |
US11727501B2 (en) | 2016-02-23 | 2023-08-15 | Nchain Licensing Ag | Cryptographic method and system for secure extraction of data from a blockchain |
US11120437B2 (en) | 2016-02-23 | 2021-09-14 | nChain Holdings Limited | Registry and automated management method for blockchain-enforced smart contracts |
US11455378B2 (en) | 2016-02-23 | 2022-09-27 | nChain Holdings Limited | Method and system for securing computer software using a distributed hash table and a blockchain |
US11182782B2 (en) | 2016-02-23 | 2021-11-23 | nChain Holdings Limited | Tokenisation method and system for implementing exchanges on a blockchain |
US11194898B2 (en) | 2016-02-23 | 2021-12-07 | nChain Holdings Limited | Agent-based turing complete transactions integrating feedback within a blockchain system |
US11625694B2 (en) | 2016-02-23 | 2023-04-11 | Nchain Licensing Ag | Blockchain-based exchange with tokenisation |
US11308486B2 (en) | 2016-02-23 | 2022-04-19 | nChain Holdings Limited | Method and system for the secure transfer of entities on a blockchain |
US11972422B2 (en) | 2016-02-23 | 2024-04-30 | Nchain Licensing Ag | Registry and automated management method for blockchain-enforced smart contracts |
US11621833B2 (en) | 2016-02-23 | 2023-04-04 | Nchain Licensing Ag | Secure multiparty loss resistant storage and transfer of cryptographic keys for blockchain based systems in conjunction with a wallet management system |
US10652014B2 (en) | 2016-02-23 | 2020-05-12 | nChain Holdings Limited | Determining a common secret for the secure exchange of information and hierarchical, deterministic cryptographic keys |
US11373152B2 (en) | 2016-02-23 | 2022-06-28 | nChain Holdings Limited | Universal tokenisation system for blockchain-based cryptocurrencies |
US11410145B2 (en) | 2016-02-23 | 2022-08-09 | nChain Holdings Limited | Blockchain-implemented method for control and distribution of digital content |
FR3049087A1 (fr) * | 2016-03-21 | 2017-09-22 | Sebastien Jean Serge Dupont | Procede permettant a des dispositifs par l'intermediaire de connaissances et de capacites croisees, de realiser des transactions a travers un reseau informatique decentralise |
JP2019515534A (ja) * | 2016-04-29 | 2019-06-06 | エヌチェーン ホールディングス リミテッドNchain Holdings Limited | 分散ハッシュテーブル及びピア・ツー・ピア分散型台帳を利用した契約の実行を制御する方法及びシステム |
EP4057200A1 (fr) * | 2016-04-29 | 2022-09-14 | nChain Licensing AG | Procédé et système permettant de commander l'exécution d'un contrat à l'aide d'une table de hachage distribuée et d'un grand livre distribué pair à pair |
WO2017187395A1 (fr) * | 2016-04-29 | 2017-11-02 | nChain Holdings Limited | Procédé et système pour contrôler l'exécution d'un contrat à l'aide d'une table de hachage distribuée et d'un grand livre distribué poste à poste |
JP7029408B2 (ja) | 2016-04-29 | 2022-03-03 | エヌチェーン ホールディングス リミテッド | 分散ハッシュテーブル及びピア・ツー・ピア分散型台帳を利用した契約の実行を制御する方法及びシステム |
IL262533B1 (en) * | 2016-04-29 | 2023-07-01 | Nchain Holdings Ltd | A method and system for controlling the execution of a contract using a distributed distribution board and a peer-to-peer distributed ledger |
GB2564207A (en) * | 2016-04-29 | 2019-01-09 | Nchain Holdings Ltd | A method and system for controlling the performance of a contract using a distributed hash table and a peer-to-peer distributed ledger |
US11082204B2 (en) | 2016-07-15 | 2021-08-03 | Mastercard International Incorporated | Method and system for partitioned blockchains and enhanced privacy for permissioned blockchains |
US11811911B2 (en) | 2016-07-15 | 2023-11-07 | Mastercard International Incorporated | Method and system for partitioned blockchains and enhanced privacy for permissioned blockchains |
US11574303B2 (en) | 2016-10-25 | 2023-02-07 | Nchain Licensing Ag | Blockchain-based method and system for specifying the recipient of an electronic communication |
US11694196B2 (en) | 2016-10-25 | 2023-07-04 | Nchain Licensing Ag | Method and system for directing an exchange associated with an anonymously held token on a blockchain |
US11995646B2 (en) | 2016-10-25 | 2024-05-28 | Nchain Licensing Ag | Blockchain-based method and system for specifying the recipient of an electronic communication |
CN111699502A (zh) * | 2018-01-15 | 2020-09-22 | E·马伊姆 | 基于代币的交易系统和方法 |
WO2019138391A1 (fr) * | 2018-01-15 | 2019-07-18 | Enrico Maim | Systèmes et procédés transactionnels à base de tokens |
Also Published As
Publication number | Publication date |
---|---|
US11210647B2 (en) | 2021-12-28 |
US20170091750A1 (en) | 2017-03-30 |
US20180349877A9 (en) | 2018-12-06 |
US20180121902A1 (en) | 2018-05-03 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
FR3018378A1 (fr) | Systeme et procede transactionnels a architecture repartie fondees sur des transactions de transferts d'unites de compte entre adresses | |
FR3018379A1 (fr) | Systeme et procedes transactionnels a architecture repartie fondes sur des transactions de transfert d'unites de compte entre adresses | |
FR3018377A1 (fr) | Systeme et procede transactionnels a architecture repartie fondes sur des transactions de transfert d'unites de compte entre adresses | |
FR3018370A1 (fr) | Procede et systeme de generation automatique de crypto-monnaies | |
JP7181232B2 (ja) | 一般的な計算のためのブロックチェーン | |
JP7284747B2 (ja) | 分散協調を用いるスマートコントラクトの実行 | |
AU2022226929B2 (en) | Advanced non-fungible token blockchain architecture | |
EP3872666A1 (fr) | Systèmes et procédés pour la gestion d'engagements en réseau d'entités sécurisées | |
US20190019180A1 (en) | Digital ledger authentication using address encoding | |
WO2017122187A2 (fr) | Procédés et systèmes mis en œuvre dans une architecture en réseau de nœuds susceptibles de réaliser des transactions basées sur messages | |
US11972420B2 (en) | Methods and systems for preventing transaction tracing on distributed ledger-based networks | |
WO2018131004A2 (fr) | Procédés et systèmes pour l'exécution de programmes dans des environnements sécurisés | |
US20230325824A1 (en) | Method, apparatus, and computer-readable medium for routing data services over a decentralized network | |
US20200294006A1 (en) | Peer to peer electronic data exchange | |
US20230298001A1 (en) | Non-fungible token (nft) purchase and transfer system | |
CN112016114B (zh) | 基于加密货币的智能合约生成方法、相关设备及存储介质 | |
FR3035248A1 (fr) | Systeme-sur-puce a fonctionnement securise et ses utilisations | |
WO2017162930A2 (fr) | Dispositif d'authentification biométrique adaptatif par échographie, photographies en lumière visible de contraste et infrarouge, sans divulgation, à travers un réseau informatique décentralisé | |
CN114846765B (zh) | 提供去中心化身份验证的方法和设备 | |
EP3803745B1 (fr) | Système transactionnel sécurisé dans une architecture p2p | |
WO2021165848A1 (fr) | Vérification de services de plateforme | |
US20230353374A1 (en) | Method, apparatus, and computer-readable medium for routing data services over a decentralized network | |
Bibodi | PodWeb: a decentralized application powered by Ethereum network | |
Cribäck | Micro payments: Viable technical platforms and models for a bankto provide payments on micro amounts | |
WO2023245196A1 (fr) | Dispositif de fabrication de marché automatisé entièrement collatérisé |