Patents Assigned to nChain Licensing AG
  • Patent number: 11968304
    Abstract: At least one proof transaction for recording on a blockchain comprises at least an s-part for an Elliptic Curve Digital Signature Algorithm, ECDSA, signature. The s-part is computed from a set of signature components, each provided by a participant of a signing subset of a set of keyshare participants. Each of keyshare participant holds an ephemeral keyshare of an unknown ephemeral key, and each of the signing components is provided by the participant of the signing subset based on their ephemeral keyshare. The at least one proof transaction indicates an r-challenge of at least one challenge transaction, and a node of a blockchain network applies signature verification to: (i) the s-part of the at least one proof transaction, and (ii) one of: (iia) an r-part of the r-challenge, (iib) an r-part of the at least one proof transaction, and in that event checks that that r-part satisfies the r-challenge.
    Type: Grant
    Filed: May 13, 2020
    Date of Patent: April 23, 2024
    Assignee: nChain Licensing AG
    Inventors: Craig Wright, Daniel Joseph
  • Patent number: 11941624
    Abstract: Trustless deterministic state machines can be implemented using a blockchain infrastructure and state machines can run concurrently over more than one blockchain transaction. The transactions can be done in a Bitcoin blockchain ledger. A unlocking transaction constraint that constrains an unlocking transaction to include a transaction input that references a previous transaction output is determined. A redeemable transaction is created to include a transaction output that includes an amount and a transaction locking script that includes the unlocking transaction constraint, with unlocking the amount being contingent upon execution of at least one unlocking script of the unlocking transaction satisfying the unlocking transaction constraint. The redeemable transaction is caused to be validated at a node of a blockchain network.
    Type: Grant
    Filed: August 24, 2018
    Date of Patent: March 26, 2024
    Assignee: nChain Licensing AG
    Inventor: Dean Kramer
  • Patent number: 11941381
    Abstract: 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.
    Type: Grant
    Filed: January 26, 2023
    Date of Patent: March 26, 2024
    Assignee: nChain Licensing AG
    Inventors: Craig Steven Wright, Stephane Savanah
  • Patent number: 11943331
    Abstract: A method of making a decision on a blockchain is disclosed. First public keys are received from each of a plurality of participants (A, B, C), wherein each first public key represents a possible selection by a participant and is related to a corresponding first private key by a cryptographic operation having a homomorphic property. The first public keys are combined to generate second public keys, wherein each second public key represents a possible decision based on a combination of possible selections. Third public keys, corresponding to the second public keys, are communicated to the participants. A voting blockchain transaction is generated (Tc voting), wherein an input of the voting transaction is a script executable by means of a digital signature corresponding to a first private key of each of a plurality of the participants, wherein each first private key represents a selection made by the participant.
    Type: Grant
    Filed: January 10, 2019
    Date of Patent: March 26, 2024
    Assignee: nChain Licensing AG
    Inventors: Silvia Bartolucci, Pauline Bernat, Daniel Joseph
  • Patent number: 11937162
    Abstract: A method of propagating data packets in a network of nodes is disclosed. The method includes: collecting a set of first data packets during a first time period, the set including at least one data packet received from one or more first nodes in the network; generating a first mapping that assigns the first data packets of the set for relay to one or more neighbouring nodes connected to the node; computing a decorrelation metric value for the first mapping; determining whether the decorrelation metric value for the first mapping satisfies a first condition; in response to determining that the decorrelation metric value for the first mapping does not satisfy the condition of transmitting the first data packets of the set to neighbouring nodes according to the second mapping.
    Type: Grant
    Filed: November 7, 2022
    Date of Patent: March 19, 2024
    Assignee: nChain Licensing AG
    Inventors: Silvia Bartolucci, Simone Madeo
  • Patent number: 11934494
    Abstract: A computer-implemented method (900) and system (1) for verifying the integrity of a computer software for installation using a distributed hash table (13) and a peer-to-peer distributed ledger (14). This may be the Bitcoin blockchain or an alternative implementation. The method includes determining (910) a metadata associated with a transaction record stored on the peer-to-peer distributed ledger (14). An indication of an entry stored on the distributed hash table (13) may be determined (920) from the metadata. The method further includes determining (930) a third hash value based on the computer software and determining (940) a fourth hash value from the entry on the distributed hash table (13). The method further includes comparing (950) the third hash value and the fourth hash value and verifying (960) the integrity of the computer software based on the comparing of the third hash value and the fourth hash value.
    Type: Grant
    Filed: June 17, 2022
    Date of Patent: March 19, 2024
    Assignee: nChain Licensing AG
    Inventors: Craig Steven Wright, Stephane Savanah
  • Patent number: 11936774
    Abstract: A method (300) and system (1) of determining a common secret for two nodes (3, 7). Each node (3, 7) has a respective asymmetric cryptography pair, each pair including a master private key and a master public key. Respective second private and public keys may be determined based on the master private key, master public key and a deterministic key. A common secret may be determined at each of the nodes based on the second private and public keys. In one example, a node (3, 7) may determine the common secret based on (i) a second private key based on the node's own master private key and the deterministic key; and (ii) a second public key based on the other node's master public key and the deterministic key. The invention may be suited for use with, but not limited to, digital wallets, blockchain (e.g. Bitcoin) technologies and personal device security.
    Type: Grant
    Filed: May 27, 2022
    Date of Patent: March 19, 2024
    Assignee: nChain Licensing AG
    Inventors: Craig Steven Wright, Stephane Savanah
  • Patent number: 11921706
    Abstract: A method and devices for verifying a digital resource by a plurality of node devices in a blockchain network. The plurality of nodes have respective private key shares, where a collective private key of a collective private-public key pair is based on a set of the respective private key shares, and where each node has a nodal private-public key pair. The digital resource may be encrypted using a digital resource crypto public key, the digital resource crypto public key including combination of a nodal public key and a collective public key. The digital resource may be submitted to a repository system by broadcasting a commitment transaction and a subsequent reveal or rescind transaction of a commitment channel, the commitment channel formed between a respective node and a principal node. Decrypting the encrypted digital resource is based on retrieving private key share contributions from the plurality of nodes participating in verifying the digital resource.
    Type: Grant
    Filed: February 3, 2022
    Date of Patent: March 5, 2024
    Assignee: nChain Licensing AG
    Inventors: Silvia Bartolucci, Pauline Bernat, Daniel Joseph
  • Patent number: 11922149
    Abstract: A method and system for generating a transaction for a blockchain protocol are disclosed. The method comprises using a software resource to receive, generate, or derive at least one data item, insert, at least once, a portion of code into a script associated with the transaction, where the script is written in a language that is functionally restricted. Upon execution of the script, the portion of code provides functionality of a control flow mechanism controlled or influenced by the at least one data item. The method further comprises using the software resource to generate the blockchain transaction comprising the script and submit the blockchain transaction to a blockchain network.
    Type: Grant
    Filed: April 18, 2022
    Date of Patent: March 5, 2024
    Assignee: nChain Licensing AG
    Inventors: Craig Steven Wright, Stephane Savanah
  • Patent number: 11924325
    Abstract: Techniques are presented for controlling or influencing use of and/or access to a resource. This resource may be a device, such as an IoT (Internet of Things) device or a process. Techniques include a method comprising generating a blockchain transaction (TxA) indicative of a condition on use of, or access to, the resource for a specified period of time, the blockchain transaction comprising a multi-signature script requiring a plurality of signatures for completion of the blockchain transaction; providing a first subset of the plurality of signatures to the blockchain transaction (TxA) to generate a partially signed signature script to partially complete the blockchain transaction (SI 14); and responsive to the condition on the use of, or access to, the resource being satisfied, providing a second subset of the plurality of signatures (S204) to the blockchain transaction to fully complete the blockchain transaction.
    Type: Grant
    Filed: April 17, 2022
    Date of Patent: March 5, 2024
    Assignee: nChain Licensing AG
    Inventors: Stephane Vincent, Craig Steven Wright
  • Patent number: 11915238
    Abstract: Computer implemented methods are provided that create and/or validate a spending blockchain transaction that includes i) a plurality of locking scripts each representing an instance of an execution thread (which can be execution threads that are forked from an execution thread represented by a locking script of a previous blockchain transaction and/or execution threads of at least one previous blockchain transaction that are managed and/or controlled for inter-thread communication and control) or ii) a locking script representing an instance of an execution thread joined from a plurality of execution threads represented at least one previous blockchain transaction. Once created and/or validated, the spending blockchain transaction can be communicated on a blockchain network for storage in a blockchain ledger. The blockchain transactions can implement thread-specific locking scripts and associated fork, join and barrier constructs for concurrent or asynchronous threads of execution.
    Type: Grant
    Filed: December 7, 2018
    Date of Patent: February 27, 2024
    Assignee: nChain Licensing AG
    Inventors: Ying Chan, Dean Kramer
  • Patent number: 11916955
    Abstract: 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.
    Type: Grant
    Filed: January 26, 2023
    Date of Patent: February 27, 2024
    Assignee: nChain Licensing AG
    Inventors: Silvia Bartolucci, Simone Madeo
  • Patent number: 11917051
    Abstract: A computer-implemented access method is provided. The method comprises the steps of: (i) providing a verification data item of a one-way function chain of data items; (ii) submitting, to a blockchain (such as the Bitcoin blockchain), an access blockchain transaction comprising a data item of the chain; (iii) applying the one-way function to the data item to provide an output; (iv) comparing the output of step (iii) to the verification item to provide an outcome; and (v) based on the outcome of step (iv): (a) allocating the output as a further verification data item for verifying a further data item of the chain; and (b) granting access to a resource associated with the data item.
    Type: Grant
    Filed: May 13, 2019
    Date of Patent: February 27, 2024
    Assignee: nChain Licensing AG
    Inventor: Craig Steven Wright
  • Patent number: 11902439
    Abstract: Techniques are presented relating to security of blockchain transactions that transfer digital assets or entities from one resource to another. Techniques provide a computer-implemented method for improving the security, anonymity and/or control of a value-mixing blockchain transaction having a plurality of participating nodes, each node having a respective output address to which the transaction is to allocate value. The method includes encrypting by a node its output address using that node's public key, adding the encrypted output address to a set of output addresses for the transaction, shuffling the order of the encrypted output addresses in the set. Each participating node identifies its encrypted output address in the set, and replaces its encrypted output address with its unencrypted output address. The result is a shuffled set of output addresses that cannot be linked to a particular input. with its unencrypted output address.
    Type: Grant
    Filed: March 2, 2018
    Date of Patent: February 13, 2024
    Assignee: nChain Licensing AG
    Inventors: Daniel Joseph, Craig Steven Wright
  • Patent number: 11900364
    Abstract: 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.
    Type: Grant
    Filed: May 23, 2022
    Date of Patent: February 13, 2024
    Assignee: nChain Licensing AG
    Inventors: Craig Steven Wright, Stephane Savanah
  • Patent number: 11902441
    Abstract: A computer-implemented method to validate a block at a node within a network of nodes implementing a blockchain conforming to a blockchain protocol. This may be the Bitcoin protocol or an alternative. The method includes determining, serially, that each unspent transaction output referenced as an input in each of the plurality of transactions is unique and, based on that determination allocating each transaction in the plurality of transactions to one of two or more parallel processors, and verifying, in parallel, by the two or more parallel processors, that the transactions in the plurality of transactions comply with transaction-level validation criteria. The node also determines that the block meets block-level validation criteria. If the transactions comply with transaction-level validation criteria and the block complies with block-level validation criteria, the block is deemed valid and the node forwards the block to one or more peer nodes in the network.
    Type: Grant
    Filed: May 4, 2018
    Date of Patent: February 13, 2024
    Assignee: nChain Licensing AG
    Inventors: Patrick Motylinski, Stephane Vincent, Giuseppe Destefanis, Simone Madeo, Craig Steven Wright
  • Patent number: 11900363
    Abstract: Systems and methods are disclosed for establishing information on a state of a machine-executable contract in the context of unspent transactions (UTXOs), blockchain and deterministic finite automaton implementation of contracts, and determination of states within those. Stages of a method include determining information of interest and codes or tags identifying that information, constructing metadata associated with those codes or tags, and combining the metadata with a public key for an agent associated with the information. ScriptPubKey values of each script are used to provide keys for constructing a database and mapping the keys from the scriptPubKey values, linked to the information. A derivation of script hash addresses from the scriptPubKey values is used to populate a digital wallet. A search and match algorithm is used to find UTXOs with matching script hash addresses on a blockchain. The database is populated with UTXOs that match the script hash addresses and keys to complete the combinations.
    Type: Grant
    Filed: February 23, 2022
    Date of Patent: February 13, 2024
    Assignee: nChain Licensing AG
    Inventors: Pedro Jimenez-Delgado, Craig Steven Wright
  • Patent number: 11902371
    Abstract: A specialized network (“merchant”) node to facilitate fast distribution of blockchain transactions over a network of interconnected nodes, as subset of which are merchant nodes interconnected by an overlay network. The merchant node includes a memory storing an assigned portion of a distributed mempool structured as a distributed hash table, the distributed mempool containing pending transactions awaiting confirmation. The merchant node operates by receiving a transaction, including a transaction identifier; hashing the new transaction identifier to obtain a key; determining, using the key, whether the transaction is stored in the distributed mempool or not and, if not, then storing the transaction in the distributed mempool as a pending transaction; and sending the transaction to a set of nodes other than merchant nodes using peer-to-peer connections. The invention may be used in conjunction with the Bitcoin blockchain or an alternative.
    Type: Grant
    Filed: February 24, 2023
    Date of Patent: February 13, 2024
    Assignee: nChain Licensing AG
    Inventors: Giuseppe Destefanis, Patrick Motylinski, Stephane Vincent, Craig Steven Wright
  • Patent number: 11893582
    Abstract: The invention relates to distributed ledge technologies such as consensus-based blockchains. Methods for causing an injection of a serialized previous transaction into a locking script are described. The invention is implemented using a blockchain network, which may be, for example, a Bitcoin blockchain. A first transaction to validate is received at a node in a blockchain network, with the first transaction including a first script. The first script, as a result of being executed, causes the 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 transaction is obtained, with the second transaction having been validated and including a second script.
    Type: Grant
    Filed: May 14, 2018
    Date of Patent: February 6, 2024
    Assignee: nChain Licensing AG
    Inventors: Ying Chan, Dean Kramer
  • Patent number: 11893074
    Abstract: According to a first 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). According to a second aspect of the disclosure, there is provided a request-response protocol for requesting access to data from a destination transaction.
    Type: Grant
    Filed: August 19, 2020
    Date of Patent: February 6, 2024
    Assignee: nChain Licensing AG
    Inventors: Brock Doiron, Craig Steven Wright