KR20200078002A - 블록체인에 기반하여 가중치를 갖는 후보들 중에서 우승자를 선택하는 방법 및 시스템 - Google Patents

블록체인에 기반하여 가중치를 갖는 후보들 중에서 우승자를 선택하는 방법 및 시스템 Download PDF

Info

Publication number
KR20200078002A
KR20200078002A KR1020180167488A KR20180167488A KR20200078002A KR 20200078002 A KR20200078002 A KR 20200078002A KR 1020180167488 A KR1020180167488 A KR 1020180167488A KR 20180167488 A KR20180167488 A KR 20180167488A KR 20200078002 A KR20200078002 A KR 20200078002A
Authority
KR
South Korea
Prior art keywords
blockchain
candidates
advertisement
server
smart contract
Prior art date
Application number
KR1020180167488A
Other languages
English (en)
Inventor
변기만
Original Assignee
주식회사 밀리언써클
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 주식회사 밀리언써클 filed Critical 주식회사 밀리언써클
Priority to KR1020180167488A priority Critical patent/KR20200078002A/ko
Priority to PCT/KR2019/018223 priority patent/WO2020130717A1/ko
Priority to US17/417,034 priority patent/US20220076518A1/en
Publication of KR20200078002A publication Critical patent/KR20200078002A/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/0207Discounts or incentives, e.g. coupons or rebates
    • G06Q30/0212Chance discounts or incentives
    • 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/0251Targeted advertisements
    • G06Q30/0267Wireless devices
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/27Replication, distribution or synchronisation of data between databases or within a distributed database system; Distributed database system architectures therefor
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/60Protecting data
    • G06F21/64Protecting data integrity, e.g. using checksums, certificates or signatures
    • 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
    • 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/0201Market modelling; Market analysis; Collecting market data
    • G06Q30/0203Market surveys; Market polls
    • 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/0207Discounts or incentives, e.g. coupons or rebates
    • G06Q30/0225Avoiding frauds
    • 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/00Information and communication technology [ICT] specially adapted for implementation of business processes of specific business sectors, e.g. utilities or tourism
    • G06Q50/34Betting or bookmaking, e.g. Internet betting
    • 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
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/06Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols the encryption apparatus using shift registers or memories for block-wise or stream coding, e.g. DES systems or RC4; Hash functions; Pseudorandom sequence generators
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/32Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
    • H04L9/3236Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials using cryptographic hash functions
    • H04L9/3239Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials using cryptographic hash functions involving non-keyed hash functions, e.g. modification detection codes [MDCs], MD5, SHA or RIPEMD
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/32Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
    • H04L9/3247Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials involving digital signatures
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/50Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols using hash chains, e.g. blockchains or hash trees
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L2209/00Additional information or applications relating to cryptographic mechanisms or cryptographic arrangements for secret or secure communication H04L9/00
    • H04L2209/46Secure multiparty computation, e.g. millionaire problem
    • H04L2209/463Electronic voting

Landscapes

  • Engineering & Computer Science (AREA)
  • Business, Economics & Management (AREA)
  • Strategic Management (AREA)
  • Finance (AREA)
  • Development Economics (AREA)
  • Accounting & Taxation (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Entrepreneurship & Innovation (AREA)
  • General Business, Economics & Management (AREA)
  • Marketing (AREA)
  • Economics (AREA)
  • Game Theory and Decision Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Data Mining & Analysis (AREA)
  • Health & Medical Sciences (AREA)
  • General Health & Medical Sciences (AREA)
  • Databases & Information Systems (AREA)
  • Human Resources & Organizations (AREA)
  • General Engineering & Computer Science (AREA)
  • Primary Health Care (AREA)
  • Tourism & Hospitality (AREA)
  • Computing Systems (AREA)
  • Software Systems (AREA)
  • Computer Hardware Design (AREA)
  • Bioethics (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)

Abstract

블록체인에 기반하여 가중치를 갖는 후보들 중에서 우승자를 선택하는 시스템은, 각각 자신의 특유한 가중치를 갖는 복수의 후보들, 및 표를 포함하는 비밀투표 스마트 계약을 포함하는 서버; 및 전자 신분증을 포함하며 상기 서버와 소통할 수 있도록 구성된 디지털 지갑을 포함한다. 비밀투표 스마트 계약은 블록체인 네트워크에서 전개되고 실행되기 적합하게 코딩되며, 디지털 지갑을 소지한 투표자는 상기 디지털 지갑을 이용하여 상기 서버의 비밀투표 스마트 계약에 접근하여 복수의 후보들을 열람하고, 상기 표에 투표할 수 있다.후보들 각각에 대해 부여되는 가중치는 서버에 의해 제공되는 일정 유형의 임무의 달성 정도, 참여도, 기여도에 근거하여 결정된다. 바람직하게는, 본 발명에 따른 임무는 광고와 관련된 일련의 행위들로 이루어지며, 임무는 광고 및 광고와 관련된 설문지 형식으로 제시된다. 사용자는 제시된 광고를 시청한 후 설문지에 기록된 일련의 질문들에 응답함으로써 임무가 달성된다. 일련의 질문들은 광고와 직접적으로 관련된 퀴즈, 조사, 리서치 등으로 구성된다.

Description

블록체인에 기반하여 가중치를 갖는 후보들 중에서 우승자를 선택하는 방법 및 시스템{METHOD AND SYSTEM FOR SELECTING A WINNER AMONG WEIGHTED CANDIDATES BASED ON A BLOCKCHAIN}
본 발명은 블록체인에 기반하여 가중치를 갖는 후보들 중에서 우승자를 선택하는 방법 및 시스템에 관한 것으로, 상세히는 가중치를 갖는 후보들에 대해서 블록체인 기술에 의해 구동되는 플랫폼에서 사용자들의 투표에 의해 적어도 한 명 이상의 우승자를 선택하는 방법 및 시스템에 관한 것이다. 더욱 상세히는 컴퓨터나 모바일 장치들을 통해 사용자가 광고 등을 시청한 후 주어지는 설문지에 대해 응답을 하고, 모집된 응답들 가운데 블록체인에 기반한 투표에 의해 가중치를 갖는 후보들 중에서 적어도 한 명 이상의 후보를 선택하는 방법 및 시스템에 관한 것이다.
오랜 세월 동안 추첨은, 수상자를 선정하거나, 한 무리 사람들 가운데서 임무를 수행할 자를 선택하거나, 큰 집단의 후보들 가운데 정치적 공직자를 선택하기 위한 무작위선택 방법으로서 실행되어 왔다. 추첨을 위한 도구로 짚, 종잇조각, 나무 등 여러 가지 물건들이 사용되고 있다. 최근에는 컴퓨터 프로그램의 발달로 여러 유형의 추첨 프로그램들도 시용되고 있는 것으로 파악된다.
추첨과 관련하여 고질적으로 문제 제기되는 것은 불공정성이다. 어떠한 형태의 추첨 방법이든 그곳에는 추첨과 관련된 사람들의 영향력이 작용할 가능성이 존재하기 때문이다.
본 발명은 이와 같은 종래기술에서의 문제점을 해결하기 위한 것으로, 본 발명에 따르면, 블록체인에 기반하여 서로 다른 가중치를 갖는 후보들 중에서 우승자를 선택하는 방법 및 시스템이 제공된다. 후보들 각각에 대해 부여되는 가중치는 캠페인에 참여하는 참여자(사용자, 소비자)의 참여도, 기여도에 근거하여 결정된다.
본 발명에 따르면, 블록체인에 기반하여 가중치를 갖는 후보들 중에서 우승자를 선택하는 시스템은, 각각 자신의 특유한 가중치를 갖는 복수의 후보들, 및 표를 포함하는 비밀투표 스마트 계약을 포함하는 서버; 및 전자 신분증을 포함하며 상기 서버와 소통할 수 있도록 구성된 디지털 지갑을 포함한다. 비밀투표 스마트 계약은 블록체인 네트워크에서 전개되고 실행되기 적합하게 코딩되며, 디지털 지갑을 소지한 투표자는 상기 디지털 지갑을 이용하여 상기 서버의 비밀투표 스마트 계약에 접근하여 복수의 후보들을 열람하고, 상기 표에 투표할 수 있다.
본 발명의 한 특징에 따르면, 복수의 후보들 가운데서 추첨에 의해 무작위로 적어도 하나 이상의 우승자를 선택하게 되는 후보들 각각에 대해 부여되는 가중치는 서버에 의해 제공되는 일정 유형의 임무의 달성 정도, 참여도, 기여도에 근거하여 결정된다. 바람직하게는, 본 발명에 따른 임무는 광고 등과 관련된 일련의 행위들로 이루어지며, 일 구현에서 임무는 광고 및 광고와 관련된 설문지(questionnaire) 형식으로 제시된다. 사용자는 제시된 광고를 시청한 후 설문지에 기록된 일련의 질문들에 응답함으로써 임무가 달성된다. 광고 및/또는 홍보 캠페인은 기간 경과나 광고주가 원하는 목표 정답자 시청자수(target audiences)에의 도달과 같은 캠페인 종료 사유가 충족되면 광고 게재를 중지하게 된다. 일련의 질문들은 광고와 직접적으로 관련된 퀴즈, 조사(survey), 리서치(research) 외에도 시사 정치 기타 상식에 관한 리서치와 퀴즈 등으로 구성된다.
본 발명의 다른 특징에 따르면, 임무는 하나 이상 복수일 수 있으며, 복수의 임무들은 서로 같은 유형이나 범주일 수 있으며, 또는 서로 다른 유형이나 범주일 수 있다. 예를 들면, 어떤 임무들은 퀴즈들일 수 있으며, 다른 임무들은 리서치일 수 있다. 또는 어떤 임무들은 설문지의 형식으로 제시될 수 있으며, 다른 임무들은 친구 소개 등 회원 가입과 같은 실행형일 수 있다. 임무가 복수일 경우, 가중치 결정은 같은 유형 내에서 이루어질 수도 있으며, 아니면 서로 다른 유형들을 혼합하여 결정될 수도 있다.
본 발명의 한 특징에 따르면, 복수의 후보들 가운데서 추첨에 의해 무작위로 적어도 하나 이상의 우승자를 선택하는 것은 블록체인에 기반한 투표에 의해 정해진다. 본 발명에 따른 구현들 예에서, Ethereum 블록체인의 스마트 계약(smart contract)을 이용하여 투표가 실행된다.
Ethereum 블록체인의 스마트 계약을 이용한 전자 투표를 블록체인에서 전개할 경우 여러가지 이점들을 얻을 수 있는데, 먼저 투명성이다. 스마트 계약은 아주 자세한 조건들로 채워지는데, 이 조건들은 계약에 관여하는 당사자들에 의해 점검된다. 이로 인해 조건들은 철저히 점검되고 모든 참여자들이 동의할 때 제자리를 찾기 때문에 나중에 분쟁이 발생할 가능성이 제거된다.
스마트 계약은 명시적으로 상세한 형식으로 코딩되므로 정확성을 제공한다. 스마트 계약에서 데이터는 암호기술에 의해 암호화되기 때문에 안전하며, 또한 투명성과 안정성으로 인해 신뢰성이 있다.
도1은 본 발명의 실시 예들에 따라, 어떻게 광고주에 의해 제작된 광고가 광고 발행자를 통해 사용자들에게 전달되는지를 보여주는 예시적 네트워크 환경을 도해하고 있는 시스템 블록도이다.
도2는 본 발명의 실시 예들에 따라, 도1의 시스템 환경에서 광고가 클라이언트 디바이스에 표시되는 것을 보여주는 예시적 도면으로서, 도2a는 홈 화면이고 도2b는 링크된 콘텐츠를 표시하는 별개 화면이다.
도3은 본 발명의 일 구현에 따라, 블록체인에 기반하여 후보들에 대한 투표가 진행되는 전체 과정을 보여주는 시스템 개념도이다.
도4a는 본 발명의 일 구현에 따라, 어떻게 후보들 각각에 가중치가 부여되는 지를 보여주는 도면이고, 도4b는 각각의 후보를 3가지 등급으로 세분하는 것을 나타내는 도면이다.
도5는 블록체인에 기반하여 투표자들이 투표한 결과를 집계하여 적어도 하나의 후보를 우승자로 선택하는 방법을 보여주는 도면이다.
도6은 도5에 따라 선택된 후보의 3가지 등급 가운데 한 등급을 결정하는 방법을 보여주는 블록도이다.
도7은 본 발명의 실시 예들에 따라, 기계(컴퓨터) 판독 가능 매체로부터 명령어들을 읽을 수 있고 또한 본 발명에서 논의되는 하나 이상의 방법들을 실행할 수 있는, 컴퓨터 형태의 기계의 구성 요소들을 도해하는 블록도이다.
이하 첨부된 도면들을 참조하여 본 발명에 대해 상세히 설명한다.
도1은 본 발명의 실시 예들에 따라, 어떻게 광고주에 의해 제작된 광고가 광고 발행자를 통해 사용자들에게 전달되는지를 보여주는 예시적 네트워크 환경을 도해하고 있는 시스템 블록도이다. 네트워크 환경(100)은 클라이언트 디바이스(110), 발행자 콘텐츠 서버(130), 및 발행자 광고 서버(140)를 포함한다. 광고의 배포가 광고주에 의해 직접적으로 이루어질 때에는 네트워크 환경(100)은 광고주/대행사 광고 서버(120)를 더 포함할 수 있다.
클라이언트 디바이스 즉 사용자 디바이스(110)는 데스크 탑, 랩탑(일명 노트북), 태블릿, 스마트폰 및 다른 모바일 장치들, 및 비디오 및/또는 다른 멀티미디어 콘텐츠의 스트림을 수신하고 표현할 수 있는 장치들과 같은 컴퓨팅 디바이스들을 포함할 수 있다. 클라이언트 디바이스(110)는 처리된 이미지들, 웹 페이지들, 문서들, 비디오 콘덴츠들 등등과 같은 콘텐츠를 표시할 수 있도록 구성된(환경설정된) 디스플레이 또는 다른 사용자 인터페이스를 포함할 수 있다.
클라이언트 디바이스(110)는 인터넷과 같은 네트워크(150)를 통해 웹 사이트들에 콘텐츠를 요청하고 그들로부터 콘텐츠를 수신할 수 있다. 네트워크(150)는, 공중 네트워크(예를 들어, 인터넷), 사설 네트워크(예를 들어, 로컬 영역 네트워크(LAN), 또는 광역 네트워크(WAN)), 유선 네트워크(예를 들어, 이더넷 네트워크), 무선 네트워크(예를 들어, Wi-Fi 네트워크), 라우터들, 허브들, 스위치들, 서버 컴퓨터들, 및/또는 이들의 조합을 포함할 수 있다.
몇몇 구현들에서, 사용자는 클라이언트 디바이스(110)에 의해 네트워크(150)를 경유하여 발행자 콘텐츠 서버(130)에 찾고자 하는 웹 페이지를 요청하게 되며, 이 요청에 부응하여 발행자 콘텐츠 서버(130)는 요청된 웹 페이지를 클라이언트 디바이스(110)에 전송하게 된다. 이때 발행자 콘텐츠 서버(130)에 의해 제공되는 웹 페이지에 할당된 광고 공간(advertising or ad space)에는 다양한 유형의 광고들(예를 들면, 배너, 팝업 및 팝 언더, 비디오 광고 등)이 발행자 광고 서버(140)에 실행되어 표시된다. 광고주 사이트가 직접 광고를 배포하거나 광고 대행사에 업무를 위임한 경우에는 광고주/대행사 광고 서버(120)에 의해 발행자 콘텐츠 서버(130)가 제공하는 웹 페이지에 광고들이 게재될 것이다.
광고 서버들(120, 140)에 의해 사용자의 클라이언트 디바이스(110)에 표시되는 광고들(비디오 광고를 포함하여) 가운데 많은 수는 간략히 말해서 발행자나 대행사 광고 서버들(120, 140)의 특정한 웹 페이지들로 연결되는 링크들을 포함하고 있는 것에 불과하다. 이런 유형의 광고들에 대해서 사용자가 클라이언트 디바이스(110)의 화면에 표시된 광고를 클릭하면, 사용자의 인터넷 브라우저가 클라이언트 디바이스(110)를 발행자 광고 서버(140)나 광고주/대행사 광고 서버(120)의 특정 웹 페이지로 연결시키게 되어 클릭된 광고를 시청하게 된다. 어떻게 이러한 과정이 이루어지는지 이하에서 디스플레이 광고(display advertising), 더욱 상세히는 디스플레이 광고 가운데 대표적 광고의 하나인 배너 광고(banner ads)를 예로 삼아 설명을 진행하겠다.
디스플레이 광고는 간략히 말하자면 웹 사이트 상에서 이루어지는 광고인데, 여러 가지 형식으로 제공된다. 디스플레이 광고는 문자, 이미지, 플래쉬, 비디오, 및 오디오와 같은 다양한 항목들을 포함하고 있다. 디스플레이 광고는 회사(광고자)의 홍보 메시지가 광고 발행인이나 소셜 네트워크와 같은 제3자의 사이트에 또는 인터넷 서핑 결과 페이지에 나타나게 되는 온라인 형식의 광고이다.
배너 광고는 디스플레이 광고의 대표적인 형식 중 하나이다. 한때는 디스플레이 광고의 주종을 이루었지만 쏟아지는 광고의 홍수에 식상한 사용자들로부터 외면당하면서부터 광고 연결률이 떨어지게 되고 그러면서 그 실효성에 의문이 제기되고 있는 실정이다. 그렇지만 배너 광고는 아직은 그 파급력을 유지하면서 광고 시장의 주요한 매체로서 여전히 자리매김하고 있다. 그리고 무엇보다 본 발명의 도1과 관련된 광고 시스템을 이해하는데 적절한 예이다.
배너 광고는 간략히 말하자면 특별한 유형의 하이퍼텍스트 링크 (hypertext links) 이다. 텍스트 링크의 기본적인 역할은 사용자가 일정한 텍스트의 일부를 클릭하면 일련의 HTML 코드가 웹서버에게 명령하여 특정 웹 페이지를 가져오게 된다. 배너 광고도 텍스트 대신에 그래픽(통상 문자적 요소를 가진다)과 때로는 애니메이션을 포함하는 박스(box)로서 표시된다는 것을 제외하고는 본질적으로는 텍스트 링크와 같은 것이다. 물론 배너 광고에는 이밖에도 비디오, 오디오 등의 파일들이 더 포함될 수 있다.
사용자가 클라이언트 디바이스(110)에서 구동되는 웹 브라우저를 통해 웹 서핑을 할 때, 발행자 콘텐츠 서버(130)로부터 제공되는 웹 페이지 또는 일련의 웹 페이지들에는 통상적으로 많은 수의 광고들이 발행자나 대행사의 광고 서버(140, 120)에 의해 게재된다. 이러한 발행자 콘텐츠 서버(130)에 의해 제공되는 웹 페이지들에 표시되는 광고들은, 사용자가 검색어를 입력한 결과로서 웹 브라우저 내의 검색 엔진 결과 페이지에 검색광고 형태로 결과적으로는 디스플레이 되어 나타날 수도 있으며, 또는 사용자가 웹 주소나 URL을 입력한 결과 웹 브라우저 내에서 새 탭(tab)이나 새 창(window)으로 나타날 수도 있다. 앞에서도 언급했듯이, 검색이나 웹 주소 입력에 의해 클라이언트 디바이스(110)의 화면에 표시되는 광고들은 간략히 말해 하이퍼텍스트 링크들이다. 사용자가 클라이언트 디바이스(110)에 나타난 광고들 가운데 자신의 관심을 끄는 배너 광고 하나를 클릭하게 되면, 웹 브라우저가 인터넷을 통해서 클릭된 배너 광고가 저장되어 있는 웹 서버(구현 예에서, 140 또는 120)로 연결시켜 해당 웹 페이지를 요청하게 되고, 그에 따라 사용자는 자신이 클릭한 광고를 시청할 수 있게 된다.
이러한 과정을 통해서 클라이언트 디바이스(110)의 웹 브라우저는 웹 서버들(구현 예에서, 120, 130, 140)로부터 원하는 웹 페이지를 네트워크(150)를 통해 끌어와서 클라이언트 디바이스(110)의 화면 즉 브라우저에 표시하게 된다.
또한 웹 브라우저는 웹 페이지 내에 있는 한 무리의 HTML 태그(HTML tags)를 해석하여 웹 페이지 생성자가 표시되기를 원하는 방식으로 웹 페이지를 클라이언트 디바이스(110)의 화면에 표시한다. 웹 페이지는 텍스트, 및 브라우저가 화면에 페이지를 표시할 때 어떻게 텍스트가 포맷되어야 하는 지를 기술하고 있는 HTML 태그를 가지고 있다. 태그는 웹 브라우저가 웹 페이지를 표시할 때 어떠한 모습이어야 하는 지를 지시하는 명령어들이다. 태그는 글꼴 크기나 색깔을 변경하거나 사물들을 컬럼에 배치하는 것과 같은 일들을 하도록 웹 브라우저에게 지시한다. 바꾸어 말하면, 웹 브라우저는 텍스트를 화면에 어떻게 포맷해야 하는 지를 결정하기 위해 태그들을 해석한다.
지금까지 어떻게 브라우저 즉 웹 브라우저를 통해서 사용자가 클라이언트 디바이스(110)에서 배너 광고를 포함한 다양한 유형의 광고들을 볼 수 있는 지에 대해서 설명하였다.
물론, 데스크 탑이나 랩탑과는 달리, 발행자 콘텐츠 서버(130)를 운영하는 광고 발행자나 다른 개발자들이 제공하는, 모바일 장치들에서 구동되는, 여러 가지 앱(app)을 통해서 광고가 디스플레이될 수도 있다. 예를 들면, 발행자 콘텐츠 서버(130)의 운영자는 많은 광고주들로부터 광고를 수주하여 모바일 클라이언트 디바이스(110)에 설치된 앱들을 통하여 광고를 배포할 수도 있다. 모바일 장치에서 구동되는 앱을 통한 광고 배포의 경우에는 스마트 폰이나 PDA와 같은 모바일 장치에 적합하게 설계된 웹 브라우저인 모바일 브라우저를 통해 광고가 클라이언트 디바이스(110)에 표시될 것이다.
모바일 앱들을 이용한 광고의 경우에도, 발행자 콘텐츠 서버(130)에 의해 제공되는 웹 페이지들에 표시되는 광고들에는, 앞에서 설명했듯이, 발행자 광고 서버(140)나 광고주/대행사 광고 서버(120)에 저장되어 있는 특정 광고 웹 페이지로 연결하는 하이퍼링크를 포함한 최소한의 정보만이 제공될 수 있다. 따라서, 모바일 클라이언트 디바이스(110)의 모바일 브라우저에 표시된 웹 페이지 내에 있는 광고(예를 들면, 광고 공간에 표시된 광고, 팝업 광고 등)를 클릭하게 되면 클라이언트 디바이스(110)의 모바일 브라우저가 발행자 광고 서버(140)나 광고주/대행사 광고 서버(120)의 특정 광고 웹 페이지로 재연결시킨다. 이와 같은 과정을 거쳐서 사용자는 자신이 선택한 광고를 시청하게 된다.
도1에 도시된 기계들, 장치들, 또는 데이터베이스들은 모두 범용 컴퓨터를 소프트웨어에 의해 특수 목적 컴퓨터가 되도록 구성하거나 프로그램함으로써 실현될 수 있다. 여기서 기술된 방법들 가운데 하나 이상을 실현할 수 있는 컴퓨터 시스템은 아래에서 도7과 관련하여 설명될 것이다. 또한, 도1에 도시된 기계들 가운데 임의의 둘 이상은 하나의 기계로 결합될 수 있으며, 어떤 하나의 기계로 기술된 기능들은 여러 기계들로 세분될 수 있다.
도2는 본 발명의 실시 예들에 따라, 도1의 시스템 환경에서 광고가 클라이언트 디바이스에 표시되는 것을 보여주는 예시적 도면으로서, 도2a는 홈 화면이고 도2b는 홈 화면에서의 사용자 인터페이스를 통해 링크된 콘텐츠를 표시하는 별개 화면이다. 도2의 구현 예에서, 클라이언트 디바이스(110)는 모바일 장치들 가운데 스마트 폰(200)을 예로 들었다. 사용자가 클라이언트 디바이스 즉 스마트 폰(200)의 흠 화면에 나타난 아이콘들 가운데 광고 발행자의 앱을 클릭하거나 터치하게 되면 스마트 폰(200)에는 도2a와 같은 앱의 홈 화면이 표시된다. 앱의 홈 화면은 상금 표시(210)와 퀴즈 풀고 응모하기(220)와 같은 버튼들, 및 화면 중앙에 배치되는 디스플레이될 광고(215) (예로서, 비디오(동영상) 광고)등으로 구성된다. 그리고 메뉴 버튼(205)을 터치하게 되면 앱의 동작 및 기능에 관한 설명, 진행되는 캠페인, 및 설문지에 참여했을 때 주어지는 보상 등에 관한 설명을 찾아볼 수 있게 구성된다.
사용자가 광고(215)의 재생 버튼을 누르면, 도1을 참조하여 앞에서 설명한 과정을 거쳐 광고 콘텐츠가 스마트 폰(200)의 화면에 적절하게 디스플레이 된다. 사용자가 광고 시청 후 퀴즈 풀고 응모하기 버튼을 누르면, 내비게이션에 의해 링크된 콘텐츠가 스마트 폰(200)의 다음 화면으로 표시된다.(도2b) 사용자가 설문지의 일 형식으로 제시된 퀴즈(225)를 푼 다음 정답 확인 버튼(230)을 누르면, 정답 유무가 스마트 폰(200)의 화면에 표시된다. 퀴즈에 대한 응답이 정답이면 그 응답은 클라이언트 장치(110) (여기서는 스마트 폰(200))으로부터 네트워크(150)를 거쳐 광고 발행자의 응답 관리 서버(도시 않음)로 전송되어 저장된다. 여기서 응답 관리 기능은 별도의 서버를 이용하지 않고 발행자 콘텐츠 서버(130)나 발행자 광고 서버(140)에서 처리하도록 하드웨어 구성하거나 프로그램할 수도 있을 것이다.
본 발명의 구현들에서, 임무는 예를 들면 광고 및/또는 홍보와 관련된 설문지의 형식으로 제시된다. 설문지는 광고 및/또는 홍보와 직간접적으로 관련된 퀴즈들, 제품이나 서비스와 관련된 리서치(물론 어떤 보기를 선택하든 정답으로 간주), 조사(survey) 등으로 구성되며, 또한 이들의 조합으로 구성된다. 그러므로, 광고를 시청한 사용자가 퀴즈나 리서치 등에 대하여 응답을 발행자의 응답 관리 서버로 전송하게 되면, 응답 관리 서버는 사용자들로부터의 응답들을 모아 분류, 저장한 다음 광고 등 행사 캠페인이 종료하게 되면 이들 응답들 가운데서 추첨에 의해 적어도 1명 이상의 당첨자를 선택한다. 이러한 캠페인은 일정한 주기를 가진 회차(round)로서 반복적으로 시행되고 관리된다.
도3은 본 발명의 일 구현에 따라, 블록체인에 기반하여 후보들에 대한 투표가 진행되는 전체 과정을 보여주는 시스템 개념도이다.
블록체인 : 블록체인은, 암호기법(cryptography)을 사용하여 연결되는, 블록이라 불리는, 계속 증가하는 레코드(record) 목록이다. 각 블록은 이전 블록의 암호기법적 해쉬, 타임스탬프(timestamp), 및 이전 블록의 머클 트리 해쉬(Merkle tree hash)로 표현되는 거래 데이터를 가진다.
블록체인(blockchain)은 모든 데이터 교환에 대한 기록을 보관하는데, 이 기록을 원장(ledger)이라 하며, 각 데이터 교환은 거래(transaction)이다. 모든 거래는 검증되어 블록으로서 원장에 추가된다. 블록체인은 당사자 사이의 거래들을 증명 가능하며 항구적 방법으로 기록할 수 있는 공개된 분산 원장으로 정의되고는 한다. 분산 원장으로 사용하기 위해서, 블록체인은 피어-투-피어(peer-to-peer) 네트워크에 의해 관리된다. 일단 기록되면, 어떤 블록 안에 있는 데이터는 후속하는 모든 블록들을 변경함이 없이는 소급적으로 변경될 수 없다. 블록체인은 2008년에 Satoshi Nakamoto에 의해 암호화폐 Bitcoin의 공개 거래 원장으로서 도입되었는데, 이는 신뢰 있는 당국이나 중앙 서버의 필요 없이 이중지출(double-spending)을 해결한 최초의 디지털 화폐였다.
블록체인에서 유념해야 할 기본 개념은 암호기법적 키로서 공개 키(public key)와 개인 키(private key)가 그것이다. 자신의 공개키를 통해서 다른 사람들이 자신을 확인하고 접근할 수 있게 된다. 개인 키는 공개 키와 함께 사용하여 디지털 신분을 대표하여 행위들에 전자 서명 및 인증할 수 있는 힘을 부여한다. 암호화폐 세계에서, 공개 키는 지갑 주소(wallet address)를 나타내며, 개인 키는 암호화폐와 같은 디지털 자산을 이전, 철회하거나 다른 행위들을 인증할 수 있도록 한다.
블록체인에서 모든 거래는 증명되어야 하며(예를 들면, 악의적 거래 여부, 이중 지출 등), 새로운 블록으로서 기존의 블록체인에 추가되기 위해서는 합의(consensus) 과정을 거쳐야 한다. 합의 알고리즘은 블록체인의 처리 속도와 밀접히 관련되어 있는데, Bitcoin 블록체인에서는 작업증명(Proof-of-Work) 알고리즘을, Ethereum에서는 지분증명(Proof-of-Stake) 알고리즘을 사용하려 한다. 블록체인의 유형은 현재 공개 블록체인(public blockchain), 비공개(사적) 블록체인(private blockchain), 컨소시엄 블록체인(consortium blockchain)의 3가지 유형으로 나뉜다. 공개 블록체인은 이무런 접근 제한이 없으며, 인터넷에 접속된 사용자는 누구나 거래를 생성할 수 있으며 또한 증명자(validator)가 될 수 있다. 이 유형은 대부분 암호화폐에 사용된다.(Bitcoin, Ethereum) 비공개 블록체인은 네트워크 관리자에 의해 허가 받아야만 참여할 수 있고 증명자가 될 수 있다. 이 유형은 일종의 절충안으로서 자율성을 잃지 않고 또한 민감한 데이터를 노출시키는 위험 없이 블록체인 기술의 이점을 취할 수 있도록 한다. 컨소시엄 블록체인은 허가적이지만 단일 조직이 통제하는 대신 다수의 기업들이 각자 블록체인에서 노드(node)를 운영할 수 있다. 컨소시엄 블록체인의 관리자는 사용자들의 가독권(reading rights)을 제한하여 한정된 신뢰 있는 노드들만이 합의 프로토콜을 실행하도록 허용한다.
스마트 계약(Smart Contracts) : 스마트 계약 개념은 법학자며 암호 전문가인 Nick Szabo에 의해 1994년에 소개되었다. 그는 분산 원장을 자율 실행적 계약(self-executable contracts)으로 사용할 수 있다고 결론 지었는데, 이것을 나중에 스마트 계약이라고 칭하게 되었다. 스마트 계약에 대한 생각은 오래 전에 존재했지만, 신뢰 받는 제3자의 개입을 말끔히 배제할 수는 없었다. 블록체인의 도입과 함께 제3자 개입과 관련된 문제점들(예를 들면, 보안 문제, 기만적 행위, 거래 비용 증가 등)이 깨끗이 해소되었다. 스마트 계약은 블록체인 기술을 가장 성공적으로 적용한 것 중 하나이다. Ethereum은 스마트 계약을 생성하기 위한 가장 인기 있는 블록체인 플랫폼이다. 스마트 계약은 전자 상거래, 부동산, 전자 투표(e-voting)와 같은 상이한 산업 분야에서 응용될 수 있다.
스마트 계약은 블록체인에서 구동되는 둘 이상의 당사자 사이의 한 세트의 컴퓨터 코드이며 관련 당사자들에 의해 동의되는 한 세트의 규칙으로 이루어진다. 실행에 의해, 이 한 세트의 미리 정의된 규칙들이 충족되면, 스마트 계약은 스스로 실행되어 결과를 산출한다. 이 코드가 바탕에 깔려있는 계약을 용이하게 하고 증명하고 실행함으로써 분산화된 자동 실행이 가능하게 된다. 다시 말해서, 스마트 계약은, 미리 정해진 규칙들을 가지는 블록체인에 저장된 자동적으로 실행될 수 있는 코드 행들(lines of code) 이다. 이러한 규칙들이 충족되면 코드는 스스로 실행되어 결과를 산출한다.
본 발명에서의 구현 : 본 발명에 따른 구현들에서, 블록체인에 기반하여 가중치를 갖는 후보들 중에서 하나 이상을 선택하는 방법 및 시스템은 3가지 유형의 블록체인을 모두 이용할 수 있을 것이다. 그렇지만, 가장 바람직한 것은 컨소시엄 블록체인인데, 이것은 허가적이면서도 다수의 노드들이 참여하여 상호작용(소통)함으로써 단일 조직이 통제하는 경우의 단점들을 극복할 수 있게 된다. 무엇보다 컨소시엄 블록체인의 관리자는 사용자들의 기득권, 접근성을 제한하여 신뢰 있는 제한된 노드들만이 합의 과정에 참여할 수 있게 시스템을 구축할 수 있다는 점이다.
어떤 합의 알고리즘을 사용하느냐는 것은 블록체인의 효율성 및 확장성과 밀접히 관련되어 있다. Bitcoin의 경우 작업증명을 이용하는데, 이는 거래와 블록들을 증명하기 위해 엄청난 양의 컴퓨터 자원과 전기를 소비한다. 이와는 달리, 지분증명 알고리즘은 대부분의 지분을 가진 블록체인 참여자들에게 블록을 증명할 권한을 주도록 선택하는 방식이다. 현재 Ethereum이 이 방식을 채택하려 하고 있다. 지분증명 뒤에 깔린 가정은, 지분을 더 많이 가지면 가질수록 시스템 유지에 대한 이해는 그만큼 더 크다는 것이다. 그렇지만, 지분증명의 가장 큰 취약점은 지분의 크기가 같더라도 소유자가 다르면 다르게 평가될 수 있다는 것이다. 예를 들면, 김씨다는 블록체인 기술을 일찍부터 받아들여 디지털 자산에 대한 큰 범위의 포트폴리오를 가지고 있지만, 박가네는 초보자로서 최근 생겨난 토큰만을 채굴한다고 하자. 둘 다 가상적 네트워크, Milcle의 토큰을 1,000 MC 씩 동일한 지분을 소유하고 있다고 예를 들어 보자. 따로따로 보면, 김씨다와 박가네는 Milcle의 성공에 똑같이 이해를 가지고 있다고 가정할 수 있을 것이다. 그렇지만, 각자의 다른 자산을 고려할 때, 1,000 MC는 김씨다에게는 전체 자산 중 1%만을 차지할 수 있으며, 반면 박가네에게는 50%를 차지할 수 있다. 권한증명(Power of Authority: POA) 알고리즘은 지분증명의 변형 형태로서, 여기서는 금전적 가치를 가지는 지분 대신 증명자의 신분이 지분의 역할을 한다. 권한증명의 경우, 아주 깨끗한 명성을 유지함으로써 거래를 증명할 권한을 얻게 되는 것이다.
본 발명에 따른 구현들에서, 블록체인에 기반하여 가중치를 갖는 후보들 중에서 하나 이상을 선택하는 방법 및 시스템은 Ethereum 블록체인의 스마트 계약에 기반한 전자 투표를 이용할 수 있다. 스마트 계약을 이용한 전자 투료를 블록체인에서 전개할 경우 여러 가지 이점들을 얻을 수 있게 된다. 이러한 이점들로서는 투명성(이는 추첨에 의한 우승자 선택에 있어 줄곧 시비가 제기되는 사항이다), 분쟁 발생 가능성의 배제, 안정성, 투명성과 안정성으로 인한 신뢰성 등을 열거할 수 있을 것이다.
스마트 계약은 Ethereum 환경에서 전개되고 실행된다. 스마트 계약은 이더리움 가상 기계(Ethereum Virtual Machine) 내에서 전개되고 저장되고 실행되며, 데이터를 저장할 수 있다. 저장되는 데이터는, 정보, 사실, 잔고(balance), 및 현실의 계약에 대한 논리(logic)를 실현하는데 필요한 어떤 다른 정보를 기록하기 위해 사용될 수 있다. Visual Studio를 포함하여 다수의 스마트 계약 저작 도구들(authoring tools)이 있지만, 스마트 계약을 개발하는 가장 손쉽고 빠른 방법은 Remix로 알려진 브라우저 기반 도구를 사용하는 것이다. Remix는, 브라우저 상에서 솔리더티 언어(Solidity language)를 사용하여 작성된 스마트 계약의 저작, 개발, 전개 및 분쟁해결을 위한 풍부한 통합 개발 환경을 제공한다.
이제 도3을 참조하면, Ethereum 블록체인의 스마트 계약에 기반한 투표를 위한 시스템(300)에서 3가지 유형의 행위자 역할이 있다: 관리자, 투표자, 및 검증자.
관리자 즉 서버(3K))는 투표를 개시하고, 비밀(무기명)투표를 구성하고, 투표자들을 등록하고, 선거 기간을 결정하고, 허가 노드들을 결정한다.
투표자(340) 각각은 투표 적격자임을 증명하기 위해 인증하고, 투표자 지갑을 생성하고, 스마트 계약에 접근하여 투표하고(345), 선거 결과를 관찰한다.
검증자(validator) 즉 검증자 노드들(nodes)(365)은 관리자(310)가 투표를 개시하면, 비밀투표 스마트 계약(320)이 블록체인 네트워크(360)에서 전개되고 그에 따라 검증자 노드들(365) (블록체인 네트워크(360)를 이루는 노드들 가운데 관리자에 의해 선정된 지분증명 또는 권한증명의 노드들을 칭한다)은 비밀투표 스마트 계약에 접근하는 것이 허용된다. 투표자들(340)이 비밀투표 스마트 계약(320)을 통해 투표하면, 검증자 노드들(365)은 투표 데이터를 검증하고 모든 투표에 대해 합의에 도달하면 블록체인에 새로운 블록으로서 추가할 준비가 마쳐지게 된다.
투표 과정 : 선거 과정에서 발생하는 주요 행위들을 살펴보면 다음과 같다.
선거 개시 : 관리자(서버)(310)는 분산 앱(decentralized app: dApp)을 사용하여 비밀투표를 시작한다. 이 분산 앱을 통해 비밀투표 스마트 계약(320)과 상호작용 즉 소통하게 된다. 관리자(310)는 비밀투표 스마트 계약(320)에 후보 명단(목록)(325)과 표(330)를 정의하고, 이 비밀투표 스마트 계약(320)을 블록체인 네트워크(360)에 전개한다. 투표가 개시되면, 각각의 검증자 노드들(365)은 비밀투표 스마트 계약(320)과 상호작용하도록 허용된다. 비밀투표 스마트 계약은 컴퓨터 장치에서 실행되기 적합하게 코딩되며, Ethereum 블록체인에서 전개되고 실행된다.
투표자 등록 : 투표가 개시되면, 관리자(310)는 자격 있는 투표자들의 명단을 규정해야 한다. 이는 본 발명에 따른 구현들에서, 관리자(서버)(310), 예를 들면 발행자의 회원 관리 서버(도시 않음. 도1 참조)에 등록되어 있는 회원들 가운데서 회원들 각자의 동의를 얻어 적절한 크기의 회원들을 투표자(340)로 등록할 수 있을 것이다.(345) 일단 투표자(340)의 자격이 관리자 서버(310)에 의해 증명되면, 관리자 서버(310)는 전자 신분증(비밀투표 신분증) (electronic ID) 및 관리자 서버(310)의 공개 키를 생성하여 검증된 투표자(340)에게 전송한다.(345) 자격 있는 투표자(340, 345) 각각에 대해서 상응하는 디지털 지갑이 생성되며(345), 디지털 지갑은 투표자마다 독특해야 한다.
투표 거래(vote transaction) : 개별 투표자(340)는 투표할 때 비밀투표 스마트 계약(320)과 상호작용(소통)하게 된다. 이 스마트 계약(320)은 투표자 자신이 위치한 지역의 검증자 노드(365)를 통해 블록체인 네트워크(360)와 소통하며, 검증자 노드들(365) 대부분 사이에서 합의에 도달하면 투표자가 위치한 지역의 검증자 노드(365)는 표(330)를 블록체인에 첨부한다. 자격 있는 투표자(340, 345)는 디지털 지갑을 통하여 자신이 위치한 지역의 검증자 노드(365)를 이용하여 투표할 수 있다. 투표자(340)가 자신을 인증하려면, 정당한 전자 신분증을 검증자 노드(365)에 제시해야 한다. 인증에 성공하면, 비밀투표 스마트 계약(320)이 뜨게 되고, 투표자(340)는 비밀투표 스마트 계약(320)에 기록된 후보들 가운데서 투표할 후보를 결정하게 된다.(후보 열람) 그 다음 투표자(340)가 투표하기 위해서는 다시 디지털 신분증을 입력하여 확인을 받은 다음 자신의 표(330)에 디지털 서명한다.
투표자(340)가 자신의 표(330)에 서명한 다음에는, 투표자(340)가 비밀투표 스마트 계약(320)을 통해 소통한 검증자 노드(365)에 의해 표(330) 데이터가 검증되고, 이어서 표(330) 데이터는 대다수의 검증자 노드들(365)에 의해 검증되기 위해 블록체인 네트워크(360)에 널리 전파된다. 만약 검증자 노드들(365) 가운데 대다수에 의해 표(330) 데이터에 대한 합의가 이루어지면, 특정한 표에 대한 합의에 도달하게 된다. 그러면, 사용자(투표자)(340)는 자신의 표(330)에 상응하는 거래에 대해 거래ID(transaction ID)를 받게 되며, 투표자(340)는 거래 ID를 이용하여 자신이 투표한 표(330)를 검증할 수 있게 된다. 비밀투표 스마트 계약(320)에 있는 각각의 거래는 투표한 후보(즉 표를 준 후보), 그리고 표(330)의 위치에 관한 정보를 유지하고 있으며, 일단 투표가 이루어지고 검증이 완료되면, 비밀투표 스마트 계약(320)은 투표한 후보에게 한 표를 추가하는 기능을 실행한다. 투표자(340)가 투표를 하면, 투표자의 지갑 가중치가 "1"만큼 감소하게 되어 한 번 이상 투표할 수 없게 된다.
집계(tallying) : 비밀투표 스마트 계약(320)은 집계 기능을 가지고 있어 스마트 계약에서 표를 집계할 수 있다. 투표가 끝나면 스마트 계약(320)의 최종 결과가 공개된다.
블록체인 추가 : 모든 거래(transactions)는 검증된 다음 블록에 포함되게 되고, 블록체인 네트워크(360)에 널리 전파되어 합의 과정이 진행된다. 검증자 노드들(365)에 의해 합의에 이르게 되면 새로운 블록으로서 블록체인(380)에 추가된다. (물론 절차의 간소화를 위해 오프체인 방식으로 한 후 투표 결과들을 모아서 한꺼번에 블록을 생성할 수도 있음은 물론이다.)
도4a는 본 발명의 일 구현에 따라, 어떻게 후보들 각각에 가중치가 부여되는 지를 보여주는 도면이고, 도4b는 각각의 후보를 3가지 등급으로 세분하는 것을 나타내는 도면이다. 후보 목록(400)에는 예를 들면, 사과(405), 배(410), 포도(415), 귤(420) 및 바나나(425)의 다섯 후보들이 열거되어 있고, 각각의 후보들에는 각자에게 특유한 서로 다른 가중치(예로서, 사과는 30점, 배는 12점 등)가 부여되어 있다. 후보들의 배열 순서는 가중치 크기와는 무관하게 무작위로 열거된다. 또한 투표 회차마다 후보들의 가중치는 무작위로 조합된다. 여기서 후보는 투표자들(340)의 투표에 의해 직접적으로 선택되는 사용자(정확하게는, 도1, 2를 참조하면, 클라이언트 디바이스(110, 200)의 사용자들 가운데 설문서에 응답한 사용자들 중 선택되는 자)를 의미하는 것이 아니라, 임무의 완성도와 관련된 개념이다. 다시 말해서, 도1, 2를 함께 참조하면, 본 발명의 바람직한 구현들에서, 사용자에게는 광고 시청 후 설문지 형식의 임무가 부여되는데, 이 임무는 하나의 광고에만 관련된 것일 수도 있고, 아니면 다수의 광고와 관련된 것일 수도 있다. 하나의 광고와 관련된 임무(예로서, 설문지)라 하더라도 성질상 상이한 것일 수도 있는데, 예를 들면 설문지의 항목들은 퀴즈와 리서치와 조사의 혼합에 의한 임무일 수 있다. 따라서, 사용자는 자신의 클라이언트 디바이스(110, 200)에 디스플레이 되는 둘 이상의 광고, 그리고 이 둘 이상의 광고 각각과 관련된 임무 즉 둘 이상의 설문지에 대해 임의로 대응할 수 있다. 어떤 사용자는 하나의 임무 즉 예로, 퀴즈에만 응답할 수 있고, 다른 사용자는 일부에 대해서만, 또 다른 사용자는 전체 임무(설문지 전체)에 대해 응답할 수 있다.
한편, 사용자는 설문지 형식과는 전혀 상이한 유형의 임무를 수행하여 기여할 수도 있는데, 예를 들면 지인 초대에 따른 회원 가입이나 사용자의 참여에 의한 콘텐츠 생성과 같은 행사(events)를 들 수 있을 것이다.
이와 같이 본 발명의 구현들에서 의미하는 후보는 한편으로는 임무의 달성 갯수, 즉 설문지에 제시된 퀴즈나 리서치 등에의 응답 수로 측정될 수 있는 것이다. 이것은 임무의 완성도와 관련된 것으로 취급할 수 있을 것이다. 다른 한편으로는, 회원 가입과 같은 임무는 본 발명에서 구현하고 있는 생태계에의 기여도에 따른 유형으로 분류할 수 있을 것이다. 그러므로, 본 발명의 구현 예들에서, 후보는 임무의 완성도와 생태계에의 기여도를 합한 '그룹으로 나눔(grouping)' 내지는 범주(category)에 관한 것이다.
그러므로, 도4a에서, 사과 후보(405)는 30점의 가장 큰 가중치를, 그 다음으로 포도 후보(415)는 25점의 가중치를 각각 갖는데, 이는 사과 후보(405)와 포도 후보(415) 각각의 완성도와 기여도를 합한 것이 각각 30점, 25점 이라는 의미이다. 다시 말해서, 사과 후보(405)에는 30점의 가중치의 무게를 가지는 응답자들(응답들)이 속하게 되고, 포도 후보(415)는 25점의 가중치의 무게를 가지는 응답자들(응답들)이 속하게 되는 것이다.
도4b를 참조하면, 도4a에서와 같이 후보들 중에서 어느 한 후보가 선택된 때에, 그 선택된 후보 중에서 상, 중, 하의 3등급 가운데 하나를 선택하기 위한 것이다. 이것은 앞에서 설명했듯이, 후보의 개념이 그룹으로 나눔 내지는 범주에 관한 것이기 때문이다. 즉 도4a에서 제시된 블라인드 처리로 가중치가 비공개 된 후보 목록(400)에 대해서 투표가 실시되고, 그 결과 한 후보가 선택되었을 때, 그 후보의 범주에는 다수의 응답자들(응답들)이 속하기 때문에 이들 가운데 다시 우승자를 선택할 필요가 있기 때문이다. 그러므로 도4b에서 제시된 블라인더 처리로 상 중 하가 비공개 된 등급 목록(450)에 대한 투표는 도4a의 후보 목록(400)에 대한 투표가 실시되어 그 중 적어도 하나의 후보가 결정된 후에 시간차를 두고 실시하게 된다. 또한 투표 회차마다 상 중 하는 무작위로 조합된다.
도5는 블록체인에 기반하여 투표자들이 투표한 결과를 집계하여 적어도 하나의 후보를 우승자로 선택하는 방법을 보여주는 도면이다. 투표자들(340)의 투표가 실행되어 집계 결과를 보여주는 것으로, 사과 후보(405)는 가중치가 30점으로 가장 크지만 1표만을 얻었으므로 그 합은 30 이다. 배 후보(410)는 12점의 가중치에 2표를 얻어 24점을 획득했고, 포도 후보(415)는 25점 가중치에 3표를 얻어 75점의 총점을 얻었다. 나머지 후보들과 비교하여됴 포도 후보(415)의 총점이 가장 높으므로 포도 후보(415)를 최종적인 우승자로 선택하게 된다.
도6은 도5에 따라 선택된 후보의 3가지 등급 가운데 한 등급을 결정하는 방법을 보여주는 블록도이다. 도6은 도5에 따라 선택된 포도 후보(415)에 대해서 등급 투표를 실시한 결과 상 등급(460)은 2개를 얻었고, 하 등급(470)은 3개를 얻었으므로, 최종 우승자는 포도 후보(415) 중에서 하 등급(470)이 된다.
도7은 본 발명의 실시 예들에 따라, 기계(컴퓨터) 판독 가능 매체로부터 명령어들을 읽을 수 있고 또한 본 발명에서 논의되는 하나 이상의 방법들을 실행할 수 있는, 컴퓨터 형태의 기계의 구성 요소들을 도해하는 블록도이다. 도7은 예시적 컴퓨터 시스템 형태의 기계(machine)를 도식적으로 표현한 것으로, 이 기계 내부에서 기계(800)가 여기서 논의된 방법론들 가운데 임의의 하나 또는 그 이상을 실행할 수 있게 해주는 명령어들(824) (예, 소프트웨어)이 실행될 수 있다. 대안적인 구현 예들에서, 기계(800)는 독립적 장치로 동작할 수 있으며, 또는 LAN, 인트라넷, 엑스트라넷이나 인터넷에서 다른 기계들에 연결(예를 들어, 네트워킹)될 수 있다. 기계(800)는 서버-클라이언트 네트워크 환경에서는 서버 또는 클라이언트 기계로서, 또는 피어-투-피어 (또는 분산형) 네트워크 환경에서는 피어 기계로서 동작할 수 있다. 기계(800)는 서버 컴퓨터, 클라이언트 컴퓨터, 개인용 컴퓨터(PC), 태블릿 컴퓨터, 셋톱 박스(STB), PDA(Personal Digital Assistant), 셀 방식 전화기, 웹 어플라이언스(web appliance), 네트워크 라우터, 스위치 또는 브리지, 또는 해당 기계에 의해 취해질 작용들을 명시하는 명령어들의 집합(순차적으로 또는 다른 식으로)을 실행할 수 있는 임의의 기계일 수 있다. 또한, 단일 기계만이 도시되지만, 용어 "기계"는 본 명세서에서 논의하는 방법론들 중 어느 하나 이상을 수행하기 위해 명령어들(824)을 개별적으로 또는 공동으로 실행하는 기계들의 임의의 모음을 포함하는 것으로도 간주되어야 할 것이다.
기계(800)는 프로세서(802), 주 메모리(804) (예를 들어, 판독 전용 메모리(ROM), 플래시 메모리, 동기식 DRAM(SDRAM) 또는 램버스 DRAM(RDRAM)과 같은 동적 랜덤 액세스 메모리(DRAM)), 및 정적 메모리(806) (예를 들어, 플래시 메모리, 정적 랜덤 액세스 메모리(SRAM) 등)를 포함하는데, 이들은 버스(808)를 경유해 서로 통신하도록 구성된다.
프로세서(802)는 마이크로프로세서, 중앙 처리 장치 등과 같은 하나 이상의 범용 처리 장치를 나타낸다. 더 구체적으로는, 프로세서(802)는 CISC(complex instruction set computing) 마이크로프로세서, RISC(reduced instruction set computing) 마이크로프로세서, VLIW(very long instruction word) 마이크로프로세서, 또는 그외의 명령어 집합들을 구현하는 프로세서 또는 명령어 집합들의 조합을 구현하는 프로세서들일 수 있다. 프로세서(802)는 또한 ASIC (application specific integrated circuit) 회로, FPGA(field programmable gate array), DSP(digital signal processor), 네트워크 프로세서 등과 같은 하나 이상의 특수 목적 처리 장치들일 수 있다. 프로세서(802)는 본 명세서에서 논의하는 동작 및 단계를 수행하기 위해 명령어들(824)을 실행하도록 구성된다.
기계(800)는 그래픽 디스플레이(810) (예를 들면, 플라즈마 디스플레이 패널(PDP), LED 디스플레이, LCD)를 더 포함한다. 기계(800)는 또한 문자수자 입력장치(alphanumeric input device) (812) (예로, 키보드), 커서 제어 장치(814) (예로, 마우스, 터치패드, 조이스틱, 혹은 다른 포인팅 도구), 저장 장치(816), 신호 발생 장치(818) (예로, 스피커), 및 네트워크 인터페이스 장치(820)를 포함한다.
저장 장치(816)는, 본 명세서에서 논의되는 방법론들 또는 기능들 중 어느 하나 이상을 구체화하는 명령어들(824) (예로, 소프트웨어)이 저장되어 있는 기계(컴퓨터) 판독가능 저장 매체(822)를 포함할 수 있다. 명령어들(824)은 또한 기계(800)에 의해 명령어들이 실행되는 동안 완전히(전부) 또는 적어도 부분적으로 주 메모리(804) 내에 및/또는 프로세서(802) 내에 (예로, 프로세서의 캐시 메모리 내에) 상주할 수 있으며, 따라서 주 메모리(804) 및 프로세서(802)는 기계 판독가능 매체를 또한 구성한다. 명령어들(824)은 네트워크 인터페이스 장치(820)를 경유해 네트워크(826)를 통해 추가로 송신되거나 수신될 수 있다.
기계 판독가능 저장 매체(822)가 예시적 구현에서 단일 매체인 것으로 도시되어 있지만, "기계(컴퓨터) 판독가능 저장 매체"라는 용어는 하나 이상의 명령어들의 집합을 저장하는 단일 매체 또는 다중 매체(예컨대, 중앙집중식 또는 분산형 데이터베이스, 및/또는 연관 캐시들 및 서버들)를 포함하는 것으로 간주되어야 한다. "기계 판독 가능 저장 매체"라는 용어는 또한, 기계(예로, 기계(800))에 의해 실행되는 명령어들의 집합을 저장하고, 인코딩하고 또는 전달할 수 있는 임의의 매체를 포함하는 것으로 취급되어야 하는데, 명령어들은, 기계의 하나 이상의 프로세서(예로, 프로세서(802))에 의해 실행될 때, 기계가 여기서 기술된 방법론들 중 어느 하나 이상을 실행하게끔 한다. 따라서, "컴퓨터 판독 가능 저장 매체"라는 용어는 고체 상태 메모리들(solid-state memories), 광 매체, 및 자기 매체를 포함하지만, 이들에만 한정되지는 않는 것으로 취급되어야 한다.
본 발명은 이상에서 개시된 실시예들에 한정되는 것이 아니라 서로 다른 다양한 형태로 구현될 수 있으며 (예를 들어 과정을 압축하여 투표전에 비공개 된 가중치와 상중하 블록의 해시값을 사용자들에 공개해 투표조건 원본성을 합의하고, 비공개 된 투표 결과를 집계한 블록을 사용자들에게 공개하여 원본성을 합의하는 등) , 단지 본 실시예들은 본 발명 의 개시가 완전하도록 하고, 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자에게 발명의 범주를 완전하게 알려주기 위해 제공되는 것이며, 본 발명은 청구항의 범주에 의해 정의될 뿐이다. 명세서 전체에 걸쳐 동일 참조 부호는 동일 구성 요소를 지칭한다.
다른 정의가 없다면, 본 명세서에서 사용되는 모든 용어(기술 및 과학적 용어를 포함)는 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자에게 공통적으로 이해될 수 있는 의미로 사용될 수 있다. 또 일반적으로 사용되는 사전에 정의되어 있는 용어들은 명백하게 특별히 정의되어 있지 않는 한 이상적으로 또는 과도하게 해석되지 않는다. 본 명세서에서 사용된 용어는 실시예들을 설명하기 위한 것이며 본 발명을 제한하고자 하는 것은 아니다. 본 명세서에서, 단수형은 문구에서 특별히 언급하지 않는 한 복수형도 포함한다.

Claims (5)

  1. 블록체인에 기반하여 가중치를 갖는 후보들 중에서 우승자를 선택하는 시스템으로서, 다음을 포함하는 것:
    각각 자신의 특유한 가중치를 갖는 복수의 후보들, 및 표를 포함하는 비밀투표 스마트 계약을 포함하는 서버; 및
    전자 신분증을 포함하며 상기 서버와 소통할 수 있도록 구성된 디지털 지갑;을 포함하며,
    상기 비밀투표 스마트 계약은 블록체인 네트워크에서 전개되고 실행되기 적합하게 코딩되며;
    상기 디지털 지갑을 소지한 투표자는 상기 디지털 지갑을 이용하여 상기 서버의 상기 비밀투표 스마트 계약에 접근하여 상기 복수의 후보들을 열람하고, 상기 표에 투표할 수 있는 것.
  2. 제1항에 있어서,
    검증자 노드들을 더 포함하며, 상기 검증자 노드들은 상기 서버에 의해 선정되는, 블록체인에 기반하여 가중치를 갖는 후보들 중에서 우승자를 선택하는 시스템.
  3. 제2항에 있어서,
    상기 검증자 노드들은 지분증명이거나 권한증명 방식인, 블록체인에 기반하여 가중치를 갖는 후보들 중에서 우승자를 선택하는 시스템.
  4. 제1항에 있어서,
    상기 복수의 후보들 각각이 가지는 특유한 가중치는 임무의 완성도와 관련된 것으로, 상기 임무는 광고와 관련된 복수의 항목들을 가지는 설문지 형식으로 제시되며, 상기 임무의 완성도는 상기 항목들에의 응답 개수에 의해 측정되는, 블록체인에 기반하여 가중치를 갖는 후보들 중에서 우승자를 선택하는 시스템.
  5. 제1항에 있어서,
    상기 복수의 후보들 각각이 가지는 특유한 가중치는 기여도와 관련된 것으로, 상기 기여도는 회원 가입이나 참여에 의한 콘텐츠 생성인, 블록체인에 기반하여 가중치를 갖는 후보들 중에서 우승자를 선택하는 시스템.
KR1020180167488A 2018-12-21 2018-12-21 블록체인에 기반하여 가중치를 갖는 후보들 중에서 우승자를 선택하는 방법 및 시스템 KR20200078002A (ko)

Priority Applications (3)

Application Number Priority Date Filing Date Title
KR1020180167488A KR20200078002A (ko) 2018-12-21 2018-12-21 블록체인에 기반하여 가중치를 갖는 후보들 중에서 우승자를 선택하는 방법 및 시스템
PCT/KR2019/018223 WO2020130717A1 (ko) 2018-12-21 2019-12-20 블록체인에 기반하여 가중치를 갖는 후보들 중에서 우승자를 선택하는 방법 및 시스템
US17/417,034 US20220076518A1 (en) 2018-12-21 2019-12-20 Blockchain-based method and system for selecting winner from among weighted candidates

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020180167488A KR20200078002A (ko) 2018-12-21 2018-12-21 블록체인에 기반하여 가중치를 갖는 후보들 중에서 우승자를 선택하는 방법 및 시스템

Publications (1)

Publication Number Publication Date
KR20200078002A true KR20200078002A (ko) 2020-07-01

Family

ID=71102626

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020180167488A KR20200078002A (ko) 2018-12-21 2018-12-21 블록체인에 기반하여 가중치를 갖는 후보들 중에서 우승자를 선택하는 방법 및 시스템

Country Status (3)

Country Link
US (1) US20220076518A1 (ko)
KR (1) KR20200078002A (ko)
WO (1) WO2020130717A1 (ko)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11119734B2 (en) * 2019-11-06 2021-09-14 International Business Machines Corporation Software detection and modification
CN112053155B (zh) * 2020-09-07 2024-03-19 天津星微软件开发有限公司 社群决策方法、设备和存储介质
US20230169062A1 (en) * 2021-11-30 2023-06-01 Ciena Corporation Proof of asset value for transaction validator election

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS58192846A (ja) * 1982-05-04 1983-11-10 Nippon Zeon Co Ltd α,β−不飽和ケトンの製造法
KR20100109001A (ko) * 2009-03-31 2010-10-08 장준현 고유식별부호를 제공받아 자신의 표결을 확인하는 전자식 투표시스템
KR101837170B1 (ko) * 2016-12-29 2018-04-19 주식회사 코인플러그 영지식 증명 알고리즘을 사용하여 블록체인 기반 비밀 전자 투표 서비스를 제공하기 위한 방법, 및 이를 이용한 투표 코인 발행 서버, 투표 토큰 분배 서버 및 투표 지원 서버
CN107395665B (zh) * 2017-05-22 2020-04-24 创新先进技术有限公司 一种区块链业务受理及业务共识方法及装置
KR101908677B1 (ko) * 2017-09-29 2018-10-16 숭실대학교산학협력단 블록체인을 이용한 전자투표 관리 시스템 및 방법

Also Published As

Publication number Publication date
WO2020130717A1 (ko) 2020-06-25
US20220076518A1 (en) 2022-03-10

Similar Documents

Publication Publication Date Title
Howard et al. Algorithms, bots, and political communication in the US 2016 election: The challenge of automated political communication for election law and administration
Wei Gemiverse: The blockchain-based professional certification and tourism platform with its own ecosystem in the metaverse
Yli-Huumo et al. Where is current research on blockchain technology?—a systematic review
Pym et al. Status and technology in the professionalisation of translators. Market disorder and the return of hierarchy
Earl et al. Digitally enabled social change: Activism in the internet age
Howard New media campaigns and the managed citizen
Howard The digital origins of dictatorship and democracy: Information technology and political Islam
Veit et al. Foundations of digital government
Wightman Crowdsourcing human-based computation
WO2020130717A1 (ko) 블록체인에 기반하여 가중치를 갖는 후보들 중에서 우승자를 선택하는 방법 및 시스템
Jia et al. Discovery of behavioral patterns in online social commerce practice
Ojo Decoding the potency of “web 2.0” in Nigeria
Wagner et al. Harnessing the power of social media for creativity support: A three-pronged approach
Jones et al. A mixed-methods approach to understanding funder trust and due diligence processes in online crowdfunding investment
Kim et al. Broadband penetration and participatory politics: South Korea case
Danho et al. Blockchain for financial inclusion and mobile financial services: A study in sub-Saharan Africa
Kapur et al. Can the privatization of foreign aid enhance accountability
Singh Social media as an emerging management tool
Ferrigno-Stack et al. Internet and society: A summary of research reported at Webshop 2001
Yang et al. Moderating effect of consumers’ opinion leader acceptance: Exploring the relationship between livestreaming shopping and online shopping safety satisfaction
Reddy et al. IoT Based System for Rating Smart Contract to Evaluate Accuracy of Blockchain
DeAngelis et al. Systemic reciprocal rewards: Motivating expert participation in online communities with a novel class of incentives
Kolehmainen et al. SimplyMember: A human-centric digital membership solution based on Self-Sovereign Identity: Results from the JYU course TJTS570 Blockchain in Digital Business, spring 2021
Kalyango Jr et al. Global Journalism Practice and New Media Performance
Verbeek Public relations, post-truth society and Trump’s alarming political triumph

Legal Events

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