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: 20240154807Abstract: 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: ApplicationFiled: November 9, 2023Publication date: May 9, 2024Inventors: Dean KRAMER, Martin SEWELL, Bassem AMMAR
-
Patent number: 11973869Abstract: 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: GrantFiled: April 24, 2019Date of Patent: April 30, 2024Assignee: nChain Licensing AGInventors: Dean Kramer, Martin Sewell, Bassem Ammar
-
Publication number: 20240103815Abstract: 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: ApplicationFiled: November 15, 2021Publication date: March 28, 2024Inventors: Wei ZHANG, Bassem AMMAR, Steven Patrick COUGHLAN
-
Publication number: 20240048378Abstract: 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: ApplicationFiled: July 12, 2023Publication date: February 8, 2024Inventors: Dean KRAMER, Martin SEWELL, Bassem AMMAR
-
Patent number: 11856100Abstract: 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: GrantFiled: April 24, 2019Date of Patent: December 26, 2023Assignee: nChain Licensing AGInventors: Dean Kramer, Martin Sewell, Bassem Ammar
-
Publication number: 20230394063Abstract: 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: ApplicationFiled: October 12, 2021Publication date: December 7, 2023Inventors: Wei ZHANG, Bassem AMMAR, Jack Owen DAVIES, Craig Steven WRIGHT
-
Publication number: 20230388136Abstract: 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: ApplicationFiled: October 12, 2021Publication date: November 30, 2023Inventors: Wei ZHANG, Bassem AMMAR, Jack Owen DAVIES, Craig Steven WRIGHT
-
Patent number: 11743045Abstract: 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: GrantFiled: April 24, 2019Date of Patent: August 29, 2023Assignee: nChain Licensing AGInventors: Dean Kramer, Martin Sewell, Bassem Ammar
-
Publication number: 20230231725Abstract: 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 dType: ApplicationFiled: June 3, 2021Publication date: July 20, 2023Inventors: Bassem AMMAR, Wei ZHANG, Craig Steven WRIGHT
-
Publication number: 20230036852Abstract: 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: ApplicationFiled: November 20, 2020Publication date: February 2, 2023Inventors: Bassem AMMAR, Wei ZHANG, Craig Steven WRIGHT
-
Publication number: 20230021047Abstract: 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: ApplicationFiled: November 6, 2020Publication date: January 19, 2023Inventors: Bassem AMMAR, Wei ZHANG, John FLETCHER
-
Publication number: 20220300257Abstract: 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: ApplicationFiled: April 22, 2020Publication date: September 22, 2022Inventors: Chloe TARTAN, Bassem AMMAR, Jack DAVIES, Wei ZHANG, Owen VAUGHAN, Craig WRIGHT, Jad WAHAB
-
Publication number: 20220269810Abstract: 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: ApplicationFiled: April 22, 2020Publication date: August 25, 2022Inventors: Chloe TARTAN, Bassem AMMAR, Jack DAVIES, Jad WAHAB, Wei ZHANG, Owen VAUGHAN, Craig WRIGHT
-
Publication number: 20210243007Abstract: 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: ApplicationFiled: April 24, 2019Publication date: August 5, 2021Inventors: Dean KRAMER, Martin SEWELL, Bassem AMMAR
-
Publication number: 20210240733Abstract: 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: ApplicationFiled: April 24, 2019Publication date: August 5, 2021Inventors: Dean KRAMER, Martin SEWELL, Bassem AMMAR
-
Publication number: 20210233065Abstract: 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: ApplicationFiled: April 24, 2019Publication date: July 29, 2021Inventors: Dean KRAMER, Martin SEWELL, Bassem AMMAR
-
Publication number: 20210233074Abstract: 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: ApplicationFiled: April 24, 2019Publication date: July 29, 2021Inventors: Dean KRAMER, Martin SEWELL, Bassem AMMAR
-
Publication number: 20210234665Abstract: 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: ApplicationFiled: April 24, 2019Publication date: July 29, 2021Inventors: Dean KRAMER, Martin SEWELL, Bassem AMMAR