KR20200091647A - Technique for item transaction - Google Patents

Technique for item transaction Download PDF

Info

Publication number
KR20200091647A
KR20200091647A KR1020190008677A KR20190008677A KR20200091647A KR 20200091647 A KR20200091647 A KR 20200091647A KR 1020190008677 A KR1020190008677 A KR 1020190008677A KR 20190008677 A KR20190008677 A KR 20190008677A KR 20200091647 A KR20200091647 A KR 20200091647A
Authority
KR
South Korea
Prior art keywords
item
transaction
user
blockchain network
game
Prior art date
Application number
KR1020190008677A
Other languages
Korean (ko)
Other versions
KR102182849B1 (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 KR1020190008677A priority Critical patent/KR102182849B1/en
Publication of KR20200091647A publication Critical patent/KR20200091647A/en
Application granted granted Critical
Publication of KR102182849B1 publication Critical patent/KR102182849B1/en

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q30/00Commerce
    • G06Q30/06Buying, selling or leasing transactions
    • G06Q30/0601Electronic shopping [e-shopping]
    • G06Q30/0607Regulated
    • 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
    • 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/75Enforcing rules, e.g. detecting foul play or generating lists of cheating players
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q20/00Payment architectures, schemes or protocols
    • G06Q20/38Payment protocols; Details thereof
    • G06Q20/382Payment protocols; Details thereof insuring higher security of transaction

Landscapes

  • Engineering & Computer Science (AREA)
  • Business, Economics & Management (AREA)
  • Multimedia (AREA)
  • Accounting & Taxation (AREA)
  • General Business, Economics & Management (AREA)
  • Finance (AREA)
  • General Physics & Mathematics (AREA)
  • Strategic Management (AREA)
  • Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Economics (AREA)
  • Marketing (AREA)
  • Development Economics (AREA)
  • Human Computer Interaction (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)
  • Financial Or Insurance-Related Operations Such As Payment And Settlement (AREA)

Abstract

Disclosed is a computer program stored in a computer readable storage medium. The computer program performs a method for trading items when executed by one or more processors, and the method can comprise the following steps of: receiving a trade request for a first item playable in a game from a first user; determining to move the first item to a temporary item accommodation space having an address in a blockchain network; and allowing the first item moved to the temporary item accommodation space to be an item trade target. Therefore, the transparency and stability of item trade can be secured.

Description

아이템 거래 기법 {TECHNIQUE FOR ITEM TRANSACTION}Item trading technique {TECHNIQUE FOR ITEM TRANSACTION}

본 개시내용은 아이템 거래에 관한 것으로서, 보다 구체적으로 투명하고 안전한 아이템 거래를 허용하기 위한 기법에 관한 것이다.The present disclosure relates to item trading, and more particularly, to a technique for allowing transparent and secure item trading.

인터넷의 발달로 온라인을 통해 다양한 플랫폼 상에서 다양한 형태의 객체들에 대한 거래가 이루어지고 있다. 현실 세계가 아닌, 게임 등과 같은, 가상 세계에서 존재하는 객체들 또한 그 가치가 인정될 수 있으며, 이에 따라 이러한 가상 세계에서의 객체들 또한 거래의 대상이 될 수 있다. 기존에는 게임 내에서 사용되는 아이템은 그 아이템이 게임 내에서만 존재하고 그 가치가 게임 내에서만 있는 것으로 인식되었다. 하지만, 게임 산업의 발전으로 많은 사용자들이 이용하고 있는 게임에 대해서, 게임 내에서 구축된 사회는 현실 사회와 같은 상황들을 재현하고 있으며, 이에 따라 해당 게임 내에서 통용되는 아이템 및/또는 화폐에 대한 가치 또한 현실 세계에서의 재화로서 그 가치를 인정받고 있다. 특히, O2O(Online To Offline) 기술 등과 같은 온라인/모바일 기술의 발전에 힘입어 온라인과 오프라인의 경계가 명확히 나누어지지 않게 되고 그리고 게임 산업 또한 발전됨에 따라서, 현재는 이러한 게임 관련 아이템이 "재화" 또는 "재산상의 이익"으로 간주되고 있다. 이에 따라서, 게임 내에서 구매 또는 생성될 수 있는 다양한 형태의 아이템의 거래에 대한 수요 또한 증가되고 있다. With the development of the Internet, transactions are being made for various types of objects on various platforms through online. Objects that exist in the virtual world, such as games, etc., that are not in the real world can also be valued, so objects in these virtual worlds can also be traded. In the past, items used in the game were recognized as being present only in the game and its value only in the game. However, for games used by many users due to the development of the game industry, the society built in the game reproduces situations like the real world, and accordingly, the value of items and/or currency commonly used in the game It is also recognized for its value as a good in the real world. Particularly, thanks to the development of online/mobile technologies such as O2O (Online To Offline) technology, the boundaries between online and offline are not clearly divided, and as the game industry also develops, these game-related items are now "goods" or It is considered "property gain". Accordingly, the demand for the transaction of various types of items that can be purchased or created in the game is also increasing.

게임과 관련된 아이템을 거래하는 다양한 방식들이 존재한다. There are various ways to trade game-related items.

가장 대표적인 방식으로 외부 게임 아이템 중개소를 통한 거래 방식이 있다. 사용자가 특정 아이템을 타인에게 매도하고자 하는 경우, 별도의 게임 아이템 중개소에 접속한 후, 게임 아이템 중개소 사이트에서 판매하고자 하는 아이템의 식별정보 및 판매 가격에 대한 표시를 포스팅하게 된다. 그리고나서, 게임 아이템 중개소 사이트에 포스팅된 표시를 확인한 다른 사용자는, 판매하고자 하는 아이템에 대한 구입 의사를 표시하고 그리고 판매 가격에 해당하는 현금을 게임 아이템 중개소에 맡길 수 있다. 그리고나서, 판매자와 구매자는 서로 약속을 잡은 다음에 게임에 함께 접속을 한 후, 게임 상에서의 특정 장소에서 판매 대상 아이템을 거래하게 된다. 게임 상에서의 아이템 거래가 완료된 이후에, 판매자 및/또는 구매자는 게임 아이템 중개소 사이트에 접속하여 아이템 거래가 완료되었다는 표시를 포스팅하게 되며, 이에 따라 게임 아이템 중개소는 구매자가 맡긴 현금을 판매자에게 지급할 수 있다. 이러한 게임 아이템 중개소를 통한 거래에 대해서, 실제로 게임 내에서 아이템이 거래되었다는 분명한 물적 증거를 제시하기가 어렵기 때문에, 불안정성이라는 위험요소가 존재할 수 있다. 또한, 이러한 게임 아이템 중개소를 사용하는 경우, 사용자들의 포스팅 과정, 사용자들이 직접 시간을 정해서 게임 서버에 접속한 후에 게임 아이템을 거래하는 과정, 거래금을 맡겨 놓는 과정, 및 거래완료를 표시해야 하는 과정 등 다수의 절차들이 존재하기 때문에, 거래가 불편할 뿐만 아니라 다수의 절차들을 수행해야 한다는 자체만으로도 안정성에 대한 위험 요소가 존재할 수 있다. 추가적으로, 이러한 게임 아이템 중개소는 별도의 엔티티로서 중개소 운영 비용(예컨대, 서버 운영 비용 및 인건비 등)을 충당하기 위해서 게임 아이템 거래에 대한 높은 수수료를 책정하고 있기 때문에, 아이템 거래에 있어서의 비용 부담 또한 문제가 될 수 있다. The most representative method is a transaction method through an external game item agency. When the user wants to sell a specific item to another person, after accessing a separate game item agency, the game item agency site posts the identification information of the item to be sold and the display of the selling price. Then, another user who confirms the indication posted on the game item agency site, may indicate a purchase intention for the item to be sold, and deposit the cash corresponding to the sale price to the game item agency. Then, the seller and the buyer make an appointment with each other, then access the game together, and then trade the item for sale at a specific place in the game. After the in-game item transaction is completed, the seller and/or the buyer access the game item agency site and post an indication that the item transaction has been completed, whereby the game item agency can pay the seller's cash to the seller. For such a transaction through a game item brokerage, it is difficult to provide clear physical evidence that the item was actually traded in the game, so a risk of instability may exist. In addition, in the case of using such a game item brokerage station, the user's posting process, the process of transacting the game item after the users set the time to access the game server, the process of entrusting the transaction, and the process of displaying the transaction completion, etc. Since there are a number of procedures, the transaction is not only inconvenient, but the risk of stability may exist by the fact that multiple procedures must be performed. In addition, since these game item brokerages set a high fee for transaction of game items to cover brokerage operation costs (eg, server operation costs and labor costs) as separate entities, the cost burden of item trading is also a problem. Can be

게임과 관련된 아이템을 거래하는 또 다른 방식으로, 게임 내에서 아이템 거래를 허용할 수 있는 인게임 아이템 거래소가 있다. 인게임 아이템 거래소는 거래소 또는 중개소 시스템이 게임 내에 포함되어 있는 개념이다. 즉, 게임을 플레이하면서 아이템 거래가 이루어질 수 있으며 그리고 사용자들간의 직접 만나는 과정 없이 게임 서버 자체에서 아이템 거래를 성사시킬 수 있기 때문에, 인게임 아이템 거래소는 사용자들의 아이템 거래에 대한 편의성을 증대시킬 수 있다. 하지만, 인게임 아이템 거래소의 경우, 게임 내에 포함되어 있기 때문에, 해당 게임 자체와 관련된 아이템 거래에 한정될 수밖에 없다. 또한, 인게임 아이템 거래소는, 게임사의 관리하에 이루어지기 때문에, 판매되는 아이템의 종류에 있어서도 제한이 있을 뿐만 아니라, 외부 해킹으로부터의 위험이 존재하여 안정적인 아이템 거래가 이루어지 않을 가능성이 존재한다. 나아가, 이러한 인게임 아이템 거래소는 거래의 투명성을 보장하는 관점에 대해서도 약점이 존재한다.As another way to trade items related to games, there is an in-game item exchange that can allow trading items within the game. The in-game item exchange is a concept in which an exchange or brokerage system is included in the game. That is, since the item transaction can be performed while playing the game and the item transaction can be completed on the game server itself without the process of directly meeting between users, the in-game item exchange can increase the convenience for the user's item transaction. However, in the case of an in-game item exchange, since it is included in the game, it is bound to be limited to the item transaction related to the game itself. In addition, since the in-game item exchange is made under the management of a game company, there is a limitation in the type of items sold, and there is a possibility that stable item trading is not possible due to the risk from external hacking. Furthermore, these in-game item exchanges also have weaknesses in terms of ensuring the transparency of transactions.

따라서, 아이템 거래의 투명성을 확보하고 안정적인 아이템 거래를 허용할 수 있는 아이템 거래 방식에 대한 수요가 존재한다.Accordingly, there is a demand for an item trading method that can secure transparency of item trading and allow stable item trading.

한국 등록 특허 KR10-1673073Korean Registered Patent KR10-1673073

본 개시내용의 일 목적은 아이템 거래의 투명성 및 안정성을 확보하기 위한 아이템 거래 기법을 제공하고자 하는 것이다. One object of the present disclosure is to provide an item trading technique for securing transparency and stability of item trading.

본 개시내용의 일 실시예에 따라, 컴퓨터 판독가능 저장 매체에 저장되는 컴퓨터 프로그램이 개시된다. 상기 컴퓨터 프로그램은 하나 이상의 프로세서에 의해 실행되는 경우, 아이템 거래를 위한 방법을 수행하며, 상기 방법은: 제 1 사용자로부터의 게임 내에서 플레이 가능한 제 1 아이템에 대한 거래 요청을 수신하는 단계; 상기 제 1 아이템을 블록체인 네트워크에서의 주소를 갖는 일시적(temporary) 아이템 수용 공간으로 이동시킬 것을 결정하는 단계; 및 상기 일시적 아이템 수용 공간으로 이동된 상기 제 1 아이템이 아이템 거래의 대상이 되도록 허용하는 단계를 포함할 수 있다.In accordance with one embodiment of the present disclosure, a computer program stored in a computer readable storage medium is disclosed. The computer program, when executed by one or more processors, performs a method for item trading, the method comprising: receiving a transaction request for a first item playable in a game from a first user; Determining to move the first item to a temporary item accommodating space having an address in the blockchain network; And allowing the first item moved to the temporary item accommodating space to be a target of an item transaction.

본 개시내용의 일 실시예에 따라, 아이템 거래를 수행하기 위한 게임 서버가 개시된다. 상기 게임 서버는: 제 1 사용자로부터의 게임 내에서 플레이 가능한 제 1 아이템에 대한 거래 요청을 수신하는 송수신부; 및 상기 제 1 아이템을 상기 게임 서버 내에서의 아이템 보관 공간으로 이동시키고, 상기 제 1 아이템을 블록체인 네트워크에서의 주소를 갖는 일시적 아이템 수용 공간으로 이동시킬 것을 결정하고, 그리고 상기 일시적 아이템 수용 공간으로 이동된 상기 제 1 아이템이 아이템 거래의 대상이 되도록 허용하는 프로세서를 포함할 수 있다.According to one embodiment of the present disclosure, a game server for performing an item transaction is disclosed. The game server includes: a transceiver configured to receive a transaction request for a first item playable in a game from a first user; And moving the first item to an item storage space in the game server, determining to move the first item to a temporary item storage space having an address in the blockchain network, and to the temporary item storage space. And a processor that allows the moved first item to be subject to an item transaction.

본 개시내용의 일 실시예에 따라, 아이템 거래소 서버가 개시된다. 상기 아이템 거래소 서버는: 제 1 사용자로부터의 게임 내에서 플레이 가능한 제 1 아이템에 대한 거래 요청을 수신하고, 그리고 상기 제 1 아이템이 게임 서버 내에서의 아이템 보관 공간으로 이동될 수 있도록 허용하기 위한 신호를 게임 서버로 전송하는 송수신부; 및 상기 제 1 아이템을 블록체인 네트워크에서의 주소를 갖는 일시적 아이템 수용 공간으로 이동시키기 위하여 상기 블록체인 네트워크로 배포될 트랜잭션을 생성하고 그리고 상기 일시적 아이템 수용 공간으로 이동된 상기 제 1 아이템이 아이템 거래의 대상이 되도록 허용하기 위하여 상기 트랜잭션과 관련된 정보를 게임 서버로 전달할 것을 결정하는 프로세서를 포함할 수 있다.In accordance with one embodiment of the present disclosure, an item exchange server is disclosed. The item exchange server: a signal for receiving a transaction request for a first item playable in the game from a first user, and for allowing the first item to be moved to an item storage space in the game server Transmitting and receiving unit for transmitting the game server; And creating a transaction to be distributed to the blockchain network in order to move the first item to a temporary item accommodating space having an address in the blockchain network, and the first item moved to the temporary item accommodating space. It may include a processor that determines to transmit the information related to the transaction to the game server to allow the target.

본 개시내용의 일 실시예에 따라, 블록체인 네트워크를 구성하는 컴퓨팅 장치가 개시된다. 상기 컴퓨팅 장치는: 프로세서; 및 상기 프로세서에 의해 실행가능한 컴퓨터 프로그램을 저장하는 메모리를 포함할 수 있다. 여기서 상기 프로세서는: 제 1 사용자로부터의 게임 내에서 플레이 가능한 제 1 아이템에 대한 거래 요청에 대응되는 스마트 컨트랙트가 포함된 제 1 트랜잭션을 수신하고; 합의 알고리즘에 따라 생성된 제 1 블록에 상기 제 1 트랜잭션을 포함시키고; 상기 제 1 트랜잭션에 포함된 스마트 컨트랙트에 기초하여 상기 제 1 아이템을 상기 블록체인 네트워크 내에서의 주소를 갖는 일시적 아이템 수용 공간으로 이동시킴으로써, 상기 제 1 아이템이 아이템 거래의 대상이 되도록 허용하도록 구성될 수 있다.According to one embodiment of the present disclosure, a computing device constituting a blockchain network is disclosed. The computing device includes: a processor; And a memory storing computer programs executable by the processor. Here, the processor includes: receiving a first transaction including a smart contract corresponding to a transaction request for a first item playable in a game from a first user; Include the first transaction in a first block generated according to a consensus algorithm; Based on the smart contract included in the first transaction, the first item may be configured to allow the first item to be subject to an item transaction by moving it to a temporary item receiving space having an address in the blockchain network. Can.

본 개시내용의 일 실시예에 따라, 투명성 및 안정성을 확보하기 위한 아이템 거래 기법이 달성될 수 있다.According to one embodiment of the present disclosure, an item trading technique for securing transparency and stability may be achieved.

다양한 양상들이 이제 도면들을 참조로 기재되며, 여기서 유사한 참조 번호들은 총괄적으로 유사한 구성요소들을 지칭하는데 이용된다. 이하의 실시예에서, 설명 목적을 위해, 다수의 특정 세부사항들이 하나 이상의 양상들의 총체적 이해를 제공하기 위해 제시된다. 그러나, 그러한 양상(들)이 이러한 특정 세부사항들 없이 실시될 수 있음은 명백할 것이다. 다른 예시들에서, 공지의 구조들 및 장치들이 하나 이상의 양상들의 기재를 용이하게 하기 위해 블록도 형태로 도시된다.
도 1은 본 개시내용의 일 실시예에 따른 아이템 거래를 수행하기 위한 예시적인 시스템을 도시한다.
도 2는 본 개시내용의 일 실시예에 따른 게임 서버 및 아이템 거래소 서버를 예시적으로 도시한다.
도 3은 본 개시내용의 일 실시예에 따라 게임 서버에서 수행되는 아이템 거래 방식을 예시적으로 도시한다.
도 4는 본 개시내용의 일 실시예에 따라 아이템 거래소 서버에서 수행되는 아이템 거래 방식을 예시적으로 도시한다.
도 5는 본 개시내용의 일 실시예에 따라 블록체인 네트워크에서의 컴퓨팅 장치에서 수행되는 아이템 거래 방식을 예시적으로 도시한다.
도 6은 본 개시내용의 일 실시예에 따른 아이템 거래 방식의 예시적인 순서도를 도시한다.
도 7은 본 개시내용의 일 실시예에 따른 아이템 거래 방식의 예시적인 순서도를 도시한다.
도 8은 본 개시내용의 일 실시예에 따른 아이템 거래 방식의 예시적인 순서도를 도시한다.
도 9는 본 개시내용의 일 실시예에 따른 아이템 거래 방식의 예시적인 순서도를 도시한다.
도 10은 본 개시내용의 일 실시예에 따른 블록체인 네트워크에서의 아이템 거래 방식을 예시적으로 도시한다.
도 11은 본 개시내용의 일 실시예에 따른 사용자 단말에서 아이템 거래를 수행하기 위한 예시적인 UI(User Interface) 구성을 도시한다.
도 12는 본 개시내용의 일 실시예에 따른 사용자 단말에서 아이템 거래를 수행하기 위한 예시적인 UI 구성을 도시한다.
도 13은 본 개시내용의 일 실시예에 따라 스마트 컨트랙트가 블록체인 네트워크로 전파되는 양태를 예시적으로 도시한다.
도 14는 본 개시내용의 일 실시예에 따라 블록체인 네트워크에서 저장되는 블록들의 연결 구조를 예시적으로 도시한다.
도 15는 본 개시내용의 실시예들이 구현될 수 있는 예시적인 컴퓨팅 환경에 대한 일반적인 개략도를 도시한다.
Various aspects are now described with reference to the drawings, in which like reference numerals are used collectively to refer to similar components. In the following examples, for illustrative purposes, a number of specific details are presented to provide a holistic understanding of one or more aspects. However, it will be apparent that such aspect(s) may be practiced without these specific details. In other instances, well-known structures and devices are shown in block diagram form in order to facilitate describing one or more aspects.
1 shows an exemplary system for performing item trading according to one embodiment of the present disclosure.
2 exemplarily shows a game server and an item exchange server according to an embodiment of the present disclosure.
3 exemplarily illustrates an item transaction method performed in a game server according to an embodiment of the present disclosure.
4 exemplarily illustrates an item trading method performed in an item exchange server according to an embodiment of the present disclosure.
5 exemplarily illustrates an item transaction method performed in a computing device in a blockchain network according to an embodiment of the present disclosure.
6 shows an exemplary flowchart of an item trading scheme according to one embodiment of the present disclosure.
7 shows an exemplary flow chart of an item trading scheme according to one embodiment of the present disclosure.
8 shows an exemplary flowchart of an item trading scheme according to one embodiment of the present disclosure.
9 shows an exemplary flow chart of an item trading scheme according to one embodiment of the present disclosure.
10 exemplarily illustrates an item transaction method in a blockchain network according to an embodiment of the present disclosure.
11 illustrates an exemplary UI (User Interface) configuration for performing an item transaction in a user terminal according to an embodiment of the present disclosure.
12 illustrates an exemplary UI configuration for performing an item transaction in a user terminal according to an embodiment of the present disclosure.
13 exemplarily illustrates an aspect in which a smart contract is propagated to a blockchain network according to an embodiment of the present disclosure.
14 exemplarily shows a connection structure of blocks stored in a blockchain network according to an embodiment of the present disclosure.
15 shows a general schematic diagram of an example computing environment in which embodiments of the present disclosure can be implemented.

다양한 실시예들 및/또는 양상들이 이제 도면들을 참조하여 개시된다. 하기 설명에서는 설명을 목적으로, 하나 이상의 양상들의 전반적 이해를 돕기 위해 다수의 구체적인 세부사항들이 개시된다. 그러나, 이러한 양상(들)은 이러한 구체적인 세부사항들 없이도 실행될 수 있다는 점 또한 본 발명의 기술 분야에서 통상의 지식을 가진 자에게 인식될 수 있을 것이다. 이후의 기재 및 첨부된 도면들은 하나 이상의 양상들의 특정한 예시적인 양상들을 상세하게 기술한다. 하지만, 이러한 양상들은 예시적인 것이고 다양한 양상들의 원리들에서의 다양한 방법들 중 일부가 이용될 수 있으며, 기술되는 설명들은 그러한 양상들 및 그들의 균등물들을 모두 포함하고자 하는 의도이다.Various embodiments and/or aspects are now disclosed with reference to the drawings. In the following description, for purposes of explanation, a number of specific details are disclosed to assist in the overall understanding of one or more aspects. However, it will also be appreciated by those skilled in the art that this aspect(s) can 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 exemplary 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. Various systems may include additional computing devices, terminals, servers, devices, components, and/or modules, etc. and/or devices, terminals, servers discussed in connection with the figures It should also be understood and appreciated that it may not include all of devices, components, modules, and the like.

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

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

본 명세서에서 사용되는 "실시예", "예", "양상", "예시" 등은 기술되는 임의의 양상 또는 설계가 다른 양상 또는 설계들보다 양호하다거나, 이점이 있는 것으로 해석되지 않을 수도 있다. 아래에서 사용되는 용어들 '컴포넌트', '모듈', '시스템', '인터페이스' 등은 일반적으로 컴퓨터 관련 엔티티(computer-related entity)를 의미하며, 예를 들어, 이는 하드웨어, 하드웨어와 소프트웨어의 조합, 또는 소프트웨어를 의미할 수 있다.As used herein, "an embodiment", "yes", "a good", "an example", etc., may not be construed as any aspect or design described being better or more advantageous than another aspect or designs. . The terms'component','module','system', and'interface' used in the following 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 unclear in context, "X uses A or B" is intended to mean one of the natural inclusive substitutions. That is, X uses A; X uses B; Or, if X uses both A and B, "X uses A or B" can be applied in either of these cases. It should also be understood that the term "and/or" as used herein refers to and includes all possible combinations of one or more of the listed related items.

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

본 명세서에서의 컴퓨터 판독가능 매체는 컴퓨터 시스템에 의해서 판독될 수 있도록 프로그램 및 데이터가 저장되는 모든 종류의 매체를 포함할 수 있다. 본 개시내용에서의 컴퓨터 판독가능 매체는, 컴퓨터 판독가능 저장 매체 및 컴퓨터 판독가능 전송 매체를 포함할 수 있다. 본 발명의 일 양상에 따르면, 컴퓨터 판독가능 저장 매체는: ROM(판독 전용 메모리), RAM(랜덤 액세스 메모리), CD(컴팩트 디스크)-ROM, DVD(디지털 비디오 디스크)-ROM, 자기 테이프, 플로피 디스크, 광 데이터 저장장치 등을 포함할 수 있다. 또한, 컴퓨터 판독가능 전송 매체는 캐리어 웨이브(예컨대, 인터넷을 통한 전송)의 형태로 구현되는 임의의 전송 가능한 형태의 매체를 포함할 수 있다. 추가적으로, 이러한 컴퓨터 판독가능 매체는 네트워크로 연결된 시스템에 분산되어, 분산 방식으로 컴퓨터가 판독가능한 코드들 및/또는 명령들을 저장할 수도 있다.Computer-readable media as used herein may include any kind of media in which programs and data are stored so that they can be read 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. Disks, optical data storage devices, and the like. In addition, the computer-readable transmission medium may include any transmission-type medium that is embodied 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 fashion.

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

[도 1 설명][Description of Figure 1]

도 1은 본 개시내용의 일 실시예에 따른 아이템 거래를 수행하기 위한 예시적인 시스템을 도시한다.1 shows an exemplary system for performing item trading according to one embodiment of the present disclosure.

도 1에서 도시되는 바와 같이, 아이템 거래를 수행하기 위한 시스템은, 사용자 단말(100a, 100b 및 100c : 100), 게임 서버(200), 아이템 거래소 서버(300), 블록체인 네트워크(400) 및 통신 네트워크(500)를 포함할 수 있다. 도 1에서 도시되는 컴포넌트들은 예시적인 것으로서, 추가적인 컴포넌트들이 존재하거나 또는 도 1에서 도시되는 컴포넌트들 중 일부는 생략될 수도 있다. As shown in Figure 1, the system for performing the item transaction, the user terminal (100a, 100b and 100c: 100), the game server 200, the item exchange server 300, the blockchain network 400 and communication Network 500. The components shown in FIG. 1 are exemplary, and additional components may be present or some of the components shown 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 the system for performing the item transaction. For example, user terminal 100 may include a PC, laptop computer, workstation, terminal, and/or any electronic device with network connectivity. Also, the user terminal 100 may include any server implemented by at least one of an agent, an application programming interface (API), and a plug-in. Also, 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 media).

본 개시내용에서의 프로세서는 하나 이상의 코어로 구성될 수 있으며, 컴퓨팅 장치의 중앙 처리 장치(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, a central processing unit (CPU) of a computing device, a general purpose graphics processing unit (GPGPU), and a tensor processing unit (TPU). tensor processing unit), and the like, and may include any type of processor for executing an item transaction by executing instructions stored in memory. The processor may read a computer program stored in memory to perform an item trading technique according to an embodiment of the present disclosure.

본 개시내용에서의 메모리는 프로세서의 동작을 위한 프로그램을 저장할 수 있고, 입/출력되는 데이터들을 임시 또는 영구 저장할 수도 있다. 메모리는 플래시 메모리 타입(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 the operation of the processor, and may temporarily or permanently store input/output data. The memory includes a flash memory type, hard disk type, multimedia card micro type, card type memory (for example, SD or XD memory, etc.), and RAM (Random Access). Memory, RAM), Static Random Access Memory (SRAM), Read-Only Memory (ROM), Electrically Erasable Programmable Read-Only Memory (EEPROM), Programmable Read-Only Memory (PROM), magnetic memory, magnetic disk, optical disk It may contain at least one type of storage medium. This memory can be operated under control of the processor. Also, in the present disclosure, a memory and a storage unit may be used interchangeably with each other.

도 1에서의 사용자 단말(100)은 게임 서버(200), 아이템 거래소 서버(300) 및 블록체인 네트워크(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, the item exchange server 300, and the blockchain network 400.

사용자 단말(100)은 게임 서버(200), 아이템 거래소 서버(300) 및 블록체인 네트워크(400) 중 적어도 하나로 쿼리(query) 또는 트랜잭션(transaction)을 발행할 수 있다. 본 개시내용에서의 쿼리는 블록체인 네트워크(400) 상에서 등록된 아이템 정보를 조회하는데 사용될 수 있다. 본 개시내용에서의 트랜잭션은 블록체인 네트워크(400) 상에 데이터를 기록/삽입하거나 또는 블록체인 네트워크(400) 상에 기록된 데이터에 대한 업데이트(수정/변경/삭제/추가)를 수행하는데 사용될 수 있다.The user terminal 100 may issue a query or transaction to at least one of the game server 200, the item exchange server 300, and the blockchain network 400. The query in the present disclosure can be used to query item information registered on the blockchain network 400. Transactions in the present disclosure can be used to record/insert data on the blockchain network 400 or to perform updates (modify/change/delete/add) data recorded on the blockchain network 400. have.

사용자 단말(100)은 프로그래밍 언어로 작성된 애플리케이션 소스를 송수신할 수 있다. 예를 들어, 사용자 단말(110)은 애플리케이션 소스를 컴파일링하여 클라이언트 애플리케이션을 생성할 수 있다. 예를 들어, 생성된 클라이언트 애플리케이션은 게임 서버(200), 아이템 거래소 서버(300) 및 블록체인 네트워크(400) 중 적어도 하나로 전달된 후 실행될 수 있다. The user terminal 100 may transmit and receive an application source written in a programming language. For example, the user terminal 110 may compile the application source to generate a client application. For example, the generated client application may be executed after being delivered to at least one of the game server 200, the item exchange server 300, and the blockchain network 400.

사용자 단말(100)은 솔리디티(Solidity) 등과 같은 임의의 언어를 사용하여 블록체인 네트워크(400) 상에서 동작될 수 있는 스마트 컨트랙트를 생성할 수 있다. 또한, 사용자 단말(100)은 생성된 스마트 컨트랙트를 블록체인 네트워크(400)로 배포하기 위한 트랜잭션을 생성할 수 있다.The user terminal 100 may generate a smart contract that can be operated on the blockchain network 400 using any 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.

사용자 단말(100)은 게임 서버(200)에 접속하여 게임 서버에서 제공하는 게임을 수행할 수 있으며, 게임을 수행하는 과정에서 획득 또는 구매되는 임의의 형태의 게임 관련 아이템을 게임 내에서 사용할 수 있다. 본 명세서에서의 게임은 모바일 게임, 웹 게임, VR 게임, P2P 게임, 온라인/오프라인 게임 등 임의의 형태의 게임을 포함할 수 있다. The user terminal 100 may access the game server 200 to perform a game provided by the game server, and may use any type of game-related items acquired or purchased in the course of performing the game in the game. . The game in the present specification may include any type of game, such as mobile game, web game, VR game, P2P game, online/offline game.

또한, 사용자 단말(100)은 상기 게임 관련 아이템에 대한 거래 요청 메시지를 생성하고 이를 게임 서버(200), 아이템 거래소 서버(300) 및 블록체인 네트워크(400) 중 적어도 하나로 전달할 수 있다. 또한, 사용자 단말(100)은 게임 서버(200), 아이템 거래소 서버(300) 및 블록체인 네트워크(400) 중 적어도 하나로 부터, 아이템 거래와 관련된 데이터를 수신할 수 있다.In addition, the user terminal 100 may generate a transaction request message for the game-related item and deliver it to at least one of the game server 200, the item exchange server 300, and the blockchain network 400. In addition, the user terminal 100 may receive data related to an item transaction from at least one of the game server 200, the item exchange server 300, and the blockchain network 400.

사용자 단말(100)은 블록체인 네트워크(400)를 구성하는 노드로 동작할 수도 있다. 이러한 예시에서, 사용자 단말(100)은 지갑(wallet) 기능, 마이너(miner) 기능, 및 Full 블록체인 데이터의 저장 기능 중 적어도 하나의 기능을 구현할 수 있다. 예를 들어, 사용자 단말(100)이 지갑 기능만을 포함하는 경우, 트랜잭션 및 유효성 검증을 수행하는 노드(예컨대, SPV (Simplified Payment Verification)노드)로 동작할 수 있다.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 function of a wallet function, a miner function, and a storage function of a full blockchain data. For example, when the user terminal 100 includes only the wallet function, it may operate as a node (for example, an SPV (Simplified Payment Verification) node) that performs transaction and validation.

사용자 단말(100)은 디스플레이를 구비하고 있어서, 게임의 플레이 및/또는 아이템 거래를 수행하는데 있어서 사용자의 입력을 수신하고 사용자로 임의의 형태의 출력을 제공할 수 있다.The user terminal 100 is provided with a display, and may receive an input of a user in providing a game play and/or an item transaction and provide an output in any form to the user.

본 개시내용의 일 실시예에 따른 게임 서버(200) 및 아이템 거래소 서버(300)는 예를 들어, 마이크로프로세서, 메인프레임 컴퓨터, 디지털 프로세서, 휴대용 디바이스 및 디바이스 제어기 등과 같은 임의의 타입의 컴퓨터 시스템 또는 컴퓨터 디바이스를 포함할 수 있다. 도 1에서 도시되지는 않았지만 이러한 게임 서버(200) 및 아이템 거래소 서버(300)는 메모리 및 프로세서를 포함할 수 있다. Game server 200 and item exchange server 300 according to one embodiment of the present disclosure may be of any type of computer system, such as, for example, a microprocessor, mainframe computer, digital processor, portable device and device controller, or Computer devices. Although not illustrated in FIG. 1, the game server 200 and the item exchange server 300 may include a memory and a processor.

게임 서버(200)는 사용자 단말(100)로 하여금 게임 플레이를 허용할 수 있다. 아이템 거래소 서버(300)는 사용자 단말(100)이 게임 내에서 플레이가능한 임의의 형태의 아이템에 대한 거래를 수행하는 것을 허용할 수 있다. The game server 200 may allow the user terminal 100 to play a game. The item exchange server 300 may allow the user terminal 100 to perform a transaction for any type of item playable in the game.

도 1에서 게임 서버(200) 및 아이템 거래소 서버(300)가 별도의 엔티티로서 분리되어 표현되었지만, 본 개시내용의 실시예에 따라서 아이템 거래소 서버(300)가 게임 서버(200) 내에 포함되어, 게임 플레이 기능 및 아이템 거래 기능을 하나의 통합 서버에서 수행할 수도 있다. 이러한 예시에서, 아이템 거래소 서버(300)의 기능이 게임 서버(200)에 통합되는 경우, 사용자 단말(100)은 인-게임(in-game) 아이템 거래를 수행할 수 있다. In FIG. 1, although the game server 200 and the item exchange server 300 are separately expressed as separate entities, the item exchange server 300 is included in the game server 200 according to an embodiment of the present disclosure, and the game The play function and the item trading function may be performed in one integrated server. In this example, when the function of the item exchange server 300 is integrated into the game server 200, the user terminal 100 may perform an in-game item transaction.

또한, 아이템 거래소 서버(300)와 게임 서버(200)가 분리된 경우, 사용자 단말(100)은 게임 서버(200) 외부에 존재하는 아이템 거래소 서버(300)를 통한 게임 아이템 거래를 수행할 수 있다. 이러한 경우, 아이템 거래소 서버(300)는 게임 서버(200) 및 블록체인 네트워크(400)와 통신하여 아이템 거래를 구현할 수 있다.In addition, when the item exchange server 300 and the game server 200 are separated, the user terminal 100 may perform game item trading through the item exchange server 300 existing outside the game server 200. . In this case, the item exchange server 300 may communicate with the game server 200 and the blockchain network 400 to implement item trading.

추가적으로, 게임 서버(200) 및 아이템 거래소 서버(300) 중 적어도 하나는 블록체인 네트워크(400)를 구성하는 노드로서 동작할 수도 있다.Additionally, at least one of the game server 200 and the item exchange server 300 may operate as a node constituting the blockchain network 400.

본 개시내용의 일 실시예에서, 블록체인 네트워크(400)는 블록체인 기술에 기반하여 동작하는 복수의 노드들을 의미할 수 있다. 여기서, 블록체인 기술은 블록이 체인형태로 연결된 저장 구조를 사용하여, 관리 대상이 되는 데이터를 블록체인 네트워크를 구성하는 복수의 노드들에 저장하는 분산 저장 기술이다.In one 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 using a storage structure in which blocks are connected in a chain form.

블록체인 네트워크(400)는 사용자 단말(100), 게임 서버(200) 및 아이템 거래소 서버 중 적어도 하나로부터 전달된 트랜잭션을 사전결정된 합의 알고리즘에 기초하여 블록 형태로 저장할 수 있다. 블록 형태로 저장되는 데이터는 블록체인 네트워크(400)를 구성하는 복수의 노드들에 의해 공유될 수 있다. The blockchain network 400 may store transactions transmitted from at least one of the user terminal 100, the game server 200, and the item exchange server 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 blockchain network 400.

도 1에서는 블록체인 네트워크(400)를 별도의 분리된 엔티티로서 표현하였지만, 본 개시내용의 실시예에 따라서 블록체인 네트워크(400)가 게임 서버(200) 및/또는 아이템 거래소 서버(300) 중 적어도 하나에 포함된 형태로 구현될 수도 있다.In FIG. 1, the blockchain network 400 is represented as a separate entity, but according to an embodiment of the present disclosure, the blockchain network 400 may include at least one of the game server 200 and/or the item exchange server 300. It may be implemented in the form included in one.

블록체인 네트워크(400)는, 구현 형태에 따라서, 임의의 노드들이 합의 동작을 수행할 수 있는 Public 블록체인 네트워크 또는 사전결정된 노드만이 합의 동작을 수행할 수 있는 Private 블록체인 네트워크를 포함할 수 있다.The blockchain network 400 may include a public blockchain network where arbitrary nodes can perform a consensus operation or a private blockchain network where only predetermined nodes can perform a consensus operation, depending on the implementation form. .

본 개시내용의 일 실시예에 따른 블록체인 네트워크(400)에서 수행되는 합의 알고리즘은: PoW(Proof of Work) 알고리즘, PoS(Proof of Stake) 알고리즘, DPoS(Delegated Proof of Stake) 알고리즘, 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) 알고리즘을 포함할 수 있다.The consensus algorithm performed on the blockchain network 400 according to an embodiment of the present disclosure includes: a Proof of Work (PoW) algorithm, a Proof of Stake (PoS) algorithm, a Delegated Proof of Stake (DPoS) algorithm, and a PBFT (Practical) Byzantine Fault Tolerance (DBFT) 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 PoET Elapsed Time) algorithm.

본 개시내용의 일 예시적인 실시예에서, 블록체인 네트워크(400)에서의 노드들은 계층 구조에 따른 블록체인 코어 패키지에 의해 동작할 수 있다. 상기 계층 구조는: 블록체인 네트워크(400)에서 다뤄지는 데이터의 구조를 정의하고 데이터를 관리하는 데이터 계층, 블록의 유효성을 검증하고 블록을 생성하는 마이닝을 수행하고 마이닝 과정에서 채굴자에게 지급되는 수수료의 처리를 담당하는 합의 계층, 스마트 컨트랙트를 처리 및 실행시키는 실행 계층, P2P 네트워크 프로토콜, 해시 함수, 전자서명, 인코딩 및 공통 저장소를 구현 및 관리하는 공통 계층, 및 다양한 어플리케이션이 생성, 처리 및 관리되는 응용 계층을 포함할 수 있다. In one exemplary embodiment of the present disclosure, nodes in the blockchain network 400 may operate by a blockchain core package according to a hierarchical structure. The hierarchical structure is: a data layer defining the structure of data to be handled in the blockchain network 400, a data layer that manages the data, and a fee paid to miners in the mining process to verify the validity of blocks and to create blocks. Consensus layer in charge of processing, execution layer for processing and executing smart contracts, P2P network protocol, hash function, digital signature, common layer for implementing and managing common storage, and various applications are created, processed, and managed Application layer may be included.

본 개시내용의 일 실시예에 따라, 게임 아이템을 거래하는데 있어서 블록체인 네트워크(400)를 사용함으로써, 아이템 거래에 대한 사용자 편의성, 거래의 투명성 및 거래의 무결성이 제공될 수 있을 뿐만 아니라, 게임 서비스 단위가 아닌 게임 플랫폼에 독립적인 아이템 거래 서비스가 제공될 수 있다.According to an embodiment of the present disclosure, by using the blockchain network 400 in trading game items, user convenience for item trading, transparency of the transaction, and integrity of the transaction can be provided, as well as game services An independent item trading service may be provided to a game platform rather than a unit.

본 개시내용에서의 거래 대상이 되는 아이템은 게임 내에서 플레이될 수 있는 임의의 형태의 아이템을 포함하며, 예를 들어, Non-Fungible 아이템 및 Fungible 아이템을 포함할 수 있다. Non-Fungible 아이템에 대해서는 예를 들어, ERC-721 표준 코드 및/또는 ERC-1155 표준 코드에 기초하여 거래가 수행될 수 있다. 또한, Fungible 아이템에 대해서는 예를 들어, ERC-20 표준 코드 및/또는 ERC-1155 표준 코드에 기초하여 거래가 수행될 수 있다.Items to be traded in the present disclosure include any type of item that can be played in the game, and may include, for example, a non-fungible item and a fungible item. For Non-Fungible items, a transaction may be performed based on, for example, the ERC-721 standard code and/or the ERC-1155 standard code. In addition, for a Fungible item, a transaction may be performed based on, for example, the ERC-20 standard code and/or the ERC-1155 standard code.

본 개시내용의 일 실시예에 따른 통신 네트워크(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) 등과 같은 다양한 유선 통신 시스템들을 사용할 수 있다.Communication network 500 according to an embodiment of the present disclosure is a public switched telephone network (PSTN), x Digital Subscriber Line (xDSL), Rate Adaptive DSL (RADSL), Multi Rate DSL (MDSL), 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, the communication network 500 proposed in the present disclosure is Code Division Multi Access (CDMA), Time Division Multi Access (TDMA), Frequency Division Multi Access (FDMA), Orthogonal Frequency Division Multi Access (OFDMA), SC-FDMA Various wireless communication systems such as (Single Carrier-FDMA) and other systems can be used. The techniques described in this disclosure can be used in the networks mentioned above, as well as in any form of other communication networks.

본 개시내용에서의 "일시적 아이템 수용 공간"을 블록체인 네트워크(400) 상에서의 특정한 주소를 갖는 어카운트(예컨대, 외부 소유 어카운트(EOA) 및/또는 컨트랙트 어카운트(CA))로서, 블록체인 네트워크(400) 상에서 일시적으로 거래 대상이 되는 아이템을 수용하는 기능을 수행할 수 있다. 본 개시내용의 실시예에 따라, 상기 어카운트는 게임 서버(200)의 개인키, 아이템 거래소 서버(300)의 개인키 또는 제 1 사용자의 개인키에 기초하여 생성되는 트랜잭션에 의해 생성될 수 있다.The term “transient item accommodating space” in the present disclosure is referred to as an account having a specific address on the blockchain network 400 (eg, an externally owned account (EOA) and/or contract account (CA)), the blockchain network 400 ), it can perform the function of temporarily accepting the item to be traded. According to an embodiment of the present disclosure, the account may be generated by a transaction generated based on the private key of the game server 200, the private key of the item exchange server 300, or the private key of the first user.

본 개시내용에서의 "일시적 아이템 보관 공간"은 게임 서버(200)에 의해 게임 내에서 관리되는 별도의 아이템 보관 공간을 의미한다. 예를 들어, 일시적 아이템 보관 공간은, 게임 내에서의 금고, 공용 인벤토리, 아이템 거래용 인벤토리, 아이템 거래소 등을 포함할 수 있다. 사용자로부터 아이템 판매 요청이 발생되는 경우, 게임 서버(200)는 해당 아이템을 사용자의 인벤토리로부터 일시적 아이템 보관 공간으로 이동시킬 수 있다. 이에 따라, 게임 내에서 해당 아이템이 거래의 대상이 된다는 점을 사용자들이 알 수 있게 된다. 또한, 아이템 거래가 완료되는 경우, "일시적 아이템 보관 공간"에 보관된 아이템은 아이템을 구매한 제 2 사용자의 게임 내에서의 인벤토리로 이동될 수 있다.The term “temporary item storage space” in the present disclosure means a separate item storage space managed in the game by the game server 200. For example, the temporary item storage space may include a safe in the game, a common inventory, an inventory for trading items, an item exchange, and the like. When an item sale request is generated from the user, the game server 200 may move the corresponding item from the user's inventory to the temporary item storage space. Accordingly, users can know that the corresponding item in the game is the target of the transaction. In addition, when the item transaction is completed, the item stored in the "temporary item storage space" may be moved to the inventory in the game of the second user who purchased the item.

본 개시내용의 실시예들에 따른 스마트 컨트랙트는 아이템 거래를 수행하기 위한 디지털 언어로 작성되고 임의의 컴퓨팅 장치에서 실행될 수 있다. 즉, 스마트 컨트랙트에 포함된 코드 및/또는 함수가 실행되는 경우, 본 개시내용의 실시예들에 따른 임의의 형태의 아이템 거래(예컨대, 게임 아이템의 판매, 구매, 대여 등)가 수행될 수 있다. Smart contracts according to embodiments of the present disclosure may be written in a digital language for performing item transactions and executed on any computing device. That is, when the codes and/or functions included in the smart contract are executed, any form of item transaction (eg, sale, purchase, rental of game items, etc.) according to embodiments of the present disclosure may be performed. .

본 개시내용의 실시예들에 따른 스마트 컨트랙트는, 새로운 스마트 컨트랙트를 생성하는 방식, 특정 스마트 컨트랙트상의 함수를 실행하는 방식, 또는 블록체인 네트워크(400)에서 동작가능한 코인을 전송하는 방식 중 적어도 하나에 의해 실행될 수 있다. 또한, 스마트 컨트랙트는 외부 소유 어카운트에 의해서 발생한 트랜잭션이나 다른 컨트랙트에 의해서 실행될 수 있다. The smart contract according to the embodiments of the present disclosure may include 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. Can be executed by Also, the smart contract may be executed by a transaction generated by an externally owned account or other contract.

본 명세서에서의 코인은, 블록체인 네트워크(400) 상에서 동작가능한 임의의 형태의 암호화 화폐를 의미할 수 있다. 이러한 코인은 아이템 거래소 서버(300) 또는 게임 서버(200)에 의해 그 시세에 따라 현금으로 전환가능할 수 있다. Coin in the present specification may mean any form of cryptocurrency that is operable on the blockchain network 400. Such coins may be convertible into cash by the item exchange server 300 or game server 200 according to the market price.

본 개시내용의 실시예들에 따른 아이템 거래를 수행하기 위한 스마트 컨트랙트는 예를 들어, 무한 반복같은 악의적인 코드를 막고 아이템 거래와 관련된 데이타의 무결성를 지키기 위해, 트랜잭션을 실행할 때 특정한 실행 비용을 지급하도록 규정할 수도 있다. 여기에서의 실행 비용이란 블록체인 네트워크(400)에서 거래가능한 임의의 형태의 코인 또는 코인과 연동될 수 있는 별도의 다른 형태의 매개체(예컨대, 가스(gas) 등)을 의미할 수 있다. 비-제한적인 예시로서, 트랜잭션의 기본 실행 비용은 21,000 가스로 설정될 수 있다. 예를 들어, 이와 같은 실행 비용에는 트랜잭션 발행자의 어카운트 주소에 대한 ECDSA(Elliptic Curve Digital Signature Algorithm)를 처리하기 위한 비용, 트랜잭션 저장을 위한 스토리지 비용, 네트워크 대역폭 비용이 포함될 수 있다. 이와 같이 스마트 컨트랙트 실행 시 특정 비용을 지불하도록 정의되는 경우, 의도적인 디도스 공격과 같은 무한 실행과 같은 악의적인 공격이 방지될 수 있다.A smart contract for performing an item transaction according to embodiments of the present disclosure is configured to pay a specific execution cost when executing a transaction, for example, to prevent malicious code such as infinite repetition and to maintain the integrity of data related to the item transaction. It can be prescribed. Here, the execution cost may mean any form of coin that can be traded in the blockchain network 400 or another form of mediator (eg, gas) that can be linked with the coin. As a non-limiting example, the basic execution cost of a transaction can be set to 21,000 gas. For example, the execution cost may include a cost for processing an elliptic curve digital signature algorithm (ECDSA) for the transaction issuer's account address, a storage cost for transaction storage, and a network bandwidth cost. When such a smart contract is defined to pay a specific cost when executing, a malicious attack such as an infinite execution such as an intentional DDoS attack can be prevented.

본 개시내용의 실시예들에 따른 아이템 거래를 수행하기 위하여 스마트 컨트랙트들 간의 호출은, 메시지라는 구조체를 사용하여 구현될 수 있다. 예를 들어, 이러한 메시지는 컨트랙트 어카운트(CA)에 의해 생성될 수 있으며, 함수 호출시에 다른 컨트랙트로 전달될 수 있다. 일 실시예에서, 이러한 경우의 메시지는 외부 소유 어카운트에서 발생되는 트랜잭션과는 달리, 블록체인 네트워크(400) 내부에서 생성되어 처리되기 때문에, 가스와 같은 별도의 실행 비용이 발생되지 않을 수도 있다.In order to perform an item transaction according to embodiments of the present disclosure, calls between smart contracts may be implemented using a structure called a message. For example, such a message may be generated by a contract account (CA), and may 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.

본 개시내용의 실시예들에 따른 아이템 거래를 구현하는데 있어서, 스마트 컨트랙트의 함수를 컴파일된 코드 형태로 트랜잭션에 포함하여 블록체인을 통해 동기화할 때, 트랜잭션에 포함된 정보를 함수의 입력으로 하여 코드로 표현된 함수를 실행한 후 그 결과를 별도의 상태로 보관하는 방식으로 스마트 컨트랙트가 구현될 수 있다.In implementing an item transaction according to embodiments of the present disclosure, when a function of a smart contract is included in a transaction in a compiled code form and synchronized through a blockchain, the information included in the transaction is coded as an input of the function A smart contract can be implemented by executing the function represented by and storing the result in a separate state.

블록체인 네트워크(400)에 공유되는 스마트 컨트랙트 의해 그 함수 내용과 함수의 입력을 공유하는 경우, 함수의 결과가 별도로 공유되지 않더라도 데이터의 무결성이 보장될 수 있다. When the function content and the input of the function are shared by a smart contract shared in the blockchain network 400, data integrity can be ensured even if the result of the function is not separately shared.

추가적인 실시예에서, 아이템 거래를 수행하기 위한 본 개시내용의 블록체인 네트워크(400)를 구성하는 컴퓨팅 장치들은, 스마트 컨트랙트의 상태를 변경시키는 트랜잭션 보관 데이터베이스와 스마트 컨트랙트의 최신상태를 보관하고 있는 스마트 컨트랙트 데이터베이스를 포함할 수도 있다. 이러한 경우, 본 개시내용에서의 아이템 거래를 위한 스마트 컨트랙트는 블록체인 네트워크(400) 상에서의 상태(state)를 변경할 수 있는 애플리케이션(즉, 아이템 거래 애플리케이션)으로 정의될 수 있고, 스마트 컨트랙트의 상태는 해당 애플리케이션(즉, 아이템 거래 애플리케이션)에서 사용하는 변수로 정의될 수 있으며, 그리고 이를 변경하기 위한 입력값은 게임 서버(200), 아이템 거래소 서버(300), 사용자 단말(100) 중 적어도 하나로부터 발행된 트랜잭션에 포함될 수 있다.In a further embodiment, the computing devices constituting the blockchain network 400 of the present disclosure for performing item trading are smart contracts that store the latest state of the smart contracts and a transaction storage database that changes the state of the smart contracts. It may also include a database. In this case, the smart contract for item trading in the present disclosure may be defined as an application (ie, item trading application) that can change the state on the blockchain network 400, and the state of the smart contract It can be defined as a variable used in the corresponding application (that is, the item trading application), and the input value for changing it is issued from at least one of the game server 200, the item exchange server 300, the user terminal 100 It can be included in the transaction.

추가적인 실시예에서, 스마트 컨트랙트의 상태를 저장하는 데이터베이스는 높은 압축률을 달성하기 위해 트랜잭션을 저장하는 데이터베이스와 합쳐져 있을 수도 있다. 또한, 스마트 컨트랙트의 상태를 저장하는 데이터베이스의 분산 합의와 스마트 컨트랙트의 낮은 의존성을 달성하기 위해 트랜잭션을 저장하는 데이터베이스와 분리되어 동작할 수도 있다.In a further embodiment, the database storing the state of the smart contract may be combined with the database storing the transaction to achieve a high compression rate. In addition, it may operate separately from the database storing the transaction in order to achieve the distributed agreement of the database storing the state of the smart contract and the low dependency of the smart contract.

[도 2 설명][Description of Fig. 2]

도 2는 본 개시내용의 일 실시예에 따른 게임 서버(200) 및 아이템 거래소 서버(300)를 예시적으로 도시한다.2 exemplarily illustrates a game server 200 and an item exchange server 300 according to an embodiment of the present disclosure.

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

도 2에서는 설명의 편의를 위하여, 게임 서버(200)와 아이템 거래소 서버(300)가 분리된 실시예에 대한 예시만을 표현하였지만, 본 개시내용의 실시예에 따른 구현 양태에 따라 게임 서버(200)가 아이템 거래소 서버(300)의 기능을 모두 포함할 수도 있다. 이러한 경우에는 게임 서버(200)의 컴포넌트들(201, 202 및 203)이 아이템 거래소 서버(300)의 컴포넌트들(301, 302 및 303)의 기능들을 수행할 수 있다.In FIG. 2, for convenience of explanation, only the example of the embodiment in which the game server 200 and the item exchange server 300 are separated is represented, but the game server 200 according to an implementation mode according to an embodiment of the present disclosure The item exchange server 300 may include all of the functions. In this case, the components 201, 202 and 203 of the game server 200 may perform the functions of the components 301, 302 and 303 of the item exchange server 300.

본 개시내용의 일 실시예에 따라 게임 서버(200)는 아이템 거래(예컨대, 판매 또는 대여 등)를 희망하는 제 1 사용자로부터의 게임 내에서 플레이 가능한 제 1 아이템에 대한 거래 요청을 수신하는 송수신부(203)를 포함할 수 있다. 또한, 송수신부(203)는 제 1 아이템이 거래의 대상이 되도록 등록된 이후에, 제 1 아이템의 거래(예컨대, 구매 또는 대여 등)를 희망하는 제 2 사용자로부터의 거래 요청을 수신할 수 있다.In accordance with an embodiment of the present disclosure, the game server 200 receives and receives a transaction request for a first item playable in a game from a first user who wants an item transaction (eg, sale or rental). 203. Also, the transceiver 203 may receive a transaction request from a second user who desires a transaction (eg, purchase or rental) of the first item after the first item is registered to be the target of the transaction. .

송수신부(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. Wireless Internet technology (Wireless LAN) (Wi-Fi), Wibro (Wireless broadband), Wimax (World Interoperability for Microwave Access), HSDPA (High Speed Downlink Packet Access) may be used. As a wired Internet technology, digital subscriber line (XDSL), fibers to the home (FTTH), and power line communication (PLC) may be used. Also, the transceiver 203 may include a short range communication module. Bluetooth, radio frequency identification (RFID), infrared data association (IrDA), ultra wideband (UWB), and ZigBee may be used as short-range communication technology.

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

저장부(202)는 프로세서(201)가 생성하거나 결정한 임의의 형태의 정보 및 송수신부(203)가 수신한 임의의 형태의 정보를 게임 서버(200)에 저장할 수 있다. 저장부(202)는 메모리 및/또는 영구저장매체를 포함할 수 있다.The storage unit 202 may store any type of information generated or determined by the processor 201 and any type of information received by the transceiver 203 in the game server 200. The storage unit 202 may include a memory and/or a permanent storage medium.

프로세서(201)는 아이템 거래를 허용하기 위하여 게임 서버(200)의 컴포넌트들의 전반적인 동작들을 제어할 수 있다. 예를 들어, 프로세서(201)는 제 1 아이템을 게임 서버(200) 내에서의 아이템 보관 공간으로 이동시키고, 상기 제 1 아이템을 블록체인 네트워크(400)에서의 주소를 갖는 일시적 아이템 수용 공간으로 이동시킬 것을 결정하고, 그리고 상기 일시적 아이템 수용 공간으로 이동된 제 1 아이템이 아이템 거래의 대상이 되도록 허용할 수 있다. 또한, 프로세서(201)는 제 2 사용자로부터의 구매 요청을 수신하는 경우, 게임 서버(200)내에서 일시적 아이템 보관 공간으로부터 제 2 사용자의 인벤토리로 제 1 아이템이 이동될 수 있도록 처리할 수 있다.The processor 201 may control overall operations of components of the game server 200 to allow item trading. For example, the processor 201 moves the first item to the item storage space in the game server 200, and moves the first item to the temporary item receiving space having the address in the blockchain network 400. Decision to be made, and allow the first item moved to the temporary item accommodating space to be subject to the item transaction. In addition, when receiving a purchase request from the second user, the processor 201 may process the first item to be moved from the temporary item storage space to the inventory of the second user in the game server 200.

아이템 거래소 서버(300)는 제 1 사용자로부터의 게임 내에서 플레이 가능한 제 1 아이템에 대한 거래 요청을 수신하고, 그리고 상기 제 1 아이템이 게임 서버 (200)내에서의 아이템 보관 공간으로 이동될 수 있도록 허용하기 위한 신호를 게임 서버(200)로 전송하는 송수신부(303)를 포함할 수 있다. 또한, 송수신부(303)는 제 1 아이템에 대한 거래(예컨대, 구매 또는 대여)를 희망하는 제 2 사용자로부터의 제 1 아이템에 대한 거래 요청을 수신할 수 있다.The item exchange server 300 receives a transaction request for a first item playable in the game from the first user, and allows the first item to be moved to the item storage space in the game server 200 It may include a transmitting and receiving unit 303 for transmitting a signal for allowing to the game server 200. Also, the transceiver 303 may receive a transaction request for a first item from a second user who desires a transaction (eg, purchase or rental) for the first item.

송수신부(303)는 네트워크 접속을 위한 유/무선 인터넷 모듈을 포함할 수 있다. 무선 인터넷 기술로는 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) 등이 이용될 수 있다. 또한, 송수신부(303)는 근거리 통신(short range communication) 모듈을 포함할 수 있다. 근거리 통신 기술로 블루투스(Bluetooth), RFID(Radio Frequency Identification), 적외선 통신(IrDA, infrared Data Association), UWB(Ultra Wideband), ZigBee 등이 이용될 수 있다.The transceiver 303 may include a wired/wireless Internet module for network access. Wireless Internet technology (Wireless LAN) (Wi-Fi), Wibro (Wireless broadband), Wimax (World Interoperability for Microwave Access), HSDPA (High Speed Downlink Packet Access) may be used. As a wired Internet technology, digital subscriber line (XDSL), fibers to the home (FTTH), and power line communication (PLC) may be used. Also, the transceiver 303 may include a short range communication module. Bluetooth, radio frequency identification (RFID), infrared data association (IrDA), ultra wideband (UWB), and ZigBee may be used as short-range communication technology.

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

저장부(302)는 프로세서(301)가 생성하거나 결정한 임의의 형태의 정보 및 송수신부(303)가 수신한 임의의 형태의 정보를 아이템 거래소 서버(300)에 저장할 수 있다. 저장부(302)는 메모리 및/또는 영구저장매체를 포함할 수 있다.The storage unit 302 may store any type of information generated or determined by the processor 301 and any type of information received by the transceiver 303 in the item exchange server 300. The storage unit 302 may include a memory and/or a permanent storage medium.

프로세서(301)는 제 1 아이템을 블록체인 네트워크에서의 주소를 갖는 일시적 아이템 수용 공간으로 이동시키기 위하여 블록체인 네트워크(400)로 배포될 트랜잭션을 생성하고 그리고 일시적 아이템 수용 공간으로 이동된 상기 제 1 아이템이 아이템 거래의 대상이 되도록 허용하기 위하여 상기 트랜잭션과 관련된 정보를 게임 서버(200)로 전달할 것을 결정할 수 있다. 또한, 프로세서(301)는 제 2 사용자로부터의 구매 요청을 수신하는 경우, 이에 대응되는 트랜잭션을 생성하여 블록체인 네트워크(400)에 배포함으로써, 일시적 아이템 수용 공간으로부터 제 2 사용자의 인벤토리로 제 1 아이템이 이동될 수 있도록 허용할 수 있다.The processor 301 creates a transaction to be distributed to the blockchain network 400 to move the first item to a temporary item accommodating space having an address in the blockchain network, and the first item moved to the temporary item accommodating space. In order to allow the target of the item transaction, it may be determined to transmit information related to the transaction to the game server 200. In addition, when receiving a purchase request from the second user, the processor 301 generates a transaction corresponding to the transaction and distributes it to the blockchain network 400, thereby allowing the first item from the temporary item accommodating space to the second user's inventory. Can allow this to be moved.

도 2에서는 도시되지 않았지만, 게임 서버(200) 및 아이템 거래소 서버(300) 중 적어도 하나는 블록체인 네트워크(400)를 구성하는 컴퓨팅 장치로 동작할 수도 있다. 이러한 경우, 상기 컴퓨팅 장치는 프로세서, 및 프로세서에 의해 실행가능한 컴퓨터 프로그램을 저장하는 메모리를 포함할 수 있다.Although not illustrated in FIG. 2, at least one of the game server 200 and the item exchange server 300 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 computer programs executable by the processor.

본 개시내용의 일 실시예에 따라, 컴퓨팅 장치는, 제 1 사용자로부터의 게임 내에서 플레이 가능한 제 1 아이템에 대한 거래 요청에 대응되는 스마트 컨트랙트가 포함된 제 1 트랜잭션을 수신할 수 있다. 또한, 상기 컴퓨팅 장치에서의 프로세서는, 합의 알고리즘에 따라 생성된 제 1 블록에 상기 제 1 트랜잭션을 포함시킬 수 있다. 또한, 상기 컴퓨팅 장치에서의 프로세서는 제 1 트랜잭션에 포함된 스마트 컨트랙트에 기초하여 제 1 아이템을 블록체인 네트워크(400) 내에서의 주소를 갖는 일시적 아이템 수용 공간으로 이동시킴으로써, 제 1 아이템이 아이템 거래의 대상이 되도록 허용하도록 구성될 수 있다.According to an embodiment of the present disclosure, the computing device may receive a first transaction including a smart contract corresponding to a transaction request for a first item playable in a game from a first user. In addition, the processor in the computing device may include the first transaction in the first block generated according to the consensus algorithm. In addition, the processor in the computing device moves the first item to a temporary item accommodating space having an address in the blockchain network 400 based on the smart contract included in the first transaction, so that the first item trades the item. It can be configured to allow the target.

본 개시내용의 일 실시예에 따라, 컴퓨팅 장치는, 제 2 사용자로부터의 제 1 아이템에 대한 거래(예컨대, 구매 또는 대여) 요청에 대응되는 제 2 트랜잭션을 수신할 수 있다. 상기 제 2 트랜잭션에 따라서 제 1 트랜잭션에 의해 블록체인 네트워크(400)에 저장된 스마트 컨트랙트가 호출될 수 있다. 합의 알고리즘에 따라 제 2 트랜잭션이 블록체인 네트워크(400)에서 배포 및 공유되는 경우, 제 2 트랜잭션에 기초하여 제 1 아이템에 대한 거래 절차가 진행될 수 있다. 예를 들어, 제 1 아이템에 대한 거래 절차는, 제 1 사용자로부터 제 2 사용자로의 제 1 아이템에 대한 소유권 변경 절차, 제 2 사용자로부터 제 1 사용자로의 거래 금액의 이전 절차 및/또는 일시적 아이템 수용 공간으로부터 제 2 사용자의 주소 또는 어카운트로 제 1 아이템이 이동되는 절차 등을 포함할 수 있다.According to one embodiment of the present disclosure, the computing device may receive a second transaction corresponding to a transaction (eg, purchase or rental) request for the first item from the second user. According to the second transaction, a smart contract stored in the blockchain network 400 may be called by the first transaction. When the second transaction is distributed and shared in the blockchain network 400 according to the consensus algorithm, a transaction procedure for the first item may be performed based on the second transaction. For example, a transaction procedure for a first item may include a procedure for changing ownership of a first item from a first user to a second user, a procedure for transferring a transaction amount from a second user to a first user, and/or a temporary item And a procedure in which the first item is moved from the accommodation space to the address or account of the second user.

[도 3 설명][Description of Fig. 3]

도 3은 본 개시내용의 일 실시예에 따라 게임 서버(200)에서 수행되는 아이템 거래 방식을 예시적으로 도시한다. 3 exemplarily illustrates an item transaction method performed in the game server 200 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 in FIG. 3 may be omitted or additional steps may be present without departing from the scope of the spirit of the present disclosure.

게임 서버(200)는 제 1 사용자로부터 생성된, 게임 내에서 플레이 가능한 제 1 아이템에 대한 거래 요청을 수신할 수 있다(310). 예를 들어, 게임 서버(200)는 제 1 사용자의 사용자 단말(100)로부터 직접적으로 제 1 아이템에 대한 거래 요청을 수신할 수 있다. 다른 예시로, 제 1 사용자의 사용자 단말(100)이 아이템 거래소 서버(300)로 제 1 아이템에 대한 거래 요청을 전달한 이후에, 게임 서버(200)는 아이템 거래소 서버(300)로부터 제 1 사용자로부터의 제 1 아이템에 대한 거래 요청이 이루어졌다는 신호를 수신할 수도 있다. The game server 200 may receive a transaction request for a first item playable in the game, generated from the first user (310 ). For example, the game server 200 may receive a transaction request for the first item directly from the user terminal 100 of the first user. As another example, after the user terminal 100 of the first user transmits a transaction request for the first item to the item exchange server 300, the game server 200 receives from the first user from the item exchange server 300 It may receive a signal that the request for the transaction for the first item of the.

본 개시내용의 일 실시예에서, 제 1 아이템은 게임 내에서 플레이 및 거래 가능한 형태의 게임 아이템을 의미할 수 있다. 또한, 제 1 아이템에 대한 거래 요청은, 제 1 아이템을 판매 또는 대여 하고자 하는 표시가 포함된 메시지의 형태일 수도 있거나 또는 블록체인 네트워크(400) 상에서 공유될 수 있는 트랜잭션의 형태일 수도 있다. In one embodiment of the present disclosure, the first item may mean a game item in a form that can be played and traded in the game. Further, the transaction request for the first item may be in the form of a message including an indication to sell or rent the first item, or may be in the form of a transaction that can be shared on the blockchain network 400.

전자의 경우, 게임 서버(200)는 제 1 아이템에 대한 거래 요청 정보에 기초하여 스마트 컨트랙트 및 트랜잭션을 생성할 수 있다. 또한, 전자의 경우 게임 서버(200)는 제 1 아이템을 판매 또는 대여 하고자 하는 표시가 포함된 메시지를 아이템 거래소 서버(300)로 전달할 수도 있다. In the former case, the game server 200 may generate smart contracts and transactions based on transaction request information for the first item. In addition, in the former case, the game server 200 may deliver a message including an indication to sell or rent the first item to the item exchange server 300.

후자의 경우, 사용자 단말(100)에서 생성된 스마트 컨트랙트가 트랜잭션에 포함되어 게임 서버(200)(또는 아이템 거래소 서버(300))측으로 전달될 수 있다. 이러한 예시에서, 사용자 단말(100)은 블록체인 네트워크(400)에서 동작가능한 스마트 컨트랙트 및 트랜잭션을 생성할 수 있는 임의의 형태의 API를 포함할 수 있다. In the latter case, the smart contract generated by the user terminal 100 may be included in the transaction and delivered to the game server 200 (or item exchange server 300). In this example, the user terminal 100 may include any form of API capable of generating smart contracts and transactions operable in the blockchain network 400.

게임 서버(200)는 제 1 아이템을 게임 서버(200) 내에서의 아이템 보관 공간으로 이동시킴으로써, 제 1 아이템이 게임 상에서 플레이되지 않도록 할 수 있다(320). 이러한 경우, 게임 서버(200)는 제 1 아이템의 소유권은 제 1 사용자에게 유지시키면서 게임 내에서 제 1 아이템이 플레이되지 않도록 허용하기 위하여, 제 1 아이템을 제 1 사용자의 게임 내에서의 인벤토리로부터 별도의 아이템 보관 공간으로 이동시킬 수 있다. 게임 서버(200) 내에서의 별도의 아이템 보관 공간으로 이동된 게임 아이템에 대해서는, 게임 플레이가 제한되도록 처리될 수 있다. 게임 서버(200)는, 게임 서버(200)내에서의 아이템 보관 공간으로 이동된 아이템을 사용자들이 검색할 수 있도록, 해당 아이템에 대한 정보를 게임 내에서 출력 가능하게 처리할 수 있다.The game server 200 may prevent the first item from being played in the game by moving the first item to the item storage space in the game server 200 (320 ). In this case, the game server 200 separates the first item from the first user's in-game inventory to allow the first user to not play the game while maintaining ownership of the first item to the first user Can be moved to the item storage space. For game items moved to a separate item storage space in the game server 200, game play may be restricted. The game server 200 may process information about the item to be output in the game so that users can search for items moved to the item storage space in the game server 200.

본 개시내용의 일 실시예에서, 게임 서버(200)는 제 1 아이템의 거래를 위하여 블록체인 네트워크(400) 상에서 동작가능한 스마트 컨트랙트를 생성하고 스마트 컨트랙트가 포함된 트랜잭션을 블록체인 네트워크(400)로 발행할 수 있다(330). In one embodiment of the present disclosure, the game server 200 creates a smart contract operable on the blockchain network 400 for the transaction of the first item, and the transaction including the smart contract to the blockchain network 400 It can be issued (330).

일 실시예에서, 게임 서버(200)는 사용자 단말(100)에 의해 생성된 제 1 아이템에 대한 거래 요청에 포함된 거래 조건 정보에 기초하여, 스마트 컨트랙트를 생성할 수 있다. 예를 들어, 거래 유형 정보 또는 거래 조건 정보는, 자동 구매 예약 거래, 상한가 경매 거래, 대여 거래, 가격 지정 일반 거래, 광고 발생 거래 및 기부 발생 거래 중 적어도 하나를 포함할 수 있다. 아이템 거래를 희망하는 사용자는 UI(User Interface) 상에서 게임 아이템 거래를 희망한다는 표시 및 게임 아이템에 대한 거래 조건을 입력할 수 있으며, 이에 응답하여, 게임 서버(200)는 사용자의 입력 정보에 기초하여 자동으로 블록체인 네트워크(400) 상에서 동작가능한 스마트 컨트랙트를 생성할 수 있다.In one embodiment, the game server 200 may generate a smart contract based on transaction condition information included in the transaction request for the first item generated by the user terminal 100. For example, the transaction type information or transaction condition information may include at least one of an automatic purchase reservation transaction, an upper price auction transaction, a rental transaction, a general price designation transaction, an advertisement generation transaction, and a donation generation transaction. A user who wishes to trade an item may input an indication that he or she wishes to trade a game item on a user interface (UI) and enter a transaction condition for the game item, and in response, the game server 200 based on the user input information It is possible to automatically generate smart contracts that can be operated on the blockchain network 400.

예를 들어, 스마트 컨트랙트는 블록에 포함되어 블록체인 네트워크(400)로 배포되며, 상기 스마트 컨트랙트가 상기 블록체인 네트워크(400)로 배포되는 경우, 상기 스마트 컨트랙트에 대응되는 컨트랙트 어카운트(Contract Account)가 생성될 수 있다. 또한, 스마트 컨트랙트가 블록체인 네트워크(400) 상에서의 컨트랙트 어카운트에 저장됨에 따라 상기 블록체인 네트워크(400) 상에서 제 1 아이템의 거래를 위한 절차가 수행될 수 있다. 예를 들어, 스마트 컨트랙트가 저장되는 컨트랙트 어카운트는: 아이템 거래를 위해 생성된 스마트 컨트랙트들의 개수, 및 아이템 거래를 위한 스마트 컨트랙트의 바이트 코드(byte code)에 대한 해시값을 포함할 수 있다. For example, a smart contract is included in a block and distributed to the blockchain network 400, and when the smart contract is distributed to the blockchain network 400, a contract account corresponding to the smart contract is Can be generated. In addition, as the smart contract is stored in the contract account on the blockchain network 400, a procedure for the transaction of the first item may be performed on the blockchain network 400. For example, the contract account in which the smart contract is stored may include: the number of smart contracts generated for item trading, and a hash value for the byte code of the smart contract for item trading.

또한, 상기 컨트랙트 어카운트의 주소는, 제 1 사용자, 게임 서버 및 아이템 거래소 서버 중 적어도 하나의 개인키에 적어도 부분적으로 기초하여 생성될 수 있다. 일 실시예에서, 컨트랙트 어카운트의 주소는 게임 서버(200)의 개인키와 쌍을 이루는 공개키에 기초하여 생성될 수 있다. 예를 들어, SHA 256 및/또는 RIPEMD(RACE Integrity Primitives Evaluation Message Digest)를 이용하여 공개키로부터 컨트랙트 어카운트의 주소가 생성될 수 있다.Further, the address of the contract account may be generated based at least in part on the private key of at least one of the first user, the game server, and the item exchange server. In one embodiment, the address of the contract account may be generated based on the public key paired with the private key of the game server 200. For example, the address of the contract account can be generated from the public key using SHA 256 and/or RACE Integrity Primitives Evaluation Message Digest (RIPEMD).

일 실시예에서, 블록체인 네트워크(400)로 배포되는 블록은, 아이템 거래를 위한 스마트 컨트랙트 및 아이템 거래 이력 정보를 포함할 수 있다. 본 개시내용의 일 실시예에 따라, 블록체인 네트워크(400)로 배포되는 블록에 스마트 컨트랙트 및 아이템 거래 내역 정보만을 포함시키는 경우, 아이템 거래를 수행하는데 있어서 블록체인의 블록 사이즈를 최소화할 수 있기 때문에, 블록의 생성 시간 및 블록의 전파 시간을 감소시킬 수 있고 그리고 블록의 저장을 위한 컴퓨팅 자원 또한 줄일 수 있게 된다. In one embodiment, a block distributed to the blockchain network 400 may include smart contracts for item trading and item transaction history information. According to one embodiment of the present disclosure, when only the smart contract and item transaction history information are included in the block distributed to the blockchain network 400, the block size of the blockchain can be minimized in performing the item transaction. , It is possible to reduce the generation time of the block and the propagation time of the block, and also reduce the computing resources for storing the block.

또한, 스마트 컨트랙트는 복수의 노드들에 의한 합의 알고리즘에 기초하여 상기 블록체인 네트워크로 배포되며, 여기서의 복수의 노드들은, 하나 이상의 외부 컴퓨팅 장치들, 하나 이상의 사용자 단말, 하나 이상의 게임 서버 및 하나 이상의 아이템 거래소 서버 중 적어도 둘을 포함할 수 있다.In addition, smart contracts are distributed to the blockchain network based on a consensus algorithm by a plurality of nodes, where the plurality of nodes, one or more external computing devices, one or more user terminals, one or more game servers, and one or more It may include at least two of the item exchange server.

추가적인 실시예에서, 게임 서버(200)는 제 1 아이템을 아이템 거래를 수행하기 위하여, 상기 제 1 사용자, 아이템 거래소 서버(300) 및 게임 서버(200) 중 적어도 하나와 연관된 개인키(private key)를 사용하여, 일시적 아이템 수용 공간과 연관된 블록체인 주소로 상기 제 1 아이템을 이동시키기 위한 트랜잭션을 생성할 수도 있다. 이러한 경우, 상기 트랜잭션은: 제 1 아이템에 대한 식별 정보 및 상기 개인키로부터 생성된 서명 정보를 포함하는 트랜잭션 입력 값, 및 일시적 아이템 수용 공간과 연관된 블록체인 주소 정보를 포함하는 트랜잭션 출력 값을 포함할 수 있다. In a further embodiment, the game server 200, in order to perform item trading on the first item, a private key associated with at least one of the first user, the item exchange server 300 and the game server 200 Using, it is also possible to create a transaction for moving the first item to a blockchain address associated with the temporary item accommodating space. In this case, the transaction may include: a transaction input value including identification information for the first item and signature information generated from the private key, and a transaction output value including blockchain address information associated with the temporary item accommodating space. Can.

또한, 블록체인 네트워크(400)상의 주소를 갖는 일시적 아이템 수용 공간은 게임 서버(200)의 일시적 아이템 보관 공간(예컨대, 게임 내에서의 금고, 공용 인벤토리, 아이템 거래용 인벤토리, 아이템 거래소)과 대응될 수 있다. 즉, 게임 서버(200)에서 구현되는 일시적 아이템 보관 공간에서 발생되는 거래 이력들은 이와 대응되는 블록체인 네트워크에서의 일시적 아이템 수용 공간에 저장될 수 있기 때문에, 아이템 거래에 대한 신뢰성 및 무결성이 확보될 수 있다.In addition, the temporary item accommodating space having an address on the blockchain network 400 may correspond to the temporary item storage space of the game server 200 (eg, a safe in the game, a common inventory, an item trading inventory, an item exchange). Can. That is, since the transaction history generated in the temporary item storage space implemented in the game server 200 can be stored in the temporary item accommodation space in the corresponding blockchain network, reliability and integrity of the item transaction can be secured. have.

추가적인 실시예에서, 아이템 거래소 서버(300)에 의해 블록체인 네트워크(400)로 트랜잭션이 발행되고, 게임 서버(200)는 아이템 거래소 서버(300) 또는 블록체인 네트워크(400)로부터 이러한 트랜잭션이 발행되었다는 정보 또는 트랜잭션이 블록체인 네트워크(400)에 공유되었다는 정보를 수신하는 형태로 동작할 수도 있다.In a further embodiment, a transaction is issued to the blockchain network 400 by the item exchange server 300, and the game server 200 indicates that such a transaction was issued from the item exchange server 300 or the blockchain network 400. It may operate in the form of receiving information that the information or transaction has been shared with the blockchain network 400.

일 실시예에서, 게임 서버(200)는 제 1 아이템이 거래대상이 된다는 것을 확인한 제 2 사용자로부터 제 1 아이템에 대한 구매 요청을 수신할 수 있다(340). 예를 들어, 게임 서버(200)는 제 2 사용자의 사용자 단말(100)로부터 직접적으로 제 1 아이템에 대한 거래 요청(예컨대, 구매 요청)을 수신할 수 있다. 다른 예시로, 제 2 사용자의 사용자 단말(100)이 아이템 거래소 서버(300)로 제 1 아이템에 대한 구매 요청을 전달한 이후에, 게임 서버(200)는 아이템 거래소 서버(300)로부터 제 2 사용자로부터의 제 1 아이템에 대한 구매 요청이 이루어졌다는 신호를 수신할 수도 있다. In one embodiment, the game server 200 may receive a purchase request for the first item from the second user who confirms that the first item is a transaction target (340). For example, the game server 200 may receive a transaction request (eg, a purchase request) for the first item directly from the user terminal 100 of the second user. As another example, after the user terminal 100 of the second user delivers the purchase request for the first item to the item exchange server 300, the game server 200 receives the second user from the item exchange server 300. It may receive a signal that the purchase request for the first item of the has been made.

일 실시예에서, 제 2 사용자로부터의 제 1 아이템에 대한 구매 요청은, 제 1 아이템을 구매하고자 하는 표시가 포함된 메시지의 형태일 수도 있거나 또는 블록체인 네트워크(400) 상에서 동작될 수 있는 트랜잭션의 형태일 수도 있다. 후자의 경우, 사용자 단말(100)에서 생성된 트랜잭션에 포함되어 게임 서버(200)(또는 아이템 거래소 서버(300))측으로 전달될 수 있다. 이러한 예시에서, 사용자 단말(100)은 블록체인 네트워크(400)에서 동작가능한 트랜잭션을 생성할 수 있는 임의의 형태의 API를 포함할 수 있다. In one embodiment, a purchase request for a first item from a second user may be in the form of a message containing an indication to purchase the first item or of a transaction that may be operated on the blockchain network 400. It may be a form. In the latter case, it may be included in the transaction generated by the user terminal 100 and transmitted to the game server 200 (or item exchange server 300). In this example, the user terminal 100 may include any form of API capable of creating an actionable transaction in the blockchain network 400.

본 개시내용의 일 실시예에서, 게임 서버(200)는 제 2 사용자로부터의 구매 요청이 포함된 트랜잭션을 생성하여 블록체인 네트워크(400)로 발행할 수 있다(350). 이러한 트랜잭션에 의해서, 블록체인 네트워크(400)에 사전저장된 스마트 컨트랙트가 호출될 수 있다. 일례로, 게임 서버(200)는 제 2 사용자로부터 제 1 아이템의 구매를 원한다는 표시가 포함된 신호를 수신한 이후에, 상기 신호가 제 1 사용자가 제시한 구매 조건을 만족하는지 여부를 확인한 후, 만족되는 경우 스마트 컨트랙트를 호출하기 위한 트랜잭션을 생성할 수 있다. 다른 예시로, 게임 서버(200)는 제 2 사용자에 의해 생성된 트랜잭션을 블록체인 네트워크(400)로 전달할 수도 있다. 다른 예시로, 게임 서버(200)는, 제 2 사용자로부터의 제 1 아이템의 구매를 원한다는 표시가 포함된 신호를 블록체인 네트워크(400) 상에서 동작가능한 트랜잭션 형태로 변환할 수도 있다.In one embodiment of the present disclosure, the game server 200 may generate a transaction including a purchase request from a second user and issue it to the blockchain network 400 (350). By this transaction, a smart contract pre-stored in the blockchain network 400 can be called. As an example, after receiving a signal including an indication that a second user wants to purchase a first item from a second user, the game server 200 confirms whether the signal satisfies a purchasing condition suggested by the first user, If satisfied, a transaction to call a smart contract can be created. As another example, the game server 200 may deliver the transaction generated by the second user to the blockchain network 400. As another example, the game server 200 may convert a signal including an indication that the first user wants to purchase a first item from a second user into a transactional operation on the blockchain network 400.

본 개시내용의 일 실시예에서, 게임 서버(200)는, 스마트 컨트랙트가 실행됨에 따라 제 1 사용자의 어카운트 및 제 2 사용자의 어카운트 간의 거래 금액에 대한 정산 절차가 진행되는 경우, 게임 서버(200) 내에서 제 1 아이템을 일시적 아이템 보관 공간으로부터 제 2 사용자의 인벤토리로 이동할 것을 결정할 수 있다(360). 예를 들어, 게임 서버(200)는, 블록체인 네트워크(400)로부터 또는 아이템 거래소 서버(300)로부터 스마트 컨트랙트가 실행됨에 따라 제 1 사용자와 제 2 사용자 간의 아이템 거래가 수행되었다는 내용을 전달받는 경우, 게임 내에서 일시적 아이템 보관 공간으로 옮겨진 제 1 아이템을 제 2 사용자의 게임 내 인벤토리로 이동할 것을 결정할 수 있다. In one embodiment of the present disclosure, the game server 200, when the settlement process for the transaction amount between the account of the first user and the account of the second user proceeds as the smart contract is executed, the game server 200 Within, it may be determined to move the first item from the temporary item storage space to the second user's inventory (360). For example, when the game server 200 receives information that the item transaction between the first user and the second user has been performed as the smart contract is executed from the blockchain network 400 or from the item exchange server 300, It may be determined that the first item moved to the temporary item storage space in the game is moved to the second user's in-game inventory.

블록체인 네트워크(400)가 게임 서버(200) 외부에 존재하는 경우, 게임 서버(200)는 블록체인 네트워크(400)에서 발생된 거래 이력 정보를 수신/획득하여, 게임 서버(200) 내에 해당 정보를 반영할 수 있다. 이러한 방식으로, 블록체인 네트워크(400) 상에서의 무결성 있는 아이템 거래 이력이 게임 서버(200) 내로 반영될 수 있다.When the blockchain network 400 exists outside the game server 200, the game server 200 receives/acquires transaction history information generated in the blockchain network 400, and the corresponding information in the game server 200 Can reflect. In this way, the history of the transaction of integrity items on the blockchain network 400 may be reflected into the game server 200.

블록체인 네트워크(400)가 게임 서버(200) 내부에 존재하는 경우(즉, 게임 서버(200)가 블록체인 네트워크(400)를 관리하는 경우), 게임 서버(200)는 내부 통신을 통하여 블록체인 네트워크(400)에서 업데이트/변경된 아이템 거래 이력들을 게임 서버(200) 내에서 표시할 수 있다.When the blockchain network 400 exists inside the game server 200 (that is, when the game server 200 manages the blockchain network 400), the game server 200 blocks the blockchain through internal communication. The item transaction history updated/changed in the network 400 may be displayed in the game server 200.

추가적으로, 제 1 사용자가 제 1 아이템에 대한 판매를 취소한 경우 또는 제 2 사용자로 상기 제 1 아이템에 대한 소유권이 성공적으로 이전한 경우, 게임 서버(200)는 제 1 아이템을 일시적 아이템 보관 공간으로부터 다른 위치(제 1 사용자 또는 제 2 사용자의 게임 내 인벤토리)로 이동시킴으로써 제 1 아이템을 게임 내에서 사용가능한 상태로 복귀시키도록 허용할 수 있다.Additionally, if the first user cancels the sale of the first item or the ownership of the first item is successfully transferred to the second user, the game server 200 moves the first item from the temporary item storage space. By moving to a different location (the first user or the second user's in-game inventory), the first item can be allowed to return to a usable state in the game.

일 실시예에서, 제 1 사용자와 제 2 사용자 간의 아이템 거래에 대한 정산 절차는, 게임 서버(200) 또는 아이템 거래소 서버(300)에 의해 수행될 수 있거나 또는 블록체인 네트워크(400) 자체에서 스마트 컨트랙트의 실행에 따라 수행될 수도 있다. 예를 들어, 제 1 사용자로부터 상기 제 1 아이템을 구매하고자 하는 제 2 사용자로 상기 제 1 아이템의 소유권을 변경하는 경우, 제 2 사용자와 관련된 제 2 외부 소유 어카운트로부터 상기 제 1 사용자와 관련된 제 1 외부 소유 어카운트로 상기 제 1 아이템의 거래 비용의 적어도 일부를 전달하기 위한 트랜잭션 또는 메시지를 블록체인 네트워크 상에서 발생시키는 절차가 수행될 수 있다. In one embodiment, the settlement procedure for the item transaction between the first user and the second user may be performed by the game server 200 or the item exchange server 300 or the smart contract in the blockchain network 400 itself It may be performed according to the execution of. For example, when changing ownership of the first item from a first user to a second user who wants to purchase the first item, a first associated with the first user from a second externally owned account associated with the second user A procedure for generating a transaction or message on the blockchain network to deliver at least a portion of the transaction cost of the first item to an externally owned account may be performed.

본 개시내용의 실시예들에서, 게임 서버(200) 및/또는 아이템 거래소 서버(300)는 오프 체인(off-chain) 기반으로 동작할 수 있다. 이 경우, 게임 서버(200) 및/또는 아이템 거래소 서버(300)는 외부에 있는 블록체인 네트워크와 통신하여 아이템 거래를 수행할 수 있다. 또한, 게임 서버(200) 및/또는 아이템 거래소 서버(300)는 블록체인 네트워크(400)를 구성하는 노드로서 동작할 수도 있다.In embodiments of the present disclosure, the game server 200 and/or item exchange server 300 may operate off-chain. In this case, the game server 200 and/or the item exchange server 300 may communicate with an external blockchain network to perform item trading. Also, the game server 200 and/or the item exchange server 300 may operate as a node constituting the blockchain network 400.

다른 실시예에 따라서, 게임 서버(200) 및/또는 아이템 거래소 서버(300)는 블록체인 네트워크(400)를 가지고 있을 수도 있다. 이러한 경우, 블록체인 네트워크(400)는 Private 블록체인 또는 Consortium 블록체인 형태로 동작할 수 있다.According to another embodiment, the game server 200 and/or item exchange server 300 may have a blockchain network 400. In this case, the blockchain network 400 may operate in the form of a private blockchain or a consortium blockchain.

[도 4 설명][Description of Fig. 4]

도 4는 본 개시내용의 일 실시예에 따라 아이템 거래소 서버(300)에서 수행되는 아이템 거래 방식을 예시적으로 도시한다.4 exemplarily illustrates an item trading method performed by the item exchange server 300 according to an embodiment of the present disclosure.

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

아이템 거래소 서버(300)는 제 1 사용자로부터 생성된, 게임 내에서 플레이 가능한 제 1 아이템에 대한 거래 요청을 수신할 수 있다(410). 예를 들어, 아이템 거래소 서버(300)는 제 1 사용자의 사용자 단말(100)로부터 직접적으로 제 1 아이템에 대한 거래 요청을 수신할 수 있다. 다른 예시로, 제 1 사용자의 사용자 단말(100)이 게임 서버(200)로 제 1 아이템에 대한 거래 요청을 전달한 이후에, 아이템 거래소 서버(300)는 게임 서버(200)로부터 제 1 사용자로부터의 제 1 아이템에 대한 거래 요청이 이루어졌다는 신호를 수신할 수도 있다. The item exchange server 300 may receive a transaction request for a first item playable in the game, generated from the first user (410). For example, the item exchange server 300 may receive a transaction request for the first item directly from the user terminal 100 of the first user. As another example, after the user terminal 100 of the first user transmits a transaction request for the first item to the game server 200, the item exchange server 300 receives from the first user from the game server 200. A signal that a transaction request for the first item has been made may be received.

본 개시내용의 일 실시예에서, 제 1 아이템은 게임 내에서 플레이 및 거래 가능한 형태의 게임 아이템을 의미할 수 있다. 또한, 아이템 거래소 서버(300)에서는 단일 게임(서비스 단위) 뿐만 아니라 복수의 게임들(즉, 월드 단위)에서 플레이될 수 있는 임의의 형태의 게임 아이템이 거래될 수 있도록 허용할 수 있다. In one embodiment of the present disclosure, the first item may mean a game item in a form that can be played and traded in the game. In addition, the item exchange server 300 may allow a game item of any type that can be played in a plurality of games (ie, world units) as well as a single game (a service unit) to be traded.

제 1 아이템에 대한 거래 요청은, 제 1 아이템을 판매 또는 대여 하고자 하는 표시가 포함된 메시지의 형태일 수도 있거나 또는 블록체인 네트워크(400) 상에서 공유될 수 있는 트랜잭션의 형태일 수도 있다. 전자의 경우, 아이템 거래 서버(300)는 제 1 아이템에 대한 거래 요청 정보에 기초하여 스마트 컨트랙트 및 트랜잭션을 생성할 수 있다. 후자의 경우, 사용자 단말(100)에서 생성된 스마트 컨트랙트가 트랜잭션에 포함되어 아이템 거래소 서버(300)(또는 게임 서버(200))측으로 전달될 수 있다. 이러한 예시에서, 사용자 단말(100)은 블록체인 네트워크(400)에서 동작가능한 스마트 컨트랙트 및 트랜잭션을 생성할 수 있는 임의의 형태의 API를 포함할 수 있다. The transaction request for the first item may be in the form of a message containing an indication to sell or rent the first item, or in the form of a transaction that can be shared on the blockchain network 400. In the former case, the item transaction server 300 may generate smart contracts and transactions based on transaction request information for the first item. In the latter case, the smart contract generated in the user terminal 100 may be included in the transaction and delivered to the item exchange server 300 (or game server 200). In this example, the user terminal 100 may include any form of API capable of generating smart contracts and transactions operable in the blockchain network 400.

아이템 거래소 서버(300)는 제 1 아이템이 게임 서버(200) 내에서 관리되는 아이템 보관 공간으로 이동되도록 게임 서버(200)로 신호를 전송할 수 있다(420). 아이템 거래소 서버(300)는 제 1 아이템을 포함하는 트랜잭션을 블록체인 네트워크(400)로 발행하는 것으로 결정하는 경우, 게임 서버(200)로 해당 신호를 전달함으로써, 게임 서버(200) 내부에서 제 1 사용자의 인벤토리로부터 아이템 보관 공간으로 제 1 아이템이 이동될 수 있도록 허용할 수 있다. The item exchange server 300 may transmit a signal to the game server 200 so that the first item is moved to the item storage space managed in the game server 200 (420 ). When it is determined that the item exchange server 300 issues the transaction including the first item to the blockchain network 400, the corresponding item signal is transmitted to the game server 200, so that the item exchange server 300 is the first in the game server 200. The first item can be moved from the user's inventory to the item storage space.

본 개시내용의 일 실시예에 따라, 아이템 거래소 서버(300)는, 제 1 사용자로부터의 제 1 아이템에 대한 거래 요청에 포함된 거래 유형 정보 등과 같은 거래 조건 정보에 기초하여 블록체인 네트워크(400) 상에서 동작가능한 스마트 컨트랙트를 생성하고 그리고 스마트 컨트랙트가 포함된 트랜잭션을 블록체인 네트워크(400)로 발행할 수 있다(430). 예를 들어, 거래 유형 정보 또는 거래 조건 정보는, 자동 구매 예약 거래, 상한가 경매 거래, 대여 거래, 가격 지정 일반 거래, 광고 발생 거래 및 기부 발생 거래 중 적어도 하나를 포함할 수 있다. According to an embodiment of the present disclosure, the item exchange server 300 may block the network 400 based on transaction condition information, such as transaction type information included in a transaction request for a first item from a first user. A smart contract that can be operated on is generated and a transaction including the smart contract can be issued to the blockchain network 400 (430). For example, the transaction type information or transaction condition information may include at least one of an automatic purchase reservation transaction, an upper price auction transaction, a rental transaction, a general price designation transaction, an advertisement generation transaction, and a donation generation transaction.

아이템 거래소 서버(300)는 제 1 아이템의 소유주인 제 1 사용자로부터 아이템 거래소 서버(300)의 개인키 또는 게임 서버(200)의 개인키 또는 이와 상응하는 정보(예컨대, 게임 서버(200) 내에서의 제 1 아이템에 대한 식별 정보 등)를 수신할 수 있다. 수신된 정보에 기초하여 게임 아이템 서버(300)는 스마트 컨트랙트 및 트랜잭션을 생성할 수 있다. 수신된 정보는 트랜잭션의 입력 값(또는 입력 필드) 또는 출력 값(또는 출력 필드)에 기입될 수 있다. Item exchange server 300 from the first user, the owner of the first item, the private key of the item exchange server 300 or the private key of the game server 200 or the corresponding information (eg, within the game server 200) It can receive identification information, etc. for the first item of the. The game item server 300 may generate smart contracts and transactions based on the received information. The received information may be written in the input value (or input field) or output value (or output field) of the transaction.

추가적인 실시예에서, 게임 서버(200)는, 게임 서버(200) 내에서의 아이템 보관 공간과 대응되는 주소/어카운트를 갖는 블록체인 네트워크(400) 상에서의 일시적 아이템 수용 공간으로의 트랜잭션을 허용하기 위하여, 아이템 거래소 서버(300)로 게임 서버(200) 또는 제 1 사용자의 개인키 또는 이와 상응하는 정보(예컨대, 식별정보 등)를 전달할 수도 있다. 이러한 정보를 전달받은 아이템 거래소 서버(300)는, 게임 서버(200)로부터 전달받은 정보에 기초하여, 블록체인 네트워크(400) 상에서 동작가능한 스마트 컨트랙트를 생성하고 스마트 컨트랙트가 포함된 트랜잭션을 블록체인 네트워크(400)로 발행할 수도 있다. In a further embodiment, the game server 200 is configured to allow transactions to a temporary item accommodating space on the blockchain network 400 having an address/account corresponding to the item storage space in the game server 200. , The game server 200 or the first user's private key or the corresponding information (eg, identification information) may be transmitted to the item exchange server 300. The item exchange server 300 receiving the information generates a smart contract operable on the blockchain network 400 based on the information received from the game server 200 and blocks the transaction including the smart contract on the blockchain network. It can also be issued at 400.

추가적인 실시예로서, 아이템 거래소 서버(300)는 자신의 개인키 또는 이와 상응하는 정보를 사용하여 제 1 아이템의 거래를 수행하기 위한 스마트 컨트랙트 및 트랜잭션을 발행할 수 있다. 이러한 경우, 블록체인 네트워크(400)와의 인터랙션의 권한은 아이템 거래소 서버(300)가 가지고 있게 되며, 아이템 거래소 서버(300)는 블록체인 네트워크(400)와의 인터랙션을 수행하고 그 결과값을 게임 서버(200) 및/또는 사용자 단말(100)에 전달할 수 있다.As a further embodiment, the item exchange server 300 may issue a smart contract and a transaction for performing the transaction of the first item using its private key or corresponding information. In this case, the authority for interaction with the blockchain network 400 is held by the item exchange server 300, and the item exchange server 300 performs interaction with the blockchain network 400 and displays the resultant value of the game server ( 200) and/or the user terminal 100.

전술한 바와 같이, 아이템 거래소 서버(300)는 제 1 아이템을 아이템 거래를 수행하기 위하여, 상기 제 1 사용자, 아이템 거래소 서버(300) 및 게임 서버(200) 중 적어도 하나와 연관된 개인키(또는 이와 상응하는 임의의 형태의 암호화 정보)를 사용하여, 일시적 아이템 수용 공간과 연관된 블록체인 주소로 제 1 아이템을 이동시키기 위한 트랜잭션을 생성할 수 있다. 이러한 경우, 상기 트랜잭션은, 개인키로부터 생성된 서명 정보를 포함하는 트랜잭션 입력 값, 및 제 1 아이템에 대한 식별 정보 및 일시적 아이템 수용 공간과 연관된 블록체인 주소 정보를 포함하는 트랜잭션 출력 값을 포함할 수 있다. As described above, the item exchange server 300, in order to perform an item transaction on the first item, a private key (or the same) associated with at least one of the first user, the item exchange server 300 and the game server 200 Using the corresponding arbitrary form of encryption information), it is possible to create a transaction for moving the first item to the blockchain address associated with the temporary item accommodating space. In this case, the transaction may include a transaction input value including signature information generated from the private key, and a transaction output value including identification information for the first item and blockchain address information associated with the temporary item accommodation space. have.

본 명세서에서 블록체인 네트워크(400)상의 주소를 갖는 일시적 아이템 수용 공간은 게임 서버(200)의 일시적 아이템 보관 공간(예컨대, 게임 내에서의 금고, 공용 인벤토리, 아이템 거래용 인벤토리, 아이템 거래소)과 대응될 수 있다. 즉, 게임 서버(200)에서 구현되는 일시적 아이템 보관 공간에서 발생되는 게임 아이템에 대한 거래 이력들은 이와 대응되는 블록체인 네트워크에서의 일시적 아이템 수용 공간에 저장될 수 있기 때문에, 아이템 거래에 대한 신뢰성 및 무결성이 확보될 수 있다.In the present specification, the temporary item storage space having an address on the blockchain network 400 corresponds to the temporary item storage space of the game server 200 (eg, a safe in the game, a common inventory, an item trading inventory, an item exchange). Can be. That is, since the transaction histories for game items generated in the temporary item storage space implemented in the game server 200 can be stored in the temporary item accommodating space in the corresponding blockchain network, reliability and integrity of the item transaction This can be secured.

전술한 바와 같이, 아이템 거래소 서버(300)에 의해 생성된 스마트 컨트랙트는 블록에 포함되어 블록체인 네트워크(400)로 배포될 수 있다. 스마트 컨트랙트가 블록체인 네트워크(400)로 배포되는 경우, 상기 스마트 컨트랙트에 대응되는 컨트랙트 어카운트가 생성될 수 있다. 이러한 컨트랙트 어카운트는 게임 서버(200)의 아이템 보관 공간에 포함된 거래 정보 또는 거래 이력 정보를 저장할 수 있다. 추가적으로, 컨트랙트 어카운트가 이미 생성된 경우에는 새로운 컨트랙트 어카운트가 생성되지 않고, 기존 생성된 컨트랙트 어카운트에 해당 트랜잭션 및 스마트 컨트랙트가 기록될 수 있다.As described above, the smart contract generated by the item exchange server 300 may be included in a block and distributed to the blockchain network 400. When the smart contract is distributed to the blockchain network 400, a contract account corresponding to the smart contract may be generated. The contract account may store transaction information or transaction history information included in the item storage space of the game server 200. Additionally, if a contract account has already been created, a new contract account is not generated, and the corresponding transaction and smart contract can be recorded in the existing generated contract account.

또한, 스마트 컨트랙트가 블록체인 네트워크(400) 상에서의 컨트랙트 어카운트에 저장됨에 따라 상기 블록체인 네트워크(400) 상에서 제 1 아이템의 거래를 위한 절차가 수행될 수 있다. 예를 들어, 스마트 컨트랙트가 저장되는 컨트랙트 어카운트는: 아이템 거래를 위해 생성된 스마트 컨트랙트들의 개수, 및 아이템 거래를 위한 스마트 컨트랙트의 바이트 코드(byte code)에 대한 해시값을 포함할 수 있다. 또한, 상기 컨트랙트 어카운트의 주소는, 제 1 사용자, 게임 서버 및 아이템 거래소 서버 중 적어도 하나의 개인키 또는 이와 상응하는 암호화 정보에 적어도 부분적으로 기초하여 생성될 수 있다. 일례로, 컨트랙트 어카운트의 주소는 아이템 거래소 서버(300)의 개인키와 쌍을 이루는 공개키에 기초하여 생성될 수 있다.In addition, as the smart contract is stored in the contract account on the blockchain network 400, a procedure for the transaction of the first item may be performed on the blockchain network 400. For example, the contract account in which the smart contract is stored may include: the number of smart contracts generated for item trading, and a hash value for the byte code of the smart contract for item trading. In addition, the address of the contract account may be generated based at least in part on at least one private key of the first user, the game server, and the item exchange server or the corresponding encryption information. In one example, the address of the contract account may be generated based on the public key paired with the private key of the item exchange server 300.

일 실시예에서, 블록체인 네트워크(400)로 배포되는 블록은, 아이템 거래를 위한 스마트 컨트랙트 및 아이템 거래 이력 정보를 포함할 수 있다. 본 개시내용의 일 실시예에 따라, 블록체인 네트워크(400)로 배포되는 블록에 스마트 컨트랙트 및 아이템 거래 내역 정보만을 포함시키는 경우, 아이템 거래를 수행하는데 있어서 블록체인의 블록 사이즈를 최소화할 수 있기 때문에, 블록의 생성 시간 및 블록의 전파 시간을 감소시킬 수 있고 그리고 블록의 저장을 위한 컴퓨팅 자원 또한 줄일 수 있게 된다. In one embodiment, a block distributed to the blockchain network 400 may include smart contracts for item trading and item transaction history information. According to one embodiment of the present disclosure, when only the smart contract and item transaction history information are included in the block distributed to the blockchain network 400, the block size of the blockchain can be minimized in performing the item transaction. , It is possible to reduce the generation time of the block and the propagation time of the block, and also reduce the computing resources for storing the block.

또한, 스마트 컨트랙트는 복수의 노드들에 의한 합의 알고리즘에 기초하여 블록체인 네트워크(400)로 배포되며, 여기서의 복수의 노드들은, 하나 이상의 외부 컴퓨팅 장치들, 하나 이상의 사용자 단말, 하나 이상의 게임 서버 및 하나 이상의 아이템 거래소 서버 중 적어도 둘을 포함할 수 있다. In addition, smart contracts are distributed to the blockchain network 400 based on a consensus algorithm by a plurality of nodes, where the plurality of nodes includes one or more external computing devices, one or more user terminals, one or more game servers, and It may include at least two of one or more item exchange servers.

본 개시내용의 일 실시예에서, 아이템 거래소 서버(300)가 Off-chain으로 동작하는 경우, 외부 블록체인 네트워크와 인터랙션을 수행하면서 아이템 거래 절차를 진행할 수 있다. 또한, 아이템 거래소 서버(300)가 On-chain으로 동작하는 경우, 아이템 거래소 서버(300) 내부에 블록체인 네트워크(400)가 포함될 수 있다.In an embodiment of the present disclosure, when the item exchange server 300 operates in an off-chain, an item trading procedure may be performed while interacting with an external blockchain network. In addition, when the item exchange server 300 operates on-chain, the blockchain network 400 may be included in the item exchange server 300.

아이템 거래소 서버(300)는 블록체인 네트워크(400)로의 트랜잭션 발행 이후에, 제 1 아이템을 거래하고자 하는 제 2 사용자로부터의 제 1 아이템에 대한 거래 요청을 수신할 수 있다(440). 일 실시예에서, 아이템 거래소 서버(300)는 제 1 아이템이 거래대상이 된다는 것을 확인한 제 2 사용자로부터 제 1 아이템에 대한 구매 요청을 수신할 수 있다. 예를 들어, 아이템 거래소 서버(300)는 제 2 사용자의 사용자 단말(100)로부터 직접적으로 제 1 아이템에 대한 거래 요청(예컨대, 구매 요청 또는 대여 요청)을 수신할 수 있다. 다른 예시로, 제 2 사용자의 사용자 단말(100)이 게임 서버(200)로 제 1 아이템에 대한 구매 요청을 전달한 이후에, 아이템 거래소 서버(300)는 게임 서버(200)로부터 제 2 사용자로부터의 제 1 아이템에 대한 구매 요청이 이루어졌다는 신호를 수신할 수도 있다. After issuing a transaction to the blockchain network 400, the item exchange server 300 may receive a transaction request for a first item from a second user who wants to trade the first item (440 ). In one embodiment, the item exchange server 300 may receive a purchase request for a first item from a second user who confirms that the first item is a transaction target. For example, the item exchange server 300 may receive a transaction request (eg, a purchase request or a rental request) for the first item directly from the user terminal 100 of the second user. As another example, after the user terminal 100 of the second user transmits a purchase request for the first item to the game server 200, the item exchange server 300 receives from the second user from the game server 200. A signal that a purchase request for the first item has been made may be received.

일 실시예에서, 제 2 사용자로부터의 제 1 아이템에 대한 구매 요청은, 제 1 아이템을 구매하고자 하는 표시가 포함된 메시지의 형태일 수도 있거나, 또는 블록체인 네트워크(400) 상에서 동작될 수 있는 트랜잭션의 형태일 수도 있다. In one embodiment, a purchase request for a first item from a second user may be in the form of a message containing an indication to purchase the first item, or a transaction that may be operated on the blockchain network 400 It may be in the form of.

전자의 경우, 구매하고자 하는 표시에 기초하여 제 2 사용자의 개인키, 또는 아이템 거래소 서버(300)의 개인키 또는 게임 서버(200)의 개인키, 또는 이와 상응하는 임의의 암호화 정보를 사용하여, 아이템 거래소 서버(300)는 블록체인 네트워크(400)로 발행할 트랜잭션을 생성할 수 있다.In the former case, using the private key of the second user, the private key of the item exchange server 300 or the private key of the game server 200, or any corresponding encryption information based on the indication to be purchased, The item exchange server 300 may generate a transaction to be issued to the blockchain network 400.

후자의 경우, 사용자 단말(100)에서 생성된 트랜잭션에 포함되어 아이템 거래소 서버(300)측으로 전달될 수 있다. 이러한 예시에서, 사용자 단말(100)은 블록체인 네트워크(400)에서 동작가능한 트랜잭션을 생성할 수 있는 임의의 형태의 API를 포함할 수 있으며, 그리고 아이템 거래소 서버(300)는 제 2 사용자의 사용자 단말(100)에서 생성된 아이템 거래를 수행하기 위한 트랜잭션을 블록체인 네트워크(400)로 전달하는 역할을 수행할 수 있다. In the latter case, it may be included in the transaction generated by the user terminal 100 and delivered to the item exchange server 300 side. In this example, the user terminal 100 may include any type of API capable of creating an actionable transaction in the blockchain network 400, and the item exchange server 300 is the user terminal of the second user It may serve to deliver a transaction for performing the item transaction generated at 100 to the blockchain network 400.

추가적인 실시예로서, 제 2 사용자의 사용자 단말(100)이 블록체인 네트워크(400)로 직접 트랜잭션을 발행할 수도 있으며, 이 경우에 아이템 거래소 서버(300)는 블록체인 네트워크(400)와의 인터랙션을 통하여 트랜잭션의 발행 사실을 인지할 수 있다.As an additional embodiment, the user terminal 100 of the second user may issue a transaction directly to the blockchain network 400, in which case the item exchange server 300 interacts with the blockchain network 400. You can recognize the fact that the transaction is issued.

본 개시내용의 일 실시예에서, 아이템 거래소 서버(300)는 제 2 사용자로부터의 구매 요청이 포함된 트랜잭션을 생성하여 블록체인 네트워크(400)로 발행할 수 있다(450). 이러한 트랜잭션에 의해서, 단계 430에 의해서 블록체인 네트워크(400)에 사전저장된 스마트 컨트랙트가 호출될 수 있다. 일례로, 아이템 거래소 서버(300)는 제 2 사용자로부터 제 1 아이템의 구매를 원한다는 표시가 포함된 신호를 수신한 이후에, 상기 신호가 제 1 사용자가 제시한 구매 조건을 만족하는지 여부를 확인한 후, 만족되는 경우 스마트 컨트랙트를 호출하기 위한 트랜잭션을 생성할 수 있다. 다른 예시로, 아이템 거래소 서버(300)는 제 2 사용자에 의해 생성된 트랜잭션을 블록체인 네트워크(400)로 전달할 수도 있다. 다른 예시로, 아이템 거래소 서버(300)는, 제 2 사용자로부터의 제 1 아이템의 구매를 원한다는 표시가 포함된 신호를 블록체인 네트워크(400) 상에서 동작가능한 트랜잭션 형태로 변환할 수도 있다.In one embodiment of the present disclosure, the item exchange server 300 may generate a transaction including a purchase request from a second user and issue it to the blockchain network 400 (450 ). By such a transaction, a smart contract pre-stored in the blockchain network 400 may be called by step 430. As an example, after receiving the signal including the indication that the second user wants to purchase the first item from the second user, the item exchange server 300 checks whether the signal satisfies the purchasing condition suggested by the first user. , If satisfied, a transaction to call a smart contract can be created. As another example, the item exchange server 300 may deliver the transaction generated by the second user to the blockchain network 400. As another example, the item exchange server 300 may convert a signal including an indication that you want to purchase a first item from a second user into a form of a transaction operable on the blockchain network 400.

도 4에서는 도시되지 않았지만, 추가적인 실시예로서, 아이템 거래소 서버(300)는 제 2 사용자로부터의 구매 요청이 수신되었음을 게임 서버(200) 또는 제 1 사용자의 사용자 단말(100)로 전달할 수도 있다. 이 경우, 제 1 사용자로부터의 거래 승인 메시지를 수신하는 것에 응답하여, 아이템 거래소 서버(300)는 블록체인 네트워크(400)로 스마트 컨트랙트를 호출하기 위한 제 2 사용자와 관련된 트랜잭션을 발행할 수 있다. 만약, 제 1 사용자로부터의 거래 승인 메시지를 수신하지 못하는 경우, 아이템 거래소 서버(300)는 제 2 사용자의 사용자 단말로 거래 승인이 이루어지지 않음을 통보하고 블록체인 네트워크(400)로의 별도의 트랜잭션을 발행하지 않을 수도 있다.Although not shown in FIG. 4, as an additional embodiment, the item exchange server 300 may deliver the game server 200 or the first user's user terminal 100 that a purchase request from the second user has been received. In this case, in response to receiving the transaction approval message from the first user, the item exchange server 300 may issue a transaction related to the second user to call the smart contract to the blockchain network 400. If the transaction approval message from the first user is not received, the item exchange server 300 informs the user terminal of the second user that the transaction is not approved and sends a separate transaction to the blockchain network 400. It may not be issued.

도 4에서는 도시되지 않았지만, 추가적인 실시예로서, 블록체인 네트워크(400)에 저장된 스마트 컨트랙트가 실행됨에 따라, 제 2 사용자로부터의 구매 요청이 수신되었다는 메시지가 제 1 사용자의 사용자 단말로 전달될 수도 있다. 이 경우, 제 1 사용자로부터의 거래 승인 메시지가 별도의 트랜잭션의 형태로 블록체인 네트워크(400)로 발행됨에 따라, 스마트 컨트랙트는 거래 진행 절차를 수행할 수 있다. 만약, 제 1 사용자로부터의 거래 승인 메시지가 별도의 트랜잭션의 형태로 블록체인 네트워크(400)로 발행되지 않는 경우, 스마트 컨트랙트는 거래 진행 절차를 실행하지 않고, 제 2 사용자의 사용자 단말 또는 게임 서버(200) 또는 아이템 거래소 서버(300)로 거래가 이루어지지 않았다는 내용의 통지를 전달하는 방식으로 실행될 수 있다. Although not shown in FIG. 4, as an additional embodiment, as the smart contract stored in the blockchain network 400 is executed, a message that a purchase request from a second user has been received may be delivered to the user terminal of the first user. . In this case, as the transaction approval message from the first user is issued to the blockchain network 400 in the form of a separate transaction, the smart contract may perform a transaction proceeding procedure. If the transaction approval message from the first user is not issued to the blockchain network 400 in the form of a separate transaction, the smart contract does not execute the transaction process, and the user terminal or game server of the second user ( 200) or the item exchange server 300 may be executed by delivering a notification that the transaction has not been made.

본 개시내용의 일 실시예에서, 아이템 거래소 서버(300)는, 아이템 거래를 위한 스마트 컨트랙트가 실행됨에 따라, 제 1 사용자의 어카운트 및 제 2 사용자의 어카운트 간의 거래 금액에 대한 정산 절차가 진행되는 경우, 게임 서버(200) 내에서 제 1 아이템을 일시적 아이템 보관 공간으로부터 제 2 사용자의 인벤토리로 이동하는 것을 허용하기 위하여 게임 서버(200)로 신호를 전송할 수 있다(460). 예를 들어, 게임 서버(200)는, 블록체인 네트워크(400)로부터 또는 아이템 거래소 서버(300)로부터 스마트 컨트랙트가 실행됨에 따라 제 1 사용자와 제 2 사용자 간의 아이템 거래가 수행되었다는 내용을 아이템 거래소 서버(300)로부터 전달받는 경우, 게임 내에서 일시적 아이템 보관 공간으로 옮겨진 제 1 아이템을 제 2 사용자의 게임 내 인벤토리로 이동할 것을 결정할 수 있다. In an embodiment of the present disclosure, when the item exchange server 300 executes a smart contract for trading an item, a settlement procedure for a transaction amount between the account of the first user and the account of the second user is performed , In order to allow the first item in the game server 200 to be moved from the temporary item storage space to the second user's inventory, a signal may be transmitted to the game server 200 (460 ). For example, the game server 200, the item exchange server (1) the item exchange between the first user and the second user as the smart contract is executed from the blockchain network 400 or the item exchange server 300, the item exchange server ( 300), it may be determined that the first item moved to the temporary item storage space in the game is moved to the second user's in-game inventory.

블록체인 네트워크(400)가 게임 서버(200) 외부에 존재하는 경우, 게임 서버(200)는 블록체인 네트워크(400)에서 발생된 거래 이력 정보를 블록체인 네트워크(400) 또는 아이템 거래소 서버(300)로부터 수신/획득하여, 게임 서버(200) 내에 해당 정보를 반영할 수 있다. 이에 따라, 게임 서버(200)의 아이템 보관 공간에서의 아이템 거래 이력 정보와 블록체인 네트워크(400)에서의 일시적 아이템 수용 공간에서의 아이템 거래 이력 정보가 연동될 수 있다. 추가적으로, 게임 서버(200)의 아이템 보관 공간과 블록체인 네트워크(400) 상에서의 아이템 수용 공간 간의 정보의 차이가 발생되는 경우, 블록체인 네트워크(400) 상에서의 아이템 수용 공간에 정보를 우선순위로 하는 것으로 결정될 수 있다. 이에 따라, 블록체인 네트워크(400) 상에서의 아이템 수용 공간에 기록된 아이템 거래 이력 정보로 게임 서버(200)에서의 아이템 보관 공간에 기록된 아이템 거래 이력 정보가 업데이트될 수 있다. 이러한 방식으로, 블록체인 네트워크(400) 상에서의 무결성 있는 아이템 거래 이력이 게임 서버(200) 내로 반영될 수 있다.When the blockchain network 400 exists outside the game server 200, the game server 200 displays the transaction history information generated in the blockchain network 400 in the blockchain network 400 or item exchange server 300. It can be received/acquired from, and the corresponding information can be reflected in the game server 200. Accordingly, the item transaction history information in the item storage space of the game server 200 and the item transaction history information in the temporary item accommodation space in the blockchain network 400 may be interlocked. Additionally, when a difference in information between the item storage space of the game server 200 and the item storage space on the blockchain network 400 occurs, the priority is given to the item storage space on the blockchain network 400. It can be determined. Accordingly, the item transaction history information recorded in the item storage space in the game server 200 may be updated with the item transaction history information recorded in the item accommodation space on the blockchain network 400. In this way, the history of the transaction of integrity items on the blockchain network 400 may be reflected into the game server 200.

블록체인 네트워크(400)가 아이템 거래소 서버(300) 내부에 존재하는 경우(즉, 아이템 거래소 서버(300)가 블록체인 네트워크(400)를 관리하는 경우), 아이템 거래소 서버(300)는 내부 통신을 통하여 블록체인 네트워크(400)에서 업데이트/변경된 아이템 거래 이력들을 게임 서버(200)로 전달할 수 있다.When the blockchain network 400 exists inside the item exchange server 300 (that is, when the item exchange server 300 manages the blockchain network 400), the item exchange server 300 performs internal communication. Through this, the updated/changed item transaction history in the blockchain network 400 may be transmitted to the game server 200.

추가적으로, 제 1 사용자가 제 1 아이템에 대한 판매를 취소한 경우 또는 제 2 사용자로 상기 제 1 아이템에 대한 소유권이 성공적으로 이전한 경우, 아이템 거래소 서버(300)는, 게임 서버(200)가 제 1 아이템을 일시적 아이템 보관 공간으로부터 다른 위치(제 1 사용자 또는 제 2 사용자의 게임 내 인벤토리)로 이동시키도록 하기 위한 신호를 게임 서버(200)에 보낼 수 있다. 이에 따라, 아이템 거래소 서버(300)는 제 1 아이템을 게임 내에서 사용가능한 상태로 복귀시키도록 허용할 수 있다.Additionally, if the first user cancels the sale of the first item, or if the ownership of the first item is successfully transferred to the second user, the item exchange server 300 is provided by the game server 200. A signal for moving the 1 item from the temporary item storage space to another location (the in-game inventory of the first user or the second user) may be sent to the game server 200. Accordingly, the item exchange server 300 may allow the first item to be returned to a usable state in the game.

일 실시예에서, 제 1 사용자와 제 2 사용자 간의 아이템 거래에 대한 정산 절차는, 게임 서버(200) 또는 아이템 거래소 서버(300)에 의해 수행될 수 있거나 또는 블록체인 네트워크(400) 자체에서 스마트 컨트랙트의 실행에 따라 수행될 수도 있다. 예를 들어, 제 1 사용자로부터 상기 제 1 아이템을 구매하고자 하는 제 2 사용자로 상기 제 1 아이템의 소유권을 변경하는 경우, 제 2 사용자와 관련된 제 2 외부 소유 어카운트로부터 상기 제 1 사용자와 관련된 제 1 외부 소유 어카운트로 상기 제 1 아이템의 거래 비용의 적어도 일부를 전달하기 위한 트랜잭션 또는 메시지를 블록체인 네트워크 상에서 발생시키는 절차가 수행될 수 있다. 이러한 절차를 통해서, 블록체인 네트워크(400) 상에서 제 1 아이템에 대한 소유권 변경 이력 정보가 공유될 수 있으며, 스마트 컨트랙트를 통하여 제 1 아이템에 대한 거래로 인해 수반되는 거래 비용에 대한 정산이 자동적으로 이루어질 수 있다.In one embodiment, the settlement procedure for the item transaction between the first user and the second user may be performed by the game server 200 or the item exchange server 300 or the smart contract in the blockchain network 400 itself It may be performed according to the execution of. For example, when changing ownership of the first item from a first user to a second user who wants to purchase the first item, a first associated with the first user from a second externally owned account associated with the second user A procedure for generating a transaction or message on the blockchain network to deliver at least a portion of the transaction cost of the first item to an externally owned account may be performed. Through this procedure, the ownership change history information for the first item can be shared on the blockchain network 400, and settlement of the transaction cost accompanying the transaction for the first item is automatically performed through the smart contract. Can.

[도 5 설명][Description of Fig. 5]

도 5는 본 개시내용의 일 실시예에 따라 블록체인 네트워크(400)에서의 컴퓨팅 장치에서 수행되는 아이템 거래 방식을 예시적으로 도시한다.5 exemplarily illustrates an item transaction method performed on a computing device in the blockchain network 400 according to an embodiment of the present disclosure.

도 5는 블록체인 네트워크(400)를 구성하는 노드로서 동작하는 컴퓨팅 장치에서 수행되는 아이템 거래 방식을 예시적으로 도시하며, 상기 컴퓨팅 장치는 게임 서버(200), 아이템 거래소 서버(300), 사용자 단말(100) 및/또는 외부 컴퓨팅 장치를 의미할 수 있다.5 exemplarily illustrates an item transaction method performed on a computing device operating as a node constituting the blockchain network 400, wherein the computing device is a game server 200, an item exchange server 300, and a user terminal 100 and/or an external computing device.

컴퓨팅 장치는 제 1 사용자로부터의 게임 내에서 플레이가능한 제 1 아이템에 대한 거래 요청에 대응되는 스마트 컨트랙트가 포함된 제 1 트랜잭션을 수신할 수 있다(510). 상기 스마트 컨트랙트는, 제 1 아이템의 거래를 블록체인 네트워크 상(400)에서 실행하기 위한, 블록체인 네트워크(400) 상에서 동작가능한 스마트 컨트랙트를 의미할 수 있다.The computing device may receive (510) a first transaction including a smart contract corresponding to a transaction request for a first item playable in the game from the first user. The smart contract may mean a smart contract operable on the blockchain network 400 to execute the transaction of the first item on the blockchain network 400.

본 개시내용의 일 실시예에 따라 무결성 및 안정성이 보장되고 사용자 편의성이 극대화된 방식으로 게임 아이템을 거래하기 위한 스마트 컨트랙트는 다음과 같은 서브 컨트랙트들(또는 함수들)을 포함할 수 있다. A smart contract for trading game items in a manner in which integrity and stability are guaranteed and user convenience is maximized according to an embodiment of the present disclosure may include the following sub-contracts (or functions).

상기 스마트 컨트랙트는, 제 1 아이템의 소유권이 아이템 거래를 요청한 제 1 사용자에게 있는 것을 보장하면서, 아이템 거래를 위해 상기 제 1 아이템을 블록체인 네트워크(400) 내에서의 일시적 아이템 수용 공간으로 이동시키는 제 1 서브 컨트랙트를 포함할 수 있다. 또한, 제 1 서브 컨트랙트는, 제 1 아이템이 일시적 아이템 수용 공간으로 이동된 경우, 상기 제 1 아이템이 게임 내에서 사용가능하지 않은 상태로 변경되도록 하기 위한 신호를 생성할 수 있다.The smart contract is configured to move the first item to a temporary item accommodating space in the blockchain network 400 for the item transaction, while ensuring that the ownership of the first item belongs to the first user who requested the item transaction. It may include one sub-contract. In addition, the first sub-contract may generate a signal for causing the first item to change to a state that is not usable in the game when the first item is moved to the temporary item receiving space.

본 개시내용의 일 실시예에서, 스마트 컨트랙트는, 제 1 아이템을 구매하고자 하는 제 2 사용자로부터의 제 1 아이템에 대한 구매 요청에 응답하여 상기 제 1 아이템의 거래 조건의 만족 여부를 판단하고, 그리고 제 1 아이템의 거래 조건이 만족되는 경우, 제 1 아이템의 소유권을 제 1 사용자로부터 제 2 사용자로 변경시키는 제 2 서브 컨트랙트를 포함할 수 있다. 상기 제 2 서브 컨트랙트가 실행되는 경우, 블록체인 네트워크(400) 상에서 제 1 아이템에 대한 소유권자가 제 1 사용자로부터 제 2 사용자로 변경되어 기록될 수 있다.In one embodiment of the present disclosure, the smart contract determines whether the transaction condition of the first item is satisfied in response to a purchase request for the first item from a second user who wants to purchase the first item, and When the transaction condition of the first item is satisfied, a second sub-contract that changes ownership of the first item from the first user to the second user may be included. When the second sub-contract is executed, the owner of the first item on the blockchain network 400 may be changed and recorded from the first user to the second user.

본 개시내용의 일 실시예에서, 스마트 컨트랙트는, 제 1 사용자로부터 제 1 아이템을 구매하고자 하는 제 2 사용자로 상기 제 1 아이템의 소유권을 변경하는 경우, 제 2 사용자와 관련된 제 2 외부 소유 어카운트(또는 제 2 사용자와 관련된 지갑)로부터 제 1 사용자와 관련된 제 1 외부 소유 어카운트(또는 제 1 사용자와 관련된 지갑)로 제 1 아이템의 거래 비용의 적어도 일부를 전달하기 위한 트랜잭션을 블록체인 네트워크 상에서 발생시키는 제 3 서브 컨트랙트를 포함할 수 있다. In one embodiment of the present disclosure, the smart contract, when changing the ownership of the first item from the first user to the second user who wants to purchase the first item, the second externally owned account associated with the second user ( Or generating a transaction on the blockchain network to transfer at least a portion of the transaction cost of the first item from the wallet associated with the second user) to the first externally owned account associated with the first user (or wallet associated with the first user). It may include a third sub-contract.

추가적으로, 제 3 서브 컨트랙트는, 제 1 아이템의 소유권을 변경하는 경우, 거래 비용에 대한 정산 정보를 게임 서버(200) 또는 아이템 거래소 서버(300)에 통지할 수도 있다. 이 경우, 통지된 정보에 기초하여 실제 거래 비용은 게임 서버(200) 또는 아이템 거래소 서버(300)에 의해 정산되어 사용자에게 정산된 금액이 지급될 수도 있다. 이러한 실시예의 경우, 사용자는 별도의 블록체인 네트워크(400) 상에서의 지갑(wallet)과 같은 컴포넌트들을 구비하지 않아도 되며, 게임 서버(200) 또는 아이템 거래소 서버(300)로 입출금이 이루어지게 된다.Additionally, when the ownership of the first item is changed, the third sub-contract may notify the game server 200 or the item exchange server 300 of settlement information regarding the transaction cost. In this case, based on the notified information, the actual transaction cost may be settled by the game server 200 or the item exchange server 300 and the settlement amount may be paid to the user. In this embodiment, the user does not need to have components such as wallets on a separate blockchain network 400, and deposits and withdrawals are made to the game server 200 or the item exchange server 300.

본 개시내용의 일 실시예에서, 스마트 컨트랙트는, 제 1 사용자가 제 1 아이템에 대한 판매를 취소한 경우 또는 제 2 사용자로 상기 제 1 아이템에 대한 소유권이 성공적으로 이전한 경우, 제 1 아이템을 상기 일시적 아이템 수용 공간으로부터 다른 위치로 이동시킴으로써 상기 제 1 아이템을 게임 내에서 사용가능한 상태로 복귀시키도록 허용하는 제 4 서브 컨트랙트를 포함할 수 있다. 예를 들어, 제 4 서브 컨트랙트는, 제 1 사용자가 제 1 아이템의 판매를 취소하기 위한 트랜잭션을 발행시킴에 따라 호출되는 경우, 제 1 아이템을 블록체인 네트워크(400) 내에서의 일시적 아이템 수용 공간의 주소로부터 제 1 사용자의 주소로 이동시키기 위한 트랜잭션 또는 메시지를 생성하여 블록체인 네트워크(400)에 발행할 수 있다.In one embodiment of the present disclosure, the smart contract transfers the first item when the first user cancels the sale of the first item or when ownership of the first item is successfully transferred to the second user. And a fourth sub-contract that allows the first item to be returned to a usable state in the game by moving from the temporary item receiving space to another location. For example, when the fourth sub-contract is called as the first user issues a transaction for canceling the sale of the first item, the space for receiving the temporary item within the blockchain network 400 is the first item. It is possible to generate a transaction or message for moving from the address of the first user to the address of the first user and issue it to the blockchain network 400.

본 개시내용의 일 실시예에 따라, 스마트 컨트랙트는 제 2 사용자로 제 1 아이템에 대한 소유권이 이전되는 경우, 제 1 아이템의 판매 금액 중 적어도 일부를 기부금 수령을 위한 사전결정된 외부 소유 어카운트로 전달하기 위한 트랜잭션을 블록체인 네트워크 상에서 발생시키는 제 5 서브 컨트랙트를 포함할 수 있다. 본 개시내용의 일 실시예에 따라, 제 1 사용자가 아이템 거래 금액의 적어도 일부를 기부금으로 사용하고자 하는 요청을 발행한 경우 또는 게임 서버(200)(아이템 거래소 서버(300))의 정책에 따라 아이템 거래 금액의 적어도 일부를 기부금으로 사용하고자 하는 경우, 해당 기부금으로 지급될 금액(또는 비율) 정보 및 기부금을 수령할 블록체인 네트워크(400) 상에서의 어카운트 또는 주소가 스마트 컨트랙트에 기록될 수 있다. 따라서, 제 5 서브 컨트랙트는 스마트 컨트랙트에 기록된 기부금 관련 정보에 따라 실행될 수 있다. According to an embodiment of the present disclosure, when the ownership of the first item is transferred to the second user, the smart contract transfers at least a portion of the sales amount of the first item to a predetermined externally owned account for receiving a donation. It may include a fifth sub-contract that generates a transaction for the blockchain network. According to an embodiment of the present disclosure, when a first user issues a request to use at least a portion of an item transaction amount as a donation, or according to a policy of the game server 200 (item exchange server 300) When at least a part of the transaction amount is to be used as a donation, the amount (or ratio) information to be paid as the donation and an account or address on the blockchain network 400 to receive the donation may be recorded in the smart contract. Therefore, the fifth sub-contract can be executed according to the donation-related information recorded in the smart contract.

추가적인 실시예에서, 제 5 서브 컨트랙트는, 예컨대 블록을 생성하는데 발생되는 수수료 및/또는 채굴 노드로 지급되는 리워드 등과 같이, 블록체인 네트워크(400)를 운영하기 위해 수반될 수 있는 비용의 적어도 일부를 기부금으로 사용할 것을 결정할 수도 있다. 이에 따라서, 블록을 생성하는데 발생되는 수수료 비용 중 적어도 일부는 제 5 서브 컨트랙트가 실행됨에 따라 자동적으로 사전결정된 기부금 수령 어카운트 또는 주소로 지급될 수 있으며, 제 5 서브 컨트랙트는 이러한 지급을 위한 트랜잭션 또는 메시지를 생성할 수 있다.In a further embodiment, the fifth sub-contract includes at least a portion of the costs that may be involved in operating the blockchain network 400, such as fees incurred in creating blocks and/or rewards paid to mining nodes. You may decide to use it as a donation. Accordingly, at least some of the fee costs incurred in creating the block can be automatically paid to a predetermined donation receiving account or address as the fifth sub-contract is executed, and the fifth sub-contract is a transaction or message for such payment. Can generate

기부금 수령을 위한 사전결정된 외부 소유 어카운트로 기부금의 전달이 완료된 경우, 기부금을 수령한 외부 소유 어카운트의 잔액(balance) 정보가 블록체인 네트워크(400)에 저장될 수 있다. 예를 들어, 잔액 정보는 기부금을 수령한 외부 소유 어카운트에 기록될 수 있다. When the transfer of the donation to the predetermined externally owned account for receiving the donation is completed, the balance information of the externally owned account that received the donation may be stored in the blockchain network 400. For example, balance information can be recorded in an externally owned account that received the donation.

다른 예시로, 잔액 정보는, UTXO(Unspent Transaction Output) 방식에 기초하여, 외부 소유 어카운트가 아닌 블록체인 네트워크(400) 상에서의 UTXO를 관리하기 위한 DB에 저장될 수도 있다. 이러한 경우, UTXO DB로의 검색을 통해 잔액 정보는 UTXO의 총합으로 확인될 수 있다.As another example, the balance information may be stored in a DB for managing UTXO on the blockchain network 400 rather than an externally owned account based on the UTXO (Unspent Transaction Output) method. In this case, the balance information may be confirmed as the sum of UTXO through a search to the UTXO DB.

본 개시내용의 일 실시예에서, 제 1 아이템의 판매 금액 중 적어도 일부 또는 블록체인 네트워크로의 수수료 중 적어도 일부가 게임 내 사용가능한 코인 또는 게임 내에서의 특정 자산으로 대체될 수도 있다. 예를 들어, 제 1 아이템의 판매 금액 중 적어도 일부 또는 블록체인 네트워크로의 수수료 중 적어도 일부는, 제 1 아이템이 속하는 게임 내에서의 특정 이벤트(예컨대, 토너먼트 등)에 대한 상금 등으로 사용될 수도 있다. 다른 예시로, 제 1 아이템의 판매 금액 중 적어도 일부 또는 블록체인 네트워크로의 수수료 중 적어도 일부는, 제 1 아이템의 판매자 또는 구매자의 게임 내 캐릭터 등의 능력치로 대체될 수도 있다.In one embodiment of the present disclosure, at least a portion of the sale price of the first item or at least a portion of the fee to the blockchain network may be replaced with coins available in the game or specific assets in the game. For example, at least a portion of the sale price of the first item or at least a portion of the fee to the blockchain network may be used as a prize for a specific event (eg, tournament, etc.) in the game to which the first item belongs . As another example, at least a portion of the sale price of the first item or at least a portion of the fee to the blockchain network may be replaced with stats of the first item's seller or buyer's in-game character.

도 5에서 컴퓨팅 장치는 블록체인 네트워크(400)로 발행된 제 1 트랜잭션을 검증하고 그리고 사전결정된 합의 알고리즘에 따라 생성된 제 1 블록에 제 1 트랜잭션을 포함시킬 수 있다(520). 이에 따라, 블록체인 네트워크(400)에서 제 1 블록이 공유될 수 있다. 제 1 트랜잭션에 대한 검증은, 예를 들어, 제 1 트랜잭션을 발행한 주체가 제 1 아이템의 소유권을 가지고 있는지 여부 등과 같은 정보에 기초하여 수행될 수 있다. In FIG. 5, the computing device may verify the first transaction issued to the blockchain network 400 and include the first transaction in the first block generated according to the predetermined consensus algorithm (520 ). Accordingly, the first block may be shared in the blockchain network 400. The verification for the first transaction may be performed based on information such as whether the subject who issued the first transaction has ownership of the first item, for example.

또한, 이러한 제 1 트랜잭션에 대한 검증은 제 1 트랜잭션의 입력 값에 포함된 개인키 정보 및 상기 개인키와 쌍을 이루는 공개키 정보에 기초하여 수행될 수 있다. 예를 들어, 제 1 사용자의 제 1 아이템에 대한 거래를 요청하는 내용이 포함된 제 1 트랜잭션의 경우, 제 1 사용자의 개인키 또는 게임 서버(아이템 거래소 서버)의 개인키 또는 제 1 아이템에 할당된 개인키로 서명이 이루어질 수 있다. 이러한 개인키의 서명 정보와 상기 개인키와 대응되는 공개키의 정보를 이용함으로써(예컨대, 개인키를 사전결정된 해시 함수(예컨대, 타원곡선 곱셈함수)를 통과시켜 나온 해시값과 공개키 값을 비교함으로써), 제 1 트랜잭션의 검증이 컴퓨팅 장치에서 이루어질 수 있다. 이러한 공개키 기반 구조(PKI)를 이용함으로써, 트랜잭션을 발행한 주체 또는 아이템의 소유주가 누구인지가 검증될 수 있다.In addition, verification of the first transaction may be performed based on the private key information included in the input value of the first transaction and public key information paired with the private key. For example, in the case of a first transaction that includes a request for a transaction for the first item of the first user, the first key is assigned to the private key of the first user or the private key of the game server (item exchange server) or the first item The signature can be made with the private key. By using the signature information of the private key and the information of the public key corresponding to the private key (for example, the private key is compared with the hash value generated by passing a predetermined hash function (eg, elliptic curve multiplication function) and the public key value) By doing so), verification of the first transaction can be done at the computing device. By using such a public key infrastructure (PKI), it can be verified who owns the subject or item that issued the transaction.

또한, 컴퓨팅 장치는 검증이 완료된 트랜잭션을 자신의 로컬 저장소에 위치한 트랜잭션 풀에 저장할 수 있다. 더불어, 컴퓨팅 장치는 자신의 로컬 저장소에 위치한 트랜잭션 풀에 저장된 트랜잭션들을 담을 블록을 생성하기 위한 합의 알고리즘을 실행할 수 있다. 합의 알고리즘에 따라서 생성된 블록에 해당 트랜잭션이 포함될 수 있으며, 상기 생성된 블록은 블록체인 네트워크(400) 내에서 공유될 수 있다. 또한, 일 실시예에서, 블록체인 네트워크로 배포되는 블록은, 아이템 거래를 수행하기 위한 스마트 컨트랙트 및 아이템 거래 이력 정보를 포함할 수 있어서, 블록의 크기가 줄어들게 되고 이에 따라 합의 시간 및 컴퓨팅 리소스 사용량이 줄어들 수 있다. In addition, the computing device may store the verified transaction in a transaction pool located in its local storage. In addition, the computing device can execute a consensus algorithm to create a block to contain transactions stored in a transaction pool located in its local storage. A corresponding transaction may be included in the generated block according to the consensus algorithm, and the generated block may be shared within the blockchain network 400. In addition, in one embodiment, blocks distributed to the blockchain network may include smart contracts and item transaction history information for performing item transactions, thereby reducing the size of blocks and consensus time and computing resource usage accordingly. Can be reduced.

전술한 방식으로 스마트 컨트랙트가 블록에 포함되어 블록체인 네트워크(400)로 배포될 수 있다. 또한, 스마트 컨트랙트가 블록체인 네트워크(400)로 배포되는 경우, 상기 스마트 컨트랙트에 대응되는 컨트랙트 어카운트가 블록체인 네트워크(400) 내에서 생성될 수 있다. 예를 들어, 스마트 컨트랙트가 저장되는 컨트랙트 어카운트는, 아이템 거래를 위해 생성된 스마트 컨트랙트들의 개수, 및 상기 아이템 거래를 위한 스마트 컨트랙트의 바이트 코드에 대한 해시값을 포함할 수 있으며, 컨트랙트 어카운트의 주소값은, 제 1 사용자, 게임 서버 및 아이템 거래소 서버 중 적어도 하나의 개인키에 적어도 부분적으로 기초하여 생성될 수 있다. 따라서, 스마트 컨트랙트가 블록체인 네트워크 상에서의 컨트랙트 어카운트에 저장됨에 따라 상기 블록체인 네트워크 상에서 제 1 아이템에 대한 거래가 수행될 수 있다.In the manner described above, smart contracts may be included in blocks and distributed to the blockchain network 400. In addition, when the smart contract is distributed to the blockchain network 400, a contract account corresponding to the smart contract may be generated in the blockchain network 400. For example, the contract account in which the smart contract is stored may include the number of smart contracts generated for the item transaction, and a hash value for the byte code of the smart contract for the item transaction, and the address value of the contract account May be generated based at least in part on the private key of at least one of the first user, the game server, and the item exchange server. Therefore, as the smart contract is stored in the contract account on the blockchain network, a transaction for the first item can be performed on the blockchain network.

컴퓨팅 장치는 제 1 트랜잭션에 포함된 스마트 컨트랙트를 실행시킴으로써 제 1 아이템이 블록체인 네트워크(400) 상의 주소를 갖는 일시적 아이템 수용 공간으로 이동되도록 허용할 수 있다(530). The computing device may allow the first item to be moved to the temporary item receiving space having the address on the blockchain network 400 by executing the smart contract included in the first transaction (530).

본 개시내용의 일 실시예에 따라, 상기 개인키로부터 생성된 서명 정보를 포함하는 트랜잭션 입력 값, 및 제 1 아이템에 대한 식별 정보 및 상기 일시적 아이템 수용 공간과 연관된 블록체인 주소 정보를 포함하는 트랜잭션 출력 값을 포함하는 제 1 트랜잭션이 블록체인 네트워크에 기록될 수 있다.According to an embodiment of the present disclosure, a transaction input value including a signature information generated from the private key, and a transaction output including identification information for a first item and blockchain address information associated with the temporary item accommodation space The first transaction containing the value can be recorded in the blockchain network.

제 1 트랜잭션이 블록체인 네트워크(400)에 기록됨에 따라, 제 1 트랜잭션에 포함된 스마트 컨트랙트가 실행될 수 있다. 본 개시내용의 일 실시예에 따른 아이템 거래를 수행하기 위한 기법은, 사용자들의 관리 범위 밖에 있는 별도의 일시적 아이템 수용 공간을 활용함으로써 보다 안정하고 효율적인 아이템 거래가 이루어질 수 있다. 즉, 스마트 컨트랙트가 실행되는 경우, 제 1 아이템과 관련된 특정 블록체인 주소 또는 어카운트(account)로부터 별도의 블록체인 주소 또는 어카운트를 갖는 일시적 아이템 수용 공간으로 제 1 아이템이 이동될 수 있다. 추가적인 실시예에서, 구현 양태에 따라서, 이러한 제 1 아이템의 이동은 별도의 블록체인 주소 또는 어카운트를 갖는 일시적 아이템 수용 공간에서 제 1 아이템에 대한 정보가 생성되고 등록되는 것을 의미할 수도 있다.As the first transaction is recorded in the blockchain network 400, a smart contract included in the first transaction can be executed. In the technique for performing an item transaction according to an embodiment of the present disclosure, a more stable and efficient item transaction can be made by utilizing a separate temporary item accommodating space outside the management range of users. That is, when the smart contract is executed, the first item may be moved from a specific blockchain address or account associated with the first item to a temporary item receiving space having a separate blockchain address or account. In a further embodiment, depending on the implementation aspect, the movement of the first item may mean that information about the first item is generated and registered in a temporary item accommodating space having a separate blockchain address or account.

본 개시내용의 추가적인 실시예에서, 블록체인 네트워크(400)에서의 컴퓨팅 장치는 블록체인 네트워크(400)에서의 블록이 저장됨에 따라 새로운 업데이트/변경이 발생되는 경우, 해당 업데이트/변경 내용을 게임 서버(200) 및/또는 아이템 거래소 서버(300)로 통지하거나 또는 게임 서버(200) 및/또는 아이템 거래소 서버(300)가 해당 업데이트/변경 내용을 검색할 수 있게 허용할 수 있다. 이에 따라, 게임 서버(200) 및/또는 아이템 거래소 서버(300)는 블록체인 네트워크(400)에서의 변경 이력을 자신의 로컬 저장소에 반영시킬 수 있다. 예를 들어, 블록체인 네트워크(400)의 컴퓨팅 장치는 스마트 컨트랙트가 호출됨에 따라 제 1 사용자와 제 2 사용자 간의 게임 아이템 거래가 블록체인 네트워크(400) 내에서 기록되었다는 메시지를 게임 서버(200) 및/또는 아이템 거래소 서버(300)로 전달할 수 있다. 이에 응답하여, 게임 서버(200)는 자신의 DB 상에서 아이템 보관 공간에 위치한 아이템을 제 2 사용자의 인벤토리로 이동시킬 수 있다.In a further embodiment of the present disclosure, the computing device in the blockchain network 400, when a new update / change occurs as the block in the blockchain network 400 is stored, the update / change the game server The 200 and/or item exchange server 300 may be notified, or the game server 200 and/or the item exchange server 300 may be allowed to search for corresponding updates/changes. Accordingly, the game server 200 and/or the item exchange server 300 may reflect the change history in the blockchain network 400 in its local storage. For example, the computing device of the blockchain network 400 may transmit a message that the game item transaction between the first user and the second user has been recorded within the blockchain network 400 as the smart contract is called, and/or the game server 200 and/or Or it can be delivered to the item exchange server 300. In response, the game server 200 may move the item located in the item storage space on its DB to the inventory of the second user.

컴퓨팅 장치는 제 2 사용자로부터의 제 1 아이템에 대한 구매 요청에 대응되는 제 2 트랜잭션을 수신할 수 있다(540). 제 2 트랜잭션은 제 2 사용자로부터 발행되거나 또는 게임 서버(아이템 거래소 서버)로부터 발행될 수 있다. The computing device may receive a second transaction corresponding to the purchase request for the first item from the second user (540 ). The second transaction can be issued from a second user or from a game server (item exchange server).

컴퓨팅 장치는 제 2 트랜잭션을 검증한 이후 합의 알고리즘에 따라 생성된 제 2 블록에 제 2 트랜잭션을 포함시켜 블록체인 네트워크(400) 내에서 제 2 블록을 공유할 수 있다(550). 컴퓨팅 장치는 제 2 트랜잭션을 검증하고 그리고 검증이 완료된 제 2 트랜잭션을 자신의 로컬 저장소에 위치한 트랜잭션 풀에 저장할 수 있다. 더불어, 컴퓨팅 장치는 자신의 로컬 저장소에 위치한 트랜잭션 풀에 저장된 트랜잭션들을 담을 블록을 생성하기 위한 합의 알고리즘을 실행할 수 있다. 합의 알고리즘에 따라서 생성된 블록에 제 2 트랜잭션이 포함될 수 있으며, 상기 생성된 블록은 블록체인 네트워크(400) 내에서 공유될 수 있다. After verifying the second transaction, the computing device may share the second block in the blockchain network 400 by including the second transaction in the second block generated according to the consensus algorithm (550). The computing device can verify the second transaction and store the verified second transaction in a transaction pool located in its local storage. In addition, the computing device can execute a consensus algorithm to create a block to contain transactions stored in a transaction pool located in its local storage. A second transaction may be included in the generated block according to the consensus algorithm, and the generated block may be shared within the blockchain network 400.

제 2 트랜잭션을 포함하는 블록이 공유됨에 따라서, 컴퓨팅 장치는 블록체인 네트워크(400)에 기록된 스마트 컨트랙트를 호출할 수 있으며, 이에 따라 스마트 컨트랙트가 실행될 수 있다(560). 즉, 제 1 아이템을 구매하고자 하는 제 2 사용자와 관련된 또는 게임 서버와 관련된 외부 소유 어카운트로부터 발생된, 상기 제 1 아이템에 대한 구매 요청을 포함하는 트랜잭션에 응답하여, 컨트랙트 어카운트에 저장된 제 1 아이템의 거래를 수행하기 위하여 제 1 트랜잭션에 포함되었던 스마트 컨트랙트가 호출될 수 있다. 이에 따라, 스마트 컨트랙트에 포함된 서브 컨트랙트들 중 적어도 하나가 실행됨으로써, 무결성이 보장되고 자동화된 아이템 거래가 이루어질 수 있다. As the block including the second transaction is shared, the computing device may call the smart contract recorded in the blockchain network 400, and accordingly, the smart contract may be executed (560). That is, in response to a transaction including a purchase request for the first item, which is generated from an externally owned account associated with the second user who wants to purchase the first item or related to the game server, the first item stored in the contract account In order to perform a transaction, a smart contract that was included in the first transaction may be called. Accordingly, since at least one of the sub-contracts included in the smart contract is executed, integrity can be guaranteed and automated item trading can be performed.

컴퓨팅 장치는 스마트 컨트랙트가 실행됨에 따라 제 1 사용자의 어카운트와 제 2 사용자의 어카운트 간의 제 1 아이템의 거래 금액과 관련된 정산 절차를 진행할 수 있다(570). 예를 들어, 스마트 컨트랙트가 실행됨에 따라 제 2 사용자로 제 1 아이템에 대한 소유권이 이전되는 경우, 상기 제 1 아이템의 판매 금액 중 적어도 일부를 제 2 사용자의 외부 소유 어카운트로부터 제 1 사용자의 외부 소유 어카운트로 전달하기 위한 트랜잭션 또는 메시지가 블록체인 네트워크(400) 상에서 발생될 수 있다. 또한, 스마트 컨트랙트가 실행됨에 따라 제 1 아이템의 소유권이 제 1 사용자로부터 제 2 사용자로 이전되었다는 정보를 저장하기 위한 트랜잭션 또는 메시지가 블록체인 네트워크(400)에 기록될 수 있다. 또한, 스마트 컨트랙트가 실행됨에 따라 제 1 아이템이 블록체인 네트워크(400) 상에서의 일시적 아이템 수용 공간으로부터 블록체인 네트워크(400) 상에서의 제 2 사용자와 관련된 공간으로 이동될 수도 있다.As the smart contract is executed, the computing device may perform a settlement procedure related to the transaction amount of the first item between the first user's account and the second user's account (570). For example, when ownership of the first item is transferred to the second user as the smart contract is executed, at least a portion of the sales amount of the first item is externally owned by the first user from an externally owned account of the second user Transactions or messages for delivery to the account may occur on the blockchain network 400. Also, as the smart contract is executed, a transaction or message for storing information that ownership of the first item has been transferred from the first user to the second user may be recorded in the blockchain network 400. Also, as the smart contract is executed, the first item may be moved from the temporary item accommodating space on the blockchain network 400 to a space related to the second user on the blockchain network 400.

[도 6 설명][Description of Fig. 6]

도 6은 본 개시내용의 일 실시예에 따른 아이템 거래 방식의 예시적인 순서도를 도시한다.6 shows an exemplary flowchart of an item trading scheme according to one embodiment of the present disclosure.

도 6에서 도시되는 순서도는 게임 서버(200), 아이템 거래소 서버(300) 및 블록체인 네트워크(400)가 별개의 분리된 엔티티로서 동작하는 게임 아이템 거래 기법을 예시적으로 표현한다. 도 6에서 도시되는 내용에 대한 특징 중 도 3 내지 도 5와 관련하여 앞서 설명된 특징과 중복되는 특징에 대해서는 도 3 내지 도 5에 기재된 내용을 참고하고 여기에서는 그 설명을 생략하기로 한다.The flowchart illustrated in FIG. 6 illustratively represents a game item trading technique in which the game server 200, the item exchange server 300, and the blockchain network 400 operate as separate entities. Of the features shown in FIG. 6, for features that overlap with those previously described with reference to FIGS. 3 to 5, the contents described in FIGS. 3 to 5 will be referred to, and the description thereof will be omitted.

도 6에서 도시되는 바와 같이, 제 1 사용자 단말(100a)은 아이템 거래소 서버(300)로 제 1 아이템에 대한 거래 요청을 송신할 수 있다(601). 추가적으로, 제 1 사용자 단말(100a)은 게임 서버(200)로 제 1 아이템에 대한 거래 요청을 송신하고 그리고 게임 서버(200)가 아이템 거래소 서버(300)로 해당 내용을 (편집하여) 전달하는 형태의 실시예 또한 가능하다.As shown in FIG. 6, the first user terminal 100a may transmit a transaction request for the first item to the item exchange server 300 (601). Additionally, the first user terminal 100a transmits a transaction request for the first item to the game server 200 and the game server 200 (edits) the content to the item exchange server 300 Examples of are also possible.

아이템 거래소 서버(300)는 게임 서버(200)로 제 1 아이템에 대한 보관 요청 신호를 전달할 수 있다(603). 즉, 아이템 거래소 서버(300)는, 거래의 대상이 될 수 있는 제 1 아이템이 블록체인 네트워크(400)에 전파되기 전에 게임 내에서 소멸되거나 타인에게 이전되지 않도록 하기 위해서, 게임 서버(200)로 제 1 아이템에 대한 보관 요청 신호를 전달할 수 있다. The item exchange server 300 may transmit a storage request signal for the first item to the game server 200 (603). That is, the item exchange server 300 is transmitted to the game server 200 in order to prevent the first item that may be the object of the transaction from being extinguished in the game or transferred to another person before being propagated to the blockchain network 400. The storage request signal for the first item may be transmitted.

게임 서버(200)는 제 1 아이템에 대한 보관 요청 신호를 전달받은 후, 제 1 아이템을 서버 내 아이템 보관 공간으로 이동시킬 수 있다(605). 예를 들어, 아이템 보관 공간은 서버 내에서 사용자들이 아이템 거래를 수행할 수 있는 게임 내 특정 공간(예컨대, 금고 등)을 의미할 수 있다. 게임 서버는 제 1 사용자의 인벤토리에 위치한 제 1 아이템을 게임 서버가 관리하는 아이템 보관 공간으로 이동시킴으로써, 제 1 아이템이 게임 내에서 플레이되지 않도록 제한할 수 있다. After receiving the storage request signal for the first item, the game server 200 may move the first item to the item storage space in the server (605). For example, the item storage space may mean a specific space in a game (eg, a safe box, etc.) in which users can perform item transactions in the server. The game server may limit the first item from being played in the game by moving the first item located in the first user's inventory to the item storage space managed by the game server.

추가적으로, 게임 서버는 서버 내에서의 아이템 보관 공간으로 이동된 아이템이 거래 대상이 될 수 있음을 사용자들에게 UI/UX를 통해 통지할 수도 있다. 예를 들어, 게임 서버에 접속한 사용자는 게임 내에서의 해당 아이템 보관 공간에 접속하여 거래 대상이 되는 아이템들의 정보를 확인할 수 있게 된다.Additionally, the game server may notify users through UI/UX that an item moved to an item storage space in the server may be a transaction target. For example, a user accessing the game server can access the corresponding item storage space in the game and check the information of the items to be traded.

아이템 거래소 서버(300)는 제 1 사용자 단말(100a)로부터의 제 1 아이템 거래 요청에 포함된 정보에 기초하여, 제 1 아이템 거래를 블록체인 네트워크(400) 상에서 달성하기 위한 스마트 컨트랙트를 생성할 수 있으며, 그리고 생성된 스마트 컨트랙트를 포함하는 트랜잭션을 발생시킬 수 있다(607). The item exchange server 300 may generate a smart contract for achieving the first item transaction on the blockchain network 400 based on information included in the first item transaction request from the first user terminal 100a. And generate a transaction including the generated smart contract (607).

이러한 트랜잭션이 블록체인 네트워크(400)에 전파되는 경우, 제 1 아이템이 블록체인 네트워크(400) 상에서의 일시적 아이템 수용 공간으로 이동될 수 있다. 여기서의 일시적 아이템 수용 공간으로의 이동은, 블록체인 네트워크(400) 상에서의 제 1 아이템에 대한 인벤토리 어카운트 또는 주소로부터 블록체인 네트워크(400) 상에서의 아이템 거래를 위한 일시적 어카운트 또는 주소로 제 1 아이템이 이동되는 것을 의미한다. 다른 예시로, 일시적 아이템 수용 공간으로의 이동은, 블록체인 네트워크(400) 상에서의 아이템 거래를 위한 일시적 어카운트 또는 주소에서 제 1 아이템이 새롭게 등록되는 것을 의미할 수도 있다.When such a transaction is propagated to the blockchain network 400, the first item may be moved to the temporary item accommodation space on the blockchain network 400. Moving to the temporary item accommodating space here is the first item from the inventory account or address for the first item on the blockchain network 400 to the temporary account or address for trading the item on the blockchain network 400. It means being moved. As another example, the movement to the temporary item accommodation space may mean that the first item is newly registered in the temporary account or address for item transaction on the blockchain network 400.

본 개시내용의 일 실시예에서, 스마트 컨트랙트를 포함하는 트랜잭션을 생성하는데 있어서, 제 1 사용자, 게임 서버(200) 및 아이템 거래소 서버(300) 중 적어도 하나의 개인키가 사용될 수 있다. 개인키에 기반한 서명은 트랜잭션의 입력값에 기록될 수 있다. In an embodiment of the present disclosure, in generating a transaction including a smart contract, a private key of at least one of the first user, game server 200 and item exchange server 300 may be used. The signature based on the private key can be recorded in the input value of the transaction.

예를 들어, 제 1 사용자의 개인키 및 거래소 서버(300)의 개인키(즉, 2개의 개인키들)로부터의 서명을 통하여 트랜잭션이 발생될 수 있다. 이러한 상황에서, 해당 트랜잭션을 블록체인 네트워크(400)에서 검증하고자 하는 경우, 제 1 사용자의 개인키와 대응되는 공개키 및 아이템 거래소 서버(300)의 개인키와 대응되는 공개키가 사용될 수 있다. For example, a transaction may be generated through the signature of the first user's private key and the private key of the exchange server 300 (ie, two private keys). In this situation, in order to verify the transaction in the blockchain network 400, a public key corresponding to the first user's private key and a public key corresponding to the private key of the item exchange server 300 may be used.

다른 예시로, 게임 서버(200)에 접속한 제 1 사용자에 의해 ID 및 PASSWORD가 입력되고, 이에 따라 제 1 사용자의 본인 인증이 게임 서버(200)에서 이루어진 경우, 게임 서버(200)는 아이템 거래소 서버(300)로 제 1 사용자의 본인 인증이 이루어졌음을 알리는 인증 완료 신호를 전달할 수도 있다. 이러한 경우, 아이템 거래소 서버(300)는, 게임 서버(200)로부터 인증 완료 신호를 수신하는 것에 응답하여, 자신의 개인키를 사용하여 트랜잭션을 생성 및 발행할 수 있다. 이러한 상황에서, 해당 트랜잭션을 블록체인 네트워크(400)에서 검증하고자 하는 경우, 아이템 거래소 서버(300)의 개인키와 대응되는 공개키가 사용될 수 있다. As another example, when the ID and PASSWORD are input by the first user who accesses the game server 200, and thus the first user's authentication is performed in the game server 200, the game server 200 is an item exchange. The server 300 may also transmit an authentication completion signal informing that the first user's authentication has been performed. In this case, the item exchange server 300 may generate and issue a transaction using its own private key in response to receiving the authentication completion signal from the game server 200. In this situation, when the transaction is to be verified in the blockchain network 400, a public key corresponding to the private key of the item exchange server 300 may be used.

블록체인 네트워크(400)는 아이템 거래소 서버(300)로부터 발행된 트랜잭션을 검증하고 합의 알고리즘을 통하여 생성된 블록에 해당 트랜잭션을 포함시켜 공유할 수 있다(609). 상기 절차에 의해, 제 1 아이템의 거래를 위한 트랜잭션이 블록체인 네트워크(400)에 기록될 수 있으며, 기록된 트랜잭션 내에 포함된 정보는 무결성이 보장될 수 있는 상태로 보관될 수 있다.The blockchain network 400 may verify the transaction issued from the item exchange server 300 and share it by including the transaction in the block generated through the consensus algorithm (609). By the above procedure, a transaction for the transaction of the first item can be recorded in the blockchain network 400, and information included in the recorded transaction can be stored in a state in which integrity can be guaranteed.

아이템 거래소 서버(300)는 자신이 발행한 트랜잭션의 트랜잭션 ID(Tx ID)를 통해 해당 트랜잭션이 블록체인 네트워크(400)에 기록되었는지 여부를 확인할 수 있다. 다른 예시로, 아이템 거래소 서버(300)는 블록체인 네트워크(400)로부터 자신이 발행한 트랜잭션이 기록되었다는 메시지를 전달받을 수도 있다.The item exchange server 300 may check whether the corresponding transaction is recorded in the blockchain network 400 through the transaction ID (Tx ID) of the transaction issued by itself. As another example, the item exchange server 300 may receive a message from the blockchain network 400 that a transaction issued by itself is recorded.

아이템 거래소 서버(300)는 제 1 아이템이 거래 대상이 된다는 신호를 게임 서버(200), 및/또는 사용자 단말들(100a, 100b)에 전달할 수 있다(611). 이러한 거래 대상이 된다는 신호는, 예를 들어, 제 1 아이템에 대한 식별 정보, 제 1 아이템에 대한 거래 조건 정보 및/또는 제 1 아이템과 관련된 스마트 컨트랙트가 저장된 컨트랙트 어카운트의 주소 정보를 포함할 수 있다.The item exchange server 300 may transmit a signal that the first item is a transaction target to the game server 200 and/or user terminals 100a and 100b (611). The signal to be the target of the transaction may include, for example, identification information for the first item, transaction condition information for the first item, and/or address information of the contract account in which the smart contract associated with the first item is stored. .

추가적인 실시예에서, 블록체인 네트워크(400)가 생성된 블록이 전파된 이후에 게임 서버(200), 및/또는 사용자 단말들(100a, 100b)에 생성된 블록이 전파되었다는 신호를 전달할 수도 있다.In a further embodiment, the block generated by the blockchain network 400 may transmit a signal that the generated block has been propagated to the game server 200 and/or user terminals 100a and 100b after the generated block is propagated.

아이템 거래소 서버(300)는 제 1 아이템이 거래 대상이 된다는 내용을 아이템 거래소 서버(300) 내에서의 거래 가능 아이템 리스트를 업데이트하는 방식으로 공지할 수도 있다. 이러한 경우, 사용자 단말(100a 및 100b)은 아이템 거래소 서버(300)에 접속하여 업데이트된 거래 가능 아이템 리스트를 확인하는 방식으로 거래 대상 아이템이 무엇인지를 확인할 수 있다.The item exchange server 300 may also announce that the first item is a transaction target by updating the list of tradeable items in the item exchange server 300. In this case, the user terminals 100a and 100b may check what the transaction target item is by accessing the item exchange server 300 and checking the updated list of tradeable items.

제 1 아이템에 대한 거래 조건을 확인한 제 2 사용자 단말(100b)이 아이템 거래소 서버(300)로 제 1 아이템에 대한 구매 요청 메시지를 전달할 수 있다(613). 추가적인 실시예로서, 제 2 사용자 단말(100b)이 제 1 아이템에 대한 구매 요청 메시지를 게임 서버(200)로 전송하고 그리고 게임 서버(200)가 아이템 거래소 서버(300)로 해당 내용을 전달하는 방식으로, 제 1 아이템에 대한 구매 요청 메시지 전달이 이루어질 수도 있다. 추가적인 실시예로서, 제 2 사용자 단말(100b)이 직접 블록체인 네트워크(400)에 아이템 구매 요청이 포함된 트랜잭션을 발행하는 형태의 실시예 또한 가능하다.The second user terminal 100b confirming the transaction condition for the first item may transmit a purchase request message for the first item to the item exchange server 300 (613 ). As a further embodiment, the method in which the second user terminal 100b transmits a purchase request message for the first item to the game server 200 and the game server 200 delivers the content to the item exchange server 300 Accordingly, a purchase request message may be delivered to the first item. As an additional embodiment, an embodiment in which the second user terminal 100b directly issues a transaction including an item purchase request to the blockchain network 400 is also possible.

아이템 거래소 서버(300)는 제 2 사용자 단말(100b)로부터의 구매 요청에 포함된 정보에 기초하여, 블록체인 네트워크(400)로 스마트 컨트랙트 호출을 위한 트랜잭션을 발행할 수 있다(615). The item exchange server 300 may issue a transaction for a smart contract call to the blockchain network 400 based on information included in the purchase request from the second user terminal 100b (615).

본 개시내용의 일 실시예에서, 스마트 컨트랙트 호출을 위한 트랜잭션은 예를 들어, 스마트 컨트랙트가 저장된 컨트랙트 어카운트에 대한 주소 정보를 포함할 수 있다. 아이템 거래소 서버(300)는 제 1 아이템이 거래 대상이 되도록 일시적 아이템 수용 공간으로 이동시키기 위한 트랜잭션을 발행한 이후에, 해당 트랜잭션에 포함된 스마트 컨트랙트가 저장되는 컨트랙트 어카운트 정보를 획득할 수 있다.In one embodiment of the present disclosure, a transaction for calling a smart contract may include, for example, address information for a contract account in which the smart contract is stored. The item exchange server 300 may obtain contract account information in which the smart contract included in the corresponding transaction is stored after issuing a transaction for moving the temporary item to the temporary item accommodating space so that the first item becomes a transaction target.

본 개시내용의 일 실시예에서, 스마트 컨트랙트를 호출하기 위한 트랜잭션을 생성하는데 있어서, 제 2 사용자, 게임 서버(200) 및 아이템 거래소 서버(300) 중 적어도 하나의 개인키가 사용될 수 있다. 개인키에 기반한 서명은 트랜잭션의 입력값에 기록될 수 있다. In one embodiment of the present disclosure, in creating a transaction for invoking a smart contract, a private key of at least one of the second user, game server 200 and item exchange server 300 may be used. The signature based on the private key can be recorded in the input value of the transaction.

예를 들어, 제 2 사용자의 개인키 및 거래소 서버(300)의 개인키(즉, 2개의 개인키들)로부터의 서명을 통하여 트랜잭션이 발생될 수 있다. 이러한 상황에서, 해당 트랜잭션을 블록체인 네트워크(400)에서 검증하고자 하는 경우, 제 2 사용자의 개인키와 대응되는 공개키 및 아이템 거래소 서버(300)의 개인키와 대응되는 공개키가 사용될 수 있다. For example, a transaction may be generated through the signature of the second user's private key and the private key of the exchange server 300 (ie, two private keys). In this situation, in order to verify the transaction in the blockchain network 400, a public key corresponding to the private key of the second user and a public key corresponding to the private key of the item exchange server 300 may be used.

다른 예시로, 게임 서버(200)에 접속한 제 2 사용자에 의해 ID 및 PASSWORD가 입력되고, 이에 따라 제 2 사용자의 본인 인증이 게임 서버(200)에서 이루어진 경우, 게임 서버(200)는 아이템 거래소 서버(300)로 제 2 사용자의 본인 인증이 이루어졌음을 알리는 인증 완료 신호를 전달할 수도 있다. 이러한 경우, 아이템 거래소 서버(300)는, 게임 서버(200)로부터 인증 완료 신호를 수신하는 것에 응답하여, 자신의 개인키를 사용하여 트랜잭션을 생성 및 발행할 수 있다. 이러한 상황에서, 해당 트랜잭션을 블록체인 네트워크(400)에서 검증하고자 하는 경우, 아이템 거래소 서버(300)의 개인키와 대응되는 공개키가 사용될 수 있다. As another example, when the ID and PASSWORD are input by the second user accessing the game server 200, and accordingly, the user authentication of the second user is performed in the game server 200, the game server 200 is an item exchange The server 300 may transmit an authentication completion signal informing that the second user's identity has been authenticated. In this case, the item exchange server 300 may generate and issue a transaction using its own private key in response to receiving the authentication completion signal from the game server 200. In this situation, when the transaction is to be verified in the blockchain network 400, a public key corresponding to the private key of the item exchange server 300 may be used.

본 개시내용의 추가적인 실시예에서, 아이템 거래소 서버(300)는 제 2 사용자의 거래 의사가 포함된 트랜잭션을 발행할 때, 제 2 사용자의 외부 소유 어카운트(또는 지갑) 내에서의 코인 정보를 확인하고, 코인 정보가 제 1 아이템의 가격 정보 미만 인 경우, 트랜잭션의 발행을 취소하고 해당 내용을 제 2 사용자 단말(100b) 측으로 전달할 수도 있다. In a further embodiment of the present disclosure, the item exchange server 300 checks coin information in the externally owned account (or wallet) of the second user when issuing a transaction that includes the transaction intention of the second user , If the coin information is less than the price information of the first item, it is possible to cancel the issuance of the transaction and deliver the content to the second user terminal 100b.

블록체인 네트워크(400)는 아이템 거래소 서버(300)로부터 발행된 트랜잭션을 검증하고 합의 알고리즘을 통하여 생성된 블록에 해당 트랜잭션을 포함시켜 공유할 수 있다(617). 상기 절차에 의해, 제 1 아이템의 구매를 위한 트랜잭션이 블록체인 네트워크(400)에 기록될 수 있으며, 기록된 트랜잭션 내에 포함된 정보는 무결성이 보장될 수 있는 상태로 보관될 수 있다. 또한, 제 1 아이템의 구매를 위한 트랜잭션이 기록됨에 따라, 상기 트랜잭션에 포함된 스마트 컨트랙트를 호출하기 위한 정보에 기초하여, 해당 스마트 컨트랙트가 호출 및 실행될 수 있다.The blockchain network 400 may verify the transaction issued from the item exchange server 300 and include the transaction in the block generated through the consensus algorithm to share it (617). By the above procedure, a transaction for the purchase of the first item may be recorded in the blockchain network 400, and information included in the recorded transaction may be stored in a state in which integrity can be guaranteed. In addition, as a transaction for the purchase of the first item is recorded, the corresponding smart contract may be called and executed based on information for calling the smart contract included in the transaction.

블록체인 네트워크(400) 내에서의 스마트 컨트랙트가 실행됨에 따라서, 제 1 아이템의 소유권이 제 2 사용자로 변경되고, 제 1 아이템의 거래 금액의 적어도 일부를 제 2 사용자의 어카운트로부터 제 1 사용자의 어카운트로 전달되며, 그리고 제 1 아이템이 블록체인 네트워크(400) 상에서 일시적 아이템 수용 공간으로부터 제 2 사용자와 관련된 주소로 이동될 수 있다. 추가적인 실시예에서, 이러한 변경 및 이동에 관한 정보들이 블록체인 네트워크(400)에 기록될 수 있도록, 스마트 컨트랙트에 기초하여 별도의 트랜잭션(들)이 블록체인 네트워크(400) 내에서 생성 및 전파될 수도 있다. As the smart contract in the blockchain network 400 is executed, ownership of the first item is changed to the second user, and at least a portion of the transaction amount of the first item is transferred from the account of the second user to the account of the first user And the first item can be moved from the temporary item accommodating space to the address associated with the second user on the blockchain network 400. In a further embodiment, separate transaction(s) may be generated and propagated within the blockchain network 400 based on the smart contract so that information regarding such changes and movements can be recorded in the blockchain network 400. have.

전술한 방식들에 따라서, 블록체인 네트워크 상에서의 아이템 거래 기록이 완료되고(617) 그리고 아이템 거래 절차가 진행되며 아이템 거래에 수반되는 비용이 자동적으로 정산될 수 있다(619).According to the above-described methods, the item transaction record on the blockchain network is completed (617), and the item transaction procedure is performed, and the cost associated with the item transaction can be automatically settled (619).

블록체인 네트워크 상에서의 아이템 거래 기록이 완료되는 경우, 아이템 거래소 서버(300) 또는 블록체인 네트워크(400)는 게임 서버(200) 및/또는 사용자 단말들(100a, 100b)로 제 1 아이템에 대한 제 1 사용자와 제 2 사용자 간의 거래가 완료되었다는 내용을 전달할 수 있다(621).When the item transaction record on the blockchain network is completed, the item exchange server 300 or the blockchain network 400 may provide the game server 200 and/or user terminals 100a, 100b for the first item. The content that the transaction between the first user and the second user is completed may be transmitted (621).

이러한 경우, 게임 서버(200)는 게임 서버(200) 내에서의 아이템 보관 공간에 위치한 제 1 아이템을 게임 서버(200) 내에서의 제 2 사용자에 의해 관리될 수 있는 제 2 사용자 인벤토리로 이동시킬 수 있다(623). In this case, the game server 200 moves the first item located in the item storage space in the game server 200 to a second user inventory that can be managed by the second user in the game server 200. It can be (623).

추가적인 실시예에서, 게임 서버(200)는 제 2 사용자 단말(100b)로부터의 별도의 아이템 이관 통지를 수신하는 것에 응답하여, 게임 서버(200) 내에서의 아이템 보관 공간에 위치한 제 1 아이템을 게임 서버(200) 내에서의 제 2 사용자에 의해 관리될 수 있는 제 2 사용자 인벤토리로 이동시킬 수도 있다.In a further embodiment, the game server 200 plays the first item located in the item storage space in the game server 200 in response to receiving a separate item transfer notification from the second user terminal 100b. It can also be moved to a second user inventory that can be managed by a second user within the server 200.

아이템 거래소 서버(300)는 거래 금액이 정산되었다는 내용(또는 거래가 완료되었다는 내용)을 사용자 단말들(100a, 100b)이 확인할 수 있도록 자신의 DB 상에 업데이트된 거래 이력 정보를 저장할 수 있다(625). 이러한 방식으로, 사용자 단말들(100a, 100b)은 아이템 거래소 서버(300)에 접속하여 거래 이력 정보를 확인할 수 있다.The item exchange server 300 may store updated transaction history information on its DB so that the user terminals 100a and 100b can confirm that the transaction amount has been settled (or that the transaction has been completed) (625) . In this way, the user terminals 100a and 100b may access the item exchange server 300 to check transaction history information.

본 개시내용의 일 실시예에서, 아이템 거래소 서버(300)는 자신의 DB 상에 저장된 거래 이력 정보와 블록체인 네트워크(400)에 기록된 거래 이력 정보를 비교할 수 있다. 이러한 비교에 기초하여, 블록체인 네트워크(400)에 기록된 거래 이력 정보와 자신의 DB 상에 저장된 거래 이력 정보 간의 차이가 존재하는 경우, 아이템 거래소 서버(300)는 블록체인 네트워크(400)에 기록된 거래 이력 정보에 우선순위를 둔다. 이러한 경우, 예를 들어, 아이템 거래소 서버(300)는 자신의 DB에 기록된 거래 이력 정보를 블록체인 네트워크(400)에 기록된 거래 이력 정보로 대체할 수 있다.In one embodiment of the present disclosure, the item exchange server 300 may compare the transaction history information stored in its DB with the transaction history information recorded in the blockchain network 400. Based on this comparison, if there is a difference between the transaction history information recorded in the blockchain network 400 and the transaction history information stored on its DB, the item exchange server 300 records in the blockchain network 400 Prioritize transaction history information. In this case, for example, the item exchange server 300 may replace the transaction history information recorded in its DB with the transaction history information recorded in the blockchain network 400.

[도 7 설명] [Description of Fig. 7]

도 7은 본 개시내용의 일 실시예에 따른 아이템 거래 방식의 예시적인 순서도를 도시한다.7 shows an exemplary flow chart of an item trading scheme according to one embodiment of the present disclosure.

도 7에서 도시되는 순서도는 아이템 거래소 서버의 기능을 포함하는 게임 서버(200) 및 블록체인 네트워크(400)가 별개의 분리된 엔티티로서 동작하는 게임 아이템 거래 기법을 예시적으로 표현한다. 도 7에서의 실시예는, 아이템 거래소 서버가 게임 서버로 통합된 형태의 실시예를 예시적으로 나타낸다.The flowchart shown in FIG. 7 exemplarily represents a game item trading technique in which the game server 200 and the blockchain network 400 including the functions of the item exchange server operate as separate entities. The embodiment in FIG. 7 exemplarily shows an embodiment in which the item exchange server is integrated into a game server.

도 7에서 도시되는 내용에 대한 특징 중 도 3 내지 도 6과 관련하여 앞서 설명된 특징과 중복되는 특징에 대해서는 도 3 내지 도 6에 기재된 내용을 참고하고 여기에서는 그 설명을 생략하기로 한다.Of the features shown in FIG. 7, for features overlapping with the features described above with reference to FIGS. 3 to 6, the contents described in FIGS. 3 to 6 will be referred to, and the description thereof will be omitted.

도 7에서 도시되는 바와 같이, 제 1 사용자 단말(100a)은 게임 서버(200)로 제 1 아이템에 대한 거래 요청을 송신할 수 있다(701). 추가적으로, 제 1 사용자 단말(100a)은 블록체인 네트워크(400)로 제 1 아이템에 대한 거래 요청이 포함된 트랜잭션을 발행하고 그리고 게임 서버(200)가 블록체인 네트워크(400) 또는 제 1 사용자 단말(100a)로부터 해당 내용을 전달받는 형태의 실시예 또한 가능하다.As shown in FIG. 7, the first user terminal 100a may transmit a transaction request for the first item to the game server 200 (701). Additionally, the first user terminal 100a issues a transaction including a transaction request for the first item to the blockchain network 400 and the game server 200 blocks the blockchain network 400 or the first user terminal ( 100a) is also possible in the form of receiving the content from the embodiment.

게임 서버(200)는, 거래의 대상이 될 수 있는 제 1 아이템이 블록체인 네트워크(400)에 전파되기 전에 게임 내에서 소멸되거나 타인에게 이전되지 않도록 하기 위해서, 제 1 아이템을 제 1 사용자의 인벤토리로부터 게임 서버(200) 내의 별도의 아이템 보관 공간으로 이관시킬 수 있다(703). 이 경우, 제 1 아이템의 소유권은 제 1 사용자에게 그대로 있으나, 제 1 아이템은 게임 상에서 플레이 대상이 될 수 없도록 게임 서버(200) 내에서 처리될 수 있다.The game server 200 inventory of the first user in order to prevent the first item, which may be the object of the transaction, from being extinguished in the game or transferred to another person before being propagated to the blockchain network 400. From can be transferred to a separate item storage space in the game server (200). In this case, the ownership of the first item remains with the first user, but the first item may be processed in the game server 200 so that it cannot be a play target in the game.

게임 서버(200)는 제 1 사용자로부터의 제 1 아이템에 대한 거래 요청 정보를 분석하여, 해당 거래 요청 정보가 반영된 스마트 컨트랙트를 생성하고 그리고 생성된 스마트 컨트랙트를 블록체인 네트워크(400)로 발행할 수 있다(705).The game server 200 may analyze the transaction request information for the first item from the first user, generate a smart contract reflecting the transaction request information, and issue the generated smart contract to the blockchain network 400 Yes (705).

본 개시내용의 일 실시예에서, 스마트 컨트랙트를 호출하기 위한 트랜잭션을 생성하는데 있어서, 제 1 사용자 및 게임 서버(200) 중 적어도 하나의 개인키가 사용될 수 있다. 개인키에 기반한 서명은 트랜잭션의 입력값에 기록될 수 있다. In one embodiment of the present disclosure, in creating a transaction for invoking a smart contract, a private key of at least one of the first user and the game server 200 may be used. The signature based on the private key can be recorded in the input value of the transaction.

예를 들어, 제 1 사용자의 개인키 및 게임 서버(200)의 개인키(즉, 2개의 개인키들)로부터의 서명을 통하여 트랜잭션이 발생될 수 있다. 이러한 상황에서, 해당 트랜잭션을 블록체인 네트워크(400)에서 검증하고자 하는 경우, 제 1 사용자의 개인키와 대응되는 공개키 및 게임 서버(200)의 개인키와 대응되는 공개키가 사용될 수 있다. For example, a transaction may be generated through a signature from the first user's private key and the game server 200's private key (ie, two private keys). In this situation, when the transaction is to be verified in the blockchain network 400, a public key corresponding to the private key of the first user and a public key corresponding to the private key of the game server 200 may be used.

다른 예시로, 게임 서버(200)에 접속한 제 1 사용자에 의해 ID 및 PASSWORD가 입력되고, 이에 따라 제 1 사용자의 본인 인증이 게임 서버(200)에서 이루어진 경우, 게임 서버(200)는 자신의 개인키를 사용하여 트랜잭션을 생성 및 발행할 수 있다. 이러한 상황에서, 해당 트랜잭션을 블록체인 네트워크(400)에서 검증하고자 하는 경우, 게임 서버(200)의 개인키와 대응되는 공개키가 사용될 수 있다. As another example, when the ID and PASSWORD are input by the first user accessing the game server 200, and accordingly, the first user's authentication is performed in the game server 200, the game server 200 may Transactions can be created and issued using the private key. In this situation, when the transaction is to be verified in the blockchain network 400, a public key corresponding to the private key of the game server 200 may be used.

블록체인 네트워크(400)는 게임 서버(200)로부터 발행된 트랜잭션을 검증하고 합의 알고리즘을 통하여 생성된 블록에 해당 트랜잭션을 포함시켜 공유할 수 있다(707). 이러한 절차에 의해, 제 1 아이템의 거래를 위한 트랜잭션이 블록체인 네트워크(400)에 기록될 수 있으며, 기록된 트랜잭션 내에 포함된 정보는 무결성이 보장될 수 있는 상태로 보관될 수 있다.The blockchain network 400 may verify the transaction issued from the game server 200 and share it by including the transaction in the block generated through the consensus algorithm (707). By this procedure, a transaction for the transaction of the first item can be recorded in the blockchain network 400, and information included in the recorded transaction can be stored in a state in which integrity can be guaranteed.

게임 서버(200)는 자신이 발행한 트랜잭션의 트랜잭션 ID(Tx ID)를 통해 해당 트랜잭션이 블록체인 네트워크(400)에 기록되었는지 여부를 확인할 수 있다. 다른 예시로, 게임 서버(200)는 블록체인 네트워크(400)로부터 자신이 발행한 트랜잭션이 기록되었다는 메시지를 전달받을 수도 있다.The game server 200 may check whether the corresponding transaction is recorded in the blockchain network 400 through the transaction ID (Tx ID) of the transaction issued by itself. As another example, the game server 200 may receive a message from the blockchain network 400 that a transaction issued by itself is recorded.

게임 서버(200)는 제 1 아이템이 거래 대상이 된다는 신호를 사용자 단말들(100a, 100b)에 전달할 수 있다(709). 이러한 거래 대상이 된다는 신호는, 예를 들어, 제 1 아이템에 대한 식별 정보, 제 1 아이템에 대한 거래 조건 정보 및/또는 제 1 아이템과 관련된 스마트 컨트랙트가 저장된 컨트랙트 어카운트의 주소 정보를 포함할 수 있다. 사용자 단말들(100a, 100b)은 게임 서버(200)에 접속하여, 거래 대상이 되는 게임 아이템들의 리스트 및 거래 이력 정보를 확인할 수 있다. The game server 200 may transmit a signal that the first item is a transaction target to the user terminals 100a and 100b (709). The signal to be the target of the transaction may include, for example, identification information for the first item, transaction condition information for the first item, and/or address information of the contract account in which the smart contract associated with the first item is stored. . The user terminals 100a and 100b may access the game server 200 to check a list of game items to be traded and transaction history information.

다른 실시예로서, 사용자 단말들(100a, 100b)은 게임 서버(200)로부터 제공된 Tx ID를 사용하여 블록체인 네트워크(400)에 직접 쿼리를 발행할 수도 있다. 이에 따라, 사용자 단말들(100a, 100b)은 원하는 아이템들에 대한 거래 이력 및 거래 조건 등을 블록체인 네트워크(400) 상에서 확인할 수 있다.As another embodiment, the user terminals 100a and 100b may issue a query directly to the blockchain network 400 using the Tx ID provided from the game server 200. Accordingly, the user terminals 100a and 100b can check the transaction history and transaction conditions for desired items on the blockchain network 400.

제 1 아이템에 대한 거래 조건을 확인한 제 2 사용자 단말(100b)이 게임 서버(200)로 제 1 아이템에 대한 구매 요청 메시지를 전달할 수 있다(711). 추가적인 실시예로서, 제 2 사용자 단말(100b)이 제 1 아이템에 대한 구매 요청 메시지가 포함된 트랜잭션을 블록체인 네트워크(400)로 직접 전송하고 그리고 게임 서버(200)가 블록체인 네트워크(400)를 통해 해당 내용을 전달하는 방식으로, 제 1 아이템에 대한 구매 요청 메시지 전달이 이루어질 수도 있다. The second user terminal 100b confirming the transaction condition for the first item may transmit a purchase request message for the first item to the game server 200 (711). As a further embodiment, the second user terminal 100b directly transmits the transaction including the purchase request message for the first item to the blockchain network 400 and the game server 200 transmits the blockchain network 400. Through the method of delivering the corresponding content, a purchase request message for the first item may be delivered.

게임 서버(200)는 제 2 사용자 단말(100b)로부터의 구매 요청에 포함된 정보에 기초하여, 블록체인 네트워크(400)로 스마트 컨트랙트 호출을 위한 트랜잭션을 생성하고 이를 발행할 수 있다(713). The game server 200 may generate and issue a transaction for a smart contract call to the blockchain network 400 based on the information included in the purchase request from the second user terminal 100b (713).

본 개시내용의 일 실시예에서, 스마트 컨트랙트 호출을 위한 트랜잭션은 예를 들어, 서명 정보, 및 스마트 컨트랙트가 저장된 컨트랙트 어카운트에 대한 주소 정보를 포함할 수 있다. 게임 서버(200)는 제 1 아이템이 거래 대상이 되도록 일시적 아이템 수용 공간으로 이동시키기 위한 트랜잭션을 발행한 이후에, 해당 트랜잭션에 포함된 스마트 컨트랙트가 저장되는 컨트랙트 어카운트 정보를 획득할 수 있다.In one embodiment of the present disclosure, a transaction for a smart contract call may include, for example, signature information and address information for a contract account in which the smart contract is stored. The game server 200 may obtain contract account information in which the smart contract included in the transaction is stored after issuing a transaction for moving the first item to the temporary item accommodating space so that the first item is a transaction target.

본 개시내용의 일 실시예에서, 스마트 컨트랙트를 호출하기 위한 트랜잭션을 생성하는데 있어서, 제 2 사용자 및 게임 서버(200) 중 적어도 하나의 개인키가 사용될 수 있다. 개인키에 기반한 서명은 트랜잭션의 입력값에 기록될 수 있다. In one embodiment of the present disclosure, in creating a transaction for invoking a smart contract, a private key of at least one of the second user and game server 200 may be used. The signature based on the private key can be recorded in the input value of the transaction.

예를 들어, 제 2 사용자의 개인키 및 게임 서버(200)의 개인키(즉, 2개의 개인키들)로부터의 서명을 통하여 트랜잭션이 발생될 수 있다. 이러한 상황에서, 해당 트랜잭션을 블록체인 네트워크(400)에서 검증하고자 하는 경우, 제 2 사용자의 개인키와 대응되는 공개키 및 게임 서버(200)의 개인키와 대응되는 공개키가 사용될 수 있다. For example, a transaction may be generated through the signature of the second user's private key and the private key of the game server 200 (ie, two private keys). In this situation, when the transaction is to be verified in the blockchain network 400, a public key corresponding to the private key of the second user and a public key corresponding to the private key of the game server 200 may be used.

다른 예시로, 게임 서버(200)에 접속한 제 2 사용자에 의해 제 2 사용자의 본인 인증이 이루어진 경우, 게임 서버(200)는 자신의 개인키를 사용하여 트랜잭션을 생성 및 발행할 수 있다. 이러한 상황에서, 해당 트랜잭션을 블록체인 네트워크(400)에서 검증하고자 하는 경우, 게임 서버(200)의 개인키와 대응되는 공개키가 사용될 수 있다. As another example, when the second user's authentication is performed by the second user accessing the game server 200, the game server 200 may generate and issue a transaction using its own private key. In this situation, when the transaction is to be verified in the blockchain network 400, a public key corresponding to the private key of the game server 200 may be used.

본 개시내용의 추가적인 실시예에서, 게임 서버(200)는 제 2 사용자의 거래 의사가 포함된 트랜잭션을 발행할 때, 제 2 사용자의 외부 소유 어카운트(또는 지갑) 내에서의 코인 정보를 확인하고, 코인 정보가 제 1 아이템의 가격 정보 미만 인 경우, 트랜잭션의 발행을 취소하고 해당 내용을 제 2 사용자 단말(100b) 측으로 전달할 수도 있다. In a further embodiment of the present disclosure, the game server 200 confirms coin information in the externally owned account (or wallet) of the second user when issuing a transaction that includes the transaction intention of the second user, If the coin information is less than the price information of the first item, it is possible to cancel the issuance of the transaction and deliver the content to the second user terminal 100b.

블록체인 네트워크(400)는 게임 서버(200)로부터 발행된 트랜잭션을 검증하고 합의 알고리즘을 통하여 생성된 블록에 해당 트랜잭션을 포함시켜 공유할 수 있다(715). 상기 절차에 의해, 제 1 아이템의 구매를 위한 트랜잭션이 블록체인 네트워크(400)에 기록될 수 있으며, 기록된 트랜잭션 내에 포함된 정보는 무결성이 보장될 수 있는 상태로 보관될 수 있다. 또한, 제 1 아이템의 구매를 위한 트랜잭션이 기록됨에 따라, 상기 트랜잭션에 포함된 스마트 컨트랙트를 호출하기 위한 정보에 기초하여, 해당 스마트 컨트랙트가 호출 및 실행될 수 있다.The blockchain network 400 may verify the transaction issued from the game server 200 and share it by including the corresponding transaction in the block generated through the consensus algorithm (715). By the above procedure, a transaction for the purchase of the first item may be recorded in the blockchain network 400, and information included in the recorded transaction may be stored in a state in which integrity can be guaranteed. In addition, as a transaction for the purchase of the first item is recorded, the corresponding smart contract may be called and executed based on information for calling the smart contract included in the transaction.

블록체인 네트워크(400) 내에서의 스마트 컨트랙트가 실행됨에 따라서, 제 1 아이템의 소유권이 제 2 사용자로 변경되고, 제 1 아이템의 거래 금액의 적어도 일부를 제 2 사용자의 어카운트로부터 제 1 사용자의 어카운트로 전달되며, 그리고 제 1 아이템이 블록체인 네트워크(400) 상에서 일시적 아이템 수용 공간으로부터 제 2 사용자와 관련된 주소로 이동될 수 있다. 추가적인 실시예에서, 이러한 변경 및 이동에 관한 정보들이 블록체인 네트워크(400)에 기록될 수 있도록, 스마트 컨트랙트에 기초하여 별도의 트랜잭션(들)이 블록체인 네트워크(400) 내에서 생성 및 전파될 수도 있다. As the smart contract in the blockchain network 400 is executed, ownership of the first item is changed to the second user, and at least a portion of the transaction amount of the first item is transferred from the account of the second user to the account of the first user And the first item can be moved from the temporary item accommodating space to the address associated with the second user on the blockchain network 400. In a further embodiment, separate transaction(s) may be generated and propagated within the blockchain network 400 based on the smart contract so that information regarding such changes and movements can be recorded in the blockchain network 400. have.

블록체인 네트워크(400) 내에서의 스마트 컨트랙트가 실행됨에 따라서, 제 1 아이템의 소유권이 제 2 사용자로 변경되고, 제 1 아이템의 거래 금액의 적어도 일부를 제 2 사용자의 어카운트로부터 제 1 사용자의 어카운트로 전달되며, 그리고 제 1 아이템이 블록체인 네트워크(400) 상에서 일시적 아이템 수용 공간으로부터 제 2 사용자와 관련된 주소로 이동될 수 있다. 추가적인 실시예에서, 이러한 변경 및 이동에 관한 정보들이 블록체인 네트워크(400)에 기록될 수 있도록, 스마트 컨트랙트에 기초하여 별도의 트랜잭션(들)이 블록체인 네트워크(400) 내에서 생성 및 전파될 수도 있다. As the smart contract in the blockchain network 400 is executed, ownership of the first item is changed to the second user, and at least a portion of the transaction amount of the first item is transferred from the account of the second user to the account of the first user And the first item can be moved from the temporary item accommodating space to the address associated with the second user on the blockchain network 400. In a further embodiment, separate transaction(s) may be generated and propagated within the blockchain network 400 based on the smart contract so that information regarding such changes and movements can be recorded in the blockchain network 400. have.

전술한 방식들에 따라서, 블록체인 네트워크 상에서의 아이템 거래 기록이 완료되고(715) 그리고 아이템 거래 절차가 진행 되며 아이템 거래에 수반되는 비용이 자동적으로 정산될 수 있다(719).According to the above-described methods, the item transaction record on the blockchain network is completed (715), and the item transaction procedure is performed, and the cost associated with the item transaction can be automatically settled (719).

블록체인 네트워크 상에서의 아이템 거래 기록이 완료되는 경우, 블록체인 네트워크(400) 또는 게임 서버(200)는 사용자 단말들(100a, 100b)로 제 1 아이템에 대한 제 1 사용자와 제 2 사용자 간의 거래가 완료되었다는 내용을 전달할 수 있다. 또한, 블록체인 네트워크(400)는 게임 서버(200)로 제 1 아이템에 대한 거래가 완료되었다는 내용을 전달할 수도 있다. 또한, 게임 서버(200)는 Tx ID를 사용하여 블록체인 네트워크(400)로 쿼리를 발행하여, 제 1 아이템에 대한 거래 이력을 확인할 수도 있다.When the item transaction record on the blockchain network is completed, the blockchain network 400 or the game server 200 completes the transaction between the first user and the second user for the first item with the user terminals 100a and 100b. You can convey that you are done. In addition, the blockchain network 400 may transmit the content that the transaction for the first item is completed to the game server 200. In addition, the game server 200 may issue a query to the blockchain network 400 using the Tx ID to check the transaction history for the first item.

게임 서버(200)는 게임 서버(200) 내에서의 아이템 보관 공간에 위치한 제 1 아이템을 게임 서버(200) 내에서의 제 2 사용자에 의해 관리될 수 있는 제 2 사용자 인벤토리로 이동시킬 수 있다(717). The game server 200 may move the first item located in the item storage space in the game server 200 to a second user inventory that can be managed by a second user in the game server 200 ( 717).

추가적인 실시예에서, 게임 서버(200)는 제 2 사용자 단말(100b)로부터의 별도의 아이템 이관 통지를 수신하는 것에 응답하여, 게임 서버(200) 내에서의 아이템 보관 공간에 위치한 제 1 아이템을 게임 서버(200) 내에서의 제 2 사용자에 의해 관리될 수 있는 제 2 사용자 인벤토리로 이동시킬 수도 있다.In a further embodiment, the game server 200 plays the first item located in the item storage space in the game server 200 in response to receiving a separate item transfer notification from the second user terminal 100b. It can also be moved to a second user inventory that can be managed by a second user within the server 200.

게임 서버(200)는 거래 금액이 정산되었다는 내용(또는 거래가 완료되었다는 내용)을 사용자 단말들(100a, 100b)이 확인할 수 있도록 자신의 DB 상에 업데이트된 거래 이력 정보를 저장할 수 있다(721). 이러한 방식으로, 사용자 단말들(100a, 100b)은 게임 서버(200)에 접속하여 거래 이력 정보를 확인할 수 있다.The game server 200 may store updated transaction history information on its DB so that the user terminals 100a and 100b can confirm that the transaction amount has been settled (or that the transaction has been completed) (721). In this way, the user terminals 100a and 100b may access the game server 200 to check transaction history information.

본 개시내용의 일 실시예에서, 게임 서버(200)는 자신의 DB 상에 저장된 거래 이력 정보와 블록체인 네트워크(400)에 기록된 거래 이력 정보를 비교할 수 있다. 이러한 비교에 기초하여, 블록체인 네트워크(400)에 기록된 거래 이력 정보와 자신의 DB 상에 저장된 거래 이력 정보 간의 차이가 존재하는 경우, 게임 서버(200)는 블록체인 네트워크(400)에 기록된 거래 이력 정보에 우선순위를 둔다. 이러한 경우, 예를 들어, 게임 서버(200)는 자신의 DB에 기록된 거래 이력 정보를 블록체인 네트워크(400)에 기록된 거래 이력 정보로 대체할 수 있다.In one embodiment of the present disclosure, the game server 200 may compare transaction history information stored on its DB with transaction history information recorded in the blockchain network 400. Based on this comparison, when there is a difference between the transaction history information recorded in the blockchain network 400 and the transaction history information stored on its DB, the game server 200 is recorded in the blockchain network 400 Prioritize transaction history information. In this case, for example, the game server 200 may replace the transaction history information recorded in its DB with the transaction history information recorded in the blockchain network 400.

[도 8 설명] [Description of Fig. 8]

도 8은 본 개시내용의 일 실시예에 따른 아이템 거래 방식의 예시적인 순서도를 도시한다.8 shows an exemplary flowchart of an item trading scheme according to one embodiment of the present disclosure.

도 8에서 도시되는 순서도는 아이템 거래소 서버 및 블록체인 네트워크의 기능을 포함하는 게임 서버(200)에 의해 동작되는 게임 아이템 거래 기법을 예시적으로 표현한다. 도 8에서의 실시예는, 아이템 거래소 서버 및 블록체인 네트워크가 게임 서버로 통합된 형태의 실시예를 예시적으로 나타낸다. 도 8에서의 실시예들은 게임 서버(200)가 내부에 블록체인 네트워크를 포함하고 있기 때문에, 블록체인 네트워크에서의 트랜잭션 검증, 블록 생성, 합의 알고리즘 수행 및 블록 전파 등의 기능들이 게임 서버(200)에 의해 수행될 수 있다.The flowchart shown in FIG. 8 illustratively represents a game item trading technique operated by the game server 200 including the functions of the item exchange server and the blockchain network. The embodiment in FIG. 8 exemplarily shows an embodiment in which the item exchange server and the blockchain network are integrated into a game server. In the embodiments of FIG. 8, since the game server 200 includes a blockchain network therein, functions such as transaction verification, block generation, consensus algorithm execution, and block propagation in the blockchain network are game server 200. Can be performed by.

도 8에서 도시되는 내용에 대한 특징 중 도 3 내지 도 7과 관련하여 앞서 설명된 특징과 중복되는 특징에 대해서는 도 3 내지 도 7에 기재된 내용을 참고하고 여기에서는 그 설명을 생략하기로 한다.Of the features shown in FIG. 8, for features overlapping with the features described above with reference to FIGS. 3 to 7, the contents described in FIGS. 3 to 7 will be referred to, and the description thereof will be omitted.

도 8에서 도시되는 바와 같이, 제 1 사용자 단말(100a)은 게임 서버(200)로 제 1 아이템에 대한 거래 요청을 송신할 수 있다(801). As shown in FIG. 8, the first user terminal 100a may transmit a transaction request for the first item to the game server 200 (801).

게임 서버(200)는, 제 1 아이템이 거래 대상이 된 이후에 게임 내에서 소멸되거나 타인에게 이전되지 않도록 하기 위해서, 제 1 아이템을 제 1 사용자의 인벤토리로부터 게임 서버(200) 내의 별도의 아이템 보관 공간으로 이관시킬 수 있다(803). 이 경우, 제 1 아이템의 소유권은 제 1 사용자에게 그대로 있으나, 제 1 아이템은 게임 상에서 플레이 대상이 될 수 없도록 게임 서버(200) 내에서 처리될 수 있다.The game server 200 stores the first item from the inventory of the first user in the game server 200 in order to prevent the first item from being extinguished in the game or transferred to another person after the first item becomes a transaction target. It can be transferred to space (803). In this case, the ownership of the first item remains with the first user, but the first item may be processed in the game server 200 so that it cannot be a play target in the game.

게임 서버(200)는 제 1 사용자로부터의 제 1 아이템에 대한 거래 요청 정보를 분석하여, 해당 거래 요청 정보가 반영된 스마트 컨트랙트를 생성하고 그리고 생성된 스마트 컨트랙트가 포함된 트랜잭션을 생성할 수 있다(805). The game server 200 may analyze the transaction request information for the first item from the first user, generate a smart contract reflecting the transaction request information, and generate a transaction including the generated smart contract (805) ).

게임 서버(200)는 트랜잭션을 블록체인 네트워크로 발행할 수 있으며, 블록체인 네트워크에서 해당 트랜잭션이 전파되고 기록될 수 있다(807). 해당 트랜잭션에 의해서 제 1 아이템은 블록체인 네트워크의 주소를 갖는 일시적 아이템 수용 공간으로 이동될 수 있다. 또한, 해당 트랜잭션에 의해서 제 1 아이템은 블록체인 네트워크 상에서의 거래 대상이 됨이 기록될 수 있다. The game server 200 may issue a transaction to the blockchain network, and the transaction may be propagated and recorded in the blockchain network (807). By the transaction, the first item can be moved to the temporary item accommodating space having the address of the blockchain network. In addition, it can be recorded that the first item is subject to a transaction on the blockchain network by the corresponding transaction.

게임 서버(200)는 블록체인 네트워크를 포함할 수 있다. 즉, 게임 서버(200)는 복수의 컴퓨팅 장치들을 포함할 수 있으며, 이러한 복수의 컴퓨팅 장치들 중 둘 이상의 컴퓨팅 장치들이 블록체인 네트워크를 형성할 수 있다. The game server 200 may include a blockchain network. That is, the game server 200 may include a plurality of computing devices, and two or more of these computing devices may form a blockchain network.

게임 서버(200)라는 하나의 엔티티에 의해 블록체인 네트워크가 관리되기 때문에, 이 경우 블록체인 네트워크는 Private 블록체인으로 동작할 수 있다. Private 블록체인으로 동작하는 경우, 게임 서버(200)의 관리 하에서 Public 블록체인에 비해 소수의 노드들에 의해 블록체인 네트워크가 구현되기 때문에, 검증 및 합의 과정이 빨라 아이템 거래를 수행하는데 있어서 사용자 경험이 증대될 수 있을 뿐만 아니라 네트워크 리소스 및 컴퓨팅 리소스의 효율적인 활용이 가능해질 수 있다.Since the blockchain network is managed by one entity called the game server 200, in this case, the blockchain network may operate as a private blockchain. When operating as a private blockchain, since the blockchain network is implemented by a small number of nodes compared to the public blockchain under the management of the game server 200, the verification and consensus process is fast, so the user experience in performing item transactions is fast. Not only can it be increased, but also efficient use of network resources and computing resources can be made possible.

게임 서버(200)가 관리하는 블록체인 네트워크, 또한 네트워크 상의 노드들이 검증되고 분산된 장부(예컨대, 블록 또는 블록 내 데이터)를 공유할 수 있으며 이에 따라 블록체인 기술의 주요 특징인 데이터의 위조 및 변조가 불가능해진다는 장점이 달성될 수 있다. The blockchain network managed by the game server 200, and nodes on the network can share the verified and distributed ledger (e.g., data in blocks or blocks), thereby forging and altering data, which is a key characteristic of blockchain technology. The advantage that it becomes impossible can be achieved.

여기서, 게임 서버(200)가 관리하는 블록체인 네트워크는, 게임 서버(200)의 소유인 컴퓨팅 장치들만이 허가된 노드로서 블록체인 네트워크를 구성할 수 있는 것을 의미하지만, 추가적으로 게임 서버(200)의 제어 하에 있는 외부 노드들 또는 게임 서버(200)의 허가를 받은 외부 노드들 또한 블록체인 네트워크를 구성할 수 있다.Here, the blockchain network managed by the game server 200 means that only the computing devices owned by the game server 200 can configure the blockchain network as an authorized node, but additionally, control of the game server 200 Underneath external nodes or external nodes authorized by the game server 200 may also constitute a blockchain network.

추가적인 실시예로서, 게임 서버(200) 및 아이템 거래소 서버(300)가 컨소시움(Consortium) 형태로 블록체인 네트워크를 구성할 수도 있다. 이러한 실시예의 경우, 게임 서버(200) 및 아이템 거래소 서버(300)라는 복수의 엔티티 혹은 기관의 제어 하에 블록체인 네트워크가 구성될 수 있으며, 각각의 엔티티는 블록체인 네트워크 내에서 동일하거나 또는 상이한 권한을 가질 수 있다. 예를 들어, 각각의 엔티티가 상이한 권한을 갖는 경우, 게임 서버(200)와 관련된 노드들만이 합의 과정에 참여할 수 있고 아이템 거래소 서버(300)와 관련된 노드들은 트랜잭션을 생성하거나 검증하는 역할만을 수행할 수도 있다.As an additional embodiment, the game server 200 and the item exchange server 300 may configure a blockchain network in the form of a consortium. In the case of this embodiment, the blockchain network may be configured under the control of a plurality of entities or institutions, such as the game server 200 and the item exchange server 300, and each entity may have the same or different rights within the blockchain network. Can have For example, when each entity has a different authority, only nodes related to the game server 200 can participate in the consensus process, and nodes related to the item exchange server 300 perform only a role of creating or verifying a transaction. It might be.

게임 서버(200)는 제 1 아이템이 거래 대상이 된다는 신호를 사용자 단말들(100a, 100b)에 전달하거나 또는 게임 서버(200)에 해당 내용을 업로드하는 형태로 사용자 단말들(100a 및 100b)에게 제 1 아이템이 거래 대상이 됨을 공지할 수 있다(809). 이러한 거래 대상이 된다는 신호는, 예를 들어, 제 1 아이템에 대한 식별 정보, 제 1 아이템에 대한 거래 조건 정보, 제 1 아이템의 소유주 정보, 제 1 아이템과 관련된 블록체인 네트워크의 트랜잭션 ID 정보, 및 제 1 아이템과 관련된 스마트 컨트랙트가 저장된 컨트랙트 어카운트의 주소 정보 중 적어도 하나의 정보를 포함할 수 있다. 사용자 단말들(100a, 100b)은 게임 서버(200)에 접속하여, 거래 대상이 되는 게임 아이템들의 리스트 및 거래 이력 정보를 확인할 수 있다.The game server 200 transmits a signal to the user terminals 100a and 100b that the first item is a transaction target, or uploads the content to the game server 200 to the user terminals 100a and 100b. It may be announced that the first item is the target of the transaction (809). The signal that the transaction is targeted includes, for example, identification information for the first item, transaction condition information for the first item, owner information of the first item, transaction ID information of the blockchain network associated with the first item, and The smart contract related to the first item may include at least one of address information of a contract account stored therein. The user terminals 100a and 100b may access the game server 200 to check a list of game items to be traded and transaction history information.

게임 서버(200)는 제 1 아이템이 거래 대상이 되도록 일시적 아이템 수용 공간으로 이동시키기 위한 트랜잭션을 발행한 이후에, 해당 트랜잭션에 포함된 스마트 컨트랙트가 저장되는 컨트랙트 어카운트 정보를 획득할 수 있다. The game server 200 may obtain contract account information in which the smart contract included in the transaction is stored after issuing a transaction for moving the first item to the temporary item accommodating space so that the first item is a transaction target.

제 1 아이템에 대한 거래 조건을 확인한 제 2 사용자 단말(100b)이 게임 서버(200)로 제 1 아이템에 대한 구매 요청 메시지를 전달할 수 있다(811). The second user terminal 100b confirming the transaction conditions for the first item may transmit a purchase request message for the first item to the game server 200 (811).

게임 서버(200)는 제 2 사용자 단말(100b)로부터의 구매 요청에 포함된 정보에 기초하여, 블록체인 네트워크로 스마트 컨트랙트 호출을 위한 트랜잭션을 생성하고 이를 발행할 수 있다(813). The game server 200 may generate and issue a transaction for a smart contract call to the blockchain network based on the information included in the purchase request from the second user terminal 100b (813).

본 개시내용의 일 실시예에서, 스마트 컨트랙트 호출을 위한 트랜잭션은 예를 들어, 제 2 사용자 또는 게임 서버의 개인키 정보(서명 정보), 및 스마트 컨트랙트가 저장된 컨트랙트 어카운트에 대한 주소 정보를 포함할 수 있다. In one embodiment of the present disclosure, the transaction for the smart contract call may include, for example, private key information (signature information) of the second user or game server, and address information for the contract account in which the smart contract is stored. have.

본 개시내용의 일 실시예에서, 스마트 컨트랙트를 호출하기 위한 트랜잭션을 생성하는데 있어서, 제 2 사용자 및 게임 서버(200) 중 적어도 하나의 개인키가 사용될 수 있다. 개인키에 기반한 서명은 트랜잭션의 입력값에 기록될 수 있다. In one embodiment of the present disclosure, in creating a transaction for invoking a smart contract, a private key of at least one of the second user and game server 200 may be used. The signature based on the private key can be recorded in the input value of the transaction.

예를 들어, 제 2 사용자의 개인키 및 게임 서버(200)의 개인키(즉, 2개의 개인키들)로부터의 서명을 통하여 트랜잭션이 발생될 수 있다. 이러한 상황에서, 해당 트랜잭션을 블록체인 네트워크에서 검증하고자 하는 경우, 제 2 사용자의 개인키와 대응되는 공개키 및 게임 서버(200)의 개인키와 대응되는 공개키가 사용될 수 있다. For example, a transaction may be generated through the signature of the second user's private key and the private key of the game server 200 (ie, two private keys). In this situation, in order to verify the transaction in the blockchain network, a public key corresponding to the private key of the second user and a public key corresponding to the private key of the game server 200 may be used.

다른 예시로, 게임 서버(200)에 접속한 제 2 사용자에 의해 제 2 사용자의 본인 인증이 이루어진 경우, 게임 서버(200)는 자신의 개인키를 사용하여 트랜잭션을 생성 및 발행할 수 있다. 이러한 상황에서, 해당 트랜잭션을 게임 서버(200)의 블록체인 네트워크에서 검증하고자 하는 경우, 게임 서버(200)의 개인키와 대응되는 공개키가 사용될 수 있다. As another example, when the second user's authentication is performed by the second user accessing the game server 200, the game server 200 may generate and issue a transaction using its own private key. In this situation, in order to verify the transaction in the blockchain network of the game server 200, a public key corresponding to the private key of the game server 200 may be used.

게임 서버(200)의 블록체인 네트워크에서 발행된 트랜잭션이 검증되고, 그리고 합의 알고리즘을 통하여 생성된 블록에 해당 트랜잭션이 포함되어 공유될 수 있다(815). 상기 절차에 의해, 제 1 아이템의 구매를 위한 트랜잭션이 게임 서버(200)의 블록체인 네트워크에 기록될 수 있으며, 기록된 트랜잭션 내에 포함된 정보는 무결성이 보장될 수 있는 상태로 보관될 수 있다. 또한, 제 1 아이템의 구매를 위한 트랜잭션이 기록됨에 따라, 상기 트랜잭션에 포함된 스마트 컨트랙트를 호출하기 위한 정보에 기초하여, 해당 스마트 컨트랙트가 호출 및 실행될 수 있다.The transaction issued in the blockchain network of the game server 200 is verified, and the corresponding transaction is included and shared in the block generated through the consensus algorithm (815). By the above procedure, a transaction for the purchase of the first item can be recorded in the blockchain network of the game server 200, and the information included in the recorded transaction can be stored in a state in which integrity can be guaranteed. In addition, as a transaction for the purchase of the first item is recorded, the corresponding smart contract may be called and executed based on information for calling the smart contract included in the transaction.

블록체인 네트워크 상에서의 아이템 거래 기록이 완료되는 경우, 게임 서버(200)는 사용자 단말들(100a, 100b)로 제 1 아이템에 대한 제 1 사용자와 제 2 사용자 간의 거래가 완료되었다는 내용을 전달할 수 있다. When the item transaction record on the blockchain network is completed, the game server 200 may transmit to the user terminals 100a and 100b that the transaction between the first user and the second user for the first item is completed.

또한, 게임 서버(200)는 Tx ID를 사용하여 블록체인 네트워크로 쿼리를 발행(내부 통신 기반)하여, 제 1 아이템에 대한 거래 이력을 확인할 수도 있다. 이러한 경우, 게임 서버(200)는 자신의 DB에 해당 거래 정보를 업로드함으로써, 게임 서버(200)에 액세스한 사용자 단말(100a 및 100b)이 이를 확인할 수 있도록 허용할 수 있다.In addition, the game server 200 may issue a query to the blockchain network using Tx ID (based on internal communication) to check the transaction history for the first item. In this case, the game server 200 may allow the user terminals 100a and 100b accessing the game server 200 to check this by uploading the transaction information to their DB.

게임 서버(200)는 게임 서버(200) 내에서의 아이템 보관 공간에 위치한 제 1 아이템을 게임 서버(200) 내에서의 제 2 사용자에 의해 관리될 수 있는 제 2 사용자 인벤토리로 이동시킬 수 있다(817). The game server 200 may move the first item located in the item storage space in the game server 200 to a second user inventory that can be managed by a second user in the game server 200 ( 817).

추가적인 실시예에서, 게임 서버(200)는 제 2 사용자 단말(100b)로부터의 별도의 아이템 이관 통지를 수신하는 것에 응답하여, 게임 서버(200) 내에서의 아이템 보관 공간에 위치한 제 1 아이템을 게임 서버(200) 내에서의 제 2 사용자에 의해 관리될 수 있는 제 2 사용자 인벤토리로 이동시킬 수도 있다.In a further embodiment, the game server 200 plays the first item located in the item storage space in the game server 200 in response to receiving a separate item transfer notification from the second user terminal 100b. It can also be moved to a second user inventory that can be managed by a second user within the server 200.

게임 서버(200)의 블록체인 네트워크내에서의 스마트 컨트랙트가 실행됨에 따라서, 제 1 아이템의 소유권이 제 2 사용자로 변경되고, 제 1 아이템의 거래 금액의 적어도 일부를 제 2 사용자의 어카운트로부터 제 1 사용자의 어카운트로 전달되며, 그리고 제 1 아이템이 블록체인 네트워크 상의 주소를 갖는 일시적 아이템 수용 공간으로부터 제 2 사용자와 관련된 주소로 이동될 수 있으며, 이로 인해 아이템 거래 비용 정산 절차가 이루어질 수 있다(819). As the smart contract in the blockchain network of the game server 200 is executed, ownership of the first item is changed to the second user, and at least a part of the transaction amount of the first item is transferred from the account of the second user to the first. It is delivered to the user's account, and the first item can be moved from the temporary item accommodating space having the address on the blockchain network to the address associated with the second user, whereby the item transaction cost settlement procedure can be performed (819). .

게임 서버(200)는 거래 금액이 정산되었다는 내용(또는 거래가 완료되었다는 내용)을 사용자 단말들(100a, 100b)이 확인할 수 있도록 자신의 DB 상에 업데이트된 거래 이력 정보를 저장할 수 있다(821). 이러한 방식으로, 사용자 단말들(100a, 100b)은 게임 서버(200)에 접속하여 거래 이력 정보를 확인할 수 있다.The game server 200 may store updated transaction history information on its DB so that the user terminals 100a and 100b can confirm that the transaction amount has been settled (or that the transaction has been completed) (821). In this way, the user terminals 100a and 100b may access the game server 200 to check transaction history information.

[도 9 설명][Description of Fig. 9]

도 9는 본 개시내용의 일 실시예에 따른 아이템 거래 방식의 예시적인 순서도를 도시한다.9 shows an exemplary flow chart of an item trading scheme according to one embodiment of the present disclosure.

도 9에서 도시되는 순서도는 게임 서버(200) 및 아이템 거래소 서버(300)(블록체인 네트워크의 기능을 포함함)에 의해 동작되는 게임 아이템 거래 기법을 예시적으로 표현한다. 도 9에서의 실시예는, 게임 서버(200)와는 별도의 엔티티인 아이템 거래소 서버(300)에 블록체인 네트워크가 통합된 형태의 실시예를 예시적으로 나타낸다. 도 9에서의 실시예들은 아이템 거래소 서버(300)가 내부에 블록체인 네트워크를 포함하고 있기 때문에, 블록체인 네트워크에서의 트랜잭션 검증, 블록 생성, 합의 알고리즘 수행 및 블록 전파 등의 기능들이 아이템 거래소 서버(300)에 의해 수행될 수 있다.The flowchart shown in FIG. 9 illustratively represents a game item trading technique operated by the game server 200 and the item exchange server 300 (including functions of a blockchain network). The embodiment in FIG. 9 exemplarily shows an embodiment in which a blockchain network is integrated in an item exchange server 300 that is a separate entity from the game server 200. In the embodiments of FIG. 9, since the item exchange server 300 includes a blockchain network therein, functions such as transaction verification, block generation, consensus algorithm execution, and block propagation in the blockchain network are included in the item exchange server ( 300).

도 9에서 도시되는 내용에 대한 특징 중 도 3 내지 도 8과 관련하여 앞서 설명된 특징과 중복되는 특징에 대해서는 도 3 내지 도 8에 기재된 내용을 참고하고 여기에서는 그 설명을 생략하기로 한다.Of the features shown in FIG. 9, for features overlapping with the features described above in connection with FIGS. 3 to 8, the contents described in FIGS. 3 to 8 will be referred to, and the description thereof will be omitted here.

도 9에서 도시되는 바와 같이, 제 1 사용자 단말(100a)은 아이템 거래소 서버(300)로 제 1 아이템에 대한 거래 요청을 송신할 수 있다(901). As shown in FIG. 9, the first user terminal 100a may transmit a transaction request for the first item to the item exchange server 300 (901 ).

아이템 거래소 서버(300)는 게임 서버(200)로 제 1 아이템에 대한 보관 요청 메시지를 전달할 수 있다(903).The item exchange server 300 may transmit a storage request message for the first item to the game server 200 (903).

게임 서버(200)는, 제 1 아이템이 거래 대상이 된 이후에 게임 내에서 소멸되거나 타인에게 이전되지 않도록 하기 위해서, 제 1 아이템을 제 1 사용자의 인벤토리로부터 게임 서버(200) 내의 별도의 아이템 보관 공간으로 이관시킬 수 있다(905). 이 경우, 제 1 아이템의 소유권은 제 1 사용자에게 그대로 있으나, 제 1 아이템은 게임 상에서 플레이 대상이 될 수 없도록 게임 서버(200) 내에서 처리될 수 있다.The game server 200 stores the first item from the inventory of the first user in the game server 200 in order to prevent the first item from being extinguished in the game or transferred to another person after the first item becomes a transaction target. Can be transferred to space (905). In this case, the ownership of the first item remains with the first user, but the first item may be processed in the game server 200 so that it cannot be a play target in the game.

아이템 거래소 서버(300)는 제 1 사용자로부터의 제 1 아이템에 대한 거래 요청 정보를 분석하여, 해당 거래 요청 정보가 반영된 스마트 컨트랙트를 생성하고 그리고 생성된 스마트 컨트랙트가 포함된 트랜잭션을 생성하고 이를 블록체인 네트워크로 발행할 수 있다(907). The item exchange server 300 analyzes transaction request information for the first item from the first user, generates a smart contract reflecting the transaction request information, and creates a transaction including the generated smart contract and blocks it It can be published over the network (907).

해당 트랜잭션에 의해서 제 1 아이템은 블록체인 네트워크의 주소를 갖는 일시적 아이템 수용 공간으로 이동될 수 있다. 또한, 해당 트랜잭션에 의해서 제 1 아이템은 블록체인 네트워크 상에서의 거래 대상이 된다는 내용이 기록될 수 있다. By the transaction, the first item can be moved to the temporary item accommodating space having the address of the blockchain network. In addition, it may be recorded that the first item is a transaction target on the blockchain network by the corresponding transaction.

전술한 바와 같이, 아이템 거래소 서버(300)는 블록체인 네트워크를 포함할 수 있다. 아이템 거래소 서버(300)는 복수의 컴퓨팅 장치들을 포함할 수 있으며, 이러한 복수의 컴퓨팅 장치들 중 둘 이상의 컴퓨팅 장치들이 블록체인 네트워크를 형성할 수 있다. As described above, the item exchange server 300 may include a blockchain network. The item exchange server 300 may include a plurality of computing devices, and two or more computing devices among these plurality of computing devices may form a blockchain network.

아이템 거래소 서버(300)라는 하나의 엔티티에 의해 블록체인 네트워크가 관리되기 때문에, 이 경우 블록체인 네트워크는 Private 블록체인으로 동작할 수 있다. Private 블록체인으로 동작하는 경우, 아이템 거래소 서버(300)의 관리 하에서 Public 블록체인에 비해 소수의 노드들에 의해 블록체인 네트워크가 구현되기 때문에, 검증 및 합의 과정이 빨라 아이템 거래를 수행하는데 있어서 사용자 경험이 증대될 수 있을 뿐만 아니라 네트워크 리소스 및 컴퓨팅 리소스의 효율적인 활용이 가능해질 수 있다.Since the blockchain network is managed by one entity called the item exchange server 300, in this case, the blockchain network may operate as a private blockchain. When operating as a private blockchain, since the blockchain network is implemented by a small number of nodes compared to the public blockchain under the management of the item exchange server 300, the verification and consensus process is fast, so the user experience in performing item trading Not only can this increase, but also the efficient utilization of network resources and computing resources can be enabled.

아이템 거래소 서버(300)가 관리하는 블록체인 네트워크, 또한 네트워크 상의 노드들이 검증되고 분산된 장부(예컨대, 블록 또는 블록 내 데이터)를 공유할 수 있으며 이에 따라 블록체인 기술의 주요 특징인 데이터의 위조 및 변조가 불가능해진다는 장점이 달성될 수 있다. The blockchain network managed by the item exchange server 300, and nodes on the network can share the verified and distributed ledger (e.g., data in blocks or blocks), thereby forging and counterfeiting data, which is the main characteristic of blockchain technology. The advantage that modulation becomes impossible can be achieved.

여기서, 아이템 거래소 서버(300)가 관리하는 블록체인 네트워크는, 아이템 거래소 서버(300)의 소유인 컴퓨팅 장치들만이 허가된 노드로서 블록체인 네트워크를 구성할 수 있는 것을 의미하지만, 추가적으로 아이템 거래소 서버(300)의 제어 하에 있는 외부 노드들 또는 아이템 거래소 서버(300)의 허가를 받은 외부 노드들 또한 블록체인 네트워크를 구성할 수 있다.Here, the blockchain network managed by the item exchange server 300 means that only the computing devices owned by the item exchange server 300 can configure the blockchain network as an authorized node, but additionally, the item exchange server 300 ), or external nodes under the control of the item exchange server 300 may also form a blockchain network.

추가적인 실시예로서, 게임 서버(200) 및 아이템 거래소 서버(300)가 컨소시움 형태로 블록체인 네트워크를 구성할 수도 있다. 이러한 실시예의 경우, 게임 서버(200) 및 아이템 거래소 서버(300)라는 복수의 엔티티 혹은 기관의 제어 하에 블록체인 네트워크가 구성될 수 있으며, 각각의 엔티티는 블록체인 네트워크 내에서 동일하거나 또는 상이한 권한을 가질 수 있다. 예를 들어, 각각의 엔티티가 상이한 권한을 갖는 경우, 아이템 거래소 서버(300)와 관련된 노드들만이 합의 과정에 참여할 수 있고 게임 서버(200)와 관련된 노드들은 트랜잭션을 생성하거나 검증하는 역할만을 수행할 수도 있다.As an additional embodiment, the game server 200 and the item exchange server 300 may configure a blockchain network in the form of a consortium. In the case of this embodiment, the blockchain network may be configured under the control of a plurality of entities or institutions, such as the game server 200 and the item exchange server 300, and each entity may have the same or different rights within the blockchain network. Can have For example, if each entity has a different authority, only nodes related to the item exchange server 300 can participate in the consensus process, and nodes related to the game server 200 perform only the role of creating or verifying a transaction. It might be.

아이템 거래소 서버(300)는 제 1 아이템이 거래 대상이 된다는 신호를 사용자 단말들(100a, 100b) 및 게임 서버(200)에 전달하거나 또는 자신의 DB에 해당 내용을 업로드하는 형태로 제 1 아이템이 거래 대상이 됨을 공지할 수 있다(911). 이러한 거래 대상이 된다는 신호는, 예를 들어, 제 1 아이템에 대한 식별 정보, 제 1 아이템에 대한 거래 조건 정보, 제 1 아이템의 소유주 정보, 제 1 아이템과 관련된 블록체인 네트워크의 트랜잭션 ID 정보, 및 제 1 아이템과 관련된 스마트 컨트랙트가 저장된 컨트랙트 어카운트의 주소 정보 중 적어도 하나의 정보를 포함할 수 있다. 사용자 단말들(100a, 100b)은 아이템 거래소 서버(300) 및/또는 게임 서버(200)에 접속하여, 거래 대상이 되는 게임 아이템들의 리스트 및 거래 이력 정보를 확인할 수 있다.The item exchange server 300 transmits a signal that the first item is a transaction target to the user terminals 100a and 100b and the game server 200, or uploads the corresponding content to its DB, and the first item is It can be announced that the transaction is subject (911). The signal that the transaction is targeted includes, for example, identification information for the first item, transaction condition information for the first item, owner information of the first item, transaction ID information of the blockchain network associated with the first item, and The smart contract related to the first item may include at least one of address information of a contract account stored therein. The user terminals 100a and 100b may access the item exchange server 300 and/or game server 200 to check a list of game items to be traded and transaction history information.

아이템 거래소 서버(300)는 제 1 아이템이 거래 대상이 되도록 일시적 아이템 수용 공간으로 이동시키기 위한 트랜잭션을 발행한 이후에, 해당 트랜잭션에 포함된 스마트 컨트랙트가 저장되는 컨트랙트 어카운트 정보를 획득할 수 있다. The item exchange server 300 may obtain contract account information in which the smart contract included in the corresponding transaction is stored after issuing a transaction for moving the temporary item to the temporary item accommodating space so that the first item becomes a transaction target.

제 1 아이템에 대한 거래 조건을 확인한 제 2 사용자 단말(100b)이 아이템 거래소 서버(300)로 제 1 아이템에 대한 구매 요청 메시지를 전달할 수 있다(913). The second user terminal 100b confirming the transaction condition for the first item may transmit a purchase request message for the first item to the item exchange server 300 (913).

아이템 거래소 서버(300)는 제 2 사용자 단말(100b)로부터의 구매 요청에 포함된 정보에 기초하여, 블록체인 네트워크로 스마트 컨트랙트 호출을 위한 트랜잭션을 생성하고 이를 발행할 수 있다(915). The item exchange server 300 may generate and issue a transaction for a smart contract call to the blockchain network based on the information included in the purchase request from the second user terminal 100b (915).

본 개시내용의 일 실시예에서, 스마트 컨트랙트 호출을 위한 트랜잭션은 예를 들어, 제 2 사용자 또는 게임 서버의 개인키 정보(서명 정보), 및 스마트 컨트랙트가 저장된 컨트랙트 어카운트에 대한 주소 정보를 포함할 수 있다. In one embodiment of the present disclosure, the transaction for the smart contract call may include, for example, private key information (signature information) of the second user or game server, and address information for the contract account in which the smart contract is stored. have.

본 개시내용의 일 실시예에서, 스마트 컨트랙트를 호출하기 위한 트랜잭션을 생성하는데 있어서, 제 2 사용자 및 아이템 거래소 서버(300) 중 적어도 하나의 개인키가 사용될 수 있다. 개인키에 기반한 서명은 트랜잭션의 입력값에 기록될 수 있다. In one embodiment of the present disclosure, in creating a transaction for invoking a smart contract, a private key of at least one of the second user and item exchange server 300 may be used. The signature based on the private key can be recorded in the input value of the transaction.

예를 들어, 제 2 사용자의 개인키 및 아이템 거래소 서버(300)의 개인키(즉, 2개의 개인키들)로부터의 서명을 통하여 트랜잭션이 발생될 수 있다. 이러한 상황에서, 해당 트랜잭션을 블록체인 네트워크에서 검증하고자 하는 경우, 제 2 사용자의 개인키와 대응되는 공개키 및 아이템 거래소 서버(300)의 개인키와 대응되는 공개키가 사용될 수 있다. For example, a transaction may be generated through the signature of the second user's private key and the private key of the item exchange server 300 (ie, two private keys). In this situation, in order to verify the transaction in the blockchain network, a public key corresponding to the private key of the second user and a public key corresponding to the private key of the item exchange server 300 may be used.

다른 예시로, 게임 서버(200)에 접속한 제 2 사용자에 의해 제 2 사용자의 본인 인증이 이루어진 경우, 게임 서버(200)는 제 2 사용자가 인증되었음을 아이템 거래소 서버(300)로 알릴 수 있다. 이 경우, 아이템 거래소 서버(300)는 자신의 개인키를 사용하여 트랜잭션을 생성 및 발행할 수 있다. 이러한 상황에서, 해당 트랜잭션을 블록체인 네트워크에서 검증하고자 하는 경우, 아이템 거래소 서버(300)의 개인키와 대응되는 공개키가 사용될 수 있다. As another example, when the second user is authenticated by the second user accessing the game server 200, the game server 200 may notify the item exchange server 300 that the second user has been authenticated. In this case, the item exchange server 300 may generate and issue a transaction using its own private key. In this situation, when the transaction is to be verified in the blockchain network, a public key corresponding to the private key of the item exchange server 300 may be used.

추가적으로, 게임 서버(200)에 접속한 제 2 사용자에 의해 제 2 사용자의 본인 인증이 이루어진 경우, 게임 서버(200)는 제 2 사용자가 인증되었음을 아이템 거래소 서버(300)로 알리면서 자신의 개인키를 전달할 수도 있다. 이 경우, 아이템 거래소 서버(300)는 자신의 개인키 및 게임 서버(200)의 개인키를 사용하여 트랜잭션을 생성 및 발행할 수 있다. 이러한 상황에서, 해당 트랜잭션을 블록체인 네트워크에서 검증하고자 하는 경우, 아이템 거래소 서버(300)의 개인키와 대응되는 공개키 및 게임 서버(200)의 개인키와 대응되는 공개키가 사용될 수 있다. Additionally, when the user authentication of the second user is made by the second user who accesses the game server 200, the game server 200 informs the item exchange server 300 that the second user has been authenticated, and provides his/her own private key. You can also pass In this case, the item exchange server 300 may generate and issue a transaction using its own private key and the private key of the game server 200. In this situation, in order to verify the transaction in the blockchain network, a public key corresponding to the private key of the item exchange server 300 and a public key corresponding to the private key of the game server 200 may be used.

아이템 거래소 서버(300)의 블록체인 네트워크에서 발행된 트랜잭션이 검증되고, 그리고 합의 알고리즘을 통하여 생성된 블록에 해당 트랜잭션이 포함되어 공유될 수 있다(917). 이러한 절차에 의해, 제 1 아이템의 구매를 위한 트랜잭션이 아이템 거래소 서버(300)의 블록체인 네트워크에 기록될 수 있으며, 기록된 트랜잭션 내에 포함된 정보는 무결성이 보장될 수 있는 상태로 보관될 수 있다. 또한, 제 1 아이템의 구매를 위한 트랜잭션이 기록됨에 따라, 상기 트랜잭션에 포함된 스마트 컨트랙트를 호출하기 위한 정보에 기초하여, 해당 스마트 컨트랙트가 호출 및 실행될 수 있다.The transaction issued in the blockchain network of the item exchange server 300 is verified, and the corresponding transaction is included in the block generated through the consensus algorithm and can be shared (917). By this procedure, a transaction for the purchase of the first item can be recorded in the blockchain network of the item exchange server 300, and the information included in the recorded transaction can be stored in a state in which integrity can be guaranteed. . In addition, as a transaction for the purchase of the first item is recorded, the corresponding smart contract may be called and executed based on information for calling the smart contract included in the transaction.

아이템 거래소 서버(300)의 블록체인 네트워크 상에서의 아이템 거래 기록이 완료되는 경우, 제 1 사용자와 제 2 사용자 간의 아이템 거래에서 수반되는 대한 비용이 자동적으로 정산될 수 있다(919). 아이템 거래소 서버(300)의 블록체인 네트워크내에서의 스마트 컨트랙트가 실행됨에 따라서, 제 1 아이템의 소유권이 제 2 사용자로 변경되고, 제 1 아이템의 거래 금액의 적어도 일부를 제 2 사용자의 어카운트로부터 제 1 사용자의 어카운트로 전달되며, 그리고 제 1 아이템이 블록체인 네트워크 상의 주소를 갖는 일시적 아이템 수용 공간으로부터 제 2 사용자와 관련된 주소로 이동될 수 있으며, 이로 인해 아이템 거래 비용 정산 절차가 이루어질 수 있다. When the item transaction record on the blockchain network of the item exchange server 300 is completed, the cost associated with the item transaction between the first user and the second user may be automatically settled (919). As the smart contract in the blockchain network of the item exchange server 300 is executed, ownership of the first item is changed to the second user, and at least a part of the transaction amount of the first item is removed from the account of the second user. It is delivered to the account of the 1 user, and the first item can be moved from the temporary item accommodating space having the address on the blockchain network to the address associated with the second user, whereby the item transaction cost settlement procedure can be performed.

아이템 거래소 서버(300)는 게임 서버(200) 및/또는 사용자 단말들(100a, 100b)로 제 1 아이템에 대한 제 1 사용자와 제 2 사용자 간의 거래가 완료되었다는 내용을 전달할 수 있다(921). The item exchange server 300 may transmit to the game server 200 and/or user terminals 100a and 100b that the transaction between the first user and the second user for the first item is completed (921).

또한, 아이템 거래소 서버(300) 및/또는 게임 서버(200)는 Tx ID를 사용하여 블록체인 네트워크로 쿼리를 발행하여, 제 1 아이템에 대한 거래 이력을 확인할 수도 있다. 이러한 경우, 아이템 거래소 서버(300) 및/또는 게임 서버(200)는 자신의 DB에 해당 거래 정보를 업로드함으로써, 게임 서버(200)에 액세스한 사용자 단말(100a 및 100b)이 이를 확인할 수 있도록 허용할 수 있다.In addition, the item exchange server 300 and/or the game server 200 may issue a query to the blockchain network using the Tx ID to check the transaction history for the first item. In this case, the item exchange server 300 and/or game server 200 allows the user terminals 100a and 100b accessing the game server 200 to check this by uploading the corresponding transaction information to their DB can do.

게임 서버(200)는 게임 서버(200) 내에서의 아이템 보관 공간에 위치한 제 1 아이템을 게임 서버(200) 내에서의 제 2 사용자에 의해 관리될 수 있는 제 2 사용자 인벤토리로 이동시킬 수 있다(923). The game server 200 may move the first item located in the item storage space in the game server 200 to a second user inventory that can be managed by a second user in the game server 200 ( 923).

추가적인 실시예에서, 게임 서버(200)는 제 2 사용자 단말(100b)로부터의 별도의 아이템 이관 통지를 수신하는 것에 응답하여, 게임 서버(200) 내에서의 아이템 보관 공간에 위치한 제 1 아이템을 게임 서버(200) 내에서의 제 2 사용자에 의해 관리될 수 있는 제 2 사용자 인벤토리로 이동시킬 수도 있다.In a further embodiment, the game server 200 plays the first item located in the item storage space in the game server 200 in response to receiving a separate item transfer notification from the second user terminal 100b. It can also be moved to a second user inventory that can be managed by a second user within the server 200.

아이템 거래소 서버(300)는 거래 금액이 정산되었다는 내용(또는 거래가 완료되었다는 내용)을 사용자 단말들(100a, 100b)이 확인할 수 있도록 자신의 DB 상에 업데이트된 거래 이력 정보를 저장할 수 있다(925). 추가적으로, 아이템 거래소 서버(300)는 거래가 완료되었다는 내용을 게임 서버(200)로 전달하고, 게임 서버(200)가 이를 자신의 DB 상에 반영할 수 있다. 이러한 방식으로, 사용자 단말들(100a, 100b)은 아이템 거래소 서버(300) 또는 게임 서버(200)에 접속하여 거래 이력 정보를 확인할 수 있다.The item exchange server 300 may store updated transaction history information on its DB so that user terminals 100a and 100b can confirm that the transaction amount has been settled (or that the transaction has been completed) (925). . Additionally, the item exchange server 300 may transmit the content that the transaction is completed to the game server 200, and the game server 200 may reflect it on its DB. In this way, the user terminals 100a and 100b may access the item exchange server 300 or the game server 200 to check transaction history information.

[도 10 설명] [Description of Fig. 10]

도 10은 본 개시내용의 일 실시예에 따른 블록체인 네트워크(400)에서의 아이템 거래 방식을 예시적으로 도시한다. 도 10에서는 게임 아이템 거래를 수행하기 위하여 블록체인 네트워크(400)에서 트랜잭션의 수신에 응답하여 어떠한 방식으로 동작하는 지를 예시적으로 도시한다.10 exemplarily illustrates an item transaction method in the blockchain network 400 according to an embodiment of the present disclosure. 10 exemplarily shows how the blockchain network 400 operates in response to the receipt of a transaction in order to perform a game item transaction.

도 10에서의 클라이언트 A(1000a) 및 클라이언트 B(1000b)는 게임 서버(200), 아이템 거래소 서버(300) 및 사용자 단말(100a 및 100b) 중 적어도 하나와 대응될 수 있다.The client A 1000a and the client B 1000b in FIG. 10 may correspond to at least one of the game server 200, the item exchange server 300, and the user terminals 100a and 100b.

클라이언트 A(1000a)는 아이템 거래 요청을 위한 제 1 트랜잭션(1010)을 생성할 수 있다. 클라이언트 A(1000a)는 다양한 거래 형태에 입력에 따라 이를 반영하기 위한 스마트 컨트랙트를 생성하고 그리고 생성된 스마트 컨트랙트를 제 1 트랜잭션(1010)에 포함시킬 수 있다. The client A 1000a may generate a first transaction 1010 for requesting an item transaction. The client A 1000a may generate a smart contract for reflecting it according to input to various transaction types, and may include the generated smart contract in the first transaction 1010.

제 1 트랜잭션(1010)은 예를 들어, 제 1 아이템의 소유권자에 대한 정보 및 제 1 아이템의 거래 가격(예컨대, 판매 가격: 20 Coin)이 포함될 수 있다. 추가적으로, 제 1 트랜잭션(1010)에는 클라이언트 A(1000a)와 관련된 개인키 정보가 서명 형태로 추가될 수 있으며, 그리고 제 1 트랜잭션(1010)의 목적지 정보가 포함될 수도 있다.The first transaction 1010 may include, for example, information about the owner of the first item and the transaction price of the first item (eg, sale price: 20 Coin). Additionally, the private key information related to the client A 1000a may be added to the first transaction 1010 in the form of a signature, and destination information of the first transaction 1010 may be included.

클라이언트 A(1000a)는 개인키 기반 서명값을 제 1 트랜잭션(1010)에 포함시켜, 블록체인 네트워크(4000)로 발행할 수 있다(1003).The client A 1000a may include the private key-based signature value in the first transaction 1010 and issue it to the blockchain network 4000 (1003).

블록체인 네트워크(400)를 구성하는 노드(컴퓨팅 장치)들(400a, 400b, 400c 및 400d)은 제 1 트랜잭션(1010)을 수신하고 이를 전파하고 공유할 수 있다(1005).Nodes (computing devices) constituting the blockchain network 400 (400a, 400b, 400c, and 400d) may receive the first transaction 1010, propagate and share it (1005).

블록체인 네트워크(400)를 구성하는 노드들(400a, 400b, 400c 및 400d)은 트랜잭션 DB 및 스마트 컨트랙트 DB를 포함할 수 있다. 노드들(400a, 400b, 400c 및 400d)은 아이템 거래를 허용하기 위한 임의의 형태의 트랜잭션을 공유하고 트랜잭션 DB에 해당 내용을 저장할 수 있다. 스마트 컨트랙트를 지원할 수 있는 블록체인 네트워크(400)의 경우 트랜잭션의 내용에 따라 스마트 컨트랙트와 관련된 어플리케이션을 실행하고 그 결과를 스마트 컨트랙트 DB에 반영할 수 있다. The nodes 400a, 400b, 400c and 400d constituting the blockchain network 400 may include a transaction DB and a smart contract DB. The nodes 400a, 400b, 400c and 400d can share any form of transaction to allow item trading and store the content in the transaction DB. In the case of the blockchain network 400 capable of supporting smart contracts, an application related to the smart contract can be executed according to the content of the transaction and the result can be reflected in the smart contract DB.

노드들(400a, 400b, 400c 및 400d)은 합의 알고리즘에 기초하여 제 1 트랜잭션(1010)을 포함하는 하나 이상의 트랜잭션들을 담을 수 있는 제 1 블록을 경쟁적으로 생성할 수 있으며, 도 10에서의 예시에서는 노드(400b)가 제 1 블록을 먼저 생성하는 것을 예시로 보여준다(1007). The nodes 400a, 400b, 400c, and 400d may competitively generate a first block that can contain one or more transactions, including the first transaction 1010, based on the consensus algorithm. As an example, the node 400b first generates the first block (1007).

노드(400b)는 생성된 제 1 블록을 블록체인 네트워크(400)에서 공유되도록 전파할 수 있다(1009).The node 400b may propagate the generated first block to be shared in the blockchain network 400 (1009).

노드들(400a, 400c 및 400d)은 수신된 제 1 블록을 검증하고 제 1 블록을 자신의 로컬 저장소에 저장함으로써, 블록체인 네트워크(400) 상에서의 제 1 블록이 공유될 수 있다(1011).The nodes 400a, 400c, and 400d can verify the first block received and store the first block in their local storage, whereby the first block on the blockchain network 400 can be shared (1011).

제 1 블록에 포함된 제 1 트랜잭션(1010)에는 클라이언트 A(1000a)로부터의 거래 요청에 기반하여 생성된 스마트 컨트랙트가 포함될 수 있다. 제 1 블록이 블록체인 네트워크(400)에 공유됨에 따라 제 1 블록에 포함된 스마트 컨트랙트가 실행될 수 있으며, 이에 따라 거래 대상이 될 수 있는 제 1 아이템이 블록체인 네트워크의 주소를 갖는 일시적 아이템 수용 공간으로 이동될 수 있다(1013).The first transaction 1010 included in the first block may include a smart contract generated based on a transaction request from the client A 1000a. As the first block is shared with the blockchain network 400, a smart contract included in the first block can be executed, and accordingly, the first item that can be a transaction target has a temporary item accommodating space having the address of the blockchain network. It can be moved to (1013).

클라이언트 B(1000b)는 제 1 아이템에 대한 구매 요청을 위한 제 2 트랜잭션(1020)을 생성할 수 있다(1015). The client B 1000b may generate a second transaction 1020 for a purchase request for the first item (1015 ).

클라이언트 B(1000b)는 개인키로 서명된 제 2 트랜잭션(1020)을 블록체인 네트워크(400)로 전송할 수 있다(1017). The client B 1000b may transmit the second transaction 1020 signed with the private key to the blockchain network 400 (1017).

제 2 트랜잭션(1020)은 예를 들어, 제 1 아이템에 대한 식별 정보, 제 1 아이템에 대한 구매 표시, 제 1 트랜잭션에 포함된 스마트 컨트랙트가 저장된 컨트랙트 어카운트, 스마트 컨트랙트를 호출하기 위한 정보 및/또는 제 1 아이템의 거래 가격(예컨대, 구매 가격: 20 Coin)을 포함할 수 있다. The second transaction 1020 may include, for example, identification information for the first item, purchase indication for the first item, a contract account in which the smart contract included in the first transaction is stored, information for calling the smart contract, and/or The transaction price of the first item (eg, purchase price: 20 Coin) may be included.

제 2 트랜잭션(1020) 또한 제 1 트랜잭션(1010)과 마찬가지로, 블록체인 네트워크(400)로 전파 및 공유될 수 있다. The second transaction 1020 can also be propagated and shared with the blockchain network 400, like the first transaction 1010.

노드들(400a, 400b, 400c 및 400d)은 합의 알고리즘에 기초하여 제 2 트랜잭션(1020)을 포함하는 하나 이상의 트랜잭션들을 담을 수 있는 제 2 블록을 경쟁적으로 생성할 수 있으며, 도 10에서의 예시에서는 노드(400c)가 제 2 블록을 먼저 생성하는 것을 예시로 보여준다(1019). The nodes 400a, 400b, 400c, and 400d may competitively generate a second block that can contain one or more transactions including the second transaction 1020 based on the consensus algorithm, in the example in FIG. 10 As an example, the node 400c first generates the second block (1019).

노드(400c)는 생성된 제 2 블록을 블록체인 네트워크(400)로 전파함으로써 제 2 블록이 노드들(400a, 400b, 및 400d)에서 공유되도록 허용할 수 있다(1021 및 1023).The node 400c may allow the second block to be shared by the nodes 400a, 400b, and 400d by propagating the generated second block to the blockchain network 400 (1021 and 1023).

노드들(400a, 400b, 400c 및 400d)은 아이템 거래를 허용하기 위한 제 2 트랜잭션(1020)의 내용을 자신의 트랜잭션 DB에 해당 내용을 저장할 수 있다.The nodes 400a, 400b, 400c, and 400d may store the contents of the second transaction 1020 for allowing item transactions in their transaction DB.

제 2 트랜잭션(1020)이 블록체인 네트워크(400)에 기록되는 경우, 제 2 트랜잭션(1020)에 의해 노드들(400a, 400b, 400c 및 400d)은 제 1 트랜잭션(1010)에 포함된 스마트 컨트랙트를 호출함으로써, 스마트 컨트랙트를 실행시킬 수 있다(1025).When the second transaction 1020 is recorded in the blockchain network 400, the nodes 400a, 400b, 400c, and 400d by the second transaction 1020 allow the smart contract included in the first transaction 1010 to be By calling, a smart contract can be executed (1025).

스마트 컨트랙트가 실행됨에 따라서, 소유권 변경 및 판매 금액 정산 절차가 진행되며, 노드들(400a, 400b, 400c 및 400d)은 해당 절차를 수행하고 해당 절차에 의해 발생되는 데이터를 자신의 DB에 저장할 수 있다(1027).As the smart contract is executed, the ownership change and sales amount settlement process proceeds, and the nodes 400a, 400b, 400c, and 400d can perform the procedure and store data generated by the procedure in their DB (1027).

전술한 도 10에서의 실시예들은 아이템 거래를 위한 아이템 등록 절차 및 아이템 구매 절차를 수행하기 위한 예시적인 블록체인 네트워크(400)의 동작을 나타내며, 이하에서는 아이템 거래를 위한 아이템 조회 절차에 대한 예시적인 프로세스(아이템 조회 동작 방식)를 설명한다.The above-described embodiments in FIG. 10 illustrate the operation of an exemplary blockchain network 400 for performing an item registration procedure and an item purchase procedure for item trading, and the following is an example of an item inquiry procedure for item trading Describes the process (item inquiry operation method).

아이템 조회 동작과 관련하여, 클라이언트 A 또는 B(1000a 또는 1000b)가 검색 쿼리를 보내면 쿼리를 수신한 블록체인 네트워크(400) 내에서의 노드는 그에 대해 응답을 수행할 수 있다.With regard to the item inquiry operation, when a client A or B 1000a or 1000b sends a search query, a node in the blockchain network 400 that has received the query may respond to it.

아이템 조회 동작의 경우, 블록체인의 데이터 변경 없이 스마트 컨트랙트 DB내 저장된 상태 값을 조회하면 되기 때문에, 이러한 검색을 위한 쿼리 정보는 블록체인에 동기화할 필요 없다. 따라서, 블록체인 네트워크(400)의 노드는 블록 동기화 타이밍에 상관없이 해당 쿼리에 대해 자신의 DB를 확인하고 바로 응답할 수 있다. 전술한 바와 같이, 블록체인 네트워크(400)에서의 검색 쿼리의 처리는 쿼리를 수신한 노드의 내부 DB를 사용해서 쿼리에 대한 응답이 수행되기 때문에 그리고 어떤 노드에 접속해도 동일한 결과를 얻을 수 있기 때문에, 중계자를 통한 쿼리 응답 서비스보다 쿼리 응답 속도가 빠를 수 있다.In the case of the item inquiry operation, the stored state value in the smart contract DB can be inquired without changing the data of the blockchain, so the query information for this search need not be synchronized to the blockchain. Therefore, the node of the blockchain network 400 can check its DB and respond immediately to the query regardless of the block synchronization timing. As described above, processing of the search query in the blockchain network 400 is performed because the response to the query is performed using the internal DB of the node that received the query, and the same result can be obtained no matter what node is connected to. , Query response speed may be faster than query response service through an intermediary.

[도 11 설명][Description of Fig. 11]

도 11은 본 개시내용의 일 실시예에 따른 사용자 단말에서 아이템 거래를 수행하기 위한 예시적인 UI(User Interface) 구성(1100)을 도시한다. 도 11에서의 UI 구성(1100)은 판매 탭에 대한 입력 시 출력되는 화면일 수 있다.해당 UI 구성(1100)은 게임 서버(200) 또는 아이템 거래소 서버(300)에 의해 생성될 수 있다.11 illustrates an exemplary UI (User Interface) configuration 1100 for performing an item transaction in a user terminal according to an embodiment of the present disclosure. The UI configuration 1100 in FIG. 11 may be a screen that is output upon input to a sales tab. The UI configuration 1100 may be generated by the game server 200 or the item exchange server 300.

도 11에서 도시되는 UI 구성(1100)은 아이템 판매를 요청하기 위한 사용자 단말(100)에서 디스플레이되는 화면을 예시적으로 도시한다. 도 11에서는 게임 아이템의 판매에 대한 예시를 도시하였으나, 아이템 대여 등 다양한 형태의 아이템 거래 또한 본 개시내용의 범위 내에 포함될 수 있다는 점은 당업자에게 명백할 것이다.The UI configuration 1100 illustrated in FIG. 11 exemplarily shows a screen displayed on the user terminal 100 for requesting item sales. 11 illustrates an example of the sale of game items, it will be apparent to those skilled in the art that various types of item transactions such as item rental may also be included within the scope of the present disclosure.

사용자 단말(100)은 게임 서버(200) 또는 아이템 거래소 서버(300)에 접속하여, 해당 UI 구성(1100)에 기초하여 인터랙션을 수행할 수 있다. 추가적으로, 사용자 단말(100)로부터 특정 아이템에 대한 사전결정된 입력 행위가 수신되는 경우, 게임 서버(200) 또는 아이템 거래소 서버(300)는 해당 아이템에 대한 거래를 위한 거래소 UI 구성(1100)을 출력할 수 있다. The user terminal 100 may access the game server 200 or the item exchange server 300 and perform interaction based on the corresponding UI configuration 1100. Additionally, when a predetermined input action for a specific item is received from the user terminal 100, the game server 200 or the item exchange server 300 outputs the exchange UI configuration 1100 for trading for the corresponding item. Can.

이러한 UI 구성(1100)을 통해서, 사용자 단말(100)로부터 아이템의 종류, 아이템의 판매 가격, 아이템의 판매 수량 정보들이 입력될 수 있다. Through the UI configuration 1100, information on the type of item, the selling price of the item, and the selling quantity of the item may be input from the user terminal 100.

도 11에서 도시되는 바와 같이, 게임 아이템 판매를 허용하기 위한 UI 구성(1100)은, 아이템의 식별 정보(이미지 또는 텍스트)를 표시하고, 아이템의 판매 가격을 표시하고, 아이템의 판매 수량을 표시하고, 아이템 최대 판매 제한 정보를 표시하고, 해당 아이템에 대한 평균 판매 가격을 표시하고, 판매 시 발생되는 수수료 정보를 표시하고, 현재 사용자의 보유 코인 양을 표시하고, 아이템의 판매 등록 및 취소 탭을 표시하고, 그리고/또는 아이템의 가격 및 수량을 입력할 수 있는 입력 탭을 표시할 수 있다. 전술한 표시 및 탭들은, 하나의 화면 내에서 출력되거나 또는 별도의 분리된 화면을 통해 출력될 수도 있다.As illustrated in FIG. 11, the UI configuration 1100 for allowing game item sales displays identification information (image or text) of the item, displays the sale price of the item, and displays the sale quantity of the item. , Display the maximum sales limit information of the item, display the average sales price for the item, display the commission information incurred when selling, display the amount of coins currently held by the user, and display the item's sales registration and cancellation tabs And/or an input tab for entering the price and quantity of the item. The aforementioned displays and tabs may be output within one screen or may be output through separate screens.

전술한 바와 같이, 사용자 단말(100)로부터 입력된 아이템 거래를 위한 정보에 기초하여, 게임 서버(200) 또는 아이템 거래소 서버(300)는 스마트 컨트랙트를 생성하고 그리고 생성된 스마트 컨트랙트를 포함하는 트랜잭션을 발행할 수 있다.As described above, based on the information for the item transaction input from the user terminal 100, the game server 200 or the item exchange server 300 generates a smart contract and performs a transaction including the generated smart contract. Can be issued.

또한, 사용자 단말(100)로부터 아이템 거래를 위한 정보의 입력이 완료되는 경우, 게임 서버(200)는 해당 아이템을 게임 내에서의 아이템 보관 공간으로 이동시킴으로써, 사용자의 게임 플레이를 제한시킬 수 있다.In addition, when input of information for an item transaction from the user terminal 100 is completed, the game server 200 may limit the user's game play by moving the corresponding item to the item storage space in the game.

도 11에서는 도시되지 않았지만, UI 구성(1100)은 아이템의 거래 내용 정보를 표시할 수 있다. 예를 들어, 아이템의 거래 내용 정보는 별도의 탭으로 표현될 수 있으며, 해당 탭에서, 특정 아이템에 대한 거래 이력, 특정 사용자에 대한 아이템 거래 이력 정보가 표시될 수 있다.Although not illustrated in FIG. 11, the UI configuration 1100 may display transaction content information of the item. For example, the transaction content information of an item may be represented by a separate tab, and in the corresponding tab, transaction history for a specific item and item transaction history information for a specific user may be displayed.

[도 12 설명][Description of Fig. 12]

도 12는 본 개시내용의 일 실시예에 따른 사용자 단말에서 아이템 거래를 수행하기 위한 예시적인 UI 구성을 도시한다.12 illustrates an exemplary UI configuration for performing an item transaction in a user terminal according to an embodiment of the present disclosure.

도 12는 본 개시내용의 일 실시예에 따른 사용자 단말에서 아이템 거래(예컨대, 구입)를 수행하기 위한 예시적인 UI(User Interface) 구성(1200)을 도시한다. 도 12에서의 UI 구성(1200)은 구입 탭에 대한 입력 시 출력되는 화면일 수 있다.12 illustrates an exemplary UI (User Interface) configuration 1200 for performing an item transaction (eg, purchase) in a user terminal according to an embodiment of the present disclosure. The UI configuration 1200 in FIG. 12 may be a screen output when input to a purchase tab.

해당 UI 구성(1200)은 게임 서버(200) 또는 아이템 거래소 서버(300)에 의해 생성될 수 있다. The UI configuration 1200 may be generated by the game server 200 or the item exchange server 300.

도 12에서 도시되는 UI 구성(1200)은 아이템 구매를 요청하기 위한 사용자 단말(100)에서 디스플레이되는 화면을 예시적으로 도시한다. 사용자 단말(100)은 게임 서버(200) 또는 아이템 거래소 서버(300)에 접속하여, 해당 UI 구성(1200)에 기초하여 인터랙션을 수행할 수 있다. The UI configuration 1200 illustrated in FIG. 12 illustratively shows a screen displayed on the user terminal 100 for requesting an item purchase. The user terminal 100 may access the game server 200 or the item exchange server 300 and perform interaction based on the corresponding UI configuration 1200.

이러한 UI 구성(1100)을 통해서, 사용자 단말(100)로부터 아이템의 종류, 아이템의 판매 가격, 아이템의 판매 수량 정보와 관련된 검색 쿼리들이 입력될 수 있으며, 이러한 입력에 기초하여 UI 구성(1200)이 사용자와 상호작용 가능하도록 변화될 수 있다.Through the UI configuration 1100, search queries related to the item type, the item's sale price, and the item's sale quantity information may be input from the user terminal 100, and the UI configuration 1200 may be based on the input. It can be changed to interact with the user.

도 12에서 도시되는 바와 같이, 사용자 단말(100)로 게임 서버(200) 또는 아이템 거래소 서버(300)는, 아이템의 이름, 아이템의 카테고리(범주), 아이템의 종류, 아이템의 등급, 아이템의 정렬 규칙, 및/또는 아이템의 최대 가격 정보를 표시할 수 있다. 또한, UI 구성(1200)은 검색 조건에 대한 입력 탭, 아이템 검색에 대한 Enter 탭, 아이템 검색 결과에 대한 출력 탭을 포함할 수 있다. 이러한 UI 구성(1200)에 기초하여, 사용자 단말(100)로부터의 검색/조회 쿼리가 생성될 수 있다.12, the game server 200 or the item exchange server 300 as the user terminal 100, the name of the item, the category (category) of the item, the type of item, the grade of the item, the sorting of the item The maximum price information of the rule and/or item may be displayed. In addition, the UI configuration 1200 may include an input tab for a search condition, an Enter tab for an item search, and an output tab for an item search result. Based on the UI configuration 1200, a search/query query from the user terminal 100 may be generated.

또한, 사용자 단말(100)로부터 입력된 검색/조회 쿼리 정보에 기초하여, 게임 서버(200) 또는 아이템 거래소 서버(300)는 검색/조회 쿼리에 대응되는 결과 정보를 출력할 수 있다. 결과 정보는 도 12의 우측 화면에서 도시되는 바와 같이, 아이템의 식별 정보, 아이템의 소유주 정보, 판매 조건 정보 및/또는 판매 가격 정보를 포함할 수 있다.In addition, based on the search/query query information input from the user terminal 100, the game server 200 or the item exchange server 300 may output result information corresponding to the search/query query. The result information may include identification information of an item, owner information of an item, sales condition information, and/or sales price information, as shown in the right screen of FIG. 12.

이러한 표시 및 탭들은, 하나의 화면 내에서 출력되거나 또는 별도의 분리된 화면을 통해 출력될 수도 있다.These displays and tabs may be output within one screen or may be output through separate screens.

전술한 바와 같이, 사용자 단말(100)로부터 아이템 거래를 위한 정보의 입력이 완료되는 경우, 사용자 단말(100)로부터 입력된 아이템 거래를 위한 정보에 기초하여, 게임 서버(200) 또는 아이템 거래소 서버(300)는 기존에 생성된 스마트 컨트랙트를 호출하기 위한 트랜잭션을 발행할 수 있다. 이러한 트랜잭션에 의해 블록체인 네트워크(400) 상에서의 신뢰성있고 자동화된 아이템 거래가 수행될 수 있다. 또한, 게임 서버(200)는 아이템 거래가 완료되는 경우, 해당 아이템을 아이템 보관 공간으로부터 제 2 사용자의 인벤토리로 이동시켜 이를 출력할 수 있다.As described above, when input of information for item transaction from the user terminal 100 is completed, based on the information for item transaction input from the user terminal 100, the game server 200 or the item exchange server ( 300) may issue a transaction to call an existing smart contract. By such a transaction, reliable and automated item trading on the blockchain network 400 can be performed. In addition, when the item transaction is completed, the game server 200 may move the item from the item storage space to the second user's inventory and output it.

[도 13 설명][Description of Fig. 13]

도 13은 본 개시내용의 일 실시예에 따라 스마트 컨트랙트(1300)가 블록체인 네트워크(400)로 전파되는 양태를 예시적으로 도시한다.13 exemplarily illustrates an aspect in which the smart contract 1300 is propagated to the blockchain network 400 according to an embodiment of the present disclosure.

도 13에서 도시되는 바와 같이, 일 실시예에서, 게임 아이템의 거래를 블록체인 네트워크(400) 상에서 수행하기 위한 스마트 컨트랙트는, 예를 들어, 제 1 서브 컨트랙트(1310), 제 2 서브 컨트랙트(1320), 제 3 서브 컨트랙트(1330), 제 4 서브 컨트랙트(1340), 및 제 5 서브 컨트랙트(1350)를 포함할 수 있다.As shown in FIG. 13, in one embodiment, a smart contract for performing a transaction of a game item on the blockchain network 400 includes, for example, a first sub contract 1310 and a second sub contract 1320 ), the third sub-contract 1330, the fourth sub-contract 1340, and the fifth sub-contract 1350.

본 개시내용의 일 실시예에 따라 스마트 컨트랙트는 무결성 및 안정성이 보장되고 사용자 편의성이 극대화된 방식으로 게임 아이템의 거래를 달성할 수 있다. 본 명세서에서의 서브 컨트랙트는 스마트 컨트랙트를 구성하는 컴포넌트로서, 특정한 기능을 수행하는 코드들의 그룹 또는 함수(함수의 그룹 포함)를 의미할 수 있다. According to an embodiment of the present disclosure, the smart contract can achieve the transaction of game items in a manner in which integrity and stability are guaranteed and user convenience is maximized. The sub-contract in this specification is a component constituting a smart contract, and may mean a group or function (including a group of functions) of codes that perform a specific function.

스마트 컨트랙트는, 제 1 아이템의 소유권이 아이템 거래를 요청한 제 1 사용자에게 있는 것을 보장하면서, 아이템 거래를 위해 상기 제 1 아이템을 블록체인 네트워크(400) 내에서의 일시적 아이템 수용 공간으로 이동시키는 제 1 서브 컨트랙트를 포함할 수 있다. 추가적인 실시예에서, 제 1 서브 컨트랙트는, 제 1 아이템이 일시적 아이템 수용 공간으로 이동된 경우, 제 1 아이템이 게임 내에서 사용가능하지 않은 상태로 변경되도록 하기 위한 신호를 생성할 수도 있다.The smart contract moves the first item to the temporary item receiving space in the blockchain network 400 for the item transaction, while ensuring that the ownership of the first item belongs to the first user who requested the item transaction. Sub-contracts may be included. In a further embodiment, the first sub-contract may generate a signal to cause the first item to change to an unusable state in the game when the first item is moved to the temporary item receiving space.

본 개시내용의 일 실시예에서, 스마트 컨트랙트는, 제 1 아이템을 구매하고자 하는 제 2 사용자로부터의 제 1 아이템에 대한 구매 요청에 응답하여, 제 1 아이템의 거래 조건의 만족 여부를 판단하고, 그리고 제 1 아이템의 거래 조건이 만족되는 경우, 제 1 아이템의 소유권을 제 1 사용자로부터 제 2 사용자로 변경시키는 제 2 서브 컨트랙트를 포함할 수 있다. 이러한 제 2 서브 컨트랙트가 실행되는 경우, 블록체인 네트워크(400) 상에서 제 1 아이템에 대한 소유권자가 제 1 사용자로부터 제 2 사용자로 변경되어 기록될 수 있다.In one embodiment of the present disclosure, the smart contract determines whether the transaction condition of the first item is satisfied, in response to the purchase request for the first item from the second user who wants to purchase the first item, and When the transaction condition of the first item is satisfied, a second sub-contract that changes ownership of the first item from the first user to the second user may be included. When the second sub-contract is executed, the owner of the first item on the blockchain network 400 may be changed and recorded from the first user to the second user.

본 개시내용의 일 실시예에서, 스마트 컨트랙트는, 제 1 사용자로부터 제 1 아이템을 구매하고자 하는 제 2 사용자로 상기 제 1 아이템의 소유권을 변경하는 경우, 제 2 사용자와 관련된 제 2 외부 소유 어카운트(또는 제 2 사용자와 관련된 지갑)로부터 제 1 사용자와 관련된 제 1 외부 소유 어카운트(또는 제 1 사용자와 관련된 지갑)로 제 1 아이템의 거래 비용의 적어도 일부를 전달하기 위한 트랜잭션 또는 메시지를 블록체인 네트워크 상에서 발생시키는 제 3 서브 컨트랙트를 포함할 수 있다. In one embodiment of the present disclosure, the smart contract, when changing the ownership of the first item from the first user to the second user who wants to purchase the first item, the second externally owned account associated with the second user ( Or a transaction or message to transfer at least a portion of the transaction cost of the first item from the wallet associated with the second user) to the first externally owned account associated with the first user (or wallet associated with the first user) on the blockchain network. It may include a third sub-contract to generate.

추가적으로, 제 3 서브 컨트랙트는, 제 1 아이템의 소유권을 변경하는 경우, 거래 비용에 대한 정산 정보를 게임 서버(200) 또는 아이템 거래소 서버(300)에 전달할 수도 있다. 이 경우, 전달된 정보에 기초하여 실제 거래 비용은 게임 서버(200) 또는 아이템 거래소 서버(300)로 입출금되며, 게임 서버(200) 또는 아이템 거래소 서버(300)가 이를 정산하여 사용자에게 정산된 금액을 지급할 것을 결정할 수도 있다. 이러한 실시예의 경우, 사용자는 별도의 블록체인 네트워크(400) 상에서의 지갑(wallet)과 같은 컴포넌트들을 구비하지 않아도 되며, 게임 서버(200) 또는 아이템 거래소 서버(300)의 지갑을 사용하여, 게임 서버(200) 또는 아이템 거래소 서버(300)로 입출금이 이루어지게 된다.Additionally, when the ownership of the first item is changed, the third sub-contract may transmit settlement information on the transaction cost to the game server 200 or the item exchange server 300. In this case, based on the transmitted information, the actual transaction cost is deposited and withdrawn to the game server 200 or the item exchange server 300, and the game server 200 or the item exchange server 300 settles it and is settled to the user You may decide to pay. In the case of such an embodiment, the user does not need to have components such as wallets on a separate blockchain network 400, and uses the wallet of the game server 200 or item exchange server 300, the game server Deposit or withdrawal is made to the 200 or the item exchange server 300.

본 개시내용의 일 실시예에서, 스마트 컨트랙트는, 제 1 사용자가 제 1 아이템에 대한 판매를 취소한 경우 또는 제 2 사용자로 상기 제 1 아이템에 대한 소유권이 성공적으로 이전한 경우, 제 1 아이템을 상기 일시적 아이템 수용 공간으로부터 다른 위치로 이동시킴으로써 상기 제 1 아이템을 게임 내에서 사용가능한 상태로 복귀시키도록 허용하는 제 4 서브 컨트랙트를 포함할 수 있다. 예를 들어, 제 4 서브 컨트랙트는, 제 1 사용자가 제 1 아이템의 판매를 취소하기 위한 트랜잭션을 발생시킴에 따라 호출되는 경우, 제 1 아이템을 블록체인 네트워크(400) 내에서의 일시적 아이템 수용 공간의 주소로부터 제 1 사용자의 주소로 이동시키기 위한 트랜잭션 또는 메시지를 생성하여 블록체인 네트워크(400)에 발행할 수 있다.In one embodiment of the present disclosure, the smart contract transfers the first item when the first user cancels the sale of the first item or when ownership of the first item is successfully transferred to the second user. And a fourth sub-contract that allows the first item to be returned to a usable state in the game by moving from the temporary item receiving space to another location. For example, when the fourth sub-contract is called as the first user generates a transaction for canceling the sale of the first item, the space for accommodating the temporary item within the blockchain network 400 is the first item. It is possible to generate a transaction or message for moving from the address of the first user to the address of the first user and issue it to the blockchain network 400.

본 개시내용의 일 실시예에 따라, 스마트 컨트랙트는 제 2 사용자로 제 1 아이템에 대한 소유권이 이전되는 경우, 제 1 아이템의 판매 금액 중 적어도 일부를 기부금 수령을 위한 사전결정된 외부 소유 어카운트로 전달하기 위한 트랜잭션을 블록체인 네트워크 상에서 발생시키는 제 5 서브 컨트랙트를 포함할 수 있다. 본 개시내용의 일 실시예에 따라, 제 1 사용자가 아이템 거래 금액의 적어도 일부를 기부금으로 사용하고자 하는 요청을 발행한 경우 또는 게임 서버(200)(아이템 거래소 서버(300))의 정책에 따라 아이템 거래 금액의 적어도 일부를 기부금으로 사용하고자 하는 경우, 해당 기부금으로 지급될 금액(또는 비율) 정보 및 기부금을 수령할 블록체인 네트워크(400) 상에서의 어카운트 또는 주소가 스마트 컨트랙트에 기록될 수 있다. 따라서, 제 5 서브 컨트랙트는 스마트 컨트랙트에 기록된 기부금 관련 정보에 따라 실행될 수 있다. According to an embodiment of the present disclosure, when the ownership of the first item is transferred to the second user, the smart contract transfers at least a portion of the sales amount of the first item to a predetermined externally owned account for receiving a donation. It may include a fifth sub-contract that generates a transaction for the blockchain network. According to an embodiment of the present disclosure, when a first user issues a request to use at least a portion of an item transaction amount as a donation, or according to a policy of the game server 200 (item exchange server 300) When at least a part of the transaction amount is to be used as a donation, the amount (or ratio) information to be paid as the donation and an account or address on the blockchain network 400 to receive the donation may be recorded in the smart contract. Therefore, the fifth sub-contract can be executed according to the donation-related information recorded in the smart contract.

추가적인 실시예에서, 제 5 서브 컨트랙트는, 예컨대 블록을 생성하는데 발생되는 수수료 및/또는 채굴 노드로 지급되는 리워드 등과 같이, 블록체인 네트워크(400)를 운영하기 위해 수반될 수 있는 비용의 적어도 일부를 기부금으로 사용할 것을 결정할 수도 있다. 이에 따라서, 블록을 생성하는데 발생되는 수수료 비용 중 적어도 일부는 제 5 서브 컨트랙트가 실행됨에 따라 자동적으로 사전결정된 기부금 수령 어카운트 또는 주소로 지급될 수 있으며, 제 5 서브 컨트랙트는 이러한 지급을 위한 트랜잭션 또는 메시지를 생성할 수 있다.In a further embodiment, the fifth sub-contract includes at least a portion of the costs that may be involved in operating the blockchain network 400, such as fees incurred in creating blocks and/or rewards paid to mining nodes. You may decide to use it as a donation. Accordingly, at least some of the fee costs incurred in creating the block can be automatically paid to a predetermined donation receiving account or address as the fifth sub-contract is executed, and the fifth sub-contract is a transaction or message for such payment. Can generate

기부금 수령을 위한 사전결정된 외부 소유 어카운트로 기부금의 전달이 완료된 경우, 기부금을 수령한 외부 소유 어카운트의 잔액 정보가 블록체인 네트워크(400)에 저장될 수 있다. 예를 들어, 잔액 정보는 기부금을 수령한 외부 소유 어카운트에 기록될 수 있다. When the transfer of the donation to the predetermined externally owned account for receiving the donation is completed, the balance information of the externally owned account that received the donation may be stored in the blockchain network 400. For example, balance information can be recorded in an externally owned account that received the donation.

다른 예시로, 잔액 정보는, UTXO 방식에 기초하여, 외부 소유 어카운트가 아닌 블록체인 네트워크(400) 상에서의 UTXO를 관리하기 위한 DB에 저장될 수도 있다. 이러한 경우, UTXO DB로의 검색을 통해 잔액 정보는 UTXO의 총합으로 확인될 수 있다.As another example, the balance information may be stored in a DB for managing UTXO on the blockchain network 400 rather than an externally owned account based on the UTXO method. In this case, the balance information may be confirmed as the sum of UTXO through a search to the UTXO DB.

추가적인 실시예에서, 스마트 컨트랙트는 사용자 단말(100) 또는 게임 서버(200) 또는 아이템 거래소 서버(300)에 의해 생성된 광고 정보(예컨대, 게임 또는 아이템과 관련된 텍스트 정보, 이미지 정보 및 동영상 정보)를 포함할 수 도 있다. 이러한 광고 정보를 전달받은 사용자 단말(100)과의 거래가 이루어진 경우, 해당 사용자 단말(100)로 아이템 거래에 수반되는 비용의 할인 등과 같은 리워드를 제공한다는 내용이 스마트 컨트랙트에 기록될 수도 있다.In a further embodiment, the smart contract includes advertisement information (eg, text information, image information and video information related to the game or item) generated by the user terminal 100 or the game server 200 or the item exchange server 300. It may also include. When a transaction is made with the user terminal 100 receiving the advertisement information, the content of providing a reward such as a discount of the cost associated with the item transaction to the user terminal 100 may be recorded in the smart contract.

도 13에서 도시되는 바와 같이, 스마트 컨트랙트(1300)는 컴파일러(1301)에 의해 Byte code 형태로 변환될 수 있으며, Byte code 형태로 변환된 트랜잭션이 블록(1303)에 포함되어 블록체인 네트워크(400)로 전파될 수 있다. 블록체인 네트워크(400)에서의 컴퓨팅 장치에 의해(예컨대, 컴퓨팅 장치의 가상 머신에 의해) Byte code로 변환된 스마트 컨트랙트가 실행될 수 있다. 또한, 본 개시내용에서의 컴파일러(1301)는 특정 프로그래밍 언어로 작성된 코드를 다른 프로그래밍 언어로 변환하기 위한 임의의 형태의 프로그램을 포함할 수 있다. 해당 컴파일러 또한 블록체인 네트워크(400)를 구성하는 컴퓨팅 장치, 게임 서버(200), 아이템 거래소 서버(300) 및 사용자 단말(100) 중 적어도 하나에 포함될 수 있다.As shown in FIG. 13, the smart contract 1300 may be converted into a Byte code form by the compiler 1301, and the transaction converted to the Byte code form is included in the block 1303, and the blockchain network 400 Can be propagated to A smart contract converted to Byte code may be executed by a computing device in the blockchain network 400 (eg, by a virtual machine of the computing device). Further, the compiler 1301 in the present disclosure may include any form of program for converting code written in a specific programming language into another programming language. The compiler may also be included in at least one of the computing device constituting the blockchain network 400, the game server 200, the item exchange server 300, and the user terminal 100.

본 개시내용의 실시예에 따라, On-chain과 Off-chain이 조합된 형태로 게임 아이템의 거래가 이루어지기 때문에, 신속한 거래 처리 및 UI 표시를 통한 사용자의 경험을 증대 시킬 수 있을 뿐만 아니라, 신뢰성이 높고 무결성이 보장되는 아이템 거래가 달성될 수 있다.According to an embodiment of the present disclosure, since a transaction of a game item is performed in a form in which On-chain and Off-chain are combined, it is possible to increase the user's experience through quick transaction processing and UI display, as well as reliability. A high and integrity guaranteed item transaction can be achieved.

추가적으로, 본 개시내용의 실시예에 따라, 블록체인 기술을 활용하여 투명한 게임 아이템 거래 지원이 가능하며, 예컨대 금고와 같은 게임 서버(200) 내에서의 일시적 아이템 보관 공간 및 블록체인 네트워크(400)상에서의 일시적 아이템 수용 공간을 사용하여, 보다 안전한 게임 아이템 거래가 지원될 수 있다. 또한, 본 개시내용의 실시예에 따라, On-chain과 Off-chain의 조합, 그리고 게임 서버(200), 아이템 거래소 서버(300) 및 블록체인 네트워크(400)의 조합을 통하여, 블록체인의 확장성 문제가 해결될 수 있다. Additionally, according to an embodiment of the present disclosure, it is possible to support transparent game item trading by using blockchain technology, for example, on a temporary network for storing items and a blockchain network 400 in a game server 200 such as a safe. Using the temporary item accommodating space of, more secure game item trading can be supported. In addition, according to an embodiment of the present disclosure, through the combination of on-chain and off-chain, and a combination of game server 200, item exchange server 300 and blockchain network 400, the expansion of the blockchain Sex problems can be solved.

또한, 본 개시내용의 일 실시예에 따라, 아이템 거래 내역만 스마트 컨트랙트 및 블록체인 네트워크(400) 상에서 기록 및 관리됨에 따라, 블록체인의 합의 속도가 빨라지며 이로 인해 사용자의 게임 서비스 경험이 향상될 수 있다.In addition, according to an embodiment of the present disclosure, as only the item transaction history is recorded and managed on the smart contract and the blockchain network 400, the consensus speed of the blockchain increases, thereby improving the user's game service experience. Can.

본 개시내용의 일 실시예에 따라 동일한 블록체인을 적용한 복수의 게임들에 대해서 안정적인 아이템 거래를 허용할 수 있으며, 현금을 통해 구매한 인앱 아이템의 가치가 게임을 중단하거나, 서비스가 종료되면 사라지는 사용자의 불만 또한 해소될 수 있다.According to an embodiment of the present disclosure, a stable item transaction may be allowed for a plurality of games to which the same blockchain is applied, and the value of the in-app item purchased through cash stops the game or disappears when the service ends Complaints can also be resolved.

추가적으로, 본 개시내용의 일 실시예에 따라, 블록체인을 이용한 투명한 아이템 거래를 통해 아이템 거래가 활성화될 수 있으며, 이로 인해 게임 개발사나 거래소 모두에게 수수료의 수익이 발생 가능할 수 있다. Additionally, according to an embodiment of the present disclosure, item trading may be activated through a transparent item transaction using a blockchain, and thus, a fee may be generated to both game developers and exchanges.

추가적으로, 본 개시내용의 일 실시예에 따라, 게임 퍼블리셔나 사용자들을 대신해 외부에서 서비스를 제공할 권한을 부여 받아 블록체인과 관련된 스마트 계약의 형성과 환경 설정, 실행 결과 고지 서비스를 제공하는 형태의 새로운 사업 모델 또한 발생될 수 있다. 이를 통해, 스마트 컨트랙트 또는 이의 리스트를 작성하고 거래 현황을 즉각 게임 서비스나 사용자의 지갑에 전달하는 방식으로 확인 요청 이 이루어질 수 있기 때문에, 사용자의 아이템 거래의 편리성이 극대화될 수 있다.Additionally, according to an embodiment of the present disclosure, a new form of providing a service for notifying the formation of a smart contract related to a blockchain, setting environment, and providing an execution result notification service by being authorized to provide a service externally on behalf of a game publisher or users. Business models can also arise. Through this, since a confirmation request can be made by creating a smart contract or a list thereof and immediately passing the transaction status to the game service or the user's wallet, the convenience of the user's item transaction can be maximized.

[도 14 설명][Description of Fig. 14]

도 14는 본 개시내용의 일 실시예에 따라 블록체인 네트워크(400)에서 저장되는 블록들의 연결 구조를 예시적으로 도시한다.14 exemplarily shows a connection structure of blocks stored in the blockchain network 400 according to an embodiment of the present disclosure.

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

블록(1400a, 1400b 및 1400c)은 블록 헤더(block header) 및 트랜잭션(transaction)으로 구성될 수 있다. 블록 헤더는 예를 들어, 이전 블록 헤더의 해시값, Nonce 값 및 트랜잭션 그룹의 해시값을 포함할 수 있다. Nonce 값은 블록체인 네트워크(400)에서의 노드가 블록을 생성하기 위해 변경하는 값으로서, 블록헤더의 다른 값과 함께 특정 해시 함수의 입력값으로 사용될 수 있다. 특정 Nonce 값을 사용하였을 때, 블록 헤더의 해시값이 사전결정된 난이도값(블록 헤더에 저장될 수 있음)보다 작게 나온 경우, 해당 블록 헤더에 대한 해시값이 결정될 수 있다. 트랜잭션 그룹의 해시값은 트랜잭션에 포함된 데이터들의 Root 해시값을 의미할 수 있다. Blocks 1400a, 1400b, and 1400c may be composed of block headers and transactions. 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 create 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 a predetermined difficulty value (which may be stored in the block header), a 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.

도 14에서 도시되는 바와 같이, 블록 302(1400b)의 블록 헤더의 블록 해시 값을 구하기 위해서 블록 302(1400a)의 블록 해시 값이 입력값으로 사용되기 때문에, 블록 302(1400b)와 블록 301(1400a)가 서로 연결될 수 있다. 또한, 블록 해시 값을 구하는데 있어서, 트랜잭션들을 대표하는 해시값인 트랜잭션 그룹의 해시값이 입력값으로 사용되기 때문에, 트랜잭션에 대한 임의의 위변조 행위가 일어나는 경우, 트랜잭션 그룹의 해시값이 변경된다. 이러한 방식으로 인접한 블록들은 서로 연결될 수 있으며, 블록 내에서의 트랜잭션의 정보가 무결성 있게 저장될 수 있다.As shown in FIG. 14, since the block hash value of block 302 (1400a) is used as an input value to obtain the block hash value of the block header of block 302 (1400b), block 302 (1400b) and block 301 (1400a) ) May be connected to each other. In addition, in obtaining a block hash value, since a hash value of a transaction group, which is a hash value representing transactions, is used as an input value, when any forgery behavior for a transaction occurs, the hash value of the transaction group is changed. In this way, adjacent blocks can be connected to each other, and information of a transaction in the block can be stored with integrity.

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

여기서 A, B, C, D, E 및 F는 외부 소유 어카운트 또는 지갑 주소와 같은 블록체인 네트워크(400) 내에서의 주소와 대응될 수 있다. 또한, Contract 1 및 2는 컨트랙트 어카운트에 저장되는 스마트 컨트랙트를 의미할 수 있다.Here, A, B, C, D, E, and F may correspond to addresses in the blockchain network 400, such as externally owned accounts or wallet addresses. In addition, Contracts 1 and 2 may refer to smart contracts stored in the contract account.

도 14에서 도시되는 바와 같이, 블록 301(1400a)에서의 트랜잭션은, A로부터 B로 20 Coin을 전송하는 트랜잭션(Tx 1), 및 C로부터 스마트 컨트랙트 1을 생성하거나 또는 호출하는 트랜잭션(Tx 2)를 포함할 수 있다. As shown in FIG. 14, the transaction in block 301 (1400a) is a transaction for transmitting 20 Coins from A to B (Tx 1), and a transaction for generating or calling smart contract 1 from C (Tx 2). It may include.

또한, 블록 302(1400b)에서의 트랜잭션은, B로부터 A로 5 Coin을 전송하는 트랜잭션(Tx 1), 및 D로부터 스마트 컨트랙트 2를 생성하거나 또는 호출하는 트랜잭션(Tx 2)를 포함할 수 있다. In addition, the transaction in block 302 (1400b) may include a transaction (Tx 1) that transfers 5 Coins from B to A, and a transaction (Tx 2) that creates or calls smart contract 2 from D.

또한, 블록 303(1400c)에서의 트랜잭션은, F로부터 E로 10 Coin을 전송하는 트랜잭션(Tx 1) 및 G로부터 스마트 컨트랙트 1을 생성하거나 또는 호출하는 트랜잭션(Tx 3)을 포함할 수 있다.In addition, the transaction in block 303 (1400c) may include a transaction (Tx 1) that transfers 10 Coins from F to E and a transaction (Tx 3) that generates or calls smart contract 1 from G.

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

[도 15 설명][Description of Fig. 15]

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

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

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

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

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

컴퓨터는 통상적으로 다양한 컴퓨터 판독가능 매체를 포함한다. 컴퓨터에 의해 액세스 가능한 매체 로서, 휘발성 및 비휘발성 매체, 일시적(transitory) 및 비일시적(non-transitory) 매체, 이동식 및 비-이동식 매체를 포함한다. 제한이 아닌 예로서, 컴퓨터 판독가능 매체는 컴퓨터 판독가능 저장 매체 및 컴퓨터 판독가능 전송 매체를 포함할 수 있다. Computers typically include a variety of computer readable media. Computer-accessible media includes volatile and non-volatile media, transitory and non-transitory media, removable and non-removable media. By way of example, and not limitation, computer readable media may include computer readable storage media and computer readable transmission media.

컴퓨터 판독가능 저장 매체는 컴퓨터 판독가능 명령어, 데이터 구조, 프로그램 모듈 또는 기타 데이터와 같은 정보를 저장하는 임의의 방법 또는 기술로 구현되는 휘발성 및 비휘발성 매체, 일시적 및 비-일시적 매체, 이동식 및 비이동식 매체를 포함한다. 컴퓨터 판독가능 저장 매체는 RAM, ROM, EEPROM, 플래시 메모리 또는 기타 메모리 기술, CD-ROM, DVD(digital video disk) 또는 기타 광 디스크 저장 장치, 자기 카세트, 자기 테이프, 자기 디스크 저장 장치 또는 기타 자기 저장 장치, 또는 컴퓨터에 의해 액세스될 수 있고 원하는 정보를 저장하는 데 사용될 수 있는 임의의 기타 매체를 포함하지만, 이에 한정되지 않는다.Computer-readable storage media are volatile and non-volatile media, temporary and non-transitory media, removable and non-removable, implemented in any method or technology for storing information such as computer readable instructions, data structures, program modules or other data Includes media. Computer-readable storage media may include RAM, ROM, EEPROM, flash memory or other memory technology, CD-ROM, digital video disk (DVD) or other optical disk storage device, magnetic cassette, magnetic tape, magnetic disk storage device or other magnetic storage Device, 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 embodies computer readable instructions, data structures, program modules or other data in a modulated data signal, such as a carrier wave or other transport mechanism, and Includes all information delivery media. The term modulated data signal means a signal in which one or more of the characteristics of the signal are set or changed to encode information in the signal. By way of example, and not limitation, computer readable transmission media includes 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, and the computer 1102 includes a processing device 1104, a system memory 1106, and a system bus 1108. do. System bus 1108 connects system components, including, but not limited to, system memory 1106 to processing device 1104. The processing device 1104 can be any of a variety of commercial processors. Dual processor and other multiprocessor architectures may also be used as the processing unit 1104.

시스템 버스(1108)는 메모리 버스, 주변장치 버스, 및 다양한 상용 버스 아키텍처 중 임의의 것을 사용하는 로컬 버스에 추가적으로 상호 연결될 수 있는 몇가지 유형의 버스 구조 중 임의의 것일 수 있다. 시스템 메모리(1106)는 판독 전용 메모리(ROM)(1110) 및 랜덤 액세스 메모리(RAM)(1112)를 포함한다. 기본 입/출력 시스템(BIOS)은 ROM, EPROM, EEPROM 등의 비휘발성 메모리(1110)에 저장되며, 이 BIOS는 시동 중과 같은 때에 컴퓨터(1102) 내의 구성요소들 간에 정보를 전송하는 일을 돕는 기본적인 루틴을 포함한다. RAM(1112)은 또한 데이터를 캐싱하기 위한 정적 RAM 등의 고속 RAM을 포함할 수 있다.The system bus 1108 can be any of several types of bus structures that can be further interconnected to a memory bus, peripheral bus, and 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 a non-volatile memory 1110 such as ROM, EPROM, EEPROM, etc., and this BIOS is basic to help transfer information between components in the computer 1102 at the same time as during startup. Contains routines. The 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 인터페이스 기술 중 적어도 하나 또는 그 둘다를 포함한다.Computer 1102 also has an internal hard disk drive (HDD) 1114 (eg, EIDE, SATA)—this internal hard disk drive 1114 can also be configured for external use within a suitable chassis (not shown). Yes—, magnetic floppy disk drive (FDD) 1116 (eg, for reading from or writing to removable diskette 1118), and optical disk drive 1120 (eg, CD-ROM Disc 1122 for reading or reading from or writing to other high-capacity optical media such as a DVD). The hard disk drive 1114, the magnetic disk drive 1116, and the optical disk drive 1120 are respectively connected to the system bus 1108 by the hard disk drive interface 1124, the magnetic disk drive interface 1126, and the optical drive interface 1128. ). The interface 1124 for implementing an external drive includes, for example, at least one of USB (Universal Serial Bus) and IEEE 1394 interface technology, or both.

이들 드라이브 및 그와 연관된 컴퓨터 판독가능 매체는 데이터, 데이터 구조, 컴퓨터 실행가능 명령어, 기타 등등의 비휘발성 저장을 제공한다. 컴퓨터(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 above description of computer readable storage media refers to HDDs, removable magnetic disks, and removable optical media such as CDs or DVDs, those of ordinary skill in the art can use a zip drive, magnetic cassette, flash memory card, cartridge, It will be appreciated that other types of storage media readable by computers, etc., may also be used in the exemplary operating environment and that any such media may include computer-executable instructions for performing the methods of the present disclosure. .

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

사용자는 하나 이상의 유선/무선 입력 장치, 예를 들어, 키보드(1138) 및 마우스(1140) 등의 포인팅 장치를 통해 컴퓨터(1102)에 명령 및 정보를 입력할 수 있다. 기타 입력 장치(도시 생략)로는 마이크, IR 리모콘, 조이스틱, 게임 패드, 스타일러스 펜, 터치 스크린, 기타 등등이 있을 수 있다. 이들 및 기타 입력 장치가 종종 시스템 버스(1108)에 연결되어 있는 입력 장치 인터페이스(1142)를 통해 처리 장치(1104)에 연결되지만, 병렬 포트, IEEE 1394 직렬 포트, 게임 포트, USB 포트, IR 인터페이스, 기타 등등의 기타 인터페이스에 의해 연결될 수 있다.The user may input commands and information to the computer 1102 through one or more wired/wireless input devices, for example, pointing devices 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, etc. These and other input devices are often connected to the processing unit 1104 through an input device interface 1142 connected to the system bus 1108, but the parallel port, IEEE 1394 serial port, game port, USB port, IR interface, And other interfaces.

모니터(1144) 또는 다른 유형의 디스플레이 장치도 역시 비디오 어댑터(1146) 등의 인터페이스를 통해 시스템 버스(1108)에 연결된다. 모니터(1144)에 부가하여, 컴퓨터는 일반적으로 스피커, 프린터, 기타 등등의 기타 주변 출력 장치(도시 생략)를 포함한다.The 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)를 용이하게 해주며, 이들 모두는 전세계 컴퓨터 네트워크, 예를 들어, 인터넷에 연결될 수 있다.The computer 1102 can 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, server computer, router, personal computer, portable computer, microprocessor-based entertainment device, peer device, or other conventional network node, generally for computer 1102. It includes many or all of the described components, but for simplicity, only the memory storage device 1150 is shown. The illustrated logical connections include wired/wireless connections to a local area network (LAN) 1152 and/or a larger network, such as 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 computer networks around the world, such as 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. The adapter 1156 can facilitate wired or wireless communication to the LAN 1152, which also includes a wireless access point installed therein to communicate with the wireless adapter 1156. When used in a WAN networking environment, the computer 1102 may include a modem 1158, connect to a communication server on the WAN 1154, or otherwise establish communication over the WAN 1154, such as through the Internet. Have a means The modem 1158, which may be an internal or external and 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 the computer 1102 or portions thereof may be stored in the remote memory/storage device 1150. It will be appreciated that the illustrated network connection is exemplary and other means of establishing a communication link between computers can be used.

컴퓨터(1102)는 무선 통신으로 배치되어 동작하는 임의의 무선 장치 또는 개체, 예를 들어, 프린터, 스캐너, 데스크톱 및/또는 휴대용 컴퓨터, PDA(portable data assistant), 통신 위성, 무선 검출가능 태그와 연관된 임의의 장비 또는 장소, 및 전화와 통신을 하는 동작을 한다. 이것은 적어도 Wi-Fi 및 블루투스 무선 기술을 포함한다. 따라서, 통신은 종래의 네트워크에서와 같이 미리 정의된 구조이거나 단순하게 적어도 2개의 장치 사이의 애드혹 통신(ad hoc communication)일 수 있다.Computer 1102 is associated with any wireless device or entity that is deployed and operates in wireless communication, such as a printer, scanner, desktop and/or portable computer, a portable data assistant (PDA), a communications satellite, or a wireless detectable tag. It operates to communicate with any equipment or place and telephone. This includes at least Wi-Fi and Bluetooth wireless technology. Accordingly, the communication may be a predefined structure as in a conventional network or simply 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 및 5 GHz 무선 대역에서, 예를 들어, 11Mbps(802.11a) 또는 54 Mbps(802.11b) 데이터 레이트로 동작하거나, 양 대역(듀얼 대역)을 포함하는 제품에서 동작할 수 있다.Wi-Fi (Wireless Fidelity) enables a connection to the Internet or the like without a wired connection. Wi-Fi is a wireless technology such as a cell phone that allows a computer, for example, to send and receive data indoors and outdoors, ie anywhere within the base station's coverage area. 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). Wi-Fi networks can operate in unlicensed 2.4 and 5 GHz radio bands, for example, at 11 Mbps (802.11a) or 54 Mbps (802.11b) data rates, or in products that include both bands (dual band). have.

본 개시의 기술 분야에서 통상의 지식을 가진 자는 여기에 개시된 실시예들과 관련하여 설명된 다양한 예시적인 논리 블록들, 모듈들, 프로세서들, 수단들, 회로들 및 알고리즘 단계들이 전자 하드웨어, (편의를 위해, 여기에서 "소프트웨어"로 지칭되는) 다양한 형태들의 프로그램 또는 설계 코드 또는 이들 모두의 결합에 의해 구현될 수 있다는 것을 이해할 것이다. 하드웨어 및 소프트웨어의 이러한 상호 호환성을 명확하게 설명하기 위해, 다양한 예시적인 컴포넌트들, 블록들, 모듈들, 회로들 및 단계들이 이들의 기능과 관련하여 위에서 일반적으로 설명되었다. 이러한 기능이 하드웨어 또는 소프트웨어로서 구현되는지 여부는 특정한 애플리케이션 및 전체 시스템에 대하여 부과되는 설계 제약들에 따라 좌우된다. 본 개시의 기술 분야에서 통상의 지식을 가진 자는 각각의 특정한 애플리케이션에 대하여 다양한 방식들로 설명된 기능을 구현할 수 있으나, 이러한 구현 결정들은 본 개시의 범위를 벗어나는 것으로 해석되어서는 안 될 것이다.Those of ordinary skill in the art of the present disclosure may use various examples of logical blocks, modules, processors, means, circuits and algorithm steps described in connection with the embodiments disclosed herein in electronic hardware, (convenience For the sake of understanding, it may be implemented by various forms of program or design code (referred to herein as “software”) or a combination of both. 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. Those skilled in the art of the present disclosure may implement the functions described in various ways for each particular application, but such implementation decisions should not be interpreted as falling outside the scope of the present disclosure.

여기서 제시된 다양한 실시예들은 방법, 장치, 또는 표준 프로그래밍 및/또는 엔지니어링 기술을 사용한 제조 물품(article)으로 구현될 수 있다. 용어 "제조 물품"은 임의의 컴퓨터-판독가능 장치로부터 액세스 가능한 컴퓨터 프로그램, 캐리어, 또는 매체(media)를 포함한다. 예를 들어, 컴퓨터-판독가능 저장 매체는 자기 저장 장치(예를 들면, 하드 디스크, 플로피 디스크, 자기 스트립, 등), 광학 디스크(예를 들면, CD, DVD, 등), 스마트 카드, 및 플래쉬 메모리 장치(예를 들면, EEPROM, 카드, 스틱, 키 드라이브, 등)를 포함하지만, 이들로 제한되는 것은 아니다. 용어 "기계-판독가능 매체"는 명령(들) 및/또는 데이터를 저장, 보유, 및/또는 전달할 수 있는 무선 채널 및 다양한 다른 매체를 포함하지만, 이들로 제한되는 것은 아니다. Various embodiments presented herein can be implemented as a method, apparatus, or article of manufacture using standard programming and/or engineering techniques. The term "manufactured article" includes a computer program, carrier, or media accessible from any computer-readable device. For example, computer-readable storage media include magnetic storage devices (eg, hard disks, floppy disks, magnetic strips, etc.), optical disks (eg, CDs, DVDs, etc.), smart cards, and flashes. Memory devices (eg, EEPROMs, cards, sticks, key drives, etc.), but are not limited to these. The term “machine-readable medium” includes, but is not limited to, wireless channels and various other media capable of storing, retaining, and/or transferring command(s) and/or data.

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

제시된 실시예들에 대한 설명은 임의의 본 개시의 기술 분야에서 통상의 지식을 가진 자가 본 개시를 이용하거나 또는 실시할 수 있도록 제공된다. 이러한 실시예들에 대한 다양한 변형들은 본 개시의 기술 분야에서 통상의 지식을 가진 자에게 명백할 것이며, 여기에 정의된 일반적인 원리들은 본 개시의 범위를 벗어남이 없이 다른 실시예들에 적용될 수 있다. 그리하여, 본 개시는 여기에 제시된 실시예들로 한정되는 것이 아니라, 여기에 제시된 원리들 및 신규한 특징들과 일관되는 최광의의 범위에서 해석되어야 할 것이다.Descriptions of the presented embodiments are 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 skilled in the art of the present disclosure, and the general principles defined herein can be applied to other embodiments without departing from the scope of the present disclosure. Thus, the present disclosure should not be limited to the embodiments presented herein, but should be interpreted in the broadest scope consistent with the principles and novel features presented herein.

Claims (24)

컴퓨터 판독가능 저장 매체에 저장되는 컴퓨터 프로그램으로서, 상기 컴퓨터 프로그램은 하나 이상의 프로세서에 의해 실행되는 경우, 아이템 거래를 위한 방법을 수행하며, 상기 방법은:
제 1 사용자로부터의 게임 내에서 플레이 가능한 제 1 아이템에 대한 거래 요청을 수신하는 단계;
상기 제 1 아이템을 블록체인 네트워크에서의 주소를 갖는 일시적(temporary) 아이템 수용 공간으로 이동시킬 것을 결정하는 단계; 및
상기 일시적 아이템 수용 공간으로 이동된 상기 제 1 아이템이 아이템 거래의 대상이 되도록 허용하는 단계;
를 포함하는,
컴퓨터 판독가능 저장 매체에 저장된 컴퓨터 프로그램.
A computer program stored on a computer-readable storage medium, wherein the computer program, when executed by one or more processors, performs a method for trading items, the method comprising:
Receiving a transaction request for a first item playable in the game from the first user;
Determining to move the first item to a temporary item accommodating space having an address in the blockchain network; And
Allowing the first item moved to the temporary item accommodating space to be subject to an item transaction;
Containing,
A computer program stored on a computer readable storage medium.
제 1 항에 있어서,
상기 방법은:
상기 제 1 아이템을 상기 일시적 아이템 수용 공간으로 이동시킬 것을 결정하는 것에 응답하여, 상기 제 1 아이템의 거래를 블록체인 네트워크 상에서 실행하기 위한, 블록체인 네트워크 상에서 동작가능한 스마트 컨트랙트(smart contract)를 생성하는 단계;
를 더 포함하는,
컴퓨터 판독가능 저장 매체에 저장된 컴퓨터 프로그램.
According to claim 1,
The method is:
In response to determining to move the first item to the temporary item accommodating space, generating a smart contract operable on the blockchain network to execute the transaction of the first item on the blockchain network. step;
Further comprising,
A computer program stored on a computer readable storage medium.
제 2 항에 있어서,
상기 스마트 컨트랙트는:
상기 제 1 아이템의 소유권이 상기 제 1 사용자에게 있는 것을 보장하면서, 아이템 거래를 위해 상기 제 1 아이템을 상기 일시적 아이템 수용 공간으로 이동시키는 제 1 서브 컨트랙트;
를 포함하는,
컴퓨터 판독가능 저장 매체에 저장된 컴퓨터 프로그램.
According to claim 2,
The smart contract is:
A first sub-contract that moves the first item to the temporary item accommodating space for item trading, while ensuring that ownership of the first item belongs to the first user;
Containing,
A computer program stored on a computer readable storage medium.
제 3 항에 있어서,
상기 제 1 아이템이 상기 일시적 아이템 수용 공간으로 이동된 경우, 상기 제 1 아이템은 게임 내에서 사용가능하지 않은 상태로 변경되는,
컴퓨터 판독가능 저장 매체에 저장된 컴퓨터 프로그램.
The method of claim 3,
When the first item is moved to the temporary item receiving space, the first item is changed to an unusable state in the game,
A computer program stored on a computer readable storage medium.
제 2 항에 있어서,
상기 스마트 컨트랙트는:
상기 제 1 아이템을 구매하고자 하는 제 2 사용자로부터의 상기 제 1 아이템에 대한 구매 요청에 응답하여 상기 제 1 아이템의 거래 조건의 만족 여부를 판단하고, 그리고 상기 제 1 아이템의 거래 조건이 만족되는 경우, 상기 제 1 아이템의 소유권을 상기 제 1 사용자로부터 상기 제 2 사용자로 변경시키는 제 2 서브 컨트랙트;
를 포함하는,
컴퓨터 판독가능 저장 매체에 저장된 컴퓨터 프로그램.
According to claim 2,
The smart contract is:
In response to a purchase request for the first item from a second user who wants to purchase the first item, determines whether the transaction condition of the first item is satisfied, and when the transaction condition of the first item is satisfied A second sub-contract that changes ownership of the first item from the first user to the second user;
Containing,
A computer program stored on a computer readable storage medium.
제 5 항에 있어서,
상기 제 1 아이템의 거래 조건에 기초하여 상기 스마트 컨트랙트가 생성되며,
상기 제 1 아이템의 거래 조건은, 상기 제 1 사용자로부터의 상기 제 1 아이템에 대한 거래 요청에 포함된 거래 유형 정보에 적어도 부분적으로 기초하여 결정되고, 그리고
상기 거래 유형 정보는, 자동 구매 예약 거래, 상한가 경매 거래, 가격 지정 일반 거래, 대여 거래, 광고 발생 거래 및 기부 발생 거래 중 적어도 하나를 포함하는,
컴퓨터 판독가능 저장 매체에 저장된 컴퓨터 프로그램.
The method of claim 5,
The smart contract is generated based on the transaction conditions of the first item,
Transaction conditions of the first item are determined based at least in part on transaction type information included in a transaction request for the first item from the first user, and
The transaction type information includes at least one of an automatic purchase reservation transaction, an upper price auction transaction, a general price designation transaction, a rental transaction, an advertisement generation transaction, and a donation generation transaction,
A computer program stored on a computer readable storage medium.
제 2 항에 있어서,
상기 스마트 컨트랙트는:
상기 제 1 사용자로부터 상기 제 1 아이템을 구매하고자 하는 제 2 사용자로 상기 제 1 아이템의 소유권을 변경하는 경우, 상기 제 2 사용자와 관련된 제 2 외부 소유 어카운트(EOA: Externally Owned Account)로부터 상기 제 1 사용자와 관련된 제 1 외부 소유 어카운트로 상기 제 1 아이템의 거래 비용의 적어도 일부를 전달하기 위한 트랜잭션을 블록체인 네트워크 상에서 발생시키는 제 3 서브 컨트랙트;
를 포함하는,
컴퓨터 판독가능 저장 매체에 저장된 컴퓨터 프로그램.
According to claim 2,
The smart contract is:
When the ownership of the first item is changed from the first user to the second user who wants to purchase the first item, the first from a second externally owned account (EOA) associated with the second user A third sub-contract that generates a transaction on the blockchain network to deliver at least a portion of the transaction cost of the first item to a first externally owned account associated with the user;
Containing,
A computer program stored on a computer readable storage medium.
제 2 항에 있어서,
상기 스마트 컨트랙트는:
상기 제 1 사용자가 상기 제 1 아이템에 대한 판매를 취소한 경우 또는 제 2 사용자로 상기 제 1 아이템에 대한 소유권을 이전하는 경우, 상기 제 1 아이템을 상기 일시적 아이템 수용 공간으로부터 다른 위치로 이동시킴으로써, 상기 제 1 아이템을 게임 내에서 사용가능한 상태로 복귀시키도록 허용하는 제 4 서브 컨트랙트;
를 포함하는,
컴퓨터 판독가능 저장 매체에 저장된 컴퓨터 프로그램.
According to claim 2,
The smart contract is:
When the first user cancels the sale of the first item or transfers ownership of the first item to the second user, by moving the first item from the temporary item receiving space to another location, A fourth sub-contract that allows the first item to return to a usable state in the game;
Containing,
A computer program stored on a computer readable storage medium.
제 8 항에 있어서,
상기 제 4 서브 컨트랙트는:
상기 제 1 사용자가 상기 제 1 아이템에 대한 판매를 취소한다는 표시가 포함된 트랜잭션이 수신된 경우, 상기 제 1 아이템을 상기 일시적 아이템 수용 공간에 대한 블록체인 네트워크 주소로부터 상기 제 1 사용자와 관련된 블록체인 네트워크 주소로 이동시키기 위한 트랜잭션을 발생시키는,
컴퓨터 판독가능 저장 매체에 저장된 컴퓨터 프로그램.
The method of claim 8,
The fourth sub-contract:
When a transaction including an indication that the first user cancels the sale of the first item is received, the first item is a blockchain associated with the first user from the blockchain network address for the temporary item accommodating space. Generate a transaction to move to a network address,
A computer program stored on a computer readable storage medium.
제 2 항에 있어서,
상기 스마트 컨트랙트는:
상기 제 2 사용자로 상기 제 1 아이템에 대한 소유권이 이전되는 경우, 상기 제 1 아이템의 판매 금액 중 적어도 일부를 기부금 수령을 위한 사전결정된 외부 소유 어카운트로 전달하기 위한 트랜잭션을 블록체인 네트워크 상에서 발생시키는 제 5 서브 컨트랙트;
를 포함하며,
상기 기부금 수령을 위한 사전결정된 외부 소유 어카운트로 전달이 완료된 경우, 기부금을 수령한 외부 소유 어카운트의 잔액(balance) 정보에 적어도 부분적으로 기초하여 기부금의 지급 정보가 출력되는,
컴퓨터 판독가능 저장 매체에 저장된 컴퓨터 프로그램.
According to claim 2,
The smart contract is:
When ownership of the first item is transferred to the second user, a transaction for transferring at least a portion of the sales amount of the first item to a predetermined externally owned account for receiving a donation is generated on the blockchain network. 5 sub contracts;
It includes,
When the transfer is completed to a predetermined externally owned account for receiving the donation, payment information of the donation is output based at least in part on the balance information of the externally owned account that received the donation,
A computer program stored on a computer readable storage medium.
제 2 항에 있어서,
상기 스마트 컨트랙트는 블록에 포함되어 블록체인 네트워크로 배포되며,
상기 스마트 컨트랙트가 상기 블록체인 네트워크로 배포되는 경우, 상기 스마트 컨트랙트에 대응되는 컨트랙트 어카운트(Contract Account)가 생성되며, 그리고
상기 스마트 컨트랙트가 블록체인 네트워크 상에서의 컨트랙트 어카운트에 저장됨에 따라, 상기 블록체인 네트워크 상에서 제 1 아이템에 대한 거래를 수행하기 위한 스마트 컨트랙트가 동작 가능하도록 활성화되는,
컴퓨터 판독가능 저장 매체에 저장된 컴퓨터 프로그램.
According to claim 2,
The smart contract is included in the block and distributed to the blockchain network,
When the smart contract is distributed to the blockchain network, a contract account corresponding to the smart contract is created, and
As the smart contract is stored in a contract account on the blockchain network, a smart contract for performing a transaction for a first item on the blockchain network is activated to be operable,
A computer program stored on a computer readable storage medium.
제 11 항에 있어서,
상기 제 1 아이템을 구매하고자 하는 제 2 사용자와 관련된 또는 게임 서버와 관련된 외부 소유 어카운트로부터 발생된, 상기 제 1 아이템에 대한 거래 요청을 포함하는 트랜잭션에 응답하여, 상기 컨트랙트 어카운트에 저장된 상기 제 1 아이템의 거래를 수행하기 위한 스마트 컨트랙트가 호출되는,
컴퓨터 판독가능 저장 매체에 저장된 컴퓨터 프로그램.
The method of claim 11,
In response to a transaction involving a transaction request for the first item, originating from an externally owned account associated with a second user who wishes to purchase the first item or associated with a game server, the first item stored in the contract account The smart contract to perform the transaction of is called,
A computer program stored on a computer readable storage medium.
제 11 항에 있어서,
상기 스마트 컨트랙트가 저장되는 컨트랙트 어카운트는:
아이템 거래를 위해 생성된 스마트 컨트랙트들의 개수; 및
상기 아이템 거래를 위한 스마트 컨트랙트의 바이트 코드(byte code)에 대한 해시값;
을 포함하며,
상기 컨트랙트 어카운트의 주소는, 제 1 사용자, 게임 서버 및 아이템 거래소 서버 중 적어도 하나의 개인키에 적어도 부분적으로 기초하여 생성되는,
컴퓨터 판독가능 저장 매체에 저장된 컴퓨터 프로그램.
The method of claim 11,
The contract account in which the smart contract is stored is:
The number of smart contracts created for item trading; And
A hash value for the byte code of the smart contract for the item transaction;
It includes,
The address of the contract account is generated based at least in part on the private key of at least one of the first user, the game server, and the item exchange server,
A computer program stored on a computer readable storage medium.
제 2 항에 있어서,
상기 생성된 스마트 컨트랙트를 블록에 포함시켜 블록체인 네트워크로 배포하는 단계;
를 더 포함하며,
상기 블록체인 네트워크로 배포되는 블록은: 상기 아이템 거래를 위한 스마트 컨트랙트 및 아이템 거래 이력 정보를 포함하며, 그리고
상기 스마트 컨트랙트는 복수의 노드들에 의한 합의 알고리즘(consensus algorithm)에 기초하여 상기 블록체인 네트워크로 배포되며, 상기 복수의 노드들은 하나 이상의 사용자 단말, 하나 이상의 게임 서버 및 하나 이상의 아이템 거래소 서버 중 적어도 둘을 포함하는,
컴퓨터 판독가능 저장 매체에 저장된 컴퓨터 프로그램.
According to claim 2,
Distributing the generated smart contract in a block to distribute it to a blockchain network;
Further comprising,
Blocks distributed to the blockchain network include: smart contracts for item trading and item transaction history information, and
The smart contract is distributed to the blockchain network based on a consensus algorithm by a plurality of nodes, and the plurality of nodes are at least two of one or more user terminals, one or more game servers, and one or more item exchange servers. Containing,
A computer program stored on a computer readable storage medium.
제 1 항에 있어서,
상기 제 1 아이템을 아이템 거래를 위한 일시적 아이템 수용 공간으로 이동시킬 것을 결정하는 것에 응답하여, 상기 제 1 사용자, 아이템 거래소 서버 및 게임 서버 중 적어도 하나와 연관된 개인키(private key)를 사용하여 상기 일시적 아이템 수용 공간과 연관된 블록체인 주소로 상기 제 1 아이템을 이동시키기 위한 제 1 트랜잭션을 생성하는 단계;
를 더 포함하는,
컴퓨터 판독가능 저장 매체에 저장된 컴퓨터 프로그램.
According to claim 1,
In response to determining to move the first item to a temporary item accommodating space for item trading, the temporary using a private key associated with at least one of the first user, the item exchange server, and the game server. Generating a first transaction for moving the first item to a blockchain address associated with the item accommodating space;
Further comprising,
A computer program stored on a computer readable storage medium.
제 15 항에 있어서,
상기 제 1 트랜잭션은:
상기 개인키로부터 생성된 서명 정보를 포함하는 트랜잭션 입력 값; 및
상기 제 1 아이템에 대한 식별 정보 및 상기 일시적 아이템 수용 공간과 연관된 블록체인 주소 정보를 포함하는 트랜잭션 출력 값;
을 포함하는,
컴퓨터 판독가능 저장 매체에 저장된 컴퓨터 프로그램.
The method of claim 15,
The first transaction is:
A transaction input value including signature information generated from the private key; And
A transaction output value including identification information for the first item and blockchain address information associated with the temporary item accommodating space;
Containing,
A computer program stored on a computer readable storage medium.
제 15 항에 있어서,
상기 방법은:
상기 제 1 아이템을 구매하고자 하는 제 2 사용자로부터의 상기 제 1 아이템에 대한 거래 요청을 수신하는 단계;
상기 제 1 아이템에 대한 거래 요청을 포함하는 제 2 트랜잭션을 상기 제 2 사용자, 아이템 거래소 서버 및 게임 서버 중 적어도 하나와 연관된 개인키를 사용하여 생성하는 단계;
상기 제 2 트랜잭션을 상기 블록체인 네트워크로 발행함으로써, 상기 제 1 트랜잭션에 포함된 스마트 컨트랙트를 호출하는 단계; 및
상기 블록체인 네트워크에 제 1 사용자와 제 2 사용자 간의 상기 제 1 아이템에 대한 거래가 기록되는 경우, 상기 제 1 아이템과 관련된 게임 상에서 상기 제 1 아이템을 게임 서버가 관리하는 일시적 아이템 보관 공간으로부터 제 1 사용자의 인벤토리로부터 이동시킬 것을 결정하는 단계;
를 더 포함하는,
컴퓨터 판독가능 저장 매체에 저장된 컴퓨터 프로그램.
The method of claim 15,
The method is:
Receiving a transaction request for the first item from a second user who wants to purchase the first item;
Generating a second transaction including a transaction request for the first item using a private key associated with at least one of the second user, item exchange server, and game server;
Calling the smart contract included in the first transaction by issuing the second transaction to the blockchain network; And
When a transaction for the first item between the first user and the second user is recorded in the blockchain network, a first user from a temporary item storage space managed by a game server managing the first item in a game related to the first item Deciding to move from the inventory;
Further comprising,
A computer program stored on a computer readable storage medium.
제 15 항에 있어서,
상기 방법은:
상기 제 1 아이템을 구매하고자 하는 제 2 사용자로부터의 상기 제 1 아이템에 대한 거래 요청을 수신하는 단계;
상기 제 1 아이템에 대한 거래 요청을 포함하는 제 2 트랜잭션을 상기 제 2 사용자, 아이템 거래소 서버 및 게임 서버 중 적어도 하나와 연관된 개인키를 사용하여 생성하는 단계; 및
상기 제 2 트랜잭션을 상기 블록체인 네트워크로 발행함으로써, 상기 제 1 트랜잭션에 포함된 스마트 컨트랙트를 호출하는 단계;
를 더 포함하며,
상기 스마트 컨트랙트가 호출됨에 따라, 상기 제 2 사용자의 외부 소유 어카운트로부터 상기 제 1 사용자의 외부 소유 어카운트로 상기 제 1 아이템의 거래에 수반되는 비용을 전달하기 위한 트랜잭션, 및 상기 블록체인 네트워크 상에서의 상기 일시적 아이템 수용 공간으로부터 상기 제 2 사용자 또는 게임 서버와 관련된 외부 소유 어카운트로 상기 제 1 아이템을 이동시키기 위한 트랜잭션이 생성되는,
컴퓨터 판독가능 저장 매체에 저장된 컴퓨터 프로그램.
The method of claim 15,
The method is:
Receiving a transaction request for the first item from a second user who wants to purchase the first item;
Generating a second transaction including a transaction request for the first item using a private key associated with at least one of the second user, item exchange server, and game server; And
Calling the smart contract included in the first transaction by issuing the second transaction to the blockchain network;
Further comprising,
As the smart contract is called, a transaction for transferring the cost associated with the transaction of the first item from the second user's externally owned account to the first user's externally owned account, and the above on the blockchain network. A transaction is generated to move the first item from a temporary item accommodating space to an externally owned account associated with the second user or game server,
A computer program stored on a computer readable storage medium.
제 1 항에 있어서,
상기 일시적 아이템 수용 공간으로 이동된 상기 제 1 아이템이 아이템 거래의 대상이 되도록 허용하는 단계는:
상기 제 1 아이템을 상기 일시적 아이템 수용 공간으로 이동시키기 위한 트랜잭션을 발생시킴으로써 상기 트랜잭션이 블록에 포함되어 블록체인 네트워크로 배포되도록 허용하는 단계; 및
상기 제 1 아이템과 관련된 게임 서버 및 아이템 거래소 서버 중 적어도 하나에서, 상기 제 1 아이템이 거래 대상이 된다는 것을 사용자들이 확인할 수 있도록 허용하는 단계;
를 포함하는,
컴퓨터 판독가능 저장 매체에 저장된 컴퓨터 프로그램.
According to claim 1,
The step of allowing the first item moved to the temporary item accommodating space to be subject to an item transaction is:
Allowing the transaction to be included in a block and distributed to a blockchain network by generating a transaction for moving the first item to the temporary item receiving space; And
Allowing at least one of a game server and an item exchange server associated with the first item to allow users to confirm that the first item is subject to a transaction;
Containing,
A computer program stored on a computer readable storage medium.
제 1 항에 있어서,
상기 방법은, 오프 체인(off-chain) 기반의 게임 서버 및 오프 체인 기반의 아이템 거래소 서버 중 적어도 하나에 의해 수행되는,
컴퓨터 판독가능 저장 매체에 저장된 컴퓨터 프로그램.
According to claim 1,
The method is performed by at least one of an off-chain based game server and an off chain based item exchange server,
A computer program stored on a computer readable storage medium.
제 1 항에 있어서,
상기 일시적 아이템 수용 공간으로 이동된 상기 제 1 아이템이 아이템 거래의 대상이 되도록 허용하는 단계는,
상기 제 1 아이템을 블록체인 네트워크에서의 주소를 갖는 일시적 아이템 수용 공간으로 이동시킬 것을 결정하는 것에 응답하여, 상기 제 1 아이템과 관련된 게임 상에서 상기 제 1 아이템을 제 1 사용자의 인벤토리로부터 게임 서버가 관리하는 일시적 아이템 보관 공간으로 이동시킴으로써, 상기 제 1 아이템이 아이템 거래의 대상이 된다는 것을 게임 내 사용자들이 확인할 수 있도록 허용하는 단계;
를 포함하는,
컴퓨터 판독가능 저장 매체에 저장된 컴퓨터 프로그램.
According to claim 1,
The step of allowing the first item moved to the temporary item accommodating space to be subject to an item transaction is:
In response to determining to move the first item to a temporary item accommodating space having an address in the blockchain network, the game server manages the first item from the inventory of the first user on the game associated with the first item. Allowing the in-game users to confirm that the first item is subject to an item transaction by moving to a temporary item storage space;
Containing,
A computer program stored on a computer readable storage medium.
아이템 거래를 수행하기 위한 게임 서버로서,
제 1 사용자로부터의 게임 내에서 플레이 가능한 제 1 아이템에 대한 거래 요청을 수신하는 송수신부; 및
상기 제 1 아이템을 상기 게임 서버 내에서의 아이템 보관 공간으로 이동시키고, 상기 제 1 아이템을 블록체인 네트워크에서의 주소를 갖는 일시적 아이템 수용 공간으로 이동시킬 것을 결정하고, 그리고 상기 일시적 아이템 수용 공간으로 이동된 상기 제 1 아이템이 아이템 거래의 대상이 되도록 허용하는 프로세서;
를 포함하는,
게임 서버.
As a game server for performing item trading,
A transceiver for receiving a transaction request for a first item playable in the game from the first user; And
It is decided to move the first item to the item storage space in the game server, determine to move the first item to a temporary item storage space having an address in the blockchain network, and move to the temporary item storage space A processor that allows the first item to be subject to an item transaction;
Containing,
Game server.
아이템 거래소 서버로서,
제 1 사용자로부터의 게임 내에서 플레이 가능한 제 1 아이템에 대한 거래 요청을 수신하고, 그리고 상기 제 1 아이템이 게임 서버 내에서의 아이템 보관 공간으로 이동될 수 있도록 허용하기 위한 신호를 게임 서버로 전송하는 송수신부; 및
상기 제 1 아이템을 블록체인 네트워크에서의 주소를 갖는 일시적 아이템 수용 공간으로 이동시키기 위하여 상기 블록체인 네트워크로 배포될 트랜잭션을 생성하고 그리고 상기 일시적 아이템 수용 공간으로 이동된 상기 제 1 아이템이 아이템 거래의 대상이 되도록 허용하기 위하여 상기 트랜잭션과 관련된 정보를 게임 서버로 전달할 것을 결정하는 프로세서;
를 포함하는,
아이템 거래소 서버.
As an item exchange server,
Receiving a transaction request for a first item playable in the game from a first user, and sending a signal to the game server to allow the first item to be moved to the item storage space in the game server Transceiver; And
In order to move the first item to a temporary item accommodating space having an address in the blockchain network, a transaction to be distributed to the blockchain network is generated, and the first item moved to the temporary item accommodating space is the target of the item transaction. A processor that decides to transmit information related to the transaction to a game server to allow this;
Containing,
Item exchange server.
블록체인 네트워크를 구성하는 컴퓨팅 장치로서,
프로세서; 및
상기 프로세서에 의해 실행가능한 컴퓨터 프로그램을 저장하는 메모리;
를 포함하며,
상기 프로세서는:
제 1 사용자로부터의 게임 내에서 플레이 가능한 제 1 아이템에 대한 거래 요청에 대응되는 스마트 컨트랙트가 포함된 제 1 트랜잭션을 수신하고;
합의 알고리즘에 따라 생성된 제 1 블록에 상기 제 1 트랜잭션을 포함시키고;
상기 제 1 트랜잭션에 포함된 스마트 컨트랙트에 기초하여 상기 제 1 아이템을 상기 블록체인 네트워크 내에서의 주소를 갖는 일시적 아이템 수용 공간으로 이동시킴으로써, 상기 제 1 아이템이 아이템 거래의 대상이 되도록 허용하도록 구성되는,
블록체인 네트워크를 구성하는 컴퓨팅 장치.
As a computing device constituting the blockchain network,
Processor; And
A memory storing computer programs executable by the processor;
It includes,
The processor:
Receive a first transaction including a smart contract corresponding to a transaction request for a first item playable in the game from the first user;
Include the first transaction in a first block generated according to a consensus algorithm;
Configured to allow the first item to be subject to an item transaction by moving the first item to a temporary item accommodating space having an address in the blockchain network based on the smart contract included in the first transaction ,
Computing devices that make up the blockchain network.
KR1020190008677A 2019-01-23 2019-01-23 Technique for item transaction KR102182849B1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020190008677A KR102182849B1 (en) 2019-01-23 2019-01-23 Technique for item transaction

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020190008677A KR102182849B1 (en) 2019-01-23 2019-01-23 Technique for item transaction

Related Child Applications (1)

Application Number Title Priority Date Filing Date
KR1020200155070A Division KR20200135247A (en) 2020-11-19 2020-11-19 Technique for item transaction

Publications (2)

Publication Number Publication Date
KR20200091647A true KR20200091647A (en) 2020-07-31
KR102182849B1 KR102182849B1 (en) 2020-11-25

Family

ID=71834778

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020190008677A KR102182849B1 (en) 2019-01-23 2019-01-23 Technique for item transaction

Country Status (1)

Country Link
KR (1) KR102182849B1 (en)

Cited By (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113034137A (en) * 2021-03-12 2021-06-25 腾讯科技(深圳)有限公司 Data processing method and device based on block chain and related equipment
CN113554439A (en) * 2021-07-27 2021-10-26 深圳康佳电子科技有限公司 NFT transaction control method, device, terminal and computer-readable storage medium
KR20220088207A (en) * 2020-12-18 2022-06-27 재단법인 경주스마트미디어센터 Method for performing settlement according to contract based on smart contract and Apparatus for same
JP7180933B1 (en) * 2021-12-17 2022-11-30 株式会社コルク Method and system for processing item attachment/detachment of NFT wearing model
WO2023281155A1 (en) * 2021-07-07 2023-01-12 Supercell Oy Method and system for validating transaction in client-server environment
WO2023131626A1 (en) * 2022-01-10 2023-07-13 Bright Star Studios Aps Method and apparatus for managing digital assets and non-fungible tokens
WO2023163415A1 (en) * 2022-02-22 2023-08-31 주식회사 원유니버스 Application data blockchain storage method, and system using same

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102502997B1 (en) 2022-08-10 2023-02-23 장규오 Method and System of Asset Transaction Service Between Platforms
KR102566831B1 (en) 2023-06-01 2023-08-17 주식회사 나인투랩스 Method, device and system for providing exchange and trading platform services for nfts and items in the game environment

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20120031673A (en) * 2010-09-27 2012-04-04 주식회사 월드비즈넷 The method for thereof and the item international circulation system for online international trade
KR20150132708A (en) * 2014-05-16 2015-11-26 주식회사 엔터플 Trading system of online game items and method thereof
KR101673073B1 (en) 2015-02-25 2016-11-04 이진희 Dealing method of Crypto-currency base on Blockchain System
KR20180068888A (en) * 2016-12-14 2018-06-22 성신여자대학교 산학협력단 Method and apparatus for purchasing game item using smart contract

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20120031673A (en) * 2010-09-27 2012-04-04 주식회사 월드비즈넷 The method for thereof and the item international circulation system for online international trade
KR20150132708A (en) * 2014-05-16 2015-11-26 주식회사 엔터플 Trading system of online game items and method thereof
KR101673073B1 (en) 2015-02-25 2016-11-04 이진희 Dealing method of Crypto-currency base on Blockchain System
KR20180068888A (en) * 2016-12-14 2018-06-22 성신여자대학교 산학협력단 Method and apparatus for purchasing game item using smart contract

Cited By (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20220088207A (en) * 2020-12-18 2022-06-27 재단법인 경주스마트미디어센터 Method for performing settlement according to contract based on smart contract and Apparatus for same
CN113034137A (en) * 2021-03-12 2021-06-25 腾讯科技(深圳)有限公司 Data processing method and device based on block chain and related equipment
WO2023281155A1 (en) * 2021-07-07 2023-01-12 Supercell Oy Method and system for validating transaction in client-server environment
CN113554439A (en) * 2021-07-27 2021-10-26 深圳康佳电子科技有限公司 NFT transaction control method, device, terminal and computer-readable storage medium
JP7180933B1 (en) * 2021-12-17 2022-11-30 株式会社コルク Method and system for processing item attachment/detachment of NFT wearing model
WO2023112562A1 (en) * 2021-12-17 2023-06-22 株式会社コルク Method for processing attachment/removal of item for to-be-dressed nft model, and system for same
WO2023131626A1 (en) * 2022-01-10 2023-07-13 Bright Star Studios Aps Method and apparatus for managing digital assets and non-fungible tokens
WO2023163415A1 (en) * 2022-02-22 2023-08-31 주식회사 원유니버스 Application data blockchain storage method, and system using same

Also Published As

Publication number Publication date
KR102182849B1 (en) 2020-11-25

Similar Documents

Publication Publication Date Title
KR102182849B1 (en) Technique for item transaction
KR102162762B1 (en) Technique for item tracking
WO2020107919A1 (en) Distributed network and ecosystem based on innovative proof-of-reputation consensus protocol
KR20210024994A (en) Digital asset exchange
KR20200094531A (en) System and method for providing digital asset services basesd on blockchain
KR102030171B1 (en) Method to manage decenteralized game
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
US20220092599A1 (en) Systems and Methods for a Permissionless Decentralized Virtual Asset Network
Kanani et al. Matic whitepaper
KR102162763B1 (en) Method to transfer accounts
KR20220065273A (en) A method for providing liquidity value adjustment 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
KR20220065265A (en) A method for providing community services related to ownership item assets using non-fungible tokens based on block chain networks, an apparatus and a system using it
KR102151731B1 (en) Technique for allowing item self processing
KR20200135247A (en) Technique for item transaction
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
KR20200108763A (en) Method to manage decenteralized game
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
KR102139551B1 (en) Method and server for managing testament
KR20200138097A (en) Method to transfer accounts
KR102169840B1 (en) Method for ensuring the trust of selling probability based items
KR102296991B1 (en) Mileage integrative platform service system based on blockchain
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
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
KR20200140094A (en) Delivery system based on blockchain and the operation method thereof

Legal Events

Date Code Title Description
E902 Notification of reason for refusal
AMND Amendment
E601 Decision to refuse application
AMND Amendment
X701 Decision to grant (after re-examination)
GRNT Written decision to grant