Patents by Inventor Steven A. Wright

Steven A. Wright has filed for patents to protect the following inventions. This listing includes patent applications that are pending as well as patents that have already been granted by the United States Patent and Trademark Office (USPTO).

  • Patent number: 11875340
    Abstract: A computer-implemented method for improving the security of a data record distribution process using a blockchain having a group of input nodes and a group of output nodes, each group having a private-public key pair, but wherein the nodes only have a key share of their respective private key and no node has a full private key. Using threshold signature scheme, secret share joining, and stealth addresses, data records from the input nodes are pooled at a stealth address determined through collaborative action of the input nodes, requiring cooperative determination of their public key, a shared secret, and the stealth address. The public key is copied into the transaction. The output nodes locate the transaction and extract the public key, collaboratively verify its authenticity, and collaboratively determine the shared secret. Having done so, the output nodes may, collectively, sign a second transaction for distributing data records from the stealth address to the output addresses.
    Type: Grant
    Filed: April 6, 2018
    Date of Patent: January 16, 2024
    Assignee: nChain Licensing AG
    Inventors: Martin Sewell, Daniel Joseph, Craig Steven Wright
  • Publication number: 20240015033
    Abstract: 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.
    Type: Application
    Filed: August 31, 2021
    Publication date: January 11, 2024
    Inventors: Jack Owen DAVIES, Craig Steven WRIGHT
  • Patent number: 11868745
    Abstract: Techniques are presented to enable or facilitate the execution of a portion of source code, written in a high-level language (HLL), on a blockchain platform. The technique comprises receiving a portion of source code as input; and generating an output script comprising a plurality of op_codes. The op_codes are a subset of op_codes that are native to a functionally-restricted, blockchain scripting language. The outputted script is arranged and/or generated such that, when executed, the script provides, at least in part, the functionality specified in the source code. The blockchain scripting language is restricted such that it does not natively support complex control-flow constructs or recursion via jump-based loops or other recursive programming constructs.
    Type: Grant
    Filed: August 13, 2022
    Date of Patent: January 9, 2024
    Assignee: nChain Licensing AG
    Inventors: Craig Steven Wright, Stephane Savanah
  • Publication number: 20240005304
    Abstract: 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.
    Type: Application
    Filed: June 22, 2023
    Publication date: January 4, 2024
    Inventors: Craig Steven WRIGHT, Stephane SAVANAH
  • Publication number: 20240005310
    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 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.
    Type: Application
    Filed: June 5, 2023
    Publication date: January 4, 2024
    Inventors: Craig Steven WRIGHT, Stephane SAVANAH
  • Patent number: 11863624
    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: August 13, 2022
    Date of Patent: January 2, 2024
    Assignee: nChain Licensing AG
    Inventors: Giuseppe Destefanis, Patrick Motylinski, Stephane Vincent, Craig Steven Wright
  • Publication number: 20230421375
    Abstract: 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.
    Type: Application
    Filed: April 24, 2023
    Publication date: December 28, 2023
    Inventors: Stephane SAVANAH, Craig Steven WRIGHT
  • Publication number: 20230421383
    Abstract: 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.
    Type: Application
    Filed: November 4, 2021
    Publication date: December 28, 2023
    Inventors: Chloe TARTAN, Wei ZHANG, Craig Steven WRIGHT
  • Publication number: 20230421355
    Abstract: 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.
    Type: Application
    Filed: June 29, 2023
    Publication date: December 28, 2023
    Inventor: Craig Steven WRIGHT
  • Publication number: 20230412358
    Abstract: 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.
    Type: Application
    Filed: June 21, 2023
    Publication date: December 21, 2023
    Inventors: Silvia BARTOLUCCI, Pauline BERNAT, Daniel JOSEPH, Craig Steven WRIGHT
  • Publication number: 20230410215
    Abstract: 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.
    Type: Application
    Filed: June 22, 2023
    Publication date: December 21, 2023
    Inventor: Craig Steven WRIGHT
  • Publication number: 20230394063
    Abstract: 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.
    Type: Application
    Filed: October 12, 2021
    Publication date: December 7, 2023
    Inventors: Wei ZHANG, Bassem AMMAR, Jack Owen DAVIES, Craig Steven WRIGHT
  • Patent number: 11838426
    Abstract: A method of obtaining digitally signed data is disclosed. The method comprises sending first data (e2) from at least one of a plurality of first participants to at least one second participant, wherein the first data is based on second data (e) accessible to at least one said first participant, and the second data is inaccessible to the or each said second participant. A digital signature (s1) of the first data is received from at least one said second participant, and the digital signature of the first data is processed, by a plurality of the first participants, to provide shares of a digital signature(s) of the second data, wherein the digital signature of said second data is accessible by means of a threshold number of said shares and is inaccessible to less than said threshold number of shares.
    Type: Grant
    Filed: January 10, 2019
    Date of Patent: December 5, 2023
    Assignee: nChain Licensing AG
    Inventor: Craig Steven Wright
  • Patent number: 11838407
    Abstract: A computer-implemented security may be implemented on a blockchain comprising applying a one-way function to a first secret value to create a first veiled secret value; communicating the first veiled secret value to a user; receiving a second veiled secret value from the user, wherein the second veiled secret value is created by applying a one-way function to the second secret value; and constructing a first blockchain transaction comprising the first veiled secret value and the second veiled secret value, the first blockchain transaction arranged to be unlockable to transfer control of a first resource upon provision of both the first secret value and the second secret value to a respective blockchain transaction.
    Type: Grant
    Filed: August 29, 2022
    Date of Patent: December 5, 2023
    Assignee: nChain Licensing AG
    Inventor: Craig Steven Wright
  • Publication number: 20230388136
    Abstract: 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.
    Type: Application
    Filed: October 12, 2021
    Publication date: November 30, 2023
    Inventors: Wei ZHANG, Bassem AMMAR, Jack Owen DAVIES, Craig Steven WRIGHT
  • Publication number: 20230379175
    Abstract: 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.
    Type: Application
    Filed: August 31, 2021
    Publication date: November 23, 2023
    Inventors: Jack Owen DAVIES, Craig Steven WRIGHT
  • Publication number: 20230368195
    Abstract: 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.
    Type: Application
    Filed: May 18, 2023
    Publication date: November 16, 2023
    Inventors: Silvia BARTOLUCCI, Pauline BERNAT, Daniel JOSEPH, Craig Steven WRIGHT
  • Publication number: 20230370288
    Abstract: 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.
    Type: Application
    Filed: August 31, 2021
    Publication date: November 16, 2023
    Inventors: Jack Owen DAVIES, Craig Steven WRIGHT
  • Publication number: 20230360047
    Abstract: 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.
    Type: Application
    Filed: August 31, 2021
    Publication date: November 9, 2023
    Inventors: Jack Owen DAVIES, Craig Steven WRIGHT
  • Publication number: 20230360036
    Abstract: 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.
    Type: Application
    Filed: May 8, 2023
    Publication date: November 9, 2023
    Inventors: Stephane Vincent, Craig Steven Wright