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

  • 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
  • Publication number: 20240048378
    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: July 12, 2023
    Publication date: February 8, 2024
    Inventors: Dean KRAMER, Martin SEWELL, Bassem AMMAR
  • Patent number: 11856100
    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: April 24, 2019
    Date of Patent: December 26, 2023
    Assignee: nChain Licensing AG
    Inventors: Dean Kramer, Martin Sewell, Bassem Ammar
  • 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
  • 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
  • Patent number: 11743045
    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: April 24, 2019
    Date of Patent: August 29, 2023
    Assignee: nChain Licensing AG
    Inventors: Dean Kramer, Martin Sewell, Bassem Ammar
  • Publication number: 20230231725
    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: Application
    Filed: June 3, 2021
    Publication date: July 20, 2023
    Inventors: Bassem AMMAR, Wei ZHANG, Craig Steven WRIGHT
  • Publication number: 20230036852
    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: Application
    Filed: November 20, 2020
    Publication date: February 2, 2023
    Inventors: Bassem AMMAR, Wei ZHANG, Craig Steven WRIGHT
  • Publication number: 20230021047
    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: Application
    Filed: November 6, 2020
    Publication date: January 19, 2023
    Inventors: Bassem AMMAR, Wei ZHANG, John FLETCHER
  • Publication number: 20220300257
    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: Application
    Filed: April 22, 2020
    Publication date: September 22, 2022
    Inventors: Chloe TARTAN, Bassem AMMAR, Jack DAVIES, Wei ZHANG, Owen VAUGHAN, Craig WRIGHT, Jad WAHAB
  • Publication number: 20220269810
    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: Application
    Filed: April 22, 2020
    Publication date: August 25, 2022
    Inventors: Chloe TARTAN, Bassem AMMAR, Jack DAVIES, Jad WAHAB, Wei ZHANG, Owen VAUGHAN, Craig WRIGHT
  • Publication number: 20210243007
    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: April 24, 2019
    Publication date: August 5, 2021
    Inventors: Dean KRAMER, Martin SEWELL, Bassem AMMAR
  • Publication number: 20210240733
    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: April 24, 2019
    Publication date: August 5, 2021
    Inventors: Dean KRAMER, Martin SEWELL, Bassem AMMAR
  • Publication number: 20210233065
    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: April 24, 2019
    Publication date: July 29, 2021
    Inventors: Dean KRAMER, Martin SEWELL, Bassem AMMAR
  • Publication number: 20210233074
    Abstract: A computer-implemented method for validating a blockchain transaction is disclosed. The method comprises identifying at least one shard comprising at least one UTXO referenced by at least one respective input of the transaction, transmitting the transaction to at least one member node of at least one shard, and performing a validation check on at least one input using validity data of the UTXO.
    Type: Application
    Filed: April 24, 2019
    Publication date: July 29, 2021
    Inventors: Dean KRAMER, Martin SEWELL, Bassem AMMAR
  • Publication number: 20210234665
    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: Application
    Filed: April 24, 2019
    Publication date: July 29, 2021
    Inventors: Dean KRAMER, Martin SEWELL, Bassem AMMAR