KR102360329B1 - 블록체인에 기반하여 이벤트를 제공하는 시스템 - Google Patents

블록체인에 기반하여 이벤트를 제공하는 시스템 Download PDF

Info

Publication number
KR102360329B1
KR102360329B1 KR1020200020814A KR20200020814A KR102360329B1 KR 102360329 B1 KR102360329 B1 KR 102360329B1 KR 1020200020814 A KR1020200020814 A KR 1020200020814A KR 20200020814 A KR20200020814 A KR 20200020814A KR 102360329 B1 KR102360329 B1 KR 102360329B1
Authority
KR
South Korea
Prior art keywords
information
event
participation
unique
node
Prior art date
Application number
KR1020200020814A
Other languages
English (en)
Other versions
KR20210106104A (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 KR1020200020814A priority Critical patent/KR102360329B1/ko
Publication of KR20210106104A publication Critical patent/KR20210106104A/ko
Application granted granted Critical
Publication of KR102360329B1 publication Critical patent/KR102360329B1/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
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/06Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols the encryption apparatus using shift registers or memories for block-wise or stream coding, e.g. DES systems or RC4; Hash functions; Pseudorandom sequence generators
    • H04L9/0643Hash functions, e.g. MD5, SHA, HMAC or f9 MAC
    • 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
    • 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
    • G06Q2220/00Business processing using cryptography
    • G06Q2220/10Usage protection of distributed data files
    • H04L2209/38

Landscapes

  • Engineering & Computer Science (AREA)
  • Business, Economics & Management (AREA)
  • Strategic Management (AREA)
  • Development Economics (AREA)
  • Finance (AREA)
  • Accounting & Taxation (AREA)
  • Economics (AREA)
  • Theoretical Computer Science (AREA)
  • Entrepreneurship & Innovation (AREA)
  • Game Theory and Decision Science (AREA)
  • General Physics & Mathematics (AREA)
  • General Business, Economics & Management (AREA)
  • Marketing (AREA)
  • Physics & Mathematics (AREA)
  • Signal Processing (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Power Engineering (AREA)
  • Financial Or Insurance-Related Operations Such As Payment And Settlement (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)

Abstract

이벤트에 참여한 참여자의 참여 정보를 기록한 원장을 분산하여 관리하는 블록체인의 네트워크 상의 노드의 동작 방법에 있어서, 제1 사용자의 전자 장치로부터, 상기 제1 사용자가 제1 참여 방식에 따라 제1 이벤트를 참여한 정보를 나타내는 제1 참여 정보가 암호화된, 제1 암호화 정보를 획득하는 단계; 상기 제1 암호화 정보의 유효성이 검증되면, 상기 제1 참여 정보에 대응되는 제1 고유 코드를 생성하고, 상기 제1 고유 코드가 암호화된 제1 고유 정보가 포함된 제1 블록을 상기 원장에 추가하는 단계; 상기 제1 이벤트에 대한 복수의 참여 정보 각각에 대응되는 고유 코드에 기초하여 실행된 소정의 선정 방식으로부터, 상기 제1 이벤트의 선정자를 선정하는 단계; 및 상기 선정자의 고유 코드의 정보 및 상기 제1 사용자의 선정 여부의 정보를 포함하는 상기 제1 이벤트의 선정 결과 정보를 상기 제1 사용자의 전자 장치로 전송하는 단계를 포함하는, 노드의 동작 방법이 제공된다.

Description

블록체인에 기반하여 이벤트를 제공하는 시스템{SYSTEM FOR PROVIDING EVENT BASED ON BLOCKCHAIN}
블록체인에 기반하여 이벤트를 제공하는 기술에 관한 것이다.
최근 인터넷의 발달로 인해 웹 상의 여러 사이트에서 이용자에게 경품 추첨 이나 이벤트추첨 등의 행사를 실시하는 경우가 많다. 이러한 행사에서는 특정 순번의 가입자 또는 구매자 등을 뽑거나, 해당 사이트에서 임의로 지정하는 난수를 이용자의 고유번호로 지정한 후 추첨을 통해 선정자를 선정하는 등의 방식을 선택하고 있다.
이벤트 선정 제공과 관련하여, 공개특허문헌 10-204856호는 온라인 이벤트 당첨권 제공 시스템을 개시한다.
이벤트의 선정자를 보다 투명하게 선정하고, 선정자 정보가 위조되지 않게 관리될 필요성이 있다.
이벤트에 참여한 사용자에게 고유 코드를 부여하고, 고유 코드를 블록체인에 기반하여 관리함으로써, 사용자의 참여 정보의 무결성을 담보하고자 한다.
또한, 블록체인에 기록된 사용자의 고유 코드에 기반하여 이벤트의 선정자를 보다 공정하게 선정하고자 한다.
일측에 따르면, 이벤트에 참여한 참여자의 참여 정보를 기록한 원장을 분산하여 관리하는 블록체인의 네트워크 상의 노드의 동작 방법에 있어서, 제1 사용자의 전자 장치로부터, 상기 제1 사용자가 제1 참여 방식에 따라 제1 이벤트를 참여한 정보를 나타내는 제1 참여 정보가 암호화된, 제1 암호화 정보를 획득하는 단계; 상기 제1 암호화 정보의 유효성이 검증되면, 상기 제1 참여 정보에 대응되는 제1 고유 코드를 생성하고, 상기 제1 고유 코드가 암호화된 제1 고유 정보가 포함된 제1 블록을 상기 원장에 추가하는 단계; 상기 제1 이벤트에 대한 복수의 참여 정보 각각에 대응되는 고유 코드에 기초하여 실행된 투표로부터, 상기 제1 이벤트의 선정자를 선정하는 단계; 및 상기 선정자의 고유 코드의 정보 및 상기 제1 사용자의 선정 여부의 정보를 포함하는 상기 제1 이벤트의 선정 정보를 상기 제1 사용자의 전자 장치로 전송하는 단계를 포함하는, 노드의 동작 방법이 제공된다.
다른 일측에 따르면, 상기 노드의 동작 방법을 노드에서 실행시키기 위해 매체에 저장된 프로그램이 제공된다.
또 다른 일측에 따르면, 제1 이벤트에 참여하는 제1 참여 방식에 따라, 상기 제1 이벤트를 참여하는 단계; 사용자의 개인키로 상기 제1 이벤트를 참여한 정보를 나타내는 제1 참여 정보가 암호화된, 제1 암호화 정보를 획득하는 단계; 상기 제1 암호화 정보를 소정 이벤트에 참여한 참여자의 참여 정보를 기록한 원장을 분산하여 관리하는 블록체인의 네트워크 상의 제1 노드로 전송하는 단계; 상기 제1 노드로부터, 상기 제1 참여 정보에 대응되는 제1 고유 코드가 암호화된 제1 고유 정보를 수신하는 단계 - 상기 제1 고유 정보는 상기 제1 이벤트에 대한 선정자 선정을 위한 투표가 완료되고 복호화 가능하도록 설정됨-; 상기 제1 이벤트의 복수의 고유 코드들에 대한 투표를 입력한 사용자 정보를 수신하는 단계; 및 상기 투표로부터 선정된 상기 선정자의 고유 코드의 정보 및 상기 사용자의 선정 여부의 정보를 포함하는, 제1 이벤트의 선정 정보를 상기 제1 노드로부터 수신하는 단계를 포함하는, 전자 장치의 동작 방법이 제공된다.
또 다른 일측에 따르면, 상기 전자 장치의 동작 방법을 전자 장치에서 실행시키기 위해 매체에 저장된 프로그램이 제공된다.
이벤트에 참여한 사용자에게 고유 코드를 부여하고, 고유 코드를 블록체인에 기반하여 관리함으로써, 사용자의 참여 정보의 무결성을 담보할 수 있다.
또한, 블록체인에 기록된 사용자의 고유 코드에 기반하여 이벤트의 선정자를 보다 공정하게 선정할 수 있다.
본 발명은, 다음의 자세한 설명과 그에 수반되는 도면들의 결합으로 쉽게 이해될 수 있으며, 참조 번호(reference numerals)들은 구조적 구성요소(structural elements)를 의미한다.
도 1은 일실시예에 따라, 블록체인에 기반하여, 이벤트에 선정될 선정자를 선정하는 서버, 전자 장치 및 노드 간의 동작을 설명하기 위한 도면이다.
도 2는 일실시예에 따라, 이벤트에 참여한 참여자의 참여 정보를 기록한 원장을 분산하여 관리하는 블록체인의 네트워크 상의 노드의 동작을 설명하기 위한 흐름도이다.
도 3은 일실시예에 따라, 전자 장치에서 사용자가 소정 이벤트에 참여하는 과정을 설명하기 위한 도면이다.
도 4는 일실시예에 따라, 노드에서 제1 참여 정보의 유효성을 검증하고, 제1 참여 정보에 대응되는 제1 고유 정보를 블록에 저장하는 과정을 설명하기 위한 도면이다.
도 5는 일실시예에 따라, 제1 참여 정보를 암호화하는 과정 및 제1 고유 정보를 암호화하는 과정을 설명하기 위한 도면이다.
도 6은 일실시예에 따라, 전자 장치에서 사용자가 이벤트의 선정 결과를 확인하는 과정을 설명하기 위한 도면이다.
도 7은 일실시예에 따라, 블록 및 블록체인의 구조를 설명하기 위한 도면이다.
도 8은 일실시예에 따라, 소정 방식에 따라 이벤트에 참여하고, 블록체인 기반의 이벤트 선정자 투표를 진행하고, 선정 결과를 제공 받는 전자 장치의 동작을 설명하기 위한 흐름도이다.
도 9는 일실시예에 따라, 노드의 구성을 도시한 블록도이다.
이하에서는 도면을 참조하여 다양한 실시예들을 상세히 설명한다. 이하에서 설명되는 실시예들은 여러 가지 상이한 형태로 변형되어 실시될 수도 있다. 실시예들의 특징을 보다 명확히 설명하기 위하여 이하의 실시예들이 속하는 기술분야에서 통상의 지식을 가진 자에게 널리 알려져 있는 사항들에 관해서 자세한 설명은 생략한다.
한편, 본 명세서에서 어떤 구성이 다른 구성과 "연결"되어 있다고 할 때, 이는 '직접적으로 연결'되어 있는 경우뿐 아니라, '그 중간에 다른 구성을 사이에 두고 연결'되어 있는 경우도 포함한다. 또한, 어떤 구성이 다른 구성을 "포함"한다고 할 때, 이는 특별히 반대되는 기재가 없는 한, 그 외 다른 구성을 제외하는 것이 아니라 다른 구성들 더 포함할 수도 있다는 것을 의미한다.
또한, 본 명세서에서 사용되는 '제 1' 또는 '제 2' 등과 같이 서수를 포함하는 용어는 다양한 구성 요소들을 설명하는데 사용할 수 있지만, 상기 구성 요소들은 상기 용어들에 의해 한정되어서는 안 된다. 상기 용어들은 하나의 구성 요소를 다른 구성 요소로부터 구별하는 목적으로만 사용된다.
본 명세서에서, "블록체인"은 무결성을 확보하고 유지하기 위해 순서에 따라 연결된 블록들이 서비스의 이용 내역 정보를 암호화 기법과 보안기술을 이용해 협상하는 알고리즘으로 구성된 소프트웨어 요소를 활용하는 원장(ledger)의 분산 P2P (Peer to Peer)시스템을 의미할 수 있다. 여기서, 분산 P2P 시스템은 분산 시스템의 특수한 형태일 수 있다.
도 1은 일실시예에 따라, 블록체인에 기반하여, 이벤트에 선정될 선정자를 선정하는 서버, 전자 장치 및 노드 간의 동작을 설명하기 위한 도면이다.
도 1의 블록 110은 서버(30)에서 제1 이벤트에 대한 서비스를 생성하고, 제1 이벤트에 대한 서비스를 배포하는 과정을 설명하기 위한 블록이다. 도 1의 단계 S111에서, 서버(30)는 제1 이벤트에 대한 서비스를 생성할 수 있다. 예를 들면, 서버(30)는, 제1 이벤트에 대한 내용, 제1 이벤트 선정시에 제공될 서비스, 제1 이벤트에 참여하는 방식 등을 포함하는 제1 이벤트의 정보를 획득할 수 있다. 도 1의 단계 S112에서, 서버(30)는 제1 이벤트에 대한 서비스를 소정 애플리케이션을 통해 배포할 수 있다.
도 1의 블록 120은 전자 장치(20)에서 사용자가 제1 이벤트에 참여하는 과정을 설명하기 위한 블록이다. 도 1의 단계 S121에서, 전자 장치(20)는 제1 사용자가 제1 참여 방식에 따라 제1 이벤트를 참여한 정보를 나타내는 제1 참여 정보를 획득할 수 있다. 전자 장치(20)는 제1 참여 정보를 암호화하여 암호화된 제1 암호화 정보를 획득할 수 있다. 예를 들면, 전자 장치(20)는 제1 참여 정보를 제1 사용자의 개인키로 암호화하여, 제1 암호화 정보를 획득할 수 있다.
여기서, 제1 참여 방식은, 제1 사용자가 무료로 이벤트에 참여하는 참여 방식, 및 제1 사용자가 유료로 이벤트에 참여하는 참여 방식일 수 있다. 예를 들면, 제1 사용자가 무료로 이벤트에 참여하는 참여 방식은, 제1 사용자가 제1 이벤트와 관련된 광고를 시청함으로써 보상 받은 코인, 포인트, 캐쉬, 가상 화폐 등으로 이벤트에 참여하는 방식일 수 있다. 다른 예를 들면, 제1 사용자가 유료로 이벤트에 참여하는 참여 방식은, 제1 사용자가 제1 이벤트와 관련된 아이템을 구매함으로써, 보상 받은 코인, 포인트, 캐쉬, 가상 화폐 등으로 이벤트에 참여하는 방식일 수 있다.
단계 S122에서, 전자 장치(20)는 이벤트에 참여한 참여자의 참여 정보를 기록한 원장을 분산하여 관리하는 블록체인의 네트워크 상의 제1 노드(10-1)로 제1 암호화 정보를 전송할 수 있다.
단계 S123에서, 제1 노드(10-1)는 제1 참여 정보가 암호화된 제1 암호화 정보의 유효성을 검증할 수 있다. 유효성 검증 과정은 도 4에서 설명한다. 제1 암호화 정보의 유효성 검증이 완료되면, 제1 노드(10-1)는 제1 참여 정보에 대응되는 제1 고유 코드를 생성할 수 있다. 여기서, 제1 고유 코드는, 제1 사용자가 제1 이벤트에 참여함으로써, 부여된 고유 코드일 수 있다. 예를 들면, 제1 고유 코드는, 미리 설정된 숫자들의 범위 내의 제1 숫자일 수 있다. 제1 노드(10-1)는 제1 고유 코드를 암호화하고, 암호화된 제1 고유 정보가 포함된 제1 블록을 원장에 추가할 수 있다. 여기서, 제1 고유 정보는, 제1 이벤트에 대한 선정자의 선정이 완료되고 복호화 가능하도록 설정될 수 있다. 단계 S124에서, 제1 노드(10-1)는 전자 장치(20)로 제1 고유 정보를 전송할 수 있다.
단계 S125에서, 전자 장치(20)는 제1 이벤트에 대한 선정자 선정을 위한 선정 정보를 수신할 수 있다. 예를 들면, 선정 정보는, 투표 정보일 수 있다. 예를 들면, 제1 사용자는 미리 설정된 숫자들의 범위 내에서 소정 숫자를 선택하여 투표를 할 수 있다. 또한, 선정 정보는, 제1 이벤트에 대한 선정자 선정을 위해, 제1 이벤트에 참여한 복수의 사용자들에 대한 평가 정보일 수 있다.
단계 S126에서, 전자 장치(20)는 사용자의 선정 정보를 서버(30)로 전송할 수 있다. 단계 S127에서, 전자 장치(20)는 사용자의 선정 정보를 제1 노드(10-1)로 전송할 수 있다. 전자 장치(20)에서 사용자의 선정 정보를 서버(30) 및 제1 노드(10-1)로 전송함으로써, 제1 노드(10-1)는 서버(30)에서 집계된 선정 결과 정보와 제1 노드(10-1)에서 집계된 선정 결과 정보를 비교함으로써, 선정 결과의 신뢰성을 높일 수 있다.
도 1의 블록 130은 제1 이벤트의 선정자를 선정하고, 선정 정보를 사용자에게 제공하는 과정을 설명하기 위한 블록이다. 단계 S131에서, 서버(30)는 전자 장치(20)로부터 제1 사용자의 선정 정보를 수신할 수 있다. 또한, 서버(30)는 복수의 사용자의 선정 정보를 수신할 수 있다. 서버(30)는 선정 정보를 집계하고, 선정 집계 결과에 기초하여, 선정 결과 정보를 획득할 수 있다. 서버(30)는 선정 결과 정보에 기초하여, 제1 이벤트에 선정된 적어도 하나의 선정자를 선정할 수 있다. 단계 S132에서, 서버(30)는 제1 노드(10-1)로 선정 결과 정보를 전송할 수 있다. 또한, 서버(30)는 이벤트에 참여한 참여자의 참여 정보를 기록한 원장을 분산하여 관리하는 블록체인의 네트워크 상의 노드들로 선정 결과 정보를 전송할 수 있다.
단계 S133에서, 제1 노드(10-1)는 선정 정보로부터, 제1 이벤트의 선정자를 선정할 수 있다. 예를 들면, 제1 노드(10-1)는 제1 노드(10-1)에서 수집된 제1 이벤트의 선정 정보로부터 선정 결과 정보를 획득할 수 있다. 제1 노드(10-1)는 제1 노드(10-1)에서 획득된 선정 결과 정보 및 서버(30)로부터 획득된 선정 결과 정보를 비교함으로써, 선정 결과 정보를 확인할 수 있다. 제1 노드(10-1)에서 획득된 선정 결과 정보 및 서버(30)로부터 획득된 선정 결과 정보가 일치되면, 제1 노드(10-1)는 선정 결과 정보로부터 제1 이벤트에 선정된 적어도 하나의 선정자를 선정할 수 있다. 단계 S134에서 제1 노드(10-1)는 제1 이벤트의 선정 결과 정보를 전자 장치(20)로 전송할 수 있다.
단계 S135에서, 전자 장치(20)는 제1 이벤트의 선정 결과 정보를 표시할 수 있다. 제1 이벤트의 선정 결과 정보에는, 제1 이벤트에 선정된 고유 코드의 정보 및 제1 사용자의 제1 고유 코드의 정보가 포함될 수 있다. 한편, 전자 장치(20)는 제1 노드(10-1)로부터 수신된 제1 고유 정보를 복호화하여, 제1 고유 정보로부터 획득된 제1 고유 코드의 정보를 획득할 수 있다. 전자 장치(20)는 제1 이벤트의 선정 결과 정보로부터 획득된 제1 고유 코드의 정보와 제1 고유 정보가 복호화되어 획득된 제1 고유 코드의 정보가 일치하는지를 확인할 수 있다. 전자 장치(20)는 확인 결과를 표시할 수 있다.
단계 S136에서, 제1 노드(10-1)는 선정 고유 정보가 포함된 블록을 생성하고, 생성된 블록을 원장에 추가할 수 있다. 제1 이벤트에 대한 선정 정보를 원장에 기록함으로써, 제1 이벤트에 대한 선정 정보의 신뢰성을 높일 수 있다.
도 2는 일실시예에 따라, 이벤트에 참여한 참여자의 참여 정보를 기록한 원장을 분산하여 관리하는 블록체인의 네트워크 상의 노드의 동작을 설명하기 위한 흐름도이다.
도 2를 참고하면, 단계 S210에서, 노드(10)는 제1 사용자의 전자 장치(20)로부터, 제1 사용자가 제1 참여 방식에 따라 제1 이벤트를 참여한 정보를 나타내는 제1 참여 정보가 암호화된, 제1 암호화 정보를 획득할 수 있다.
예를 들면, 노드(10)는 제1 사용자의 개인키로 제1 참여 정보에 대응되는 제1 해시값이 암호화된, 제1 암호화 정보를 획득할 수 있다.
예를 들면, 제1 이벤트에 참여하는 참여 방식은, 제1 이벤트와 관련된 적어도 하나의 특정 아이템을 구매하면, 제1 이벤트의 참여권을 부여하는 참여 방식, 제1 이벤트를 주최하는 서비스 제공자와 관련된 광고 보기가 완료되면, 제1 이벤트의 참여권을 부여하는 참여 방식 중 적어도 하나의 방식일 수 있다.
단계 S220에서, 노드(10)는 제1 암호화 정보의 유효성이 검증되면, 제1 참여 정보에 대응되는 제1 고유 코드를 생성하고, 제1 고유 코드가 암호화된 제1 고유 정보가 포함된 제1 블록을 원장에 추가할 수 있다.
예를 들면, 제1 암호화 정보의 유효성이 검증되면, 노드(10)는 제1 참여 정보에 대응되는 제1 해시값을, 미리 설정된 고유 코드들 중 제1 고유 코드에 할당할 수 있다. 노드(10)는 제1 해시값을 제1 고유 코드를 암호화하여, 제1 고유 정보를 생성하고, 제1 고유 정보가 포함된 제1 블록을 원장에 추가할 수 있다.
한편, 제1 고유 정보가 포함된 제1 블록이 원장에 추가되면, 노드(10)는 제1 이벤트에 대한 선정자의 선정이 완료되고 복호화 가능하도록 설정된 제1 고유 정보를 제1 사용자의 전자 장치(20)로 전송할 수 있다.
단계 S230에서, 노드(10)는 제1 이벤트에 대한 복수의 참여 정보 각각에 대응되는 고유 코드에 기초하여 실행된 소정의 선정 방식으로부터, 제1 이벤트의 선정자를 선정할 수 있다.
예를 들면, 소정의 선정 방식은, 소정 투표에 의해 제1 이벤트의 혜택을 받는 선정자를 결정하는 방식, 소정 게임에 의해 제1 이벤트의 혜택을 받는 선정자를 결정하는 방식일 수 있고, 상기 예시에 한정되지 않는다.
예를 들면, 소정의 선정 방식은, 이벤트에 참여한 복수의 사용자들이 참여하여 이벤트의 혜택을 받는 선정자를 선정하는 방식일 수 있다.
예를 들면, 노드(10)는 복수의 참여 정보를 발생시킨 복수의 사용자의 전자 장치(20)로부터, 미리 설정된 고유 코드들 중 하나의 코드를 선택하는 투표 정보를 수신할 수 있다. 노드(10)는 투표 정보에 기초하여, 최대로 선택된 선정 고유 코드를 결정하고, 선정 고유 코드를 보유한 제1 이벤트의 선정자를 선정할 수 있다.
단계 S240에서, 노드(10)는 선정자의 고유 코드의 정보 및 제1 사용자의 선정 여부의 정보를 포함하는 제1 이벤트의 선정 결과 정보를 제1 사용자의 전자 장치(20)로 전송할 수 있다.
한편, 노드(10)는 선정 고유 코드가 제1 이벤트를 주최하는 서비스 제공자의 개인키로 암호화된, 선정 고유 정보가 포함된 블록을 원장에 추가할 수 있다.
도 3은 일실시예에 따라, 전자 장치에서 사용자가 소정 이벤트에 참여하는 과정을 설명하기 위한 도면이다.
도 3의 이미지(310)을 참고하면, 전자 장치(20)에서 사용자는 소정 이벤트를 참여할 수 있는 애플리케이션을 실행할 수 있다. 전자 장치(20)는 애플리케이션에서 제공되는 복수의 이벤트 정보를 표시할 수 있다. 전자 장치(20)는 복수의 이벤트 정보 중에서 제1 이벤트 정보를 선택하는 입력을 수신할 수 있다. 예를 들면, 제1 이벤트는 재즈 패스티벌에서 로얄석 10석을 이용할 사용자 및 재즈 페스티벌에 출연한 아티스트와의 만남 혜택을 제공받을 사용자를 선정하는 것일 수 있다. 도 3의 이미지(310)에 도시된 바와 같이, 사용자가 재즈 페스티벌의 관람권을 구매할 시에, 사용자는 "로얄석 10석 및 출연 아티스트 만남" 이벤트에 자동 참여될 수 있다. 전자 장치(20)에서 "관람권 구매"를 선택하는 입력이 수신되면, 전자 장치(20)는 관람권 구매 및 제1 이벤트의 참여를 위한 다음 화면을 표시할 수 있다.
도 3의 이미지(320)을 참고하면, 관람권 구매 및 제1 이벤트를 참여할 때, 소정 코인이 필요할 수 있다. 소정 코인은, 애플리케이션에서 사용 가능한 캐시 수단일 수 있다. 사용자가 보유한 소정 코인이 제1 이벤트를 참여하기에 부족한 경우, 전자 장치(20)는 코인의 부족 알림 및 코인 충전 알림을 포함하는 메시지를 표시할 수 있다. 예를 들면, 전자 장치(20)는 " OO 코인이 부족합니다. 코인 충전을 위해 광고 보기나 아이템을 구매 하시겠습니까?"라는 메시지를 표시할 수 있다.
이 경우, 전자 장치(20)는 "광고 보기" 아이콘(321) 및 "아이템 구매" 아이콘(322)를 표시할 수 있다. 예를 들면, 사용자가 광고 보기를 완료함으로써, 사용자의 전자 지갑에는 5 코인이 자동으로 충전될 수 있다. 또한, 사용자가 제1 이벤트와 관련된 아이템을 구매함으로써, 사용자의 전자 지갑에는 10 코인이 충전될 수 있다. 제1 이벤트에 참여하기에 충분한 코인이 충전되면, 전자 장치(20)는 제1 이벤트에 참여할 수 있다.
도 3의 이미지(330)을 참고하면, 전자 장치(20)는 제1 이벤트를 참여한 참여 정보 및 참여 정보에 대응되는 고유 정보를 표시할 수 있다. 여기서, 고유 정보는 참여 정보에 대한 고유 코드가 암호화된 정보일 수 있다. 예를 들면, 전자 장치(20)는, "암호화된 고유 코드는 EIRDIO81 입니다. 투표 완료 후에 고유 코드를 확인하실 수 있습니다"라는 메시지(331)를 표시할 수 있다. 따라서, 사용자가 고유 코드의 정보를 획득하기 위해서는, 고유 정보의 복호화가 필요하다. 한편, 고유 정보는 제1 이벤트의 투표가 완료된 후에 복호화가 가능하도록 설정될 수 있다. 예를 들면, 고유 정보는 일정 시간이 경과된 후에 복호화가 가능하도록 설정될 수 있다.
한편, 도 3에서는, 제1 이벤트를 참여할 때, 소정 코인이 필요하다고 설명하였으나, 사용자는 소정 코인 이외에, 소정 포인트, 소정 캐시, 가상 화폐 등을 이용하여 제1 이벤트에 참여할 수 있다.
도 4는 일실시예에 따라, 노드에서 제1 참여 정보의 유효성을 검증하고, 제1 참여 정보에 대응되는 제1 고유 정보를 블록에 저장하는 과정을 설명하기 위한 도면이다.
도 4를 참고하면, 전자 장치(20)는 제1 노드(10-1)로, 제1 참여 정보가 암호화된 제1 암호화 정보를 전송할 수 있다. 제1 노드(10-1)는 제1 암호화 정보 내에 포함된 제1 참여 정보의 유효성을 검증하고, 제1 참여 정보에 대응되는 제1 고유 코드를 블록 내에 저장할 수 있다.
구체적으로, 단계 S410에서, 제1 노드(10-1)는 제1 참여 정보의 유효성을 검증할 수 있다. 제1 참여 정보의 유효성의 검증 과정은 도 5에서 설명한다.
단계 S420에서, 제1 노드(10-1)는 제1 참여 정보에 대응되는 제1 해시값을 미리 설정된 고유 코드들 중 제1 고유 코드에 할당할 수 있다.
단계 S430에서, 제1 노드(10-1)는 제1 해시값으로 제1 고유 코드를 암호화하여, 제1 고유 정보를 생성할 수 있다.
단계 S440에서, 제1 노드(10-1)는 제1 암호화 정보와 제1 고유 정보를 결합하여 결합 정보를 획득할 수 있다.
예를 들면, 제1 노드(10-1)는 제1 암호화 정보와 제1 고유 정보가 결합된 결합 정보를 후보 블록(450)에 기록할 수 있다. 제1 노드(10-1)는 후보 블록(450)에 소정의 복수의 참여 정보에 대응되는 결합된 결합 정보가 기록되면, 후보 블록(450)의 작업 증명을 수행하여, 제1 노드(10-1)의 블록체인의 제1 원장에 후보 블록을 제N 블록(460)으로 추가할 수 있다.
한편, 제1 노드(10-1)는 제1 암호화 정보와 제1 고유 정보가 결합된 결합 정보를 블록체인의 네트워크 상의 복수의 노드들로 전송할 수 있다. 예를 들면, 제1 노드(10-1)는 제1 암호화 정보와 제1 고유 정보가 결합된 결합 정보를 제2 노드(10-2)로 전송할 수 있다.
도 5는 일실시예에 따라, 제1 참여 정보를 암호화하는 과정 및 제1 고유 정보를 암호화하는 과정을 설명하기 위한 도면이다.
제1 사용자는 제1 이벤트와 관련된 제1 아이템을 구매할 수 있다. 전자 장치(20)는 제1 사용자가 제1 이벤트와 관련된 제1 아이템을 구매한 정보를 획득할 수 있다. 제1 사용자는 제1 아이템을 구매함으로써, 제1 이벤트에 참여할 수 있는 참여권을 부여 받을 수 있다. 또한, 제1 사용자는 제1 아이템을 구매함으로써, 소정 코인, 소정 포인트, 소정 캐시, 소정 가상 화폐 중 적어도 하나로 지급받을 수 있고, 제1 사용자는 소정 코인, 소정 포인트, 소정 캐시, 소정 가상 화폐 중 적어도 하나로 제1 이벤트에 참여할 수 있다. 전자 장치(20)는 제1 사용자가 제1 참여 방식에 따라 제1 이벤트를 참여한 제1 참여 정보(511)를 획득할 수 있다.
전자 장치(20)는 제1 참여 정보(511)에 해시 함수를 적용하여, 제1 참여 정보(511)에 대응되는 제1 해시값(512)를 획득할 수 있다. 예를 들면, 제1 해시값(512)은, "DKFIOW83"일 수 있다. 전자 장치(20)는 제1 사용자의 개인키로 제1 해시값을 암호화하여, 제1 참여 정보에 제1 사용자의 디지털 서명이 적용된, 제1 암호화 정보(513)를 획득할 수 있다. 예를 들면, 제1 암호화 정보(513)는 "CJSIWK&3"일 수 있다.
한편, 전자 장치(20)는 제1 노드(10-1)로 제1 암호화 정보(513)를 전송할 수 있다. 또한, 전자 장치(20)는 제1 암호화 정보(513)와 함께 제1 참여 정보(511)를 제1 노드(10-1)로 전송할 수 있다.
제1 노드(10-1)는 제1 참여 정보(511)에 해시 함수를 적용하여 임시 해시값을 획득할 수 있다. 또한, 제1 노드(10-1)는 제1 암호화 정보(513)를 제1 사용자의 복호화키로 복호화하여, 제1 해시값(512)을 획득할 수 있다. 제1 노드(10-1)는 제1 해시값(512)과 임시 해시값이 일치됨을 확인함으로써, 제1 암호화 정보(513)의 유효성을 검증할 수 있다. 즉, 제1 암호화 정보(513)의 유효성이 검증되면, 제1 참여 정보(511)의 유효성도 함께 검증된다.
제1 노드(10-1)는 제1 참여 정보(511)에 대응되는 제1 해시값(512)을 미리 설정된 고유 코드들중 제1 고유 코드(522)에 할당할 수 있다. 예를 들면, 미리 설정된 고유 코드들은, 미리 설정된 범위 내의 문자들 또는 숫자들일 수 있다. 예를 들면, 제1 이벤트에 참여 가능한 사용자의 수 또는 참여 횟수는 5000일 수 있다. 이 경우, 미리 설정된 고유 코드들은 1부터 5000 이내의 숫자일 수 있다. 미리 설정된 고유 코드들 각각은, 복수의 참여 정보에 할당될 수 있고, 중복되지 않게 할당될 수 있다. 예를 들면, 제1 고유 코드(522)는 "237"일 수 있다. 제1 노드(10-1)는 제1 고유 코드(522)를 제1 해시값(512)으로 암호화하여, 제1 고유 정보(523)를 획득할 수 있다. 제1 고유 코드(522)를 암호화 하는 방식은 다른 방식으로 수행될 수도 있다. 예를 들면, 제1 고유 정보(523)는 "OWICI$@9"일 수 있다.
제1 노드(10-1)는 제1 암호화 정보(513)와 제1 고유 정보(523)를 결합하여, 결합 정보(530)를 획득할 수 있다. 제1 노드(10-1)는 결합 정보(530)를 후보 블록 내에 기록할 수 있다. 후보 블록 내에 복수의 결합 정보가 기록되면, 제1 노드(10-1)는 후보 블록의 작업 증명을 수행하여, 제1 노드(10-1)의 블록체인의 제1 원장에 후보 블록을 유효한 블록으로 추가할 수 있다. 또한, 제1 노드(10-1)는 결합 정보(530)를 제2 노드(10-2)로 전송할 수 있다.
도 6은 일실시예에 따라, 전자 장치에서 사용자가 이벤트의 선정 결과를 확인하는 과정을 설명하기 위한 도면이다.
도 6의 이미지(610)을 참고하면, 전자 장치(20)는 제1 이벤트에 대한 선정자 선정을 위한 투표를 가이드 하는 화면을 표시할 수 있다. 예를 들면, 제1 이벤트에 참여하게 되면, 제1 이벤트의 참여에 대한 고유 코드가 부여될 수 있다. 고유 코드는 1부터 5000까지의 임의의 숫자일 수 있다. 복수의 사용자에게 부여된 고유 코드는 중복되지 않도록 부여될 수 있다. 예를 들면, 제1 사용자가 제1 이벤트에 2번 참여하면, 제1 사용자는 서로 다른 2개의 고유 코드를 부여 받을 수 있다.
예를 들면, 전자 장치(20)는 "1부터 5000까지의 수 중 이벤트에 선정될 수를 선택해 보세요"라는 투표 가이드 메시지(611)를 표시할 수 있다. 제1 사용자는 전자 장치(20)에 표시된 투표란(612)에 소정 수를 입력할 수 있다.
도 6의 이미지(620)을 참고하면, 제1 이벤트에 대한 선정자 선정을 위한 투표가 완료되면, 전자 장치(20)는 제1 사용자에게 부여된 제1 고유 정보에 대한 제1 고유 코드 및 제1 사용자의 선정 여부의 정보를 표시할 수 있다. 예를 들면, 전자 장치(20)는 제1 사용자에게 부여된 제1 고유 정보인 " EIRDIO81"의 제1 고유 코드는 "48"임을 알리는 메시지(621)를 표시할 수 있다. 또한, 전자 장치(20)는 제1 사용자가 제1 이벤트에 선정되지 않은 결과를 알리는 메시지(622)를 표시할 수 있다.
도 6의 이미지(630)을 참고하면, 전자 장치(20)는 전자 장치(20)는 제1 이벤트의 선정 정보를 표시할 수 있다. 예를 들면, 전자 장치(20)는 제1 이벤트에 선정된 고유 코드 및 고유 코드로 투표된 집계 정보를 포함하는 선정 정보(631)를 표시할 수 있다.
도 7은 일실시예에 따라, 블록 및 블록체인의 구조를 설명하기 위한 도면이다.
도 7에 도시된 바와 같이, 블록체인은 이벤트에 참여한 참여자의 참여 정보를 기록한 블록들이 연결되어 구성될 수 있다. 즉, 블록체인의 데이터 구조는 의료 정보를 기록한 블록들이 순서대로 정렬된 단위로 구성된 소정의 데이터 구조일 수 있다. 또한, 블록체인의 데이터 구조는 각 블록 헤더가 이전 블록 헤더를 참조하여 체인 형식으로 연결된 데이터 구조, 및 의료 정보의 데이터를 가리키는 해시 참조와 의료 정보의 데이터가 트리 형태로 연결된 머클 트리의 데이터 구조로 구성될 수 있다.
블록은 블록 해시, 블록 헤더, 참여 정보, 고유 정보 등을 포함할 수 있다. 블록 헤더는 현재 프로그램의 버전, 이전 블록 헤더의 해시값, 머클 트리의 루트, 타임스태프, 난이도 및 난스의 정보를 포함할 수 있다.
블록 해시는 현재 프로그램의 버전, 이전 블록 헤더의 해시값, 머클 트리의 루트, 타임스태프, 난이도 및 난스의 정보를 입력값으로 하여 적용된 해시 함수의 해시값일 수 있다. 즉, 블록 해시의 값은 블록 전체를 해시한 값이 아니라, 블록 헤더를 해시한 값일 수 있다.
이전 블록 헤더의 해시값은 각 블록 헤더를 고유하게 식별하고, 이전 블록 헤더를 참조하기 위해 사용될 수 있다. 각 블록 헤더가 이전 블록 헤더를 참조하면, 개별 블록 헤더와 블록의 순서는 유지될 수 있다. 도 7을 참고하면, 제1 블록(710)은 최초 블록이어서 이전 블록이 없으므로, 이전 블록 헤더를 가리키는 어떠한 참조도 없다. 따라서, 제1 블록(710)의 이전 블록 헤더의 해시값은 0이다. 또한, 제2 블록(720)은 이전 블록인 제1 블록(710)이 있으므로, 제2 블록 헤더는 제1 블록 헤더를 가리키는 해시값을 갖는다. 마찬가지로, 제3 블록(730)은 이전 블록인 제2 블록(720)이 있으므로, 제3 블록 헤더는 제2 블록 헤더를 가리키는 해시값을 갖는다.
머클 트리는 해시 참조와 의료 정보의 데이터가 트리 형태로 연결되어 있는 구조를 의미할 수 있다. 해시 참조는 암호화 해시값을 이용하여 의료 정보의 데이터를 가리키는 것을 의미할 수 있다. 한편, 암호화 해시값은 데이터의 고유값이므로, 서로 다른 데이터들은 동일한 해시값을 갖지 않는다.
타임스태프는 작업 증명을 위해 작업을 시작한 시각을 의미할 수 있다. 난이도는 작업 증명 또는 해시 퍼즐에서의 제약 조건을 의미할 수 있다. 난스는 작업 증명을 위해 블록해시의 값이 제약 조건을 만족하도록 조절되는 값을 의미할 수 있다.
참여 정보 및 고유 정보에는, 각 사용자가 이벤트에 참여한 방식 및 각 사용자에게 할당된 고유 코드의 정보가 포함될 수 있고, 각 정보는 암호화되어 저장될 수 있다.
도 8은 일실시예에 따라, 소정 방식에 따라 이벤트에 참여하고, 블록체인 기반의 이벤트 선정자 투표를 진행하고, 선정 결과를 제공 받는 전자 장치의 동작을 설명하기 위한 흐름도이다.
도 8을 참고하면, 단계 S810에서, 전자 장치(20)는 제1 이벤트에 참여하는 제1 참여 방식에 따라 제1 이벤트를 참여하는 사용자의 입력을 수신할 수 있다.
단계 S820에서, 전자 장치(20)는 사용자의 개인키로 제1 이벤트를 참여한 정보를 나타내는 제1 참여 정보가 암호화된, 제1 암호화 정보를 획득할 수 있다.
단계 S830에서, 전자 장치(20)는 제1 암호화 정보를 소정 이벤트에 참여한 참여자의 참여 정보를 기록한 원장을 분산하여 관리하는 블록체인의 네트워크 상의 제1 노드(10-1)로 전송할 수 있다.
단계 S840에서, 전자 장치(20)는 제1 노드(10-1)로부터, 제1 참여 정보에 대응되는 제1 고유 코드가 암호화된 제1 고유 정보를 수신할 수 있다. 여기서, 제1 고유 정보는 제1 이벤트에 대한 선정자 선정이 완료되고 복호화 가능하도록 설정될 수 있다.
단계 S850에서, 전자 장치(20)는 제1 이벤트의복수의 고유 코드들에 대한 선정 정보를 입력한 사용자 정보를 수신할 수 있다.
단계 S860에서, 전자 장치(20)는 선정 정보로부터 선정된 선정자의 고유 코드의 정보 및 사용자의 선정 여부의 정보를 포함하는, 제1 이벤트의 선정 결과 정보를 제1 노드(10-1)로부터 수신할 수 있다. 전자 장치(20)는 제1 이벤트의 선정 결과 정보를 표시할 수 있다.
도 9는 일실시예에 따라, 노드의 구성을 도시한 블록도이다.
도 9를 참고하면, 노드(10)는 통신 장치(910), 스토리지(920), 메모리(930), 및 프로세서(940)를 포함할 수 있다. 도시된 구성 요소보다 많은 구성 요소에 의해 노드(10)가 구현될 수 있고, 그보다 적은 구성 요소에 의해 노드(10)가 구현될 수 있다. 이하, 상기 구성 요소들에 대해 살펴본다.
통신 장치(910)는 외부 장치와 통신을 수행할 수 있다. 구체적으로, 통신 장치(910)는 유선 또는 무선으로 네트워크와 연결되어 외부 장치와 통신을 수행할 수 있다. 여기서, 외부 장치는 블록체인 네트워크 상의 노드들, 이벤트의 서비스를 제공하는 서버를 포함할 수 있다.
스토리지(920)는 노드(10)에서 보유한 원장을 저장할 수 있다. 원장은 블록들이 연결된 블록체인으로 구성될 수 있다.
메모리(930)는 소정의 소프트웨어 및 또는 프로그램을 저장할 수 있다. 메모리(930)는 프로세서(940)에 의해 실행 가능한 명령어들을 저장할 수 있다.
프로세서(940)는 통신 장치(910)를 통해 제1 사용자의 전자 장치로부터, 제1 암호화 정보를 수신할 수 있다. 제1 암호화 정보는, 제1 사용자가 제1 참여 방식에 따라 제1 이벤트를 참여한 정보를 나타내는 제1 참여 정보가 암호화된 정보일 수 있다.
예를 들면, 프로세서(940)는 제1 사용자의 개인키로 제1 참여 정보에 대응되는 제1 해시값이 암호화된, 제1 암호화 정보를 획득할 수 있다.
예를 들면, 제1 이벤트에 참여하는 참여 방식은, 제1 이벤트와 관련된 적어도 하나의 특정 아이템을 구매하면, 제1 이벤트의 참여권을 부여하는 참여 방식, 제1 이벤트를 주최하는 서비스 제공자와 관련된 광고 보기가 완료되면, 제1 이벤트의 참여권을 부여하는 참여 방식 중 적어도 하나의 방식일 수 있다.
프로세서(940)는 제1 암호화 정보의 유효성이 검증되면, 제1 참여 정보에 대응되는 제1 고유 코드를 생성하고, 제1 고유 코드가 암호화된 제1 고유 정보가 포함된 제1 블록을 원장에 추가할 수 있다.
예를 들면, 제1 암호화 정보의 유효성이 검증되면, 프로세서(940)는 제1 참여 정보에 대응되는 제1 해시값을, 미리 설정된 고유 코드들 중 제1 고유 코드에 할당할 수 있다. 프로세서(940)는 제1 해시값을 제1 고유 코드를 암호화하여, 제1 고유 정보를 생성하고, 제1 고유 정보가 포함된 제1 블록을 원장에 추가할 수 있다.
한편, 제1 고유 정보가 포함된 제1 블록이 원장에 추가되면, 프로세서(940)는 제1 이벤트에 대한 선정자의 선정이 완료되고 복호화 가능하도록 설정된 제1 고유 정보를 생성할 수 있다. 통신 장치(910)는 제1 고유 정보를 제1 사용자의 전자 장치로 전송할 수 있다.
프로세서(940)는 제1 이벤트에 대한 복수의 참여 정보 각각에 대응되는 고유 코드에 기초하여 실행된 소정의 선정 방식으로부터, 제1 이벤트의 선정자를 선정할 수 있다.
예를 들면, 소정의 선정 방식은, 소정 투표에 의해 제1 이벤트의 혜택을 받는 선정자를 결정하는 방식, 소정 게임에 의해 제1 이벤트의 혜택을 받는 선정자를 결정하는 방식일 수 있고, 상기 예시에 한정되지 않는다.
예를 들면, 소정의 선정 방식은, 이벤트에 참여한 복수의 사용자들이 참여하여 이벤트의 혜택을 받는 선정자를 선정하는 방식일 수 있다.
예를 들면, 통신 장치(910)는 복수의 참여 정보를 발생시킨 복수의 사용자의 전자 장치로부터, 미리 설정된 고유 코드들 중 하나의 코드를 선택하는 투표 정보를 수신할 수 있다. 프로세서(940)는 노드(10)에서 수집된 투표 정보로부터 투표 결과 정보를 획득할 수 있다. 또한, 통신 장치(910)는 이벤트의 서비스를 제공하는 서버로부터 제1 이벤트에 대한 투표 결과 정보를 수신할 수 있다.
프로세서(940)는 노드(10)에서 획득된 투표 결과 정보 및 서버로부터 획득된 투표 결과 정보를 비교함으로써, 투표 결과 정보를 확인할 수 있다. 노드(10)에서 획득된 투표 결과 정보 및 서버로부터 획득된 투표 결과 정보가 일치되면, 프로세서(940)는 투표 결과 정보에 기초하여, 최대로 선택된 순서로 적어도 하나의 선정 고유 코드를 결정하고, 적어도 하나의 선정 고유 코드를 보유한 제1 이벤트의 적어도 하나의 선정자를 선정할 수 있다.
프로세서(940)는 선정자의 고유 코드의 정보 및 제1 사용자의 선정 여부의 정보를 포함하는 제1 이벤트의 선정 결과 정보를 획득할 수 있다. 통신 장치(910)는 제1 이벤트의 선정 결과정보를 제1 사용자의 전자 장치로 전송할 수 있다.
한편, 프로세서(940)는 선정 고유 코드가 제1 이벤트를 주최하는 서비스 제공자의 개인키로 암호화된, 선정 고유 정보가 포함된 블록을 원장에 추가할 수 있다.
상술한 노드(10), 전자 장치 (20), 서버(30)의 동작 방법은 컴퓨터 또는 프로세서에 의하여 실행 가능한 명령어 또는 데이터를 저장하는 컴퓨터 판독 가능 저장매체의 형태로 구현될 수 있다. 컴퓨터에서 실행될 수 있는 프로그램으로 작성가능하고, 컴퓨터 판독 가능 저장매체를 이용하여 이와 같은 프로그램을 동작시키는 범용 디지털 컴퓨터에서 구현될 수 있다. 이와 같은 컴퓨터 판독 가능 저장매체는 ROM, RAM, flash memory, CD, DVD 마그네틱 테이프, 플로피 디스크, 광자기 데이터 저장 장치, 광학 데이터 저장 장치, 하드 디스크, 솔리드-스테이트 디스크(SSD), 그리고 명령어 또는 소프트웨어, 관련 데이터, 데이터 파일, 및 데이터 구조들을 저장할 수 있다.
이상과 같이 실시예들이 비록 한정된 실시예와 도면에 의해 설명되었으나, 해당 기술분야에서 통상의 지식을 가진 자라면 상기의 기재로부터 다양한 수정 및 변형이 가능하다. 예를 들어, 설명된 기술들이 설명된 방법과 다른 순서로 수행되거나, 및/또는 설명된 시스템, 구조, 장치, 회로 등의 구성요소들이 설명된 방법과 다른 형태로 결합 또는 조합되거나, 다른 구성요소 또는 균등물에 의하여 대치되거나 치환되더라도 적절한 결과가 달성될 수 있다.
그러므로, 본 발명의 범위는 설명된 실시예에 국한되어 정해져서는 아니 되며, 후술하는 특허청구범위뿐 아니라 이 특허청구범위와 균등한 것들에 의해 정해져야 한다.

Claims (10)

  1. 이벤트에 참여한 참여자의 참여 정보를 기록한 원장을 분산하여 관리하는 블록체인의 네트워크 상의 노드의 동작 방법에 있어서,
    제1 사용자의 전자 장치로부터, 상기 제1 사용자가 제1 참여 방식에 따라 제1 이벤트를 참여한 정보를 나타내는 제1 참여 정보가 암호화된, 제1 암호화 정보를 획득하는 단계;
    상기 제1 암호화 정보의 유효성이 검증되면, 상기 제1 참여 정보에 대응되는 제1 고유 코드를 생성하고, 상기 제1 고유 코드가 암호화된 제1 고유 정보가 포함된 제1 블록을 상기 원장에 추가하는 단계;
    상기 제1 이벤트에 대한 복수의 참여 정보 각각에 대응되는 고유 코드에 기초하여 실행된 소정의 선정 방식으로부터, 상기 제1 이벤트의 선정자를 선정하는 단계; 및
    상기 선정자의 고유 코드의 정보 및 상기 제1 사용자의 선정 여부의 정보를 포함하는 상기 제1 이벤트의 선정 결과 정보를 상기 제1 사용자의 전자 장치로 전송하는 단계를 포함하고,
    상기 제1 암호화 정보를 획득하는 단계는,
    상기 제1 사용자의 개인키로 상기 제1 참여 정보에 대응되는 제1 해시값이 암호화된, 상기 제1 암호화 정보를 획득하는 단계를 포함하고,
    상기 제1 고유 정보가 포함된 제1 블록을 상기 원장에 추가하는 단계는,
    상기 제1 암호화 정보의 유효성이 검증되면, 상기 제1 참여 정보에 대응되는 상기 제1 해시값을, 미리 설정된 고유 코드들 중 제1 고유 코드에 할당하는 단계 - 상기 미리 설정된 고유 코드들은, 상기 제1 이벤트의 참여자들이 상기 제1 이벤트의 선정자를 선정하는 데에 이용됨 -; 및
    상기 제1 해시값으로 상기 제1 고유 코드를 암호화하여, 상기 제1 고유 정보를 생성하고, 상기 제1 고유 정보와 상기 제1 암호화 정보가 결합된 결합 정보를 포함하는 상기 제1 블록을 상기 원장에 추가하는 단계를 포함하는, 노드의 동작 방법.
  2. 삭제
  3. 삭제
  4. 제1항에 있어서,
    상기 제1 이벤트에 대한 복수의 참여 정보 각각에 대응되는 고유 코드에 기초하여 실행된 소정의 선정 방식으로부터, 상기 제1 이벤트의 선정자를 선정하는 단계는,
    상기 복수의 참여 정보를 발생시킨 복수의 사용자의 전자 장치로부터, 상기 미리 설정된 고유 코드들 중 하나의 코드를 선택하는 투표 정보를 수신하는 단계; 및
    상기 투표 정보에 기초하여, 최대로 선택된 선정 고유 코드를 결정하고, 상기 선정 고유 코드를 보유한 제1 이벤트의 선정자를 선정하는 단계를 포함하는, 노드의 동작 방법.
  5. 제1항에 있어서,
    상기 제1 고유 정보가 포함된 상기 제1 블록이 상기 원장에 추가되면, 상기 제1 이벤트에 대한 선정자 결정이 완료되고 복호화 가능하도록 설정된 상기 제1 고유 정보를 상기 제1 사용자의 전자 장치로 전송하는 단계를 더 포함하는, 노드의 동작 방법.
  6. 제1항에 있어서,
    상기 제1 이벤트에 참여하는 참여 방식은, 상기 제1 이벤트와 관련된 적어도 하나의 특정 아이템을 구매하면, 상기 제1 이벤트의 참여권을 부여하는 참여 방식, 상기 제1 이벤트를 주최하는 서비스 제공자와 관련된 광고 보기가 완료되면, 상기 제1 이벤트의 참여권을 부여하는 참여 방식 중 적어도 하나의 방식인, 노드의 동작 방법.
  7. 제1항에 있어서,
    상기 선정 고유 코드가 상기 제1 이벤트를 주최하는 서비스 제공자의 개인키로 암호화된, 선정 고유 정보가 포함된 블록을 상기 원장에 추가하는 단계를 더 포함하는, 노드의 동작 방법.
  8. 제1 이벤트에 참여하는 제1 참여 방식에 따라, 상기 제1 이벤트를 참여하는 단계;
    사용자의 개인키로 상기 제1 이벤트를 참여한 정보를 나타내는 제1 참여 정보가 암호화된, 제1 암호화 정보를 획득하는 단계;
    상기 제1 암호화 정보를 소정 이벤트에 참여한 참여자의 참여 정보를 기록한 원장을 분산하여 관리하는 블록체인의 네트워크 상의 제1 노드로 전송하는 단계;
    상기 제1 노드로부터, 상기 제1 참여 정보에 대응되는 제1 고유 코드가 암호화된 제1 고유 정보를 수신하는 단계 - 상기 제1 고유 정보는 상기 제1 이벤트에 대한 선정자의 선정이 완료되고 복호화 가능하도록 설정됨-;
    상기 제1 이벤트의 복수의 고유 코드들에 대한 선정 정보를 입력한 사용자 정보를 수신하는 단계; 및
    상기 선정 정보로부터 선정된 상기 선정자의 고유 코드의 정보 및 상기 사용자의 선정 여부의 정보를 포함하는, 제1 이벤트의 선정 결과 정보를 상기 제1 노드로부터 수신하는 단계를 포함하고,
    상기 제1 이벤트의 선정 결과 정보를 상기 제1 노드로부터 수신하는 단계는,
    상기 제1 이벤트에 대한 선정자의 선정이 완료되면, 상기 제1 참여 정보에 대응되는 제1 해시값을 획득하는 단계;
    상기 제1 해시값으로 상기 제1 고유 정보를 복호화하여, 미리 설정된 고유 코드들 중 상기 제1 고유 코드를 획득하는 단계 - 상기 미리 설정된 고유 코드들은, 상기 제1 이벤트의 참여자들이 상기 제1 이벤트의 선정자를 선정하는 데에 이용됨 -; 및
    상기 제1 고유 코드와 상기 선정자의 고유 코드가 일치하는지 여부를 나타내는 정보를 표시하는 단계를 포함하는, 전자 장치의 동작 방법.
  9. 삭제
  10. 제8항에 있어서,
    상기 제1 이벤트에 참여하는 참여 방식은, 상기 제1 이벤트와 관련된 적어도 하나의 특정 아이템을 구매하면, 상기 제1 이벤트의 참여권을 부여하는 참여 방식, 상기 제1 이벤트를 주최하는 서비스 제공자와 관련된 광고 보기가 완료되면, 상기 제1 이벤트의 참여권을 부여하는 참여 방식 중 적어도 하나의 방식인, 전자 장치의 동작 방법.
KR1020200020814A 2020-02-20 2020-02-20 블록체인에 기반하여 이벤트를 제공하는 시스템 KR102360329B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020200020814A KR102360329B1 (ko) 2020-02-20 2020-02-20 블록체인에 기반하여 이벤트를 제공하는 시스템

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020200020814A KR102360329B1 (ko) 2020-02-20 2020-02-20 블록체인에 기반하여 이벤트를 제공하는 시스템

Publications (2)

Publication Number Publication Date
KR20210106104A KR20210106104A (ko) 2021-08-30
KR102360329B1 true KR102360329B1 (ko) 2022-02-09

Family

ID=77502064

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020200020814A KR102360329B1 (ko) 2020-02-20 2020-02-20 블록체인에 기반하여 이벤트를 제공하는 시스템

Country Status (1)

Country Link
KR (1) KR102360329B1 (ko)

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2017157910A (ja) * 2016-02-29 2017-09-07 日本電気株式会社 電子抽選システム及び電子抽選方法
KR102051062B1 (ko) * 2019-03-06 2020-01-08 신현구 블록체인 기반 경품별 응모마감 예측을 통한 경품 추첨 서비스 제공 방법

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102051372B1 (ko) * 2018-04-26 2019-12-03 염귀덕 블록체인 기반의 이벤트 당첨 처리 방법

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2017157910A (ja) * 2016-02-29 2017-09-07 日本電気株式会社 電子抽選システム及び電子抽選方法
KR102051062B1 (ko) * 2019-03-06 2020-01-08 신현구 블록체인 기반 경품별 응모마감 예측을 통한 경품 추첨 서비스 제공 방법

Also Published As

Publication number Publication date
KR20210106104A (ko) 2021-08-30

Similar Documents

Publication Publication Date Title
JP7203829B2 (ja) ブロックチェーンでエンティティにより提供されるデータの通信、保存、及び処理のためのシステム及び方法
KR102240939B1 (ko) 트랜잭션 증명 방식의 합의 알고리즘이 적용된 블록체인 시스템 및 그 방법
US20190220836A1 (en) Methods and Systems for Media Distribution Employing Contracts Implemented in a Distributed Ledger
US11030841B2 (en) Decentralized talent discovery via blockchain
KR102610127B1 (ko) 전자 지갑을 이용한 암호화폐의 거래 서비스를 제공하는 장치 및 방법
KR20200106130A (ko) 블록체인 내의 스마트 계약에 기초하여 거래 활동의 민감한 데이터를 보호하기 위한 방법 및 디바이스
US20030120611A1 (en) Content distribution system and content distribution method
CN110796449B (zh) 交易处理方法、系统、介质和计算设备
US20020099663A1 (en) Content delivery system and content delivery method
US20210125282A1 (en) Information Processing Method, Information Processing Apparatus and Non-Transitory Computer-Readable Storage Medium
CN108370320A (zh) 具有数字版权管理同时保护用户隐私的多媒体内容播放器
KR102295236B1 (ko) 블록체인 네트워크에 기반하여 소장품 소유권을 분양하는 방법 및 이를 이용한 온라인 거래 서버
JP2001216198A (ja) 利用許可証発行装置および方法
WO2021073190A1 (zh) 一种基于区块链的电视信息推送方法及系统
JP6404435B1 (ja) アイテム取引システム及びアイテム取引プログラム
JP2022532886A (ja) ブロックチェーンへの包含のためのトランザクションの適応性
EP4203383A1 (en) Multi-input transactions
KR20190119454A (ko) 가챠 시스템의 확률 정보를 획득하는 방법, 장치 및 컴퓨터 프로그램
TW201310372A (zh) 非有形商品之電子商務交易方法
JP2018022346A (ja) データの取引システム及びプログラム
KR102360329B1 (ko) 블록체인에 기반하여 이벤트를 제공하는 시스템
JP2002140534A (ja) ログ管理構成を持つコンテンツ配信システムおよびコンテンツ配信方法
JP4410038B2 (ja) 電子チケット販売・譲渡方法、サーバ装置、プログラム及び記録媒体
CN112734455B (zh) 兑奖结果的生成方法、装置、设备及可读存储介质
TW201945989A (zh) 智能票證系統、智能票證派發方法與電腦可讀取儲存裝置

Legal Events

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