According to a first aspect disclosed herein there is provide a device comprising: a PUF module, and one or more outer layer components providing at least part of an unsecured channel for inputting a challenge to the PUF module and receiving back a response. Internal logic of the PUF module comprises a logging mechanism arranged to automatically log a record of the challenge and/or response in a log medium, e.g. a blockchain. According to a second aspect, there is provided a method comprising: sending a first message to be recorded on a blockchain, submitting a query to check that the first message has been recorded on the blockchain without manipulation, on condition thereof, sending a second messaging transaction to be recorded on the blockchain. The first and second aspects may be used together or independently.
H04L 9/32 - Dispositions pour les communications secrètes ou protégées; Protocoles réseaux de sécurité comprenant des moyens pour vérifier l'identité ou l'autorisation d'un utilisateur du système
G06F 21/10 - Protection de programmes ou contenus distribués, p.ex. vente ou concession de licence de matériel soumis à droit de reproduction
G06F 21/64 - Protection de l’intégrité des données, p.ex. par sommes de contrôle, certificats ou signatures
G06F 21/87 - Boîtiers fiables ou inviolables par encapsulation, p.ex. de circuits intégrés
G07C 5/08 - Enregistrement ou indication de données de marche autres que le temps de circulation, de fonctionnement, d'arrêt ou d'attente, avec ou sans enregistrement des temps de circulation, de fonctionnement, d'arrêt ou d'attente
H04L 9/00 - Dispositions pour les communications secrètes ou protégées; Protocoles réseaux de sécurité
2.
COMPUTER-IMPLEMENTED SYSTEMS AND METHODS FOR AN ACCUMULATOR-BASED PROTOCOL FOR THE DISTRIBUTION OF TASKS ACROSS A COMPUTER NETWORK
Techniques described herein can be utilized to implement a protocol for performing an unbiased selection of a particular worker node among a plurality of worker nodes to execute a computational task. Nodes of a distributed network may register to join a group membership by generating quantities derived at least in part from a hierarchical data structure, such as an accumulation tree, whose parameters are defined by a manager node. The manager node may utilise the quantities provided by the plurality of worker nodes to perform an unbiased selection of a worker node from among the plurality of worker nodes to perform a computational task. At least in one embodiment of the present invention, the manager node cannot determine, based on quantities supplied by the worker nodes, whether a particular worker node was selected to perform the computational task.
According to a first aspect of the disclosure, there is provided a request-response protocol for requesting access to data from a destination transaction. According to a second aspect of the disclosure, there is provided a method of accessing data from one or more destination transactions stored on a blockchain, wherein the method comprises selecting one or more hyperlinks linking to the destination transaction(s).
G06F 16/955 - Recherche dans le Web utilisant des identifiants d’information, p.ex. des localisateurs uniformisés de ressources [uniform resource locators - URL]
H04L 9/00 - Dispositions pour les communications secrètes ou protégées; Protocoles réseaux de sécurité
A computer-implemented method of creating different versions of a tree structure overlaid on a blockchain, wherein the method is performed by a tree creator and comprises: creating one or more target child nodes of a target parent node, each target child node comprising a respective data payload; and forming a respective edge between each target child node and the target parent node by associating each of the target child nodes with a respective link identifier, wherein the respective link identifier is based on at least one off-chain parameter.
H04L 9/00 - Dispositions pour les communications secrètes ou protégées; Protocoles réseaux de sécurité
H04L 9/32 - Dispositions pour les communications secrètes ou protégées; Protocoles réseaux de sécurité comprenant des moyens pour vérifier l'identité ou l'autorisation d'un utilisateur du système
5.
METHODS AND DEVICES FOR INCREASING ENTROPY OF A BLOCKCHAIN USING BLINDED OUTCOME DIVERSIFICATION
An implementation of the present application provides a computer-implemented method to increase the security of a blockchain-implemented transaction, the transaction including participation from a plurality of participating nodes, each participating node participating as a message originator, selector, and propagator. The method, implemented at a participating node, includes: receiving ciphertext from a prior node and determining whether the participating node is a selector node for said ciphertext received from the prior node. When the participating node is the selector node for said ciphertext, the method includes selecting a subset of said ciphertext, decrypting the selected subset of said ciphertext to provide opted ciphertext and transmitting said opted ciphertext to the next node. When the participating node is other than the selector node for said ciphertext, the method includes decrypting said ciphertext received from the prior node and transmitting the decrypted ciphertext to the next node.
H04L 9/16 - Dispositions pour les communications secrètes ou protégées; Protocoles réseaux de sécurité utilisant plusieurs clés ou algorithmes qui sont changés pendant l'opération
6.
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
Techniques are presented for securely transmitting a output script or information associated with a payroll and a user between a first node and a second node. The method comprises: determining a symmetric-key based on a common secret, based on a first node second private key and a second node second private key, wherein the second node has the same common secret based on a first node second public key and a second node second private key; encrypting at least part of the output script or information associated with the payroll and the second node with the symmetric-key, to an encrypted output script or encrypted information associated with the payroll and the second node; and sending the encrypted output script or encrypted information associated from the first node to the second node.
G06Q 20/06 - Circuits privés de paiement, p.ex. impliquant de la monnaie électronique utilisée uniquement entre les participants à un programme commun de paiement
G06Q 20/38 - Architectures, schémas ou protocoles de paiement - leurs détails
H04L 9/06 - Dispositions pour les communications secrètes ou protégées; Protocoles réseaux de sécurité l'appareil de chiffrement utilisant des registres à décalage ou des mémoires pour le codage par blocs, p.ex. système DES
H04L 9/14 - Dispositions pour les communications secrètes ou protégées; Protocoles réseaux de sécurité utilisant plusieurs clés ou algorithmes
H04L 9/30 - Clé publique, c. à d. l'algorithme de chiffrement étant impossible à inverser par ordinateur et les clés de chiffrement des utilisateurs n'exigeant pas le secret
A computer-implemented method of generating a share of a digital signature of a message, wherein a threshold number of different signature shares from respective participants of a group of participants are required to generate the digital signature, wherein each participant has a respective private key share, the method being performed by a first one of the participants and comprising: generating a first message-independent component and a first message-dependent component, wherein the message-independent component is generated based on a first private key share and wherein the message-dependent component is generated based on the message; causing the first message-independent component to be made available to a coordinator; and causing a first signature share to be made available to the coordinator for generating the signature based on at least the threshold number of signature shares, wherein the first signature share comprises at least the message-dependent component.
H04L 9/32 - Dispositions pour les communications secrètes ou protégées; Protocoles réseaux de sécurité comprenant des moyens pour vérifier l'identité ou l'autorisation d'un utilisateur du système
Techniques are provided for emulating or otherwise executing the functionality of a logic gate via a computer-based distributed ledger or blockchain. The method comprises the steps of automatically generating a blockchain transaction comprising a locking script for an output, wherein a corresponding redeem script: i) specifies a plurality of public keys, each associated with a corresponding private key; and wherein each public key is uniquely associated with a potential state of at least one data source; and ii) comprises logic arranged to provide a result based on which of the plurality of associated private key is used to sign an unlocking script, wherein a minimum number of said private keys must be used to sign the unlocking script of a further blockchain transaction in order to spend the output.
H04L 9/14 - Dispositions pour les communications secrètes ou protégées; Protocoles réseaux de sécurité utilisant plusieurs clés ou algorithmes
G06F 21/30 - Authentification, c. à d. détermination de l’identité ou de l’habilitation des responsables de la sécurité
G06F 21/64 - Protection de l’intégrité des données, p.ex. par sommes de contrôle, certificats ou signatures
G06Q 20/06 - Circuits privés de paiement, p.ex. impliquant de la monnaie électronique utilisée uniquement entre les participants à un programme commun de paiement
G06Q 20/36 - Architectures, schémas ou protocoles de paiement caractérisés par l'emploi de dispositifs spécifiques utilisant des portefeuilles électroniques ou coffres-forts électroniques
G06Q 20/38 - Architectures, schémas ou protocoles de paiement - leurs détails
H04L 9/06 - Dispositions pour les communications secrètes ou protégées; Protocoles réseaux de sécurité l'appareil de chiffrement utilisant des registres à décalage ou des mémoires pour le codage par blocs, p.ex. système DES
H04L 9/32 - Dispositions pour les communications secrètes ou protégées; Protocoles réseaux de sécurité comprenant des moyens pour vérifier l'identité ou l'autorisation d'un utilisateur du système
H04W 4/70 - Services pour la communication de machine à machine ou la communication de type machine
Techniques are presented to instantiate an event chain with a first block, wherein the first block is timestamped with an instantiation time; monitor for an event associated with a monitoring request; signal to other nodes in a plurality of nodes based on the monitoring by providing a commitment to a plurality of nodes in the plurality of nodes, wherein based on occurrence of the event providing either a dummy signal or an indicator comprising an encryption private key share held by the node, wherein the commitment is provided to the other nodes in the plurality of nodes; monitor for commitments from the other nodes in the plurality of nodes, wherein each commitment comprises a dummy signal or an encryption key share; process the commitments received from the other nodes to obtain an encryption private key share; and identify the encryption private key based on the analysis of the commitments.
H04L 9/30 - Clé publique, c. à d. l'algorithme de chiffrement étant impossible à inverser par ordinateur et les clés de chiffrement des utilisateurs n'exigeant pas le secret
H04L 9/32 - Dispositions pour les communications secrètes ou protégées; Protocoles réseaux de sécurité comprenant des moyens pour vérifier l'identité ou l'autorisation d'un utilisateur du système
10.
METHOD AND SYSTEM FOR SYNCHRONISING USER EVENT STREAMS WITH DUST-BASED RENDEZVOUS TRANSACTIONS
A method is provided by which payments for assets are recorded using blockchain transactions, and verified based on immutable logs associated with the transactions.
G06Q 20/10 - Architectures de paiement spécialement adaptées aux systèmes de banque à domicile
G06Q 20/38 - Architectures, schémas ou protocoles de paiement - leurs détails
G06Q 20/40 - Autorisation, p.ex. identification du payeur ou du bénéficiaire, vérification des références du client ou du magasin; Examen et approbation des payeurs, p.ex. contrôle des lignes de crédit ou des listes négatives
H04L 9/00 - Dispositions pour les communications secrètes ou protégées; Protocoles réseaux de sécurité
A computer-implemented method of generating blockchain transactions, wherein the method is performed by a first party and comprises: generating a first blockchain transaction, wherein the first blockchain transaction comprises a first compact script (CS), wherein the first CS is at least partly written in a high-level (HL) scripting language and comprises one or more HL functions, wherein when executed, each HL function is configured to perform an operation equivalent to a respective operation performed by one or more low-level (LL) functions of a LL scripting language, wherein the first CS is configured to perform an operation equivalent to a first expanded script (ES) written in the LL scripting language and comprising a plurality of LL functions, and wherein the first CS is smaller in storage size than the first ES; and making the first blockchain transaction available to one or more nodes of a blockchain network and/or a second party.
Methods and devices for compressing transaction identifiers by a first mining node in a blockchain network. The method may include building a first candidate block containing a first ordered list of transaction identifiers; receiving, from a second mining node, data defining a second ordered list of transaction identifiers in a second candidate block being mined by the second mining node; determining that at least one of the transaction identifiers in the first ordered list is also in the second ordered list; generating an append message containing data defining the first ordered list of transaction identifiers, wherein the data specifies said at least one transaction identifier in the first ordered list of transaction identifiers by including an index position of said at least one transaction identifier in the second ordered list of transaction identifiers; and transmitting the append message to the second mining node.
H04L 9/00 - Dispositions pour les communications secrètes ou protégées; Protocoles réseaux de sécurité
H04L 9/32 - Dispositions pour les communications secrètes ou protégées; Protocoles réseaux de sécurité comprenant des moyens pour vérifier l'identité ou l'autorisation d'un utilisateur du système
A computer program for generating an input and an output for a voting transaction for a blockchain for casting a vote, the computer program causes one or more processors to be configured to: receive voting instructions from a vote coordinator comprising one or more public keys and a set of voting options; render a user interface displaying the voting options; receive a user selection of one of the voting options; and generate an input-output pair for inclusion in a voting transaction; wherein a non-signature portion of the input comprises an outpoint identifying an unspent transaction output, and a signature portion of the input comprises a signature single flag and an associated signature signing at least the non-signature portion of the input-output pair and the output of the input-output pair but not any other output of the voting transaction, and the output of the input-output pair comprises one of public keys.
H04L 9/32 - Dispositions pour les communications secrètes ou protégées; Protocoles réseaux de sécurité comprenant des moyens pour vérifier l'identité ou l'autorisation d'un utilisateur du système
H04L 9/00 - Dispositions pour les communications secrètes ou protégées; Protocoles réseaux de sécurité
H04L 9/30 - Clé publique, c. à d. l'algorithme de chiffrement étant impossible à inverser par ordinateur et les clés de chiffrement des utilisateurs n'exigeant pas le secret
There is provided mechanisms for managing data in a blockchain network. In one embodiment, there is provided a computer implemented method performed at a headers client and comprising the following steps. Receiving a plurality of block headers from at least one external source, external to the headers client, the block headers each referring to a block in a blockchain. Storing the received plurality of block headers in a storage module. Analysing the plurality of block headers by validating the proof-of work for the plurality of received headers. Determining a best chain of block headers from the analysed plurality of block headers and storing the best chain at the storage module. The best chain can be a chain of blocks from genesis, which is a first block in the blockchain, to a current best block, which is a latest block in the blockchain. The best block may have the highest cumulative proof-of-work.
A computer-implemented method of generating a shared cryptographic key based on at least one shared secret, wherein each participant belonging to a first group has a respective share of a first secret, the first secret having a first threshold and a corresponding first public key, wherein a second coordinator has a second public key corresponding to a second secret, wherein the second coordinator is configured to generate the same shared cryptographic key.
A method is provided by which payments for assets are recorded using blockchain transactions, and verified based on immutable logs associated with the transactions.
G06Q 20/06 - Circuits privés de paiement, p.ex. impliquant de la monnaie électronique utilisée uniquement entre les participants à un programme commun de paiement
G06Q 20/38 - Architectures, schémas ou protocoles de paiement - leurs détails
17.
PLATFORM FOR A PLURALITY OF SERVICES ASSOCIATED WITH A BLOCKCHAIN
In a first aspect, the present disclosure proposes methods, devices and systems for implementing a platform providing a plurality of services that are associated with a blockchain, using a platform processor associated with an application programming interface (API) that is capable of receiving a client request in a Hypertext Transfer Protocol (HTTP) transmission protocol format for a service. Further to suitable verification of the identity of the client and/or the request, a destination address or endpoint for the requested blockchain service is determined, and at least one blockchain transaction is generated based on the destination address to obtain an output script. A result based on the output script is then sent to the given client in the HTTP transmission protocol format. In some aspects, the blockchain transaction is associated with an event stream that is implemented as a Finite State Machine on the blockchain.
G06Q 20/40 - Autorisation, p.ex. identification du payeur ou du bénéficiaire, vérification des références du client ou du magasin; Examen et approbation des payeurs, p.ex. contrôle des lignes de crédit ou des listes négatives
A computer-implemented method for submitting feedback for an entity to a blockchain is disclosed. The method, which is implemented at one of a plurality of participating nodes, includes: obtaining a first key, the first key being one of a fixed set of keys distributed to participating nodes that are eligible to submit feedback for the entity; generating first feedback (rj) of the entity for submission to the blockchain; encrypting the first feedback (rj) using at least the first key; and submitting the encrypted first feedback to a mixing service, the mixing service being configured to generate a mixed transaction based on the encrypted first feedback and at least one other encrypted feedback submission from one or more eligible participating nodes.
H04L 9/00 - Dispositions pour les communications secrètes ou protégées; Protocoles réseaux de sécurité
H04L 9/06 - Dispositions pour les communications secrètes ou protégées; Protocoles réseaux de sécurité l'appareil de chiffrement utilisant des registres à décalage ou des mémoires pour le codage par blocs, p.ex. système DES
H04L 9/32 - Dispositions pour les communications secrètes ou protégées; Protocoles réseaux de sécurité comprenant des moyens pour vérifier l'identité ou l'autorisation d'un utilisateur du système
19.
SYSTEM AND METHOD FOR HIERARCHICAL TOKEN DISTRIBUTION ON BLOCKCHAIN NETWORK
A computer-implemented method to generate a unidirectional commitment channel to send one or more tokens from a sender node to a recipient node using a blockchain is disclosed. The method is implemented by a processing resource that performs steps comprising: generating a first commitment transaction representing a commitment component in which a specified set of tokens is sent or committed for transfer from the first node to the second node; generating a return transaction which returns all tokens from the second node to the first node; signing the return transaction and, based on the signing of the return transaction, signing the commitment transaction; creating one or more further return transactions to reflect the transfer of tokens being made off the blockchain.
H04L 9/32 - Dispositions pour les communications secrètes ou protégées; Protocoles réseaux de sécurité comprenant des moyens pour vérifier l'identité ou l'autorisation d'un utilisateur du système
The invention relates to a method of enabling zero-knowledge proof or verification of a statement (S) for enabling exchange of data between a prover and a verifier, wherein the prover has access to first data on a first blockchain, and the verifier has access to second data on a second blockchain. In the method, a prover sends to a verifier a set of data including a statement, which for a given function circuit output and an elliptic curve point, the function circuit input is equal to the corresponding elliptic curve point multiplier. The statement can be that the prover knows a private key for an address on a blockchain network.
G06F 16/2458 - Types spéciaux de requêtes, p.ex. requêtes statistiques, requêtes floues ou requêtes distribuées
G06Q 20/06 - Circuits privés de paiement, p.ex. impliquant de la monnaie électronique utilisée uniquement entre les participants à un programme commun de paiement
G06Q 20/12 - Architectures de paiement spécialement adaptées aux systèmes de commerce électronique
G06Q 20/40 - Autorisation, p.ex. identification du payeur ou du bénéficiaire, vérification des références du client ou du magasin; Examen et approbation des payeurs, p.ex. contrôle des lignes de crédit ou des listes négatives
G06Q 30/018 - Certification d’entreprises ou de produits
G06Q 30/0207 - Remises ou incitations, p.ex. coupons ou rabais
G06Q 40/04 - Transactions; Opérations boursières, p.ex. actions, marchandises, produits dérivés ou change de devises
H04L 9/00 - Dispositions pour les communications secrètes ou protégées; Protocoles réseaux de sécurité
H04L 9/06 - Dispositions pour les communications secrètes ou protégées; Protocoles réseaux de sécurité l'appareil de chiffrement utilisant des registres à décalage ou des mémoires pour le codage par blocs, p.ex. système DES
H04L 9/30 - Clé publique, c. à d. l'algorithme de chiffrement étant impossible à inverser par ordinateur et les clés de chiffrement des utilisateurs n'exigeant pas le secret
H04L 9/32 - Dispositions pour les communications secrètes ou protégées; Protocoles réseaux de sécurité comprenant des moyens pour vérifier l'identité ou l'autorisation d'un utilisateur du système
21.
COMPUTER-IMPLEMENTED SYSTEMS AND METHODS FOR COMBINING BLOCKCHAIN TECHNOLOGY WITH DIGITAL TWINS
A computer implemented method and system is described which uses blockchain technology as a storage system for data acquired from a digital twin. The blockchain can be used to generate an immutable transaction history of data produced by the digital twin. In the case of an error, failure, incident, or accident, parties of interest can then access and analyse an immutable set of data. The blockchain network can also execute a digital smart contract based on the data received from a digital twin. The invention may be used in conjunction with the Bitcoin blockchain or another blockchain protocol.
H04L 9/32 - Dispositions pour les communications secrètes ou protégées; Protocoles réseaux de sécurité comprenant des moyens pour vérifier l'identité ou l'autorisation d'un utilisateur du système
G06F 16/27 - Réplication, distribution ou synchronisation de données entre bases de données ou dans un système de bases de données distribuées; Architectures de systèmes de bases de données distribuées à cet effet
G06F 21/64 - Protection de l’intégrité des données, p.ex. par sommes de contrôle, certificats ou signatures
H04L 9/06 - Dispositions pour les communications secrètes ou protégées; Protocoles réseaux de sécurité l'appareil de chiffrement utilisant des registres à décalage ou des mémoires pour le codage par blocs, p.ex. système DES
A system is provided for performing transaction mixing between a plurality of users on a blockchain. The system is configured to carry out the steps of: selecting an initiator node to calculate a deterministic hash function using a chosen random number; distribute the deterministic hash function to a plurality of users on the blockchain; choose an amount of time each user is given to construct a payment channel, retrieve the random number, and submit an execution transaction to a blockchain network; choose a second time for when a payment to a user is submitted to the blockchain network; and establish a one-way payment channel between every pair of users in an ordered set of the plurality of users to establish a transaction chain linking all users.
G06Q 20/36 - Architectures, schémas ou protocoles de paiement caractérisés par l'emploi de dispositifs spécifiques utilisant des portefeuilles électroniques ou coffres-forts électroniques
G06Q 20/06 - Circuits privés de paiement, p.ex. impliquant de la monnaie électronique utilisée uniquement entre les participants à un programme commun de paiement
G06Q 20/40 - Autorisation, p.ex. identification du payeur ou du bénéficiaire, vérification des références du client ou du magasin; Examen et approbation des payeurs, p.ex. contrôle des lignes de crédit ou des listes négatives
H04L 9/06 - Dispositions pour les communications secrètes ou protégées; Protocoles réseaux de sécurité l'appareil de chiffrement utilisant des registres à décalage ou des mémoires pour le codage par blocs, p.ex. système DES
23.
METHODS AND SYSTEMS FOR BLOCKCHAIN-IMPLEMENTED EVENT-LOCK ENCRYPTION
This invention relates to distributed systems, and more particularly to methods and systems for event-locked operations in transactions using a blockchain network. The method includes: detecting, by a first node that is a member of a congress comprising a plurality of nodes, malicious activity by a malicious node that is also a member of the congress; providing, by the first node, a partial signature on a confiscation transaction to transfer portion of digital asset(s) deposited by the malicious node to an unspendable address, wherein the digital asset(s) deposited by the malicious node; determining, by a threshold number of members of the congress, that the digital assets of the malicious node should be confiscated, and then confiscating the at least portion of digital asset(s) of the malicious node by generating a valid signature for the confiscation transaction and suspending the malicious node from further participation in the congress.
H04L 9/30 - Clé publique, c. à d. l'algorithme de chiffrement étant impossible à inverser par ordinateur et les clés de chiffrement des utilisateurs n'exigeant pas le secret
H04L 9/32 - Dispositions pour les communications secrètes ou protégées; Protocoles réseaux de sécurité comprenant des moyens pour vérifier l'identité ou l'autorisation d'un utilisateur du système
24.
COMPUTER IMPLEMENTED METHOD AND SYSTEM FOR TRANSFERRING CONTROL OF A DIGITAL ASSET
A computer-implemented method of transferring control of a digital asset on a blockchain network. The method described in one of the embodiments provides an advantage of enabling easy increase of the number of participants in the signature scheme. The method comprises the steps of distributing a version of cryptographic key, encrypted by means of cryptography system, to a plurality of second participants, wherein a homomorphic property enables derivation of a second public key from a first public key and said version of said cryptographic key. The shares communicated to each a first and/or second participant may be inaccessible to each other said first and/or second participants.
G06Q 20/12 - Architectures de paiement spécialement adaptées aux systèmes de commerce électronique
G06Q 20/38 - Architectures, schémas ou protocoles de paiement - leurs détails
G06Q 40/04 - Transactions; Opérations boursières, p.ex. actions, marchandises, produits dérivés ou change de devises
H04L 9/30 - Clé publique, c. à d. l'algorithme de chiffrement étant impossible à inverser par ordinateur et les clés de chiffrement des utilisateurs n'exigeant pas le secret
H04L 9/32 - Dispositions pour les communications secrètes ou protégées; Protocoles réseaux de sécurité comprenant des moyens pour vérifier l'identité ou l'autorisation d'un utilisateur du système
A method, system and program enabling a third party to determine whether a first party and a second party agree on membership of a set of blockchain transactions transacting between the first and second party.
G06Q 20/38 - Architectures, schémas ou protocoles de paiement - leurs détails
G06Q 20/40 - Autorisation, p.ex. identification du payeur ou du bénéficiaire, vérification des références du client ou du magasin; Examen et approbation des payeurs, p.ex. contrôle des lignes de crédit ou des listes négatives
G06F 21/64 - Protection de l’intégrité des données, p.ex. par sommes de contrôle, certificats ou signatures
A computer-implemented method of validating a blockchain transaction is disclosed. The method comprises requesting at least one UTXO referenced by at least one respective input of the transaction from a member node of at least one shard comprising at least one UTXO, obtaining validity data of at least one UTXO from at least one node, and performing a validation check on at least one input using the validity data.
H04L 9/32 - Dispositions pour les communications secrètes ou protégées; Protocoles réseaux de sécurité comprenant des moyens pour vérifier l'identité ou l'autorisation d'un utilisateur du système
G06F 16/27 - Réplication, distribution ou synchronisation de données entre bases de données ou dans un système de bases de données distribuées; Architectures de systèmes de bases de données distribuées à cet effet
G06Q 20/06 - Circuits privés de paiement, p.ex. impliquant de la monnaie électronique utilisée uniquement entre les participants à un programme commun de paiement
G06Q 20/36 - Architectures, schémas ou protocoles de paiement caractérisés par l'emploi de dispositifs spécifiques utilisant des portefeuilles électroniques ou coffres-forts électroniques
G06Q 20/38 - Architectures, schémas ou protocoles de paiement - leurs détails
H04L 9/06 - Dispositions pour les communications secrètes ou protégées; Protocoles réseaux de sécurité l'appareil de chiffrement utilisant des registres à décalage ou des mémoires pour le codage par blocs, p.ex. système DES
Techniques are presented to enable recovery of one or more digital assets held on a blockchain after a private key is lost. The computer implemented method comprises setting access for the one or more digital assets held on the blockchain under the public key Pk and accessible using the corresponding private key Sk of the user such that the one or more digital assets are also accessible using a private key x shared by a congress on the blockchain network, each member of the congress having a private key share xi to be used in a threshold signature scheme used to generate a valid signature. As a result of the private key Sk being lost, the congress accesses the one or more digital assets on behalf of the user in response to the user proving their identity to the congress by providing a recovery password.
H04L 9/32 - Dispositions pour les communications secrètes ou protégées; Protocoles réseaux de sécurité comprenant des moyens pour vérifier l'identité ou l'autorisation d'un utilisateur du système
H04L 9/06 - Dispositions pour les communications secrètes ou protégées; Protocoles réseaux de sécurité l'appareil de chiffrement utilisant des registres à décalage ou des mémoires pour le codage par blocs, p.ex. système DES
H04L 9/30 - Clé publique, c. à d. l'algorithme de chiffrement étant impossible à inverser par ordinateur et les clés de chiffrement des utilisateurs n'exigeant pas le secret
28.
COMPUTER-IMPLEMENTED SYSTEM AND METHOD FOR UPDATING A NETWORK'S KNOWLEDGE OF THE NETWORK'S TOPOLOGY
The computer implemented invention provides a method, corresponding systems and arrangement within a network for detecting changes in the topology, ordering those changes by occurrence and constructing a new topology reflecting the changes. The invention addresses problems with keeping the knowledge of the network topology at each network node current, particularly when the network topology is dynamic, i.e., when links fail and recover at arbitrary times. The topology updating is event driven, as it is activated when some change in the network, particularly with nodes and links occurs. Events cause topology changes to be reported to other nodes in the network. Timestamping of messages allows the messages to be correctly applied as the most recent update or discarded. An algorithm is provided that allows each merchant node to maintain a correct view of the network topology despite link and node failures.
A computer-implemented method of alerting users to on-chain events, wherein a primary user is associated with a primary user public key, and wherein the method is performed by an alerting entity and comprises: identifying one or more event transactions, wherein each event transaction comprising respective event data; generating a primary alert transaction, wherein the primary alert transaction comprises a first output locked to the primary user public key, and a second output comprising alert data, and wherein the alert data comprises a respective identifier of each identified event transaction; and transmitting the primary alert transaction to the blockchain network.
H04L 9/00 - Dispositions pour les communications secrètes ou protégées; Protocoles réseaux de sécurité
H04L 9/06 - Dispositions pour les communications secrètes ou protégées; Protocoles réseaux de sécurité l'appareil de chiffrement utilisant des registres à décalage ou des mémoires pour le codage par blocs, p.ex. système DES
H04L 9/30 - Clé publique, c. à d. l'algorithme de chiffrement étant impossible à inverser par ordinateur et les clés de chiffrement des utilisateurs n'exigeant pas le secret
30.
BLOCKCHAIN IMPLEMENTED COUNTING SYSTEM AND METHOD FOR USE IN SECURE VOTING AND DISTRIBUTION
Techniques are presented for the implementation of automated processes, such as device/system control, process control, distributed computing and storage, and event detecting, monitoring and/or counting mechanism. The event may be, for example, a vote, decision or selection which is made by a given entity. A counting solution is presented in which a computing resource, running simultaneously and in parallel to the blockchain, manages a loop-based operation. The computing resource continuously monitors the state of the blockchain as well as any other off-blockchain input data or source. The execution of the loop is influenced by the state of the blockchain. Each iteration of the loop that is executed by the computing resource is recorded in a transaction that is written to the blockchain.
G06F 21/52 - Contrôle des usagers, programmes ou dispositifs de préservation de l’intégrité des plates-formes, p.ex. des processeurs, des micrologiciels ou des systèmes d’exploitation au stade de l’exécution du programme, p.ex. intégrité de la pile, débordement de tampon ou prévention d'effacement involontaire de données
H04L 9/00 - Dispositions pour les communications secrètes ou protégées; Protocoles réseaux de sécurité
G06Q 20/06 - Circuits privés de paiement, p.ex. impliquant de la monnaie électronique utilisée uniquement entre les participants à un programme commun de paiement
H04L 9/32 - Dispositions pour les communications secrètes ou protégées; Protocoles réseaux de sécurité comprenant des moyens pour vérifier l'identité ou l'autorisation d'un utilisateur du système
G06F 21/64 - Protection de l’intégrité des données, p.ex. par sommes de contrôle, certificats ou signatures
G06N 7/00 - Agencements informatiques fondés sur des modèles mathématiques spécifiques
G06Q 20/38 - Architectures, schémas ou protocoles de paiement - leurs détails
H04L 9/06 - Dispositions pour les communications secrètes ou protégées; Protocoles réseaux de sécurité l'appareil de chiffrement utilisant des registres à décalage ou des mémoires pour le codage par blocs, p.ex. système DES
Candidate block data is pre-propagated using append messages such that each miner builds append only lists representing the candidate blocks being worked on by those other miners. The append only lists can end up out-of-sync with earlier versions of a candidate block being worked on by mining units at a miner. A block finalize message may be received providing a block solution for a final candidate block and including synchronization data. The synchronization data details one or more transactions appended to the append only list associated with the winning miner are not included in the final candidate block for which the block solution was found, enabling the receiving miner to remove those one or more transactions from the append only list associated with the winning miner to produce a final append only list and construct and validate a solved block from the final append only list.
H04L 9/06 - Dispositions pour les communications secrètes ou protégées; Protocoles réseaux de sécurité l'appareil de chiffrement utilisant des registres à décalage ou des mémoires pour le codage par blocs, p.ex. système DES
H04L 9/00 - Dispositions pour les communications secrètes ou protégées; Protocoles réseaux de sécurité
32.
BLOCKCHAIN-IMPLEMENTED METHODS AND SYSTEMS FOR AUTHORISATION BASED ON BILINEAR MAP ACCUMULATORS
The invention relates to distributed ledger technologies such as consensus-based blockchains. Computer-implemented methods for locking and unlocking transaction inputs and outputs are described. The invention is implemented using a blockchain network. A group of entities form a group in with membership may be proven using an accumulation tree. A variety of methods are described for generating the accumulation tree, including methods that use a central authority and methods that use a decentralized protocol in place of the central authority. In various implementations, parties are able to unlock transaction outputs that are based on group membership without revealing their identity generally.
H04L 9/32 - Dispositions pour les communications secrètes ou protégées; Protocoles réseaux de sécurité comprenant des moyens pour vérifier l'identité ou l'autorisation d'un utilisateur du système
H04L 9/30 - Clé publique, c. à d. l'algorithme de chiffrement étant impossible à inverser par ordinateur et les clés de chiffrement des utilisateurs n'exigeant pas le secret
33.
MALLEABILITY OF TRANSACTIONS FOR INCLUSION IN A BLOCKCHAIN
A method of recording a target transaction in a blockchain, comprising: obtaining an updated version of the target transaction, being updated relative to a pre-existing first version; and instead of the first version, sending the updated version to be propagated through a network of nodes to be recorded in the blockchain. The target transaction comprises an input comprising an unlocking script and a pointer to an output of a first transaction, the output of the first transaction comprising a locking script specifying a plurality of alternative conditions for unlocking that output. The unlocking script of the first version of the target transaction is configured to unlock the first output of the first transaction based on a first of said alternative conditions, and the unlocking script of the updated version is configured to unlock it based on a second one of said alternative conditions.
H04L 67/1095 - Réplication ou mise en miroir des données, p.ex. l’ordonnancement ou le transport pour la synchronisation des données entre les nœuds du réseau
H04L 9/00 - Dispositions pour les communications secrètes ou protégées; Protocoles réseaux de sécurité
H04L 9/32 - Dispositions pour les communications secrètes ou protégées; Protocoles réseaux de sécurité comprenant des moyens pour vérifier l'identité ou l'autorisation d'un utilisateur du système
A method for enabling a verifying party to verify an identity of a target party or device. The method comprises, in a set-up phase: storing, in a data store, a respective piece of response data for each of a set of one or more responses resulting from a setting-up party inputting a respective set of one or more challenges into a PUF module comprising a physically unclonable function, PUF, to generate the one or more responses based on the PUF; and storing an indication of the set of challenges in the data store. The indication does not comprise a value of each of the challenges in the set, but rather a master challenge from which the set of challenges is derivable by applying a derivation function to the master challenge.
H04L 9/32 - Dispositions pour les communications secrètes ou protégées; Protocoles réseaux de sécurité comprenant des moyens pour vérifier l'identité ou l'autorisation d'un utilisateur du système
H04L 9/00 - Dispositions pour les communications secrètes ou protégées; Protocoles réseaux de sécurité
35.
COMPUTER-IMPLEMENTED SYSTEM AND METHOD FOR PROPAGATION AND COMMUNICATION OF DATA IN A NETWORK SUCH AS A BLOCKCHAIN NETWORK
A method of propagating data packets in a network of nodes is disclosed. The method, implemented at one of the nodes, includes: generating at least one data packet of a first type; collecting a set of data packets of the first type during a first time period, the set including the at least one generated data packet and one data packet of the first type received from one or more first nodes in the network; and for each data packet in the set: randomly select two or more neighbouring nodes connected to said one of the nodes; transmit, to each of the two or more selected neighbouring nodes: the data packet, wherein the two or more selected neighbouring nodes are configured to relay the data packet to one or more second nodes in the network using a mode of data propagation arbitrarily selected for that neighbouring node.
H04L 9/00 - Dispositions pour les communications secrètes ou protégées; Protocoles réseaux de sécurité
H04L 9/06 - Dispositions pour les communications secrètes ou protégées; Protocoles réseaux de sécurité l'appareil de chiffrement utilisant des registres à décalage ou des mémoires pour le codage par blocs, p.ex. système DES
36.
IMPLEMENTING LOGIC GATE FUNCTIONALITY USING A BLOCKCHAIN
The invention presents a solution in which blockchain transactions are created to implement the functionality of a logic gate. The invention may be implemented on the Bitcoin platform or an alternative blockchain platform. The transaction includes a locking script which comprises instructions to process Boolean inputs and implement the functionality of a logic gate, such as the XOR gate. When the script is executed, the inputs will be evaluated, using computing agents, to provide an output of TRUE or FALSE, and the output will be subsequently provided to an unlocking script associated with a second transaction attempting to spend the output associated with the locking script. The second transaction is transmitted to the blockchain network for validation and, if determined to be valid (evaluated to a TRUE output), it will be written to the blockchain. Thus, the locking script of the first transaction provides the functionality.
G06Q 20/36 - Architectures, schémas ou protocoles de paiement caractérisés par l'emploi de dispositifs spécifiques utilisant des portefeuilles électroniques ou coffres-forts électroniques
G06Q 20/38 - Architectures, schémas ou protocoles de paiement - leurs détails
H04L 9/30 - Clé publique, c. à d. l'algorithme de chiffrement étant impossible à inverser par ordinateur et les clés de chiffrement des utilisateurs n'exigeant pas le secret
H04L 9/32 - Dispositions pour les communications secrètes ou protégées; Protocoles réseaux de sécurité comprenant des moyens pour vérifier l'identité ou l'autorisation d'un utilisateur du système
G06F 9/30 - Dispositions pour exécuter des instructions machines, p.ex. décodage d'instructions
G06F 21/62 - Protection de l’accès à des données via une plate-forme, p.ex. par clés ou règles de contrôle de l’accès
G06F 9/22 - Aménagements de microcommande ou de microprogramme
H04L 9/06 - Dispositions pour les communications secrètes ou protégées; Protocoles réseaux de sécurité l'appareil de chiffrement utilisant des registres à décalage ou des mémoires pour le codage par blocs, p.ex. système DES
37.
COMPUTER-IMPLEMENTED METHODS AND SYSTEMS FOR VALIDATING TOKENS FOR BLOCKCHAIN-BASED CRYPTOCURRENCIES
A first token associated with a first set of metadata and a first quantity of an asset is minted. A condition for triggering a process to duplicate the first token is determined to have been fulfilled. A second token that duplicates the first token is minted by at least causing a token minting transaction to be recorded to a peer-to-peer distributed ledger, wherein the token minting transaction associates a second set of metadata with the second token with the second set of metadata matching the first set of metadata, allocates the first quantity of the asset to the second token, and indicates that the first quantity of the asset has been transferred to the second token and that the first token is no longer valid. Aa identifier for the second token is provided, where the identifier is usable to determine that the second token is valid.
G06Q 20/36 - Architectures, schémas ou protocoles de paiement caractérisés par l'emploi de dispositifs spécifiques utilisant des portefeuilles électroniques ou coffres-forts électroniques
G06F 21/30 - Authentification, c. à d. détermination de l’identité ou de l’habilitation des responsables de la sécurité
G06Q 20/06 - Circuits privés de paiement, p.ex. impliquant de la monnaie électronique utilisée uniquement entre les participants à un programme commun de paiement
G06F 21/64 - Protection de l’intégrité des données, p.ex. par sommes de contrôle, certificats ou signatures
G06Q 40/00 - Finance; Assurance; Stratégies fiscales; Traitement des impôts sur les sociétés ou sur le revenu
G06Q 20/38 - Architectures, schémas ou protocoles de paiement - leurs détails
Distributing first shares of a first secret value, known to a first participant, to second participants. The first shares encrypted using a private key and a public key that is elliptic curve generator point multiplied by the private key. A first threshold number of first shares being required to enable a second participant to determine the first secret value. A second share of a second secret value is received from each of the second participants. The second shares encrypted using a private key and a public key that is an elliptic curve generator point multiplied by the private key. A second threshold number of second shares being required to enable a participant other than the second participant to determine the second secret value. A third share of a third secret value formed from the second shares. A third threshold number of third shares being required to enable the third secret value to be determined.
H04L 9/30 - Clé publique, c. à d. l'algorithme de chiffrement étant impossible à inverser par ordinateur et les clés de chiffrement des utilisateurs n'exigeant pas le secret
H04L 9/06 - Dispositions pour les communications secrètes ou protégées; Protocoles réseaux de sécurité l'appareil de chiffrement utilisant des registres à décalage ou des mémoires pour le codage par blocs, p.ex. système DES
A computer-implemented access method is provided. The method comprises the steps of: (i) submitting, to a blockchain (such as the Bitcoin blockchain), an access blockchain transaction addressed to a derived public key derived at least in part from a secret value and a public key; (ii) generating a verification public key based at least in part on the secret value and the public key; (iii) comparing the derived public key and the verification public key; and (iv) based on the comparison of step (iii): (a) allocating the at least one of the derived and verification public key as a further public key for verifying a further derived public key; and (b) granting access to a resource associated with at least one of the secret value and the derived public key.
H04L 9/06 - Dispositions pour les communications secrètes ou protégées; Protocoles réseaux de sécurité l'appareil de chiffrement utilisant des registres à décalage ou des mémoires pour le codage par blocs, p.ex. système DES
H04L 9/32 - Dispositions pour les communications secrètes ou protégées; Protocoles réseaux de sécurité comprenant des moyens pour vérifier l'identité ou l'autorisation d'un utilisateur du système
H04L 9/30 - Clé publique, c. à d. l'algorithme de chiffrement étant impossible à inverser par ordinateur et les clés de chiffrement des utilisateurs n'exigeant pas le secret
H04L 9/14 - Dispositions pour les communications secrètes ou protégées; Protocoles réseaux de sécurité utilisant plusieurs clés ou algorithmes
40.
SECURE PROVISION OF UNDETERMINED DATA FROM AN UNDETERMINED SOURCE INTO THE LOCKING SCRIPT OF A BLOCKCHAIN TRANSACTION
The invention relates to distributed ledger technologies such as consensus-based blockchains. Computer-implemented methods for locking blockchain transactions are described. The invention is implemented using a blockchain network. A first locking script is configured in a blockchain network. The first locking script is executed together with a first unlocking script, based on data obtained by executing the first unlocking script and a set of constraints. Verification that a first set of field values of the unlocking blockchain transaction is obtained by executing the first unlocking script and the set of constraints against the unlocking blockchain transaction. Validating the unlocking blockchain transaction according to the set of constraints. Finally, making the locking blockchain transaction available to one or more nodes of the blockchain network.
G06Q 20/38 - Architectures, schémas ou protocoles de paiement - leurs détails
G06Q 20/06 - Circuits privés de paiement, p.ex. impliquant de la monnaie électronique utilisée uniquement entre les participants à un programme commun de paiement
G06Q 20/36 - Architectures, schémas ou protocoles de paiement caractérisés par l'emploi de dispositifs spécifiques utilisant des portefeuilles électroniques ou coffres-forts électroniques
H04L 9/32 - Dispositions pour les communications secrètes ou protégées; Protocoles réseaux de sécurité comprenant des moyens pour vérifier l'identité ou l'autorisation d'un utilisateur du système
H04L 9/06 - Dispositions pour les communications secrètes ou protégées; Protocoles réseaux de sécurité l'appareil de chiffrement utilisant des registres à décalage ou des mémoires pour le codage par blocs, p.ex. système DES
H04L 9/30 - Clé publique, c. à d. l'algorithme de chiffrement étant impossible à inverser par ordinateur et les clés de chiffrement des utilisateurs n'exigeant pas le secret
G06F 21/64 - Protection de l’intégrité des données, p.ex. par sommes de contrôle, certificats ou signatures
G06F 21/62 - Protection de l’accès à des données via une plate-forme, p.ex. par clés ou règles de contrôle de l’accès
41.
DUPLICATING SMART CONTRACTS WITH TERMINATION CONDITION
The invention relates to distributed ledger technologies such as consensus-based blockchains. Computer-implemented methods for locking and unlocking blockchain transactions are described. The invention is implemented using a blockchain network. A first unlocking script of the unlocking blockchain transaction is configured to unlock a first locking script, wherein the first locking script is configured, when executed together with the first unlocking script, to determine, based on the first locking script and a constraint for verifying the unlocking blockchain transaction. Verifying the unlocking blockchain transaction is based on a set of constraints and corresponding field of the unlocking blockchain transaction, wherein data is based on the set of constraints. Providing data at the corresponding field of the unlocking blockchain transaction. Finally, making the unlocking blockchain transaction available to one or more nodes of a blockchain network.
G06Q 20/38 - Architectures, schémas ou protocoles de paiement - leurs détails
G06Q 20/06 - Circuits privés de paiement, p.ex. impliquant de la monnaie électronique utilisée uniquement entre les participants à un programme commun de paiement
G06Q 20/36 - Architectures, schémas ou protocoles de paiement caractérisés par l'emploi de dispositifs spécifiques utilisant des portefeuilles électroniques ou coffres-forts électroniques
H04L 9/32 - Dispositions pour les communications secrètes ou protégées; Protocoles réseaux de sécurité comprenant des moyens pour vérifier l'identité ou l'autorisation d'un utilisateur du système
H04L 9/06 - Dispositions pour les communications secrètes ou protégées; Protocoles réseaux de sécurité l'appareil de chiffrement utilisant des registres à décalage ou des mémoires pour le codage par blocs, p.ex. système DES
H04L 9/30 - Clé publique, c. à d. l'algorithme de chiffrement étant impossible à inverser par ordinateur et les clés de chiffrement des utilisateurs n'exigeant pas le secret
G06F 21/64 - Protection de l’intégrité des données, p.ex. par sommes de contrôle, certificats ou signatures
G06F 21/62 - Protection de l’accès à des données via une plate-forme, p.ex. par clés ou règles de contrôle de l’accès
A computer-implemented method of generating keys of a hierarchical key structure, wherein the method is performed by a key generator and comprises: obtaining a child key derivation path, wherein the child key derivation path comprises a sequence of elements, wherein the sequence of elements comprises one or more sets of one or more elements, each set of elements being generated based on a respective data item of a data path, and wherein each element in the sequence corresponds to a respective position of key in a respective level of the key structure; and generating one or more child keys based on the child key derivation path, wherein each respective child key is generated based on a respective element in the sequence at the respective position and of the respective level corresponding to that respective element.
H04L 9/32 - Dispositions pour les communications secrètes ou protégées; Protocoles réseaux de sécurité comprenant des moyens pour vérifier l'identité ou l'autorisation d'un utilisateur du système
H04L 9/00 - Dispositions pour les communications secrètes ou protégées; Protocoles réseaux de sécurité
A computer-implemented method of executing blockchain transactions, wherein a first blockchain transaction comprises a first output, wherein the first output comprises a first locking script comprising a version opcode, wherein a second transaction comprises a first input that references the first output of the first transaction and comprises a first unlocking script, and wherein the method is performed by a blockchain node and comprises: executing the first locking script together with the first unlocking script, wherein said execution comprises, upon executing the version opcode, obtaining a node protocol version number of the blockchain node, and outputting the node protocol version number, wherein the node protocol version number is associated with a particular functionality that the blockchain node is configured to execute.
H04L 9/32 - Dispositions pour les communications secrètes ou protégées; Protocoles réseaux de sécurité comprenant des moyens pour vérifier l'identité ou l'autorisation d'un utilisateur du système
H04L 9/00 - Dispositions pour les communications secrètes ou protégées; Protocoles réseaux de sécurité
44.
SECURE PROVISION OF UNDETERMINED DATA FROM AN UNDETERMINED SOURCE INTO THE LOCKING SCRIPT OF A BLOCKCHAIN TRANSACTION
The invention relates to distributed ledger technologies such as consensus-based blockchains. Computer-implemented methods for a self-replicating smart contract with termination condition are described. The invention is implemented using a blockchain network. A first transaction including a first script is validated by a node in the blockchain network including a third script, and a second set of field values of a second transaction, wherein the second set of field values includes a copy of the second script causing to obtain the second transaction. The second transaction includes a second script, validated by a node upon determining that a termination condition is unfulfilled, at least obtaining the third script from the first set of field values, and determining that the copy of the second script matches the third script. The first transaction is validated as a result of execution of the first script and the second script.
G06Q 20/38 - Architectures, schémas ou protocoles de paiement - leurs détails
G06Q 20/06 - Circuits privés de paiement, p.ex. impliquant de la monnaie électronique utilisée uniquement entre les participants à un programme commun de paiement
G06Q 20/36 - Architectures, schémas ou protocoles de paiement caractérisés par l'emploi de dispositifs spécifiques utilisant des portefeuilles électroniques ou coffres-forts électroniques
H04L 9/32 - Dispositions pour les communications secrètes ou protégées; Protocoles réseaux de sécurité comprenant des moyens pour vérifier l'identité ou l'autorisation d'un utilisateur du système
H04L 9/06 - Dispositions pour les communications secrètes ou protégées; Protocoles réseaux de sécurité l'appareil de chiffrement utilisant des registres à décalage ou des mémoires pour le codage par blocs, p.ex. système DES
H04L 9/30 - Clé publique, c. à d. l'algorithme de chiffrement étant impossible à inverser par ordinateur et les clés de chiffrement des utilisateurs n'exigeant pas le secret
G06F 21/64 - Protection de l’intégrité des données, p.ex. par sommes de contrôle, certificats ou signatures
G06F 21/62 - Protection de l’accès à des données via une plate-forme, p.ex. par clés ou règles de contrôle de l’accès
45.
METHODS AND SYSTEMS FOR COMPRESSING TRANSACTION IDENTIFIERS
Methods and systems for compressing transaction identifiers by a mining node in a blockchain network. The method may include receiving transaction data regarding a blockchain transaction having a transaction identifier; appending the transaction identifier to a global transaction identifier list at a position associated with an index; generating a fixed-length prefix value from the transaction identifier using a function, wherein the function has an equiprobable distribution of results across a range of fixed-length prefix values; identifying a memory location associated with the fixed-length prefix value and storing the index in a data structure at the memory location; truncating the transaction identifier to a shortened transaction identifier; and outputting the fixed-length prefix value concatenated with the shorted transaction identifier as a compressed transaction identifier.
H04L 9/00 - Dispositions pour les communications secrètes ou protégées; Protocoles réseaux de sécurité
H04L 9/32 - Dispositions pour les communications secrètes ou protégées; Protocoles réseaux de sécurité comprenant des moyens pour vérifier l'identité ou l'autorisation d'un utilisateur du système
COMPUTER-IMPLEMENTED SYSTEMS AND METHODS TO ENABLE COMPLEX FUNCTIONALITY ON A BLOCKCHAIN WHILE PRESERVING SECURITY-BASED RESTRICTIONS ON SCRIPT SIZE AND OPCODE LIMITS
Techniques are presented to decompose the functionality of a blockchain transaction script into several chunks or functional parts, and to use the output of a chunk as the input of the next chunk. Advantageously, this allows the blockchain to be used for ever complex tasks and computations while minimizing script size, and also provides a novel architecture for the distributed execution of computational processes. A presented method obtains data from at least one data storage resource, the data comprising a first unlocking script corresponding to a first blockchain transaction and a second unlocking script corresponding to a second blockchain transaction, and controls a task or computation based on the data obtained as a result of the first and second blockchain transactions.
G06Q 20/40 - Autorisation, p.ex. identification du payeur ou du bénéficiaire, vérification des références du client ou du magasin; Examen et approbation des payeurs, p.ex. contrôle des lignes de crédit ou des listes négatives
G06F 9/46 - Dispositions pour la multiprogrammation
G06Q 20/06 - Circuits privés de paiement, p.ex. impliquant de la monnaie électronique utilisée uniquement entre les participants à un programme commun de paiement
H04L 9/06 - Dispositions pour les communications secrètes ou protégées; Protocoles réseaux de sécurité l'appareil de chiffrement utilisant des registres à décalage ou des mémoires pour le codage par blocs, p.ex. système DES
H04L 9/32 - Dispositions pour les communications secrètes ou protégées; Protocoles réseaux de sécurité comprenant des moyens pour vérifier l'identité ou l'autorisation d'un utilisateur du système
G06Q 20/38 - Architectures, schémas ou protocoles de paiement - leurs détails
G06F 9/448 - Paradigmes d’exécution, p.ex. implémentation de paradigmes de programmation
47.
BLOCKCHAIN-IMPLEMENTED SECURITY SYSTEMS AND METHODS FOR BLINDED OUTCOME SELECTION
First secrets are generated by a first party. The first secrets are encrypted by the first party utilizing elliptic curve cryptography to obtain data points representing encrypted versions of the first secrets. A message, which includes the data points, is sent by the first party to a second party. A first transaction created by the second party is verified by the first party ensuring that cryptographic locks generated by the second party are based on allowed linear combinations of encrypted versions of the first secrets and encrypted versions of second secrets generated by the second party. One secret from the first secrets is randomly selected by the first party. Another message, which includes the one secret, is sent by the first party to the second party such that the second party can generate a cryptographic key that unlocks a cryptographic lock of the cryptographic locks generated by the second party.
H04L 9/06 - Dispositions pour les communications secrètes ou protégées; Protocoles réseaux de sécurité l'appareil de chiffrement utilisant des registres à décalage ou des mémoires pour le codage par blocs, p.ex. système DES
H04L 9/30 - Clé publique, c. à d. l'algorithme de chiffrement étant impossible à inverser par ordinateur et les clés de chiffrement des utilisateurs n'exigeant pas le secret
H04L 9/32 - Dispositions pour les communications secrètes ou protégées; Protocoles réseaux de sécurité comprenant des moyens pour vérifier l'identité ou l'autorisation d'un utilisateur du système
48.
CRYPTOGRAPHIC METHOD AND SYSTEM FOR SECURE EXTRACTION OF DATA FROM A BLOCKCHAIN
Techniques are presented for cryptographic secure processing, transmission and exchange of data. A computer implemented method is presented comprising associating one or more elements of a structure with a cryptographic sub-key derived from another cryptographic key, wherein the structure is formed by elements within a hierarchical entity, and the hierarchical entity has a plurality of elements organized or associated in a hierarchical relationship; extracting or copying, from a blockchain transaction, data comprising or relating to the cryptographic sub-key associated with the one or more elements; and transmitting the extracted data to a non-blockchain based computer system associated with the hierarchical entity.
H04L 9/30 - Clé publique, c. à d. l'algorithme de chiffrement étant impossible à inverser par ordinateur et les clés de chiffrement des utilisateurs n'exigeant pas le secret
G06Q 20/38 - Architectures, schémas ou protocoles de paiement - leurs détails
G06F 16/27 - Réplication, distribution ou synchronisation de données entre bases de données ou dans un système de bases de données distribuées; Architectures de systèmes de bases de données distribuées à cet effet
A computer-implemented method of sharing blockchain transactions, wherein the method is performed by a first party and comprises: receiving, from a second party over a QUIC connection, a payment destination, wherein the payment destination comprises a public key and/or a public-key-based address; and sending a transaction to the second party over the QUIC connection, wherein the transaction comprises an output locked to the payment destination.
G06Q 20/38 - Architectures, schémas ou protocoles de paiement - leurs détails
G06Q 20/02 - Architectures, schémas ou protocoles de paiement impliquant un tiers neutre, p.ex. une autorité de certification, un notaire ou un tiers de confiance
A computer-implemented method of providing proof that a data item of a blockchain transaction exists on a blockchain, wherein the method comprises: obtaining, from a requesting party, target data item of a target blockchain transaction; obtaining the target blockchain transaction; obtaining a target Merkle proof for the target blockchain transaction, wherein a corresponding target Merkle root is contained within a block of the blockchain, and wherein obtaining the target Merkle proof comprises calculating an index of a target transaction identifier of the target blockchain transaction within a leaf layer of a corresponding target Merkle tree; and outputting at least the target Merkle proof for use by the requesting party as proof that the target data item exists as part of the target blockchain transaction on the blockchain.
G06F 16/27 - Réplication, distribution ou synchronisation de données entre bases de données ou dans un système de bases de données distribuées; Architectures de systèmes de bases de données distribuées à cet effet
G06F 16/22 - Indexation; Structures de données à cet effet; Structures de stockage
A computer-implemented method of deriving keys of a hierarchical key structure, wherein the method is performed by a first party and comprises: generating a target index of a target child key, wherein the target index is generated based on a first result of inputting at least a target message to a first hash function; and deriving the target child key of a level in a hierarchy of a key structure based on a) a parent key of a preceding level in the hierarchy, and b) a second result of inputting at least i) the parent key, and ii) the target index, to a second hash function.
H04L 9/32 - Dispositions pour les communications secrètes ou protégées; Protocoles réseaux de sécurité comprenant des moyens pour vérifier l'identité ou l'autorisation d'un utilisateur du système
A computer-implemented method of providing proof that a blockchain transaction exists on a blockchain, wherein the method is performed by a Merkle proof entity configured to store a set of transaction identifiers of respective blockchain transactions but not to publish new blockchain blocks to the blockchain network, and wherein the method comprises: obtaining a target transaction identifier of a target blockchain transaction, wherein the target transaction identifier forms part of the stored set of transaction identifiers; obtaining a target Merkle proof for the target blockchain transaction, wherein a corresponding target Merkle root is contained within a blockheader of the blockchain; and outputting the target Merkle proof for use by the requesting party as proof that the target blockchain transaction exists on the blockchain.
H04L 9/00 - Dispositions pour les communications secrètes ou protégées; Protocoles réseaux de sécurité
H04L 9/32 - Dispositions pour les communications secrètes ou protégées; Protocoles réseaux de sécurité comprenant des moyens pour vérifier l'identité ou l'autorisation d'un utilisateur du système
53.
FORCING THE INJECTION OF A PREVIOUS TRANSACTION'S BYTECODE INTO A BLOCKCHAIN TRANSACTION
Techniques are provided for causing an injection of a serialized previous transaction into a locking script. A first script, of a first transaction to be validated, causes a node to at least obtain a first set of field values corresponding to the first transaction and obtain a second set of field values corresponding to a particular transaction. A second script, included in a second transaction, causes the node to at least obtain the first set of field values and the second set of field values of the particular transaction supplied as a result of execution of the first script, extract a transaction identifier from the first set of field values, and determine, based at least in part on the second set of field values, that the particular transaction corresponds to the transaction identifier. The first transaction is validated by executing the first script and the second script.
G06Q 20/38 - Architectures, schémas ou protocoles de paiement - leurs détails
G06Q 20/06 - Circuits privés de paiement, p.ex. impliquant de la monnaie électronique utilisée uniquement entre les participants à un programme commun de paiement
G06Q 20/36 - Architectures, schémas ou protocoles de paiement caractérisés par l'emploi de dispositifs spécifiques utilisant des portefeuilles électroniques ou coffres-forts électroniques
H04L 9/32 - Dispositions pour les communications secrètes ou protégées; Protocoles réseaux de sécurité comprenant des moyens pour vérifier l'identité ou l'autorisation d'un utilisateur du système
H04L 9/06 - Dispositions pour les communications secrètes ou protégées; Protocoles réseaux de sécurité l'appareil de chiffrement utilisant des registres à décalage ou des mémoires pour le codage par blocs, p.ex. système DES
H04L 9/30 - Clé publique, c. à d. l'algorithme de chiffrement étant impossible à inverser par ordinateur et les clés de chiffrement des utilisateurs n'exigeant pas le secret
G06F 21/64 - Protection de l’intégrité des données, p.ex. par sommes de contrôle, certificats ou signatures
G06F 21/62 - Protection de l’accès à des données via une plate-forme, p.ex. par clés ou règles de contrôle de l’accès
54.
CHALLENGE-RESPONSE PROTOCOL BASED ON PHYSICALLY UNCLONABLE FUNCTIONS
A computer-implemented method comprising one or more instances of a challenge-response mapping operation. The challenge-response mapping operation comprises: from a submitting party, receiving challenge data comprising a secondary challenge, from among a set of multiple possible secondary challenges; inputting a primary challenge into a physically unclonable function, PUF, to generate a corresponding primary response; inputting the received secondary challenge and the generated primary response into a deterministic transform function in order to generate a secondary response, being a response to the secondary challenge, the transform function being a function of the secondary challenge and the primary response; and outputting response data comprising the secondary response or data derived therefrom.
H04L 9/32 - Dispositions pour les communications secrètes ou protégées; Protocoles réseaux de sécurité comprenant des moyens pour vérifier l'identité ou l'autorisation d'un utilisateur du système
H04L 9/00 - Dispositions pour les communications secrètes ou protégées; Protocoles réseaux de sécurité
The invention provides a method and corresponding system for controlling a transfer of an asset via a blockchain. It can also be used to control and record the ownership of an asset represented on the blockchain without the need for a separate registry of ownership. The ownership and transfers thereof can be handled and recorded without the need for knowledge of the parties involved or their identities. According to one embodiment, the method comprises steps of finding an anchor transaction to begin traversal of a transaction history, traversing the transaction history to determine a current unspent transaction output (UTXO) set, and creating a distributed transaction associated with an asset for the determined UTXO. Next, the distribution transaction is broadcasted and re-directed, by an asset owner, to a select private key of the owner. After the re-directing the distribution transaction, the asset is published on the blockchain.
G06Q 20/38 - Architectures, schémas ou protocoles de paiement - leurs détails
G06Q 20/10 - Architectures de paiement spécialement adaptées aux systèmes de banque à domicile
H04L 9/06 - Dispositions pour les communications secrètes ou protégées; Protocoles réseaux de sécurité l'appareil de chiffrement utilisant des registres à décalage ou des mémoires pour le codage par blocs, p.ex. système DES
G06Q 20/36 - Architectures, schémas ou protocoles de paiement caractérisés par l'emploi de dispositifs spécifiques utilisant des portefeuilles électroniques ou coffres-forts électroniques
G06Q 20/40 - Autorisation, p.ex. identification du payeur ou du bénéficiaire, vérification des références du client ou du magasin; Examen et approbation des payeurs, p.ex. contrôle des lignes de crédit ou des listes négatives
H04L 9/32 - Dispositions pour les communications secrètes ou protégées; Protocoles réseaux de sécurité comprenant des moyens pour vérifier l'identité ou l'autorisation d'un utilisateur du système
G06F 21/64 - Protection de l’intégrité des données, p.ex. par sommes de contrôle, certificats ou signatures
G06Q 20/06 - Circuits privés de paiement, p.ex. impliquant de la monnaie électronique utilisée uniquement entre les participants à un programme commun de paiement
H04L 9/00 - Dispositions pour les communications secrètes ou protégées; Protocoles réseaux de sécurité
56.
SYSTEM AND METHOD FOR TRANSFERRING RESOURCES USING A BLOCKCHAIN
A computer-implemented includes sending a public key associated with a particular node in a cyclically-ordered set of nodes participating in a blockchain network to an initiator node; receiving, by the particular node from a node immediately previous to the particular node in the cyclically-ordered set, a first value based on public keys associated with each node from the particular node through to the initiator node; determining a locking value based on the first value and the public key associated with the particular node; and preparing using the locking value, a transaction arranged to transmit control of a resource from a source address associated with the particular node to a receiving address of a node immediately subsequent to the particular node. The control of the resource is to be transmitted responsive to satisfaction of an execution condition including supply of an unlocking value corresponding to the locking value.
G06Q 20/38 - Architectures, schémas ou protocoles de paiement - leurs détails
H04L 9/06 - Dispositions pour les communications secrètes ou protégées; Protocoles réseaux de sécurité l'appareil de chiffrement utilisant des registres à décalage ou des mémoires pour le codage par blocs, p.ex. système DES
G06Q 20/06 - Circuits privés de paiement, p.ex. impliquant de la monnaie électronique utilisée uniquement entre les participants à un programme commun de paiement
H04L 9/32 - Dispositions pour les communications secrètes ou protégées; Protocoles réseaux de sécurité comprenant des moyens pour vérifier l'identité ou l'autorisation d'un utilisateur du système
H04L 9/00 - Dispositions pour les communications secrètes ou protégées; Protocoles réseaux de sécurité
57.
SYSTEM AND METHOD FOR SECURELY SHARING CRYPTOGRAPHIC MATERIAL
Systems and methods described herein relate to techniques in which multiple parties each generate and exchange quantities that are based on a shared secret (e.g., powers of the shared secret) without exposing the shared secret. According to a protocol, two or more parties may exchange sets of elliptic curve points generated over polynomials that can be used, by each of the two or more parties, to determine a power of a shared secret. The protocol may be utilised as part of determining parameters for a smart contract that is broadcast to a blockchain network (e.g., Bitcoin). Based on the protocol, an additional party (e.g., a third party different from the two or more parties) may perform a computational task such as execution of the smart contract.
G06F 7/72 - Méthodes ou dispositions pour effectuer des calculs en utilisant une représentation numérique non codée, c. à d. une représentation de nombres sans base; Dispositifs de calcul utilisant une combinaison de représentations de nombres codées et non codées utilisant l'arithmétique des résidus
G06F 17/17 - Opérations mathématiques complexes Évaluation de fonctions par des procédés d'approximation, p.ex. par interpolation ou extrapolation, par lissage ou par le procédé des moindres carrés
H04L 9/32 - Dispositions pour les communications secrètes ou protégées; Protocoles réseaux de sécurité comprenant des moyens pour vérifier l'identité ou l'autorisation d'un utilisateur du système
H04L 9/30 - Clé publique, c. à d. l'algorithme de chiffrement étant impossible à inverser par ordinateur et les clés de chiffrement des utilisateurs n'exigeant pas le secret
H04L 9/14 - Dispositions pour les communications secrètes ou protégées; Protocoles réseaux de sécurité utilisant plusieurs clés ou algorithmes
H04L 9/00 - Dispositions pour les communications secrètes ou protégées; Protocoles réseaux de sécurité
58.
PHYSICALLY UNCLONABLE FUNCTIONS STORING RESPONSE VALUES ON A BLOCKCHAIN
A method for enabling a verifying party to verify an identity of a target party or device. The method comprises, in a set-up phase: inputting of each of a set of one or more challenges into a PUF module comprising a physically unclonable function, PUF, to generate a respective one of a set of responses from each challenge; and causing to be stored, on a blockchain, a respective piece of response data for each of the set of one or more responses generated by the PUF module. The piece of response data for each response comprises the respective response or data derived therefrom. The pieces of response data are stored in one or more storage transactions recorded on the blockchain, thereby making at least one of the pieces of response data available to the verifying party for verifying the identity of the target in a subsequent verification phase.
H04L 9/32 - Dispositions pour les communications secrètes ou protégées; Protocoles réseaux de sécurité comprenant des moyens pour vérifier l'identité ou l'autorisation d'un utilisateur du système
H04L 9/00 - Dispositions pour les communications secrètes ou protégées; Protocoles réseaux de sécurité
A technique for locking a blockchain transaction based on undetermined data, using a blockchain network. A locking node may include a locking script in a blockchain transaction to lock a digital asset. The locking script includes a public key for a determined data source and instructions to cause a validating node executing the locking script to verify the source of data provided in an unlocking script by: a) generating a modified public key based on the public key for the determined data source and based on data defined in the unlocking script; and b) evaluating a cryptographic signature in the unlocking script based on the modified public key. The blockchain transaction containing the locking script is sent by the locking node to the blockchain network. The lock may be removed using a cryptographic signature generated from a private key modified based on the data.
H04L 9/32 - Dispositions pour les communications secrètes ou protégées; Protocoles réseaux de sécurité comprenant des moyens pour vérifier l'identité ou l'autorisation d'un utilisateur du système
G06F 16/27 - Réplication, distribution ou synchronisation de données entre bases de données ou dans un système de bases de données distribuées; Architectures de systèmes de bases de données distribuées à cet effet
G06F 7/72 - Méthodes ou dispositions pour effectuer des calculs en utilisant une représentation numérique non codée, c. à d. une représentation de nombres sans base; Dispositifs de calcul utilisant une combinaison de représentations de nombres codées et non codées utilisant l'arithmétique des résidus
G06Q 20/06 - Circuits privés de paiement, p.ex. impliquant de la monnaie électronique utilisée uniquement entre les participants à un programme commun de paiement
G06Q 20/36 - Architectures, schémas ou protocoles de paiement caractérisés par l'emploi de dispositifs spécifiques utilisant des portefeuilles électroniques ou coffres-forts électroniques
G06Q 20/38 - Architectures, schémas ou protocoles de paiement - leurs détails
H04L 9/30 - Clé publique, c. à d. l'algorithme de chiffrement étant impossible à inverser par ordinateur et les clés de chiffrement des utilisateurs n'exigeant pas le secret
60.
PHYSICALLY UNCLONABLE FUNCTIONS STORING RESPONSE VALUES ON A DATA STORE
A method for enabling a verifying party to verify an identity of a target comprising a target party or device. The method comprises, in a set-up phase, by a party other than the verifying party: inputting a set of one or more challenges into a PUF module comprising a physically unclonable function, PUF, in order to generate a respective set of one or more responses based on the PUF; and storing a respective response data record for each of the set of responses in a data store external to any equipment of the target party or verifying party, the data store either being part of third party computer equipment or being a public peer-to-peer publication medium. The response data records are thus made available to the verifying party to verify the identity of the target in a subsequent verification phase.
H04L 9/32 - Dispositions pour les communications secrètes ou protégées; Protocoles réseaux de sécurité comprenant des moyens pour vérifier l'identité ou l'autorisation d'un utilisateur du système
H04L 9/00 - Dispositions pour les communications secrètes ou protégées; Protocoles réseaux de sécurité
The invention provides a blockchain-implemented control method and corresponding system(s). The invention may control access to an internet-enabled resource such as an IoT device that is provided with computing capabilities enabling it to communicate with other computer-based resources and interact with a distributed ledger such as a blockchain. In one embodiment, the invention provides a method for controlling the use of an internet-enabled resource comprising providing a first blockchain transaction comprising at least one output which is redeemable only by provision of at least: i) a secret value selected by a user; and ii) a signature associated with a resource provider; sending use-related information to the resource; generating a second blockchain transaction requesting at least the secret value; and modifying the second blockchain transaction to include the secret value.
G06Q 20/14 - Architectures de paiement spécialement adaptées aux systèmes de facturation
H04L 9/06 - Dispositions pour les communications secrètes ou protégées; Protocoles réseaux de sécurité l'appareil de chiffrement utilisant des registres à décalage ou des mémoires pour le codage par blocs, p.ex. système DES
H04L 9/32 - Dispositions pour les communications secrètes ou protégées; Protocoles réseaux de sécurité comprenant des moyens pour vérifier l'identité ou l'autorisation d'un utilisateur du système
A computer-implemented method of authorising a payment by a target party to a verifying party. The method comprises, by the verifying party: performing a payment verification to verify a source of funds of the target party; and performing an identity verification to verify an identity of the target party. The identity verification comprises accessing response data stored in a data store in association with the identity of the target party, the data store being implemented in third party computer equipment of a trusted third party or on a peer-to-peer publication medium, wherein the response data comprises either a) a stored instance of a response to a challenge, or b) an attestation comprising a transformation of the response. The payment is authenticated on condition that the outputs of both the payment verification and identity verifications is true.
G06Q 20/40 - Autorisation, p.ex. identification du payeur ou du bénéficiaire, vérification des références du client ou du magasin; Examen et approbation des payeurs, p.ex. contrôle des lignes de crédit ou des listes négatives
G06Q 20/02 - Architectures, schémas ou protocoles de paiement impliquant un tiers neutre, p.ex. une autorité de certification, un notaire ou un tiers de confiance
G06Q 20/38 - Architectures, schémas ou protocoles de paiement - leurs détails
G06Q 20/20 - Systèmes de réseaux présents sur les points de vente
63.
BLOCKCHAIN-BASED SYSTEM AND METHOD FOR PUBLISHING AN OPERATING SYSTEM
A method comprising, by a client device: identifying one or more target transactions, recorded on a blockchain, that contain operating system software stored in a payload of the one or more target transactions, the operating system software comprising at least part of an operating system, at least including some executable code of the operating system; accessing the operating system software from the payload of the one or more target transactions as stored on the blockchain; and running, on the client device, the operating system software as accessed from the one or more target transactions, the running comprising executing the executable code of the operating system.
G06F 21/57 - Certification ou préservation de plates-formes informatiques fiables, p.ex. démarrages ou arrêts sécurisés, suivis de version, contrôles de logiciel système, mises à jour sécurisées ou évaluation de vulnérabilité
A computer-implemented method of validating token transactions, wherein the validating entity has access to a token mint transaction and/or a token setup transaction, wherein the token mint transaction comprises cryptographic minting data, and mints an initial amount of the tokens, wherein the token setup transaction comprises the minting data certified by the token issuer, and wherein the method is performed by a validating entity and comprises: obtaining a target token transaction comprising one or more token inputs and one or more token outputs; and validating the target token transaction, wherein said validating of the target token transaction comprises: verifying that each token input of the target token transaction comprises the minting data, and/or verifying that each token input of the target token transaction references a respective token output of either the token mint transaction or a previously validated token transaction that can be traced back to the token mint transaction.
Methods and devices to enable the splitting of storage and validation functions from mining function in a blockchain network. The storage and validation nodes create candidate blocks and collect block rewards from successfully mined blocks. The mining nodes provide hash power for mining the candidate blocks and received resources from the storage and validation node for successful mining of a candidate block. Atomic exchange mechanisms are described for preventing loss and fraud and minimizing the use of bandwidth by mining nodes.
H04L 9/00 - Dispositions pour les communications secrètes ou protégées; Protocoles réseaux de sécurité
H04L 9/32 - Dispositions pour les communications secrètes ou protégées; Protocoles réseaux de sécurité comprenant des moyens pour vérifier l'identité ou l'autorisation d'un utilisateur du système
66.
COMPUTER-IMPLEMENTED SYSTEM AND METHOD FOR MANAGING A LARGE DISTRIBUTED MEMORY POOL IN A BLOCKCHAIN NETWORK
A computer-implemented method implemented in a blockchain network is described. Validation nodes receive data regarding a newly mined block comprising a plurality of transactions and send a delete request to a distributed memory pool to delete the plurality of transactions from the distributed memory pool. Nodes storing the distributed memory pool store a plurality of transactions, the plurality of transactions forming at least part of a distributed memory pool of transactions waiting to be mined into a block of a blockchain. The computer-implemented method further comprises receiving a delete request from a validation node of the blockchain network, the delete request identifying one or more transactions which have been included in a newly mined block, the delete request indicating that the one or more transactions should be deleted from the distributed memory pool.
A comprising, by target computer equipment of a target party: obtaining a cryptographic key derived from a response generated by PUF module comprising a physically unclonable function, PUF, the response having been generated by the PUF module based on the PUF in response to a corresponding challenge input to the PUF module, wherein key information comprising the cryptographic key or a corresponding public key is also made available to a verifying party; from an issuing party, receiving a computation request specifying the computation to be performed; in response to the computation request, performing the computation in order to generate a computation result; signing a message comprising the computation result with the cryptographic key; and making the signed message available to the verifying party by sending the signed message to be recorded on a blockchain.
H04L 9/32 - Dispositions pour les communications secrètes ou protégées; Protocoles réseaux de sécurité comprenant des moyens pour vérifier l'identité ou l'autorisation d'un utilisateur du système
A computer-implemented method for tracking, on a blockchain, at least two clients interacting with an asset, wherein the blockchain comprises a set of transactions associated with the asset, and a set of transactions associated with each client. The asset tracking comprising receiving an asset interaction event request comprising data indicative of at least two clients associated with an asset interaction event and data indicative of the asset, generating an event transaction comprising a reference to the set of transactions associated with the asset and references to the sets of transactions associated with the at least two clients, and submitting the event transaction to the blockchain.
A computer-implemented method of identifying a denial-of-service attack during a threshold signature scheme, wherein each participant has respective shares of first and second shared secrets, wherein the method is performed by a first participant of the group and comprises: calculating a first target share; calculating a target value based on the first target share and a first predetermined amount of other target shares; calculating a target public key corresponding to the target value; calculating a first verification share based on the first share of the first shared secret and a public key corresponding to the second shared secret; calculating a verification public key based on at least the first verification share and a second predetermined amount of other verification shares; and determining whether at least one other participant is attempting a denial-of-service attack based on whether the verification public key matches the target public key.
H04L 9/32 - Dispositions pour les communications secrètes ou protégées; Protocoles réseaux de sécurité comprenant des moyens pour vérifier l'identité ou l'autorisation d'un utilisateur du système
70.
ARITHMETIC ENHANCEMENT OF C-LIKE SMART CONTRACTS FOR VERIFIABLE COMPUTATION
The invention provides systems and methods for converting high level source code into an arithmetic circuit which represents the functionality expressed in the source code. The invention comprises a translation/interpretation component for performing this conversion. In a preferred embodiment, the source code is a smart contract such as those used in relation to a blockchain platform. The invention could be used in relation to the Bitcoin network, for example. A method in accordance with an embodiment comprises the steps of: processing a portion of high level source code (e.g. a smart contract) to generate an arithmetic circuit. The arithmetic circuit comprises one or more arithmetic gates arranged to represent at least some of the functionality expressed in the source code. The processing involves evaluating one or more constants provided in the source code to produce one or more expressions that include Boolean and/or arithmetic operators. The arithmetic circuit comprises n-bit wires connected to arithmetic gates; it can be used to provide a hardware and/or software circuit. The arithmetic circuit can be used to generate a quadratic program which can be executed upon a processor.
H04L 9/06 - Dispositions pour les communications secrètes ou protégées; Protocoles réseaux de sécurité l'appareil de chiffrement utilisant des registres à décalage ou des mémoires pour le codage par blocs, p.ex. système DES
H04L 9/32 - Dispositions pour les communications secrètes ou protégées; Protocoles réseaux de sécurité comprenant des moyens pour vérifier l'identité ou l'autorisation d'un utilisateur du système
G06Q 20/40 - Autorisation, p.ex. identification du payeur ou du bénéficiaire, vérification des références du client ou du magasin; Examen et approbation des payeurs, p.ex. contrôle des lignes de crédit ou des listes négatives
G06F 16/27 - Réplication, distribution ou synchronisation de données entre bases de données ou dans un système de bases de données distribuées; Architectures de systèmes de bases de données distribuées à cet effet
H04L 9/30 - Clé publique, c. à d. l'algorithme de chiffrement étant impossible à inverser par ordinateur et les clés de chiffrement des utilisateurs n'exigeant pas le secret
G06Q 20/06 - Circuits privés de paiement, p.ex. impliquant de la monnaie électronique utilisée uniquement entre les participants à un programme commun de paiement
71.
COMPUTER-IMPLEMENTED SYSTEMS AND METHODS FOR LINKING A BLOCKCHAIN TO A DIGITAL TWIN
A computer implemented method and system is described which uses blockchain technology as a storage system for data acquired from a digital twin. The blockchain can be used to generate an immutable transaction history of data produced by the digital twin. In the case of an error, failure, incident, or accident, parties of interest can then access and analyse an immutable set of data. The blockchain network can also execute a digital smart contract based on the data received from a digital twin. The invention may be used in conjunction with the Bitcoin blockchain or another blockchain protocol.
H04L 9/32 - Dispositions pour les communications secrètes ou protégées; Protocoles réseaux de sécurité comprenant des moyens pour vérifier l'identité ou l'autorisation d'un utilisateur du système
H04L 9/06 - Dispositions pour les communications secrètes ou protégées; Protocoles réseaux de sécurité l'appareil de chiffrement utilisant des registres à décalage ou des mémoires pour le codage par blocs, p.ex. système DES
G06F 16/27 - Réplication, distribution ou synchronisation de données entre bases de données ou dans un système de bases de données distribuées; Architectures de systèmes de bases de données distribuées à cet effet
G06F 21/64 - Protection de l’intégrité des données, p.ex. par sommes de contrôle, certificats ou signatures
72.
SYSTEM FOR SECURING VERIFICATION KEY FROM ALTERATION AND VERIFYING VALIDITY OF A PROOF OF CORRECTNESS
The invention relates to distributed ledger technologies such as consensus-based blockchains. A blockchain transaction may include digital resources that are encumbered by a locking script that encodes a set of conditions that must be fulfilled before the encumbered resources may be used (e.g., transferring ownership/control of encumbered resources). A worker (e.g., a computer system) performs one or more computations to generate a proof, which is encoded as part of an unlocking script. A verification algorithm may utilize the proof, a verification key, and additional data such as a cryptographic material associated with the worker (e.g., a digital signature) to verify that digital assets of the transaction should be transferred. As a result of the validation of this transaction, any third party is able to check the contract was executed corrected rather than re-executing the contract, thus saving computational power.
H04L 9/06 - Dispositions pour les communications secrètes ou protégées; Protocoles réseaux de sécurité l'appareil de chiffrement utilisant des registres à décalage ou des mémoires pour le codage par blocs, p.ex. système DES
H04L 9/32 - Dispositions pour les communications secrètes ou protégées; Protocoles réseaux de sécurité comprenant des moyens pour vérifier l'identité ou l'autorisation d'un utilisateur du système
G06Q 20/40 - Autorisation, p.ex. identification du payeur ou du bénéficiaire, vérification des références du client ou du magasin; Examen et approbation des payeurs, p.ex. contrôle des lignes de crédit ou des listes négatives
G06F 16/27 - Réplication, distribution ou synchronisation de données entre bases de données ou dans un système de bases de données distribuées; Architectures de systèmes de bases de données distribuées à cet effet
H04L 9/30 - Clé publique, c. à d. l'algorithme de chiffrement étant impossible à inverser par ordinateur et les clés de chiffrement des utilisateurs n'exigeant pas le secret
G06Q 20/06 - Circuits privés de paiement, p.ex. impliquant de la monnaie électronique utilisée uniquement entre les participants à un programme commun de paiement
73.
PARTITIONING A REQUEST INTO TRANSACTIONS FOR A BLOCKCHAIN
In one aspect, the present disclosure proposes methods, devices and systems for partitioning a request associated with a digital asset into an arbitrary number of transactions. The partitioning is based on knowing or obtaining a maximum number of outputs allowed for a request and an arbitrarily selection of a possible integer partition of an arbitrarily selected integer. The randomly selected integer partition then forms the basis for determining the number of transactions and UTXOs, so that a digital asset value can be arbitrarily split across the determined UTXOs before being stored on a public blockchain. In another aspect, the present disclosure proposes methods, devices and systems for arbitrarily distributing a digital asset value associated with a request across an arbitrarily determined number of transactions. This is based on an arbitrarily selected number of transactions, and a maximum number of outputs allowed for each request. In another respect, the present disclosure proposes methods, devices and systems for generating or determining one or more public addresses associated with a given entity for use in blockchain transactions for the given entity, so that such addresses may be securely and correctly associated with the given entity, while maintaining anonymity of the entity's identity.
A computer-implemented method of generating a second transaction for a blockchain. The blockchain comprises a first transaction comprising a first token and a first output transferring an amount of a digital asset between a second party and a first party. The first token represents a first amount of a token asset other than the digital asset, the second transaction is for transferring a second token representing a second amount of the token asset from a first party to a third party. The method is performed by the first party and comprises generating the second transaction. The second transaction comprises a first input configured to unlock the first output of the first transaction, and a first output comprising the second token. The second token comprises data representing the second amount of the token asset, the second amount being less than the first amount.
G06Q 20/38 - Architectures, schémas ou protocoles de paiement - leurs détails
G06Q 20/40 - Autorisation, p.ex. identification du payeur ou du bénéficiaire, vérification des références du client ou du magasin; Examen et approbation des payeurs, p.ex. contrôle des lignes de crédit ou des listes négatives
A computer-implemented method of generating a share of a digital signature, wherein each participant has a respective share of a first shared private key, wherein the method is performed by a first participant and comprises: obtaining a first message; generating a first data item based on at least a hash of a first external data item; generating a first ephemeral private key share of an ephemeral private key based on the first data item and a respective data item generated by each other participant; generating an ephemeral public key corresponding to the ephemeral private key; generating a first signature share based on the first message, the first ephemeral private key share, a first share of the first shared private key, and the ephemeral public key; and making the first signature share available to a coordinator for generating a first signature based on at least a threshold number of signature shares.
H04L 9/32 - Dispositions pour les communications secrètes ou protégées; Protocoles réseaux de sécurité comprenant des moyens pour vérifier l'identité ou l'autorisation d'un utilisateur du système
H04L 9/30 - Clé publique, c. à d. l'algorithme de chiffrement étant impossible à inverser par ordinateur et les clés de chiffrement des utilisateurs n'exigeant pas le secret
A computer-implemented method of generating a digital signature, wherein the method is performed by a signing party and comprises: obtaining a first message; generating an ephemeral private key based on at least a hash of an external data item; and generating a first signature comprising first and second signature components, wherein the first signature component is generated based on an ephemeral public key corresponding to the ephemeral private key, and wherein the second signature component is generated based on the first message, the ephemeral private key, the first signature component and a first private key.
H04L 9/32 - Dispositions pour les communications secrètes ou protégées; Protocoles réseaux de sécurité comprenant des moyens pour vérifier l'identité ou l'autorisation d'un utilisateur du système
H04L 9/00 - Dispositions pour les communications secrètes ou protégées; Protocoles réseaux de sécurité
A computer-implemented method of transmitting blockchain transactions to a blockchain network, wherein the method is performed by a first party and comprises: transmitting at least part of a blockchain transaction to an internet server via an internet service hosted by the internet server, wherein the internet server is configured to connect to one or more nodes of the blockchain network, and to transmit a blockchain transaction to the one or more blockchain nodes, wherein the transmitted blockchain transaction comprises the at least part of the blockchain transaction.
For a first node, second common secrets common to the first node are determined. A second node, is determined at the first node based on a first private key of the first node and a first public key of the second node and is determined at the second node based on the first private key of the second node and the first public key of the first node. A third common secret common to the second node and a third node is determined for the second node. Shares of the first common secret known to the first node are encrypted at the first node. The encrypted shares are sent to the second nodes. Encrypted shares of the first common secret are received at the first node from the second node to enable each of the nodes to reach a threshold number of shares of the first common secret.
H04L 9/30 - Clé publique, c. à d. l'algorithme de chiffrement étant impossible à inverser par ordinateur et les clés de chiffrement des utilisateurs n'exigeant pas le secret
A computer-implemented method of generating a second public key based on a first public key using blockchain transactions. The method is performed by a first party and comprises generating an output script of a first blockchain transaction. The output script comprises a public key derivation script configured to, when executed alongside an input script of a second blockchain transaction, generate the second public key based on the first public key. The input script of the second blockchain transaction comprises the first public key. The method further comprises transmitting the first blockchain transaction to one or more nodes of a blockchain network for inclusion in the blockchain.
H04L 9/00 - Dispositions pour les communications secrètes ou protégées; Protocoles réseaux de sécurité
H04L 9/30 - Clé publique, c. à d. l'algorithme de chiffrement étant impossible à inverser par ordinateur et les clés de chiffrement des utilisateurs n'exigeant pas le secret
H04L 9/32 - Dispositions pour les communications secrètes ou protégées; Protocoles réseaux de sécurité comprenant des moyens pour vérifier l'identité ou l'autorisation d'un utilisateur du système
80.
SYSTEMS AND METHODS FOR ADDRESSING SECURITY-RELATED VULNERABILITIES ARISING IN RELATION TO OFF-BLOCKCHAIN CHANNELS IN THE EVENT OF FAILURES IN A NETWORK
A method in accordance with the invention includes: providing to a hub, from an enclave associated with a TEE at a node, an enclave public key; establishing a channel with the hub by broadcasting to a blockchain network a funding transaction which encumbers a digital asset with a first public key, a second public key and a third public key such that the encumbrance of the digital asset may be removed by: 1) both a first signature generated from a first private key corresponding to the first public key and a second signature generated from a second private key corresponding to the second public key; or 2) a third signature, valid for the third public key, the third public key associated with a group; receiving a commitment transaction encrypted with the enclave public key; detecting a failure; and issuing a failsafe activation request to the group using data from the enclave.
H04L 9/06 - Dispositions pour les communications secrètes ou protégées; Protocoles réseaux de sécurité l'appareil de chiffrement utilisant des registres à décalage ou des mémoires pour le codage par blocs, p.ex. système DES
H04L 9/30 - Clé publique, c. à d. l'algorithme de chiffrement étant impossible à inverser par ordinateur et les clés de chiffrement des utilisateurs n'exigeant pas le secret
H04L 9/32 - Dispositions pour les communications secrètes ou protégées; Protocoles réseaux de sécurité comprenant des moyens pour vérifier l'identité ou l'autorisation d'un utilisateur du système
A computer implemented method of facilitating a consumption tax on a purchase of one or more goods and/or services by a buyer from a seller, wherein at least the buyer is a buyer-seller who makes an onward sale based on said goods and/or services. The method comprises, by the seller of the purchase, obtaining a first blockchain transaction that can be redeemed by a second blockchain transaction meeting either of two alternative conditions: a first condition requiring at least that the second blockchain transaction is signed with a cryptographic signature of the buyer, and a second condition requiring at least that the second blockchain transaction is signed with at least a cryptographic signature of a tax authority; and in response to receiving a payment of the consumption tax from the buyer, sending the first blockchain transaction to be recorded on a blockchain.
There may be provided a computer-implemented method. The computer-implemented method includes: i) after a proof-of-stake token is transferred to an address of a determined type on a proof-of-stake blockchain, adding a record of the transfer of the proof-of-stake token to the proof-of-work blockchain; ii) identifying a node, from a group of nodes, to participate in adding a block to the proof-of-stake blockchain, the identifying based on the proof-of-work blockchain; and iii) including a block submitted by the identified node in the proof-of-stake blockchain.
H04L 9/32 - Dispositions pour les communications secrètes ou protégées; Protocoles réseaux de sécurité comprenant des moyens pour vérifier l'identité ou l'autorisation d'un utilisateur du système
G06F 16/27 - Réplication, distribution ou synchronisation de données entre bases de données ou dans un système de bases de données distribuées; Architectures de systèmes de bases de données distribuées à cet effet
83.
FLOW CONTROL FOR PROBABILISTIC RELAY IN A BLOCKCHAIN NETWORK
H04L 67/10 - Protocoles dans lesquels une application est distribuée parmi les nœuds du réseau
H04L 9/06 - Dispositions pour les communications secrètes ou protégées; Protocoles réseaux de sécurité l'appareil de chiffrement utilisant des registres à décalage ou des mémoires pour le codage par blocs, p.ex. système DES
H04L 9/30 - Clé publique, c. à d. l'algorithme de chiffrement étant impossible à inverser par ordinateur et les clés de chiffrement des utilisateurs n'exigeant pas le secret
A computer-implemented method of pseudo-randomly selecting a data element using blockchain transactions, wherein the method is performed by a first party and comprises: obtaining an ordered list of data elements and a plurality of seed inputs; generating a first transaction; and causing the first transaction to be made available to one or more blockchain nodes for inclusion in the blockchain, wherein the first transaction comprises a first output script, and wherein when executed alongside an input script of a second transaction, the first output script is configured to: output a re-ordered list of the data elements; output a pseudorandom number generated based on the plurality of seed inputs; and output, as a selected data element, the data element positioned at a position in the re-ordered list of data elements corresponding to the pseudorandom number.
The invention relates to distributed ledger technologies such as consensus-based blockchains. Computer-implemented methods for reducing arithmetic circuits derived from smart contracts are described. The invention is implemented using a blockchain network, which may be, for example, a Bitcoin blockchain. A set of conditions encoded in a first programming language is obtained. The set of conditions is converted into a programmatic set of conditions encoded in a second programming language. The programmatic set of conditions is precompiled into precompiled program code. The precompiled program code is transformed into an arithmetic circuit. The arithmetic circuit is reduced to form a reduced arithmetic circuit, and the reduced arithmetic circuit is stored.
H04L 9/06 - Dispositions pour les communications secrètes ou protégées; Protocoles réseaux de sécurité l'appareil de chiffrement utilisant des registres à décalage ou des mémoires pour le codage par blocs, p.ex. système DES
H04L 9/32 - Dispositions pour les communications secrètes ou protégées; Protocoles réseaux de sécurité comprenant des moyens pour vérifier l'identité ou l'autorisation d'un utilisateur du système
G06Q 20/40 - Autorisation, p.ex. identification du payeur ou du bénéficiaire, vérification des références du client ou du magasin; Examen et approbation des payeurs, p.ex. contrôle des lignes de crédit ou des listes négatives
G06F 16/27 - Réplication, distribution ou synchronisation de données entre bases de données ou dans un système de bases de données distribuées; Architectures de systèmes de bases de données distribuées à cet effet
H04L 9/30 - Clé publique, c. à d. l'algorithme de chiffrement étant impossible à inverser par ordinateur et les clés de chiffrement des utilisateurs n'exigeant pas le secret
G06Q 20/06 - Circuits privés de paiement, p.ex. impliquant de la monnaie électronique utilisée uniquement entre les participants à un programme commun de paiement
86.
SYSTEM AND METHOD FOR CONTROLLING ASSET-RELATED ACTIONS VIA A BLOCK CHAIN
Presented herein are one or more embodiments with novel techniques of: defining an asset comprising at least one private cryptographic key, each private cryptographic key being associated with an owner of the asset; generating a registry comprising at least one public cryptographic key; generating a smart contract comprising at least one rule relating to an automated generation of one or more blockchain transactions to enable a transfer to be made in respect of the asset; and using a computing agent to evaluate and/or execute the at least one rule of the smart contract. Thus, one benefit provided by the invention is that it allows the secure distribution of costs and income for an asset registered and maintained on the Blockchain, which, in turn increases the capability of such assets to meet the real-world needs of various entities such as the asset itself and investing parties.
H04L 9/00 - Dispositions pour les communications secrètes ou protégées; Protocoles réseaux de sécurité
G06Q 20/36 - Architectures, schémas ou protocoles de paiement caractérisés par l'emploi de dispositifs spécifiques utilisant des portefeuilles électroniques ou coffres-forts électroniques
G06Q 20/38 - Architectures, schémas ou protocoles de paiement - leurs détails
H04L 9/32 - Dispositions pour les communications secrètes ou protégées; Protocoles réseaux de sécurité comprenant des moyens pour vérifier l'identité ou l'autorisation d'un utilisateur du système
G06Q 20/06 - Circuits privés de paiement, p.ex. impliquant de la monnaie électronique utilisée uniquement entre les participants à un programme commun de paiement
H04L 9/06 - Dispositions pour les communications secrètes ou protégées; Protocoles réseaux de sécurité l'appareil de chiffrement utilisant des registres à décalage ou des mémoires pour le codage par blocs, p.ex. système DES
H04L 9/14 - Dispositions pour les communications secrètes ou protégées; Protocoles réseaux de sécurité utilisant plusieurs clés ou algorithmes
H04L 9/30 - Clé publique, c. à d. l'algorithme de chiffrement étant impossible à inverser par ordinateur et les clés de chiffrement des utilisateurs n'exigeant pas le secret
87.
Systems and methods of propagating data packets in a network of nodes
A method for propagating data packets in a network of nodes is disclosed. The method comprises: collecting a set of first data packets during a first time period, the set including at least one first data packet received from one or more first nodes in the network; determining an available bandwidth in the network node's links to a plurality of neighbouring nodes connected to the network node; determining a mapping that assigns each of the first data packets for relay to one or more neighbouring nodes, the mapping indicating an expected time of relay of each of the first data packets, and transmitting the first data packets of the set to the plurality of neighbouring nodes according to the determined mapping.
G06F 16/27 - Réplication, distribution ou synchronisation de données entre bases de données ou dans un système de bases de données distribuées; Architectures de systèmes de bases de données distribuées à cet effet
88.
METHODS AND SYSTEMS FOR THE EFFICIENT TRANSFER OF ENTITIES ON A BLOCKCHAIN
A computer implemented method for performing a transfer includes scanning entries in a distributed hash table (DHT) distributed across a first network, the DHT comprising entries including invitations to perform an exchange and links to transactions on a peer-to-peer (P2P) distributed ledger distributed across a second network, each invitation indicates entities to be exchanged and conditions for the exchange; determining a match between first metadata in a first invitation of a first entry from a first user and second metadata in a second invitation of a second entry from a second user; and broadcasting, over the second network, a first exchange transaction for inclusion on a P2P distributed ledger. The first exchange transaction may include an indication of a first quantity of a cryptocurrency to be transferred. A first output indicates a transfer of a first quantity of the first entity from the first user to the second user.
G06Q 20/06 - Circuits privés de paiement, p.ex. impliquant de la monnaie électronique utilisée uniquement entre les participants à un programme commun de paiement
H04L 9/32 - Dispositions pour les communications secrètes ou protégées; Protocoles réseaux de sécurité comprenant des moyens pour vérifier l'identité ou l'autorisation d'un utilisateur du système
G06Q 20/02 - Architectures, schémas ou protocoles de paiement impliquant un tiers neutre, p.ex. une autorité de certification, un notaire ou un tiers de confiance
G06Q 20/38 - Architectures, schémas ou protocoles de paiement - leurs détails
G06F 16/27 - Réplication, distribution ou synchronisation de données entre bases de données ou dans un système de bases de données distribuées; Architectures de systèmes de bases de données distribuées à cet effet
H04L 9/06 - Dispositions pour les communications secrètes ou protégées; Protocoles réseaux de sécurité l'appareil de chiffrement utilisant des registres à décalage ou des mémoires pour le codage par blocs, p.ex. système DES
A computer-implemented method of generating shares of a shared secret, wherein each of a group of participants has a respective first secret share of the shared secret, wherein the method is performed by a first participant of the group and comprises: generating a respective blinding share of a shared blinding secret, obtaining at least a threshold number of respective intermediary shares from each of the first group of participants, wherein each respective intermediary share is generated based on a respective blinding share and a respective first secret share; generating an intermediary value based on each of the obtained intermediary shares; and generating a respective second secret share of the shared secret, wherein the respective second secret shared is generated based on the intermediary value and the respective blinding share.
A computer-implemented method for transmitting and/or submitting digital content such as feedback for an entity to a blockchain is disclosed. This may be, for example, the Bitcoin blockchain. The method, which is implemented at a first node, includes: submitting, to the blockchain, a first transaction for committing a first quantity of tokens to transfer to a second node associated with the entity, the first transaction having a first output; generating a first content for submission to the blockchain; and submitting, to the blockchain, a second transaction that returns a second quantity of the committed first quantity of tokens to an address associated with the first node, the second transaction having the first output of the first transaction as an input, wherein the first content is used to unlock the first output of the first transaction.
H04L 9/06 - Dispositions pour les communications secrètes ou protégées; Protocoles réseaux de sécurité l'appareil de chiffrement utilisant des registres à décalage ou des mémoires pour le codage par blocs, p.ex. système DES
H04L 9/30 - Clé publique, c. à d. l'algorithme de chiffrement étant impossible à inverser par ordinateur et les clés de chiffrement des utilisateurs n'exigeant pas le secret
91.
Method for compiling from a high-level scripting language to a blockchain native scripting language
The invention provides methods and systems which enable additional functionality to be inserted into blockchain scripts with ease and in an effective and manner. According to one embodiment, the invention provides a blockchain-implemented method comprising the steps of arranging a plurality or selection of scripting language primitives to provide, upon execution, the functionality of a high-level scripting language primitive, wherein the scripting language is associated with a blockchain protocol; inserting the plurality of scripting language primitives at least once into a script; and inserting the script into blockchain transaction (Tx). The high-level scripting language primitive may perform, for example, an arithmetic operation such as multiplication or division. The scripting language primitives may be called op-codes, words or commands, and are native to the scripting language. The scripting language may be Script, and the blockchain protocol may be a version of the Bitcoin protocol.
G06F 21/00 - Dispositions de sécurité pour protéger les calculateurs, leurs composants, les programmes ou les données contre une activité non autorisée
H04L 9/06 - Dispositions pour les communications secrètes ou protégées; Protocoles réseaux de sécurité l'appareil de chiffrement utilisant des registres à décalage ou des mémoires pour le codage par blocs, p.ex. système DES
H04L 9/32 - Dispositions pour les communications secrètes ou protégées; Protocoles réseaux de sécurité comprenant des moyens pour vérifier l'identité ou l'autorisation d'un utilisateur du système
H04L 9/00 - Dispositions pour les communications secrètes ou protégées; Protocoles réseaux de sécurité
92.
METHODS AND DEVICES FOR CONTROLLING A MINING POOL FOR MULTIPLE BLOCKCHAIN NETWORKS
Methods and systems to control mining pools configured to mine more than one blockchain network. A pool controller may automatically select a candidate block generated for one of the blockchain networks for mining by the mining units. The selection may be based on determining an expectation value associated with each current candidate block generated for the respective blockchain networks and which of them is the highest. The expectation value may be based, at least in part, on a current coinbase value and a current difficulty setting for that blockchain network. The pool control may perform the selection with the generation of each new candidate block for any of the blockchain networks.
G06Q 20/06 - Circuits privés de paiement, p.ex. impliquant de la monnaie électronique utilisée uniquement entre les participants à un programme commun de paiement
H04L 9/06 - Dispositions pour les communications secrètes ou protégées; Protocoles réseaux de sécurité l'appareil de chiffrement utilisant des registres à décalage ou des mémoires pour le codage par blocs, p.ex. système DES
G06N 5/046 - Inférence en avant; Systèmes de production
H04L 41/50 - Gestion des services réseau, p.ex. en assurant une bonne réalisation du service conformément aux accords
H04L 67/288 - Dispositifs intermédiaires distribués, c. à d. dispositifs intermédiaires pour l'interaction avec d'autres dispositifs intermédiaires de même niveau
H04L 67/10 - Protocoles dans lesquels une application est distribuée parmi les nœuds du réseau
93.
METHODS AND DEVICES FOR VALIDATING DATA IN A BLOCKCHAIN NETWORK
Methods, devices, and a data structure for signalling Merkle proof data that includes an index position field for the position of the transaction within the ordered set of transactions within the block. The index enables computationally straight-forward determination of the left-hand/right-hand location of each calculated element when bottom-up tracing a Merkle path. Methods and devices for performing a Merkle proof using the index include at least one extended validity check within the Merkle proof process. In some instances, the extended validity check enables validation of transaction count for a block and/or a proof of index validity.
G06Q 20/38 - Architectures, schémas ou protocoles de paiement - leurs détails
G06Q 20/40 - Autorisation, p.ex. identification du payeur ou du bénéficiaire, vérification des références du client ou du magasin; Examen et approbation des payeurs, p.ex. contrôle des lignes de crédit ou des listes négatives
A secure method for exchanging entities via a blockchain is presented. The method comprises receiving, from a user over a communications network, an invitation to perform an exchange of entities; generating a redeem script comprising metadata; hashing the redeem script to generate a redeem script hash; sending the first script and the first script hash on a distributed hash table (DHT); and generating an invitation transaction comprising an output associated with an encrypted digital asset, and a hash of a script comprising an indication of entities to be exchanged, conditions for the exchange, and a public cryptographic key associated with the user.
G06Q 20/06 - Circuits privés de paiement, p.ex. impliquant de la monnaie électronique utilisée uniquement entre les participants à un programme commun de paiement
G06Q 20/38 - Architectures, schémas ou protocoles de paiement - leurs détails
H04L 9/32 - Dispositions pour les communications secrètes ou protégées; Protocoles réseaux de sécurité comprenant des moyens pour vérifier l'identité ou l'autorisation d'un utilisateur du système
G06F 16/27 - Réplication, distribution ou synchronisation de données entre bases de données ou dans un système de bases de données distribuées; Architectures de systèmes de bases de données distribuées à cet effet
H04L 9/06 - Dispositions pour les communications secrètes ou protégées; Protocoles réseaux de sécurité l'appareil de chiffrement utilisant des registres à décalage ou des mémoires pour le codage par blocs, p.ex. système DES
There may be provided a computer-implemented method. It may be implemented using a blockchain such as, for example, the Bitcoin blockchain. The computer-implemented method includes: i) joining a congress by transferring, by a node operating in a proof-of-work blockchain network, one or more digital assets to a congress pool having one or more other digital assets associated with other members of a congress; ii) detecting, by the node, a special transaction of digital assets on the proof-of-work blockchain network to an address associated with the congress pool, the special transaction satisfying determined criteria; and iii) minting, by the node, one or more digital assets on a proof-of-stake blockchain network in response to detecting the special transaction.
G06Q 20/36 - Architectures, schémas ou protocoles de paiement caractérisés par l'emploi de dispositifs spécifiques utilisant des portefeuilles électroniques ou coffres-forts électroniques
G06F 21/64 - Protection de l’intégrité des données, p.ex. par sommes de contrôle, certificats ou signatures
G06Q 20/06 - Circuits privés de paiement, p.ex. impliquant de la monnaie électronique utilisée uniquement entre les participants à un programme commun de paiement
G06Q 20/38 - Architectures, schémas ou protocoles de paiement - leurs détails
H04L 9/06 - Dispositions pour les communications secrètes ou protégées; Protocoles réseaux de sécurité l'appareil de chiffrement utilisant des registres à décalage ou des mémoires pour le codage par blocs, p.ex. système DES
H04L 9/32 - Dispositions pour les communications secrètes ou protégées; Protocoles réseaux de sécurité comprenant des moyens pour vérifier l'identité ou l'autorisation d'un utilisateur du système
Methods and devices for propagating transactions in a network of nodes, each node having one or more connections to other nodes. The method includes receiving a plurality of incoming transactions over a time period; combining the plurality of incoming transactions using network coding to generate a composite message; sending the composite message to one or more nodes in the network; and determining an adjusted time period based on an equilibrium constant parameter and a count of transactions in the plurality of incoming transactions received over the time period.
Provided herein is a computer-implemented method, a system, and a non-transitory computer-readable storage medium. The system may be implemented using a blockchain network. The computer-implemented method includes: i) attaching a digital asset of a first entity to an exchange platform; ii) computing a first shared key associated with the digital asset using a key of the first entity and a first key of the exchange platform; iii) generating and broadcasting a first blockchain transaction to a blockchain network; and iv) initiating, by the first entity, transfer of ownership of the digital asset from a first entity to a second entity; v) computing a second key and a second shared key; vi) replacing the first key associated with the exchange platform with the second key associated with the exchange platform; and vii) detaching, by the second entity, the deposit from the exchange platform using the second shared key.
G06Q 20/38 - Architectures, schémas ou protocoles de paiement - leurs détails
G06Q 20/06 - Circuits privés de paiement, p.ex. impliquant de la monnaie électronique utilisée uniquement entre les participants à un programme commun de paiement
H04L 9/06 - Dispositions pour les communications secrètes ou protégées; Protocoles réseaux de sécurité l'appareil de chiffrement utilisant des registres à décalage ou des mémoires pour le codage par blocs, p.ex. système DES
H04L 9/32 - Dispositions pour les communications secrètes ou protégées; Protocoles réseaux de sécurité comprenant des moyens pour vérifier l'identité ou l'autorisation d'un utilisateur du système
A computer-implemented method of generating a blockchain address based on a corresponding template output script of a blockchain transaction, wherein the blockchain address comprises a prefix component and a data component, and wherein the method is performed by a first party and comprises: generating a first blockchain address based on a first template output script, the first blockchain address comprising a first prefix component for identifying a first template output script, and a first data component representing one or more data items required to populate the first template output script; wherein the first prefix component is greater than one byte, and/or wherein the first data component is generated based on a plurality of data items required to populate the first template output script.
G06Q 20/02 - Architectures, schémas ou protocoles de paiement impliquant un tiers neutre, p.ex. une autorité de certification, un notaire ou un tiers de confiance
G06Q 20/38 - Architectures, schémas ou protocoles de paiement - leurs détails
According to a first aspect, there is provided a computer-implemented method of cryptographically linking multiple documents, having multiple electronic signature requirements, via a sequence of blockchain transactions, the method comprising: computing document signature data satisfying a first signature requirement for an existing document, the first signature requirement defined in a blockchain transaction containing or referencing the existing document; wherein the document signature data signs a portion of a linking transaction containing or referencing a supplementary document, the linking transaction comprising an input for validly spending a spendable output of the blockchain transaction, whereby the document signature cryptographically links the supplementary document with the existing document; and wherein the signed portion comprises multiple outputs of the linking transaction; wherein a first of the multiple signed outputs is spendable and associated with the existing document, the signed portion defining a second signature requirement for the existing document; and wherein a second of the multiple signed outputs is spendable and associated with the supplementary document, the signed portion defining a signature requirement for the supplementary document.
H04L 9/32 - Dispositions pour les communications secrètes ou protégées; Protocoles réseaux de sécurité comprenant des moyens pour vérifier l'identité ou l'autorisation d'un utilisateur du système
H04L 9/30 - Clé publique, c. à d. l'algorithme de chiffrement étant impossible à inverser par ordinateur et les clés de chiffrement des utilisateurs n'exigeant pas le secret
G06F 21/64 - Protection de l’intégrité des données, p.ex. par sommes de contrôle, certificats ou signatures
A method of controlling and coordinating of processing steps in a distributed system can be implemented by an initiator node of a cyclically-ordered set of nodes participating in a blockchain network (e.g., Bitcoin blockchain). The method includes generating a private key and cryptographic shares thereof for the nodes of the set and distributing them. A locking value is determined based on the shares and a transaction is arranged to transmit control of a resource responsive to supply of a corresponding unlocking value. A circuit of transactions amongst the nodes each arranged to transmit control of a resource responsive to supply of an unlocking value corresponding to a locking value determined based on the share distributed to a first node of one of two adjacent nodes and a value received from another node immediately previous to it is prepared. The initiator node may belong to a cyclically-ordered set of initiator nodes.
H04L 9/14 - Dispositions pour les communications secrètes ou protégées; Protocoles réseaux de sécurité utilisant plusieurs clés ou algorithmes
H04L 9/30 - Clé publique, c. à d. l'algorithme de chiffrement étant impossible à inverser par ordinateur et les clés de chiffrement des utilisateurs n'exigeant pas le secret
H04L 9/00 - Dispositions pour les communications secrètes ou protégées; Protocoles réseaux de sécurité