KR102201468B1 - 블록체인 기반의 게임 제작을 위한 크라우드펀딩 시스템의 동작 방법 및 서비스 환경을 구현하기 위한 시스템 - Google Patents

블록체인 기반의 게임 제작을 위한 크라우드펀딩 시스템의 동작 방법 및 서비스 환경을 구현하기 위한 시스템 Download PDF

Info

Publication number
KR102201468B1
KR102201468B1 KR1020180110869A KR20180110869A KR102201468B1 KR 102201468 B1 KR102201468 B1 KR 102201468B1 KR 1020180110869 A KR1020180110869 A KR 1020180110869A KR 20180110869 A KR20180110869 A KR 20180110869A KR 102201468 B1 KR102201468 B1 KR 102201468B1
Authority
KR
South Korea
Prior art keywords
node
crowdfunding
block
blockchain
nodes
Prior art date
Application number
KR1020180110869A
Other languages
English (en)
Other versions
KR20200031861A (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 KR1020180110869A priority Critical patent/KR102201468B1/ko
Priority to US16/572,606 priority patent/US11631064B2/en
Publication of KR20200031861A publication Critical patent/KR20200031861A/ko
Application granted granted Critical
Publication of KR102201468B1 publication Critical patent/KR102201468B1/ko

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • 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
    • 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
    • G06Q40/00Finance; Insurance; Tax strategies; Processing of corporate or income taxes
    • G06Q40/06Asset management; Financial planning or analysis
    • 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
    • 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
    • G06Q10/00Administration; Management
    • G06Q10/06Resources, workflows, human or project management; Enterprise or organisation planning; Enterprise or organisation modelling
    • G06Q10/063Operations research, analysis or management
    • G06Q10/0631Resource planning, allocation, distributing or scheduling for enterprises or organisations
    • 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
    • G06Q50/00Systems or methods specially adapted for specific business sectors, e.g. utilities or tourism
    • G06Q50/01Social networking
    • GPHYSICS
    • G07CHECKING-DEVICES
    • G07CTIME OR ATTENDANCE REGISTERS; REGISTERING OR INDICATING THE WORKING OF MACHINES; GENERATING RANDOM NUMBERS; VOTING OR LOTTERY APPARATUS; ARRANGEMENTS, SYSTEMS OR APPARATUS FOR CHECKING NOT PROVIDED FOR ELSEWHERE
    • G07C13/00Voting apparatus
    • 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
    • G06Q2230/00Voting or election arrangements

Abstract

실시예는, 복수의 노드들의 분산 네트워크로 구성된 블록체인 기반 게임 제작을 위한 크라우드펀딩 시스템을 동작시키는 방법으로써, 설정된 스마트컨트렉트에 따라 크라우드펀딩 서비스가 상기 분산 네트워크에서 수행되도록 하는 단계;를 포함하고, 상기 스마트컨트렉트는, 게임 제작 계획 정보에 관련된 데이터 레코드를 포함하는 최초 블록을 생성하고, 코인의 전자 거래에 관한 적어도 하나의 거래 내역이 상기 복수의 노드들에 공유되고, 상기 적어도 하나의 거래 내역에 관련된 데이터 레코드를 포함하는 적어도 하나의 새로운 블록을 생성하고, 상기 복수의 노드들 중 적어도 하나의 노드에 저장된 블록체인이 상기 새로운 블록을 포함하도록 상기 분산 네트워크로부터의 통신에 기초하여 상기 저장된 블록체인이 업데이트되는 것을 포함하는 블록체인 기반의 게임 제작을 위한 크라우드펀딩 시스템의 동작 방법을 제공할 수 있다.

Description

블록체인 기반의 게임 제작을 위한 크라우드펀딩 시스템의 동작 방법 및 서비스 환경을 구현하기 위한 시스템{A method of operating Crowdfunding system for game production based on Blockchain and a system for implementing the service environment}
본 발명은 블록체인 기반의 게임 제작을 위한 크라우드펀딩 서비스 환경 제공하는 방법과 서비스 환경을 구현하기 위한 시스템에 관한 것이다.
최근 대중으로부터 십시일반 자금을 모으는 크라우드펀딩(Crowdfunding)이 주목 받고 있다. 크라우드펀딩은 영화나 연극 같은 문화예술은 물론 중소 및 벤처 기업이 필요한 자금을 SNS(Social Network Service)나 인터넷 사이트를 통해 다수의 개인으로부터 투자 받는 방식을 말한다. 크라우드펀딩은 구체적인 목적을 가진 개인 또는 회사인 프로젝트 소유주, 투자자 그리고 중재자 역할을 하는 크라우드펀딩 플랫폼으로 구성되며, 특정한 프로젝트를 위해 다수의 개인들이 소액으로 후원을 한다는 점과 기존의 방식으로는 자금조달에 한계가 있는 다양한 분야와 목적의 자금 지원을 가능하게 한다는데 의의가 있다.
크라우드펀딩은 치열한 경쟁이 펼처지고 있는 게임 산업에서도 게임 개발 자금의 조달 수단으로 널리 활용되고 있다. 게임 산업은 막대한 자본과 인력이 필요한 곳이다. 개인이나 소규모 게임 개발사가 좋은 아이디어를 가지고 있다 하여도 결국 자본의 문제 때문에 각광 받는 게임을 만드는 것은 불가능에 가까웠다. 그러나 크라우드펀딩을 활용한 게임 제작 성공 사례가 증가하면서 게임 개발자들은 게임 개발을 위한 자금 조달 문제에서 어느 정도 자유로워지고 있다. 이와 더불어 크라우드펀딩을 이용한 게임 제작 방식에 대한 부정적 인식도 점점 증가하고 있다. 이는 크라우드펀딩을 통해 조달된 자금으로 개발된 게임의 성공 사례의 이면에 먹튀의 사례가 차츰 쌓여가고 있기 때문이다. 먹튀로 표현되는 크라우드펀딩 게임 제작의 실폐 사례로는 크라우드 펀딩의 목표액을 크게 상회하며 조기에 자금 확보를 성공한 게임 제작 프로젝트의 결과물이 기대에 한참 못미치는 저급의 퀄리티로 돌아온 사례, 게임 패키지 발매 업체로의 자금 집행이 원활하지 않아 게임 발매가 지연된 사례, 크라우드펀딩으로 자금을 모은 다음 책임자가 그대로 잠적해버린 사례, 게임 개발을 하다가 역량 부족으로 다른 회사에 모든 권리를 넘겨버린 사례, 게임 제작 진행 과정이 지지부진한 사례 등이다. 이러한 실폐 사례가 점점 쌓여가면서 크라우드펀딩을 이용한 게임 제작에 대한 냉소적인 시각이 증가하면서, 크라우드펀딩을 이용한 게임 제작의 신뢰를 확보할 수 있는 시스템의 필요성이 대두되고 있다.
한국특허공개공보 제 10-2017-0112332 호
본 발명은 크라우드펀딩을 이용한 게임 제작의 신뢰를 확보할 수 있는 시스템을 제공하는데 일 목적이 있다.
또한, 본 발명은 블록체인 기반의 게임 제작을 위한 크라우드펀딩 서비스 환경을 제공하는 방법과 서비스 환경을 구현하기 위한 시스템를 제공하는데 일 목적이 있다.
또한, 본 발명은 게임 제작을 위한 투자금의 사용과 제작된 게임 서비스에 따른 수익금의 분배에 대한 안정성과 투명성 그리고 적절성을 담보할 수 있는 시스템을 제공하는데 일 목적이 있다.
실시예는, 복수의 노드들의 분산 네트워크로 구성된 블록체인 기반 게임 제작을 위한 크라우드펀딩 시스템을 동작시키는 방법으로써, 설정된 스마트컨트렉트에 따라 크라우드펀딩 서비스가 상기 분산 네트워크에서 수행되도록 하는 단계;를 포함하고, 상기 스마트컨트렉트는, 게임 제작 계획 정보에 관련된 데이터 레코드를 포함하는 최초 블록을 생성하고, 코인의 전자 거래에 관한 적어도 하나의 거래 내역이 상기 복수의 노드들에 공유되고, 상기 적어도 하나의 거래 내역에 관련된 데이터 레코드를 포함하는 적어도 하나의 새로운 블록을 생성하고, 상기 복수의 노드들 중 적어도 하나의 노드에 저장된 블록체인이 상기 새로운 블록을 포함하도록 상기 분산 네트워크로부터의 통신에 기초하여 상기 저장된 블록체인이 업데이트되는 것을 포함하는 블록체인 기반의 게임 제작을 위한 크라우드펀딩 시스템의 동작 방법을 제공할 수 있다.
다른 측면에서, 상기 게임 제작 계획 정보에 기초하여 상기 스마트컨트렉트를 설정하는 것을 더 포함하는 블록체인 기반의 게임 제작을 위한 크라우드펀딩 시스템의 동작 방법을 제공할 수도 있다.
다른 측면에서, 상기 스마트컨트렉트는, 상기 거래 내역의 개수 정보, 상기 거래 내역 상의 코인의 액수 정보 및 상기 거래 내역의 생성 시점 정보 중 적어도 하나에 기초하여 상기 새로운 블록의 생성 시점을 결정하는 것을 포함하는 블록체인 기반의 게임 제작을 위한 크라우드펀딩 시스템의 동작 방법을 제공할 수도 있다.
다른 측면에서, 상기 게임 제작 계획 정보는 단계별 계약 사항에 관련된 정보를 포함하고, 상기 스마트컨트렉트는, 상기 단계별 계약 사항의 이행 여부에 기초하여 상기 새로운 블록의 생성 여부를 결정하는 것을 포함하는 블록체인 기반의 게임 제작을 위한 크라우드펀딩 시스템의 동작 방법을 제공할 수도 있다.
다른 측면에서, 상기 스마트컨트렉트는, 상기 복수의 노드들 중 미리 지정된 노드들로부터의 온라인 투표 결과를 수집하고, 상기 온라인 투표 결과에 기초하여 상기 단계별 계약 사항의 이행 여부를 판단하는 것을 포함하는 블록체인 기반의 게임 제작을 위한 크라우드펀딩 시스템의 동작 방법을 제공할 수도 있다.
다른 측면에서, 상기 스마트컨트렉트는, 제작 완료된 게임의 서비스에 따른 매출 정보, 게임 서비스에 대한 광고 정보, 크라우드펀딩 노드와 투자자 노드 사이의 거래 내역 상의 코인의 액수 정보 및 상기 크라우드펀딩 노드와 상기 투자자 노드 사이의 거래 내역의 생성 시점 중 적어도 하나에 기초하여 새로운 거래 내역을 생성하는 블록체인 기반의 게임 제작을 위한 크라우드펀딩 시스템의 동작 방법을 제공할 수도 있다.
다른 측면에서, 상기 새로운 거래 내역은, 개발자 노드로의 코인 송금에 관한 적어도 하나의 거래 내역, 상기 개발자 노드로의 코인 송금에 관한 적어도 하나의 거래 내역 및 상기 크라우드펀딩 노드로의 코인 송금에 관한 적어도 하나의 거래 내역 중 적어도 하나를 포함하는 블록체인 기반의 게임 제작을 위한 크라우드펀딩 시스템의 동작 방법을 제공할 수도 있다.
다른 측면에서, 상기 스마트컨트렉트는, 상기 거래 내역을 포함할 새로운 블록의 생성 권한을 부여할 노드를, 제작 완료된 게임의 서비스에 따른 매출 정보, 게임 서비스에 대한 광고 정보, 크라우드펀딩 노드와 투자자 노드 사이의 거래 내역 상의 코인의 액수 정보, 상기 크라우드펀딩 노드와 상기 투자자 노드 사이의 거래 내역의 생성 시점 및 온라인 투표에 참여한 노드 정보에 기초하여 결정하는 것을 포함하는 블록체인 기반의 게임 제작을 위한 크라우드펀딩 시스템의 동작 방법을 제공할 수도 있다.
다른 측면에서, 거래 내역을 수신한 노드는 수신된 거래 내역의 유효성을 검증하고, 거래 내역의 유효성이 검증되면 이를 다른 노드로 공유하고, 거래 내역의 유효성이 검증되지 않으면 해당 거래 내역을 폐기하는 것을 포함하고, 거래 내역의 유효성 검증은 해당 거래의 구문(syntax)과 데이터 구조의 검증, 송금액이 미리 설정된 기준 송금 범위 이내인지 검증 및 송금 일자가 미리 설정된 기간 이내인지 검증 중 적어도 하나의 검증을 포함하는 블록체인 기반의 게임 제작을 위한 크라우드펀딩 시스템의 동작 방법을 제공할 수도 있다.
또 다른 측면에서, 복수의 노드들의 분산 네트워크로 구성된 블록체인 기반 게임 제작을 위한 크라우드펀딩 시스템의 적어도 하나의 노드의 적어도 하나의 프로세서에 의해 실행 가능한 명령들을 포함하는 비일시적인 컴퓨터 판독 가능 매체에 저장된 컴퓨터 프로그램으로써, 상기 명령들은, 설정된 스마트컨트렉트에 따라 크라우드펀딩 서비스가 상기 분산 네트워크에서 수행되도록 하는 것을 포함하고, 상기 스마트컨트렉트는, 게임 제작 계획 정보에 관련된 데이터 레코드를 포함하는 최초 블록을 생성하고, 코인의 전자 거래에 관한 적어도 하나의 거래 내역이 상기 복수의 노드들에 공유되고, 상기 적어도 하나의 거래 내역에 관련된 데이터 레코드를 포함하는 적어도 하나의 새로운 블록을 생성하고, 상기 복수의 노드들 중 적어도 하나의 노드에 저장된 블록체인이 상기 새로운 블록을 포함하도록 상기 분산 네트워크로부터의 통신에 기초하여 상기 저장된 블록체인이 업데이트되는 것을 포함하는 비일시적인 컴퓨터 판독 가능 매체에 저장된 컴퓨터 프로그램을 제공할 수도 있다.
본 발명의 실시예는 펀딩된 모금에 대한 사용의 안정성과 적절성 그리고 투명성을 담보할 수 있는 방법과 시스템을 제공할 수 있다.
또한, 실시예는 게임 서비스에 따른 수익금 분배의 적절성과 투명성을 보장할 수 있다.
또한, 실시예는 계약 조건에 따른 중간자의 개입이나 계약 조건의 충족 여부를 일일이 확인할 필요 없이 스마트컨트렉트에 따라 계약을 자동 실행시킴으로서 크라우드펀딩 서비스를 효율적으로 운용할 수 있다.
또한, 실시예는 오프라인 상이나 일부 온라인 상에서 이루어지는 크라우드펀딩 서비스에서 발생한 각종 문제나 한계점을 해결하거나 최소화할 수 있다.
또한, 실시예는 종래의 리더(Leader) 모델에서 라운드 별 유일 리더 선택 문제 및 선택된 리더가 악성 리더인 경우의 문제를 해결할 수 있고, 라운드별로 허가 기간에 프로듀서 노드가 생성되는 방식을 통해 프로듀서 노드가 블록 생성을 게을리하는 경우 블록체인 시스템이 멈추는 현상을 해결할 수 있고 다량의 블록 생성자가 존재하는 것을 방지할 수 있다.
본 발명에서 얻을 수 있는 효과는 이상에서 언급한 효과들로 제한되지 않으며, 언급하지 않은 또 다른 효과들은 아래의 기재로부터 명확하게 이해될 수 있다.
도 1 및 도 2는 크라우드펀딩 네트워크 내의 노드들이 크라우드펀딩 블록체인 형태로 크라우드펀딩 서비스를 관리하도록 구성되거나 프로그래밍되는 크라우드펀딩 시스템의 개관을 나타낸다.
도 3 내지 도 5는 블록체인 기반의 게임 제작을 위한 크라우드펀딩 시스템의 동작 방법에 관한 예시적인 흐름도이다.
본 발명은 다양한 변환을 가할 수 있고 여러 가지 실시예를 가질 수 있는 바, 특정 실시예들을 도면에 예시하고 상세한 설명에 상세하게 설명하고자 한다. 본 발명의 효과 및 특징, 그리고 그것들을 달성하는 방법은 도면과 함께 상세하게 후술되어 있는 실시예들을 참조하면 명확해질 것이다. 그러나 본 발명은 이하에서 개시되는 실시예들에 한정되는 것이 아니라 다양한 형태로 구현될 수 있다. 이하의 실시예에서, 제1, 제2 등의 용어는 한정적인 의미가 아니라 하나의 구성 요소를 다른 구성 요소와 구별하는 목적으로 사용되었다. 또한, 단수의 표현은 문맥상 명백하게 다르게 뜻하지 않는 한, 복수의 표현을 포함한다. 또한, 포함하다 또는 가지다 등의 용어는 명세서상에 기재된 특징, 또는 구성요소가 존재함을 의미하는 것이고, 하나 이상의 다른 특징들 또는 구성요소가 부가될 가능성을 미리 배제하는 것은 아니다. 또한, 도면에서는 설명의 편의를 위하여 구성 요소들이 그 크기가 과장 또는 축소될 수 있다. 예컨대, 도면에서 나타난 각 구성의 크기 및 두께는 설명의 편의를 위해 임의로 나타내었으므로, 본 발명이 반드시 도시된 바에 한정되지 않는다.
이하, 첨부된 도면을 참조하여 본 발명의 실시예들을 상세히 설명하기로 하며, 도면을 참조하여 설명할 때 동일하거나 대응하는 구성 요소는 동일한 도면부호를 부여하고 이에 대한 중복되는 설명은 생략하기로 한다.
도 1 및 도 2는 크라우드펀딩 네트워크 내의 노드들이 크라우드펀딩 블록체인 형태로 크라우드펀딩 서비스를 관리하도록 구성되거나 프로그래밍되는 크라우드펀딩 시스템의 개관을 나타낸다. 그리고, 도 3 내지 도 5는 블록체인 기반의 게임 제작을 위한 크라우드펀딩 시스템의 동작 방법에 관한 예시적인 흐름도이다.
이하에서 설명하는 시스템은 네트워크상에서 피어투피어(peer-to-peer) 네트워크 아키텍처 구조를 이룬다. 즉, 시스템에 참여하는 사용자들은 모두 등등한 지위를 가지고 있고 특별한 노드는 존재하지 않으며 모든 노드(노드 1 내지 노드 n)가 네트워크 서비스를 구성하는 역할을 분담한다. 네트워크상의 여러 노드(100)는 서로 등등한 토폴로지를 가지면서 그물망 네트워크에서 서로 연결된다. 네트워크 내에 있는 노드들이 서로 등등한 위치에 있다고 할지라도 지원하는 기능에 따라 각자의 역할은 상이할 수 있다.
모든 노드는 네트워크 내에 라우팅 기능을 보유하고 있으며, 다른 기능을 포함할 수도 있다. 모든 노드는 거래와 블록을 검증하고 전파하며, 이웃 노드들과의 연결을 유지하는 기능을 수행할 수 있다.
사용자는 게임 개발자, 크라우드서비스 관리자, 투자자가 될 수 있다. 개발자, 관리자 그리고 투자자 각각은 개인이거나 조직, 커뮤니티 또는 다른 유형의 개체를 포함할 수 있다.
네트워크에 연결된 노드들(100)은 크라우드펀딩 노드(110)와 투자자 노드(120(1) 내지 120(n)) 그리고 개발자 노드(130)가 있다. 다만, 네트워크에는 특수한 프로토콜을 가동하는 노드들도 포함될 수 있고, 크라우드펀딩 노드(110)와 투자자 노드(120(1) 내지 120(n)) 그리고 개발자 노드(130)를 비롯하여 기타 프로토콜을 가동하는 노드들을 연결시키는 프로토콜 게이트웨이가 포함될 수도 있다.
새로운 노드가 크라우드펀딩 서비스에 참여하기 위해 먼저 네트워크상에 존재하는 다른 노드들을 검색할 수 있다. 이러한 프로세스를 시작하기 위해서 새로운 노드는 기존에 네트워크상에 존재하는 노드를 최소 한 개는 검색해서 연결해야 한다. 새로운 노드가 이미 알고 있는 이웃 노드에 연결되기 위해 각 노드는 특정 번호의 포트로 TCP 커넥션을 연결하거나 대안 포트로 연결할 수 있다.
새로운 노드는 연결 요청 메시지를 이웃 노드로 전송하고 이웃 노드는 연결 요청을 승인할 경우 승인 메시지를 새로운 노드에 전송함으로써 해당 요청에 응답할 수 있다. 예시적으로, 새로운 노드가 개발자 노드(130)인 경우 네트워크상에는 투자자 노드가 존재하지 않을 것이므로 이웃 노드는 크라우드펀딩 노드(110)가 될 수 있다. 다른 측면에서, 새로운 노드가 투자자 노드(120)인 경우 이웃 노드는 네트워크에 이미 참여한 다른 투자자 노드 또는 개발자 노드(130) 또는 크라우드펀딩 노드(110)가 될 수 있다.
하나 이상의 연결이 성립되고 나면, 새로운 노드는 자신의 IP 주소가 담겨 있는 어드레스 메시지를 이웃 노드들에게 전송할 수 있다. 차례로 이웃 노드들은 전송 받은 어드레스 메시지를 그들의 이웃 노드들에게 전송함으로써 새롭게 연결된 노드가 더 잘 알려지고 다른 노드들과 더 잘 연결되게 할 수 있다. 또한, 새롭게 연결된 노드는 어드레스 요청 메시지를 이웃 노드들에게 보내서 다른 이웃 노드들의 IP 주소 목록을 다시 전송해줄 것을 요청할 수 있다. 이러한 방식을 통해 노드는 자신과 연결되어 있는 이웃 노드를 검색할 수 있고 다른 노드들이 자신을 검색할 수 있도록 자신의 존재를 네트워크상에 홍보할 수 있다.
크라우드펀딩 노드(110)는 블록체인 전체의 복사본을 가질 수 있다. 그리고 투자자 노드(120) 그리고 개발자 노드(130)는 블록체인 전체의 복사본 또는 적어도 블록체인의 부분집합에 해당하는 복사본을 가질 수 있다. 블록체인은 트랜잭션(거래)으로 구성되는 변경 불가능한 블록으로 구성된 분산형 컴퓨터 시스템으로 구성된다. 블록체인을 구성하는 각 블록은 이전 블록의 해시를 포함하므로 블록이 함께 연결되어 처음부터 블록체인에 쓰여진 모든 트랜잭션의 레코드를 생성한다. 블록은 이전 블록에 종속적으로 연결되어 있으므로 해체, 수정 및 재구성이 거의 불가능하고 노드들이 각자 보유하므로 분산되고 견고하다. 일부 실시예에서, 하나의 블록에는 적어도 하나의 거래 내역이 기록된다. 거래 내역은 해쉬로 계산되어 위변조가 발생되지 않도록 구성될 수 있다. 각 블록과 거래는 해쉬 값, 데이터 발생 시점의 타임스탬프를 관리함으로써 위변조를 막고 거래 내역을 추적할 수 있다. 또한, 노드들(100)은 블록체인 원장과 지갑 어플리케이션을 저장하여 사용자가 안전하고 신뢰성 있는 방식으로 네트워크를 통한 거래나 다른 관련 기능을 수행할 수 있게 한다.
노드들은 블록체인 탐색기(Blockcahin explorer)를 제공할 수 있다. 블록체인 탐색기는 코인 검색 엔진 역할을 하는 웹 어플리케이션으로 구성될 수 있다. 지갑을 보유한 사용자는 블록체인 탐색기를 통해 코인 주소, 거래내역, 블록 등을 찾아볼 수 있고 이들 간의 관계 및 흐름을 파악할 수 있다.
각각의 노드는 모든 컴퓨팅 언어를 읽을수 있도록 서버, 인터페이스, 시스템, 데이터베이스, 에이전트, 피어, 엔진, 컨트롤러 또는 개별적으로 또는 집합적으로 작동하는 기타 유형의 컴퓨팅 장치를 포함하거나 컴퓨팅 장치들의 적절한 조합으로 구성될 수 있다. 컴퓨팅 장치는 비일시적인 컴퓨터 판독 가능 저장 매체(예를 들어, 하드 드라이브, 솔리드 스테이트 드라이브, RAM, 플래시, ROM 등)상에 저장된 소프트웨어 명령을 실행하도록 구성된 프로세서를 포함할 수 있다. 바람직하게, 컴퓨팅 장치가 후술하는 각종 기능을 제공할 수 있도록 소프트웨어 명령이 구성된다. 또한, 개시된 기술들은 프로세서로 하여금 개시된 단계들을 실행하게 하는 소프트웨어 명령들을 저장하는 비일시적 컴퓨터 판독 가능 매체를 포함하는 컴퓨터 프로그램 제품으로서 구현될 수 있다. 바람직하게는, 다양한 서버, 시스템, 데이터베이스 그리고 인터페이스는 HTTP, HTTPS, AES, 공개/개인키 교환, 웹 서비스 API, 알려진 금융 거래 프로토콜 또는 다른 전자 기반의 표준화된 프로토콜 또는 알고리즘을 사용하여 데이터를 교환할 수 있다. 바람직하게, 데이터 교환은 패킷 교환 네트워크, 인터넷, LAN, WAN, VPN 또는 다른 유형의 패킷 교환 네트워크를 통해 수행될 수 있다.
개시된 기술이 게임 개발자나 투자자의 거래을 나타내는 블록 체인의 구성 및 저장을 포함하여 많은 유리한 기술적 효과를 제공할 수 있다는 것을 이해할 것이다. 게임 제작 크라우드펀딩 서비스(10)를 위한 블록 체인의 구축 및 저장을 통해 컴퓨팅 장치는 게임 제작 과정과 투자금의 사용의 적절성을 신속하고 효율적으로 검증할 수 있고, 게임 서비스에 따른 수익금의 적절하고 공정한 분배를 기대할 수 있다.
크라우드펀딩 노드(110)는 크라우드펀딩 노드(110)로 표현되는 컴퓨팅장치에 호스팅되는 크라우드펀딩 플랫폼을 포함할 수 있다. 일부 실시예에서, 플랫폼은 크라우드펀딩 노드의 관리자, 게임 개발자, 투자자와 같은 사용자에 의해 운영되는 컴퓨팅 장치에 의해서 네트워크를 통해 액세스 될 수 있는 웹 기반 또는 크라우드 기반 플랫폼일 수도 있다. 크라우드펀딩 노드는 게임 제작 계획 정보를 수집하기 위하여 개발자용 인터페이스의 기능을 제공하는 웹 페이지를 제공할 수 있다.
개발자는 자신의 컴퓨팅 장치를 통해 크라우드펀딩 노드(110)가 제공하는 웹 페이지에 접속하여 웹 페이지 상에 게임 제작 계획 정보를 입력할 수 있다.
게임 제작 계획 정보는 게임 컨셉 정보, 모금 계획 정보, 사용 계획 정보, 보상 계획 정보, 단계별 계약 사항 정보 등을 포함할 수 있다.
보다 상세하게는, 게임 컨셉 정보는 게임 아이디어 정보, 게임의 구성 요소 정보, 예상 타겟층 정보, 플랫폼 정보, 게임 홍보 방법 정보 등의 게임 기획 정보를 포함할 수 있다. 모금 계획 정보는 목표 금액 정보, 모금 기간 정보, 모금 기간 내의 목표 금액 미달성에 따른 추가 모금 기간 정보, 일 투자자 당 최소 투자 비용 금액 정보, 일 투자자 당 최대 투자 비용 금액 정보 등을 포함할 수 있다. 사용 계획 정보는 목표 금액 범위 내에서 투자금에 대한 사용 계획 정보, 목표 금액을 초과한 투자금에 대한 사용 계획 정보 등을 포함할 수 있다. 보상 계획 정보는 수익금에 따른 보상 비율 정보, 비금전적인 혜택 정보 등을 포함할 수 있다.
또한, 개발자는 크라우드펀딩 노드(110)에 접속하여 크라우드펀딩 노드(110)가 제공하는 블록체인 구동 머신을 다운로드하여 자신의 컴퓨팅 장치에 설치할 수 있다. 일부 실시예에서, 블록체인 구동 머신은 코인 코어(Coin Core) 소프트웨어가 될 수 있다. 일부 실시예에서, 블록체인 구동 머신은 크라우드펀딩 노드(110)에서 배급하는 소프트웨어가 될 수 있다. 개발자는 크라우드펀딩 노드(110)에 접속하여 해당 블록체인 구동 머신를 다운로드 받을 수 있다. 일부 실시예에서, 블록체인 구동 머신은 블록체인 구동을 위한 모든 요소들을 포함할 수 있다. 일부 실시예에서, 블록체인 구동 머신은 블록체인 구동을 위한 일부의 구성 요소를 포함하고 나머지 구성 요소는 업데이트 방식을 통해 추가될 수 있다. 일부 실시예에서, 블록체인 구동 머신은 모든 요소들 중 일부 요소는 소프트웨어 업데이트 방식을 통해 수정 및 변경이 가능하다. 크라우드펀딩 노드(110)는 개발자나 투자자들 각각의 노드의 운영체제 성격에 부합하는 다양한 버전의 블록체인 구동 머신을 제공할 수 있어, 노드의 사용자는 자신의 노드의 운영체제에 적합한 블록체인 구동 머신을 다운로드하고 여느 운영체제에서 어플리케이션을 실행하는 방식과 동일하게 이들을 자신의 노드에 설치할 수 있다.
일부 실시예에서, 설정된 스마트컨트렉트에 따라 크라우드펀딩 서비스가 분산 네트워크에서 수행되도록 할 수 있다. 복수의 노드들의 분산 네트워크로 구성된 블록체인 기반 게임 제작을 위한 크라우드펀딩 시스템의 적어도 하나의 노드의 적어도 하나의 프로세서에 의해 실행 가능한 명령들을 포함하는 비일시적인 컴퓨터 판독 가능 매체에 저장된 컴퓨터 프로그램은 블록체인 구동 머신이 될 수 있다. 여기서의 명령들은 설정된 스마트컨트렉트에 따라 크라우드펀딩 서비스가 분산 네트워크에서 수행되도록 하는 것을 포함할 수 있다.
일부 실시예에서, 스마트컨트렉트의 적어도 일부 내용은 후술할 게임 제작 계획 정보에 기초하여 설정되고, 스마트컨트렉트에 따라 블록체인 시스템이 구동되도록 할 수도 있다. 따라서, 제작할 게임의 종류나 게임의 성격, 개발자의 게임 제작 계획 등에 기초하여 제작할 게임에 적합한 스마트컨트렉트를 설정할 수 있다. 그리고 설정된 스마트컨트렉트에 따라 블록체인 시스템이 구동되도록 하여 사용자 맞춤형 크라우드펀딩 서비스가 가능케 한다.
보다 상세하게는, 블록체인 구동 머신의 설치가 완료된 후 실행되면 크라우드펀딩 노드(110)에서의 업데이트 프로그램을 다운 및 설치하여 기 설치된 블록체인 구동 머신이 업데이트될 수 있다. 여기에서의 업데이트 사항으로는 크라우드펀딩 모집, 투자, 수익 배분 그리고 블록체인 운영 방식 등에 관한 스마트컨트렉트가 될 수 있다. 블록체인 구동 머신이 업데이트되면 스마트컨트렉트에 따라 블록체인 시스템이 구동될 수 있다.
일부 실시예에서, 스마트컨트렉트는 블록에 기록된 디지털 명령어로써 스마트컨트렉트가 기록된 블록이 모든 노드에 공유되면서 블록체인에 저장될 수 있다. 그리고, 모든 노드는 해당 블록 상의 스마트컨트렉트의 코드를 실행하여 계약 내용을 자동으로 실행함으로써 본 서비스가 구동되도록할 수도 있다.
스마트컨트렉트는 펀딩, 기금의 사용과 수익 분배 그리고 블록체인 운영 방식 등에 관한 계약 내용이 기술된 계약서의 일종으로써 계약서가 기술된 스크립트가 네트워크 기반에서 자동 분산 수행될 수 있다. 업데이트된 블록체인 구동 머신은 스마트컨트렉트에 관련된 코드를 해석하고 실행함으로써 블록체인 서비스가 스마트컨트렉트에 따라 운영될 수 있도록 한다.
또한, 블록체인 구동 머신의 실행에 따라 블록체인을 다운로드하기 시작한다. 블록체인의 다운로드의 시간에 따라 블록체인 구동 머신은 비동기 상태(out of sync)에서 동기화 완료(Synchronized)로 바뀔 때까지 백그라운드에서 실행될 수 있다.
크라우드펀딩 노드(110)는 게임 제작 계획 정보에 기초하여 크라우드펀딩 게임 홍보 페이지를 생성한다. 그리고 크라우드펀딩 노드(110)는 생성한 크라우드펀딩 게임 홍보 페이지를 크라우드펀딩 게임 목록 상에 추가함으로써 크라우드펀딩 게임 목록을 업데이트한다. 그리고 크라우드펀딩 노드(110)는 자신의 웹 사이트 상에 크라우드펀딩 게임 목록을 개제함으로써 네트워크를 통해 웹 사이트에 접속한 모든 사람이 열람할 수 있도록 한다.
크라우드펀딩 노드(110)는 게임 제작 계획 정보에 기초하여 스마트컨트렉트를 설정할 수 있다. 설정된 스마트컨트렉트에 따라 블록체인이 구동될 수 있도록 자신의 각자의 노드에 설치된 블록체인 구동 머신은 업데이트된다. 그리고 업데이트된 블록체인 구동 머신은 설정된 스마트컨트렉트에 따라 블록체인 시스템이 구동될 수 있도록 한다. 즉, 블록체인 상에 상주하는 스마트컨트렉트에 따라 워크 플로우(workflow)가 결정될 수 있다.
스마트컨트렉트는 블록 자동 생성, 블록 생성 권한, 블록 생성 시점 등에 관한 규칙을 포함할 수 있다.
크라우드펀딩 노드(110)는 입력된 게임 제작 계획 정보를 포함하는 최초 블록을 생성할 수 있다.
최초 블록은 게임 제작 계획 정보를 모두 포함할 수 있다. 즉, 개발자가 크라우드펀딩 노드(110)에서 제공하는 웹 페이지 상에 기재한 게임 제작 계획에 관한 모든 정보가 최초 블록에 포함할 수 있다. 다른 측면에서, 최초 블록은 게임 제작 계획 정보를 요약한 요약 정보와 게임 제작 계획 정보의 원본을 확인할 수 있는 웹페이지에 대한 URL(Uniform Resource Locator)을 포함할 수 있다. 최초 블록을 수신한 노드는 최초 블록 상에 기록된 요약 정보를 확인할 수 있고, URL을 통해 게임 제작 계획 정보에 대한 전체 내용을 확인할 수도 있다.
크라우드펀딩 노드(110)에서 최초 블록이 생성되면, 각 노드의 블록체인 구동 머신은 동기화 과정을 통해 새로 추가된 블록을 다운로드 받을 수 있다. 예를 들어, 개발자 노드(130)는 네트워크로부터 생성된 최초 블록을 전송받는다. 일부 실시예에서, 개발자 노드(130)는 수신된 최초 블록의 유효성을 검사한 후에 유효하다고 검증하면 최초 블록을 메모리에 저장한다.
게임 제작 투자에 관심이 있는 사람들은 크라우드펀딩 노드(110)의 웹 사이트에 접속하여 크라우드펀딩 게임 목록 내의 적어도 하나의 게임 콘텐츠를 열람할 수 있다.
크라우드펀딩 노드(110)는 특정 게임에 투자를 희망하는 투자자 노드(120)에 웹 페이지를 제공할 수 있다. 웹 페이지는 투자자용 인터페이스의 기능을 제공한다.
투자자는 웹 페이지를 통해 특정 게임에 대한 투자 희망 요청 신호를 크라우드펀딩 노드(110)로 전송한다.
크라우드펀딩 노드(110)는 투자 희망 요청 신호에 응답하여 크라우드펀딩 노드(110)의 송금용 주소 정보와 블록체인 구동 머신의 다운로드를 위한 URL을 포함하는 웹 페이지를 투자자 노드(120)로 전송할 수 있다. 웹 페이지 상의 크라우드펀딩 노드(110)의 송금용 주소 정보는 크라우드 펀딩 노드(110)로의 코인 전송을 위해 사용된다. 그리고 투자자는 웹 페이지 상의 URL을 통해 블록체인 구동 머신을 다운로드 받아 자신의 노드에 설치할 수 있다. 일부 실시예에서, 블록체인 구동 머신은 전술한 스마트컨트렉트가 적용된 프로그램이 될 수 있다. 한편, 코인이라는 이름의 통화 단위는 네트워크상에 있는 참가자 사이에서 가치를 보관하고 전송하는데 사용된다.
투자자 노드(120)에 설치된 블록체인 구동 머신은 블록체인을 다운로드하여 블록체인에 동기화 된다. 일부 실시예에서, 투자자 노드(120)에서 동기화할 블록체인의 용량이 매우 커서 모금 기간 만료 시점까지 블록체인 동기화가 완료되지 않을 수 있다. 이 경우, 별도의 추가 노드에서 크라우드펀딩 노드(110)로 투자를 위한 코인을 송금하는 거래를 생성할 수도 있다. 추가 노드에서 생성된 거래 내역이 새로운 블록에 포함될 때 거래 내역 생성 시 투자자가 지정한 IP 주소를 가진 노드(블록체인 동기화가 진행 중인 투자자 노드)에서 크라우드펀딩 노드(110)로의 코인 송금이라는 거래 내역으로 변환되어 새로운 블록에 포함될 수 있다. 일부 실시예에서, 추가 노드는 크라우드펀딩 노드(110)가 제공하는 노드가 될 수도 있다.
투자자는 크라우드펀딩에 참여하기 위하여 자신의 컴퓨팅 장치에서 지갑 어플리케이션을 실행한다.
투자자 노드(120)에 대응하는 컴퓨팅 장치에서 실행된 지갑 어플리케이션은 송금용 인터페이스를 디스플레이 한다.
투자자는 송금용 인터페이스 상에 크라우드펀딩 노드(110)의 송금용 주소 정보와 코인의 송금액을 입력하여 입력된 송금액에 해당하는 코인을 크라우드펀딩 노드(110)로 전송하는 거래를 생성할 수 있다. 일부 실시예에서, 투자자는 컴퓨팅 장치의 보조 장치인 스캐너를 이용하여 크라우드펀딩 노드(110)의 송금용 식별 코드를 스캔한다. 컴퓨팅 장치는 스캐너를 통해 읽어 드린 식별 코드의 정보를 송금용 주소 정보로 변환한다. 그리고 컴퓨팅 장치는 송금용 주소 정보를 송금용 인터페이스의 송금용 주소 정보 입력 칸에 자동으로 입력할 수 있다. 다른 측면에서, 투자자 노드(120)가 웨어러블 컴퓨팅 장치인 경우 웨어러블 컴퓨팅 장치에 구비된 카메라 장치를 통해 송금용 식별 코드가 스캔될 수도 있다.
크라우드펀딩 노드(110)는 전술한 가치 전송 방식에 따라 복수의 투자자 노드(120(1) 내지 120(n))로부터 투자금에 해당하는 코인을 수취할 수 있다. 일부 실시예에서, 크라우드펀딩 노드(110)는 모금 기간 내에만 투자자 노드로부터 코인을 수취할 수 있다.
투자자 노드(120)에서 크라우드펀딩 노드(110)로의 코인을 전송하는 거래가 성립되면서 투자자 노드(120)의 지갑에 있던 코인이 빠져 나가고 투자자는 개인키로 해당 거래를 디지털 서명할 수 있다. 서명이 완료되면 투자자 노드(120)에서 크라우드펀딩 노드(110)로의 코인 송금이 허가되었음이 네트워크에 알려진다. 거래는 P2P 프로토콜을 통해 이루어지므로 해당 거래는 신속하게 네트워크로 전송되고 수초 이내에 네트워크에 연결되어 있는 노드 대부분은 거래 내역을 받게 된다.
거래가 네트워크로 연결된 한 노드로 전송되면 해당 노드에서 의해 거래가 유효화된다. 거래가 유효화되고 나면 해당 노드와 연결된 다른 노드로 이 거래를 전파하고 동시에 성공 메시지가 생성자에게 전달될 수 있다. 만약 거래가 유효화되지 못한 경우라면 해당 노드는 승인을 거부하고 동시에 거절 메시지가 생성자에게 돌아갈 수 있다. 각 노드는 유효성 검증 단계를 거쳐 해당 거래의 유효성을 검증할 수 있다. 각 노드는 예시적으로 해당 거래의 구문(syntax)과 데이터 구조가 정확한지 검증, 송금액이 미리 설정된 기준 송금 범위(예를 들어, 투자자 당 최소 투자 비용 금액, 투자자 당 최대 투자 비용 금액) 이내인지 검증, 송금 일자가 미리 설정된 기간(예를 들어, 모금 기간) 이내인지 검증 등을 진행함으로써 거래의 유효성을 검증할 수 있다. 이처럼 검증 과정을 통해 유효한 거래들은 네트워크상으로 전파되지만 유효하지 않은 거래들은 예시적으로 전송된 첫 노드인 크라우드펀딩 노드(110)에서 폐기될 수 있다.
한편, 투자자 노드(120)에서 크라우드펀딩 노드(110)로의 코인 송금 거래는 미승인(Unconfirmed) 상태를 유지한다. 즉, 해당 거래가 네트워크에 전송은 되었지만 블록체인이라는 거래 장부에는 아직 포함되지 않았기 때문이다. 코인 송금 거래가 발생한 후 블록체인에 연결된 새로운 블록이 생성되면 생성된 블록 내의 거래내역들(전술한, 투자자 노드에서 크라우드펀딩 노드로의 코인 송금 거래를 포함)은 네트워크상에서 확인(Confirmed)의 형태로 승인된다.
네트워크 상의 노드들은 메모리 풀(memory pool) 혹은 거래 풀(transaction pool)으로 지칭되는 미승인 거래로 이루어진 임시 목록을 보관할 수 있다. 노드들은 이 풀을 이용해서 네트워크에 알려졌지만 아직 블록체인에 포함되지 않은 거래들을 추적할 수 있다. 예를 들어, 투자자 노드(120)에서 크라우드펀딩 노드(110)로 송금된 코인은 미승인 거래로 이루어진 임시 목록에 보관되고 새로운 블록이 생성되면 보관된 거래 내역은 생성된 블록에 포함된다.
일부 실시예에서, 블록체인 내에 있는 블록 각각은 머클 트리를 이용하여 해당 블록에 들어 있는 모든 거래의 요약본을 가질 수 있다.
블록체인 구동 머신은 스마트컨트렉트에 따라 특정 기간, 특정 조건 하에서 새로운 블록을 생성할 수 있다. 상세하게는, 블록체인 구동 머신은 제1 기간 동안 새로운 블록을 자동 생성할 수 있다. 예시적으로 제1 기간은 투자자로부터의 코인 모금을 개시한 시점부터 코인 모금을 종료한 시점까지의 기간이 될 수 있다. 예시적으로 투자자로부터의 코인 모금을 개시한 시점은 최초 블록을 생성한 시점이 될 수 있다.
또한, 일부 실시예에서, 블록체인 구동 머신은 마지막 블록의 생성 후 임시 목록에 보관된 거래 내역 상의 총 모금된 코인의 액수가 기 설정치를 초과하면 새로운 블록을 생성할 수 있다. 그리고 생성된 새로운 블록에는 임시 목록에서 보관중인 거래 내역이 포함된다. 일부 실시예에서, 여기서의 기 설정치는 목표 모금액보다 작을 수 있어 모금 기간 동안 새로운 블록이 복수개 생성될 것이다.
일부 실시예에서, 블록체인 구동 머신은 임시 목록에 보관된 거래 내역의 개수가 기 설정치에 해당하면 새로운 블록을 생성할 수도 있다.
일부 실시예에서, 크라우드펀딩 노드(110)는 제1 기간 동안 주기적으로 새로운 블록을 생성할 수도 있다. 일부 실시예에서, 크라우드펀딩 노드(110)는 새로운 블록을 생성할 시점에 보관된 거래 내역이 없는 경우 새로운 블록(New Block)을 생성하지 않을 수도 있다.
또한, 크라우드펀딩 노드(110)는 풀에 보관된 복수의 거래 내역을 우선순위에 따라 새로운 블록(New Block)에 포함시킬 수 있다. 우선순위는 코인의 송금액수에 기초하여 결정될 수 있다. 일부 실시예에서, 송금액수가 클수록 우선순위가 높아질 수 있다. 예를 들어, 가장 많은 코인을 전송한 투자자 노드(120)와 크라우드펀딩 노드(110) 사이의 거래 내역이 일 순위로 새로운 블록(New Block)에 포함될 수 있다.
일부 실시예에서, 블록체인 내에 있는 블록 각각은 머클 트리를 이용하여 해당 블록에 들어 있는 모든 거래의 요약본을 가질 수 있도록 하여, 특정 거래가 블록에 포함되어 있는지 여부를 빠르게 확인할 수 있다. 또한, 각 노드의 블록체인 구동 머신은 머클 루트를 통해 블록에 거래 내역의 포함 순서를 식별할 수 있다.
또한, 블록체인 구동 머신은 새로운 블록(New Block)을 생성한 후 최초 블록의 다음 블록부터 현재 생성한 새로운 블록들 전부의 거래 내역을 참조하여 코인의 총액수를 산출할 수 있다. 그리고 블록체인 구동 머신은 산출된 코인의 총액수가 목표 금액을 초과하는지 여부를 판단할 수 있다. 산출된 코인의 총액수가 목표 금액을 초과하지 않는 경우, 블록체인 구동 머신은 제2 기간 동안 새로운 블록을 생성할 수도 있다. 제2 기간은 모금 기간 내의 목표 금액 미달성에 따른 추가 모금 기간이 될 수 있다. 블록체인 구동 머신은 제1 기간에서의 동작 방식과 마찬가지의 방식으로 새로운 블록을 생성하여 거래 내역을 블록 내에 보관할 수 있다.
새로운 블록(New Block)을 생성하는 블록체인 구동 머신은 크라우드펀딩 노드(110)에 설치된 소프트웨어에서 수행될 수 있다. 크라우드펀딩 노드(110)는 새로운 블록(New Block)을 생성하고 이를 최초 블록에 연결하여 블록체인을 업데이트할 수 있다.
다른 노드들은 최초블록에서 시작된 블록체인의 로컬 복사본을 가지고 있다. 다른 노드들은 크라우드펀딩 노드(110)로부터 새로 생성된 블록들을 전송받고 나면, 기존의 블록체인에 블록을 연결시킨다.
블록체인 구동 머신은 제3 기간 동안 스마트컨트렉트에 따라 새로운 블록을 자동으로 생성할 수 있다. 예시적으로 제3 기간은 제1 기간의 종료 시점부터 게임 제작 완성 시점까지의 기간이 될 수 있다. 일부 실시예에서는, 제3 기간은 제2 기간의 종료 시점부터 게임 제작 완성 시점까지의 기간이 될 수 있다.
크라우드펀딩 노드(110)는 게임 개발자의 단계별 계약 사항을 확인하여 각 단계별 계약 사항에 따라 적용된 액수의 코인을 개발자 노드(130)로 전송할 수 있다. 즉, 게임 개발이라는 전체 프로젝트 과업을 완료해 나가는 과정을 단계별로 구분하여 검수한다. 그리고, 펀딩된 모금의 적어도 일부를 개발자 노드(130)로 송금하는 거래의 생성 여부는 단계별로 계약된 사항의 이행 여부에 따라 결정된다. 따라서, 펀딩된 모금의 사용의 적절성과 투명성을 담보한다.
코인의 전송에 따른 거래 내역은 네트워크에 참여한 모든 노드에 전파된다. 그리고 제3 기간 동안 거래 내역의 전파가 발생한 경우 스마트컨트렉트에 따라 미리 지정된 노드들의 블록체인 구동 머신은 온라인 투표 어플리케이션을 실행할 수 있다. 여기서의 미리 지정된 노드들은 투자자 노드(120)들이 될 수 있다.
온라인 투표의 결과에 따라서 새로운 블록의 생성 여부가 결정된다. 즉, 크라우드펀딩 노드(110)에서 개발자 노드(130)로의 펀딩된 모금액 중 적어도 일부의 송금이라는 거래 내역의 최종 승인은 전술한 온라인 투표 결과에 따라 달라진다. 온라인 투표 결과 미리 설정된 기준 이상의 동의가 이루어진 경우 새로운 블록이 생성되고, 새로운 블록 내에는 거래 내역이 포함된다. 따라서, 거래 내역은 최종 승인됨으로써 송금된 코인의 소유주가 개발자 노드(130)로 변경된다.
일부 실시예에서, 미리 지정된 노드들은 네트워크에 참여한 모든 노드들이 될 수 있다. 일부 실시예에서, 펀딩 금액의 액수에 비례하여 온라인 투표 참여 가능성이 높을 수 있다. 즉, 일정 액수 이상의 코인을 펀딩한 투자자들만을 대상으로 온라인 투표를 실시하는 것이 빠른 합의를 이루는데 도움이 될 수 있다. 따라서, 미리 지정된 노드들은 기 설정치 이상의 코인을 펀딩 투자금으로 송금한 노드들로 한정할 수도 있다.
설명의 편의를 위해 미리 지정된 노드들이 투자자 노드(120)들인 경우로 한정하여 설명하면, 투자자들은 실행된 온라인 투표 어플리케이션을 통해 크라우드펀딩 노드(110)에서 개발자 노드(130)로의 코인 전송과 관련된 거래 내역의 승인 여부를 투표할 수 있다. 온라인 투표 어플리케이션이 실행된 모든 노드들은 각자의 투표 결과를 서로 공유할 수 있다. 온라인 투표 결과 스마트컨트렉트에 따라 미리 정해진 인원수 이상의 인원이 거래 내역을 승인한 경우 새로운 블록이 생성될 수 있다. 예시적으로, 크라우드펀딩 노드(110)는 거래 내역 승인이 확인된 경우 새로운 블록을 생성할 수 있다. 일부 실시예에서, 새롭게 생성된 블록 내에는 투표에 참여한 노드들의 정보와 해당 거래 내역이 포함될 수 있다.
크라우드펀딩 노드(110)는 생성한 새로운 블록을 블록체인에 연결할 수 있고, 다른 노드들은 블록체인의 동기화에 따라 새로운 블록을 다운로드 받아 기존의 블록체인에 새로운 블록을 연결할 수 있다.
일부 실시예에서, 제3 기간 동안 생성된 새로운 블록에는 크라우드펀딩 노드(110)에서 개발자 노드(130)로의 코인 송금에 따른 거래 내역 외에도 검수 수수료를 크라우드펀딩 노드(110)로 송금하는 거래 내역이 추가로 포함될 수 있다.
보다 상세하게는, 크라우드펀딩 노드(110)는 단계별 계약 사항에 따라 적용된 검수 수수료에 대응하는 코인을 지급받을 수 있다. 구체적으로, 크라우드펀딩 노드(110)는 투자자 노드(120)로부터 송금된 코인을 보관하기 위한 제1 지갑 어플리케이션과 검수 수수료에 대응하는 코인을 보관하기 위한 제2 지갑 어플리케이션을 가질 수 있다. 그리고 제1 및 제2 지갑 어플리케이션의 송금용 주소 정보는 서로 상이하다. 따라서, 투자자 노드(120)로부터 송금된 코인과 검수 수수료에 대응한 코인은 각기 다른 지갑 어플리케이션에 보관될 수 있다. 크라우드펀딩 노드(110)는 제2 지갑 어플리케이션의 송금용 주소 정보를 가진 노드, 즉 자신의 노드로 검수 수수료를 지급하라는 거래를 생성할 수 있다. 그리고, 검수 수수료에 대응하는 코인의 송금에 따른 거래 내역과 개발자 노드(130)로의 코인 송금에 따른 거래 내역을 포함하는 새로운 블록이 기존의 블록체인에 연결될 수 있다.
개발자가 게임 제작을 완료한 후에 제작한 게임을 서비스할 수 있다. 제작된 게임은 크라우드펀딩 노드(110)에서 제공하는 플랫폼 상에서 서비스될 수 있다. 여기서의 서비스는, 복수의 게임 유저가 크라우드펀딩 노드(110)에 접속하여 게임을 즐길 수 있도록 하는 서비스, 제작한 게임에 대한 광고 서비스 등을 포함하는 개념이다.
블록체인 구동 머신은 크라우드펀딩 노드(110) 상에서의 게임 서비스에 따른 매출 정보를 모니터링할 수 있다. 일부 실시예에서, 크라우드펀딩 노드(110)는 게임 서비스에 따른 매출 정보로부터 순이익금을 계산하고, 순이익금을 코인액수로 변환할 수 있다. 크라우드펀딩 노드(110)는 환율 어플리케이션을 통해 순이익금을 코인액수로 변환할 수 있다. 따라서, 코인의 가치 변화에 대응하여 현재의 코인의 시세에 맞게 순이익금이 코인액수로 산출될 수 있다.
크라우드펀딩 노드(110)는 제4 기간(예시적으로, 제3 기간의 종료 시점 이후의 기간) 동안 미리 설정된 액수의 매출이 발생하면 모든 노드들에게 스마트컨트렉트에 따라 이익을 분배하기 위한 거래를 생성할 수 있다.
예시적으로, 크라우드펀딩 노드(110)는 개발자 노드(130)로 수익금의 일부에 대응하는 코인을 송금하는 거래를 생성할 수 있다. 일부 실시예에서, 크라우드펀딩 노드(110)는 투자자 노드(120)들로 수익금의 일부에 대응하는 코인을 송금하는 거래를 생성할 수 있다. 일부 실시예에서, 크라우드펀딩 노드(110)는 투자자 노드(120)들 별로 모금한 액수에 따라 결정된 비율에 기초하여 수익금의 일부에 대응하는 코인을 송금하는 거래를 생성할 수 있다. 일부 실시예에서, 크라우드펀딩 노드(110)는 게임 광고 서비스 등에 따른 수수료에 대응하는 코인을 자신의 노드(110)로 송금하는 거래를 생성할 수 있다. 일부 실시예에서, 크라우드펀딩 노드(110)는 새로운 블록을 생성하는 노드가 자신의 노드(새로운 블록을 생성하는 노드)로 수익금의 일부에 대응하는 코인을 송금하는 거래를 대신 생성할 수도 있다.
크라우드펀딩 노드(110)의 블록체인 구동 머신은 제4 기간 동안 거래 내역이 발생한 경우, 스마트컨트렉트에 따라 블록 생성 권한 확률값을 설정할 수 있다. 그리고 블록체인 구동 머신은 스마트컨트렉트에 따라 설정된 블록 생성 권한 확률값을 조정하며, 조정된 확률값에 기초하여 선정된 노드로 블록 생성 권한을 부여할 수 있다. 예를 들어, 개발자 노드(130)가 제1 블록 생성 권한 확률값을 가지고, 크라우드펀딩 노드(110)가 제2 블록 생성 권한 확률값을 가지며, 투자자 노드(120)가 제3 블록 생성 권한 확률값을 가진다고 가정한다. 그리고 새로운 블록 생성 권한을 가지게 될 가능성은 블록 생성 권한 확률값이 클수록 높아질 수 있다. 그리고 제1 블록 생성 권한 확률값은 게임 서비스에 따른 수익금에 기초하여 조정될 수 있다. 그리고 제2 블록 생성 권한 확률값은 게임 광고 서비스 활동량에 따라 조정될 수 있다. 따라서, 게임 광고 서비스의 운영 주체로 하여금 적극적인 광고 활동을 유도한다. 그리고 제3 블록 생성 권한 확률값은 투자금의 액수에 따라 조정될 수 있다. 즉, 투자금액이 높을수록 블록 생성 권한을 가질 가능성을 높여 적극적인 투자를 유도한다. 일부 실시예에서, 제3 블록 생성 권한 확률값은 투자 시점에 따라 조정될 수 있다. 블록체인 구동 머신은 블록체인 내의 블록의 순서와 특정 블록 내의 거래 내역의 포함 시점을 머클 루트로부터 확인하여 투자 시점을 식별할 수 있다. 투자금이 많이 모인 펀딩에 참여하는 투자자와 투자금이 많이 모이지 않은 펀딩(예를 들어, 펀딩 개시 직후)에 참여하는 투자자가 받아드리는 투자의 리스크는 다를 수 있는 점을 고려하여, 예시적으로 투자 시점이 빠를수록 확률 값을 높일 수 있다. 일부 실시예에서, 제3 블록 생성 권한 확률값은 온라인 투표 참여 여부에 따라 조정될 수 있다. 블록 내의 데이터 레코드로부터 온라인 투표에 참여한 노드를 판별할 수 있다. 그리고, 온라인 투표에 참여한 노드에 블록 생성 권한이 부여될 확률 값을 높임으로써 적극적인 온라인 투표가 이루어지도록 유도할 수 있다.
블록 생성 권한을 부여받은 노드는 새로운 블록을 생성할 수 있다. 생성한 새로운 블록 내에는 전술한 크라우드펀딩 노드가 생성한 거래 내역이 포함될 수 있다. 생성한 블록은 기존의 블록체인에 연결되고, 다른 노드에게 전파된다. 또한, 크라우드펀딩 노드가 생성한 거래 내역에는 새로운 블록을 생성하는 노드가 자신의 노드(새로운 블록을 생성하는 노드)로 수익금의 일부에 대응하는 코인을 송금하는 거래 내역을 포함할 수 있다. 따라서, 블록 생성 권한을 부여받은 노드는 기 설정된 수익금의 분배 외에도 추가적인 수익금이 발생하도록 할 수 있다. 다른 측면에서, 새로운 블록을 생성하는 노드에 의해서 구성되며 블록 생성에 대한 보상의 개념인 특수한 거래가 생성될 수도 있다. 즉, 새로운 블록을 생성하는 노드는 자신의 노드의 지갑으로 지불하는 코인의 개념으로 거래를 생성할 수 있다. 그리고 새로운 블록이 생성되면 전술한 특수한 거래 내역이 새로운 블록에 포함된다.
다른 측면에서, 매 라운드 별로 네트워크에 참여한 노드들 중 복수의 노드들이 프로듀서 노드로 승격하여 블록을 생성할 수도 있다.
상세하게는, 미리 설정된 시점부터 라운드가 개시될 수 있다. 라운드는 복수개의 라운드로 구분될 수 있다. N 라운드에서는 N 라운드의 개시전(N-1 라운드 또는 제1 라운드라면 라운드 개시전)에 설정된 노드들 각각의 블록 생성 권한 확률값에 따라 미리 설정된 기준치 이상의 확률값을 가지는 복수의 승격 가능한 노드를 선정할 수 있다. 그리고, 프로듀서 노드로 선정된 노드는 하나의 라운드 내에서 허가 기간 동안 프로듀서 노드의 지위를 유지할 수 있다. 승격 가능한 노드들은 미리 정해진 순서대로 프로듀서 노드로 승격될 수 있다. 예를 들어, 승격 가능한 제1 내지 제n 노드들은 순서대로 자신의 허가 기간의 개시 시점에 프로듀서 노드로 승격될 수 있다. 따라서, 제1 노드가 승격된 이후 제2 노드가 승격되고 그 후 제3 노드가 승격될 수 있다. 특정 라운드에서 승격된 노드들은 해당 라운드가 종료되면 승격 지위를 일제히 상실할 수 있다. 일부 실시예에서, 동일한 시간 간격을 두고 노드들이 승격될 수 있으나 이에 제한되는 것은 아니다.
매 라운드 별로 복수의 허가 기간이 존재할 수 있다. 허가 기간의 개시 시점에 승격 가능한 노드가 프로듀서 노드로 승격되고 프로듀서 노드의 지위는 허가 기간의 종료 시점까지 지속될 수 있다. 허가 기간의 종료 시점은 해당 라운드의 종료 시점과 일치할 수 있다. 프로듀서 노드로 승격 가능한 노드들 각각의 허가 기간의 개시 시점은 서로 상이할 수 있다. 따라서, 매 라운드 별로 프로듀서 노드의 지위의 지속 기간은 프로듀서 노드들 마다 상이할 수 있다.
또한, N 라운드의 개시 전에 선정된 승격 가능한 노드들의 승격 가능한 상태는 N+M 라운드까지 유지될 수 있다. 따라서, N+M+1 라운드가 개시되기 전에 승격 가능한 노드들을 전술한 블록 생성 권한 확률값에 기초하여 재 선정할 수 있다. 그리고, 다음 라운드인 N+1 라운드에서는 N 라운드에서 제일 마지막에 승격된 프로듀서 노드의 다음 순번인 노드가 첫번째의 프로듀서 노드가 될 수 있다.
다른 측면에서, N 라운드에서 승인 블록으로 인정된 후보 블록을 생성했던 프로듀서 노드의 다음 순번의 노드 또는 프로듀서 노드가 N+1 라운드의 첫번째 승격 노드가 될 수 있다. 즉, 이전 라운드의 승인 블록을 생성한 프로듀서 노드의 다음 순번 노드가 다음 라운드의 첫번째 프로듀서 노드가 된다. 이는, 다음 라운드에서 승격될 노드의 사전 예측을 어렵게 만들어 시스템의 보안성을 향상시킨다.
한편, 프로듀서 노드가 생성하는 후보 블록들 각각의 블록 헤더에는 이전 블록의 투표 정보가 포함될 수 있다. 즉, 이전 블록이 미리 설정된 투표 수 이상의 투표를 얻어 최종 승인된 블록임을 확인할 수 있는 이전 블록과 관련된 투표 정보가 현재 블록의 블록 헤더에 포함될 수 있다. 따라서, 블록체인에 연결된 블록들 각각은 이전 블록의 투표 정보를 포함할 수 있다.
또한, 매 라운드별로 블록 생성 권한을 가지는 복수의 프로듀서 노드가 매 라운드 상에서 시간이 흐를수록 증가할 수 있다. 따라서, 복수의 프로듀서 노드들 중 적어도 일부 생성한 블록들은 경쟁하면서 유일 후보로 선택된 블록이 블록체인에 업데이트되는 것으로 합의될 수 있다.
보다 상세하게는, 매 라운드 별 미리 정해진 시점에 블록 생성 지위를 가지는 프로듀서 노드로 승격될 수 있는 복수의 노드들 중 어느 하나의 제1 노드가 제N 라운드에서 후보 블록을 수신하고, 수신된 후보 블록이 유효 후보 블록인지 판단하고, 상기 유효 후보 블록이 미승인 블록인지 판단하며, 상기 미승인 블록이 최초 수신 후보 블록 인지 판단하여 상기 미승인 블록에 대한 승인 투표 여부를 결정할 수 있다. 그리고, 상기 최초 수신 후보 블록은 상기 제1 노드가 상기 제N 라운드 내에서 최초 수신한 후보 블록일 수 있다.
또한, 노드는 상기 최초 수신 후보 블록과 이에 대한 투표 정보를 다른 노드로 전파할 수 있다.
또한, 상기 제N 라운드에서 생성된 미승인 블록들 중 투표수가 기 설정치 이상인 미승인 블록을 승인 블록으로 인정할 수 있다.
또한, 상기 제N 라운드에서 프로듀서 노드로 승격된 모든 노드는 제N+1 라운드에서 프로듀서 노드 지위가 상실되고, 상기 승인 블록으로 인정된 후보 블록을 생성한 노드의 다음 순번 노드가 제N+1 라운드에서 첫번째 프로듀서 노드로 승격할 수 있다.
또한, 상기 제N 라운드에서 복수의 미승인 블록 중 투표수가 기 설정치 이상(예를 들어, 투표 가능한 노드의 수의 2/3 이상의 투표수를 얻은 미승인 블록)인 미승인 블록이 존재하지 않는 경우 재투표 라운드가 개시되고, 상기 재투표 라운드 기간 동안 미리 설정된 우선순위에 따라 상기 복수의 미승인 블록에 대한 재투표가 진행될 수 있다. 상기 재투표 라운드 동안 새로운 후보 블록의 생성을 중단할 수 있다. 그리고 재투표 라운드가 종료되면 다음 라운드가 개시될 수 있다.
또한, 상기 재투표가 진행될 때, 투표 가능한 복수의 노드들이 상기 복수의 미승인 블록 중 기 설정치 이상의 투표수를 얻은 미승인 블록에 대해 승인 재투표할 수 있다. 다른 측면에서, 상기 재투표가 진행될 때, 투표 가능한 복수의 노드들이 복수의 미승인 블록 중 가장 많은 투표수를 얻은 미승인 블록을 승인하는 재투표할 수도 있다.
또한, 상기 재투표가 진행될 때, 상기 복수의 미승인 블록 중 기 설정치 이상의 투표수를 얻은 복수의 미승인 블록이 존재하는 경우, 상기 복수의 미승인 블록 각각을 생성한 노드들 중 최초 승격 노드가 생성한 미승인 블록에 대해 승인 재투표할 수도 있다. 상기 최초 승격 노드는 상기 제N 라운드에서 프로듀서 노드로의 승격 순서가 가장 빠른 노드이다. 다른 측면에서, 상기 재투표가 진행될 때, 상기 복수의 미승인 블록 중 기 설정치 이상의 투표수를 얻은 복수의 미승인 블록이 존재하지 않는 경우, 상기 복수의 미승인 블록 각각을 생성한 노드들 중 최초 승격 노드가 생성한 미승인 블록을 승인하는 재투표할 수도 있다.
또한, 상기 유효 후보 블록인지 판단시, 상기 수신된 후보 블록을 생성한 노드의 승격 여부를 판단하고, 상기 수신된 후보 블록이 승격된 노드가 생성한 블록인 경우 상기 수신된 후보 블록을 유효 후보 블록으로 인정할 수도 있다. 이와 달리, 유효 후보 블록이 아닌 경우 수신한 후보 블록은 폐기될 수 있다.
또한, 상기 유효 후보 블록이 미승인 블록인지 판단시, 상기 유효 후보 블록에 대한 기 설정치 이상의 투표 결과를 포함하는 다음 블록의 존부를 판단하고, 상기 다음 블록이 존재하는 경우 상기 유효 후보 블록을 승인 블록으로 인정하여 상기 분산 네트워크로 상기 승인 블록에 대한 동기화를 요청할 수 있다. 즉, 수신한 유효 후보 블록은 금번 라운드에서 합의할 후보 블록이 아닌 이미 동기화가 완료되었어야 할 이전에 합의된 승인 블록인 것이다.
또한, 매 라운드 별 미리 정해진 시점에 블록 생성 지위를 가지는 프로듀서 노드로 승격될 수 있는 상기 복수의 노드들 중 어느 하나의 제2 노드가 제N 라운드에서 승격되고, 상기 제N 라운드 내에서 상기 제2 노드가 승격전 후보 블록의 수신 여부를 판단하고, 승격전 후보 블록의 미수신시, 새로운 블록이 연결될 상기 블록체인 상의 마지막 블록 내의 투표 정보를 포함하는 후보 블록을 생성하고, 생성된 후보 블록에 투표하며, 상기 후보 블록과 투표 정보를 다른 노드로 전송할 수 있다. 상기 새로운 블록은 상기 제N 라운드에서 승인되는 승인 블록이 된다. 프로듀서 노드로 승격된 노드가 승격전에 이미 후보 블록을 수신한 경우라면 새로운 후보 블록을 생성하지 않는다.
또 다른 측면에서, 상기 제N 라운드에서 승격된 상기 제2 노드는 다른 노드가 생성한 후보 블록을 수신하고, 수신된 후보 블록이 유효 후보 블록인지 판단하고, 상기 유효 후보 블록이 미승인 블록인지 판단하며, 상기 미승인 블록을 다른 노드로 전송할 수 있다. 그리고 유효 후보 블록이 아니라면 수신한 후보 블록은 폐기된다. 그리고 미승인 블록이 아니라면 이전에 합의된 승인 블록으로써 해당 승인 블록을 블록체인 동기화를 통해 노드 자신의 블록체인에 업데이트한다.
한편, 노드들은 다른 노드로부터 수신한 후보 블록, 승인 블록, 투표 정보, 재투표 정보를 네트워크 상에 전파할 수 있다. 또한, 노드들은 생성한 후보 블록, 승인한 승인 블록 그리고 생성한 투표 정보 및 재투표 정보를 네트워크 상에 전파할 수 있다. 그리고, 프로듀서 노드로 승격한 노드는 승격된 시점의 라운드에서 후보 블록을 1회에 한정하여 생성할 수 있다. 또한, 노드의 투표권은 1회로 제한된다. 또한, 재투표 라운드에서는 재투표가 개시될 때마다 1회의 투표권만을 얻게 된다. 따라서, 중복 투표나 두개 이상의 후보 블록에 대해서 투표할 수 없다. 또한, 후보 블록들 중 투표 가능한 노드들의 개수의 2/3 이상의 승인 투표수를 얻은 후보 블록이 승인 블록으로 합의될 수 있다. 또한, 후보 블록 생성 시 수집된 거래 내역을 후보 블록에 포함시킨다.
이상 설명된 본 발명에 따른 실시예는 다양한 컴퓨터 구성요소를 통하여 실행될 수 있는 프로그램 명령어의 형태로 구현되어 컴퓨터 판독 가능한 기록 매체에 기록될 수 있다. 상기 컴퓨터 판독 가능한 기록 매체는 프로그램 명령어, 데이터 파일, 데이터 구조 등을 단독으로 또는 조합하여 포함할 수 있다. 상기 컴퓨터 판독 가능한 기록 매체에 기록되는 프로그램 명령어는 본 발명을 위하여 특별히 설계되고 구성된 것이거나 컴퓨터 소프트웨어 분야의 당업자에게 공지되어 사용 가능한 것일 수 있다. 컴퓨터 판독 가능한 기록 매체의 예에는, 하드 디스크, 플로피 디스크 및 자기 테이프와 같은 자기 매체, CD-ROM 및 DVD와 같은 광기록 매체, 플롭티컬 디스크(floptical disk)와 같은 자기-광 매체(magneto-optical medium), 및 ROM, RAM, 플래시 메모리 등과 같은, 프로그램 명령어를 저장하고 실행하도록 특별히 구성된 하드웨어 장치가 포함된다. 프로그램 명령어의 예에는, 컴파일러에 의하여 만들어지는 것과 같은 기계어 코드뿐만 아니라 인터프리터 등을 사용하여 컴퓨터에 의해서 실행될 수 있는 고급 언어 코드도 포함된다. 하드웨어 장치는 본 발명에 따른 처리를 수행하기 위하여 하나 이상의 소프트웨어 모듈로 변경될 수 있으며, 그 역도 마찬가지이다.
본 발명에서 설명하는 특정 실행들은 일 실시 예들로서, 어떠한 방법으로도 본 발명의 범위를 한정하는 것은 아니다. 명세서의 간결함을 위하여, 종래 전자적인 구성들, 제어 시스템들, 소프트웨어, 상기 시스템들의 다른 기능적인 측면들의 기재는 생략될 수 있다. 또한, 도면에 도시된 구성 요소들 간의 선들의 연결 또는 연결 부재들은 기능적인 연결 및/또는 물리적 또는 회로적 연결들을 예시적으로 나타낸 것으로서, 실제 장치에서는 대체 가능하거나 추가의 다양한 기능적인 연결, 물리적인 연결, 또는 회로 연결들로서 나타내어질 수 있다. 또한, “필수적인”, “중요하게” 등과 같이 구체적인 언급이 없다면 본 발명의 적용을 위하여 반드시 필요한 구성 요소가 아닐 수 있다.
또한 설명한 본 발명의 상세한 설명에서는 본 발명의 바람직한 실시 예를 참조하여 설명하였지만, 해당 기술 분야의 숙련된 당업자 또는 해당 기술분야에 통상의 지식을 갖는 자라면 후술할 특허청구범위에 기재된 본 발명의 사상 및 기술 영역으로부터 벗어나지 않는 범위 내에서 본 발명을 다양하게 수정 및 변경시킬 수 있음을 이해할 수 있을 것이다. 따라서, 본 발명의 기술적 범위는 명세서의 상세한 설명에 기재된 내용으로 한정되는 것이 아니라 특허청구범위에 의해 정하여져야만 할 것이다.

Claims (10)

  1. 복수의 노드들의 분산 네트워크로 구성된 블록체인 기반 게임 제작을 위한 크라우드펀딩 시스템을 동작시키는 방법으로써,
    상기 복수의 노드들은 개발자 노드, 크라우드펀딩 노드 및 투자자 노드들을 포함하며, 상기 각각의 복수의 노드들에 블록체인 구동 머신을 설치하는 단계;
    상기 크라우드펀딩 노드는 개발자가 제공하는 게임 제작 계획 정보에 기초하여 스마트컨트렉트를 설정하는 단계;
    상기 설정된 스마트컨트렉트에 따라 상기 크라우드펀딩 노드는 블록체인으로 구동될 최초 블록을 생성하는 단계; 및
    상기 설정된 스마트컨트렉트에 따라 크라우드펀딩 서비스가 상기 분산 네트워크에서 블록체인 시스템 형태로 수행되도록 하는 단계;를 포함하고,
    상기 스마트컨트렉트는,
    코인의 전자 거래에 관한 적어도 하나의 거래 내역을 상기 복수의 노드들에 공유하고,
    상기 적어도 하나의 거래 내역에 관련된 데이터 레코드를 포함하는 적어도 하나의 새로운 블록을 생성하고,
    상기 복수의 노드들 중 적어도 하나의 노드에 저장된 블록체인이 상기 새로운 블록을 포함하도록 상기 분산 네트워크로부터의 통신에 기초하여 상기 저장된 블록체인이 업데이트되는 것을 포함하는
    블록체인 기반의 게임 제작을 위한 크라우드펀딩 시스템의 동작 방법.
  2. 삭제
  3. 제1 항에 있어서,
    상기 스마트컨트렉트는,
    상기 거래 내역의 개수 정보, 상기 거래 내역 상의 코인의 액수 정보 및 상기 거래 내역의 생성 시점 정보 중 적어도 하나에 기초하여 상기 새로운 블록의 생성 시점을 결정하는 것을 포함하는
    블록체인 기반의 게임 제작을 위한 크라우드펀딩 시스템의 동작 방법.
  4. 제1 항에 있어서,
    상기 게임 제작 계획 정보는 단계별 계약 사항에 관련된 정보를 포함하고,
    상기 스마트컨트렉트는,
    상기 단계별 계약 사항의 이행 여부에 기초하여 상기 새로운 블록의 생성 여부를 결정하는 것을 포함하는
    블록체인 기반의 게임 제작을 위한 크라우드펀딩 시스템의 동작 방법.
  5. 제4 항에 있어서,
    상기 스마트컨트렉트는,
    상기 복수의 노드들 중 미리 지정된 노드들로부터의 온라인 투표 결과를 수집하고,
    상기 온라인 투표 결과에 기초하여 상기 단계별 계약 사항의 이행 여부를 판단하는 것을 포함하는
    블록체인 기반의 게임 제작을 위한 크라우드펀딩 시스템의 동작 방법.
  6. 제1 항에 있어서,
    상기 스마트컨트렉트는,
    제작 완료된 게임의 서비스에 따른 매출 정보, 게임 서비스에 대한 광고 정보, 상기 크라우드펀딩 노드와 상기 투자자 노드 사이의 거래 내역 상의 코인의 액수 정보 및 상기 크라우드펀딩 노드와 상기 투자자 노드 사이의 거래 내역의 생성 시점 중 적어도 하나에 기초하여 새로운 거래 내역을 생성하는
    블록체인 기반의 게임 제작을 위한 크라우드펀딩 시스템의 동작 방법.
  7. 제6 항에 있어서,
    상기 새로운 거래 내역은,
    개발자 노드로의 코인 송금에 관한 적어도 하나의 거래 내역, 상기 개발자 노드로의 코인 송금에 관한 적어도 하나의 거래 내역 및 상기 크라우드펀딩 노드로의 코인 송금에 관한 적어도 하나의 거래 내역 중 적어도 하나를 포함하는
    블록체인 기반의 게임 제작을 위한 크라우드펀딩 시스템의 동작 방법.
  8. 제1 항에 있어서,
    상기 스마트컨트렉트는,
    상기 거래 내역을 포함할 새로운 블록의 생성 권한을 부여할 노드를,
    제작 완료된 게임의 서비스에 따른 매출 정보, 게임 서비스에 대한 광고 정보, 상기 크라우드펀딩 노드와 상기 투자자 노드 사이의 거래 내역 상의 코인의 액수 정보, 상기 크라우드펀딩 노드와 상기 투자자 노드 사이의 거래 내역의 생성 시점 및 온라인 투표에 참여한 노드 정보에 기초하여 결정하는 것을 포함하는
    블록체인 기반의 게임 제작을 위한 크라우드펀딩 시스템의 동작 방법.
  9. 제1 항에 있어서,
    거래 내역을 수신한 노드는 수신된 거래 내역의 유효성을 검증하고, 거래 내역의 유효성이 검증되면 이를 다른 노드로 공유하고, 거래 내역의 유효성이 검증되지 않으면 해당 거래 내역을 폐기하는 것을 포함하고,
    거래 내역의 유효성 검증은
    해당 거래의 구문(syntax)과 데이터 구조의 검증, 송금액이 미리 설정된 기준 송금 범위 이내인지 검증 및 송금 일자가 미리 설정된 기간 이내인지 검증 중 적어도 하나의 검증을 포함하는
    블록체인 기반의 게임 제작을 위한 크라우드펀딩 시스템의 동작 방법.
  10. 삭제
KR1020180110869A 2018-09-17 2018-09-17 블록체인 기반의 게임 제작을 위한 크라우드펀딩 시스템의 동작 방법 및 서비스 환경을 구현하기 위한 시스템 KR102201468B1 (ko)

Priority Applications (2)

Application Number Priority Date Filing Date Title
KR1020180110869A KR102201468B1 (ko) 2018-09-17 2018-09-17 블록체인 기반의 게임 제작을 위한 크라우드펀딩 시스템의 동작 방법 및 서비스 환경을 구현하기 위한 시스템
US16/572,606 US11631064B2 (en) 2018-09-17 2019-09-17 Crowdfunding method based on block chain for creating game and crowdfunding system for implementing crowdfunding service environment

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020180110869A KR102201468B1 (ko) 2018-09-17 2018-09-17 블록체인 기반의 게임 제작을 위한 크라우드펀딩 시스템의 동작 방법 및 서비스 환경을 구현하기 위한 시스템

Publications (2)

Publication Number Publication Date
KR20200031861A KR20200031861A (ko) 2020-03-25
KR102201468B1 true KR102201468B1 (ko) 2021-01-12

Family

ID=69774160

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020180110869A KR102201468B1 (ko) 2018-09-17 2018-09-17 블록체인 기반의 게임 제작을 위한 크라우드펀딩 시스템의 동작 방법 및 서비스 환경을 구현하기 위한 시스템

Country Status (2)

Country Link
US (1) US11631064B2 (ko)
KR (1) KR102201468B1 (ko)

Families Citing this family (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10586062B1 (en) * 2015-11-23 2020-03-10 United Services Automobile Association (Usaa) Systems and methods to track, store, and manage events, rights and liabilities
CN112492006B (zh) * 2018-10-31 2023-12-05 创新先进技术有限公司 一种基于区块链的节点管理方法和装置
WO2020162574A1 (ja) * 2019-02-08 2020-08-13 パナソニック インテレクチュアル プロパティ コーポレーション オブ アメリカ 制御方法、データ構造、サーバ、および、プログラム
CN111478959A (zh) * 2020-04-02 2020-07-31 深圳市九九八八网络科技有限公司 一种游戏交易平台分布式储存方法
CN111612961B (zh) * 2020-06-04 2021-04-06 西安电子科技大学 一种对投票人选票信息加密的电子投票方法
KR102572475B1 (ko) * 2020-09-17 2023-08-30 주식회사 세수 폐기 가능 블록체인 원장 시스템 및 이를 이용하는 블록체인 운용 방법
CN113407626A (zh) * 2021-06-16 2021-09-17 深圳大学 一种基于区块链的规划管控方法、存储介质及终端设备

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101705948B1 (ko) * 2014-12-05 2017-02-13 이승한 기술 개발 및 그래픽 아트 개발을 위한 프로젝트 참여 시스템과 그 방법
WO2018020389A2 (en) * 2016-07-29 2018-02-01 Chain Holdings Limited Blockchain implemented method and system

Family Cites Families (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20070100729A1 (en) * 2004-06-04 2007-05-03 Kickstartr, Llc Systems and methods for making conditional sales of investments
US20070117601A1 (en) * 2005-10-14 2007-05-24 Leviathan Entertainment, Llc Video Game with Venture Capital Funding Management
US10497037B2 (en) * 2014-03-31 2019-12-03 Monticello Enterprises LLC System and method for managing cryptocurrency payments via the payment request API
WO2016149555A1 (en) * 2015-03-18 2016-09-22 Open Source Storage Llc System and method for gamification of community software development
KR20170112332A (ko) 2016-03-31 2017-10-12 (주)벤처포트 크라우드펀딩 플랫폼 기반의 벤처 투자 시스템 및 이를 이용한 벤처 투자 방법
KR101950912B1 (ko) * 2016-08-01 2019-02-21 서강대학교산학협력단 블록체인 기반 트랜잭션 검증 시스템 및 그 방법
WO2018140913A1 (en) * 2017-01-30 2018-08-02 SALT Lending Holdings, Inc. System and method of creating an asset based automated secure agreement
WO2018175666A1 (en) * 2017-03-21 2018-09-27 Dappsters, LLC Blockchain systems and methods
CN107368259B (zh) * 2017-05-25 2020-07-10 创新先进技术有限公司 一种向区块链系统中写入业务数据的方法和装置
CN108513669A (zh) * 2017-12-29 2018-09-07 深圳前海达闼云端智能科技有限公司 基于区块链的众筹信息处理方法、装置、存储介质及电子设备

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101705948B1 (ko) * 2014-12-05 2017-02-13 이승한 기술 개발 및 그래픽 아트 개발을 위한 프로젝트 참여 시스템과 그 방법
WO2018020389A2 (en) * 2016-07-29 2018-02-01 Chain Holdings Limited Blockchain implemented method and system

Also Published As

Publication number Publication date
US11631064B2 (en) 2023-04-18
KR20200031861A (ko) 2020-03-25
US20200090140A1 (en) 2020-03-19

Similar Documents

Publication Publication Date Title
KR102201468B1 (ko) 블록체인 기반의 게임 제작을 위한 크라우드펀딩 시스템의 동작 방법 및 서비스 환경을 구현하기 위한 시스템
US11182787B2 (en) System and method for scaling blockchain networks with secure off-chain payment hubs
JP7278453B2 (ja) ブロックチェーン・ネットワークにおいてトランザクションを管理するための方法、記憶媒体、電子デバイス、トランザクション検証ノード、スーパー・ノード及びブロックチェーン・ネットワーク
JP7108611B2 (ja) 電子手形管理方法及び装置並びに記憶媒体
US10901983B2 (en) System and method for universal blockchain interoperability
TWI822037B (zh) 塊鏈實施之方法及系統
US11593321B2 (en) Systems and methods of self-administered protocols on a blockchain platform
JP6355168B2 (ja) ブロックチェーン生成装置、ブロックチェーン生成方法、ブロックチェーン検証装置、ブロックチェーン検証方法およびプログラム
Ellervee et al. A Comprehensive Reference Model for Blockchain-based Distributed Ledger Technology.
Baird et al. Hedera: A governing council & public hashgraph network
US11381589B2 (en) Systems and methods for distributed extended common vulnerabilities and exposures data management
CN110192380A (zh) 用于管理区块链云服务的系统和方法
JP7319961B2 (ja) 一対の結合ブロックチェーンを構成するバイナリブロックチェーンに関連するコンピュータ実装システム及び方法
CN110599348B (zh) 股权激励的方法、装置、设备及存储介质
KR102192695B1 (ko) 블록체인 기반의 광고 서비스 시스템의 동작 방법 및 서비스 환경을 구현하기 위한 시스템
CA3059438A1 (en) Systems and methods for recording data representing multiple interactions
CN110474901B (zh) 公有区块链网络系统
US20190385183A1 (en) Method for automatically providing cryptocurrency to recommender using propagation on sns
Yan et al. Blockchain: Empowering Digital Economy
Masseport et al. Proof of usage: User-centric consensus for data provision and exchange
JP2023106055A (ja) エビデンス管理方法、エビデンス管理システム及びノード
US11379867B2 (en) Method for automatically providing cryptocurrency to recommender using propagation on SNS
KR102130900B1 (ko) 블록체인 시스템에서의 고속 합의 방법
KR102040907B1 (ko) 에스엔에스 전파를 활용한 추천인 암호화폐 자동지급 방법
JP2022032116A (ja) データ移行方法、データ移行システム、およびノード

Legal Events

Date Code Title Description
E902 Notification of reason for refusal
E701 Decision to grant or registration of patent right
GRNT Written decision to grant