KR102243324B1 - Method for saving and utilizing game data based on block chain network - Google Patents

Method for saving and utilizing game data based on block chain network Download PDF

Info

Publication number
KR102243324B1
KR102243324B1 KR1020190061623A KR20190061623A KR102243324B1 KR 102243324 B1 KR102243324 B1 KR 102243324B1 KR 1020190061623 A KR1020190061623 A KR 1020190061623A KR 20190061623 A KR20190061623 A KR 20190061623A KR 102243324 B1 KR102243324 B1 KR 102243324B1
Authority
KR
South Korea
Prior art keywords
game
data
game data
blockchain network
transaction
Prior art date
Application number
KR1020190061623A
Other languages
Korean (ko)
Other versions
KR20200136073A (en
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 넷마블 주식회사
Priority to KR1020190061623A priority Critical patent/KR102243324B1/en
Publication of KR20200136073A publication Critical patent/KR20200136073A/en
Application granted granted Critical
Publication of KR102243324B1 publication Critical patent/KR102243324B1/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/77Game security or game management aspects involving data related to game devices or game servers, e.g. configuration data, software version or amount of memory
    • 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/55Controlling game characters or game objects based on the game progress
    • A63F13/58Controlling game characters or game objects based on the game progress by computing conditions of game characters, e.g. stamina, strength, motivation or energy level
    • 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
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/60Protecting data
    • G06F21/602Providing cryptographic facilities or services
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/60Protecting data
    • G06F21/62Protecting access to data via a platform, e.g. using keys or access control rules
    • 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
    • AHUMAN NECESSITIES
    • A63SPORTS; GAMES; AMUSEMENTS
    • A63FCARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
    • A63F2300/00Features of games using an electronically generated display having two or more dimensions, e.g. on a television screen, showing representations related to the game
    • A63F2300/40Features of games using an electronically generated display having two or more dimensions, e.g. on a television screen, showing representations related to the game characterised by details of platform network
    • A63F2300/401Secure communication, e.g. using encryption or authentication
    • AHUMAN NECESSITIES
    • A63SPORTS; GAMES; AMUSEMENTS
    • A63FCARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
    • A63F2300/00Features of games using an electronically generated display having two or more dimensions, e.g. on a television screen, showing representations related to the game
    • A63F2300/40Features of games using an electronically generated display having two or more dimensions, e.g. on a television screen, showing representations related to the game characterised by details of platform network
    • A63F2300/408Peer to peer connection

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • General Engineering & Computer Science (AREA)
  • Business, Economics & Management (AREA)
  • Software Systems (AREA)
  • Physics & Mathematics (AREA)
  • Health & Medical Sciences (AREA)
  • General Physics & Mathematics (AREA)
  • General Health & Medical Sciences (AREA)
  • Computer Hardware Design (AREA)
  • General Business, Economics & Management (AREA)
  • Bioethics (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Human Computer Interaction (AREA)
  • Financial Or Insurance-Related Operations Such As Payment And Settlement (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

본 개시내용의 일 실시예에 따라, 컴퓨터 판독가능 저장 매체에 저장되는 컴퓨터 프로그램이 개시된다. 상기 컴퓨터 프로그램은 게임 서버의 하나 이상의 프로세서에 의해 실행되는 경우 게임 데이터를 저장하고 활용하기 위한 이하의 동작들을 수행하도록 하며, 상기 동작들은, 게임 데이터를 블록체인 네트워크에 저장시키기 위한 트랜잭션을 생성하는 동작; 블록체인 네트워크에 포함된 적어도 하나의 노드에 상기 트랜잭션을 전송함으로써 상기 블록체인 네트워크에 포함된 복수의 노드에서 합의 알고리즘에 기초하여 상기 트랜잭션을 블록에 기록하도록 야기하는 동작; 및 사용자 단말의 게임 데이터 요청에 기초하여 상기 블록체인 네트워크에 포함된 적어도 하나의 노드로부터 상기 게임 데이터 요청에 대응되는 게임 데이터를 획득하는 동작을 포함할 수 있다.According to an embodiment of the present disclosure, a computer program stored in a computer-readable storage medium is disclosed. When the computer program is executed by one or more processors of a game server, the following operations are performed for storing and utilizing game data, and the operations are operations of generating a transaction for storing game data in a blockchain network. ; Causing a plurality of nodes included in the blockchain network to record the transaction in a block based on a consensus algorithm by transmitting the transaction to at least one node included in the blockchain network; And obtaining game data corresponding to the game data request from at least one node included in the blockchain network based on the game data request from the user terminal.

Figure 112019053735502-pat00001
Figure 112019053735502-pat00001

Description

블록체인 네트워크에 기반한 게임 데이터 저장 및 활용 방법{METHOD FOR SAVING AND UTILIZING GAME DATA BASED ON BLOCK CHAIN NETWORK}How to save and use game data based on blockchain network {METHOD FOR SAVING AND UTILIZING GAME DATA BASED ON BLOCK CHAIN NETWORK}

본 개시는 게임 데이터 관리 기법에 관한 것으로서, 보다 구체적으로 블록체인 네트워크에 기반한 게임 데이터 저장 및 활용 방법에 관한 것이다.The present disclosure relates to a game data management technique, and more specifically, to a method of storing and using game data based on a blockchain network.

최근에는 정보통신 기술의 발달로 게임 서버와 통신 연결 상에서 게임을 수행하는 온라인 게임이 발달하였다. 게임의 사용자는 게임을 이용하며 다양한 게임 데이터를 생성한다. 생성된 게임 데이터는 일반적으로 게임 회사 또는 퍼블리셔(publisher)가 소유하며, 게임의 사용자는 게임에서 일시적으로 게임 데이터를 사용하거나, 생성할 수 있을 뿐이다. 생성된 게임 데이터는 게임 회사 서버 또는 퍼블리셔 서버에 저장되며, 게임의 사용자는 단순히 데이터를 사용할 수 있을 뿐이며, 게임 시스템에서 허용하는 방식으로만 게임 데이터에 액세스 할 수 있다.In recent years, with the development of information and communication technology, online games for playing games on a communication connection with a game server have developed. Users of the game use the game and generate various game data. The generated game data is generally owned by a game company or publisher, and users of the game can only temporarily use or create game data in the game. The generated game data is stored on the game company server or publisher server, and users of the game can only use the data, and can only access the game data in a manner permitted by the game system.

하지만, 이러한 온라인 게임들은 게임 서비스가 게임 회사 또는 게임 퍼블리셔에 의해 종료될 수 있다. 또한 게임 회사 또는 게임 퍼블리셔가 예상하지 못한 하드웨어적 또는 소프트웨어적 결함으로 게임 데이터가 유실될 수도 있다. 게임 서비스가 종료되는 경우, 사용자는 더 이상 해당 게임 서비스의 게임 데이터에 접근할 수 없게 된다. 그리고 게임 데이터가 유실된 경우, 사용자는 유실된 게임 데이터 복구 요청을 할 수 있으나, 유실된 게임 데이터가 복구되지 않을 수도 있다.However, for these online games, the game service may be terminated by a game company or a game publisher. In addition, game data may be lost due to hardware or software defects that game companies or game publishers are not expecting. When the game service is terminated, the user can no longer access the game data of the corresponding game service. In addition, when the game data is lost, the user may request to recover the lost game data, but the lost game data may not be recovered.

따라서 사용자가 게임 회사 또는 게임 퍼블리셔의 게임 서비스 종료 의사 결정, 게임 서버의 결함에 의한 게임 데이터가 유실된 상황에서도 자신의 게임 데이터 접근할 수 있도록 하는 방법이 당 업계에서 요구될 수 있다.Therefore, there may be a need in the industry to allow users to access their own game data even in situations in which game data is lost due to a game company or game publisher's decision to terminate the game service or a game server defect.

대한민국 등록특허 10-1870112는 블록체인 기반의 게임 난이도 조절을 위해 작업 증명을 이용한 분산 원장 장치 및 분산 원장 방법을 개시한다.Korean Patent Registration No. 10-1870112 discloses a distributed ledger device and a distributed ledger method using proof of work for controlling the difficulty of a game based on a block chain.

본 개시내용의 일 목적은 게임 블록체인 네트워크에 기반한 게임 데이터 저장 및 활용하기 위한 방법을 제공하고자 하는 것이다.An object of the present disclosure is to provide a method for storing and utilizing game data based on a game blockchain network.

본 개시내용의 일 목적은 블록체인 네트워크에 기반한 게임 데이터 저장 및 활용 방법을 제공하고자 하는 것이다. 상기 컴퓨터 프로그램은 게임 서버의 하나 이상의 프로세서에 의해 실행되는 경우 게임 데이터를 저장하고 활용하기 위한 이하의 동작들을 수행하도록 하며, 상기 동작들은, 게임 데이터를 블록체인 네트워크에 저장시키기 위한 트랜잭션을 생성하는 동작; 블록체인 네트워크에 포함된 적어도 하나의 노드에 상기 트랜잭션을 전송함으로써 상기 블록체인 네트워크에 포함된 복수의 노드에서 합의 알고리즘에 기초하여 상기 트랜잭션을 블록에 기록하도록 야기하는 동작; 및 사용자 단말의 게임 데이터 요청에 기초하여 상기 블록체인 네트워크에 포함된 적어도 하나의 노드로부터 상기 게임 데이터 요청에 대응되는 게임 데이터를 획득하는 동작을 포함할 수 있다.An object of the present disclosure is to provide a method of storing and utilizing game data based on a blockchain network. When the computer program is executed by one or more processors of a game server, the following operations are performed for storing and utilizing game data, and the operations are operations of generating a transaction for storing game data in a blockchain network. ; Causing a plurality of nodes included in the blockchain network to record the transaction in a block based on a consensus algorithm by transmitting the transaction to at least one node included in the blockchain network; And obtaining game data corresponding to the game data request from at least one node included in the blockchain network based on the game data request from the user terminal.

본 개시의 일 실시예에 따라, 상기 게임 데이터는, 사용자의 캐릭터 정보, 사용자의 활동 로그 또는 게임 실행 가능한 명령어 형태의 데이터 중 적어도 하나를 포함할 수 있다.According to an exemplary embodiment of the present disclosure, the game data may include at least one of a user's character information, a user's activity log, or data in the form of a command capable of executing a game.

본 개시의 일 실시예에 따라, 상기 사용자의 캐릭터 정보는, 상기 사용자의 캐릭터 정보가 포함된 게임 화면 이미지를 포함할 수 있다.According to an embodiment of the present disclosure, the user's character information may include a game screen image including the user's character information.

본 개시의 일 실시예에 따라, 상기 사용자의 활동 로그는, 게임 시뮬레이션 또는 게임 리플레이 중 적어도 하나를 위한 게임 화면 이미지 또는 게임 플레이 영상 중 적어도 하나를 포함할 수 있다.According to an embodiment of the present disclosure, the user's activity log may include at least one of a game screen image or a game play image for at least one of a game simulation or a game replay.

본 개시의 일 실시예에 따라, 상기 트랜잭션은, 게임 서버에 저장된 상기 게임 데이터, 블록체인 네트워크의 노드에 저장된 상기 게임 데이터를 획득하기 위한 정보, 또는 상기 게임 데이터의 위변조 방지를 위한 해시값 중 적어도 하나를 포함할 수 있다.According to an embodiment of the present disclosure, the transaction includes at least one of the game data stored in a game server, information for obtaining the game data stored in a node of a blockchain network, or a hash value for preventing forgery of the game data. It can contain one.

본 개시의 일 실시예에 따라, 게임 데이터를 블록체인 네트워크에 저장시키기 위한 트랜잭션을 생성하는 동작은, 특정 시점마다 상기 게임 데이터를 블록체인 네트워크에 저장시키기 위한 트랜잭션을 생성하는 동작을 포함하고, 상기 특정 시점은, 게임 시스템의 변동 사항이 발생하는 시점일 수 있다.According to an embodiment of the present disclosure, the operation of generating a transaction for storing game data in a blockchain network includes generating a transaction for storing the game data in a blockchain network at a specific point in time, and the The specific time point may be a time point at which changes in the game system occur.

본 개시의 일 실시예에 따라, 사용자 단말로부터 게임 데이터 저장 요청을 수신하는 동작; 및 상기 게임 데이터 저장 요청에 기초하여 상기 게임 데이터를 획득하는 동작을 더 포함할 수 있다.According to an embodiment of the present disclosure, receiving a request for storing game data from a user terminal; And obtaining the game data based on the request to store the game data.

본 개시의 일 실시예에 따라, 상기 게임 데이터 저장 요청에 기초하여 상기 게임 데이터를 획득하는 동작은, 상기 게임 데이터 저장 요청에 포함된 토큰에 기초하여 상기 게임 데이터를 획득하는 동작을 포함할 수 있다.According to an embodiment of the present disclosure, the operation of obtaining the game data based on the game data storage request may include an operation of obtaining the game data based on a token included in the game data storage request. .

본 개시의 일 실시예에 따라, 상기 토큰은, 사용자 식별 데이터 또는 상기 게임 데이터 저장 요청을 실행하는 비용 정보 중 적어도 하나를 포함할 수 있다.According to an embodiment of the present disclosure, the token may include at least one of user identification data or cost information for executing the game data storage request.

본 개시의 일 실시예에 따라, 게임 데이터를 블록체인 네트워크에 저장시키기 위한 트랜잭션을 생성하는 동작은, 상기 게임 데이터가 사용자의 개인 데이터인 경우, 사용자 단말의 개인 데이터 암호화 요청에 기초하여 사용자 개인 데이터의 암호화 여부를 결정하는 동작을 포함할 수 있다.According to an embodiment of the present disclosure, the operation of generating a transaction for storing game data in a blockchain network is, when the game data is the user's personal data, based on the user's personal data encryption request, the user's personal data It may include an operation of determining whether to encrypt or not.

본 개시의 일 실시예에 따라, 상기 게임 데이터가 사용자의 개인 데이터인 경우, 사용자 단말의 개인 데이터 암호화 요청에 기초하여 사용자 개인 데이터의 암호화 여부를 결정하는 동작은, 사용자 단말의 개인 데이터 암호화 요청이 수신된 경우, 비대칭키 암호화 알고리즘을 통해 상기 사용자의 개인 데이터를 공개키로 암호화하는 동작을 포함할 수 있다.According to an embodiment of the present disclosure, when the game data is the user's personal data, the operation of determining whether to encrypt the user's personal data based on the personal data encryption request of the user terminal, the personal data encryption request of the user terminal When received, the operation of encrypting the user's personal data with a public key through an asymmetric key encryption algorithm may be included.

본 개시의 일 실시예에 따라, 상기 노드는, 저장 대상 데이터를 블록체인 네트워크에 저장할지 여부를 결정하는 심사위원 노드를 포함할 수 있다.According to an embodiment of the present disclosure, the node may include a judge node that determines whether to store data to be stored in a blockchain network.

본 개시의 일 실시예에 따라, 블록체인 네트워크에 포함된 적어도 하나의 노드에 상기 트랜잭션을 전송함으로써 상기 블록체인 네트워크에 포함된 복수의 노드에서 합의 알고리즘에 기초하여 상기 트랜잭션을 블록에 기록하도록 야기하는 동작은, 심사위원 노드에서 합의 알고리즘에 기초하여 상기 트랜잭션을 블록에 기록하도록 야기하는 동작을 포함할 수 있다.According to an embodiment of the present disclosure, by transmitting the transaction to at least one node included in the blockchain network, causing a plurality of nodes included in the blockchain network to record the transaction in a block based on a consensus algorithm. The operation may include causing the judge node to write the transaction to a block based on a consensus algorithm.

본 개시의 일 실시예에 따라, 심사위원 노드에서 합의 알고리즘에 기초하여 상기 트랜잭션을 블록에 기록하도록 야기하는 동작은, 스마트 컨트랙트를 활용한 상기 심사위원 노드의 투표를 통해 상기 트랜잭션을 블록에 기록할 것을 결정하는 동작을 포함할 수 있다.According to an embodiment of the present disclosure, the operation of causing a judge node to record the transaction in a block based on a consensus algorithm is to record the transaction in a block through a vote of the judge node using a smart contract. It may include an operation to determine that.

본 개시의 일 실시예에 따라, 블록체인 네트워크에 포함된 적어도 하나의 노드에 상기 트랜잭션을 전송함으로써 상기 블록체인 네트워크에 포함된 복수의 노드에서 합의 알고리즘에 기초하여 상기 트랜잭션을 블록에 기록하도록 야기하는 동작은, 저장 대상 데이터와 관련된 사용자 단말에 저장 대상 데이터 저장 동의 요청을 전송하여, 상기 저장 대상 데이터와 관련된 상기 사용자 단말로부터 저장 대상 데이터 저장 동의 여부 응답을 수신하는 동작을 포함할 수 있다.According to an embodiment of the present disclosure, by transmitting the transaction to at least one node included in the blockchain network, causing a plurality of nodes included in the blockchain network to record the transaction in a block based on a consensus algorithm. The operation may include transmitting a storage object data storage consent request to a user terminal related to the storage object data, and receiving a storage object data storage consent response response from the user terminal related to the storage object data.

본 개시의 일 실시예에 따라, 상기 저장 대상 데이터와 관련된 상기 사용자 단말이 상기 저장 대상 데이터 저장 동의 요청을 전송한 경우, 토큰에 리워드 정보를 기록하는 동작을 더 포함할 수 있다.According to an embodiment of the present disclosure, when the user terminal related to the storage target data transmits the storage target data storage consent request, the operation of recording reward information in a token may be further included.

본 개시의 일 실시예에 따라, 상기 저장 대상 데이터와 관련된 노드에 저장 대상 데이터 저장 동의 요청을 전송하여, 상기 저장 대상 데이터와 관련된 노드로부터 저장 대상 데이터 저장 동의 여부 응답을 수신하는 동작은, 상기 저장 대상 데이터와 관련된 모든 사용자 단말의 동의 응답을 수신한 경우, 상기 트랜잭션을 블록에 기록하도록 야기하는 동작을 포함할 수 있다.According to an embodiment of the present disclosure, the operation of receiving a storage target data storage consent response from a node related to the storage target data by transmitting a storage target data storage consent request to a node related to the storage target data includes: When the consent response of all user terminals related to the target data is received, the operation of causing the transaction to be recorded in a block may be included.

본 개시의 일 실시예에 따라, 사용자 단말의 게임 데이터 요청에 기초하여 상기 블록체인 네트워크에 포함된 적어도 하나의 노드로부터 상기 게임 데이터 요청에 대응되는 게임 데이터를 획득하는 동작은, 상기 게임 데이터가 비대칭키 암호화 알고리즘을 통해 공개키로 암호화된 경우, 상기 게임 데이터를 개인키로 복호화하는 동작을 포함할 수 있다.According to an embodiment of the present disclosure, the operation of obtaining game data corresponding to the game data request from at least one node included in the blockchain network based on the game data request of the user terminal, the game data is asymmetric When encrypted with a public key through a key encryption algorithm, the operation of decrypting the game data with a private key may be included.

본 개시의 일 실시예에 따라, 사용자 단말의 게임 데이터 요청에 기초하여 상기 블록체인 네트워크에 포함된 적어도 하나의 노드로부터 상기 게임 데이터 요청에 대응되는 게임 데이터를 획득하는 동작은, 게임 실행 가능한 명령어 형태의 데이터를 상기 블록체인 네트워크로부터 획득하는 동작을 포함하고, 사용자 단말에서 상기 게임 실행 가능한 명령어 형태의 데이터에 기초하여 게임을 수행하도록 상기 게임 실행 가능한 명령어 형태의 데이터를 상기 사용자 단말로 전송하는 동작을 더 포함할 수 있다.According to an embodiment of the present disclosure, the operation of acquiring game data corresponding to the game data request from at least one node included in the blockchain network based on the game data request of the user terminal is in the form of a game executable command Including the operation of acquiring the data of the block chain network, and transmitting the data in the form of a command executable command to the user terminal to play a game based on the data in the form of commands executable in the user terminal. It may contain more.

본 개시의 일 실시예에 따라, 게임 서버가 개시된다. 게임 서버는, 블록체인 네트워크와 통신하는 통신부; 메모리; 및 프로세서를 포함하고, 상기 프로세서는, 게임 데이터를 블록체인 네트워크에 저장시키기 위한 트랜잭션을 생성하고, 블록체인 네트워크에 포함된 적어도 하나의 노드에 상기 트랜잭션을 전송함으로써 상기 블록체인 네트워크에 포함된 복수의 노드에서 합의 알고리즘에 기초하여 상기 트랜잭션을 블록에 기록하도록 야기하고, 그리고 사용자 단말의 게임 데이터 요청에 기초하여 상기 블록체인 네트워크에 포함된 적어도 하나의 노드로부터 상기 게임 데이터 요청에 대응되는 게임 데이터를 획득할 수 있다.According to an embodiment of the present disclosure, a game server is initiated. The game server includes: a communication unit that communicates with a blockchain network; Memory; And a processor, wherein the processor generates a transaction for storing game data in the blockchain network, and transmits the transaction to at least one node included in the blockchain network. Causes a node to record the transaction in a block based on a consensus algorithm, and acquires game data corresponding to the game data request from at least one node included in the blockchain network based on a game data request from the user terminal. can do.

본 개시내용의 일 실시예에 따라, 블록체인 네트워크에 기반한 게임 데이터 저장 및 활용 방법이 개시된다.According to an embodiment of the present disclosure, a method of storing and utilizing game data based on a blockchain network is disclosed.

도 1은 본 개시의 다양한 양태가 구현될 수 있는 사용자 단말, 게임 서버 및 블록체인 네트워크에 기반한 게임 시스템의 일례를 설명하기 위해 도시한 도면이다.
도 2는 본 개시내용의 일 실시예에 따른 게임 서버를 예시적으로 도시한다.
도 3은 본 개시내용의 일 실시예에 따라 게임 서버에서 수행되는 게임 데이터 관리 방법을 예시적으로 도시한다.
도 4는 본 개시내용의 일 실시예에 따라 블록에 저장되는 데이터 형태를 예시적으로 도시한다.
도 5는 본 개시내용의 일 실시예에 따라 사용자 단말이 획득하는 게임 데이터를 예시적으로 도시한다.
도 6은 본 개시내용의 일 실시예에 따라 게임 데이터 관리 방법의 예시적인 순서도를 도시한다.
도 7은 본 개시내용의 실시예들이 구현될 수 있는 예시적인 컴퓨팅 환경에 대한 일반적인 개략도를 도시한다.
1 is a diagram illustrating an example of a game system based on a user terminal, a game server, and a blockchain network in which various aspects of the present disclosure may be implemented.
2 exemplarily shows a game server according to an embodiment of the present disclosure.
3 exemplarily illustrates a game data management method performed in a game server according to an embodiment of the present disclosure.
FIG. 4 exemplarily illustrates a form of data stored in a block according to an embodiment of the present disclosure.
5 exemplarily shows game data acquired by a user terminal according to an embodiment of the present disclosure.
6 shows an exemplary flow chart of a game data management method according to an embodiment of the present disclosure.
7 shows a general schematic diagram of an exemplary computing environment in which embodiments of the present disclosure may be implemented.

다양한 실시예들 및/또는 양상들이 이제 도면들을 참조하여 개시된다. 하기 설명에서는 설명을 목적으로, 하나 이상의 양상들의 전반적 이해를 돕기 위해 다수의 구체적인 세부사항들이 개시된다. 그러나, 이러한 양상(들)은 이러한 구체적인 세부사항들 없이도 실행될 수 있다는 점 또한 본 발명의 기술 분야에서 통상의 지식을 가진 자에게 인식될 수 있을 것이다. 이후의 기재 및 첨부된 도면들은 하나 이상의 양상들의 특정한 예시적인 양상들을 상세하게 기술한다. 하지만, 이러한 양상들은 예시적인 것이고 다양한 양상들의 원리들에서의 다양한 방법들 중 일부가 이용될 수 있으며, 기술되는 설명들은 그러한 양상들 및 그들의 균등물들을 모두 포함하고자 하는 의도이다.Various embodiments and/or aspects are now disclosed with reference to the drawings. In the following description, for illustrative purposes, a number of specific details are disclosed to aid in an overall understanding of one or more aspects. However, it will also be appreciated by those of ordinary skill in the art that this aspect(s) may be practiced without these specific details. The following description and the annexed drawings set forth in detail certain illustrative aspects of the one or more aspects. However, these aspects are illustrative and some of the various methods in the principles of the various aspects may be used, and the descriptions described are intended to include all such aspects and their equivalents.

또한, 다양한 양상들 및 특징들이 하나 이상의 컴퓨팅 장치들, 단말들, 서버들, 디바이스들, 컴포넌트들 및/또는 모듈들 등을 포함할 수 있는 시스템에 의하여 제시될 것이다. 다양한 시스템들이, 추가적인 컴퓨팅 장치들, 단말들, 서버들, 디바이스들, 컴포넌트들 및/또는 모듈들 등을 포함할 수 있다는 점 그리고/또는 도면들과 관련하여 논의된 장치들, 단말들, 서버들, 디바이스들, 컴포넌트들, 모듈들 등의 전부를 포함하지 않을 수도 있다는 점 또한 이해되고 인식되어야 한다. Further, various aspects and features will be presented by a system that may include one or more computing devices, terminals, servers, devices, components and/or modules, and the like. Devices, terminals, servers discussed in connection with the figures and/or that various systems may include additional computing devices, terminals, servers, devices, components and/or modules, etc. It should also be understood and recognized that it may not include all of, devices, components, modules, etc.

본 명세서에서 사용되는 용어 "컴퓨터 프로그램" "컴포넌트", "모듈" 등은 서로 호환가능하게 사용될 수 있다. 예를 들어, 컴포넌트는 프로세서상에서 실행되는 처리과정(procedure), 프로세서, 객체, 실행 스레드, 프로그램, 및/또는 컴퓨터일 수 있지만, 이들로 제한되는 것은 아니다. 예를 들어, 컴퓨팅 장치에서 실행되는 애플리케이션 및 컴퓨팅 장치 모두 컴포넌트일 수 있다. 하나 이상의 컴포넌트는 프로세서 및/또는 실행 스레드 내에 상주할 수 있다. 일 컴포넌트는 하나의 컴퓨터 내에 로컬화 될 수 있다. 일 컴포넌트는 2개 이상의 컴퓨터들 사이에 분배될 수 있다.The terms "computer program," "component", "module", and the like used herein may be used interchangeably with each other. For example, a component may be, but is not limited to, a process executed on a processor, a processor, an object, a thread of execution, a program, and/or a computer. For example, both an application running on a computing device and a computing device may be components. One or more components may reside within a processor and/or thread of execution. A component can be localized within a single computer. A component can be distributed between two or more computers.

또한, 이러한 컴포넌트들은 그 내부에 저장된 다양한 데이터 구조들을 갖는 다양한 컴퓨터 판독가능한 저장 매체로부터 실행할 수 있다. 컴포넌트들은 예를 들어 하나 이상의 데이터 패킷들을 갖는 신호(예를 들면, 로컬 시스템, 분산 시스템에서 다른 컴포넌트와 상호작용하는 하나의 컴포넌트로부터의 데이터 및/또는 신호를 통해 다른 시스템과 인터넷과 같은 네트워크를 통해 전송되는 데이터)에 따라 로컬 및/또는 원격 처리들을 통해 통신할 수 있다.In addition, these components can execute from a variety of computer readable storage media having various data structures stored therein. Components can be, for example, through a signal with one or more data packets (e.g., data from one component interacting with another component in a local system, a distributed system, and/or a signal through another system and a network such as the Internet. Depending on the data being transmitted), it may communicate via local and/or remote processes.

본 명세서에서 사용되는 "실시예", "예", "양상", "예시" 등은 기술되는 임의의 양상 또는 설계가 다른 양상 또는 설계들보다 양호하다거나, 이점이 있는 것으로 해석되지 않을 수도 있다. 아래에서 사용되는 용어들 '컴포넌트', '모듈', '시스템', '인터페이스' 등은 일반적으로 컴퓨터 관련 엔티티(computer-related entity)를 의미하며, 예를 들어, 이는 하드웨어, 하드웨어와 소프트웨어의 조합, 또는 소프트웨어를 의미할 수 있다.As used herein, “an embodiment,” “example,” “aspect,” “example,” and the like may not be construed as having any aspect or design described as being better or advantageous than other aspects or designs. . The terms'component','module','system', and'interface' used below generally mean a computer-related entity, for example, a combination of hardware, hardware and software. , Or software.

더불어, 용어 "또는"은 배타적 "또는"이 아니라 내포적 "또는"을 의미하는 것으로 의도된다. 즉, 달리 특정되지 않거나 문맥상 명확하지 않은 경우에, "X는 A 또는 B를 이용한다"는 자연적인 내포적 치환 중 하나를 의미하는 것으로 의도된다. 즉, X가 A를 이용하거나; X가 B를 이용하거나; 또는 X가 A 및 B 모두를 이용하는 경우, "X는 A 또는 B를 이용한다"가 이들 경우들 어느 것으로도 적용될 수 있다. 또한, 본 명세서에 사용된 "및/또는"이라는 용어는 열거된 관련 아이템들 중 하나 이상의 아이템의 가능한 모든 조합을 지칭하고 포함하는 것으로 이해되어야 한다. In addition, the term “or” is intended to mean an inclusive “or” rather than an exclusive “or”. That is, unless specified otherwise or is not clear from the context, "X employs A or B" is intended to mean one of the natural inclusive substitutions. That is, X uses A; X uses B; Or when X uses both A and B, "X uses A or B" can be applied to either of these cases. In addition, the term “and/or” as used herein should be understood to refer to and include all possible combinations of one or more of the listed related items.

또한, "포함한다" 및/또는 "포함하는"이라는 용어는, 해당 특징 및/또는 구성요소가 존재함을 의미하지만, 하나 이상의 다른 특징, 구성요소 및/또는 이들의 그룹의 존재 또는 추가를 배제하지 않는 것으로 이해되어야 한다. 또한, 달리 특정되지 않거나 단수 형태를 지시하는 것으로 문맥상 명확하지 않은 경우에, 본 명세서와 청구범위에서 단수는 일반적으로 "하나 또는 그 이상"을 의미하는 것으로 해석되어야 한다.In addition, the terms "comprising" and/or "comprising" mean that the feature and/or component is present, but excludes the presence or addition of one or more other features, components and/or groups thereof. It should be understood as not doing. In addition, unless otherwise specified or when the context is not clear to indicate a singular form, the singular in the specification and claims should be interpreted as meaning "one or more" in general.

그리고, "A 또는 B 중 적어도 하나"이라는 용어는, "A만을 포함하는 경우", "B만을 포함하는 경우", "A와 B의 구성으로 조합된 경우"를 의미하는 것으로 해석되어야 한다. In addition, the term "at least one of A or B" should be interpreted as meaning "when including only A", "when including only B", and "when combined in a configuration of A and B".

본 명세서에서의 컴퓨터 판독가능 매체는 컴퓨터 시스템에 의해서 판독될 수 있도록 프로그램 및 데이터가 저장되는 모든 종류의 매체를 포함할 수 있다. 본 개시내용에서의 컴퓨터 판독가능 매체는, 컴퓨터 판독가능 저장 매체 및 컴퓨터 판독가능 전송 매체를 포함할 수 있다. 본 발명의 일 양상에 따르면, 컴퓨터 판독가능 저장 매체는: ROM(판독 전용 메모리), RAM(랜덤 액세스 메모리), CD(컴팩트 디스크)-ROM, DVD(디지털 비디오 디스크)-ROM, 자기 테이프, 플로피 디스크, 광 데이터 저장장치 등을 포함할 수 있다. 또한, 컴퓨터 판독가능 전송 매체는 캐리어 웨이브(예컨대, 인터넷을 통한 전송)의 형태로 구현되는 임의의 전송 가능한 형태의 매체를 포함할 수 있다. 추가적으로, 이러한 컴퓨터 판독가능 매체는 네트워크로 연결된 시스템에 분산되어, 분산 방식으로 컴퓨터가 판독가능한 코드들 및/또는 명령들을 저장할 수도 있다.In the present specification, the computer-readable medium may include all kinds of media in which programs and data are stored so as to be readable by a computer system. Computer-readable media in the present disclosure may include computer-readable storage media and computer-readable transmission media. According to one aspect of the present invention, a computer-readable storage medium includes: ROM (read only memory), RAM (random access memory), CD (compact disk)-ROM, DVD (digital video disk)-ROM, magnetic tape, floppy It may include a disk, an optical data storage device, and the like. Further, the computer-readable transmission medium may include any transportable medium implemented in the form of a carrier wave (eg, transmission over the Internet). Additionally, such computer-readable media may be distributed over networked systems to store computer-readable codes and/or instructions in a distributed manner.

본 발명의 실시를 위한 구체적인 내용을 설명하기에 앞서, 본 발명의 기술적 요지와 직접적 관련이 없는 구성에 대해서는 본 발명의 기술적 요지를 흩뜨리지 않는 범위 내에서 생략하였음에 유의하여야 할 것이다. 또한, 본 명세서 및 청구범위에 사용된 용어 또는 단어는 발명자가 자신의 발명을 최선의 방법으로 설명하기 위해 적절한 용어의 개념을 정의할 수 있다는 원칙에 입각하여 본 발명의 기술적 사상에 부합하는 의미와 개념으로 해석되어야 할 것이다.Prior to describing specific details for the implementation of the present invention, it should be noted that configurations that are not directly related to the technical gist of the present invention have been omitted within the scope not disturbing the technical gist of the present invention. In addition, terms or words used in the present specification and claims are based on the principle that the inventor can define the concept of an appropriate term to describe his or her invention in the best way, and has a meaning consistent with the technical idea of the present invention. It should be interpreted as a concept.

도 1은 본 개시의 다양한 양태가 구현될 수 있는 사용자 단말, 게임 서버 및 블록체인 네트워크에 기반한 게임 시스템의 일례를 설명하기 위해 도시한 도면이다.1 is a diagram illustrating an example of a game system based on a user terminal, a game server, and a blockchain network in which various aspects of the present disclosure may be implemented.

도 1에서 도시되는 바와 같이, 게임 데이터 저장 및 활용하기 위한 시스템은, 사용자 단말(100a, 100b 및 100c : 100), 게임 서버(200), 블록체인 네트워크(400) 및 통신 네트워크(500)를 포함할 수 있다. 도 1에서 도시되는 컴포넌트들은 예시적인 것으로서, 추가적인 컴포넌트들이 존재하거나 또는 도 1에서 도시되는 컴포넌트들 중 일부는 생략될 수도 있다.As shown in FIG. 1, a system for storing and utilizing game data includes user terminals 100a, 100b and 100c: 100, a game server 200, a blockchain network 400, and a communication network 500. can do. Components illustrated in FIG. 1 are exemplary, and additional components may exist or some of the components illustrated in FIG. 1 may be omitted.

사용자 단말(100)은 통신 네트워크(500)를 통하여 서로 간에 또는 다른 노드와의 통신하기 위한 매커니즘을 가지며, 게임 데이터를 저장하고 활용하기 위한 시스템에서의 임의의 형태의 노드를 의미할 수 있다. 예를 들어, 사용자 단말(100)은 PC, 랩탑 컴퓨터, 워크스테이션, 단말 및/또는 네트워크 접속성을 갖는 임의의 전자 디바이스를 포함할 수 있다. 또한, 사용자 단말(100)은 에이전트(Agent), API(Application Programming Interface) 및 플러그-인(Plug-in) 중 적어도 하나에 의해 구현되는 임의의 서버를 포함할 수도 있다. 또한, 사용자 단말(100)은 애플리케이션 소스 및/또는 클라이언트 애플리케이션을 포함할 수 있다.The user terminal 100 has a mechanism for communicating with each other or with other nodes through the communication network 500, and may mean any type of node in a system for storing and utilizing game data. For example, user terminal 100 may include a PC, laptop computer, workstation, terminal, and/or any electronic device with network connectivity. In addition, the user terminal 100 may include an arbitrary server implemented by at least one of an agent, an application programming interface (API), and a plug-in. In addition, the user terminal 100 may include an application source and/or a client application.

사용자 단말(100)은 프로세서 및 저장부(메모리 및 영구저장매체)를 포함하여, 임의의 데이터를 처리 및 저장할 수 있는 임의의 엔티티일 수 있다.The user terminal 100 may be any entity capable of processing and storing arbitrary data, including a processor and a storage unit (memory and permanent storage medium).

본 개시내용에서의 프로세서는 하나 이상의 코어로 구성될 수 있으며, 컴퓨팅 장치의 중앙 처리 장치(CPU: central processing unit), 범용 그래픽 처리 장치 (GPGPU: general purpose graphics processing unit), 텐서 처리 장치(TPU: tensor processing unit) 등과 같이 메모리 상에 저장된 명령어들을 실행시킴으로써 게임 데이터 관리를 수행하기 위한 임의의 형태의 프로세서를 포함할 수 있다. 프로세서는 메모리에 저장된 컴퓨터 프로그램을 판독하여 본 개시의 일 실시예에 따른 게임 데이터 저장 및 활용할 수 있다. 전술한 프로세서는 예시일 뿐 본 개시는 이에 제한되지 않는다.The processor in the present disclosure may be composed of one or more cores, and a central processing unit (CPU), a general purpose graphics processing unit (GPGPU), and a tensor processing unit (TPU: Tensor processing unit) may include an arbitrary type of processor for performing game data management by executing instructions stored on a memory. The processor may read a computer program stored in a memory to store and utilize game data according to an exemplary embodiment of the present disclosure. The above-described processor is only an example, and the present disclosure is not limited thereto.

본 개시내용에서의 메모리는 프로세서의 동작을 위한 프로그램을 저장할 수 있고, 입/출력되는 데이터들을 임시 또는 영구 저장할 수도 있다. 메모리는 플래시 메모리 타입(flash memory type), 하드디스크 타입(hard disk type), 멀티미디어 카드 마이크로 타입(multimedia card micro type), 카드 타입의 메모리(예를 들어 SD 또는 XD 메모리 등), 램(Random Access Memory, RAM), SRAM(Static Random Access Memory), 롬(Read-Only Memory, ROM), EEPROM(Electrically Erasable Programmable Read-Only Memory), PROM(Programmable Read-Only Memory), 자기 메모리, 자기 디스크, 광디스크 중 적 어도 하나의 타입의 저장매체를 포함할 수 있다. 이러한 메모리는 프로세서에 제어에 의하여 동작될 수 있다. 또한, 본 개시내용에서 메모리 및 저장부는 서로 상호 교환 가능하게 사용될 수 있다. 전술한 메모리는 예시일 뿐 본 개시는 이에 제한되지 않는다.The memory in the present disclosure may store a program for operation of a processor, and may temporarily or permanently store input/output data. Memory is a flash memory type, hard disk type, multimedia card micro type, card type memory (for example, SD or XD memory, etc.), RAM (Random Access). Memory, RAM), SRAM (Static Random Access Memory), ROM (Read-Only Memory, ROM), EEPROM (Electrically Erasable Programmable Read-Only Memory), PROM (Programmable Read-Only Memory), magnetic memory, magnetic disk, optical disk At least one type of storage medium may be included. Such a memory can be operated under control of a processor. In addition, in the present disclosure, the memory and the storage unit may be used interchangeably with each other. The above-described memory is only an example, and the present disclosure is not limited thereto.

도 1에서의 사용자 단말(100)은 게임 서버(200) 및 블록체인 네트워크(400) 중 적어도 하나에 액세스하고자 하는 사용자와 관련될 수 있다. The user terminal 100 in FIG. 1 may be associated with a user who wants to access at least one of the game server 200 and the blockchain network 400.

사용자 단말(100)은 게임 서버(200) 및 블록체인 네트워크(400) 중 적어도 하나로 쿼리(query) 또는 트랜잭션(transaction)을 발행할 수 있다. 본 개시내용에서의 쿼리는 블록체인 네트워크(400) 상에서 등록된 게임 데이터를 조회하는데 사용될 수 있다. 본 개시내용에서의 트랜잭션은 블록체인 네트워크(400)상에 기록된 게임 데이터에 대한 업데이트(수정/변경/삭제/추가)를 수행하는 데 사용될 수 있다. 전술한 사용자 단말은 예시일 뿐 본 개시는 이에 제한되지 않는다.The user terminal 100 may issue a query or a transaction with at least one of the game server 200 and the blockchain network 400. The query in this disclosure can be used to query game data registered on the blockchain network 400. The transaction in the present disclosure may be used to perform an update (modification/change/delete/add) to game data recorded on the blockchain network 400. The above-described user terminal is only an example, and the present disclosure is not limited thereto.

사용자 단말(100)은 프로그래밍 언어로 작성된 애플리케이션 소스를 송수신할 수 있다. 예를 들어, 사용자 단말(100)은 애플리케이션 소스를 컴파일링하여 클라이언트 애플리케이션을 생성할 수 있다. 예를 들어, 생성된 클라이언트 애플리케이션은 게임 서버(200) 및 블록체인 네트워크(400) 중 적어도 하나로 전달된 후 실행될 수 있다. 전술한 애플리케이션은 예시일 뿐 본 개시는 이에 제한되지 않는다.The user terminal 100 may transmit and receive an application source written in a programming language. For example, the user terminal 100 may generate a client application by compiling an application source. For example, the generated client application may be executed after being delivered to at least one of the game server 200 and the blockchain network 400. The above-described application is only an example, and the present disclosure is not limited thereto.

사용자 단말(100)은 솔리디티(Solidity) 등과 같은 임의의 언어를 사용하여 블록체인 네트워크(400) 상에서 동작될 수 있는 스마트 컨트랙트(smart contract)를 생성할 수 있다. 또한, 사용자 단말(100)은 생성된 스마트 컨트랙트(smart contract)를 블록체인 네트워크(400)로 배포하기 위한 트랜잭션을 생성할 수 있다. 본 개시내용의 일 실시예에서 사용자 단말(100)은 다른 사용자 단말과 퍼블릭 블록체인 네트워크(400)의 구성요소가 될 수도 있다. 사용자 단말(100)은 본 개시내용의 실시예에 따라, 풀 블록체인 노드 또는 라이트웨이트 블록체인 노드로 동작할 수 있다. 전술한 사용자 단말은 예시일 뿐 본 개시는 이에 제한되지 않는다.The user terminal 100 may create a smart contract that can be operated on the blockchain network 400 using an arbitrary language such as Solidity. In addition, the user terminal 100 may generate a transaction for distributing the generated smart contract to the blockchain network 400. In an embodiment of the present disclosure, the user terminal 100 may be a component of another user terminal and a public blockchain network 400. The user terminal 100 may operate as a full blockchain node or a lightweight blockchain node according to an embodiment of the present disclosure. The above-described user terminal is only an example, and the present disclosure is not limited thereto.

본 개시내용의 다른 일 실시예에서 사용자 단말(100)은 블록체인 네트워크(400)를 구성하지 않고, 블록체인 네트워크(400)로부터 데이터만을 획득할 수도 있다.In another embodiment of the present disclosure, the user terminal 100 may obtain only data from the blockchain network 400 without configuring the blockchain network 400.

본 개시의 일 실시예에 따라, 사용자 단말(100)은 게임 서버(200)에 접속하여 게임 서버에서 제공하는 게임을 수행할 수 있으며, 게임을 수행하는 과정에서 획득 또는 구매되는 임의의 형태의 게임 관련 아이템, 게임 캐릭터, 게임 시스템을 게임 내에서 사용할 수 있다. 본 개시에서의 게임은 모바일 게임, 웹 게임, VR 게임, P2P 게임, 온라인/오프라인 게임 등 임의의 형태의 게임을 포함할 수 있다. 전술한 게임은 예시일 뿐 본 개시는 이에 제한되지 않는다.According to an embodiment of the present disclosure, the user terminal 100 may access the game server 200 to play a game provided by the game server, and any type of game acquired or purchased in the process of playing the game. Related items, game characters, and game systems can be used within the game. The game in the present disclosure may include any type of game such as a mobile game, a web game, a VR game, a P2P game, and an online/offline game. The above-described game is only an example, and the present disclosure is not limited thereto.

본 개시의 일 실시예에 따라, 사용자 단말(100)은 상기 게임 데이터 요청을 생성하고 이를 게임 서버(200) 및 블록체인 네트워크(400) 중 적어도 하나로 전달할 수 있다. 또한, 사용자 단말(100)은 게임 서버(200) 또는 블록체인 네트워크(400) 중 적어도 하나로부터 게임 데이터를 수신할 수 있다. 전술한 사항은 예시일 뿐 본 개시는 이에 제한되지 않는다.According to an embodiment of the present disclosure, the user terminal 100 may generate the game data request and transmit it to at least one of the game server 200 and the blockchain network 400. In addition, the user terminal 100 may receive game data from at least one of the game server 200 or the blockchain network 400. The foregoing is only an example, and the present disclosure is not limited thereto.

본 개시의 일 실시예에 따라, 게임 데이터는, 사용자의 캐릭터 정보, 사용자의 활동 로그 또는 게임 실행 가능한 명령어 형태의 데이터 중 적어도 하나를 포함할 수 있다. 게임 데이터는 다수의 사용자들이 게임상에서 수행한 게임의 모든 기록을 포함할 수 있다. 본 개시의 일 실시예에 따라, 사용자의 캐릭터 정보는 사용자 및/또는 다른 사용자가 플레이한 캐릭터에 관련된 정보일 수 있다. 사용자의 캐릭터 정보는 예를 들어, 상기 사용자의 캐릭터 정보가 포함된 게임 화면 이미지, 캐릭터의 랭킹 정보, 캐릭터의 보유 아이템 정보, 캐릭터의 장착 아이템 정보, 캐릭터의 게임 진행 정보 등과 같은 데이터를 포함할 수 있다. 캐릭터 정보가 포함된 게임 화면 이미지는 특정 시점에서의 캐릭터 정보가 포함된 스냅샷을 포함할 수 있다. 특정 시점은 게임 시스템의 변동 사항이 발생하는 시점일 수 있다. 게임 시스템의 변동 사항이 발생하는 시점은 예를 들어, 게임 업데이트 시점, 게임 서비스 종료 시점, 게임 패치 시점을 포함할 수 있다. 또한 특정 시점은, 사용자가 게임 데이터를 요청한 시점을 포함할 수 있다. 전술한 게임 데이터는 예시일 뿐 본 개시는 이에 제한되지 않는다. According to an embodiment of the present disclosure, the game data may include at least one of data in the form of a user's character information, a user's activity log, or a game executable command. The game data may include all records of games played by multiple users on the game. According to an embodiment of the present disclosure, the user's character information may be information related to a user and/or a character played by another user. The user's character information may include, for example, data such as a game screen image including the user's character information, character ranking information, character possession item information, character installation item information, character game progress information, and the like. have. The game screen image including character information may include a snapshot including character information at a specific point in time. The specific time point may be a time point at which changes in the game system occur. The time point at which the change in the game system occurs may include, for example, a game update time point, a game service end time point, and a game patch time point. Also, the specific time point may include a time point at which the user requests game data. The above-described game data is only an example, and the present disclosure is not limited thereto.

본 개시의 일 실시예에 따라 사용자의 활동 로그는, 게임 시뮬레이션 또는 게임 리플레이 중 적어도 하나를 위한 게임 화면 이미지 또는 게임 플레이 영상 중 적어도 하나를 포함할 수 있다. 사용자의 활동 로그는 사용자가 게임 상에서 수행한 모든 활동의 기록을 포함할 수 있다. 사용자의 활동 로그는 예를 들어, 캐릭터 플레이 타임, 계정 플레이 타임, 아이템별 사용빈도, 개인상점 거래품목, 아이템 생성, 아이템 습득, 아이템 드랍, 아이템 소비, 아이템 생성, 아이템 소멸, 아이템 거래, 아이템 강화, 캐릭터 이동, 캐릭터 사망, 캐릭터 레벨업, 캐릭터 생성, 캐릭터 공격, 캐릭터 방어, 서버 시작과 종료시간, 서버 응답시간, 운영자 명령어, 몬스터 생성, 현재 캐릭터가 착용하고 있는 아이템 등을 포함할 수 있다. 게임 화면 이미지는 특정 시점에서의 사용자의 게임 플레이가 포함된 스냅샷을 포함할 수 있다. 게임 플레이 영상은 일정한 시간 동안 사용자의 게임 플레이를 연속된 이미지로 저장한 형태의 데이터를 포함할 수 있다. 전술한 사용자의 활동 로그는 예시일 뿐 본 개시는 이에 제한되지 않는다. According to an embodiment of the present disclosure, the user's activity log may include at least one of a game screen image or a game play image for at least one of a game simulation or a game replay. The user's activity log may include a record of all activities performed by the user in the game. The user's activity log is, for example, character play time, account play time, frequency of use by item, personal store transaction item, item creation, item acquisition, item drop, item consumption, item creation, item destruction, item transaction, item reinforcement , Character movement, character death, character level up, character creation, character attack, character defense, server start and end time, server response time, operator command, monster creation, and items currently worn by the character. The game screen image may include a snapshot including a user's game play at a specific point in time. The game play image may include data in the form of storing the user's game play as a continuous image for a predetermined period of time. The above-described user activity log is only an example, and the present disclosure is not limited thereto.

본 개시의 일 실시예에 따라, 사용자 단말(100)은 블록체인 네트워크(400)를 구성하는 노드로 동작할 수도 있다. 이러한 예시에서, 사용자 단말(100)은 지갑(wallet) 기능, 마이너(miner) 기능, 및 Full 블록체인 데이터의 저장 기능 중 적어도 하나의 기능을 구현할 수 있다. 예를 들어, 사용자 단말(100)이 지갑 기능만을 포함하는 경우, 트랜잭션 및 유효성 검증을 수행하는 노드(예컨대, SPV (Simplified Payment Verification)노드)로 동작할 수 있다. 전술한 사항은 예시일 뿐 본 개시는 이에 제한되지 않는다.According to an embodiment of the present disclosure, the user terminal 100 may operate as a node constituting the blockchain network 400. In this example, the user terminal 100 may implement at least one of a wallet function, a minor function, and a full block chain data storage function. For example, when the user terminal 100 includes only a wallet function, it may operate as a node that performs transaction and validation (eg, a Simplified Payment Verification (SPV) node). The foregoing is only an example, and the present disclosure is not limited thereto.

본 개시의 일 실시예에 따라, 사용자 단말(100)은 디스플레이를 구비하고 있어서, 게임의 플레이 및/또는 게임 화면 이미지 생성을 수행하는데 있어서 사용자의 입력을 수신하고 사용자로 임의의 형태의 출력을 제공할 수 있다.According to an embodiment of the present disclosure, the user terminal 100 has a display, so that it receives a user's input and provides an arbitrary form of output to the user in performing game play and/or game screen image generation. can do.

본 개시의 일 실시예에 따른 게임 서버(200)는 예를 들어, 마이크로프로세서, 메인프레임 컴퓨터, 디지털 프로세서, 휴대용 디바이스 및 디바이스 제어기 등과 같은 임의의 타입의 컴퓨터 시스템 또는 컴퓨터 디바이스를 포함할 수 있다. 도 1에서 도시되지는 않았지만 이러한 게임 서버(200)는 메모리 및 프로세서를 포함할 수 있다. 전술한 게임 서버(200)는 예시일 뿐 본 개시는 이에 제한되지 않는다.The game server 200 according to an embodiment of the present disclosure may include any type of computer system or computer device such as, for example, a microprocessor, a mainframe computer, a digital processor, a portable device and a device controller. Although not shown in FIG. 1, the game server 200 may include a memory and a processor. The above-described game server 200 is only an example, and the present disclosure is not limited thereto.

본 개시의 일 실시예에 따라, 게임 서버(200)는 사용자 단말(100)로 하여금 게임 플레이를 허용할 수 있다. According to an embodiment of the present disclosure, the game server 200 may allow the user terminal 100 to play a game.

본 개시의 일 실시예에 따라, 게임 서버(200)는 블록체인 네트워크(400)를 구성하는 노드로서 동작할 수도 있다. 이 경우, 블록체인 네트워크(400)는 프라이빗 블록체인 네트워크 또는 퍼블릭 블록체인 네트워크 일 수 있다.According to an embodiment of the present disclosure, the game server 200 may operate as a node constituting the blockchain network 400. In this case, the blockchain network 400 may be a private blockchain network or a public blockchain network.

본 개시의 일 실시예에 따라, 블록체인 네트워크(400)는 블록체인 기술에 기반하여 동작하는 복수의 노드들을 의미할 수 있다. 여기서, 블록체인 기술은 블록이 체인형태로 연결된 저장 구조를 사용하여, 관리 대상이 되는 데이터를 블록체인 네트워크를 구성하는 복수의 노드들에 저장하는 분산 저장 기술이다. 전술한 블록체인 네트워크(400)는 예시일 뿐 본 개시는 이에 제한되지 않는다.According to an embodiment of the present disclosure, the blockchain network 400 may mean a plurality of nodes operating based on blockchain technology. Here, the blockchain technology is a distributed storage technology that stores data to be managed in a plurality of nodes constituting a blockchain network by using a storage structure in which blocks are connected in a chain form. The above-described blockchain network 400 is only an example, and the present disclosure is not limited thereto.

본 개시의 일 실시예에 따라, 블록체인 네트워크(400)는 사용자 단말(100), 게임 서버(200) 중 적어도 하나로부터 전달된 트랜잭션을 사전 결정된 합의 알고리즘에 기초하여 블록 형태로 저장할 수 있다. 블록 형태로 저장되는 데이터는 블록체인 네트워크(400)를 구성하는 복수의 노드들에 의해 공유될 수 있다. 블록 형태로 저장되는 데이터는 게임 데이터를 포함할 수 있으며, 게임 데이터는 사용자의 캐릭터 정보(예를 들어, 캐릭터의 랭킹, 캐릭터가 보유하고 있는 아이템, 캐릭터의 레벨, 캐릭터가 수행한 퀘스트), 사용자의 활동 로그(예를 들어, 특정 스테이지 플레이 기록, 다른 사용자와의 대전 기록) 또는 게임 실행 가능한 명령어 형태의 데이터(예를 들어, 게임을 실행하기 위한 바이트코드(Bytecode)) 중 적어도 하나를 포함할 수 있다. 본 개시의 다른 일 실시예에 따라 게임 데이터는 암호화될 수도 있다. 전술한 블록체인 네트워크(400)는 예시일 뿐 본 개시는 이에 제한되지 않는다.According to an embodiment of the present disclosure, the blockchain network 400 may store a transaction transmitted from at least one of the user terminal 100 and the game server 200 in a block form based on a predetermined consensus algorithm. Data stored in a block form may be shared by a plurality of nodes constituting the block chain network 400. The data stored in the form of blocks may include game data, and the game data includes user character information (e.g., character ranking, items held by characters, character levels, quests performed by characters), and users Including at least one of an activity log (for example, a record of a specific stage play, a record of a match against another user) or data in the form of a game executable command (for example, a bytecode for executing a game). I can. According to another embodiment of the present disclosure, game data may be encrypted. The above-described blockchain network 400 is only an example, and the present disclosure is not limited thereto.

본 개시의 일 실시예에 따라, 블록체인 네트워크(400)에서 수행되는 합의 알고리즘은: PoW(Proof of Work) 알고리즘, PoS(Proof of Stake) 알고리즘, DPoS(Delegated Proof of Stage) 알고리즘, PBFT(Practical Byzantine Fault Tolerance) 알고리즘, DBFT(Delegated Byzantine Fault Tolerance) 알고리즘, RBFT(Redundant Byzantine Fault Tolerance) 알고리즘, Sieve 알고리즘, Tendermint 알고리즘, Paxos 알고리즘, Raft 알고리즘, PoA(Proof of Authority) 알고리즘 및/또는 PoET(Proof of Elapsed Time) 알고리즘을 포함할 수 있다. 전술한 합의 알고리즘은 예시일 뿐, 본 개시는 이에 제한되지 않는다.According to an embodiment of the present disclosure, the consensus algorithm performed in the blockchain network 400 is: PoW (Proof of Work) algorithm, PoS (Proof of Stake) algorithm, DPoS (Delegated Proof of Stage) algorithm, PBFT (Practical Byzantine Fault Tolerance) Algorithm, Delegated Byzantine Fault Tolerance (DBFT) Algorithm, Redundant Byzantine Fault Tolerance (RBFT) Algorithm, Sieve Algorithm, Tendermint Algorithm, Paxos Algorithm, Raft Algorithm, Proof of Authority (PoA) Algorithm, and/or Proof of Elapsed Time) algorithm. The above-described consensus algorithm is only an example, and the present disclosure is not limited thereto.

본 개시의 일 실시예에 따라, 블록체인 네트워크(400)에서의 노드들은 계층 구조에 따른 블록체인 코어 패키지에 의해 동작할 수 있다. 상기 계층 구조는: 블록체인 네트워크(400)에서 다뤄지는 데이터의 구조를 정의하고 데이터를 관리하는 데이터 계층, 블록의 유효성을 검증하고 블록을 생성하는 마이닝을 수행하고 마이닝 과정에서 채굴자에게 지급되는 수수료의 처리를 담당하는 합의 계층, 스마트 컨트랙트를 처리 및 실행시키는 실행 계층, P2P 네트워크 프로토콜, 해시 함수, 전자서명, 인코딩 및 공통 저장소를 구현 및 관리하는 공통 계층, 및 다양한 어플리케이션이 생성, 처리 및 관리되는 응용 계층을 포함할 수 있다. 전술한 블록체인 네트워크(400)는 예시일 뿐 본 개시는 이에 제한되지 않는다.According to an embodiment of the present disclosure, nodes in the block chain network 400 may operate by a block chain core package according to a hierarchical structure. The hierarchical structure is: a data layer that defines the structure of data handled by the blockchain network 400 and manages data, a fee paid to miners during mining, performing mining to verify the validity of blocks and generating blocks The consensus layer in charge of processing of, the execution layer that processes and executes smart contracts, the P2P network protocol, the hash function, the common layer that implements and manages digital signatures, encoding and common storage, and various applications are created, processed and managed. It can include an application layer. The above-described blockchain network 400 is only an example, and the present disclosure is not limited thereto.

본 개시내용의 일 실시예에 따라, 게임 데이터를 보관하는데 있어서 블록체인 네트워크(400)를 사용함으로써, 사용자가 사용자의 게임 데이터를 보유할 수 있고, 사용자가 보유한 데이터의 무결성이 제공될 수 있다. 또한 게임 사업자의 의사 결정 및/또는 예기치 못한 하드웨어적, 소프트웨어적 결함으로 게임 데이터가 유실되는 상황에서도 사용자는 게임 데이터에 접근할 수 있다. 따라서 본 개시는, 게임 데이터를 블록체인 네트워크(400)에 저장함으로써, 게임 데이터를 어떤 상황에서도 영구적으로 보관할 수 있다. 따라서 사용자로 하여금 게임 데이터가 휘발적 속성을 가진 자산이 아니라 영구적 속성을 가진 자산이라는 인식 개선을 통해 사용자가 게임에 투입하는 시간과 자본을 증가시키는 효과를 기대할 수 있다.According to an embodiment of the present disclosure, by using the blockchain network 400 to store game data, the user can hold the user's game data, and the integrity of the data held by the user can be provided. In addition, users can access game data even in situations where game data is lost due to a decision made by a game operator and/or unexpected hardware or software defects. Accordingly, the present disclosure allows the game data to be permanently stored in any situation by storing the game data in the blockchain network 400. Therefore, the user can expect the effect of increasing the time and capital that the user spends on the game by improving their perception that game data is not an asset with a volatile property but an asset with a permanent property.

본 개시의 일 실시예에 따라, 통신 네트워크(500)는 공중전화 교환망(PSTN: Public Switched Telephone Network), xDSL(x Digital Subscriber Line), RADSL(Rate Adaptive DSL), MDSL(Multi Rate DSL), VDSL(Very High Speed DSL), UADSL(Universal Asymmetric DSL), HDSL(High Bit Rate DSL) 및 근거리 통신망(LAN) 등과 같은 다양한 유선 통신 시스템들을 사용할 수 있다.According to an embodiment of the present disclosure, the communication network 500 includes a public switched telephone network (PSTN), x Digital Subscriber Line (xDSL), Rate Adaptive DSL (RADSL), Multi Rate DSL (MDSL), and VDSL. Various wired communication systems such as (Very High Speed DSL), Universal Asymmetric DSL (UADSL), High Bit Rate DSL (HDSL), and local area network (LAN) can be used.

또한, 본 개시의 일 실시예에 따라, 통신 네트워크(500)는 CDMA(Code Division Multi Access), TDMA(Time Division Multi Access), FDMA(Frequency Division Multi Access), OFDMA(Orthogonal Frequency Division Multi Access), SC-FDMA(Single Carrier-FDMA) 및 다른 시스템들과 같은 다양한 무선 통신 시스템들을 사용할 수 있다. 본 개시내용에서 설명된 기술들은 위에서 언급된 네트워크들뿐만 아니라, 임의의 형태의 다른 통신 네트워크들에서도 사용될 수 있다. In addition, according to an embodiment of the present disclosure, the communication network 500 includes Code Division Multi Access (CDMA), Time Division Multi Access (TDMA), Frequency Division Multi Access (FDMA), Orthogonal Frequency Division Multi Access (OFDMA), Various wireless communication systems such as Single Carrier-FDMA (SC-FDMA) and other systems can be used. The techniques described in this disclosure may be used not only in the networks mentioned above, but also in any type of other communication networks.

본 개시의 일 실시예에 따라, 스마트 컨트랙트는 게임 데이터의 블록체인 네트워크 상에서의 보존을 수행하기 위한 디지털 언어로 작성되고 임의의 컴퓨팅 장치에서 실행될 수 있다. 또한 스마트 컨트랙트는, 새로운 스마트 컨트랙트를 생성하는 방식, 특정 스마트 컨트랙트상의 함수를 실행하는 방식, 또는 블록체인 네트워크(400)에서 동작가능한 코인을 전송하는 방식 중 적어도 하나에 의해 실행될 수 있다. 그리고, 스마트 컨트랙트는 외부 소유 어카운트에 의해서 발생한 트랜잭션이나 다른 컨트랙트에 의해서 실행될 수 있다. 전술한 스마트 컨트랙트는 예시일 뿐 본 개시는 이에 제한되지 않는다. According to an embodiment of the present disclosure, a smart contract is written in a digital language for performing preservation of game data on a blockchain network and can be executed on any computing device. In addition, the smart contract may be executed by at least one of a method of creating a new smart contract, a method of executing a function on a specific smart contract, or a method of transmitting a coin operable in the blockchain network 400. In addition, smart contracts can be executed by transactions or other contracts generated by externally owned accounts. The above-described smart contract is only an example, and the present disclosure is not limited thereto.

본 명세서에서의 코인은, 블록체인 네트워크(400) 상에서 동작가능한 임의의 형태의 암호화 화폐를 의미할 수 있다. 이러한 코인은 게임 서버(200)에 의해 그 시세에 따라 현금으로 전환 가능할 수 있다. Coin in this specification may mean any form of cryptocurrency that can be operated on the blockchain network 400. These coins may be converted into cash according to the market price by the game server 200.

본 개시의 일 실시예에 따라, 스마트 컨트랙트는 예를 들어, 무한 반복같은 악의적인 코드를 막고 게임 데이터와 관련된 데이터의 무결성를 지키기 위해, 트랜잭션을 실행할 때 특정한 실행 비용을 지급하도록 규정할 수도 있다. 여기에서의 실행 비용이란 블록체인 네트워크(400)에서 거래가능한 임의의 형태의 코인 또는 코인과 연동될 수 있는 별도의 다른 형태의 매개체(예컨대, 가스(gas) 등)을 의미할 수 있다. 비-제한적인 예시로서, 트랜잭션의 기본 실행 비용은 21,000 가스로 설정될 수 있다. 예를 들어, 이와 같은 실행 비용에는 트랜잭션 발행자의 어카운트 주소에 대한 ECDSA(Elliptic Curve Digital Signature Algorithm)를 처리하기 위한 비용, 트랜잭션 저장을 위한 스토리지 비용, 네트워크 대역폭 비용이 포함될 수 있다. 이와 같이 스마트 컨트랙트 실행 시 특정 비용을 지불하도록 정의되는 경우, 의도적인 디도스 공격과 같은 무한 실행과 같은 악의적인 공격이 방지될 수 있다. 추가적으로, 스마트 컨트랙트를 생성하거나 또는 실행시키고자 하는 엔티티가 특정한 금액(코인, 토큰 μ)을 블록체인 네트워크에서 스테이킹(staking)시킨 후, 추가 수수료의 지급 없이 스마트 컨트랙트를 실행시키는 방식의 실행 비용 정책이 사용될 수도 있다. 이러한 경우, 스테이킹이 종료되는 경우, 해당 스마트 컨트랙트의 실행이 허용되지 않게 된다. 전술한 스마트 컨트랙트는 예시일 뿐 본 개시는 이에 제한되지 않는다.According to an embodiment of the present disclosure, a smart contract may be prescribed to pay a specific execution cost when executing a transaction, for example, in order to prevent malicious code such as infinite repetition and to maintain the integrity of data related to game data. The execution cost here may mean any type of coin that can be traded on the blockchain network 400 or another type of medium that can be interlocked with the coin (eg, gas, etc.). As a non-limiting example, the base execution cost of the transaction may be set to 21,000 gas. For example, such execution costs may include the cost of processing the Elliptic Curve Digital Signature Algorithm (ECDSA) for the account address of the issuer of the transaction, the storage cost for storing the transaction, and the network bandwidth cost. If the smart contract is defined to pay a specific cost when executing a smart contract, malicious attacks such as infinite execution such as intentional DDoS attacks can be prevented. In addition, an execution cost policy in which the entity creating or executing a smart contract staking a specific amount (coin, token μ) on the blockchain network and then executing the smart contract without paying additional fees. May be used. In this case, when staking is terminated, execution of the smart contract is not allowed. The above-described smart contract is only an example, and the present disclosure is not limited thereto.

본 개시의 일 실시예에 따라, 스마트 컨트랙트들 간의 호출은, 메시지라는 구조체를 사용하여 구현될 수 있다. 예를 들어, 이러한 메시지는 컨트랙트 어카운트(CA)에 의해 생성될 수 있으며, 함수 호출시에 다른 컨트랙트로 전달될 수 있다. 일 실시예에서, 이러한 경우의 메시지는 외부 소유 어카운트에서 발생되는 트랜잭션과는 달리, 블록체인 네트워크(400) 내부에서 생성되어 처리되기 때문에, 가스와 같은 별도의 실행 비용이 발생되지 않을 수도 있다. 전술한 스마트 컨트랙트 간의 호출은 예시일 뿐 본 개시는 이에 제한되지 않는다.According to an embodiment of the present disclosure, calls between smart contracts may be implemented using a structure called a message. For example, these messages can be generated by a contract account (CA), and can be delivered to other contracts when a function is called. In one embodiment, since the message in this case is generated and processed inside the blockchain network 400, unlike a transaction occurring in an externally owned account, a separate execution cost such as gas may not be incurred. The above-described calling between smart contracts is only an example, and the present disclosure is not limited thereto.

본 개시의 일 실시예에 따라, 게임 데이터의 블록체인 네트워크(400) 상에서의 보존을 구현하는데 있어서, 스마트 컨트랙트의 함수를 컴파일된 코드 형태로 트랜잭션에 포함하여 블록체인을 통해 동기화할 때, 트랜잭션에 포함된 정보를 함수의 입력으로 하여 코드로 표현된 함수를 실행한 후 그 결과를 별도의 상태로 보관하는 방식으로 스마트 컨트랙트가 구현될 수 있다.According to an embodiment of the present disclosure, in implementing the preservation of game data on the blockchain network 400, when synchronizing through the blockchain by including a function of a smart contract in a transaction in the form of a compiled code, A smart contract can be implemented by executing a function expressed as a code by using the included information as a function input and storing the result in a separate state.

본 개시의 일 실시예에 따라, 블록체인 네트워크(400)를 구성하는 컴퓨팅 장치들은, 스마트 컨트랙트의 상태를 변경시키는 트랜잭션 보관 데이터베이스와 스마트 컨트랙트의 최신상태를 보관하고 있는 스마트 컨트랙트 데이터베이스를 포함할 수도 있다. 이러한 경우, 본 개시내용에서의 게임 데이터의 블록체인 네트워크 상에서의 관리를 위한 스마트 컨트랙트는 블록체인 네트워크(400) 상에서의 상태(state)를 변경할 수 있는 애플리케이션(즉, 게임 데이터의 블록체인 네트워크상에서의 관리를 위한 애플리케이션)으로 정의될 수 있고, 스마트 컨트랙트의 상태는 해당 애플리케이션(즉, 게임 데이터의 블록체인 네트워크 상에서의 관리를 위한 애플리케이션)에서 사용하는 변수로 정의될 수 있으며, 그리고 이를 변경하기 위한 입력값은 게임 서버(200), 사용자 단말(100) 중 적어도 하나로부터 발행된 트랜잭션에 포함될 수 있다. 전술한 블록체인 네트워크(400)는 예시일 뿐 본 개시는 이에 제한되지 않는다.According to an embodiment of the present disclosure, computing devices constituting the blockchain network 400 may include a transaction storage database that changes the state of the smart contract and a smart contract database that stores the latest state of the smart contract. . In this case, the smart contract for management of game data on the blockchain network in the present disclosure is an application that can change the state on the blockchain network 400 (i.e., game data on the blockchain network). Application for management), and the state of the smart contract can be defined as a variable used by the application (i.e., an application for management of game data on the blockchain network), and input to change it The value may be included in a transaction issued from at least one of the game server 200 and the user terminal 100. The above-described blockchain network 400 is only an example, and the present disclosure is not limited thereto.

본 개시의 일 실시예에 따라, 스마트 컨트랙트의 상태를 저장하는 데이터베이스는 높은 압축률을 달성하기 위해 트랜잭션을 저장하는 데이터베이스와 합쳐져 있을 수도 있다. 또한, 스마트 컨트랙트의 상태를 저장하는 데이터베이스의 분산 합의와 스마트 컨트랙트의 낮은 의존성을 달성하기 위해 트랜잭션을 저장하는 데이터베이스와 분리되어 동작할 수도 있다. 전술한 데이터베이스는 예시일 뿐 본 개시는 이에 제한되지 않는다.According to an embodiment of the present disclosure, a database storing a state of a smart contract may be combined with a database storing a transaction in order to achieve a high compression rate. In addition, in order to achieve the distributed consensus of the database storing the state of the smart contract and the low dependency of the smart contract, it can operate separately from the database storing the transaction. The above-described database is only an example, and the present disclosure is not limited thereto.

도 2는 본 개시내용의 일 실시예에 따른 게임 서버를 예시적으로 도시한다.2 exemplarily shows a game server according to an embodiment of the present disclosure.

도 2에서 도시되는 바와 같이, 게임 서버(200)는 프로세서(201), 저장부(202) 및 송수신부(203)를 포함할 수 있다. 전술한 컴포넌트들은 예시적인 것으로서 본 개시내용의 권리범위가 전술한 컴포넌트들로 제한되지는 않는다. 즉, 본 개시내용의 실시예들에 대한 구현 양태에 따라서 추가적인 컴포넌트들이 포함되거나 또는 전술한 컴포넌트들 중 일부가 생략될 수 있다.As shown in FIG. 2, the game server 200 may include a processor 201, a storage unit 202, and a transmission/reception unit 203. The above-described components are exemplary, and the scope of the present disclosure is not limited to the above-described components. That is, additional components may be included or some of the above-described components may be omitted according to implementation aspects of the embodiments of the present disclosure.

본 개시의 일 실시예에 따라, 게임 서버(200)는 게임 데이터를 블록체인 네트워크에 저장시키기 위한 트랜잭션을 생성할 수 있다.According to an embodiment of the present disclosure, the game server 200 may generate a transaction for storing game data in a blockchain network.

본 개시의 일 실시예에 따라, 게임 데이터는, 사용자의 캐릭터 정보, 사용자의 활동 로그 또는 게임 실행 가능한 명령어 형태의 데이터 중 적어도 하나를 포함할 수 있다. 게임 데이터는 다수의 사용자들이 게임상에서 수행한 게임의 모든 기록을 포함할 수 있다. 본 개시의 일 실시예에 따라, 사용자의 캐릭터 정보는 사용자 및/또는 다른 사용자가 플레이한 캐릭터에 관련된 정보일 수 있다. 사용자의 캐릭터 정보는 예를 들어, 상기 사용자의 캐릭터 정보가 포함된 게임 화면 이미지, 캐릭터의 랭킹 정보, 캐릭터의 보유 아이템 정보, 캐릭터의 장착 아이템 정보, 캐릭터의 게임 진행 정보 등과 같은 데이터를 포함할 수 있다. 캐릭터 정보가 포함된 게임 화면 이미지는 특정 시점에서의 캐릭터 정보가 포함된 스냅샷을 포함할 수 있다. 특정 시점은 게임 시스템의 변동 사항이 발생하는 시점일 수 있다. 게임 시스템의 변동 사항이 발생하는 시점은 게임 업데이트 시점, 게임 서비스 종료 시점, 게임 패치 시점을 포함할 수 있다. 또한 특정 시점은, 사용자가 게임 데이터를 요청한 시점을 포함할 수 있다. 전술한 게임 데이터는 예시일 뿐 본 개시는 이에 제한되지 않는다. According to an embodiment of the present disclosure, the game data may include at least one of data in the form of a user's character information, a user's activity log, or a game executable command. The game data may include all records of games played by multiple users on the game. According to an embodiment of the present disclosure, the user's character information may be information related to a user and/or a character played by another user. The user's character information may include, for example, data such as a game screen image including the user's character information, character ranking information, character possession item information, character installation item information, character game progress information, and the like. have. The game screen image including character information may include a snapshot including character information at a specific point in time. The specific time point may be a time point at which changes in the game system occur. The timing at which the change in the game system occurs may include a game update time, a game service end time, and a game patch time. Also, the specific time point may include a time point at which the user requests game data. The above-described game data is only an example, and the present disclosure is not limited thereto.

본 개시의 일 실시예에 따라 사용자의 활동 로그는, 게임 시뮬레이션 또는 게임 리플레이 중 적어도 하나를 위한 게임 화면 이미지 또는 게임 플레이 영상 중 적어도 하나를 포함할 수 있다. 사용자의 활동 로그는 사용자가 게임 상에서 수행한 모든 활동의 기록을 포함할 수 있다. 사용자의 활동 로그는 예를 들어, 캐릭터 플레이 타임, 계정 플레이 타임, 아이템별 사용빈도, 개인상점 거래품목, 아이템 생성, 아이템 습득, 아이템 드랍, 아이템 소비, 아이템 생성, 아이템 소멸, 아이템 거래, 아이템 강화, 캐릭터 이동, 캐릭터 사망, 캐릭터 레벨업, 캐릭터 생성, 캐릭터 공격, 캐릭터 방어, 서버 시작과 종료시간, 서버 응답시간, 운영자 명령어, 몬스터 생성, 현재 캐릭터가 착용하고 있는 아이템 등을 포함할 수 있다. 게임 화면 이미지는 특정 시점에서의 사용자의 게임 플레이가 포함된 스냅샷을 포함할 수 있다. 게임 플레이 영상은 일정한 시간 동안 사용자의 게임 플레이를 연속된 이미지로 저장한 형태의 데이터를 포함할 수 있다. 전술한 사용자의 활동 로그는 예시일 뿐 본 개시는 이에 제한되지 않는다.According to an embodiment of the present disclosure, the user's activity log may include at least one of a game screen image or a game play image for at least one of a game simulation or a game replay. The user's activity log may include a record of all activities performed by the user in the game. The user's activity log is, for example, character play time, account play time, frequency of use by item, personal store transaction item, item creation, item acquisition, item drop, item consumption, item creation, item destruction, item transaction, item reinforcement , Character movement, character death, character level up, character creation, character attack, character defense, server start and end time, server response time, operator command, monster creation, and items currently worn by the character. The game screen image may include a snapshot including a user's game play at a specific point in time. The game play image may include data in the form of storing the user's game play as a continuous image for a predetermined period of time. The above-described user activity log is only an example, and the present disclosure is not limited thereto.

본 개시의 일 실시예에 따라, 게임 실행 가능한 명령어 형태의 데이터는 게임을 실행시키기 위한 바이트코드(Bytecode)를 포함할 수 있다. 바이트코드는 특정 하드웨어가 아닌 가상 컴퓨터에서 실행되는 실행 프로그램을 위한 이진 표현법일 수 있다. 게임 실행 가능한 명령어 형태의 데이터를 통해, 게임 회사의 의사 결정에 의해 게임 서비스가 종료된 경우에도, 게임 플레이를 사용자 단말에서 할 수 있다. 더 구체적으로는, 게임 플레이는 오프라인 상황에서 플레이되는 게임 플레이일 수 있다. 따라서 사용자 단말은 게임 서버(200)와 네트워크를 통해 연결되지 않은 상황에서도 게임을 플레이할 수 있다. 전술한 게임 실행 가능한 명령어 형태의 데이터는 예시일 뿐 본 개시는 이에 제한되지 않는다.According to an embodiment of the present disclosure, data in the form of an instruction capable of executing a game may include a bytecode for executing a game. The bytecode may be a binary representation for an executable program running on a virtual computer rather than specific hardware. Through data in the form of instructions that can be executed by the game, game play can be performed in the user terminal even when the game service is terminated by a decision made by the game company. More specifically, the game play may be a game play played in an offline situation. Therefore, the user terminal can play the game even when the game server 200 and the network are not connected. The above-described data in the form of instructions that can be executed by the game is only an example, and the present disclosure is not limited thereto.

본 개시의 일 실시예에 따라, 트랜잭션은 블록체인 네트워크(400)상에 기록된 게임 데이터에 대한 업데이트(수정/변경/삭제/추가)를 수행하는 데 사용될 수 있다. 트랜잭션은 예를 들어, 사용자의 게임 데이터를 획득하기 위한 정보를 블록체인 네트워크 상에 기록하는데 사용될 수 있다. 전술한 트랜잭션을 예시일 뿐 본 개시는 이에 제한되지 않는다.According to an embodiment of the present disclosure, a transaction may be used to perform an update (modification/change/delete/add) on game data recorded on the blockchain network 400. The transaction can be used, for example, to record information for obtaining game data of the user on the blockchain network. The above-described transaction is only an example, and the present disclosure is not limited thereto.

본 개시의 일 실시예에 따라, 트랜잭션은 게임 서버에 저장된 게임 데이터, 블록체인 네트워크의 노드에 저장된 게임 데이터를 획득하기 위한 정보, 또는 게임 데이터의 위변조 방지를 위한 해시값 중 적어도 하나를 포함할 수 있다. 전술한 트랜잭션은 예시일 뿐 본 개시는 이에 제한되지 않는다.According to an embodiment of the present disclosure, the transaction may include at least one of game data stored in a game server, information for obtaining game data stored in a node of a blockchain network, or a hash value for preventing forgery of game data. have. The above-described transaction is only an example, and the present disclosure is not limited thereto.

본 개시의 다른 일 실시예에 따라, 블록체인 네트워크의 노드에 저장된 게임 데이터를 획득하기 위한 정보는 블록에 저장되는 데이터의 크기를 감소시키기 위한 게임 데이터 중 적어도 일부일 수 있다. 게임 데이터를 획득하기 위한 정보는 예를 들어, 게임 데이터가 게임 화면 이미지인 경우, 게임 화면 이미지를 획득할 수 있는 정보를 포함할 수 있다. 따라서 게임 화면 이미지는 사용자 단말, 게임 서버 또는 블록체인 네트워크에 포함된 노드에 저장되어 있을 수 있고, 게임 화면 이미지를 획득할 수 있는 정보(예를 들어, 게임 화면 이미지의 id 값)를 블록에 저장함으로써, 블록에 저장되는 데이터의 크기를 감소시킬 수 있다. 또 다른 일 실시예에서, 게임 데이터를 획득하기 위한 정보는 예를 들어, 리플레이 영상인 경우, 리플레이 영상을 획득할 수 있는 정보를 포함할 수 있다. 따라서 리플레이 영상은 사용자 단말, 게임 서버, 블록체인 네트워크에 포함된 노드에 저장되어 있을 수 있고, 리플레이 영상을 획득할 수 있는 정보(예를 들어, 리플레이 영상의 id 값)를 블록에 저장함으로써 블록에 저장되는 데이터의 크기를 감소시킬 수 있다. 이를 통해, 블록체인 네트워크(400) 전체에 저장되는 데이터의 양을 감소시킬 수 있으므로, 블록체인 네트워크(400)가 수용 가능한 데이터의 양을 초과하여 발생하는 보안 문제를 미연에 방지할 수 있는 효과를 기대할 수 있다. 전술한 블록체인 네트워크의 노드에 저장된 게임 데이터를 획득하기 위한 정보는 예시일 뿐 본 개시는 이에 제한되지 않는다.According to another embodiment of the present disclosure, information for obtaining game data stored in a node of a blockchain network may be at least some of game data for reducing the size of data stored in a block. The information for obtaining game data may include information for obtaining a game screen image, for example, when the game data is a game screen image. Therefore, the game screen image may be stored in a user terminal, a game server, or a node included in the blockchain network, and information that can obtain the game screen image (for example, the id value of the game screen image) is stored in a block. By doing so, it is possible to reduce the size of the data stored in the block. In another embodiment, the information for obtaining game data may include information for obtaining a replay image, for example, in the case of a replay image. Therefore, the replay image may be stored in a user terminal, a game server, or a node included in the blockchain network, and information that can obtain the replay image (for example, the id value of the replay image) is stored in the block. The size of stored data can be reduced. Through this, since the amount of data stored in the entire block chain network 400 can be reduced, the effect of preventing security problems that occur in excess of the amount of data that the block chain network 400 can accommodate can be prevented in advance. Can be expected. The information for obtaining game data stored in the node of the above-described blockchain network is only an example, and the present disclosure is not limited thereto.

본 개시의 다른 일 실시예에 따라, 게임 데이터의 위변조 방지를 위한 해시값은 게임 데이터를 고정된 길이의 데이터로 변환된 값일 수 있다. 또한 게임 데이터의 위변조 방지를 위한 해시값은 해시 함수에 의해 원본 데이터를 알아볼 수 없도록 변환된 특수한 문자열일 수 있다. 게임 서버(200)는 해시 함수를 이용하여 원본 데이터인 게임 데이터를 고정된 길이의 데이터로 변환할 수 있다. 원본 데이터인 게임 데이터가 변경된 경우, 해시값도 변경되므로 게임 서버(200)는 게임 데이터의 변경을 인식할 수 있다. 변경된 게임 데이터는 게임 데이터를 위조 및/또는 변조하여 변경된 데이터를 포함할 수 있다. 게임 서버(200)는 게임 데이터를 획득하기 위한 정보, 블록체인 네트워크의 노드에 저장된 게임 데이터를 획득하기 위한 정보의 해시값을 생성할 수 있다. 또한 게임 서버(200)는 게임 데이터를 블록체인 네트워크에 저장시키기 위한 트랜잭션을 생성하는 경우, 생성된 해시값을 트랜잭션에 포함시킬 수 있다. 이를 통해, 사용자 단말(100) 또는 게임 서버(200)는 게임 데이터가 위조 및/또는 변조되었는지 여부를 게임 데이터의 위변조 방지를 위한 해시값에 기초하여 판단함으로써, 게임 데이터의 신뢰성을 확보할 수 있다. 따라서 사용자는 자신이 제공받는 게임 데이터가 변경되지 않은 게임 데이터임을 신뢰할 수 있어, 블록체인에 저장된 게임 데이터의 활용 빈도가 증가하는 효과를 기대할 수 있다. 전술한 게임 데이터의 위변조 방지를 위한 해시값은 예시일 뿐 본 개시는 이에 제한되지 않는다.According to another embodiment of the present disclosure, a hash value for preventing forgery and alteration of game data may be a value obtained by converting game data into fixed-length data. In addition, a hash value for preventing forgery and alteration of game data may be a special character string converted so that the original data cannot be recognized by a hash function. The game server 200 may convert original game data into fixed length data using a hash function. When the game data, which is the original data, is changed, the hash value is also changed, so that the game server 200 can recognize the change of the game data. The changed game data may include data changed by forging and/or altering the game data. The game server 200 may generate a hash value of information for obtaining game data and information for obtaining game data stored in a node of a blockchain network. In addition, when generating a transaction for storing game data in a blockchain network, the game server 200 may include the generated hash value in the transaction. Through this, the user terminal 100 or the game server 200 can secure the reliability of the game data by determining whether the game data is forged and/or altered based on a hash value for preventing forgery of the game data. . Therefore, the user can trust that the game data provided by him/her is unchanged game data, and can expect the effect of increasing the frequency of utilization of the game data stored in the blockchain. The hash value for preventing forgery and alteration of the game data described above is only an example and the present disclosure is not limited thereto.

본 개시의 일 실시예에 따라, 게임 서버(200)는 특정 시점마다 게임 데이터를 블록체인 네트워크에 저장시키기 위한 트랜잭션을 생성하고, 특정 시점은 게임 시스템의 변동 사항이 발생하는 시점일 수 있다. 게임 시스템의 변동 사항이 발생하는 시점은 예를 들어, 랭킹 시즌 종료 시점, 이벤트 진행 시점, 게임 업데이트 시점, 게임 서비스 종료 시점, 게임 패치 시점 등을 포함할 수 있다. 게임 서버(200)는 예를 들어, 랭킹 시즌이 종료할 때마다 사용자가 플레이하는 캐릭터의 랭킹 데이터(Ranking Data)를 블록체인 네트워크에 저장하기 위해 트랜잭션을 생성할 수 있다. 전술한 사항은 예시일 뿐 본 개시는 이에 제한되지 않는다.According to an embodiment of the present disclosure, the game server 200 generates a transaction for storing game data in the blockchain network at each specific time point, and the specific time point may be a time point at which changes in the game system occur. The timing at which the change in the game system occurs may include, for example, a ranking season end, an event progress, a game update, a game service end, a game patch, and the like. The game server 200, for example, may generate a transaction to store the ranking data of the character played by the user in the blockchain network whenever the ranking season ends. The foregoing is only an example, and the present disclosure is not limited thereto.

본 개시의 일 실시예에 따라, 게임 서버(200)는 사용자 단말(100)로부터 게임 데이터 저장 요청을 수신하고, 게임 데이터 저장 요청에 기초하여 게임 데이터를 획득할 수 있다. 게임 서버(200)는 송수신부(203)를 통해 게임 데이터 저장 요청을 수신할 수 있다. 게임 데이터 저장 요청은 사용자 식별 데이터를 포함할 수 있다. 사용자 식별 데이터는 게임 데이터 보안을 위해 특정 사용자를 다른 사용자와 식별할 수 있도록 하는 데이터일 수 있다. 예를 들어, 사용자 식별 데이터는 사용자 단발의 로그인 정보를 포함할 수 있고, 게임 서버(200)는 로그인 정보에 기초하여 게임 데이터 요청의 유효성을 확인할 수 있다. 전술한 사항은 예시일 뿐이며, 본 개시는 이에 제한되지 않는다.According to an embodiment of the present disclosure, the game server 200 may receive a game data storage request from the user terminal 100 and obtain game data based on the game data storage request. The game server 200 may receive a request to store game data through the transmission/reception unit 203. The game data storage request may include user identification data. The user identification data may be data that enables a specific user to be identified from other users for game data security. For example, the user identification data may include single user login information, and the game server 200 may check the validity of the game data request based on the login information. The foregoing is only an example, and the present disclosure is not limited thereto.

본 개시의 다른 일 실시예에 따라, 게임 서버(200)는 게임 데이터를 저장부(202), 사용자 단말(100) 또는 블록체인 네트워크(400) 중 적어도 하나로부터 게임 데이터를 획득할 수 있다. 게임 서버(200)는 사용자 단말(100) 또는 블록체인 네트워크(400) 중 적어도 하나로부터 송수신부(203)를 통해 수신한 게임 데이터를 저장부(202)에 저장할 수 있다. 전술한 사항은 예시일 뿐이며, 본 개시는 이에 제한되지 않는다.According to another embodiment of the present disclosure, the game server 200 may acquire game data from at least one of the storage unit 202, the user terminal 100, or the blockchain network 400. The game server 200 may store game data received from at least one of the user terminal 100 or the blockchain network 400 through the transmission/reception unit 203 in the storage unit 202. The foregoing is only an example, and the present disclosure is not limited thereto.

본 개시의 일 실시예에 따라, 게임 서버(200)는 게임 데이터 저장 요청에 포함된 토큰에 기초하여 상기 게임 데이터를 획득할 수 있다. 토큰은 사용자 식별 데이터 또는 게임 데이터 저장 요청을 실행하는 비용 정보 중 적어도 하나를 포함할 수 있다. 게임 서버(200)는 게임 데이터 저장 요청을 실행하는 비용 정보에 기초하여 게임 데이터를 획득하는 동작을 수행할 수 있다. 사용자가 게임 데이터 저장 요청에 대응하는 비용을 지불하지 않는 경우, 게임 데이터를 획득하는 동작을 수행하지 않을 수 있다. 예를 들어, 사용자가 게임 데이터 저장 요청에 대응하는 비용이 1000원인 경우, 사용자의 게임 데이터 저장 요청에 포함된 비용 정보에는 1000원 이상의 재화가 포함되어 있어야 게임 서버(200)는 게임 저장 요청에 대한 비용을 정산하고 게임 데이터를 획득하는 동작을 수행할 수 있다. 이를 통해, 게임 회사는 사용자가 자신이 영구적으로 간직하고 싶은 게임 데이터를 유료 서비스로 제공함으로써, 게임 회사의 수익이 증대되어, 사용자에게 더욱 향상된 게임 서비스를 제공할 수 있다. 전술한 토큰은 예시일 뿐이며, 본 개시는 이에 제한되지 않는다.According to an embodiment of the present disclosure, the game server 200 may acquire the game data based on a token included in the game data storage request. The token may include at least one of user identification data or cost information for executing a request to store game data. The game server 200 may perform an operation of obtaining game data based on cost information for executing a game data storage request. If the user does not pay the cost corresponding to the game data storage request, the operation of obtaining game data may not be performed. For example, if the cost corresponding to the user's game data storage request is 1,000 won, the cost information included in the user's game data storage request must include goods of 1,000 won or more so that the game server 200 responds to the game data storage request. It is possible to settle costs and perform an operation of acquiring game data. Through this, the game company provides the game data that the user wants to keep permanently as a paid service, thereby increasing the game company's profits, thereby providing a more improved game service to the user. The above-described token is only an example, and the present disclosure is not limited thereto.

본 개시의 일 실시예에 따라, 게임 서버(200)는 게임 데이터가 사용자의 개인 데이터인 경우, 사용자 단말의 개인 데이터 암호화 요청에 기초하여 사용자 개인 데이터의 암호화 여부를 결정할 수 있다. 사용자의 개인 데이터는, 사용자가 플레이하는 캐릭터와 관련된 정보일 수 있다. 사용자의 개인 데이터는 또한 사용자의 개인 정보와 관련된 데이터일 수 있다. 예를 들어, 사용자의 개인 데이터는 사용자의 캐릭터 정보(예를 들어, 캐릭터가 보유한 아이템, 캐릭터 레벨), 사용자의 활동 로그를 포함할 수 있다. 전술한 사용자의 개인 데이터는 예시일 뿐, 본 개시는 이에 제한되지 않는다. According to an embodiment of the present disclosure, when the game data is the user's personal data, the game server 200 may determine whether to encrypt the user's personal data based on a request to encrypt the personal data of the user terminal. The user's personal data may be information related to a character played by the user. The user's personal data may also be data related to the user's personal information. For example, the user's personal data may include the user's character information (eg, items held by the character, character level), and the user's activity log. The aforementioned personal data of the user is only an example, and the present disclosure is not limited thereto.

본 개시의 다른 일 실시예에 따라 게임 서버(200)는 게임 데이터가 사용자의 개인 데이터인 경우, 사용자 단말의 개인 데이터 암호화 요청에 기초하여 사용자 개인 데이터의 암호화 여부를 결정할 수 있다. 개인 데이터인 경우 사용자는 자신의 정보가 다른 사용자에게 공개되는 것을 원할 수도 있고 원하지 않을 수도 있다. 따라서 이러한 사용자의 의사 결정을 존중하고 사용자의 개인 사생활 및 사용자의 고유의 게임 플레이 노하우를 보호하기 위해서, 게임 데이터가 개인 데이터인 경우에 게임 서버(200)는 사용자 단말의 개인 데이터 암호화 요청에 기초하여 게임 데이터를 암호화하여 다른 사용자가 조회할 수 없도록 할 수 있다. 사용자가 개인 데이터 암호화 요청을 하지 않은 경우, 개인 데이터는 암호화 과정 없이 블록체인 네트워크에 저장되어 다른 사용자도 게임 데이터를 조회할 수 있다. 게임 서버(200)는 사용자 단말의 개인 데이터 암호화 요청이 수신된 경우, 대칭키 알고리즘 및/또는 비대칭키 알고리즘을 통해 게임 데이터를 암호화할 수 있다. 전술한 게임 데이터 암호화는 예시일 뿐 본 개시는 이에 제한되지 않는다. According to another embodiment of the present disclosure, when the game data is the user's personal data, the game server 200 may determine whether to encrypt the user's personal data based on the personal data encryption request of the user terminal. In the case of personal data, users may or may not want their information to be disclosed to other users. Therefore, in order to respect the user's decision making and to protect the user's personal privacy and the user's own gameplay know-how, in the case where the game data is personal data, the game server 200 is based on the request for encryption of personal data from the user terminal. Game data can be encrypted so that other users cannot view it. If the user does not request to encrypt personal data, the personal data is stored on the blockchain network without the encryption process, so other users can view the game data. The game server 200 may encrypt game data through a symmetric key algorithm and/or an asymmetric key algorithm when a request for personal data encryption from the user terminal is received. The above-described encryption of game data is only an example, and the present disclosure is not limited thereto.

본 개시의 다른 일 실시예에 따라 게임 서버(200)는 사용자 단말의 개인 데이터 암호화 요청이 수신된 경우, 비대칭키 암호화 알고리즘을 통해 상기 사용자의 개인 데이터를 공개키로 암호화할 수 있다. 게임 서버(200)가 게임 데이터를 비대칭키 알고리즘을 통해 암호화한 경우, 다른 사용자 단말들은 게임 서버(200)의 개인키를 확인할 수 없기 때문에, 사용자 단말(100)의 개인키를 암호화한 게임 데이터에 대하여 복호화가 불가능하다. 즉, 암호화된 게임 데이터가 유출되더라도 다른 사용자 단말은 게임 서버(200)의 게임 서버 개인키를 확인할 수 없어, 사용자 단말의 개인키의 보안을 유지할 수 있다. 예를 들어, 사용자 단말(100a)의 개인키를 암호화한 게임 데이터에 대하여 다른 사용자 단말(100b)은 해당 게임 데이터를 획득하여도 게임 서버 개인키를 확인할 수 없으므로, 사용자 단말(100a)의 개인키를 암호화한 게임 데이터의 보안이 유지될 수 있다. 전술한 암호화 과정은 예시일 뿐 본 개시는 이에 제한되지 않는다. According to another embodiment of the present disclosure, when a request for personal data encryption from a user terminal is received, the game server 200 may encrypt the user's personal data with a public key through an asymmetric key encryption algorithm. When the game server 200 encrypts the game data through an asymmetric key algorithm, other user terminals cannot verify the private key of the game server 200, so that the private key of the user terminal 100 is encrypted in the game data. Against this, decryption is impossible. That is, even if the encrypted game data is leaked, other user terminals cannot check the game server private key of the game server 200, so that the security of the private key of the user terminal can be maintained. For example, for game data that has encrypted the private key of the user terminal 100a, the other user terminal 100b cannot verify the game server private key even if the game data is acquired, so the private key of the user terminal 100a The security of the encrypted game data can be maintained. The above-described encryption process is only an example, and the present disclosure is not limited thereto.

본 개시의 일 실시예에 따라, 노드는 저장 대상 데이터를 블록체인 네트워크에 저장할지 여부를 결정하는 심사위원 노드를 포함할 수 있다. 심사위원 노드는 블록체인 네트워크(400)에 저장되는 게임 데이터를 선별하여 블록체인 네트워크(400)에 필요한 게임 데이터만 저장될 수 있도록 하는 블록체인 네트워크에 포함된 노드일 수 있다. 심사위원 노드는 게임 서버(200)와 프라이빗 블록체인 네트워크를 형성할 수 있다. 심사위원 노드는 사용자 단말(100) 또는 게임 서버(200)일 수 있다. 심사위원 노드를 통해 저장 대상 데이터를 블록체인 네트워크에 저장되는 게임 데이터를 선별하여, 블록체인 네트워크(400)에 무작위로 게임 데이터가 저장되는 것을 방지할 수 있다. 저장 대상 데이터는 사용자의 게임 데이터 저장 요청에 대응하는 데이터일 수 있다. 또한 저장 대상 데이터는 사용자의 개인 데이터를 제외한 데이터일 수 있다. 전술한 심사 위원 노드는 예시일 뿐 본 개시는 이에 제한되지 않는다.According to an embodiment of the present disclosure, the node may include a judge node that determines whether to store data to be stored in a blockchain network. The judge node may be a node included in the blockchain network that selects game data stored in the blockchain network 400 and allows only game data necessary for the blockchain network 400 to be stored. The jury node may form a private blockchain network with the game server 200. The judge node may be the user terminal 100 or the game server 200. It is possible to prevent randomly storing game data in the blockchain network 400 by selecting game data to be stored in the blockchain network for the data to be stored through the judge node. The storage target data may be data corresponding to a user's request to store game data. In addition, the data to be stored may be data excluding personal data of the user. The above-described judge node is only an example, and the present disclosure is not limited thereto.

본 개시의 다른 일 실시예에 따라, 심사위원 노드는 사전 결정된 기준에 따라 선정된 노드일 수 있다. 사전 결정된 기준은 게임에 영향을 가장 많이 미치는 영향력이 기준일 수 있다. 예를 들어, 게임 회사는 실질적으로 게임에 영향을 가장 많이 미치므로 게임 회사가 운영하는 게임 서버(200)가 심사위원 노드가 될 수 있다. 또한, 사용자의 캐릭터가 랭킹이 높은 경우(예를 들어, 랭킹이 상위 0.1%)인 경우 해당 사용자의 사용자 단말이 심사위원 노드가 될 수 있다. 전술한 심사위원 노드 결정 기준은 예시일 뿐, 본 개시는 이에 제한되지 않는다.According to another embodiment of the present disclosure, the judge node may be a node selected according to a predetermined criterion. The predetermined criterion may be the criterion of the influence that most affects the game. For example, a game company substantially affects the game the most, so the game server 200 operated by the game company may be a judge node. In addition, when the user's character has a high ranking (for example, the ranking is the top 0.1%), the user terminal of the user may be a judge node. The above-described criteria for determining a judge node are only examples, and the present disclosure is not limited thereto.

본 개시의 일 실시예에 따라, 게임 서버(200)는 블록체인 네트워크에 포함된 적어도 하나의 노드에 트랜잭션을 전송함으로써 블록체인 네트워크에 포함된 복수의 노드에서 합의 알고리즘에 기초하여 상기 트랜잭션을 블록에 기록하도록 야기할 수 있다. 블록체인 네트워크(400)에서 수행되는 합의 알고리즘은: PoW(Proof of Work) 알고리즘, PoS(Proof of Stake) 알고리즘, DPoS(Delegated Proof of Stage) 알고리즘, PBFT(Practical Byzantine Fault Tolerance) 알고리즘, DBFT(Delegated Byzantine Fault Tolerance) 알고리즘, RBFT(Redundant Byzantine Fault Tolerance) 알고리즘, Sieve 알고리즘, Tendermint 알고리즘, Paxos 알고리즘, Raft 알고리즘, PoA(Proof of Authority) 알고리즘 및/또는 PoET(Proof of Elapsed Time) 알고리즘을 포함할 수 있다. 전술한 합의 알고리즘은 예시일 뿐, 본 개시는 이에 제한되지 않는다.According to an embodiment of the present disclosure, the game server 200 transmits a transaction to at least one node included in the blockchain network, thereby transmitting the transaction to a block based on a consensus algorithm in a plurality of nodes included in the blockchain network. Can cause it to be recorded. The consensus algorithm performed in the blockchain network 400 is: PoW (Proof of Work) algorithm, PoS (Proof of Stake) algorithm, DPoS (Delegated Proof of Stage) algorithm, PBFT (Practical Byzantine Fault Tolerance) algorithm, DBFT (Delegated Byzantine Fault Tolerance) algorithm, Redundant Byzantine Fault Tolerance (RBFT) algorithm, Sieve algorithm, Tendermint algorithm, Paxos algorithm, Raft algorithm, PoA (Proof of Authority) algorithm, and/or PoET (Proof of Elapsed Time) algorithm. . The above-described consensus algorithm is only an example, and the present disclosure is not limited thereto.

본 개시의 일 실시예에 따라, 심사위원 노드에서 합의 알고리즘에 기초하여 트랜잭션을 블록에 기록하도록 야기할 수 있다. 심사위원 노드가 복수개로 구성된 블록체인 네트워크인 경우, 심사위원 노드의 합의된 의사 결정의 필요성이 존재할 수 있다.According to an embodiment of the present disclosure, it is possible to cause a judge node to write a transaction to a block based on a consensus algorithm. In the case of a blockchain network consisting of a plurality of judge nodes, there may be a need for consensus decision making by the judge nodes.

본 개시의 일 실시예에 따라, 게임 서버(200)는 스마트 컨트랙트를 활용한 심사위원 노드의 투표를 통해 트랜잭션을 블록에 기록할 것을 결정할 수 있다. 스마트 컨트랙트는 게임 데이터의 블록체인 네트워크 상에서의 보존을 수행하기 위한 디지털 언어로 작성되고 임의의 컴퓨팅 장치에서 실행될 수 있다. 스마트 컨트랙트를 활용한 심사위원 노드의 투표는 심사위원 노드의 투표 결과가 분산 저장되는 과정을 통해 구현될 수 있다. 투표 결과가 분산 저장됨으로써, 투표 결과의 신뢰성을 보장할 수 있다. 스마트 컨트랙트는 투표를 위한 투표 기능, 투표 확인 기능, 집계 확인 기능을 포함할 수 있다. 투표 기능은 노드의 의사 결정을 반영하는 기능일 수 있다. 예를 들어, 투표 기능을 통해 심사위원 노드가 게임 데이터 저장 요청에 대응하는 게임 데이터 저장에 대해 동의하는 경우, 심사위원 노드의 "게임 데이터 저장 동의"라는 의사 결정을 반영할 수 있다. 투표 확인 기능은 심사위원 노드의 중복 투표를 방지하기 위한 기능일 수 있다. 투표 집계 기능은 노드의 의사 결정을 집계하는 기능일 수 있다. 예를 들어, 5개의 심사위원 노드 중 게임 데이터 저장 요청에 대응하는 게임 데이터 저장에 대해 동의하는 노드가 3개인 경우, "게임 데이터 저장 동의"라는 의사 결정을 한 심사위원 노드는 3인 것을 집계할 수 있다. 따라서 심사위원 노드의 스마트 컨트랙트를 활용한 투표를 통해 게임 데이터 저장 요청에 대응하는 게임 데이터를 선별적으로 저장함으로써, 블록체인 네트워크에 저장되는 게임 데이터의 양을 줄일 수 있어, 블록체인 네트워크를 효율적으로 운영할 수 있다. 전술한 스마트 컨트랙트를 활용한 투표는 예시일 뿐, 본 개시는 이에 제한되지 않는다. According to an embodiment of the present disclosure, the game server 200 may determine to record a transaction in a block through a vote of a judge node using a smart contract. Smart contracts are written in a digital language to perform preservation of game data on a blockchain network and can be executed on any computing device. Voting of the judge node using a smart contract can be implemented through a process in which the vote result of the judge node is distributed and stored. Since voting results are distributed and stored, the reliability of voting results can be guaranteed. The smart contract may include a voting function for voting, a voting confirmation function, and an aggregate confirmation function. The voting function may be a function that reflects a node's decision making. For example, when a judge node agrees to store game data corresponding to a game data storage request through a voting function, the decision of the judge node “consent to save game data” may be reflected. The voting confirmation function may be a function for preventing duplicate voting of the judge node. The voting aggregation function may be a function of aggregating decision-making of nodes. For example, if three of the five judges nodes agree on the storage of game data corresponding to the request to save game data, the number of judges nodes that made a decision to “consent to save game data” will be counted as three. I can. Therefore, by selectively storing game data corresponding to game data storage requests through voting using the smart contract of the judges node, it is possible to reduce the amount of game data stored in the blockchain network, thereby efficiently improving the blockchain network. Can be operated. Voting using the above-described smart contract is only an example, and the present disclosure is not limited thereto.

본 개시의 다른 일 실시예에 따라, 심사위원 노드는 사전 결정된 기준에 기초하여 게임 데이터 저장 여부를 결정할 수 있다. 사전 결정된 기준은, 게임 데이터 저장 요청에 대응하는 게임 데이터의 조회 빈도 수일 수 있다. 예를 들어, 캐릭터의 능력치 정보, 착용 아이템 정보가 사용자 단말로부터 조회 빈도수가 높은 경우, 능력치 정보 및 착용 아이템 정보는 사용자들에게 중요한 정보임을 알 수 있으므로, 심사위원 노드는 "게임 데이터 저장 동의" 이라는 의사 결정을 다른 심사위원 노드에 전달할 수 있다. 사전 결정된 기준은, 게임 데이터의 크기일 수 있다. 예를 들어, 게임 데이터 저장 요청에 대응하는 게임 데이터 크기의 평균이 100MB인 상황에서, 게임 데이터의 크기가 10GB인 게임 데이터 저장 요청이 수신되는 경우, 심사위원 노드는"게임 데이터 저장 반대"라는 의사 결정을 다른 심사위원 노드에 전달할 수 있다. 전술한 사전 결정된 기준은 예시일 뿐 본 개시는 이에 제한되지 않는다.According to another embodiment of the present disclosure, the judge node may determine whether to store game data based on a predetermined criterion. The predetermined criterion may be the number of frequency of inquiry of game data corresponding to the game data storage request. For example, if the character's ability value information and wearing item information are frequently viewed from the user terminal, the ability value information and wearing item information can be seen as important information to users, so the judge node says "Consent to save game data". Decisions can be communicated to other judge nodes. The predetermined criterion may be the size of game data. For example, in a situation where the average of the game data size corresponding to the game data storage request is 100 MB, and a game data storage request with a game data size of 10 GB is received, the judge node will say "no game data storage" Decisions can be communicated to other judge nodes. The above-described predetermined criterion is only an example, and the present disclosure is not limited thereto.

본 개시의 일 실시예에 따라, 게임 서버(200)는 저장 대상 데이터와 관련된 사용자 단말에 저장 대상 데이터 저장 동의 요청을 전송하여, 저장 대상 데이터와 관련된 상기 사용자 단말로부터 저장 대상 데이터 저장 동의 여부 응답을 수신할 수 있다. 사용자의 게임 데이터 저장 요청에 대응하는 게임 데이터는 다른 사용자의 게임 데이터를 포함할 수도 있다. 예를 들어, 대전 게임을 진행한 상황에서 다른 사용자의 캐릭터 정보도 함께 게임 데이터에 포함될 수 있다. 따라서 다른 사용자가 자신의 캐릭터 정보가 유출되는 것을 원하지 않을 수 있으므로, 게임 서버(200)는 저장 대상 데이터와 관련된 사용자 단말에 저장 대상 데이터 저장 동의 요청을 전송할 수 있다. 전술한 저장 동의 요청은 예시일 뿐 본 개시는 이에 제한되지 않는다.According to an embodiment of the present disclosure, the game server 200 transmits a storage object data storage consent request to a user terminal related to the storage object data, and receives a storage object data storage consent response from the user terminal related to the storage object data. You can receive it. Game data corresponding to the user's request to store game data may include game data of another user. For example, character information of other users may also be included in the game data in a situation in which a match-up game is in progress. Therefore, since other users may not want their character information to be leaked, the game server 200 may transmit a storage object data storage consent request to a user terminal related to the storage object data. The above-described storage consent request is only an example, and the present disclosure is not limited thereto.

본 개시의 일 실시예에 따라, 게임 서버(200)는 저장 대상 데이터와 관련된 사용자 단말이 저장 대상 데이터 저장 동의 요청을 전송한 경우, 토큰에 리워드 정보를 기록할 수 있다. 리워드 정보는 저장 대상 데이터와 관련된 사용자 단말이 저장 대상 데이터 저장 동의한 것에 대한 보상으로써, 게임상의 재화 정보(예를 들어, 게임 내에서의 게임 머니) 또는 현실공간에서의 재화 정보(예를 들어, 현금)일 수 있다. 이를 통해, 저장 대상 데이터와 관련된 사용자 단말이 저장 대상 데이터 저장에 대해 동의할 확률을 높일 수 있으며, 사용자들이 게임 플레이를 하여, 다른 사용자들이 원하는 정보를 보유함으로써 리워드 정보를 획득하는 것을 하나의 게임 목표로 하여, 게임에 적극적으로 참여하는 것을 기대할 수 있다.According to an embodiment of the present disclosure, the game server 200 may record reward information in a token when the user terminal related to the storage target data transmits a request to consent to storage target data. Reward information is a reward for the user terminal's consent to the storage target data related to the storage target data, and product information in the game (for example, game money in the game) or product information in the real space (for example, Cash). Through this, it is possible to increase the probability that the user terminal related to the storage target data agrees to the storage target data, and one game goal is for users to play the game and obtain reward information by holding the information other users want. By doing so, you can expect to actively participate in the game.

본 개시의 일 실시예에 따라, 게임 서버(200)는 저장 대상 데이터와 관련된 모든 사용자 단말의 동의 응답을 수신한 경우, 트랜잭션을 블록에 기록하도록 야기할 수 있다. 저장 대상 데이터와 관련된 사용자가 복수인 경우, 각 사용자의 프라이버시 보호를 위해 각 사용자에 대해 저장 대상 데이터 저장 동의 요청을 전송할 수 있다. 따라서 모든 사용자 단말이 저장 대상 데이터의 저장 동의 요청에 대해 저장 동의 응답한 경우, 게임 서버는 트랜잭션을 블록에 기록하도록 야기할 수 있다. 예를 들어, 저장 대상 데이터와 관련된 사용자 단말이 사용자 단말(100b), 사용자 단말(100c)인 상황에서, 사용자 단말(100b), 사용자 단말(100c)의 저장 대상 데이터의 저장 동의 응답을 게임 서버가 수신한 경우, 게임 서버는 트랜잭션을 블록에 기록하도록 야기할 수 있다. 전술한 사항은 예시일 뿐이며, 본 개시는 이에 제한되지 않는다.According to an embodiment of the present disclosure, if the game server 200 receives consent responses from all user terminals related to the data to be stored, it may cause the transaction to be recorded in a block. When there are a plurality of users related to the data to be stored, a request for consent to storage of data to be stored may be transmitted to each user to protect the privacy of each user. Therefore, when all user terminals respond to the storage consent request to the storage object data, the game server may cause the transaction to be recorded in the block. For example, in a situation where the user terminal related to the storage target data is the user terminal 100b or the user terminal 100c, the game server responds to the consent of the storage target data of the user terminal 100b and the user terminal 100c. If received, the game server can cause the transaction to be written to the block. The foregoing is only an example, and the present disclosure is not limited thereto.

본 개시의 일 실시예에 따라, 게임 서버(200)는 게임 실행 가능한 명령어 형태의 데이터를 블록체인 네트워크로부터 획득하고, 사용자 단말에서 게임 실행 가능한 명령어 형태의 데이터에 기초하여 게임을 수행하도록 게임 실행 가능한 명령어 형태의 데이터를 사용자 단말로 전송할 수 있다. 게임 실행 가능한 명령어 형태의 데이터는 게임을 실행시키기 위한 바이트코드(Bytecode) 형태를 포함할 수 있다. 바이트코드는 특정 하드웨어가 아닌 가상 컴퓨터에서 실행되는 실행 프로그램을 위한 이진 표현법일 수 있다. 게임 실행 가능한 명령어 형태의 데이터를 통해, 게임 회사의 의사 결정에 의해 게임 서비스가 종료된 경우에도, 게임 플레이를 사용자 단말에서 할 수 있다. 더 구체적으로는, 게임 플레이는 오프라인 상황에서 플레이되는 게임 플레이일 수 있다. 따라서 사용자 단말은 게임 서버(200)와 네트워크를 통해 연결되지 않은 상황에서도 게임을 플레이할 수 있다. 전술한 사항은 예시일 뿐 본 개시는 이에 제한되지 않는다.According to an embodiment of the present disclosure, the game server 200 acquires data in the form of commands that can execute a game from a blockchain network, and executes a game based on data in the form of commands executable in the user terminal. Data in the form of commands can be transmitted to the user terminal. The data in the form of a game executable instruction may include a form of bytecode for executing the game. The bytecode may be a binary representation for an executable program running on a virtual computer rather than specific hardware. Through data in the form of instructions that can be executed by the game, game play can be performed in the user terminal even when the game service is terminated by a decision made by the game company. More specifically, the game play may be a game play played in an offline situation. Therefore, the user terminal can play the game even when the game server 200 and the network are not connected. The foregoing is only an example, and the present disclosure is not limited thereto.

본 개시의 일 실시예에 따라, 사용자 단말(100)은 게임 실행 가능한 명령어 형태의 데이터를 게임 서버(200)로부터 획득하여, 게임 시뮬레이션 실행 및/또는 리플레이 영상을 재생할 수 있다. According to an embodiment of the present disclosure, the user terminal 100 may acquire data in the form of a command executable for a game from the game server 200, and execute a game simulation and/or play a replay image.

본 개시의 다른 일 실시예에 따라, 게임 시뮬레이션은, 사용자가 자신이 원하는 캐릭터의 상태를 설정하여 게임 플레이를 수행하는 것을 포함할 수 있다. 예를 들어, 사용자는 길드 마스터의 캐릭터 능력치 숫자, 길드 마스터의 캐릭터 장착 아이템, 길드 마스터가 습득한 스킬을 설정하여, 설정된 게임 캐릭터로 게임 플레이를 수행할 수 있다. 따라서 사용자는 자신이 정상적으로 게임 플레이를 하여 도달할 수 없는 레벨, 획득할 수 없는 아이템, 획득할 수 없는 캐릭터에 대하여 블록체인 네트워크에 저장된 게임 실행 가능한 명령어 형태의 데이터를 획득하여 자신이 원하는 레벨, 아이템 및 캐릭터를 이용하여 게임 플레이를 진행할 수 있다. 따라서 사용자는 자신이 상상해왔던 환경 하에서 게임 플레이를 즐길 수 있어 게임에 더욱 흥미를 느낄 수 있고, 또한 이러한 게임 플레이를 실행하여도, 다른 사용자와의 관계에서 밸런스 붕괴의 문제가 일어나지 않으므로 게임 생태계가 보존될 수 있다. 그리고 게임 제작사의 의사 결정에 따라 게임 서비스가 중단된 경우에도 사용자는 블록체인 네트워크에 저장된 게임 실행 가능한 명령어 형태의 데이터를 획득하여, 자신의 추억을 되살릴 수 있는 게임을 자신이 원하는 환경에서 게임 플레이할 수 있다. 전술한 시뮬레이션은 예시일 뿐 본 개시는 이에 제한되지 않는다.According to another embodiment of the present disclosure, game simulation may include performing game play by setting a state of a character desired by the user. For example, the user may set the guild master's character stat number, the guild master's character-equipped items, and the skills acquired by the guild master to perform game play with the set game character. Therefore, the user obtains data in the form of commands that can be executed in the blockchain network for levels that cannot be reached by playing the game normally, items that cannot be obtained, and characters that cannot be obtained. And it is possible to proceed with the game play using the character. Therefore, users can enjoy the gameplay in the environment they have imagined, so that they can feel more interested in the game, and even if such gameplay is executed, the problem of balance breakdown does not occur in the relationship with other users, so the game ecosystem is preserved. Can be. In addition, even if the game service is interrupted according to the decision of the game maker, the user acquires data in the form of instructions that can be executed by the game stored in the blockchain network, and plays the game in the environment where he wants the game to revive his memory. can do. The above-described simulation is only an example, and the present disclosure is not limited thereto.

본 개시의 일 실시예에 따라, 리플레이 영상은 사용자 및/또는 다른 사용자가 과거 시점에 게임 플레이한 기록을 포함할 수 있다. 사용자들은 자신의 게임 플레이의 인상적이었던 부분을 다시 보거나 자신의 게임 플레이에서 잘못된 부분을 찾기 위해 리플레이 영상을 찾을 수 있다. 사용자 단말(100)은 블록체인 네트워크(400)에 저장된 게임 실행 가능한 명령어 형태의 데이터를 획득하여 사용자가 게임 플레이가 기록된 리플레이 영상을 실행할 수 있다. 따라서 사용자는 자신의 게임 플레이의 인상적이었던 부분을 다시 보면서 게임에 대한 좋은 추억을 되살릴 수 있고, 또한 자신의 게임 플레이에서 잘못된 부분을 찾아서 보완한 다음 더 나은 게임 플레이를 수행할 수 있다. 전술한 리플레이 영상은 예시일 뿐 본 개시는 이에 제한되지 않는다.According to an embodiment of the present disclosure, the replay image may include a record of a user and/or another user playing a game at a past point in time. Users can look back at replays to revisit parts of their gameplay that were impressive, or look for replays to find mistakes in their gameplay. The user terminal 100 acquires data in the form of commands that can execute a game stored in the blockchain network 400 so that the user can execute a replay image in which game play is recorded. Therefore, the user can relive good memories of the game by looking back at the impressive part of his game play, and also can find and compensate for the wrong part in his game play, and then perform better game play. The above-described replay image is only an example, and the present disclosure is not limited thereto.

본 개시의 일 실시예에 따라, 게임 서버(200)는 게임 데이터가 비대칭키 암호화 알고리즘을 통해 공개키로 암호화된 경우, 게임 데이터를 개인키로 복호화할 수 있다. 게임 서버(200)는 사용자 단말의 개인 데이터 암호화 요청에 기초하여 암호화된 데이터를 비대칭키 암호화 알고리즘을 통해 게임 서버(200)의 개인키로 복호화할 수 있다. 게임 서버(200)가 복호화하여 획득된 사용자 단말의 개인키를 사용자 단말로 전송할 수 있다. 전술한 복호화는 예시일 뿐 본 개시는 이에 제한되지 않는다.According to an embodiment of the present disclosure, when the game data is encrypted with a public key through an asymmetric key encryption algorithm, the game server 200 may decrypt the game data with a private key. The game server 200 may decrypt data encrypted based on the personal data encryption request of the user terminal with the private key of the game server 200 through an asymmetric key encryption algorithm. The game server 200 may transmit the private key of the user terminal obtained by decoding to the user terminal. The above-described decoding is only an example, and the present disclosure is not limited thereto.

송수신부(203)는 네트워크 접속을 위한 유/무선 인터넷 모듈을 포함할 수 있다. 무선 인터넷 기술로는 WLAN(Wireless LAN)(Wi-Fi), Wibro(Wireless broadband) Wimax(World Interoperability for Microwave Access), HSDPA(High Speed Downlink Packet Access) 등이 이용될 수 있다. 유선 인터넷 기술로는 XDSL(Digital Subscriber Line), FTTH(Fibers to the home), PLC(Power Line Communication) 등이 이용될 수 있다. 또한, 송수신부(203)는 근거리 통신(short range communication) 모듈을 포함할 수 있다. 근거리 통신 기술로 블루투스(Bluetooth), RFID(Radio Frequency Identification), 적외선 통신(IrDA, infrared Data Association), UWB(Ultra Wideband), ZigBee 등이 이용될 수 있다.The transceiver 203 may include a wired/wireless Internet module for network access. As a wireless Internet technology, WLAN (Wireless LAN) (Wi-Fi), Wibro (Wireless broadband) Wimax (World Interoperability for Microwave Access), HSDPA (High Speed Downlink Packet Access), and the like may be used. As a wired Internet technology, XDSL (Digital Subscriber Line), FTTH (Fibers to the Home), PLC (Power Line Communication), and the like may be used. In addition, the transceiver 203 may include a short range communication module. As a short-range communication technology, Bluetooth, Radio Frequency Identification (RFID), infrared data association (IrDA), Ultra Wideband (UWB), ZigBee, and the like may be used.

송수신부(203)는 사용자 단말(100)과의 통신, 블록체인 네트워크(400)와의 통신, 다른 서버와의 통신을 수행할 수 있다.The transmission/reception unit 203 may perform communication with the user terminal 100, communication with the blockchain network 400, and communication with other servers.

도 2에서는 도시되지 않았지만, 게임 서버(200)는 블록체인 네트워크(400)를 구성하는 컴퓨팅 장치로 동작할 수도 있다. 이러한 경우, 상기 컴퓨팅 장치는 프로세서, 및 프로세서에 의해 실행가능한 컴퓨터 프로그램을 저장하는 메모리를 포함할 수 있다.Although not shown in FIG. 2, the game server 200 may operate as a computing device constituting the blockchain network 400. In this case, the computing device may include a processor and a memory storing a computer program executable by the processor.

본 개시의 일 실시예에 따라, 컴퓨팅 장치는, 게임 데이터를 블록체인 네트워크에 저장시키기 위한 트랜잭션을 생성하고, 블록체인 네트워크에 포함된 적어도 하나의 노드에 상기 트랜잭션을 전송함으로써 상기 블록체인 네트워크에 포함된 복수의 노드에서 합의 알고리즘에 기초하여 상기 트랜잭션을 블록에 기록하도록 야기하고, 그리고 사용자 단말의 게임 데이터 요청에 기초하여 상기 블록체인 네트워크에 포함된 적어도 하나의 노드로부터 상기 게임 데이터 요청에 대응되는 게임 데이터를 획득할 수 있다.According to an embodiment of the present disclosure, the computing device generates a transaction for storing game data in a blockchain network, and includes in the blockchain network by transmitting the transaction to at least one node included in the blockchain network. A game corresponding to the game data request from at least one node included in the blockchain network based on the game data request of the user terminal and causing the plurality of nodes to record the transaction in a block based on a consensus algorithm Data can be acquired.

도 3은 본 개시내용의 일 실시예에 따라 게임 서버에서 수행되는 게임 데이터 관리 방법을 예시적으로 도시한다.3 exemplarily illustrates a game data management method performed in a game server according to an embodiment of the present disclosure.

도 3에서 도시되는 단계들은 예시적인 단계들로써, 본 개시내용의 사상의 범위를 벗어나지 않는 한도에서 도 3의 단계들 중 일부가 생략되거나 추가적인 단계들이 존재할 수 있다는 점 또한 당업자에게 명백할 것이다.The steps shown in FIG. 3 are exemplary steps, and it will be apparent to those skilled in the art that some of the steps of FIG. 3 may be omitted or additional steps may exist without departing from the scope of the spirit of the present disclosure.

게임 서버(200)는 게임 데이터를 블록체인 네트워크에 저장시키기 위한 트랜잭션을 생성할 수 있다(710). 게임 데이터는, 사용자의 캐릭터 정보, 사용자의 활동 로그 또는 게임 실행 가능한 명령어 형태의 데이터 중 적어도 하나를 포함할 수 있다. 트랜잭션은 블록체인 네트워크(400)상에 기록된 게임 데이터에 대한 업데이트(수정/변경/삭제/추가)를 수행하는 데 사용될 수 있다. 트랜잭션은 또한, 게임 서버에 저장된 게임 데이터, 블록체인 네트워크의 노드에 저장된 게임 데이터를 획득하기 위한 정보, 또는 게임 데이터의 위변조 방지를 위한 해시값 중 적어도 하나를 포함할 수 있다.The game server 200 may generate a transaction for storing game data in a blockchain network (710). The game data may include at least one of a user's character information, a user's activity log, or data in the form of a command that can execute a game. The transaction can be used to update (modify/change/delete/add) game data recorded on the blockchain network 400. The transaction may also include at least one of game data stored in a game server, information for obtaining game data stored in a node of a blockchain network, or a hash value for preventing forgery and alteration of the game data.

게임 서버(200)는 게임 데이터가 사용자의 개인 데이터인 경우, 사용자 단말의 개인 데이터 암호화 요청에 기초하여 사용자 개인 데이터의 암호화 여부를 결정할 수 있다.When the game data is the user's personal data, the game server 200 may determine whether to encrypt the user's personal data based on the personal data encryption request of the user terminal.

게임 서버(200)는 블록체인 네트워크에 포함된 적어도 하나의 노드에 상기 트랜잭션을 전송함으로써 상기 블록체인 네트워크에 포함된 복수의 노드에서 합의 알고리즘에 기초하여 상기 트랜잭션을 블록에 기록하도록 야기할 수 있다(720). 노드는, 저장 대상 데이터를 블록체인 네트워크에 저장할지 여부를 결정하는 심사위원 노드를 포함할 수 있다. The game server 200 may cause a plurality of nodes included in the blockchain network to record the transaction in a block based on a consensus algorithm by transmitting the transaction to at least one node included in the blockchain network ( 720). The node may include a judge node that determines whether to store the data to be stored in the blockchain network.

게임 서버(200)는 스마트 컨트랙트를 활용한 심사위원 노드의 투표를 통해 트랜잭션을 블록에 기록할 것을 결정할 수 있다. The game server 200 may determine to record a transaction in a block through a vote of a judge node using a smart contract.

게임 서버(200)는 저장 대상 데이터와 관련된 사용자 단말에 저장 대상 데이터 저장 동의 요청을 전송하여, 저장 대상 데이터와 관련된 상기 사용자 단말로부터 저장 대상 데이터 저장 동의 여부 응답을 수신할 수 있다. The game server 200 may transmit a storage object data storage consent request to a user terminal related to the storage object data, and receive a storage object data storage consent response from the user terminal related to the storage object data.

게임 서버(200)는 저장 대상 데이터와 관련된 상기 사용자 단말이 저장 대상 데이터 저장 동의 요청을 전송한 경우, 토큰에 리워드 정보를 기록할 수 있다. 게임 서버(200)는 저장 대상 데이터와 관련된 모든 사용자 단말의 동의 응답을 수신한 경우, 트랜잭션을 블록에 기록하도록 야기할 수 있다.The game server 200 may record reward information in a token when the user terminal related to the storage target data transmits a storage target data storage consent request. When the game server 200 receives consent responses from all user terminals related to the data to be stored, the game server 200 may cause the transaction to be recorded in a block.

게임 서버(200)는 사용자 단말의 게임 데이터 요청에 기초하여 상기 블록체인 네트워크로부터 상기 게임 데이터를 획득할 수 있다(730). 게임 서버(200)는 게임 실행 가능한 명령어 형태의 데이터를 상기 블록체인 네트워크로부터 획득하고, 사용자 단말에서 게임 실행 가능한 명령어 형태의 데이터에 기초하여 게임을 수행하도록 게임 실행 가능한 명령어 형태의 데이터를 사용자 단말로 전송할 수 있다.The game server 200 may obtain the game data from the blockchain network based on the game data request from the user terminal (730). The game server 200 acquires data in the form of commands that can execute a game from the blockchain network, and transmits data in the form of commands that can be executed to a user terminal to play a game based on data in the form of commands that can be executed in the user terminal. Can be transmitted.

도 4는 본 개시내용의 일 실시예에 따라 블록에 저장되는 데이터 형태를 예시적으로 도시한다.FIG. 4 exemplarily illustrates a form of data stored in a block according to an embodiment of the present disclosure.

도 4에서 도시되는 바와 같이, 블록체인 네트워크(400)에서의 저장 단위인 블록(610 및 620)은 서로 체인 형태로 연결되어 블록체인을 구성할 수 있다. As shown in FIG. 4, blocks 610 and 620, which are storage units in the block chain network 400, may be connected to each other in a chain form to form a block chain.

블록(610 및 620)은 블록 헤더(block header) 및 트랜잭션(transaction)으로 구성될 수 있다. 블록 헤더는 예를 들어, 이전 블록 헤더의 해시값, Nonce 값 및 트랜잭션 그룹의 해시값을 포함할 수 있다. Nonce 값은 블록체인 네트워크(400)에서의 노드가 블록을 생성하기 위해 변경하는 값으로서, 블록헤더의 다른 값과 함께 특정 해시 함수의 입력값으로 사용될 수 있다. 특정 Nonce 값을 사용하였을 때, 블록 헤더의 해시값이 사전결정된 난이도값(블록 헤더에 저장될 수 있음)보다 작게 나온 경우, 해당 블록 헤더에 대한 해시값이 결정될 수 있다. 트랜잭션 그룹의 해시값은 트랜잭션에 포함된 데이터들의 Root 해시값을 의미할 수 있다. 전술한 블록은 예시일 뿐이며, 본 개시는 이에 제한되지 않는다.Blocks 610 and 620 may be composed of a block header and a transaction. The block header may include, for example, a hash value of a previous block header, a nonce value, and a hash value of a transaction group. The nonce value is a value that a node in the blockchain network 400 changes to generate a block, and may be used as an input value of a specific hash function along with other values of the block header. When a specific nonce value is used, if the hash value of the block header is smaller than the predetermined difficulty value (which can be stored in the block header), the hash value for the corresponding block header may be determined. The hash value of the transaction group may mean the root hash value of data included in the transaction. The above-described block is only an example, and the present disclosure is not limited thereto.

도 4에서 도시되는 바와 같이, 블록 202(620)의 블록 헤더의 블록 해시 값을 구하기 위해서 블록 201(610)의 블록 해시 값이 입력값으로 사용되기 때문에, 블록 202(620)와 블록 201(610)은 서로 연결될 수 있다. 또한, 블록 해시 값을 구하는데 있어서, 트랜잭션들을 대표하는 해시값인 트랜잭션 그룹의 해시값이 입력값으로 사용되기 때문에, 트랜잭션에 대한 임의의 위변조 행위가 일어나는 경우, 트랜잭션 그룹의 해시값이 변경된다. 이러한 방식으로 인접한 블록들은 서로 연결될 수 있으며, 블록 내에서의 트랜잭션의 정보가 무결성 있게 저장될 수 있다. 전술한 해시값은 예시일 뿐이며 본 개시는 이에 제한되지 않는다.As shown in FIG. 4, since the block hash value of block 201 (610) is used as an input value to obtain the block hash value of the block header of block 202 (620), blocks 202 (620) and block 201 (610) ) Can be connected to each other. In addition, in obtaining the block hash value, since the hash value of the transaction group, which is a hash value representing transactions, is used as an input value, when any forgery or alteration of a transaction occurs, the hash value of the transaction group is changed. In this way, adjacent blocks can be connected to each other, and transaction information within the block can be stored with integrity. The hash value described above is only an example, and the present disclosure is not limited thereto.

블록(610 및 620)의 트랜잭션은 발행된 트랜잭션들 중 블록에 포함된 트랜잭션(들)으로서, 해당 트랜잭션이 블록 내에 포함되는 경우, 해당 트랜잭션과 관련된 동작이 블록체인 네트워크(400)에서 수행될 수 있다.The transactions of blocks 610 and 620 are transaction(s) included in the block among issued transactions, and when the transaction is included in the block, an operation related to the transaction may be performed in the blockchain network 400. .

도 4에서 도시되는 바와 같이, 블록 201(610)에서의 트랜잭션은, A로부터 B로 10coin을 전송하는 트랜잭션(Tx1, 613)일 수 있다. 또한 블록 201(610)에서의 트랜잭션은, 게임 데이터(Tx2, 614), 게임 데이터를 획득하기 위한 정보(Tx3, 615), 게임 데이터의 해시값(Tx4, 616) 또는 게임 실행 가능한 명령어 형태의 데이터(Tx5, 617) 중 적어도 하나를 포함할 수 있다. 전술한 트랜잭션은 예시일 뿐 본 개시는 이에 제한되지 않는다.As shown in FIG. 4, the transaction in block 201 610 may be a transaction (Tx1, 613) that transmits 10 coins from A to B. In addition, the transaction in block 201 (610) includes game data (Tx2, 614), information for obtaining game data (Tx3, 615), hash value of game data (Tx4, 616), or data in the form of instructions that can be executed by the game. It may include at least one of (Tx5, 617). The above-described transaction is only an example, and the present disclosure is not limited thereto.

본 개시의 다른 일 실시예에 따라, 블록체인 네트워크의 노드에 저장된 게임 데이터를 획득하기 위한 정보(Tx3, 615)는 블록에 저장되는 데이터의 크기를 감소시키기 위한 게임 데이터 중 적어도 일부일 수 있다. 게임 데이터를 획득하기 위한 정보는 예를 들어, 게임 데이터가 게임 화면 이미지인 경우, 게임 화면 이미지를 획득할 수 있는 정보를 포함할 수 있다. 따라서 게임 화면 이미지는 사용자 단말, 게임 서버 또는 블록체인 네트워크에 포함된 노드에 저장되어 있을 수 있고, 게임 화면 이미지를 획득할 수 있는 정보(예를 들어, 게임 화면 이미지의 id 값)를 블록에 저장함으로써, 블록에 저장되는 데이터의 크기를 감소시킬 수 있다. 전술한 게임 데이터를 획득하기 위한 정보는 예시일 뿐 본 개시는 이에 제한되지 않는다.According to another embodiment of the present disclosure, the information (Tx3, 615) for obtaining game data stored in a node of a blockchain network may be at least some of game data for reducing the size of data stored in the block. The information for obtaining game data may include information for obtaining a game screen image, for example, when the game data is a game screen image. Therefore, the game screen image may be stored in a user terminal, a game server, or a node included in the blockchain network, and information that can obtain the game screen image (for example, the id value of the game screen image) is stored in a block. By doing so, it is possible to reduce the size of the data stored in the block. The information for obtaining the above-described game data is only an example, and the present disclosure is not limited thereto.

본 개시의 다른 일 실시예에 따라, 게임 데이터의 위변조 방지를 위한 해시값은 게임 데이터를 고정된 길이의 데이터로 변환한 값일 수 있다. 또한 게임 데이터의 위변조 방지를 위한 해시값은 해시 함수에 의해 원본 데이터를 알아볼 수 없도록 변환된 특수한 문자열일 수 있다. 원본 데이터인 게임 데이터가 변경된 경우, 해시값도 변경되므로 게임 서버(200)는 게임 데이터의 변경을 인식할 수 있다. 변경된 게임 데이터는 게임 데이터를 위조 및/또는 변조하여 변경된 데이터를 포함할 수 있다. 이를 통해, 사용자 단말(100) 또는 게임 서버(200)는 게임 데이터가 위조 및/또는 변조되었는지 여부를 게임 데이터의 위변조 방지를 위한 해시값에 기초하여 판단함으로써, 게임 데이터의 신뢰성을 확보할 수 있다. 전술한 게임 데이터의 위변조 방지를 위한 해시값은 예시일 뿐 본 개시는 이에 제한되지 않는다.According to another embodiment of the present disclosure, a hash value for preventing forgery and alteration of game data may be a value obtained by converting game data into fixed-length data. In addition, the hash value for preventing forgery and alteration of game data may be a special character string that has been converted so that the original data cannot be recognized by a hash function. When the game data, which is the original data, is changed, the hash value is also changed, so that the game server 200 can recognize the change of the game data. The changed game data may include data changed by forging and/or altering the game data. Through this, the user terminal 100 or the game server 200 can secure the reliability of the game data by determining whether the game data is forged and/or altered based on a hash value for preventing forgery of the game data. . The hash value for preventing forgery and alteration of the game data described above is only an example, and the present disclosure is not limited thereto.

본 개시의 다른 일 실시예에 따라, 사용자 단말(100)은 게임 실행 가능한 명령어 형태의 데이터(Tx5, 617)를 통해, 게임 시뮬레이션 실행 및/또는 리플레이 영상을 재생할 수 있다. According to another embodiment of the present disclosure, the user terminal 100 may execute a game simulation and/or play a replay image through data in the form of commands Tx5 and 617 capable of executing a game.

본 개시의 일 실시예에 따라, 트랜잭션이, 게임 데이터(Tx2, 614), 게임 데이터를 획득하기 위한 정보(Tx3, 615), 게임 데이터의 해시값(Tx4, 616) 또는 게임 실행 가능한 명령어 형태의 데이터(Tx5, 617) 중 적어도 하나를 포함함으로써, 블록체인 네트워크에 저장되는 데이터의 용량을 줄일 수 있으며, 또한 해시값을 이용하여 데이터 위변조 여부를 판단하여 데이터의 신뢰성을 보장할 수 있다. 따라서 사용자들은 신뢰성이 높은 게임 데이터를 블록체인 네트워크로부터 획득할 수 있고, 블록체인 네트워크 운영자는 저장되는 게임 데이터의 양이 감소하여 쾌적한 환경의 블록체인 네트워크를 유지할 수 있다.According to an embodiment of the present disclosure, a transaction is in the form of game data (Tx2, 614), information for obtaining game data (Tx3, 615), a hash value of game data (Tx4, 616), or a game executable command. By including at least one of the data (Tx5, 617), the amount of data stored in the blockchain network can be reduced, and the reliability of the data can be guaranteed by determining whether the data has been forged or altered using the hash value. Therefore, users can obtain highly reliable game data from the blockchain network, and blockchain network operators can maintain a pleasant environment blockchain network by reducing the amount of stored game data.

추가적인 실시예로서, 도 4에서는 도시되지 않았지만, 블록(610 및 620)의 블록 헤더는: 부모 블록(이전 블록)의 해시값(ParentHash), 현재 블록의 엉클블록(블록의 난이도가 상대적으로 낮아 블록으로 채택되지못한 블록)들의 해시값(UncleHash), 마이닝후 해당 트랜잭션의 수수료를 받을 어카운트 주소(Coinbase), 어카운트의 상태정보가 모여있는 머클 패트리시아 트리의 루트 노드 해시값(Root), 블록의 모든 트랜잭션에 대한 머클트리의 루트노드 해시값(TxHash), 블록내 모든 트랜잭션에 대한 리시트들의 머클트리의 루트노드 해시값(ReceiptHash), 로그 정보를 사용하는데 사용하는 32바이트 블룸필터 정보(Bloom), 이전블록의 난이도와 타임스탬프로 계산되는 블록 난이도(Difficulty), 현재 블록번호(Number), 블록당 지급가능한 최대 가스(트랜잭션/스마트 컨트랙트를 처리하는데 사용되는 비용(토큰)의 개념)의 총합(GasLimit), 블록내 트랜잭션에 사용된 가스의 총합(GasUsed), 블록의 최초 생성시간(Time), 블록의 기타정보(Extra) 및/또는 작업증명에서 해시값을 계산하는데 충분한 계산횟수를 보장하기 위해 사용하는 값(MixDigest, Nonce)을 포함할 수도 있다. 다만, 이헤 한정되는 것은 아니고, 블록 헤더는 상술한 정보, 데이터 또는 값 이외의 정보, 데이터 또는 값을 포함할 수도 있다.As an additional embodiment, although not shown in FIG. 4, the block headers of blocks 610 and 620 are: a hash value (ParentHash) of a parent block (previous block), an uncle block of the current block (blocks with relatively low difficulty The hash value (UncleHash) of the blocks that were not accepted as a result of mining, the account address (Coinbase) that will receive the transaction fee after mining, the hash value of the root node of the Merkle Patricia tree where the account status information is gathered (Root), and all transactions in the block. Merkletree's root node hash value (TxHash) for all transactions in the block, Merkletree's root node hash value (ReceiptHash) for all transactions in the block, 32-byte bloom filter information used to use log information (Bloom), transfer Block difficulty and block difficulty calculated by timestamp, current block number (Number), maximum payable gas per block (concept of cost (token) used to process transaction/smart contract) (GasLimit) , Used to ensure the number of calculations sufficient to calculate the hash value from the total amount of gas used in the transaction in the block (GasUsed), the initial creation time of the block (Time), other information of the block (Extra) and/or proof of work. It can also contain values (MixDigest, Nonce). However, the present disclosure is not limited thereto, and the block header may include information, data, or values other than the above-described information, data, or value.

도 5는 본 개시내용의 일 실시예에 따라 사용자 단말이 획득하는 게임 데이터를 예시적으로 도시한다.5 exemplarily shows game data acquired by a user terminal according to an embodiment of the present disclosure.

도 5은 사용자 단말(100)이 블록체인 네트워크(400)로부터 게임 데이터를 획득한 경우, 사용자 단말(100)의 디스플레이에 출력될 수 있는 이미지의 예시이다. 5 is an example of an image that can be output on the display of the user terminal 100 when the user terminal 100 acquires game data from the blockchain network 400.

본 개시의 일 실시예에 따라, 참조번호 500번은 사용자 단말(100)의 디스플레이일 수 있다. 사용자 단말(100)의 디스플레이에는 캐릭터 정보를 포함하는 게임 화면 이미지(510) 및 테이블 형태로 표현된 캐릭터 정보(520)가 출력될 수 있다. 전술한 사항은 예시일 뿐, 본 개시는 이에 제한되지 않는다.According to an embodiment of the present disclosure, reference numeral 500 may be a display of the user terminal 100. A game screen image 510 including character information and character information 520 expressed in a table form may be output on the display of the user terminal 100. The foregoing is only an example, and the present disclosure is not limited thereto.

본 개시의 다른 일 실시예에 따라, 캐릭터 정보를 포함하는 게임 화면 이미지(510)는 캐릭터가 보유하고 있는 아이템(511), 캐릭터의 ID, 레벨, 및 전투력을 나타내는 영역(512), 캐릭터의 랭킹(513)을 포함할 수 있다. 캐릭터 정보를 포함하는 게임 화면 이미지(510)는 블록에 저장된 데이터가 아니라, 트랜잭션에 포함된 게임 데이터 획득하기 위한 정보를 기초로 획득된 데이터일 수 있다. 이를 통해, 블록에 저장되는 데이터의 크기를 줄일 수 있다. 또한 사용자는 캐릭터 정보를 테이블 형태와 함께 게임 화면 이미지도 획득할 수 있어, 캐릭터 정보를 한 눈에 쉽게 파악할 수 있는 장점이 존재할 수 있다. 전술한 사항은 예시일 뿐, 본 개시는 이에 제한되지 않는다.According to another embodiment of the present disclosure, a game screen image 510 including character information includes an item 511 possessed by a character, an area 512 representing the character's ID, level, and combat power, and a ranking of the character. (513) may be included. The game screen image 510 including character information may not be data stored in a block, but may be data acquired based on information for obtaining game data included in a transaction. Through this, the size of data stored in the block can be reduced. In addition, since the user can acquire character information in the form of a table and a game screen image, there may be an advantage in that character information can be easily recognized at a glance. The foregoing is only an example, and the present disclosure is not limited thereto.

본 개시의 다른 일 실시예에 따라, 테이블 형태로 표현된 캐릭터 정보(520)는 트랜잭션에 포함된 게임 데이터일 수 있다. 따라서 사용자 단말(100)은 블록체인 네트워크(400)로부터 트랜잭션에 포함된 게임 데이터를 획득하여 테이블 형태로 사용자 단말(100)의 디스플레이를 통해 출력할 수 있다. 전술한 사항은 예시일 뿐, 본 개시는 이에 제한되지 않는다.According to another embodiment of the present disclosure, the character information 520 expressed in the form of a table may be game data included in a transaction. Accordingly, the user terminal 100 may obtain game data included in the transaction from the blockchain network 400 and output it in the form of a table through the display of the user terminal 100. The foregoing is only an example, and the present disclosure is not limited thereto.

본 개시의 일 실시예에 따라, 게임 데이터는, 사용자의 캐릭터 정보, 사용자의 활동 로그 또는 게임 실행 가능한 명령어 형태의 데이터 중 적어도 하나를 포함할 수 있다. 게임 데이터는 다수의 사용자들이 게임상에서 수행한 게임의 모든 기록을 포함할 수 있다. 전술한 게임 데이터는 예시일 뿐 본 개시는 이에 제한되지 않는다.According to an embodiment of the present disclosure, the game data may include at least one of data in the form of a user's character information, a user's activity log, or a game executable command. The game data may include all records of games played by multiple users on the game. The above-described game data is only an example, and the present disclosure is not limited thereto.

도 6은 본 개시내용의 일 실시예에 따라 게임 데이터 관리 방법의 예시적인 순서도를 도시한다.6 shows an exemplary flow chart of a game data management method according to an embodiment of the present disclosure.

도 6을 참조하면, 사용자 단말(100)은 게임 서버(200)에 대하여 게임 데이터 저장 요청을 전송할 수 있다(S2100). 게임 데이터는 사용자의 캐릭터 정보, 사용자의 활동 로그 또는 게임 실행 가능한 명령어 형태의 데이터 중 적어도 하나를 포함할 수 있다. 사용자 단말(100)은 게임 데이터 저장 요청에 대응되는 게임 데이터를 블록체인 네트워크(400)에 저장하기 위해 게임 데이터 저장 요청을 보낼 수 있다. 전술한 게임 데이터 저장 요청은 예시일 뿐 본 개시는 이에 제한되지 않는다.Referring to FIG. 6, the user terminal 100 may transmit a game data storage request to the game server 200 (S2100). The game data may include at least one of a user's character information, a user's activity log, or data in the form of a command that can be executed. The user terminal 100 may send a game data storage request to store game data corresponding to the game data storage request in the blockchain network 400. The above-described game data storage request is only an example, and the present disclosure is not limited thereto.

게임 서버(200)는 토큰에 기초하여 게임 데이터 저장 요청의 유효성을 확인할 수 있다(S2200). 토큰은 사용자 식별 데이터 또는 게임 데이터 저장 요청을 실행하는 비용 정보 중 적어도 하나를 포함할 수 있다. 토큰에 포함된 사용자 식별 데이터에 기초하여 게임 데이터 저장 요청의 유효성을 확인할 수 있다. 예를 들어 게임 서버(200)는 사용자의 로그인 정보에 기초하여 게임 데이터 저장 요청의 유효성을 확인할 수 있다. 또한 게임 서버(200)는 게임 데이터 저장 요청을 실행하기 위해 지불해야하는 비용을 정산할 수 있다. 전술한 게임 데이터 저장 요청의 유효성 확인은 예시일 뿐 본 개시는 이에 제한되지 않는다.The game server 200 may check the validity of the game data storage request based on the token (S2200). The token may include at least one of user identification data or cost information for executing a request to store game data. The validity of the game data storage request may be checked based on the user identification data included in the token. For example, the game server 200 may check the validity of the game data storage request based on the user's login information. In addition, the game server 200 may settle a cost to be paid to execute the game data storage request. The validation of the above-described game data storage request is only an example, and the present disclosure is not limited thereto.

게임 서버(200)는 게임 데이터 저장 요청에 대응되는 게임 데이터를 획득할 수 있다(S2300). 게임 서버(200)는 저장부(202), 사용자 단말(100) 또는 블록체인 네트워크(400) 중 적어도 하나에 포함된 게임 데이터를 획득할 수 있다. 전술한 게임 데이터 획득은 예시일 뿐 본 개시는 이에 제한되지 않는다.The game server 200 may acquire game data corresponding to the game data storage request (S2300). The game server 200 may acquire game data included in at least one of the storage unit 202, the user terminal 100, or the blockchain network 400. The above-described game data acquisition is only an example, and the present disclosure is not limited thereto.

게임 서버(200)는 게임 데이터가 포함된 트랜잭션을 생성할 수 있다(S2400). 트랜잭션은, 게임 서버에 저장된 게임 데이터, 블록체인 네트워크의 노드에 저장된 게임 데이터를 획득하기 위한 정보, 또는 게임 데이터의 위변조 방지를 위한 해시값 중 적어도 하나를 포함할 수 있다. 전술한 트랜잭션 생성은 예시일 뿐 본 개시는 이에 제한되지 않는다.The game server 200 may generate a transaction including game data (S2400). The transaction may include at least one of game data stored in a game server, information for obtaining game data stored in a node of a blockchain network, or a hash value for preventing forgery of game data. The above-described transaction generation is only an example, and the present disclosure is not limited thereto.

게임 서버(200)는 트랜잭션을 블록체인 네트워크(400)에 전송할 수 있다(S2500). 게임 서버(200)는 트랜잭션을 전송함으로써 블록체인 네트워크(400)에 포함된 복수의 노드에서 합의 알고리즘에 기초하여 트랜잭션을 블록에 기록하도록 야기할 수 있다. 전술한 사항은 예시일 뿐 본 개시는 이에 제한되지 않는다.The game server 200 may transmit the transaction to the blockchain network 400 (S2500). The game server 200 may cause a plurality of nodes included in the blockchain network 400 to record a transaction in a block based on a consensus algorithm by transmitting a transaction. The foregoing is only an example, and the present disclosure is not limited thereto.

블록체인 네트워크(400)에 포함된 노드는 합의 알고리즘을 통해 상기 트랜잭션을 블록에 기록할 수 있다(S2600). 이에 따라 블록체인 네트워크(400)는 복수의 노드로 게임 데이터가 포함된 블록을 전파 및 기록할 수 있다. 블록체인 네트워크(400)는 적어도 하나 이상의 노드로 구성되는 퍼블릭 블록체인 네트워크일 수 있다. 전술한 사항은 예시일 뿐 본 개시는 이에 제한되지 않는다.A node included in the blockchain network 400 may record the transaction in a block through a consensus algorithm (S2600). Accordingly, the blockchain network 400 may propagate and record a block including game data to a plurality of nodes. The blockchain network 400 may be a public blockchain network composed of at least one node. The foregoing is only an example, and the present disclosure is not limited thereto.

블록체인 네트워크(400)에 포함된 노드는 블록체인 네트워크에 포함된 블록을 사용자 단말(100)에 전달할 수 있다. 구체적으로는, 사용자 단말이 게임 데이터 요청을 한 경우, 블록체인 네트워크에 포함된 적어도 하나의 노드는 게임 데이터 요청에 대응되는 게임 데이터를 사용자 단말(100)에 전달할 수 있다. 전술한 사항은 예시일 뿐 본 개시는 이에 제한되지 않는다.A node included in the block chain network 400 may transmit a block included in the block chain network to the user terminal 100. Specifically, when the user terminal requests game data, at least one node included in the blockchain network may transmit game data corresponding to the game data request to the user terminal 100. The foregoing is only an example, and the present disclosure is not limited thereto.

도 7은 본 개시내용의 실시예들이 구현될 수 있는 예시적인 컴퓨팅 환경에 대한 일반적인 개략도를 도시한다.7 shows a general schematic diagram of an exemplary computing environment in which embodiments of the present disclosure may be implemented.

도 7에서 도시되는 컴퓨터(1102)는 사용자 단말(100), 게임 서버(200) 또는 블록체인 네트워크(400)를 구성하는 컴퓨팅 장치 중 적어도 하나에 대응될 수 있다.The computer 1102 illustrated in FIG. 7 may correspond to at least one of a user terminal 100, a game server 200, or a computing device constituting the blockchain network 400.

본 개시가 일반적으로 컴퓨팅 장치에 의해 구현될 수 있는 것으로 전술되었지만, 당업자라면 본 개시가 하나 이상의 컴퓨터 상에서 실행될 수 있는 컴퓨터 실행가능 명령어 및/또는 기타 프로그램 모듈들과 결합되어 및/또는 하드웨어와 소프트웨어의 조합으로써 구현될 수 있다는 것을 잘 알 것이다.Although the present disclosure has been described above as generally being able to be implemented by a computing device, those skilled in the art will appreciate that the present disclosure is combined with computer-executable instructions and/or other program modules that may be executed on one or more computers and/or of hardware and software. It will be appreciated that it can be implemented in combination.

일반적으로, 프로그램 모듈은 특정의 태스크를 수행하거나 특정의 추상 데이터 유형을 구현하는 루틴, 프로그램, 컴포넌트, 데이터 구조, 기타 등등을 포함한다. 또한, 당업자라면 본 개시의 방법이 단일-프로세서 또는 멀티프로세서 컴퓨터 시스템, 미니컴퓨터, 메인프레임 컴퓨터는 물론 퍼스널 컴퓨터, 핸드헬드 컴퓨팅 장치, 마이크로프로세서-기반 또는 프로그램가능 가전 제품, 기타 등등(이들 각각은 하나 이상의 연관된 장치와 연결되어 동작할 수 있음)을 비롯한 다른 컴퓨터 시스템 구성으로 실시될 수 있다는 것을 잘 알 것이다.Generally, program modules include routines, programs, components, data structures, etc. that perform particular tasks or implement particular abstract data types. In addition, to those skilled in the art, the method of the present disclosure is not limited to single-processor or multiprocessor computer systems, minicomputers, mainframe computers, as well as personal computers, handheld computing devices, microprocessor-based or programmable household appliances, etc. It will be appreciated that other computer system configurations may be implemented, including one that may operate in connection with one or more associated devices.

본 개시의 설명된 실시예들은 또한 어떤 태스크들이 통신 네트워크를 통해 연결되어 있는 원격 처리 장치들에 의해 수행되는 분산 컴퓨팅 환경에서 실시될 수 있다. 분산 컴퓨팅 환경에서, 프로그램 모듈은 로컬 및 원격 메모리 저장 장치 둘 다에 위치할 수 있다.The described embodiments of the present disclosure may also be practiced in a distributed computing environment where certain tasks are performed by remote processing devices that are connected through a communication network. In a distributed computing environment, program modules may be located in both local and remote memory storage devices.

컴퓨터는 통상적으로 다양한 컴퓨터 판독가능 매체를 포함한다. 컴퓨터에 의해 액세스 가능한 매체는 그 어떤 것이든지 컴퓨터 판독가능 매체가 될 수 있고, 이러한 컴퓨터 판독가능 매체는 휘발성 및 비휘발성 매체, 일시적(transitory) 및 비일시적(non-transitory) 매체, 이동식 및 비-이동식 매체를 포함한다. 제한이 아닌 예로서, 컴퓨터 판독가능 매체는 컴퓨터 판독가능 저장 매체 및 컴퓨터 판독가능 전송 매체를 포함할 수 있다. 컴퓨터 판독가능 저장 매체는 컴퓨터 판독가능 명령어, 데이터 구조, 프로그램 모듈 또는 기타 데이터와 같은 정보를 저장하는 임의의 방법 또는 기술로 구현되는 휘발성 및 비휘발성 매체, 일시적 및 비-일시적 매체, 이동식 및 비이동식 매체를 포함한다. 컴퓨터 판독가능 저장 매체는 RAM, ROM, EEPROM, 플래시 메모리 또는 기타 메모리 기술, CD-ROM, DVD(digital video disk) 또는 기타 광 디스크 저장 장치, 자기 카세트, 자기 테이프, 자기 디스크 저장 장치 또는 기타 자기 저장 장치, 또는 컴퓨터에 의해 액세스될 수 있고 원하는 정보를 저장하는 데 사용될 수 있는 임의의 기타 매체를 포함하지만, 이에 한정되지 않는다.Computers typically include a variety of computer-readable media. Computer-readable media can be any computer-readable media, including volatile and nonvolatile media, transitory and non-transitory media, removable and non-transitory media. Includes removable media. By way of example and not limitation, computer-readable media may include computer-readable storage media and computer-readable transmission media. Computer-readable storage media include volatile and nonvolatile media, temporary and non-transitory media, removable and non-removable media implemented in any method or technology for storing information such as computer readable instructions, data structures, program modules or other data. Includes the medium. Computer-readable storage media include RAM, ROM, EEPROM, flash memory or other memory technology, CD-ROM, digital video disk (DVD) or other optical disk storage, magnetic cassette, magnetic tape, magnetic disk storage, or other magnetic storage. Devices, or any other medium that can be accessed by a computer and used to store desired information.

컴퓨터 판독가능 전송 매체는 통상적으로 반송파(carrier wave) 또는 기타 전송 메커니즘(transport mechanism)과 같은 피변조 데이터 신호(modulated data signal)에 컴퓨터 판독가능 명령어, 데이터 구조, 프로그램 모듈 또는 기타 데이터 등을 구현하고 모든 정보 전달 매체를 포함한다. 피변조 데이터 신호라는 용어는 신호 내에 정보를 인코딩하도록 그 신호의 특성들 중 하나 이상을 설정 또는 변경시킨 신호를 의미한다. 제한이 아닌 예로서, 컴퓨터 판독가능 전송 매체는 유선 네트워크 또는 직접 배선 접속(direct-wired connection)과 같은 유선 매체, 그리고 음향, RF, 적외선, 기타 무선 매체와 같은 무선 매체를 포함한다. 상술된 매체들 중 임의의 것의 조합도 역시 컴퓨터 판독가능 전송 매체의 범위 안에 포함되는 것으로 한다.Computer-readable transmission media typically implement computer-readable instructions, data structures, program modules, or other data on a modulated data signal such as a carrier wave or other transport mechanism. Includes all information delivery media. The term modulated data signal refers to a signal in which one or more of the characteristics of the signal is set or changed so as to encode information in the signal. By way of example and not limitation, computer-readable transmission media include wired media such as a wired network or direct-wired connection, and wireless media such as acoustic, RF, infrared, and other wireless media. Combinations of any of the above-described media are also intended to be included within the scope of computer-readable transmission media.

컴퓨터(1102)를 포함하는 본 개시의 여러가지 측면들을 구현하는 예시적인 환경(1100)이 나타내어져 있으며, 컴퓨터(1102)는 처리 장치(1104), 시스템 메모리(1106) 및 시스템 버스(1108)를 포함한다. 시스템 버스(1108)는 시스템 메모리(1106)(이에 한정되지 않음)를 비롯한 시스템 컴포넌트들을 처리 장치(1104)에 연결시킨다. 처리 장치(1104)는 다양한 상용 프로세서들 중 임의의 프로세서일 수 있다. 듀얼 프로세서 및 기타 멀티프로세서 아키텍처도 역시 처리 장치(1104)로서 이용될 수 있다.An exemplary environment 1100 is shown that implements various aspects of the present disclosure, including a computer 1102, which includes a processing device 1104, a system memory 1106, and a system bus 1108. do. System bus 1108 couples system components, including but not limited to, system memory 1106 to processing device 1104. The processing unit 1104 may be any of a variety of commercially available processors. Dual processors and other multiprocessor architectures may also be used as processing unit 1104.

시스템 버스(1108)는 메모리 버스, 주변장치 버스, 및 다양한 상용 버스 아키텍처 중 임의의 것을 사용하는 로컬 버스에 추가적으로 상호 연결될 수 있는 몇 가지 유형의 버스 구조 중 임의의 것일 수 있다. 시스템 메모리(1106)는 판독 전용 메모리(ROM)(1110) 및 랜덤 액세스 메모리(RAM)(1112)를 포함한다. 기본 입/출력 시스템(BIOS)은 ROM, EPROM, EEPROM 등의 비휘발성 메모리(1110)에 저장되며, 이 BIOS는 시동 중과 같은 때에 컴퓨터(1102) 내의 구성요소들 간에 정보를 전송하는 일을 돕는 기본적인 루틴을 포함한다. RAM(1112)은 또한 데이터를 캐싱하기 위한 정적 RAM 등의 고속 RAM을 포함할 수 있다.The system bus 1108 may be any of several types of bus structures that may be additionally interconnected to a memory bus, a peripheral bus, and a local bus using any of a variety of commercial bus architectures. System memory 1106 includes read-only memory (ROM) 1110 and random access memory (RAM) 1112. The basic input/output system (BIOS) is stored in non-volatile memory 1110 such as ROM, EPROM, EEPROM, etc. This BIOS is a basic input/output system that helps transfer information between components in the computer 1102, such as during startup. Includes routines. RAM 1112 may also include high speed RAM such as static RAM for caching data.

컴퓨터(1102)는 또한 내장형 하드 디스크 드라이브(HDD)(1114)(예를 들어, EIDE, SATA)-이 내장형 하드 디스크 드라이브(1114)는 또한 적당한 섀시(도시 생략) 내에서 외장형 용도로 구성될 수 있음-, 자기 플로피 디스크 드라이브(FDD)(1116)(예를 들어, 이동식 디스켓(1118)으로부터 판독을 하거나 그에 기록을 하기 위한 것임), 및 광 디스크 드라이브(1120)(예를 들어, CD-ROM 디스크(1122)를 판독하거나 DVD 등의 기타 고용량 광 매체로부터 판독을 하거나 그에 기록을 하기 위한 것임)를 포함한다. 하드 디스크 드라이브(1114), 자기 디스크 드라이브(1116) 및 광 디스크 드라이브(1120)는 각각 하드 디스크 드라이브 인터페이스(1124), 자기 디스크 드라이브 인터페이스(1126) 및 광 드라이브 인터페이스(1128)에 의해 시스템 버스(1108)에 연결될 수 있다. 외장형 드라이브 구현을 위한 인터페이스(1124)는 USB(Universal Serial Bus) 및 IEEE 1394 인터페이스 기술 중 적어도 하나 또는 그 둘 다를 포함한다.The computer 1102 also includes an internal hard disk drive (HDD) 1114 (e.g., EIDE, SATA)-this internal hard disk drive 1114 can also be configured for external use within a suitable chassis (not shown). Yes—, a magnetic floppy disk drive (FDD) 1116 (for example, to read from or write to a removable diskette 1118), and an optical disk drive 1120 (for example, a CD-ROM). For reading the disk 1122 or for reading from or writing to other high-capacity optical media such as DVD). The hard disk drive 1114, magnetic disk drive 1116, and optical disk drive 1120 are each connected to the system bus 1108 by a hard disk drive interface 1124, a magnetic disk drive interface 1126, and an optical drive interface 1128. ) Can be connected. The interface 1124 for implementing an external drive includes at least one or both of Universal Serial Bus (USB) and IEEE 1394 interface technologies.

이들 드라이브 및 그와 연관된 컴퓨터 판독가능 매체는 데이터, 데이터 구조, 컴퓨터 실행가능 명령어, 기타 등등의 비휘발성 저장을 제공한다. 컴퓨터(1102)의 경우, 드라이브 및 매체는 임의의 데이터를 적당한 디지털 형식으로 저장하는 것에 대응한다. 상기에서의 컴퓨터 판독가능 매체에 대한 설명이 HDD, 이동식 자기 디스크, 및 CD 또는 DVD 등의 이동식 광 매체를 언급하고 있지만, 당업자라면 집 드라이브(zip drive), 자기 카세트, 플래쉬 메모리 카드, 카트리지, 기타 등등의 컴퓨터에 의해 판독가능한 다른 유형의 매체도 역시 예시적인 운영 환경에서 사용될 수 있으며 또 임의의 이러한 매체가 본 개시의 방법들을 수행하기 위한 컴퓨터 실행가능 명령어를 포함할 수 있다는 것을 잘 알 것이다.These drives and their associated computer readable media provide non-volatile storage of data, data structures, computer executable instructions, and the like. In the case of computer 1102, drives and media correspond to storing any data in a suitable digital format. Although the description of the computer-readable medium above refers to a removable optical medium such as a HDD, a removable magnetic disk, and a CD or DVD, those skilled in the art may use a zip drive, a magnetic cassette, a flash memory card, a cartridge, etc. It will be appreciated that other types of media readable by a computer, such as the like, may also be used in the exemplary operating environment and that any such media may contain computer executable instructions for performing the methods of the present disclosure.

운영 체제(1130), 하나 이상의 애플리케이션 프로그램(1132), 기타 프로그램 모듈(1134) 및 프로그램 데이터(1136)를 비롯한 다수의 프로그램 모듈이 드라이브 및 RAM(1112)에 저장될 수 있다. 운영 체제, 애플리케이션, 모듈 및/또는 데이터의 전부 또는 그 일부분이 또한 RAM(1112)에 캐싱될 수 있다. 본 개시가 여러가지 상업적으로 이용가능한 운영 체제 또는 운영 체제들의 조합에서 구현될 수 있다는 것을 잘 알 것이다.A number of program modules, including the operating system 1130, one or more application programs 1132, other program modules 1134, and program data 1136, may be stored in the drive and RAM 1112. All or part of the operating system, applications, modules and/or data may also be cached in RAM 1112. It will be appreciated that the present disclosure may be implemented on several commercially available operating systems or combinations of operating systems.

사용자는 하나 이상의 유선/무선 입력 장치, 예를 들어, 키보드(1138) 및 마우스(1140) 등의 포인팅 장치를 통해 컴퓨터(1102)에 명령 및 정보를 입력할 수 있다. 기타 입력 장치(도시 생략)로는 마이크, IR 리모콘, 조이스틱, 게임 패드, 스타일러스 펜, 터치 스크린, 기타 등등이 있을 수 있다. 이들 및 기타 입력 장치가 종종 시스템 버스(1108)에 연결되어 있는 입력 장치 인터페이스(1142)를 통해 처리 장치(1104)에 연결되지만, 병렬 포트, IEEE 1394 직렬 포트, 게임 포트, USB 포트, IR 인터페이스, 기타 등등의 기타 인터페이스에 의해 연결될 수 있다.A user may input commands and information to the computer 1102 through one or more wired/wireless input devices, for example, a pointing device such as a keyboard 1138 and a mouse 1140. Other input devices (not shown) may include a microphone, IR remote control, joystick, game pad, stylus pen, touch screen, and the like. These and other input devices are often connected to the processing unit 1104 through the input device interface 1142, which is connected to the system bus 1108, but the parallel port, IEEE 1394 serial port, game port, USB port, IR interface, It can be connected by other interfaces such as etc.

모니터(1144) 또는 다른 유형의 디스플레이 장치도 역시 비디오 어댑터(1146) 등의 인터페이스를 통해 시스템 버스(1108)에 연결된다. 모니터(1144)에 부가하여, 컴퓨터는 일반적으로 스피커, 프린터, 기타 등등의 기타 주변 출력 장치(도시 생략)를 포함한다.A monitor 1144 or other type of display device is also connected to the system bus 1108 through an interface such as a video adapter 1146. In addition to the monitor 1144, the computer generally includes other peripheral output devices (not shown) such as speakers, printers, and the like.

컴퓨터(1102)는 유선 및/또는 무선 통신을 통한 원격 컴퓨터(들)(1148) 등의 하나 이상의 원격 컴퓨터로의 논리적 연결을 사용하여 네트워크화된 환경에서 동작할 수 있다. 원격 컴퓨터(들)(1148)는 워크스테이션, 컴퓨팅 디바이스 컴퓨터, 라우터, 퍼스널 컴퓨터, 휴대용 컴퓨터, 마이크로프로세서-기반 오락 기기, 피어 장치 또는 기타 통상의 네트워크 노드일 수 있으며, 일반적으로 컴퓨터(1102)에 대해 기술된 구성요소들 중 다수 또는 그 전부를 포함하지만, 간략함을 위해, 메모리 저장 장치(1150)만이 도시되어 있다. 도시되어 있는 논리적 연결은 근거리 통신망(LAN)(1152) 및/또는 더 큰 네트워크, 예를 들어, 원거리 통신망(WAN)(1154)에의 유선/무선 연결을 포함한다. 이러한 LAN 및 WAN 네트워킹 환경은 사무실 및 회사에서 일반적인 것이며, 인트라넷 등의 전사적 컴퓨터 네트워크(enterprise-wide computer network)를 용이하게 해주며, 이들 모두는 전세계 컴퓨터 네트워크, 예를 들어, 인터넷에 연결될 수 있다.Computer 1102 may operate in a networked environment using logical connections to one or more remote computers, such as remote computer(s) 1148, via wired and/or wireless communication. The remote computer(s) 1148 may be a workstation, a computing device computer, a router, a personal computer, a portable computer, a microprocessor-based entertainment device, a peer device, or other common network node, and is generally connected to the computer 1102. Although it includes many or all of the components described for simplicity, only memory storage device 1150 is shown. The logical connections shown include wired/wireless connections to a local area network (LAN) 1152 and/or to a larger network, eg, a wide area network (WAN) 1154. Such LAN and WAN networking environments are common in offices and companies, and facilitate enterprise-wide computer networks such as intranets, all of which can be connected to worldwide computer networks, for example the Internet.

LAN 네트워킹 환경에서 사용될 때, 컴퓨터(1102)는 유선 및/또는 무선 통신 네트워크 인터페이스 또는 어댑터(1156)를 통해 로컬 네트워크(1152)에 연결된다. 어댑터(1156)는 LAN(1152)에의 유선 또는 무선 통신을 용이하게 해줄 수 있으며, 이 LAN(1152)은 또한 무선 어댑터(1156)와 통신하기 위해 그에 설치되어 있는 무선 액세스 포인트를 포함하고 있다. WAN 네트워킹 환경에서 사용될 때, 컴퓨터(1102)는 모뎀(1158)을 포함할 수 있거나, WAN(1154) 상의 통신 컴퓨팅 디바이스에 연결되거나, 또는 인터넷을 통하는 등, WAN(1154)을 통해 통신을 설정하는 기타 수단을 갖는다. 내장형 또는 외장형 및 유선 또는 무선 장치일 수 있는 모뎀(1158)은 직렬 포트 인터페이스(1142)를 통해 시스템 버스(1108)에 연결된다. 네트워크화된 환경에서, 컴퓨터(1102)에 대해 설명된 프로그램 모듈들 또는 그의 일부분이 원격 메모리/저장 장치(1150)에 저장될 수 있다. 도시된 네트워크 연결이 예시적인 것이며 컴퓨터들 사이에 통신 링크를 설정하는 기타 수단이 사용될 수 있다는 것을 잘 알 것이다.When used in a LAN networking environment, the computer 1102 is connected to the local network 1152 via a wired and/or wireless communication network interface or adapter 1156. Adapter 1156 may facilitate wired or wireless communication to LAN 1152, which also includes a wireless access point installed therein to communicate with wireless adapter 1156. When used in a WAN networking environment, the computer 1102 may include a modem 1158, connected to a communication computing device on the WAN 1154, or through the Internet, to establish communication through the WAN 1154. Have other means. The modem 1158, which may be an internal or external and a wired or wireless device, is connected to the system bus 1108 through a serial port interface 1142. In a networked environment, program modules described for computer 1102 or portions thereof may be stored in remote memory/storage device 1150. It will be appreciated that the network connections shown are exemplary and other means of establishing communication links between computers may be used.

컴퓨터(1102)는 무선 통신으로 배치되어 동작하는 임의의 무선 장치 또는 개체, 예를 들어, 프린터, 스캐너, 데스크톱 및/또는 휴대용 컴퓨터, PDA(portable data assistant), 통신 위성, 무선 검출가능 태그와 연관된 임의의 장비 또는 장소, 및 전화와 통신을 하는 동작을 한다. 이것은 적어도 Wi-Fi 및 블루투스 무선 기술을 포함한다. 따라서, 통신은 종래의 네트워크에서와 같이 미리 정의된 구조이거나 단순하게 적어도 2개의 장치 사이의 애드혹 통신(ad hoc communication)일 수 있다.Computer 1102 is associated with any wireless device or entity deployed and operated in wireless communication, e.g., a printer, scanner, desktop and/or portable computer, portable data assistant (PDA), communication satellite, wireless detectable tag. It operates to communicate with any device or place, and a phone. This includes at least Wi-Fi and Bluetooth wireless technologies. Accordingly, the communication may be a predefined structure as in a conventional network or may simply be ad hoc communication between at least two devices.

Wi-Fi(Wireless Fidelity)는 유선 없이도 인터넷 등으로의 연결을 가능하게 해준다. Wi-Fi는 이러한 장치, 예를 들어, 컴퓨터가 실내에서 및 실외에서, 즉 기지국의 통화권 내의 아무 곳에서나 데이터를 전송 및 수신할 수 있게 해주는 셀 전화와 같은 무선 기술이다. Wi-Fi 네트워크는 안전하고 신뢰성 있으며 고속인 무선 연결을 제공하기 위해 IEEE 802.11(a, b, g, 기타)이라고 하는 무선 기술을 사용한다. 컴퓨터를 서로에, 인터넷에 및 유선 네트워크(IEEE 802.3 또는 이더넷을 사용함)에 연결시키기 위해 Wi-Fi가 사용될 수 있다. Wi-Fi 네트워크는 비인가 2.4 및 5GHz 무선 대역에서, 예를 들어, 11Mbps(802.11a) 또는 54 Mbps(802.11b) 데이터 레이트로 동작하거나, 양 대역(듀얼 대역)을 포함하는 제품에서 동작할 수 있다.Wi-Fi (Wireless Fidelity) allows you to connect to the Internet or the like without wires. Wi-Fi is a wireless technology such as a cell phone that allows such devices, for example computers, to transmit and receive data indoors and outdoors, that is, anywhere within the coverage area of a base station. Wi-Fi networks use a wireless technology called IEEE 802.11 (a, b, g, etc.) to provide a secure, reliable and high-speed wireless connection. Wi-Fi can be used to connect computers to each other, to the Internet, and to a wired network (using IEEE 802.3 or Ethernet). The Wi-Fi network can operate in an unlicensed 2.4 and 5 GHz radio band, for example, at a data rate of 11 Mbps (802.11a) or 54 Mbps (802.11b), or in a product including both bands (dual band). .

본 개시의 기술 분야에서 통상의 지식을 가진 자는 정보 및 신호들이 임의의 다양한 상이한 기술들 및 기법들을 이용하여 표현될 수 있다는 것을 이해할 것이다. 예를 들어, 위의 설명에서 참조될 수 있는 데이터, 지시들, 명령들, 정보, 신호들, 비트들, 심볼들 및 칩들은 전압들, 전류들, 전자기파들, 자기장들 또는 입자들, 광학장들 또는 입자들, 또는 이들의 임의의 결합에 의해 표현될 수 있다.Those of ordinary skill in the art of this disclosure will understand that information and signals may be represented using any of a variety of different technologies and techniques. For example, data, instructions, commands, information, signals, bits, symbols and chips that may be referenced in the above description are voltages, currents, electromagnetic waves, magnetic fields or particles, optical fields. Or particles, or any combination thereof.

본 개시의 기술 분야에서 통상의 지식을 가진 자는 여기에 개시된 실시예들과 관련하여 설명된 다양한 예시적인 논리 블록들, 모듈들, 프로세서들, 수단들, 회로들 및 알고리즘 단계들이 전자 하드웨어, (편의를 위해, 여기에서 소프트웨어로 지칭되는) 다양한 형태들의 프로그램 또는 설계 코드 또는 이들 모두의 결합에 의해 구현될 수 있다는 것을 이해할 것이다. 하드웨어 및 소프트웨어의 이러한 상호 호환성을 명확하게 설명하기 위해, 다양한 예시적인 컴포넌트들, 블록들, 모듈들, 회로들 및 단계들이 이들의 기능과 관련하여 위에서 일반적으로 설명되었다. 이러한 기능이 하드웨어 또는 소프트웨어로서 구현되는지 여부는 특정한 애플리케이션 및 전체 시스템에 대하여 부과되는 설계 제약들에 따라 좌우된다. 본 개시의 기술 분야에서 통상의 지식을 가진 자는 각각의 특정한 애플리케이션에 대하여 다양한 방식들로 설명된 기능을 구현할 수 있으나, 이러한 구현 결정들은 본 개시의 범위를 벗어나는 것으로 해석되어서는 안 될 것이다.A person of ordinary skill in the art of the present disclosure includes various exemplary logical blocks, modules, processors, means, circuits and algorithm steps described in connection with the embodiments disclosed herein, electronic hardware, (convenience). For the sake of clarity, it will be appreciated that it may be implemented by various types of programs or design code or a combination of both (referred to herein as software). To clearly illustrate this interchangeability of hardware and software, various illustrative components, blocks, modules, circuits, and steps have been described above generally in terms of their functionality. Whether such functionality is implemented as hardware or software depends on the particular application and design constraints imposed on the overall system. A person of ordinary skill in the art of the present disclosure may implement the described functions in various ways for each specific application, but such implementation decisions should not be interpreted as causing a departure from the scope of the present disclosure.

여기서 제시된 다양한 실시예들은 방법, 장치, 또는 표준 프로그래밍 및/또는 엔지니어링 기술을 사용한 제조 물품(article)으로 구현될 수 있다. 용어 제조 물품은 임의의 컴퓨터-판독가능 저장장치로부터 액세스 가능한 컴퓨터 프로그램, 캐리어, 또는 매체(media)를 포함한다. 예를 들어, 컴퓨터-판독가능 저장매체는 자기 저장 장치(예를 들면, 하드 디스크, 플로피 디스크, 자기 스트립, 등), 광학 디스크(예를 들면, CD, DVD, 등), 스마트 카드, 및 플래쉬 메모리 장치(예를 들면, EEPROM, 카드, 스틱, 키 드라이브, 등)를 포함하지만, 이들로 제한되는 것은 아니다. 또한, 여기서 제시되는 다양한 저장 매체는 정보를 저장하기 위한 하나 이상의 장치 및/또는 다른 기계-판독가능한 매체를 포함한다.The various embodiments presented herein may be implemented as a method, apparatus, or article of manufacture using standard programming and/or engineering techniques. The term article of manufacture includes a computer program, carrier, or media accessible from any computer-readable storage device. For example, computer-readable storage media include magnetic storage devices (e.g., hard disks, floppy disks, magnetic strips, etc.), optical disks (e.g., CD, DVD, etc.), smart cards, and flash devices. Memory devices (eg, EEPROM, cards, sticks, key drives, etc.). In addition, the various storage media presented herein include one or more devices and/or other machine-readable media for storing information.

제시된 프로세스들에 있는 단계들의 특정한 순서 또는 계층 구조는 예시적인 접근들의 일례임을 이해하도록 한다. 설계 우선순위들에 기반하여, 본 개시의 범위 내에서 프로세스들에 있는 단계들의 특정한 순서 또는 계층 구조가 재배열될 수 있다는 것을 이해하도록 한다. 첨부된 방법 청구항들은 샘플 순서로 다양한 단계들의 엘리먼트들을 제공하지만 제시된 특정한 순서 또는 계층 구조에 한정되는 것을 의미하지는 않는다.It is to be understood that the specific order or hierarchy of steps in the presented processes is an example of exemplary approaches. Based on the design priorities, it is to be understood that within the scope of this disclosure a specific order or hierarchy of steps in processes may be rearranged. The appended method claims provide elements of the various steps in a sample order, but are not meant to be limited to the specific order or hierarchy presented.

제시된 실시예들에 대한 설명은 임의의 본 개시의 기술 분야에서 통상의 지식을 가진 자가 본 개시를 이용하거나 또는 실시할 수 있도록 제공된다. 이러한 실시예들에 대한 다양한 변형들은 본 개시의 기술 분야에서 통상의 지식을 가진 자에게 명백할 것이며, 여기에 정의된 일반적인 원리들은 본 개시의 범위를 벗어남이 없이 다른 실시예들에 적용될 수 있다. 그리하여, 본 개시는 여기에 제시된 실시예들로 한정되는 것이 아니라, 여기에 제시된 원리들 및 신규한 특징들과 일관되는 최광의의 범위에서 해석되어야 할 것이다.A description of the presented embodiments is provided to enable any person skilled in the art to make or use the present disclosure. Various modifications to these embodiments will be apparent to those of ordinary skill in the art, and general principles defined herein may be applied to other embodiments without departing from the scope of the present disclosure. Thus, the present disclosure is not to be limited to the embodiments presented herein, but is to be construed in the widest scope consistent with the principles and novel features presented herein.

Claims (20)

컴퓨터 판독가능 저장 매체에 저장된 컴퓨터 프로그램으로서, 상기 컴퓨터 프로그램은 게임 서버의 하나 이상의 프로세서에 의해 실행되는 경우 게임 데이터를 저장하고 활용하기 위한 이하의 동작들을 수행하도록 하며, 상기 동작들은,
게임 데이터를 블록체인 네트워크에 저장시키기 위한 트랜잭션을 생성하는 동작;
블록체인 네트워크에 포함된 적어도 하나의 노드에 상기 트랜잭션을 전송함으로써 상기 블록체인 네트워크에 포함된 복수의 노드에서 합의 알고리즘에 기초하여 상기 트랜잭션을 블록에 기록하도록 야기하는 동작; 및
사용자 단말의 게임 데이터 요청에 기초하여 상기 블록체인 네트워크에 포함된 적어도 하나의 노드로부터 상기 게임 데이터 요청에 대응되는 게임 데이터를 획득하는 동작;
을 포함하고,
상기 블록체인 네트워크에 포함된 적어도 하나의 노드에 상기 트랜잭션을 전송함으로써 상기 블록체인 네트워크에 포함된 복수의 노드에서 합의 알고리즘에 기초하여 상기 트랜잭션을 블록에 기록하도록 야기하는 동작은,
스마트 컨트랙트를 활용하여 복수의 심사위원 노드를 통해 사전 결정된 기준에 기초하여 게임 데이터 저장 동의 여부가 결정된 후에 상기 게임 데이터의 저장 동의 결정이 기 설정된 횟수를 초과하였다고 인식된 경우, 상기 트랜잭션을 블록에 기록할 것을 결정하는 동작;
을 포함하고,
상기 사전 결정된 기준은,
게임 데이터 저장 요청에 대응하는 게임 데이터의 조회 빈도 수 또는 상기 게임 데이터의 크기인,
컴퓨터 판독가능 저장 매체에 저장된 컴퓨터 프로그램.
A computer program stored in a computer-readable storage medium, wherein the computer program performs the following operations for storing and utilizing game data when executed by one or more processors of a game server, the operations,
Generating a transaction for storing game data in a blockchain network;
Causing a plurality of nodes included in the blockchain network to record the transaction in a block based on a consensus algorithm by transmitting the transaction to at least one node included in the blockchain network; And
Obtaining game data corresponding to the game data request from at least one node included in the blockchain network based on the game data request from the user terminal;
Including,
The operation of causing a plurality of nodes included in the blockchain network to record the transaction in a block based on a consensus algorithm by transmitting the transaction to at least one node included in the blockchain network,
When it is recognized that the consent to save game data exceeds a preset number of times after the consent to save game data is determined based on a predetermined criterion through a plurality of judge nodes using a smart contract, the transaction is recorded in a block. Deciding what to do;
Including,
The predetermined criteria are:
The number of inquiry frequency of game data corresponding to the request to store game data or the size of the game data,
A computer program stored on a computer readable storage medium.
제 1 항에 있어서,
상기 게임 데이터는,
사용자의 캐릭터 정보, 사용자의 활동 로그 또는 게임 실행 가능한 명령어 형태의 데이터 중 적어도 하나를 포함하는,
컴퓨터 판독가능 저장 매체에 저장된 컴퓨터 프로그램.
The method of claim 1,
The game data,
Including at least one of the user's character information, the user's activity log, or data in the form of a command executable game,
A computer program stored on a computer readable storage medium.
제 2 항에 있어서,
상기 사용자의 캐릭터 정보는,
상기 사용자의 캐릭터 정보가 포함된 게임 화면 이미지를 포함하는,
컴퓨터 판독가능 저장 매체에 저장된 컴퓨터 프로그램.
The method of claim 2,
The user's character information,
Including a game screen image including the user's character information,
A computer program stored on a computer readable storage medium.
제 2 항에 있어서,
상기 사용자의 활동 로그는,
게임 시뮬레이션 또는 게임 리플레이 중 적어도 하나를 위한 게임 화면 이미지 또는 게임 플레이 영상 중 적어도 하나를 포함하는,
컴퓨터 판독가능 저장 매체에 저장된 컴퓨터 프로그램.
The method of claim 2,
The user's activity log,
Including at least one of a game screen image or a game play image for at least one of game simulation or game replay,
A computer program stored on a computer readable storage medium.
제 2 항에 있어서,
상기 트랜잭션은,
게임 서버에 저장된 상기 게임 데이터, 블록체인 네트워크의 노드에 저장된 상기 게임 데이터를 획득하기 위한 정보, 또는 상기 게임 데이터의 위변조 방지를 위한 해시값 중 적어도 하나를 포함하는,
컴퓨터 판독가능 저장 매체에 저장된 컴퓨터 프로그램.
The method of claim 2,
The transaction is:
Including at least one of the game data stored in a game server, information for obtaining the game data stored in a node of a blockchain network, or a hash value for preventing forgery of the game data,
A computer program stored on a computer readable storage medium.
제 1 항에 있어서,
게임 데이터를 블록체인 네트워크에 저장시키기 위한 트랜잭션을 생성하는 동작은,
특정 시점마다 상기 게임 데이터를 블록체인 네트워크에 저장시키기 위한 트랜잭션을 생성하는 동작을 포함하고,
상기 특정 시점은,
게임 시스템의 변동 사항이 발생하는 시점인,
컴퓨터 판독가능 저장 매체에 저장된 컴퓨터 프로그램.
The method of claim 1,
The operation of creating a transaction to store game data on the blockchain network is:
Including the operation of generating a transaction for storing the game data in the blockchain network at a specific time point,
The specific point in time,
The point at which changes to the game system occur,
A computer program stored on a computer readable storage medium.
제 1 항에 있어서,
사용자 단말로부터 게임 데이터 저장 요청을 수신하는 동작; 및
상기 게임 데이터 저장 요청에 기초하여 상기 게임 데이터를 획득하는 동작;
을 더 포함하는,
컴퓨터 판독가능 저장 매체에 저장된 컴퓨터 프로그램.
The method of claim 1,
Receiving a request to store game data from a user terminal; And
Obtaining the game data based on the request to store the game data;
It further includes,
A computer program stored on a computer readable storage medium.
제 7 항에 있어서,
상기 게임 데이터 저장 요청에 기초하여 상기 게임 데이터를 획득하는 동작은,
상기 게임 데이터 저장 요청에 포함된 토큰에 기초하여 상기 게임 데이터를 획득하는 동작;
을 포함하는,
컴퓨터 판독가능 저장 매체에 저장된 컴퓨터 프로그램.
The method of claim 7,
Acquiring the game data based on the game data storage request,
Obtaining the game data based on the token included in the game data storage request;
Containing,
A computer program stored on a computer readable storage medium.
제 8 항에 있어서,
상기 토큰은,
사용자 식별 데이터 또는 상기 게임 데이터 저장 요청을 실행하는 비용 정보 중 적어도 하나를 포함하는,
컴퓨터 판독가능 저장 매체에 저장된 컴퓨터 프로그램.
The method of claim 8,
The token is,
Including at least one of user identification data or cost information for executing the game data storage request,
A computer program stored on a computer readable storage medium.
제 1 항에 있어서,
게임 데이터를 블록체인 네트워크에 저장시키기 위한 트랜잭션을 생성하는 동작은,
상기 게임 데이터가 사용자의 개인 데이터인 경우, 사용자 단말의 개인 데이터 암호화 요청에 기초하여 사용자 개인 데이터의 암호화 여부를 결정하는 동작;
을 포함하는,
컴퓨터 판독가능 저장 매체에 저장된 컴퓨터 프로그램.
The method of claim 1,
The operation of creating a transaction to store game data on the blockchain network is:
If the game data is the user's personal data, determining whether to encrypt the user's personal data based on the personal data encryption request of the user terminal;
Containing,
A computer program stored on a computer readable storage medium.
제 10 항에 있어서,
상기 게임 데이터가 사용자의 개인 데이터인 경우, 사용자 단말의 개인 데이터 암호화 요청에 기초하여 사용자 개인 데이터의 암호화 여부를 결정하는 동작은,
사용자 단말의 개인 데이터 암호화 요청이 수신된 경우, 비대칭키 암호화 알고리즘을 통해 상기 사용자의 개인 데이터를 공개키로 암호화하는 동작;
을 포함하는,
컴퓨터 판독가능 저장 매체에 저장된 컴퓨터 프로그램.
The method of claim 10,
When the game data is the user's personal data, the operation of determining whether to encrypt the user's personal data based on the personal data encryption request of the user terminal,
Encrypting the user's personal data with a public key through an asymmetric key encryption algorithm when a request for encrypting personal data of the user terminal is received;
Containing,
A computer program stored on a computer readable storage medium.
제 1 항에 있어서,
상기 노드는,
저장 대상 데이터를 블록체인 네트워크에 저장할지 여부를 결정하는 상기 심사위원 노드를 포함하는,
컴퓨터 판독가능 저장 매체에 저장된 컴퓨터 프로그램.
The method of claim 1,
The node,
Including the jury node to determine whether to store the data to be stored in the blockchain network,
A computer program stored on a computer readable storage medium.
삭제delete 삭제delete 제 1 항에 있어서,
블록체인 네트워크에 포함된 적어도 하나의 노드에 상기 트랜잭션을 전송함으로써 상기 블록체인 네트워크에 포함된 복수의 노드에서 합의 알고리즘에 기초하여 상기 트랜잭션을 블록에 기록하도록 야기하는 동작은,
저장 대상 데이터와 관련된 사용자 단말에 저장 대상 데이터 저장 동의 요청을 전송하여, 상기 저장 대상 데이터와 관련된 상기 사용자 단말로부터 저장 대상 데이터 저장 동의 여부 응답을 수신하는 동작;
을 포함하는,
컴퓨터 판독가능 저장 매체에 저장된 컴퓨터 프로그램.
The method of claim 1,
The operation of causing a plurality of nodes included in the blockchain network to record the transaction in a block based on a consensus algorithm by transmitting the transaction to at least one node included in the blockchain network,
Transmitting a storage target data storage consent request to a user terminal related to the storage target data, and receiving a storage target data storage consent response from the user terminal related to the storage target data;
Containing,
A computer program stored on a computer readable storage medium.
제 15 항에 있어서,
상기 저장 대상 데이터와 관련된 상기 사용자 단말이 상기 저장 대상 데이터 저장 동의 요청을 전송한 경우, 토큰에 리워드 정보를 기록하는 동작;
을 더 포함하는,
컴퓨터 판독가능 저장 매체에 저장된 컴퓨터 프로그램.
The method of claim 15,
Recording reward information in a token when the user terminal related to the storage target data transmits the storage target data storage consent request;
It further includes,
A computer program stored on a computer readable storage medium.
제 15 항에 있어서,
상기 저장 대상 데이터와 관련된 노드에 저장 대상 데이터 저장 동의 요청을 전송하여, 상기 저장 대상 데이터와 관련된 노드로부터 저장 대상 데이터 저장 동의 여부 응답을 수신하는 동작은,
상기 저장 대상 데이터와 관련된 모든 사용자 단말의 동의 응답을 수신한 경우, 상기 트랜잭션을 블록에 기록하도록 야기하는 동작;
을 포함하는,
컴퓨터 판독가능 저장 매체에 저장된 컴퓨터 프로그램.
The method of claim 15,
The operation of transmitting a storage target data storage consent request to a node related to the storage target data, and receiving a storage target data storage consent response from the node related to the storage target data,
Causing the transaction to be recorded in a block upon receipt of consent responses from all user terminals related to the storage target data;
Containing,
A computer program stored on a computer readable storage medium.
제 1 항에 있어서,
사용자 단말의 게임 데이터 요청에 기초하여 상기 블록체인 네트워크에 포함된 적어도 하나의 노드로부터 상기 게임 데이터 요청에 대응되는 게임 데이터를 획득하는 동작은,
상기 게임 데이터가 비대칭키 암호화 알고리즘을 통해 공개키로 암호화된 경우, 상기 게임 데이터를 개인키로 복호화하는 동작;
을 포함하는,
컴퓨터 판독가능 저장 매체에 저장된 컴퓨터 프로그램.
The method of claim 1,
The operation of obtaining game data corresponding to the game data request from at least one node included in the blockchain network based on the game data request of the user terminal,
When the game data is encrypted with a public key through an asymmetric key encryption algorithm, decrypting the game data with a private key;
Containing,
A computer program stored on a computer readable storage medium.
제 1 항에 있어서,
사용자 단말의 게임 데이터 요청에 기초하여 상기 블록체인 네트워크에 포함된 적어도 하나의 노드로부터 상기 게임 데이터 요청에 대응되는 게임 데이터를 획득하는 동작은,
게임 실행 가능한 명령어 형태의 데이터를 상기 블록체인 네트워크로부터 획득하는 동작을 포함하고,
사용자 단말에서 상기 게임 실행 가능한 명령어 형태의 데이터에 기초하여 게임을 수행하도록 상기 게임 실행 가능한 명령어 형태의 데이터를 상기 사용자 단말로 전송하는 동작;
을 더 포함하는,
컴퓨터 판독가능 저장 매체에 저장된 컴퓨터 프로그램.
The method of claim 1,
The operation of obtaining game data corresponding to the game data request from at least one node included in the blockchain network based on the game data request of the user terminal,
Including the operation of acquiring data in the form of a command executable game from the blockchain network,
Transmitting the data in the form of an executable command to the user terminal so that the user terminal performs a game based on the data in the form of commands executable in the game;
It further includes,
A computer program stored on a computer readable storage medium.
게임 서버로서,
블록체인 네트워크와 통신하는 송수신부;
저장부; 및
프로세서;
를 포함하고,
상기 프로세서는,
게임 데이터를 블록체인 네트워크에 저장시키기 위한 트랜잭션을 생성하고,
블록체인 네트워크에 포함된 적어도 하나의 노드에 상기 트랜잭션을 전송함으로써 상기 블록체인 네트워크에 포함된 복수의 노드에서 합의 알고리즘에 기초하여 상기 트랜잭션을 블록에 기록하도록 야기하고, 그리고
사용자 단말의 게임 데이터 요청에 기초하여 상기 블록체인 네트워크에 포함된 적어도 하나의 노드로부터 상기 게임 데이터 요청에 대응되는 게임 데이터를 획득하며,
상기 블록체인 네트워크에 포함된 적어도 하나의 노드에 상기 트랜잭션을 전송함으로써 상기 블록체인 네트워크에 포함된 복수의 노드에서 합의 알고리즘에 기초하여 상기 트랜잭션을 블록에 기록하도록 야기하는 경우,
스마트 컨트랙트를 활용하여 복수의 심사위원 노드를 통해 사전 결정된 기준에 기초하여 게임 데이터 저장 동의 여부가 결정된 후에 상기 게임 데이터의 저장 동의 결정이 기 설정된 횟수를 초과하였다고 인식된 경우, 상기 트랜잭션을 블록에 기록할 것을 결정하고,
상기 사전 결정된 기준은,
게임 데이터 저장 요청에 대응하는 게임 데이터의 조회 빈도 수 또는 상기 게임 데이터의 크기인,
게임 서버.
As a game server,
Transmitting and receiving unit for communication with the blockchain network;
Storage; And
Processor;
Including,
The processor,
Create a transaction to store game data on the blockchain network,
Sending the transaction to at least one node included in the blockchain network causes a plurality of nodes included in the blockchain network to record the transaction in a block based on a consensus algorithm, and
Obtaining game data corresponding to the game data request from at least one node included in the blockchain network based on the game data request from the user terminal,
In the case of causing a plurality of nodes included in the blockchain network to record the transaction in a block based on a consensus algorithm by transmitting the transaction to at least one node included in the blockchain network,
When it is recognized that the consent to save game data exceeds a preset number of times after the consent to save game data is determined based on a predetermined criterion through a plurality of judge nodes using a smart contract, the transaction is recorded in a block. Decide what to do,
The predetermined criteria are:
The number of inquiry frequency of game data corresponding to the request to save game data or the size of the game data,
Game server.
KR1020190061623A 2019-05-27 2019-05-27 Method for saving and utilizing game data based on block chain network KR102243324B1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020190061623A KR102243324B1 (en) 2019-05-27 2019-05-27 Method for saving and utilizing game data based on block chain network

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020190061623A KR102243324B1 (en) 2019-05-27 2019-05-27 Method for saving and utilizing game data based on block chain network

Publications (2)

Publication Number Publication Date
KR20200136073A KR20200136073A (en) 2020-12-07
KR102243324B1 true KR102243324B1 (en) 2021-04-22

Family

ID=73791253

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020190061623A KR102243324B1 (en) 2019-05-27 2019-05-27 Method for saving and utilizing game data based on block chain network

Country Status (1)

Country Link
KR (1) KR102243324B1 (en)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20240013562A (en) 2022-07-22 2024-01-30 식스디그리스코드 주식회사 Blockchain-based game user information sharing and how to create and utilize game characters / AI players using it

Families Citing this family (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP7086163B1 (en) * 2020-12-22 2022-06-17 株式会社電通 Data processing system
KR102589317B1 (en) * 2021-01-15 2023-10-16 주식회사 핏펀즈 Apparatus and method for providing financial services using on-line game
CN113505125A (en) * 2021-06-11 2021-10-15 支付宝(杭州)信息技术有限公司 Data uplink method and uplink proxy device
KR102550621B1 (en) * 2022-04-22 2023-06-30 이원술 Control method of electronic apparatus for generating virtual character based on unique number of non fungible token
KR102572970B1 (en) * 2022-11-09 2023-08-31 주식회사 이엘파크 An automatic logging method that allows user to check the time of event occurrence on the metaverse platform

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101932277B1 (en) * 2017-12-22 2018-12-24 주식회사 미탭스플러스 Distributed Ledger Device and Distributed Ledger Method for Sharing User Information using Blockchain

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102019211B1 (en) * 2017-11-14 2019-11-04 주식회사 아이콘루프 Method for generating block chain capable of overcoming byzantine fault

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101932277B1 (en) * 2017-12-22 2018-12-24 주식회사 미탭스플러스 Distributed Ledger Device and Distributed Ledger Method for Sharing User Information using Blockchain

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
"블록체인과 모바일 게임, ‘금융+게임’의 형태로 진화하다", 인터넷 MOBILEINSIGHT 사이트 게시글(2018.05.)*

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20240013562A (en) 2022-07-22 2024-01-30 식스디그리스코드 주식회사 Blockchain-based game user information sharing and how to create and utilize game characters / AI players using it

Also Published As

Publication number Publication date
KR20200136073A (en) 2020-12-07

Similar Documents

Publication Publication Date Title
KR102243324B1 (en) Method for saving and utilizing game data based on block chain network
KR102162762B1 (en) Technique for item tracking
CN110270097B (en) Secure distributed video game trading platform
KR102416506B1 (en) Implementation of logic gate function using blockchain
KR102182849B1 (en) Technique for item transaction
KR102030171B1 (en) Method to manage decenteralized game
KR102162763B1 (en) Method to transfer accounts
KR102247815B1 (en) Management techniques of game-save data based on block chain network
KR102207560B1 (en) Computing devices for providing file sharing services
KR20220065259A (en) A method for providing exchange services of ownership item assets using non-fungible tokens based on block chain networks, an apparatus and a system using it
KR102254207B1 (en) Method for menaging game data on blockchain
CN104599123A (en) Management method for account information, account management server and a POS terminal and system
KR102370146B1 (en) Method for holding a league in a game
KR102151731B1 (en) Technique for allowing item self processing
KR20200108763A (en) Method to manage decenteralized game
Clark et al. Research perspectives and challenges for bitcoin and cryptocurrencies
KR20220065260A (en) A method for providing database services of ownership item assets using non-fungible tokens based on block chain networks, an apparatus and a system using it
KR20220065256A (en) A method for providing exchange services of ownership item assets using non-fungible tokens based on block chain networks, an apparatus and a system using it
KR102140635B1 (en) Method for lottery using blockchain
KR102305778B1 (en) Method for judging abusing of game play action
KR20200138097A (en) Method to transfer accounts
KR20220065258A (en) A method for providing exchange services of ownership item assets using non-fungible tokens based on block chain networks, an apparatus and a system using it
KR20200135247A (en) Technique for item transaction
KR20220065255A (en) A method for providing exchange services of ownership item assets using non-fungible tokens based on block chain networks, an apparatus and a system using it
KR102271670B1 (en) Method for selling save data by auction

Legal Events

Date Code Title Description
E902 Notification of reason for refusal
E701 Decision to grant or registration of patent right