KR102192695B1 - 블록체인 기반의 광고 서비스 시스템의 동작 방법 및 서비스 환경을 구현하기 위한 시스템 - Google Patents

블록체인 기반의 광고 서비스 시스템의 동작 방법 및 서비스 환경을 구현하기 위한 시스템 Download PDF

Info

Publication number
KR102192695B1
KR102192695B1 KR1020180110859A KR20180110859A KR102192695B1 KR 102192695 B1 KR102192695 B1 KR 102192695B1 KR 1020180110859 A KR1020180110859 A KR 1020180110859A KR 20180110859 A KR20180110859 A KR 20180110859A KR 102192695 B1 KR102192695 B1 KR 102192695B1
Authority
KR
South Korea
Prior art keywords
node
nodes
block
advertisement
blockchain
Prior art date
Application number
KR1020180110859A
Other languages
English (en)
Other versions
KR20200031857A (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 KR1020180110859A priority Critical patent/KR102192695B1/ko
Publication of KR20200031857A publication Critical patent/KR20200031857A/ko
Application granted granted Critical
Publication of KR102192695B1 publication Critical patent/KR102192695B1/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
    • G06Q30/00Commerce
    • G06Q30/02Marketing; Price estimation or determination; Fundraising
    • G06Q30/0241Advertisements
    • G06Q30/0242Determining effectiveness of advertisements
    • G06Q30/0246Traffic
    • 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
    • G06Q30/00Commerce
    • G06Q30/02Marketing; Price estimation or determination; Fundraising
    • G06Q30/0241Advertisements
    • G06Q30/0242Determining effectiveness of advertisements
    • G06Q30/0244Optimization
    • 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
    • G06Q30/00Commerce
    • G06Q30/02Marketing; Price estimation or determination; Fundraising
    • G06Q30/0241Advertisements
    • G06Q30/0273Determination of fees for advertising
    • G06Q30/0275Auctions

Landscapes

  • Business, Economics & Management (AREA)
  • Engineering & Computer Science (AREA)
  • Accounting & Taxation (AREA)
  • Development Economics (AREA)
  • Strategic Management (AREA)
  • Finance (AREA)
  • Game Theory and Decision Science (AREA)
  • Entrepreneurship & Innovation (AREA)
  • Economics (AREA)
  • Marketing (AREA)
  • Physics & Mathematics (AREA)
  • General Business, Economics & Management (AREA)
  • General Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)

Abstract

실시예는, 복수의 노드들의 분산 네트워크로 구성된 블록체인 기반 광고 서비스 시스템을 동작시키는 방법으로써, 설정된 스마트컨트렉트에 따라 광고 서비스가 상기 분산 네트워크에서 수행되도록 하는 단계;를 포함하고, 상기 스마트컨트렉트는, 광고 고유 정보 및 광고료 집행 정보에 관련된 제1 데이터 레코드를 포함하는 제1 블록이 상기 복수의 노드들에 공유되고, 수집된 광고 실적 정보에 관련된 제2 데이터 레코드를 포함하는 제2 블록을 생성하여 상기 복수의 노드들에 공유되고, 상기 제1 및 제2 데이터 레코드에 기초하여 산정된 광고료에 대한 두 노드간의 거래 내역을 생성하여 상기 복수의 노드들에 공유되고, 적어도 하나의 상기 거래 내역을 포함하는 제3 블록을 생성하여 상기 복수의 노드들에 공유되며, 상기 복수의 노드들 중 적어도 하나의 노드에 저장된 블록체인이 상기 제1 내지 제3 블록을 포함하도록 상기 분산 네트워크로부터의 통신에 기초하여 상기 저장된 블록체인이 업데이트되는 것을 포함하는 블록체인 기반의 광고 서비스 시스템의 동작 방법을 제공할 수 있다.

Description

블록체인 기반의 광고 서비스 시스템의 동작 방법 및 서비스 환경을 구현하기 위한 시스템{A method of operating Advertising services system based on Blockchain and a system for implementing the service environment}
본 발명은 블록체인 기반의 광고 서비스 환경 제공하는 방법과 서비스 환경을 구현하기 위한 시스템에 관한 것이다.
전통적인 광고비 지급 방식에 따르면 만약 방송국이나 신문사에 광고를 게재하면 일정 시간 후에 대금이 지급되는 구조가 일반적이다. 매체사에서 광고비를 청구하면 대행사가 중간에 끼어서 매체수수료를 챙기로 광고대행사는 광고주에게 광고비를 청구하는 구조이다. 이러한 광고비 지급 방식은 시간이 오래 걸리는 문제가 있고, 중간에 광고비를 부적절하게 이용하는 일이 발생할 수 있는 불투명한 시스템이다. 기존의 매체의 경우, 지면이 팔리지 않는 경우 서비스로 광고주에게 광고를 제공하는 경우도 발생하기도 한다. 그리고 광고국 직원들은 매출을 올리기 위해 상호 거짓 거래명세표를 끊어서 가짜 매출을 발생시키기도 한다. 최근 IT 기술의 발달로 온라인 상에서 광고 서비스가 주를 이루고 있다. 온라인 광고 서비스 방식은 전통적인 광고 방식에 비해 광고료 집행이 빠르고 광고 실적의 집계의 편의성과 정확도가 높아졌다. 그러나, 광고 관련 통계 자료가 미비하고 광고 효과를 평가하는 지표가 확립되지 않았으며 객관적이고 신뢰성 있는 측정 체계 및 광고료 산정과 지급 시스템이 미비하여 온라인 광고에 대한 신뢰성이 부족한 것이 현실이다.
한국특허공개공보 제 10-2003-0043827 호
본 발명은 광고 실적 집계 정보의 신뢰성을 확보할 수 있는 시스템을 제공하는데 일 목적이 있다.
또한, 본 발명은 광고료 산정의 정확성과 합리성이 담보할 수 있는 시스템을 제공하는데 일 목적이 있다.
또한, 본 발명은 광고료를 크라우드펀딩의 투자금으로 활용할 수 있도록 한 시스템을 제공하는데 일 목적이 있다.
또한, 본 발명은 크라우드펀딩을 이용한 게임 제작의 신뢰를 확보할 수 있는 시스템을 제공하는데 일 목적이 있다.
또한, 본 발명은 블록체인 기반의 게임 제작을 위한 크라우드펀딩 서비스 환경을 제공하는 방법과 서비스 환경을 구현하기 위한 시스템를 제공하는데 일 목적이 있다.
또한, 본 발명은 게임 제작을 위한 투자금의 사용과 제작된 게임 서비스에 따른 수익금의 분배에 대한 안정성과 투명성 그리고 적절성을 담보할 수 있는 시스템을 제공하는데 일 목적이 있다.
실시예는, 복수의 노드들의 분산 네트워크로 구성된 블록체인 기반 광고 서비스 시스템을 동작시키는 방법으로써, 설정된 스마트컨트렉트에 따라 광고 서비스가 상기 분산 네트워크에서 수행되도록 하는 단계;를 포함하고, 상기 스마트컨트렉트는, 광고 고유 정보 및 광고료 집행 정보에 관련된 제1 데이터 레코드를 포함하는 제1 블록이 상기 복수의 노드들에 공유되고, 수집된 광고 실적 정보에 관련된 제2 데이터 레코드를 포함하는 제2 블록을 생성하여 상기 복수의 노드들에 공유되고, 상기 제1 및 제2 데이터 레코드에 기초하여 산정된 광고료에 대한 두 노드간의 거래 내역을 생성하여 상기 복수의 노드들에 공유되고, 적어도 하나의 상기 거래 내역을 포함하는 제3 블록을 생성하여 상기 복수의 노드들에 공유되며, 상기 복수의 노드들 중 적어도 하나의 노드에 저장된 블록체인이 상기 제1 내지 제3 블록을 포함하도록 상기 분산 네트워크로부터의 통신에 기초하여 상기 저장된 블록체인이 업데이트되는 것을 포함하는 블록체인 기반의 광고 서비스 시스템의 동작 방법을 제공할 수 있다.
다른 측면에서, 상기 복수의 노드는 적어도 하나의 광고주 노드, 상기 광고주 노드가 요청한 광고의 실적을 집계하는 서비스 노드를 포함하는 블록체인 기반의 광고 서비스 시스템의 동작 방법을 제공할 수 있다.
다른 측면에서, 상기 수집된 광고 실적 정보에 관련된 제2 데이터 레코드를 포함하는 제2 블록을 생성하여 상기 복수의 노드들에 공유되는 것은, 상기 수집된 광고 실적 정보를 상기 복수의 노드에 공유하고, 상기 복수의 노드 중 어느 하나의 노드는 상기 수집된 광고 실적 정보에 관련된 제2 데이터 레코드를 포함하는 제2 블록을 생성하여 상기 복수의 노들에 공유하며, 상기 제2 블록을 수신한 노드들은 저장된 상기 수집된 광고 실적 정보와 상기 제2 블록의 제2 데이터 레코드의 비교를 통해 상기 제2 블록의 유효성을 검증하는 것인 블록체인 기반의 광고 서비스 시스템의 동작 방법을 제공할 수 있다.
다른 측면에서, 상기 제1 및 제2 데이터 레코드에 기초하여 산정된 광고료에 대한 두 노드간의 거래 내역을 생성하여 상기 복수의 노드들에 공유되는 것은, 광고주 노드 및 광고를 서비스하는 서비스 노드 중 어느 하나의 노드는 상기 광고료에 대응하는 코인의 송금에 관한 거래 내역을 생성하고, 상기 거래 내역을 생성한 노드는 다른 노드로 상기 거래 내역을 전송하고, 상기 거래 내역을 수신한 노드는 상기 거래 내역의 유효성을 검증하며, 유효성이 검증된 거래 내역을 임시 목록에 보관하는 것인 블록체인 기반의 광고 서비스 시스템의 동작 방법을 제공할 수 있다.
다른 측면에서, 상기 거래 내역의 유효성을 검증하는 것은, 상기 제1 및 제2 데이터 레코드에 기초하여 상기 코인의 송금에 관한 거래 내역을 검증하는 단계를 포함하는 블록체인 기반의 광고 서비스 시스템의 동작 방법을 제공할 수 있다.
다른 측면에서, 상기 거래 내역의 유효성을 검증하는 것은, 상기 거래 내역에 대한 디지털 서명을 수신하여 상기 거래 내역의 유효성을 검증하는 단계를 더 포함하는 블록체인 기반의 광고 서비스 시스템의 동작 방법을 제공할 수 있다.
또 다른 측면에서, 복수의 노드들의 분산 네트워크로 구성된 블록체인 기반 광고 서비스 시스템의 적어도 하나의 노드의 적어도 하나의 프로세서에 의해 실행 가능한 명령들을 포함하는 비일시적인 컴퓨터 판독 가능 매체에 저장된 컴퓨터 프로그램으로써, 상기 명령들은, 설정된 스마트컨트렉트에 따라 광고 서비스가 상기 분산 네트워크에서 수행되도록 하는 것을 포함하고, 상기 스마트컨트렉트는, 광고 고유 정보 및 광고료 집행 정보에 관련된 제1 데이터 레코드를 포함하는 제1 블록이 상기 복수의 노드들에 공유되고, 수집된 광고 실적 정보에 관련된 제2 데이터 레코드를 포함하는 제2 블록을 생성하여 상기 복수의 노드들에 공유되고, 상기 제1 및 제2 데이터 레코드에 기초하여 산정된 광고료에 대한 두 노드간의 거래 내역을 생성하여 상기 복수의 노드들에 공유되고, 적어도 하나의 상기 거래 내역을 포함하는 제3 블록을 생성하여 상기 복수의 노드들에 공유되며, 상기 복수의 노드들 중 적어도 하나의 노드에 저장된 블록체인이 상기 제1 내지 제3 블록을 포함하도록 상기 분산 네트워크로부터의 통신에 기초하여 상기 저장된 블록체인이 업데이트되는 것을 포함하는 비일시적인 컴퓨터 판독 가능 매체에 저장된 컴퓨터 프로그램을 제공할 수도 있다.
또 다른 측면에서의 실시예는, 복수의 노드들의 분산 네트워크로 구성된 블록체인 기반 게임 제작을 위한 크라우드펀딩 시스템을 동작시키는 방법으로써, 설정된 스마트컨트렉트에 따라 크라우드펀딩 서비스가 상기 분산 네트워크에서 수행되도록 하는 단계;를 포함하고, 상기 스마트컨트렉트는, 게임 제작 계획 정보에 관련된 데이터 레코드를 포함하는 최초 블록을 생성하고, 코인의 전자 거래에 관한 적어도 하나의 거래 내역이 상기 복수의 노드들에 공유되고, 상기 적어도 하나의 거래 내역에 관련된 데이터 레코드를 포함하는 적어도 하나의 새로운 블록을 생성하고, 상기 복수의 노드들 중 적어도 하나의 노드에 저장된 블록체인이 상기 새로운 블록을 포함하도록 상기 분산 네트워크로부터의 통신에 기초하여 상기 저장된 블록체인이 업데이트되는 것을 포함하는 블록체인 기반의 게임 제작을 위한 크라우드펀딩 시스템의 동작 방법을 제공할 수 있다.
다른 측면에서, 상기 게임 제작 계획 정보에 기초하여 상기 스마트컨트렉트를 설정하는 것을 더 포함하는 블록체인 기반의 게임 제작을 위한 크라우드펀딩 시스템의 동작 방법을 제공할 수도 있다.
다른 측면에서, 상기 스마트컨트렉트는, 상기 거래 내역의 개수 정보, 상기 거래 내역 상의 코인의 액수 정보 및 상기 거래 내역의 생성 시점 정보 중 적어도 하나에 기초하여 상기 새로운 블록의 생성 시점을 결정하는 것을 포함하는 블록체인 기반의 게임 제작을 위한 크라우드펀딩 시스템의 동작 방법을 제공할 수도 있다.
다른 측면에서, 상기 게임 제작 계획 정보는 단계별 계약 사항에 관련된 정보를 포함하고, 상기 스마트컨트렉트는, 상기 단계별 계약 사항의 이행 여부에 기초하여 상기 새로운 블록의 생성 여부를 결정하는 것을 포함하는 블록체인 기반의 게임 제작을 위한 크라우드펀딩 시스템의 동작 방법을 제공할 수도 있다.
다른 측면에서, 상기 스마트컨트렉트는, 상기 복수의 노드들 중 미리 지정된 노드들로부터의 온라인 투표 결과를 수집하고, 상기 온라인 투표 결과에 기초하여 상기 단계별 계약 사항의 이행 여부를 판단하는 것을 포함하는 블록체인 기반의 게임 제작을 위한 크라우드펀딩 시스템의 동작 방법을 제공할 수도 있다.
다른 측면에서, 상기 스마트컨트렉트는, 제작 완료된 게임의 서비스에 따른 매출 정보, 게임 서비스에 대한 광고 정보, 크라우드펀딩 노드와 투자자 노드 사이의 거래 내역 상의 코인의 액수 정보 및 상기 크라우드펀딩 노드와 상기 투자자 노드 사이의 거래 내역의 생성 시점 중 적어도 하나에 기초하여 새로운 거래 내역을 생성하는 블록체인 기반의 게임 제작을 위한 크라우드펀딩 시스템의 동작 방법을 제공할 수도 있다.
다른 측면에서, 상기 새로운 거래 내역은, 개발자 노드로의 코인 송금에 관한 적어도 하나의 거래 내역, 상기 개발자 노드로의 코인 송금에 관한 적어도 하나의 거래 내역 및 상기 크라우드펀딩 노드로의 코인 송금에 관한 적어도 하나의 거래 내역 중 적어도 하나를 포함하는 블록체인 기반의 게임 제작을 위한 크라우드펀딩 시스템의 동작 방법을 제공할 수도 있다.
다른 측면에서, 상기 스마트컨트렉트는, 상기 거래 내역을 포함할 새로운 블록의 생성 권한을 부여할 노드를, 제작 완료된 게임의 서비스에 따른 매출 정보, 게임 서비스에 대한 광고 정보, 크라우드펀딩 노드와 투자자 노드 사이의 거래 내역 상의 코인의 액수 정보, 상기 크라우드펀딩 노드와 상기 투자자 노드 사이의 거래 내역의 생성 시점 및 온라인 투표에 참여한 노드 정보에 기초하여 결정하는 것을 포함하는 블록체인 기반의 게임 제작을 위한 크라우드펀딩 시스템의 동작 방법을 제공할 수도 있다.
다른 측면에서, 거래 내역을 수신한 노드는 수신된 거래 내역의 유효성을 검증하고, 거래 내역의 유효성이 검증되면 이를 다른 노드로 공유하고, 거래 내역의 유효성이 검증되지 않으면 해당 거래 내역을 폐기하는 것을 포함하고, 거래 내역의 유효성 검증은 해당 거래의 구문(syntax)과 데이터 구조의 검증, 송금액이 미리 설정된 기준 송금 범위 이내인지 검증 및 송금 일자가 미리 설정된 기간 이내인지 검증 중 적어도 하나의 검증을 포함하는 블록체인 기반의 게임 제작을 위한 크라우드펀딩 시스템의 동작 방법을 제공할 수도 있다.
또 다른 측면에서, 복수의 노드들의 분산 네트워크로 구성된 블록체인 기반 게임 제작을 위한 크라우드펀딩 시스템의 적어도 하나의 노드의 적어도 하나의 프로세서에 의해 실행 가능한 명령들을 포함하는 비일시적인 컴퓨터 판독 가능 매체에 저장된 컴퓨터 프로그램으로써, 상기 명령들은, 설정된 스마트컨트렉트에 따라 크라우드펀딩 서비스가 상기 분산 네트워크에서 수행되도록 하는 것을 포함하고, 상기 스마트컨트렉트는, 게임 제작 계획 정보에 관련된 데이터 레코드를 포함하는 최초 블록을 생성하고, 코인의 전자 거래에 관한 적어도 하나의 거래 내역이 상기 복수의 노드들에 공유되고, 상기 적어도 하나의 거래 내역에 관련된 데이터 레코드를 포함하는 적어도 하나의 새로운 블록을 생성하고, 상기 복수의 노드들 중 적어도 하나의 노드에 저장된 블록체인이 상기 새로운 블록을 포함하도록 상기 분산 네트워크로부터의 통신에 기초하여 상기 저장된 블록체인이 업데이트되는 것을 포함하는 비일시적인 컴퓨터 판독 가능 매체에 저장된 컴퓨터 프로그램을 제공할 수도 있다.
실시예는, 계약 조건에 따른 중간자의 개입이나 계약 조건의 충족 여부를 일일이 확인할 필요 없이 스마트컨트렉트에 따라 계약을 자동 실행시킴으로서 광고 서비스를 효율적으로 운용할 수 있다.
또한, 실시예는, 광고 서비스 계약의 투명성을 확보하고 광고 실적 정보의 신속한 수집과 수집된 정보의 정확성과 보안성을 기할 수 있는 방법과 시스템을 제공할 수 있다.
또한, 실시예는 수집된 광고 실적 정보의 조작을 방지하여 광고료 산정에 신뢰를 높일 수 있다. 아울러, 수집된 광고 실적 정보에 대한 통계 등 자료로써의 활용 가치를 높일 수 있다.
또한, 실시예는 광고 노출에 따른 수익률이 높을 것으로 기대되는 게임을 선정하는데 있어서 매우 객관적이로 정확한 데이터를 제공할 수 있다.
또한, 실시예는 펀딩된 모금에 대한 사용의 안정성과 적절성 그리고 투명성을 담보할 수 있는 방법과 시스템을 제공할 수 있다.
또한, 실시예는 게임 서비스에 따른 수익금 분배의 적절성과 투명성을 보장할 수 있다.
또한, 실시예는 계약 조건에 따른 중간자의 개입이나 계약 조건의 충족 여부를 일일이 확인할 필요 없이 스마트컨트렉트에 따라 계약을 자동 실행시킴으로서 크라우드펀딩 서비스를 효율적으로 운용할 수 있다.
또한, 실시예는 오프라인 상이나 일부 온라인 상에서 이루어지는 크라우드펀딩 서비스에서 발생한 각종 문제나 한계점을 해결하거나 최소화할 수 있다.
또한, 실시예는 종래의 리더(Leader) 모델에서 라운드 별 유일 리더 선택 문제 및 선택된 리더가 악성 리더인 경우의 문제를 해결할 수 있고, 라운드별로 허가 기간에 프로듀서 노드가 생성되는 방식을 통해 프로듀서 노드가 블록 생성을 게을리하는 경우 블록체인 시스템이 멈추는 현상을 해결할 수 있고 다량의 블록 생성자가 존재하는 것을 방지할 수 있다.
본 발명에서 얻을 수 있는 효과는 이상에서 언급한 효과들로 제한되지 않으며, 언급하지 않은 또 다른 효과들은 아래의 기재로부터 명확하게 이해될 수 있다.
도 1 내지 도 4는 크라우드펀딩 및/또는 광고 서비스 네트워크 내의 노드들이 광고 서비스 블록체인 형태로 광고 서비스를 관리하도록 구성되거나 프로그래밍되는 광고 서비스 시스템의 개관을 나타낸다.
도 5 내지 도 7는 블록체인 기반의 게임 제작을 위한 크라우드 펀딩 서비스 시스템의 동작 방법에 관한 예시적인 흐름도이다.
도 8 및 도 9는 블록체인 기반의 광고 서비스 시스템의 동작 방법에 관한 예시적인 흐름도이다.
도 10 및 도 11은 블록체인 기반의 광고 서비스 시스템의 동작 방법에 관한 다른 예시적인 흐름도이다.
본 발명은 다양한 변환을 가할 수 있고 여러 가지 실시예를 가질 수 있는 바, 특정 실시예들을 도면에 예시하고 상세한 설명에 상세하게 설명하고자 한다. 본 발명의 효과 및 특징, 그리고 그것들을 달성하는 방법은 도면과 함께 상세하게 후술되어 있는 실시예들을 참조하면 명확해질 것이다. 그러나 본 발명은 이하에서 개시되는 실시예들에 한정되는 것이 아니라 다양한 형태로 구현될 수 있다. 이하의 실시예에서, 제1, 제2 등의 용어는 한정적인 의미가 아니라 하나의 구성 요소를 다른 구성 요소와 구별하는 목적으로 사용되었다. 또한, 단수의 표현은 문맥상 명백하게 다르게 뜻하지 않는 한, 복수의 표현을 포함한다. 또한, 포함하다 또는 가지다 등의 용어는 명세서상에 기재된 특징, 또는 구성요소가 존재함을 의미하는 것이고, 하나 이상의 다른 특징들 또는 구성요소가 부가될 가능성을 미리 배제하는 것은 아니다. 또한, 도면에서는 설명의 편의를 위하여 구성 요소들이 그 크기가 과장 또는 축소될 수 있다. 예컨대, 도면에서 나타난 각 구성의 크기 및 두께는 설명의 편의를 위해 임의로 나타내었으므로, 본 발명이 반드시 도시된 바에 한정되지 않는다.
이하, 첨부된 도면을 참조하여 본 발명의 실시예들을 상세히 설명하기로 하며, 도면을 참조하여 설명할 때 동일하거나 대응하는 구성 요소는 동일한 도면부호를 부여하고 이에 대한 중복되는 설명은 생략하기로 한다.
도 1 내지 도 4는 크라우드펀딩 및/또는 광고 서비스 네트워크 내의 노드들이 광고 서비스 블록체인 형태로 광고 서비스를 관리하도록 구성되거나 프로그래밍되는 광고 서비스 시스템의 개관을 나타낸다.
이하에서 설명하는 시스템은 네트워크상에서 피어투피어(peer-to-peer) 네트워크 아키텍처 구조를 이룬다. 즉, 시스템에 참여하는 사용자들은 모두 등등한 지위를 가지고 있고 특별한 노드는 존재하지 않으며 모든 노드(노드 1 내지 노드 n)가 네트워크 서비스를 구성하는 역할을 분담한다. 네트워크상의 여러 노드(100)는 서로 동등한 토폴로지를 가지면서 그물망 네트워크에서 서로 연결된다. 네트워크 내에 있는 노드들이 서로 동등한 위치에 있다고 할지라도 지원하는 기능에 따라 각자의 역할은 상이할 수 있다.
모든 노드는 네트워크 내에 라우팅 기능을 보유하고 있으며, 다른 기능을 포함할 수도 있다. 모든 노드는 거래와 블록을 검증하고 전파하며, 이웃 노드들과의 연결을 유지하는 기능을 수행할 수 있다.
사용자는 게임 개발자, 서비스 관리자, 투자자가 될 수 있다. 다른 측면에서, 사용자는 광고주, 서비스 관리자가 될 수 있다. 다른 측면에서, 사용자는 게임 개발자, 서비스 관리자, 투자자, 광고주가 될 수 있다. 이들 각각은 개인이거나 조직, 커뮤니티 또는 다른 유형의 개체를 포함할 수 있다.
네트워크에 연결된 노드들(100)은 크라우드펀딩 노드(110)와 투자자 노드(120(1) 내지 120(n)) 그리고 개발자 노드(130)가 있다.
다른 측면에서, 네트워크에 연결된 노드들(100)은 서비스 노드(110)와 광고주 노드(140(1) 내지 140(n))가 있다.
또 다른 측면에서, 네트워크에 연결된 노드들(100)은 크라우드펀딩 노드(110)와 투자자 노드(120(1) 내지 120(n)), 개발자 노드(130) 그리고 광고주 노드(140(1) 내지 140(n))가 있다.
다만, 네트워크에는 특수한 프로토콜을 가동하는 노드들도 포함될 수 있고, 이들 노드를 비롯하여 기타 프로토콜을 가동하는 노드들을 연결시키는 프로토콜 게이트웨이가 포함될 수도 있다.
새로운 노드가 크라우드펀딩 서비스에 참여하거나 광고 서비스에 참여하기 위해 먼저 네트워크상에 존재하는 다른 노드들을 검색할 수 있다. 이러한 프로세스를 시작하기 위해서 새로운 노드는 기존에 네트워크상에 존재하는 노드를 최소 한 개는 검색해서 연결해야 한다. 새로운 노드가 이미 알고 있는 이웃 노드에 연결되기 위해 각 노드는 특정 번호의 포트로 TCP 커넥션을 연결하거나 대안 포트로 연결할 수 있다.
새로운 노드는 연결 요청 메시지를 이웃 노드로 전송하고 이웃 노드는 연결 요청을 승인할 경우 승인 메시지를 새로운 노드에 전송함으로써 해당 요청에 응답할 수 있다. 예시적으로, 새로운 노드가 개발자 노드(130)인 경우 네트워크상에는 투자자 노드가 존재하지 않을 것이므로 이웃 노드는 크라우드펀딩 노드(110)가 될 수 있다. 다른 측면에서, 새로운 노드가 투자자 노드(120)인 경우 이웃 노드는 네트워크에 이미 참여한 다른 투자자 노드 또는 개발자 노드(130) 또는 크라우드펀딩 노드(110)가 될 수 있다. 다른 측면에서, 새로운 노드가 광고주 노드(140)인 경우 이웃 노드는 서비스 노드(110) 또는 그 외 다른 광고주 노드가 될 수도 있다. 또 다른 측면에서, 새로운 노드가 광고주 노드(140)인 경우 이웃 노드는 개발자 노드(130), 서비스 노드(110), 투자자 노드(130) 그리고 다른 광고주 노드가 될 수 있다.
하나 이상의 연결이 성립되고 나면, 새로운 노드는 자신의 IP 주소가 담겨 있는 어드레스 메시지를 이웃 노드들에게 전송할 수 있다. 차례로 이웃 노드들은 전송 받은 어드레스 메시지를 그들의 이웃 노드들에게 전송함으로써 새롭게 연결된 노드가 더 잘 알려지고 다른 노드들과 더 잘 연결되게 할 수 있다. 또한, 새롭게 연결된 노드는 어드레스 요청 메시지를 이웃 노드들에게 보내서 다른 이웃 노드들의 IP 주소 목록을 다시 전송해줄 것을 요청할 수 있다. 이러한 방식을 통해 노드는 자신과 연결되어 있는 이웃 노드를 검색할 수 있고 다른 노드들이 자신을 검색할 수 있도록 자신의 존재를 네트워크상에 홍보할 수 있다.
서비스 노드(110)는 블록체인 전체의 복사본을 가질 수 있다. 투자자 노드(120), 개발자 노드(130) 그리고 광고주 노드(140)는 블록체인 전체의 복사본 또는 적어도 블록체인의 부분집합에 해당하는 복사본을 가질 수 있다. 블록체인은 게임별로 생성될 수 있다. 즉, 크라우드펀딩을 통해 제작할 게임당 블록체인이 생성될 수 있다. 블록체인은 트랜잭션(거래)으로 구성되는 변경 불가능한 블록으로 구성된 분산형 컴퓨터 시스템으로 구성된다. 블록체인을 구성하는 각 블록은 이전 블록의 해시를 포함하므로 블록이 함께 연결되어 처음부터 블록체인에 쓰여진 모든 트랜잭션의 데이터 레코드를 생성한다. 블록은 이전 블록에 종속적으로 연결되어 있으므로 해체, 수정 및 재구성이 거의 불가능하고 노드들이 각자 보유하므로 분산되고 견고하다. 일부 실시예에서, 적어도 하나의 블록에는 적어도 하나의 거래 내역이 기록된다. 거래 내역은 해쉬로 계산되어 위변조가 발생되지 않도록 구성될 수 있다. 각 블록과 거래는 해쉬 값, 데이터 발생 시점의 타임스탬프를 관리함으로써 위변조를 막고 거래 내역을 추적할 수 있다. 또한, 노드들(100)은 블록체인 원장과 지갑 어플리케이션을 저장하여 사용자가 안전하고 신뢰성 있는 방식으로 네트워크를 통한 거래나 다른 관련 기능을 수행할 수 있게 한다.
노드들은 블록체인 탐색기(Blockchain explorer)를 제공할 수 있다. 블록체인 탐색기는 코인 검색 엔진 역할을 하는 웹 어플리케이션으로 구성될 수 있다. 지갑을 보유한 사용자는 블록체인 탐색기를 통해 코인 주소, 거래내역, 블록 등을 찾아볼 수 있고 이들 간의 관계 및 흐름을 파악할 수 있다.
각각의 노드는 모든 컴퓨팅 언어를 읽을수 있도록 서버, 인터페이스, 시스템, 데이터베이스, 에이전트, 피어, 엔진, 컨트롤러 또는 개별적으로 또는 집합적으로 작동하는 기타 유형의 컴퓨팅 장치를 포함하거나 컴퓨팅 장치들의 적절한 조합으로 구성될 수 있다. 컴퓨팅 장치는 비일시적인 컴퓨터 판독 가능 저장 매체(예를 들어, 하드 드라이브, 솔리드 스테이트 드라이브, RAM, 플래시, ROM 등)상에 저장된 소프트웨어 명령을 실행하도록 구성된 프로세서를 포함할 수 있다. 바람직하게, 컴퓨팅 장치가 후술하는 각종 기능을 제공할 수 있도록 소프트웨어 명령이 구성된다. 또한, 개시된 기술들은 프로세서로 하여금 개시된 단계들을 실행하게 하는 소프트웨어 명령들을 저장하는 비일시적 컴퓨터 판독 가능 매체를 포함하는 컴퓨터 프로그램 제품으로서 구현될 수 있다. 바람직하게는, 다양한 서버, 시스템, 데이터베이스 그리고 인터페이스는 HTTP, HTTPS, AES, 공개/개인키 교환, 웹 서비스 API, 알려진 금융 거래 프로토콜 또는 다른 전자 기반의 표준화된 프로토콜 또는 알고리즘을 사용하여 데이터를 교환할 수 있다. 바람직하게, 데이터 교환은 패킷 교환 네트워크, 인터넷, LAN, WAN, VPN 또는 다른 유형의 패킷 교환 네트워크를 통해 수행될 수 있다.
개시된 기술이 게임 개발자나 투자자의 거래나 서비스 관리자, 광고주의 거래를 나타내는 블록 체인의 구성 및 저장을 포함하여 많은 유리한 기술적 효과를 제공할 수 있다는 것을 이해할 것이다. 크라우드펀딩 서비스 및/또는 광고 서비스(10)를 위한 블록 체인의 구축 및 저장을 통해 컴퓨팅 장치는 게임 제작 과정과 투자금의 사용의 적절성을 신속하고 효율적으로 검증할 수 있고, 게임 서비스에 따른 수익금의 적절하고 공정한 분배를 기대할 수 있고, 광고 실적 집계에 대한 투명성을 확보하고 광고 실적 집계에 기반하여 공정한 수익의 분배를 기대할 수 있다.
이하, 서비스 노드(110)는 크라우드펀딩 노드로 표현될 수도 있다. 서비스 노드(110)는 크라우드펀딩 서비스와 광고 서비스 구현을 위하여 적어도 하나의 컴퓨팅 장치로 구성될 수 있다.
<크라우드펀딩 서비스>
이하 크라우드펀딩 서비스를 보다 상세하게 설명한다.
도 5 내지 도 7는 블록체인 기반의 게임 제작을 위한 크라우드 펀딩 서비스 시스템의 동작 방법에 관한 예시적인 흐름도이다.
크라우드펀딩 노드(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 블록 생성 권한 확률값은 온라인 투표 참여 여부에 따라 조정될 수 있다. 블록 내의 데이터 레코드로부터 온라인 투표에 참여한 노드를 판별할 수 있다. 그리고, 온라인 투표에 참여한 노드에 블록 생성 권한이 부여될 확률 값을 높임으로써 적극적인 온라인 투표가 이루어지도록 유도할 수 있다.
블록 생성 권한을 부여받은 노드는 새로운 블록을 생성할 수 있다. 생성한 새로운 블록 내에는 전술한 크라우드펀딩 노드가 생성한 거래 내역이 포함될 수 있다. 생성한 블록은 기존의 블록체인에 연결되고, 다른 노드에게 전파된다. 또한, 크라우드펀딩 노드가 생성한 거래 내역에는 새로운 블록을 생성하는 노드가 자신의 노드(새로운 블록을 생성하는 노드)로 수익금의 일부에 대응하는 코인을 송금하는 거래 내역을 포함할 수 있다. 따라서, 블록 생성 권한을 부여받은 노드는 기 설정된 수익금의 분배 외에도 추가적인 수익금이 발생하도록 할 수 있다. 다른 측면에서, 새로운 블록을 생성하는 노드에 의해서 구성되며 블록 생성에 대한 보상의 개념인 특수한 거래가 생성될 수도 있다. 즉, 새로운 블록을 생성하는 노드는 자신의 노드의 지갑으로 지불하는 코인의 개념으로 거래를 생성할 수 있다. 그리고 새로운 블록이 생성되면 전술한 특수한 거래 내역이 새로운 블록에 포함된다.
<광고 서비스>
도 8 및 도 9는 블록체인 기반의 광고 서비스 시스템의 동작 방법에 관한 예시적인 흐름도이다.
도 3, 도 8 및 도 9를 참조하면, 서비스 노드(110)는 서비스 노드(110)로 표현되는 컴퓨팅장치에 호스팅되는 광고 서비스 플랫폼을 포함할 수 있다. 일부 실시예에서, 플랫폼은 서비스 노드의 관리자, 광고주와 같은 사용자에 의해 운영되는 컴퓨팅 장치에 의해서 네트워크를 통해 액세스 될 수 있는 웹 기반 또는 클라우드 기반 플랫폼일 수도 있다. 서비스 노드는 광고 정보를 수집하기 위하여 광고주용 인터페이스의 기능을 제공하는 웹 페이지를 제공할 수 있다.
광고주는 자신의 컴퓨팅 장치를 통해 서비스 노드(110)가 제공하는 웹 페이지에 접속하여 웹 페이지 상에 광고 정보를 입력할 수 있다.
광고 정보는 광고 유형 정보, 광고 노출 위치 정보, 광고 노출 기간 정보, 광고료 집행 정보 등을 포함할 수 있다.
또한, 광고주는 서비스 노드(110)에 접속하여 서비스 노드(110)가 제공하는 블록체인 구동 머신을 다운로드하여 자신의 컴퓨팅 장치에 설치할 수 있다.
일부 실시예에서, 설정된 스마트컨트렉트에 따라 광고 서비스가 분산 네트워크에서 수행되도록 할 수 있다. 스마트컨트렉트는 광고 정보에 기초하여 설정될 수 있다. 즉, 광고 정보에 기초하여 광고 실적 정보 수집 방식, 광고 실적 정보 수집 시점, 광고 실적 정보 수집 기간, 광고료 산정 방식, 광고료 산정 시점, 블록 생성 시점을 결정하고 결정된 바에 따라 블록체인이 구동되도록 스마트컨트렉트를 설정할 수 있다.
복수의 노드들의 분산 네트워크로 구성된 블록체인 기반 광고 서비스 시스템의 적어도 하나의 노드의 적어도 하나의 프로세서에 의해 실행 가능한 명령들을 포함하는 비일시적인 컴퓨터 판독 가능 매체에 저장된 컴퓨터 프로그램은 블록체인 구동 머신이 될 수 있다. 여기서의 명령들은 설정된 스마트컨트렉트에 따라 광고 서비스가 분산 네트워크에서 수행되도록 하는 것을 포함할 수 있다.
일부 실시예에서, 블록체인 구동 머신은 미리 설정된 스마트컨트렉트에 따라 구동하도록 구성될 수 있다. 즉, 블록체인 상에 상주하는 스마트컨트렉트에 따라 워크 플로우(workflow)가 결정될 수 있다.
일부 실시예에서, 블록체인 구동 머신의 설치가 완료된 후 실행되면 서비스 노드(110)에서의 업데이트 프로그램을 다운 및 설치하여 기 설치된 블록체인 구동 머신이 업데이트될 수 있다. 여기에서의 업데이트 사항으로는 광고 실적 집계 방식, 광고비 집행 방식, 블록 생성 시점, 블록 생성 권한 등에 관한 스마트컨트렉트가 될 수 있다. 블록체인 구동 머신이 업데이트되면 스마트컨트렉트에 따라 블록체인 시스템이 구동될 수 있다.
일부 실시예에서, 스마트컨트렉트는 블록에 기록된 디지털 명령어로써 스마트컨트렉트가 기록된 블록이 모든 노드에 공유되면서 블록체인에 저장될 수 있다. 그리고, 모든 노드는 해당 블록 상의 스마트컨트렉트의 코드를 실행하여 계약 내용을 자동으로 실행함으로써 본 서비스가 구동되도록할 수도 있다.
스마트컨트렉트는 광고 집계, 광고 수익 분배 그리고 블록체인 운영 방식 등에 관한 계약 내용이 기술된 계약서의 일종으로써 계약서가 기술된 스크립트가 네트워크 기반에서 자동 분산 수행될 수 있다. 업데이트된 블록체인 구동 머신은 스마트컨트렉트에 관련된 코드를 해석하고 실행함으로써 블록체인 서비스가 스마트컨트렉트에 따라 운영될 수 있도록 한다.
또한, 블록체인 구동 머신의 실행에 따라 블록체인을 다운로드하기 시작한다. 블록체인의 다운로드의 시간에 따라 블록체인 구동 머신은 비동기 상태(out of sync)에서 동기화 완료(Synchronized)로 바뀔 때까지 백그라운드에서 실행될 수 있다.
서비스 노드(110)는 광고주용 인터페이스를 통해 입력된 광고 정보에 기초하여 광고료 집행 정보를 설정할 수 있다. 광고료는 광고 유형, 광고 노출 위치, 광고 노출 기간 그리고 광고 실적에 기초하여 설정될 수 있다.
서비스 노드(110)는 상기 광고 정보와 광고주 정보를 포함하는 광고 고유 정보를 생성할 수 있다.
서비스 노드(110)는 광고 고유 정보와 광고료 집행 정보에 관련된 데이터 레코드를 포함하는 블록을 생성할 수 있다. 여기서의 블록은 최초 블록이 될 수 있다.
블록은 광고 정보를 모두 포함할 수 있다. 즉, 광고주가 서비스 노드(110)에서 제공하는 웹 페이지 상에 기재한 모든 정보가 블록에 포함할 수 있다. 다른 측면에서, 블록은 광고 정보를 요약한 요약 정보와 광고 정보의 원본을 확인할 수 있는 웹페이지에 대한 URL(Uniform Resource Locator)을 포함할 수 있다. 블록을 수신한 노드는 블록 상에 기록된 요약 정보를 확인할 수 있고, URL을 통해 광고 정보에 대한 전체 내용을 확인할 수도 있다.
서비스 노드(110)에서 블록이 생성되면, 각 노드의 블록체인 구동 머신은 동기화 과정을 통해 블록을 다운로드 받을 수 있다. 예를 들어, 광고주 노드(140)는 네트워크로부터 생성된 블록을 전송받는다. 일부 실시예에서, 광고주 노드(140)는 수신된 블록의 유효성을 검사한 후에 유효하다고 검증하면 블록을 메모리에 저장한다.
서비스 노드(110)는 광고주가 요청한 광고를 온라인 상에서 서비스할 수 있다. 그리고 서비스 노드(110)는 서비스되는 광고에 대한 실적을 모니터링할 수 있다. 즉, 서비스 노드(110)는 광고에 대한 광고 클릭률(CTR), 전환수, 전환매출, 시간대별 통계 등을 모니터링하여 광고 실적 정보를 수집할 수 있다.
서비스 노드(110)의 블록체인 구동 머신은 기 설정된 기간 동안 수집된 광고 실적 정보에 관련된 데이터 레코드를 포함하는 새로운 블록을 생성할 수 있다. 상세하게는, 서비스 노드(110)는 어느 하나의 블록 생성 후 다음 새로운 블록의 생성 시점까지 수집된 광고 실적 정보를 새로운 블록에 기록할 수 있다.
다른 측면에서, 서비스 노드(110)가 수집한 광고 실적 정보는 다른 노드에 전파되어 복수의 노드들에 공유될 수 있다. 네트워크 상의 노드들 중 광고 실적 정보를 수신한 노드들은 메모리 풀(memory pool) 혹은 거래 풀(transaction pool)으로 지칭되는 임시 목록 상에 수신한 광고 실적 정보를 보관할 수 있다. 그리고 블록 생성 권한을 가진 노드는 임시 목록 상에 보관된 광고 실적 정보를 포함하는 새로운 블록을 생성할 수 있다. 새로운 블록은 다른 노드들에 전파되어 복수의 노드들이 새로운 블록을 공유할 수 있다.
생성된 새로운 블록을 수신한 노드는 자신의 노드의 임시 목록 상에 저장된 광고 실적 정보와 새로운 블록에 포함된 광고 실적 정보와의 비교를 통해 새로운 블록의 유효성을 검증할 수 있다. 유효성이 검증된 새로운 블록은 메모리 상에 저장되어 블록체인이 업데이트될 수 있다.
블록 생성 권한은 서비스 노드(110)가 가질 수 있다. 즉, 스마트컨트렉트는 미리 설정된 시점에 서비스 노드(110)가 임시 목록에 저장된 광고 실적 정보를 포함한 블록을 생성하도록 구성될 수 있다. 일부 실시예에서, 스마트컨트렉트는 복수의 노드들 중 랜덤하게 결정된 어느 하나의 노드로 하여금 광고 실적 정보를 포함한 블록을 생성하도록 구성될 수도 있다. 일부 실시예에서, 스마트컨트렉트는 복수의 노드들 중 미리 설정된 규칙에 따라 결정된 어느 하나의 노드로 하여금 광고 실적 정보를 포함한 블록을 생성하도록 구성될 수도 있다.
서비스 노드(110)가 수집한 광고 실적 정보는 복수의 노드에서 공유되므로 광고 실적 정보에 대한 투명성과 보안이 강화된다.
서비스 노드(110) 또는 광고주 노드(140)는 미리 설정된 시점에 광고 고유 정보, 광고료 집행 정보 그리고 광고 실적 정보가 포함된 블록 내의 데이터 레코드에 기초하여 광고료를 산정할 수 있다. 그리고 서비스 노드(110) 또는 광고주 노드(140)는 산정된 광고료에 대응하는 코인을 광고주 노드(140)에서 서비스 노드(110)로 송금하는 거래 내역을 생성할 수 있다. 예를 들어, 광고료를 지불해야 하는 노드가 제1 광고주 노드(140(1))라고 가정하면, 산정된 광고료에 대응하는 코인이 제1 광고주 노드(140(1))에서 서비스 노드(110)로 송금된다는 거래 내역이 생성될 수 있다.
거래 내역을 생성한 주체가 서비스 노드(110)인 경우 생성된 거래 내역은 제1 광고주 노드(140(1))로 전송된다. 이와 달리, 거래 내역을 생성한 주체가 제1 광고주 노드(140(1))인 경우 해당 거래 내역은 서비스 노드(110)로 전송된다. 이하 설명의 편의를 위하여 서비스 노드(110)가 거래 내역을 생성한 것으로 가정하고 설명한다.
제1 광고주 노드(140(1))는 수신한 거래 내역의 유효성을 검증할 수 있다. 제1 광고주 노드(140(1))는 거래 내역에 대한 유효성 검증을 위해 광고 고유 정보, 광고료 집행 정보 그리고 광고 실적 정보가 포함된 블록 내의 데이터 레코드에 기초하여 광고료를 산정하고 산정된 광고료가 거래 내역 상의 송금액에 매칭되는지를 판단할 수 있다. 또한, 제1 광고주 노드(140(1))는 해당 거래에 대한 디지털 서명을 제1 광고주 노드(140(1)1)의 제1 광고주에게 요청할 수 있다. 제1 광고주가 디지털 서명을 완료하면, 제1 광고주 노드(140(1))에서 서비스 노드(110)로의 코인 송금이 허가되었음이 네트워크에 알려진다. 거래는 P2P 프로토콜을 통해 이루어지므로 해당 거래는 신속하게 네트워크로 전송되고 수초 이내에 네트워크에 연결되어 있는 노드 대부분은 거래 내역을 받게 된다. 그리고 제1 광고주 노드(140(1))에서 서비스 노드(110)로의 코인 송금 거래는 미승인(Unconfirmed) 상태를 유지한다. 즉, 해당 거래가 네트워크에 전송은 되었지만 블록체인이라는 거래 장부에는 아직 포함되지 않았기 때문이다. 코인 송금 거래가 발생한 후 블록체인에 연결된 새로운 블록이 생성되면 생성된 블록 내의 거래내역은 네트워크상에서 확인(Confirmed)의 형태로 승인된다.
블록 생성 권한은 서비스 노드(110)가 가질 수 있다. 즉, 스마트컨트렉트는 미리 설정된 시점에 서비스 노드(110)가 임시 목록에 저장된 거래 내역을 포함한 블록을 생성하도록 구성될 수 있다. 일부 실시예에서, 스마트컨트렉트는 복수의 노드들 중 랜덤하게 결정된 어느 하나의 노드로 하여금 거래 내역을 포함한 블록을 생성하도록 구성될 수도 있다. 일부 실시예에서, 스마트컨트렉트는 복수의 노드들 중 미리 설정된 규칙에 따라 결정된 어느 하나의 노드로 하여금 거래 내역을 포함한 블록을 생성하도록 구성될 수도 있다.
광고료 산정에 필요한 광고 실적 정보는 투명하고 높은 보안성을 가진다. 따라서, 광고료 산정의 정확성과 합리성이 담보된다. 또한, 광고료 지급이 아주 빠르고 정확하게 이루어질 수 있다. 또한, 광고 매출의 허위를 통한 가상의 매출 발생 문제를 원칙적으로 봉쇄할 수 있는 이점이 있다.
또한, 광고료는 코인 형태로 지불된다. 그리고 환율 어플리케이션을 통해 광고 서비스가 이루어지는 모든 국가의 다양한 통화는 하나의 코인이라는 지불 수단으로 통일된다. 따라서, 환율의 복잡성에 따른 복잡한 광고비 지불 문제를 해소할 수 있다.
<크라우드펀딩 서비스의 광고주의 참여>
도 10 및 도 11은 블록체인 기반의 광고 서비스 시스템의 동작 방법에 관한 다른 예시적인 흐름도이다.
도 4, 도 10 및 도 11을 참조하면, 광고주 노드(140)는 크라우드펀딩 서비스에 참여할 수 있다. 광고주 노드(140)는 크라우드펀딩을 통해 제작된 게임이 서비스될 때, 해당 게임 서비스 상에서 광고를 노출할 수 있다. 그리고, 광고 노출에 따른 광고료에 대응하는 코인을 해당 게임을 제작한 개발자 노드(130)로 전송하겠다는 계약의 성립과 계약의 실제 이행을 통해 크라우드펀딩 서비스에 참여할 수 있다.
광고주 노드(140)는 서비스 노드(110)가 제공하는 웹 페이지 상에 광고 정보를 입력할 수 있다.
서비스 노드(110)는 입력된 광고 정보와 자신의 블록체인에 대한 로컬 복사본 상의 블록 내의 기록 정보에 기초하여 투자 추천 게임 정보를 광고주 노드(140)로 전송할 수 있다. 상세하게는, 서비스 노드(110)의 메모리 상에는 복수의 게임들 각각과 관련된 블록체인의 로컬 복사본이 저장될 수 있다. 여기서의 복수의 게임들은 크라우드펀딩에 따라 제작 중인 게임들이다. 서비스 노드(110)는 복수의 게임들 각각과 관련된 블록체인의 로컬 복사본에 기초하여 게임들 각각의 게임 유형, 게임 서비스의 예상 타겟층 정보 등의 게임 제작 계획 정보, 현재 투자금 액수 정보, 게임 서비스에 따른 수익금 분배 거래 내역 정보를 확인할 수 있다. 그리고, 복수의 게임 중 광고를 노출하기 적합한 게임에 대한 정보를 추출하여 투자 추천 게임 정보를 생성할 수 있다. 광고주는 투자 추천 게임 정보에 기초하여 자신의 광고를 노출하기 적합한 게임을 선정하는데 도움을 얻을 수 있다. 또한, 광고주가 광고 노출에 따른 수익률이 높을 것으로 기대되는 게임을 선정하는데 있어서 투자 추천 게임 정보는 매우 객관적이고 정확한 데이터로써 기능할 수 있다.
보다 상세하게는, 광고주 노드(140)가 네트워크에 참여하여 블록 체인 구동 머신을 다운로드 하여 자신의 컴퓨팅 장치에 설치할 수 있다. 블록체인 구동 머신이 실행되면 블록체인의 동기화가 이루어진다. 여기서 동기화가 이루어지는 블록체인은 광고주가 광고를 노출하기로 결정한 게임에 관련된 블록체인이다.
게임 제작이 완료되면, 예시적으로 서비스 노드(110)는 서비스되는 게임에 광고를 삽입하여 광고를 노출할 수 있다. 즉, 게임의 플레이 과정 중에 광고가 노출되도록 할 수 있다. 일부 실시예에서, 게임의 초기 화면 상에 광고를 노출할 수도 있다. 다만, 이에 한정하는 것은 아니고 게임 서비스 과정 중에서 다양한 방식으로 광고를 노출할 수 있다. 그리고 서비스 노드(110)는 서비스되는 광고에 대한 실적을 모니터링할 수 있다. 즉, 서비스 노드(110)는 광고에 대한 광고 클릭률(CTR), 전환수, 전환매출, 시간대별 통계 등을 모니터링하여 광고 실적 정보를 수집할 수 있다.
서비스 노드(110)의 블록체인 구동 머신은 기 설정된 기간 동안 수집된 광고 실적 정보에 관련된 데이터 레코드를 포함하는 새로운 블록을 생성할 수 있다. 상세하게는, 서비스 노드(110)는 어느 하나의 블록 생성 후 다음 새로운 블록의 생성 시점까지 수집된 광고 실적 정보를 새로운 블록에 기록할 수 있다.
일부 실시예에서, 서비스 노드(110)가 수집한 광고 실적 정보는 다른 노드인 개발자 노드(130), 투자자 노드(120), 다른 광고주 노드(140)에 전파되어 복수의 노드들에 공유될 수 있다. 네트워크 상의 노드들 중 광고 실적 정보를 수신한 노드들은 임시 목록 상에 수신한 광고 실적 정보를 보관할 수 있다. 그리고 블록 생성 권한을 가진 노드는 임시 목록 상에 보관된 광고 실적 정보를 포함하는 새로운 블록을 생성할 수 있다. 새로운 블록은 다른 노드들에 전파되어 복수의 노드들이 새로운 블록을 공유할 수 있다.
블록 생성 권한은 서비스 노드(110)가 가질 수 있다. 즉, 스마트컨트렉트는 미리 설정된 시점에 서비스 노드(110)가 임시 목록에 저장된 광고 실적 정보를 포함한 블록을 생성하도록 구성될 수 있다. 일부 실시예에서, 스마트컨트렉트는 복수의 노드들 중 랜덤하게 결정된 어느 하나의 노드로 하여금 광고 실적 정보를 포함한 블록을 생성하도록 구성될 수도 있다. 일부 실시예에서, 스마트컨트렉트는 복수의 노드들 중 미리 설정된 규칙에 따라 결정된 어느 하나의 노드로 하여금 광고 실적 정보를 포함한 블록을 생성하도록 구성될 수도 있다.
개발자 노드(130), 투자자 노드(120), 서비스 노드(110) 또는 광고주 노드(140)는 미리 설정된 시점에 광고 고유 정보, 광고료 집행 정보 그리고 광고 실적 정보가 포함된 블록 내의 데이터 레코드에 기초하여 광고료를 산정할 수 있다. 그리고 서비스 노드(110) 또는 광고주 노드(140)는 산정된 광고료에 대응하는 코인을 광고주 노드(140)에서 서비스 노드(110)로 송금하는 제1 거래 내역과 광고주 노드(140)에서 개발자 노드(130)로 전송하는 제2 거래 내역을 생성할 수 있다. 예를 들어, 광고료를 지불해야 하는 노드가 제1 광고주 노드(140(1))라고 가정하면, 산정된 광고료에 대응하는 코인이 제1 광고주 노드(140(1))에서 서비스 노드(110)로 송금된다는 제1 거래 내역이 생성될 수 있다. 또한, 크라우드펀딩에 따른 투자 개념으로써 광고료가 사용될 수 있다. 즉, 제1 광고주 노드(140(1))에서 개발자 노드(110)로 광고료 중 일부 금액에 대응하는 코인이 송금된다는 제2 거래 내역으로써 광고료가 사용될 수 있다.
제1 및 제2 거래 내역은 복수의 노드들 중 어느 하나의 노드가 생성할 수 있으므로, 특정 노드에 한정하지는 않는다. 다만, 설명의 편의를 위하여 제1 광고주 노드(140(1))가 제1 및 제2 거래 내역을 생성하는 것으로 가정한다. 이 경우, 생성된 제1 및 제2 거래 내역은 서비스 노드(110) 또는 개발자 노드(130) 중 어느 하나의 노드로 전송된다. 제1 및 제2 거래 내역을 수신한 노드는 거래 내역의 유효성을 검증할 수 있다.
거래 내역에 대한 유효성 검증을 위해 광고 고유 정보, 광고료 집행 정보 그리고 광고 실적 정보가 포함된 블록 내의 데이터 레코드에 기초하여 광고료를 산정하고 산정된 광고료가 제1 및 제2 거래 내역 상의 총 송금액에 매칭되는지를 판단할 수 있다. 또한, 거래 내역을 수신한 노드는 해당 거래에 대한 디지털 서명을 수신하면, 제1 광고주 노드(140(1))에서 서비스 노드(110)로의 코인 송금 그리고 제1 광고주 노드(140(1))에서 개발자 노드(130)로의 코인 송금이 허가되었음이 네트워크에 알려진다. 거래는 P2P 프로토콜을 통해 이루어지므로 해당 거래는 신속하게 네트워크로 전송되고 수초 이내에 네트워크에 연결되어 있는 노드 대부분은 거래 내역을 받게 된다. 그리고 제1 및 제2 거래 내역은 미승인(Unconfirmed) 상태를 유지한다. 즉, 해당 거래가 네트워크에 전송은 되었지만 블록체인이라는 거래 장부에는 아직 포함되지 않았기 때문이다. 코인 송금 거래가 발생한 후 블록체인에 연결된 새로운 블록이 생성되면 생성된 블록 내의 거래내역은 네트워크상에서 확인(Confirmed)의 형태로 승인된다.
블록 생성 권한은 서비스 노드(110)가 가질 수 있다. 즉, 스마트컨트렉트는 미리 설정된 시점에 서비스 노드(110)가 임시 목록에 저장된 거래 내역을 포함한 블록을 생성하도록 구성될 수 있다. 일부 실시예에서, 스마트컨트렉트는 복수의 노드들 중 랜덤하게 결정된 어느 하나의 노드로 하여금 거래 내역을 포함한 블록을 생성하도록 구성될 수도 있다. 일부 실시예에서, 스마트컨트렉트는 복수의 노드들 중 미리 설정된 규칙에 따라 결정된 어느 하나의 노드로 하여금 거래 내역을 포함한 블록을 생성하도록 구성될 수도 있다.
일부 실시예에서, 블록 생성 권한은 복수의 노드들 간의 경쟁을 통해 결정될 수도 있다. 상세하게는, 매 라운드 별로 네트워크에 참여한 노드들 중 복수의 노드들이 프로듀서 노드로 승격하여 블록을 생성할 수도 있다.
상세하게는, 미리 설정된 시점부터 라운드가 개시될 수 있다. 라운드는 복수개의 라운드로 구분될 수 있다. 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 (9)

  1. 복수의 노드들의 분산 네트워크로 구성된 블록체인 기반 광고 서비스 시스템을 동작시키는 방법으로써,
    상기 복수의 노드들은 서비스 노드와 복수의 광고주 노드들을 포함하며, 상기 서비스 노드가 블록체인 구동 머신을 제공하는 단계;
    상기 광고주 노드들 각각은 상기 서비스 노드에서 제공하는 블록체인 구동 머신을 설치하는 단계;
    상기 서비스 노드는 광고주가 입력한 광고 정보에 기초하여 상기 복수의 노드들이 블록 체인으로 구동되도록 하는 스마트컨트렉트를 설정하는 단계; 및
    상기 설정된 스마트컨트렉트에 따라 광고 서비스가 상기 분산 네트워크에서 블록체인 시스템 형태로 수행되도록 하는 단계;를 포함하고,
    상기 서비스 노드는 광고 정보와 광고주 정보를 포함하는 광고 고유 정보 및 광고료 집행 정보에 관련된 제1 데이터 레코드를 포함하는 제1 블록을 생성한 후, 이를 상기 복수의 노드들에 공유하는 단계와,
    상기 서비스 노드는 수집된 광고 실적 정보에 관련된 제2 데이터 레코드를 포함하는 제2 블록을 생성한 후, 이를 상기 복수의 노드들에 공유하는 단계와,
    상기 서비스 노드는 상기 제1 및 제2 데이터 레코드에 기초하여 광고료를 산정하고, 산정된 광고료에 대한 상기 광고주 노드들과의 거래 내역을 생성하여 상기 복수의 노드들에 공유하는 단계와,
    상기 서비스 노드는 적어도 하나의 상기 거래 내역에 대한 코인 송금 거래가 발생한 내용을 포함한 제3 블록을 생성하여 상기 복수의 노드들에 공유하는 단계와,
    상기 복수의 노드들 중 적어도 하나의 노드에 저장된 블록체인이 상기 제1 내지 제3 블록을 포함하도록 상기 분산 네트워크로부터의 통신에 기초하여 상기 저장된 블록체인이 업데이트되는 것을 포함하는
    블록체인 기반의 광고 서비스 시스템의 동작 방법.
  2. 제1 항에 있어서,
    상기 서비스 노드는 상기 광고주 노드들에서 요청한 광고의 실적을 집계하는
    블록체인 기반의 광고 서비스 시스템의 동작 방법.
  3. 제1 항에 있어서,
    상기 수집된 광고 실적 정보에 관련된 제2 데이터 레코드를 포함하는 제2 블록을 생성하여 상기 복수의 노드들에 공유되는 것은,
    상기 수집된 광고 실적 정보를 상기 복수의 노드에 공유하고,
    상기 복수의 노드 중 어느 하나의 노드는 상기 수집된 광고 실적 정보에 관련된 제2 데이터 레코드를 포함하는 제2 블록을 생성하여 상기 복수의 노들에 공유하며,
    상기 제2 블록을 수신한 노드들은 저장된 상기 수집된 광고 실적 정보와 상기 제2 블록의 제2 데이터 레코드의 비교를 통해 상기 제2 블록의 유효성을 검증하는 것인
    블록체인 기반의 광고 서비스 시스템의 동작 방법.
  4. 제1 항에 있어서,
    상기 산정된 광고료에 대한 상기 광고주 노드들과의 거래 내역을 생성하여 상기 복수의 노드들에 공유하는 것은,
    상기 광고료에 대응하는 코인의 송금에 관한 거래 내역을 생성하고,
    상기 서비스 노드는 산정된 광고료와 관련하여 상기 광고주 노드가 코인의 송금에 관한 거래 내역을 생성하고, 이를 광고주 노드들에 전송하며,
    상기 거래 내역을 수신한 광고주 노드는 상기 거래 내역의 유효성을 검증하며,
    유효성이 검증된 거래 내역을 임시 목록에 보관하는 것인
    블록체인 기반의 광고 서비스 시스템의 동작 방법.
  5. 제4 항에 있어서,
    상기 거래 내역의 유효성을 검증하는 것은,
    상기 제1 및 제2 데이터 레코드에 기초하여 상기 코인의 송금에 관한 거래 내역을 검증하는 단계를 포함하는
    블록체인 기반의 광고 서비스 시스템의 동작 방법.
  6. 제5 항에 있어서,
    상기 거래 내역의 유효성을 검증하는 것은,
    상기 거래 내역에 대한 광고주의 디지털 서명을 수신하여 상기 거래 내역의 유효성을 검증하는 단계를 더 포함하는
    블록체인 기반의 광고 서비스 시스템의 동작 방법.
  7. 제1항에 있어서,
    상기 복수의 노드들은 게임 제작 계획 정보를 제공하는 개발자 노드와, 상기 개발자 노드를 통해 제공된 게임 제작 계획 정보에 대해 투자를 희망하는 투자자 노드를 더 포함하는
    블록체인 기반의 광고 서비스 시스템의 동작 방법.
  8. 제7항에 있어서,
    상기 서비스 노드는 상기 개발자 노드로부터 제공받은 게임 제작 계획 정보들로부터 광고를 노출하기 적합한 게임들을 추출하여 투자 추천 게임 정보를 생성하고, 이를 상기 광고주 노드에 제공하는 단계를 포함하는
    블록체인 기반의 광고 서비스 시스템의 동작 방법.
  9. 제8항에 있어서,
    상기 광고주 노드는 상기 투자 추천 게임 정보에서 선택한 게임이 제작이 완료되어 게임 서비스가 제공될 때, 상기 분산 네트워크에서 블록체인 시스템 형태로 상기 설정된 스마트컨트렉트에 따라 광고가 게임에 노출되도록 하는
    블록체인 기반의 광고 서비스 시스템의 동작 방법.
KR1020180110859A 2018-09-17 2018-09-17 블록체인 기반의 광고 서비스 시스템의 동작 방법 및 서비스 환경을 구현하기 위한 시스템 KR102192695B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020180110859A KR102192695B1 (ko) 2018-09-17 2018-09-17 블록체인 기반의 광고 서비스 시스템의 동작 방법 및 서비스 환경을 구현하기 위한 시스템

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020180110859A KR102192695B1 (ko) 2018-09-17 2018-09-17 블록체인 기반의 광고 서비스 시스템의 동작 방법 및 서비스 환경을 구현하기 위한 시스템

Publications (2)

Publication Number Publication Date
KR20200031857A KR20200031857A (ko) 2020-03-25
KR102192695B1 true KR102192695B1 (ko) 2020-12-17

Family

ID=70001689

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020180110859A KR102192695B1 (ko) 2018-09-17 2018-09-17 블록체인 기반의 광고 서비스 시스템의 동작 방법 및 서비스 환경을 구현하기 위한 시스템

Country Status (1)

Country Link
KR (1) KR102192695B1 (ko)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20210121571A (ko) * 2020-03-30 2021-10-08 주식회사 붐업컴퍼니 블록체인을 이용하여 광고주와 콘텐츠 생성자인 사용자의 직접 광고 계약을 지원하는 방법 및 광고 계약 지원 시스템
KR102498478B1 (ko) * 2020-07-03 2023-02-09 순천대학교 산학협력단 블록체인을 이용한 웹툰 내 간접광고 방법
CN114900305B (zh) * 2022-02-23 2024-03-19 杭州脸脸会网络技术有限公司 基于区块链的数据处理方法、装置、电子装置和存储介质

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108322528A (zh) * 2018-01-26 2018-07-24 东莞理工学院 基于区块链的广告点击记录方法及系统

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100532621B1 (ko) 2003-04-14 2005-12-01 이수창 온라인 광고효과 분석 시스템 및 방법
KR20180069356A (ko) * 2016-12-15 2018-06-25 주식회사 케이티 사용자 단말, 블록 체인 서버 및 컨텐츠 제공 서버

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108322528A (zh) * 2018-01-26 2018-07-24 东莞理工学院 基于区块链的广告点击记录方法及系统

Also Published As

Publication number Publication date
KR20200031857A (ko) 2020-03-25

Similar Documents

Publication Publication Date Title
US11182787B2 (en) System and method for scaling blockchain networks with secure off-chain payment hubs
KR102201468B1 (ko) 블록체인 기반의 게임 제작을 위한 크라우드펀딩 시스템의 동작 방법 및 서비스 환경을 구현하기 위한 시스템
US11468046B2 (en) Blockchain methods, nodes, systems and products
JP7108611B2 (ja) 電子手形管理方法及び装置並びに記憶媒体
TWI757919B (zh) 基於區塊鏈的個人數據處理方法及電腦裝置
US10901983B2 (en) System and method for universal blockchain interoperability
Poon et al. Plasma: Scalable autonomous smart contracts
TWI822037B (zh) 塊鏈實施之方法及系統
CN109691008B (zh) 网络拓扑
US11593321B2 (en) Systems and methods of self-administered protocols on a blockchain platform
JP2020522919A (ja) ブロックチェーン・ネットワークにおいてトランザクションを管理するためのコンピュータ実装システム及び方法
US20190164150A1 (en) Using Blockchain Ledger for Selectively Allocating Transactions to User Accounts
CN112534774A (zh) 分散的防止欺诈的安全措施
WO2017139112A1 (en) Methods and systems for using digital signatures to create trusted digital asset transfers
CN106897902A (zh) 基于区块链技术的服务交易方法、系统和交易服务器
JP7319961B2 (ja) 一対の結合ブロックチェーンを構成するバイナリブロックチェーンに関連するコンピュータ実装システム及び方法
KR102192695B1 (ko) 블록체인 기반의 광고 서비스 시스템의 동작 방법 및 서비스 환경을 구현하기 위한 시스템
Yadav et al. Blockchain-based digitization of land record through trust value-based consensus algorithm
CN111325581B (zh) 数据处理方法及装置、电子设备和计算机可读存储介质
CN111095863A (zh) 在区块链网络上通信、存储和处理数据的基于区块链的系统和方法
Boyen et al. Blockchain-free cryptocurrencies: A framework for truly decentralised fast transactions
KR102309026B1 (ko) 블록체인 기반의 머신러닝 학습 모델 무 신뢰 기반 거래 시스템 및 거래 방법
Masseport et al. Proof of usage: User-centric consensus for data provision and exchange
KR102130900B1 (ko) 블록체인 시스템에서의 고속 합의 방법
CN112308563A (zh) 获客数据处理方法与节点

Legal Events

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