WO2023163415A1 - Application data blockchain storage method, and system using same - Google Patents

Application data blockchain storage method, and system using same Download PDF

Info

Publication number
WO2023163415A1
WO2023163415A1 PCT/KR2023/001638 KR2023001638W WO2023163415A1 WO 2023163415 A1 WO2023163415 A1 WO 2023163415A1 KR 2023001638 W KR2023001638 W KR 2023001638W WO 2023163415 A1 WO2023163415 A1 WO 2023163415A1
Authority
WO
WIPO (PCT)
Prior art keywords
data
blockchain
function
application
management unit
Prior art date
Application number
PCT/KR2023/001638
Other languages
French (fr)
Korean (ko)
Inventor
임태현
Original Assignee
주식회사 원유니버스
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 주식회사 원유니버스 filed Critical 주식회사 원유니버스
Publication of WO2023163415A1 publication Critical patent/WO2023163415A1/en

Links

Images

Classifications

    • AHUMAN NECESSITIES
    • A63SPORTS; GAMES; AMUSEMENTS
    • A63FCARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
    • A63F13/00Video games, i.e. games using an electronically generated display having two or more dimensions
    • A63F13/70Game security or game management aspects
    • A63F13/71Game security or game management aspects using secure communication between game devices and game servers, e.g. by encrypting game data or authenticating players
    • AHUMAN NECESSITIES
    • A63SPORTS; GAMES; AMUSEMENTS
    • A63FCARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
    • A63F13/00Video games, i.e. games using an electronically generated display having two or more dimensions
    • A63F13/70Game security or game management aspects
    • A63F13/79Game security or game management aspects involving player-related data, e.g. identities, accounts, preferences or play histories
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q30/00Commerce
    • G06Q30/02Marketing; Price estimation or determination; Fundraising
    • G06Q30/0207Discounts or incentives, e.g. coupons or rebates
    • G06Q30/0209Incentive being awarded or redeemed in connection with the playing of a video game
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • H04L67/104Peer-to-peer [P2P] networks
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/32Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
    • H04L9/3247Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials involving digital signatures

Definitions

  • the present invention relates to a blockchain storage method of application data and a system using the same.
  • the data can be stored in the blockchain to prevent forgery.
  • this creates a difference in functionality from using an existing database.
  • a typical example is the applicability of transactions.
  • the present invention has been devised to solve the above conventional problems, and an object of the present invention is to provide a method of storing application data in a blockchain that can be easily used in applications such as games.
  • an object of the present invention is to provide a system using a method of storing application data on a blockchain.
  • the blockchain storage method for application data includes a data determination step of determining target data to be stored in a block chain in an application, and a block chain storage step of storing the target data on the block chain,
  • a smart contract creation step in which a transaction management unit creates a smart contract including an initiation function, a rollback function, and a commit function based on target data, and a transaction management unit performs an initiation function for the target data to complete the transaction.
  • the initiation function execution step, the initiation function signature step in which the blockchain signature management unit signs the initiation function execution of the created smart contract, the final command sending step in which the application sends a commit request or rollback request, and the transaction management unit executes the final command It is characterized in that it includes a final command execution step of performing a commit function or a rollback function according to the function, and a final command signing step of proceeding to sign the final command execution in the transaction management unit in the block chain signature management unit.
  • the data determination step may include a mission condition completion determination step in which the success of the mission is determined when the player satisfies the completion condition of the specified mission in the game, and a reward provided online to the player is paid according to the completion of the mission. Including a reward data payment step in which doing is initiated, and a state storage step of saving the state of the player,
  • the target data determined in the data determination step may be data regarding compensation according to task completion.
  • a database storage step of storing the target data in the database may be characterized in that it further comprises.
  • the application block chain data storage method characterized in that the database storage step and the block chain storage step are bound and processed as one transaction.
  • the activation condition of the rollback function of the smart contract may be a condition in which database transaction rollback occurs during the storage step in the database.
  • the target data is data about tokens provided to players in the application, and the target data may include an owner and an amount of tokens provided.
  • the step of performing the initiation function and the step of signing the initiation function may be characterized in that the application pre-allocates the amount of tokens provided to the player.
  • the target data is data about a token used by a player as an application, and the target data may include an owner and an amount of tokens provided.
  • the step of performing the initiation function and the step of signing the initiation function may be characterized by moving a token provided from the player to the application to the application.
  • the target data is data about a non-fungible token (NFT), and the target data may be characterized as owner data and CDN data of used data.
  • NFT non-fungible token
  • FIG. 1 is a conceptual diagram of a system using a blockchain storage method of application data according to an embodiment of the present invention.
  • FIG. 2 is a flowchart illustrating a method of storing application data in a block chain according to the embodiment of FIG. 1 .
  • FIG. 3 is a conceptual diagram illustrating the operation of a system using the blockchain storage method of application data according to the embodiment of FIG. 1 .
  • FIG. 4 is a flowchart illustrating a method of storing application data in a block chain according to another embodiment of the present invention.
  • FIG. 5 is a conceptual diagram of a system using a blockchain storage method of application data according to another embodiment of the present invention.
  • FIG. 6 is a flowchart illustrating a method of storing application data in a block chain according to the embodiment of FIG. 5 .
  • FIG. 7 is a conceptual diagram showing an object of a blockchain storage system according to another embodiment of the present invention.
  • a module may mean a functional and structural combination of hardware for implementing the technical idea of the present invention and software for driving the hardware.
  • the module may refer to a predetermined code and a logical unit of hardware resources for executing the predetermined code, and does not necessarily mean a physically connected code or one type of hardware according to the present invention. can be easily deduced to the average expert in the art.
  • FIG. 1 is a conceptual diagram of a system using a blockchain storage method of application data according to an embodiment of the present invention.
  • the blockchain storage system of this embodiment includes an application 100, a transaction management unit 200, a blockchain 300, and a blockchain signature management unit 400.
  • the application 100 can be applied to any system that needs to store games or other data in the blockchain 300.
  • the blockchain storage system of this embodiment utilizes the transaction management unit 200 to use a smart contract of the blockchain in an application 100 such as a game.
  • the transaction management unit 200 when there is a request from the application 100 to store data that needs to be stored in the block chain 300, the transaction management unit 200 forms a smart contract in a form suitable for the block chain 300 with the request related to the data. let it
  • the blockchain signature management unit 400 can manage the signature for the corresponding function.
  • the blockchain signature management unit 400 may use a wallet service such as Metamask. A detailed description of the process will be given with reference to FIG. 2 .
  • FIG. 2 is a flowchart illustrating a method of storing application data in a block chain according to the embodiment of FIG. 1 .
  • the block chain storage method of application data includes a data determination step (S100) of determining target data to be stored in the block chain in the application and storing the target data on the block chain. It includes a blockchain storage step (S200).
  • data to be stored may be determined under various circumstances and conditions according to the process and logic of the application.
  • storing data in a game has been described as an example, but it can be applied to various other implementation applications as well as silk.
  • various types of information about the data to be stored in the block chain are determined. When these constraints are satisfied, it is possible to modify and apply various parts such as additional conditions, data storage format, and stored data capacity.
  • the data determined in the data determination step (S100) is stored in the block chain.
  • the characteristic of this embodiment is that the data stored in the blockchain storage step (S200) can be rolled back.
  • the blockchain storage step (S200) is described as follows.
  • a smart contract including an initiation function, a rollback function, and a commit function is created based on the target data in the transaction management unit 200 (S210).
  • the smart contract created at this time includes an initiation function to initiate data storage, a rollback function to rollback data storage, and a commit function to confirm data storage.
  • the application 100 may communicate with the transaction management unit 200 with a command requesting a start function, a rollback function, and a commit function, i.e., start, cancel, and completion of a query. Since the smart contract created by the transaction management unit 200 was created including an initiation function, a rollback function, and a commit function at the time of creation, when each request of the application 100 occurs, the transaction management unit 200 corresponds to each proceed to perform the function.
  • the transaction management unit 200 may perform an initiation function for target data to initiate a transaction (S220).
  • Initiation function execution step (S220) proceeds with the initiation of the task of storing the corresponding data in the block chain 300, and may be a criterion for transaction management.
  • the electronic signature required in this step is signed in the block chain signature management unit 400 to perform the initiation function (S230).
  • the application 100 may proceed with another process. As a result of the progress of other processes, it may be decided whether to cancel or complete the blockchain storage transaction of the data currently in progress. This is determined by subsequent processes.
  • the application 100 may send a commit request or rollback request command to the transaction management unit 200 .
  • This proceeds in the final command sending step (S240).
  • the data to be finally stored can be communicated by selecting one of a completion or cancellation command, and the transaction management unit 200 receiving such a command from the application 100 executes the command.
  • the transaction management unit 200 performs a commit function or a rollback function according to the final command, which proceeds in the final command execution steps S251 and S252.
  • the execution of the final command may be a commit execution (S251) or a rollback execution (S252).
  • the blockchain signature management unit 400 proceeds to sign the final command execution.
  • the signature for the execution of the final command may be a signature for commit execution (S261) or a signature for rollback execution (S262).
  • FIG. 3 is a conceptual diagram illustrating the operation of a system using the blockchain storage method of application data according to the embodiment of FIG. 1 .
  • the transaction management unit 200 may perform an initiation function, a commit function, and a rollback function according to the generated smart contract. Each of these functions is performed by a command transmitted from the application 100 .
  • the blockchain signature management unit 400 can proceed with signing immediately before execution of each step so that each signature can be performed more efficiently.
  • FIG. 4 is a flowchart illustrating a method of storing application data in a block chain according to another embodiment of the present invention.
  • FIG. 4 a flowchart showing an embodiment applied to a specific game application can be grasped.
  • the target data determination step (S100) is a mission condition completion determination step (S110) in which the success of the mission is determined when the player satisfies the completion conditions of the specified mission in the game (S110), and the player is provided online according to the completion of the mission. It can be embodied by including a compensation data payment step (S120) in which the payment of the reward provided is initiated and a state storage step (S130) for storing the state of the player.
  • 5 is a conceptual diagram of a system using a blockchain storage method of application data according to another embodiment of the present invention.
  • 6 is a flowchart illustrating a method of storing application data in a block chain according to the embodiment of FIG. 5 .
  • the blockchain storage system further includes a database 500 in addition to the application 100, the transaction management unit 200, the blockchain 300, and the blockchain signature management unit 400. do.
  • the database 500 can store data to be stored in parallel with the block chain 300 and complement the process of storing the block chain 300 alone.
  • the block chain storage method of this embodiment further includes a general database storage step (S300) of storing target data in a database after the data determination step (S100).
  • the step of storing in the database and the step of storing in the blockchain are bound and processed as one transaction.
  • dbTx Database. BeginTransaction();
  • contractTx Contract.BeginTransaction()
  • the processing condition of the database can be used as the activation condition of the blockchain.
  • the condition for activating the smart contract's rollback function can be a condition in which database transaction rollback occurs during the saving step to the database.
  • the system tried to save the item, but at that time, the inventory space was full and the database process was unable to save any more.
  • the item reward is not received and only the token reward is received, and the task is completed, or in the second case, the item reward is not received and the token reward is received, but the task is not completed.
  • the first is a problem because the player did not receive the reward that he was clearly supposed to receive, and the second is a problem because there may be a situation where the token reward continues to be received continuously.
  • tokenReward reward[1]
  • dbTx Database. BeginTransaction();
  • contractTx Contract.BeginTransaction()
  • task1 dbtx.AsyncExecuteProc("AddItem”, itemReward.ItemId);
  • task2 contractTx.AsyncSend("EarnToken", player, tokenReward.Amount);
  • FIG. 7 is a conceptual diagram showing an object of a blockchain storage system according to another embodiment of the present invention.
  • an example of storing data in a blockchain through a transaction management unit within an application may include three types of player token acquisition, player token use, and player NFT acquisition.
  • the first is a case of providing tokens to players due to rewards within the application.
  • the application holds an infinite number of tokens, or if there is already a limited number of issued tokens, the number of newly provided tokens can be limited or pre-allocated within the system in consideration of the limited number of issued tokens.
  • the code for the number of modules called when a player acquires a token in the game is as follows.
  • target data can be limited to data related to a token provided to a player in an application. Also, the target data is designed to include the owner and the amount of tokens offered.
  • the operation of the initiation step can be performed in the initiation function execution step and initiation function signature step.
  • the initiation function performed at this time may be a task of pre-allocating the amount of tokens provided to the player in the application.
  • the second is the case of using the player's token within the application.
  • fast processing can be performed by moving the token owned by the player into the system in advance.
  • the number of modules that are called when a user uses a token is also code.
  • signedTx ExternalWalletService. sign(userAddress , tx);
  • target data can be limited to data related to a token used as an application in a player.
  • Subject data may include the owner and amount of tokens provided.
  • the operation of the initiation step can be performed in the initiation function execution step and initiation function signature step.
  • the token provided to the application from the player may be transferred to the application.
  • NFT Non-Fungible Token
  • nftAddress signedTx. Call()
  • the target data is data on a non-fungible token (NFT), and the target data can be limited to owner data and CDN data of used data.
  • NFT non-fungible token
  • a situation in which an item cannot be logically stored such as when an inventory is full in storing data such as an item, may occur.
  • the network connection between the game server and the database momentarily fails, and the command is forcibly rolled back. This may be in an uncertain situation such as a network temporarily not being maintained due to network equipment problems or other power outages. If the network fails momentarily, the work that could not be performed can be re-executed by reconnecting to the network.
  • embodiments within the scope of the present invention include computer-readable media having or conveying computer-executable instructions or data structures stored on the computer-readable media.
  • Such computer readable media can be any available media that can be accessed by a general purpose or special purpose computer system.
  • Such computer readable media may be in the form of RAM, ROM, EPROM, CD-ROM or other optical disk storage, magnetic disk storage or other magnetic storage, or computer executable instructions, computer readable instructions or data structures. It can include a physical storage medium, such as any other medium that can be used to store or convey certain program code means in , and that can be accessed by a general purpose or special purpose computer system.
  • the present invention has been devised to solve the above conventional problems, and an object of the present invention is to provide a method of storing application data in a blockchain that can be easily used in applications such as games.
  • an object of the present invention is to provide a system using a method of storing application data on a blockchain.

Landscapes

  • Engineering & Computer Science (AREA)
  • Business, Economics & Management (AREA)
  • Computer Security & Cryptography (AREA)
  • Multimedia (AREA)
  • General Business, Economics & Management (AREA)
  • Development Economics (AREA)
  • Strategic Management (AREA)
  • Accounting & Taxation (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Finance (AREA)
  • Entrepreneurship & Innovation (AREA)
  • Game Theory and Decision Science (AREA)
  • Economics (AREA)
  • Marketing (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

The present invention comprises: a data determination step in which an application determines object data to be stored in a blockchain; and a blockchain storage step of storing the object data in the blockchain, wherein the blockchain storage step comprises: a smart contract generation step in which a transaction management unit generates, on the basis of the object data, a smart contract including an initiation function, a rollback function and a commit function; an initiation function execution step in which the transaction management unit executes the initiation function for the object data so as to initiate transaction; an initiation function signature step in which a blockchain signature management unit signs for initiation function execution of the generated smart contract; a final command transmission step in which the application transmits a commit request or a rollback request; a final command execution step in which the transaction management unit executes the commit function or the rollback function according to a final command; and a final command signature step in which the blockchain signature management unit signs for final command execution in the transaction management unit.

Description

어플리케이션 데이터의 블록체인 저장 방법 및 이를 이용하는 시스템Block chain storage method of application data and system using the same
본 발명은 어플리케이션 데이터의 블록체인 저장 방법 및 이를 이용하는 시스템에 관한 것이다.The present invention relates to a blockchain storage method of application data and a system using the same.
게임과 같은 어플리케이션에서 데이터의 토큰과 같은 데이터를 저장할 때에, 위변조를 방지하기 위해 블록체인에 데이터를 저장할 수 있다. 하지만 이것은 기존의 데이터베이스를 이용하는 것과는 기능적인 면에서 차이를 발생시킨다. 대표적인 것이 트랜잭션의 적용성이다.When storing data such as data tokens in applications such as games, the data can be stored in the blockchain to prevent forgery. However, this creates a difference in functionality from using an existing database. A typical example is the applicability of transactions.
기존의 데이터베이스 시스템은 데이터를 읽고 쓰는 일련의 과정을 트랜잭션으로 관리할 수 있다. 트랜잭션은 데이터베이스의 완결성 유지를 위해, 여러 개의 프로세스가 연이어 진행되는 경우 전체가 완결되어 진행되거나, 아니면 진행하지 못하게 한다.Existing database systems can manage a series of processes of reading and writing data as transactions. In order to maintain the integrity of the database, a transaction either completes the entire process when several processes are executed in succession, or prevents it from proceeding.
대표적인 예로는, 하나의 계좌에서 금액을 인출하고, 다른 계좌에 돈을 입금하는 경우, 앞서의 과정에서 계좌에 돈이 인출되지 않는다면, 다른 계좌에 돈을 입금하는 절차와 함께 모든 절차를 실패하도록 하여, 예금을 이체하는 과정을 트랜잭션으로 관리한다.As a typical example, when withdrawing money from one account and depositing money into another account, if the money is not withdrawn from the account in the preceding process, all procedures together with the process of depositing money into another account fail. , the process of transferring deposits is managed as a transaction.
기존의 블록체인 시스템은 데이터의 기록에서 이처럼 일련의 과정 중 일부가 실패하는 경우, 데이터가 저장되는 프로세스를 취소하는 것이 용이하지 않다. 특히, 게임과 같은 신속한 데이터의 입출력이 요구되는 어플리케이션에서, 블록체인을 적용하는 경우 이러한 트랜잭션이 필요한 데이터 처리에 결함이 발생될 수 있다.In the existing blockchain system, it is not easy to cancel the process in which data is stored when a part of a series of processes fails in the recording of data. In particular, in applications that require rapid data input and output, such as games, when blockchain is applied, defects may occur in data processing that requires such transactions.
본 발명은 상기한 종래의 문제점을 해결하기 위해 안출된 것으로, 게임과 같은 어플리케이션에서 손쉽게 사용할 수 있는, 어플리케이션 데이터의 블록체인 저장 방법을 제공하는 데 그 목적이 있다.The present invention has been devised to solve the above conventional problems, and an object of the present invention is to provide a method of storing application data in a blockchain that can be easily used in applications such as games.
또한, 본 발명은 어플리케이션 데이터의 블록체인 저장 방법을 이용하는 시스템을 제공하는 데 그 목적이 있다. In addition, an object of the present invention is to provide a system using a method of storing application data on a blockchain.
본 발명에서 제공하는 어플리케이션 데이터 블록체인 저장 방법은 어플리케이션에서 블록체인에 저장할 대상 데이터가 결정되는 데이터 결정 단계, 및 대상 데이터를 블록체인 상에 저장하는 블록체인 저장 단계를 포함하고,The blockchain storage method for application data provided by the present invention includes a data determination step of determining target data to be stored in a block chain in an application, and a block chain storage step of storing the target data on the block chain,
블록체인 저장 단계는, 트랜잭션 관리부에서, 대상 데이터를 기준으로 개시 기능, 롤백 기능, 커밋 기능을 포함하는 스마트 컨트랙트를 생성하는 스마트 컨트랙트 생성 단계, 트랜잭션 관리부에서 대상 데이터에 대한 개시 기능을 수행하여 트랜잭션을 개시하는 개시 기능 수행 단계, 블록체인 서명 관리부에서, 생성된 스마트 컨트랙트의 개시 기능 수행을 서명하는 개시 기능 서명 단계, 어플리케이션에서 커밋 요청 또는 롤백 요청 발송하는 최종 명령 발송 단계, 및 트랜잭션 관리부는 최종 명령에 따라 커밋 기능을 수행하거나 롤백 기능을 수행하는 최종 명령 수행 단계, 블록체인 서명 관리부에서, 트랜잭션 관리부에서 최종 명령 수행에 대한 서명을 진행하는 최종 명령 서명 단계를 포함하는 것을 특징으로 한다.In the blockchain storage step, a smart contract creation step in which a transaction management unit creates a smart contract including an initiation function, a rollback function, and a commit function based on target data, and a transaction management unit performs an initiation function for the target data to complete the transaction. The initiation function execution step, the initiation function signature step in which the blockchain signature management unit signs the initiation function execution of the created smart contract, the final command sending step in which the application sends a commit request or rollback request, and the transaction management unit executes the final command It is characterized in that it includes a final command execution step of performing a commit function or a rollback function according to the function, and a final command signing step of proceeding to sign the final command execution in the transaction management unit in the block chain signature management unit.
일 실시예에 있어서, 데이터 결정 단계는, 플레이어가 게임 내 지정된 임무의 완료 조건을 만족시켜 임무의 성공이 판정되는 임무 조건 완료 판정 단계, 임무의 완수에 따라 플레이어에게 온라인 상으로 제공되는 보상을 지급하는 것이 개시되는 보상 데이터 지급 단계, 및 플레이어의 상태를 저장하는 상태 저장 단계를 포함하고,In one embodiment, the data determination step may include a mission condition completion determination step in which the success of the mission is determined when the player satisfies the completion condition of the specified mission in the game, and a reward provided online to the player is paid according to the completion of the mission. Including a reward data payment step in which doing is initiated, and a state storage step of saving the state of the player,
데이터 결정 단계에서 결정되는 대상 데이터는 임무 완수에 따른 보상에 관한 데이터인 것을 특징으로 할 수 있다.The target data determined in the data determination step may be data regarding compensation according to task completion.
일 실시예에 있어서, 데이터 결정 단계 이후에, 데이터베이스에 대상 데이터가 저장되는 데이터베이스 저장 단계,를 더 포함하는 것을 특징으로 할 수 있다.In one embodiment, after the data determining step, a database storage step of storing the target data in the database, may be characterized in that it further comprises.
일 실시예에 있어서, 데이터베이스에 저장 단계 및 블록체인 저장 단계는 하나의 트랜잭션으로 바인딩되어 처리되는 것을 특징으로 하는 어플리케이션 블록체인 데이터 저장 방법.In one embodiment, the application block chain data storage method, characterized in that the database storage step and the block chain storage step are bound and processed as one transaction.
일 실시예에 있어서, 스마트 컨트랙트의 롤백 기능의 활성화 조건은 데이터베이스에 저장 단계 중 데이터베이스 트랜잭션 롤백이 발생되는 조건인 것을 특징으로 할 수 있다.In one embodiment, the activation condition of the rollback function of the smart contract may be a condition in which database transaction rollback occurs during the storage step in the database.
일 실시예에 있어서, 대상 데이터는 어플리케이션에서 플레이어에게 제공되는 토큰에 관한 데이터이며, 대상 데이터는 소유자 및 제공되는 토큰의 양을 포함하는 것을 특징으로 할 수 있다.In one embodiment, the target data is data about tokens provided to players in the application, and the target data may include an owner and an amount of tokens provided.
일 실시예에 있어서, 개시 기능 수행 단계 및 개시 기능 서명 단계에서는 어플리케이션에서 플레이어에게 제공되는 토큰의 양을 미리 할당하는 것을 특징으로 할 수 있다.In one embodiment, the step of performing the initiation function and the step of signing the initiation function may be characterized in that the application pre-allocates the amount of tokens provided to the player.
일 실시예에 있어서, 대상 데이터는 플레이어에서 어플리케이션으로 사용되는 토큰에 관한 데이터이며, 대상 데이터는 소유자 및 제공되는 토큰의 양을 포함하는 것을 특징으로 할 수 있다.In one embodiment, the target data is data about a token used by a player as an application, and the target data may include an owner and an amount of tokens provided.
일 실시예에 있어서, 개시 기능 수행 단계 및 개시 기능 서명 단계에서는 플레이어에서 어플리케이션에게 제공되는 토큰을 어플리케이션으로 이동시키는 것을 특징으로 할 수 있다.In one embodiment, the step of performing the initiation function and the step of signing the initiation function may be characterized by moving a token provided from the player to the application to the application.
일 실시예에 있어서, 대상 데이터는 대체 불가 토큰(NFT)에 관한 데이터이며, 대상 데이터는 소유자 데이터 및 사용되는 데이터의 CDN 데이터인 것을 특징으로 할 수 있다.In one embodiment, the target data is data about a non-fungible token (NFT), and the target data may be characterized as owner data and CDN data of used data.
따라서 본 발명에 따르면, 어플리케이션에서 블록체인 상에 데이터를 저장할 때에, 별도의 트랜잭션관리자를 이용하여, 데이터 저장의 롤백을 구현할 수 있게 된다. 이로 인해 잘못된 저장의 경우 미처리된 것으로 남기 때문에, 추후 프로세스를 재차 확인하여 재처리가 가능하다. 블록체인의 토큰과 같은 보상을 지급할 때에 보다 안정적인 공급이 가능하다.Therefore, according to the present invention, when an application stores data on a blockchain, it is possible to implement rollback of data storage using a separate transaction manager. Because of this, in the case of incorrect storage, it remains unprocessed, so it is possible to reprocess by rechecking the process later. A more stable supply is possible when rewards such as blockchain tokens are paid.
또한, 데이터베이스와 블록체인을 병렬적으로 처리함으로써, 데이터베이스 측에서 실패로 판정되는 경우 전체적인 트랜잭션을 모두 실패로 처리할 수 있다.In addition, by processing the database and the block chain in parallel, all transactions can be treated as failures when the database side determines failure.
또한, 스마트 컨트랙트의 개시 단계에서 블록체인 상에 데이터를 저장하는 과정에서 토큰의 이동에 관한 제한 처리나 이동 처리 등 미리 처리하여야 할 프로세스를 먼저 처리함으로써, 이후 진행되는 블록체인의 저장 단계를 효과적으로 수행하도록 할 수 있다.In addition, in the process of storing data on the blockchain at the initiation stage of the smart contract, processes to be processed in advance, such as restriction processing or transfer processing of tokens, are first processed, effectively performing the subsequent storage stage of the blockchain. can make it
도 1 은 본 발명의 일 실시예에 따른 어플리케이션 데이터의 블록체인 저장 방법을 이용하는 시스템의 개념도이다.1 is a conceptual diagram of a system using a blockchain storage method of application data according to an embodiment of the present invention.
도 2는 도 1의 실시예에 따른 어플리케이션 데이터의 블록체인 저장 방법을 나타내는 순서도이다.FIG. 2 is a flowchart illustrating a method of storing application data in a block chain according to the embodiment of FIG. 1 .
도 3은 도 1의 실시예에 따른 어플리케이션 데이터의 블록체인 저장 방법을 이용하는 시스템이 작용하는 것을 설명하는 개념도이다.FIG. 3 is a conceptual diagram illustrating the operation of a system using the blockchain storage method of application data according to the embodiment of FIG. 1 .
도 4는 본 발명의 다른 실시예에 따른 어플리케이션 데이터의 블록체인 저장 방법을 나타내는 순서도이다.4 is a flowchart illustrating a method of storing application data in a block chain according to another embodiment of the present invention.
도 5는 본 발명의 또 다른 실시예에 따른 어플리케이션 데이터의 블록체인 저장 방법을 이용하는 시스템의 개념도이다.5 is a conceptual diagram of a system using a blockchain storage method of application data according to another embodiment of the present invention.
도 6은 도 5의 실시예에 따른 어플리케이션 데이터의 블록체인 저장 방법을 나타내는 순서도이다.6 is a flowchart illustrating a method of storing application data in a block chain according to the embodiment of FIG. 5 .
도 7은 본 발명의 또 다른 실시예에 따른 블록체인 저장 시스템의 대상을 나타내는 개념도이다.7 is a conceptual diagram showing an object of a blockchain storage system according to another embodiment of the present invention.
이하, 첨부된 도면들을 참조하여 바람직한 실시예를 첨부된 도면을 참조하여 설명한다. 이 과정에서 도면에 도시된 선들의 두께나 구성요소의 크기 등은 설명의 명료성과 편의상 과장되게 도시되어 있을 수 있다. 또한, 후술되는 용어들은 본 발명에서의 기능을 고려하여 정의된 용어들로서, 이는 사용자, 운용자의 의도 또는 관례에 따라 달라질 수 있다. 그러므로, 이러한 용어들에 대한 정의는 본 명세서 전반에 걸친 내용을 토대로 내려져야 할 것이다.Hereinafter, with reference to the accompanying drawings, a preferred embodiment will be described with reference to the accompanying drawings. In this process, the thickness of lines or the size of components shown in the drawings may be exaggerated for clarity and convenience of description. In addition, terms to be described later are terms defined in consideration of functions in the present invention, which may vary according to the intention or custom of a user or operator. Therefore, definitions of these terms will have to be made based on the content throughout this specification.
본 명세서에서 모듈이라 함은, 본 발명의 기술적 사상을 수행하기 위한 하드웨어 및 상기 하드웨어를 구동하기 위한 소프트웨어의 기능적, 구조적 결합을 의미할 수 있다. 예컨대, 상기 모듈은 소정의 코드와 상기 소정의 코드가 수행되기 위한 하드웨어 리소스의 논리적인 단위를 의미할 수 있으며, 반드시 물리적으로 연결된 코드를 의미하거나, 한 종류의 하드웨어를 의미하는 것은 아님은 본 발명의 기술분야의 평균적 전문가에게는 용이하게 추론될 수 있다.In this specification, a module may mean a functional and structural combination of hardware for implementing the technical idea of the present invention and software for driving the hardware. For example, the module may refer to a predetermined code and a logical unit of hardware resources for executing the predetermined code, and does not necessarily mean a physically connected code or one type of hardware according to the present invention. can be easily deduced to the average expert in the art.
또한, 하기 실시예는 본 발명의 권리범위를 한정하는 것이 아니라 단지 예시로 제시하는 것이며, 본 기술 사상을 통해 구현되는 다양한 실시예가 있을 수 있다.In addition, the following examples do not limit the scope of the present invention, but are presented as examples only, and there may be various embodiments implemented through the technical idea.
어플리케이션 데이터의 블록체인 저장 시스템Blockchain storage system for application data
도 1 은 본 발명의 일 실시예에 따른 어플리케이션 데이터의 블록체인 저장 방법을 이용하는 시스템의 개념도이다.1 is a conceptual diagram of a system using a blockchain storage method of application data according to an embodiment of the present invention.
도 1을 참조하면, 본 실시예의 블록체인 저장 시스템은 어플리케이션(100), 트랜잭션 관리부(200), 블록체인(300) 및 블록체인 서명 관리부(400)를 포함한다.Referring to FIG. 1 , the blockchain storage system of this embodiment includes an application 100, a transaction management unit 200, a blockchain 300, and a blockchain signature management unit 400.
어플리케이션(100)은 게임이나 기타 데이터를 블록체인(300)에 저장할 필요가 있는 어떤 시스템도 적용될 수 있다. 본 실시예의 블록체인 저장 시스템은 게임과 같은 어플리케이션(100)에서 블록체인의 스마트 컨트랙트를 사용하기 위해 트랜잭션 관리부(200)를 활용한다. The application 100 can be applied to any system that needs to store games or other data in the blockchain 300. The blockchain storage system of this embodiment utilizes the transaction management unit 200 to use a smart contract of the blockchain in an application 100 such as a game.
일반적으로 블록체인의 스마트 컨트랙트를 활용하기 위해서는 별도의 데이터를 작성하고 해당 데이터에 사용자 서명을 해서 블록체인에 전송하여야 한다. 이 과정은 일반적인 데이터베이스에 비해 복잡하고 사용성이 불편하다. 특히, 게임과 같은 어플리케이션에는 빠르고 쉽게 사용하는 것이 필요하다.In general, in order to utilize a blockchain smart contract, separate data must be created, the data must be signed by a user, and transmitted to the blockchain. This process is complicated and inconvenient to use compared to general databases. In particular, applications such as games need to be fast and easy to use.
본 실시예에서는 어플리케이션(100)에서 블록체인(300)에 저장이 필요한 데이터의 저장 요청이 있는 경우, 트랜잭션 관리부(200)에서 데이터에 관련된 요청을 블록체인(300)에 적합한 형태로 스마트 컨트랙트를 형성시킨다.In this embodiment, when there is a request from the application 100 to store data that needs to be stored in the block chain 300, the transaction management unit 200 forms a smart contract in a form suitable for the block chain 300 with the request related to the data. let it
이후 필요한 요청이 발생되는 경우 블록체인 서명 관리부(400)에서 해당 기능에 대한 서명을 관리할 수 있다. 블록체인 서명 관리부(400)는 메타마스크와 같은 지갑서비스를 사용할 수 있다. 구체적인 프로세스의 설명은 도 2를 참조하여 설명한다.After that, when a necessary request is generated, the blockchain signature management unit 400 can manage the signature for the corresponding function. The blockchain signature management unit 400 may use a wallet service such as Metamask. A detailed description of the process will be given with reference to FIG. 2 .
어플리케이션 데이터의 블록체인 저장 방법Blockchain storage method of application data
도 2는 도 1의 실시예에 따른 어플리케이션 데이터의 블록체인 저장 방법을 나타내는 순서도이다.FIG. 2 is a flowchart illustrating a method of storing application data in a block chain according to the embodiment of FIG. 1 .
도 2를 참조하면, 본 실시예에 따른 실시예에 따른 어플리케이션 데이터의 블록체인 저장 방법은 어플리케이션에서 블록체인에 저장할 대상 데이터가 결정되는 데이터 결정 단계(S100) 및 대상 데이터를 블록체인 상에 저장하는 블록체인 저장 단계(S200)를 포함한다.Referring to FIG. 2, the block chain storage method of application data according to the embodiment according to the present embodiment includes a data determination step (S100) of determining target data to be stored in the block chain in the application and storing the target data on the block chain. It includes a blockchain storage step (S200).
데이터 결정 단계(S100)는 어플리케이션의 프로세스 및 로직에 따라 다양한 상황과 조건에서 저장될 데이터가 결정될 수 있다. 본 발명에서는 게임 내의 데이터를 저장하는 것을 예로 설명하였지만, 비단 이것 뿐만 아니라, 다양한 다른 구현 어플리케이션에 적용될 수 있다. 결과적으로는 데이터 결정 단계(S100)에서는 블록체인으로 저장할 데이터에 관한 각종 정보를 결정한다. 이러한 제약을 만족하는 경우 부가되는 조건, 데이터의 저장 형식, 저장되는 데이터의 용량 등 다양한 부분에 대해서는 변형하여 적용하는 것이 가능하다.In the data determination step ( S100 ), data to be stored may be determined under various circumstances and conditions according to the process and logic of the application. In the present invention, storing data in a game has been described as an example, but it can be applied to various other implementation applications as well as silk. As a result, in the data determination step (S100), various types of information about the data to be stored in the block chain are determined. When these constraints are satisfied, it is possible to modify and apply various parts such as additional conditions, data storage format, and stored data capacity.
블록체인 저장 단계(S200)에서는 데이터 결정 단계(S100)에서 결정된 데이터를 블록체인에 저장한다. 본 실시예에서의 특성은 이렇게 블록체인 저장 단계(S200)에서 저장된 데이터를 롤백이 가능하도록 구현하는 것이다. 구체적으로 블록체인 저장 단계(S200)를 설명하면 아래와 같다.In the block chain storage step (S200), the data determined in the data determination step (S100) is stored in the block chain. The characteristic of this embodiment is that the data stored in the blockchain storage step (S200) can be rolled back. Specifically, the blockchain storage step (S200) is described as follows.
블록체인 저장 단계(S200)는, 첫번째로, 트랜잭션 관리부(200)에서 대상 데이터를 기준으로 개시 기능, 롤백 기능, 커밋 기능을 포함하는 스마트 컨트랙트를 생성한다(S210). 이때에 생성되는 스마트 컨트랙트는 데이터의 저장을 개시하는 개시 기능, 데이터의 저장을 롤백 하는 롤백 기능, 데이터의 저장을 확정하는 커밋 기능을 포함한다.In the blockchain storage step (S200), first, a smart contract including an initiation function, a rollback function, and a commit function is created based on the target data in the transaction management unit 200 (S210). The smart contract created at this time includes an initiation function to initiate data storage, a rollback function to rollback data storage, and a commit function to confirm data storage.
이후에 어플리케이션(100)은 트랜잭션 관리부(200)에 쿼리의 시작, 취소, 완료인 개시 기능, 롤백 기능, 커밋 기능을 요청하는 명령으로 통신할 수 있다. 앞서 트랜잭션 관리부(200)에서 생성된 스마트 컨트랙트는 생성시에 개시 기능, 롤백 기능, 커밋 기능을 포함하여 생성되었으므로, 어플리케이션(100)의 요청이 각각 발생된 경우 트랜잭션 관리부(200)는 각각에 대응되는 기능을 수행하는 것을 진행한다.Thereafter, the application 100 may communicate with the transaction management unit 200 with a command requesting a start function, a rollback function, and a commit function, i.e., start, cancel, and completion of a query. Since the smart contract created by the transaction management unit 200 was created including an initiation function, a rollback function, and a commit function at the time of creation, when each request of the application 100 occurs, the transaction management unit 200 corresponds to each proceed to perform the function.
먼저, 트랜잭션 관리부(200)에서 대상 데이터에 대한 개시 기능을 수행하여 트랜잭션을 개시하는 개시 기능 수행 단계(S220)을 진행할 수 있다. 개시 기능 수행 단계(S220)는 블록체인(300)에 해당 데이터를 저장하는 작업의 개시를 진행하며, 트랜잭션 관리의 기준이 될 수 있다.First, the transaction management unit 200 may perform an initiation function for target data to initiate a transaction (S220). Initiation function execution step (S220) proceeds with the initiation of the task of storing the corresponding data in the block chain 300, and may be a criterion for transaction management.
트랜잭션 관리부(200)에서 개시 기능을 수행하는 경우에는 이 단계에서 필요한 전자 서명을 블록체인 서명 관리부(400)에서 개시 기능 수행을 서명한다(S230).When the transaction management unit 200 performs the initiation function, the electronic signature required in this step is signed in the block chain signature management unit 400 to perform the initiation function (S230).
개시 기능 수행 단계(S220) 및 개시 기능 수행 서명 단계(S230)가 진행된 이후에는, 어플리케이션(100)은 다른 프로세스를 진행할 수 있다. 다른 프로세스의 진행에 따른 결과로 인하여, 현재 진행되는 데이터의 블록체인 저장 트랜잭션을 취소할지 완료할지를 결정할 수 있다. 이것은 이후 진행되는 프로세스에 의해 결정된다.After the initiation function execution step (S220) and the initiation function execution signature step (S230) are performed, the application 100 may proceed with another process. As a result of the progress of other processes, it may be decided whether to cancel or complete the blockchain storage transaction of the data currently in progress. This is determined by subsequent processes.
이후 어플리케이션(100)에서는 트랜잭션 관리부(200)에게 커밋 요청 또는 롤백 요청 명령을 발송할 수 있다. 이것은 최종 명령 발송 단계(S240)에서 진행된다. 최종적으로 저장할 데이터는 완료 또는 취소의 명령 중 하나를 선택하여 통신할 수 있으며, 이러한 명령을 어플리케이션(100)으로부터 전달받은 트랜잭션 관리부(200)는 전달 받은 명령을 수행한다.Afterwards, the application 100 may send a commit request or rollback request command to the transaction management unit 200 . This proceeds in the final command sending step (S240). The data to be finally stored can be communicated by selecting one of a completion or cancellation command, and the transaction management unit 200 receiving such a command from the application 100 executes the command.
트랜잭션 관리부(200)는 최종 명령에 따라 커밋 기능을 수행하거나 롤백 기능을 수행하며, 이것은 최종 명령 수행 단계(S251, S252)에서 진행된다. 최종 명령의 수행은 커밋 실행(S251) 또는 롤백 실행(S252)이 될 수 있다.The transaction management unit 200 performs a commit function or a rollback function according to the final command, which proceeds in the final command execution steps S251 and S252. The execution of the final command may be a commit execution (S251) or a rollback execution (S252).
앞서와 마찬가지로, 최종 명령 서명 단계(S261, S262)에서는 트랜잭션 관리부(200)에서 각 기능을 수행하기 직전에, 블록체인 서명 관리부(400)에서, 최종 명령 수행에 대한 서명을 진행한다. 최종 명령 수행에 대한 서명은 커밋 실행에 대한 서명(S261) 또는 롤백 실행에 대한 서명(S262)이 진행될 수 있다.As before, in the final command signing step (S261, S262), immediately before performing each function in the transaction management unit 200, the blockchain signature management unit 400 proceeds to sign the final command execution. The signature for the execution of the final command may be a signature for commit execution (S261) or a signature for rollback execution (S262).
도 3은 도 1의 실시예에 따른 어플리케이션 데이터의 블록체인 저장 방법을 이용하는 시스템이 작용하는 것을 설명하는 개념도이다.FIG. 3 is a conceptual diagram illustrating the operation of a system using the blockchain storage method of application data according to the embodiment of FIG. 1 .
도 3을 참조하면, 트랜잭션 관리부(200)는 생성된 스마트 컨트랙트에 의해서, 개시 기능, 커밋 기능, 롤백 기능을 수행할 수 있다. 이러한 각 기능은 어플리케이션(100)으로부터 전달받은 명령에 의해 수행된다. Referring to FIG. 3 , the transaction management unit 200 may perform an initiation function, a commit function, and a rollback function according to the generated smart contract. Each of these functions is performed by a command transmitted from the application 100 .
한편, 각 단계에서의 수행을 블록체인(300)에 반영하기 위해서는 별도의 서명을 진행해야 하는데, 블록체인 서명 관리부(400)는 각 단계의 수행 직전에 스마트 컨트랙트의 수행에 대한 서명을 진행한다. On the other hand, in order to reflect the performance of each step to the blockchain 300, a separate signature must be performed, and the blockchain signature management unit 400 proceeds to sign the smart contract immediately before performing each step.
블록체인 서명 관리부(400)는 트랜잭션 관리부(200)에서 스마트 컨트랙트의 기능을 수행할 때에 각각의 서명을 하는 것을 보다 효율적으로 진행할 수 있도록 각 단계의 실행 직전에서 서명을 진행하도록 할 수 있다.When the transaction management unit 200 performs the function of the smart contract, the blockchain signature management unit 400 can proceed with signing immediately before execution of each step so that each signature can be performed more efficiently.
게임 내에서 진행 프로세스Progression process within the game
도 4는 본 발명의 다른 실시예에 따른 어플리케이션 데이터의 블록체인 저장 방법을 나타내는 순서도이다.4 is a flowchart illustrating a method of storing application data in a block chain according to another embodiment of the present invention.
도 4를 참조하면, 구체적인 게임 어플리케이션에 적용된 실시예를 나타내는 순서도를 파악할 수 있다. Referring to FIG. 4 , a flowchart showing an embodiment applied to a specific game application can be grasped.
게임 어플리케이션에 적용되는 경우 대상 데이터 결정 단계(S100)는 플레이어가 게임 내 지정된 임무의 완료 조건을 만족시켜 임무의 성공이 판정되는 임무 조건 완료 판정 단계(S110), 임무의 완수에 따라 플레이어에게 온라인 상으로 제공되는 보상을 지급하는 것이 개시되는 보상 데이터 지급 단계(S120) 및 플레이어의 상태를 저장하는 상태 저장 단계(S130)를 포함하는 것으로 구체화 될 수 있다.When applied to a game application, the target data determination step (S100) is a mission condition completion determination step (S110) in which the success of the mission is determined when the player satisfies the completion conditions of the specified mission in the game (S110), and the player is provided online according to the completion of the mission. It can be embodied by including a compensation data payment step (S120) in which the payment of the reward provided is initiated and a state storage step (S130) for storing the state of the player.
퀘스트 완료 조건이 파악되는 경우(S110), 아이템이나 코인 등과 같은 보상데이터를 지급(S120)하고, 이러한 보상 데이터를 각 개별 플레이어의 상태 데이터로 저장(S130)한다. 종래의 기술에서는 개별 플레이어의 상태 데이터로 저장(S130)하는 경우 일반적인 데이터베이스에 저장할 수 있는데, 이 때에는 자체적인 데이터베이스로 인해 트랜잭션 관리가 가능하다.When the quest completion conditions are identified (S110), reward data such as items or coins is paid (S120), and these reward data are stored as state data for each individual player (S130). In the prior art, when saving as individual player's state data (S130), it can be stored in a general database, and in this case, transaction management is possible due to its own database.
한편, 개별 플레이어의 상태 데이터로 저장(S130)하는 경우 블록체인에 저장(S200)하는 프로세스를 포함하는 본 실시예의 경우, 블록체인의 특징 상 데이터의 저장에 작업이 실시간으로 동기화 되어 진행되지는 않으므로, 트랜잭션을 위한 추가적인 관리가 필요하게 된다.On the other hand, in the case of this embodiment, which includes the process of storing in the blockchain (S200) in case of saving as individual player state data (S130), due to the characteristics of the blockchain, the operation is not synchronized with the data storage in real time. , additional management for transactions is required.
데이터베이스와 블록체인의 병렬 구성Parallel configuration of database and blockchain
도 5는 본 발명의 또 다른 실시예에 따른 어플리케이션 데이터의 블록체인 저장 방법을 이용하는 시스템의 개념도이다. 도 6은 도 5의 실시예에 따른 어플리케이션 데이터의 블록체인 저장 방법을 나타내는 순서도이다.5 is a conceptual diagram of a system using a blockchain storage method of application data according to another embodiment of the present invention. 6 is a flowchart illustrating a method of storing application data in a block chain according to the embodiment of FIG. 5 .
도 5를 참조하면, 본 실시예에 따른 블록체인 저장 시스템은 어플리케이션(100), 트랜잭션 관리부(200), 블록체인(300), 블록체인 서명 관리부(400)에 더하여, 데이터베이스(500)를 더 포함한다. 데이터베이스(500)는 저장되는 데이터를 블록체인(300)과 병렬적으로 저장하고, 블록체인(300) 단독으로 저장되는 프로세스를 보완할 수 있다.Referring to FIG. 5, the blockchain storage system according to this embodiment further includes a database 500 in addition to the application 100, the transaction management unit 200, the blockchain 300, and the blockchain signature management unit 400. do. The database 500 can store data to be stored in parallel with the block chain 300 and complement the process of storing the block chain 300 alone.
도 6을 참조하면, 본 실시예의 블록체인 저장 방법은 데이터 결정 단계(S100) 이후에, 데이터베이스에 대상 데이터가 저장되는 일반 데이터베이스 저장 단계(S300)를 더 포함한다. 데이터베이스에 저장 단계 및 블록체인 저장 단계는 하나의 트랜잭션으로 바인딩되어 처리된다.Referring to FIG. 6 , the block chain storage method of this embodiment further includes a general database storage step (S300) of storing target data in a database after the data determination step (S100). The step of storing in the database and the step of storing in the blockchain are bound and processed as one transaction.
이를 수도 코드로 표현하면 아래와 같다.Expressing this in capital code is as follows.
dbTx = Database.BeginTransaction();dbTx = Database. BeginTransaction();
contractTx = Contract.BeginTransaction();contractTx = Contract.BeginTransaction();
try {try {
dbTx.Commit(); dbTx. Commit();
contractTx.Commit(); contractTx. Commit();
} catch {} catch {
dbTx.Rollback(); dbTx. Rollback();
contractTx.Rollback(); contractTx. Rollback();
}}
블록체인과 데이터베이스를 하나의 트랜잭션으로 바인딩할 때에, 데이터베이스의 처리 조건을 블록체인의 활성화 조건으로 사용할 수 있다. 스마트 컨트랙트의 롤백 기능의 활성화 조건은 데이터베이스에 저장 단계 과정에서 데이터베이스 트랜잭션 롤백이 발생되는 조건이 될 수 있다.When binding the blockchain and the database as a single transaction, the processing condition of the database can be used as the activation condition of the blockchain. The condition for activating the smart contract's rollback function can be a condition in which database transaction rollback occurs during the saving step to the database.
예를 들어, 다음의 상황을 가정할 수 있다. 보상으로 플레이어가 착용할 수 있는 아이템과 토큰을 받은 후, 시스템에서 아이템을 저장하려고 하였으나, 그때 마침 인벤토리 공간이 다 채워져서 데이터베이스 프로세스에서 더 이상의 저장을 할 수 없는 상태가 되었다. For example, the following situation can be assumed. After receiving an item and a token that the player can wear as a reward, the system tried to save the item, but at that time, the inventory space was full and the database process was unable to save any more.
이 경우 첫번째는 아이템 보상은 받지 못하고 토큰 보상만 받고 작업이 완료되거나, 두번째는 아이템 보상은 받지 못하고 토큰 보상만 받고 작업이 완료되지 못하는 경우가 발생된다. 첫번째는 플레이어가 명백하게 받기로 한 보상을 받지 못하였기 때문에 문제이고, 두번째는 역시 지속해서 토큰보상을 계속 받게 되는 상황이 생길 수 있기 때문에 문제가 된다.In this case, in the first case, the item reward is not received and only the token reward is received, and the task is completed, or in the second case, the item reward is not received and the token reward is received, but the task is not completed. The first is a problem because the player did not receive the reward that he was clearly supposed to receive, and the second is a problem because there may be a situation where the token reward continues to be received continuously.
따라서 본 실시예에서는 이러한 과정을 아이템 보상을 받지 못하고, 토큰 보상도 받지 못한 채 작업은 완료되지 않는 것으로 전환하여야 한다. 이를 위해서는 데이터베이스 프로세스와 블록체인 프로세스가 트랜잭션으로 묶여야 한다.Therefore, in this embodiment, it is necessary to convert this process to the one in which the task is not completed without item compensation and token compensation. To do this, the database process and the blockchain process must be tied together as a transaction.
이를 수도 코드로 표현하면 아래와 같다.Expressing this in capital code is as follows.
UpdateData(player, rewards) {UpdateData(player, rewards) {
itemReward = reward[0]; itemReward = reward[0];
tokenReward = reward[1]; tokenReward = reward[1];
dbTx = Database.BeginTransaction(); dbTx = Database. BeginTransaction();
contractTx = Contract.BeginTransaction(); contractTx = Contract.BeginTransaction();
try { try {
task1 = dbtx.AsyncExecuteProc("AddItem", itemReward.ItemId); task1 = dbtx.AsyncExecuteProc("AddItem", itemReward.ItemId);
task2 = contractTx.AsyncSend("EarnToken", player, tokenReward.Amount); task2 = contractTx.AsyncSend("EarnToken", player, tokenReward.Amount);
WaitAll(task1, task2); WaitAll(task1, task2);
dbTx.Commit(); dbTx. Commit();
contractTx.Commit(); contractTx. Commit();
} catch { } catch {
dbTx.Rollback(); dbTx. Rollback();
contractTx.Commit(); contractTx. Commit();
} }
}}
트랜잭션 관리자의 각 모듈별 구현Implementation of each module of transaction manager
도 7은 본 발명의 또 다른 실시예에 따른 블록체인 저장 시스템의 대상을 나타내는 개념도이다.7 is a conceptual diagram showing an object of a blockchain storage system according to another embodiment of the present invention.
도 7을 참조하면, 어플리케이션 내에서 트랜잭션 관리부를 통해 블록체인에 데이터를 저장하는 것의 예시는 플레이어의 토큰 획득, 플레이어의 토큰 사용, 플레이어의 NFT 획득의 세 가지를 포함할 수 있다.Referring to FIG. 7 , an example of storing data in a blockchain through a transaction management unit within an application may include three types of player token acquisition, player token use, and player NFT acquisition.
첫번째는 어플리케이션 내에서 보상 등으로 인해 플레이어에게 토큰을 제공하는 경우이다. 원칙적으로 어플리케이션은 무한개수의 토큰을 보유하는 것으로 가정하거나, 이미 제한된 발행 개수가 있는 경우에는 이 발행량의 제한을 고려하여 신규로 제공되는 토큰의 개수를 시스템 내에서 한정하거나 미리 할당해 둘 수 있다.The first is a case of providing tokens to players due to rewards within the application. In principle, it is assumed that the application holds an infinite number of tokens, or if there is already a limited number of issued tokens, the number of newly provided tokens can be limited or pre-allocated within the system in consideration of the limited number of issued tokens.
플레이어가 토큰을 게임 안에서 획득하였을 때에 호출되는 모듈의 수도 코드는 아래와 같다.The code for the number of modules called when a player acquires a token in the game is as follows.
EarnToken {EarnToken {
Begin(user, amount) { Begin(user, amount) {
this.amount = amount; this. amount = amount;
this.user = user; this. user = user;
} }
Commit() { Commit() {
contract = SmartContract.Get(TOKEN_CONTRACT_ADDRESS); contract = SmartContract.Get(TOKEN_CONTRACT_ADDRESS);
userAddress = GetAddress(this.user); userAddress = GetAddress(this.user);
tx = contract.TransferTo(userAddress, this.amount); tx = contract.TransferTo(userAddress, this.amount);
signedTx = InternalWallet.Sign(tx); signedTx = InternalWallet. Sign(tx);
signedTx.Call(); signedTx. Call();
Reply(SUCCESS); Reply(SUCCESS);
} }
Rollback() { Rollback() {
Reply(FAIL); Reply(FAIL);
} }
}}
본 발명의 블록체인 저장 방법에 적용될 경우, 대상 데이터는 어플리케이션에서 플레이어에게 제공되는 토큰에 관한 데이터로 한정할 수 있다. 또한 대상 데이터는 소유자 및 제공되는 토큰의 양을 포함하도록 설계된다.When applied to the blockchain storage method of the present invention, target data can be limited to data related to a token provided to a player in an application. Also, the target data is designed to include the owner and the amount of tokens offered.
본 발명의 블록체인 저장 방법의 프로세스 내에서 개시 기능 수행 단계 및 개시 기능 서명 단계에서 시작 단계의 작업을 진행할 수 있다. 이때에 진행되는 개시 기능은 어플리케이션에서 플레이어에게 제공되는 토큰의 양을 미리 할당하는 작업이 될 수 있다.Within the process of the blockchain storage method of the present invention, the operation of the initiation step can be performed in the initiation function execution step and initiation function signature step. The initiation function performed at this time may be a task of pre-allocating the amount of tokens provided to the player in the application.
두번째는 어플리케이션 내에서 플레이어가 가진 토큰을 사용하는 경우이다. 플레이어가 가진 토큰을 사용하는 경우에는 플레이어가 보유한 토큰을 시스템 내에 미리 이동시켜 둠으로써 빠른 처리를 진행할 수 있고, 트랜잭션이 실패하면 다시 플레이어에게 돌려주고, 성공하는 경우에는 시스템이 계속 보유한다.The second is the case of using the player's token within the application. In the case of using a token owned by a player, fast processing can be performed by moving the token owned by the player into the system in advance.
사용자가 토큰을 사용할 때 호출되는 모듈의 수도 코드이다The number of modules that are called when a user uses a token is also code.
ConsumeToken {ConsumeToken {
Begin(user, amount)} { Begin(user, amount)} {
this.amount = amount; this. amount = amount;
this.user = user; this. user = user;
contract = SmartContract.Get(TOKEN_CONTRACT_ADDRESS); contract = SmartContract.Get(TOKEN_CONTRACT_ADDRESS);
tx = tokenContract.TransferTo(GetGameAddress(), this.amount); tx = tokenContract.TransferTo(GetGameAddress(), this.amount);
userAddress = GetAddress(this.user); userAddress = GetAddress(this.user);
signedTx = ExternalWalletService.sign(userAddress , tx); signedTx = ExternalWalletService. sign(userAddress , tx);
signedTx.Call(); signedTx. Call();
} }
Commit(user) { Commit(user) {
Reply(SUCCESS); Reply(SUCCESS);
} }
Rollback(user) { Rollback(user) {
contract = SmartContract.Get(TOKEN_CONTRACT_ADDRESS); contract = SmartContract.Get(TOKEN_CONTRACT_ADDRESS);
userAddress = GetAddress(this.user); userAddress = GetAddress(this.user);
tx = tokenContract.TransferTo(userAddress, this.amount); tx = tokenContract.TransferTo(userAddress, this.amount);
signedTx = InternalWallet.Sign(tx) signedTx = InternalWallet. Sign(tx)
signedTx.Call(); signedTx. Call();
Reply(FAIL); Reply(FAIL);
} }
}}
본 발명의 블록체인 저장 방법에 적용될 경우, 대상 데이터는 플레이어에서 어플리케이션으로 사용되는 토큰에 관한 데이터로 한정할 수 있다. 대상 데이터는 소유자 및 제공되는 토큰의 양을 포함할 수 있다.When applied to the blockchain storage method of the present invention, target data can be limited to data related to a token used as an application in a player. Subject data may include the owner and amount of tokens provided.
본 발명의 블록체인 저장 방법의 프로세스 내에서 개시 기능 수행 단계 및 개시 기능 서명 단계에서 시작 단계의 작업을 진행할 수 있다. 개시 기능 수행 단계 및 개시 기능 서명 단계에서는 플레이어에서 어플리케이션에게 제공되는 토큰을 어플리케이션으로 이동시킬 수 있다.Within the process of the blockchain storage method of the present invention, the operation of the initiation step can be performed in the initiation function execution step and initiation function signature step. In the starting function execution step and the starting function signing step, the token provided to the application from the player may be transferred to the application.
세번째는 사용자가 NFT(Non-Fungible Token; 대체 불가 토큰)을 획득하는 경우이다. NFT는 데이터와 컨트랙트 부분 두가지로 구성되는데, NFT 가 성공적으로 만들어지면 CDN 에 데이터를 업로드한다. 이때 NFT에 연관된 주소를 가지게 하기 위해서 NFT 의 컨트랙트 주소를 CDN 에 힌트로 제공한다The third is when a user acquires a Non-Fungible Token (NFT). NFT consists of two parts: data and contract. When the NFT is created successfully, the data is uploaded to the CDN. At this time, in order to have an address related to the NFT, the contract address of the NFT is provided as a hint to the CDN.
다음은 플레이어가 NFT를 획득할 때 호출되는 모듈의 수도 코드이다.The following is the code for the number of modules called when a player acquires an NFT.
CreateNFT {CreateNFT {
Begin(user, data) { Begin(user, data) {
this.data = data; this. data = data;
this.user = user; this. user = user;
} }
Commit(user) { Commit(user) {
contract = SmartContract.Get(NFT_FACTORY_CONTRACT); contract = SmartContract.Get(NFT_FACTORY_CONTRACT);
// NFT // NFTs
userAddress = GetAddress(this.user); userAddress = GetAddress(this.user);
tx = contract.MintTo(this.url, userAddress); tx = contract.MintTo(this.url, userAddress);
signedTx = InternalWallet.Sign(tx) signedTx = InternalWallet. Sign(tx)
nftAddress = signedTx.Call(); nftAddress = signedTx. Call();
// CDN // CDN
this.url = CDN.Upload(nftAddress, this.data); this.url = CDN.Upload(nftAddress, this.data);
Reply(SUCCESS, nftAddress); Reply(SUCCESS, nftAddress);
} }
Rollback(user) { Rollback(user) {
Reply(FAIL); Reply(FAIL);
} }
}}
본 발명의 블록체인 저장 방법에 적용될 경우, 대상 데이터는 대체 불가 토큰(NFT)에 관한 데이터이며, 대상 데이터는 소유자 데이터 및 사용되는 데이터의 CDN 데이터인 것으로 한정할 수 있다. When applied to the block chain storage method of the present invention, the target data is data on a non-fungible token (NFT), and the target data can be limited to owner data and CDN data of used data.
블록체인 상의 롤백이 필요한 다양한 예시Various examples requiring rollback on the blockchain
도면에서는 도시되지 않았지만, 데이터를 블록체인상에 저장하는 경우 롤백처리가 필요한 사례는 아래와 같은 상황이 발생될 수 있다.Although not shown in the drawing, the following situations may occur in cases where rollback processing is required when data is stored on the blockchain.
대표적인 사례로는 아이템과 같은 데이터를 저장하는 데에 있어서 인벤토리가 가득찬 경우 등과 같이 아이템을 논리적으로 저장할 수 없는 상황이 발행될 수 있다. 이외의 플레이어의 유저가 게임 내에서 사망 된 경우와 같은 불활성 상태에 빠진 경우가 있을 수 있다. 이러한 경우 보상 지급이 확정된 데이터의 저장에 대해 롤백을 실시할 수 있다.As a typical example, a situation in which an item cannot be logically stored, such as when an inventory is full in storing data such as an item, may occur. There may be cases where other players' users are in an inactive state such as when they die in the game. In this case, rollback can be performed on the storage of data for which compensation payment has been confirmed.
이외의 사례로는 게임서버와 데이터베이스와의 네트워크 연결이 순간적으로 실패에서 해당 명령이 강제 롤백 된 상황이 발생될 수 있다. 이것은 네트워크의 장비적 문제로 인해 네트워크가 일시적으로 유지되지 못하거나, 기타 정전 등과 같은 불확실한 상황에 처할 수 있다. 네트워크가 순간적으로 실패한 경우에는 네트워크에 재 연결된 수 수행하지 못했던 작업을 재 실시 할 수 있다.In other cases, the network connection between the game server and the database momentarily fails, and the command is forcibly rolled back. This may be in an uncertain situation such as a network temporarily not being maintained due to network equipment problems or other power outages. If the network fails momentarily, the work that could not be performed can be re-executed by reconnecting to the network.
뿐만 아니라, 게임 운영 중에 발견되는 프로그램상의 버그가 있을 수 있다. 수시로 업데이트 되고, 프로그램의 구조가 변화될 수 있는 환경에서는 시스템상의 오류는 언제든지 발생될 수 있으며, 이로 인한 보상처리 문제는 처리 가능한 범위 내로 끌어들여야 하는 문제이다.In addition, there may be programmatic bugs found during game operation. In an environment where it is frequently updated and the structure of the program can be changed, errors in the system can occur at any time, and the problem of compensation processing due to this is a problem that must be brought within a manageable range.
마지막으로, 악성 유저에 의한 해킹 프로그램과 같은 치팅 프로그램의 사용 가능성이 있다. 이 경우에도 해킹 프로그램이 감지 된 경우 롤백처리를 통해 제공되었던 토큰 등의 보상을 회수해야 할 필요성이 있다.Finally, there is the possibility of using cheating programs such as hacking programs by malicious users. Even in this case, when a hacking program is detected, there is a need to recover rewards such as tokens provided through rollback processing.
한편, 본 발명의 범위 내의 실시 예들은 컴퓨터 실행가능 명령어 또는 컴퓨터 판독가능 매체에 저장된 데이터 구조를 가지거나 전달하는 컴퓨터 판독가능 매체를 포함한다. 이러한 컴퓨터 판독가능 매체는, 범용 또는 특수 목적의 컴퓨터 시스템에 의해 액세스 가능한 임의의 이용 가능한 매체일 수 있다. 예를 들어, 이러한 컴퓨터 판독 가능 매체는 RAM, ROM, EPROM, CD-ROM 또는 기타 광디스크 저장장치, 자기 디스크 저장장치 또는 기타 자기 저장장치, 또는 컴퓨터 실행가능 명령어, 컴퓨터 판독가능 명령어 또는 데이터 구조의 형태로 된 소정의 프로그램 코드 수단을 저장하거나 전달하는 데에 이용될 수 있고, 범용 또는 특수 목적 컴퓨터 시스템에 의해 액세스 될 수 있는 임의의 기타 매체와 같은 물리적 저장 매체를 포함할 수 있다. Meanwhile, embodiments within the scope of the present invention include computer-readable media having or conveying computer-executable instructions or data structures stored on the computer-readable media. Such computer readable media can be any available media that can be accessed by a general purpose or special purpose computer system. For example, such computer readable media may be in the form of RAM, ROM, EPROM, CD-ROM or other optical disk storage, magnetic disk storage or other magnetic storage, or computer executable instructions, computer readable instructions or data structures. It can include a physical storage medium, such as any other medium that can be used to store or convey certain program code means in , and that can be accessed by a general purpose or special purpose computer system.
이상에서 설명된 본 발명의 일 실시 예는 예시적인 것에 불과하며, 본 발명이 속한 기술분야의 통상의 지식을 가진 자라면 이로부터 다양한 변형 및 균등한 타 실시 예가 가능하다는 점을 잘 알 수 있을 것이다. 그러므로 본 발명은 상기의 상세한 설명에서 언급되는 형태로만 한정되는 것은 아님을 잘 이해할 수 있을 것이다. 따라서 본 발명의 진정한 기술적 보호 범위는 첨부된 특허청구범위의 기술적 사상에 의해 정해져야 할 것이다. 또한, 본 발명은 첨부된 청구범위에 의해 정의되는 본 발명의 정신과 그 범위 내에 있는 모든 변형물과 균등물 및 대체물을 포함하는 것으로 이해되어야 한다.One embodiment of the present invention described above is only exemplary, and those skilled in the art will appreciate that various modifications and equivalent other embodiments are possible therefrom. . Therefore, it will be well understood that the present invention is not limited to the forms mentioned in the detailed description above. Therefore, the true technical protection scope of the present invention should be determined by the technical spirit of the appended claims. It is also to be understood that the present invention includes all modifications, equivalents and alternatives within the spirit and scope of the present invention as defined by the appended claims.
본 발명은 상기한 종래의 문제점을 해결하기 위해 안출된 것으로, 게임과 같은 어플리케이션에서 손쉽게 사용할 수 있는, 어플리케이션 데이터의 블록체인 저장 방법을 제공하는 데 그 목적이 있다.The present invention has been devised to solve the above conventional problems, and an object of the present invention is to provide a method of storing application data in a blockchain that can be easily used in applications such as games.
또한, 본 발명은 어플리케이션 데이터의 블록체인 저장 방법을 이용하는 시스템을 제공하는 데 그 목적이 있다. In addition, an object of the present invention is to provide a system using a method of storing application data on a blockchain.

Claims (10)

  1. 어플리케이션에서 블록체인에 저장할 대상 데이터가 결정되는 데이터 결정 단계; 및 상기 대상 데이터를 블록체인 상에 저장하는 블록체인 저장 단계를 포함하고,A data determination step in which target data to be stored in the blockchain is determined in the application; And a blockchain storage step of storing the target data on a blockchain,
    상기 블록체인 저장 단계는,The block chain storage step,
    트랜잭션 관리부에서, 상기 대상 데이터를 기준으로 개시 기능, 롤백 기능, 커밋 기능을 포함하는 스마트 컨트랙트를 생성하는 스마트 컨트랙트 생성 단계;In a transaction management unit, a smart contract creation step of creating a smart contract including an initiation function, a rollback function, and a commit function based on the target data;
    상기 트랜잭션 관리부에서 상기 대상 데이터에 대한 상기 개시 기능을 수행하여 트랜잭션을 개시하는 개시 기능 수행 단계;performing an initiating function of initiating a transaction by performing the initiating function for the target data in the transaction management unit;
    블록체인 서명 관리부에서, 상기 생성된 스마트 컨트랙트의 개시 기능 수행을 서명하는 개시 기능 서명 단계;An initiation function signing step of signing the initiation function of the generated smart contract in a blockchain signature management unit;
    상기 어플리케이션에서 커밋 요청 또는 롤백 요청 발송하는 최종 명령 발송 단계; 및Sending a final command to send a commit request or rollback request from the application; and
    상기 트랜잭션 관리부는 상기 최종 명령에 따라 상기 커밋 기능을 수행하거나 상기 롤백 기능을 수행하는 최종 명령 수행 단계;a final command execution step of performing the commit function or the rollback function according to the final command by the transaction management unit;
    상기 블록체인 서명 관리부에서, 상기 트랜잭션 관리부에서 최종 명령 수행에 대한 서명을 진행하는 최종 명령 서명 단계;In the block chain signature management unit, a final command signing step of proceeding with a signature for the execution of the final command in the transaction management unit;
    를 포함하는 것을 특징으로 하는 어플리케이션 데이터 블록체인 저장 방법.Application data block chain storage method comprising a.
  2. 제1항에 있어서,According to claim 1,
    상기 데이터 결정 단계는,The data determination step,
    플레이어가 게임 내 지정된 임무의 완료 조건을 만족시켜 상기 임무의 성공이 판정되는 임무 조건 완료 판정 단계;a task condition completion determination step in which the player satisfies a completion condition of a specified task in the game and the success of the task is determined;
    상기 임무의 완수에 따라 상기 플레이어에게 온라인 상으로 제공되는 보상을 지급하는 것이 개시되는 보상 데이터 지급 단계; 및a reward data payment step in which a reward provided to the player on-line is started to be paid upon completion of the mission; and
    상기 플레이어의 상태를 저장하는 상태 저장 단계를 포함하고,A state storage step of storing the state of the player,
    상기 데이터 결정 단계에서 결정되는 상기 대상 데이터는 상기 임무 완수에 따른 보상에 관한 데이터인 것을 특징으로 하는 어플리케이션 블록체인 데이터 저장 방법.The method of storing application blockchain data, characterized in that the target data determined in the data determining step is data related to compensation according to the completion of the mission.
  3. 제1항에 있어서,According to claim 1,
    상기 데이터 결정 단계 이후에,After the data determination step,
    데이터베이스에 상기 대상 데이터가 저장되는 데이터베이스 저장 단계;를 더 포함하는 것을 특징으로 하는 어플리케이션 블록체인 데이터 저장 방법.A database storage step of storing the target data in a database; application block chain data storage method characterized in that it further comprises.
  4. 제3항에 있어서,According to claim 3,
    상기 데이터베이스에 저장 단계 및 블록체인 저장 단계는 하나의 트랜잭션으로 바인딩되어 처리되는 것을 특징으로 하는 어플리케이션 블록체인 데이터 저장 방법.The method of storing application block chain data, characterized in that the step of storing in the database and the step of storing blockchain are bound and processed as one transaction.
  5. 제4항에 있어서,According to claim 4,
    상기 스마트 컨트랙트의 롤백 기능의 활성화 조건은The activation condition of the rollback function of the smart contract is
    상기 데이터베이스에 저장 단계 중 상기 데이터베이스 트랜잭션 롤백이 발생되는 조건인 것을 특징으로 하는 블록체인 데이터 저장 방법.Blockchain data storage method, characterized in that the database transaction rollback occurs during the storing in the database step.
  6. 제2항에 있어서,According to claim 2,
    상기 대상 데이터는 상기 어플리케이션에서 상기 플레이어에게 제공되는 토큰에 관한 데이터이며,The target data is data related to a token provided to the player in the application,
    상기 대상 데이터는 소유자 및 제공되는 토큰의 양을 포함하는 것을 특징으로 하는 어플리케이션 블록체인 데이터 저장 방법.The method of storing application blockchain data, characterized in that the target data includes the owner and the amount of tokens provided.
  7. 제6항에 있어서,According to claim 6,
    상기 개시 기능 수행 단계 및 상기 개시 기능 서명 단계에서는 상기 어플리케이션에서 상기 플레이어에게 제공되는 토큰의 양을 미리 할당하는 것을 특징으로 하 는 어플리케이션 블록체인 데이터 저장 방법.In the step of performing the initiation function and the step of signing the initiation function, the amount of the token provided to the player in the application is pre-allocated.
  8. 제2항에 있어서,According to claim 2,
    상기 대상 데이터는 상기 플레이어에서 상기 어플리케이션으로 사용되는 토큰에 관한 데이터이며,The target data is data related to a token used by the application in the player,
    상기 대상 데이터는 소유자 및 제공되는 토큰의 양을 포함하는 것을 특징으로 하는 어플리케이션 블록체인 데이터 저장 방법.The method of storing application blockchain data, characterized in that the target data includes the owner and the amount of tokens provided.
  9. 제8항에 있어서,According to claim 8,
    상기 개시 기능 수행 단계 및 상기 개시 기능 서명 단계에서는 상기 플레이어에서 상기 어플리케이션에게 제공되는 상기 토큰을 상기 어플리케이션으로 이동시키는 것을 특징으로 하는 어플리케이션 블록체인 데이터 저장 방법.In the step of performing the initiation function and the step of signing the initiation function, the token provided to the application from the player is moved to the application.
  10. 제2항에 있어서,According to claim 2,
    상기 대상 데이터는 대체 불가 토큰(NFT)에 관한 데이터이며,The target data is data about a non-fungible token (NFT),
    상기 대상 데이터는 소유자 데이터 및 사용되는 데이터의 CDN 데이터인 것을 특징으로 하는 어플리케이션 블록체인 데이터 저장 방법.The method of storing application blockchain data, characterized in that the target data is owner data and CDN data of used data.
PCT/KR2023/001638 2022-02-22 2023-02-06 Application data blockchain storage method, and system using same WO2023163415A1 (en)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
KR1020220022827A KR102634318B1 (en) 2022-02-22 2022-02-22 Method for storing application data in blockchain and system using the same
KR10-2022-0022827 2022-02-22

Publications (1)

Publication Number Publication Date
WO2023163415A1 true WO2023163415A1 (en) 2023-08-31

Family

ID=87766295

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/KR2023/001638 WO2023163415A1 (en) 2022-02-22 2023-02-06 Application data blockchain storage method, and system using same

Country Status (2)

Country Link
KR (1) KR102634318B1 (en)
WO (1) WO2023163415A1 (en)

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110860090A (en) * 2019-11-01 2020-03-06 王先勤 Game asset transaction method based on block chain
JP2020047104A (en) * 2018-09-20 2020-03-26 日本電信電話株式会社 Settlement system, settlement method, user device, and settlement program
KR20200091647A (en) * 2019-01-23 2020-07-31 넷마블 주식회사 Technique for item transaction
KR20200108763A (en) * 2019-10-01 2020-09-21 넷마블 주식회사 Method to manage decenteralized game
KR20200116042A (en) * 2019-03-25 2020-10-08 (주)링카코리아 A payment agent system that supports providing the service based on the second payment means based on non-virtual asset in connection with a service providing system that provides a service to the user based on the first payment means based on the virtual asset and a payment agency method using the same

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2020047104A (en) * 2018-09-20 2020-03-26 日本電信電話株式会社 Settlement system, settlement method, user device, and settlement program
KR20200091647A (en) * 2019-01-23 2020-07-31 넷마블 주식회사 Technique for item transaction
KR20200116042A (en) * 2019-03-25 2020-10-08 (주)링카코리아 A payment agent system that supports providing the service based on the second payment means based on non-virtual asset in connection with a service providing system that provides a service to the user based on the first payment means based on the virtual asset and a payment agency method using the same
KR20200108763A (en) * 2019-10-01 2020-09-21 넷마블 주식회사 Method to manage decenteralized game
CN110860090A (en) * 2019-11-01 2020-03-06 王先勤 Game asset transaction method based on block chain

Also Published As

Publication number Publication date
KR20230125951A (en) 2023-08-29
KR102634318B1 (en) 2024-02-08

Similar Documents

Publication Publication Date Title
WO2014112800A1 (en) Smart home system using portable device
WO2017054481A1 (en) Information verification and processing method and apparatus, and information processing system
WO2021025482A1 (en) Electronic device and method for generating attestation certificate based on fused key
WO2016089009A1 (en) Method and cloud server for managing device
WO2013048008A1 (en) Methods and apparatus for registering a device to server
WO2023171887A1 (en) Apparatus and method for activating invisible sealing-type nft image transaction
WO2011076035A1 (en) Method and apparatus for implementing multiple card slots accessing
WO2021177695A1 (en) Electronic device for providing transaction information and operating method thereof
WO2018076875A1 (en) Backup data synchronisation method, apparatus, storage medium, electronic device, and server
WO2017096603A1 (en) Method and system for data connection, transmission, reception and interaction, storage device, and aircraft
WO2018155846A1 (en) Agency payment system, server and controlling method thereof
EP3850767A1 (en) Electronic device for attenuating at least part of signal received by antenna and method for controlling communication signal
WO2018034491A1 (en) A primary device, an accessory device, and methods for processing operations on the primary device and the accessory device
WO2019143081A1 (en) Method and electronic device for controlling data communication
WO2018076453A1 (en) Associated application display method, device and mobile terminal
WO2023163415A1 (en) Application data blockchain storage method, and system using same
WO2018076871A1 (en) Method for synchronizing contact information, apparatus, medium, electronic device and system
WO2019194428A1 (en) Electronic device sharing key with external electronic device and operating method for electronic device
WO2021230449A1 (en) Method and device for controlling electronic device for federated learning
EP2481006A2 (en) Method for using rights to contents
WO2016192110A1 (en) File information processing method and device, and file processing apparatus and system
WO2017045160A1 (en) Method and device for data exchange processing and online funding method
WO2018058725A1 (en) Method for preventing esim file from being tampered with, and mobile terminal
WO2017206882A1 (en) Sensor control method and apparatus, storage medium, and electronic device
WO2013185625A1 (en) Information processing system, information processing method and memory system

Legal Events

Date Code Title Description
121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 23760289

Country of ref document: EP

Kind code of ref document: A1