Patents by Inventor Bassem AMMAR

Bassem AMMAR 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: 12634124
    Abstract: A computer-implemented method for generating an identity-based cryptographic key, the method comprising: obtaining a set of private key shares and a set of corresponding public key shares, wherein each private key share is generated based on the personal identifier, and wherein at least one of the set of private key shares is generated by a respective one of a set of key-generating parties; generating an identity-based private key based on each of the one or more private key shares; and generating a partial identity-based public key, wherein the partial identity-based public key is generated based on each of the set of corresponding public key shares; transmitting the partial identity-based public key to at least one of the set of key-generating parties for generating the identity-based public key; and/or generating the identity-based public key, wherein the identity-based public key comprises the personal identifier and the partial identity-based public key.
    Type: Grant
    Filed: November 6, 2020
    Date of Patent: May 19, 2026
    Assignee: nChain Licensing AG
    Inventors: Bassem Ammar, Wei Zhang, John Fletcher
  • Patent number: 12619982
    Abstract: A computer-implemented method of using blockchain transactions to issue one or more single-uses tokens for use by one or more respective token redeemers, wherein the method is performed by a token issuer and comprises: generating a token transaction, wherein the token transaction comprises: one or more token outputs, wherein each token output comprises token data representing a respective single-use token, wherein each single-use token is associated with a respective spendable output of the token transaction, and wherein a respective validity of each single-use token is conditional on the respective spendable output being present in an unspent transaction output set of a blockchain; and one or more inputs, wherein at least a first one of the inputs comprises a signature linked to a first public key of the token issuer; and transmitting the token transaction to one or more nodes of a blockchain network to be recorded in the blockchain.
    Type: Grant
    Filed: December 7, 2020
    Date of Patent: May 5, 2026
    Assignee: nChain Licensing AG
    Inventors: Bassem Ammar, Wei Zhang, Craig Steven Wright
  • Patent number: 12609824
    Abstract: A computer-implemented method of partitioning a blockchain network into shards is disclosed. The method comprises the steps of identifying a transaction id of a blockchain transaction and allocating the transaction to a shard based on the transaction id.
    Type: Grant
    Filed: November 9, 2023
    Date of Patent: April 21, 2026
    Assignee: NCHAIN LICENSING AG
    Inventors: Dean Kramer, Martin Sewell, Bassem Ammar
  • Patent number: 12406265
    Abstract: A method of validating transactions for recordal in a blockchain comprises receiving one or more transactions at a node of a blockchain network. For each received transaction a protocol for validating the transaction is applied. The protocol is configured to allow a termination opcode to be included in an output script of the transaction. The termination opcode is configured to, upon being executed by the node, a) terminate execution of the output script, and b) not to invalidate the transaction based only on the inclusion of the termination opcode in the output script. The protocol is also configured to disallow any instance of the termination opcode from being included in an input script of the transaction, said disallowing comprising the node at least invalidating the transaction if any instance of the termination opcode is included in the input script.
    Type: Grant
    Filed: June 5, 2024
    Date of Patent: September 2, 2025
    Assignee: nChain Licensing AG
    Inventors: Chloe Tartan, Bassem Ammar, Jack Davies, Jad Wahab, Wei Zhang, Owen Vaughan, Craig Wright
  • Patent number: 12401519
    Abstract: According to a first aspect, there is provided a computer-implemented method of cryptographically linking multiple documents, having multiple electronic signature requirements, via a sequence of blockchain transactions, the method comprising: computing document signature data satisfying a first signature requirement for an existing document, the first signature requirement defined in a blockchain transaction containing or referencing the existing document; wherein the document signature data signs a portion of a linking transaction containing or referencing a supplementary document, the linking transaction comprising an input for validly spending a spendable output of the blockchain transaction, whereby the document signature cryptographically links the supplementary document with the existing document; and wherein the signed portion comprises multiple outputs of the linking transaction; wherein a first of the multiple signed outputs is spendable and associated with the existing document, the signed portion d
    Type: Grant
    Filed: June 3, 2021
    Date of Patent: August 26, 2025
    Assignee: nChain Licensing AG
    Inventors: Bassem Ammar, Wei Zhang, Craig Steven Wright
  • Patent number: 12373593
    Abstract: A method of executing transactions of a blockchain network. A first transaction comprises at least a first output comprising a first locking script of a stack-based scripting language, the first locking script comprising a portion of the first locking script to be executed before a first instance of an opcode is executed. A second transaction comprises a first unlocking script that references the first output in the first transaction. Upon executing the first instance of the opcode, execution of the first locking script is terminated whilst not invalidating the first transaction. A first data element is read from at least one stack, wherein the first data element is generated during execution of the first unlocking script and the portion of the first locking script. The first data element as read from the at least one stack is supplied to an off-chain function, wherein the function is configured to generate a result based on at least said first data element.
    Type: Grant
    Filed: April 22, 2020
    Date of Patent: July 29, 2025
    Assignee: nChain Licensing AG
    Inventors: Chloe Tartan, Jack Davies, Jad Wahab, Wei Zhang, Owen Vaughan, Craig Wright, Bassem Ammar
  • Publication number: 20250193026
    Abstract: A computer-implemented method comprising: obtaining information describing a property; dividing the information into at least two data items describing the property at at least two different levels of precision; obtaining a set of data items for generating a Merkle tree, the set of data items including the at least two data items; generating two or more leaf nodes of a Merkle tree by hashing each data item in the set of data items, wherein the Merkle tree comprises a plurality of leaf nodes including the two or more leaf nodes; and storing at least one of: the Merkle tree; instructions for generating the Merkle tree from the set of data items.
    Type: Application
    Filed: February 28, 2023
    Publication date: June 12, 2025
    Inventors: Bassem AMMAR, Craig Steven WRIGHT
  • Publication number: 20250132914
    Abstract: A computer-implemented method of validating a blockchain transaction is disclosed. The method comprises requesting at least one UTXO referenced by at least one respective input of the transaction from a member node of at least one shard comprising at least one UTXO, obtaining validity data of at least one UTXO from at least one node, and performing a validation check on at least one input using the validity data.
    Type: Application
    Filed: November 6, 2024
    Publication date: April 24, 2025
    Inventors: Dean KRAMER, Martin SEWELL, Bassem AMMAR
  • Patent number: 12256004
    Abstract: A computer-implemented method and system is provided that maintains blocks of a blockchain across nodes of a sharded blockchain network, wherein each node is a member of one or more shards of a plurality of active shards. The method and system employ a given node that is a member of a particular subset of the plurality of active shards to generate data representing a new block of the blockchain and store the data representing the new block. Such data includes i) a list of transaction identifiers for transactions that are part of the new block and associated with the particular subset of the plurality of active shards, and/or ii) a Partial Merkle Tree for the new block.
    Type: Grant
    Filed: March 19, 2024
    Date of Patent: March 18, 2025
    Assignee: NCHAIN LICENSING AG
    Inventors: Dean Kramer, Martin Sewell, Bassem Ammar
  • Patent number: 12229159
    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: Grant
    Filed: October 12, 2021
    Date of Patent: February 18, 2025
    Assignee: nChain Licensing AG
    Inventors: Wei Zhang, Bassem Ammar, Jack Owen Davies, Craig Steven Wright
  • Patent number: 12182541
    Abstract: A method of executing a transaction of a blockchain. The transaction comprises at least one output comprising a locking script, and the locking script comprises an instance of a first opcode and one or more instances of a second opcode. Each instance of the second opcode separates portions of the locking script. Upon calling the instance of the first opcode, a first data element is read from at least one stack, the first data element being generated during execution of the locking script with an unlocking script of a different transaction. A first part of the locking script that follows an instance of the second opcode corresponding to the first data element is output.
    Type: Grant
    Filed: April 22, 2020
    Date of Patent: December 31, 2024
    Assignee: nChain Licensing AG
    Inventors: Chloe Tartan, Bassem Ammar, Jack Davies, Wei Zhang, Owen Vaughan, Craig Steven Wright, Jad Wahab
  • Patent number: 12166880
    Abstract: A computer-implemented method of validating a blockchain transaction is disclosed. The method comprises requesting at least one UTXO referenced by at least one respective input of the transaction from a member node of at least one shard comprising at least one UTXO, obtaining validity data of at least one UTXO from at least one node, and performing a validation check on at least one input using the validity data.
    Type: Grant
    Filed: July 12, 2023
    Date of Patent: December 10, 2024
    Assignee: nChain Licensing AG
    Inventors: Dean Kramer, Martin Sewell, Bassem Ammar
  • Publication number: 20240372738
    Abstract: A computer-implemented method of generating a blockchain transaction, wherein each party of a plurality of second parties has a respective secret number k from which a respective r-portion is derivable, wherein a Merkle tree is defined, at least one leaf node of the Merkle tree being based on at least one of the respective r-portions, wherein the method is performed by a first party and comprises: generating a first blockchain transaction, wherein the first blockchain transaction comprises a first locking script comprising a target Merkle tree portion corresponding to the Merkle tree, the first locking script configured, when executed together with a first unlocking script of a second blockchain transaction, to: extract an r-portion from the first unlocking script, generate a hash value derived from the extracted r-portion, calculate a candidate Merkle tree portion based on the generated hash and a Merkle proof portion of the first unlocking script, verify that the calculated candidate Merkle tree portion mat
    Type: Application
    Filed: August 15, 2022
    Publication date: November 7, 2024
    Inventors: Bassem AMMAR, Craig Steven WRIGHT
  • Publication number: 20240348442
    Abstract: A computer-implemented method and system is provided that maintains blocks of a blockchain across nodes of a sharded blockchain network, wherein each node is a member of one or more shards of a plurality of active shards. The method and system employ a given node that is a member of a particular subset of the plurality of active shards to generate data representing a new block of the blockchain and store the data representing the new block. Such data includes i) a list of transaction identifiers for transactions that are part of the new block and associated with the particular subset of the plurality of active shards, and/or ii) a Partial Merkle Tree for the new block.
    Type: Application
    Filed: March 19, 2024
    Publication date: October 17, 2024
    Inventors: Dean KRAMER, Martin SEWELL, Bassem AMMAR
  • Publication number: 20240320683
    Abstract: A method of validating transactions for recordal in a blockchain comprises receiving one or more transactions at a node of a blockchain network. For each received transaction a protocol for validating the transaction is applied. The protocol is configured to allow a termination opcode to be included in an output script of the transaction. The termination opcode is configured to, upon being executed by the node, a) terminate execution of the output script, and b) not to invalidate the transaction based only on the inclusion of the termination opcode in the output script. The protocol is also configured to disallow any instance of the termination opcode from being included in an input script of the transaction, said disallowing comprising the node at least invalidating the transaction if any instance of the termination opcode is included in the input script.
    Type: Application
    Filed: June 5, 2024
    Publication date: September 26, 2024
    Inventors: Chloe TARTAN, Bassem AMMAR, Jack DAVIES, Jad WAHAB, Wei ZHANG, Owen VAUGHAN, Craig WRIGHT
  • Patent number: 12045830
    Abstract: A method of validating transactions for recordal in a blockchain comprises receiving one or more transactions at a node of a blockchain network. For each received transaction a protocol for validating the transaction is applied. The protocol is configured to allow a termination opcode to be included in an output script of the transaction. The termination opcode is configured to, upon being executed by the node, a) terminate execution of the output script, and b) not to invalidate the transaction based only on the inclusion of the termination opcode in the output script. The protocol is also configured to disallow any instance of the termination opcode from being included in an input script of the transaction, said disallowing comprising the node at least invalidating the transaction if any instance of the termination opcode is included in the input script.
    Type: Grant
    Filed: April 23, 2020
    Date of Patent: July 23, 2024
    Assignee: nChain Licensing AG
    Inventors: Chloe Tartan, Bassem Ammar, Jack Davies, Jad Wahab, Wei Zhang, Owen Vaughan, Craig Wright
  • Patent number: 12028453
    Abstract: A computer-implemented method of partitioning a blockchain network into shards is disclosed. The method comprises identifying a parent blockchain transaction, the parent transaction defined by an output which corresponds to an input of a child blockchain transaction, and allocating the parent transaction and the child transaction to the same shard.
    Type: Grant
    Filed: April 24, 2019
    Date of Patent: July 2, 2024
    Assignee: nChain Licensing AG
    Inventors: Dean Kramer, Martin Sewell, Bassem Ammar
  • Publication number: 20240154807
    Abstract: A computer-implemented method of partitioning a blockchain network into shards is disclosed. The method comprises the steps of identifying a transaction id of a blockchain transaction and allocating the transaction to a shard based on the transaction id.
    Type: Application
    Filed: November 9, 2023
    Publication date: May 9, 2024
    Inventors: Dean KRAMER, Martin SEWELL, Bassem AMMAR
  • Patent number: 11973869
    Abstract: A computer-implemented method and system is provided that maintains blocks of a blockchain across nodes of a sharded blockchain network, wherein each node is a member of one or more shards of a plurality of active shards. The method and system employ a given node that is a member of a particular subset of the plurality of active shards to generate data representing a new block of the blockchain and store the data representing the new block. Such data includes i) a list of transaction identifiers for transactions that are part of the new block and associated with the particular subset of the plurality of active shards, and/or ii) a Partial Merkle Tree for the new block.
    Type: Grant
    Filed: April 24, 2019
    Date of Patent: April 30, 2024
    Assignee: nChain Licensing AG
    Inventors: Dean Kramer, Martin Sewell, Bassem Ammar
  • Publication number: 20240103815
    Abstract: A computer-implemented method of generating blockchain transactions, wherein the method is performed by a first party and comprises: generating a first blockchain transaction, wherein the first blockchain transaction comprises a first compact script (CS), wherein the first CS is at least partly written in a high-level (HL) scripting language and comprises one or more HL functions, wherein when executed, each HL function is configured to perform an operation equivalent to a respective operation performed by one or more low-level (LL) functions of a LL scripting language, wherein the first CS is configured to perform an operation equivalent to a first expanded script (ES) written in the LL scripting language and comprising a plurality of LL functions, and wherein the first CS is smaller in storage size than the first ES; and making the first blockchain transaction available to one or more nodes of a blockchain network and/or a second party.
    Type: Application
    Filed: November 15, 2021
    Publication date: March 28, 2024
    Inventors: Wei ZHANG, Bassem AMMAR, Steven Patrick COUGHLAN