There may be provided a computer-implemented method. The computer-implemented method includes: i) broadcasting a transaction, by a node in a blockchain network, to a congress pool to join a congress formed of a group of nodes; ii) after the congress has accepted a request from a requester to activate a script, preparing, by the node, a blockchain transaction cryptographically locked with a public key associated with the congress; iii) cooperatively generating, by the node in cooperating with other nodes of the group, a valid cryptographic signature for the transaction to spend the transaction; iv) after the blockchain transaction has been unlocked, receiving data from the plurality of information providing systems; v) determining a centre point for the data received from the plurality of information providing systems; and vi) activating, by the node in cooperation with other nodes of the congress, the script based on the centre point.
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
2.
COMPUTER IMPLEMENTED METHOD AND SYSTEM FOR STORING CERTIFIED DATA ON A BLOCKCHAIN
A method of storing certified data on a blockchain is disclosed. The method comprises generating a first blockchain transaction (Tx1) having a first output (Output 3) containing a first public key of a first private/public key pair, comprising a first private key and a first public key, of a cryptography system, first data related to the first public key, and a first digital signature applied, by means of a second private key of a second private/public key pair, comprising a second private key and a second public key, of a cryptography system, to the first data and to the first public key. The first blockchain transaction is broadcast to 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
H04L 9/00 - Dispositions pour les communications secrètes ou protégées; Protocoles réseaux de sécurité
3.
COMPUTER-IMPLEMENTED SYSTEM AND METHOD FOR IMPLEMENTING ALIAS-BASED ADDRESSING FOR A DISTRIBUTED LEDGER
The present disclosure provides a method of implementing a payment service for one or more clients for transactions associated with a distributed ledger, such as the Bitcoin blockchain. The method comprises providing an alias for a client, associating the alias with a network in a directory and providing a location for a host computing resource responsible for the payment service, wherein the host computing resource is configured to facilitate identification of the client associated with the alias. The present disclosure also provides a method comprising creating a machine readable resource in a location associated with the payment service, wherein the machine readable resource comprises an endpoint identifier for the payment service, an entry associated with at least one capability supported by the payment service, and instructions and/or a specification for accessing a public address for facilitating transactions associated with the alias. The present disclosure also discusses a method of implementing a simplified payment protocol for clients associated with the payment service.
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
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/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
An asset mixing protocol allows a group of participant computer systems to mix their assets using a set of asset mixing transactions created in such a way that a given participant computer system may have input and output addresses included in different asset mixing transactions. The use of quantities derived from an accumulation tree allows the protocol to securely condition the redeeming of the deposit made by the participant computer systems to the broadcast of all asset mixing transactions on the blockchain. Safeguards are provided that protect against a central coordinator or dealer possessing enough information to steal assets from the participant computer systems.
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/22 - Indexation; Structures de données à cet effet; Structures de stockage
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/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
5.
COMPUTER-IMPLEMENTED SYSTEMS AND METHODS FOR CONTROLLING OR ENFORCING PERFORMANCE OF TRANSFERS CONDUCTED OVER A BLOCKCHAIN
The invention provides methods and systems by which an agreed set of conditions governing transfers on a blockchain (e.g. the Bitcoin blockchain) can be generated and enforced. Advantageously, the conditions can be used to specify and influence the behaviour of another party who will be receiving the asset, by enforcing their fulfilment of an agreed set of rules. In one embodiment, a computer-implemented method comprises the step of providing, to a recipient, a representation of at least one rule (r) relating to a transfer to be conducted over a blockchain network. It also comprises the step of receiving, from a sender: a redeem script (R) which comprises the representation (r); and a script address comprising a hash (HR) of the redeem script (R). It also comprises the step of generating a hash (H) of the redeem script (R) and comparing it with the script address. If the hash (H) matches the script address, the sender can use the script address in a locking script associated with an output of a blockchain transaction (TX0) safe in the knowledge that the rules (r) will be enforced in order to unlock the asset.
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
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
6.
SYSTEMS AND METHODS FOR EFFICIENT AND SECURE PROCESSING, ACCESSING AND TRANSMISSION OF DATA VIA A BLOCKCHAIN NETWORK
The disclosure provides improved methods and systems for processing, storing, sharing, retrieving, writing and accessing data (content) on a blockchain e.g. Bitcoin. The invention may form part of a protocol for storing, searching and accessing the data. In particular, improved efficiency and also enhanced access control permissions are provided. An embodiment of the disclosure comprises the step of processing at least one blockchain transaction (Tx) comprising: a protocol flag; a discretionary public key (DPK); and a discretionary transaction ID (DTxID). These are discretionary in the sense that they are not required as part of the underlying blockchain protocol but in accordance with the present invention. This combination of features enables portions of data to be identified, retrieved and shared on a blockchain, and also to be linked/associated with one another when provided in a plurality of transactions. It enables a graph or tree-like structure to be constructed, which reflects the hierarchical relationships between portions of data, facilitating their processing, searching and sharing.
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
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
7.
METHOD AND SYSTEM FOR SECURING COMPUTER SOFTWARE USING A DISTRIBUTED HASH TABLE AND A BLOCKCHAIN
A computer-implemented method (100) and system (1) for determining a metadata M for securing a controlled digital resource such as computer software using a distributed hash table (13) and a peer-to-peer distributed ledger (14). This is a blockchain such as the Bitcoin blockchain. The method includes determining (110) a data associated with the computer software and determining (120) a first hash value based on the computer software. A second hash value based on the data and the computer software may be determined (130). The method further includes sending 140, over a communications network (5), the data, the first hash value and the second hash value to an entry for storage in a distributed hash table (13). The second hash value may be a key of a key-value pair. The data and the first hash value may be a value in the key-value pair. A metadata (M) that is based on the second hash value may be determined (150) for storage on the peer-to-peer distributed ledger (14).
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
G06Q 20/12 - Architectures de paiement spécialement adaptées aux systèmes de commerce électronique
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
8.
COMPUTER-IMPLEMENTED SYSTEM AND METHODS FOR OFF-CHAIN EXCHANGE OF TRANSACTIONS PERTAINING TO A DISTRIBUTED LEDGER
This specification describes a system and method that enables multiple blockchain users to exchange their transactions before diffusion over the blockchain network in order to blur the link between the IP address of the transaction generated by a user and pot the user's blockchain address in the transaction. The system and method provides a technical solution to exchange transactions directly off-chain. Participants in the method agree to make deposits and alter their transaction in such a way that a refund and compensation scheme put in place automatically relies on the confirmations in the blockchain of the transactions exchanged among participants thus providing increased security as well as anonymity. The method scales for an arbitrary number (n>2) of participants.
The invention relates to distributed processing systems that involve the distribution of computational tasks to one or more untrusted worker computer systems. When an untrusted worker computer system performs a calculation on behalf of a requesting computer system, the requesting computer system (or other verifying computer system) is provided with information that allows the requesting computer system to cryptographically verify that that task has been correctly completed. After completing the calculation, the worker computer system provides information to the requester that includes a proof and I/O data. The requesting computer system may use a set of public verification key parameters, the proof, and the I/O data to verify that the computation performed by an untrusted worker computer system is correct. In some examples, the calculation performed by the worker is associated with the verification of a blockchain transaction. For example, the verification of the computation performed by the untrusted worker computer system may occur as part of validating a transaction on a blockchain node.
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
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
10.
METHODS AND SYSTEMS FOR A CONSISTENT DISTRIBUTED MEMORY POOL IN A BLOCKCHAIN NETWORK
There may be provided a computer-implemented method. It may be implemented using a blockchain network such as, for example, the Bitcoin network. The computer-implemented method includes: receiving, at a mempool node of distributed mempool network (DMP) implementing a distributed hash table (DHT), a request to update routing information of the mempool node; initializing a set of random walks within a key space of the DHT, the set of random walks used for generating a set of key-value records to be stored by the mempool node; generating a first record in an first table based at least in part on a first identification information stored in stored in a second of a long-distance table type; generating a second record in a third table of the long-distance table type by at least performing a first random walk of the set of random walks, the second record containing a second identification information and an address associated with the second identification information; generating a third record in a fourth table of a short-distance table type by at least obtaining records from a table maintained by a second mempool node of the DMP network.
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 12/751 - Mise à jour ou découverte de la topologie
H04L 12/721 - Procédures de routage, p.ex. routage par le chemin le plus court, routage par la source, routage à état de lien ou routage par vecteur de distance
H04L 29/08 - Procédure de commande de la transmission, p.ex. procédure de commande du niveau de la liaison
G06F 9/50 - Allocation de ressources, p.ex. de l'unité centrale de traitement [UCT]
A computer implemented voting process (2) for executing a blockchain transaction, such as a transaction on the Bitcoin blockchain, is disclosed. The process comprises distributing shares (6) of a first common secret among a plurality of participants (4), wherein the first common secret implements an automated voting process (14) by the participants and is accessible to a first threshold number of shares and is inaccessible to less than the first threshold number of shares. The process further comprises determining (10, 12), based on different numbers of said shares of the first common secret held by a plurality of the participants, at least one combination of shares held by a plurality of the participants, to provide the first threshold number of shares.
G06Q 40/04 - Transactions; Opérations boursières, p.ex. actions, marchandises, produits dérivés ou change de devises
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/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
12.
SYSTEM AND METHOD FOR AUTHENTICATING OFF-CHAIN DATA BASED ON PROOF VERIFICATION
Determining when and/or how to execute a program or script published to a blockchain network may rely on data that is external to the blockchain (i.e., external data) such as data about the real-world state and events. A prover (e.g., a node of the blockchain network) may perform one or more computations on behalf of a client, such as the execution of the program. To execute the program properly, the prover may rely on external data, which the prover may obtain from a data provider that has a trust relationship with the client (e.g., the client accepts as valid data provided by a trusted data provider). Systems and methods described herein may be utilized by a prover to provide cryptographically verifiable assurances of the authenticity of input data purportedly obtained from a data provider, the input data utilized in the execution of a program or script published to a blockchain network. An example of a blockchain network is a Bitcoin-based network.
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
G06F 16/22 - Indexation; Structures de données à cet effet; Structures de stockage
Methods performed by a validation one or a sender one of a plurality of nodes implemented by computing devices in a network. The sender node sends, to the validation node, a request to transfer an amount of virtual currency from a sender account (associated with transaction receipts) to a recipient account. The request includes first copies of the receipts or references thereto. The validation node requests second copies of the receipts from at least two of the nodes, and receives the second copies from fewer than all of the nodes. The validation node determines whether the first copies have been tampered with by comparing the first and second copies to one another. When tampering has not occurred, at least one new receipt is generated indicating the amount has been transferred. Then, the at least one new receipt is forwarded to fewer than all of the nodes for storage.
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
The invention relates to distributed ledge technologies such as consensus-based blockchains. Computer-implemented methods for a secure random number generation within blockchain scripts are described. The invention is implemented using a blockchain network, which may be, for example, a Bitcoin blockchain. A first transaction that includes a puzzle is validated at a node in a blockchain network, with the first transaction being associated with a digital asset, and with a solution to the puzzle being indeterminable at a time of validation of the first transaction. A pseudorandom number, based at least in part on a solution to the puzzle that is included in a second transaction, is generated at least in part by validating the second transaction, the second transaction created to transfer control of the digital asset associated with the first transaction. Control of the digital asset is transferred based at least in part on the pseudorandom number.
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/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
15.
COMPUTER-IMPLEMENTED SYSTEM AND METHOD ENABLING SECURE STORAGE OF A LARGE BLOCKCHAIN OVER A PLURALITY OF STORAGE NODES
A protocol is described which: (i) allows storage nodes to be rewarded for maintaining a public blockchain; and (ii) verifies the integrity of the blockchain with the help of a Proof-of-Blockchain Storage (PoBS) scheme. The protocol provides a way to cryptographically check if a data file stored on a remote server is intact using a challenge-response method. The protocol is secured against a man-in-the-middle attack. A malicious peer cannot pass the challenge to a third party which is storing the data and give back the response. The scheme is also publicly verifiable.
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 29/06 - Commande de la communication; Traitement de la communication caractérisés par un protocole
G06Q 20/00 - Architectures, schémas ou protocoles de paiement
G06F 9/30 - Dispositions pour exécuter des instructions machines, p.ex. décodage d'instructions
16.
SYSTEMS AND METHODS FOR AVOIDING OR REDUCING CRYPTOGRAPHICALLY STRANDED RESOURCES ON A BLOCKCHAIN NETWORK
There may be provided a computer-implemented method for use with a blockchain. The computer-implemented method includes: broadcasting a first deposit transaction configured to allow a first digital asset to be unlocked after a defined period of time through generation of a signature which is valid for a first public key and unlocked at any time through generation of a signature which is valid for a second public key; before expiration of the defined period of time, broadcasting a first funding transaction which encumbers a second digital asset with the first public key, the second public key and a third public key; and after expiration of the defined period of time, broadcasting a transaction unlocking the first digital asset with a signature which is valid for the first public key.
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/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
Methods and devices for propagating transactions in a network of nodes, each node having one or more connections to other nodes. The method includes determining that one of the nodes is a bottleneck for propagation of transactions; receiving, over a first time period, a plurality of new transactions from one or more first nodes in the network of nodes; combining the plurality of new transactions using network coding and a local encoding vector to generate a message; and sending the message and a global encoding vector to one or more second nodes in the network of nodes instead of sending the plurality of new transactions to the one or more second nodes. The network may be a blockchain network.
H04L 1/00 - Dispositions pour détecter ou empêcher les erreurs dans l'information reçue
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
Methods and devices that manage the secure distribution of credentials from a group of autonomous specialized nodes to a requesting node. The secure distribution of credentials may uses secret share and a group private key that none of the nodes reconstructs or possesses. The credentials include an identifier for the requesting node and a secret point that the node assembles from portions of the secret point provided by each of a plurality of the specialized nodes, where the secret point is based on the group private key and a map-to-point hash of the requesting node's identifier.
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. The computer-implemented method includes: i) broadcasting a transaction, by a node in a blockchain network, to a congress pool to join a congress formed of a group of nodes; ii) after the congress has accepted a request from a requester to activate a script, preparing, by the node, a blockchain transaction cryptographically locked with a public key associated with the congress; iii) cooperatively generating, by the node in cooperating with other nodes of the group, a valid cryptographic signature for the transaction to spend the transaction; iv) after the blockchain transaction has been unlocked, receiving data from the plurality of information providing systems; v) determining a centre point for the data received from the plurality of information providing systems; and vi) activating, by the node in cooperation with other nodes of the congress, the script based on the centre point.
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é
This invention relates generally to distributed ledger technology (including blockchain related technologies), and in particular the use of a blockchain in implementing, controlling and/or automating a task or process. It may relate to the use of a blockchain or related technology for recording or representing the execution of a portion of logic. This portion of logic may be arranged to implement the functionality of a logic gate, or plurality of logic gates, such as AND, XOR, NOT, OR etc. . . . . An embodiment of the invention may comprise the steps of: providing a blockchain Transaction comprising a redeem script for an output, wherein the redeem script comprises: i) 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 wherein a minimum number of said private keys must be used to sign an unlocking script of a further blockchain Transaction in order to spend the output; and ii) logic arranged to provide a result based on: A) a determination of which of the plurality of associated private key(s) is/are used to sign the unlocking script, so as to provide an interim result: and B) a comparison of a parameter supplied via the unlocking script against the interim result. The method also comprises the step of attempting to spend the transaction output more than once, each attempt supplying a different parameter.
H04L 29/06 - Commande de la communication; Traitement de la communication caractérisés par un protocole
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
G06Q 20/38 - Architectures, schémas ou protocoles de paiement - leurs détails
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
G06F 21/30 - Authentification, c. à d. détermination de l’identité ou de l’habilitation des responsables de la sécurité
H04W 4/70 - Services pour la communication de machine à machine ou la communication de type machine
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 method of transferring a digital asset is disclosed. The method comprises generating first blockchain transactions (T1), each having an output unlockable by means of a digital signature of respective buyer and a digital signature of an oracle, generating a second blockchain transaction (T2) corresponding to each first blockchain transaction and having an input corresponding to the output of the corresponding first blockchain transaction and an output unlockable by means of the digital signature of the corresponding buyer, and generating a third blockchain transaction (T3), corresponding to each first blockchain transaction and having an input corresponding to the output of the corresponding first blockchain transaction and an output unlockable by means of a digital signature of a seller. A first blockchain transaction is selected for signature and is signed with the digital signatures of the respective buyer and the oracle, and the corresponding third blockchain transaction is broadcast to the blockchain to enable the corresponding digital asset to be redeemed by the seller.
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
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
The invention relates to a technique for implementing, controlling and automating a task or process on a blockchain such as, but not limited to, the Bitcoin blockchain. The invention is particularly suited for, but not limited to, automated execution of contracts such as smart contracts for financial agreements. However, other types of tasks and non-financial contracts can be implemented. The invention can be viewed as the implementation or incarnation of a state machine or DFA on a blockchain by using the unspent outputs of blockchain Transactions to represents the states of the machine, and spending of those outputs as the transition of the machine from one state to another. The invention provides a technical realisation and implementation of a mathematical model of computation conceived as an abstract machine that can be in one of a finite set of states, and can change from one state to another (transition) when a triggering event of a finite set (called input) occurs. The invention comprises compilation and codification techniques for the DFA implementation.
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/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 9/448 - Paradigmes d’exécution, p.ex. implémentation de paradigmes de programmation
23.
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 selected so as to implement the functionality of an logic gate such as the XOR gate. When the script is executed (because a second transaction is attempting to spend the output associated with the locking script) the inputs will be processed by the conditional instructions to provide an output of TRUE or FALSE. The second transaction is transmitted to the blockchain network for validation and, if determined to be valid, it will be written to the blockchain. Validation of the second transaction can be interpreted as a TRUE output. Thus, the locking script of the first transaction provides the functionality of the desired logic gate. The invention provides numerous advantages and can be used in a wide variety of applications, such as for the implementation
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
24.
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 selected so as to implement the functionality of a logic gate such as OR, AND, XOR, NOT and so on. In some examples, the instructions may be provided in a hashed form. When the script is executed (because a second transaction is attempting to spend the output associated with the locking script) the inputs will be processed by the conditional instructions to provide an output of TRUE or FALSE. The second transaction is transmitted to the blockchain network for validation and, if determined to be valid, it will be written to the blockchain. Validation of the second transaction can be interpreted as a TRUE output. Thus, the locking script of the first transaction provides the functionality of the desired logic gate. The invention provides numerous advantages and can be used in a wide variety of applications, such as for the implementation of control systems and processes.
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/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
The invention relates to blockchain technologies such as, for example, the Bitcoin blockchain. It provides a method (and corresponding system) of generating public keys for a linked structure of entities, wherein a function is applied to a deterministic key to generate the public key, the deterministic key being generated by applying a hash function to either a parent entity identifier to generate a parent deterministic key, or to a sum of the parent deterministic key and a child entity identifier to generate a child deterministic key. There is also provided a computer-implemented method for accounting on transactions with entities, the transaction being recorded in a peer-to-peer distributed ledger (blockchain), the method comprising: associating public addresses of the entities with one or more identifiers of a first classification type to classify the public addresses based on the first classification type; receiving, from a communication network, a first identifier of the one or more identifiers of the first classification type; determining a first set of public addresses associated with the first identifier, wherein the first set of public address is a subset of the public addresses; and determining a first set of transactions in the peer-to-peer distributed ledger based on the first set of public addresses associated with the first identifier, wherein the first set of transactions is a subset of 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
G06F 17/30 - Recherche documentaire; Structures de bases de donné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 system including a network connected to at least one mint computing device implementing a virtual currency mint. The network has a ring topology and includes computing devices that implement a plurality of nodes. The mint issues units of virtual currency to user accounts implemented by the nodes. Each of at least a portion of the nodes is configured to initiate (as a sender node) a transaction with a recipient node that transfers at least one unit of the virtual currency from a sender one of the user accounts to a recipient one of the user accounts. The recipient node validates the transaction, creates a receipt, performs an operation on the receipt to identify a storage node, and routes the receipt to the storage node. The storage node stores the receipt, identifies next storage nodes, and routes copies of the receipt to the next storage nodes for storage thereby.
G06Q 20/00 - Architectures, schémas ou protocoles de paiement
G06Q 20/10 - Architectures de paiement spécialement adaptées aux systèmes de banque à domicile
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
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 30/02 - Marketing; Estimation ou détermination des prix; Collecte de fonds
G06Q 40/00 - Finance; Assurance; Stratégies fiscales; Traitement des impôts sur les sociétés ou sur le revenu
A system including a network connected to at least one mint computing device implementing a virtual currency mint. The network has a ring topology and includes computing devices that implement a plurality of nodes. The mint issues units of virtual currency to user accounts implemented by the nodes. Each of at least a portion of the nodes is configured to initiate (as a sender node) a transaction with a recipient node that transfers at least one unit of the virtual currency from a sender one of the user accounts to a recipient one of the user accounts. The recipient node validates the transaction, creates a receipt, performs an operation on the receipt to identify a storage node, and routes the receipt to the storage node. The storage node stores the receipt, identifies next storage nodes, and routes copies of the receipt to the next storage nodes for storage thereby.
G06Q 20/00 - Architectures, schémas ou protocoles de paiement
G06Q 20/10 - Architectures de paiement spécialement adaptées aux systèmes de banque à domicile
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
A plurality of nodes implemented by computing devices in a network include sender and recipient nodes. The sender node sends, to the validation node, a request to transfer an amount of virtual currency from a sender account (associated with transaction receipts) to a recipient account. The request includes first copies of the receipts or references thereto. The validation node requests second copies of the receipts from at least two of the nodes, and receives the second copies from fewer than all of the nodes. The validation node determines whether the first copies have been tampered with by comparing the first and second copies to one another. When tampering has not occurred, at least one new receipt is generated indicating the amount has been transferred. Then, the at least one new receipt is forwarded to fewer than all of the nodes for storage.
G06Q 40/00 - Finance; Assurance; Stratégies fiscales; Traitement des impôts sur les sociétés ou sur le revenu
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
Methods for use with computing devices implementing a plurality of nodes of a ring-shaped overlay network. A joining node implemented by a joining computing device requests a connection with a bootstrap one of the plurality of nodes. In response, the bootstrap node sends a handshake identifier to the joining node. The joining node loads one or more portions of selected software code as a byte stream, and performs an operation (e.g., a hash function) on the handshake identifier and the byte stream to determine a first value. The joining node transmits the first value to the bootstrap node. The bootstrap node compares the first value to a second value. When the first and second values are identical, the bootstrap node validates the joining node. When the first and second values are not identical, the bootstrap node rejects the joining node thereby preventing the joining node from joining the overlay network.
G06F 7/04 - Contrôle d'égalité, c. à d. pour valeurs égales ou non
H04L 29/06 - Commande de la communication; Traitement de la communication caractérisés par un protocole
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