Patents by Inventor Craig Steven Wright

Craig Steven 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).

  • Publication number: 20200213099
    Abstract: A method and devices for securely and privately generating a threshold vault address and distributed individual key shares reliant upon individually selected polynomial functions, without revealing the key shares and without ever reconstructing the private key. A digital asset stored at the threshold vault address may be used as an input to a transaction through generating a digital signature corresponding to the threshold vault address. Methods and devices are described for collaboratively generating the digital signature without reconstructing the private key or revealing individual key shares. Methods and devices are described for refreshing the distributed private key shares.
    Type: Application
    Filed: August 13, 2018
    Publication date: July 2, 2020
    Inventor: Craig Steven WRIGHT
  • Publication number: 20200195442
    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: Application
    Filed: July 5, 2018
    Publication date: June 18, 2020
    Inventors: Craig Steven WRIGHT, Stephane SAVANAH
  • Publication number: 20200174762
    Abstract: The invention provides a computer-implemented method (and corresponding system) for generating a blockchain transaction (Tx). This may be a transaction for the Bitcoin blockchain or another blockchain protocol. The method comprises the step of using a software resource to receive, generate or otherwise derive at least one data item; and then insert, at least once, at least one portion of code into a script associated the transaction. Upon execution of the script, the portion of code provides the functionality of a control flow mechanism, the behaviour of the control flow mechanism being controlled or influenced by the at least one data item. In one embodiment, the code is copied/inserted into the script more than once. The control flow mechanism can be a loop, such as a while or for loop, or a selection control mechanism such as a switch statement. Thus, the invention allows the generation of a more complex blockchain script and controls how the script will execute when implemented on the blockchain.
    Type: Application
    Filed: July 5, 2018
    Publication date: June 4, 2020
    Inventors: Craig Steven WRIGHT, Stephane SAVANAH
  • Patent number: 10659223
    Abstract: A solution for controlling access to a resource such as a digital wallet implemented using a blockchain. Use of the invention during set up of the wallet can enable subsequent operations to be handled in a secure manner over an insecure channel. An example method comprises splitting a verification element into multiple shares; determining a common secret at multiple nodes in a network; and using the common secret to transmit a share of the verification element between nodes. The shares can be split such that no share is sufficient to determine the verification element and can be stored at separate locations. Upon share unavailability, the share can be retrieved a location accessibility. For safe transmission of the share(s), the common secret is generated at two different nodes independently and used to generate an encryption key for encrypting at least one share of the verification element to be transmitted securely.
    Type: Grant
    Filed: August 23, 2018
    Date of Patent: May 19, 2020
    Assignee: nChain Holdings Limited
    Inventors: Craig Steven Wright, Stephane Savanah
  • Patent number: 10652014
    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: February 16, 2017
    Date of Patent: May 12, 2020
    Assignee: nChain Holdings Limited
    Inventors: Craig Steven Wright, Stephane Savanah
  • Patent number: 10579779
    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: May 12, 2017
    Date of Patent: March 3, 2020
    Assignee: nChain Holdings Limited
    Inventors: Craig Steven Wright, Stephane Savanah
  • Publication number: 20200005254
    Abstract: The disclosure relates to a blockchain-implemented system and method of controlling the transmission and/or distribution of digital content. In an illustrative embodiment, the blockchain is the Bitcoin blockchain. The first user (5) is associated with a deposit quantity of cryptocurrency at a common address (23), wherein to spend from the common address requires signatures of both a first private key of the first user (5) and a second private key of the second user (7). The system (1) comprises a first node (15) and a second node (17).
    Type: Application
    Filed: February 21, 2017
    Publication date: January 2, 2020
    Inventors: Craig Steven Wright, Stephane Savanah
  • Publication number: 20190340362
    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: Application
    Filed: May 12, 2017
    Publication date: November 7, 2019
    Inventors: Craig Steven Wright, Stephane Savanah
  • Publication number: 20190303887
    Abstract: A method of creating, redeeming and transferring tokens associated with tokens on a peer-to-peer distributed ledger. The method includes including metadata associated with the token in a redeem script, wherein the redeem script is associated with a transaction of cryptocurrency on the peer-to-peer distributed ledger. One aspect of the invention provides a method of issuing and/or transferring a token, comprising the steps of generating a blockchain transaction (Tx) having an output (TxO) related to a quantity of cryptocurrency such as Bitcoin, and a hash of a redeem script. The redeem script comprises metadata which in turn comprises a token. The token is a representation of, or a reference to, a tokenised entity. The redeem script also comprises at least one (preferably two or more) public cryptographic keys. The metadata is provided in the redeem script at a location which is designated in the underlying blockchain protocol as a location for a cryptographic key.
    Type: Application
    Filed: February 14, 2017
    Publication date: October 3, 2019
    Inventors: Craig Steven Wright, Stephane Savanah
  • Publication number: 20190303543
    Abstract: A computer-implemented method (600) and system (1) for verifying ownership of a computer software after installation and prior to execution 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 (610) a second user public key associated with a second user (24) from a transaction record stored on the peer-to-peer distributed ledger (14). A second public key associated with the second user may be determined (620) from an entry on the distributed hash table (13). The method further includes comparing (630) the second user public key and the second public key, and verifying (640) the ownership of the computer software based on the comparing of the second user public key and the second public key.
    Type: Application
    Filed: May 12, 2017
    Publication date: October 3, 2019
    Inventors: Stephane Savanah, Craig Steven Wright
  • Publication number: 20190279197
    Abstract: 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.
    Type: Application
    Filed: October 27, 2017
    Publication date: September 12, 2019
    Inventors: Craig Steven Wright, Pedro Jimenez-Delgado
  • Publication number: 20190163883
    Abstract: A computer-implemented method (600) and system (1) for verifying ownership 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 blockchain implementation. The method includes determining (610) a second user public key associated with a second user (24) from a transaction record stored on the peer-to-peer distributed ledger (14). A second public key associated with the second user may be determined (620) from an entry on the distributed hash table (13). The method further includes comparing (630) the second user public key and the second public key, and verifying (640) the ownership of the computer software based on the comparing of the second user public key and the second public key.
    Type: Application
    Filed: May 12, 2017
    Publication date: May 30, 2019
    Inventors: Stephane Savanah, Craig Steven Wright
  • Publication number: 20190164138
    Abstract: The invention provides a novel and advantageous method and corresponding system. The invention is implemented via a distributed electronic ledge (blockchain). This may or may not be the Bitcoin blockchain. The invention is suited for the exchange or transfer of an asset, e.g. a digital asset, such as tickets and the like (but not limited in this regard).
    Type: Application
    Filed: July 21, 2017
    Publication date: May 30, 2019
    Inventors: Craig Steven Wright, Stephane Savanah
  • Publication number: 20190158470
    Abstract: The invention provides a generic operating system for coordinating, controlling and/or influencing the activities of a device. The invention is implemented using a blockchain platform with which the operating system is arranged to interact. The blockchain may be the Bitcoin blockchain. In a preferred embodiment, the device is an Internet of Things (IOT) device. The invention provides a computer-implemented control system and corresponding method for controlling a device, the system comprising a device configured for wireless communication with a network and having an IP address and a public-private key cryptographic key pair associated with the device; a software-implemented control component arranged to monitor the state of a blockchain network and/or transmit blockchain Transactions to the blockchain network; and a set of instructions arranged for execution by the control component to control the functionality of the device.
    Type: Application
    Filed: April 28, 2017
    Publication date: May 23, 2019
    Inventors: Craig Steven Wright, Stephane Savanah
  • Publication number: 20190149337
    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 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.
    Type: Application
    Filed: April 28, 2017
    Publication date: May 16, 2019
    Inventors: Stephane Savanah, Craig Steven Wright
  • Publication number: 20190139031
    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 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 inputs are pre-processed by one or more computing agents so that they are evaluated to TRUE or FASLE prior to being used as inputs to the script. 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.
    Type: Application
    Filed: April 28, 2017
    Publication date: May 9, 2019
    Inventors: Craig Steven Wright, Stephane Savanah
  • Publication number: 20190130391
    Abstract: A computer-implemented method of determining the validity of a token (T) associated with a quantity of cryptocurrency is provided. In some embodiments, the method comprises: a second user (B) receiving, over a communications network, a first transaction comprising a transfer of the token (T) from a first user (A) to the second user (B), querying a peer-to-peer distributed ledger to determine whether an authenticated transaction associated with the token (T) can be identified, wherein the authenticated transaction comprises a previous transaction associated with the token (T) and wherein the token (T) has been authorised and responsive to identifying an authenticated transaction, determining that the token (T) is valid.
    Type: Application
    Filed: April 10, 2017
    Publication date: May 2, 2019
    Inventors: Craig Steven Wright, Stephane Savanah
  • Publication number: 20190130399
    Abstract: The invention comprises a computer-implemented method and system for controlling an exchange process, such as a loan, conducted between at least two parties via a blockchain such as the Bitcoin blockchain. A method according to the invention may comprise the step of generating a first blockchain transaction which includes a redeem script. The redeem script comprises a cryptographic public key associated with an initiating party and metadata which includes a hash of an exchange-related document; a redeem address; and an amount of digital currency. A second blockchain transaction is generated and published to the blockchain so as to spend the digital currency to the redeem address. This provides the advantage that the further transaction will be publically available and thus detectable by other parties once it has been published. The further transaction can provide the information necessary to trigger a response e.g. an offer from another (responding) party who publishes their response on the blockchain.
    Type: Application
    Filed: April 10, 2017
    Publication date: May 2, 2019
    Inventors: Craig Steven Wright, Stephane Savanah
  • Patent number: 10269084
    Abstract: A system, method, server processing system, and computer program product for operating a registry. In one aspect, the server processing system is configured to: receive, from a user processing system in data communication with the server processing system, document data relating to an entity; receive, from the user processing system, access data indicative of an accessing party to be provided access to the document data if a defined trigger event occurs; store, in a data store associated with the server processing system, a registry for the entity indicative of the document data and the access data; determine that a defined trigger event has occurred; and in response to determining that that a defined trigger event has occurred, provide the accessing party read-only access to the document data via an access processing system in data communication with the server processing system.
    Type: Grant
    Filed: August 22, 2017
    Date of Patent: April 23, 2019
    Assignee: YDF GLOBAL PTY LTD
    Inventors: Jamie Robert Wilson, Craig Steven Wright
  • Publication number: 20190116024
    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: Application
    Filed: April 28, 2017
    Publication date: April 18, 2019
    Inventors: Craig Steven Wright, Stephane Savanah