Search

JP-7856368-B2 - Block recognition

JP7856368B2JP 7856368 B2JP7856368 B2JP 7856368B2JP-7856368-B2

Inventors

  • チャン,イン
  • クラマー,ディーン

Assignees

  • エヌチェーン ライセンシング アーゲー

Dates

Publication Date
20260511
Application Date
20240507
Priority Date
20170526

Claims (14)

  1. A method performed by a computer, i) A step of receiving a first transaction at a node in the blockchain network, wherein the first transaction includes a first script specifying a set of constraints for a second transaction, ii) A step of obtaining the second transaction, wherein the second transaction includes a second script, iii) A step of verifying the second transaction by executing the first script and the second script, Includes, The node, by executing the second script, retrieves a dataset from the blockchain associated with the blockchain network, and the dataset is as follows: The block header of the aforementioned blockchain block, Transactions from the aforementioned blockchain blocks, Block header chain, Includes at least one of the following: When the set of constraints includes a first constraint that the dataset contains block headers, the verification step determines that the second transaction is valid if the block headers included in the dataset satisfy the first condition. When the set of constraints includes a second constraint that the dataset contains a predetermined transaction, the verification step determines that the second transaction is valid if the transaction contained in the dataset satisfies the second condition. A method wherein, when the set of constraints includes a third constraint that the dataset includes a predetermined block header chain, the verification step determines that the second transaction is valid if the block header chain included in the dataset satisfies the third condition .
  2. The method according to claim 1, wherein the first condition is that the block header included in the dataset has a predetermined size.
  3. The method according to claim 1, wherein the first condition is that the block header included in the dataset contains a mining difficulty value that is equal to or greater than a predetermined mining difficulty value.
  4. The method according to claim 1, wherein the first condition is that the hash of the block header included in the dataset is less than or equal to a target value calculated from the mining difficulty value included in the block header.
  5. The method according to any one of claims 1 to 4, wherein the second condition is that the Merkle root extracted from the block header associated with the transaction included in the dataset is equal to the Merkle root calculated from the predetermined transaction and the predetermined Merkle branch.
  6. The method according to any one of claims 1 to 5, wherein the set of constraints includes the first constraint and the third constraint, and the verification step determines that the second transaction is valid if the first condition and the second condition are met.
  7. The method according to claim 5, wherein the Merkle root and the Merkle branch are represented in the form of hash values.
  8. The method according to any one of claims 1 to 7, wherein the block header chain includes an ordered set of block headers, the ordered set of block headers includes a plurality of block headers, and the ordered set of block headers specifies the order associated with the plurality of block headers.
  9. The third constraint is that, for any consecutive pairs of block headers in an ordered set of block headers , the hash of the first block header in the pair of block headers is equal to the hash value stored in the second block header in the pair of block headers, and the first block header precedes the second block header in the ordered set , the method according to claim 8 .
  10. The method according to any one of claims 1 to 9 , wherein, if the third constraint is satisfied , the verification step further determines that the dataset was obtained from a public blockchain of the blockchain network.
  11. The method according to any one of claims 1 to 10 , wherein one or more properties of the blockchain network are provided to the node before the first script and the second script are executed.
  12. The method according to any one of claims 1 to 11 , wherein the first script is a lock script for the first transaction, and the second script is an unlock script for the first script.
  13. It is a system, Processor and A memory including executable instructions that cause the system to perform a method performed by a computer according to any one of claims 1 to 12 as a result of execution by the processor, A system that includes this.
  14. A non-temporary computer-readable storage medium storing executable instructions, wherein the executable instructions, as a result of being executed by the processor of a computer system, cause the computer system to perform at least one of the methods performed by a computer according to any one of claims 1 to 12 .

Description

This invention generally relates to distributed ledger technology including blockchain transactions, and more particularly to the introduction of fields from the blockchain, block header, block, and blockchain transaction into the transaction script. While not limited, this invention is particularly suitable for use in blockchain state-based transactions. In this specification, the term “blockchain” is used to include all forms of electronic, computer-based, distributed ledgers. These include consensus-based blockchain and transaction chain technologies, permissioned and permissionless ledgers, shared ledgers, and variations thereof. The most widely known application of blockchain technology is the Bitcoin ledger, but other blockchain implementations have been proposed and developed. “Bitcoin” may be referred to for convenience and illustrative purposes as a useful application of the technology described herein, but Bitcoin is only one of many applications to which the technology described herein may be applied. However, it should be noted that the present invention is not limited to use with the Bitcoin blockchain and alternative blockchain implementations and protocols, but also includes non-commercial applications that fall within the scope of the invention. For example, the technology described herein may offer the advantages of using blockchain implementations and other cryptocurrencies with restrictions similar to Bitcoin's, with respect to constraints that can be encoded within cryptocurrency transactions, regardless of whether or not a cryptocurrency exchange occurs. When used in this specification, “digital asset” is a unit of resource managed by a blockchain. A digital asset is a unit of resource managed by a blockchain. While a digital asset may be used as a cryptocurrency in some embodiments, it is assumed that a digital asset can be used in other contexts, additionally or alternatively, depending on the embodiment. It should be noted that while the present invention is applicable to the control of digital assets, it is inherently technical and usable in other contexts utilizing blockchain data structures, and does not necessarily involve the transfer of digital assets. “Digital asset” when used in this disclosure may represent one or more digital assets. For example, a transaction may have multiple inputs, each of which may represent a different digital asset. The digital asset to which control is transferred may, in this example, be a collection of multiple digital assets, and the collection itself is a digital asset. Similarly, a transaction may subdivide and/or combine these multiple inputs to produce one or more outputs. As a result, for example, the number of inputs and the number of outputs may differ. In one embodiment, the cryptocurrency is a token-based cryptocurrency. Here, each token represents a share of an asset (e.g., a share of a group), and a single transaction may contain multiple types of tokens (e.g., shares in one or more different groups). This disclosure describes technical aspects of one or more blockchain-based computer programs. A blockchain-based computer program is a machine-readable executable program recorded within a blockchain transaction. A blockchain-based computer program may include rules that can process inputs to produce a result. This result can then be used to perform an action, depending on the result. If the lock script has access to both the unlock and previous transactions, the blockchain can be used to enable highly flexible and complex blockchain-based computer programs. One area of current research is the use of blockchain-based computer programs for the implementation of "smart contracts." Unlike traditional contracts, which can be written in natural language, smart contracts are computer programs designed to automate the execution of machine-readable contract or agreement clauses. In some embodiments, interaction with a specific entity can be encoded in a specific step within a smart contract, while the smart contract can otherwise be automatically executed and self-executed. In some examples, automatic execution represents the execution of a smart contract that successfully executes to enable the transfer of a UTXO. In such examples, it should be noted that the “entity” capable of producing the transfer of a UTXO is an entity capable of generating an unlock script without being required to prove knowledge of any secret. In other words, an unlock transaction can be activated without verifying that the data source (e.g., the entity that generated the unlock transaction) has access to a cryptographic secret (e.g., a secret asymmetric key, a symmetric key, etc.). Also in such examples, self-execution represents the execution of an unlock transaction by a verification node on the blockchain network, subject to constraints. In some examples, “unlocking” a UTXO is used in a technical sense, representing the generation of an unlock transaction that refer