KR20190119453A - 복수의 사용자들 간에 게임을 진행하여 게임 결과를 기록하기 위한 장치, 방법 컴퓨터 프로그램 - Google Patents

복수의 사용자들 간에 게임을 진행하여 게임 결과를 기록하기 위한 장치, 방법 컴퓨터 프로그램 Download PDF

Info

Publication number
KR20190119453A
KR20190119453A KR1020180042918A KR20180042918A KR20190119453A KR 20190119453 A KR20190119453 A KR 20190119453A KR 1020180042918 A KR1020180042918 A KR 1020180042918A KR 20180042918 A KR20180042918 A KR 20180042918A KR 20190119453 A KR20190119453 A KR 20190119453A
Authority
KR
South Korea
Prior art keywords
game
user
information
result information
game result
Prior art date
Application number
KR1020180042918A
Other languages
English (en)
Other versions
KR102646102B1 (ko
Inventor
임태현
Original Assignee
주식회사 넥슨코리아
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 주식회사 넥슨코리아 filed Critical 주식회사 넥슨코리아
Priority to KR1020180042918A priority Critical patent/KR102646102B1/ko
Priority to PCT/KR2018/004310 priority patent/WO2019198845A1/ko
Priority to US17/046,513 priority patent/US11420127B2/en
Publication of KR20190119453A publication Critical patent/KR20190119453A/ko
Application granted granted Critical
Publication of KR102646102B1 publication Critical patent/KR102646102B1/ko

Links

Images

Classifications

    • AHUMAN NECESSITIES
    • A63SPORTS; GAMES; AMUSEMENTS
    • A63FCARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
    • A63F13/00Video games, i.e. games using an electronically generated display having two or more dimensions
    • A63F13/70Game security or game management aspects
    • A63F13/75Enforcing rules, e.g. detecting foul play or generating lists of cheating players
    • AHUMAN NECESSITIES
    • A63SPORTS; GAMES; AMUSEMENTS
    • A63FCARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
    • A63F13/00Video games, i.e. games using an electronically generated display having two or more dimensions
    • A63F13/45Controlling the progress of the video game
    • A63F13/49Saving the game status; Pausing or ending the game
    • AHUMAN NECESSITIES
    • A63SPORTS; GAMES; AMUSEMENTS
    • A63FCARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
    • A63F13/00Video games, i.e. games using an electronically generated display having two or more dimensions
    • A63F13/30Interconnection arrangements between game servers and game devices; Interconnection arrangements between game devices; Interconnection arrangements between game servers
    • A63F13/33Interconnection arrangements between game servers and game devices; Interconnection arrangements between game devices; Interconnection arrangements between game servers using wide area network [WAN] connections
    • A63F13/335Interconnection arrangements between game servers and game devices; Interconnection arrangements between game devices; Interconnection arrangements between game servers using wide area network [WAN] connections using Internet
    • AHUMAN NECESSITIES
    • A63SPORTS; GAMES; AMUSEMENTS
    • A63FCARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
    • A63F13/00Video games, i.e. games using an electronically generated display having two or more dimensions
    • A63F13/30Interconnection arrangements between game servers and game devices; Interconnection arrangements between game devices; Interconnection arrangements between game servers
    • A63F13/35Details of game servers
    • AHUMAN NECESSITIES
    • A63SPORTS; GAMES; AMUSEMENTS
    • A63FCARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
    • A63F13/00Video games, i.e. games using an electronically generated display having two or more dimensions
    • A63F13/45Controlling the progress of the video game
    • A63F13/46Computing the game score
    • AHUMAN NECESSITIES
    • A63SPORTS; GAMES; AMUSEMENTS
    • A63FCARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
    • A63F13/00Video games, i.e. games using an electronically generated display having two or more dimensions
    • A63F13/60Generating or modifying game content before or while executing the game program, e.g. authoring tools specially adapted for game development or game-integrated level editor
    • A63F13/69Generating or modifying game content before or while executing the game program, e.g. authoring tools specially adapted for game development or game-integrated level editor by enabling or updating specific game elements, e.g. unlocking hidden features, items, levels or versions
    • AHUMAN NECESSITIES
    • A63SPORTS; GAMES; AMUSEMENTS
    • A63FCARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
    • A63F13/00Video games, i.e. games using an electronically generated display having two or more dimensions
    • A63F13/70Game security or game management aspects
    • A63F13/73Authorising game programs or game devices, e.g. checking authenticity
    • AHUMAN NECESSITIES
    • A63SPORTS; GAMES; AMUSEMENTS
    • A63FCARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
    • A63F13/00Video games, i.e. games using an electronically generated display having two or more dimensions
    • A63F13/70Game security or game management aspects
    • A63F13/79Game security or game management aspects involving player-related data, e.g. identities, accounts, preferences or play histories
    • AHUMAN NECESSITIES
    • A63SPORTS; GAMES; AMUSEMENTS
    • A63FCARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
    • A63F13/00Video games, i.e. games using an electronically generated display having two or more dimensions
    • A63F13/70Game security or game management aspects
    • A63F13/79Game security or game management aspects involving player-related data, e.g. identities, accounts, preferences or play histories
    • A63F13/798Game security or game management aspects involving player-related data, e.g. identities, accounts, preferences or play histories for assessing skills or for ranking players, e.g. for generating a hall of fame
    • AHUMAN NECESSITIES
    • A63SPORTS; GAMES; AMUSEMENTS
    • A63FCARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
    • A63F13/00Video games, i.e. games using an electronically generated display having two or more dimensions
    • A63F13/85Providing additional services to players
    • A63F13/86Watching games played by other players
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q20/00Payment architectures, schemes or protocols
    • G06Q20/04Payment circuits
    • G06Q20/06Private payment circuits, e.g. involving electronic currency used among participants of a common payment scheme
    • G06Q20/065Private payment circuits, e.g. involving electronic currency used among participants of a common payment scheme using e-cash
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/06Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols the encryption apparatus using shift registers or memories for block-wise or stream coding, e.g. DES systems or RC4; Hash functions; Pseudorandom sequence generators

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Business, Economics & Management (AREA)
  • Computer Security & Cryptography (AREA)
  • General Business, Economics & Management (AREA)
  • Theoretical Computer Science (AREA)
  • Accounting & Taxation (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Finance (AREA)
  • Strategic Management (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Software Systems (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)

Abstract

개시된 복수의 사용자들 간에 게임을 진행하여 게임 결과를 기록하는 방법은 제1 사용자 및 제2 사용자를 포함하는 복수의 사용자들을 블록 체인 네트워크에 등록하는 단계; 제1 사용자 및 제2 사용자가 제1 게임 어플리케이션의 실행에 따라 게임을 수행하는 단계; 제1 게임 어플리케이션으로부터 제1 사용자와 제2 사용자 간의 게임 결과인 제1 경기 결과 정보를 획득하는 단계; 및 제1 경기 결과 정보에 기초하여 블록 체인 네트워크의 경기 히스토리 정보를 업데이트하는 단계를 포함할 수 있다.

Description

복수의 사용자들 간에 게임을 진행하여 게임 결과를 기록하기 위한 장치, 방법 컴퓨터 프로그램{Apparatus, method AND cOMPUTER PROGRAM for playing game BETWEEN PLURALITY OF USERS and RECORDING RESULT}
복수의 사용자들 간에 게임을 진행하여 게임 결과를 기록하기 위한 장치, 방법 및 컴퓨터 프로그램에 관한 것으로서, 보다 구체적으로는 복수의 사용자들 간에 게임을 진행하여 게임 결과를 기록할 때 블록 체인 네트워크를 사용하는 장치, 방법 및 컴퓨터 프로그램에 관한 것이다.
사용자들은 온라인상에서 스포츠 게임 등을 즐기는 경우에, 소수의 사용자들간에 게임을 진행하는 경우도 있지만, 특정 단체에 속한 사용자들이 다수의 사용자들간의 순위를 경쟁하면서 게임을 진행하는 경우도 있다. 또한, 복수의 사용자들로 이루어진 팀들 간에 토너먼트, 또는 리그전 형식으로 온라인 게임을 치르는 경우도 있다.
이와 같은 복수의 사용자들의 순위를 결정하는 게임에서, 게임을 진행하는 시스템상에 저장된 경기 정보가 사용자들에 의해 조작되지 않도록 보안을 강화할 필요성이 제기되고 있다.
블록 체인 네트워크를 사용하여 사용자들간의 경기 정보를 저장하고, 리그전의 순위를 결정함으로써 게임 진행의 신뢰성을 높일 수 있도록 하는 것을 목적으로 한다.
블록 체인 네트워크를 사용하여 사용자들간의 경기 정보를 저장하고, 이를 사용자들 사이에서 용이하게 공유할 수 있도록 하는 것을 목적으로 한다.
블록 체인 네트워크를 사용하여 사용자들간의 경기 정보를 저장하고 사용자들 간의 순위를 산출함으로써, 경기 종료 후에 사용자들에게 경기 결과에 대한 보상을 용이하게 할 수 있도록 하는 것을 목적으로 한다.
상술한 기술적 과제를 달성하기 위한 기술적 수단으로서, 개시된 복수의 사용자들 간에 게임을 진행하여 게임 결과를 기록하는 방법은 제1 사용자 및 제2 사용자를 포함하는 복수의 사용자들을 블록 체인 네트워크에 등록하는 단계; 제1 사용자 및 제2 사용자가 제1 게임 어플리케이션의 실행에 따라 게임을 수행하는 단계; 제1 게임 어플리케이션으로부터 제1 사용자와 제2 사용자 간의 게임 결과인 제1 경기 결과 정보를 획득하는 단계; 및 제1 경기 결과 정보에 기초하여 블록 체인 네트워크의 경기 히스토리 정보를 업데이트하는 단계를 포함할 수 있다.
일 실시예에 따른 방법은 체인 네트워크의 경기 히스토리 정보를 이용하여 리그전의 대진표를 업데이트하는 단계를 포함할 수 있다.
일 실시예에 따른 방법은 게임 수행 전에 블록 체인 네트워크에 등록된 복수의 사용자들에 대한 정보에 기초하여 등록된 복수의 사용자들을 복수개의 리그전에 배치하는 단계를 더 포함할 수 있다.
일 실시예에 따른 방법은 제1 경기 결과 정보 및 경기 히스토리 정보 중 적어도 하나에 기초하여 제1 사용자에게 게임에서 획득한 승점에 대응되는 암호화폐를 지급하는 단계를 더 포함할 수 있다.
일 실시예에 따른 블록체인을 이용하여, 제1 경기 결과 정보에 기초하여 경기 히스토리 정보를 업데이트하는 단계는 제1 경기 결과 정보의 검증을 받기 위해 블록 체인의 네트워크 상의 제1 노드로 블록체인을 구성하는 블록에 제1 경기 결과 정보의 기록을 요청하는 단계; 및 블록체인의 네트워크로부터 제1 경기 결과 정보가 검증되었음을 알리는 메시지를 수신함으로써, 제1 경기 결과 정보에 기초하여 경기 히스토리 정보를 업데이트하는 단계를 포함할 수 있다.
일 실시예에 따른 제1 노드로 제1 경기 결과 정보의 기록을 요청하는 단계는, 제1 경기 결과 정보를 암호화하고, 암호화된 제1 경기 결과 정보를 제1 노드로 전송하는 단계를 포함할 수 있다.
일 실시예에 따른 제1 경기 결과 정보를 제1 노드로 전송하는 단계는, 제1 경기 결과 정보를 제1 경기 결과 정보에 대한 고유의 데이터를 생성하는 해시함수에 적용하여, 제1 거래정보에 대응되는 제1 해시값을 생성하는 단계; 제1 사용자의 개인키로 제1 해시값을 암호화하여 제1 경기 결과 정보의 디지털 서명을 나타내는 제1 암호문을 생성하는 단계; 및 제1 암호문을 제1 경기 결과 정보와 함께 제1 노드로 전송하는 단계를 포함할 수 있다.
일 실시예에 따른 제1 경기 결과 정보에 기초하여 경기 히스토리 정보를 업데이트하는 단계는 블록 체인 내의 복수개의 노드에 제1 경기 결과 정보를 전달하는 단계를 포함할 수 있다.
일 실시예에 따른 제1 사용자와 제2 사용자 간의 게임 결과인 제1 경기 결과 정보를 획득하는 단계는 제1 경기 결과 정보에 대해 제1 사용자의 확인 및 제2 사용자의 확인을 수신하는 단계를 포함할 수 있다.
일 실시예에 따른 제1 경기 결과 정보는, 제1 사용자의 계정인 제1 계정의 주소 정보, 제2 사용자의 계정인 제2 계정의 주소 정보, 제1 사용자가 게임에서 획득한 승점, 제2 사용자가 게임에서 획득한 승점, 게임 플레이 시각 정보, 및 게임의 결과에 대해 동의하는지를 증명하는 정보 중 적어도 하나를 포함할 수 있다.
일 실시예에 따른 방법은 게임 결과를 요청하는 입력에 응답하여, 제1 경기 결과 정보 및 제1 경기 결과 정보에 기초하여 업데이트된 경기 히스토리 정보 중 적어도 하나를 표시하는 단계를 더 포함할 수 있다.
일 실시예에 따른 방법은 복수의 사용자들의 레벨에 따라 복수개의 리그를 구성하고, 리그에서 우승한 우승자에게 소정의 대가를 지급하기 위한 스마트 컨트랙트의 프로그램 코드를 블록 체인 네트워크에 저장하는 단계를 더 포함할 수 있다.
상술한 기술적 과제를 달성하기 위한 기술적 수단으로서, 개시된 복수의 사용자들 간에 게임을 진행하여 게임 결과를 기록하기 위한 장치는 통신부, 하나 이상의 인스트럭션을 저장하는 메모리; 및 메모리에 저장된 하나 이상의 인스트럭션을 실행하는 프로세서를 포함할 수 있다.
프로세서는, 하나 이상의 인스트럭션을 실행함으로써, 제1 사용자 및 제2 사용자를 포함하는 복수의 사용자들을 블록 체인 네트워크에 등록하고, 제1 사용자 및 제2 사용자가 제1 게임 어플리케이션의 실행에 따라 게임을 수행하고, 제1 게임 어플리케이션으로부터 제1 사용자와 제2 사용자 간의 게임 결과인 제1 경기 결과 정보를 획득하고, 제1 경기 결과 정보에 기초하여 블록 체인 네트워크의 경기 히스토리 정보를 업데이트하도록 제어할 수 있다.
상술한 기술적 과제를 달성하기 위한 기술적 수단으로서, 개시된 복수의 사용자들 간에 게임을 진행하여 게임 결과를 기록하기 위한 방법을 컴퓨터에서 실행시키기 위한 컴퓨터로 읽을 수 있는 기록매체에 기록된 프로그램으로 제공할 수 있다.
본 개시에 따라 블록 체인 네트워크를 사용하여 사용자들간의 경기 정보를 저장하고, 리그전의 순위를 결정함으로써 게임 진행의 신뢰성을 높일 수 있게 된다.
본 개시에 따라 블록 체인 네트워크를 사용하여 사용자들간의 경기 정보를 저장하고, 이를 사용자들 사이에서 용이하게 공유할 수 있게 된다.
본 개시에 따라 블록 체인 네트워크를 사용하여 사용자들간의 경기 정보를 저장하고 사용자들 간의 순위를 산출함으로써, 경기 종료 후에 사용자들에게 블록 체인 네트워크를 이용하여 경기 결과에 대한 보상을 용이하게 할 수 있게 된다.
본 개시는, 다음의 자세한 설명과 그에 수반되는 도면들의 결합으로 쉽게 이해될 수 있으며, 참조 번호(reference numerals)들은 구조적 구성요소(structural elements)를 의미한다.
도 1은 일 실시예에 따른 블록 체인 네트워크, 게임 서비스 제공 장치 및 적어도 하나의 하나의 사용자 디바이스를 포함하는 온라인 게임 제공 시스템을 도시한다.
도 2는 일 실시예에 따른 게임 서비스 제공 장치를 설명하기 위한 도면이다.
도 3은 일 실시예에 따른 사용자 디바이스의 세부적인 구성을 설명하기 위한 도면이다.
도 4는 일 실시예에 따른 게임 서비스를 제공하기 위한 방법의 순서도이다.
도 5a는 일 실시예에 따라 게임 서비스 제공 장치가 복수의 사용자들을 블록 체인 네트워크에 등록하는 것을 설명하기 위한 도면이다.
도 5b는 일 실시예에 따라 게임 서비스 제공 장치가 제1 경기 결과 정보를 획득하는 것을 설명하기 위한 도면이다.
도 6은 일 실시예에 따라 게임 서비스 제공 장치가 제1 경기 결과 정보에 기초하여 블록 체인 네트워크의 경기 히스토리 정보를 업데이트하는 것을 설명하기 위한 도면이다.
도 7은 일 실시예에 따른 게임 결과를 기록하기 위한 방법의 순서도이다.
도 8은 게임 서비스 제공 장치가 제1 경기 결과 정보에 대해 제1 사용자의 확인 및 제2 사용자의 확인을 수신하는 것을 설명하기 위한 도면이다.
도 9는 게임 서비스 제공 장치가 제1 경기 결과 정보에 대해 제1 사용자의 확인 및 제2 사용자의 확인을 수신하는 것을 설명하기 위한 도면이다.
도 10은 사용자에게 상기 게임에서 획득한 승점에 대응되는 암호화폐를 지급하는 것을 설명하기 위한 도면이다.
도 11은 일 실시예에 따라, 사용자 디바이스가 블록 체인의 네트워크 상의 노드인 경우를 설명하기 위한 도면이다.
도 12는 일 실시예에 따라, 블록 체인의 네트워크 상에서 유효한 트랜잭션을 블록 체인의 네트워크 상의 노드들로 전파하고, 블록 체인에 기록하는 과정을 설명하기 위한 도면이다.
도 13은 일 실시예에 따라, 전자 장치에서 디지털 서명된 트랜잭션을 블록 체인의 네트워크 상의 노드로 전송하는 과정을 설명하기 위한 도면이다.
도 14는 일 실시예에 따라, 블록 체인의 네트워크 상의 노드에서 트랜잭션의 유효성을 검증하는 과정을 설명하기 위한 도면이다.
도 15는 일 실시예에 따라, 블록 및 블록 체인의 구조를 설명하기 위한 블록도이다.
도 16은 일 실시예에 따라, 블록 체인의 네트워크 상의 노드에서 블록의 작업 증명 및 난스를 구하는 방법을 설명하기 위한 도면이다.
도 17은 일 실시예에 따라, 블록 체인에 트랜잭션을 기록함으로써, 트랜잭션의 일관성 및 보안성을 높일 수 있는 효과를 설명하기 위한 도면이다.
도 18은 사용자의 요청에 의해 게임 서비스 제공 장치가 경기 정보를 제공하는 것을 설명하기 위한 도면이다.
도 19는 사용자의 요청에 의해 게임 서비스 제공 장치가 경기 정보를 제공하는 것을 설명하기 위한 도면이다.
이하, 첨부된 도면들에 기재된 내용들을 참조하여 본 발명에 따른 예시적 실시예를 상세하게 설명한다. 또한, 첨부된 도면들에 기재된 내용들을 참조하여 본 발명의 실시예에 따른 전자 장치를 구성하고 사용하는 방법을 상세히 설명한다. 각 도면에서 제시된 동일한 참조번호 또는 부호는 실질적으로 동일한 기능을 수행하는 부품 또는 구성요소를 나타낸다.
제1, 제2 등과 같이 서수를 포함하는 용어는 다양한 구성 요소들을 설명하는데 사용될 수 있지만, 구성 요소들은 용어들에 의해 한정되지는 않는다. 용어들은 하나의 구성요소를 다른 구성요소로부터 구별하는 목적으로만 사용된다. 예를 들어, 본 발명의 권리 범위를 벗어나지 않으면서 제1 구성요소는 제2 구성요소로 명명될 수 있고, 유사하게 제2 구성요소도 제1 구성요소로 명명될 수 있다. 및/또는 이라는 용어는 복수의 관련된 항목들의 조합 또는 복수의 관련된 항목들 중의 어느 하나의 항목을 포함한다.
본 명세서에서 사용한 용어는 실시예를 설명하기 위해 사용된 것으로, 본 발명을 제한 및/또는 한정하려는 의도가 아니다. 단수의 표현은 문맥상 명백하게 다르게 뜻하지 않는 한, 복수의 표현을 포함한다. 본 출원서에서, 포함하다 또는 가지다 등의 용어는 명세서상에 기재된 특징, 숫자, 단계, 동작, 구성요소, 부품 또는 이들을 조합한 것이 존재함을 지정하려는 것이지, 하나 또는 그 이상의 다른 특징들이나 숫자, 단계, 동작, 구성요소, 부품 또는 이들을 조합한 것들의 존재 또는 부가 가능성을 미리 배제하지 않는 것으로 이해되어야 한다.
명세서 전체에서, 어떤 부분이 다른 부분과 연결되어 있다고 할 때, 이는 직접적으로 연결되어 있는 경우뿐 아니라, 그 중간에 다른 소자를 사이에 두고 전기적으로 연결되어 있는 경우도 포함한다. 또한 어떤 부분이 어떤 구성요소를 포함한다고 할 때, 이는 특별히 반대되는 기재가 없는 한 다른 구성요소를 제외하는 것이 아니라 다른 구성요소를 더 포함할 수 있는 것을 의미한다. 또한, 명세서에 기재된 "...부", "모듈" 등의 용어는 적어도 하나의 기능이나 동작을 처리하는 단위를 의미하며, 이는 하드웨어 또는 소프트웨어로 구현되거나 하드웨어와 소프트웨어의 결합으로 구현될 수 있다.
이하의 본 명세서에서, "게임 통계 정보"란 소정의 게임에 대한 소정의 기간 동안에 게임 내 데이터를 다양한 기준에 의해 분석해놓은 정보를 의미한다. 예를 들면, 게임 통계 정보는 게임 내의 사용자 정보를 분석한 것일 수 있다. 사용자 정보는 게임 접속 정보, 플레이 성적, 공격 포인트 정보, 성장 정보, 사용된 아이템 정보, 보유한 아이템 정보, 레벨 정보, 완료한 업적 정보, 달성한 퀘스트 정보, 숙련도 정보, 조작 능력 정보, 친구 정보 및 길드 정보 중 적어도 하나를 포함할 수 있다. 또한, 사용자가 보유한 캐릭터가 소속된 그룹, 개인기, 속력, 피해량, 체력, 공격 참여도, 수비 참여도, 누적 재화량, 유저의 누적 게임 시간, 사용한 아이템 종류 및 등급 등 많은 데이터를 소정의 기준에 따라 해석한 것일 수 있다.
이하의 본 명세서에서, "사용자"는 게이머를 의미할 수 있고, 또한, 사용자는 플레이하기 위한 게임을 제공하는 서비스 제공자, 게임 리그를 진행하는 사용자를 포함할 수도 있다. 물론 상기 예시에 제한되지 않는다.
본 명세서에서, "전자 지갑"은 전자 장치에 전자적인 방법으로 가치를 저장하여 실물 화폐의 교환없이 온라인 또는 오프라인에서 거래를 가능하게 하는 수단을 의미할 수 있다. 또한, "전자 지갑"은 전자상거래에서 사용되는 전자지불시스템의 일종으로, 전자 장치의 메모리나 가상 계좌에 화폐 가치를 저장하여 지갑처럼 사용하면서 전자상거래 시 대금을 결제할 수 있는 소프트웨어를 의미할 수 있다.
본 명세서에서, "암호화폐"는 암호화 방법을 사용하여 교환수단으로 가능하도록 고안된 디지털 화폐를 의미할 수 있다. 또한, "암호화폐"는 암호화 방법을 사용하여 거래의 안전을 확보하고, 추가적 단위의 생성을 통제하며, 자산의 이전을 인증할 수 있다.
본 명세서에서, "게임 캐시"는 게임에서 교환수단으로 가능하도록 고안된 디지털 화폐를 의미할 수 있다.
본 명세서에서, "블록체인"은 무결성을 확보하고 유지하기 위해 순서에 따라 연결된 블록들이 거래 정보를 암호화 기법과 보안기술을 이용해 협상하는 알고리즘으로 구성된 소프트웨어 요소를 활용하는 원장(ledger)의 분산 P2P (Peer to Peer)시스템을 의미할 수 있다. 여기서, 분산 P2P 시스템은 분산 시스템의 특수한 형태일 수 있다. 또한, P2P 시스템은 중앙 노드의 조정 없이 네크워크의 모든 노드들이 서로에게 자원(처리 능력, 저장 공간, 데이터 또는 네트워크 대역폭 등)을 제공할 수 있다. 또한, "블록체인"은 거래 정보를 기록한 원장을 특정 기관의 중앙 서버가 아닌 P2P 네트워크에 분산하여 네트워크 내의 노드들이 공동으로 기록하고 관리하는 분산원장(distributed ledger) 기술을 의미할 수 있다.
본 명세서에서, "전자 장치"는 전기 에너지를 공급 받아 동작하는 장치를 의미할 수 있다. 예를 들면, 전자 장치는 스마트폰, 태블릿 PC, PC, TV, 스마트 TV, 휴대폰, PDA(personal digital assistant), 랩톱, 또는 비모바일 컴퓨팅 장치 등일 수 있으나, 이에 제한되지 않는다.
본 명세서에서, "노드"는 블록체인의 네트워크 내에서 구성요소를 의미할 수 있고, "노드"와 동일한 의미로 "피어"가 사용될 수 있다. 예를 들면, 노드는 특수 목적 컴퓨터(Special-purpose Computer), 범용 컴퓨터(General-purpose Computer), 슈퍼 컴퓨터(Supercomputer), 대형 컴퓨터(Mainframe Computer), 개인용 컴퓨터(Personal Computer), 스마트폰, 태블릿 PC 등일 수 있으나, 이에 제한되지 않는다.
도 1은 일 실시예에 따른 블록체인 네트워크(100), 게임 서비스 제공 장치(200) 및 적어도 하나의 하나의 사용자 디바이스(300)를 포함하는 온라인 게임 제공 시스템(1)을 도시한다.
본 발명의 온라인 게임 제공 시스템(1)은 블록체인 네트워크(100), 게임 서비스 제공 장치(200) 및 적어도 하나의 하나의 사용자 디바이스(300)를 포함할 수 있다.
블록체인 네트워크(100)는 복수개의 노드들(10, 11, 12, 13 및 14)을 포함하고, 이들은 서로 연결되어 데이터를 분산하여 관리할 수 있다. 예를 들어, 블록체인 네트워크(100)는 게임 서비스 제공 장치(200)에서 서비스를 제공하기 위해 이용되는 데이터, 스마트 컨트랙트의 내용, 트랜잭션, 게임 결과, 사용자 정보 등을 저장할 수 있다. 게임 서비스 제공 장치(200) 및 사용자 디바이스(300)는 블록체인 네트워크(100)에 저장된 다양한 데이터를 요청하여 획득할 수 있다.
블록체인 네트워크(100)에 업로드되는 스마트 컨트랙트, 트랜잭션 등은 복수개의 노드들(10, 11, 12, 13, 및 14)이 연결되어 데이터를 저장되어 있기 때문에 쉽게 위조할 수 없다.
블록체인 네트워크(100)는 예를 들어, 복수의 사용자들의 레벨에 따라 복수개의 리그를 구성하고, 각각의 리그에서 우승한 우승자에게 소정의 상금을 지급하는 스마트 컨트랙트의 프로그램 코드를 저장할 수 있다. 스마트 컨트랙트는 예를 들어, 게임 종료시 가장 승점이 높은 사용자 순서대로, 게임 주최자로부터 각각 100, 50, 30 캐시를 지급받는 것일 수 있다.
블록체인 네트워크(100)는 예를 들어, 리그에서 사용자들 간의 게임 결과에 대한 정보를 포함하는 트랜잭션을 저장할 수 있다.
블록체인 네트워크(100)는 프라이빗 블록체인으로 구현될 수도 있고, 퍼블릭 블록체인으로 구현될 수도 있다. 프라이빗 블록체인은 허가를 받은 미리 정해진 노드들만이 참여하는 블록체인이기 때문에, 속도가 빠르고, 위변조의 위험도가 낮다는 장점이 있다.
일 실시예에 따르면, 게임 서비스 제공 장치(200)는, 개인용 컴퓨터, 클라우드 서버등을 포함할 수 있으며, 블록체인의 네트워크 내의 일 구성요소에 해당할 수도 있다.
게임 서비스 제공 장치(200)는 네트워크 망을 통해 온라인 게임에 관한 서비스를 제공할 수 있다. 게임 서비스 제공 장치(200)는 적어도 하나의 사용자 디바이스(300)로 동시에 온라인 게임을 플레이한 결과를 기록하여 순위를 결정하거나, 게임 결과에 따른 보상을 지급하는 기능을 제공할 수 있다. 온라인 게임은 다수의 사용자들이 네트워크에 접속하여 즐기는 게임을 의미할 수 있다.
일 실시예에 따르면, 온라인 게임 제공 시스템(1)은 게임 서비스 제공자의 서버 및 별도의 데이터베이스를 포함할 수도 있다. 일 실시예에 따른, 데이터베이스는 게임을 플레이하는 사용자에 대한 정보를 저장하여 관리할 수 있다. 일 실시예에 따른 데이터베이스는 사용자 정보 예를 들어, 게임 접속 정보, 플레이 성적, 공격 포인트 정보, 사용된 아이템 정보, 보유한 아이템 정보, 레벨 정보, 친구 정보 및 길드 정보 중 적어도 하나를 저장할 수 있다. 일 실시예에 따르면, 별도의 데이터베이스는 블록체인 네트워크(100)에 포함되는 것일 수 있다.
적어도 하나의 사용자 디바이스(300)는 게임의 설치 및 구동이 가능한 전자 기기(device)로서, 게임 서비스 제공 장치(200)와 네트워크를 통해 통신 가능한 기기일 수 있다. 적어도 하나의 사용자 디바이스(300)는 퍼스널 컴퓨터(Personal Computer), 태블릿(Tablet), 노트북, 스마트 폰, TV 뿐만 아니라, PDA(Personal Digital Assistants), PMP(Portable Multimedia Player), 네비게이션, MP3 플레이어, 디지털 카메라, 냉장고, 세탁기, 청소기 등의 다양한 전자 디바이스를 포함할 수 있다. 또한, 적어도 하나의 사용자 디바이스(300)는 이에 제한되지 않고, 통신 기능 및 데이터 프로세싱 기능을 구비한 웨어러블 디바이스를 포함할 수 있다.
적어도 하나의 사용자 디바이스(300)는 네트워크 망을 이용하여 게임 서비스 제공 장치(200)를 통해 게임 서비스를 제공받을 수 있다. 네트워크 망을 이용하여 게임 서비스를 제공받는다는 의미는 다양한 통신 방식을 통해 서버와 단말 간의 통신이 수행될 수 있다는 의미를 포함할 수 있다.
일 실시예에 따르면 네트워크란 소정의 통신 방식을 이용하여 설립(또는 형성)된 연결을 의미하며, 단말과 단말간의 또는 단말과 서버간의 데이터를 송수신하는 통신망을 의미할 수 있다.
통신 방식은 소정의 통신 규격, 소정의 주파수 대역, 소정의 프로토콜 또는 소정의 채널을 통한 통신 등의 통신 방식을 포함할 수 있다. 예를 들면, 블루투스, BLE, Wi-Fi, Zigbee, 3G, LTE, 초음파를 통한 통신 방식 등을 포함할 수 있으며, 근거리 통신, 원거리 통신, 무선 통신 및 유선 통신을 모두 포함할 수 있다. 물론 상기 예시에 제한되지 않는다.
일 실시예에 따르면 근거리 통신 방식이라 함은, 통신을 수행하는 디바이스(단말 또는 서버)가 소정의 범위 내에 있을 때에만 통신이 가능한 통신 방식을 의미할 수 있으며, 예를 들어, 블루투스, NFC 등을 포함할 수 있다. 원거리 통신 방식이라 함은, 통신을 수행하는 디바이스가 거리와 관계 없이 통신이 가능한 통신 방식을 의미할 수 있다. 예를 들면, 원거리 통신 방식은 AP와 같은 중계기를 통해 통신을 수행하는 두 디바이스가 소정의 거리 이상일 때에도 통신할 수 있는 방식을 의미할 수 있으며, SMS, 전화와 같은 셀룰러 네트워크(3G, LTE)를 이용한 통신 방식을 포함할 수 있다. 물론 상기 예시에 제한되지 않는다.
일 실시예에 따르면, 온라인 게임은 스포츠, MMORPG, AOS, FPS, TCG, CCG 등 다양한 장르를 포함할 수 있다. 또한 온라인 게임은 사용자와 사용자간의 대결 방식의 게임일 수도 있고, 사용자와 컴퓨터(예를 들면, 인공지능)과의 대결 방식일 수도 있다. 물론 상기 예시에 제한되지 않으며 온라인 게임의 형태에는 제한이 없다.
도 2는 일 실시예에 따른 게임 서비스 제공 장치(200)를 설명하기 위한 도면이다.
게임 서비스 제공 장치(200)는 복수의 사용자들이 함께 온라인 상에서 게임을 플레이하는 기능을 지원하는 서버 장치일 수 있다. 사용자는 게임 서비스 제공 장치(200)를 통하여 또는 직접 게임 결과를 블록체인 네트워크(100)로 제공할 수 있다.
또한, 게임 서비스 제공 장치(200)는 복수의 사용자들이 함께 게임을 플레이하고 그 결과를 게임 결과를 기록하여 순위를 결정하거나, 게임 결과에 따른 보상을 지급하도록 하는 프로그램 또는 어플리케이션을 실행시키기 위한 블록체인 네트워크(100) 상의 하나의 노드에 대응될 수도 있다.
게임 서비스 제공 장치(200)는, 메모리(210), 프로세서(220) 및 통신부(230)를 포함할 수 있다.
일 실시예에 따른 메모리(210)는 게임 서비스 제공 장치(200)를 구동하고 제어하기 위한 다양한 데이터, 프로그램 또는 어플리케이션을 저장할 수 있다. 메모리(210)에 저장되는 프로그램은 하나 이상의 인스트럭션들을 포함할 수 있다. 메모리(210)에 저장된 프로그램(하나 이상의 인스트럭션들) 또는 어플리케이션은 프로세서(220)에 의해 실행될 수 있다.
프로세서(220)는 게임 서비스 제공 장치(200)의 전반적인 동작을 제어한다. 예를 들어, 프로세서(220)는 게임 서비스 제공 장치(200)의 메모리(210)에 저장된 프로그램을 실행함으로써, 게임 서비스 제공 장치(200)의 동작을 제어할 수 있다.
프로세서(220)는 게임 결과를 기록하여 순위를 결정하거나, 게임 결과에 따른 보상을 지급하도록 하는 기능을 수행할 수 있다. 여기서, 프로세서(220)에서 수행하는 기능은 게임 서비스 제공 장치(200) 내에 저장된 프로그램 코드(program code)를 실행하는 것에 의해 수행될 수 있다. 게임 서비스 제공 장치(200) 내에 저장된 프로그램 코드는 제조사에 의해 업데이트될 수 있다.
일 실시예에 따른 프로세서(220)는 메모리(210)에 저장되는 하나 이상의 프로그램들 또는 인스트럭션들을 실행할 수 있다. 프로세서(220)는 싱글 코어, 듀얼 코어, 트리플 코어, 쿼드 코어 및 그 배수의 코어를 포함할 수 있다. 또한, 프로세서(220)는 복수의 프로세서를 포함할 수 있다.
일 실시예에 따른 프로세서(220)는 하나 이상의 인스트럭션을 실행함으로써, 제1 사용자 및 제2 사용자를 포함하는 복수의 사용자들을 블록 체인 네트워크에 등록할 수 있다.
또한, 일 실시예에 따른 프로세서(220)는 제1 사용자 및 제2 사용자가 제1 게임 어플리케이션의 실행에 따라 게임을 수행하고, 제1 게임 어플리케이션으로부터 제1 사용자와 제2 사용자 간의 게임 결과인 제1 경기 결과 정보를 획득할 수 있다.
일 실시예에 따른 프로세서(220)는 제1 경기 결과 정보에 기초하여 블록 체인 네트워크의 경기 히스토리 정보를 업데이트하도록 제어할 수 있다.
일 실시예에 따른 프로세서(220)는 블록 체인 네트워크의 경기 히스토리 정보를 이용하여, 리그전의 대진표를 업데이트하도록 제어할 수 있다.
일 실시예에 따른 프로세서(220)는 게임 수행 전에 블록 체인 네트워크에 등록된 복수의 사용자들에 대한 정보에 기초하여 등록된 복수의 사용자들을 복수개의 리그전에 배치하도록 제어할 수 있다.
일 실시예에 따른 프로세서(220)는 제1 경기 결과 정보 및 경기 히스토리 정보 중 적어도 하나에 기초하여 제1 사용자에게 게임에서 획득한 승점에 대응되는 암호화폐를 지급할 수 있다.
일 실시예에 따른 프로세서(220)는 제1 경기 결과 정보의 검증을 받기 위해 블록체인의 네트워크 상의 제1 노드로 블록체인을 구성하는 블록에 제1 경기 결과 정보의 기록을 요청하고, 블록체인의 네트워크로부터 제1 경기 결과 정보가 검증되었음을 알리는 메시지를 수신함으로써, 제1 경기 결과 정보에 기초하여 경기 히스토리 정보를 업데이트하도록 제어할 수 있다.
일 실시예에 따른 프로세서(220)는 제1 경기 결과 정보를 암호화하고, 암호화된 제1 경기 결과 정보를 제1 노드로 전송할 수 있다.
일 실시예에 따른 프로세서(220)는 제1 경기 결과 정보를 제1 경기 결과 정보에 대한 고유의 데이터를 생성하는 해시함수에 적용하여, 제1 거래정보에 대응되는 제1 해시값을 생성할 수 있다. 또한, 프로세서(220)는 제1 사용자의 개인키로 제1 해시값을 암호화하여 제1 경기 결과 정보의 디지털 서명을 나타내는 제1 암호문을 생성하고, 제1 암호문을 제1 경기 결과 정보와 함께 제1 노드로 전송하도록 제어할 수 있다.
일 실시예에 따른 프로세서(220)는 블록 체인 내의 복수개의 노드에 제1 경기 결과 정보를 전달할 수 있다.
일 실시예에 따른 프로세서(220)는 제1 사용자와 제2 사용자 간의 게임 결과인 제1 경기 결과 정보를 획득할 때에, 제1 경기 결과 정보에 대해 제1 사용자의 확인 및 제2 사용자의 확인을 수신하도록 제어할 수 있다.
제1 경기 결과 정보는, 제1 사용자의 계정인 제1 계정의 주소 정보, 제2 사용자의 계정인 제2 계정의 주소 정보, 제1 사용자가 게임에서 획득한 승점, 제2 사용자가 게임에서 획득한 승점, 게임 플레이 시각 정보, 및 게임의 결과에 대해 동의하는지를 증명하는 정보 중 적어도 하나를 포함할 수 있다.
일 실시예에 따른 프로세서(220)는 게임 결과를 요청하는 입력에 응답하여, 제1 경기 결과 정보 및 제1 경기 결과 정보에 기초하여 업데이트된 경기 히스토리 정보 중 적어도 하나를 표시하도록 제어할 수 있다.
일 실시예에 따른 프로세서(220)는 제1 경기 결과 정보 및 제1 경기 결과 정보에 기초하여 누적된 경기 히스토리 정보에 기초하여 제1 사용자의 계정인 제1 계정 및 제2 사용자의 계정인 제2 계정을 업데이트하도록 제어할 수 있다.
통신부(230)는 프로세서(220)의 제어에 의해 네트워크를 통해 사용자 디바이스(도 1의 300) 및 데이터베이스와 데이터 또는 신호를 송수신할 수 있다.
통신부(230)는 무선 통신 및 유선 통신 중 적어도 하나를 이용하여 사용자 디바이스(300)와 통신할 수 있다. 일 실시예에 따르면 통신부(230)는 프로세서(220)의 제어에 의해 게임 플레이 중에 결정된 컨텐츠를 사용자에게 제공하기 위해 사용자 디바이스(300)와 통신할 수 있다. 또한, 통신부(230)는 프로세서(220)의 제어에 의해 데이터베이스(도시 되지 않음)로부터 게임을 플레이하는 사용자의 사용자 정보를 수신할 수 있다. 통신부(230)는 프로세서(220)의 제어에 의해, 사용자 디바이스(300)로부터 게임을 플레이하는 사용자의 사용자 정보를 수신할 수도 있다.
통신부(230)는 예를 들어, 프로세서(220)의 제어에 의해, 게임을 플레이 하는 사용자 디바이스(300)로, 게임 진행 상황, 게임 결과 등에 대한 다양한 정보를 전달할 수 있다. 또한, 통신부(230)는 프로세서(220)의 제어에 의해, 제1 사용자와 상기 제2 사용자 간의 게임 결과인 제1 경기 결과 정보를 블록체인 네트워크(100)로 송신할 수 있다.
통신부(230)는 네트워크 인터페이스 카드(network interface card), 네트워크 인터페이스 칩(network interface chip) 및 네트워킹 인터페이스 포트(network interface port) 등과 같은 하드웨어 모듈(hardware module)일 수 있고, 네트워크 디바이스 드라이버(network device driver) 또는 네트워킹 프로그램(networking program)과 같은 소프트웨어 모듈(software module)일 수 있다.
게임 서비스 제공 장치(200)는 도 2에 도시된 구성요소들보다 더 많은 구성요소들을 포함할 수 있다.
도 3은 일 실시예에 따른 사용자 디바이스(300)의 세부적인 구성을 설명하기 위한 도면이다.
또한, 사용자 디바이스(300)는 게임 서비스 제공자 서버의 제어에 의해 사용자가 게임을 플레이하기 위한 디바이스일 수 있다.
사용자 디바이스(300)는 메모리(310), 프로세서(320), 사용자 인터페이스(330) 및 통신부(340)를 포함할 수 있다.
일 실시예에 따라, 사용자 디바이스(300)는 사용자의 PC를 포함할 수 있다. 또한, 사용자 디바이스(300)는 사용자의 PC에 제한되지 않고, 다른 장소(예를 들어, PC방)에 있는 PC, 사용자의 모바일 디바이스(스마트폰, 태블릿, 웨어러블 디바이스 등) 등을 포함할 수 있다.
메모리(310)는 컴퓨터가 판독 가능한 기록 매체로서, RAM(random access memory), ROM(read only memory) 및 디스크 드라이브와 같은 비소멸성 대용량 기록장치(permanent mass storage device)를 포함할 수 있다. 또한, 메모리(310)에는 운영체제와 적어도 하나의 프로그램 코드(예를 들어, 사용자 디바이스에서 구동되는 게임 프로그램을 구동하기 위한 코드)가 저장될 수 있다. 이러한 소프트웨어 구성요소들은 드라이브 메커니즘(drive mechanism)을 이용하여 메모리(310)와는 별도의 컴퓨터가 판독 가능한 기록 매체로부터 로딩될 수 있다. 이러한 별도의 컴퓨터가 판독 가능한 기록 매체는 DVD/CD-ROM 드라이브, 메모리 카드 등의 컴퓨터가 판독 가능한 기록 매체를 포함할 수 있다. 다른 실시예에서 소프트웨어 구성요소들은 컴퓨터가 판독 가능한 기록 매체가 아닌 통신부(340)를 통해 메모리(310)에 로딩될 수도 있다. 예를 들어, 적어도 하나의 프로그램은 개발자들 또는 게임의 설치 파일 또는 패치 파일을 배포하는 게임 서비스 제공자 서버(도 1의 200 참조)에서 제공하는 파일들에 의해 설치되는 프로그램에 기반하여 메모리(310)에 로딩될 수 있다.
일 실시예에 따른 프로세서(320)는 메모리(310)에 저장되는 하나 이상의 프로그램들 또는 통신부(340)를 통해 제공되는 명령들을 실행할 수 있다. 프로세서(320)는 싱글 코어, 듀얼 코어, 트리플 코어, 쿼드 코어 및 그 배수의 코어를 포함할 수 있다. 또한, 프로세서(320)는 복수의 프로세서를 포함할 수 있다.
일 실시예에 따른 사용자 인터페이스(330)는 사용자 입력을 수신할 수 있다. 예를 들면, 사용자 인터페이스(330)는 보안 해제를 요청하는 사용자 입력을 수신할 수 있다.
사용자 인터페이스(330)는 키 패드(key pad), 돔 스위치 (dome switch), 터치 패드(접촉식 정전 용량 방식, 압력식 저항막 방식, 적외선 감지 방식, 표면 초음파 전도 방식, 적분식 장력 측정 방식, 피에조 효과 방식 등), 조그 휠, 조그 스위치 등이 있을 수 있으나 이에 한정되는 것은 아니다.
통신부(340)는 네트워크를 통해 사용자 디바이스(300)와 게임 서비스 제공자 서버(도 1의 200 참조)가 서로 통신하기 위한 기능을 제공할 수 있다. 예를 들어, 사용자 디바이스(300)의 프로세서(320)가 메모리(310)와 같은 기록 장치에 저장된 프로그램 코드에 따라 생성한 요청이 통신부(340)의 제어에 따라 게임 서비스 제공 장치(200)로 전달될 수 있다. 또한, 게임 서비스 제공 장치(200)에서 제공되는 제어 신호나 명령, 컨텐츠, 파일 등이 사용자 디바이스(300)의 통신부(340)를 통해 사용자 디바이스(300)로 수신될 수 있다. 예를 들어 통신부(340)를 통해 게임 서비스 제공 장치(200)의 제어 신호나 명령 등은 프로세서(320)나 메모리(310)로 전달될 수 있고, 컨텐츠나 파일 등은 사용자 디바이스(300)의 별도의 컴퓨터가 판독 가능한 기록 매체로 로딩될 수 있다.
사용자 디바이스(300)는 도 3에 도시된 구성요소들보다 더 많은 구성요소들을 포함할 수도 있다. 예를 들어, 사용자 디바이스(300)는 디스플레이(미도시)를 더 포함할 수 있다. 디스플레이는 액정 디스플레이(liquid crystal display), 박막 트랜지스터 액정 디스플레이(thin film transistor-liquid crystal display), 유기 발광 다이오드(organic light-emitting diode), 플렉시블 디스플레이(flexible display), 3차원 디스플레이(3D display), 전기영동 디스플레이(electrophoretic display) 중에서 적어도 하나를 포함할 수 있다. 디스플레이와 터치패드가 레이어 구조를 이루어 터치 스크린으로 구성되는 경우, 디스플레이는 출력 장치 이외에 입력 장치로도 사용될 수 있다.
도 4는 일 실시예에 따른 게임 결과를 기록하기 위한 방법의 순서도이다.
도 4의 게임 결과를 기록하기 위한 방법은 개시된 복수의 사용자들 간에 게임을 진행하여 게임 결과를 기록하기 위한 방법일 수 있다. 또한, 도 4에 도시된 방법은 도 2의 게임 서비스 제공 장치(200)에서 수행될 수 있다.
단계 S410에서, 게임 서비스 제공 장치(200)는 제1 사용자 및 제2 사용자를 포함하는 복수의 사용자들을 블록 체인 네트워크에 등록하도록 제어할 수 있다(S410). 단계 S410은 게임 서비스 제공 장치(200)의 제어가 아닌 사용자 디바이스(300) 단독으로도 이루어질 수 있다.
사용자들을 블록 체인 네트워크에 등록하는 것은 블록 체인 네트워크 상에 사용자의 계정을 등록하는 것을 의미할 수 있다. 또한, 제1 게임 어플리케이션에 대한 사용자들의 계정 정보 중 적어도 일부를 블록 체인 네트워크에 등록하는 것을 포함할 수 있다.
단계 S420에서, 게임 서비스 제공 장치(200)는 제1 사용자 및 제2 사용자가 제1 게임 어플리케이션의 실행에 따라 게임을 수행하도록 제어할 수 있다(S420).
여기서, 제1 사용자 및 제2 사용자는 한 명의 사용자일 수도 있고, 복수의 사용자들이 하나의 팀을 이룬 복수의 사용자 그룹일 수도 있다.
예를 들어, 게임 서비스 제공 장치(200)는 게임 수행 전에 블록 체인 네트워크에 등록된 복수의 사용자들에 대한 정보에 기초하여 등록된 복수의 사용자들을 리그전에 배치할 수 있다.
예를 들어, 게임 서비스 제공 장치(200)는 복수의 사용자들의 정보에 기초하여 복수의 사용자들 중 레벨이 높은 사용자들 순서대로 미리 정해진 인원의 사용자들을 제1 리그에 배치할 수 있다. 또한, 게임 서비스 제공 장치(200)는 복수의 사용자들의 정보에 기초하여 복수의 사용자들 중 제1 리그에 배치된 사용자들을 제외하고 나머지 중에서, 레벨이 높은 사용자들 순서대로 미리 정해진 인원의 사용자들을 제2 리그에 배치할 수 있다. 게임 서비스 제공 장치(200)는 블록 체인 네트워크에 등록된 복수의 사용자들 중에서 일부를 리그에 배치하고, 다른 일부를 리그에 배치하지 않을 수도 있다.
게임 서비스 제공 장치(200)는 블록 체인 네트워크에 등록된 복수의 사용자들에 대한 대진표를 생성하고, 이에 따라 복수의 사용자들이 대결 게임을 수행하고, 게임 결과에 대한 정보를 실시간으로 저장하도록 할 수 있다.
또한, 게임 서비스 제공 장치(200)는 복수의 사용자들 사이의 대결 게임 또는 컴퓨터(예를 들면, 인공지능)과 사용자의 대결 게임을 수행하도록 제어할 수 있다.
다른 실시예로, 게임 서비스 제공 장치(200)는 복수의 사용자들 사이의 대결 게임이 아닌 개인 전을 수행하도록 제어할 수도 있다.
단계 S430에서, 게임 서비스 제공 장치(200)는 제1 게임 어플리케이션으로부터 제1 사용자와 상기 제2 사용자 간의 게임 결과에 대한 정보인 제1 경기 결과 정보를 획득할 수 있다(S430).
일 실시예에 따른 제1 경기 결과 정보는, 제1 사용자의 계정인 제1 계정의 주소 정보, 제2 사용자의 계정인 제2 계정의 주소 정보, 제1 사용자가 게임에서 획득한 승점, 제2 사용자가 게임에서 획득한 승점, 제1 사용자 및 제기 게임 플레이 시각 정보, 및 게임의 결과에 대해 동의하는지를 증명하는 정보 중 적어도 하나를 포함할 수 있다.
단계 S440에서, 게임 서비스 제공 장치(200)는 제1 경기 결과 정보에 기초하여 블록 체인 네트워크의 경기 히스토리 정보를 업데이트할 수 있다(S440).
경기 히스토리 정보는 블록 체인에 등록된 복수의 사용자들의 리스트, 복수의 사용자들 별로 게임에서 획득한 승점, 복수의 사용자들의 경기 시간과 경기 내역, 복수의 사용자들이 배치된 리그의 이름 등을 저장할 수 있다. 경기 히스토리 정보는 현재 진행 중인 리그전의 경기 상황을 나타내는 리그전의 대진표를 저장할 수 있다.
또한, 게임 서비스 제공 장치(200)는 제1 경기 결과 정보에 기초하여 리그전의 대진표를 업데이트할 수 있다. 리그전의 대진표는 복수의 사용자들이 각자의 레벨에 맞도록 배치되어 있고, 현재 복수 사용자들의 승패를 반영하여 실시간으로 업데이트 될 수 있다.
도 5a는 일 실시예에 따라 게임 서비스 제공 장치(200)가 복수의 사용자들을 블록 체인 네트워크에 등록하는 것을 설명하기 위한 도면이다.
일 실시예에 따르면, 게임 서비스 제공 장치(200)는 복수의 사용자들 간에 수행하기 위한 게임 리그를 개최하기 위한 프로그램 또는 적어도 하나의 인스트럭션을 블록 체인 네트워크(100)에 등록하도록 제어할 수 있다.
게임 서비스 제공 장치(200)는, 개인용 컴퓨터, 클라우드 서버등을 포함할 수 있으며, 블록체인의 네트워크 내(100)의 일 구성요소에 해당할 수도 있다.
한편, 블록 체인 네트워크에 복수의 사용자들을 등록하는 것은 게임 서비스 제공 장치(200)의 제어가 아닌 사용자 디바이스(300)의 입력에 기초하여 이루어질 수 있다.
일 실시예에 따르면, 게임 서비스 제공 장치(200)는 미리 정해진 언어를 사용하여 게임 리그를 개최하기 위한 프로그램에 대응되는 코드를 생성하여 블록 체인 네트워크(100)에 업로드할 수 있다.
게임 서비스 제공 장치(200)는 복수의 사용자들에 대한 정보를 블록 체인 네트워크(100)에 저장하기 위해 사용자들의 정보를 사용자 디바이스(300)로부터 수신할 수 있다. 게임 서비스 제공 장치(200)는 복수의 사용자들에 대한 정보를 블록 체인 네트워크(100)에 저장하기 위해 외부 데이터베이스로부터 사용자들의 정보를 수신할 수도 있다.
게임 서비스 제공 장치(200)는 복수의 사용자들에 대한 정보를 블록 체인 네트워크(100) 상에 저장할 때에 있어서, 복수의 사용자들에 대한 정보가 위조된 데이터가 아닌지 여부를 확인하기 위해 작업증명(Proof of Work)이라는 알고리즘을 사용할 수도 있다.
게임 서비스 제공 장치(200)는 복수의 사용자들에 대한 정보를 블록 체인 네트워크(100) 상의 경기 히스토리 정보(510)에 저장할 수 있다.
게임 서비스 제공 장치(200)는 사용자 정보를 제공 받기 위한 유저 인터페이스(501)를 사용자 디바이스(300)로 제공하여, 사용자 입력을 통해 사용자 정보를 제공 받을 수도 있다.
도 5b는 일 실시예에 따라 게임 서비스 제공 장치(200)가 제1 경기 결과 정보를 획득하는 것을 설명하기 위한 도면이다.
일 실시예에 따르면 게임 서비스 제공 장치(200)가 복수의 사용자들이 제1 게임 어플리케이션의 실행에 따라 게임을 수행한 후, 제1 게임 어플리케이션으로부터 제1 경기 결과 정보를 획득할 수 있다.
도 5b는 복수의 사용자들이 제1 게임 어플리케이션의 실행에 따라 게임을 수행하고 그에 따른 결과를 나타내는 유저 인터페이스(511)를 도시한다.
게임 서비스 제공 장치(200)는 미리 결정된 리그전의 대진표에 기초하여 제1 사용자 및 제2 사용자가 제1 게임 어플리케이션의 실행에 따라 게임을 수행하도록 제어할 수 있다. 게임 서비스 제공 장치(200)는 제1 게임 어플리케이션으로부터 제1 사용자와 제2 사용자 간의 게임 결과인 제1 경기 결과 정보를 수신할 수 있다. 게임 서비스 제공 장치(200)는 제1 사용자와 제2 사용자로부터 경기 내역을 확인을 받은 뒤, 제1 경기 결과 정보를 저장할 수도 있다.
본 명세서에서, 게임 서비스 제공 장치(200)에 의해 수행되는 것으로 기재된 것은, 사용자 디바이스(300)에서 수행될 수도 있다. 또한 게임 서비스 제공 장치(200)가 블록 체인 네트워크(100)에 포함되는 경우, 게임 서비스 제공 장치(200)에 의해 수행되는 것으로 기재된 것은, 블록체인 네트워크(100) 에서 수행될 수 있다.
도 6은 일 실시예에 따라 게임 서비스 제공 장치(200)가 제1 경기 결과 정보에 기초하여 블록 체인 네트워크의 경기 히스토리 정보를 업데이트하는 것을 설명하기 위한 도면이다.
경기 히스토리 정보(620)는 전체 경기 내역 정보(621), 블록 체인에 등록된 복수의 사용자들의 리스트(623)를 포함할 수 있다. 또한, 경기 히스토리 정보(620)는 현재 진행 중인 리그전의 경기 상황을 나타내는 리그전의 대진표(625)를 저장할 수 있다.
전체 경기 내역 정보(621)는 복수의 사용자들의 블록 체인 네트워크(100)에 등록된 이후로, 누적된 복수의 사용자들이 제1 경기 결과 정보를 저장할 수 있다. 예를 들어, 제1 경기 결과 정보는, 각 게임이 종료되면 생성되는 정보이며, 배치된 리그의 이름(From), 복수의 사용자들의 이름(To), 트랜잭션의 타입(Txn Type), 승점(Amount), 경기 시간(Time stamp) 등을 포함할 수 있다. 전체 경기 내역 정보(621)는 제1 경기 결과 정보를 누적하여 저장할 수 있다.
복수의 사용자들의 리스트(623)는 복수의 사용자들 별로 게임에서 획득한 승점과 복수의 사용자들의 순위를 포함할 수 있다.
리그전의 대진표(625)는 복수의 사용자들이 각자의 레벨에 맞도록 배치되어 있고, 현재 복수 사용자들의 승패를 반영하여 실시간으로 업데이트 될 수 있다. 리그전의 대진표(625)는 도 6에서는 제1 리그 대진표를 포함하는 것으로 도시되어 있으나, 복수의 리그에 대한 대진표를 포함할 수 있다.
게임 서비스 제공 장치(200)는 획득되는 제1 경기 결과 정보에 기초하여, 실시간으로 전체 경기 내역 정보(621), 블록 체인에 등록된 복수의 사용자들의 리스트(623) 및 리그전의 대진표(625) 각각을 업데이트할 수 있다.
도 7은 일 실시예에 따른 게임 결과를 기록하기 위한 방법의 순서도이다.
도 7의 게임 결과를 기록하기 위한 방법은 개시된 복수의 사용자들 간에 게임을 진행하여 게임 결과를 기록하기 위한 방법일 수 있다. 또한, 도 7에 도시된 방법은 도 2의 게임 서비스 제공 장치(200)에서 수행될 수 있다.
단계 S710에서, 게임 서비스 제공 장치(200)는 제1 사용자 및 제2 사용자가 제1 게임 어플리케이션의 실행에 따라 게임을 수행하도록 제어할 수 있다(S710).
단계 S720에서, 게임 서비스 제공 장치(200)는 제1 게임 어플리케이션으로부터 제1 사용자와 제2 사용자 간의 게임 결과에 대한 정보인 제1 경기 결과 정보를 획득할 수 있다(S720).
단계 S730에서, 게임 서비스 제공 장치(200)는 제1 경기 결과 정보에 대해 제1 사용자의 확인 및 제2 사용자의 확인을 수신할 수 있다(S730).
제1 경기 결과 정보에 대한 확인을 수신하는 것은 제1 경기 결과 정보에 대해 1차로 사용자의 확인에 의해 유효성을 1차적으로 검증하는 과정일 수 있다.
단계 S740에서, 게임 서비스 제공 장치(200)는 제1 경기 결과 정보가 유효한지 여부를 판단할 수 있다(S740). 블록 체인 네트워크(100)의 노드들은 제1 경기 결과 정보가 유효한지 판단하고, 유효한 제1 경기 결과 정보의 데이터와 블록 헤더만으로 구성된 유효한 블록이 블록체인에 연결될 수 있도록 할 수 있다. 예를 들어, 블록 체인 네트워크(100)의 노드들은 블록에 대한 작업 증명을 수행하여, 유효한 블록을 생성할 수 있다.
단계 S750에서, 게임 서비스 제공 장치(200)는 단계 S740에서 제1 경기 결과 정보의 유효성이 검증된 경우, 제1 경기 결과 정보에 기초하여 블록 체인 네트워크의 경기 히스토리 정보를 업데이트 할 수 있다(S750).
게임 서비스 제공 장치(200)는 다시 단계 S710로 돌아가 다른 사용자들이 제1 게임 어플리케이션의 실행에 따라 게임을 수행하도록 제어할 수 있다.
도 8은 게임 서비스 제공 장치가 제1 경기 결과 정보에 대해 제1 사용자의 확인 및 제2 사용자의 확인을 수신하는 것을 설명하기 위한 도면이다.
제1 사용자 및 제2 사용자 사이의 경기가 종료된 경우, 게임 서비스 제공 장치(200)는 제1 사용자에게 경기 내역을 표시해주는 유저 인터페이스(810) 및 제2 사용자에게 경기 내역을 표시해주는 유저 인터페이스(820)를 디스플레이할 수 있다.
게임 서비스 제공 장치(200)는 제1 사용자 및 제2 사용자 각각으로부터 경기내역 확인(801) 입력을 수신할 수 있다. 게임 서비스 제공 장치(200)는, 제1 사용자 및 제2 사용자로부터 경기내역에 대한 확인을 받은 뒤, 제1 경기 결과 정보를 블록 체인 네트워크(100)에 업로드할 수 있다.
도 9는 게임 서비스 제공 장치가 제1 경기 결과 정보에 대해 제1 사용자의 확인 및 제2 사용자의 확인을 수신하는 것을 설명하기 위한 도면이다.
도 9를 참고하면, 게임 서비스 제공 장치(200)는 복수의 사용자들로 구성된 제1 사용자 그룹 및 제2 사용자 그룹 간에 제1 게임 어플리케이션의 실행에 따라 게임을 수행하도록 제어할 수 있다. 게임 서비스 제공 장치(200)는 제1 사용자 그룹 및 제2 사용자 그룹에 포함된 미리 정해진 수의 사용자들로부터 경기내역 확인(901) 입력을 수신할 수 있다. 예를 들어, 제1 사용자 그룹에 포함된 80% 이상의 경기내역 확인(901) 입력 및 제2 사용자 그룹에 포함된 80% 이상의 경기내역 확인(901) 입력을 수신한 경우, 제1 경기 결과 정보를 블록 체인 네트워크(100)에 업로드할 수 있다.
도 9에 도시된 사용자 디바이스(300)는 사용자가 소유하고 있는 기기로 인증하는 것이 가능한 사용자의 스마트폰, 태블릿 PC, 워치 뿐만 아니라, 통신 기능 및 데이터 프로세싱 기능을 구비한 다양한 웨어러블 디바이스를 포함할 수 있다.
도 10은 사용자에게 상기 게임에서 획득한 승점에 대응되는 암호화폐를 지급하는 것을 설명하기 위한 도면이다.
블록 체인 네트워크(100)는 리그에서 우승한 우승자에게 소정의 대가를 지급하기 위한 스마트 컨트랙트의 프로그램 코드를 저장할 수 있다. 또한, 블록 체인 네트워크(100)는 제1 경기 결과 정보 및 경기 히스토리 정보 중 적어도 하나에 기초하여 사용자들에게 게임에서 획득한 승점에 대응되는 암호화폐를 지급하도록 하는 스마트 컨트랙트의 프로그램 코드를 저장할 수 있다.
예를 들어, 게임 서비스 제공 장치(200)는 게임 종료시 가장 승점이 높은 사용자 순서대로, 게임 주최자로부터 각각 100, 50, 30 캐시를 지급하도록 할 수 있다. 게임 주최자는 복수의 사용자들 중 하나일 수도 있고, 게임 서비스 제공 장치(200)를 이용하여 게임 리그를 생성하여 게임을 진행하도록 하는 주체일 수 있다.
또한, 게임 서비스 제공 장치(200)는 제1 경기 결과 정보에 기초하여 사용자에게 승점에 대응되는 보상을 지급하도록할 수 있다.
또한, 게임 서비스 제공 장치(200)는 제1 사용자와 제2 사용자를 포함하는 복수의 사용자들의 경기 히스토리 정보에 기초하여, 최종 1위인 제1 사용자에게 3000캐시를 제공할 수 있다(1001). 또한, 게임 서비스 제공 장치(200)는 제1 사용자와 제2 사용자를 포함하는 복수의 사용자들의 경기 히스토리 정보에 기초하여 최종 2위인 제2 사용자에게 2000캐시를 제공할 수 있다(1001).
게임 서비스 제공 장치(200)는 게임 결과를 기록하는 방법을 수행하는 블록 체인 네트워크(100) 상에서 통용되는 암호화폐를 사용자에게 보상으로 제공할 수도 있고, 게임상에서의 통화인 게임 머니, 또는 이에 대응하는 다양한 화폐 형태로 보상을 지급할 수도 있다.
게임 서비스 제공 장치(200)는, 제1 경기 결과 정보 및 제1 경기 결과 정보에 기초하여 누적된 경기 히스토리 정보에 기초하여 제1 사용자의 계정인 제1 계정 및 제2 사용자의 계정인 제2 계정을 업데이트하도록 할 수 있다.
게임 서비스 제공 장치(200)는 경기 히스토리에 기초하여 업데이트된 제1 계정에 대한 내용(1010)을 제1 사용자의 디바이스의 화면에 디스플레이할 수 있다. 또한, 게임 서비스 제공 장치(200)는 경기 히스토리에 기초하여 업데이트된 제2 계정에 대한 내용(1020)을 제2 사용자의 디바이스의 화면에 디스플레이할 수 있다.
도 11은 일 실시예에 따라, 사용자 디바이스가 블록 체인 네트워크 상의 노드인 경우를 설명하기 위한 도면이다.
일 실시예에 따르면 사용자 디바이스(300)는 블록 체인 네트워크(100)에 포함된 노드일 수 있다. 사용자 디바이스(300)는 블록 체인 네트워크(100)의 블록을 저장할 수 있고, 복수의 사용자들의 게임이 종료되면 제1 경기 결과 정보를 블록에 저장할 수 있다.
도 12는 일 실시예에 따라, 블록 체인의 네트워크 상에서 유효한 트랜잭션을 블록 체인의 네트워크 상의 노드들로 전파하고, 블록 체인에 기록하는 과정을 설명하기 위한 도면이다.
일실시예에 따라 트랜잭션은 사용자들 간의 게임 결과 생성되는 정보를 나타내는 것이고, 트랜잭션 정보는 경기 결과 정보에 대응될 수 있다.
도 12를 참고하면, 게임 서비스 제공 장치(200)는 제1 사용자와 제2 사용자 간의 게임을 수행한 후, 제1 경기 결과 정보를 블록체인 네트워크(100)에 송신하기 위해 사용자 디바이스(300)가 경기내역을 전송(1201)하도록 할 수 있다.
게임 서비스 제공 장치(200)는 제1 트랜잭션 정보에 대응되는 제1 경기 결과 정보에 기초하여 "제1 사용자가 제1 리그에서 승점을 3점 획득"한 것을 업데이트할 수 있다. 게임 서비스 제공 장치(200)는 제1 트랜잭션을 암호화하고, 암호화된 제1 트랜잭션을 블록 체인의 네트워크 상의 제1 노드(10)로 전송할 수 있다. 게임 서비스 제공 장치(200)가 제1 트랜잭션을 암호화하여 제1 노드(10)로 전송하는 동작은 도 13에서 상세하게 설명한다.
제1 노드(10)는 암호화된 제1 트랜잭션을 복호화하고, 복호화된 결과에 기초하여 제1 트랜잭션이 유효한지를 검증(1210)할 수 있다. 제1 노드(10)가 제1 트랜잭션의 유효성을 검증하는 동작은 도 14에서 상세하게 설명한다.
제1 트랜잭션의 유효성을 검증한 결과, 제1 트랜잭션이 유효하지 않으면, 제1 노드(10)는 제1 트랜잭션을 폐기할 수 있다.
제1 트랜잭션의 유효성을 검증한 결과, 제1 트랜잭션이 유효하면, 제1 노드(10)는 제1 트랜잭션을 블록 체인의 네트워크 상의 제2 노드(11)로 전송할 수 있다. 또한, 제1 노드(10)는 후보 블록(1220)에 “제1 사용자가 제1 리그에서 승점을 3점 획득"한 것을 나타내는 제1 트랜잭션(1221)를 기록할 수 있다. 후보 블록(1220)에 소정의 트랜잭션들이 기록되면, 제1 노드(10)는 후보 블록(1220)에 대한 작업 증명을 수행하여 유효한 블록을 생성할 수 있다. 또한, 제2 노드(11)에서도 제1 트랜잭션의 유효성이 검증되면, 제2 노드(11)는 제1 트랜잭션을 후보 블록(1220)에 추가하고, 후보 블록(1220)에 대한 작업 증명을 수행하여 유효한 블록을 생성할 수 있다. 제3 노드(12) 및 제4 노드(13)도 제2 노드(11)와 마찬가지로 동작할 수 있다.
제1 노드(10)에서 유효한 블록을 생성하여 블록 체인에 추가하는 과정을 설명하면, 제1 노드(10)는 소정의 트랜잭션들에 대한 머클 트리의 루트를 계산할 수 있다. 제1 노드(10)는 블록 체인에 추가될 블록의 입장에서 이전 블록 헤더를 가리키는 해시 참조를 생성할 수 있다. 제1 노드(10)는 블록 체인에 추가될 블록의 작업 증명 또는 제약 조건에서 필요한 난이도를 획득할 수 있다. 제1 노드(10)는 머클 트리의 루트, 이전 블록 헤더를 가리키는 해시 참조, 난이도, 타임스태프의 데이터와 난스에 해시 함수를 적용하여 생성된 블록해시의 값이 제약 조건을 만족하는지 확인할 수 있다. 제1 노드(10)는 난스를 0부터 1씩 증가시키면서 제약 조건을 만족시키는 난스의 값을 획득하여 후보 블록(1220)에 대한 작업 증명을 수행할 수 있다. 제1 노드(10)는 블록 체인에 후보 블록(1220)을 유효한 블록으로 추가할 수 있다. 또한, 제1 노드(10)는 유효한 블록을 블록 체인의 네트워크 상의 다른 노드들(11, 12, 13 등)로 전송할 수 있다.
블록 체인의 네트워크 상의 각 노드들(11, 12, 13 등)은 제1 노드(10)에서 수신한 유효한 블록에 대한 검증을 수행하여, 각 노드들(11, 12, 13 등)에서 보유하는 블록 체인에 유효한 블록을 추가할 수 있다.
도 13은 일 실시예에 따라, 전자 장치에서 디지털 서명된 트랜잭션을 블록 체인의 네트워크 상의 노드로 전송하는 과정을 설명하기 위한 도면이다.
게임 서비스 제공 장치(200)는 “제1 사용자가 제1 리그에서 승점을 3점 획득”한 것에 대응되는 트랜잭션(1310)를 암호화하고, 암호화된 트랜잭션(1340)를 블록 체인의 네트워크 상의 제1 노드(10)로 전송할 수 있다.
구체적으로, 게임 서비스 제공 장치(200)는 사용자 디바이스(300)가 경기내역을 전송(1303)하는 것에 응답하여, “제1 사용자가 제1 리그에서 승점을 3점 획득”한 것에 대응되는 트랜잭션(1310)를 트랜잭션에 대한 고유의 데이터를 생성하는 해시함수에 적용하여, 트랜잭션(1310)에 대응되는 해시값 "8F23V230"(1320)을 생성할 수 있다.
게임 서비스 제공 장치(200)는 제1 사용자의 개인키(1325)로 해시값 "8F23V230"(1320)을 암호화하여 트랜잭션(1310)의 디지털 서명을 나타내는 제1 암호문 "%! ##(YSEDK$#9$KPXL&%"(1330)을 생성할 수 있다. 사용자 디바이스(300)는 제1 암호문 "%! ##(YSEDK$#9$KPXL&%"(1330)을 트랜잭션(1310)와 합한 트랜잭션(1340)를 제1 노드(10)로 전송할 수 있다.
도 14는 일 실시예에 따라, 블록 체인의 네트워크 상의 노드에서 트랜잭션의 유효성을 검증하는 과정을 설명하기 위한 도면이다.
예를 들면, 제1 노드(10)는 제1 사용자의 사용자 디바이스(300)로부터 트랜잭션(1410)을 수신할 수 있다. 트랜잭션(1410)은 "제1 사용자가 제1 리그에서 승점 3점 획득"한 트랜잭션 정보(1411) 및 제1 암호문 "%! ##(YSEDK$#9$KPXL&%"(1412)을 포함할 수 있다. 제1 노드(10)는 트랜잭션(1411)에 해시함수를 적용하여 트랜잭션 정보(1411)에 대응되는 해시값 "8F23V230"(1421)을 생성할 수 있다. 제1 노드(10)는 제1 사용자의 공개키(1425)를 이용하여 제1 암호문 "%! ##(YSEDK$#9$KPXL&%"(1412)을 복호화하여 해시값 "8F23V230"(1422)을 생성할 수 있다. 해시값 "8F23V230"(1421)과 해시값 "8F23V230"(1422)이 동일하므로, 제1 노드(10)는 제1 사용자의 사용자 디바이스(300)로부터 수신된 트랜잭션(1410)은 유효하다고 판단할 수 있다.
다른 예를 들면, 제1 노드(10)는 제1 사용자의 사용자 디바이스(300)로부터 트랜잭션(1430)를 수신할 수 있다. 트랜잭션(1430)는 " 제1 사용자가 제1 리그에서 승점 13점 획득"한 트랜잭션 정보(1431) 및 제1 암호문 "%! ##(YSEDK$#9$KPXL&%"(1412)을 포함할 수 있다. 제1 노드(10)는 트랜잭션(1431)에 해시함수를 적용하여 트랜잭션 정보(1431)에 대응되는 해시값 "6F49X298"(1441)을 생성할 수 있다. 제1 노드(10)는 제1 사용자의 공개키(1425)를 이용하여 제1 암호문 "%! ##(YSEDK$#9$KPXL&%"(1412)을 복호화하여 해시값 "8F23V230"(1422)을 생성할 수 있다. 해시값 "6F49X298"(1441)과 해시값 "8F23V230"(1422)이 동일하지 않으므로, 제1 노드(10)는 제1 사용자의 사용자 디바이스(300)로부터 수신된 트랜잭션(1430)은 유효하지 않다고 판단할 수 있다.
도 15는 일 실시예에 따라, 블록 및 블록 체인의 구조를 설명하기 위한 블록도이다.
도 15에 도시된 바와 같이, 블록 체인은 유효한 트랜잭션들을 기록한 블록들이 연결되어 구성될 수 있다. 즉, 블록 체인의 데이터 구조는 트랜잭션을 기록한 블록들이 순서대로 정렬된 단위로 구성된 소정의 데이터 구조일 수 있다. 또한, 블록 체인의 데이터 구조는 각 블록 헤더가 이전 블록 헤더를 참조하여 체인 형식으로 연결된 데이터 구조, 및 트랜잭션의 데이터를 가리키는 해시 참조와 트랜잭션의 데이터가 트리 형태로 연결된 머클 트리의 데이터 구조로 구성될 수 있다.
블록은 블록 해시, 블록 헤더, 트랜잭션 등을 포함할 수 있다. 블록 헤더는 현재 프로그램의 버전, 이전 블록 헤더의 해시값, 머클 트리의 루트, 타임스태프, 난이도 및 난스의 정보를 포함할 수 있다.
블록 해시는 현재 프로그램의 버전, 이전 블록 헤더의 해시값, 머클 트리의 루트, 타임스태프, 난이도 및 난스의 정보를 입력값으로 하여 적용된 해시 함수의 해시값일 수 있다. 즉, 블록 해시의 값은 블록 전체를 해시한 값이 아니라, 블록 헤더를 해시한 값일 수 있다.
이전 블록 헤더의 해시값은 각 블록 헤더를 고유하게 식별하고, 이전 블록 헤더를 참조하기 위해 사용될 수 있다. 각 블록 헤더가 이전 블록 헤더를 참조하면, 개별 블록 헤더와 블록의 순서는 유지될 수 있다. 도 15를 참고하면, 제1 블록(1510)은 최초 블록이어서 이전 블록이 없으므로, 이전 블록 헤더를 가리키는 어떠한 참조도 없다. 따라서, 제1 블록(1510)의 이전 블록 헤더의 해시값은 0이다. 또한, 제2 블록(1520)은 이전 블록인 제1 블록(1510)이 있으므로, 제2 블록 헤더는 제1 블록 헤더를 가리키는 해시값을 갖는다. 마찬가지로, 제3 블록(1530)은 이전 블록인 제2 블록(1520)이 있으므로, 제3 블록 헤더는 제2 블록 헤더를 가리키는 해시값을 갖는다.
머클 트리는 해시 참조와 트랜잭션의 데이터가 트리 형태로 연결되어 있는 구조를 의미할 수 있다. 해시 참조는 암호화 해시값을 이용하여 트랜잭션의 데이터를 가리키는 것을 의미할 수 있다. 한편, 암호화 해시값은 데이터의 고유값이므로, 서로 다른 데이터들은 동일한 해시값을 갖지 않는다.
머클 트리가 생성되는 과정을 구체적으로 설명하면, 트랜잭션(예를 들면, 제1 트랜잭션, 제2 트랜잭션, 제3 트랜잭션, 제4 트랜잭션)의 데이터 각각을 가리키는 해시 참조(예를 들면, 제1 해시 참조, 제2 해시 참조, 제3 해시 참조, 제4 해시 참조)가 생성될 수 있다. 해시 참조가 생성되면, 해시 참조의 쌍을 가리키는 해시 참조(예를 들면, 제1 해시 참조와 제2 해시 참조를 가리키는 제12 해시 참조, 제3 해시 참조와 제4 해시 참조를 가리키는 제34 해시 참조)가 생성될 수 있다. 그리고 나서, 해시 참조의 쌍을 가리키는 해시 참조를 생성하는 작업이 반복 수행되어 단일 해시 참조(예를 들면, 제12 해시 참조와 제34 해시 참조를 가리키는 제1234 해시 참조)가 생성될 수 있다. 즉, 머클 트리는 단일 해시 참조에서 시작되어 각 트랜잭션의 데이터까지 연결된 트리 형태의 구조일 수 있다. 머클 트리의 루트는 최종적으로 생성된 단일 해시 참조를 의미할 수 있다.
타임스태프는 작업 증명을 위해 작업을 시작한 시각을 의미할 수 있다. 난이도는 작업 증명 또는 해시 퍼즐에서의 제약 조건을 의미할 수 있다. 난스는 작업 증명을 위해 블록해시의 값이 제약 조건을 만족하도록 조절되는 값을 의미할 수 있다.
도 16은 일 실시예에 따라, 블록 체인의 네트워크 상의 노드에서 블록의 작업 증명 및 난스를 구하는 방법을 설명하기 위한 도면이다.
블록 체인의 네트워크 상의 노드들은 트랜잭션의 유효성 및 블록헤더의 유효성을 검증하여, 유효한 트랜잭션의 데이터와 블록 헤더만으로 구성된 유효한 블록이 블록 체인에 연결될 수 있도록 할 수 있다.
각 노드들은 블록에 대한 작업 증명을 수행하여, 유효한 블록을 생성할 수 있다. 여기서, 작업 증명은 블록의 고유 해시 퍼즐을 해결한 것을 의미할 수 있다.
작업 증명을 위한 요소(1610)는 변경되면 안 되는 주어진 데이터, 자유롭게 변경 가능한 데이터, 적용할 해시 함수, 해시값에 주어진 제약 조건을 포함할 수 있다. 여기서, 변경되면 안 되는 주어진 데이터는 버전 정보(1611), 이전 블록 헤더의 해시값(1612), 머클 트리의 루트(1613), 타임스태프(1614), 및 난이도(1615)에 대한 데이터를 포함할 수 있다. 또한, 자유롭게 변경 가능한 데이터는 난스(1616)일 수 있다. 또한, 해시값에 주어진 제약 조건은 난이도(1615)일 수 있다.
도 16에 도시된 바와 같이, 작업 증명은 버전 정보(1611), 이전 블록 헤더의 해시값(1612), 머클 트리의 루트(1613), 타임스태프(1614), 및 난이도(1615)에 대한 데이터와 난스(1616)에 해시 함수를 적용하여 생성된 블록해시(1620)의 값이 제약 조건에 만족됨으로써 수행될 수 있다.
구체적으로, 노드는 블록에 대한 작업 증명을 위해, 난스(1616)를 추측하고, 추측된 난스(1616)를 버전 정보(1611), 이전 블록 헤더의 해시값(1612), 머클 트리의 루트(1613), 타임스태프(1614), 및 난이도(1615)에 대한 데이터와 결합해 해시 함수를 적용하여 블록해시(1620)의 값을 생성할 수 있다. 노드는 생성된 블록해시(1620)의 값이 제약 조건을 만족하였는지를 확인할 수 있다. 블록해시(1620)의 값이 제약 조건을 만족하면 작업 증명은 완료되지만, 블록해시(1620)의 값이 제약 조건을 만족하지 못하면 노드는 다른 난스를 추측한 후 동일한 과정을 반복할 수 있다.
도 16의 표(1630)는 난스, 해시할 데이터, 난스와 해시할 데이터를 결합하여 해시 함수에 적용하여 생성된 해시값을 도시한다. 예를 들어, 제약 조건은 해시값의 첫 세자리 숫자가 0인 조건일 수 있다. 노드는 난스를 0부터 1씩 증가시키면서 작업 증명을 위한 과정을 수행할 수 있다. 도 16의 표(1630)를 참고하면, 난스 53을 이용하여 생성된 해시값(000EIXOKXP19)이 제약 조건을 만족한다. 노드는 난스 0부터 난스 53까지 54번의 시행착오로 작업 증명을 완료할 수 있다.
난이도는 작업 증명 또는 해시 퍼즐에서의 제약 조건을 의미할 수 있다. 난이도는 자연수로 표시될 수 있고, 난이도의 숫자는 해시값의 맨 앞자리부터 0으로 채워질 자릿수를 의미할 수 있다. 따라서, 난이도가 올라갈수록 0으로 채워져야 하는 맨 앞자리수가 늘어나게 된다. 난이도가 올라갈수록 작업 증명 또는 해시 퍼즐은 복잡하고, 제약 조건을 만족하는 난스를 찾는 데에 더 많은 계산 자원과 시간이 필요할 수 있다.
즉, 작업 증명은 난스 값을 계산하여 블록 해시의 값을 획득하고, 획득된 블록 해시의 값을 식별자로 갖는 유효한 블록을 생성하는 것을 의미할 수 있다. 한편, 유효한 블록을 생성한 노드는 보상을 받을 수 있다. 보상은 블록 체인의 네트워크 상의 노드들의 합의하에 결정될 수 있다.
도 17은 일 실시예에 따라, 블록 체인에 트랜잭션을 기록함으로써, 트랜잭션의 일관성 및 보안성을 높일 수 있는 효과를 설명하기 위한 도면이다.
트랜잭션의 해시값은 트랜잭션이 포함된 블록의 머클 트리의 루트를 계산하는 데에 이용될 수 있다. 또한, 머클 트리의 루트는 블록 해시의 값을 계산하는 데에 이용될 수 있다. 블록 해시의 값은 다음 블록의 블록 해시의 값을 계산하는 데에 입력값으로 이용될 수 있다.
구체적으로, 제2 블록(1720)의 트랜잭션의 해시값은 제2 블록(1720)의 머클 트리의 루트를 계산하는 데에 입력값으로 이용될 수 있다. 또한, 제2 블록 헤더의 버전 정보, 제1 블록(1710)의 블록 헤더의 해시값, 머클 트리의 루트(1722), 타임스태프, 난이도, 및 난스(1723)가 입력값으로 해시 함수에 적용됨으로써, 제2 블록 헤더의 해시값인 제2 블록 해시(1724)가 계산될 수 있다. 제2 블록 해시(1724)는 제3 블록(1730)의 블록 헤더(1733)의 해시값을 계산하는 데에 이용될 수 있다.
따라서, 도 17에 도시된 바와 같이, 제2 블록(1720)의 트랜잭션 중 소정의 트랜잭션(1721)가 변경되면, 제2 블록 헤더의 머클 트리의 루트(1722)가 변경될 수 있다. 제2 블록 헤더의 머클 트리의 루트(1722)가 변경되면, 제2 블록 헤더의 난스(1723)가 변경될 수 있다. 제2 블록 헤더의 머클 트리의 루트(1722) 및 제2 블록 헤더의 난스(1723)가 변경되므로, 제2 블록 해시(1724)도 변경될 수 있다. 또한, 제2 블록 해시(1724)가 변경됨에 따라, 제3 블록(1730)의 이전 블록 헤더의 해시값(1731), 난스(1732) 및 제3 블록 해시(1733)도 변경될 수 있다. 즉, 블록 내에 기록된 트랜잭션이 변경되면, 블록에 기록된 머클 트리의 루트, 난스 등이 변경되므로, 블록 헤더의 해시값이 다시 계산되어야 한다. 그리고, 나서, 다음 블록의 블록 헤더의 해시값도 다시 계산되어야 한다. 따라서, 소정의 노드에서 트랜잭션이 변경되어 변경된 트랜잭션이 포함된 블록부터 작업 증명이 수행되는 동안, 다른 노드들에서는 트랜잭션이 변경되지 않은 블록 체인에 계속하여 블록이 추가될 수 있다. 따라서, 소정의 노드가 보유한 블록 체인의 길이는 다른 노드들에서 보유한 블록 체인의 길이보다 짧아지게 된다.
한편, 블록 체인의 네트워크 상의 각 노드들은 블록 체인에 기록된 트랜잭션의 이력에 대해 일관성 및 보안성을 제공하기 위해 소정의 기준에 따라 트랜잭션의 이력을 선택할 수 있다. 예를 들면, 소정의 기준은 트리 모양 블록 체인 데이터 구조 중 가장 많은 블록을 가진 경로를 선택하는 것일 수 있다. 또한, 소정의 기준은 트리 모양 블록 체인 데이터 구조 중 난이도 합산이 가장 큰 경로를 선택하는 것일 수 있다.
따라서, 트랜잭션이 변경된 블록을 보유한 블록 체인의 길이는 트랜잭션이 변경되지 않은 블록 체인의 길이보다 짧으므로, 블록 체인의 네트워크 상의 각 노드들은 트랜잭션이 변경되지 않은 블록 체인을 선택함으로써, 블록 체인에 기록된 트랜잭션의 이력에 대해 일관성 및 보안성을 보장할 수 있다.
도 18은 사용자의 요청에 의해 게임 서비스 제공 장치(200)가 경기 정보를 제공하는 것을 설명하기 위한 도면이다.
도 18을 참고하면, 사용자 디바이스(300)의 경기 내역 요청(1801)에 따라 경기 히스토리 정보(1820)에 기초하여 사용자 디바이스(300)에게 경기 정보를 제공할 수 있다. 사용자는 경기 내역을 열람하기 위해 블록 체인 네트워크(100)에 저장된 모든 정보를 요청할 수 있고, 이에 대한 요청에 응답하여 블록 체인 네트워크(100)는 제1 사용자와 제2 사용자 간의 게임 결과인 제1 경기 결과 정보를 누적한 정보인 전체 경기 히스토리 정보(1820) 중 적어도 일부를 제공할 수 있다.
일 실시예에 따라, 게임 서비스 제공 장치(200)는 사용자 디바이스(300)의 요청에 응답하여 사용자가 속해있는 리그인 제1 리그에 대한 경기 내역만을 블록 체인 네트워크(100)로부터 제공하도록 제어할 수 있다. 또한, 게임 서비스 제공 장치(200)는 사용자 디바이스(300)의 경기 종료 후, 사용자 디바이스(300)의 요청에 응답하여 직전에 수행한 경기인 제1 경기 내역 정보를 블록 체인 네트워크(100)로부터 제공할 수 있다.
도 19는 사용자의 요청에 의해 게임 서비스 제공 장치(200)가 경기 정보를 제공하는 것을 설명하기 위한 도면이다.
일 실시예에 따라, 게임 서비스 제공 장치(200)는 사용자 디바이스(300)의 요청에 응답하여 전체 리그들의 경기 현황을 제공해줄 수 있다. 게임 서비스 제공 장치(200)는 블록 체인 네트워크(100)에 실시간으로 업데이트되는 제1 경기 내역 정보에 기초하여, 현재 제1 리그의 1위와 제2 리그의 1위를 제공해줄 수 있다. 또한, 게임 서비스 제공 장치(200)는 블록 체인 네트워크(100)에 저장된 정보에 기초하여 현재 제1 리그의 1위인 A의 승점과 제2 리그의 1위인 K의 승점을 함께 표시해줄 수 있다.
일 실시예에 따라, 블록 체인 네트워크(100)에 기록된 트랜잭션의 이력은 일관성 및 보안성이 보장되므로, 사용자는 신뢰성 있는 경기 히스토리 정보를 제공받을 수 있다.
이상에서 설명된 장치는 하드웨어 구성요소, 소프트웨어 구성요소, 및/또는 하드웨어 구성요소 및 소프트웨어 구성요소의 조합으로 구현될 수 있다. 예를 들어, 실시예들에서 설명된 장치 및 구성요소는, 예를 들어, 프로세서, 콘트롤러, ALU(arithmetic logic unit), 디지털 신호 프로세서(digital signal processor), 마이크로컴퓨터, FPGA(field programmable gate array), PLU(programmable logic unit), 마이크로프로세서, 또는 명령(instruction)을 실행하고 응답할 수 있는 다른 어떠한 장치와 같이, 하나 이상의 범용 컴퓨터 또는 특수 목적 컴퓨터를 이용하여 구현될 수 있다. 처리 장치는 운영 체제(OS) 및 운영 체제 상에서 수행되는 하나 이상의 소프트웨어 어플리케이션을 수행할 수 있다. 또한, 처리 장치는 소프트웨어의 실행에 응답하여, 데이터를 접근, 저장, 조작, 처리 및 생성할 수도 있다. 이해의 편의를 위하여, 처리 장치는 하나가 사용되는 것으로 설명된 경우도 있지만, 해당 기술분야에서 통상의 지식을 가진 자는, 처리 장치가 복수 개의 처리 요소(processing element) 및/또는 복수 유형의 처리 요소를 포함할 수 있음을 알 수 있다. 예를 들어, 처리 장치는 복수 개의 프로세서 또는 하나의 프로세서 및 하나의 콘트롤러를 포함할 수 있다. 또한, 병렬 프로세서(parallel processor)와 같은, 다른 처리 구성(processing configuration)도 가능하다.
소프트웨어는 컴퓨터 프로그램(computer program), 코드(code), 명령(instruction), 또는 이들 중 하나 이상의 조합을 포함할 수 있으며, 원하는 대로 동작하도록 처리 장치를 구성하거나 독립적으로 또는 결합적으로(collectively) 처리 장치를 명령할 수 있다. 소프트웨어 및/또는 데이터는, 처리 장치에 의하여 해석되거나 처리 장치에 명령 또는 데이터를 제공하기 위하여, 어떤 유형의 기계, 구성요소(component), 물리적 장치, 가상 장치(virtual equipment), 컴퓨터 저장 매체 또는 장치, 또는 전송되는 신호 파(signal wave)에 영구적으로, 또는 일시적으로 구체화(embody)될 수 있다. 소프트웨어는 네트워크로 연결된 컴퓨터 시스템 상에 분산되어서, 분산된 방법으로 저장되거나 실행될 수도 있다. 소프트웨어 및 데이터는 하나 이상의 컴퓨터 판독 가능 기록 매체에 저장될 수 있다.
실시예에 따른 방법은 다양한 컴퓨터 수단을 통하여 수행될 수 있는 프로그램 명령 형태로 구현되어 컴퓨터 판독 가능 매체에 기록될 수 있다. 컴퓨터 판독 가능 매체는 프로그램 명령, 데이터 파일, 데이터 구조 등을 단독으로 또는 조합하여 포함할 수 있다. 매체에 기록되는 프로그램 명령은 실시예를 위하여 특별히 설계되고 구성된 것들이거나 컴퓨터 소프트웨어 당업자에게 공지되어 사용 가능한 것일 수도 있다. 컴퓨터 판독 가능 기록 매체의 예에는 하드 디스크, 플로피 디스크 및 자기 테이프와 같은 자기 매체(magnetic media), CD-ROM, DVD와 같은 광기록 매체(optical media), 플롭티컬 디스크(floptical disk)와 같은 자기-광 매체(magneto-optical media), 및 롬(ROM), 램(RAM), 플래시 메모리 등과 같은 프로그램 명령을 저장하고 수행하도록 특별히 구성된 하드웨어 장치가 포함된다. 프로그램 명령의 예에는 컴파일러에 의해 만들어지는 것과 같은 기계어 코드뿐만 아니라 인터프리터 등을 사용해서 컴퓨터에 의해서 실행될 수 있는 고급 언어 코드를 포함한다. 상기된 하드웨어 장치는 실시예의 동작을 수행하기 위해 하나 이상의 소프트웨어 모듈로서 작동하도록 구성될 수 있으며, 그 역도 마찬가지이다.
이상과 같이 실시예들이 비록 한정된 실시예와 도면에 의해 설명되었으나, 해당 기술분야에서 통상의 지식을 가진 자라면 상기의 기재로부터 다양한 수정 및 변형이 가능하다. 예를 들어, 설명된 기술들이 설명된 방법과 다른 순서로 수행되거나, 및/또는 설명된 시스템, 구조, 장치, 회로 등의 구성요소들이 설명된 방법과 다른 형태로 결합 또는 조합되거나, 다른 구성요소 또는 균등물에 의하여 대치되거나 치환되더라도 적절한 결과가 달성될 수 있다.
그러므로, 다른 구현들, 다른 실시예들 및 청구범위와 균등한 것들도 후술하는 청구범위의 범위에 속한다.
100: 블록 체인 네트워크
200: 게임 서비스 제공자 장치
300: 사용자 디바이스

Claims (25)

  1. 복수의 사용자들 간에 게임을 진행하여 게임 결과를 기록하는 방법에 있어서,
    제1 사용자 및 제2 사용자를 포함하는 상기 복수의 사용자들을 블록 체인 네트워크에 등록하는 단계;
    상기 제1 사용자 및 상기 제2 사용자가 제1 게임 어플리케이션의 실행에 따라 게임을 수행하는 단계;
    상기 제1 게임 어플리케이션으로부터 상기 제1 사용자와 상기 제2 사용자 간의 게임 결과인 제1 경기 결과 정보를 획득하는 단계; 및
    상기 제1 경기 결과 정보에 기초하여 상기 블록 체인 네트워크의 경기 히스토리 정보를 업데이트하는 단계를 포함하는, 방법.
  2. 제1항에 있어서,
    상기 블록 체인 네트워크의 상기 경기 히스토리 정보를 이용하여 리그전의 대진표를 업데이트하는 단계를 포함하는, 방법.
  3. 제1항에 있어서,
    상기 게임 수행 전에 상기 블록 체인 네트워크에 등록된 상기 복수의 사용자들에 대한 정보에 기초하여 상기 등록된 복수의 사용자들을 복수개의 리그전에 배치하는 단계를 더 포함하는, 방법.
  4. 제1항에 있어서,
    상기 제1 경기 결과 정보 및 상기 경기 히스토리 정보 중 적어도 하나에 기초하여 상기 제1 사용자에게 상기 게임에서 획득한 승점에 대응되는 암호화폐를 지급하는 단계를 더 포함하는, 방법.
  5. 제1항에 있어서,
    상기 블록체인을 이용하여, 상기 제1 경기 결과 정보에 기초하여 상기 경기 히스토리 정보를 업데이트하는 단계는
    상기 제1 경기 결과 정보의 검증을 받기 위해 상기 블록 체인의 네트워크 상의 제1 노드로 상기 블록체인을 구성하는 블록에 상기 제1 경기 결과 정보의 기록을 요청하는 단계; 및
    상기 블록체인의 네트워크로부터 상기 제1 경기 결과 정보가 검증되었음을 알리는 메시지를 수신함으로써, 상기 제1 경기 결과 정보에 기초하여 상기 경기 히스토리 정보를 업데이트하는 단계를 포함하는, 방법.
  6. 제5항에 있어서,
    상기 제1 노드로 상기 제1 경기 결과 정보의 기록을 요청하는 단계는,
    상기 제1 경기 결과 정보를 암호화하고, 상기 암호화된 제1 경기 결과 정보를 상기 제1 노드로 전송하는 단계를 포함하는, 방법.
  7. 제6항에 있어서,
    상기 제1 경기 결과 정보를 상기 제1 노드로 전송하는 단계는,
    상기 제1 경기 결과 정보를 상기 제1 경기 결과 정보에 대한 고유의 데이터를 생성하는 해시함수에 적용하여, 상기 제1 거래정보에 대응되는 제1 해시값을 생성하는 단계;
    상기 제1 사용자의 개인키로 상기 제1 해시값을 암호화하여 상기 제1 경기 결과 정보의 디지털 서명을 나타내는 제1 암호문을 생성하는 단계; 및
    상기 제1 암호문을 상기 제1 경기 결과 정보와 함께 상기 제1 노드로 전송하는 단계를 포함하는, 방법.
  8. 제1항에 있어서,
    상기 제1 경기 결과 정보에 기초하여 상기 경기 히스토리 정보를 업데이트하는 단계는
    상기 블록 체인 내의 복수개의 노드에 상기 제1 경기 결과 정보를 전달하는 단계를 포함하는, 방법.
  9. 제1항에 있어서,
    상기 제1 사용자와 상기 제2 사용자 간의 게임 결과인 제1 경기 결과 정보를 획득하는 단계는
    상기 제1 경기 결과 정보에 대해 제1 사용자의 확인 및 상기 제2 사용자의 확인을 수신하는 단계를 포함하는, 방법.
  10. 제1항에 있어서,
    상기 제1 경기 결과 정보는, 상기 제1 사용자의 계정인 제1 계정의 주소 정보, 상기 제2 사용자의 계정인 상기 제2 계정의 주소 정보, 상기 제1 사용자가 상기 게임에서 획득한 승점, 상기 제2 사용자가 게임에서 획득한 승점, 상기 게임 플레이 시각 정보, 및 상기 게임의 결과에 대해 동의하는지를 증명하는 정보 중 적어도 하나를 포함하는, 방법.
  11. 제1항에 있어서,
    상기 복수의 사용자들의 레벨에 따라 복수개의 리그를 구성하고, 리그에서 우승한 우승자에게 소정의 대가를 지급하기 위한 스마트 컨트랙트의 프로그램 코드를 상기 블록 체인 네트워크에 저장하도록 제어하는 단계를 더 포함하는, 방법.
  12. 제1항에 있어서,
    상기 제1 경기 결과 정보 및 상기 제1 경기 결과 정보에 기초하여 누적된 경기 히스토리 정보에 기초하여 상기 제1 사용자의 계정인 제1 계정 및 상기 제2 사용자의 계정인 제2 계정을 업데이트하는 단계를 더 포함하는, 방법.
  13. 복수의 사용자들 간에 게임을 진행하여 게임 결과를 기록하기 위한 장치에 있어서,
    통신부;
    하나 이상의 인스트럭션을 저장하는 메모리; 및
    상기 메모리에 저장된 상기 하나 이상의 인스트럭션을 실행하는 프로세서를 포함하고, 상기 프로세서는, 상기 하나 이상의 인스트럭션을 실행함으로써,
    제1 사용자 및 제2 사용자를 포함하는 상기 복수의 사용자들을 블록 체인 네트워크에 등록하고,
    상기 제1 사용자 및 상기 제2 사용자가 제1 게임 어플리케이션의 실행에 따라 게임을 수행하고,
    상기 제1 게임 어플리케이션으로부터 상기 제1 사용자와 상기 제2 사용자 간의 게임 결과인 제1 경기 결과 정보를 획득하고,
    상기 제1 경기 결과 정보에 기초하여 상기 블록 체인 네트워크의 경기 히스토리 정보를 업데이트하도록 제어하는, 장치.
  14. 제13항에 있어서, 상기 프로세서는
    상기 블록 체인 네트워크의 상기 경기 히스토리 정보를 이용하여, 리그전의 대진표를 업데이트하도록 제어하는, 장치.
  15. 제13항에 있어서, 상기 프로세서는
    상기 게임 수행 전에 상기 블록 체인 네트워크에 등록된 상기 복수의 사용자들에 대한 정보에 기초하여 상기 등록된 복수의 사용자들을 복수개의 리그전에 배치하도록 제어하는, 장치.
  16. 제13항에 있어서, 상기 프로세서는
    상기 제1 경기 결과 정보 및 상기 경기 히스토리 정보 중 적어도 하나에 기초하여 상기 제1 사용자에게 상기 게임에서 획득한 승점에 대응되는 암호화폐를 지급하는, 장치.
  17. 제13항에 있어서, 상기 프로세서는
    상기 제1 경기 결과 정보의 검증을 받기 위해 상기 블록체인의 네트워크 상의 제1 노드로 상기 블록체인을 구성하는 블록에 상기 제1 경기 결과 정보의 기록을 요청하고,
    상기 블록체인의 네트워크로부터 상기 제1 경기 결과 정보가 검증되었음을 알리는 메시지를 수신함으로써, 상기 제1 경기 결과 정보에 기초하여 상기 경기 히스토리 정보를 업데이트하도록 제어하는, 장치.
  18. 제17항에 있어서, 상기 프로세서는
    상기 제1 경기 결과 정보를 암호화하고, 상기 암호화된 제1 경기 결과 정보를 상기 제1 노드로 전송하는, 장치.
  19. 제18항에 있어서, 상기 프로세서는
    상기 제1 경기 결과 정보를 상기 제1 경기 결과 정보에 대한 고유의 데이터를 생성하는 해시함수에 적용하여, 상기 제1 거래정보에 대응되는 제1 해시값을 생성하고,
    상기 제1 사용자의 개인키로 상기 제1 해시값을 암호화하여 상기 제1 경기 결과 정보의 디지털 서명을 나타내는 제1 암호문을 생성하고,
    상기 제1 암호문을 상기 제1 경기 결과 정보와 함께 상기 제1 노드로 전송하도록 제어하는, 장치.
  20. 제13항에 있어서, 상기 프로세서는
    상기 블록 체인 내의 복수개의 노드에 상기 제1 경기 결과 정보를 전달하는, 장치.
  21. 제13항에 있어서, 상기 프로세서는
    상기 제1 사용자와 상기 제2 사용자 간의 게임 결과인 상기 제1 경기 결과 정보를 획득할 때에, 상기 제1 경기 결과 정보에 대해 제1 사용자의 확인 및 상기 제2 사용자의 확인을 수신하도록 제어하는, 장치.
  22. 제13항에 있어서,
    상기 제1 경기 결과 정보는, 상기 제1 사용자의 계정인 제1 계정의 주소 정보, 상기 제2 사용자의 계정인 상기 제2 계정의 주소 정보, 상기 제1 사용자가 상기 게임에서 획득한 승점, 상기 제2 사용자가 게임에서 획득한 승점, 상기 게임 플레이 시각 정보, 및 상기 게임의 결과에 대해 동의하는지를 증명하는 정보 중 적어도 하나를 포함하는, 장치.
  23. 제13항에 있어서, 상기 프로세서는
    상기 복수의 사용자들의 레벨에 따라 복수개의 리그를 구성하고, 리그에서 우승한 우승자에게 소정의 대가를 지급하기 위한 스마트 컨트랙트의 프로그램 코드를 상기 블록 체인 네트워크에 저장하도록 제어하는, 장치.
  24. 제13항에 있어서, 상기 프로세서는
    상기 제1 경기 결과 정보 및 상기 제1 경기 결과 정보에 기초하여 누적된 경기 히스토리 정보에 기초하여 상기 제1 사용자의 계정인 제1 계정 및 상기 제2 사용자의 계정인 제2 계정을 업데이트하도록 제어하는, 장치.
  25. 제1항 내지 제12항 중 어느 한 항의 방법을 컴퓨터에서 실행시키기 위한 컴퓨터로 읽을 수 있는 기록매체에 기록된 프로그램.
KR1020180042918A 2018-04-12 2018-04-12 복수의 사용자들 간에 게임을 진행하여 게임 결과를 기록하기 위한 장치, 방법 컴퓨터 프로그램 KR102646102B1 (ko)

Priority Applications (3)

Application Number Priority Date Filing Date Title
KR1020180042918A KR102646102B1 (ko) 2018-04-12 2018-04-12 복수의 사용자들 간에 게임을 진행하여 게임 결과를 기록하기 위한 장치, 방법 컴퓨터 프로그램
PCT/KR2018/004310 WO2019198845A1 (ko) 2018-04-12 2018-04-13 복수의 사용자들 간에 게임을 진행하여 게임 결과를 기록하기 위한 장치, 방법 및 컴퓨터 프로그램
US17/046,513 US11420127B2 (en) 2018-04-12 2018-04-13 Device and method for recording game result by conducting game among plurality of users, and computer program

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020180042918A KR102646102B1 (ko) 2018-04-12 2018-04-12 복수의 사용자들 간에 게임을 진행하여 게임 결과를 기록하기 위한 장치, 방법 컴퓨터 프로그램

Publications (2)

Publication Number Publication Date
KR20190119453A true KR20190119453A (ko) 2019-10-22
KR102646102B1 KR102646102B1 (ko) 2024-03-08

Family

ID=68164333

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020180042918A KR102646102B1 (ko) 2018-04-12 2018-04-12 복수의 사용자들 간에 게임을 진행하여 게임 결과를 기록하기 위한 장치, 방법 컴퓨터 프로그램

Country Status (3)

Country Link
US (1) US11420127B2 (ko)
KR (1) KR102646102B1 (ko)
WO (1) WO2019198845A1 (ko)

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2021146057A (ja) * 2020-03-23 2021-09-27 株式会社カプコン コンピュータシステム、およびゲーム結果の管理方法
JP2023018859A (ja) * 2021-07-28 2023-02-09 株式会社カプコン プログラム、および情報処理装置
KR102550621B1 (ko) * 2022-04-22 2023-06-30 이원술 Nft의 고유 번호를 바탕으로 가상 캐릭터를 생성하는 전자 장치의 제어 방법
KR102593905B1 (ko) * 2023-04-27 2023-10-26 주식회사 세븐라인랩스 Nft를 이용한 게임 플랫폼 운영 방법
WO2023249162A1 (ko) * 2022-06-24 2023-12-28 신도헌 온라인 게임 서비스를 제공하는 방법 및 이를 위한 전자 장치

Families Citing this family (19)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111899103B (zh) 2018-10-25 2024-05-03 创新先进技术有限公司 基于区块链的交易处理方法及装置、电子设备
US11626999B2 (en) * 2018-11-09 2023-04-11 Mastercard International Incorporated Method and system for quantum-resistant hashing scheme
US11872494B2 (en) * 2019-03-07 2024-01-16 Foundation Of Soongsil University-Industry Cooperation Method for changing game parameter
JP6793418B1 (ja) * 2019-10-25 2020-12-02 株式会社コナミデジタルエンタテインメント プログラム、情報処理装置、情報処理方法、およびシステム
CN111324489B (zh) * 2020-02-18 2023-04-07 杭州复杂美科技有限公司 主链游戏结果展示方法、设备和存储介质
US11192036B1 (en) * 2020-04-20 2021-12-07 Mythical, Inc Systems and methods for tokenizing and sharing moments in a game
US11325046B1 (en) 2020-05-04 2022-05-10 Mythical, Inc. Systems and methods for determining seller reputation
US11406902B1 (en) 2020-05-04 2022-08-09 Mythical, Inc. Systems and methods for sharing benefits in affiliations of game players
CN111476666B (zh) * 2020-06-23 2020-11-10 南京田歌数字科技有限公司 基于区块链的资产交互的信息溯源方法及装置
CN111930809A (zh) * 2020-09-17 2020-11-13 支付宝(杭州)信息技术有限公司 数据处理方法、装置及设备
US11288759B1 (en) 2021-01-15 2022-03-29 Mythical, Inc. Systems and methods to provide sharing of benefits amongst a group of users based on gains from distribution rights pertaining to digital assets
US11179640B1 (en) 2021-02-25 2021-11-23 Mythical, Inc. Systems and methods for fractional ownership of user-generated content within an online gaming platform
US11179638B1 (en) 2021-02-25 2021-11-23 Mythical, Inc. Systems and methods to enable administrators to incentivize in-game user behaviors and in-game user activities via group agreements that govern user groups within an online game
US11331579B1 (en) 2021-06-30 2022-05-17 Mythical, Inc. Systems and methods for distributing benefits to unique digital articles based on real-world information
US11504631B1 (en) 2021-06-30 2022-11-22 Mythical, Inc. Systems and methods for providing in-game consequences for unique digital articles based on real-world information
US11369878B1 (en) * 2021-06-30 2022-06-28 Mythical, Inc. Systems and methods for challenges between unique digital articles based on real-world information
US11338204B1 (en) 2021-06-30 2022-05-24 Mythical, Inc. Systems and methods for distributing geolocation-specific benefits to unique digital articles based on real-world information
US11511198B1 (en) 2022-03-15 2022-11-29 Mythical, Inc. Systems and methods for shared control of benefit-producing virtual territory through the exchange of fungible digital articles
US11511201B1 (en) 2022-04-28 2022-11-29 Mythical, Inc. Systems and methods for multi-currency utilities in an online game supporting different player types

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20070098869A (ko) * 2004-12-21 2007-10-05 샌디스크 코포레이션 분할을 포함한 다기능 컨텐트 제어
KR20110127907A (ko) * 2010-05-20 2011-11-28 (주)블루홀스튜디오 온라인 게임 환경에서 서버 트랜스퍼링하여 게임을 진행하는 방법, 장치, 및 기록매체
US20180005492A1 (en) * 2016-06-29 2018-01-04 Sportsmedia Technology Corporation Systems and methods for providing secure data for wagering for live sports events

Family Cites Families (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11030860B2 (en) * 2014-08-06 2021-06-08 Lottery Now, Inc. Systems for multiple legal game providers with digital ledger
US10128993B2 (en) * 2015-05-29 2018-11-13 Huawei Technologies Co., Ltd. Systems and methods of adaptive frame structure for time division duplex
US10346826B2 (en) 2015-07-28 2019-07-09 Wesley John Boudville Blockchain and deep links for mobile apps
EP3362970A4 (en) 2015-10-17 2019-06-26 Banqu, Inc. BLOCKCHAIN-BASED IDENTITY AND TRANSACTION PLATFORM
US10380842B2 (en) * 2016-10-26 2019-08-13 International Business Machines Corporation Blockchain gaming
US10348487B2 (en) * 2017-07-20 2019-07-09 International Business Machines Corporation Game data offloading to a blockchain
US11951400B2 (en) * 2018-03-14 2024-04-09 Sony Interactive Entertainment LLC Secure decentralized video game transaction platform

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20070098869A (ko) * 2004-12-21 2007-10-05 샌디스크 코포레이션 분할을 포함한 다기능 컨텐트 제어
KR20110127907A (ko) * 2010-05-20 2011-11-28 (주)블루홀스튜디오 온라인 게임 환경에서 서버 트랜스퍼링하여 게임을 진행하는 방법, 장치, 및 기록매체
US20180005492A1 (en) * 2016-06-29 2018-01-04 Sportsmedia Technology Corporation Systems and methods for providing secure data for wagering for live sports events

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
인터넷1 *
인터넷2 *

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2021146057A (ja) * 2020-03-23 2021-09-27 株式会社カプコン コンピュータシステム、およびゲーム結果の管理方法
JP2023018859A (ja) * 2021-07-28 2023-02-09 株式会社カプコン プログラム、および情報処理装置
KR102550621B1 (ko) * 2022-04-22 2023-06-30 이원술 Nft의 고유 번호를 바탕으로 가상 캐릭터를 생성하는 전자 장치의 제어 방법
WO2023204688A1 (ko) * 2022-04-22 2023-10-26 이원술 Nft의 고유 번호를 바탕으로 가상 캐릭터를 생성하는 전자 장치의 제어 방법
WO2023249162A1 (ko) * 2022-06-24 2023-12-28 신도헌 온라인 게임 서비스를 제공하는 방법 및 이를 위한 전자 장치
KR102593905B1 (ko) * 2023-04-27 2023-10-26 주식회사 세븐라인랩스 Nft를 이용한 게임 플랫폼 운영 방법

Also Published As

Publication number Publication date
KR102646102B1 (ko) 2024-03-08
US11420127B2 (en) 2022-08-23
US20210106920A1 (en) 2021-04-15
WO2019198845A1 (ko) 2019-10-17

Similar Documents

Publication Publication Date Title
KR102646102B1 (ko) 복수의 사용자들 간에 게임을 진행하여 게임 결과를 기록하기 위한 장치, 방법 컴퓨터 프로그램
US11951400B2 (en) Secure decentralized video game transaction platform
US11565186B2 (en) Method and device for acquiring probability information of gacha system, and computer program
US10290182B2 (en) Draw certificate based hybrid game
CN109475772A (zh) 可证明公平的游戏的系统和方法
JP7387302B2 (ja) ゲームシステム、プログラム及び処理方法
US11331579B1 (en) Systems and methods for distributing benefits to unique digital articles based on real-world information
US11338204B1 (en) Systems and methods for distributing geolocation-specific benefits to unique digital articles based on real-world information
JP2022534196A (ja) オフチェーン機能をもたらすブロックチェーントランザクションの使用
JP6393846B1 (ja) 異なるプラットフォーム間でのゲームデータの引継ぎ
JP2023504067A (ja) ブロックチェーンを用いたプロバブリー・フェアー・ゲーム
JP6075883B2 (ja) ゲームシステム、それに用いられる制御方法、及びコンピュータプログラム
US20190251788A1 (en) Systems for linked stochastic element wagering
KR20210003629A (ko) 전자 장치에서 아이템에 대한 전자 쿠폰을 제공하는 방법 및 전자 장치
WO2024116824A1 (ja) プログラムおよび情報処理システム
JP7495350B2 (ja) 安全な非集中型ビデオゲーム取引プラットフォーム
US20230277938A1 (en) Method and device for providing game service
JP7488402B2 (ja) 暗号資産を利用したゲームコンテンツを提供する方法及び装置
KR20230151772A (ko) 게임 서비스를 제공하는 방법 및 장치
WO2024116825A1 (ja) プログラムおよび情報処理システム
US20230127351A1 (en) Systems and methods to facilitate game unit management with a smart contract responsive to battles involving the game units
KR102569674B1 (ko) 게임 서비스를 제공하기 위한 장치, 방법 및 컴퓨터 프로그램
KR102153527B1 (ko) 가챠 이벤트 실행에 따른 누적 보상을 제공하는 방법 및 장치
JP2024077087A (ja) プログラムおよび情報処理システム
JP2024077637A (ja) プログラムおよび情報処理システム

Legal Events

Date Code Title Description
AMND Amendment
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