KR101870112B1 - 블록체인 기반의 게임 난이도 조절을 위해 작업 증명을 이용한 분산 원장 장치 및 분산 원장 방법 - Google Patents

블록체인 기반의 게임 난이도 조절을 위해 작업 증명을 이용한 분산 원장 장치 및 분산 원장 방법 Download PDF

Info

Publication number
KR101870112B1
KR101870112B1 KR1020180045113A KR20180045113A KR101870112B1 KR 101870112 B1 KR101870112 B1 KR 101870112B1 KR 1020180045113 A KR1020180045113 A KR 1020180045113A KR 20180045113 A KR20180045113 A KR 20180045113A KR 101870112 B1 KR101870112 B1 KR 101870112B1
Authority
KR
South Korea
Prior art keywords
information
difficulty
account
adjustment
game
Prior art date
Application number
KR1020180045113A
Other languages
English (en)
Inventor
김승연
임지순
Original Assignee
주식회사 미탭스플러스
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 주식회사 미탭스플러스 filed Critical 주식회사 미탭스플러스
Priority to KR1020180045113A priority Critical patent/KR101870112B1/ko
Application granted granted Critical
Publication of KR101870112B1 publication Critical patent/KR101870112B1/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
    • A63F11/00Game accessories of general use, e.g. score counters, boxes
    • A63F11/0074Game concepts, rules or strategies
    • 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
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • H04L67/104Peer-to-peer [P2P] networks
    • H04L67/1061Peer-to-peer [P2P] networks using node-based peer discovery mechanisms
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • H04L67/1097Protocols in which an application is distributed across nodes in the network for distributed storage of data in networks, e.g. transport arrangements for network file system [NFS], storage area networks [SAN] or network attached storage [NAS]
    • AHUMAN NECESSITIES
    • A63SPORTS; GAMES; AMUSEMENTS
    • A63FCARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
    • A63F11/00Game accessories of general use, e.g. score counters, boxes
    • A63F11/0074Game concepts, rules or strategies
    • A63F2011/0076Game concepts, rules or strategies with means for changing the level of difficulty

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Business, Economics & Management (AREA)
  • Computer Security & Cryptography (AREA)
  • General Business, Economics & Management (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)

Abstract

본 발명은 블록체인 기반의 게임 난이도 조절을 위해 강화학습을 이용한 분산 원장 장치, 분산 원장 방법, 트랜잭션 정보 브로드캐스트 장치 및 방법에 관한 것이다. 이를 위하여, 특정 사용자에 대하여 변경된 난이도 정보를 포함하는 난이도 정보 저장 요청 트랜잭션(Transaction)을 블록체인 내의 제1계정에서 수신하는 저장 요청 수신 단계; 난이도 정보 저장 요청 트랜잭션을 토대로 난이도 정보를 저장하는 저장 단계; 블록체인 내의 제2계정에서의 난이도 정보 확인에 관한 요청인 난이도 정보 확인 쿼리를 수신하는 난이도 정보 확인 요청 단계; 및 제2계정에 난이도 정보를 송신하는 난이도 정보 송신 단계;를 제공할 수 있다.

Description

블록체인 기반의 게임 난이도 조절을 위해 작업 증명을 이용한 분산 원장 장치 및 분산 원장 방법{Distributed Ledger Device and Distributed Ledger Method for Game Difficulty Control based on Block Chain using Proof of Work}
본 발명은 블록체인 기반의 게임 난이도 조절을 위한 분산 원장 장치, 분산 원장 방법, 트랜잭션 정보 브로드캐스트 장치 및 방법에 관한 것이다.
최근 가장 빠른 속도로 진보하는 산업들 중 가장 돋보이는 것이 바로 게임 산업이다. 특히 모바일 게임의 성장 속도가 매우 빨랐는데, 국내에서는 대표적으로 넷마블 게임즈가 2017년 5월 12일 코스피(KOSPI)에 상장하여 시총 약 17조원의 기업이 되었다. 또한, 국내에서 대표적으로 성공한 PC 게임 개발사로는 블루홀이 있다. 블루홀은 배틀그라운드의 성공으로 약 10조원의 가치로 평가받는다고 알려져있다.
최근 게임 산업 환경에서는 사용자들의 접근성이 높아지고, 대체할 수 있는 게임들이 많아지게 되면서 각 게임 회사들이 사용자의 정보를 분석하여 이탈률을 최소화하거나 리텐션(Retention)을 높이기 위한 여러가지 방법을 적극적으로 활용하고 있다. 난이도 정보 분석 방법으로는 대표적으로 코호트 분석, 퍼널 분석, ARPU(Average Revenue Per User) 분석 등이 있고, 이탈률을 최소화하거나 리텐션(Retention)을 높이기 위한 방법으로는 게임 외적 측면에서의 개선인 Growth hacking, 게임 내적 측면에서의 난이도 조절 등이 있다.
이때, 복수개의 PC/모바일 게임 애플리케이션에 대해 난이도 정보를 연결하게 되면, 보다 사용자의 상황에 최적화된 맞춤형 서비스가 가능하게 된다. 예를 들어, 복수개의 PC/모바일 게임 애플리케이션에 대해 난이도 시스템이나 추천 시스템을 통합하는 등의 전략이다. 이를 위해서는 DB의 미러링이 필요하다. 하지만, 서로 난이도 정보를 연결하려는 시도가 복수의 주체(entity)에 의해 수행되는 경우, DB의 미러링은 매우 어려운 문제가 있었다.
위와 같은 문제를 해결하기 위해, A사의 서버와 B사의 서버를 미러링 할 수 있지만, 완전히 미러링하는 것은 서비스의 안정성을 해치게 되므로 실질적으로 불가능하다고 할 수 있다. 또한, 전용선을 설치하는 방식도 가능하나, 인프라 비용이 상당한 문제가 발생된다.
대한민국 등록특허, 10-1751025, 블록체인 기반의 스마트 증권업무 처리 시스템(Smart system for trading stock based blockchain), 주식회사 온더 대한민국 등록특허, 10-1758870, 마이닝 관리 시스템 및 이를 이용한 마이닝 관리 방법(Mining Rig Monitoring System And Mining Rig Monitoring Method In Using Same), 주식회사 온더 미국 공개특허, US 2016/0342989 A1, Method and system for processing blockchain-based transactions on existing payment networks, Mastercard International Incorporated 미국 공개특허, US 2016/0292672 A1, Systems and methods of blockchain transaction recordation, Nasdaq, Inc. 미국 공개특허, US 20170132615 A1, Block chain alias for person-to-person payments, Bank Of America Corporation
따라서, 본 발명의 목적은 위와 같은 문제를 해결하기 위해, 기존의 네트워크 형태를 유지하면서도 블록체인 기반의 게임 난이도 조절을 위한 분산 원장 장치, 분산 원장 방법, 트랜잭션 정보 브로드캐스트 장치 및 방법을 제공하는 데에 있다.
이하 본 발명의 목적을 달성하기 위한 구체적 수단에 대하여 설명한다.
본 발명의 목적은, 난이도 정보 관리 계정, 제1계정 및 제2계정을 포함하는 적어도 일부의 블록체인을 저장하고, 상기 난이도 정보 관리 계정에 기저장된 난이도 정보를 포함하는 분산 원장이 저장된 메모리 모듈; 및 상기 메모리 모듈과 동작 가능하도록 결합되고, 상기 난이도 정보 관리 계정의 컴퓨터 판독 가능한 프로그램 코드를 실행하는 처리 모듈;을 포함하고, 상기 난이도 정보 관리 계정의 상기 프로그램 코드는, 특정 사용자에 대한 난이도 정보가 포함된 난이도 정보 저장 요청 트랜잭션(Transaction)을 상기 블록체인 내의 상기 제1계정에서 수신하는 저장 요청 수신 단계; 상기 난이도 정보 저장 요청 트랜잭션을 토대로 상기 난이도 정보를 저장하는 저장 단계; 상기 블록체인 내의 상기 제2계정에서의 난이도 정보 확인에 관한 요청인 난이도 정보 확인 쿼리를 수신하는 난이도 정보 확인 요청 단계; 및 상기 제2계정에 상기 난이도 정보를 송신하는 난이도 정보 송신 단계;를 포함하며, 상기 제1계정은 제1게임 애플리케이션을 서비스하는 제1서버와 연결되고, 제2계정은 제2게임 애플리케이션을 서비스하는 제2서버와 연결되며, 상기 블록체인 내의 복수의 계정을 이용하여, 복수의 게임 애플리케이션에 대해 상기 난이도 정보를 공유하는 것을 특징으로 하는, 블록체인 기반의 게임 난이도 조절을 위한 분산 원장 장치를 제공하여 달성될 수 있다.
또한, 상기 난이도 정보는, 상기 특정 사용자에게 적용될 난이도 조정의 방향성에 관한 정보인 조정 정보를 포함하고, 상기 조정 정보는 난이도 조정의 크기와 난이도 조정의 방향을 포함할 수 있다.
본 발명의 다른 목적은, 난이도 정보 관리 계정, 제1계정 및 제2계정을 포함하는 적어도 일부의 블록체인을 저장하고, 상기 난이도 정보 관리 계정에 기저장된 난이도 정보를 포함하는 분산 원장이 저장된 메모리 모듈; 및 상기 메모리 모듈과 동작 가능하도록 결합되고, 상기 난이도 정보 관리 계정의 컴퓨터 판독 가능한 프로그램 코드를 실행하는 처리 모듈;을 포함하고, 상기 난이도 정보 관리 계정의 상기 프로그램 코드는, 특정 사용자에 대한 플레이 정보가 포함된 플레이 정보 트랜잭션(Transaction)을 상기 블록체인 내의 상기 제1계정에서 수신하는 플레이 정보 수신 단계; 상기 플레이 정보 트랜잭션을 토대로 상기 특정 사용자에게 적용될 난이도 조정의 방향성에 관한 정보인 조정 정보를 생성하는 조정 정보 생성 단계; 상기 블록체인 내의 상기 제2계정에서의 상기 조정 정보의 확인에 관한 요청인 조정 정보 확인 쿼리를 수신하는 조정 정보 확인 요청 단계; 및 상기 제2계정에 상기 조정 정보를 송신하는 조정 정보 송신 단계;를 포함하며, 상기 제1계정은 제1게임 애플리케이션을 서비스하는 제1서버와 연결되고, 제2계정은 제2게임 애플리케이션을 서비스하는 제2서버와 연결되며, 상기 조정 정보는, 난이도 조정의 크기와 난이도 조정의 방향을 포함하고, 상기 블록체인 내의 복수의 계정을 이용하여, 복수의 게임 애플리케이션에 대해 상기 조정 정보를 공유하는 것을 특징으로 하는, 블록체인 기반의 게임 난이도 조절을 위한 분산 원장 장치를 제공하여 달성될 수 있다.
또한, 조정 정보 생성 단계는, 상기 특정 사용자의 플레이 정보를 토대로 이탈 가능성 정보를 계산하고, 상기 이탈 가능성 정보가 기설정된 특정 기준값 이상인 경우, 상기 이탈 가능성 정보가 상기 특정 기준값 미만이 되도록 상기 조정 정보를 생성하며, 상기 이탈 가능성 정보가 상기 특정 기준값 미만인 경우, 난이도가 상승하는 방향으로 상기 조정 정보를 생성하고, 상기 플레이 정보는, 상기 특정 사용자의 이탈 정보, 지속시간 정보, 레벨 정보, 퀘스트 해결 정보, 실패 정보, 성공 정보, 능력치 정보, 아이템 정보 및 가상 화폐 정보 중 적어도 하나인 것을 특징으로 할 수 있다.
또한, 조정 정보 생성 단계에서 상기 조정 정보의 생성에는 강화학습(Reinforcement Learning)이 이용되고, 상기 강화학습에서, 에이전트(Agent)는 상기 난이도 정보 관리 계정이 되고, 액션(Action)은 상기 조정 정보의 생성이고, 보상(Reward)은 상기 특정 사용자의 플레이 지속시간, 학습 속도 및 반복도 중 적어도 하나인 것을 특징으로 할 수 있다.
본 발명의 다른 목적은, 난이도 정보 관리 계정, 조정 정보 생성 계정, 제1계정 및 제2계정을 포함하는 적어도 일부의 블록체인을 저장하고, 상기 난이도 정보 관리 계정에 기저장된 난이도 정보를 포함하는 분산 원장이 저장된 메모리 모듈; 및 상기 메모리 모듈과 동작 가능하도록 결합되고, 상기 난이도 정보 관리 계정 및 상기 조정 정보 생성 계정의 컴퓨터 판독 가능한 프로그램 코드를 실행하는 처리 모듈;을 포함하고, 상기 조정 정보 생성 계정의 상기 프로그램 코드는, 특정 사용자에 대한 플레이 정보가 포함된 플레이 정보 트랜잭션(Transaction)을 상기 블록체인 내의 상기 제1계정에서 수신하는 플레이 정보 수신 단계; 및 상기 플레이 정보 트랜잭션을 토대로 상기 특정 사용자에게 적용될 난이도 조정의 방향성에 관한 정보인 조정 정보를 생성하는 조정 정보 생성 단계;를 포함하며, 상기 난이도 정보 관리 계정의 상기 프로그램 코드는, 상기 특정 사용자에 대한 조정 정보가 포함된 조정 정보 트랜잭션(Transaction)을 상기 블록체인 내의 상기 조정 정보 생성 계정에서 수신하는 저장 요청 수신 단계; 상기 조정 정보 트랜잭션을 토대로 상기 조정 정보를 저장하는 저장 단계; 상기 블록체인 내의 상기 제2계정에서의 조정 정보 확인에 관한 요청인 조정 정보 확인 쿼리를 수신하는 조정 정보 확인 요청 단계; 및 상기 제2계정에 상기 조정 정보를 송신하는 조정 정보 송신 단계;를 포함하며, 상기 제1계정은 제1게임 애플리케이션을 서비스하는 제1서버와 연결되고, 제2계정은 제2게임 애플리케이션을 서비스하는 제2서버와 연결되며, 상기 조정 정보는, 난이도 조정의 크기와 난이도 조정의 방향을 포함하고, 상기 블록체인 내의 복수의 계정을 이용하여, 복수의 게임 애플리케이션에 대해 상기 난이도 정보를 공유하는 것을 특징으로 하는, 블록체인 기반의 게임 난이도 조절을 위한 분산 원장 장치를 제공하여 달성될 수 있다.
본 발명의 다른 목적은, 난이도 정보 관리 계정, 제1계정, 제2계정을 포함하는 적어도 일부의 블록체인을 저장하고, 상기 난이도 정보 관리 계정에 기저장된 난이도 정보를 포함하는 분산 원장이 저장된 메모리 모듈; 및 상기 메모리 모듈과 동작 가능하도록 결합되고, 상기 난이도 정보 관리 계정의 컴퓨터 판독 가능한 프로그램 코드를 실행하는 처리 모듈;에 의해 수행되는 분산 원장 방법에 있어서, 상기 난이도 정보 관리 계정이, 상기 블록체인 내의 상기 제2계정에서의 난이도 정보 확인에 관한 요청인 난이도 정보 확인 쿼리를 수신하는 난이도 정보 확인 요청 단계; 및 상기 난이도 정보 관리 계정이, 상기 제1계정에서 수신되어 기저장된 상기 난이도 정보를 상기 제2계정에 송신하는 난이도 정보 송신 단계;를 포함하며, 상기 제1계정은 제1게임 애플리케이션을 서비스하는 제1서버와 연결되고, 제2계정은 제2게임 애플리케이션을 서비스하는 제2서버와 연결되며, 상기 블록체인 내의 복수의 계정을 이용하여, 복수의 게임 애플리케이션에 대해 상기 난이도 정보를 공유하는 것을 특징으로 하는, 블록체인 기반의 게임 난이도 조절을 위한 분산 원장 방법을 제공하여 달성될 수 있다.
본 발명의 다른 목적은, 블록체인에 저장되고 난이도 정보를 저장하는 난이도 정보 관리 계정이, 상기 블록체인 내의 제2계정에서의 상기 난이도 정보의 확인에 관한 요청인 난이도 정보 확인 쿼리를 수신하는 난이도 정보 확인 요청 단계; 및 상기 난이도 정보 관리 계정이, 상기 블록체인 내의 제1계정에서 수신되어 기저장된 상기 난이도 정보를 상기 제2계정에 송신하는 난이도 정보 송신 단계;를 포함하며, 상기 제1계정은 제1게임 애플리케이션을 서비스하는 제1서버와 연결되고, 제2계정은 제2게임 애플리케이션을 서비스하는 제2서버와 연결되며, 상기 블록체인 내의 복수의 계정을 이용하여, 복수의 게임 애플리케이션에 대해 상기 난이도 정보를 공유하는 것을 특징으로 하는 블록체인 기반의 게임 난이도 조절을 위한 분산 원장 방법을 컴퓨터 상에서 수행하기 위한 기록매체에 저장된 프로그램을 제공하여 달성될 수 있다.
본 발명의 다른 목적은, 사용자의 클라이언트에서 상기 사용자의 난이도 정보를 수신하는 난이도 정보 수신 모듈; 및 수신된 상기 난이도 정보를 특정 게임 계정에 대한 트랜잭션 정보에 포함시키고, 상기 난이도 정보가 포함된 상기 트랜잭션 정보를 분산 원장에 저장한 뒤, 블록체인 분산 네트워크를 통해 적어도 일부의 노드에 브로드캐스트(Broadcast)하는 브로드캐스트 모듈;을 포함하고, 상기 특정 게임 계정은, 상기 난이도 정보를 포함하는 상기 트랜잭션 정보를 수신하는 트랜잭션 정보 수신 단계; 및 난이도 정보 관리 계정에 상기 난이도 정보를 포함하는 난이도 정보 저장 트랜잭션(transaction)을 송신하는 트랜잭션 송신 단계;를 수행하는 컴퓨터 판독 가능한 프로그램 코드를 포함하며, 상기 난이도 정보 관리 계정에 저장된 상기 난이도 정보를 이용하여 복수의 게임 계정이 상기 난이도 정보를 공유하도록 관리하는 것을 특징으로 하는, 트랜잭션 정보 브로드캐스트 장치를 제공하여 달성될 수 있다.
본 발명의 다른 목적은, 사용자의 클라이언트에서 상기 사용자의 난이도 정보를 수신하는 난이도 정보 수신 모듈; 및 수신된 상기 난이도 정보를 특정 게임 계정에 대한 트랜잭션 정보에 포함시키고, 상기 난이도 정보가 포함된 상기 트랜잭션 정보를 분산 원장에 저장한 뒤, 블록체인 분산 네트워크를 통해 적어도 일부의 노드에 브로드캐스트(Broadcast)하는 브로드캐스트 모듈;에 의해 수행되는 트랜잭션 정보 브로드캐스트 방법에 있어서, 상기 특정 게임 계정이, 상기 난이도 정보를 포함하는 상기 트랜잭션 정보를 수신하는 트랜잭션 정보 수신 단계; 및 상기 특정 게임 계정이, 난이도 정보 관리 계정에 상기 난이도 정보를 포함하는 난이도 정보 저장 트랜잭션(transaction)을 송신하는 트랜잭션 송신 단계를 포함하고, 상기 난이도 정보 관리 계정에 저장된 상기 난이도 정보를 이용하여 복수의 게임 계정이 상기 난이도 정보를 공유하도록 관리하는 것을 특징으로 하는, 트랜잭션 정보 브로드캐스트 방법을 제공하여 달성될 수 있다.
상기한 바와 같이, 본 발명에 의하면 이하와 같은 효과가 있다.
첫째, 본 발명의 일실시예에 따르면, 기존의 네트워크를 그대로 유지하면서도 복수의 주체(entity)들의 PC/모바일 게임 애플리케이션의 난이도 정보를 통합하여 심리스(Seamless)한 난이도 경험을 사용자에게 제공할 수 있는 효과가 발생된다.
둘째, 본 발명의 일실시예에 따르면, 게임과 같은 PC/모바일 어플리케이션에서 게임 애플리케이션 전체적으로 이탈률이 저감되게 되는 효과가 발생된다.
본 명세서에 첨부되는 다음의 도면들은 본 발명의 바람직한 실시예를 예시하는 것이며, 발명의 상세한 설명과 함께 본 발명의 기술사상을 더욱 이해시키는 것이므로, 본 발명은 그러한 도면에 기재된 사항에만 한정되어 해석되어서는 아니 된다.
도 1은 본 발명의 일실시예에 따른 분산 원장 장치를 도시한 모식도,
도 2는 다양한 노드의 형태를 도시한 모식도,
도 3은 본 발명의 일실시예에 따른 메모리 모듈의 데이터 구조를 도시한 모식도,
도 4는 본 발명의 일실시예에 따른, 특정 게임 서버(20)와 블록체인(30) 관계를 도시한 모식도,
도 5는 본 발명의 일실시예에 따른 게임 서버(20)와 블록체인(30)을 도시한 모식도,
도 6은 본 발명의 일실시예에 따른 난이도 정보 확인 쿼리를 도시한 모식도,
도 7은 본 발명의 일실시예에 따른 미러링 메시지 트랜잭션(Tx, Transaction)과 응답 트랜잭션(Tx, Transaction) 정보를 도시한 모식도,
도 8은 변경된 난이도 정보의 저장이 요청될 때, 본 발명의 일실시예에 따른 분산 원장 장치(1)의 처리 모듈(11)의 처리 단계(난이도 정보 저장 방법)를 도시한 흐름도,
도 9는 특정 게임 계정에서 난이도 정보의 확인이 요청될 때(특정 게임 애플리케이션을 실행할 때), 본 발명의 일실시예에 따른 분산 원장 장치(1)의 처리 모듈(11)의 처리 단계(난이도 정보 확인 방법)를 도시한 흐름도,
도 10은 본 발명의 다른 실시예에 따른 게임 서버(20)와 블록체인(30)을 도시한 모식도,
도 11은 본 발명의 트랜잭션 정보 송신 장치(2)와 분산 원장 장치(10)의 HTTP 통신을 도시한 모식도,
도 12는 본 발명의 일실시예에 따른 트랜잭션 정보 송신 장치(2)가 난이도 정보 저장 요청(난이도 정보를 포함함)을 수신한 경우를 도시한 모식도,
도 13은 본 발명의 일실시예에 따른 트랜잭션 정보 송신 장치가 난이도 정보 저장 요청을 수신한 경우를 도시한 흐름도이다.
이하 첨부된 도면을 참조하여 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자가 본 발명을 쉽게 실시할 수 있는 실시예를 상세히 설명한다. 다만, 본 발명의 바람직한 실시예에 대한 동작원리를 상세하게 설명함에 있어서 관련된 공지기능 또는 구성에 대한 구체적인 설명이 본 발명의 요지를 불필요하게 흐릴 수 있다고 판단되는 경우에는 그 상세한 설명을 생략한다.
또한, 도면 전체에 걸쳐 유사한 기능 및 작용을 하는 부분에 대해서는 동일한 도면 부호를 사용한다. 명세서 전체에서, 특정 부분이 다른 부분과 연결되어 있다고 할 때, 이는 직접적으로 연결되어 있는 경우뿐만 아니라, 그 중간에 다른 소자를 사이에 두고, 간접적으로 연결되어 있는 경우도 포함한다. 또한, 특정 구성요소를 포함한다는 것은 특별히 반대되는 기재가 없는 한 다른 구성요소를 제외하는 것이 아니라, 다른 구성요소를 더 포함할 수 있는 것을 의미한다.
블록체인 기반의 게임 난이도 조절을 위한 분산 원장 장치
분산 원장 장치에 관하여, 도 1은 본 발명의 일실시예에 따른 분산 원장 장치를 도시한 모식도이다. 도 1에 도시된 바와 같이, 본 발명의 일실시예에 따른 분산 원장 장치(1)는 블록체인 분산 네트워크(100)의 노드 중 하나를 의미할 수 있고, 통신 모듈(10), 처리 모듈(11), 메모리 모듈(12)을 포함할 수 있다.
블록체인 분산 네트워크(100)는 블록체인의 분산 원장을 저장하고 있는 복수대의 노드로 구성된 P2P 분산 네트워크를 의미한다. 블록체인 분산 네트워크(100)는 적어도 일부의 노드가 동일한 처리를 할 수 있도록 구성되기 때문에 일부의 노드가 Shut down 되거나 변조되더라도 시스템 전체에는 영향을 주지 않는 특징을 가진다. 노드는 블록체인 분산 네트워크(100)에 연결된 모든 컴퓨팅 장치를 의미할 수 있다. 이러한 노드는 디지털 지갑, 블록체인 복사본, 검증 엔진, 채굴 엔진, P2P 네트워크 배포 기능(브로드캐스트) 등을 포함할 수 있으며, 조금 더 Light한 기능들로만 구성된 클라이언트들도 포함될 수 있다. 본 발명의 일실시예에 따른 블록체인 분산 네트워크(100)는 Pure P2P와 슈퍼 노드(Super Node)를 포함하는 Hybrid P2P를 포함할 수 있다. 특히 본 발명의 일실시예에 따른 노드는 PC/모바일 게임 애플리케이션의 소스코드와 함께 클라이언트에 설치될 수 있다.
노드와 관련하여, 도 2는 다양한 노드의 형태를 도시한 모식도이다. 도 2에 도시된 바와 같이, 레퍼런스 클라이언트(Reference client)는 사용자들의 디지털 지갑 관리 모듈, 합의 알고리즘이 작업 증명(POW, Proof of Work)인 경우 블록 채굴(Block Mining)을 위한 마이닝 모듈(Mining Module), 전체 블록체인 중 전부 또는 적어도 일부의 블록을 저장하는 블록체인 데이터베이스(Blockchain Database), 트랜잭션(Transaction)을 블록체인 분산 네트워크에 브로드캐스트(Broadcast)하는 네트워크 라우팅 모듈(Network Routing Module)을 포함하는 노드를 의미할 수 있고, 예를 들어 Bitcoin Core의 Client 등을 의미할 수 있다. 풀노드(Full Node)는 블록체인 데이터베이스, 네트워크 라우팅 모듈을 포함하는 노드를 의미할 수 있다. 솔로 마이너 노드(Solo Miner Node)는, 마이닝 모듈, 블록체인 데이터베이스, 네트워크 라우팅 모듈을 포함하는 노드를 의미할 수 있다. 마이닝 노드(Mining Node)는, 마이닝 풀(Mining Pool)의 노드를 의미하는 풀 마이닝 노드(Pool Mining Node)에 연결되는 게이트웨이 라우터(Gateway Router)와 마이닝 모듈을 포함하는 가벼운 노드를 의미할 수 있다. 라이트웨이트 월렛 노드(Lightweight Wallet Node)는 일반적으로 블록체인의 헤더정보만 저장하고, 디지털 지갑 관리 모듈을 보유하여 사용자의 디지털 지갑을 저장하며, 네트워크 라우팅 모듈을 포함하긴 하지만 블록체인 데이터베이스를 포함하지 않아 트랜잭션 생성이나 블록체인 분산 네트워크에 접근하기 위해서는 제3자가 소유한 서버에 의존하는 가벼운 노드를 의미할 수 있다. 본 발명의 일실시예에 따른 분산 원장 장치(1)는 위의 노드들 중 블록체인 데이터베이스와 네트워크 라우팅 모듈을 포함하는 노드들을 의미할 수 있다. 또한, 본 발명의 일실시예에 따른 노드가 마이닝 모듈을 포함하는 경우에는 POW(Proof of Work) 또는 POS(Proof of Stake) 방식으로 사용자 클라이언트가 마이닝을 수행하도록 구성할 수 있다.
통신 모듈(10)은 트랜잭션(Transaction)을 블록체인 분산 네트워크에 브로드캐스트(Broadcast)하는 네트워크 라우팅 모듈(Network Routing Module)이나 풀 마이닝 노드(Pool Mining Node)에 연결되는 게이트웨이 라우터(Gateway Router) 등을 의미할 수 있다.
처리 모듈(11)은 메모리 모듈(12)에 저장된 분산 원장인 블록체인의 블록에 저장되어 있는 트랜잭션의 내용을 처리하는 모듈이다. 본 발명의 일실시예에 따른 처리 모듈(11)은 Ethereum Virtual Machine과 같은 가상 머신(VM)으로 구성될 수 있다. 이러한 가상 머신은 예를 들어, Mutan, LLL, Serpent, Solidity 등과 같은 상위 레벨 언어로 만들어진 코드(스마트 계약, Smart Contract)가 컴파일되어 생성되는 Byte Code를 실행하기 위한 Runtime이고, OPCODE 및 Stack 외에 Memory 및 Storage를 사용하는 주체이기도 하다.
메모리 모듈(12)은 분산 원장을 저장하는 모듈로서, 전체 블록체인 중 전부 또는 일부의 블록을 저장하는 블록체인 데이터베이스(Blockchain Database)를 의미할 수 있다. 도 3은 본 발명의 일실시예에 따른 메모리 모듈의 데이터 구조를 도시한 모식도이다. 도 3에 도시된 바와 같이, 본 발명의 일실시예에 따른 메모리 모듈(12)은 전부 또는 일부의 블록체인을 저장할 수 있고, 각 블록 헤더에는 앞 블록 헤더의 해시 값(hash), 해답 값(nonce), 트랜잭션 그룹의 해시 값과 그 밖에 생성된 시간에 대한 정보인 Timestamp(미도시), 채굴 난이도를 의미하는 Difficulty(미도시), 블록의 넘버를 의미하는 Block Number(미도시) 등이 포함될 수 있다. 각 블록 바디(Contents)에는 적어도 하나 이상의 트랜잭션 정보(특히, 본 발명의 일실시예에 따른 난이도 정보 저장 트랜잭션 정보)가 포함될 수 있다.
또한, 블록에는 특정 게임 계정과 난이도 정보 관리 계정이 포함될 수 있다. 도 4는 본 발명의 일실시예에 따른, 특정 게임 서버(20)와 블록체인(30) 관계를 도시한 모식도이다. 도 4에 도시된 바와 같이, 특정 게임 계정(31)은 EOA(Externel Owned Account) 또는 CA(Contract Account)로 구성될 수 있고, 특정 PC/모바일 게임 애플리케이션의 서버(20)에 연결되어 특정 게임의 난이도 정보와 특정 게임 계정의 난이도 정보가 페어링(pairing)되도록 구성되고, 난이도 정보 관리 계정(32)의 난이도 정보와 미러링(mirroring) 되도록 구성될 수 있다. 난이도 정보 관리 계정(32)은 EOA(Externel Owned Account) 또는 CA(Contract Account)로 구성될 수 있고, 복수의 게임 계정(31)과 연결되어 변경된 난이도 정보를 수신하고, 난이도 정보를 통해 복수의 게임 계정(31)의 난이도 정보와 미러링(mirroring) 되도록 구성될 수 있다.
난이도 정보 관리 계정(32)의 생성을 위한 난이도 정보 관리 계정 생성 트랜잭션 정보에는, address는 포함되지 않을 수 있고, 본 발명의 일실시예에 따른 스마트 계약의 일종인 난이도 정보 관리 계정의 코드(예를 들면, Byte code)를 포함할 수 있다. 난이도 정보 관리 계정 생성 트랜잭션 정보를 블록에 저장하고 실행하게 되면, 해당 스마트 계약에 대한 계약 계정(Contract account)의 일종인 난이도 정보 관리 계정의 주소가 생성되고 블록에 저장된다. 본 발명의 일실시예에 따른 난이도 정보 관리 계정을 생성한 뒤에 난이도 정보 관리 계정을 조건부로 이용하는 특정 게임 계정인 특정 게임 계정(31)을 생성하거나, 기존의 특정 게임 계정(31)을 수정하여 배포할 수 있다.
특정 사용자의 클라이언트에서 특정 게임의 게임 애플리케이션(PC 또는 모바일)이 종료되면, 특정 게임의 난이도 정보는 난이도 정보 관리 계정에 저장되게 된다. 도 3에 도시된 바와 같이, 난이도 정보 저장 트랜잭션 정보에는, 난이도 정보 관리 계정 주소 정보, 난이도 정보 저장 실행 명령, 해당 명령의 매개변수(parameter) 중 하나인 난이도 정보, 기타 전달하고자 하는 가치 정보(Value) 또는 매개변수, 사용자 식별 정보(각 사용자 별로 난이도 정보 관리 계정이 생성되는 경우에는 불필요)를 포함할 수 있다. 난이도 정보 저장 트랜잭션 정보를 블록에 저장하고 실행하게 되면, 난이도 정보 관리 계정은 기저장된 난이도 정보를 새로운 난이도 정보로 업데이트 할 수 있다. 업데이트된 난이도 정보는 난이도 정보 관리 계정의 스토리지(Storage)나 메모리(memory) 내에 포함하는 등의 방법으로 블록에 저장될 수 있다.
본 발명의 일실시예에 따른 난이도 정보는, 특정 사용자에게 적용될 난이도 조정의 방향성에 관한 정보인 조정 정보를 포함할 수 있다. 본 발명의 일실시예에 따른 조정 정보는 조정 크기와 조정 방향을 포함한 벡터 정보로서, 예를 들어, 20%(조정 크기)만큼 난이도 하락(조정 방향)하도록 구성될 수 있다. 본 발명의 일실시예에 따라 난이도 정보가 조정 정보를 포함하는 경우, 특정 사용자의 복수의 게임에 대한 플레이에 일괄적으로 난이도 조절을 수행할 수 있게 되는 효과가 발생된다. 특히, 난이도를 조절하려는 복수의 게임의 카테고리가 다양할 경우에도 난이도 조절을 적용할 수 있게 되는 효과가 발생된다.
이러한 본 발명의 일실시예에 따른 조정 정보는 각각의 특정 게임 서버(20) 측에 구비된 조정 정보 생성 모듈에 의해 생성될 수 있다. 도 5는 본 발명의 일실시예에 따른 게임 서버(20)와 블록체인(30)을 도시한 모식도이다. 도 5에 도시된 바와 같이, 본 발명의 일실시예에 따른 게임 서버(20)는 난이도 조절 모듈(21)과 조정 정보 생성 모듈(22)을 포함할 수 있다.
본 발명의 일실시예에 따른 난이도 조절 모듈(21)은 게임 계정(31)과의 페어링을 통해 게임 계정(31)에서 조정 정보를 업데이트 받고, 조정 정보에 따라 해당 게임의 난이도를 조절하는 모듈이다. 본 발명의 일실시예에 따른 조정 정보에 기초한 난이도의 조절은 각 게임의 카테고리에 따라 달리 적용될 수 있다. 예를 들어, 퍼즐게임(애니팡, 모두의 마블, 캔디크러시, 프렌즈 팝, 사천성, 앵그리버드, 테트리스 등)의 경우, 사용자에게 이득이 되는 아이템/이벤트의 출현 빈도, 이득 크기, 난수 범위의 제한으로 출현되는 이벤트의 다양성 감소 등으로 난이도 조절을 수행할 수 있다.
또한, RPG 게임(영웅의 군단, 뮤 오리진, 서머너즈 워, 세븐나이츠, 진삼국무쌍, 레이븐, 블레이드, HIT, 메이플 스토리, 소드 아트 온라인 등)의 경우, 적(enemy) NPC(non-player character)의 수, 적 NPC의 능력치, 적 NPC의 출현 빈도, 성공시 보상, 아이템 출현 빈도 등으로 난이도 조절을 수행할 수 있다. 또한, 슈팅, 러닝, 액션 및 어드벤처 게임(드래곤 플라이트, 스텔라 사가, 페르시아의 왕자, 코만도, 콜 오브 듀티, NOVA, 데드 스페이스, 프렌즈런, 소닉, 윈드러너, 메탈슬러그, 어쌔신 크리드, GTA, 다함께 차차차, Need for Speed 등)의 경우, 장애물 또는 아이템의 출현 빈도, 적 NPC의 반응속도, 적 NPC의 능력치, 성공 판정 확률 범위 등으로 난이도 조절을 수행할 수 있다. 또한, 시뮬레이션 및 실시간 전략게임(클래시 오브 퀸즈, 클래시 오브 클랜, 도미네이션즈, 붐비치, 수호지, 냥코 대전쟁, 히어로즈 오브 오더앤카오스, 클래시 로얄, 하스스톤 등)의 경우, 상대 사용자의 레벨, 아이템 등 보상 출현 빈도, 이득 이벤트 출현 빈도 등으로 난이도 조절을 수행할 수 있다. 또한, 리듬 게임(비트매니아, 탭소닉, 리듬스타, 비트팡팡 등)의 경우, 성공 판정 확률, 비트 속도, 점수 보상 등으로 난이도를 조절할 수 있다. 또한, 스포츠 게임(마구마구, 이사만루, 차구차구, FIFA online 등)의 경우, 상대 사용자의 레벨, 적 NPC의 능력치, 성공 판정 확률, 이득 이벤트 확률, 아이템 등 보상 출현 빈도 등으로 난이도 조절을 수행할 수 있다.
본 발명의 일실시예에 따른 조정 정보 생성 모듈(22)은 해당 사용자의 플레이 정보(사용자의 특정 게임에서의 사용자의 이탈 정보, 사용자의 지속시간 정보, 사용자의 레벨 정보, 사용자의 퀘스트 해결 정보, 사용자의 실패 정보, 사용자의 성공 정보, 사용자의 능력치 정보, 사용자의 아이템 정보 등)를 토대로 이탈 가능성 정보를 계산하고, 해당 이탈 가능성 정보가 기설정된 특정 Threshold 위에 위치한 경우, 특정 Threshold 이하에 위치하도록 조정 정보를 생성할 수 있다. 또는, 해당 이탈 가능성 정보가 이미 기설정된 특정 Threshold 아래에 위치한 경우, 난이도가 상승하는 방향으로 조정 정보를 생성할 수 있다(이에 따라, 몰입도가 상승되는 효과가 발생된다). 이때, 조정 정보의 생성에는 강화학습(Reinforcement Learning), 유전자 알고리즘(Genetic Algorithm), 각종 인공 신경망 모델(ANN, Artificial Neural Network) 등의 최적화 알고리즘이 이용될 수 있다. 본 발명의 일실시예에 따라 조정 정보의 생성에 강화학습이 이용되는 경우, 최적화 알고리즘의 에이전트(Agent)는 조정 정보 생성 모듈이 되고, 액션(Action)은 특정 조정 정보의 생성을 의미할 수 있고, 상태(State)는 현재의 난이도 정보로 구성될 수 있다. 또한, 보상(Reward)은 사용자의 몰입도와 관련된 메타 데이터인 사용자의 플레이 지속시간(특정 게임을 얼마나 더 지속적으로 플레이 하는지), 사용자의 학습 속도(특정 게임을 얼마나 더 빠르게 잘하게 되는지), 사용자의 반복도(특정 기간 내에 특정 게임을 얼마나 더 많이 반복하는지) 등으로 설정될 수 있다.
본 발명의 일실시예에 따른 이탈 가능성 정보는, 해당 사용자의 플레이 정보 및 전체 사용자 중 적어도 일부의 사용자들의 플레이 정보를 토대로 해당 사용자가 특정 게임의 플레이를 이탈(특정 기간 내 플레이 하지 않는 것, 사용자의 플레이 지속시간이 특정 수준 이하가 되는 것 등)할 가능성이 얼마나 되는지에 대한 정보를 의미할 수 있다.
또한, 본 발명의 일실시예에 따른 조정 정보 생성 모듈(22)에서는 이탈 가능성 정보 대신 성공 가능성 정보가 이용될 수 있다. 본 발명의 일실시예에 따른 성공 가능성 정보는, 해당 사용자가 특정 게임의 특정 이벤트를 성공할 확률에 관한 정보이다. 본 발명의 일실시예에 따른 조정 정보 생성 모듈(22)은 해당 사용자의 플레이 정보를 토대로 성공 가능성 정보를 계산하고, 해당 성공 가능성 정보가 기설정된 특정 범위 내에 수렴하도록 조정 정보를 생성할 수 있다. 예를 들어, 본 발명의 일실시예에 따른 성공 가능성 정보가 50%인 경우, 해당 사용자가 해당 이벤트에 대해 성공할 확률이 50%인 것을 의미할 수 있고, 난이도를 낮추는 방향(예를 들어, 성공 가능성 정보가 80% 내지 120%에 수렴되는 방향)으로 조정 정보가 생성될 수 있다. 또한, 예를 들어, 본 발명의 일실시예에 따른 성공 가능성 정보가 250%인 경우, 해당 사용자가 해당 이벤트에 대해 성공할 확률이 250%인 것을 의미할 수 있고, 난이도를 높이는 방향(예를 들어, 성공 가능성 정보가 80% 내지 120%에 수렴되는 방향)으로 조정 정보가 생성될 수 있다.
성공 가능성 정보의 상기 기설정된 특정 범위는 특정 사용자 또는 전체 중 적어도 일부의 사용자의 성공 및 실패 정보(플레이 정보 내 포함) 및 이탈 가능성 정보(특정 기간 내 플레이 하지 않는 것, 사용자의 플레이 지속시간이 특정 수준 이하가 되는 것 등)에 의해 최적화될 수 있다. 성공 가능성 정보의 최적화에는 강화학습(Reinforcement Learning), 유전자 알고리즘(Genetic Algorithm), 각종 인공 신경망 모델(ANN, Artificial Neural Network) 등의 최적화 알고리즘이 이용될 수 있다.
특정 사용자의 클라이언트(PC 또는 모바일)에서 특정 게임의 게임 애플리케이션이 실행되면, 난이도 정보 관리 계정에 기저장된 난이도 정보가 특정 게임 계정을 통해 특정 게임에 적용되게 된다. 도 6은 본 발명의 일실시예에 따른 난이도 정보 확인 쿼리를 도시한 모식도이다. 도 6에 도시된 바와 같이, 본 발명의 일실시예에 따라 특정 게임 계정은 해당 특정 게임이 로드될 때, 난이도 정보 관리 계정의 기저장된 난이도 정보에서 난이도 정보를 로드하기 위해, 난이도 정보 관리 계정에 난이도 정보 확인 쿼리(Query)를 송신할 수 있다. 난이도 정보 확인 쿼리에는, 난이도 정보 관리 계정 주소 정보, 난이도 정보 확인 명령, 해당 명령의 매개변수 중 하나인 카테고리 정보, 기타 확인하고자 하는 가치 정보(Value) 또는 매개변수, 사용자 식별 정보(각각의 사용자에게 난이도 정보 관리 계정이 생성되는 경우에는 불필요)를 포함할 수 있다. 난이도 정보 확인 쿼리는 Local(해당 사용자의 클라이언트 또는 해당 서비스사의 노드)의 분산 원장 장치(1)에만 요청되고, 블록체인 분산 네트워크 전체의 상태를 변경하지 않는다. 본 발명의 일실시예에 따른 난이도 정보 관리 계정이 난이도 정보 확인 쿼리를 수신하게 되면, 난이도 정보가 난이도 정보 관리 계정의 스토리지(Storage)나 메모리(memory) 내에 저장된 난이도 정보를 특정 게임 계정에 송신(리턴)하여 특정 게임 계정의 스마트 계약이 이후 알고리즘을 수행하도록 구성될 수 있다.
또한, 난이도 정보의 로드(load)는 메시지 트랜잭션을 통해서도 가능하다. 도 7은 본 발명의 일실시예에 따른 미러링 메시지 트랜잭션(Tx, Transaction)과 응답 트랜잭션(Tx, Transaction) 정보를 도시한 모식도이다. 도 7에 도시된 바와 같이, 특정 게임 계정에서는 난이도 정보의 미러링을 위하여 난이도 정보 관리 계정에 미러링 메시지 트랜잭션을 송신할 수 있고, 난이도 정보 관리 계정에서 난이도 정보를 로드(load)하여 특정 게임 계정에 난이도 정보를 포함한 응답 메시지 트랜잭션 정보를 송신하여 특정 게임 계정의 스마트 계약의 이후 절차가 수행되도록 구성될 수 있다. 이러한 응답 메시지 트랜잭션 정보에는, 특정 게임 계정 주소 정보, 난이도 정보 미러링 명령, 해당 명령의 매개변수 중 하나인 난이도 정보, 기타 가치 정보(Value) 또는 매개변수, 사용자 식별 정보(각각의 사용자에게 난이도 정보 관리 계정이 생성되는 경우에는 불필요)를 포함할 수 있다. 본 발명의 일실시예에 따른 응답 메시지 트랜잭션 정보는 검증이 완료되면 블록체인 분산 네트워크(100) 내에 배포(브로드캐스트)되어 전체 노드에서 특정 게임 계정의 스마트 계약이 수행되도록 구성될 수 있다.
이러한 스마트 계약의 Code는 예를 들어, Ethereum 의 경우, Solidity, Serpent, LLL, Mutan의 언어로 쓰여질 수 있는데, 현재는 Solidity가 주로 사용되고 있으며 문법은 JavaScript와 유사하다. Smart Contract 는 "변수", "구조체" 및 "함수"를 포함하여 처리 모듈(11)에 의해 처리되는 프로그램 코드이다. 이러한 Smart Contract Code 는 Compile 과정을 거쳐 Byte Code로 변환될 수 있다. Byte code는 Solidity Realtime Compiler를 통해 컴파일될 수 있다. Solidity의 Byte code는 모두 16진수로 된 코드이며, Solidity에서 이 Byte code를 수신 주소 없이 Payload (data: ) 로 할당하여 Blockchain에 Transaction을 배포하면, Miner에 의해 Block이 생성되고, 이러한 Transaction은 Contract Creation Transaction으로 간주되어, Transaction Receipt의 contractAddress: 필드에 생성(배포)된 Contract의 주소를 넣어서 리턴해주게 된다.
Smart Contract 개발환경은 개발도구와 Compiler 까지를 포함한 범위를 포함할 수 있다. 예를 들어, Solidity의 경우, Code를 작성하고 컴파일하면 모든 컴파일러는 [Byte Code] 와 [Function Signature], [ABI]를 출력하게 된다.
Byte Code는 이미 위에서 설명한 것과 같이, Smart Contract Code를 컴파일 한 결과이며, Blockchain에 Contract Creation Transaction을 발생시켜 배포하는 경우, Contract로의 Message Tx(Transaction의 줄임말)이 발생되는 경우, Contract로의 Call/Query가 발생되는 경우를 통해 분산 원장 장치(1, 이더리움의 경우 EVM) 위에서 실행된다.
Function Signature는 Contract 함수 호출 시 인터페이스로 이용되는 것이고, Contract 함수 이름을 SHA3 암호 해시 함수로 해시한 4바이트 값의 Hash값이다.
ABI(Application Binary Interface)는 특정 언어나 플랫폼에 종속되지 않은 방식으로 기술된 Application Interface를 의미한다. ABI 정의를 컴파일러 혹은 ABI Generator가 출력해내는데, ABI 에는 Smart Contract의 함수와 Parameter에 대한 Meta data가 정의되어있다. ABI 를 갖고 JavaScript 언어 기반의 어플리케이션을 만들 때 객체를 만들게 할 수 있고, 쉽게 그 객체의 Method를 호출하는것 만으로 Contract의 함수가 호출되도록 할 수 있는 것이다. 현재 Ethereum 은 web3.js와 함께 JavaScript 응용에서 쉽게 ABI 로 객체를 만들어 사용하도록 지원하며, 1.4.0 이후의 go-ethereum 에서는 Go Native 언어 기반의 응용에서 Smart Contract 를 쉽게 Binding 가능하도록, ABI 기반으로 Go Code를 생성해주는 ABIGen을 제공하고 있다.
이러한 Smart Contract 개발 환경은 Blockchain Engine과 연결되어 Contract Creation/Deployment, Message Tx, Call/Query를 전달할 수 있는데, 이러한 Blockchain Engine은 본 발명의 일실시예에 따른 분산 원장 장치(1)를 의미하고, 이더리움의 예에서는 geth나 parity, eth와 같은 Ethereum Node를 의미한다. 결국 모든 Smart Contract 와 관련한 Transaction 처리와 Contract 실행을 위한 EVM과 같은 가상 머신은 분산 원장 장치(1)와 같은 Node 위에 구성되어 있다.
이러한 Smart Contract 개발 환경에서 ABI는 Applications와 연결될 수 있다. Smart Contract는 Logic만을 갖고 있고, 사용자나 외부 시스템과의 상호작용을 위해서는 Application이 필요하다. HTML+CSS+JavaScript, Application Server, Wallet 등의 Application은 예를 들어, Ethereum과의 Interface를 통해 Smart Contract와 상호작용하는 구성이다.
Smart Contract Code는 크게 [Creation/Deployment] [Invoke by Message] [Call]로 구분될 수 있다. 본 발명의 일실시예에 따른 난이도 정보 관리 계정의 코드도 크게 계약 계정 생성, 메시지 트랜잭션에 의한 난이도 정보 저장, 쿼리에 의한 난이도 정보 확인, 트랜잭션에 의한 난이도 정보 미러링으로 구분될 수 있다.
난이도 정보의 변조 방지와 관련하여, 블록의 증명 방법으로서 기존의 POW(작업 증명, Proof of Work)를 수행하게 되면, 노드가 PC/모바일 게임 애플리케이션을 실행하기 위한 사용자의 클라이언트인 경우 지나치게 많은 컴퓨팅 파워가 요구되는 문제가 발생된다. 이러한 문제를 해결하기 위해, 본 발명의 일실시예에 따르면, 특정 사용자가 특정 PC/모바일 게임 애플리케이션에서 기설정된 조건(예를 들어, 게임 애플리케이션 사용 시간, 레벨 상승, 퀘스트 해결 등)을 만족하면 새롭게 생성된 블록을 증명하도록 구성될 수 있다. 게임 애플리케이션 사용자의 사용 정도, 노력, 서비스 참여도에 기반한 이러한 증명 방법을 통해 특정 시간 간격으로 생성되는 블록을 증명하게 되는 경우, 컴퓨팅 파워를 남용하지 않으면서도 변조되어 새롭게 형성된 블록체인을 폐기할 수 있게 되는 효과가 발생된다.
도 8은 변경된 난이도 정보의 저장이 요청될 때, 본 발명의 일실시예에 따른 분산 원장 장치(1)의 처리 모듈(11)의 처리 단계(난이도 정보 저장 방법)를 도시한 흐름도이다. 도 8에 도시된 바와 같이, 본 발명의 일실시예에 따른 처리 모듈(11)은, 난이도 정보 저장 요청(메시지 트랜잭션의 형태)을 수신하면, 주소 호출 단계(S10), 저장 명령 단계(S11), 저장 단계(S12), 배포 단계(S13)를 포함하여 트랜잭션 정보를 처리할 수 있다.
주소 호출 단계(S10)는 처리 모듈(11)이 난이도 정보 저장 요청에 저장된 난이도 정보 관리 계정의 주소를 호출하는 단계이다. 주소 호출 단계(S10)에 의해 가상 머신인 분산 원장 장치(1)에서 스마트 계약의 일종인 난이도 정보 관리 계정의 코드가 실행될 수 있도록 활성화되게 된다.
저장 명령 단계(S11)는 난이도 정보 저장 요청의 난이도 정보 저장 실행 명령에 의해 난이도 정보 관리 계정의 코드 중 적어도 일부인 난이도 정보 저장 코드를 실행하는 단계이다.
저장 단계(S12)는 난이도 정보 관리 계정의 코드 중 일부인 난이도 정보 저장 코드에 의해 난이도 정보 저장 요청에 포함되어 있는 매개변수(parameter)인 난이도 정보를 포함하여 난이도 정보 저장 트랜잭션을 생성하고, 생성된 난이도 정보 저장 트랜잭션을 난이도 정보 관리 계정의 스토리지(Storage) 또는 메모리(Memory)에 저장하는 단계이다. Contract Account 는 Storage라고 불리는 Persistent 저장소를 포함할 수 있다. 스토리지(Storage)에서는 Key-Value 맵 구조로 32바이트 키를 32바이트 값으로 맵핑하도록 되어있다. 특정 Smart Contract는 자기 자신 이외의 Contract의 Storage를 읽거나 쓸 수 없을 수 있다. Memory는 Smart Contract가 Message Call이 있을 때마다 최신의 Instance를 얻을 수 있는 공간으로 구성될 수 있다. 메모리(Memory)에서는 Byte 레벨로 읽고 쓸 수 있으나 32바이트 단위 Chunk로 저장될 수 있다. 즉, 메모리(Memory)에서는 1이라는 값을 저장하면 32바이트 (256비트) 공간에 저장될 수 있다. 예를 들어, EVM은 총 1024개의 Instruction Set (OPCODE) 를 담을 수 있는 Stack을 포함하며, 256비트의 word (값)을 가질 수 있다.
배포 단계(S13)는 저장 단계(S12)에 의해 변경된 상태(State)인 난이도 정보를 분산 원장 장치(1)가 블록체인 분산 네트워크(100)의 전체 노드로 배포하여 브로드캐스트하는 단계이다.
본 발명의 일실시예에 따른 난이도 정보 저장 트랜잭션 정보에 의하면 처리 모듈(11)에 의해 난이도 정보 관리 계정의 스토리지 또는 메모리에 난이도 정보가 저장되고 전체 노드로 이러한 상태 변경이 배포(Global State의 변경)되므로, 향후 적어도 하나 이상의 특정 게임 애플리케이션에 대해 통합적으로 난이도 조절을 수행할 수 있게 되는 효과가 발생된다. 또한, 이러한 본 발명의 일실시예에 따른 난이도 정보가 조정 정보로 구성되는 경우, 게임의 카테고리에 관계 없이 복수의 게임에 대해 난이도 조절을 통합적으로 수행할 수 있게 되는 효과가 발생된다.
도 9는 특정 게임 계정에서 난이도 정보의 확인이 요청될 때(특정 게임 애플리케이션을 실행할 때), 본 발명의 일실시예에 따른 분산 원장 장치(1)의 처리 모듈(11)의 처리 단계(난이도 정보 확인 방법)를 도시한 흐름도이다. 도 9에 도시된 바와 같이, 본 발명의 일실시예에 따른 처리 모듈(11)은, 난이도 정보 확인 쿼리를 수신하면, 주소 호출 단계(S20), 검색 명령 단계(S21), 확인 단계(S22), 리턴 단계(S23)를 포함하여 트랜잭션 정보를 처리할 수 있다.
주소 호출 단계(S20)는 처리 모듈(11)이 난이도 정보 확인 쿼리에 포함된 난이도 정보 관리 계정의 주소를 호출하는 단계이다. 주소 호출 단계(S20)에 의해 가상 머신인 분산 원장 장치(1)에서 스마트 계약의 일종인 난이도 정보 관리 계정의 스토리지 또는 메모리의 검색이 실행되게 된다.
검색 명령 단계(S21)는 난이도 정보 확인 쿼리의 난이도 정보 검색 명령에 의해 난이도 정보의 검색을 실행하는 단계이다. 난이도 정보의 검색은 식별 정보를 통해 진행될 수 있다.
확인 단계(S22)는 난이도 정보 확인 쿼리에 포함되어 있는 매개변수(parameter)인 식별 정보를 난이도 정보 관리 계정의 스토리지(Storage) 또는 메모리(Memory)에 저장되어 있는 난이도 정보 내의 식별 정보와 비교하여, 해당 식별 정보를 포함하는 난이도 정보가 난이도 정보 관리 계정의 스토리지 또는 메모리에 저장되어 있는지 확인하는 단계이다. 본 발명의 일실시예에 따라 식별 정보가 암호화 된 경우, 상태 정보의 해시 값을 통해 복호화한 뒤 식별 정보의 검색을 진행할 수 있다.
리턴 단계(S23)는 난이도 정보 관리 계정이 수신한 식별 정보가 기저장되어 있는 난이도 정보를 특정 게임 계정에 리턴하는 단계이다.
본 발명의 일실시예에 따른 난이도 정보 확인 쿼리에 의하면 적어도 하나 이상의 특정 스마트 계약에 대해 통합적으로 난이도 조절을 수행할 수 있게 되는 효과가 발생된다.
본 발명의 다른 실시예에 따르면, 각 게임 서버(20) 내의 조정 정보 생성 모듈(22)이 블록체인(30) 내의 스마트 컨트랙트로 포함되고, 각 게임 계정(31)은 각 게임 서버(20)에서 특정 사용자의 플레이 정보를 수신하며, 각 게임 서버는 각 게임 계정에서 조정 정보를 수신하여 난이도 조절 모듈(21)이 특정 사용자의 특정 게임에 대해 난이도 조절을 수행하도록 구성될 수 있다.
도 10은 본 발명의 다른 실시예에 따른 게임 서버(20)와 블록체인(30)을 도시한 모식도이다. 도 10에 도시된 바와 같이, 본 발명의 다른 실시예에 따른 게임 서버(20)는 난이도 조절 모듈(21)을 포함할 수 있고, 본 발명의 다른 실시예에 따른 블록체인(30)은 각 게임 계정(31), 난이도 정보 관리 계정(32) 및 조정 정보 생성 계정(33)을 포함할 수 있다.
본 발명의 다른 실시예에 따르면, 각 게임 서버(20)는 각 게임 계정(31)에 해당 사용자의 플레이 정보(사용자의 특정 게임에서의 사용자의 이탈 정보, 사용자의 지속시간 정보, 사용자의 레벨 정보, 사용자의 퀘스트 해결 정보, 사용자의 실패 정보, 사용자의 성공 정보, 사용자의 능력치 정보, 사용자의 아이템 정보 등)를 송신할 수 있다. 본 발명의 다른 실시예에 따른 각 게임 계정(31)은 이러한 플레이 정보를 스마트 컨트랙트 계정인 조정 정보 생성 계정(33)에 송신할 수 있다.
본 발명의 다른 실시예에 따른 조정 정보 생성 계정(33)은 플레이 정보를 토대로 이탈 가능성 정보를 계산하고, 해당 이탈 가능성 정보가 기설정된 특정 Threshold 위에 위치한 경우, 특정 Threshold 이하에 위치하도록 조정 정보를 생성할 수 있다. 또는, 조정 정보 생성 계정(33)의 조정 정보 생성에는, 이탈 가능성 정보 대신 성공 가능성 정보가 이용될 수 있다. 본 발명의 일실시예에 따른 성공 가능성 정보는, 해당 사용자가 특정 게임의 특정 이벤트를 성공할 확률에 관한 정보이다. 본 발명의 일실시예에 따른 조정 정보 생성 모듈(22)은 해당 사용자의 플레이 정보를 토대로 성공 가능성 정보를 계산하고, 해당 성공 가능성 정보가 기설정된 특정 범위 내에 수렴하도록 조정 정보를 생성할 수 있다.
본 발명의 다른 실시예에 따른 난이도 정보 관리 계정(32)은 조정 정보 생성 계정(33)에서 생성된 조정 정보가 사용자별로 저장될 수 있다. 저장된 조정 정보는 특정 게임 계정의 요청(Query 또는 Tx의 형태)에 의해 특정 게임 계정(31)으로 송신될 수 있다. 조정 정보를 수신한 게임 계정(31)은 해당 게임 서버(20)의 난이도 조절 모듈(21)에 조정 정보를 송신하여 난이도를 업데이트 할 수 있다.
본 발명의 다른 실시예에 따라서 조정 정보 생성이 블록체인 내에서 이루어지게 되면, 블록체인 기반의 게임 난이도 조절을 위한 분산 원장 장치에 새로운 게임을 연결하여 적용(deploy)하는 것이 상당히 간편해지는 효과가 발생된다. 또한, 본 발명의 다른 실시예에 따라서 조정 정보 생성이 블록체인 내에서 이루어지게 되면, 복수의 게임에 대해 통합적인 조정 정보 생성이 이루어질 수 있는 효과가 발생된다.
이때, 본 발명의 다른 실시예에 따른 조정 정보의 생성에는 강화학습(Reinforcement Learning), 유전자 알고리즘(Genetic Algorithm), 각종 인공 신경망 모델(ANN, Artificial Neural Network) 등의 최적화 알고리즘이 이용될 수 있다. 본 발명의 다른 실시예에 따라 조정 정보의 생성에 강화학습이 이용되는 경우, 최적화 알고리즘의 에이전트(Agent)는 조정 정보 생성 계정이 되고, 액션(Action)은 특정 조정 정보의 생성을 의미할 수 있고, 상태(State)는 현재의 난이도 정보로 구성될 수 있다. 또한, 보상(Reward)은 사용자의 몰입도와 관련된 메타 데이터인 사용자의 플레이 지속시간(특정 게임을 얼마나 더 지속적으로 플레이 하는지), 사용자의 학습 속도(특정 게임을 얼마나 더 빠르게 잘하게 되는지), 사용자의 반복도(특정 기간 내에 특정 게임을 얼마나 더 많이 반복하는지) 등으로 설정될 수 있다.
본 발명의 다른 실시예에 따른 이탈 가능성 정보는, 해당 사용자의 플레이 정보 및 전체 사용자 중 적어도 일부의 사용자들의 플레이 정보를 토대로 해당 사용자가 특정 게임의 플레이를 이탈(특정 기간 내 플레이 하지 않는 것, 사용자의 플레이 지속시간이 특정 수준 이하가 되는 것 등)할 가능성이 얼마나 되는지에 대한 정보를 의미할 수 있다.
또한, 본 발명의 다른 실시예에 따르면, 조정 정보 생성 계정의 프로그램 코드가 난이도 정보 관리 계정의 스마트 컨트랙트 프로그램 코드 내에 포함될 수 있다. 이러한 경우, 본 발명의 다른 실시예에 따른 블록체인 기반의 게임 난이도 조절을 위한 분산 원장 장치에서 난이도 정보 관리 계정의 프로그램 코드는, 특정 사용자에 대한 플레이 정보가 포함된 트랜잭션(Transaction)을 상기 블록체인 내의 상기 제1계정에서 수신하는 저장 요청 수신 단계; 상기 트랜잭션을 토대로 상기 특정 사용자에게 적용될 난이도 조정의 방향성에 관한 정보인 조정 정보를 생성하는 조정 정보 생성 단계; 상기 블록체인 내의 상기 제2계정에서의 상기 조정 정보의 확인에 관한 요청인 조정 정보 확인 쿼리를 수신하는 조정 정보 확인 요청 단계; 및 상기 제2계정에 상기 조정 정보를 송신하는 난이도 정보 송신 단계;를 포함하도록 구성될 수 있다.
트랜잭션 정보 브로드캐스트 장치
본 발명의 일실시예에 따른 트랜잭션 정보 브로드캐스트 장치와 관련하여, 도 11은 본 발명의 트랜잭션 정보 송신 장치(2)와 분산 원장 장치(10)의 HTTP 통신을 도시한 모식도이다. 도 11에 도시된 바와 같이, 본 발명의 일실시예에 따른 트랜잭션 정보 브로드캐스트 장치는, 예를 들어, Solidity로 코딩되는 경우, JavaScript 기반의 Web3.Js API를 사용하고, 내부적으로는 JSON-RPC API를 사용할 수 있다. 이를 통해, Browser, Node.JS, Mist 등으로 트랜잭션 정보 송신 장치(2)를 구성할 수 있다. 트랜잭션 정보 송신 장치(2)의 주체는 EOA나 CA가 될 수 있다.
도 11에 도시된 바와 같이, 본 발명의 일실시예에 따른 트랜잭션 정보 송신 장치(2)에서 난이도 정보 관리 계정에 난이도 정보를 저장하도록 난이도 정보 저장 트랜잭션 정보를 분산 원장 장치(1)에 JSON-RPC API를 이용하여 요청할 수 있다. 난이도 정보 저장 트랜잭션 정보를 수신한 분산 원장 장치(1)는 난이도 정보 저장 방법에 따라 난이도 정보를 난이도 정보 관리 계정의 스토리지 또는 메모리에 난이도 정보로 저장한 뒤에 블록체인 분산 네트워크(100)에 배포(broadcast, propagation) 할 수 있다.
도 12는 본 발명의 일실시예에 따른 트랜잭션 정보 송신 장치(2)가 난이도 정보 저장 요청(난이도 정보를 포함함)을 수신한 경우를 도시한 모식도, 도 13은 본 발명의 일실시예에 따른 트랜잭션 정보 송신 장치가 난이도 정보 저장 요청을 수신한 경우를 도시한 흐름도이다. 도 12, 13에 도시된 바와 같이, 사용자 클라이언트에서 A 게임 애플리케이션이 실행된 뒤 종료되면, 사용자 클라이언트 및 서버를 통해 트랜잭션 정보 송신 장치(2)가 난이도 정보가 포함된 난이도 정보 저장 요청을 블록체인 분산 네트워크(100)에 송신하도록 API가 구성되고, Core에서 난이도 정보 저장 요청이 트랜잭션 정보로 생성된 뒤(S30, 트랜잭션 정보 생성 단계), 트랜잭션 정보 송신 장치의 비밀키로 서명된 트랜잭션 정보가 블록체인 분산 네트워크(100)의 특정 노드(분산 원장 장치,1)에 송신되게 된다(S31, 트랜잭션 정보 송신 단계). 이때, 특정 노드는 사용자 클라이언트 또는 A 게임 주체의 클라이언트일 수 있다.
특정 노드(분산 원장 장치, 1)는 A 게임 계정에 난이도 정보를 저장해달라는 요청의 스마트 계약을 실행하게 된다(S32, 스마트 계약 실행 단계). A 게임 애플리케이션과 블록체인으로 난이도 정보를 공유하는 게임 애플리케이션 중 하나인 B 게임 애플리케이션이 사용자 클라이언트에서 실행되게 되면, B 게임 계정은 사용자에 대한 정보인 식별 정보에 대응되는 기저장된 난이도 정보를 난이도 정보 관리 계정에 확인해달라는 난이도 정보 확인 쿼리를 송신할 수 있다(S33, 쿼리 송신 단계). 그 뒤, 해당 쿼리에 대한 리턴으로서 B 게임 계정은 난이도 정보 관리 계정에서 기저장된 난이도 정보를 수신할 수 있다(S34, 쿼리 리턴 단계). B 게임 애플리케이션에 대응되는 B 게임 계정은 B 게임 애플리케이션의 서버와 페어링되도록 구성되므로, B 게임 애플리케이션 내의 난이도 정보는 B 게임 계정에 수신된 난이도 정보에 대응되게 된다.
특정 노드에서 블록체인 분산 네트워크(100)로 배포된 난이도 정보는 난이도 정보 관리 계정의 메모리에 저장되어 있다가 해당 특정 노드 또는 다른 특정 노드가 새로운 블록(New block)을 마이닝(mining)하게 되면 해당 블록에 기록되게 된다.
본 발명의 일실시예에 따르면, A 게임 애플리케이션에서 a%의 이탈률을 갖는 난이도의 게임 환경에서 사용자가 이탈하게 된 이후, 사용자가 B 게임 애플리케이션으로 유입 시 a%보다 낮은 b%의 이탈률 또는 a%보다 높은 c%의 이탈률을 갖는 난이도를 제공하도록, 쿼리 리턴 단계(S34)에서는 난이도 정보 관리 계정이 기설정된 비율로 난이도 정보를 조절하여 B 게임 계정에 송신하도록 구성될 수 있다. 사용자가 A 게임 애플리케이션에서의 a%의 이탈률을 갖는 난이도의 게임 환경에서 연속적으로 실패하는 경우, 난이도가 높은 것으로 가정하여 B 게임 애플리케이션에서는 a%보다 낮은 b%의 이탈률을 갖는 난이도를 제공할 수 있다. 사용자가 A 게임 애플리케이션에서의 a%의 이탈률을 갖는 난이도의 게임 환경에서 연속적으로 성공하는 경우, 난이도가 낮은 것으로 가정하여 B 게임 애플리케이션에서는 a%보다 높은 c%의 이탈률을 갖는 난이도를 제공할 수 있다.
이상에서 설명한 바와 같이, 본 발명이 속하는 기술 분야의 통상의 기술자는 본 발명이 그 기술적 사상이나 필수적 특징을 변경하지 않고서 다른 구체적인 형태로 실시될 수 있다는 것을 이해할 수 있을 것이다. 그러므로 상술한 실시예들은 모든 면에서 예시적인 것이며 한정적인 것이 아닌 것으로서 이해해야만 한다. 본 발명의 범위는 상세한 설명보다는 후술하는 특허청구범위에 의하여 나타내어지며, 특허청구범위의 의미 및 범위 그리고 등가 개념으로부터 도출되는 모든 변경 또는 변형된 형태가 본 발명의 범위에 포함하는 것으로 해석되어야 한다.
본 명세서 내에 기술된 특징들 및 장점들은 모두를 포함하지 않으며, 특히 많은 추가적인 특징들 및 장점들이 도면들, 명세서, 및 청구항들을 고려하여 당업자에게 명백해질 것이다. 더욱이, 본 명세서에 사용된 언어는 주로 읽기 쉽도록 그리고 교시의 목적으로 선택되었고, 본 발명의 주제를 묘사하거나 제한하기 위해 선택되지 않을 수도 있다는 것을 주의해야 한다.
본 발명의 실시예들의 상기한 설명은 예시의 목적으로 제시되었다; 이는 개시된 정확한 형태로 본 발명을 제한하거나, 빠뜨리는 것 없이 만들려고 의도한 것이 아니다. 당업자는 상기한 개시에 비추어 많은 수정 및 변형이 가능하다는 것을 이해할 수 있다.
본 설명의 일부는 연산의 기호 표현 및 알고리즘에 관한 본 발명의 실시예들을 기술한다. 이러한 알고리즘적 설명 및 표현은, 일반적으로 그들의 작업의 핵심을 효율적으로 다른 당업자에게 전달하기 위해 데이터 처리 분야의 당업자에 의해 사용된다. 이러한 동작은 기능적, 연산적, 또는 논리적으로 설명되지만, 컴퓨터나 이와 동등한 전기 회로, 마이크로코드 등에 의해 구현될 것으로 이해된다. 나아가, 또한 이것은 모듈로서의 이러한 동작의 배열을 나타내기 위해, 때때로 일반성의 상실 없이 편리하게 입증된다. 상기 기술된 동작 및 그들의 연관된 모듈은 소프트웨어, 펌웨어, 하드웨어, 또는 이들의 임의의 조합 내에서 구현될 수 있다.
여기서 기술된 임의의 단계, 동작, 또는 프로세스는, 하나 이상의 하드웨어 또는 소프트웨어 모듈과 함께 단독으로 또는 다른 장치와 조합하여 수행되거나 구현될 수 있다. 일 실시예에서, 소프트웨어 모듈은 컴퓨터 프로그램 코드를 포함하는 컴퓨터-판독 가능 매체로 구성되는 컴퓨터 프로그램 제품과 함께 구현되고, 컴퓨터 프로그램 코드는 기술된 임의의 또는 모든 공정, 단계, 또는 동작을 수행하기 위한 컴퓨터 프로세서에 의해 실행될 수 있다.
또한, 본 발명의 실시예들은, 여기서의 동작을 수행하기 위한 장치와 관련될 수 있다. 이들 장치는 요구되는 목적을 위해 특별히 제작될 수 있고/있거나, 컴퓨터 내에 저장된 컴퓨터 프로그램에 의해 선택적으로 활성화되거나 재구성되는 일반적-목적의 연산 장치를 포함할 수 있다. 이러한 컴퓨터 프로그램은, 유형의 컴퓨터 판독가능 저장 매체 또는 전자 명령어를 저장하기 위해 적합한 임의의 유형의 미디어 내에 저장될 수 있고, 컴퓨터 시스템 버스에 결합될 수 있다. 나아가, 본 명세서에 참조되는 임의의 연산 시스템은 단일 프로세서를 포함할 수 있거나, 증가한 연산 능력을 위한 다중 프로세서 디자인을 채택한 구조가 될 수 있다.
마지막으로, 본 명세서에 사용된 언어는 주로 읽기 쉽도록 그리고 교시의 목적으로 선택되었고, 본 발명의 주제를 묘사하거나 제한하기 위해 선택되지 않을 수 있다.
그러므로 본 발명의 범위는 상세한 설명에 의해 한정되지 않고, 이를 기반으로 하는 출원의 임의의 청구항들에 의해 한정된다. 따라서, 본 발명의 실시예들의 개시는 예시적인 것이며, 이하의 청구항에 기재된 본 발명의 범위를 제한하는 것은 아니다.
1: 분산원장 장치
2: 트랜잭션 정보 송신 장치
10: 통신 모듈
11: 처리 모듈
12: 메모리 모듈
20: 게임 서버
21: 난이도 조절 모듈
22: 조정 정보 생성 모듈
30: 블록체인
31: 게임 계정
32: 난이도 정보 관리 계정
33: 조정 정보 생성 계정
100: 블록체인 분산 네트워크

Claims (2)

  1. 난이도 정보 관리 계정 및 복수의 스마트 계약 계정을 포함하는 블록체인을 저장하고, 상기 난이도 정보 관리 계정에 기저장된 난이도 정보를 포함하는 분산 원장이 저장된 메모리 모듈; 및
    상기 메모리 모듈과 동작 가능하도록 결합되고, 상기 난이도 정보 관리 계정 및 상기 복수의 스마트 계약 계정의 컴퓨터 판독 가능한 프로그램 코드를 실행하는 처리 모듈;
    을 포함하고,
    상기 난이도 정보 관리 계정의 상기 프로그램 코드는,
    특정 사용자에 대한 플레이 정보가 포함된 플레이 정보 메시지 트랜잭션을 상기 블록체인 내의 상기 복수의 스마트 계약 계정 중 하나인 제1계정에서 수신하는 플레이 정보 수신 단계;
    상기 플레이 정보 메시지 트랜잭션을 토대로 상기 특정 사용자에게 적용될 난이도 조정의 방향성에 관한 정보인 조정 정보를 포함하는 난이도 정보 저장 트랜잭션을 생성하여 상기 난이도 정보 관리 계정에 상기 조정 정보를 저장하는 조정 정보 저장 단계;
    상기 블록체인 내의 상기 제1계정 또는 상기 복수의 스마트 계약 계정 중 다른 하나인 제2계정에서의 상기 조정 정보의 확인에 관한 요청인 조정 정보 확인 쿼리를 수신하는 조정 정보 확인 요청 단계; 및
    상기 제1계정 또는 상기 제2계정에 상기 조정 정보를 송신하는 조정 정보 송신 단계;
    를 수행하는 컴퓨터 판독 가능한 프로그램 코드를 포함하며,
    상기 복수의 스마트 계약 계정 각각은 적어도 하나의 게임 애플리케이션을 서비스하는 적어도 하나의 서버와 연결되고,
    상기 조정 정보는 난이도 조정의 크기와 난이도 조정의 방향을 포함하고,
    상기 난이도 정보 관리 계정 및 상기 복수의 스마트 계약 계정을 이용하여, 복수의 게임 애플리케이션에 대해 상기 조정 정보를 공유하여 상기 복수의 게임 애플리케이션의 게임 난이도를 통합적으로 조절하며,
    상기 특정 사용자가 특정 게임 애플리케이션에 대해 게임 애플리케이션 사용 시간, 레벨 상승 및 퀘스트 해결 중 적어도 하나를 포함하는 기설정된 조건을 만족하면, 상기 블록체인에 새롭게 생성된 블록을 작업 증명하도록 구성되는 것을 특징으로 하는,
    블록체인 기반의 게임 난이도 조절을 위해 작업 증명을 이용한 분산 원장 장치.
  2. 특정 사용자에게 적용될 난이도 조정의 방향성에 관한 정보인 조정 정보를 저장하는 난이도 정보 관리 계정 및 복수의 스마트 계약 계정을 포함한 블록체인을 저장하는 분산 원장 장치가, 상기 특정 사용자에 대한 플레이 정보가 포함된 플레이 정보 메시지 트랜잭션을 상기 블록체인 내의 상기 복수의 스마트 계약 계정 중 하나인 제1계정에서 상기 난이도 정보 관리 계정으로 송신하는 플레이 정보 송신 단계;
    상기 분산 원장 장치가, 상기 플레이 정보 메시지 트랜잭션을 토대로 상기 조정 정보를 포함하는 난이도 정보 저장 트랜잭션을 생성하여 상기 난이도 정보 관리 계정에 상기 조정 정보를 저장하는 조정 정보 저장 단계;
    상기 분산 원장 장치가, 상기 블록체인 내의 상기 제1계정 또는 상기 복수의 스마트 계약 계정 중 다른 하나인 제2계정에서의 조정 정보 확인에 관한 요청인 조정 정보 확인 쿼리를 상기 제1계정 또는 상기 제2계정에서 상기 난이도 정보 관리 계정으로 송신하는 조정 정보 확인 요청 단계; 및
    상기 분산 원장 장치가, 상기 난이도 정보 관리 계정에서 상기 제1계정 또는 상기 제2계정으로 상기 조정 정보를 송신하는 조정 정보 송신 단계;
    를 포함하며,
    상기 복수의 스마트 계약 계정 각각은 적어도 하나의 게임 애플리케이션을 서비스하는 적어도 하나의 서버와 연결되고,
    상기 조정 정보는 난이도 조정의 크기와 난이도 조정의 방향을 포함하고,
    상기 난이도 정보 관리 계정 및 상기 복수의 스마트 계약 계정을 이용하여, 복수의 게임 애플리케이션에 대해 상기 조정 정보를 공유하여 상기 복수의 게임 애플리케이션의 게임 난이도를 통합적으로 조절하며,
    상기 특정 사용자가 특정 게임 애플리케이션에 대해 게임 애플리케이션 사용 시간, 레벨 상승 및 퀘스트 해결 중 적어도 하나를 포함하는 기설정된 조건을 만족하면, 상기 블록체인에 새롭게 생성된 블록을 작업 증명하도록 구성되는 것을 특징으로 하는,
    블록체인 기반의 게임 난이도 조절을 위해 작업 증명을 이용한 분산 원장 방법.
KR1020180045113A 2018-04-18 2018-04-18 블록체인 기반의 게임 난이도 조절을 위해 작업 증명을 이용한 분산 원장 장치 및 분산 원장 방법 KR101870112B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020180045113A KR101870112B1 (ko) 2018-04-18 2018-04-18 블록체인 기반의 게임 난이도 조절을 위해 작업 증명을 이용한 분산 원장 장치 및 분산 원장 방법

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020180045113A KR101870112B1 (ko) 2018-04-18 2018-04-18 블록체인 기반의 게임 난이도 조절을 위해 작업 증명을 이용한 분산 원장 장치 및 분산 원장 방법

Related Parent Applications (1)

Application Number Title Priority Date Filing Date
KR1020180005791A Division KR101852077B1 (ko) 2018-01-16 2018-01-16 블록체인 기반의 게임 난이도 조절을 위한 분산 원장 장치 및 분산 원장 방법

Publications (1)

Publication Number Publication Date
KR101870112B1 true KR101870112B1 (ko) 2018-06-21

Family

ID=62806605

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020180045113A KR101870112B1 (ko) 2018-04-18 2018-04-18 블록체인 기반의 게임 난이도 조절을 위해 작업 증명을 이용한 분산 원장 장치 및 분산 원장 방법

Country Status (1)

Country Link
KR (1) KR101870112B1 (ko)

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102031767B1 (ko) * 2019-01-17 2019-10-15 넷마블 주식회사 유저 지원 서비스 제공 방법 및 장치
KR20200023706A (ko) * 2018-08-22 2020-03-06 주식회사 머니브레인 스마트 계약을 지원하는 블록체인에 기반한, 분산형 컴퓨팅 자원 공유 시스템 및 컴퓨팅 장치
WO2020179996A1 (ko) * 2019-03-07 2020-09-10 숭실대학교산학협력단 게임 파라미터 변경 방법
KR20200107712A (ko) * 2019-03-07 2020-09-16 숭실대학교산학협력단 게임 파라미터 변경 방법
KR20210004562A (ko) * 2019-07-05 2021-01-13 넷마블 주식회사 블록체인 네트워크에 기반한 게임 데이터 저장 및 활용 방법
KR20240013562A (ko) 2022-07-22 2024-01-30 식스디그리스코드 주식회사 블록체인 기반의 게임 유저정보 공유와 이를 이용한 게임 캐릭터/ai 플레이어 생성 및 활용 방법

Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2002018136A (ja) * 2000-07-06 2002-01-22 Namco Ltd ゲーム装置用制御システム、ゲーム装置および情報記憶媒体
KR20070028971A (ko) * 2005-09-08 2007-03-13 엔에이치엔(주) 게이머의 입력 패턴을 복사하여 게임을 수행하는 게임 ai제어 방법 및 게임 ai 제어 시스템
US20160292672A1 (en) 2015-03-31 2016-10-06 Nasdaq, Inc. Systems and methods of blockchain transaction recordation
US20160342989A1 (en) 2015-05-21 2016-11-24 Mastercard International Incorporated Method and system for processing blockchain-based transactions on existing payment networks
KR101733458B1 (ko) * 2016-11-01 2017-05-10 주식회사 코어사이트 게임 로그 분석 방법
US20170132615A1 (en) 2015-11-11 2017-05-11 Bank Of America Corporation Block chain alias for person-to-person payments
KR101758870B1 (ko) 2017-02-13 2017-07-18 주식회사 온더 마이닝 관리 시스템 및 이를 이용한 마이닝 관리 방법

Patent Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2002018136A (ja) * 2000-07-06 2002-01-22 Namco Ltd ゲーム装置用制御システム、ゲーム装置および情報記憶媒体
KR20070028971A (ko) * 2005-09-08 2007-03-13 엔에이치엔(주) 게이머의 입력 패턴을 복사하여 게임을 수행하는 게임 ai제어 방법 및 게임 ai 제어 시스템
US20160292672A1 (en) 2015-03-31 2016-10-06 Nasdaq, Inc. Systems and methods of blockchain transaction recordation
US20160342989A1 (en) 2015-05-21 2016-11-24 Mastercard International Incorporated Method and system for processing blockchain-based transactions on existing payment networks
US20170132615A1 (en) 2015-11-11 2017-05-11 Bank Of America Corporation Block chain alias for person-to-person payments
KR101733458B1 (ko) * 2016-11-01 2017-05-10 주식회사 코어사이트 게임 로그 분석 방법
KR101758870B1 (ko) 2017-02-13 2017-07-18 주식회사 온더 마이닝 관리 시스템 및 이를 이용한 마이닝 관리 방법

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
대한민국 등록특허, 10-1751025, 블록체인 기반의 스마트 증권업무 처리 시스템(Smart system for trading stock based blockchain), 주식회사 온더

Cited By (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20200023706A (ko) * 2018-08-22 2020-03-06 주식회사 머니브레인 스마트 계약을 지원하는 블록체인에 기반한, 분산형 컴퓨팅 자원 공유 시스템 및 컴퓨팅 장치
KR102107115B1 (ko) * 2018-08-22 2020-05-28 주식회사 머니브레인 스마트 계약을 지원하는 블록체인에 기반한, 분산형 컴퓨팅 자원 공유 시스템 및 컴퓨팅 장치
KR102031767B1 (ko) * 2019-01-17 2019-10-15 넷마블 주식회사 유저 지원 서비스 제공 방법 및 장치
WO2020179996A1 (ko) * 2019-03-07 2020-09-10 숭실대학교산학협력단 게임 파라미터 변경 방법
KR20200107712A (ko) * 2019-03-07 2020-09-16 숭실대학교산학협력단 게임 파라미터 변경 방법
KR102298677B1 (ko) 2019-03-07 2021-09-07 숭실대학교산학협력단 게임 파라미터 변경 방법
US11872494B2 (en) 2019-03-07 2024-01-16 Foundation Of Soongsil University-Industry Cooperation Method for changing game parameter
KR20210004562A (ko) * 2019-07-05 2021-01-13 넷마블 주식회사 블록체인 네트워크에 기반한 게임 데이터 저장 및 활용 방법
KR102274654B1 (ko) * 2019-07-05 2021-07-07 넷마블 주식회사 블록체인 네트워크에 기반한 게임 데이터 저장 및 활용 방법
KR20240013562A (ko) 2022-07-22 2024-01-30 식스디그리스코드 주식회사 블록체인 기반의 게임 유저정보 공유와 이를 이용한 게임 캐릭터/ai 플레이어 생성 및 활용 방법

Similar Documents

Publication Publication Date Title
KR101852077B1 (ko) 블록체인 기반의 게임 난이도 조절을 위한 분산 원장 장치 및 분산 원장 방법
KR101870112B1 (ko) 블록체인 기반의 게임 난이도 조절을 위해 작업 증명을 이용한 분산 원장 장치 및 분산 원장 방법
KR101852079B1 (ko) 블록체인 기반의 게임 난이도 조절을 위해 조정 정보를 이용한 분산 원장 장치 및 분산 원장 방법
KR101870113B1 (ko) 블록체인 기반의 게임 난이도 조절을 위해 작업 증명을 이용한 분산 원장 장치 및 분산 원장 방법
US9005027B2 (en) Distributed network architecture for introducing dynamic content into a synthetic environment
KR101932277B1 (ko) 블록체인 기반의 사용자 정보 공유를 위한 분산 원장 장치 및 분산 원장 방법
US11420127B2 (en) Device and method for recording game result by conducting game among plurality of users, and computer program
US8898325B2 (en) Apparatus, method, and computer readable media to perform transactions in association with participants interacting in a synthetic environment
KR102162762B1 (ko) 아이템 추적 기법
KR101852080B1 (ko) 블록체인 기반의 게임 난이도 조절을 위해 강화학습을 이용한 분산 원장 장치 및 분산 원장 방법
KR101852078B1 (ko) 블록체인 기반의 게임 난이도 조절을 위해 조정 정보를 이용한 분산 원장 장치 및 분산 원장 방법
KR102151731B1 (ko) 아이템 셀프 처리를 허용하기 위한 기법
KR20210106152A (ko) 복귀 지원 시스템을 제공하는 게임 제공 장치 및 게임 제공 장치의 동작 방법
US11872494B2 (en) Method for changing game parameter
KR102298677B1 (ko) 게임 파라미터 변경 방법
KR20190076812A (ko) 블록체인 기반의 포인트 정보 공유를 위한 분산 원장 장치 및 분산 원장 방법
KR20190076813A (ko) 블록체인 기반의 사용자 정보 공유를 위해 사용 시간 증명을 이용한 분산 원장 장치 및 분산 원장 방법
KR20190076837A (ko) 블록체인 기반의 사용자 정보 공유를 위한 분산 원장 장치 및 분산 원장 방법
KR20200106861A (ko) 아이템 셀프 처리를 허용하기 위한 기법
KR20200118775A (ko) 아이템 추적 기법
KR20210004899A (ko) 데이터 처리 방법
KR20210032089A (ko) 세이브 데이터를 경매하는 방법

Legal Events

Date Code Title Description
E701 Decision to grant or registration of patent right
GRNT Written decision to grant