KR102182849B1 - Technique for item transaction - Google Patents

Technique for item transaction Download PDF

Info

Publication number
KR102182849B1
KR102182849B1 KR1020190008677A KR20190008677A KR102182849B1 KR 102182849 B1 KR102182849 B1 KR 102182849B1 KR 1020190008677 A KR1020190008677 A KR 1020190008677A KR 20190008677 A KR20190008677 A KR 20190008677A KR 102182849 B1 KR102182849 B1 KR 102182849B1
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
KR20200091647A (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

Abstract

컴퓨터 판독가능 저장 매체에 저장되는 컴퓨터 프로그램이 개시된다. 상기 컴퓨터 프로그램은 하나 이상의 프로세서에 의해 실행되는 경우, 아이템 거래를 위한 방법을 수행하며, 상기 방법은: 제 1 사용자로부터의 게임 내에서 플레이 가능한 제 1 아이템에 대한 거래 요청을 수신하는 단계; 제 1 아이템을 블록체인 네트워크에서의 주소를 갖는 일시적(temporary) 아이템 수용 공간으로 이동시킬 것을 결정하는 단계; 및 일시적 아이템 수용 공간으로 이동된 상기 제 1 아이템이 아이템 거래의 대상이 되도록 허용하는 단계를 포함할 수 있다.A computer program stored on a computer-readable storage medium is disclosed. When the computer program is executed by one or more processors, it performs a method for item transaction, 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 accommodation space having an address in the blockchain network; And allowing the first item moved to the temporary item accommodation space to be a target of item transaction.

Description

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

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

인터넷의 발달로 온라인을 통해 다양한 플랫폼 상에서 다양한 형태의 객체들에 대한 거래가 이루어지고 있다. 현실 세계가 아닌, 게임 등과 같은, 가상 세계에서 존재하는 객체들 또한 그 가치가 인정될 수 있으며, 이에 따라 이러한 가상 세계에서의 객체들 또한 거래의 대상이 될 수 있다. 기존에는 게임 내에서 사용되는 아이템은 그 아이템이 게임 내에서만 존재하고 그 가치가 게임 내에서만 있는 것으로 인식되었다. 하지만, 게임 산업의 발전으로 많은 사용자들이 이용하고 있는 게임에 대해서, 게임 내에서 구축된 사회는 현실 사회와 같은 상황들을 재현하고 있으며, 이에 따라 해당 게임 내에서 통용되는 아이템 및/또는 화폐에 대한 가치 또한 현실 세계에서의 재화로서 그 가치를 인정받고 있다. 특히, O2O(Online To Offline) 기술 등과 같은 온라인/모바일 기술의 발전에 힘입어 온라인과 오프라인의 경계가 명확히 나누어지지 않게 되고 그리고 게임 산업 또한 발전됨에 따라서, 현재는 이러한 게임 관련 아이템이 "재화" 또는 "재산상의 이익"으로 간주되고 있다. 이에 따라서, 게임 내에서 구매 또는 생성될 수 있는 다양한 형태의 아이템의 거래에 대한 수요 또한 증가되고 있다. With the development of the Internet, transactions for various types of objects are made on various platforms through online. Objects existing in the virtual world, such as games, other than the real world, may also be recognized for their value, and accordingly, objects in the virtual world may also be objects of transaction. Previously, it was recognized that items used in games exist only in the game and their value only exists 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 the same situations as the real society, and accordingly, the value of items and/or currency used in the game It is also recognized for its value as a good in the real world. In particular, due to the development of online/mobile technology 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 currently referred to as "goods" or It is considered a "property advantage". Accordingly, the demand for transactions of various types of items that can be purchased or generated in the game is also increasing.

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

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

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

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

한국 등록 특허 KR10-1673073Korean registered patent KR10-1673073

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

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

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

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

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

본 개시내용의 일 실시예에 따라, 투명성 및 안정성을 확보하기 위한 아이템 거래 기법이 달성될 수 있다.According to an embodiment of the present disclosure, an item transaction 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, wherein like reference numbers are used collectively to refer to like elements. In the examples that follow, 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 to facilitate describing one or more aspects.
1 shows an exemplary system for performing item transactions according to an 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 transaction method performed in an item exchange server according to an embodiment of the present disclosure.
FIG. 5 exemplarily shows 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 flow chart of an item transaction method according to an embodiment of the present disclosure.
7 shows an exemplary flow chart of an item transaction method according to an embodiment of the present disclosure.
8 shows an exemplary flowchart of an item transaction method according to an embodiment of the present disclosure.
9 shows an exemplary flow chart of an item transaction method according to an embodiment of the present disclosure.
10 exemplarily shows 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 item transaction in a user terminal according to an embodiment of the present disclosure.
12 illustrates an exemplary UI configuration for performing item transaction in a user terminal according to an embodiment of the present disclosure.
13 exemplarily shows a manner 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 exemplary computing environment in which embodiments of the present disclosure may be implemented.

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

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

본 명세서에서 사용되는 용어 "컴퓨터 프로그램" "컴포넌트", "모듈" 등은 서로 호환가능하게 사용될 수 있다. 예를 들어, 컴포넌트는 프로세서상에서 실행되는 처리과정(procedure), 프로세서, 객체, 실행 스레드, 프로그램, 및/또는 컴퓨터일 수 있지만, 이들로 제한되는 것은 아니다. 예를 들어, 컴퓨팅 장치에서 실행되는 애플리케이션 및 컴퓨팅 장치 모두 컴포넌트일 수 있다. 하나 이상의 컴포넌트는 프로세서 및/또는 실행 스레드 내에 상주할 수 있다. 일 컴포넌트는 하나의 컴퓨터 내에 로컬화 될 수 있다. 일 컴포넌트는 2개 이상의 컴퓨터들 사이에 분배될 수 있다.The terms "computer program," "component", "module", and the like used herein may be used interchangeably. For example, a component may be, but is not limited to, a process executed on a processor, a processor, an object, an execution thread, a program, and/or a computer. For example, both an application running on a computing device and a computing device may be components. One or more components may reside within a processor and/or thread of execution. A component can be localized on a single computer. A 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. Components can be, for example, via a signal with one or more data packets (e.g., data from one component interacting with another component in a local system, a distributed system, and/or a signal through another system and a network such as the Internet. Depending on the data being transmitted), it may communicate via local and/or remote processes.

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

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

또한, "포함한다" 및/또는 "포함하는"이라는 용어는, 해당 특징 및/또는 구성요소가 존재함을 의미하지만, 하나 이상의 다른 특징, 구성요소 및/또는 이들의 그룹의 존재 또는 추가를 배제하지 않는 것으로 이해되어야 한다. 또한, 달리 특정되지 않거나 단수 형태를 지시하는 것으로 문맥상 명확하지 않은 경우에, 본 명세서와 청구범위에서 단수는 일반적으로 "하나 또는 그 이상"을 의미하는 것으로 해석되어야 한다.In addition, the terms "comprising" and/or "comprising" mean that the corresponding feature and/or element 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 when the context is not clear as indicating a singular form, the singular in the specification and claims should be interpreted as meaning "one or more" in general.

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

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

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

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

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

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

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

본 개시내용에서의 프로세서는 하나 이상의 코어로 구성될 수 있으며, 컴퓨팅 장치의 중앙 처리 장치(CPU: central processing unit), 범용 그래픽 처리 장치 (GPGPU: general purpose graphics processing unit), 텐서 처리 장치(TPU: tensor processing unit) 등과 같이 메모리 상에 저장된 명령어들을 실행시킴으로써 아이템 거래를 수행하기 위한 임의의 형태의 프로세서를 포함할 수 있다. 프로세서는 메모리에 저장된 컴퓨터 프로그램을 판독하여 본 개시의 일 실시예에 따른 아이템 거래 기법을 수행할 수 있다. The processor in the present disclosure may be composed of one or more cores, and a central processing unit (CPU), a general purpose graphics processing unit (GPGPU), and a tensor processing unit (TPU: Tensor processing unit) may include an arbitrary type of processor for performing item transactions by executing instructions stored in the memory. The processor may read a computer program stored in a memory to perform an item transaction 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 operation of a processor, and may temporarily or permanently store input/output data. Memory is a flash memory type, hard disk type, multimedia card micro type, card type memory (for example, SD or XD memory), RAM (Random Access). Memory, RAM), SRAM (Static Random Access Memory), ROM (Read-Only Memory, ROM), EEPROM (Electrically Erasable Programmable Read-Only Memory), PROM (Programmable Read-Only Memory), magnetic memory, magnetic disk, optical disk At least one type of storage medium may be included. This memory can be operated under control of the processor. Further, in the present disclosure, the memory and the 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 a 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 may be used to inquire item information registered on the blockchain network 400. The transaction in the present disclosure can be used to record/insert data on the blockchain network 400 or perform an update (modification/change/delete/addition) on 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 generate a client application by compiling an application source. For example, the generated client application may be executed after being delivered to at least one of the game server 200, the item exchange server 300, and the blockchain network 400.

사용자 단말(100)은 솔리디티(Solidity) 등과 같은 임의의 언어를 사용하여 블록체인 네트워크(400) 상에서 동작될 수 있는 스마트 컨트랙트를 생성할 수 있다. 또한, 사용자 단말(100)은 생성된 스마트 컨트랙트를 블록체인 네트워크(400)로 배포하기 위한 트랜잭션을 생성할 수 있다.The user terminal 100 may create a smart contract that can be operated on the blockchain network 400 using an arbitrary language such as Solidity. In addition, the user terminal 100 may generate a transaction for distributing the generated smart contract to the blockchain network 400.

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

또한, 사용자 단말(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 transmit 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 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 also operate as a node constituting the block chain network 400. In this example, the user terminal 100 may implement at least one of a wallet function, a minor function, and a full blockchain data storage function. For example, when the user terminal 100 includes only a wallet function, it may operate as a node that performs transaction and validation (eg, a Simplified Payment Verification (SPV) node).

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

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

도 1에서 게임 서버(200) 및 아이템 거래소 서버(300)가 별도의 엔티티로서 분리되어 표현되었지만, 본 개시내용의 실시예에 따라서 아이템 거래소 서버(300)가 게임 서버(200) 내에 포함되어, 게임 플레이 기능 및 아이템 거래 기능을 하나의 통합 서버에서 수행할 수도 있다. 이러한 예시에서, 아이템 거래소 서버(300)의 기능이 게임 서버(200)에 통합되는 경우, 사용자 단말(100)은 인-게임(in-game) 아이템 거래를 수행할 수 있다. In FIG. 1, the game server 200 and the item exchange server 300 are separated and represented as separate entities, but the item exchange server 300 is included in the game server 200 according to an embodiment of the present disclosure. The play function and item transaction function can 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 a game item transaction 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 transaction.

추가적으로, 게임 서버(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 an embodiment of the present disclosure, the blockchain network 400 may refer to a plurality of nodes operating based on the 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 a transaction 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 expressed as a separate entity, but according to the embodiment of the present disclosure, the blockchain network 400 is at least one of the game server 200 and/or the item exchange server 300. It may be implemented in a form included in one.

블록체인 네트워크(400)는, 구현 형태에 따라서, 임의의 노드들이 합의 동작을 수행할 수 있는 Public 블록체인 네트워크 또는 사전결정된 노드만이 합의 동작을 수행할 수 있는 Private 블록체인 네트워크를 포함할 수 있다.The blockchain network 400 may include a public blockchain network in which arbitrary nodes can perform consensus operations or a private blockchain network in which only predetermined nodes can perform consensus operations, 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 in the blockchain network 400 according to an embodiment of the present disclosure is: PoW (Proof of Work) algorithm, PoS (Proof of Stake) algorithm, DPoS (Delegated Proof of Stake) algorithm, PBFT (Practical Byzantine Fault Tolerance) algorithm, Delegated Byzantine Fault Tolerance (DBFT) algorithm, Redundant Byzantine Fault Tolerance (RBFT) algorithm, Sieve algorithm, Tendermint algorithm, Paxos algorithm, Raft algorithm, PoA (Proof of Authority) algorithm and/or PoET (Proof of Elapsed Time) algorithm may be included.

본 개시내용의 일 예시적인 실시예에서, 블록체인 네트워크(400)에서의 노드들은 계층 구조에 따른 블록체인 코어 패키지에 의해 동작할 수 있다. 상기 계층 구조는: 블록체인 네트워크(400)에서 다뤄지는 데이터의 구조를 정의하고 데이터를 관리하는 데이터 계층, 블록의 유효성을 검증하고 블록을 생성하는 마이닝을 수행하고 마이닝 과정에서 채굴자에게 지급되는 수수료의 처리를 담당하는 합의 계층, 스마트 컨트랙트를 처리 및 실행시키는 실행 계층, P2P 네트워크 프로토콜, 해시 함수, 전자서명, 인코딩 및 공통 저장소를 구현 및 관리하는 공통 계층, 및 다양한 어플리케이션이 생성, 처리 및 관리되는 응용 계층을 포함할 수 있다. In an 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 that defines the structure of data handled by the blockchain network 400 and manages the data, a fee paid to the miners during the mining process, performing mining to verify the validity of blocks and generating blocks A consensus layer in charge of processing of, an execution layer that processes and executes smart contracts, a common layer that implements and manages P2P network protocols, hash functions, digital signatures, encoding and common storage, and various applications are created, processed and managed It can include an application layer.

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

본 개시내용에서의 거래 대상이 되는 아이템은 게임 내에서 플레이될 수 있는 임의의 형태의 아이템을 포함하며, 예를 들어, Non-Fungible 아이템 및 Fungible 아이템을 포함할 수 있다. Non-Fungible 아이템에 대해서는 예를 들어, ERC-721 표준 코드 및/또는 ERC-1155 표준 코드에 기초하여 거래가 수행될 수 있다. 또한, Fungible 아이템에 대해서는 예를 들어, ERC-20 표준 코드 및/또는 ERC-1155 표준 코드에 기초하여 거래가 수행될 수 있다.Items subject to transaction in the present disclosure include items of any type that can be played in the game, and may include, for example, non-floungible items and fungible items. For non-Fungible items, transactions may be performed based on, for example, the ERC-721 standard code and/or the ERC-1155 standard code. In addition, for the 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 presented in the present disclosure includes Code Division Multi Access (CDMA), Time Division Multi Access (TDMA), Frequency Division Multi Access (FDMA), Orthogonal Frequency Division Multi Access (OFDMA), and SC-FDMA. Various wireless communication systems such as (Single Carrier-FDMA) and other systems can be used. The techniques described in this disclosure may be used not only in the networks mentioned above, but also in any type of other communication networks.

본 개시내용에서의 "일시적 아이템 수용 공간"을 블록체인 네트워크(400) 상에서의 특정한 주소를 갖는 어카운트(예컨대, 외부 소유 어카운트(EOA) 및/또는 컨트랙트 어카운트(CA))로서, 블록체인 네트워크(400) 상에서 일시적으로 거래 대상이 되는 아이템을 수용하는 기능을 수행할 수 있다. 본 개시내용의 실시예에 따라, 상기 어카운트는 게임 서버(200)의 개인키, 아이템 거래소 서버(300)의 개인키 또는 제 1 사용자의 개인키에 기초하여 생성되는 트랜잭션에 의해 생성될 수 있다.As an account having a specific address on the blockchain network 400 (e.g., an externally owned account (EOA) and/or a contract account (CA)), the "temporary item accommodation space" in the present disclosure is, the blockchain network 400 ) Can perform a function of temporarily accommodating items subject to transaction. 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 "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 a game, a common inventory, an inventory for item trading, an item exchange, and the like. When an item sale request is generated by the user, the game server 200 may move the corresponding item from the user's inventory to a temporary item storage space. Accordingly, users can know that the item is subject to transaction in the game. 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 a code and/or function included in a smart contract is executed, an item transaction in any form (eg, sale, purchase, rental, etc. of a game item) according to embodiments of the present disclosure may be performed. .

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

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

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

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

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

블록체인 네트워크(400)에 공유되는 스마트 컨트랙트 의해 그 함수 내용과 함수의 입력을 공유하는 경우, 함수의 결과가 별도로 공유되지 않더라도 데이터의 무결성이 보장될 수 있다. When the contents of the function and the input of the function are shared by a smart contract shared in the blockchain network 400, the integrity of the data can be guaranteed 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 transactions are a transaction storage database that changes the state of the smart contract and a smart contract that stores the latest state of the smart contract. It can also contain a database. In this case, the smart contract for item transaction in the present disclosure may be defined as an application that can change the state on the blockchain network 400 (ie, an item transaction application), and the state of the smart contract is It can be defined as a variable used in the application (i.e., 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, and the user terminal 100 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, in order to achieve the distributed consensus of the database storing the state of the smart contract and low dependency of the smart contract, it can operate separately from the database storing the transaction.

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

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

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

본 개시내용의 일 실시예에 따라 게임 서버(200)는 아이템 거래(예컨대, 판매 또는 대여 등)를 희망하는 제 1 사용자로부터의 게임 내에서 플레이 가능한 제 1 아이템에 대한 거래 요청을 수신하는 송수신부(203)를 포함할 수 있다. 또한, 송수신부(203)는 제 1 아이템이 거래의 대상이 되도록 등록된 이후에, 제 1 아이템의 거래(예컨대, 구매 또는 대여 등)를 희망하는 제 2 사용자로부터의 거래 요청을 수신할 수 있다.According to an embodiment of the present disclosure, the game server 200 is a transmission/reception unit that receives a transaction request for a first item playable in the game from a first user who wishes to trade an item (eg, sale or rental, etc.) (203) may be included. In addition, the transmission/reception unit 203 may receive a transaction request from a second user who wishes to trade the first item (eg, purchase or lease) after the first item is registered to be a 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. As a wireless Internet technology, WLAN (Wireless LAN) (Wi-Fi), Wibro (Wireless broadband) Wimax (World Interoperability for Microwave Access), HSDPA (High Speed Downlink Packet Access), and the like may be used. As a wired Internet technology, XDSL (Digital Subscriber Line), FTTH (Fibers to the Home), PLC (Power Line Communication), etc. may be used. In addition, the transmission/reception unit 203 may include a short range communication module. As a short-range communication technology, Bluetooth, Radio Frequency Identification (RFID), infrared data association (IrDA), Ultra Wideband (UWB), ZigBee, and the like may be used.

송수신부(203)는 사용자 단말(100)과의 통신, 블록체인 네트워크(400)와의 통신 및 다른 서버와의 통신을 수행할 수 있다.The 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 information in an arbitrary form generated or determined by the processor 201 and information in an arbitrary form received by the transmission/reception unit 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 the components of the game server 200 to allow item transaction. For example, the processor 201 moves a first item to an item storage space in the game server 200, and moves the first item to a temporary item accommodation space having an address in the blockchain network 400 It is possible to determine what to do, and allow the first item moved to the temporary item accommodation space to be an object of 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 in the game server 200 to the inventory of the second user.

아이템 거래소 서버(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 a first user, and allows the first item to be moved to an item storage space in the game server 200. It may include a transmission/reception unit 303 for transmitting a signal to be allowed to the game server 200. In addition, the transmission/reception unit 303 may receive a transaction request for the first item from a second user who wishes to trade (eg, purchase or rent) 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. As a wireless Internet technology, WLAN (Wireless LAN) (Wi-Fi), Wibro (Wireless broadband) Wimax (World Interoperability for Microwave Access), HSDPA (High Speed Downlink Packet Access), and the like may be used. As a wired Internet technology, XDSL (Digital Subscriber Line), FTTH (Fibers to the Home), PLC (Power Line Communication), etc. may be used. In addition, the transceiver 303 may include a short range communication module. As a short-range communication technology, Bluetooth, Radio Frequency Identification (RFID), infrared data association (IrDA), Ultra Wideband (UWB), ZigBee, and the like may be used.

송수신부(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 information in an arbitrary form generated or determined by the processor 301 and information in an arbitrary form received by the transmission/reception unit 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 generates a transaction to be distributed to the blockchain network 400 in order to move the first item to the temporary item accommodation space having an address in the blockchain network, and the first item moved to the temporary item accommodation space. In order to allow this item to be a target of 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 a second user, the processor 301 generates a corresponding transaction and distributes it to the blockchain network 400, so that the first item from the temporary item accommodation space to the second user's inventory. You can allow it to be moved.

도 2에서는 도시되지 않았지만, 게임 서버(200) 및 아이템 거래소 서버(300) 중 적어도 하나는 블록체인 네트워크(400)를 구성하는 컴퓨팅 장치로 동작할 수도 있다. 이러한 경우, 상기 컴퓨팅 장치는 프로세서, 및 프로세서에 의해 실행가능한 컴퓨터 프로그램을 저장하는 메모리를 포함할 수 있다.Although not shown 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 a computer program 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 of the computing device may include the first transaction in a first block generated according to a consensus algorithm. In addition, the processor in the computing device moves the first item to a temporary item accommodation space having an address in the blockchain network 400 based on the smart contract included in the first transaction, so that the first item is an item transaction. It can be configured to allow it to be the subject of.

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

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

도 3은 본 개시내용의 일 실시예에 따라 게임 서버(200)에서 수행되는 아이템 거래 방식을 예시적으로 도시한다. 3 exemplarily shows an item transaction method performed in the game server 200 according to an embodiment of the present disclosure.

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

게임 서버(200)는 제 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 directly receive a transaction request for the first item 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 is sent from the item exchange server 300 to the first user. It is also possible to receive a signal that a transaction request has been made for the first item of.

본 개시내용의 일 실시예에서, 제 1 아이템은 게임 내에서 플레이 및 거래 가능한 형태의 게임 아이템을 의미할 수 있다. 또한, 제 1 아이템에 대한 거래 요청은, 제 1 아이템을 판매 또는 대여 하고자 하는 표시가 포함된 메시지의 형태일 수도 있거나 또는 블록체인 네트워크(400) 상에서 공유될 수 있는 트랜잭션의 형태일 수도 있다. In an embodiment of the present disclosure, the first item may mean a game item in a form that can be played and traded in a game. In addition, 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 a smart contract and a transaction based on transaction request information for the first item. In addition, in the former case, the game server 200 may transmit 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 transmitted to the game server 200 (or the 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 inventory in the game of the first user in order to allow the first item not to be played in the game while maintaining the ownership of the first item to the first user. Can be moved to the item storage space of. 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 on a corresponding item to be output in the game so that users can search for an item 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 transfers the transaction including the smart contract to the blockchain network 400. Can be issued (330).

일 실시예에서, 게임 서버(200)는 사용자 단말(100)에 의해 생성된 제 1 아이템에 대한 거래 요청에 포함된 거래 조건 정보에 기초하여, 스마트 컨트랙트를 생성할 수 있다. 예를 들어, 거래 유형 정보 또는 거래 조건 정보는, 자동 구매 예약 거래, 상한가 경매 거래, 대여 거래, 가격 지정 일반 거래, 광고 발생 거래 및 기부 발생 거래 중 적어도 하나를 포함할 수 있다. 아이템 거래를 희망하는 사용자는 UI(User Interface) 상에서 게임 아이템 거래를 희망한다는 표시 및 게임 아이템에 대한 거래 조건을 입력할 수 있으며, 이에 응답하여, 게임 서버(200)는 사용자의 입력 정보에 기초하여 자동으로 블록체인 네트워크(400) 상에서 동작가능한 스마트 컨트랙트를 생성할 수 있다.In an embodiment, the game server 200 may generate a smart contract based on transaction condition information included in a transaction request for a 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 limit auction transaction, a rental transaction, a price designation general transaction, an advertisement generation transaction, and a donation generation transaction. A user who wishes to trade an item may indicate that he wishes to trade a game item and input a transaction condition for the game item on a UI (User Interface), and in response, the game server 200 may use the user's input information. It is possible to automatically create smart contracts that can operate 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 created. 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 created for item transaction, and a hash value for the byte code of the smart contract for item transaction.

또한, 상기 컨트랙트 어카운트의 주소는, 제 1 사용자, 게임 서버 및 아이템 거래소 서버 중 적어도 하나의 개인키에 적어도 부분적으로 기초하여 생성될 수 있다. 일 실시예에서, 컨트랙트 어카운트의 주소는 게임 서버(200)의 개인키와 쌍을 이루는 공개키에 기초하여 생성될 수 있다. 예를 들어, SHA 256 및/또는 RIPEMD(RACE Integrity Primitives Evaluation Message Digest)를 이용하여 공개키로부터 컨트랙트 어카운트의 주소가 생성될 수 있다.In addition, 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 may be generated from the public key using SHA 256 and/or RIPEMD (RACE Integrity Primitives Evaluation Message Digest).

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

또한, 스마트 컨트랙트는 복수의 노드들에 의한 합의 알고리즘에 기초하여 상기 블록체인 네트워크로 배포되며, 여기서의 복수의 노드들은, 하나 이상의 외부 컴퓨팅 장치들, 하나 이상의 사용자 단말, 하나 이상의 게임 서버 및 하나 이상의 아이템 거래소 서버 중 적어도 둘을 포함할 수 있다.In addition, smart contracts are distributed to the blockchain network based on a consensus algorithm by a plurality of nodes, wherein the plurality of nodes include 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 an additional embodiment, the game server 200 is a private key associated with at least one of the first user, the item exchange server 300 and the game server 200 in order to perform item transaction on the first item. Using, it is also possible to create a transaction for moving the first item to a blockchain address associated with the temporary item accommodation space. In this case, the transaction includes: 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 block chain address information associated with the temporary item accommodation space. I can.

또한, 블록체인 네트워크(400)상의 주소를 갖는 일시적 아이템 수용 공간은 게임 서버(200)의 일시적 아이템 보관 공간(예컨대, 게임 내에서의 금고, 공용 인벤토리, 아이템 거래용 인벤토리, 아이템 거래소)과 대응될 수 있다. 즉, 게임 서버(200)에서 구현되는 일시적 아이템 보관 공간에서 발생되는 거래 이력들은 이와 대응되는 블록체인 네트워크에서의 일시적 아이템 수용 공간에 저장될 수 있기 때문에, 아이템 거래에 대한 신뢰성 및 무결성이 확보될 수 있다.In addition, the temporary item accommodation space having an address on the blockchain network 400 will correspond to the temporary item storage space of the game server 200 (e.g., in-game safe, public inventory, item transaction inventory, item exchange). I 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 ensured. have.

추가적인 실시예에서, 아이템 거래소 서버(300)에 의해 블록체인 네트워크(400)로 트랜잭션이 발행되고, 게임 서버(200)는 아이템 거래소 서버(300) 또는 블록체인 네트워크(400)로부터 이러한 트랜잭션이 발행되었다는 정보 또는 트랜잭션이 블록체인 네트워크(400)에 공유되었다는 정보를 수신하는 형태로 동작할 수도 있다.In an additional 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 also operate in the form of receiving information that 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 an embodiment, the game server 200 may receive a purchase request for the first item from a second user who has confirmed that the first item is a transaction target (340 ). For example, the game server 200 may directly receive a transaction request (eg, a purchase request) for the first item from the user terminal 100 of the second user. As another example, after the user terminal 100 of the second user transmits the purchase request for the first item to the item exchange server 300, the game server 200 is sent from the item exchange server 300 to the second user. It is also possible to receive a signal indicating that a purchase request for the first item of the product has been made.

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

본 개시내용의 일 실시예에서, 게임 서버(200)는 제 2 사용자로부터의 구매 요청이 포함된 트랜잭션을 생성하여 블록체인 네트워크(400)로 발행할 수 있다(350). 이러한 트랜잭션에 의해서, 블록체인 네트워크(400)에 사전저장된 스마트 컨트랙트가 호출될 수 있다. 일례로, 게임 서버(200)는 제 2 사용자로부터 제 1 아이템의 구매를 원한다는 표시가 포함된 신호를 수신한 이후에, 상기 신호가 제 1 사용자가 제시한 구매 조건을 만족하는지 여부를 확인한 후, 만족되는 경우 스마트 컨트랙트를 호출하기 위한 트랜잭션을 생성할 수 있다. 다른 예시로, 게임 서버(200)는 제 2 사용자에 의해 생성된 트랜잭션을 블록체인 네트워크(400)로 전달할 수도 있다. 다른 예시로, 게임 서버(200)는, 제 2 사용자로부터의 제 1 아이템의 구매를 원한다는 표시가 포함된 신호를 블록체인 네트워크(400) 상에서 동작가능한 트랜잭션 형태로 변환할 수도 있다.In an 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 such a transaction, a smart contract pre-stored in the blockchain network 400 may be called. As an example, after receiving a signal including an indication that the user wants to purchase a first item from the second user, the game server 200 checks whether the signal satisfies the purchase condition presented by the first user, If satisfied, you can create a transaction to call the smart contract. As another example, the game server 200 may transmit a 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 second user wants to purchase the first item into a transaction form operable 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 a settlement procedure 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 It may be determined that the first item is moved from the temporary item storage space to the inventory of the second user (360). For example, when the game server 200 receives the content that the item transaction has been performed between the first user and the second user as the smart contract is executed from the blockchain network 400 or from the item exchange server 300, It may be determined to move the first item moved to the temporary item storage space in the game to the in-game inventory of the second user.

블록체인 네트워크(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 transaction history of items with integrity on the blockchain network 400 may be reflected into the game server 200.

블록체인 네트워크(400)가 게임 서버(200) 내부에 존재하는 경우(즉, 게임 서버(200)가 블록체인 네트워크(400)를 관리하는 경우), 게임 서버(200)는 내부 통신을 통하여 블록체인 네트워크(400)에서 업데이트/변경된 아이템 거래 이력들을 게임 서버(200) 내에서 표시할 수 있다.When the block chain network 400 exists inside the game server 200 (that is, when the game server 200 manages the block chain network 400), the game server 200 Item transaction histories 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 if ownership of the first item is successfully transferred to the second user, the game server 200 transfers the first item from the temporary item storage space. By moving to another location (either the first user's or the second user's in-game inventory) the first item may 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 a smart contract in the blockchain network 400 itself. It may be performed according to the execution of For example, when the ownership of the first item is changed from a first user to a second user who wants to purchase the first item, the first user related to the first user from a second externally owned account related to the second user A procedure of generating a transaction or message for delivering at least a portion of the transaction cost of the first item to an externally owned account may be performed on the blockchain network.

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

도 4는 본 개시내용의 일 실시예에 따라 아이템 거래소 서버(300)에서 수행되는 아이템 거래 방식을 예시적으로 도시한다.4 exemplarily shows an item transaction method performed in 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 of FIG. 4 may be omitted or additional steps may exist 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 directly receive a transaction request for the first item 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 is sent from the game server 200 to the first user. A signal indicating that a transaction request has been made for the first item may be received.

본 개시내용의 일 실시예에서, 제 1 아이템은 게임 내에서 플레이 및 거래 가능한 형태의 게임 아이템을 의미할 수 있다. 또한, 아이템 거래소 서버(300)에서는 단일 게임(서비스 단위) 뿐만 아니라 복수의 게임들(즉, 월드 단위)에서 플레이될 수 있는 임의의 형태의 게임 아이템이 거래될 수 있도록 허용할 수 있다. In an embodiment of the present disclosure, the first item may mean a game item in a form that can be played and traded in a game. In addition, the item exchange server 300 may allow not only a single game (service unit) but also an arbitrary type of game item that can be played in a plurality of games (ie, world units) 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 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. In the former case, the item transaction server 300 may generate a smart contract and a transaction based on transaction request information for the first item. In the latter case, the smart contract generated by the user terminal 100 may be included in the transaction and transmitted to the item exchange server 300 (or the 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 an item storage space managed in the game server 200 (420). When the item exchange server 300 determines to issue a transaction including the first item to the blockchain network 400, by transmitting the corresponding signal to the game server 200, the first It is possible to allow the first item to 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 includes the block chain 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 may be created and a transaction including the smart contract may 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 limit auction transaction, a rental transaction, a price designation general transaction, an advertisement generation transaction, and a donation generation transaction.

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

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

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

전술한 바와 같이, 아이템 거래소 서버(300)는 제 1 아이템을 아이템 거래를 수행하기 위하여, 상기 제 1 사용자, 아이템 거래소 서버(300) 및 게임 서버(200) 중 적어도 하나와 연관된 개인키(또는 이와 상응하는 임의의 형태의 암호화 정보)를 사용하여, 일시적 아이템 수용 공간과 연관된 블록체인 주소로 제 1 아이템을 이동시키기 위한 트랜잭션을 생성할 수 있다. 이러한 경우, 상기 트랜잭션은, 개인키로부터 생성된 서명 정보를 포함하는 트랜잭션 입력 값, 및 제 1 아이템에 대한 식별 정보 및 일시적 아이템 수용 공간과 연관된 블록체인 주소 정보를 포함하는 트랜잭션 출력 값을 포함할 수 있다. As described above, the item exchange server 300 is a private key associated with at least one of the first user, the item exchange server 300, and the game server 200 in order to perform an item transaction on the first item (or Corresponding arbitrary form of encryption information) can be used to create a transaction for moving the first item to the blockchain address associated with the temporary item accommodation space. In this case, the transaction may include a transaction input value including signature information generated from a 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 accommodation space having an address on the blockchain network 400 corresponds to the temporary item storage space (eg, in-game safe, public inventory, item transaction inventory, item exchange) of the game server 200 Can be. That is, since the transaction history for game items generated in the temporary item storage space implemented in the game server 200 can be stored in the temporary item storage space in the corresponding blockchain network, the reliability and integrity of the item transaction 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 a smart contract is distributed to the blockchain network 400, a contract account corresponding to the smart contract may be created. Such a contract account may store transaction information or transaction history information included in the item storage space of the game server 200. In addition, if a contract account has already been created, a new contract account is not created, and the transaction and smart contract can be recorded in the existing created 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 created for item transaction, and a hash value for the byte code of the smart contract for item transaction. In addition, 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, or encryption information corresponding thereto. For example, the address of the contract account may be generated based on a 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 a smart contract for item transaction and item transaction history information. According to an embodiment of the present disclosure, when only the smart contract and item transaction details information are included in the block distributed to the blockchain network 400, the block size of the block chain can be minimized in performing item transactions. In addition, the generation time of the block and the propagation time of the block may be reduced, and computing resources for storage of the block may be reduced.

또한, 스마트 컨트랙트는 복수의 노드들에 의한 합의 알고리즘에 기초하여 블록체인 네트워크(400)로 배포되며, 여기서의 복수의 노드들은, 하나 이상의 외부 컴퓨팅 장치들, 하나 이상의 사용자 단말, 하나 이상의 게임 서버 및 하나 이상의 아이템 거래소 서버 중 적어도 둘을 포함할 수 있다. In addition, the smart contract is distributed to the blockchain network 400 based on a consensus algorithm by a plurality of nodes, wherein 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 off-chain, an item transaction procedure may be performed while performing an interaction with an external blockchain network. In addition, when the item exchange server 300 operates on-chain, the block chain 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 아이템에 대한 구매 요청이 이루어졌다는 신호를 수신할 수도 있다. The item exchange server 300 may receive a transaction request for the first item from a second user who wants to trade the first item after issuing a transaction to the blockchain network 400 (440). In an embodiment, the item exchange server 300 may receive a purchase request for the first item from a second user who has confirmed 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 a 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 is sent from the game server 200 to the second user. A signal indicating that a purchase request for the first item has been made may be received.

일 실시예에서, 제 2 사용자로부터의 제 1 아이템에 대한 구매 요청은, 제 1 아이템을 구매하고자 하는 표시가 포함된 메시지의 형태일 수도 있거나, 또는 블록체인 네트워크(400) 상에서 동작될 수 있는 트랜잭션의 형태일 수도 있다. In one embodiment, the purchase request for the first item from the second user may be in the form of a message including an indication to purchase the first item, or a transaction that can 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 transmitted to the item exchange server 300 side. In this example, the user terminal 100 may include an API of any form capable of generating a transaction operable in the blockchain network 400, and the item exchange server 300 is the user terminal of the second user. It may play a role of delivering a transaction for performing item transaction generated in (100) to the blockchain network 400.

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

본 개시내용의 일 실시예에서, 아이템 거래소 서버(300)는 제 2 사용자로부터의 구매 요청이 포함된 트랜잭션을 생성하여 블록체인 네트워크(400)로 발행할 수 있다(450). 이러한 트랜잭션에 의해서, 단계 430에 의해서 블록체인 네트워크(400)에 사전저장된 스마트 컨트랙트가 호출될 수 있다. 일례로, 아이템 거래소 서버(300)는 제 2 사용자로부터 제 1 아이템의 구매를 원한다는 표시가 포함된 신호를 수신한 이후에, 상기 신호가 제 1 사용자가 제시한 구매 조건을 만족하는지 여부를 확인한 후, 만족되는 경우 스마트 컨트랙트를 호출하기 위한 트랜잭션을 생성할 수 있다. 다른 예시로, 아이템 거래소 서버(300)는 제 2 사용자에 의해 생성된 트랜잭션을 블록체인 네트워크(400)로 전달할 수도 있다. 다른 예시로, 아이템 거래소 서버(300)는, 제 2 사용자로부터의 제 1 아이템의 구매를 원한다는 표시가 포함된 신호를 블록체인 네트워크(400) 상에서 동작가능한 트랜잭션 형태로 변환할 수도 있다.In an 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 this transaction, the smart contract pre-stored in the blockchain network 400 may be called by step 430. As an example, after receiving a signal including an indication that the user wants to purchase the first item from the second user, the item exchange server 300 checks whether the signal satisfies the purchase condition presented by the first user. If satisfied, it is possible to create a transaction to call the smart contract. As another example, the item exchange server 300 may transmit a 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 the second user wants to purchase the first item into a transaction form 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 transmit to the game server 200 or the user terminal 100 of the first user that a purchase request from the second user is 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 for calling 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 notifies the user terminal of the second user that the transaction is not approved, and performs a separate transaction to the blockchain network 400. 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 a smart contract stored in the blockchain network 400 is executed, a message indicating that a purchase request from the second user has been received may be transmitted 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 processing 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 processing procedure, and the user terminal or game server of the second user ( 200) or the item exchange server 300 may be executed in a manner of 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 one embodiment of the present disclosure, when the item exchange server 300 performs a settlement procedure for the transaction amount between the account of the first user and the account of the second user as the smart contract for item transaction is executed , In order to allow the first item to be moved from the temporary item storage space to the inventory of the second user in the game server 200, a signal may be transmitted to the game server 200 (460). For example, the game server 200 indicates that an item transaction has been performed between a first user and a second user as a smart contract is executed from the blockchain network 400 or from the item exchange server 300. 300), it may be determined to move the first item moved to the temporary item storage space in the game to the in-game inventory of the second user.

블록체인 네트워크(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 transfers transaction history information generated in the blockchain network 400 to the blockchain network 400 or the item exchange server 300. By receiving/acquiring from, the corresponding information may be reflected in the game server 200. Accordingly, item transaction history information in the item storage space of the game server 200 and item transaction history information in the temporary item accommodation space in the blockchain network 400 may be linked. In addition, when a difference in information between the item storage space of the game server 200 and the item accommodation space on the blockchain network 400 occurs, information is prioritized in the item accommodation space on the blockchain network 400. Can be determined. Accordingly, item transaction history information recorded in the item storage space in the game server 200 may be updated with item transaction history information recorded in the item accommodation space on the blockchain network 400. In this way, the transaction history of items with integrity 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 the block chain network 400, the updated/changed item transaction history may be transmitted to the game server 200.

추가적으로, 제 1 사용자가 제 1 아이템에 대한 판매를 취소한 경우 또는 제 2 사용자로 상기 제 1 아이템에 대한 소유권이 성공적으로 이전한 경우, 아이템 거래소 서버(300)는, 게임 서버(200)가 제 1 아이템을 일시적 아이템 보관 공간으로부터 다른 위치(제 1 사용자 또는 제 2 사용자의 게임 내 인벤토리)로 이동시키도록 하기 위한 신호를 게임 서버(200)에 보낼 수 있다. 이에 따라, 아이템 거래소 서버(300)는 제 1 아이템을 게임 내에서 사용가능한 상태로 복귀시키도록 허용할 수 있다.In addition, when the first user cancels the sale of the first item or when the ownership of the first item is successfully transferred to the second user, the item exchange server 300, the game server 200 A signal for moving one item from the temporary item storage space to another location (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 a smart contract in the blockchain network 400 itself. It may be performed according to the execution of For example, when the ownership of the first item is changed from a first user to a second user who wants to purchase the first item, the first user related to the first user from a second externally owned account related to the second user A procedure of generating a transaction or message for delivering at least a portion of the transaction cost of the first item to an externally owned account may be performed on the blockchain network. Through this procedure, information on the history of ownership change 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 made through the smart contract. I can.

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

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

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

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

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

상기 스마트 컨트랙트는, 제 1 아이템의 소유권이 아이템 거래를 요청한 제 1 사용자에게 있는 것을 보장하면서, 아이템 거래를 위해 상기 제 1 아이템을 블록체인 네트워크(400) 내에서의 일시적 아이템 수용 공간으로 이동시키는 제 1 서브 컨트랙트를 포함할 수 있다. 또한, 제 1 서브 컨트랙트는, 제 1 아이템이 일시적 아이템 수용 공간으로 이동된 경우, 상기 제 1 아이템이 게임 내에서 사용가능하지 않은 상태로 변경되도록 하기 위한 신호를 생성할 수 있다.The smart contract ensures that the ownership of the first item belongs to the first user who requested the item transaction, and moves the first item to the temporary item accommodation space in the blockchain network 400 for item transaction. Can include 1 sub-contract. In addition, the first sub-contract may generate a signal for changing the first item to a state that is not usable in the game when the first item is moved to the temporary item accommodation 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 wishes to purchase the first item, and When the transaction condition of the first item is satisfied, a second sub-contract for changing the 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 from the first user to the second user and recorded.

본 개시내용의 일 실시예에서, 스마트 컨트랙트는, 제 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 a second user who wants to purchase the first item, a second externally owned account associated with the second user ( Or generating a transaction on the blockchain network for transferring at least a portion of the transaction cost of the first item from a wallet associated with the second user) to a first externally owned account associated with the first user (or a 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 on the transaction cost. In this case, the actual transaction cost may be settled by the game server 200 or the item exchange server 300 based on the notified information, and the calculated amount may be paid to the user. In this embodiment, the user does not need to have components such as a wallet 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. It may include a fourth sub-contract that allows the first item to be returned to a usable state in the game by moving it from the temporary item accommodation space to another location. For example, when the fourth sub-contract is called as a first user issues a transaction to cancel the sale of the first item, the first item is a temporary item accommodation space in the blockchain network 400. A transaction or message for moving from the address of the first user to the address of the first user can be generated and issued to the blockchain network 400.

본 개시내용의 일 실시예에 따라, 스마트 컨트랙트는 제 2 사용자로 제 1 아이템에 대한 소유권이 이전되는 경우, 제 1 아이템의 판매 금액 중 적어도 일부를 기부금 수령을 위한 사전결정된 외부 소유 어카운트로 전달하기 위한 트랜잭션을 블록체인 네트워크 상에서 발생시키는 제 5 서브 컨트랙트를 포함할 수 있다. 본 개시내용의 일 실시예에 따라, 제 1 사용자가 아이템 거래 금액의 적어도 일부를 기부금으로 사용하고자 하는 요청을 발행한 경우 또는 게임 서버(200)(아이템 거래소 서버(300))의 정책에 따라 아이템 거래 금액의 적어도 일부를 기부금으로 사용하고자 하는 경우, 해당 기부금으로 지급될 금액(또는 비율) 정보 및 기부금을 수령할 블록체인 네트워크(400) 상에서의 어카운트 또는 주소가 스마트 컨트랙트에 기록될 수 있다. 따라서, 제 5 서브 컨트랙트는 스마트 컨트랙트에 기록된 기부금 관련 정보에 따라 실행될 수 있다. According to an embodiment of the present disclosure, when ownership of a first item is transferred to a 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 donations. 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 part of the item transaction amount as a donation, or according to the policy of the game server 200 (item exchange server 300) When at least part of the transaction amount is to be used as a donation, information on the amount (or ratio) 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. Accordingly, 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 covers at least a portion of the costs that may be involved in operating the blockchain network 400, such as fees incurred for generating blocks and/or rewards paid to mining nodes. You may decide to use it as a donation. Accordingly, at least a portion of the commission cost incurred to generate the block may be automatically paid to a predetermined donation receipt account or address as the fifth sub-contract is executed, and the fifth sub-contract is a transaction or message for such payment. Can be created.

기부금 수령을 위한 사전결정된 외부 소유 어카운트로 기부금의 전달이 완료된 경우, 기부금을 수령한 외부 소유 어카운트의 잔액(balance) 정보가 블록체인 네트워크(400)에 저장될 수 있다. 예를 들어, 잔액 정보는 기부금을 수령한 외부 소유 어카운트에 기록될 수 있다. When the delivery of the donation to the predetermined externally owned account for receiving the donation is completed, balance information of the externally owned account that received the donation may be stored in the blockchain network 400. For example, balance information may 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, not an externally owned account, based on an Unspent Transaction Output (UTXO) method. In this case, the balance information can be confirmed as the total 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 amount of the first item or at least a portion of the fee to the blockchain network may be replaced with coins usable in the game or a specific asset in the game. For example, at least a portion of the sales amount of the first item or at least a portion of the fee to the blockchain network may be used as a prize money 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 sales amount of the first item or at least a portion of the commission to the blockchain network may be replaced with a capability value such as a character in the game of the seller or buyer of the first item.

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

또한, 이러한 제 1 트랜잭션에 대한 검증은 제 1 트랜잭션의 입력 값에 포함된 개인키 정보 및 상기 개인키와 쌍을 이루는 공개키 정보에 기초하여 수행될 수 있다. 예를 들어, 제 1 사용자의 제 1 아이템에 대한 거래를 요청하는 내용이 포함된 제 1 트랜잭션의 경우, 제 1 사용자의 개인키 또는 게임 서버(아이템 거래소 서버)의 개인키 또는 제 1 아이템에 할당된 개인키로 서명이 이루어질 수 있다. 이러한 개인키의 서명 정보와 상기 개인키와 대응되는 공개키의 정보를 이용함으로써(예컨대, 개인키를 사전결정된 해시 함수(예컨대, 타원곡선 곱셈함수)를 통과시켜 나온 해시값과 공개키 값을 비교함으로써), 제 1 트랜잭션의 검증이 컴퓨팅 장치에서 이루어질 수 있다. 이러한 공개키 기반 구조(PKI)를 이용함으로써, 트랜잭션을 발행한 주체 또는 아이템의 소유주가 누구인지가 검증될 수 있다.Further, the verification of the first transaction may be performed based on 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 private key of the first user or the private key of the game server (item exchange server) or assigned to the first item Signing can be made with the registered private key. By using the signature information of the private key and the information of the public key corresponding to the private key (e.g., the private key is passed through a predetermined hash function (e.g., elliptic curve multiplication function) and compares the public key value By doing), verification of the first transaction can be made on the computing device. By using this public key infrastructure (PKI), it is possible to verify who is the entity that issued the transaction or the owner of the item.

또한, 컴퓨팅 장치는 검증이 완료된 트랜잭션을 자신의 로컬 저장소에 위치한 트랜잭션 풀에 저장할 수 있다. 더불어, 컴퓨팅 장치는 자신의 로컬 저장소에 위치한 트랜잭션 풀에 저장된 트랜잭션들을 담을 블록을 생성하기 위한 합의 알고리즘을 실행할 수 있다. 합의 알고리즘에 따라서 생성된 블록에 해당 트랜잭션이 포함될 수 있으며, 상기 생성된 블록은 블록체인 네트워크(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 may execute a consensus algorithm for generating a block containing 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, the block distributed to the blockchain network may include a smart contract for performing item transaction and item transaction history information, so that the size of the block is reduced, and accordingly, the consensus time and computing resource usage are reduced. Can be reduced.

전술한 방식으로 스마트 컨트랙트가 블록에 포함되어 블록체인 네트워크(400)로 배포될 수 있다. 또한, 스마트 컨트랙트가 블록체인 네트워크(400)로 배포되는 경우, 상기 스마트 컨트랙트에 대응되는 컨트랙트 어카운트가 블록체인 네트워크(400) 내에서 생성될 수 있다. 예를 들어, 스마트 컨트랙트가 저장되는 컨트랙트 어카운트는, 아이템 거래를 위해 생성된 스마트 컨트랙트들의 개수, 및 상기 아이템 거래를 위한 스마트 컨트랙트의 바이트 코드에 대한 해시값을 포함할 수 있으며, 컨트랙트 어카운트의 주소값은, 제 1 사용자, 게임 서버 및 아이템 거래소 서버 중 적어도 하나의 개인키에 적어도 부분적으로 기초하여 생성될 수 있다. 따라서, 스마트 컨트랙트가 블록체인 네트워크 상에서의 컨트랙트 어카운트에 저장됨에 따라 상기 블록체인 네트워크 상에서 제 1 아이템에 대한 거래가 수행될 수 있다.In the above-described manner, the smart contract may be included in a block and distributed to the blockchain network 400. In addition, when a smart contract is distributed to the blockchain network 400, a contract account corresponding to the smart contract may be created in the blockchain network 400. For example, the contract account in which the smart contract is stored may include the number of smart contracts created for item transaction, and a hash value for the byte code of the smart contract for 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. Accordingly, 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 a temporary item accommodation space having an 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 signature information generated from the private key, and a transaction output including identification information for the first item and block chain address information associated with the temporary item accommodation space The first transaction containing the value can be recorded on the blockchain network.

제 1 트랜잭션이 블록체인 네트워크(400)에 기록됨에 따라, 제 1 트랜잭션에 포함된 스마트 컨트랙트가 실행될 수 있다. 본 개시내용의 일 실시예에 따른 아이템 거래를 수행하기 위한 기법은, 사용자들의 관리 범위 밖에 있는 별도의 일시적 아이템 수용 공간을 활용함으로써 보다 안정하고 효율적인 아이템 거래가 이루어질 수 있다. 즉, 스마트 컨트랙트가 실행되는 경우, 제 1 아이템과 관련된 특정 블록체인 주소 또는 어카운트(account)로부터 별도의 블록체인 주소 또는 어카운트를 갖는 일시적 아이템 수용 공간으로 제 1 아이템이 이동될 수 있다. 추가적인 실시예에서, 구현 양태에 따라서, 이러한 제 1 아이템의 이동은 별도의 블록체인 주소 또는 어카운트를 갖는 일시적 아이템 수용 공간에서 제 1 아이템에 대한 정보가 생성되고 등록되는 것을 의미할 수도 있다.As the first transaction is recorded in the blockchain network 400, the smart contract included in the first transaction may be executed. In the technique for performing item transaction according to an embodiment of the present disclosure, a more stable and efficient item transaction can be achieved by utilizing a separate temporary item accommodation space outside the management range of users. That is, when the smart contract is executed, the first item may be moved from a specific block chain address or account related to the first item to a temporary item accommodation space having a separate block chain address or account. In a further embodiment, according to an implementation aspect, the movement of the first item may mean that information on the first item is generated and registered in a temporary item accommodation 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, when a new update/change occurs as a block in the blockchain network 400 is stored, the computing device in the blockchain network 400 transmits the update/change content to the game server. 200 and/or the 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 the corresponding update/change. Accordingly, the game server 200 and/or the item exchange server 300 may reflect the change history in the blockchain network 400 to their local storage. For example, the computing device of the blockchain network 400 transmits a message indicating that a transaction of a game item between a first user and a second user has been recorded in the blockchain network 400 as the smart contract is called. Alternatively, it may be delivered to the item exchange server 300. In response to this, 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 a purchase request for the first item from the second user (540 ). The second transaction may be issued from a second user or may be issued 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 within the blockchain network 400 by including the second transaction in the second block generated according to the consensus algorithm (550). The computing device may verify the second transaction and store the verified second transaction in a transaction pool located in its local storage. In addition, the computing device may execute a consensus algorithm for generating a block containing 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, generated from an externally owned account related to a second user who wishes to purchase the first item or related to the game server, the first item stored in the contract account The smart contract included in the first transaction may be called to perform the transaction. Accordingly, by executing at least one of the sub-contracts included in the smart contract, integrity is guaranteed and automated item transaction 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 account of the first user and the account of the second user (570). For example, when ownership of a first item is transferred to a second user as a smart contract is executed, at least a portion of the sales amount of the first item is externally owned by the first user from the second user's externally owned account. A transaction or message to be delivered to the account may be generated on the blockchain network 400. In addition, as the smart contract is executed, a transaction or message for storing information indicating 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. In addition, as the smart contract is executed, the first item may be moved from the temporary item accommodation space on the blockchain network 400 to a space associated with the second user on the blockchain network 400.

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

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

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

도 6에서 도시되는 바와 같이, 제 1 사용자 단말(100a)은 아이템 거래소 서버(300)로 제 1 아이템에 대한 거래 요청을 송신할 수 있다(601). 추가적으로, 제 1 사용자 단말(100a)은 게임 서버(200)로 제 1 아이템에 대한 거래 요청을 송신하고 그리고 게임 서버(200)가 아이템 거래소 서버(300)로 해당 내용을 (편집하여) 전달하는 형태의 실시예 또한 가능하다.As illustrated 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 transmits (edits) the corresponding content to the item exchange server 300. An embodiment of is 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 transferred to the game server 200 in order to prevent the first item, which may be the target of the transaction, from being destroyed in the game or transferred to another person before propagating to the blockchain network 400 It is possible to transmit a storage request signal for the first item.

게임 서버(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 (eg, a safe, etc.) in a game in which users can perform item transactions within the server. The game server may restrict the first item from being played in the game by moving the first item located in the inventory of the first user to the item storage space managed by the game server.

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

아이템 거래소 서버(300)는 제 1 사용자 단말(100a)로부터의 제 1 아이템 거래 요청에 포함된 정보에 기초하여, 제 1 아이템 거래를 블록체인 네트워크(400) 상에서 달성하기 위한 스마트 컨트랙트를 생성할 수 있으며, 그리고 생성된 스마트 컨트랙트를 포함하는 트랜잭션을 발생시킬 수 있다(607). The item exchange server 300 may create a smart contract for achieving the first item transaction on the blockchain network 400 based on the information included in the first item transaction request from the first user terminal 100a. And, it is possible to generate a transaction including the created 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 a temporary item accommodation space on the blockchain network 400. Here, the movement to the temporary item accommodation space 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 item transaction on the blockchain network 400. Means to be moved. As another example, moving to the temporary item accommodation space may mean that a first item is newly registered in a temporary account or address for item transaction on the blockchain network 400.

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

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

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

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

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

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

제 1 아이템에 대한 거래 조건을 확인한 제 2 사용자 단말(100b)이 아이템 거래소 서버(300)로 제 1 아이템에 대한 구매 요청 메시지를 전달할 수 있다(613). 추가적인 실시예로서, 제 2 사용자 단말(100b)이 제 1 아이템에 대한 구매 요청 메시지를 게임 서버(200)로 전송하고 그리고 게임 서버(200)가 아이템 거래소 서버(300)로 해당 내용을 전달하는 방식으로, 제 1 아이템에 대한 구매 요청 메시지 전달이 이루어질 수도 있다. 추가적인 실시예로서, 제 2 사용자 단말(100b)이 직접 블록체인 네트워크(400)에 아이템 구매 요청이 포함된 트랜잭션을 발행하는 형태의 실시예 또한 가능하다.The second user terminal 100b having confirmed 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 an additional embodiment, a 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 transmits the content to the item exchange server 300 As a result, a purchase request message for the first item may be delivered. 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 calling a smart contract 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 on a contract account in which the smart contract is stored. After issuing a transaction for moving the first item to the temporary item accommodation space so that the item exchange server 300 becomes a transaction target, the item exchange server 300 may obtain contract account information in which the smart contract included in the transaction is stored.

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

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

다른 예시로, 게임 서버(200)에 접속한 제 2 사용자에 의해 ID 및 PASSWORD가 입력되고, 이에 따라 제 2 사용자의 본인 인증이 게임 서버(200)에서 이루어진 경우, 게임 서버(200)는 아이템 거래소 서버(300)로 제 2 사용자의 본인 인증이 이루어졌음을 알리는 인증 완료 신호를 전달할 수도 있다. 이러한 경우, 아이템 거래소 서버(300)는, 게임 서버(200)로부터 인증 완료 신호를 수신하는 것에 응답하여, 자신의 개인키를 사용하여 트랜잭션을 생성 및 발행할 수 있다. 이러한 상황에서, 해당 트랜잭션을 블록체인 네트워크(400)에서 검증하고자 하는 경우, 아이템 거래소 서버(300)의 개인키와 대응되는 공개키가 사용될 수 있다. As another example, when an ID and a password are input by a second user who has accessed the game server 200, and accordingly, the identity of the second user is authenticated in the game server 200, the game server 200 is an item exchange An authentication completion signal may be transmitted to the server 300 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 an authentication completion signal from the game server 200. In this situation, when a corresponding 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, when issuing a transaction including the transaction intention of the second user, the item exchange server 300 checks the coin information in the externally owned account (or wallet) of the second user and , If the coin information is less than the price information of the first item, the issuance of the transaction may be canceled and the corresponding content may be transmitted 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 share the transaction by including the transaction in the block generated through the consensus algorithm (617). By the above procedure, a transaction for purchasing the first item may be recorded in the blockchain network 400, and information included in the recorded transaction may be stored in a state where integrity can be guaranteed. Also, as the transaction for purchasing the first item is recorded, the 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, the 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 account of the first user. And the first item may be moved from the temporary item accommodation space to the address associated with the second user on the blockchain network 400. In an additional embodiment, separate transaction(s) may be generated and propagated within the blockchain network 400 based on the smart contract, so that information about 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 proceeds, 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 controls the first item to the game server 200 and/or the user terminals 100a, 100b. The content that the transaction between the first user and the second user has been 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. Can be (623).

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

아이템 거래소 서버(300)는 거래 금액이 정산되었다는 내용(또는 거래가 완료되었다는 내용)을 사용자 단말들(100a, 100b)이 확인할 수 있도록 자신의 DB 상에 업데이트된 거래 이력 정보를 저장할 수 있다(625). 이러한 방식으로, 사용자 단말들(100a, 100b)은 아이템 거래소 서버(300)에 접속하여 거래 이력 정보를 확인할 수 있다.The item exchange server 300 may store the updated transaction history information on its own DB so that the user terminals 100a and 100b can check that the transaction amount has been settled (or 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 an embodiment of the present disclosure, the item exchange server 300 may compare transaction history information stored in its DB with 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 in the DB, the item exchange server 300 is recorded in the blockchain network 400. Priority is given to the 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 Figure 7]

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

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

도 7에서 도시되는 내용에 대한 특징 중 도 3 내지 도 6과 관련하여 앞서 설명된 특징과 중복되는 특징에 대해서는 도 3 내지 도 6에 기재된 내용을 참고하고 여기에서는 그 설명을 생략하기로 한다.For features that overlap with the features described above with respect to FIGS. 3 to 6 among the features of the content illustrated in FIG. 7, the content described in FIGS. 3 to 6 will be referred to, and a description thereof will be omitted here.

도 7에서 도시되는 바와 같이, 제 1 사용자 단말(100a)은 게임 서버(200)로 제 1 아이템에 대한 거래 요청을 송신할 수 있다(701). 추가적으로, 제 1 사용자 단말(100a)은 블록체인 네트워크(400)로 제 1 아이템에 대한 거래 요청이 포함된 트랜잭션을 발행하고 그리고 게임 서버(200)가 블록체인 네트워크(400) 또는 제 1 사용자 단말(100a)로부터 해당 내용을 전달받는 형태의 실시예 또한 가능하다.As illustrated 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 block chain network 400, and the game server 200 sends the block chain network 400 or the first user terminal ( An embodiment of receiving the content from 100a) is also possible.

게임 서버(200)는, 거래의 대상이 될 수 있는 제 1 아이템이 블록체인 네트워크(400)에 전파되기 전에 게임 내에서 소멸되거나 타인에게 이전되지 않도록 하기 위해서, 제 1 아이템을 제 1 사용자의 인벤토리로부터 게임 서버(200) 내의 별도의 아이템 보관 공간으로 이관시킬 수 있다(703). 이 경우, 제 1 아이템의 소유권은 제 1 사용자에게 그대로 있으나, 제 1 아이템은 게임 상에서 플레이 대상이 될 수 없도록 게임 서버(200) 내에서 처리될 수 있다.The game server 200 stores the first item in the first user's inventory in order to prevent the first item, which may be a transaction object, from being destroyed in the game or transferred to another person before being propagated to the blockchain network 400. It can be transferred to a separate item storage space in the game server 200 (703). 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 the first item cannot be played in the game.

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

본 개시내용의 일 실시예에서, 스마트 컨트랙트를 호출하기 위한 트랜잭션을 생성하는데 있어서, 제 1 사용자 및 게임 서버(200) 중 적어도 하나의 개인키가 사용될 수 있다. 개인키에 기반한 서명은 트랜잭션의 입력값에 기록될 수 있다. In one embodiment of the present disclosure, in generating a transaction for invoking a smart contract, at least one private key 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 of the transaction.

예를 들어, 제 1 사용자의 개인키 및 게임 서버(200)의 개인키(즉, 2개의 개인키들)로부터의 서명을 통하여 트랜잭션이 발생될 수 있다. 이러한 상황에서, 해당 트랜잭션을 블록체인 네트워크(400)에서 검증하고자 하는 경우, 제 1 사용자의 개인키와 대응되는 공개키 및 게임 서버(200)의 개인키와 대응되는 공개키가 사용될 수 있다. For example, a transaction may be generated through a signature from a private key of the first user and a private key (ie, two private keys) of the game server 200. In this situation, when a corresponding 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 an ID and a password are input by a first user who has accessed the game server 200, and accordingly, the first user's identity authentication is performed in the game server 200, the game server 200 You can create and issue transactions using your private key. In this situation, when a corresponding 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 the transaction by including the corresponding transaction in a block generated through a consensus algorithm (707). By this procedure, a transaction for the transaction 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.

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

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

다른 실시예로서, 사용자 단말들(100a, 100b)은 게임 서버(200)로부터 제공된 Tx ID를 사용하여 블록체인 네트워크(400)에 직접 쿼리를 발행할 수도 있다. 이에 따라, 사용자 단말들(100a, 100b)은 원하는 아이템들에 대한 거래 이력 및 거래 조건 등을 블록체인 네트워크(400) 상에서 확인할 수 있다.As another embodiment, the user terminals 100a and 100b may directly issue a query 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 having confirmed the transaction condition for the first item may transmit a purchase request message for the first item to the game server 200 (711). As an additional embodiment, the second user terminal 100b directly transmits a transaction including a purchase request message for the first item to the blockchain network 400, and the game server 200 connects the blockchain network 400. The purchase request message for the first item may be delivered by transmitting the corresponding content through the method.

게임 서버(200)는 제 2 사용자 단말(100b)로부터의 구매 요청에 포함된 정보에 기초하여, 블록체인 네트워크(400)로 스마트 컨트랙트 호출을 위한 트랜잭션을 생성하고 이를 발행할 수 있다(713). The game server 200 may generate and issue a transaction for calling a smart contract to the blockchain network 400 based on 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 invoking a smart contract may include, for example, signature information, and address information for a contract account in which the smart contract is stored. After issuing a transaction for moving the first item to the temporary item accommodation space so that the first item becomes a transaction target, the game server 200 may obtain contract account information in which the smart contract included in the transaction is stored.

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

예를 들어, 제 2 사용자의 개인키 및 게임 서버(200)의 개인키(즉, 2개의 개인키들)로부터의 서명을 통하여 트랜잭션이 발생될 수 있다. 이러한 상황에서, 해당 트랜잭션을 블록체인 네트워크(400)에서 검증하고자 하는 경우, 제 2 사용자의 개인키와 대응되는 공개키 및 게임 서버(200)의 개인키와 대응되는 공개키가 사용될 수 있다. For example, a transaction may be generated through a signature from the private key of the second user and the private key (ie, two private keys) of the game server 200. In this situation, when a corresponding 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 identity is authenticated by the second user who has accessed the game server 200, the game server 200 may generate and issue a transaction using its own private key. In this situation, when a corresponding 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, when issuing a transaction including a transaction intention of the second user, the game server 200 checks coin information in the externally owned account (or wallet) of the second user, If the coin information is less than the price information of the first item, the issue of the transaction may be canceled and the corresponding content may be transmitted 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 the transaction by including the corresponding transaction in a block generated through a consensus algorithm (715). By the above procedure, a transaction for purchasing the first item may be recorded in the blockchain network 400, and information included in the recorded transaction may be stored in a state where integrity can be guaranteed. Also, as the transaction for purchasing the first item is recorded, the 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, the 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 account of the first user. And the first item may be moved from the temporary item accommodation space to the address associated with the second user on the blockchain network 400. In an additional embodiment, separate transaction(s) may be generated and propagated within the blockchain network 400 based on the smart contract, so that information about 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, the 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 account of the first user. And the first item may be moved from the temporary item accommodation space to the address associated with the second user on the blockchain network 400. In an additional embodiment, separate transaction(s) may be generated and propagated within the blockchain network 400 based on the smart contract, so that information about 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 in progress, 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 to the user terminals 100a and 100b. You can convey the content that you have become. In addition, the blockchain network 400 may transmit the content that the transaction for the first item has been 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, in response to receiving a separate item transfer notification from the second user terminal 100b, the game server 200 plays the first item located in the item storage space in the game server 200. It may be moved to a second user inventory that can be managed by the second user in the server 200.

게임 서버(200)는 거래 금액이 정산되었다는 내용(또는 거래가 완료되었다는 내용)을 사용자 단말들(100a, 100b)이 확인할 수 있도록 자신의 DB 상에 업데이트된 거래 이력 정보를 저장할 수 있다(721). 이러한 방식으로, 사용자 단말들(100a, 100b)은 게임 서버(200)에 접속하여 거래 이력 정보를 확인할 수 있다.The game server 200 may store updated transaction history information on its own DB so that the user terminals 100a and 100b can confirm that the transaction amount has been settled (or 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 an embodiment of the present disclosure, the game server 200 may compare transaction history information stored in its DB with 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 in the DB, the game server 200 is recorded in the blockchain network 400. Priority is given to transaction history information. In this case, for example, the game server 200 may replace transaction history information recorded in its DB with transaction history information recorded in the blockchain network 400.

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

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

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

도 8에서 도시되는 내용에 대한 특징 중 도 3 내지 도 7과 관련하여 앞서 설명된 특징과 중복되는 특징에 대해서는 도 3 내지 도 7에 기재된 내용을 참고하고 여기에서는 그 설명을 생략하기로 한다.For features that overlap with the features described above with respect to FIGS. 3 to 7 among the features of the content illustrated in FIG. 8, the content described in FIGS. 3 to 7 will be referred to, and a description thereof will be omitted herein.

도 8에서 도시되는 바와 같이, 제 1 사용자 단말(100a)은 게임 서버(200)로 제 1 아이템에 대한 거래 요청을 송신할 수 있다(801). As illustrated 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 a separate item in the game server 200 from the inventory of the first user in order to prevent the first item from being destroyed 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 the first item cannot be played in the game.

게임 서버(200)는 제 1 사용자로부터의 제 1 아이템에 대한 거래 요청 정보를 분석하여, 해당 거래 요청 정보가 반영된 스마트 컨트랙트를 생성하고 그리고 생성된 스마트 컨트랙트가 포함된 트랜잭션을 생성할 수 있다(805). The game server 200 may analyze transaction request information for a first item from a 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 a blockchain network, and the transaction may be propagated and recorded in the blockchain network (807). The first item may be moved to the temporary item accommodation space having the address of the blockchain network by the corresponding transaction. In addition, it may be recorded that the first item is a transaction target 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 the plurality of 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 can operate as a private blockchain. In the case of operating as a private blockchain, since the blockchain network is implemented by fewer nodes than the public blockchain under the management of the game server 200, the verification and consensus process is faster and the user experience in performing item transactions is reduced. Not only can it be increased, it can be possible to efficiently utilize network resources and computing resources.

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

여기서, 게임 서버(200)가 관리하는 블록체인 네트워크는, 게임 서버(200)의 소유인 컴퓨팅 장치들만이 허가된 노드로서 블록체인 네트워크를 구성할 수 있는 것을 의미하지만, 추가적으로 게임 서버(200)의 제어 하에 있는 외부 노드들 또는 게임 서버(200)의 허가를 받은 외부 노드들 또한 블록체인 네트워크를 구성할 수 있다.Here, the blockchain network managed by the game server 200 means that only computing devices owned by the game server 200 can configure the blockchain network as authorized nodes, but additionally control the game server 200 External nodes underneath or external nodes with permission from the game server 200 may also form 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 form a blockchain network in the form of a consortium. In this embodiment, a 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 has the same or different authority within the blockchain network. Can have. For example, if each entity has different rights, only nodes related to the game server 200 can participate in the consensus process, and nodes related to the item exchange server 300 will only perform a role of creating or verifying a transaction. May 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 indicating that the first item is a transaction target to the user terminals 100a and 100b or uploads the content to the game server 200 to the user terminals 100a and 100b. It may be notified that the first item is a transaction target (809). The signal that such a transaction target is, for example, identification information for the first item, information on transaction conditions for the first item, information on the owner of the first item, transaction ID information on the blockchain network related to the first item, and The smart contract related to the first item may include at least one of address information of a contract account in which the smart contract is stored. The user terminals 100a and 100b may access the game server 200 and check a list of game items subject to transaction and transaction history information.

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

제 1 아이템에 대한 거래 조건을 확인한 제 2 사용자 단말(100b)이 게임 서버(200)로 제 1 아이템에 대한 구매 요청 메시지를 전달할 수 있다(811). The second user terminal 100b having confirmed the transaction condition 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 calling a smart contract through a blockchain network based on information included in the purchase request from the second user terminal 100b (813).

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

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

예를 들어, 제 2 사용자의 개인키 및 게임 서버(200)의 개인키(즉, 2개의 개인키들)로부터의 서명을 통하여 트랜잭션이 발생될 수 있다. 이러한 상황에서, 해당 트랜잭션을 블록체인 네트워크에서 검증하고자 하는 경우, 제 2 사용자의 개인키와 대응되는 공개키 및 게임 서버(200)의 개인키와 대응되는 공개키가 사용될 수 있다. For example, a transaction may be generated through a signature from the private key of the second user and the private key (ie, two private keys) of the game server 200. In this situation, when a corresponding transaction is to be verified in a 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 identity is authenticated by the second user who has accessed the game server 200, the game server 200 may generate and issue a transaction using its own private key. In this situation, when a corresponding transaction is to be verified on 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 may be included in the block generated through the consensus algorithm and shared (815). By the above procedure, a transaction for purchasing the first item can be recorded in the blockchain network of the game server 200, and information included in the recorded transaction can be stored in a state in which integrity can be guaranteed. Also, as the transaction for purchasing the first item is recorded, the 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 the information that the transaction between the first user and the second user for the first item has been completed to the user terminals 100a and 100b.

또한, 게임 서버(200)는 Tx ID를 사용하여 블록체인 네트워크로 쿼리를 발행(내부 통신 기반)하여, 제 1 아이템에 대한 거래 이력을 확인할 수도 있다. 이러한 경우, 게임 서버(200)는 자신의 DB에 해당 거래 정보를 업로드함으로써, 게임 서버(200)에 액세스한 사용자 단말(100a 및 100b)이 이를 확인할 수 있도록 허용할 수 있다.In addition, the game server 200 may issue a query to the blockchain network (based on internal communication) using the Tx ID 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 the transaction information by uploading the transaction information to its own 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, in response to receiving a separate item transfer notification from the second user terminal 100b, the game server 200 plays the first item located in the item storage space in the game server 200. It may be moved to a second user inventory that can be managed by the second user in 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, the 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 The first item may be transferred to the user's account, and the first item may be moved from the temporary item accommodation space having an address on the blockchain network to the address associated with the second user, thereby enabling the item transaction cost settlement procedure (819). .

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

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

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

도 9에서 도시되는 내용에 대한 특징 중 도 3 내지 도 8과 관련하여 앞서 설명된 특징과 중복되는 특징에 대해서는 도 3 내지 도 8에 기재된 내용을 참고하고 여기에서는 그 설명을 생략하기로 한다.For features that overlap with the features described above with respect to FIGS. 3 to 8 among the features of the content illustrated in FIG. 9, the content described in FIGS. 3 to 8 will be referred to, and description thereof will be omitted.

도 9에서 도시되는 바와 같이, 제 1 사용자 단말(100a)은 아이템 거래소 서버(300)로 제 1 아이템에 대한 거래 요청을 송신할 수 있다(901). As illustrated 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 a separate item in the game server 200 from the inventory of the first user in order to prevent the first item from being destroyed in the game or transferred to another person after the first item becomes a transaction target. It 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 the first item cannot be played in the game.

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

해당 트랜잭션에 의해서 제 1 아이템은 블록체인 네트워크의 주소를 갖는 일시적 아이템 수용 공간으로 이동될 수 있다. 또한, 해당 트랜잭션에 의해서 제 1 아이템은 블록체인 네트워크 상에서의 거래 대상이 된다는 내용이 기록될 수 있다. The first item may be moved to the temporary item accommodation space having the address of the blockchain network by the corresponding transaction. In addition, it may be recorded that the first item becomes 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 of the 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 can operate as a private blockchain. In the case of operating as a private blockchain, since the blockchain network is implemented by fewer nodes than the public blockchain under the management of the item exchange server 300, the verification and consensus process is faster, and the user experience in performing item transactions. Not only can this increase, but also efficient use of network resources and computing resources can be made possible.

아이템 거래소 서버(300)가 관리하는 블록체인 네트워크, 또한 네트워크 상의 노드들이 검증되고 분산된 장부(예컨대, 블록 또는 블록 내 데이터)를 공유할 수 있으며 이에 따라 블록체인 기술의 주요 특징인 데이터의 위조 및 변조가 불가능해진다는 장점이 달성될 수 있다. The blockchain network managed by the item exchange server 300, and nodes on the network can share verified and distributed ledgers (e.g., block or intra-block data). 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 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 External nodes under the control of) or external nodes authorized by 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 form a blockchain network in the form of a consortium. In this embodiment, a 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 has the same or different authority 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 only play a role of creating or verifying transactions. May 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 indicating 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 own DB. It can be announced that it is subject to a transaction (911). The signal that such a transaction target is, for example, identification information for the first item, information on transaction conditions for the first item, information on the owner of the first item, transaction ID information on the blockchain network related to the first item, and The smart contract related to the first item may include at least one of address information of a contract account in which the smart contract is stored. The user terminals 100a and 100b may access the item exchange server 300 and/or the game server 200 to check a list of game items subject to transaction and transaction history information.

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

제 1 아이템에 대한 거래 조건을 확인한 제 2 사용자 단말(100b)이 아이템 거래소 서버(300)로 제 1 아이템에 대한 구매 요청 메시지를 전달할 수 있다(913). The second user terminal 100b having confirmed 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 calling a smart contract to a blockchain network based on information included in the purchase request from the second user terminal 100b (915).

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

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

예를 들어, 제 2 사용자의 개인키 및 아이템 거래소 서버(300)의 개인키(즉, 2개의 개인키들)로부터의 서명을 통하여 트랜잭션이 발생될 수 있다. 이러한 상황에서, 해당 트랜잭션을 블록체인 네트워크에서 검증하고자 하는 경우, 제 2 사용자의 개인키와 대응되는 공개키 및 아이템 거래소 서버(300)의 개인키와 대응되는 공개키가 사용될 수 있다. For example, a transaction may be generated through a signature from the private key of the second user and the private key (ie, two private keys) of the item exchange server 300. In this situation, when a corresponding transaction is to be verified in a 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's identity is authenticated by the second user who has accessed 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 a corresponding transaction is to be verified in a 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 second user's identity is authenticated by the second user who has accessed the game server 200, the game server 200 informs the item exchange server 300 that the second user has been authenticated and Can also be delivered. 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, when a corresponding transaction is to be verified in a 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 may be included in the block generated through the consensus algorithm and shared (917). By this procedure, a transaction for the purchase of the first item may be recorded in the blockchain network of the item exchange server 300, and information included in the recorded transaction may be stored in a state in which integrity can be guaranteed. . Also, as the transaction for purchasing the first item is recorded, the 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 for 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, the ownership of the first item is changed to the second user, and at least part of the transaction amount of the first item is deducted from the account of the second user. The first item is transferred to the user's account, and the first item can be moved from the temporary item accommodation space having the address on the blockchain network to the address associated with the second user, thereby enabling the item transaction cost settlement procedure.

아이템 거래소 서버(300)는 게임 서버(200) 및/또는 사용자 단말들(100a, 100b)로 제 1 아이템에 대한 제 1 사용자와 제 2 사용자 간의 거래가 완료되었다는 내용을 전달할 수 있다(921). The item exchange server 300 may transmit the content that the transaction between the first user and the second user for the first item has been completed to the game server 200 and/or the user terminals 100a and 100b (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 the game server 200 allows the user terminals 100a and 100b accessing the game server 200 to check this by uploading the 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, in response to receiving a separate item transfer notification from the second user terminal 100b, the game server 200 plays the first item located in the item storage space in the game server 200. It may be moved to a second user inventory that can be managed by the second user in 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 own DB so that the user terminals 100a and 100b can check the content that the transaction amount has been settled (or the content that the transaction has been completed) (925). . Additionally, the item exchange server 300 may transmit the content that the transaction has been completed to the game server 200, and the game server 200 may reflect this on its own 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 Figure 10]

도 10은 본 개시내용의 일 실시예에 따른 블록체인 네트워크(400)에서의 아이템 거래 방식을 예시적으로 도시한다. 도 10에서는 게임 아이템 거래를 수행하기 위하여 블록체인 네트워크(400)에서 트랜잭션의 수신에 응답하여 어떠한 방식으로 동작하는 지를 예시적으로 도시한다.10 exemplarily shows an item transaction method in the blockchain network 400 according to an embodiment of the present disclosure. FIG. 10 exemplarily shows how the blockchain network 400 operates in response to receiving 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)에 포함시킬 수 있다. Client A 1000a may generate a first transaction 1010 for requesting an item transaction. Client A (1000a) may generate a smart contract to reflect this in accordance with the 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 on the owner of the first item and the transaction price of the first item (eg, sales price: 20 Coins). Additionally, 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) 400a, 400b, 400c, and 400d constituting the blockchain network 400 may receive, propagate and share the first transaction 1010 (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 may share an arbitrary type of transaction for allowing item transaction and store the corresponding content in the transaction DB. In the case of the blockchain network 400 that can support smart contracts, it is possible to execute an application related to the smart contract according to the content of the transaction and reflect the result in the smart contract DB.

노드들(400a, 400b, 400c 및 400d)은 합의 알고리즘에 기초하여 제 1 트랜잭션(1010)을 포함하는 하나 이상의 트랜잭션들을 담을 수 있는 제 1 블록을 경쟁적으로 생성할 수 있으며, 도 10에서의 예시에서는 노드(400b)가 제 1 블록을 먼저 생성하는 것을 예시로 보여준다(1007). 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, and in the example in FIG. 10 It is shown as an example that 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 verify the received first block and store the first block in their local storage, so that the first block on the blockchain network 400 may 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, the smart contract included in the first block can be executed, and accordingly, the first item that can be a transaction target is a temporary item accommodation 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 includes, for example, identification information for the first item, a 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 It may include the transaction price of the first item (eg, purchase price: 20 Coin).

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

노드들(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, and in the example of FIG. 10 It is shown as an example that 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 own 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 refer to the smart contract included in the first transaction 1010. By calling, the 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 procedure proceeds, and the nodes 400a, 400b, 400c, and 400d can perform the procedure and store the data generated by the procedure in their DB. (1027).

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

아이템 조회 동작과 관련하여, 클라이언트 A 또는 B(1000a 또는 1000b)가 검색 쿼리를 보내면 쿼리를 수신한 블록체인 네트워크(400) 내에서의 노드는 그에 대해 응답을 수행할 수 있다.Regarding 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 search operation, since the state value stored in the smart contract DB can be searched without changing the data of the blockchain, the query information for such search does not need to be synchronized with the blockchain. Therefore, the nodes of the blockchain network 400 can check their DB for the query and immediately respond to the query regardless of the block synchronization timing. As described above, the processing of the search query in the blockchain network 400 is 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 which node is accessed. , Query response speed may be faster than query response service through a relay.

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

도 11은 본 개시내용의 일 실시예에 따른 사용자 단말에서 아이템 거래를 수행하기 위한 예시적인 UI(User Interface) 구성(1100)을 도시한다. 도 11에서의 UI 구성(1100)은 판매 탭에 대한 입력 시 출력되는 화면일 수 있다.해당 UI 구성(1100)은 게임 서버(200) 또는 아이템 거래소 서버(300)에 의해 생성될 수 있다.11 shows an exemplary UI (User Interface) configuration 1100 for performing 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 when a sales tab is input. 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 shown 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 an interaction based on the UI configuration 1100. Additionally, when a predetermined input behavior for a specific item is received from the user terminal 100, the game server 200 or the item exchange server 300 outputs an exchange UI configuration 1100 for the transaction for the item. I can.

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

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

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

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

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

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

도 12는 본 개시내용의 일 실시예에 따른 사용자 단말에서 아이템 거래를 수행하기 위한 예시적인 UI 구성을 도시한다.12 illustrates an exemplary UI configuration for performing 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 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 that is output when a purchase tab is input.

해당 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 exemplarily 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 an interaction based on the UI configuration 1200.

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

도 12에서 도시되는 바와 같이, 사용자 단말(100)로 게임 서버(200) 또는 아이템 거래소 서버(300)는, 아이템의 이름, 아이템의 카테고리(범주), 아이템의 종류, 아이템의 등급, 아이템의 정렬 규칙, 및/또는 아이템의 최대 가격 정보를 표시할 수 있다. 또한, UI 구성(1200)은 검색 조건에 대한 입력 탭, 아이템 검색에 대한 Enter 탭, 아이템 검색 결과에 대한 출력 탭을 포함할 수 있다. 이러한 UI 구성(1200)에 기초하여, 사용자 단말(100)로부터의 검색/조회 쿼리가 생성될 수 있다.As shown in FIG. 12, the game server 200 or the item exchange server 300 as the user terminal 100 includes item names, item categories (categories), item types, item ratings, and item alignment. Rules, and/or maximum price information of an 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 this UI configuration 1200, a search/inquiry 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. As shown in the right screen of FIG. 12, the result information may include item identification information, item owner information, sales condition information, and/or sales price information.

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

전술한 바와 같이, 사용자 단말(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) can issue a transaction to call an existing smart contract. By such a transaction, a reliable and automated item transaction 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 inventory of the second user and output it.

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

도 13은 본 개시내용의 일 실시예에 따라 스마트 컨트랙트(1300)가 블록체인 네트워크(400)로 전파되는 양태를 예시적으로 도시한다.13 exemplarily shows 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 is, for example, a first sub-contract 1310 and a second sub-contract 1320. ), a third sub-contract 1330, a fourth sub-contract 1340, and a fifth sub-contract 1350.

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

스마트 컨트랙트는, 제 1 아이템의 소유권이 아이템 거래를 요청한 제 1 사용자에게 있는 것을 보장하면서, 아이템 거래를 위해 상기 제 1 아이템을 블록체인 네트워크(400) 내에서의 일시적 아이템 수용 공간으로 이동시키는 제 1 서브 컨트랙트를 포함할 수 있다. 추가적인 실시예에서, 제 1 서브 컨트랙트는, 제 1 아이템이 일시적 아이템 수용 공간으로 이동된 경우, 제 1 아이템이 게임 내에서 사용가능하지 않은 상태로 변경되도록 하기 위한 신호를 생성할 수도 있다.The smart contract ensures that the ownership of the first item belongs to the first user who requested the item transaction, and moves the first item to the temporary item accommodation space in the blockchain network 400 for item transaction. May contain sub-contracts. In a further embodiment, the first sub-contract may generate a signal to cause the first item to be changed to a state that is not usable in the game when the first item is moved to the temporary item accommodation 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 or not the transaction condition of the first item is satisfied in response to a purchase request for the first item from a second user who wishes to purchase the first item, and When the transaction condition of the first item is satisfied, a second sub-contract for changing the ownership of the first item from the first user to the second user may be included. When such a second sub-contract is executed, the owner of the first item on the blockchain network 400 may be changed from the first user to the second user and recorded.

본 개시내용의 일 실시예에서, 스마트 컨트랙트는, 제 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 a second user who wants to purchase the first item, a second externally owned account associated with the second user ( Or a transaction or message for transferring at least part of the transaction cost of the first item from a wallet associated with the second user) to a first externally owned account associated with the first user (or a 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, the actual transaction cost is deposited and withdrawn to the game server 200 or the item exchange server 300 based on the transmitted information, and the game server 200 or the item exchange server 300 settles the amount and is settled to the user. You may decide to pay. In this embodiment, the user does not need to have components such as a wallet on a separate blockchain network 400, and using a wallet of the game server 200 or the item exchange server 300, the game server Deposit/withdrawal is made to 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. It may include a fourth sub-contract that allows the first item to be returned to a usable state in the game by moving it from the temporary item accommodation space to another location. For example, when the fourth sub-contract is called as the first user generates a transaction to cancel the sale of the first item, the first item is a temporary item accommodation space in the blockchain network 400. A transaction or message for moving from the address of the first user to the address of the first user can be generated and issued to the blockchain network 400.

본 개시내용의 일 실시예에 따라, 스마트 컨트랙트는 제 2 사용자로 제 1 아이템에 대한 소유권이 이전되는 경우, 제 1 아이템의 판매 금액 중 적어도 일부를 기부금 수령을 위한 사전결정된 외부 소유 어카운트로 전달하기 위한 트랜잭션을 블록체인 네트워크 상에서 발생시키는 제 5 서브 컨트랙트를 포함할 수 있다. 본 개시내용의 일 실시예에 따라, 제 1 사용자가 아이템 거래 금액의 적어도 일부를 기부금으로 사용하고자 하는 요청을 발행한 경우 또는 게임 서버(200)(아이템 거래소 서버(300))의 정책에 따라 아이템 거래 금액의 적어도 일부를 기부금으로 사용하고자 하는 경우, 해당 기부금으로 지급될 금액(또는 비율) 정보 및 기부금을 수령할 블록체인 네트워크(400) 상에서의 어카운트 또는 주소가 스마트 컨트랙트에 기록될 수 있다. 따라서, 제 5 서브 컨트랙트는 스마트 컨트랙트에 기록된 기부금 관련 정보에 따라 실행될 수 있다. According to an embodiment of the present disclosure, when ownership of a first item is transferred to a 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 donations. 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 part of the item transaction amount as a donation, or according to the policy of the game server 200 (item exchange server 300) When at least part of the transaction amount is to be used as a donation, information on the amount (or ratio) 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. Accordingly, 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 covers at least a portion of the costs that may be involved in operating the blockchain network 400, such as fees incurred for generating blocks and/or rewards paid to mining nodes. You may decide to use it as a donation. Accordingly, at least a portion of the commission cost incurred to generate the block may be automatically paid to a predetermined donation receipt account or address as the fifth sub-contract is executed, and the fifth sub-contract is a transaction or message for such payment. Can be created.

기부금 수령을 위한 사전결정된 외부 소유 어카운트로 기부금의 전달이 완료된 경우, 기부금을 수령한 외부 소유 어카운트의 잔액 정보가 블록체인 네트워크(400)에 저장될 수 있다. 예를 들어, 잔액 정보는 기부금을 수령한 외부 소유 어카운트에 기록될 수 있다. When the donation is delivered to a predetermined externally owned account for receiving the donation, the balance information of the externally owned account that received the donation may be stored in the blockchain network 400. For example, balance information may 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 can be confirmed as the total sum of UTXO through a search to the UTXO DB.

추가적인 실시예에서, 스마트 컨트랙트는 사용자 단말(100) 또는 게임 서버(200) 또는 아이템 거래소 서버(300)에 의해 생성된 광고 정보(예컨대, 게임 또는 아이템과 관련된 텍스트 정보, 이미지 정보 및 동영상 정보)를 포함할 수 도 있다. 이러한 광고 정보를 전달받은 사용자 단말(100)과의 거래가 이루어진 경우, 해당 사용자 단말(100)로 아이템 거래에 수반되는 비용의 할인 등과 같은 리워드를 제공한다는 내용이 스마트 컨트랙트에 기록될 수도 있다.In a further embodiment, the smart contract stores advertisement information (e.g., text information, image information, and video information related to a game or item) generated by the user terminal 100 or the game server 200 or the item exchange server 300. It can also be included. When a transaction with the user terminal 100 that has received such advertisement information is made, a content indicating that a reward such as a discount on the cost associated with the item transaction is provided to the corresponding 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 a transaction converted into a byte code form is included in the block 1303, and the blockchain network 400 Can be propagated. A smart contract converted into byte code may be executed by a computing device in the blockchain network 400 (eg, by a virtual machine of the computing device). In addition, the compiler 1301 in the present disclosure may include any type of program for converting a 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 the game item is traded in a combination of on-chain and off-chain, it is possible to increase the user's experience through rapid transaction processing and UI display, as well as reliability. High and integrity guaranteed item transactions 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 transaction using a block chain technology, for example, on a temporary item storage space in a game server 200 such as a safe and a block chain network 400 Using the temporary item accommodation space of, a safer game item transaction may be supported. In addition, according to an embodiment of the present disclosure, expansion of the blockchain through a combination of on-chain and off-chain, and a combination of a game server 200, an item exchange server 300, and a blockchain network 400 Sex problems can be solved.

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

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

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

추가적으로, 본 개시내용의 일 실시예에 따라, 게임 퍼블리셔나 사용자들을 대신해 외부에서 서비스를 제공할 권한을 부여 받아 블록체인과 관련된 스마트 계약의 형성과 환경 설정, 실행 결과 고지 서비스를 제공하는 형태의 새로운 사업 모델 또한 발생될 수 있다. 이를 통해, 스마트 컨트랙트 또는 이의 리스트를 작성하고 거래 현황을 즉각 게임 서비스나 사용자의 지갑에 전달하는 방식으로 확인 요청 이 이루어질 수 있기 때문에, 사용자의 아이템 거래의 편리성이 극대화될 수 있다.In addition, according to an embodiment of the present disclosure, a new form of providing a service notifying the result of execution and formation of a smart contract related to the blockchain by receiving the authority to provide services on behalf of game publishers 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 transmitting 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 Figure 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 shown 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 a block header and a transaction. The block header may include, for example, a hash value of a previous block header, a nonce value, and a hash value of a transaction group. The nonce value is a value that a node in the blockchain network 400 changes to generate a block, and may be used as an input value of a specific hash function along with other values of the block header. When a specific nonce value is used, if the hash value of the block header is smaller than the predetermined difficulty value (which can be stored in the block header), the hash value for the corresponding block header may be determined. The hash value of the transaction group may mean the root hash value of data included in the transaction.

도 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) ) Can be connected to each other. In addition, in obtaining the block hash value, since the hash value of the transaction group, which is a hash value representing transactions, is used as an input value, when any forgery or alteration of a transaction occurs, the hash value of the transaction group is changed. In this way, adjacent blocks can be connected to each other, and transaction information within the block can be stored with integrity.

블록(1400a, 1400b 및 1400c)의 트랜잭션은 발행된 트랜잭션들 중 블록에 포함된 트랜잭션(들)으로서, 해당 트랜잭션이 블록 내에 포함되는 경우, 해당 트랜잭션과 관련된 동작이 블록체인 네트워크(400)에서 수행될 수 있다.The transaction of the blocks 1400a, 1400b and 1400c is the transaction(s) included in the block among issued transactions, and when the transaction is included in the block, the operation related to the transaction will be performed in the blockchain network 400. I 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 account or wallet address. In addition, Contracts 1 and 2 may mean smart contracts stored in the contract account.

도 14에서 도시되는 바와 같이, 블록 301(1400a)에서의 트랜잭션은, A로부터 B로 20 Coin을 전송하는 트랜잭션(Tx 1), 및 C로부터 스마트 컨트랙트 1을 생성하거나 또는 호출하는 트랜잭션(Tx 2)를 포함할 수 있다. As shown in Figure 14, the transaction in block 301 (1400a) is a transaction (Tx 1) for transferring 20 Coins from A to B, and a transaction for creating 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 at block 302 (1400b) may include a transaction (Tx 1) to transfer 5 Coins from B to A, and a transaction to create or call a smart contract 2 from D (Tx 2).

또한, 블록 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) for transferring 10 Coins from F to E and a transaction for creating or calling smart contract 1 from G (Tx 3).

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

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

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

도 15에서 도시되는 컴퓨터(1102)는, 사용자 단말(100), 게임 서버(200), 아이템 거래소 서버(300) 및 블록체인 네트워크(400)를 구성하는 컴퓨팅 장치 중 적어도 하나에 대응될 수 있다. The computer 1102 shown 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.

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

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

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

컴퓨터는 통상적으로 다양한 컴퓨터 판독가능 매체를 포함한다. 컴퓨터에 의해 액세스 가능한 매체 로서, 휘발성 및 비휘발성 매체, 일시적(transitory) 및 비일시적(non-transitory) 매체, 이동식 및 비-이동식 매체를 포함한다. 제한이 아닌 예로서, 컴퓨터 판독가능 매체는 컴퓨터 판독가능 저장 매체 및 컴퓨터 판독가능 전송 매체를 포함할 수 있다. Computers typically include a variety of computer-readable media. A computer-accessible medium includes volatile and non-volatile media, transitory and non-transitory media, and 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 include volatile and nonvolatile media, transitory and non-transitory media, removable and non-removable media implemented in any method or technology for storing information such as computer-readable instructions, data structures, program modules or other data. Includes the medium. Computer-readable storage media include RAM, ROM, EEPROM, flash memory or other memory technology, CD-ROM, digital video disk (DVD) or other optical disk storage, magnetic cassette, magnetic tape, magnetic disk storage, or other magnetic storage. Devices, or any other medium that can be accessed by a computer and used to store desired information.

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Claims (24)

컴퓨터 판독가능 저장 매체에 저장되는 컴퓨터 프로그램으로서, 상기 컴퓨터 프로그램은 하나 이상의 프로세서에 의해 실행되는 경우, 아이템 거래를 위한 방법을 수행하며, 상기 방법은:
제 1 사용자로부터의 게임 내에서 플레이 가능한 제 1 아이템에 대한 거래 요청을 수신하는 단계;
상기 제 1 아이템을 블록체인 네트워크에서의 주소를 갖는 일시적(temporary) 아이템 수용 공간으로 이동시킬 것을 결정하는 단계;
상기 제 1 아이템을 상기 일시적 아이템 수용 공간으로 이동시킬 것을 결정하는 것에 응답하여, 상기 제 1 아이템의 거래를 블록체인 네트워크 상에서 실행하기 위한, 블록체인 네트워크 상에서 동작가능한 스마트 컨트랙트(smart contract)를 생성하는 단계; 및
상기 일시적 아이템 수용 공간으로 이동된 상기 제 1 아이템이 아이템 거래의 대상이 되도록 허용하는 단계;
를 포함하고,
상기 스마트 컨트랙트는:
상기 제 1 아이템의 거래 조건이 만족되기 전까지 상기 제 1 아이템의 소유권이 상기 제 1 사용자에게 있는 것을 보장하면서, 아이템 거래를 위해 상기 제 1 아이템을 상기 일시적 아이템 수용 공간으로 이동시키는 제 1 서브 컨트랙트;
를 포함하고,
상기 일시적 아이템 수용 공간은,
상기 블록체인 네트워크 상에서의 특정한 주소를 갖는 어카운트이고,
상기 블록체인 네트워크 상에서 상기 거래의 대상이 되는 상기 아이템을 수용하는 기능을 수행하는,
컴퓨터 판독가능 저장 매체에 저장된 컴퓨터 프로그램.
A computer program stored in a computer-readable storage medium, wherein 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 the game from the first user;
Determining to move the first item to a temporary item accommodation space having an address in the blockchain network;
In response to determining to move the first item to the temporary item accommodation space, creating a smart contract operable on the blockchain network for executing the transaction of the first item on the blockchain network. step; And
Allowing the first item moved to the temporary item accommodation space to be a target of item transaction;
Including,
The smart contract is:
A first sub-contract for moving the first item to the temporary item accommodation space for item transaction while ensuring that the first user has ownership of the first item until the transaction condition of the first item is satisfied;
Including,
The temporary item accommodation space,
It is an account with a specific address on the blockchain network,
Performing a function of accommodating the item subject to the transaction on the blockchain network,
A computer program stored on a computer-readable storage medium.
삭제delete 삭제delete 제 1 항에 있어서,
상기 제 1 아이템이 상기 일시적 아이템 수용 공간으로 이동된 경우, 상기 제 1 아이템은 게임 내에서 사용가능하지 않은 상태로 변경되는,
컴퓨터 판독가능 저장 매체에 저장된 컴퓨터 프로그램.
The method of claim 1,
When the first item is moved to the temporary item accommodation space, the first item is changed to a state that is not usable in the game,
A computer program stored on a computer-readable storage medium.
제 1 항에 있어서,
상기 스마트 컨트랙트는:
상기 제 1 아이템을 구매하고자 하는 제 2 사용자로부터의 상기 제 1 아이템에 대한 구매 요청에 응답하여 상기 제 1 아이템의 거래 조건의 만족 여부를 판단하고, 그리고 상기 제 1 아이템의 거래 조건이 만족되는 경우, 상기 제 1 아이템의 소유권을 상기 제 1 사용자로부터 상기 제 2 사용자로 변경시키는 제 2 서브 컨트랙트;
를 포함하는,
컴퓨터 판독가능 저장 매체에 저장된 컴퓨터 프로그램.
The method of claim 1,
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, it is determined whether the transaction condition of the first item is satisfied, and when the transaction condition of the first item is satisfied And a second sub-contract for changing 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 created based on the transaction condition of the first item,
The transaction condition of the first item is 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 limit auction transaction, a price designation general transaction, a rental transaction, an advertisement generation transaction, and a donation generation transaction,
A computer program stored on a computer-readable storage medium.
제 1 항에 있어서,
상기 스마트 컨트랙트는:
상기 제 1 사용자로부터 상기 제 1 아이템을 구매하고자 하는 제 2 사용자로 상기 제 1 아이템의 소유권을 변경하는 경우, 상기 제 2 사용자와 관련된 제 2 외부 소유 어카운트(EOA: Externally Owned Account)로부터 상기 제 1 사용자와 관련된 제 1 외부 소유 어카운트로 상기 제 1 아이템의 거래 비용의 적어도 일부를 전달하기 위한 트랜잭션을 블록체인 네트워크 상에서 발생시키는 제 3 서브 컨트랙트;
를 포함하는,
컴퓨터 판독가능 저장 매체에 저장된 컴퓨터 프로그램.
The method of claim 1,
The smart contract is:
When the ownership of the first item is changed from the first user to a second user who wants to purchase the first item, the first item from a second externally owned account (EOA) associated with the second user A third sub-contract for generating a transaction on the blockchain network for delivering at least a portion of the transaction cost of the first item to a first externally owned account associated with a user;
Containing,
A computer program stored on a computer-readable storage medium.
제 1 항에 있어서,
상기 스마트 컨트랙트는:
상기 제 1 사용자가 상기 제 1 아이템에 대한 판매를 취소한 경우 또는 제 2 사용자로 상기 제 1 아이템에 대한 소유권을 이전하는 경우, 상기 제 1 아이템을 상기 일시적 아이템 수용 공간으로부터 다른 위치로 이동시킴으로써, 상기 제 1 아이템을 게임 내에서 사용가능한 상태로 복귀시키도록 허용하는 제 4 서브 컨트랙트;
를 포함하는,
컴퓨터 판독가능 저장 매체에 저장된 컴퓨터 프로그램.
The method of claim 1,
The smart contract is:
When the first user cancels the sale of the first item or transfers ownership of the first item to a second user, by moving the first item from the temporary item accommodation space to another location, A fourth sub-contract allowing 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 is:
When a transaction including an indication that the first user cancels the sale of the first item is received, the first item is transferred from the block chain network address of the temporary item accommodation space to the block chain associated with the first user. To generate a transaction to move to a network address,
A computer program stored on a computer-readable storage medium.
제 1 항에 있어서,
상기 스마트 컨트랙트는:
제 2 사용자로 상기 제 1 아이템에 대한 소유권이 이전되는 경우, 상기 제 1 아이템의 판매 금액 중 적어도 일부를 기부금 수령을 위한 사전결정된 외부 소유 어카운트로 전달하기 위한 트랜잭션을 블록체인 네트워크 상에서 발생시키는 제 5 서브 컨트랙트;
를 포함하며,
상기 기부금 수령을 위한 사전결정된 외부 소유 어카운트로 전달이 완료된 경우, 기부금을 수령한 외부 소유 어카운트의 잔액(balance) 정보에 적어도 부분적으로 기초하여 기부금의 지급 정보가 출력되는,
컴퓨터 판독가능 저장 매체에 저장된 컴퓨터 프로그램.
The method of claim 1,
The smart contract is:
When ownership of the first item is transferred to a second user, a fifth in which a transaction for transferring at least a portion of the sales amount of the first item to a predetermined externally owned account for receiving donations is generated on the blockchain network Sub-contract;
Including,
When the delivery is completed to the 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.
제 1 항에 있어서,
상기 스마트 컨트랙트는 블록에 포함되어 블록체인 네트워크로 배포되며,
상기 스마트 컨트랙트가 상기 블록체인 네트워크로 배포되는 경우, 상기 스마트 컨트랙트에 대응되는 컨트랙트 어카운트(Contract Account)가 생성되며, 그리고
상기 스마트 컨트랙트가 블록체인 네트워크 상에서의 컨트랙트 어카운트에 저장됨에 따라, 상기 블록체인 네트워크 상에서 제 1 아이템에 대한 거래를 수행하기 위한 스마트 컨트랙트가 동작 가능하도록 활성화되는,
컴퓨터 판독가능 저장 매체에 저장된 컴퓨터 프로그램.
The method of claim 1,
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 the contract account on the blockchain network, a smart contract for performing a transaction for the 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,
The first item stored in the contract account in response to a transaction including a transaction request for the first item generated from an externally owned account related to a second user who wishes to purchase the first item or related to a game server The smart contract is called to perform the transaction of
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 transaction; And
A hash value for the byte code of the smart contract for the item transaction;
Including,
The address of the contract account is generated based at least in part on a private key of at least one of a first user, a game server, and an item exchange server,
A computer program stored on a computer-readable storage medium.
제 1 항에 있어서,
상기 생성된 스마트 컨트랙트를 블록에 포함시켜 블록체인 네트워크로 배포하는 단계;
를 더 포함하며,
상기 블록체인 네트워크로 배포되는 블록은: 상기 아이템 거래를 위한 스마트 컨트랙트 및 아이템 거래 이력 정보를 포함하며, 그리고
상기 스마트 컨트랙트는 복수의 노드들에 의한 합의 알고리즘(consensus algorithm)에 기초하여 상기 블록체인 네트워크로 배포되며, 상기 복수의 노드들은 하나 이상의 사용자 단말, 하나 이상의 게임 서버 및 하나 이상의 아이템 거래소 서버 중 적어도 둘을 포함하는,
컴퓨터 판독가능 저장 매체에 저장된 컴퓨터 프로그램.
The method of claim 1,
Including the generated smart contract in a block and distributing it to a blockchain network;
It further includes,
The block distributed to the blockchain network includes: smart contract for the item transaction 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 트랜잭션을 생성하는 단계;
를 더 포함하는,
컴퓨터 판독가능 저장 매체에 저장된 컴퓨터 프로그램.
The method of claim 1,
In response to determining to move the first item to the temporary item accommodation space for item transaction, the temporary item using a private key associated with at least one of the first user, an item exchange server, and a game server Generating a first transaction for moving the first item to a block chain address associated with an item accommodation 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 on the first item and block chain address information associated with the temporary item accommodation 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, an item exchange server, and a game server;
Calling a 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 a first user and a second user is recorded in the blockchain network, the first user from the temporary item storage space managed by the game server on the first item on the game related to the first item Determining what to move from the inventory of;
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, an item exchange server, and a game server; And
Calling a smart contract included in the first transaction by issuing the second transaction to the blockchain network;
It further includes,
As the smart contract is called, a transaction for transferring the cost associated with the transaction of the first item from the externally owned account of the second user to the externally owned account of the first user, and the transaction on the blockchain network A transaction is generated to move the first item from the temporary item accommodation space to an externally owned account associated with the second user or the game server,
A computer program stored on a computer-readable storage medium.
제 1 항에 있어서,
상기 일시적 아이템 수용 공간으로 이동된 상기 제 1 아이템이 아이템 거래의 대상이 되도록 허용하는 단계는:
상기 제 1 아이템을 상기 일시적 아이템 수용 공간으로 이동시키기 위한 트랜잭션을 발생시킴으로써 상기 트랜잭션이 블록에 포함되어 블록체인 네트워크로 배포되도록 허용하는 단계; 및
상기 제 1 아이템과 관련된 게임 서버 및 아이템 거래소 서버 중 적어도 하나에서, 상기 제 1 아이템이 거래 대상이 된다는 것을 사용자들이 확인할 수 있도록 허용하는 단계;
를 포함하는,
컴퓨터 판독가능 저장 매체에 저장된 컴퓨터 프로그램.
The method of claim 1,
The step of allowing the first item moved to the temporary item accommodation space to be a target of 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 accommodation space; And
Allowing users to confirm that the first item is a transaction target in at least one of a game server and an item exchange server related to the first item;
Containing,
A computer program stored on a computer-readable storage medium.
제 1 항에 있어서,
상기 방법은, 오프 체인(off-chain) 기반의 게임 서버 및 오프 체인 기반의 아이템 거래소 서버 중 적어도 하나에 의해 수행되는,
컴퓨터 판독가능 저장 매체에 저장된 컴퓨터 프로그램.
The method of 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 아이템이 아이템 거래의 대상이 된다는 것을 게임 내 사용자들이 확인할 수 있도록 허용하는 단계;
를 포함하는,
컴퓨터 판독가능 저장 매체에 저장된 컴퓨터 프로그램.
The method of claim 1,
The step of allowing the first item moved to the temporary item accommodation space to be a target of item transaction,
In response to determining to move the first item to the temporary item accommodation space having an address in the blockchain network, the game server manages the first item on the game associated with the first item from the inventory of the first user Allowing in-game users to confirm that the first item is a target of 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 아이템이 아이템 거래의 대상이 되도록 허용하는 프로세서;
를 포함하고,
상기 프로세서는,
상기 제 1 아이템의 거래를 블록체인 네트워크 상에서 실행하기 위한, 블록체인 네트워크 상에서 동작가능한 스마트 컨트랙트(smart contract)를 생성하고,
상기 스마트 컨트랙트는:
상기 제 1 아이템의 거래 조건이 만족되기 전까지 상기 제 1 아이템의 소유권이 상기 제 1 사용자에게 있는 것을 보장하면서, 아이템 거래를 위해 상기 제 1 아이템을 상기 일시적 아이템 수용 공간으로 이동시키는 제 1 서브 컨트랙트;
를 포함하고,
상기 일시적 아이템 수용 공간은,
상기 블록체인 네트워크 상에서의 특정한 주소를 갖는 어카운트이고,
상기 블록체인 네트워크 상에서 상기 거래의 대상이 되는 상기 아이템을 수용하는 기능을 수행하는,
게임 서버.
As a game server for performing item transactions,
A transceiver for receiving a transaction request for a first item playable in the game from a first user; And
It is determined to move the first item to an item storage space in the game server, to move the first item to a temporary item accommodation space having an address in the blockchain network, and move to the temporary item accommodation space A processor that allows the first item to be subject to item transaction;
Including,
The processor,
To execute the transaction of the first item on the blockchain network, a smart contract operable on the blockchain network is created,
The smart contract is:
A first sub-contract for moving the first item to the temporary item accommodation space for item transaction while ensuring that the first user has ownership of the first item until the transaction condition of the first item is satisfied;
Including,
The temporary item accommodation space,
It is an account with a specific address on the blockchain network,
Performing a function of accommodating the item subject to the transaction on the blockchain network,
Game server.
아이템 거래소 서버로서,
제 1 사용자로부터의 게임 내에서 플레이 가능한 제 1 아이템에 대한 거래 요청을 수신하고, 그리고 상기 제 1 아이템이 게임 서버 내에서의 아이템 보관 공간으로 이동될 수 있도록 허용하기 위한 신호를 게임 서버로 전송하는 송수신부; 및
상기 제 1 아이템을 블록체인 네트워크에서의 주소를 갖는 일시적 아이템 수용 공간으로 이동시키기 위하여 상기 블록체인 네트워크로 배포될 트랜잭션을 생성하고 그리고 상기 일시적 아이템 수용 공간으로 이동된 상기 제 1 아이템이 아이템 거래의 대상이 되도록 허용하기 위하여 상기 트랜잭션과 관련된 정보를 게임 서버로 전달할 것을 결정하는 프로세서;
를 포함하고,
상기 프로세서는,
상기 제 1 아이템의 거래를 블록체인 네트워크 상에서 실행하기 위한, 블록체인 네트워크 상에서 동작가능한 스마트 컨트랙트(smart contract)를 생성하고,
상기 스마트 컨트랙트는:
상기 제 1 아이템의 거래 조건이 만족되기 전까지 상기 제 1 아이템의 소유권이 상기 제 1 사용자에게 있는 것을 보장하면서, 아이템 거래를 위해 상기 제 1 아이템을 상기 일시적 아이템 수용 공간으로 이동시키는 제 1 서브 컨트랙트;
를 포함하고,
상기 일시적 아이템 수용 공간은,
상기 블록체인 네트워크 상에서의 특정한 주소를 갖는 어카운트이고,
상기 블록체인 네트워크 상에서 상기 거래의 대상이 되는 상기 아이템을 수용하는 기능을 수행하는,
아이템 거래소 서버.
As an item exchange server,
Receiving a transaction request for a first item playable in the game from the first user, and transmitting a signal to the game server for allowing the first item to be moved to the item storage space in the game server A transceiver; And
In order to move the first item to a temporary item accommodation 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 accommodation space is a target of item transaction. A processor that determines to transmit information related to the transaction to a game server in order to allow this to be performed;
Including,
The processor,
To execute the transaction of the first item on the blockchain network, a smart contract operable on the blockchain network is created,
The smart contract is:
A first sub-contract for moving the first item to the temporary item accommodation space for item transaction while ensuring that the first user has ownership of the first item until the transaction condition of the first item is satisfied;
Including,
The temporary item accommodation space,
It is an account with a specific address on the blockchain network,
Performing a function of accommodating the item subject to the transaction on the blockchain network,
Item exchange server.
블록체인 네트워크를 구성하는 컴퓨팅 장치로서,
프로세서; 및
상기 프로세서에 의해 실행가능한 컴퓨터 프로그램을 저장하는 메모리;
를 포함하며,
상기 프로세서는:
제 1 사용자로부터의 게임 내에서 플레이 가능한 제 1 아이템에 대한 거래 요청에 대응되는 스마트 컨트랙트가 포함된 제 1 트랜잭션을 수신하고;
합의 알고리즘에 따라 생성된 제 1 블록에 상기 제 1 트랜잭션을 포함시키고;
상기 제 1 트랜잭션에 포함된 스마트 컨트랙트에 기초하여 상기 제 1 아이템을 상기 블록체인 네트워크 내에서의 주소를 갖는 일시적 아이템 수용 공간으로 이동시킴으로써, 상기 제 1 아이템이 아이템 거래의 대상이 되도록 허용하도록 구성되고,
상기 스마트 컨트랙트는:
상기 제 1 아이템의 거래 조건이 만족되기 전까지 상기 제 1 아이템의 소유권이 상기 제 1 사용자에게 있는 것을 보장하면서, 아이템 거래를 위해 상기 제 1 아이템을 상기 일시적 아이템 수용 공간으로 이동시키는 제 1 서브 컨트랙트;
를 포함하고,
상기 일시적 아이템 수용 공간은,
상기 블록체인 네트워크 상에서의 특정한 주소를 갖는 어카운트이고,
상기 블록체인 네트워크 상에서 상기 거래의 대상이 되는 상기 아이템을 수용하는 기능을 수행하는,
블록체인 네트워크를 구성하는 컴퓨팅 장치.
As a computing device constituting a blockchain network,
Processor; And
A memory storing a computer program executable by the processor;
Including,
The processor is:
Receiving a first transaction including a smart contract corresponding to a transaction request for a first item playable in the game from the first user;
Including 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 is moved to a temporary item accommodation space having an address in the blockchain network, thereby allowing the first item to be a target of item transaction, ,
The smart contract is:
A first sub-contract for moving the first item to the temporary item accommodation space for item transaction while ensuring that the first user has ownership of the first item until the transaction condition of the first item is satisfied;
Including,
The temporary item accommodation space,
It is an account with a specific address on the blockchain network,
Performing a function of accommodating the item subject to the transaction on the blockchain network,
A computing device that makes up a 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 KR20200091647A (en) 2020-07-31
KR102182849B1 true 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 (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

Families Citing this family (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102572232B1 (en) * 2020-12-18 2023-08-28 재단법인 경주스마트미디어센터 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
US20230009399A1 (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
WO2023131626A1 (en) * 2022-01-10 2023-07-13 Bright Star Studios Aps Method and apparatus for managing digital assets and non-fungible tokens
KR102634318B1 (en) * 2022-02-22 2024-02-08 주식회사 원유니버스 Method for storing application data in blockchain and system using the same

Family Cites Families (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 (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

Also Published As

Publication number Publication date
KR20200091647A (en) 2020-07-31

Similar Documents

Publication Publication Date Title
KR102182849B1 (en) Technique for item transaction
KR102162762B1 (en) Technique for item tracking
Warren et al. 0x: An open protocol for decentralized exchange on the Ethereum blockchain
KR20210024994A (en) Digital asset exchange
WO2020107919A1 (en) Distributed network and ecosystem based on innovative proof-of-reputation consensus protocol
JP2019508948A (en) Method and system for secure transfer of entities on a blockchain basis
KR20210128452A (en) Computer-implemented systems and methods for implementing transfers via blockchain networks.
KR20200094531A (en) System and method for providing digital asset services basesd on blockchain
US11475420B2 (en) System and method for true peer-to-peer automatic teller machine transactions using mobile device payment systems
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
CN109767217A (en) Digital asset, server, terminal and digital asset method of commerce
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
KR20200108763A (en) Method to manage decenteralized game
WO2020102782A1 (en) Multi-tiered distributed network transactional database
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

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