KR102182849B1 - Technique for item transaction - Google Patents
Technique for item transaction Download PDFInfo
- 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
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION 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/00—Commerce
- G06Q30/06—Buying, selling or leasing transactions
- G06Q30/0601—Electronic shopping [e-shopping]
- G06Q30/0607—Regulated
-
- A—HUMAN NECESSITIES
- A63—SPORTS; GAMES; AMUSEMENTS
- A63F—CARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
- A63F13/00—Video games, i.e. games using an electronically generated display having two or more dimensions
- A63F13/55—Controlling game characters or game objects based on the game progress
-
- A—HUMAN NECESSITIES
- A63—SPORTS; GAMES; AMUSEMENTS
- A63F—CARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
- A63F13/00—Video games, i.e. games using an electronically generated display having two or more dimensions
- A63F13/70—Game security or game management aspects
- A63F13/75—Enforcing rules, e.g. detecting foul play or generating lists of cheating players
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION 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/00—Payment architectures, schemes or protocols
- G06Q20/38—Payment protocols; Details thereof
- G06Q20/382—Payment 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
본 개시내용은 아이템 거래에 관한 것으로서, 보다 구체적으로 투명하고 안전한 아이템 거래를 허용하기 위한 기법에 관한 것이다.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.
본 개시내용의 일 목적은 아이템 거래의 투명성 및 안정성을 확보하기 위한 아이템 거래 기법을 제공하고자 하는 것이다. 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
사용자 단말(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
사용자 단말(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
사용자 단말(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
사용자 단말(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
사용자 단말(100)은 솔리디티(Solidity) 등과 같은 임의의 언어를 사용하여 블록체인 네트워크(400) 상에서 동작될 수 있는 스마트 컨트랙트를 생성할 수 있다. 또한, 사용자 단말(100)은 생성된 스마트 컨트랙트를 블록체인 네트워크(400)로 배포하기 위한 트랜잭션을 생성할 수 있다.The user terminal 100 may create a smart contract that can be operated on the
사용자 단말(100)은 게임 서버(200)에 접속하여 게임 서버에서 제공하는 게임을 수행할 수 있으며, 게임을 수행하는 과정에서 획득 또는 구매되는 임의의 형태의 게임 관련 아이템을 게임 내에서 사용할 수 있다. 본 명세서에서의 게임은 모바일 게임, 웹 게임, VR 게임, P2P 게임, 온라인/오프라인 게임 등 임의의 형태의 게임을 포함할 수 있다. The user terminal 100 can access the
또한, 사용자 단말(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
사용자 단말(100)은 블록체인 네트워크(400)를 구성하는 노드로 동작할 수도 있다. 이러한 예시에서, 사용자 단말(100)은 지갑(wallet) 기능, 마이너(miner) 기능, 및 Full 블록체인 데이터의 저장 기능 중 적어도 하나의 기능을 구현할 수 있다. 예를 들어, 사용자 단말(100)이 지갑 기능만을 포함하는 경우, 트랜잭션 및 유효성 검증을 수행하는 노드(예컨대, SPV (Simplified Payment Verification)노드)로 동작할 수 있다.The user terminal 100 may also operate as a node constituting the
사용자 단말(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)는 메모리 및 프로세서를 포함할 수 있다.
게임 서버(200)는 사용자 단말(100)로 하여금 게임 플레이를 허용할 수 있다. 아이템 거래소 서버(300)는 사용자 단말(100)이 게임 내에서 플레이가능한 임의의 형태의 아이템에 대한 거래를 수행하는 것을 허용할 수 있다. The
도 1에서 게임 서버(200) 및 아이템 거래소 서버(300)가 별도의 엔티티로서 분리되어 표현되었지만, 본 개시내용의 실시예에 따라서 아이템 거래소 서버(300)가 게임 서버(200) 내에 포함되어, 게임 플레이 기능 및 아이템 거래 기능을 하나의 통합 서버에서 수행할 수도 있다. 이러한 예시에서, 아이템 거래소 서버(300)의 기능이 게임 서버(200)에 통합되는 경우, 사용자 단말(100)은 인-게임(in-game) 아이템 거래를 수행할 수 있다. In FIG. 1, the
또한, 아이템 거래소 서버(300)와 게임 서버(200)가 분리된 경우, 사용자 단말(100)은 게임 서버(200) 외부에 존재하는 아이템 거래소 서버(300)를 통한 게임 아이템 거래를 수행할 수 있다. 이러한 경우, 아이템 거래소 서버(300)는 게임 서버(200) 및 블록체인 네트워크(400)와 통신하여 아이템 거래를 구현할 수 있다.In addition, when the
추가적으로, 게임 서버(200) 및 아이템 거래소 서버(300) 중 적어도 하나는 블록체인 네트워크(400)를 구성하는 노드로서 동작할 수도 있다.Additionally, at least one of the
본 개시내용의 일 실시예에서, 블록체인 네트워크(400)는 블록체인 기술에 기반하여 동작하는 복수의 노드들을 의미할 수 있다. 여기서, 블록체인 기술은 블록이 체인형태로 연결된 저장 구조를 사용하여, 관리 대상이 되는 데이터를 블록체인 네트워크를 구성하는 복수의 노드들에 저장하는 분산 저장 기술이다.In an embodiment of the present disclosure, the
블록체인 네트워크(400)는 사용자 단말(100), 게임 서버(200) 및 아이템 거래소 서버 중 적어도 하나로부터 전달된 트랜잭션을 사전결정된 합의 알고리즘에 기초하여 블록 형태로 저장할 수 있다. 블록 형태로 저장되는 데이터는 블록체인 네트워크(400)를 구성하는 복수의 노드들에 의해 공유될 수 있다. The
도 1에서는 블록체인 네트워크(400)를 별도의 분리된 엔티티로서 표현하였지만, 본 개시내용의 실시예에 따라서 블록체인 네트워크(400)가 게임 서버(200) 및/또는 아이템 거래소 서버(300) 중 적어도 하나에 포함된 형태로 구현될 수도 있다.In FIG. 1, the
블록체인 네트워크(400)는, 구현 형태에 따라서, 임의의 노드들이 합의 동작을 수행할 수 있는 Public 블록체인 네트워크 또는 사전결정된 노드만이 합의 동작을 수행할 수 있는 Private 블록체인 네트워크를 포함할 수 있다.The
본 개시내용의 일 실시예에 따른 블록체인 네트워크(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
본 개시내용의 일 예시적인 실시예에서, 블록체인 네트워크(400)에서의 노드들은 계층 구조에 따른 블록체인 코어 패키지에 의해 동작할 수 있다. 상기 계층 구조는: 블록체인 네트워크(400)에서 다뤄지는 데이터의 구조를 정의하고 데이터를 관리하는 데이터 계층, 블록의 유효성을 검증하고 블록을 생성하는 마이닝을 수행하고 마이닝 과정에서 채굴자에게 지급되는 수수료의 처리를 담당하는 합의 계층, 스마트 컨트랙트를 처리 및 실행시키는 실행 계층, P2P 네트워크 프로토콜, 해시 함수, 전자서명, 인코딩 및 공통 저장소를 구현 및 관리하는 공통 계층, 및 다양한 어플리케이션이 생성, 처리 및 관리되는 응용 계층을 포함할 수 있다. In an exemplary embodiment of the present disclosure, nodes in the
본 개시내용의 일 실시예에 따라, 게임 아이템을 거래하는데 있어서 블록체인 네트워크(400)를 사용함으로써, 아이템 거래에 대한 사용자 편의성, 거래의 투명성 및 거래의 무결성이 제공될 수 있을 뿐만 아니라, 게임 서비스 단위가 아닌 게임 플랫폼에 독립적인 아이템 거래 서비스가 제공될 수 있다.According to an embodiment of the present disclosure, by using the
본 개시내용에서의 거래 대상이 되는 아이템은 게임 내에서 플레이될 수 있는 임의의 형태의 아이템을 포함하며, 예를 들어, 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) 등과 같은 다양한 유선 통신 시스템들을 사용할 수 있다.
또한, 본 개시내용에서 제시되는 통신 네트워크(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
본 개시내용에서의 "일시적 아이템 수용 공간"을 블록체인 네트워크(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
본 개시내용에서의 "일시적 아이템 보관 공간"은 게임 서버(200)에 의해 게임 내에서 관리되는 별도의 아이템 보관 공간을 의미한다. 예를 들어, 일시적 아이템 보관 공간은, 게임 내에서의 금고, 공용 인벤토리, 아이템 거래용 인벤토리, 아이템 거래소 등을 포함할 수 있다. 사용자로부터 아이템 판매 요청이 발생되는 경우, 게임 서버(200)는 해당 아이템을 사용자의 인벤토리로부터 일시적 아이템 보관 공간으로 이동시킬 수 있다. 이에 따라, 게임 내에서 해당 아이템이 거래의 대상이 된다는 점을 사용자들이 알 수 있게 된다. 또한, 아이템 거래가 완료되는 경우, "일시적 아이템 보관 공간"에 보관된 아이템은 아이템을 구매한 제 2 사용자의 게임 내에서의 인벤토리로 이동될 수 있다.The "temporary item storage space" in the present disclosure means a separate item storage space managed in the game by the
본 개시내용의 실시예들에 따른 스마트 컨트랙트는 아이템 거래를 수행하기 위한 디지털 언어로 작성되고 임의의 컴퓨팅 장치에서 실행될 수 있다. 즉, 스마트 컨트랙트에 포함된 코드 및/또는 함수가 실행되는 경우, 본 개시내용의 실시예들에 따른 임의의 형태의 아이템 거래(예컨대, 게임 아이템의 판매, 구매, 대여 등)가 수행될 수 있다. 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
본 명세서에서의 코인은, 블록체인 네트워크(400) 상에서 동작가능한 임의의 형태의 암호화 화폐를 의미할 수 있다. 이러한 코인은 아이템 거래소 서버(300) 또는 게임 서버(200)에 의해 그 시세에 따라 현금으로 전환가능할 수 있다. Coins in this specification may mean any form of cryptocurrency that can be operated on the
본 개시내용의 실시예들에 따른 아이템 거래를 수행하기 위한 스마트 컨트랙트는 예를 들어, 무한 반복같은 악의적인 코드를 막고 아이템 거래와 관련된 데이타의 무결성를 지키기 위해, 트랜잭션을 실행할 때 특정한 실행 비용을 지급하도록 규정할 수도 있다. 여기에서의 실행 비용이란 블록체인 네트워크(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
본 개시내용의 실시예들에 따른 아이템 거래를 수행하기 위하여 스마트 컨트랙트들 간의 호출은, 메시지라는 구조체를 사용하여 구현될 수 있다. 예를 들어, 이러한 메시지는 컨트랙트 어카운트(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
본 개시내용의 실시예들에 따른 아이템 거래를 구현하는데 있어서, 스마트 컨트랙트의 함수를 컴파일된 코드 형태로 트랜잭션에 포함하여 블록체인을 통해 동기화할 때, 트랜잭션에 포함된 정보를 함수의 입력으로 하여 코드로 표현된 함수를 실행한 후 그 결과를 별도의 상태로 보관하는 방식으로 스마트 컨트랙트가 구현될 수 있다.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
추가적인 실시예에서, 아이템 거래를 수행하기 위한 본 개시내용의 블록체인 네트워크(400)를 구성하는 컴퓨팅 장치들은, 스마트 컨트랙트의 상태를 변경시키는 트랜잭션 보관 데이터베이스와 스마트 컨트랙트의 최신상태를 보관하고 있는 스마트 컨트랙트 데이터베이스를 포함할 수도 있다. 이러한 경우, 본 개시내용에서의 아이템 거래를 위한 스마트 컨트랙트는 블록체인 네트워크(400) 상에서의 상태(state)를 변경할 수 있는 애플리케이션(즉, 아이템 거래 애플리케이션)으로 정의될 수 있고, 스마트 컨트랙트의 상태는 해당 애플리케이션(즉, 아이템 거래 애플리케이션)에서 사용하는 변수로 정의될 수 있으며, 그리고 이를 변경하기 위한 입력값은 게임 서버(200), 아이템 거래소 서버(300), 사용자 단말(100) 중 적어도 하나로부터 발행된 트랜잭션에 포함될 수 있다.In a further embodiment, the computing devices constituting the
추가적인 실시예에서, 스마트 컨트랙트의 상태를 저장하는 데이터베이스는 높은 압축률을 달성하기 위해 트랜잭션을 저장하는 데이터베이스와 합쳐져 있을 수도 있다. 또한, 스마트 컨트랙트의 상태를 저장하는 데이터베이스의 분산 합의와 스마트 컨트랙트의 낮은 의존성을 달성하기 위해 트랜잭션을 저장하는 데이터베이스와 분리되어 동작할 수도 있다.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
도 2에서 도시되는 바와 같이, 게임 서버(200)는 프로세서(201), 저장부(202) 및 송수신부(203)를 포함할 수 있으며, 아이템 거래소 서버(300)는 프로세서(301), 저장부(302) 및 송수신부(303)를 포함할 수 있다. 전술한 컴포넌트들은 예시적인 것으로서 본 개시내용의 권리범위가 전술한 컴포넌트들로 제한되지는 않는다. 즉, 본 개시내용의 실시예들에 대한 구현 양태에 따라서 추가적인 컴포넌트들이 포함되거나 또는 전술한 컴포넌트들 중 일부가 생략될 수 있다. As shown in FIG. 2, the
도 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
본 개시내용의 일 실시예에 따라 게임 서버(200)는 아이템 거래(예컨대, 판매 또는 대여 등)를 희망하는 제 1 사용자로부터의 게임 내에서 플레이 가능한 제 1 아이템에 대한 거래 요청을 수신하는 송수신부(203)를 포함할 수 있다. 또한, 송수신부(203)는 제 1 아이템이 거래의 대상이 되도록 등록된 이후에, 제 1 아이템의 거래(예컨대, 구매 또는 대여 등)를 희망하는 제 2 사용자로부터의 거래 요청을 수신할 수 있다.According to an embodiment of the present disclosure, the
송수신부(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
송수신부(203)는 사용자 단말(100)과의 통신, 블록체인 네트워크(400)와의 통신 및 다른 서버와의 통신을 수행할 수 있다.The
저장부(202)는 프로세서(201)가 생성하거나 결정한 임의의 형태의 정보 및 송수신부(203)가 수신한 임의의 형태의 정보를 게임 서버(200)에 저장할 수 있다. 저장부(202)는 메모리 및/또는 영구저장매체를 포함할 수 있다.The
프로세서(201)는 아이템 거래를 허용하기 위하여 게임 서버(200)의 컴포넌트들의 전반적인 동작들을 제어할 수 있다. 예를 들어, 프로세서(201)는 제 1 아이템을 게임 서버(200) 내에서의 아이템 보관 공간으로 이동시키고, 상기 제 1 아이템을 블록체인 네트워크(400)에서의 주소를 갖는 일시적 아이템 수용 공간으로 이동시킬 것을 결정하고, 그리고 상기 일시적 아이템 수용 공간으로 이동된 제 1 아이템이 아이템 거래의 대상이 되도록 허용할 수 있다. 또한, 프로세서(201)는 제 2 사용자로부터의 구매 요청을 수신하는 경우, 게임 서버(200)내에서 일시적 아이템 보관 공간으로부터 제 2 사용자의 인벤토리로 제 1 아이템이 이동될 수 있도록 처리할 수 있다.The
아이템 거래소 서버(300)는 제 1 사용자로부터의 게임 내에서 플레이 가능한 제 1 아이템에 대한 거래 요청을 수신하고, 그리고 상기 제 1 아이템이 게임 서버 (200)내에서의 아이템 보관 공간으로 이동될 수 있도록 허용하기 위한 신호를 게임 서버(200)로 전송하는 송수신부(303)를 포함할 수 있다. 또한, 송수신부(303)는 제 1 아이템에 대한 거래(예컨대, 구매 또는 대여)를 희망하는 제 2 사용자로부터의 제 1 아이템에 대한 거래 요청을 수신할 수 있다.The
송수신부(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
송수신부(303)는 사용자 단말(100)과의 통신, 블록체인 네트워크(400)와의 통신 및 다른 서버와의 통신을 수행할 수 있다.The
저장부(302)는 프로세서(301)가 생성하거나 결정한 임의의 형태의 정보 및 송수신부(303)가 수신한 임의의 형태의 정보를 아이템 거래소 서버(300)에 저장할 수 있다. 저장부(302)는 메모리 및/또는 영구저장매체를 포함할 수 있다.The
프로세서(301)는 제 1 아이템을 블록체인 네트워크에서의 주소를 갖는 일시적 아이템 수용 공간으로 이동시키기 위하여 블록체인 네트워크(400)로 배포될 트랜잭션을 생성하고 그리고 일시적 아이템 수용 공간으로 이동된 상기 제 1 아이템이 아이템 거래의 대상이 되도록 허용하기 위하여 상기 트랜잭션과 관련된 정보를 게임 서버(200)로 전달할 것을 결정할 수 있다. 또한, 프로세서(301)는 제 2 사용자로부터의 구매 요청을 수신하는 경우, 이에 대응되는 트랜잭션을 생성하여 블록체인 네트워크(400)에 배포함으로써, 일시적 아이템 수용 공간으로부터 제 2 사용자의 인벤토리로 제 1 아이템이 이동될 수 있도록 허용할 수 있다.The
도 2에서는 도시되지 않았지만, 게임 서버(200) 및 아이템 거래소 서버(300) 중 적어도 하나는 블록체인 네트워크(400)를 구성하는 컴퓨팅 장치로 동작할 수도 있다. 이러한 경우, 상기 컴퓨팅 장치는 프로세서, 및 프로세서에 의해 실행가능한 컴퓨터 프로그램을 저장하는 메모리를 포함할 수 있다.Although not shown in FIG. 2, at least one of the
본 개시내용의 일 실시예에 따라, 컴퓨팅 장치는, 제 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
본 개시내용의 일 실시예에 따라, 컴퓨팅 장치는, 제 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
[도 3 설명][Description of Figure 3]
도 3은 본 개시내용의 일 실시예에 따라 게임 서버(200)에서 수행되는 아이템 거래 방식을 예시적으로 도시한다. 3 exemplarily shows an item transaction method performed in the
도 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
본 개시내용의 일 실시예에서, 제 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
전자의 경우, 게임 서버(200)는 제 1 아이템에 대한 거래 요청 정보에 기초하여 스마트 컨트랙트 및 트랜잭션을 생성할 수 있다. 또한, 전자의 경우 게임 서버(200)는 제 1 아이템을 판매 또는 대여 하고자 하는 표시가 포함된 메시지를 아이템 거래소 서버(300)로 전달할 수도 있다. In the former case, the
후자의 경우, 사용자 단말(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
게임 서버(200)는 제 1 아이템을 게임 서버(200) 내에서의 아이템 보관 공간으로 이동시킴으로써, 제 1 아이템이 게임 상에서 플레이되지 않도록 할 수 있다(320). 이러한 경우, 게임 서버(200)는 제 1 아이템의 소유권은 제 1 사용자에게 유지시키면서 게임 내에서 제 1 아이템이 플레이되지 않도록 허용하기 위하여, 제 1 아이템을 제 1 사용자의 게임 내에서의 인벤토리로부터 별도의 아이템 보관 공간으로 이동시킬 수 있다. 게임 서버(200) 내에서의 별도의 아이템 보관 공간으로 이동된 게임 아이템에 대해서는, 게임 플레이가 제한되도록 처리될 수 있다. 게임 서버(200)는, 게임 서버(200)내에서의 아이템 보관 공간으로 이동된 아이템을 사용자들이 검색할 수 있도록, 해당 아이템에 대한 정보를 게임 내에서 출력 가능하게 처리할 수 있다.The
본 개시내용의 일 실시예에서, 게임 서버(200)는 제 1 아이템의 거래를 위하여 블록체인 네트워크(400) 상에서 동작가능한 스마트 컨트랙트를 생성하고 스마트 컨트랙트가 포함된 트랜잭션을 블록체인 네트워크(400)로 발행할 수 있다(330). In one embodiment of the present disclosure, the
일 실시예에서, 게임 서버(200)는 사용자 단말(100)에 의해 생성된 제 1 아이템에 대한 거래 요청에 포함된 거래 조건 정보에 기초하여, 스마트 컨트랙트를 생성할 수 있다. 예를 들어, 거래 유형 정보 또는 거래 조건 정보는, 자동 구매 예약 거래, 상한가 경매 거래, 대여 거래, 가격 지정 일반 거래, 광고 발생 거래 및 기부 발생 거래 중 적어도 하나를 포함할 수 있다. 아이템 거래를 희망하는 사용자는 UI(User Interface) 상에서 게임 아이템 거래를 희망한다는 표시 및 게임 아이템에 대한 거래 조건을 입력할 수 있으며, 이에 응답하여, 게임 서버(200)는 사용자의 입력 정보에 기초하여 자동으로 블록체인 네트워크(400) 상에서 동작가능한 스마트 컨트랙트를 생성할 수 있다.In an embodiment, the
예를 들어, 스마트 컨트랙트는 블록에 포함되어 블록체인 네트워크(400)로 배포되며, 상기 스마트 컨트랙트가 상기 블록체인 네트워크(400)로 배포되는 경우, 상기 스마트 컨트랙트에 대응되는 컨트랙트 어카운트(Contract Account)가 생성될 수 있다. 또한, 스마트 컨트랙트가 블록체인 네트워크(400) 상에서의 컨트랙트 어카운트에 저장됨에 따라 상기 블록체인 네트워크(400) 상에서 제 1 아이템의 거래를 위한 절차가 수행될 수 있다. 예를 들어, 스마트 컨트랙트가 저장되는 컨트랙트 어카운트는: 아이템 거래를 위해 생성된 스마트 컨트랙트들의 개수, 및 아이템 거래를 위한 스마트 컨트랙트의 바이트 코드(byte code)에 대한 해시값을 포함할 수 있다. For example, a smart contract is included in a block and distributed to the
또한, 상기 컨트랙트 어카운트의 주소는, 제 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
일 실시예에서, 블록체인 네트워크(400)로 배포되는 블록은, 아이템 거래를 위한 스마트 컨트랙트 및 아이템 거래 이력 정보를 포함할 수 있다. 본 개시내용의 일 실시예에 따라, 블록체인 네트워크(400)로 배포되는 블록에 스마트 컨트랙트 및 아이템 거래 내역 정보만을 포함시키는 경우, 아이템 거래를 수행하는데 있어서 블록체인의 블록 사이즈를 최소화할 수 있기 때문에, 블록의 생성 시간 및 블록의 전파 시간을 감소시킬 수 있고 그리고 블록의 저장을 위한 컴퓨팅 자원 또한 줄일 수 있게 된다. In one embodiment, a block distributed to the
또한, 스마트 컨트랙트는 복수의 노드들에 의한 합의 알고리즘에 기초하여 상기 블록체인 네트워크로 배포되며, 여기서의 복수의 노드들은, 하나 이상의 외부 컴퓨팅 장치들, 하나 이상의 사용자 단말, 하나 이상의 게임 서버 및 하나 이상의 아이템 거래소 서버 중 적어도 둘을 포함할 수 있다.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
또한, 블록체인 네트워크(400)상의 주소를 갖는 일시적 아이템 수용 공간은 게임 서버(200)의 일시적 아이템 보관 공간(예컨대, 게임 내에서의 금고, 공용 인벤토리, 아이템 거래용 인벤토리, 아이템 거래소)과 대응될 수 있다. 즉, 게임 서버(200)에서 구현되는 일시적 아이템 보관 공간에서 발생되는 거래 이력들은 이와 대응되는 블록체인 네트워크에서의 일시적 아이템 수용 공간에 저장될 수 있기 때문에, 아이템 거래에 대한 신뢰성 및 무결성이 확보될 수 있다.In addition, the temporary item accommodation space having an address on the
추가적인 실시예에서, 아이템 거래소 서버(300)에 의해 블록체인 네트워크(400)로 트랜잭션이 발행되고, 게임 서버(200)는 아이템 거래소 서버(300) 또는 블록체인 네트워크(400)로부터 이러한 트랜잭션이 발행되었다는 정보 또는 트랜잭션이 블록체인 네트워크(400)에 공유되었다는 정보를 수신하는 형태로 동작할 수도 있다.In an additional embodiment, a transaction is issued to the
일 실시예에서, 게임 서버(200)는 제 1 아이템이 거래대상이 된다는 것을 확인한 제 2 사용자로부터 제 1 아이템에 대한 구매 요청을 수신할 수 있다(340). 예를 들어, 게임 서버(200)는 제 2 사용자의 사용자 단말(100)로부터 직접적으로 제 1 아이템에 대한 거래 요청(예컨대, 구매 요청)을 수신할 수 있다. 다른 예시로, 제 2 사용자의 사용자 단말(100)이 아이템 거래소 서버(300)로 제 1 아이템에 대한 구매 요청을 전달한 이후에, 게임 서버(200)는 아이템 거래소 서버(300)로부터 제 2 사용자로부터의 제 1 아이템에 대한 구매 요청이 이루어졌다는 신호를 수신할 수도 있다. In an embodiment, the
일 실시예에서, 제 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
본 개시내용의 일 실시예에서, 게임 서버(200)는 제 2 사용자로부터의 구매 요청이 포함된 트랜잭션을 생성하여 블록체인 네트워크(400)로 발행할 수 있다(350). 이러한 트랜잭션에 의해서, 블록체인 네트워크(400)에 사전저장된 스마트 컨트랙트가 호출될 수 있다. 일례로, 게임 서버(200)는 제 2 사용자로부터 제 1 아이템의 구매를 원한다는 표시가 포함된 신호를 수신한 이후에, 상기 신호가 제 1 사용자가 제시한 구매 조건을 만족하는지 여부를 확인한 후, 만족되는 경우 스마트 컨트랙트를 호출하기 위한 트랜잭션을 생성할 수 있다. 다른 예시로, 게임 서버(200)는 제 2 사용자에 의해 생성된 트랜잭션을 블록체인 네트워크(400)로 전달할 수도 있다. 다른 예시로, 게임 서버(200)는, 제 2 사용자로부터의 제 1 아이템의 구매를 원한다는 표시가 포함된 신호를 블록체인 네트워크(400) 상에서 동작가능한 트랜잭션 형태로 변환할 수도 있다.In an embodiment of the present disclosure, the
본 개시내용의 일 실시예에서, 게임 서버(200)는, 스마트 컨트랙트가 실행됨에 따라 제 1 사용자의 어카운트 및 제 2 사용자의 어카운트 간의 거래 금액에 대한 정산 절차가 진행되는 경우, 게임 서버(200) 내에서 제 1 아이템을 일시적 아이템 보관 공간으로부터 제 2 사용자의 인벤토리로 이동할 것을 결정할 수 있다(360). 예를 들어, 게임 서버(200)는, 블록체인 네트워크(400)로부터 또는 아이템 거래소 서버(300)로부터 스마트 컨트랙트가 실행됨에 따라 제 1 사용자와 제 2 사용자 간의 아이템 거래가 수행되었다는 내용을 전달받는 경우, 게임 내에서 일시적 아이템 보관 공간으로 옮겨진 제 1 아이템을 제 2 사용자의 게임 내 인벤토리로 이동할 것을 결정할 수 있다. In one embodiment of the present disclosure, the
블록체인 네트워크(400)가 게임 서버(200) 외부에 존재하는 경우, 게임 서버(200)는 블록체인 네트워크(400)에서 발생된 거래 이력 정보를 수신/획득하여, 게임 서버(200) 내에 해당 정보를 반영할 수 있다. 이러한 방식으로, 블록체인 네트워크(400) 상에서의 무결성 있는 아이템 거래 이력이 게임 서버(200) 내로 반영될 수 있다.When the
블록체인 네트워크(400)가 게임 서버(200) 내부에 존재하는 경우(즉, 게임 서버(200)가 블록체인 네트워크(400)를 관리하는 경우), 게임 서버(200)는 내부 통신을 통하여 블록체인 네트워크(400)에서 업데이트/변경된 아이템 거래 이력들을 게임 서버(200) 내에서 표시할 수 있다.When the
추가적으로, 제 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
일 실시예에서, 제 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
본 개시내용의 실시예들에서, 게임 서버(200) 및/또는 아이템 거래소 서버(300)는 오프 체인(off-chain) 기반으로 동작할 수 있다. 이 경우, 게임 서버(200) 및/또는 아이템 거래소 서버(300)는 외부에 있는 블록체인 네트워크와 통신하여 아이템 거래를 수행할 수 있다. 또한, 게임 서버(200) 및/또는 아이템 거래소 서버(300)는 블록체인 네트워크(400)를 구성하는 노드로서 동작할 수도 있다.In embodiments of the present disclosure, the
다른 실시예에 따라서, 게임 서버(200) 및/또는 아이템 거래소 서버(300)는 블록체인 네트워크(400)를 가지고 있을 수도 있다. 이러한 경우, 블록체인 네트워크(400)는 Private 블록체인 또는 Consortium 블록체인 형태로 동작할 수 있다.According to another embodiment, the
[도 4 설명][Description of Figure 4]
도 4는 본 개시내용의 일 실시예에 따라 아이템 거래소 서버(300)에서 수행되는 아이템 거래 방식을 예시적으로 도시한다.4 exemplarily shows an item transaction method performed in the
도 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
본 개시내용의 일 실시예에서, 제 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
제 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
아이템 거래소 서버(300)는 제 1 아이템이 게임 서버(200) 내에서 관리되는 아이템 보관 공간으로 이동되도록 게임 서버(200)로 신호를 전송할 수 있다(420). 아이템 거래소 서버(300)는 제 1 아이템을 포함하는 트랜잭션을 블록체인 네트워크(400)로 발행하는 것으로 결정하는 경우, 게임 서버(200)로 해당 신호를 전달함으로써, 게임 서버(200) 내부에서 제 1 사용자의 인벤토리로부터 아이템 보관 공간으로 제 1 아이템이 이동될 수 있도록 허용할 수 있다. The
본 개시내용의 일 실시예에 따라, 아이템 거래소 서버(300)는, 제 1 사용자로부터의 제 1 아이템에 대한 거래 요청에 포함된 거래 유형 정보 등과 같은 거래 조건 정보에 기초하여 블록체인 네트워크(400) 상에서 동작가능한 스마트 컨트랙트를 생성하고 그리고 스마트 컨트랙트가 포함된 트랜잭션을 블록체인 네트워크(400)로 발행할 수 있다(430). 예를 들어, 거래 유형 정보 또는 거래 조건 정보는, 자동 구매 예약 거래, 상한가 경매 거래, 대여 거래, 가격 지정 일반 거래, 광고 발생 거래 및 기부 발생 거래 중 적어도 하나를 포함할 수 있다. According to an embodiment of the present disclosure, the
아이템 거래소 서버(300)는 제 1 아이템의 소유주인 제 1 사용자로부터 아이템 거래소 서버(300)의 개인키 또는 게임 서버(200)의 개인키 또는 이와 상응하는 정보(예컨대, 게임 서버(200) 내에서의 제 1 아이템에 대한 식별 정보 등)를 수신할 수 있다. 수신된 정보에 기초하여 게임 아이템 서버(300)는 스마트 컨트랙트 및 트랜잭션을 생성할 수 있다. 수신된 정보는 트랜잭션의 입력 값(또는 입력 필드) 또는 출력 값(또는 출력 필드)에 기입될 수 있다. The
추가적인 실시예에서, 게임 서버(200)는, 게임 서버(200) 내에서의 아이템 보관 공간과 대응되는 주소/어카운트를 갖는 블록체인 네트워크(400) 상에서의 일시적 아이템 수용 공간으로의 트랜잭션을 허용하기 위하여, 아이템 거래소 서버(300)로 게임 서버(200) 또는 제 1 사용자의 개인키 또는 이와 상응하는 정보(예컨대, 식별정보 등)를 전달할 수도 있다. 이러한 정보를 전달받은 아이템 거래소 서버(300)는, 게임 서버(200)로부터 전달받은 정보에 기초하여, 블록체인 네트워크(400) 상에서 동작가능한 스마트 컨트랙트를 생성하고 스마트 컨트랙트가 포함된 트랜잭션을 블록체인 네트워크(400)로 발행할 수도 있다. In an additional embodiment, the
추가적인 실시예로서, 아이템 거래소 서버(300)는 자신의 개인키 또는 이와 상응하는 정보를 사용하여 제 1 아이템의 거래를 수행하기 위한 스마트 컨트랙트 및 트랜잭션을 발행할 수 있다. 이러한 경우, 블록체인 네트워크(400)와의 인터랙션의 권한은 아이템 거래소 서버(300)가 가지고 있게 되며, 아이템 거래소 서버(300)는 블록체인 네트워크(400)와의 인터랙션을 수행하고 그 결과값을 게임 서버(200) 및/또는 사용자 단말(100)에 전달할 수 있다.As an additional embodiment, the
전술한 바와 같이, 아이템 거래소 서버(300)는 제 1 아이템을 아이템 거래를 수행하기 위하여, 상기 제 1 사용자, 아이템 거래소 서버(300) 및 게임 서버(200) 중 적어도 하나와 연관된 개인키(또는 이와 상응하는 임의의 형태의 암호화 정보)를 사용하여, 일시적 아이템 수용 공간과 연관된 블록체인 주소로 제 1 아이템을 이동시키기 위한 트랜잭션을 생성할 수 있다. 이러한 경우, 상기 트랜잭션은, 개인키로부터 생성된 서명 정보를 포함하는 트랜잭션 입력 값, 및 제 1 아이템에 대한 식별 정보 및 일시적 아이템 수용 공간과 연관된 블록체인 주소 정보를 포함하는 트랜잭션 출력 값을 포함할 수 있다. As described above, the
본 명세서에서 블록체인 네트워크(400)상의 주소를 갖는 일시적 아이템 수용 공간은 게임 서버(200)의 일시적 아이템 보관 공간(예컨대, 게임 내에서의 금고, 공용 인벤토리, 아이템 거래용 인벤토리, 아이템 거래소)과 대응될 수 있다. 즉, 게임 서버(200)에서 구현되는 일시적 아이템 보관 공간에서 발생되는 게임 아이템에 대한 거래 이력들은 이와 대응되는 블록체인 네트워크에서의 일시적 아이템 수용 공간에 저장될 수 있기 때문에, 아이템 거래에 대한 신뢰성 및 무결성이 확보될 수 있다.In the present specification, the temporary item accommodation space having an address on the
전술한 바와 같이, 아이템 거래소 서버(300)에 의해 생성된 스마트 컨트랙트는 블록에 포함되어 블록체인 네트워크(400)로 배포될 수 있다. 스마트 컨트랙트가 블록체인 네트워크(400)로 배포되는 경우, 상기 스마트 컨트랙트에 대응되는 컨트랙트 어카운트가 생성될 수 있다. 이러한 컨트랙트 어카운트는 게임 서버(200)의 아이템 보관 공간에 포함된 거래 정보 또는 거래 이력 정보를 저장할 수 있다. 추가적으로, 컨트랙트 어카운트가 이미 생성된 경우에는 새로운 컨트랙트 어카운트가 생성되지 않고, 기존 생성된 컨트랙트 어카운트에 해당 트랜잭션 및 스마트 컨트랙트가 기록될 수 있다.As described above, the smart contract generated by the
또한, 스마트 컨트랙트가 블록체인 네트워크(400) 상에서의 컨트랙트 어카운트에 저장됨에 따라 상기 블록체인 네트워크(400) 상에서 제 1 아이템의 거래를 위한 절차가 수행될 수 있다. 예를 들어, 스마트 컨트랙트가 저장되는 컨트랙트 어카운트는: 아이템 거래를 위해 생성된 스마트 컨트랙트들의 개수, 및 아이템 거래를 위한 스마트 컨트랙트의 바이트 코드(byte code)에 대한 해시값을 포함할 수 있다. 또한, 상기 컨트랙트 어카운트의 주소는, 제 1 사용자, 게임 서버 및 아이템 거래소 서버 중 적어도 하나의 개인키 또는 이와 상응하는 암호화 정보에 적어도 부분적으로 기초하여 생성될 수 있다. 일례로, 컨트랙트 어카운트의 주소는 아이템 거래소 서버(300)의 개인키와 쌍을 이루는 공개키에 기초하여 생성될 수 있다.In addition, as the smart contract is stored in the contract account on the
일 실시예에서, 블록체인 네트워크(400)로 배포되는 블록은, 아이템 거래를 위한 스마트 컨트랙트 및 아이템 거래 이력 정보를 포함할 수 있다. 본 개시내용의 일 실시예에 따라, 블록체인 네트워크(400)로 배포되는 블록에 스마트 컨트랙트 및 아이템 거래 내역 정보만을 포함시키는 경우, 아이템 거래를 수행하는데 있어서 블록체인의 블록 사이즈를 최소화할 수 있기 때문에, 블록의 생성 시간 및 블록의 전파 시간을 감소시킬 수 있고 그리고 블록의 저장을 위한 컴퓨팅 자원 또한 줄일 수 있게 된다. In one embodiment, a block distributed to the
또한, 스마트 컨트랙트는 복수의 노드들에 의한 합의 알고리즘에 기초하여 블록체인 네트워크(400)로 배포되며, 여기서의 복수의 노드들은, 하나 이상의 외부 컴퓨팅 장치들, 하나 이상의 사용자 단말, 하나 이상의 게임 서버 및 하나 이상의 아이템 거래소 서버 중 적어도 둘을 포함할 수 있다. In addition, the smart contract is distributed to the
본 개시내용의 일 실시예에서, 아이템 거래소 서버(300)가 Off-chain으로 동작하는 경우, 외부 블록체인 네트워크와 인터랙션을 수행하면서 아이템 거래 절차를 진행할 수 있다. 또한, 아이템 거래소 서버(300)가 On-chain으로 동작하는 경우, 아이템 거래소 서버(300) 내부에 블록체인 네트워크(400)가 포함될 수 있다.In an embodiment of the present disclosure, when the
아이템 거래소 서버(300)는 블록체인 네트워크(400)로의 트랜잭션 발행 이후에, 제 1 아이템을 거래하고자 하는 제 2 사용자로부터의 제 1 아이템에 대한 거래 요청을 수신할 수 있다(440). 일 실시예에서, 아이템 거래소 서버(300)는 제 1 아이템이 거래대상이 된다는 것을 확인한 제 2 사용자로부터 제 1 아이템에 대한 구매 요청을 수신할 수 있다. 예를 들어, 아이템 거래소 서버(300)는 제 2 사용자의 사용자 단말(100)로부터 직접적으로 제 1 아이템에 대한 거래 요청(예컨대, 구매 요청 또는 대여 요청)을 수신할 수 있다. 다른 예시로, 제 2 사용자의 사용자 단말(100)이 게임 서버(200)로 제 1 아이템에 대한 구매 요청을 전달한 이후에, 아이템 거래소 서버(300)는 게임 서버(200)로부터 제 2 사용자로부터의 제 1 아이템에 대한 구매 요청이 이루어졌다는 신호를 수신할 수도 있다. The
일 실시예에서, 제 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
전자의 경우, 구매하고자 하는 표시에 기초하여 제 2 사용자의 개인키, 또는 아이템 거래소 서버(300)의 개인키 또는 게임 서버(200)의 개인키, 또는 이와 상응하는 임의의 암호화 정보를 사용하여, 아이템 거래소 서버(300)는 블록체인 네트워크(400)로 발행할 트랜잭션을 생성할 수 있다.In the former case, using the private key of the second user, the private key of the
후자의 경우, 사용자 단말(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
추가적인 실시예로서, 제 2 사용자의 사용자 단말(100)이 블록체인 네트워크(400)로 직접 트랜잭션을 발행할 수도 있으며, 이 경우에 아이템 거래소 서버(300)는 블록체인 네트워크(400)와의 인터랙션을 통하여 트랜잭션의 발행 사실을 인지할 수 있다.As an additional embodiment, the user terminal 100 of the second user may directly issue a transaction to the
본 개시내용의 일 실시예에서, 아이템 거래소 서버(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
도 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
도 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
본 개시내용의 일 실시예에서, 아이템 거래소 서버(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
블록체인 네트워크(400)가 게임 서버(200) 외부에 존재하는 경우, 게임 서버(200)는 블록체인 네트워크(400)에서 발생된 거래 이력 정보를 블록체인 네트워크(400) 또는 아이템 거래소 서버(300)로부터 수신/획득하여, 게임 서버(200) 내에 해당 정보를 반영할 수 있다. 이에 따라, 게임 서버(200)의 아이템 보관 공간에서의 아이템 거래 이력 정보와 블록체인 네트워크(400)에서의 일시적 아이템 수용 공간에서의 아이템 거래 이력 정보가 연동될 수 있다. 추가적으로, 게임 서버(200)의 아이템 보관 공간과 블록체인 네트워크(400) 상에서의 아이템 수용 공간 간의 정보의 차이가 발생되는 경우, 블록체인 네트워크(400) 상에서의 아이템 수용 공간에 정보를 우선순위로 하는 것으로 결정될 수 있다. 이에 따라, 블록체인 네트워크(400) 상에서의 아이템 수용 공간에 기록된 아이템 거래 이력 정보로 게임 서버(200)에서의 아이템 보관 공간에 기록된 아이템 거래 이력 정보가 업데이트될 수 있다. 이러한 방식으로, 블록체인 네트워크(400) 상에서의 무결성 있는 아이템 거래 이력이 게임 서버(200) 내로 반영될 수 있다.When the
블록체인 네트워크(400)가 아이템 거래소 서버(300) 내부에 존재하는 경우(즉, 아이템 거래소 서버(300)가 블록체인 네트워크(400)를 관리하는 경우), 아이템 거래소 서버(300)는 내부 통신을 통하여 블록체인 네트워크(400)에서 업데이트/변경된 아이템 거래 이력들을 게임 서버(200)로 전달할 수 있다.When the
추가적으로, 제 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
일 실시예에서, 제 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
[도 5 설명][Description of Figure 5]
도 5는 본 개시내용의 일 실시예에 따라 블록체인 네트워크(400)에서의 컴퓨팅 장치에서 수행되는 아이템 거래 방식을 예시적으로 도시한다.FIG. 5 exemplarily illustrates an item transaction method performed in a computing device in the
도 5는 블록체인 네트워크(400)를 구성하는 노드로서 동작하는 컴퓨팅 장치에서 수행되는 아이템 거래 방식을 예시적으로 도시하며, 상기 컴퓨팅 장치는 게임 서버(200), 아이템 거래소 서버(300), 사용자 단말(100) 및/또는 외부 컴퓨팅 장치를 의미할 수 있다.FIG. 5 exemplarily shows an item transaction method performed in a computing device operating as a node constituting the
컴퓨팅 장치는 제 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
본 개시내용의 일 실시예에 따라 무결성 및 안정성이 보장되고 사용자 편의성이 극대화된 방식으로 게임 아이템을 거래하기 위한 스마트 컨트랙트는 다음과 같은 서브 컨트랙트들(또는 함수들)을 포함할 수 있다. 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
본 개시내용의 일 실시예에서, 스마트 컨트랙트는, 제 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
본 개시내용의 일 실시예에서, 스마트 컨트랙트는, 제 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
본 개시내용의 일 실시예에서, 스마트 컨트랙트는, 제 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
본 개시내용의 일 실시예에 따라, 스마트 컨트랙트는 제 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
추가적인 실시예에서, 제 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
기부금 수령을 위한 사전결정된 외부 소유 어카운트로 기부금의 전달이 완료된 경우, 기부금을 수령한 외부 소유 어카운트의 잔액(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
다른 예시로, 잔액 정보는, 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
본 개시내용의 일 실시예에서, 제 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
또한, 이러한 제 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
전술한 방식으로 스마트 컨트랙트가 블록에 포함되어 블록체인 네트워크(400)로 배포될 수 있다. 또한, 스마트 컨트랙트가 블록체인 네트워크(400)로 배포되는 경우, 상기 스마트 컨트랙트에 대응되는 컨트랙트 어카운트가 블록체인 네트워크(400) 내에서 생성될 수 있다. 예를 들어, 스마트 컨트랙트가 저장되는 컨트랙트 어카운트는, 아이템 거래를 위해 생성된 스마트 컨트랙트들의 개수, 및 상기 아이템 거래를 위한 스마트 컨트랙트의 바이트 코드에 대한 해시값을 포함할 수 있으며, 컨트랙트 어카운트의 주소값은, 제 1 사용자, 게임 서버 및 아이템 거래소 서버 중 적어도 하나의 개인키에 적어도 부분적으로 기초하여 생성될 수 있다. 따라서, 스마트 컨트랙트가 블록체인 네트워크 상에서의 컨트랙트 어카운트에 저장됨에 따라 상기 블록체인 네트워크 상에서 제 1 아이템에 대한 거래가 수행될 수 있다.In the above-described manner, the smart contract may be included in a block and distributed to the
컴퓨팅 장치는 제 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
본 개시내용의 일 실시예에 따라, 상기 개인키로부터 생성된 서명 정보를 포함하는 트랜잭션 입력 값, 및 제 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
본 개시내용의 추가적인 실시예에서, 블록체인 네트워크(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
컴퓨팅 장치는 제 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
제 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
컴퓨팅 장치는 스마트 컨트랙트가 실행됨에 따라 제 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
[도 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
도 6에서 도시되는 바와 같이, 제 1 사용자 단말(100a)은 아이템 거래소 서버(300)로 제 1 아이템에 대한 거래 요청을 송신할 수 있다(601). 추가적으로, 제 1 사용자 단말(100a)은 게임 서버(200)로 제 1 아이템에 대한 거래 요청을 송신하고 그리고 게임 서버(200)가 아이템 거래소 서버(300)로 해당 내용을 (편집하여) 전달하는 형태의 실시예 또한 가능하다.As illustrated in FIG. 6, the
아이템 거래소 서버(300)는 게임 서버(200)로 제 1 아이템에 대한 보관 요청 신호를 전달할 수 있다(603). 즉, 아이템 거래소 서버(300)는, 거래의 대상이 될 수 있는 제 1 아이템이 블록체인 네트워크(400)에 전파되기 전에 게임 내에서 소멸되거나 타인에게 이전되지 않도록 하기 위해서, 게임 서버(200)로 제 1 아이템에 대한 보관 요청 신호를 전달할 수 있다. The
게임 서버(200)는 제 1 아이템에 대한 보관 요청 신호를 전달받은 후, 제 1 아이템을 서버 내 아이템 보관 공간으로 이동시킬 수 있다(605). 예를 들어, 아이템 보관 공간은 서버 내에서 사용자들이 아이템 거래를 수행할 수 있는 게임 내 특정 공간(예컨대, 금고 등)을 의미할 수 있다. 게임 서버는 제 1 사용자의 인벤토리에 위치한 제 1 아이템을 게임 서버가 관리하는 아이템 보관 공간으로 이동시킴으로써, 제 1 아이템이 게임 내에서 플레이되지 않도록 제한할 수 있다. After receiving the storage request signal for the first item, the
추가적으로, 게임 서버는 서버 내에서의 아이템 보관 공간으로 이동된 아이템이 거래 대상이 될 수 있음을 사용자들에게 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
이러한 트랜잭션이 블록체인 네트워크(400)에 전파되는 경우, 제 1 아이템이 블록체인 네트워크(400) 상에서의 일시적 아이템 수용 공간으로 이동될 수 있다. 여기서의 일시적 아이템 수용 공간으로의 이동은, 블록체인 네트워크(400) 상에서의 제 1 아이템에 대한 인벤토리 어카운트 또는 주소로부터 블록체인 네트워크(400) 상에서의 아이템 거래를 위한 일시적 어카운트 또는 주소로 제 1 아이템이 이동되는 것을 의미한다. 다른 예시로, 일시적 아이템 수용 공간으로의 이동은, 블록체인 네트워크(400) 상에서의 아이템 거래를 위한 일시적 어카운트 또는 주소에서 제 1 아이템이 새롭게 등록되는 것을 의미할 수도 있다.When such a transaction is propagated to the
본 개시내용의 일 실시예에서, 스마트 컨트랙트를 포함하는 트랜잭션을 생성하는데 있어서, 제 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
예를 들어, 제 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
다른 예시로, 게임 서버(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
블록체인 네트워크(400)는 아이템 거래소 서버(300)로부터 발행된 트랜잭션을 검증하고 합의 알고리즘을 통하여 생성된 블록에 해당 트랜잭션을 포함시켜 공유할 수 있다(609). 상기 절차에 의해, 제 1 아이템의 거래를 위한 트랜잭션이 블록체인 네트워크(400)에 기록될 수 있으며, 기록된 트랜잭션 내에 포함된 정보는 무결성이 보장될 수 있는 상태로 보관될 수 있다.The
아이템 거래소 서버(300)는 자신이 발행한 트랜잭션의 트랜잭션 ID(Tx ID)를 통해 해당 트랜잭션이 블록체인 네트워크(400)에 기록되었는지 여부를 확인할 수 있다. 다른 예시로, 아이템 거래소 서버(300)는 블록체인 네트워크(400)로부터 자신이 발행한 트랜잭션이 기록되었다는 메시지를 전달받을 수도 있다.The
아이템 거래소 서버(300)는 제 1 아이템이 거래 대상이 된다는 신호를 게임 서버(200), 및/또는 사용자 단말들(100a, 100b)에 전달할 수 있다(611). 이러한 거래 대상이 된다는 신호는, 예를 들어, 제 1 아이템에 대한 식별 정보, 제 1 아이템에 대한 거래 조건 정보 및/또는 제 1 아이템과 관련된 스마트 컨트랙트가 저장된 컨트랙트 어카운트의 주소 정보를 포함할 수 있다.The
추가적인 실시예에서, 블록체인 네트워크(400)가 생성된 블록이 전파된 이후에 게임 서버(200), 및/또는 사용자 단말들(100a, 100b)에 생성된 블록이 전파되었다는 신호를 전달할 수도 있다.In an additional embodiment, the
아이템 거래소 서버(300)는 제 1 아이템이 거래 대상이 된다는 내용을 아이템 거래소 서버(300) 내에서의 거래 가능 아이템 리스트를 업데이트하는 방식으로 공지할 수도 있다. 이러한 경우, 사용자 단말(100a 및 100b)은 아이템 거래소 서버(300)에 접속하여 업데이트된 거래 가능 아이템 리스트를 확인하는 방식으로 거래 대상 아이템이 무엇인지를 확인할 수 있다.The
제 1 아이템에 대한 거래 조건을 확인한 제 2 사용자 단말(100b)이 아이템 거래소 서버(300)로 제 1 아이템에 대한 구매 요청 메시지를 전달할 수 있다(613). 추가적인 실시예로서, 제 2 사용자 단말(100b)이 제 1 아이템에 대한 구매 요청 메시지를 게임 서버(200)로 전송하고 그리고 게임 서버(200)가 아이템 거래소 서버(300)로 해당 내용을 전달하는 방식으로, 제 1 아이템에 대한 구매 요청 메시지 전달이 이루어질 수도 있다. 추가적인 실시예로서, 제 2 사용자 단말(100b)이 직접 블록체인 네트워크(400)에 아이템 구매 요청이 포함된 트랜잭션을 발행하는 형태의 실시예 또한 가능하다.The
아이템 거래소 서버(300)는 제 2 사용자 단말(100b)로부터의 구매 요청에 포함된 정보에 기초하여, 블록체인 네트워크(400)로 스마트 컨트랙트 호출을 위한 트랜잭션을 발행할 수 있다(615). The
본 개시내용의 일 실시예에서, 스마트 컨트랙트 호출을 위한 트랜잭션은 예를 들어, 스마트 컨트랙트가 저장된 컨트랙트 어카운트에 대한 주소 정보를 포함할 수 있다. 아이템 거래소 서버(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
본 개시내용의 일 실시예에서, 스마트 컨트랙트를 호출하기 위한 트랜잭션을 생성하는데 있어서, 제 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
예를 들어, 제 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
다른 예시로, 게임 서버(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
본 개시내용의 추가적인 실시예에서, 아이템 거래소 서버(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
블록체인 네트워크(400)는 아이템 거래소 서버(300)로부터 발행된 트랜잭션을 검증하고 합의 알고리즘을 통하여 생성된 블록에 해당 트랜잭션을 포함시켜 공유할 수 있다(617). 상기 절차에 의해, 제 1 아이템의 구매를 위한 트랜잭션이 블록체인 네트워크(400)에 기록될 수 있으며, 기록된 트랜잭션 내에 포함된 정보는 무결성이 보장될 수 있는 상태로 보관될 수 있다. 또한, 제 1 아이템의 구매를 위한 트랜잭션이 기록됨에 따라, 상기 트랜잭션에 포함된 스마트 컨트랙트를 호출하기 위한 정보에 기초하여, 해당 스마트 컨트랙트가 호출 및 실행될 수 있다.The
블록체인 네트워크(400) 내에서의 스마트 컨트랙트가 실행됨에 따라서, 제 1 아이템의 소유권이 제 2 사용자로 변경되고, 제 1 아이템의 거래 금액의 적어도 일부를 제 2 사용자의 어카운트로부터 제 1 사용자의 어카운트로 전달되며, 그리고 제 1 아이템이 블록체인 네트워크(400) 상에서 일시적 아이템 수용 공간으로부터 제 2 사용자와 관련된 주소로 이동될 수 있다. 추가적인 실시예에서, 이러한 변경 및 이동에 관한 정보들이 블록체인 네트워크(400)에 기록될 수 있도록, 스마트 컨트랙트에 기초하여 별도의 트랜잭션(들)이 블록체인 네트워크(400) 내에서 생성 및 전파될 수도 있다. As the smart contract in the
전술한 방식들에 따라서, 블록체인 네트워크 상에서의 아이템 거래 기록이 완료되고(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
이러한 경우, 게임 서버(200)는 게임 서버(200) 내에서의 아이템 보관 공간에 위치한 제 1 아이템을 게임 서버(200) 내에서의 제 2 사용자에 의해 관리될 수 있는 제 2 사용자 인벤토리로 이동시킬 수 있다(623). In this case, the
추가적인 실시예에서, 게임 서버(200)는 제 2 사용자 단말(100b)로부터의 별도의 아이템 이관 통지를 수신하는 것에 응답하여, 게임 서버(200) 내에서의 아이템 보관 공간에 위치한 제 1 아이템을 게임 서버(200) 내에서의 제 2 사용자에 의해 관리될 수 있는 제 2 사용자 인벤토리로 이동시킬 수도 있다.In a further embodiment, in response to receiving a separate item transfer notification from the
아이템 거래소 서버(300)는 거래 금액이 정산되었다는 내용(또는 거래가 완료되었다는 내용)을 사용자 단말들(100a, 100b)이 확인할 수 있도록 자신의 DB 상에 업데이트된 거래 이력 정보를 저장할 수 있다(625). 이러한 방식으로, 사용자 단말들(100a, 100b)은 아이템 거래소 서버(300)에 접속하여 거래 이력 정보를 확인할 수 있다.The
본 개시내용의 일 실시예에서, 아이템 거래소 서버(300)는 자신의 DB 상에 저장된 거래 이력 정보와 블록체인 네트워크(400)에 기록된 거래 이력 정보를 비교할 수 있다. 이러한 비교에 기초하여, 블록체인 네트워크(400)에 기록된 거래 이력 정보와 자신의 DB 상에 저장된 거래 이력 정보 간의 차이가 존재하는 경우, 아이템 거래소 서버(300)는 블록체인 네트워크(400)에 기록된 거래 이력 정보에 우선순위를 둔다. 이러한 경우, 예를 들어, 아이템 거래소 서버(300)는 자신의 DB에 기록된 거래 이력 정보를 블록체인 네트워크(400)에 기록된 거래 이력 정보로 대체할 수 있다.In an embodiment of the present disclosure, the
[도 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
도 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
게임 서버(200)는, 거래의 대상이 될 수 있는 제 1 아이템이 블록체인 네트워크(400)에 전파되기 전에 게임 내에서 소멸되거나 타인에게 이전되지 않도록 하기 위해서, 제 1 아이템을 제 1 사용자의 인벤토리로부터 게임 서버(200) 내의 별도의 아이템 보관 공간으로 이관시킬 수 있다(703). 이 경우, 제 1 아이템의 소유권은 제 1 사용자에게 그대로 있으나, 제 1 아이템은 게임 상에서 플레이 대상이 될 수 없도록 게임 서버(200) 내에서 처리될 수 있다.The
게임 서버(200)는 제 1 사용자로부터의 제 1 아이템에 대한 거래 요청 정보를 분석하여, 해당 거래 요청 정보가 반영된 스마트 컨트랙트를 생성하고 그리고 생성된 스마트 컨트랙트를 블록체인 네트워크(400)로 발행할 수 있다(705).The
본 개시내용의 일 실시예에서, 스마트 컨트랙트를 호출하기 위한 트랜잭션을 생성하는데 있어서, 제 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
예를 들어, 제 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
다른 예시로, 게임 서버(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
블록체인 네트워크(400)는 게임 서버(200)로부터 발행된 트랜잭션을 검증하고 합의 알고리즘을 통하여 생성된 블록에 해당 트랜잭션을 포함시켜 공유할 수 있다(707). 이러한 절차에 의해, 제 1 아이템의 거래를 위한 트랜잭션이 블록체인 네트워크(400)에 기록될 수 있으며, 기록된 트랜잭션 내에 포함된 정보는 무결성이 보장될 수 있는 상태로 보관될 수 있다.The
게임 서버(200)는 자신이 발행한 트랜잭션의 트랜잭션 ID(Tx ID)를 통해 해당 트랜잭션이 블록체인 네트워크(400)에 기록되었는지 여부를 확인할 수 있다. 다른 예시로, 게임 서버(200)는 블록체인 네트워크(400)로부터 자신이 발행한 트랜잭션이 기록되었다는 메시지를 전달받을 수도 있다.The
게임 서버(200)는 제 1 아이템이 거래 대상이 된다는 신호를 사용자 단말들(100a, 100b)에 전달할 수 있다(709). 이러한 거래 대상이 된다는 신호는, 예를 들어, 제 1 아이템에 대한 식별 정보, 제 1 아이템에 대한 거래 조건 정보 및/또는 제 1 아이템과 관련된 스마트 컨트랙트가 저장된 컨트랙트 어카운트의 주소 정보를 포함할 수 있다. 사용자 단말들(100a, 100b)은 게임 서버(200)에 접속하여, 거래 대상이 되는 게임 아이템들의 리스트 및 거래 이력 정보를 확인할 수 있다. The
다른 실시예로서, 사용자 단말들(100a, 100b)은 게임 서버(200)로부터 제공된 Tx ID를 사용하여 블록체인 네트워크(400)에 직접 쿼리를 발행할 수도 있다. 이에 따라, 사용자 단말들(100a, 100b)은 원하는 아이템들에 대한 거래 이력 및 거래 조건 등을 블록체인 네트워크(400) 상에서 확인할 수 있다.As another embodiment, the
제 1 아이템에 대한 거래 조건을 확인한 제 2 사용자 단말(100b)이 게임 서버(200)로 제 1 아이템에 대한 구매 요청 메시지를 전달할 수 있다(711). 추가적인 실시예로서, 제 2 사용자 단말(100b)이 제 1 아이템에 대한 구매 요청 메시지가 포함된 트랜잭션을 블록체인 네트워크(400)로 직접 전송하고 그리고 게임 서버(200)가 블록체인 네트워크(400)를 통해 해당 내용을 전달하는 방식으로, 제 1 아이템에 대한 구매 요청 메시지 전달이 이루어질 수도 있다. The
게임 서버(200)는 제 2 사용자 단말(100b)로부터의 구매 요청에 포함된 정보에 기초하여, 블록체인 네트워크(400)로 스마트 컨트랙트 호출을 위한 트랜잭션을 생성하고 이를 발행할 수 있다(713). The
본 개시내용의 일 실시예에서, 스마트 컨트랙트 호출을 위한 트랜잭션은 예를 들어, 서명 정보, 및 스마트 컨트랙트가 저장된 컨트랙트 어카운트에 대한 주소 정보를 포함할 수 있다. 게임 서버(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
본 개시내용의 일 실시예에서, 스마트 컨트랙트를 호출하기 위한 트랜잭션을 생성하는데 있어서, 제 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
예를 들어, 제 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
다른 예시로, 게임 서버(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
본 개시내용의 추가적인 실시예에서, 게임 서버(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
블록체인 네트워크(400)는 게임 서버(200)로부터 발행된 트랜잭션을 검증하고 합의 알고리즘을 통하여 생성된 블록에 해당 트랜잭션을 포함시켜 공유할 수 있다(715). 상기 절차에 의해, 제 1 아이템의 구매를 위한 트랜잭션이 블록체인 네트워크(400)에 기록될 수 있으며, 기록된 트랜잭션 내에 포함된 정보는 무결성이 보장될 수 있는 상태로 보관될 수 있다. 또한, 제 1 아이템의 구매를 위한 트랜잭션이 기록됨에 따라, 상기 트랜잭션에 포함된 스마트 컨트랙트를 호출하기 위한 정보에 기초하여, 해당 스마트 컨트랙트가 호출 및 실행될 수 있다.The
블록체인 네트워크(400) 내에서의 스마트 컨트랙트가 실행됨에 따라서, 제 1 아이템의 소유권이 제 2 사용자로 변경되고, 제 1 아이템의 거래 금액의 적어도 일부를 제 2 사용자의 어카운트로부터 제 1 사용자의 어카운트로 전달되며, 그리고 제 1 아이템이 블록체인 네트워크(400) 상에서 일시적 아이템 수용 공간으로부터 제 2 사용자와 관련된 주소로 이동될 수 있다. 추가적인 실시예에서, 이러한 변경 및 이동에 관한 정보들이 블록체인 네트워크(400)에 기록될 수 있도록, 스마트 컨트랙트에 기초하여 별도의 트랜잭션(들)이 블록체인 네트워크(400) 내에서 생성 및 전파될 수도 있다. As the smart contract in the
블록체인 네트워크(400) 내에서의 스마트 컨트랙트가 실행됨에 따라서, 제 1 아이템의 소유권이 제 2 사용자로 변경되고, 제 1 아이템의 거래 금액의 적어도 일부를 제 2 사용자의 어카운트로부터 제 1 사용자의 어카운트로 전달되며, 그리고 제 1 아이템이 블록체인 네트워크(400) 상에서 일시적 아이템 수용 공간으로부터 제 2 사용자와 관련된 주소로 이동될 수 있다. 추가적인 실시예에서, 이러한 변경 및 이동에 관한 정보들이 블록체인 네트워크(400)에 기록될 수 있도록, 스마트 컨트랙트에 기초하여 별도의 트랜잭션(들)이 블록체인 네트워크(400) 내에서 생성 및 전파될 수도 있다. As the smart contract in the
전술한 방식들에 따라서, 블록체인 네트워크 상에서의 아이템 거래 기록이 완료되고(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
게임 서버(200)는 게임 서버(200) 내에서의 아이템 보관 공간에 위치한 제 1 아이템을 게임 서버(200) 내에서의 제 2 사용자에 의해 관리될 수 있는 제 2 사용자 인벤토리로 이동시킬 수 있다(717). The
추가적인 실시예에서, 게임 서버(200)는 제 2 사용자 단말(100b)로부터의 별도의 아이템 이관 통지를 수신하는 것에 응답하여, 게임 서버(200) 내에서의 아이템 보관 공간에 위치한 제 1 아이템을 게임 서버(200) 내에서의 제 2 사용자에 의해 관리될 수 있는 제 2 사용자 인벤토리로 이동시킬 수도 있다.In a further embodiment, in response to receiving a separate item transfer notification from the
게임 서버(200)는 거래 금액이 정산되었다는 내용(또는 거래가 완료되었다는 내용)을 사용자 단말들(100a, 100b)이 확인할 수 있도록 자신의 DB 상에 업데이트된 거래 이력 정보를 저장할 수 있다(721). 이러한 방식으로, 사용자 단말들(100a, 100b)은 게임 서버(200)에 접속하여 거래 이력 정보를 확인할 수 있다.The
본 개시내용의 일 실시예에서, 게임 서버(200)는 자신의 DB 상에 저장된 거래 이력 정보와 블록체인 네트워크(400)에 기록된 거래 이력 정보를 비교할 수 있다. 이러한 비교에 기초하여, 블록체인 네트워크(400)에 기록된 거래 이력 정보와 자신의 DB 상에 저장된 거래 이력 정보 간의 차이가 존재하는 경우, 게임 서버(200)는 블록체인 네트워크(400)에 기록된 거래 이력 정보에 우선순위를 둔다. 이러한 경우, 예를 들어, 게임 서버(200)는 자신의 DB에 기록된 거래 이력 정보를 블록체인 네트워크(400)에 기록된 거래 이력 정보로 대체할 수 있다.In an embodiment of the present disclosure, the
[도 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
도 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
게임 서버(200)는, 제 1 아이템이 거래 대상이 된 이후에 게임 내에서 소멸되거나 타인에게 이전되지 않도록 하기 위해서, 제 1 아이템을 제 1 사용자의 인벤토리로부터 게임 서버(200) 내의 별도의 아이템 보관 공간으로 이관시킬 수 있다(803). 이 경우, 제 1 아이템의 소유권은 제 1 사용자에게 그대로 있으나, 제 1 아이템은 게임 상에서 플레이 대상이 될 수 없도록 게임 서버(200) 내에서 처리될 수 있다.The
게임 서버(200)는 제 1 사용자로부터의 제 1 아이템에 대한 거래 요청 정보를 분석하여, 해당 거래 요청 정보가 반영된 스마트 컨트랙트를 생성하고 그리고 생성된 스마트 컨트랙트가 포함된 트랜잭션을 생성할 수 있다(805). The
게임 서버(200)는 트랜잭션을 블록체인 네트워크로 발행할 수 있으며, 블록체인 네트워크에서 해당 트랜잭션이 전파되고 기록될 수 있다(807). 해당 트랜잭션에 의해서 제 1 아이템은 블록체인 네트워크의 주소를 갖는 일시적 아이템 수용 공간으로 이동될 수 있다. 또한, 해당 트랜잭션에 의해서 제 1 아이템은 블록체인 네트워크 상에서의 거래 대상이 됨이 기록될 수 있다. The
게임 서버(200)는 블록체인 네트워크를 포함할 수 있다. 즉, 게임 서버(200)는 복수의 컴퓨팅 장치들을 포함할 수 있으며, 이러한 복수의 컴퓨팅 장치들 중 둘 이상의 컴퓨팅 장치들이 블록체인 네트워크를 형성할 수 있다. The
게임 서버(200)라는 하나의 엔티티에 의해 블록체인 네트워크가 관리되기 때문에, 이 경우 블록체인 네트워크는 Private 블록체인으로 동작할 수 있다. Private 블록체인으로 동작하는 경우, 게임 서버(200)의 관리 하에서 Public 블록체인에 비해 소수의 노드들에 의해 블록체인 네트워크가 구현되기 때문에, 검증 및 합의 과정이 빨라 아이템 거래를 수행하는데 있어서 사용자 경험이 증대될 수 있을 뿐만 아니라 네트워크 리소스 및 컴퓨팅 리소스의 효율적인 활용이 가능해질 수 있다.Since the blockchain network is managed by one entity called the
게임 서버(200)가 관리하는 블록체인 네트워크, 또한 네트워크 상의 노드들이 검증되고 분산된 장부(예컨대, 블록 또는 블록 내 데이터)를 공유할 수 있으며 이에 따라 블록체인 기술의 주요 특징인 데이터의 위조 및 변조가 불가능해진다는 장점이 달성될 수 있다. Blockchain network managed by the
여기서, 게임 서버(200)가 관리하는 블록체인 네트워크는, 게임 서버(200)의 소유인 컴퓨팅 장치들만이 허가된 노드로서 블록체인 네트워크를 구성할 수 있는 것을 의미하지만, 추가적으로 게임 서버(200)의 제어 하에 있는 외부 노드들 또는 게임 서버(200)의 허가를 받은 외부 노드들 또한 블록체인 네트워크를 구성할 수 있다.Here, the blockchain network managed by the
추가적인 실시예로서, 게임 서버(200) 및 아이템 거래소 서버(300)가 컨소시움(Consortium) 형태로 블록체인 네트워크를 구성할 수도 있다. 이러한 실시예의 경우, 게임 서버(200) 및 아이템 거래소 서버(300)라는 복수의 엔티티 혹은 기관의 제어 하에 블록체인 네트워크가 구성될 수 있으며, 각각의 엔티티는 블록체인 네트워크 내에서 동일하거나 또는 상이한 권한을 가질 수 있다. 예를 들어, 각각의 엔티티가 상이한 권한을 갖는 경우, 게임 서버(200)와 관련된 노드들만이 합의 과정에 참여할 수 있고 아이템 거래소 서버(300)와 관련된 노드들은 트랜잭션을 생성하거나 검증하는 역할만을 수행할 수도 있다.As an additional embodiment, the
게임 서버(200)는 제 1 아이템이 거래 대상이 된다는 신호를 사용자 단말들(100a, 100b)에 전달하거나 또는 게임 서버(200)에 해당 내용을 업로드하는 형태로 사용자 단말들(100a 및 100b)에게 제 1 아이템이 거래 대상이 됨을 공지할 수 있다(809). 이러한 거래 대상이 된다는 신호는, 예를 들어, 제 1 아이템에 대한 식별 정보, 제 1 아이템에 대한 거래 조건 정보, 제 1 아이템의 소유주 정보, 제 1 아이템과 관련된 블록체인 네트워크의 트랜잭션 ID 정보, 및 제 1 아이템과 관련된 스마트 컨트랙트가 저장된 컨트랙트 어카운트의 주소 정보 중 적어도 하나의 정보를 포함할 수 있다. 사용자 단말들(100a, 100b)은 게임 서버(200)에 접속하여, 거래 대상이 되는 게임 아이템들의 리스트 및 거래 이력 정보를 확인할 수 있다.The
게임 서버(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
제 1 아이템에 대한 거래 조건을 확인한 제 2 사용자 단말(100b)이 게임 서버(200)로 제 1 아이템에 대한 구매 요청 메시지를 전달할 수 있다(811). The
게임 서버(200)는 제 2 사용자 단말(100b)로부터의 구매 요청에 포함된 정보에 기초하여, 블록체인 네트워크로 스마트 컨트랙트 호출을 위한 트랜잭션을 생성하고 이를 발행할 수 있다(813). The
본 개시내용의 일 실시예에서, 스마트 컨트랙트 호출을 위한 트랜잭션은 예를 들어, 제 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
예를 들어, 제 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
다른 예시로, 게임 서버(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
게임 서버(200)의 블록체인 네트워크에서 발행된 트랜잭션이 검증되고, 그리고 합의 알고리즘을 통하여 생성된 블록에 해당 트랜잭션이 포함되어 공유될 수 있다(815). 상기 절차에 의해, 제 1 아이템의 구매를 위한 트랜잭션이 게임 서버(200)의 블록체인 네트워크에 기록될 수 있으며, 기록된 트랜잭션 내에 포함된 정보는 무결성이 보장될 수 있는 상태로 보관될 수 있다. 또한, 제 1 아이템의 구매를 위한 트랜잭션이 기록됨에 따라, 상기 트랜잭션에 포함된 스마트 컨트랙트를 호출하기 위한 정보에 기초하여, 해당 스마트 컨트랙트가 호출 및 실행될 수 있다.The transaction issued in the blockchain network of the
블록체인 네트워크 상에서의 아이템 거래 기록이 완료되는 경우, 게임 서버(200)는 사용자 단말들(100a, 100b)로 제 1 아이템에 대한 제 1 사용자와 제 2 사용자 간의 거래가 완료되었다는 내용을 전달할 수 있다. When the item transaction record on the blockchain network is completed, the
또한, 게임 서버(200)는 Tx ID를 사용하여 블록체인 네트워크로 쿼리를 발행(내부 통신 기반)하여, 제 1 아이템에 대한 거래 이력을 확인할 수도 있다. 이러한 경우, 게임 서버(200)는 자신의 DB에 해당 거래 정보를 업로드함으로써, 게임 서버(200)에 액세스한 사용자 단말(100a 및 100b)이 이를 확인할 수 있도록 허용할 수 있다.In addition, the
게임 서버(200)는 게임 서버(200) 내에서의 아이템 보관 공간에 위치한 제 1 아이템을 게임 서버(200) 내에서의 제 2 사용자에 의해 관리될 수 있는 제 2 사용자 인벤토리로 이동시킬 수 있다(817). The
추가적인 실시예에서, 게임 서버(200)는 제 2 사용자 단말(100b)로부터의 별도의 아이템 이관 통지를 수신하는 것에 응답하여, 게임 서버(200) 내에서의 아이템 보관 공간에 위치한 제 1 아이템을 게임 서버(200) 내에서의 제 2 사용자에 의해 관리될 수 있는 제 2 사용자 인벤토리로 이동시킬 수도 있다.In a further embodiment, in response to receiving a separate item transfer notification from the
게임 서버(200)의 블록체인 네트워크내에서의 스마트 컨트랙트가 실행됨에 따라서, 제 1 아이템의 소유권이 제 2 사용자로 변경되고, 제 1 아이템의 거래 금액의 적어도 일부를 제 2 사용자의 어카운트로부터 제 1 사용자의 어카운트로 전달되며, 그리고 제 1 아이템이 블록체인 네트워크 상의 주소를 갖는 일시적 아이템 수용 공간으로부터 제 2 사용자와 관련된 주소로 이동될 수 있으며, 이로 인해 아이템 거래 비용 정산 절차가 이루어질 수 있다(819). As the smart contract in the blockchain network of the
게임 서버(200)는 거래 금액이 정산되었다는 내용(또는 거래가 완료되었다는 내용)을 사용자 단말들(100a, 100b)이 확인할 수 있도록 자신의 DB 상에 업데이트된 거래 이력 정보를 저장할 수 있다(821). 이러한 방식으로, 사용자 단말들(100a, 100b)은 게임 서버(200)에 접속하여 거래 이력 정보를 확인할 수 있다.The
[도 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
도 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
아이템 거래소 서버(300)는 게임 서버(200)로 제 1 아이템에 대한 보관 요청 메시지를 전달할 수 있다(903).The
게임 서버(200)는, 제 1 아이템이 거래 대상이 된 이후에 게임 내에서 소멸되거나 타인에게 이전되지 않도록 하기 위해서, 제 1 아이템을 제 1 사용자의 인벤토리로부터 게임 서버(200) 내의 별도의 아이템 보관 공간으로 이관시킬 수 있다(905). 이 경우, 제 1 아이템의 소유권은 제 1 사용자에게 그대로 있으나, 제 1 아이템은 게임 상에서 플레이 대상이 될 수 없도록 게임 서버(200) 내에서 처리될 수 있다.The
아이템 거래소 서버(300)는 제 1 사용자로부터의 제 1 아이템에 대한 거래 요청 정보를 분석하여, 해당 거래 요청 정보가 반영된 스마트 컨트랙트를 생성하고 그리고 생성된 스마트 컨트랙트가 포함된 트랜잭션을 생성하고 이를 블록체인 네트워크로 발행할 수 있다(907). The
해당 트랜잭션에 의해서 제 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
아이템 거래소 서버(300)라는 하나의 엔티티에 의해 블록체인 네트워크가 관리되기 때문에, 이 경우 블록체인 네트워크는 Private 블록체인으로 동작할 수 있다. Private 블록체인으로 동작하는 경우, 아이템 거래소 서버(300)의 관리 하에서 Public 블록체인에 비해 소수의 노드들에 의해 블록체인 네트워크가 구현되기 때문에, 검증 및 합의 과정이 빨라 아이템 거래를 수행하는데 있어서 사용자 경험이 증대될 수 있을 뿐만 아니라 네트워크 리소스 및 컴퓨팅 리소스의 효율적인 활용이 가능해질 수 있다.Since the blockchain network is managed by one entity called the
아이템 거래소 서버(300)가 관리하는 블록체인 네트워크, 또한 네트워크 상의 노드들이 검증되고 분산된 장부(예컨대, 블록 또는 블록 내 데이터)를 공유할 수 있으며 이에 따라 블록체인 기술의 주요 특징인 데이터의 위조 및 변조가 불가능해진다는 장점이 달성될 수 있다. The blockchain network managed by the
여기서, 아이템 거래소 서버(300)가 관리하는 블록체인 네트워크는, 아이템 거래소 서버(300)의 소유인 컴퓨팅 장치들만이 허가된 노드로서 블록체인 네트워크를 구성할 수 있는 것을 의미하지만, 추가적으로 아이템 거래소 서버(300)의 제어 하에 있는 외부 노드들 또는 아이템 거래소 서버(300)의 허가를 받은 외부 노드들 또한 블록체인 네트워크를 구성할 수 있다.Here, the blockchain network managed by the
추가적인 실시예로서, 게임 서버(200) 및 아이템 거래소 서버(300)가 컨소시움 형태로 블록체인 네트워크를 구성할 수도 있다. 이러한 실시예의 경우, 게임 서버(200) 및 아이템 거래소 서버(300)라는 복수의 엔티티 혹은 기관의 제어 하에 블록체인 네트워크가 구성될 수 있으며, 각각의 엔티티는 블록체인 네트워크 내에서 동일하거나 또는 상이한 권한을 가질 수 있다. 예를 들어, 각각의 엔티티가 상이한 권한을 갖는 경우, 아이템 거래소 서버(300)와 관련된 노드들만이 합의 과정에 참여할 수 있고 게임 서버(200)와 관련된 노드들은 트랜잭션을 생성하거나 검증하는 역할만을 수행할 수도 있다.As an additional embodiment, the
아이템 거래소 서버(300)는 제 1 아이템이 거래 대상이 된다는 신호를 사용자 단말들(100a, 100b) 및 게임 서버(200)에 전달하거나 또는 자신의 DB에 해당 내용을 업로드하는 형태로 제 1 아이템이 거래 대상이 됨을 공지할 수 있다(911). 이러한 거래 대상이 된다는 신호는, 예를 들어, 제 1 아이템에 대한 식별 정보, 제 1 아이템에 대한 거래 조건 정보, 제 1 아이템의 소유주 정보, 제 1 아이템과 관련된 블록체인 네트워크의 트랜잭션 ID 정보, 및 제 1 아이템과 관련된 스마트 컨트랙트가 저장된 컨트랙트 어카운트의 주소 정보 중 적어도 하나의 정보를 포함할 수 있다. 사용자 단말들(100a, 100b)은 아이템 거래소 서버(300) 및/또는 게임 서버(200)에 접속하여, 거래 대상이 되는 게임 아이템들의 리스트 및 거래 이력 정보를 확인할 수 있다.The
아이템 거래소 서버(300)는 제 1 아이템이 거래 대상이 되도록 일시적 아이템 수용 공간으로 이동시키기 위한 트랜잭션을 발행한 이후에, 해당 트랜잭션에 포함된 스마트 컨트랙트가 저장되는 컨트랙트 어카운트 정보를 획득할 수 있다. After issuing a transaction for moving the first item to the temporary item accommodation space so that the
제 1 아이템에 대한 거래 조건을 확인한 제 2 사용자 단말(100b)이 아이템 거래소 서버(300)로 제 1 아이템에 대한 구매 요청 메시지를 전달할 수 있다(913). The
아이템 거래소 서버(300)는 제 2 사용자 단말(100b)로부터의 구매 요청에 포함된 정보에 기초하여, 블록체인 네트워크로 스마트 컨트랙트 호출을 위한 트랜잭션을 생성하고 이를 발행할 수 있다(915). The
본 개시내용의 일 실시예에서, 스마트 컨트랙트 호출을 위한 트랜잭션은 예를 들어, 제 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
예를 들어, 제 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
다른 예시로, 게임 서버(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
추가적으로, 게임 서버(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
아이템 거래소 서버(300)의 블록체인 네트워크에서 발행된 트랜잭션이 검증되고, 그리고 합의 알고리즘을 통하여 생성된 블록에 해당 트랜잭션이 포함되어 공유될 수 있다(917). 이러한 절차에 의해, 제 1 아이템의 구매를 위한 트랜잭션이 아이템 거래소 서버(300)의 블록체인 네트워크에 기록될 수 있으며, 기록된 트랜잭션 내에 포함된 정보는 무결성이 보장될 수 있는 상태로 보관될 수 있다. 또한, 제 1 아이템의 구매를 위한 트랜잭션이 기록됨에 따라, 상기 트랜잭션에 포함된 스마트 컨트랙트를 호출하기 위한 정보에 기초하여, 해당 스마트 컨트랙트가 호출 및 실행될 수 있다.The transaction issued in the blockchain network of the
아이템 거래소 서버(300)의 블록체인 네트워크 상에서의 아이템 거래 기록이 완료되는 경우, 제 1 사용자와 제 2 사용자 간의 아이템 거래에서 수반되는 대한 비용이 자동적으로 정산될 수 있다(919). 아이템 거래소 서버(300)의 블록체인 네트워크내에서의 스마트 컨트랙트가 실행됨에 따라서, 제 1 아이템의 소유권이 제 2 사용자로 변경되고, 제 1 아이템의 거래 금액의 적어도 일부를 제 2 사용자의 어카운트로부터 제 1 사용자의 어카운트로 전달되며, 그리고 제 1 아이템이 블록체인 네트워크 상의 주소를 갖는 일시적 아이템 수용 공간으로부터 제 2 사용자와 관련된 주소로 이동될 수 있으며, 이로 인해 아이템 거래 비용 정산 절차가 이루어질 수 있다. When the item transaction record on the blockchain network of the
아이템 거래소 서버(300)는 게임 서버(200) 및/또는 사용자 단말들(100a, 100b)로 제 1 아이템에 대한 제 1 사용자와 제 2 사용자 간의 거래가 완료되었다는 내용을 전달할 수 있다(921). The
또한, 아이템 거래소 서버(300) 및/또는 게임 서버(200)는 Tx ID를 사용하여 블록체인 네트워크로 쿼리를 발행하여, 제 1 아이템에 대한 거래 이력을 확인할 수도 있다. 이러한 경우, 아이템 거래소 서버(300) 및/또는 게임 서버(200)는 자신의 DB에 해당 거래 정보를 업로드함으로써, 게임 서버(200)에 액세스한 사용자 단말(100a 및 100b)이 이를 확인할 수 있도록 허용할 수 있다.In addition, the
게임 서버(200)는 게임 서버(200) 내에서의 아이템 보관 공간에 위치한 제 1 아이템을 게임 서버(200) 내에서의 제 2 사용자에 의해 관리될 수 있는 제 2 사용자 인벤토리로 이동시킬 수 있다(923). The
추가적인 실시예에서, 게임 서버(200)는 제 2 사용자 단말(100b)로부터의 별도의 아이템 이관 통지를 수신하는 것에 응답하여, 게임 서버(200) 내에서의 아이템 보관 공간에 위치한 제 1 아이템을 게임 서버(200) 내에서의 제 2 사용자에 의해 관리될 수 있는 제 2 사용자 인벤토리로 이동시킬 수도 있다.In a further embodiment, in response to receiving a separate item transfer notification from the
아이템 거래소 서버(300)는 거래 금액이 정산되었다는 내용(또는 거래가 완료되었다는 내용)을 사용자 단말들(100a, 100b)이 확인할 수 있도록 자신의 DB 상에 업데이트된 거래 이력 정보를 저장할 수 있다(925). 추가적으로, 아이템 거래소 서버(300)는 거래가 완료되었다는 내용을 게임 서버(200)로 전달하고, 게임 서버(200)가 이를 자신의 DB 상에 반영할 수 있다. 이러한 방식으로, 사용자 단말들(100a, 100b)은 아이템 거래소 서버(300) 또는 게임 서버(200)에 접속하여 거래 이력 정보를 확인할 수 있다.The
[도 10 설명] [Description of Figure 10]
도 10은 본 개시내용의 일 실시예에 따른 블록체인 네트워크(400)에서의 아이템 거래 방식을 예시적으로 도시한다. 도 10에서는 게임 아이템 거래를 수행하기 위하여 블록체인 네트워크(400)에서 트랜잭션의 수신에 응답하여 어떠한 방식으로 동작하는 지를 예시적으로 도시한다.10 exemplarily shows an item transaction method in the
도 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
클라이언트 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
블록체인 네트워크(400)를 구성하는 노드들(400a, 400b, 400c 및 400d)은 트랜잭션 DB 및 스마트 컨트랙트 DB를 포함할 수 있다. 노드들(400a, 400b, 400c 및 400d)은 아이템 거래를 허용하기 위한 임의의 형태의 트랜잭션을 공유하고 트랜잭션 DB에 해당 내용을 저장할 수 있다. 스마트 컨트랙트를 지원할 수 있는 블록체인 네트워크(400)의 경우 트랜잭션의 내용에 따라 스마트 컨트랙트와 관련된 어플리케이션을 실행하고 그 결과를 스마트 컨트랙트 DB에 반영할 수 있다. The
노드들(400a, 400b, 400c 및 400d)은 합의 알고리즘에 기초하여 제 1 트랜잭션(1010)을 포함하는 하나 이상의 트랜잭션들을 담을 수 있는 제 1 블록을 경쟁적으로 생성할 수 있으며, 도 10에서의 예시에서는 노드(400b)가 제 1 블록을 먼저 생성하는 것을 예시로 보여준다(1007).
노드(400b)는 생성된 제 1 블록을 블록체인 네트워크(400)에서 공유되도록 전파할 수 있다(1009).The
노드들(400a, 400c 및 400d)은 수신된 제 1 블록을 검증하고 제 1 블록을 자신의 로컬 저장소에 저장함으로써, 블록체인 네트워크(400) 상에서의 제 1 블록이 공유될 수 있다(1011).The
제 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
클라이언트 B(1000b)는 제 1 아이템에 대한 구매 요청을 위한 제 2 트랜잭션(1020)을 생성할 수 있다(1015). The client B 1000b may generate a
클라이언트 B(1000b)는 개인키로 서명된 제 2 트랜잭션(1020)을 블록체인 네트워크(400)로 전송할 수 있다(1017). The client B 1000b may transmit the
제 2 트랜잭션(1020)은 예를 들어, 제 1 아이템에 대한 식별 정보, 제 1 아이템에 대한 구매 표시, 제 1 트랜잭션에 포함된 스마트 컨트랙트가 저장된 컨트랙트 어카운트, 스마트 컨트랙트를 호출하기 위한 정보 및/또는 제 1 아이템의 거래 가격(예컨대, 구매 가격: 20 Coin)을 포함할 수 있다. The
제 2 트랜잭션(1020) 또한 제 1 트랜잭션(1010)과 마찬가지로, 블록체인 네트워크(400)로 전파 및 공유될 수 있다. Like the first transaction 1010, the
노드들(400a, 400b, 400c 및 400d)은 합의 알고리즘에 기초하여 제 2 트랜잭션(1020)을 포함하는 하나 이상의 트랜잭션들을 담을 수 있는 제 2 블록을 경쟁적으로 생성할 수 있으며, 도 10에서의 예시에서는 노드(400c)가 제 2 블록을 먼저 생성하는 것을 예시로 보여준다(1019). The
노드(400c)는 생성된 제 2 블록을 블록체인 네트워크(400)로 전파함으로써 제 2 블록이 노드들(400a, 400b, 및 400d)에서 공유되도록 허용할 수 있다(1021 및 1023).The
노드들(400a, 400b, 400c 및 400d)은 아이템 거래를 허용하기 위한 제 2 트랜잭션(1020)의 내용을 자신의 트랜잭션 DB에 해당 내용을 저장할 수 있다.The
제 2 트랜잭션(1020)이 블록체인 네트워크(400)에 기록되는 경우, 제 2 트랜잭션(1020)에 의해 노드들(400a, 400b, 400c 및 400d)은 제 1 트랜잭션(1010)에 포함된 스마트 컨트랙트를 호출함으로써, 스마트 컨트랙트를 실행시킬 수 있다(1025).When the
스마트 컨트랙트가 실행됨에 따라서, 소유권 변경 및 판매 금액 정산 절차가 진행되며, 노드들(400a, 400b, 400c 및 400d)은 해당 절차를 수행하고 해당 절차에 의해 발생되는 데이터를 자신의 DB에 저장할 수 있다(1027).As the smart contract is executed, the ownership change and sales amount settlement procedure proceeds, and the
전술한 도 10에서의 실시예들은 아이템 거래를 위한 아이템 등록 절차 및 아이템 구매 절차를 수행하기 위한 예시적인 블록체인 네트워크(400)의 동작을 나타내며, 이하에서는 아이템 거래를 위한 아이템 조회 절차에 대한 예시적인 프로세스(아이템 조회 동작 방식)를 설명한다.The above-described embodiments of FIG. 10 represent the operation of an
아이템 조회 동작과 관련하여, 클라이언트 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
아이템 조회 동작의 경우, 블록체인의 데이터 변경 없이 스마트 컨트랙트 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
[도 11 설명][Description of Figure 11]
도 11은 본 개시내용의 일 실시예에 따른 사용자 단말에서 아이템 거래를 수행하기 위한 예시적인 UI(User Interface) 구성(1100)을 도시한다. 도 11에서의 UI 구성(1100)은 판매 탭에 대한 입력 시 출력되는 화면일 수 있다.해당 UI 구성(1100)은 게임 서버(200) 또는 아이템 거래소 서버(300)에 의해 생성될 수 있다.11 shows an exemplary UI (User Interface)
도 11에서 도시되는 UI 구성(1100)은 아이템 판매를 요청하기 위한 사용자 단말(100)에서 디스플레이되는 화면을 예시적으로 도시한다. 도 11에서는 게임 아이템의 판매에 대한 예시를 도시하였으나, 아이템 대여 등 다양한 형태의 아이템 거래 또한 본 개시내용의 범위 내에 포함될 수 있다는 점은 당업자에게 명백할 것이다.The
사용자 단말(100)은 게임 서버(200) 또는 아이템 거래소 서버(300)에 접속하여, 해당 UI 구성(1100)에 기초하여 인터랙션을 수행할 수 있다. 추가적으로, 사용자 단말(100)로부터 특정 아이템에 대한 사전결정된 입력 행위가 수신되는 경우, 게임 서버(200) 또는 아이템 거래소 서버(300)는 해당 아이템에 대한 거래를 위한 거래소 UI 구성(1100)을 출력할 수 있다. The user terminal 100 may access the
이러한 UI 구성(1100)을 통해서, 사용자 단말(100)로부터 아이템의 종류, 아이템의 판매 가격, 아이템의 판매 수량 정보들이 입력될 수 있다. Through this
도 11에서 도시되는 바와 같이, 게임 아이템 판매를 허용하기 위한 UI 구성(1100)은, 아이템의 식별 정보(이미지 또는 텍스트)를 표시하고, 아이템의 판매 가격을 표시하고, 아이템의 판매 수량을 표시하고, 아이템 최대 판매 제한 정보를 표시하고, 해당 아이템에 대한 평균 판매 가격을 표시하고, 판매 시 발생되는 수수료 정보를 표시하고, 현재 사용자의 보유 코인 양을 표시하고, 아이템의 판매 등록 및 취소 탭을 표시하고, 그리고/또는 아이템의 가격 및 수량을 입력할 수 있는 입력 탭을 표시할 수 있다. 전술한 표시 및 탭들은, 하나의 화면 내에서 출력되거나 또는 별도의 분리된 화면을 통해 출력될 수도 있다.As shown in Fig. 11, the
전술한 바와 같이, 사용자 단말(100)로부터 입력된 아이템 거래를 위한 정보에 기초하여, 게임 서버(200) 또는 아이템 거래소 서버(300)는 스마트 컨트랙트를 생성하고 그리고 생성된 스마트 컨트랙트를 포함하는 트랜잭션을 발행할 수 있다.As described above, based on the information for item transaction input from the user terminal 100, the
또한, 사용자 단말(100)로부터 아이템 거래를 위한 정보의 입력이 완료되는 경우, 게임 서버(200)는 해당 아이템을 게임 내에서의 아이템 보관 공간으로 이동시킴으로써, 사용자의 게임 플레이를 제한시킬 수 있다.In addition, when input of information for item transaction from the user terminal 100 is completed, the
도 11에서는 도시되지 않았지만, UI 구성(1100)은 아이템의 거래 내용 정보를 표시할 수 있다. 예를 들어, 아이템의 거래 내용 정보는 별도의 탭으로 표현될 수 있으며, 해당 탭에서, 특정 아이템에 대한 거래 이력, 특정 사용자에 대한 아이템 거래 이력 정보가 표시될 수 있다.Although not shown in FIG. 11, the
[도 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)
해당 UI 구성(1200)은 게임 서버(200) 또는 아이템 거래소 서버(300)에 의해 생성될 수 있다. The
도 12에서 도시되는 UI 구성(1200)은 아이템 구매를 요청하기 위한 사용자 단말(100)에서 디스플레이되는 화면을 예시적으로 도시한다. 사용자 단말(100)은 게임 서버(200) 또는 아이템 거래소 서버(300)에 접속하여, 해당 UI 구성(1200)에 기초하여 인터랙션을 수행할 수 있다. The
이러한 UI 구성(1100)을 통해서, 사용자 단말(100)로부터 아이템의 종류, 아이템의 판매 가격, 아이템의 판매 수량 정보와 관련된 검색 쿼리들이 입력될 수 있으며, 이러한 입력에 기초하여 UI 구성(1200)이 사용자와 상호작용 가능하도록 변화될 수 있다.Through this
도 12에서 도시되는 바와 같이, 사용자 단말(100)로 게임 서버(200) 또는 아이템 거래소 서버(300)는, 아이템의 이름, 아이템의 카테고리(범주), 아이템의 종류, 아이템의 등급, 아이템의 정렬 규칙, 및/또는 아이템의 최대 가격 정보를 표시할 수 있다. 또한, UI 구성(1200)은 검색 조건에 대한 입력 탭, 아이템 검색에 대한 Enter 탭, 아이템 검색 결과에 대한 출력 탭을 포함할 수 있다. 이러한 UI 구성(1200)에 기초하여, 사용자 단말(100)로부터의 검색/조회 쿼리가 생성될 수 있다.As shown in FIG. 12, the
또한, 사용자 단말(100)로부터 입력된 검색/조회 쿼리 정보에 기초하여, 게임 서버(200) 또는 아이템 거래소 서버(300)는 검색/조회 쿼리에 대응되는 결과 정보를 출력할 수 있다. 결과 정보는 도 12의 우측 화면에서 도시되는 바와 같이, 아이템의 식별 정보, 아이템의 소유주 정보, 판매 조건 정보 및/또는 판매 가격 정보를 포함할 수 있다.In addition, based on the search/query query information input from the user terminal 100, the
이러한 표시 및 탭들은, 하나의 화면 내에서 출력되거나 또는 별도의 분리된 화면을 통해 출력될 수도 있다.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
[도 13 설명][Description of Figure 13]
도 13은 본 개시내용의 일 실시예에 따라 스마트 컨트랙트(1300)가 블록체인 네트워크(400)로 전파되는 양태를 예시적으로 도시한다.13 exemplarily shows an aspect in which the
도 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
본 개시내용의 일 실시예에 따라 스마트 컨트랙트는 무결성 및 안정성이 보장되고 사용자 편의성이 극대화된 방식으로 게임 아이템의 거래를 달성할 수 있다. 본 명세서에서의 서브 컨트랙트는 스마트 컨트랙트를 구성하는 컴포넌트로서, 특정한 기능을 수행하는 코드들의 그룹 또는 함수(함수의 그룹 포함)를 의미할 수 있다. 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
본 개시내용의 일 실시예에서, 스마트 컨트랙트는, 제 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
본 개시내용의 일 실시예에서, 스마트 컨트랙트는, 제 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
본 개시내용의 일 실시예에서, 스마트 컨트랙트는, 제 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
본 개시내용의 일 실시예에 따라, 스마트 컨트랙트는 제 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
추가적인 실시예에서, 제 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
기부금 수령을 위한 사전결정된 외부 소유 어카운트로 기부금의 전달이 완료된 경우, 기부금을 수령한 외부 소유 어카운트의 잔액 정보가 블록체인 네트워크(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
다른 예시로, 잔액 정보는, UTXO 방식에 기초하여, 외부 소유 어카운트가 아닌 블록체인 네트워크(400) 상에서의 UTXO를 관리하기 위한 DB에 저장될 수도 있다. 이러한 경우, UTXO DB로의 검색을 통해 잔액 정보는 UTXO의 총합으로 확인될 수 있다.As another example, the balance information may be stored in a DB for managing UTXO on the
추가적인 실시예에서, 스마트 컨트랙트는 사용자 단말(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
도 13에서 도시되는 바와 같이, 스마트 컨트랙트(1300)는 컴파일러(1301)에 의해 Byte code 형태로 변환될 수 있으며, Byte code 형태로 변환된 트랜잭션이 블록(1303)에 포함되어 블록체인 네트워크(400)로 전파될 수 있다. 블록체인 네트워크(400)에서의 컴퓨팅 장치에 의해(예컨대, 컴퓨팅 장치의 가상 머신에 의해) Byte code로 변환된 스마트 컨트랙트가 실행될 수 있다. 또한, 본 개시내용에서의 컴파일러(1301)는 특정 프로그래밍 언어로 작성된 코드를 다른 프로그래밍 언어로 변환하기 위한 임의의 형태의 프로그램을 포함할 수 있다. 해당 컴파일러 또한 블록체인 네트워크(400)를 구성하는 컴퓨팅 장치, 게임 서버(200), 아이템 거래소 서버(300) 및 사용자 단말(100) 중 적어도 하나에 포함될 수 있다.As shown in FIG. 13, the
본 개시내용의 실시예에 따라, 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
또한, 본 개시내용의 일 실시예에 따라, 아이템 거래 내역만 스마트 컨트랙트 및 블록체인 네트워크(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
본 개시내용의 일 실시예에 따라 동일한 블록체인을 적용한 복수의 게임들에 대해서 안정적인 아이템 거래를 허용할 수 있으며, 현금을 통해 구매한 인앱 아이템의 가치가 게임을 중단하거나, 서비스가 종료되면 사라지는 사용자의 불만 또한 해소될 수 있다.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
도 14에서 도시되는 바와 같이, 블록체인 네트워크(400)에서의 저장 단위인 블록(1400a, 1400b 및 1400c)은 서로 체인 형태로 연결되어 블록체인을 구성할 수 있다. As shown in FIG. 14,
블록(1400a, 1400b 및 1400c)은 블록 헤더(block header) 및 트랜잭션(transaction)으로 구성될 수 있다. 블록 헤더는 예를 들어, 이전 블록 헤더의 해시값, Nonce 값 및 트랜잭션 그룹의 해시값을 포함할 수 있다. Nonce 값은 블록체인 네트워크(400)에서의 노드가 블록을 생성하기 위해 변경하는 값으로서, 블록헤더의 다른 값과 함께 특정 해시 함수의 입력값으로 사용될 수 있다. 특정 Nonce 값을 사용하였을 때, 블록 헤더의 해시값이 사전결정된 난이도값(블록 헤더에 저장될 수 있음)보다 작게 나온 경우, 해당 블록 헤더에 대한 해시값이 결정될 수 있다. 트랜잭션 그룹의 해시값은 트랜잭션에 포함된 데이터들의 Root 해시값을 의미할 수 있다.
도 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
여기서 A, B, C, D, E 및 F는 외부 소유 어카운트 또는 지갑 주소와 같은 블록체인 네트워크(400) 내에서의 주소와 대응될 수 있다. 또한, Contract 1 및 2는 컨트랙트 어카운트에 저장되는 스마트 컨트랙트를 의미할 수 있다.Here, A, B, C, D, E, and F may correspond to addresses in the
도 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
또한, 블록 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
또한, 블록 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
추가적인 실시예로서, 도 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
본 개시내용이 일반적으로 하나 이상의 컴퓨터 상에서 실행될 수 있는 컴퓨터 실행가능 명령어와 관련하여 전술되었지만, 당업자라면 본 개시내용 기타 프로그램 모듈들과 결합되어 및/또는 하드웨어와 소프트웨어의 조합으로서 구현될 수 있다는 것을 잘 알 것이다.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
시스템 버스(1108)는 메모리 버스, 주변장치 버스, 및 다양한 상용 버스 아키텍처 중 임의의 것을 사용하는 로컬 버스에 추가적으로 상호 연결될 수 있는 몇가지 유형의 버스 구조 중 임의의 것일 수 있다. 시스템 메모리(1106)는 판독 전용 메모리(ROM)(1110) 및 랜덤 액세스 메모리(RAM)(1112)를 포함한다. 기본 입/출력 시스템(BIOS)은 ROM, EPROM, EEPROM 등의 비휘발성 메모리(1110)에 저장되며, 이 BIOS는 시동 중과 같은 때에 컴퓨터(1102) 내의 구성요소들 간에 정보를 전송하는 일을 돕는 기본적인 루틴을 포함한다. RAM(1112)은 또한 데이터를 캐싱하기 위한 정적 RAM 등의 고속 RAM을 포함할 수 있다.The
컴퓨터(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 인터페이스 기술 중 적어도 하나 또는 그 둘다를 포함한다.
이들 드라이브 및 그와 연관된 컴퓨터 판독가능 매체는 데이터, 데이터 구조, 컴퓨터 실행가능 명령어, 기타 등등의 비휘발성 저장을 제공한다. 컴퓨터(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
운영 체제(1130), 하나 이상의 애플리케이션 프로그램(1132), 기타 프로그램 모듈(1134) 및 프로그램 데이터(1136)를 비롯한 다수의 프로그램 모듈이 드라이브 및 RAM(1112)에 저장될 수 있다. 운영 체제, 애플리케이션, 모듈 및/또는 데이터의 전부 또는 그 일부분이 또한 RAM(1112)에 캐싱될 수 있다. 본 개시가 여러가지 상업적으로 이용가능한 운영 체제 또는 운영 체제들의 조합에서 구현될 수 있다는 것을 잘 알 것이다.A number of program modules, including the
사용자는 하나 이상의 유선/무선 입력 장치, 예를 들어, 키보드(1138) 및 마우스(1140) 등의 포인팅 장치를 통해 컴퓨터(1102)에 명령 및 정보를 입력할 수 있다. 기타 입력 장치(도시 생략)로는 마이크, IR 리모콘, 조이스틱, 게임 패드, 스타일러스 펜, 터치 스크린, 기타 등등이 있을 수 있다. 이들 및 기타 입력 장치가 종종 시스템 버스(1108)에 연결되어 있는 입력 장치 인터페이스(1142)를 통해 처리 장치(1104)에 연결되지만, 병렬 포트, IEEE 1394 직렬 포트, 게임 포트, USB 포트, IR 인터페이스, 기타 등등의 기타 인터페이스에 의해 연결될 수 있다.A user may input commands and information to the
모니터(1144) 또는 다른 유형의 디스플레이 장치도 역시 비디오 어댑터(1146) 등의 인터페이스를 통해 시스템 버스(1108)에 연결된다. 모니터(1144)에 부가하여, 컴퓨터는 일반적으로 스피커, 프린터, 기타 등등의 기타 주변 출력 장치(도시 생략)를 포함한다.A
컴퓨터(1102)는 유선 및/또는 무선 통신을 통한 원격 컴퓨터(들)(1148) 등의 하나 이상의 원격 컴퓨터로의 논리적 연결을 사용하여 네트워크화된 환경에서 동작할 수 있다. 원격 컴퓨터(들)(1148)는 워크스테이션, 서버 컴퓨터, 라우터, 퍼스널 컴퓨터, 휴대용 컴퓨터, 마이크로프로세서-기반 오락 기기, 피어 장치 또는 기타 통상의 네트워크 노드일 수 있으며, 일반적으로 컴퓨터(1102)에 대해 기술된 구성요소들 중 다수 또는 그 전부를 포함하지만, 간략함을 위해, 메모리 저장 장치(1150)만이 도시되어 있다. 도시되어 있는 논리적 연결은 근거리 통신망(LAN)(1152) 및/또는 더 큰 네트워크, 예를 들어, 원거리 통신망(WAN)(1154)에의 유선/무선 연결을 포함한다. 이러한 LAN 및 WAN 네트워킹 환경은 사무실 및 회사에서 일반적인 것이며, 인트라넷 등의 전사적 컴퓨터 네트워크(enterprise-wide computer network)를 용이하게 해주며, 이들 모두는 전세계 컴퓨터 네트워크, 예를 들어, 인터넷에 연결될 수 있다.
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
컴퓨터(1102)는 무선 통신으로 배치되어 동작하는 임의의 무선 장치 또는 개체, 예를 들어, 프린터, 스캐너, 데스크톱 및/또는 휴대용 컴퓨터, PDA(portable data assistant), 통신 위성, 무선 검출가능 태그와 연관된 임의의 장비 또는 장소, 및 전화와 통신을 하는 동작을 한다. 이것은 적어도 Wi-Fi 및 블루투스 무선 기술을 포함한다. 따라서, 통신은 종래의 네트워크에서와 같이 미리 정의된 구조이거나 단순하게 적어도 2개의 장치 사이의 애드혹 통신(ad hoc communication)일 수 있다.
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.
상기 제 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 아이템을 구매하고자 하는 제 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.
상기 제 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 아이템을 구매하고자 하는 제 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 아이템에 대한 판매를 취소한 경우 또는 제 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.
상기 제 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.
상기 스마트 컨트랙트는:
제 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.
상기 스마트 컨트랙트는 블록에 포함되어 블록체인 네트워크로 배포되며,
상기 스마트 컨트랙트가 상기 블록체인 네트워크로 배포되는 경우, 상기 스마트 컨트랙트에 대응되는 컨트랙트 어카운트(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.
상기 제 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.
상기 스마트 컨트랙트가 저장되는 컨트랙트 어카운트는:
아이템 거래를 위해 생성된 스마트 컨트랙트들의 개수; 및
상기 아이템 거래를 위한 스마트 컨트랙트의 바이트 코드(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.
상기 생성된 스마트 컨트랙트를 블록에 포함시켜 블록체인 네트워크로 배포하는 단계;
를 더 포함하며,
상기 블록체인 네트워크로 배포되는 블록은: 상기 아이템 거래를 위한 스마트 컨트랙트 및 아이템 거래 이력 정보를 포함하며, 그리고
상기 스마트 컨트랙트는 복수의 노드들에 의한 합의 알고리즘(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 사용자, 아이템 거래소 서버 및 게임 서버 중 적어도 하나와 연관된 개인키(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.
상기 제 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.
상기 방법은:
상기 제 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.
상기 방법은:
상기 제 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 아이템이 거래 대상이 된다는 것을 사용자들이 확인할 수 있도록 허용하는 단계;
를 포함하는,
컴퓨터 판독가능 저장 매체에 저장된 컴퓨터 프로그램.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.
상기 방법은, 오프 체인(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 아이템이 아이템 거래의 대상이 된다는 것을 게임 내 사용자들이 확인할 수 있도록 허용하는 단계;
를 포함하는,
컴퓨터 판독가능 저장 매체에 저장된 컴퓨터 프로그램.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.
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)
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)
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)
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 |
-
2019
- 2019-01-23 KR KR1020190008677A patent/KR102182849B1/en active IP Right Grant
Cited By (2)
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 |