Search

KR-102962230-B1 - Event streams for sequences of events associated with the blockchain

KR102962230B1KR 102962230 B1KR102962230 B1KR 102962230B1KR-102962230-B1

Abstract

In a first aspect, the present disclosure proposes methods, devices, and systems for implementing a platform that provides a plurality of services associated with a blockchain, using a platform processor associated with an application programming interface (API) capable of receiving a client request in the HTTP (Hypertext Transfer Protocol) transmission protocol format for the service. In addition to appropriate verification of the request and/or the identity of the client, a destination address or endpoint for the requested blockchain service is determined, and at least one blockchain transaction is created based on the destination address to obtain an output script. Subsequently, the result based on the output script is transmitted to a given client in the HTTP transmission protocol format. In some aspects, the blockchain transaction is associated with an event stream implemented as a finite state machine on the blockchain. In some aspects, the blockchain transaction is created to create, modify, or terminate an event stream implemented using the blockchain, and the transaction spends the dust output of a previous transaction and/or has an unspent dust output.

Inventors

  • 미, 앤드류 제임스

Assignees

  • 엔체인 라이센싱 아게

Dates

Publication Date
20260507
Application Date
20210215
Priority Date
20200219

Claims (20)

  1. As a computer implementation method for implementing an event stream associated with a blockchain, The above method is implemented by a platform processor associated with an API (application programming interface), and the method is, A step of receiving a request from a client related to an event stream (ES) — said request is received based on the HTTP (Hypertext Transfer Protocol) transmission protocol format, said request is for creating, updating, or terminating said event stream (ES) — ; If the above request is for generating the above event stream (ES), the method is, A step of identifying an event (E n ) for the event stream in the received request as a first event for generating the event stream (ES); and The method includes the step of processing the received event (E n ) by creating a blockchain transaction that includes a first output (UTXO 0_dust ) which is a dust output, and If the above request is to update the event stream (ES) — where N is the final or maximum value for the event stream — the method, A step of determining the current length (n) of the above event stream (ES); A step of identifying an event (E n ) for the event stream in the received request as a current event for modifying the event stream (ES); The method includes the step of processing the received event (E n ) by creating a blockchain transaction, wherein the blockchain transaction is: A first input that spends dust output associated with a previous transaction for the above event stream (ES); The first transaction output (UTXO n_dust ) which is the dust output, and It includes a final transaction output (UTXO n_data ) associated with event data representing the received event (E n ), and If the above request is to terminate the above event stream (ES), the method is, A step of determining the current length (N) of the above event stream (ES); A step of identifying an event (E N ) for the event stream in the received request as a final event for terminating the stream (ES); and The method includes the step of processing the received event (E N ) by creating a blockchain transaction, wherein the blockchain transaction is: A first input that spends dust output associated with a previous transaction for the above event stream (ES); and Includes the final output (UTXO N ) associated with a digital asset that is greater than the defined dust output value, and The above method is, A step of submitting the above-generated transaction to the above-mentioned blockchain; and Includes the step of transmitting a result associated with the event stream (ES) in TX 0 to the client, wherein the result is provided based on the HTTP transmission protocol format. Computer implementation method.
  2. In Article 1, The result associated with the above event stream (ES) is as follows: - The transaction identifier of the above event (E n ) submitted to the above blockchain; - Merkle inclusion proof of the above transaction for the header of the above blockchain; - A copy of the block header containing the above transaction Includes a certificate verifying at least one of Computer implementation method.
  3. In Article 1, The above-mentioned submission step includes the step of including the generated transaction in a subsequent block associated with the blockchain to be mined, Computer implementation method.
  4. In Article 1, The blockchain transaction generated above is, Inputs associated with digital assets; and further comprising one or more change outputs associated with the above digital asset, Computer implementation method.
  5. In Paragraph 4, The above digital asset is associated with an operational float, Computer implementation method.
  6. In Article 1, A method comprising the step of identifying the event stream (ES) based on a transaction identifier associated with the blockchain transaction submitted above, Computer implementation method.
  7. In Article 1, A step comprising identifying a state associated with the event stream (ES) based on a transaction identifier associated with the blockchain transaction submitted above, Computer implementation method.
  8. In Article 1, The above event stream is used to represent a smart contract on the above blockchain, Computer implementation method.
  9. In Article 8, The above smart contract is implemented as a FSM (Finite State Machine), Computer implementation method.
  10. In Article 1, A method comprising the step of storing a copy of a log or record based on result(s) for each event of the event stream in an off-chain storage resource, Computer implementation method.
  11. As a computing device including a processor and memory, The memory comprises executable instructions that, as a result of execution by the processor, cause the device to perform a computer-implemented method as claimed in any one of claims 1 through 10, and the computing device is associated with a platform processor, Computing device.
  12. As a computer system, It includes at least one platform processor coupled to communicate with at least one client via a wireless communication network, and The at least one platform processor is associated with an application programming interface (API) endpoint for processing HTTP requests from the at least one client, and the at least one platform processor is implemented according to a computing device as claimed in claim 11. Computer system.
  13. As a computer-readable storage medium in which executable instructions are stored, The above commands are, as a result of execution by a computer processor, cause the computer to perform the method of any one of claims 1 to 10, Computer-readable storage media.
  14. delete
  15. delete
  16. delete
  17. delete
  18. delete
  19. delete
  20. delete

Description

Event streams for sequences of events associated with the blockchain The present disclosure generally relates to methods and systems for implementing a platform of one or more services associated with a distributed ledger, i.e., a blockchain, for one or more clients. In particular, the present disclosure relates to providing access to a plurality of functions and applications associated with the blockchain for one or more clients, such as the implementation of event streams or machine-readable contracts (but is not limited thereto). In this document, we use the term "blockchain" to encompass all forms of electronic, computer-based, distributed ledgers. This includes consensus-based blockchain and transaction chain technologies, permissioned and permissionless ledgers, shared ledgers, public and private blockchains, and variations thereof. Although other blockchain implementations have been proposed and developed, the most widely known application of blockchain technology is the Bitcoin ledger. While Bitcoin may be referred to herein for convenience and illustrative purposes, it should be noted that the present disclosure is not limited to use with the Bitcoin blockchain, and that alternative blockchain implementations and protocols associated with any kind of digital asset or representation of digital asset fall within the scope of the present disclosure. The terms "client," "entity," "node," "user," "sender," "recipient," "payer," and "recipient" may refer to computing or processor-based resources herein. The term "Bitcoin" herein is used to include any version or variation derived from or based on the Bitcoin protocol. The term "digital asset" may refer to any transferable asset, such as cryptocurrencies, tokens representing at least a portion of property, smart contracts, licenses—i.e., software licenses—or DRM contracts for media content. Throughout this document, the term "digital asset" is used to refer to goods associated with value, which will be understood to be transferred or provided as payment in transactions from one entity to another. A blockchain is essentially a peer-to-peer electronic ledger implemented as a computer-based, decentralized, distributed system composed of blocks of transactions. Each transaction is a data structure that encodes the transfer of control of digital assets between participants in the blockchain system and includes at least one input and at least one output. Each block contains the hash of the previous block, and blocks are chained together to create a permanent and immutable record of all transactions recorded on the blockchain since its inception. Transactions contain small programs known as scripts embedded in their inputs and outputs, which specify how and by whom the transaction's output can be accessed. On the Bitcoin platform, these scripts are written using a stack-based scripting language. For a transaction to be recorded on the blockchain, it must be "validated." Network nodes (miners) perform tasks to ensure that each transaction is valid, and invalid transactions are rejected by the network. Software clients installed on the nodes perform this validation for unspent transactions (UTXO) by executing their lock and unlock scripts. If the execution of the lock and unlock scripts evaluates to TRUE, the transaction is valid and is subsequently recorded on the blockchain. Therefore, for a transaction to be recorded on the blockchain, it must i) be validated by a first node receiving the transaction—if the transaction is validated, the node relays the transaction to other nodes in the network—ii) be added to a new block constructed by miners, and iii) be mined, that is, added to the public ledger of past transactions. It will be recognized that the nature of the work performed by miners depends on the type of consensus mechanism used to maintain the blockchain. While Proof of Work (PoW) is associated with the original Bitcoin protocol, it will be recognized that other consensus mechanisms such as Proof of Stake (PoS), Delegated Proof of Stake (DPoS), Proof of Capacity (PoC), Proof of Elapsed Time (PoET), and Proof of Authority (PoA) may be used. Different consensus mechanisms vary depending on how mining is distributed among nodes, and the odds of successfully mining a block depend on factors such as the miner's hashing power (PoW), the amount of cryptocurrency held by the miner (PoS), the amount of cryptocurrency staked for delegated miners (DPoS), the miner's ability to store a predetermined solution to a cryptographic puzzle (PoC), and the randomly assigned waiting time (PoET) for the miner. Typically, miners are provided with incentives or rewards for mining blocks. For example, the Bitcoin blockchain rewards miners with newly issued cryptocurrency (Bitcoin) and fees associated with transactions within the block (transaction fees). In the case of the Bitcoin blockchain, the amount of issued cryptocurrency decreases over time, and the incentive ultimately c