KR102366638B1 - 게임 클라이언트의 참여 증명 기반 블록체인 시스템 및 이를 이용한 블록 보상 합의 방법 - Google Patents

게임 클라이언트의 참여 증명 기반 블록체인 시스템 및 이를 이용한 블록 보상 합의 방법 Download PDF

Info

Publication number
KR102366638B1
KR102366638B1 KR1020200084740A KR20200084740A KR102366638B1 KR 102366638 B1 KR102366638 B1 KR 102366638B1 KR 1020200084740 A KR1020200084740 A KR 1020200084740A KR 20200084740 A KR20200084740 A KR 20200084740A KR 102366638 B1 KR102366638 B1 KR 102366638B1
Authority
KR
South Korea
Prior art keywords
block
game
reward
block header
header
Prior art date
Application number
KR1020200084740A
Other languages
English (en)
Other versions
KR20220006834A (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 KR1020200084740A priority Critical patent/KR102366638B1/ko
Publication of KR20220006834A publication Critical patent/KR20220006834A/ko
Application granted granted Critical
Publication of KR102366638B1 publication Critical patent/KR102366638B1/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/79Game security or game management aspects involving player-related data, e.g. identities, accounts, preferences or play histories
    • A63F13/792Game security or game management aspects involving player-related data, e.g. identities, accounts, preferences or play histories for payment purposes, e.g. monthly subscriptions
    • 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
    • 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/1044Group management mechanisms 
    • H04L67/1053Group management mechanisms  with pre-configuration of logical or physical connections with a determined number of other peers
    • 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/1074Peer-to-peer [P2P] networks for supporting data block transmission mechanisms
    • H04L67/1078Resource delivery mechanisms
    • H04L67/1082Resource delivery mechanisms involving incentive schemes
    • 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
    • H04L9/0643Hash functions, e.g. MD5, SHA, HMAC or f9 MAC

Abstract

본 발명은 게임 클라이언트의 참여 증명 기반 블록체인 시스템 및 이를 이용한 블록 보상 합의 방법에 대한 것이다.
본 발명에 따른 블록체인 시스템 및 이를 이용한 블록 보상 방법은 게임 서버에 접속하여 게임에 참여하는 게임 클라이언트의 참여 증명을 기반으로 마이닝 보상을 수여받을 노드를 결정한다.

Description

게임 클라이언트의 참여 증명 기반 블록체인 시스템 및 이를 이용한 블록 보상 합의 방법 {Game client Proof of Attendance-based blockchain system and the block compensation consensus method using thereof}
본 발명은 게임 클라이언트의 참여 증명 기반 블록체인 시스템 및 이를 이용한 블록 보상 합의 방법에 대한 것이다.
구체적으로, 본 발명은 게임 서버에 접속하여 게임에 참여하는 게임 클라이언트의 참여 증명을 기반으로 마이닝 보상을 수여받을 노드를 결정하는 블록체인 시스템 및 이를 이용한 블록 보상 방법에 대한 것이다.
블록체인(Block chain)은 공공 거래 장부라고도 부르며 암호 화폐로 거래할 때 발생할 수 있는 해킹을 막는 기술이다. 기존 금융 회사의 경우 중앙 집중형 서버에 거래 기록을 보관하는 반면, 블록체인은 거래에 참여하는 모든 사용자에게 거래 내역을 보내 주며 거래 때마다 이를 대조해 데이터 위조를 막는 방식을 사용한다. 블록체인은 대표적인 온라인 암호 화폐인 비트코인에 적용되어 있다. 비트코인은 누구나 열람할 수 있는 장부에 거래 내역을 투명하게 기록하며, 비트코인을 사용하는 여러 컴퓨터가 10분에 한 번씩 이 기록을 검증하여 해킹을 막는다.
비트코인을 온라인상에서 처리하는 과정에서 블록과 블록체인은 핵심적인 역할을 수행한다. 블록체인 기술은 트랜잭션 정보를 담은 하나의 블록이 이전의 블록과 다음의 블록을 고유 값으로 상호 참조하도록 하여 체인처럼 연결된 구조를 갖는 것으로서, P2P 네트워크에 참여한 피어들 또는 트랜잭션을 생성하기 위한 참여자들이 P2P 네트워크에서 생성된 모든 블록을 저장함으로써 누구나 거래 내역의 조회가 가능하고 특유의 작업 증명 방식으로 작업을 증명한 자에게 자체적으로 발행한 재화를 보상하는 절차와 대차 형태의 잔액 가감 절차를 사용하는 전문 형식의 성격을 띠고 있는 기술이다.
이러한 비트코인은 매우 느린 전송 속도나 부족한 처리 용량, 비싼 수수료 문제 등의 문제점이 있고, 이익에 따라 움직이는 중앙화된 채굴노드들과 개발 진영 간의 합의가 어려운 점 또한 비트코인 네트워크의 지속적인 발전에 있어 매우 심각한 문제이다.
비트코인의 이러한 문제점을 개선하기 위해 DASH, EOS 등으로 대표되는 지분 증명(Proof-of-Stake, PoS) 방식이 개발되었으나, PoS 방식의 블록체인 시스템 또한 후속 참여자의 진입 장벽이 발생하고, 부의 편중이 심화되는 문제가 있다.
KR 등록특허공보 제10-2050087호
본 발명은 게임 서버에 접속하여 게임에 참여하는 게임 클라이언트의 참여 증명을 기반으로 하는 블록체인 시스템 및 이를 이용한 블록 보상 방법을 제공한다.
본 발명은 또한, 참여 증명된 게임 클라이언트의 블록 헤더 해시값을 기준으로 3단계의 블록 보상 합의 과정이 수행되는 블록체인 시스템 및 이를 이용한 블록 보상 방법을 제공한다.
본 발명은 상기 과제를 해결하기 위해 안출된 것으로써, 블록체인 시스템 및 이를 이용한 블록 보상 방법에 대한 것이다.
상기 블록체인 시스템은, 게임 클라이언트의 참여 증명을 유도하고 참여 증명된 게임 클라이언트 중 보상을 수여받을 게임 클라이언트를 결정하기 위한 합의를 수행하는 마스터 노드로서, 블록체인 시스템에 참여하는 게임 서버별로 개별 할당되는 마스터 노드를 복수 개 포함하는 블록체인 네트워크부; 게임 클라이언트의 게임 접속을 관리하고, 게임 클라이언트에게 참여 증명을 위한 블록 헤더를 전송하는 게임 서버를 복수 개 포함하는 게임 서버부; 상기 게임 서버부에 포함되는 개별 게임 서버에 접속하여 게임에 참여하는 게임 클라이언트; 및 상기 블록체인 네트워크부와 상기 게임 서버부 사이를 매개하는 양방향 커뮤니케이션을 수행하는 브릿지 서비스 노드부;를 포함한다. 상기 블록체인 시스템에서 게임 클라이언트의 참여 증명은 NULL값으로 설정된 게이머 서명 항목을 포함하는 블록 헤더에 대한 게임 클라이언트의 비밀키 서명을 통해 수행되고, 게임 클라이언트에 대한 보상 합의는 참여 증명된 게임 클라이언트의 블록 헤더 중 최소 해시값을 가지는 블록 헤더에 대한 상기 블록체인 네트워크에 포함되는 복수의 마스터 노드 중 과반수의 합의에 의해 이루어진다.
하나의 예시에서, 상기 블록체인 네트워크부에 포함되는 복수의 마스터 노드 각각은, NULL값으로 설정된 게이머 서명 항목을 포함하는 블록 헤더를 상기 브릿지 서비스 노드부를 거쳐 상기 게임 서버부를 매개로 게임 클라이언트에 전송하고, 상기 게임 클라이언트의 비밀키 서명에 의해 업데이트된 게이머 서명 항목을 포함하는 블록 헤더를 수신할 수 있다.
하나의 예시에서, 상기 블록 헤더는 소프트웨어 및 프로토콜 버전; 이전 블록 헤더 해시; 머클 루트 해시; 블록 생성 시간; 트랜잭션 수; 및 공개키 및 서명으로 이루어지는 게이머 서명 항목을 포함할 수 있다.
하나의 예시에서, 상기 블록체인 네트워크부에 포함되는 복수의 마스터 노드 각각은 참여 증명된 게임 클라이언트의 블록 헤더 중 최소 해시값을 가지는 블록 헤더를 상호 제안하여 블록 헤더 세트를 구성하고, 상기 블록 헤더 세트 내 블록 헤더 중 최소 해시값을 가지는 블록 헤더를 상호 전송하여 블록 보상 후보 세트를 구성한 후 상기 블록 보상 후보 세트 내에서 마스터 노드의 과반수가 투표한 최소 해시값을 가지는 보상 블록 헤더를 선정하며, 상기 보상 블록 헤더의 트랜잭션 리스트를 포함하는 총 블록 데이터를 전달하고 검증하며 최종 보상 블록을 결정할 수 있다.
하나의 예시에서, 상기 블록체인 네트워크부에 포함되는 복수의 마스터 노드는 상기 보상 블록 헤더의 트랜잭션 리스트를 포함하는 총 블록 데이터를 전달하는 제 1 마스터 노드; 및 상기 보상 블록 헤더의 트랜잭션 리스트를 포함하는 총 블록 데이터를 이용하여 이전 블록 해시 및 게이머 서명 유효성에 대한 검증을 수행한 후 검증 메시지를 전달하는 제 2 마스터 노드;를 포함할 수 있다.
상기 블록체인 시스템은 또한, 상기 게임 서버부에 포함되는 하나의 게임 서버에 접속한 게임 클라이언트 사이의 트랜잭션을 처리하는 로컬 네트워크부를 더 포함할 수 있다. 이 때, 상기 블록체인 네트워크부는, 상기 게임 서버부에 포함되는 서로 다른 게임 서버에 각각 접속한 게임 클라이언트 사이의 트랜잭션을 처리할 수 있다.
하나의 예시에서, 상기 게임 서버부의 게임 서버 각각은 게임에 참여하기 위해 가입을 시도하는 게임 클라이언트의 공개키 및 비밀키를 생성한 후 상기 게임 클라이언트에게 제공하고, 게임 클라이언트의 공개키, 비밀키 및 아이디를 포함하는 데이터 세트를 상기 브릿지 서비스 노드부로 전송할 수 있다.
하나의 예시에서, 상기 브릿지 서비스 노드부는 게임 클라이언트의 데이터 세트를 관리하고, 상기 데이터 세트의 변경 정도, 게임 로그 모니터링 및 게임 클라이언트의 최소 게임 플레이 시간을 포함하는 부정 사용 점검 요소를 분석하여 시빌 공격(Sybil Attack) 여부를 실시간 감지할 수 있다.
하나의 예시에서, 참여 증명된 게임 클라이언트의 블록 헤더 해시값은 하기 일반식 1의 충돌 확률을 가질 수 있다.
[일반식 1]
Figure 112020071440417-pat00001
Figure 112020071440417-pat00002
은 N명의 참여 증명 게임 클라이언트에 대한 n비트 해시 함수에서의 충돌 확률을 의미한다.
본 발명은 또한, 상기 블록체인 시스템을 이용하는 블록 보상 합의 방법에 대한 것이다.
상기 블록 보상 합의 방법은, 게임 서버부에 접속하여 게임에 참여 중인 게임 클라이언트의 참여 증명 단계; 및 참여 증명한 게임 클라이언트 중 어느 하나에게 보상을 수여하기 위한 블록 보상 합의 단계를 포함한다. 또한, 상기 참여 증명 단계는 블록체인 네트워크부에 포함되는 마스터 노드가 NULL값으로 설정된 게이머 서명 항목을 포함하는 블록 헤더를 생성한 후 브릿지 서비스 노드부로 상기 블록 헤더를 전송하는 단계; 상기 브릿지 서비스 노드부가 게임 서버부로 상기 블록 헤더를 전송하는 단계; 상기 게임 서버부가 상기 게임 서버부에 접속하여 게임에 참여 중인 게임 클라이언트에게 상기 블록 헤더를 전송하는 단계; 상기 블록 헤더를 전송받은 상기 게임 클라이언트가 참여 증명을 위한 비밀키 서명을 수행하는 단계; 및 비밀키 서명을 통해 업데이트된 블록 헤더를 상기 블록체인 네트워크부의 마스터 노드로 전송하는 단계;를 포함한다. 또한, 상기 블록 보상 합의 단계는 각각의 마스터 노드가 상기 비밀키 서명을 통해 업데이트된 블록 헤더 중 최소 해시값을 가지는 블록 헤더를 상호 제안하여 블록 헤더 세트를 구성하는 단계; 각각의 마스터 노드가 상기 블록 헤더 세트 내 블록 헤더 중 최소 해시값을 가지는 블록 헤더를 상호 전송하여 블록 보상 후보 세트를 구성한 후 상기 블록 보상 후보 세트 내에서 마스터 노드의 과반수가 투표한 최소 해시값을 가지는 보상 블록 헤더를 선정하는 단계; 및 상기 보상 블록 헤더의 트랜잭션 리스트를 포함하는 총 블록 데이터를 최소 해시값을 가지는 보상 블록 헤더에 투표하지 않은 마스터 노드에 전송하고, 유효성 검증을 수행한 후 최종 보상 블록을 결정하는 단계;를 포함한다.
하나의 예시에서, 상기 비밀키 서명을 수행하는 단계는 하기 일반식 1의 충돌 확률을 가지는 블록 헤더 해시값을 생성하는 것을 포함할 수 있다.
[일반식 1]
Figure 112020071440417-pat00003
Figure 112020071440417-pat00004
은 N명의 참여 증명 게임 클라이언트에 대한 n비트 해시 함수에서의 충돌 확률을 의미한다.
하나의 예시에서, 상기 참여 증명 단계는 브릿지 서비스 노드부가 게임 클라이언트에 대한 공개키, 비밀키 및 아이디를 포함하는 데이터 세트의 변경 정도, 게임 로그 모니터링 및 게임 클라이언트의 최소 게임 플레이 시간을 포함하는 부정 사용 점검 요소를 분석하여 시빌 공격(Sybil Attack) 여부를 실시간 감지하는 단계를 더 포함할 수 있다.
하나의 예시에서, 상기 최종 보상 블록을 결정하는 단계는 상기 블록체인 네트워크부에 포함되는 복수의 마스터 노드 중 어느 한 마스터 노드인 제 1 마스터 노드가 상기 보상 블록 헤더의 트랜잭션 리스트를 포함하는 총 블록 데이터를 최소 해시값을 가지는 보상 블록 헤더에 투표하지 않은 제 2 마스터 노드에 전달하는 단계; 및 상기 제 2 마스터 노드가 상기 보상 블록 헤더의 트랜잭션 리스트를 포함하는 총 블록 데이터를 이용하여 이전 블록 해시 및 게이머 서명 유효성에 대한 검증을 수행한 후 검증 메시지를 전달하는 단계;를 포함할 수 있다.
상기 블록 보상 합의 방법은, 예를 들면 로컬 네트워크부가 상기 게임 서버부에 포함되는 하나의 게임 서버에 접속한 게임 클라이언트 사이의 트랜잭션을 처리하고, 상기 블록체인 네트워크부가 상기 게임 서버부에 포함되는 서로 다른 게임 서버에 각각 접속한 게임 클라이언트 사이의 트랜잭션을 처리할 수 있다.
상기 블록 보상 합의 방법은, 예를 들면 상기 블록 보상 합의 단계 이후에 기 설정된 블록 생성 시간까지 대기하는 단계를 더 포함하고, 상기 기 설정된 블록 생성 시간은 30초일 수 있다.
본 발명에 따른 블록체인 시스템 및 이를 이용한 블록 보상 합의 방법은 게임 클라이언트가 게임 서버에 접속하여 비밀키 서명을 하는 것만으로도 블록 보상에 참여할 수 있어 블록 보상에 참여하는 전력량 소모량이 PoW 방식 대비 월등히 낮다.
또한, 본 발명에 따른 블록체인 시스템 및 이를 이용한 블록 보상 합의 방법은 블록 헤더의 해시값을 기준으로 하는 블록 보상 방식을 채택함으로써 PoS 방식 대비 후속 참여자의 진입 장벽이 낮고, 부의 편중이 심화되는 문제를 방지할 수 있다.
나아가, 본 발명에 따른 블록체인 시스템 및 이를 이용한 블록 보상 합의 방법은 시빌 공격(Sybil Attack)이나 스케일링 이슈 문제를 해결할 수 있는 이점이 있다.
물론, 본 발명의 효과가 상기 언급한 범위 내로 제한되는 것은 아니다.
도 1 및 5는 본 발명에 따른 블록체인 시스템의 일 구성 블록도이다.
도 2는 본 발명에 따른 블록체인 시스템의 참여 증명 과정을 설명하기 위한 일 도면이다.
도 3은 본 발명에 따른 블록체인 시스템의 블록 헤더 구조를 설명하기 위한 일 도면이다.
도 4는 본 발명에 따른 블록체인 시스템의 합의 보상 과정을 설명하기 위한 일 도면이다.
도 6 및 7은 각각, 본 발명에 따른 블록체인 시스템 내 동종 게임 및 이종 게임 사이의 트랜잭션 처리 과정을 설명하기 위한 일 도면이다.
도 8은 본 발명에 따른 블록체인 시스템을 이용한 블록 보상 합의 방법을 설명하기 위한 일 블록 보상 합의 흐름도이다.
이하, 본 발명에 대하여, 도면 및 예시를 들어 보다 구체적으로 설명한다.
본 명세서에서, 단수의 표현은 달리 명시하지 않는 한 복수의 표현을 포함한다.
본 명세서에서 사용되는 용어는, 본 발명에서의 기능을 고려하면서 가능한 현재 널리 사용되는 일반적인 용어들을 선택하였으나, 이는 당 분야에 종사하는 기술자의 의도 또는 판례, 새로운 기술의 출현 등에 따라 달라질 수 있다. 또한, 특정한 경우는 출원인이 임의로 선정한 용어도 있으며, 이 경우 해당되는 발명의 설명 부분에서 상세히 그 의미를 기재할 것이다. 따라서 본 발명에서 사용되는 용어는 단순한 용어의 명칭이 아닌, 그 용어가 가지는 의미와 본 발명의 전반에 걸친 내용을 토대로 정의되어야 한다.
본 발명의 실시예들은 다양한 변환을 가할 수 있고 여러 가지 실시예를 가질 수 있는바, 특정 실시예들을 도면에 예시하고 상세한 설명에 상세하게 설명하고자 한다. 그러나 이는 특정한 실시 형태에 대해 범위를 한정하려는 것이 아니며, 발명된 사상 및 기술 범위에 포함되는 모든 변환, 균등물 내지 대체물을 포함하는 것으로 이해되어야 한다. 실시예들을 설명함에 있어서 관련된 공지 기술에 대한 구체적인 설명이 요지를 흐릴 수 있다고 판단되는 경우 그 상세한 설명을 생략한다.
본 명세서에서, "포함하다" 또는 "구성되다" 등의 용어는 명세서 상에 기재된 특징, 숫자, 단계, 동작, 구성요소, 부품 또는 이들을 조합한 것이 존재함을 지정하려는 것이지, 하나 또는 그 이상의 다른 특징들이나 숫자, 단계, 동작, 구성요소, 부품 또는 이들을 조합한 것들의 존재 또는 부가 가능성을 미리 배제하지 않는 것으로 이해되어야 한다.
본 명세서에서, "이루어지다" 또는 "이루어지는" 등의 용어는 명세서 상에 기재된 특징, 숫자, 단계, 동작, 구성요소, 부품 또는 이들을 조합 이외의 다른 구성이 포함되어 있지 아니함을 강조하기 위한 것으로써, 상기 구성 이외에 하나 또는 그 이상의 다른 특징들이나 숫자, 단계, 동작, 구성요소, 부품 또는 이들을 조합한 것들의 존재 또는 부가 가능성을 배제한 것으로 이해되어야 한다.
본 발명은 게임 클라이언트의 참여 증명 기반 블록체인 시스템 및 이를 이용한 블록 보상 방법에 대한 것이다.
기존의 블록 보사에 대한 합의 알고리즘은 작업 증명 방식(Proof of Work, PoW), 지분 증명 방식(Proof of Stake, PoS) 또는 위임된 지분증명 방식(Delegated Proof of Stake, DPoS) 등이 있는데, 각 합의 알고리즘은 다양한 문제점을 가지고 있다.
구체적으로, 작업 증명 방식(Proof of Work, PoW)은, 비트코인 등에 적용되는 보상 합의 알고리즘으로서, 블록 생성에 필요한 연산 문제를 제일 먼저 푼 노드에게 블록 생성 권한을 주고 그 노드가 가지고 있는 거래 내역을 신뢰하는 방식이다. 작업 증명 방식(Proof of Work, PoW)은 거래 내역이 커지고 노드 수가 많아질수록 블록 생성을 위한 처리 속도가 매우 느려지며 채굴 장비를 갖춘 모든 노드들이 같이 연산 작업을 하기때문에 비효율적인 에너지 낭비가 발생하게 되는 문제점을 가지고 있다.
또한, 지분 증명 방식(Proof of Stake, PoS)은 퀀텀, 네오 또는 스트라티스 등의 코인에 적용되는 보상 합의 알고리즘으로서, 노드들 중 합의 과정에 참여하고자 하는 노드들의 거래 내역을 비교하여 그 중 다수의 거래 내역에 대해 이를 신뢰하는 방식이다. 지분 증명 방식(Proof Of Stake, PoS)은 직접 선거와 유사한 방식이기 때문에 거래 내역에 대한 신뢰도는 매우 높지만 참가한 노드들이 많아지게 되면 처리 속도가 늦어지며, 실시간 처리가 요구되는 서비스에는 적합하지 않은 문제점이 있다.
또한, 위임된 지분증명 방식(Delegated Proof of Stake, DPoS)은 이오스 등의 코인에 적용되는 보상 합의 알고리즘으로서, 하위 노드들로부터 권한을 위임받은 지정된 수의 노드들의 거래 내역을 비교하여 이들 중 다수의 거래 내역을 신뢰하는 방식이다. 위임된 지분증명 방식(Delegated Proof of Stake, DPoS)은 간접 선거 방식으로 지정된 수의 노드만 합의에 참여하기 때문에 처리 속도가 빠르지만, 지정된 노드가 해킹 당할 우려가 있고 지정된 노드들 중 51% 이상의 단합으로 시스템의 신뢰를 깰 수 있는 문제점이 있다.
본 발명자는 위와 같은 기존의 합의 알고리즘의 문제점을 개선할 수 있고, 또한 게임을 이용하는 유저가 구축한 게임 계정 내 유·무형 자산에 대한 합당한 보상체계를 갖출 수 있는 블록체인 기반 플랫폼을 발명하여 본 발명을 완성하기에 이르렀다.
구체적으로, 본 발명자는 게임 클라이언트가 게임 서버에 접속하여 비밀키 서명을 하는 것만으로 블록 보상에 참여할 수 있도록 시스템 구조를 설계하여 채굴을 위한 컴퓨팅 파워의 낭비를 방지할 수 있고, 또한 랜덤하게 설정되는 블록 헤더의 해시값을 기준으로 하는 블록 보상 방식 체계를 구축함으로써 공평한 블록 보상 가능성을 제공하는 블록체인 시스템을 개발하였다.
도 1은 본 발명에 따른 블록체인 시스템의 일 구성 블록도가 도시되어 있다.
도 1에 도시되어 있는 것처럼, 본 발명에 따른 블록체인 시스템(1)은 게임 클라이언트(300)의 참여 증명을 유도하고 참여 증명된 게임 클라이언트(300) 중 보상을 수여받을 게임 클라이언트(300)를 결정하기 위한 합의를 수행하는 마스터 노드로서, 블록체인 시스템(1)에 참여하는 게임 서버별로 개별 할당되는 마스터 노드를 복수 개 포함하는 블록체인 네트워크부(100); 게임 클라이언트(300)의 게임 접속을 관리하고, 게임 클라이언트(300)에게 참여 증명을 위한 블록 헤더를 전송하는 게임 서버를 복수 개 포함하는 게임 서버부(200); 게임 서버부(200)에 포함되는 개별 게임 서버에 접속하여 게임에 참여하는 게임 클라이언트(300); 블록체인 네트워크부(100)와 게임 서버부(200) 사이를 매개하는 양방향 커뮤니케이션을 수행하는 브릿지 서비스 노드부(400)를 포함한다. 또한, 본 발명에 따른 블록체인 시스템(1)에서 게임 클라이언트(300)의 참여 증명은 NULL값으로 설정된 게이머 서명 항목을 포함하는 블록 헤더에 대한 게임 클라이언트(300)의 비밀키 서명을 통해 수행되고, 게임 클라이언트(300)에 대한 보상 합의는 참여 증명된 게임 클라이언트(300)의 블록 헤더 중 최소 해시값을 가지는 블록 헤더에 대한 블록체인 네트워크부(100)에 포함되는 복수의 마스터 노드 중 과반수의 합의에 의해 이루어진다.
본 발명에 따른 블록체인 시스템은 게임 서버별로 할당되어 있는 마스터 노드와 각 게임 서버가 브릿지 서비스 노드부(400)를 매개로 양방향 커뮤니케이션함으로써, 각 게임 서버에 접속하여 게임에 참여 중인 게임 클라이언트(300)의 참여 증명을 유도하고, 참여 증명된 게임 클라이언트의 블록 헤더 중 최소 해시값을 가지는 블록 헤더에 대한 마스터 노드의 과반수 합의에 의해 보상 블록을 결정하는 구조이다.
블록체인 네트워크부(100)는 트랜잭션을 포함하는 블록의 연결 혹은 묶음을 의미하는 블록체인을 생성, 저장, 검증 혹은 갱신하는 역할을 수행하는 마스터 노드를 복수 개 포함한다. 실시 형태에 따라, 상기 트랜잭션은 다양한 형태의 거래를 의미할 수 있다. 예를 들면, 상기 트랜잭션은 게임 클라이언트 사이에 이루어지는 유·무형 자산의 거래를 의미할 수 있다. 다른 예시에서, 상기 트랜잭션은 가상화폐의 소유 상태 및 그 변동을 나타내기 위한 금융 거래를 의미할 수 있고, 또한 물건의 소유 상태 및 그 변동을 나타내기 위한 실물 거래를 의미할 수 있다.
구체적으로, 블록체인 네트워크부(100)는 게임 클라이언트(300)의 참여 증명을 유도하고 참여 증명된 게임 클라이언트(300) 중 보상을 수여받을 게임 클라이언트(300)를 결정하기 위한 합의를 수행하는 마스터 노드로서, 블록체인 시스템(1)에 참여하는 게임 서버별로 개별 할당되는 마스터 노드를 복수 개 포함한다.
블록체인 네트워크부(100)에 포함되는 복수의 마스터 노드는 게임 서버부(200)에 포함되는 각 게임 서버별로 개별 할당되는 것으로서, 게임 클라이언트(300)의 참여 증명을 유도하기 위해 서명 항목이 NULL값으로 설정된 블록 헤더를 생성한 후 게임 클라이언트(300)에 전송하는 역할과, 참여 증명된 게임 클라이언트(300)의 블록 헤더의 해시값을 기준으로 보상을 수여받을 게임 클라이언트(300)를 결정하기 위한 합의를 수행하는 구성이다.
구체적으로, 블록체인 네트워크부(100)에 포함되는 복수의 마스터 노드는 게임 서버 접속하여 게임을 하는 게임 클라이언트(300)의 참여 증명을 유도하기 위해 게임 클라이언트(300)의 서명 항목이 NULL값으로 설정된 블록 헤더를 생성하여 브릿지 서비스 노드(500)로 전송하고, 게임 클라이언트(300)의 서명을 포함하는 블록 헤더를 게임 클라이언트(300)로부터 수신하는 역할과 참여 증명된 게임 클라이언트 중 최소 해시값을 가지는 대표 게임 클라이언트를 블록체인 네트워크부(100) 상에 존재하는 다른 마스터 노드에게 제안하고, 마스터 노드 중 가장 낮은 해시값에 투표하며 마이닝 보상을 수여 받을 블록 생성 노드를 결정하기 위한 합의를 수행할 수 있다.
보다 구체적으로, 도 2에 도시되어 있는 것처럼, 블록체인 네트워크부(100)에 포함되는 개별 마스터 노드(101)는, NULL값으로 설정된 게이머 서명 항목을 포함하는 블록 헤더(1001)를 브릿지 서비스 노드부(400)를 거쳐 게임 서버부(200) 내 개별 게임 서버(201)를 매개로 게임 클라이언트(300)에 전송하고, 게임 클라이언트(300)의 비밀키 서명에 의해 업데이트된 게이머 서명 항목을 포함하는 블록 헤더(1001`)를 수신할 수 있다.
블록 헤더(1001)는, 블록을 구성하는 일 요소로서, 도 3에 도시된 바와 같은 구조를 가질 수 있다.
구체적으로, 본 발명에 따른 블록 헤더(1001)는 소프트웨어 및 프로토콜 버전(10011); 이전 블록 헤더 해시(10012); 머클 루트 해시(10013); 블록 생성 시간(10014); 트랜잭션 수(10015); 및 공개키 및 서명으로 이루어지는 게이머 서명 항목(10016)을 포함할 수 있다.
본 발명에 따른 블록 헤더(1001)는, PoW 방식으로 구현되는 비트코인과는 달리 4바이트 NONCE값 및 목표 난이도(BITS) 항목이 제외된 구조이다. 따라서 비트코인과는 달리 소모적 연산과정이 없고, 게임 클라이언트의 게임 플레이 등에 지장을 초래하지 아니할 수 있다.
게임 클라이언트(300)의 비밀키 서명을 통한 참여 증명에 의해 업데이트된 게이머 서명 항목을 포함하는 블록 헤더(1001`)의 게이머 상기 서명 항목에는 공개키 및 비밀키를 통해 입력된 게이머 서명을 포함할 수 있다. 한편, 상기에서 공개키는, 예를 들면 게이머 계좌, 구체적으로 마스터 노드들 사이의 합의에 따라 블록 보상을 수여받을 경우 해당 블록 보상에 따른 코인을 저장, 전송 및 관리하는 게이머 지갑 주소 일 수 있다.
게임 클라이언트(300)의 비밀키 서명을 통해 업데이트된 게이머 서명 항목을 포함하는 블록 헤더(1001`)에는 고유의 해시값이 설정될 수 있다.
하나의 예시에서, 게임 클라이언트(300)의 비밀키 서명을 통해 업데이트된 게이머 서명 항목을 포함하는 블록 헤더(1001`)에는 SHA-256 또는 SHA-512와 같은 해시 함수를 통해 도출된 해시값이 설정될 수 있다.
한편, 상기 해시값은, 게임 클라이언트(300) 마다 할당된 공개키, 비밀키 및 개별 트랜잭션에 기초한 머클 루트 해시 등이 독립변수로 작용하여 SHA-256 또는 SHA-512와 같은 해시 함수에 의해 도출된 것으로써, 서로 다른 게임 클라이언트(300)에게 동일한 해시값이 도출될 확률은 실질적으로 0에 가깝다.
구체적인 예시에서, 참여 증명된 게임 클라이언트의 블록 헤더 해시값은 하기 일반식 1의 충돌 확률을 가질 수 있다.
[일반식 1]
Figure 112020071440417-pat00005
Figure 112020071440417-pat00006
은 N명의 참여 증명 게임 클라이언트에 대한 n비트 해시 함수에서의 충돌 확률을 의미한다.
상기 일반식 1에서 알 수 있듯이 같이, 참여 증명된 게임 클라이언트의 블록 헤더 해시값이 동일할 확률은 실질적으로 0으로 수렴하는 바, 본 발명에 따른 블록체인 시스템은 최소 해시값을 가지는 블록 헤더에 서명한 단 한명의 게임 클라이언트(300)에게 블록 보상을 수여할 수 있게 된다.
게임 클라이언트(300)의 비밀키 서명에 의한 참여 증명에 따라 업데이트된 게이머 서명 항목을 포함하는 블록 헤더들은 해시값을 기준으로 블록 보상을 받기 위한 절차에 참여하게 되는데, 이는 블록체인 네트워크부(100)에 포함되는 복수의 마스터 노드 사이의 보상 합의 과정에 의해 이루어진다.
즉, 본 발명에 따른 블록체인 시스템(1)에서, 게임 클라이언트(300)에 대한 보상 합의는 참여 증명된 게임 클라이언트(300)의 블록 헤더 중 최소 해시값을 가지는 블록 헤더에 대한 블록체인 네트워크부(100)에 포함되는 복수의 마스터 노드 중 과반수의 합의에 의해 이루어진다.
특히, 본 발명에 따른 블록체인 시스템(1)은 보상 블록 합의 과정을 제안, 투표 및 검증의 3단계로 나누어 구현함으로써, 비잔틴 노드나 오작동 노드가 존재하더라도 과반을 초과하는 정상적인 노드가 동작 중이면 최종적으로 동일한 하나의 정상적 블록으로 합의를 이끌어 낼 수 있는 특징이 있다.
구체적으로, 블록체인 네트워크부(100)에 포함되는 복수의 마스터 노드 각각은 참여 증명된 게임 클라이언트의 블록 헤더 중 최소 해시값을 가지는 블록 헤더를 상호 제안하여 블록 헤더 세트를 구성하고, 블록 헤더 세트 내 블록 헤더 중 최소 해시값을 가지는 블록 헤더를 상호 전송하여 블록 보상 후보 세트를 구성한 후 블록 보상 후보 세트 내에서 마스터 노드의 과반수가 투표한 최소 해시값을 가지는 보상 블록 헤더를 선정할 수 있다. 이 후, 선정된 보상 블록 헤더는 결정 혹은 검증 과정을 거쳐 최종 보상 블록으로 결정되고, 결정된 보상 블록에 서명한 단 한 명의 클라이언트에게 블록 보상이 주어지며, 해당 블록은 블록체인 상에 연결될 수 있다.
도 4에는 본 발명에 따른 블록체인 시스템의 합의 보상 과정을 설명하기 위한 일 도면이 도시되어 있는데, 도 4를 참조하여 마스터 노드들에 의한 블록 보상 합의 과정을 보다 구체적으로 설명하면, 블록체인 네트워크부(100)에 포함되는 마스터 노드(101,102,103) 각각은 게임 클라이언트로부터 수신한 복수의 블록 헤더 중 최소 해시값을 가지는 블록 헤더(1001`,1002`,1003`)를 독립적으로 상호 전송하는 방식으로 제안(A)하여 블록 헤더 세트(1000a)를 구성하고, 구성된 블록 헤더 세트(1000a) 내 블록 헤더 중 최소 해시값을 가지는 블록 헤더(1001`, 1002`)를 상호 전송하여 블록 보상 후보 세트(1000b)를 구성한 후 블록 보상 후보 세트(1000b) 내에서 마스터 노드의 과반수가 투표한 최소 해시값을 가지는 보상 블록 헤더(1002`)를 선정(B)할 수 있다. 이어서, 선정된 보상 블록 헤더(1002`)에 대한 결정 혹은 검증 과정(C)을 거쳐 최종 보상 블록으로 결정되고, 결정된 보상 블록에 서명한 단 한명의 클라이언트에게 블록 보상이 주어지며, 해당 블록은 블록체인에 연결되어 블록체인 네트워크부(100)에 저장될 수 있다. 비록 도 4에는 마스터 노드가 3개인 것으로 도시하였으나, 이는 본 발명의 일례에 불과할 뿐, 마스터 노드의 개수는 게임 서버부(200)에 포함되는 게임 서버와 상응하는 개수이면 그 숫자는 특별히 제한되지 아니한다.
투표에 의해 선정된 보상 블록 헤더에 대한 결정 혹은 검증 과정(C)은 최소 해시값을 가지는 보상 블록 헤더에 투표한 마스터 노드가 상기 보상 블록 헤더에 투표하지 아니한 마스터 노드에게 검증을 요청하는 과정과, 상기 투표하지 아니한 마스터 노드의 검증 메시지 전송 및 최종 보상 블록 결정 과정으로 이루어 질 수 있다.
하나의 예시에서, 블록체인 네트워크부(100)에 포함되는 복수의 마스터 노드는 상기 보상 블록 헤더의 트랜잭션 리스트를 포함하는 총 블록 데이터를 전달하는 제 1 마스터 노드; 및 상기 보상 블록 헤더의 트랜잭션 리스트를 포함하는 총 블록 데이터를 이용하여 이전 블록 해시 및 게이머 서명 유효성에 대한 검증을 수행한 후 검증 메시지를 전달하는 제 2 마스터 노드;를 포함할 수 있다.
도 4를 더 참조하여 투표에 의해 선정된 보상 블록 헤더(1002)에 대한 결정 혹은 검증 과정(C)에 대해 보다 구체적으로 설명하면, 블록 보상 후보 세트(1000b) 내에서 최소 해시값을 가지는 보상 블록 헤더(1002`)에 투표한 마스터 노드(102)는 보상 블록 헤더(1002`)의 트랜잭션 리스트를 포함하는 총 블록 데이터를 보상 블록 헤더(1002`)에 투표하지 아니한 마스터 노드(101,103)에게 전달하고, 해당 마스터 노드(101,103)는 보상 블록 헤더(1002`)의 트랜잭션 리스트를 포함하는 총 블록 데이터를 이용하여 이전 블록 해시 및 게이머 서명 유효성에 대한 검증을 수행한 후 검증 메시지를 전달할 수 있다.
본 발명에 따른 블록체인 시스템은 게임 클라이언트(300)의 게임 접속을 관리하고, 게임 클라이언트(300)에게 참여 증명을 위한 블록 헤더를 전송하는 게임 서버를 복수 개 포함하는 게임 서버부(200)를 포함한다.
게임 서버부(200)에 포함되는 게임 서버는, 로컬 게임 DB를 관리하고, 게임 동안 발생하는 트랜잭션을 관리하고 저장하는 역할을 수행하는 기존 게임 회사의 레거시 서버를 의미하는 것으로서, 블록체인 네트워크부(100)에 포함되어 있지 아니하고, 브릿지 서비스 노드부(400)를 매개로 블록체인 네트워크부(100)와 상호작용하며, 게임 클라이언트(300)가 게임에 등록 혹은 가입 할 때 공개키 및 비밀키를 부여하는 구성이다.
하나의 예시에서, 게임 서버부(200)의 게임 서버 각각은 게임에 참여하기 위해 가입을 시도하는 게임 클라이언트의 공개키 및 비밀키를 생성한 후 게임 클라이언트(300)에게 제공할 수 있다. 이 경우, 게임 클라이언트(300)의 공개키, 비밀키 및 아이디를 포함하는 데이터 세트는 게임 서버 각각에 의해 브릿지 서비스 노드부(400)로 전송될 수 있고, 브릿지 서비스 노드부(400)에 의해 갱신, 수정, 삭제 및 관리될 수 있다.
본 발명에 따른 블록체인 시스템(1)은 게임 서버부(200)에 포함되는 개별 게임 서버에 접속하여 게임에 참여하는 게임 클라이언트(300)를 포함한다. 게임 클라이언트(300)는 게임에 참여하고, 참여 증명에 따른 블록 보상을 수여받는 유저를 의미한다.
한편, 게임 클라이언트(300)는 동종의 게임에 참여한 게임 클라이언트(300)와의 거래를 위한 트랜잭션을 발생시킬 수 있거나, 또는 이종의 게임에 참여한 게임 클라이언트(300)와의 거래를 위한 트랜잭션을 발생시킬 수 있는데, 블록체인 시스템(1)의 스케일링 이슈를 해결하기 위해서는 이 둘을 구분하여 관리할 필요가 있는 바, 본 발명에 따른 블록체인 시스템(1)은 별도의 로컬 블록체인 네트워크를 두어 신속한 처리가 필요한 동종 게임 사이의 트랜잭션을 처리 혹은 관리할 수 있다.
구체적으로, 도 5 및 7에 도시된 바와 같이, 본 발명에 따른 블록체인 시스템(1)은 게임 서버부(200)에 포함되는 하나의 게임 서버(201)에 접속한 게임 클라이언트 사이의 트랜잭션을 처리하는 로컬 네트워크부(500)를 더 포함할 수 있다. 이 경우, 블록체인 네트워크부(100)는, 도 6에 도시된 바와 같이, 게임 서버부(200)에 포함되는 서로 다른 게임 서버(201,202)에 각각 접속한 게임 클라이언트 사이의 트랜잭션을 처리할 수 있다. 한편, 로컬 네트워크부(500)는 컨소시엄에 의해 기 설정된 게임 서버군 혹은 게임 연합사와 상응하는 복수의 서브 노드를 포함할 수 있다. 상기 복수의 서브 노드는, 예를 들면 3 내지 10개의 게임 서버군 혹은 게임 연합사와 상응하는 것 일 수 있으나, 이에 제한되는 것은 아니다.
본 발명에 따른 블록체인 시스템(1)은 블록체인 네트워크부(100)와 게임 서버부(200) 사이를 매개하는 양방향 커뮤니케이션을 수행하는 브릿지 서비스 노드부(400)를 포함한다.
브릿지 서비스 노드부(400)는 블록체인 네트워크부(100) 밖에 위치하여 게임 서버부(200)와 블록체인 네트워크부(100) 사이의 양방향 커뮤니케이션을 수행하는 구성이다.
구체적으로, 도 2에 도시된 바와 같이, 브릿지 서비스 노드부(400)는 블록체인 네트워크부(100)의 개별 마스터 노드에 의해 전송되는 NULL값으로 설정된 게이머 서명 항목을 포함하는 블록 헤더를 수신하여 게임 서버부(200)의 개별 서버로 전송하는 역할을 수행한다.
또한, 브릿지 서비스 노드부(400)는 게임 서버부(200)에서 전송되는 개별 게임 클라이언트의 공개키 및 비밀키를 관리하는 역할을 수행할 수 있고, 상기 공개키 및 비밀키를 포함하는 데이터 세트의 변경, 게임 로그 모니터링 및 게임 클라이언트의 최소 게임 시간 등을 점검 및 분석하여 부정 사용 여부를 체크하는 역할을 수행할 수 있다.
하나의 예시에서, 브릿지 서비스 노드부(400)는 게임 클라이언트(300)의 데이터 세트를 관리하고, 상기 데이터 세트의 변경 정도, 게임 로그 모니터링 및 게임 클라이언트의 최소 게임 플레이 시간을 포함하는 부정 사용 점검 요소를 분석하여 시빌 공격(Sybil Attack) 여부를 실시간 감지할 수 있다. 상기와 같은 브릿지 서비스 노드부(400)의 역할을 통해, 효과적으로 시빌 공격(Sybil Attack)을 방어할 수 있고, 참여 증명한 게임 클라이언트의 수에 비례하여 공평한 블록 생성 권한을 갖는 블록체인 시스템을 구축할 수 있다.
본 발명에 따른 블록체인 시스템은 전술한 구성들을 통해, 게임 클라이언트가 게임 서버에 접속하여 비밀키 서명을 하는 것만으로도 블록 보상에 참여할 수 있어 블록 보상 참여에 따라 소모되는 전력량이 PoW 방식 대비 월등히 낮은 특징이 있고, 또한 블록 헤더의 해시값을 기준으로 하는 제안, 투표 및 결정의 3단계 블록 보상 방식을 채택함으로써 PoS 방식 대비 후속 참여자의 진입 장벽이 낮고, 부의 편중이 심화되는 문제를 방지할 수 있으며, 나아가 시빌 공격(Sybil Attack)이나 스케일링 이슈 문제를 해결할 수 있는 이점이 있다.
본 발명은 또한, 상기 블록체인 시스템을 이용한 블록 보상 합의 방법에 대한 것이다.
도 8에는 본 발명에 따른 블록 보상 합의 방법을 설명하기 위한 일 블록 보상 합의 흐름도가 도시되어 있는데, 도 8에 도시되어 있는 바와 같이, 본 발명에 따른 블록 보상 합의 방법은 게임 서버부(200)에 접속하여 게임을 참여 중인 게임 클라이언트(300)의 참여 증명 단계(S1); 및 참여 증명한 게임 클라이언트(300) 중 어느 하나에게 보상을 수여하기 위한 블록 보상 합의 단계(S2)를 포함한다.
참여 증명 단계(S1)는, 도 2 및 도 8에 도시된 바와 같이, 블록체인 네트워크부(100)에 포함되는 마스터 노드(101)가 NULL값으로 설정된 게이머 서명 항목을 포함하는 블록 헤더(1001)를 생성한 후 브릿지 서비스 노드부(400)로 블록 헤더(1001)를 전송하는 단계(S1a); 브릿지 서비스 노드부(400)가 게임 서버부(200)로 블록 헤더(1001)를 전송하는 단계(S1b); 게임 서버부(200)가 게임 서버부(200)에 접속하여 게임에 참여 중인 게임 클라이언트(300)에게 블록 헤더(1001)를 전송하는 단계(S1c); 블록 헤더(1001)를 전송받은 게임 클라이언트(300)가 참여 증명을 위한 비밀키 서명을 수행하는 단계(S1d); 및 비밀키 서명을 통해 업데이트된 블록 헤더(1001`)를 블록체인 네트워크부(100)의 마스터 노드(101)로 전송하는 단계(S1e);를 포함한다.
블록 보상 합의 단계(S2)는, 도 4 및 도 8에 도시된 바와 같이, 각각의 마스터 노드(101,102,103)가 상기 비밀키 서명을 통해 업데이트된 블록 헤더 중 최소 해시값을 가지는 블록 헤더(1001`,1002`,1003`)를 상호 제안하여 블록 헤더 세트(1000a)를 구성하는 단계(S2a); 각각의 마스터 노드(101,102,103)가 블록 헤더 세트(1000a) 내 블록 헤더 중 최소 해시값을 가지는 블록 헤더(1002`, 1003`)를 상호 전송하여 블록 보상 후보 세트(1000b)를 구성한 후 블록 보상 후보 세트(1000b) 내에서 마스터 노드의 과반수가 투표한 최소 해시값을 가지는 보상 블록 헤더(1002`)를 선정하는 단계(S2b); 및 보상 블록 헤더(1002`)의 트랜잭션 리스트를 포함하는 총 블록 데이터를 최소 해시값을 가지는 보상 블록 헤더에 투표하지 않은 마스터 노드(101,103)에 전송하고, 유효성 검증을 수행한 후 최종 보상 블록을 결정하는 단계(S2c);를 포함한다.
참여 증명 단계(S1)는, 마스터 노드(101)에 의해 구현되는 것으로써, NULL값으로 설정된 게이머 서명 항목을 포함하는 블록 헤더(1001)의 전송 과정(S1a,S1b,S1c) 및 게임 클라이언트(300)의 비밀키 서명 과정(S1d)과 그에 의해 업데이트된 게이머 서명 항목을 포함하는 블록 헤더(1001`)의 전송 과정(S1e)으로 이루어진다.
한편, 앞서 언급한 바와 같이, 게임 클라이언트(300)의 비밀키 서명 과정(S1d)에 따라 업데이트된 블록 헤더(1001`)에는 고유의 해시값이 설정될 수 있고, 상기 해시값이 동일할 확률은 실질적으로 0에 가깝다.
즉, 비밀키 서명을 수행하는 단계(S1d)는 하기 일반식 1의 충돌 확률을 가지는 블록 헤더 해시값을 생성하는 것을 포함할 수 있다.
[일반식 1]
Figure 112020071440417-pat00007
Figure 112020071440417-pat00008
은 N명의 참여 증명 게임 클라이언트에 대한 n비트 해시 함수에서의 충돌 확률을 의미한다.
또한, 본 발명에 따른 브릿지 서비스 노드부(400)는 참여 증명 단계(S1)가 수행되는 전반에 걸쳐 게임 클라이언트에 대한 공개키, 비밀키 및 아이디를 포함하는 데이터 세트의 변경 정도, 게임 로그 모니터링 및 게임 클라이언트의 최소 게임 플레이 시간을 포함하는 부정 사용 점검 요소를 분석하여 시빌 공격(Sybil Attack) 여부를 실시간 감지할 수 있다.
구체적으로, 참여 증명 단계(S1)는 브릿지 서비스 노드부(400)가 게임 클라이언트(300)에 대한 공개키, 비밀키 및 아이디를 포함하는 데이터 세트의 변경 정도, 게임 로그 모니터링 및 게임 클라이언트의 최소 게임 플레이 시간을 포함하는 부정 사용 점검 요소를 분석하여 시빌 공격(Sybil Attack) 여부를 실시간 감지하는 단계를 더 포함할 수 있다.
참여 증명 단계(S1)이후에는 블록 보상 합의 단계(S2)가 구현되는데, 블록 보상 합의 단계(S2)는 제안 단계(A)를 의미하는 블록 헤더 세트를 구성하는 단계(S2a); 투표 단계(B)를 의미하는 마스터 노드의 과반수가 투표한 최소 해시값을 가지는 보상 블록 헤더를 선정하는 단계(S2b); 및 검증 혹은 결정 단계(C)를 의미하는 최종 보상 블록을 결정하는 단계(S2c)로 구분될 수 있고, 이에 대한 설명은 도 4에 기초하여 설명한 본 발명에 따른 블록체인 시스템(1)의 합의 보상 과정에서 언급한 바와 같다.
따라서 검증 혹은 결정 단계(C)인 최종 보상 블록을 결정하는 단계(S2c)에서는 최소 해시값을 가지는 보상 블록 헤더에 투표한 마스터 노드가 상기 보상 블록 헤더에 투표하지 아니한 마스터 노드에게 검증을 요청하는 단계와, 상기 투표하지 아니한 마스터 노드의 검증 메시지 전송 및 최종 보상 블록 결정 하는 단계로 이루어 질 수 있다.
구체적으로, 최종 보상 블록을 결정하는 단계(S2c)는, 도 4에 기초하여 설명하면, 블록체인 네트워크부(100)에 포함되는 복수의 마스터 노드(101,102,103) 중 어느 한 마스터 노드인 제 1 마스터 노드(102)가 상기 보상 블록 헤더의 트랜잭션 리스트를 포함하는 총 블록 데이터를 최소 해시값을 가지는 보상 블록 헤더(1002`)에 투표하지 않은 제 2 마스터 노드(101,103)에 전달하는 단계; 및 제 2 마스터 노드(101,103)가 보상 블록 헤더(1002`)의 트랜잭션 리스트를 포함하는 총 블록 데이터를 이용하여 이전 블록 해시 및 게이머 서명 유효성에 대한 검증을 수행한 후 검증 메시지를 전달하는 단계;를 포함할 수 있다.
본 발명에 따른 블록 보상 합의 방법의 참여 증명 단계(S1) 및 블록 보상 합의 단계(S2)는 매 보상 라운드마다 소정의 의무 대기 시간을 가지거나 또는 기 설정된 시간 내에 구현될 수 있다.
하나의 예시에서, 참여 증명 단계(S1)는 5초의 의무 대기 시간을 가질 수 있고, 블록 보상 합의 단계(S2)는 20초의 기 설정된 시간 내에 구현될 수 있다.
더 구체적인 예시에서, 참여 증명 단계(S1)는 5초의 의무 대기 시간을 가질 수 있고, 블록 보상 합의 단계(S2)의 블록 헤더 세트를 구성하는 단계(S2a)는 5초의 의무 대기 시간을 가질 수 있으며, 보상 블록 헤더를 선정하는 단계(S2b)는 10초의 기 설정된 시간 내에 구현될 수 있고, 최종 보상 블록을 결정하는 단계(S2c)는 20초의 기 설정된 시간 내에 구현될 수 있다.
본 발명에 따른 블록 보상 합의 방법은 블록 보상 합의 단계(S2) 이후에 바로 다음 블록을 생성하기 위한 참여 단계를 시작하지 아니하고, 소정의 블록 생성 시간까지 대기하는 시간을 가질 수 있다.
구체적인 예시에서, 상기 블록 보상 합의 방법은, 도 8에 도시된 바와 같이, 블록 보상 합의 단계(S2) 이후에 기 설정된 블록 생성 시간까지 대기하는 단계(S3)를 더 포함할 수 있다. 이 때, 상기 기 설정된 블록 생성 시간은 30초일 수 있다. 참여 증명 단계(S1) 및 블록 보상 합의 단계(S2)의 의무 대기 시간을 고려하면, 기 설정된 블록 생성 시간까지 대기하는 단계(S3)는, 최대 20초 동안 구현될 수 있다.
한편, 블록체인 시스템(1)에서 언급한 바와 같이, 본 발명에 따른 블록 보상 합의 방법 또한, 블록체인 시스템(1)의 스케일링 이슈를 해결하기 위해 별도의 로컬 블록체인 네트워크를 두어 신속한 처리가 필요한 동종 게임 사이의 트랜잭션을 처리 혹은 관리할 수 있다.
구체적으로, 도 6 및 7에서 도시된 바와 같이, 본 발명에 따른 블록 보상 합의 방법은 로컬 네트워크부(500)가 게임 서버부(200)에 포함되는 하나의 게임 서버(201)에 접속한 게임 클라이언트 사이의 트랜잭션을 처리하고, 블록체인 네트워크부(100)가 게임 서버부(200)에 포함되는 서로 다른 게임 서버(201, 202)에 각각 접속한 게임 클라이언트 사이의 트랜잭션을 처리할 수 있다.
이상에서, 본 발명에 따른 블록체인 시스템 및 이를 이용한 블록 보상 합의 방법에 대해 상세한 설명과 도면을 예시로 하여 설명하였지만, 이는 본 발명에 따른 일례에 불과할 뿐, 상기 예시들이 본 발명의 기술적 사상 내지는 권리범위를 제한하지 아니함을 물론이고, 이 기술 분야의 통상의 지식을 가진 사람은 본 발명의 기술적 사상을 벗어나지 않는 범위 내에서 위 예시들을 기초로 다양한 변화 및 변경이 가능하다.
1 : 블록체인 시스템
100 : 블록체인 네트워크부
101, 102, 103 : 마스터 노드
1000a : 블록 헤더 세트
1000b : 블록 보상 후보 세트
1001,1002,1003 : NULL값으로 설정된 게이머 서명 항목을 포함하는 블록 헤더
10011 : 소프트웨어 및 프로토콜 버전
10012 : 이전 블록 헤더 해시
10013 : 머클 루트 해시
10014 : 블록 생성 시간
10015 : 트랜잭션 수
10016 : 공개키 및 서명으로 이루어지는 게이머 서명 항목
1001`,1002`,1003` : 비밀키 서명에 의해 업데이트된 게이머 서명 항목을 포함하는 블록 헤더
200 : 게임 서버부
201,202 : 게임 서버
300 : 게임 클라이언트
400 : 브릿지 서비스 노드부
500 : 로컬 네트워크부

Claims (15)

  1. 게임 클라이언트의 참여 증명을 유도하고 참여 증명된 게임 클라이언트 중 보상을 수여받을 게임 클라이언트를 결정하기 위한 합의를 수행하는 마스터 노드로서, 블록체인 시스템에 참여하는 게임 서버별로 개별 할당되는 마스터 노드를 복수 개 포함하는 블록체인 네트워크부;
    게임 클라이언트의 게임 접속을 관리하고, 게임 클라이언트에게 참여 증명을 위한 블록 헤더를 전송하는 게임 서버를 복수 개 포함하는 게임 서버부;
    상기 게임 서버부에 포함되는 개별 게임 서버에 접속하여 게임에 참여하는 게임 클라이언트; 및
    상기 블록체인 네트워크부와 상기 게임 서버부 사이를 매개하는 양방향 커뮤니케이션을 수행하는 브릿지 서비스 노드부;를 포함하는 블록체인 시스템으로서,
    게임 클라이언트의 참여 증명은,
    NULL값으로 설정된 게이머 서명 항목을 포함하는 블록 헤더에 대한 게임 클라이언트의 비밀키 서명을 통해 수행되고,
    게임 클라이언트에 대한 보상 합의는,
    참여 증명된 게임 클라이언트의 블록 헤더 중 최소 해시값을 가지는 블록 헤더에 대한 상기 블록체인 네트워크에 포함되는 복수의 마스터 노드 중 과반수의 합의에 의해 이루어지는 블록체인 시스템.
  2. 제 1항에 있어서,
    상기 블록체인 네트워크부에 포함되는 복수의 마스터 노드 각각은,
    NULL값으로 설정된 게이머 서명 항목을 포함하는 블록 헤더를 상기 브릿지 서비스 노드부를 거쳐 상기 게임 서버부를 매개로 게임 클라이언트에 전송하고, 상기 게임 클라이언트의 비밀키 서명에 의해 업데이트된 게이머 서명 항목을 포함하는 블록 헤더를 수신하는 블록체인 시스템.
  3. 제 1항에 있어서,
    상기 블록 헤더는,
    소프트웨어 및 프로토콜 버전; 이전 블록 헤더 해시; 머클 루트 해시; 블록 생성 시간; 트랜잭션 수; 및 공개키 및 서명으로 이루어지는 게이머 서명 항목을 포함하는 블록체인 시스템.
  4. 제 1항에 있어서,
    상기 블록체인 네트워크부에 포함되는 복수의 마스터 노드 각각은,
    참여 증명된 게임 클라이언트의 블록 헤더 중 최소 해시값을 가지는 블록 헤더를 상호 제안하여 블록 헤더 세트를 구성하고,
    상기 블록 헤더 세트 내 블록 헤더 중 최소 해시값을 가지는 블록 헤더를 상호 전송하여 블록 보상 후보 세트를 구성한 후 상기 블록 보상 후보 세트 내에서 마스터 노드의 과반수가 투표한 최소 해시값을 가지는 보상 블록 헤더를 선정하며,
    상기 보상 블록 헤더의 트랜잭션 리스트를 포함하는 총 블록 데이터를 전달하고 검증하며 최종 보상 블록을 결정하는 블록체인 시스템.
  5. 제 4항에 있어서,
    상기 블록체인 네트워크부에 포함되는 복수의 마스터 노드는,
    상기 보상 블록 헤더의 트랜잭션 리스트를 포함하는 총 블록 데이터를 전달하는 제 1 마스터 노드; 및
    상기 보상 블록 헤더의 트랜잭션 리스트를 포함하는 총 블록 데이터를 이용하여 이전 블록 해시 및 게이머 서명 유효성에 대한 검증을 수행한 후 검증 메시지를 전달하는 제 2 마스터 노드;를 포함하는 블록체인 시스템.
  6. 제 1항에 있어서,
    상기 게임 서버부에 포함되는 하나의 게임 서버에 접속한 게임 클라이언트 사이의 트랜잭션을 처리하는 로컬 네트워크부를 더 포함하고,
    상기 블록체인 네트워크부는,
    상기 게임 서버부에 포함되는 서로 다른 게임 서버에 각각 접속한 게임 클라이언트 사이의 트랜잭션을 처리하는 블록체인 시스템.
  7. 제 6항에 있어서,
    상기 게임 서버부의 게임 서버 각각은,
    게임에 참여하기 위해 가입을 시도하는 게임 클라이언트의 공개키 및 비밀키를 생성한 후 상기 게임 클라이언트에게 제공하고,
    게임 클라이언트의 공개키, 비밀키 및 아이디를 포함하는 데이터 세트를 상기 브릿지 서비스 노드부로 전송하는 블록체인 시스템.
  8. 제 7항에 있어서,
    상기 브릿지 서비스 노드부는,
    게임 클라이언트의 데이터 세트를 관리하고,
    상기 데이터 세트의 변경 정도, 게임 로그 모니터링 및 게임 클라이언트의 최소 게임 플레이 시간을 포함하는 부정 사용 점검 요소를 분석하여 시빌 공격(Sybil Attack) 여부를 실시간 감지하는 블록체인 시스템.
  9. 제 1항에 있어서,
    참여 증명된 게임 클라이언트의 블록 헤더 해시값은 하기 일반식 1의 충돌 확률을 가지는 블록체인 시스템:
    [일반식 1]
    Figure 112020071440417-pat00009

    Figure 112020071440417-pat00010
    은 N명의 참여 증명 게임 클라이언트에 대한 n비트 해시 함수에서의 충돌 확률을 의미한다.
  10. 제 1항에 따른 블록체인 시스템을 이용하는 블록 보상 합의 방법으로서,
    게임 서버부에 접속하여 게임을 참여 중인 게임 클라이언트의 참여 증명 단계; 및
    참여 증명한 게임 클라이언트 중 어느 하나에게 보상을 수여하기 위한 블록 보상 합의 단계를 포함하고,
    상기 참여 증명 단계는,
    블록체인 네트워크부에 포함되는 마스터 노드가 NULL값으로 설정된 게이머 서명 항목을 포함하는 블록 헤더를 생성한 후 브릿지 서비스 노드부로 상기 블록 헤더를 전송하는 단계;
    상기 브릿지 서비스 노드부가 게임 서버부로 상기 블록 헤더를 전송하는 단계;
    상기 게임 서버부가 상기 게임 서버부에 접속하여 게임에 참여 중인 게임 클라이언트에게 상기 블록 헤더를 전송하는 단계;
    상기 블록 헤더를 전송받은 상기 게임 클라이언트가 참여 증명을 위한 비밀키 서명을 수행하는 단계; 및
    비밀키 서명을 통해 업데이트된 블록 헤더를 상기 블록체인 네트워크부의 마스터 노드로 전송하는 단계;를 포함하고,
    상기 블록 보상 합의 단계는,
    각각의 마스터 노드가 상기 비밀키 서명을 통해 업데이트된 블록 헤더 중 최소 해시값을 가지는 블록 헤더를 상호 제안하여 블록 헤더 세트를 구성하는 단계;
    각각의 마스터 노드가 상기 블록 헤더 세트 내 블록 헤더 중 최소 해시값을 가지는 블록 헤더를 상호 전송하여 블록 보상 후보 세트를 구성한 후 상기 블록 보상 후보 세트 내에서 마스터 노드의 과반수가 투표한 최소 해시값을 가지는 보상 블록 헤더를 선정하는 단계; 및
    상기 보상 블록 헤더의 트랜잭션 리스트를 포함하는 총 블록 데이터를 최소 해시값을 가지는 보상 블록 헤더에 투표하지 않은 마스터 노드에 전송하고, 유효성 검증을 수행한 후 최종 보상 블록을 결정하는 단계;를 포함하는 블록 보상 합의 방법.
  11. 제 10항에 있어서,
    상기 비밀키 서명을 수행하는 단계는,
    하기 일반식 1의 충돌 확률을 가지는 블록 헤더 해시값을 생성하는 것을 포함하는 블록 보상 합의 방법:
    [일반식 1]
    Figure 112020071440417-pat00011

    Figure 112020071440417-pat00012
    은 N명의 참여 증명 게임 클라이언트에 대한 n비트 해시 함수에서의 충돌 확률을 의미한다.
  12. 제 10항에 있어서,
    상기 참여 증명 단계는,
    브릿지 서비스 노드부가 게임 클라이언트에 대한 공개키, 비밀키 및 아이디를 포함하는 데이터 세트의 변경 정도, 게임 로그 모니터링 및 게임 클라이언트의 최소 게임 플레이 시간을 포함하는 부정 사용 점검 요소를 분석하여 시빌 공격(Sybil Attack) 여부를 실시간 감지하는 단계를 더 포함하는 블록 보상 합의 방법.
  13. 제 10항에 있어서,
    상기 최종 보상 블록을 결정하는 단계는,
    상기 블록체인 네트워크부에 포함되는 복수의 마스터 노드 중 어느 한 마스터 노드인 제 1 마스터 노드가 상기 보상 블록 헤더의 트랜잭션 리스트를 포함하는 총 블록 데이터를 최소 해시값을 가지는 보상 블록 헤더에 투표하지 않은 제 2 마스터 노드에 전달하는 단계; 및
    상기 제 2 마스터 노드가 상기 보상 블록 헤더의 트랜잭션 리스트를 포함하는 총 블록 데이터를 이용하여 이전 블록 해시 및 게이머 서명 유효성에 대한 검증을 수행한 후 검증 메시지를 전달하는 단계;를 포함하는 블록 보상 합의 방법.
  14. 제 10항에 있어서,
    로컬 네트워크부가 상기 게임 서버부에 포함되는 하나의 게임 서버에 접속한 게임 클라이언트 사이의 트랜잭션을 처리하고, 상기 블록체인 네트워크부가 상기 게임 서버부에 포함되는 서로 다른 게임 서버에 각각 접속한 게임 클라이언트 사이의 트랜잭션을 처리하는 블록 보상 합의 방법.
  15. 제 10항에 있어서,
    상기 블록 보상 합의 단계 이후에 기 설정된 블록 생성 시간까지 대기하는 단계를 더 포함하고, 상기 기 설정된 블록 생성 시간은 30초인 블록 보상 합의 방법.
KR1020200084740A 2020-07-09 2020-07-09 게임 클라이언트의 참여 증명 기반 블록체인 시스템 및 이를 이용한 블록 보상 합의 방법 KR102366638B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020200084740A KR102366638B1 (ko) 2020-07-09 2020-07-09 게임 클라이언트의 참여 증명 기반 블록체인 시스템 및 이를 이용한 블록 보상 합의 방법

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020200084740A KR102366638B1 (ko) 2020-07-09 2020-07-09 게임 클라이언트의 참여 증명 기반 블록체인 시스템 및 이를 이용한 블록 보상 합의 방법

Publications (2)

Publication Number Publication Date
KR20220006834A KR20220006834A (ko) 2022-01-18
KR102366638B1 true KR102366638B1 (ko) 2022-02-25

Family

ID=80052412

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020200084740A KR102366638B1 (ko) 2020-07-09 2020-07-09 게임 클라이언트의 참여 증명 기반 블록체인 시스템 및 이를 이용한 블록 보상 합의 방법

Country Status (1)

Country Link
KR (1) KR102366638B1 (ko)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2023204472A1 (ko) * 2022-04-20 2023-10-26 주식회사 데브캣 게임자산 관리 장치 및 게임자산 관리 방법

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102092953B1 (ko) * 2018-03-20 2020-03-24 애드오에스 주식회사 애플리케이션에 포함된 광고 모듈을 이용한 블록체인 기반의 광고 장치 및 방법
KR102050087B1 (ko) 2018-04-13 2019-11-28 주식회사 골든블로코 하드웨어 및 지분증명 합의 알고리즘을 포함하는 블록 체인 시스템과 그 블록 체인 시스템에서의 블록 생성 방법
KR102610127B1 (ko) * 2018-04-26 2023-12-04 주식회사 넥슨코리아 전자 지갑을 이용한 암호화폐의 거래 서비스를 제공하는 장치 및 방법
KR102130062B1 (ko) * 2018-09-18 2020-07-03 엔에이치엔 주식회사 블록체인 네트워크의 노드들 간의 합의를 이루는 방법 및 블록체인 시스템

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2023204472A1 (ko) * 2022-04-20 2023-10-26 주식회사 데브캣 게임자산 관리 장치 및 게임자산 관리 방법

Also Published As

Publication number Publication date
KR20220006834A (ko) 2022-01-18

Similar Documents

Publication Publication Date Title
Zheng et al. Blockchain challenges and opportunities: A survey
US11861606B2 (en) Blockchain system for confidential and anonymous smart contracts
JP6986519B2 (ja) 分散型トランザクション伝播および検証システム
Bonneau et al. Sok: Research perspectives and challenges for bitcoin and cryptocurrencies
Zheng et al. An overview of blockchain technology: Architecture, consensus, and future trends
US11836720B2 (en) Infinitely scalable cryptocurrency system with fast, secure verification
Zheng et al. Blockchain challenges and opportunities: A survey
US20170323392A1 (en) Consensus system for manipulation resistant digital record keeping
KR20190093012A (ko) 블록 체인 시스템에서의 블록 생성 및 검증 방법
Hazari et al. Comparative evaluation of consensus mechanisms in cryptocurrencies
Alzahrani et al. A new product anti‐counterfeiting blockchain using a truly decentralized dynamic consensus protocol
KR20200066256A (ko) 정보 보호를 위한 시스템 및 방법
Peters et al. Blockchain applications for legal metrology
Chaumont et al. DPoPS: Delegated Proof-of-Private-Stake, a DPoS implementation under X-Cash, a Monero based hybrid-privacy coin
KR102366638B1 (ko) 게임 클라이언트의 참여 증명 기반 블록체인 시스템 및 이를 이용한 블록 보상 합의 방법
WO2022079431A1 (en) Block reward management in blockchain
Clark et al. Research perspectives and challenges for bitcoin and cryptocurrencies
Decker On the scalability and security of bitcoin
Suliyanti et al. Evaluation of hash rate-based double-spending based on proof-of-work blockchain
Barbàra et al. MP‐HTLC: Enabling blockchain interoperability through a multiparty implementation of the hash time‐lock contract
Müller et al. COST: A consensus-based oracle protocol for the secure trade of digital goods
JP6967211B1 (ja) 違法な取引を防止しつつ匿名ユーザの参加も許容する暗号資産の取引のための完全分散型ブロックチェーンシステム及びコンピュータープログラム
Yakupoğlu A comparative study of bitcoin and alternative cryptocurrencies
KR20190105320A (ko) 암호화폐를 사용하지 않는 법정화폐용 p2p 장부
CN115152195A (zh) 分层网络的适配连接

Legal Events

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