KR102192887B1 - 블록체인 네트워크에서 스마트 계약을 사용한 제품 프로모션 - Google Patents

블록체인 네트워크에서 스마트 계약을 사용한 제품 프로모션 Download PDF

Info

Publication number
KR102192887B1
KR102192887B1 KR1020197031532A KR20197031532A KR102192887B1 KR 102192887 B1 KR102192887 B1 KR 102192887B1 KR 1020197031532 A KR1020197031532 A KR 1020197031532A KR 20197031532 A KR20197031532 A KR 20197031532A KR 102192887 B1 KR102192887 B1 KR 102192887B1
Authority
KR
South Korea
Prior art keywords
promotion
node
event
blockchain network
redemption
Prior art date
Application number
KR1020197031532A
Other languages
English (en)
Other versions
KR20200119707A (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 어드밴스드 뉴 테크놀로지스 씨오., 엘티디.
Publication of KR20200119707A publication Critical patent/KR20200119707A/ko
Application granted granted Critical
Publication of KR102192887B1 publication Critical patent/KR102192887B1/ko

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q20/00Payment architectures, schemes or protocols
    • G06Q20/02Payment architectures, schemes or protocols involving a neutral party, e.g. certification authority, notary or trusted third party [TTP]
    • 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/0276Advertisement creation
    • 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/0208Trade or exchange of goods or services in exchange for incentives or rewards
    • 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
    • G06Q20/00Payment architectures, schemes or protocols
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q20/00Payment architectures, schemes or protocols
    • G06Q20/08Payment architectures
    • G06Q20/12Payment architectures specially adapted for electronic shopping systems
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q20/00Payment architectures, schemes or protocols
    • G06Q20/22Payment schemes or models
    • G06Q20/223Payment schemes or models based on the use of peer-to-peer networks
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q20/00Payment architectures, schemes or protocols
    • G06Q20/38Payment protocols; Details thereof
    • G06Q20/40Authorisation, e.g. identification of payer or payee, verification of customer or shop credentials; Review and approval of payers, e.g. check credit lines or negative lists
    • G06Q20/405Establishing or using transaction specific rules
    • 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
    • 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/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
    • G06Q30/00Commerce
    • G06Q30/02Marketing; Price estimation or determination; Fundraising
    • G06Q30/0241Advertisements
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q40/00Finance; Insurance; Tax strategies; Processing of corporate or income taxes
    • G06Q40/04Trading; Exchange, e.g. stocks, commodities, derivatives or currency exchange
    • 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/0618Block ciphers, i.e. encrypting groups of characters of a plain text message using fixed encryption transformation
    • H04L9/0637Modes of operation, e.g. cipher block chaining [CBC], electronic codebook [ECB] or Galois/counter mode [GCM]
    • 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
    • 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

Landscapes

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

Abstract

블록체인 네트워크에서 스마트 계약을 사용한 제품 프로모션을 위한 컴퓨터 저장 매체들 상에 인코딩된 컴퓨터 프로그램들을 포함하는 방법들, 시스템들, 및 장치가 본 명세서에 개시된다. 방법은, 블록체인 네트워크의 노드에 의해, 프로모션 이벤트를 생성해달라는 생성 요청을 수신하는 단계 - 프로모션 이벤트는 복수의 프로모션 코드들 및 한 쌍의 비밀 키 및 공개 키와 연관되고, 생성 요청은 비밀 키를 사용하여 생성된 디지털 시그너처 및 공개 키를 포함함 -; 노드에 의해 공개 키 및 디지털 시그너처에 기초하여, 생성 요청의 유효성을 결정하는 단계; 및 생성 요청이 유효하다고 결정한 것에 응답하여, 노드에 의해, 블록체인 네트워크에 복수의 프로모션 코드들을 저장함이 없이 스마트 계약을 사용하여 블록체인 네트워크에 프로모션 이벤트를 등록하는 단계를 포함한다.

Description

블록체인 네트워크에서 스마트 계약을 사용한 제품 프로모션
본 명세서는 블록체인 네트워크들에서 스마트 계약들을 사용한 제품 프로모션에 관한 것이다.
분산형 원장 시스템(distributed ledger system; DLS)들은 참여 엔티티들이 데이터를 보안적으로 그리고 불변으로 저장할 수 있게 한다. DLS들은 또한, 임의의 특정 사용 경우를 참조하지 않고 합의 네트워크들 또는 블록체인 네트워크들로 지칭된다. 블록체인 네트워크들의 예들은 엔티티들의 선택 그룹에 제공된 컨소시엄 블록체인 네트워크들을 포함할 수 있다. 컨소시엄 블록체인 네트워크는 엔티티들의 선택 그룹에 대한 합의 프로세스를 제어할 수 있다. 컨소시엄 블록체인 네트워크는 액세스 제어 층을 포함한다.
쿠폰은 상인들에 의해 홍보되는 일종의 마케팅 수단이며, 이를 통해 소비자들은 더 저렴한 제품들 또는 서비스들을 획득할 수 있다. 결국 상인들은 더 많은 고객들을 얻을 수 있다. 쿠폰들은 인쇄된 쿠폰들 또는 전자 쿠폰들을 포함할 수 있다. 전자 쿠폰들을 발행할 때, 상인들은 종종 고유의 식별자들을 생성하여 쿠폰들과 연관시킨다. 고유의 식별자들은 또한 "쿠폰 코드들"로 지칭될 수 있다. 통상적으로, 고유의 식별자들은 중앙집중형 데이터 저장소에 저장된다. 소비자들은 관련 제품을 통해 쿠폰의 고유의 식별자를 획득하고, 그 다음 대응하는 보상들을 상환(redeem)할 수 있다. 중앙집중형 데이터 저장소가 침입, 해킹 또는 그렇지 않으면 손상되면, 쿠폰 정보가 누설되어 무효 활동들, 심각한 재정 손실들 및 다른 결과들을 초래할 수 있다. 일부 경우들에서, 고유의 식별자는 추측되거나 그렇지 않으면 암호해독될 수 있다.
누설되는 것, 악의적으로 암호해독되는 것 및 다른 결과들로부터 쿠폰들을 보호하기 위한 효과적인 수단을 갖는 것이 바람직하다.
본 명세서는 블록체인 네트워크에서 스마트 계약을 사용한 제품 프로모션에 대한 기술들을 설명한다.
본 명세서의 구현들은 블록체인 네트워크에서 스마트 계약을 사용한 제품 프로모션 이벤트들(스마트 계약-기반 프로모션 이벤트로 지칭됨)을 구현하는 것에 관한 것이다. 일부 실시예들에서, 하나 이상의 제품들(예를 들어, 하나 이상의 상품들 및 서비스들을 포함함)의 상인(예를 들어, 브랜드 소유자, 소매상 또는 제조자)은 예를 들어, 마케팅 목적을 위해 프로모션 이벤트를 생성할 수 있다. 일부 실시예들에서, 상인은 프로모션 이벤트를 위해 복수의 디지털 또는 전자 티켓들(예를 들어, 전자 바우처, 전자 쿠폰 또는 전자 선물 인증서)을 발행할 수 있다.
일부 실시예들에서, 스마트 계약은 상인에 의한 프로모션 이벤트들의 생성 및 소비자에 의한 디지털 티켓의 상환을 용이하게 하도록 블록체인 네트워크에서 프로모션 이벤트를 구현하기 위해 사용될 수 있다. 일부 실시예들에서, 스마트 계약-기반 프로모션 이벤트는 복수의 디지털 티켓들을 저장하기 위해 필요한 저장 공간을 절감할 수 있다. 일부 실시예들에서, 스마트 계약-기반 프로모션 이벤트는 블록체인 네트워크에 디지털 티켓들을 동시에 업로드하는 계산 병목현상을 우회할 수 있다. 일부 실시예들에서, 스마트 계약-기반 프로모션 이벤트는 누설되거나 악의적으로 암호해독되는 것으로부터 디지털 티켓들을 보호하기 위한 향상된 데이터 보안을 제공할 수 있다.
본 명세서는 또한, 하나 이상의 프로세서들에 결합되고 명령어들이 저장된 하나 이상의 컴퓨터 판독가능 비일시적 저장 매체들을 제공하고, 명령어들은 하나 이상의 프로세서들에 의해 실행되는 경우, 하나 이상의 프로세서들로 하여금 본 명세서에 제공된 방법들의 실시예들에 따른 동작들을 수행하게 한다.
본 명세서는 본 명세서에 제공된 방법들을 구현하기 위한 시스템을 추가로 제공한다. 시스템은, 하나 이상의 프로세서들, 및 하나 이상의 프로세서들에 결합되고 명령어들이 저장된 하나 이상의 컴퓨터 판독가능 비일시적 저장 매체들을 포함하고, 명령어들은 하나 이상의 프로세서들에 의해 실행되는 경우, 하나 이상의 프로세서들로 하여금 본 명세서에 제공된 방법들의 실시예들에 따른 동작들을 수행하게 한다.
본 명세서에 따른 방법들은 본 명세서에 설명된 양상들 및 특징들의 임의의 조합을 포함할 수 있음이 인식된다. 즉, 본 명세서에 따른 방법들은 본 명세서에 구체적으로 설명된 양상들 및 특징들의 조합들로 제한되는 것이 아니라, 제공된 양상들 및 특징들의 임의의 조합을 또한 포함한다.
본 명세서의 하나 이상의 실시예들의 세부사항들은 첨부된 도면들 및 이하의 설명에서 기술된다. 본 명세서의 다른 특징들 및 이점들은 상세한 설명 및 도면들 및 청구항들로부터 명백해질 것이다.
도 1은 본 명세서의 실시예들을 실행하기 위해 사용될 수 있는 환경의 예를 예시하는 도면이다.
도 2는 본 명세서의 실시예들에 따른 아키텍처의 예를 예시하는 도면이다.
도 3은 본 명세서의 실시예들에 따라, 블록체인 네트워크에서 스마트 계약을 사용하여 제품 프로모션 이벤트를 생성하기 위한 동작들의 예들을 예시하는 도면이다.
도 4는 본 명세서의 실시예들에 따라, 블록체인 네트워크에서 스마트 계약을 사용하여 구현된 제품 프로모션 이벤트의 프로모션 코드를 상환하기 위한 동작들의 예들을 예시하는 도면이다.
도 5는 본 명세서의 실시예들에 따라, 블록체인 네트워크에서 스마트 계약들을 사용한 제품 프로모션을 위한 프로세스의 예를 도시한다.
도 6은 본 명세서의 실시예들에 따른 장치의 모듈들의 예들을 도시한다.
다양한 도면들에서 유사한 참조 부호들 및 지정들은 유사한 요소들을 표시한다.
본 명세서의 구현들은 블록체인 네트워크에서 스마트 계약을 사용한 제품 프로모션 이벤트들(스마트 계약-기반 프로모션 이벤트로 지칭됨)을 구현하는 것에 관한 것이다. 일부 실시예들에서, 하나 이상의 제품들(예를 들어, 하나 이상의 상품들 및/또는 서비스들을 포함함)의 상인(예를 들어, 브랜드 소유자, 소매상, 도매업자 또는 제조자)은 예를 들어, 마케팅 목적을 위해 프로모션 이벤트를 생성할 수 있다. 일부 실시예들에서, 상인은 프로모션 이벤트를 위해 복수의 디지털 또는 전자 티켓들(예를 들어, 전자 바우처, 전자 쿠폰, 전자 선물 인증서 또는 전자 레드 엔벨로프)을 발행할 수 있다.
일부 실시예들에서, 스마트 계약은 상인에 의한 프로모션 이벤트들의 생성 및 소비자에 의한 디지털 티켓의 상환을 용이하게 하도록 블록체인 네트워크에서 프로모션 이벤트를 구현하기 위해 사용될 수 있다. 일부 실시예들에서, 스마트 계약-기반 프로모션 이벤트는 복수의 디지털 티켓들을 저장하기 위해 필요한 저장 공간을 절감할 수 있다. 일부 실시예들에서, 스마트 계약-기반 프로모션 이벤트는 블록체인 네트워크에 디지털 티켓들을 동시에 업로드하는 계산 병목현상을 우회할 수 있다. 일부 실시예들에서, 스마트 계약-기반 프로모션 이벤트는 누설되거나 악의적으로 암호해독되는 것으로부터 디지털 티켓들을 보호하기 위한 향상된 데이터 보안을 제공할 수 있다.
본 명세서의 실시예들에 대한 추가적인 콘텍스트를 제공하기 위해, 그리고 앞서 소개된 바와 같이, 합의 네트워크들(예를 들어, 피어-투-피어 노드들로 구성됨) 및 블록체인 네트워크들로 또한 지칭될 수 있는 분산형 원장 시스템들(DLS들) 및 블록체인 네트워크들은 참여 엔티티들이 거래들을 안전하고 불변으로 수행하고 데이터를 저장할 수 있게 한다. 용어 블록체인은 일반적으로 특정 네트워크들 및/또는 사용 경우들과 연관되지만, 블록체인은 본 명세서에서 일반적으로 임의의 특정 사용 경우를 참조하지 않고 DLS를 지칭하기 위해 사용된다.
블록체인은, 거래들이 불변인 방식으로 거래들을 저장하는 데이터 구조이다. 따라서, 블록체인 상에 레코딩된 거래들은 신뢰가능하고 믿을 수 있다. 블록체인은 하나 이상의 블록들을 포함한다. 체인 내의 각각의 블록은 이전 블록의 암호화 해시를 포함함으로써 체인 내에서 그 직전의 이전 블록에 링크된다. 각각의 블록은 또한 타임스탬프, 자기 자신의 암호화 해시 및 하나 이상의 거래들을 포함한다. 블록체인 네트워크의 노드들에 의해 이미 검증된 거래들은 해시되고 머클 트리(Merkle tree)에 인코딩된다. 머클 트리는, 트리의 리프 노드들의 데이터가 해시되고, 트리의 각각의 브랜치의 모든 해시들이 브랜치의 루트에서 연쇄되는 데이터 구조이다. 이러한 프로세스는 전체 트리의 루트까지 트리에서 계속되며, 루트는 트리의 모든 데이터를 표현하는 해시를 저장한다. 트리에 저장된 거래인 것으로 알려진 해시는, 이것이 트리의 구조와 일치하는지 여부를 결정함으로써 신속하게 검증될 수 있다.
블록체인은 거래들을 저장하기 위한 분산형 또는 적어도 부분적으로 분산형의 데이터 구조이지만, 블록체인 네트워크는 거래들을 브로드캐스트, 검증 및 확인 등을 행함으로써 하나 이상의 블록체인들을 관리, 업데이트 및 유지하는 노드들을 컴퓨팅하는 네트워크이다. 앞서 소개된 바와 같이, 블록체인 네트워크는 공개 블록체인 네트워크, 사설 블록체인 네트워크 또는 컨소시엄 블록체인 네트워크로서 제공될 수 있다. 본 명세서의 실시예들은 컨소시엄 블록체인 네트워크를 참조하여 본 명세서에서 더 상세히 설명된다. 그러나, 본 명세서의 실시예들은 임의의 적절한 유형의 블록체인 네트워크에서 실현될 수 있는 것으로 고려된다.
일반적으로, 컨소시엄 블록체인 네트워크는 참여 엔티티들 사이에서 비밀이다. 컨소시엄 블록체인 네트워크에서, 합의 프로세스는 합의 노드들로 지칭될 수 있는 노드들의 인가된 세트에 의해 제어되고, 하나 이상의 노드들은 각각의 엔티티(예를 들어, 금융 기관, 보험 회사)에 의해 동작된다. 예를 들어, 열(10)개의 엔티티들(예를 들어, 금융 기관들, 보험 회사들)의 컨소시엄이 컨소시엄 블록체인 네트워크를 동작시킬 수 있고, 이들 각각은 컨소시엄 블록체인 네트워크의 적어도 하나의 노드를 동작시킨다.
일부 예들에서, 컨소시엄 블록체인 네트워크 내에서는, 모든 노드들에 걸쳐 복제된 블록체인으로서 글로벌 블록체인이 제공된다. 즉, 모든 합의 노드들은 글로벌 블록체인에 대해 완전한 상태 합의에 있다. 합의(예를 들어, 블록의 블록체인에의 추가에 대한 동의)를 달성하기 위해, 합의 프로토콜이 컨소시엄 블록체인 네트워크 내에서 구현된다. 예를 들어, 컨소시엄 블록체인 네트워크는 아래에서 더 상세히 설명되는 PBFT(practical Byzantine fault tolerance) 합의를 구현할 수 있다.
도 1은 본 명세서의 실시예들을 실행하기 위해 사용될 수 있는 환경(100)의 예를 예시하는 도면이다. 일부 예들에서, 환경(100)은 엔티티들이 컨소시엄 블록체인 네트워크(102)에 참여할 수 있게 한다. 환경(100)은 컴퓨팅 디바이스들(106, 108) 및 네트워크(110)를 포함한다. 일부 예들에서, 네트워크(110)는 로컬 영역 네트워크(LAN), 광역 네트워크(WAN), 인터넷 또는 이들의 조합을 포함하고, 웹 사이트들, 사용자 디바이스들(예를 들어, 컴퓨팅 디바이스들) 및 백엔드 시스템들을 연결한다. 일부 예들에서, 네트워크(110)는 유선 및/또는 무선 통신 링크를 통해 액세스될 수 있다. 일부 예들에서, 네트워크(110)는 컨소시엄 블록체인 네트워크(102)와의 및 그 안에서의 통신을 가능하게 한다. 일반적으로 네트워크(110)는 하나 이상의 통신 네트워크들을 표현한다. 일부 경우들에서, 컴퓨팅 디바이스들(106, 108)은 클라우드 컴퓨팅 시스템(미도시)의 노드들일 수 있거나 또는 각각의 컴퓨팅 디바이스(106, 108)는 네트워크에 의해 상호연결된 복수의 컴퓨터들을 포함하고 분산형 프로세싱 시스템으로 기능하는 별개의 클라우드 컴퓨팅 시스템일 수 있다.
도시된 예에서, 컴퓨팅 시스템들(106, 108) 각각은 컨소시엄 블록체인 네트워크(102)의 노드로서 참여를 가능하게 하는 임의의 적절한 컴퓨팅 시스템을 포함할 수 있다. 컴퓨팅 디바이스들의 예들은 제한 없이 서버, 데스크탑 컴퓨터, 랩탑 컴퓨터, 태블릿 컴퓨팅 디바이스 및 스마트폰을 포함한다. 일부 예들에서, 컴퓨팅 시스템들(106, 108)은 컨소시엄 블록체인 네트워크(102)와 상호작용하기 위한 하나 이상의 컴퓨터-구현 서비스들을 호스팅한다. 예를 들어, 컴퓨팅 시스템(106)은, 제1 엔티티(예를 들어, 사용자 A)가 하나 이상의 다른 엔티티들(예를 들어, 다른 사용자들)과 자신의 거래들을 관리하기 위해 사용하는 거래 관리 시스템과 같은, 제1 엔티티의 컴퓨터-구현 서비스들을 호스팅할 수 있다. 컴퓨팅 시스템(108)은, 제2 엔티티(예를 들어, 사용자 B)가 하나 이상의 다른 엔티티들(예를 들어, 다른 사용자들)과 자신의 거래들을 관리하기 위해 사용하는 거래 관리 시스템과 같은, 제2 엔티티의 컴퓨터-구현 서비스들을 호스팅할 수 있다. 도 1의 예에서, 컨소시엄 블록체인 네트워크(102)는 노드들의 피어-투-피어 네트워크로 표현되고, 컴퓨팅 시스템들(106, 108)은 각각, 컨소시엄 블록체인 네트워크(102)에 참여한 제1 엔티티 및 제2 엔티티의 노드들을 제공한다.
도 2는 본 명세서의 실시예들에 따른 아키텍처(200)의 예를 도시한다. 예시적인 아키텍처(200)는 참여자 A, 참여자 B, 및 참여자 C에 각각 대응하는 참여자 시스템들(202, 204, 206)을 포함한다. 각각의 참여자(예를 들어, 사용자, 기업)는 복수의 노드들(214)을 포함하는 피어-투-피어 네트워크로서 제공된 블록체인 네트워크(212)에 참여하고, 노드들 중 적어도 일부는 정보를 블록체인(216)에 불변으로 레코딩한다. 단일 블록체인(216)가 블록체인 네트워크(212) 내에 개략적으로 도시되지만, 블록체인(216)의 복수의 카피들이 제공되고, 본 명세서에 더 상세히 설명되는 바와 같이 블록체인 네트워크(212)에 걸쳐 유지된다.
도시된 예에서, 각각의 참여자 시스템(202, 204, 206)는 각각 참여자 A, 참여자 B 및 참여자 C에 의해 또는 그 대신에 제공되고, 블록체인 네트워크 내에서 각각의 노드(214)로서 기능한다. 본 명세서에서 사용되는 바와 같이, 노드는 일반적으로 블록체인 네트워크(212)에 접속된 개별적인 시스템(예를 들어, 컴퓨터, 서버)을 지칭하며, 각각의 참여자가 블록체인 네트워크에 참여할 수 있게 한다. 도 2의 예에서, 참여자는 각각의 노드(214)에 대응한다. 그러나, 참여자는 블록체인 네트워크(212) 내의 복수의 노드들(214)을 동작시킬 수 있고 그리고/또는 복수의 참여자들은 노드(214)를 공유할 수 있음이 고려된다. 일부 예들에서, 참여자 시스템들(202, 204, 206)은 프로토콜(예를 들어, 하이퍼텍스트 전송 프로토콜 보안(HTTPS))을 사용하여 그리고/또는 원격 절차 호출들(RPC들)을 사용하여 블록체인 네트워크(212)과 또는 그를 통해 통신한다.
노드들(214)은 블록체인 네트워크(212) 내에서 다양한 참여도를 가질 수 있다. 예를 들어, 일부 노드들(214)은 합의 프로세스에 참여할 수 있는 한편(예를 들어, 블록체인(216)에 블록들을 추가하는 채굴 노드들), 다른 노드들(214)은 합의 프로세스에 참여하지 않는다. 다른 예로서, 일부 노드들(214)은 블록체인(216)의 완전한 카피를 저장하는 한편, 다른 노드들(214)은 블록체인(216)의 일부분들의 카피들만을 저장한다. 예를 들어, 데이터 액세스 특권들은, 각각의 참여자가 자신의 각각의 시스템 내에 저장하는 블록체인 데이터를 제한할 수 있다. 도 2의 예에서, 참여자 시스템들(202, 204)은 블록체인(216)의 각각의 완전한 카피들(216', 216")을 저장한다.
블록체인(예를 들어, 도 2의 블록체인(216))은 블록들의 체인으로 이루어지고, 각각의 블록은 데이터를 저장한다. 데이터의 예들은 둘 이상의 참여자들 사이의 거래를 표현하는 거래 데이터를 포함한다. 거래들은 비제한적인 예시의 방식으로 본 명세서에서 사용되지만, 임의의 적절한 데이터가 블록체인에 저장될 수 있음이 고려된다(예를 들어, 문서들, 이미지들, 비디오들, 오디오). 거래의 예들은 제한 없이 어떠한 값(예를 들어, 자산들, 제품들, 서비스들, 화폐)의 교환들을 포함할 수 있다. 거래 데이터는 블록체인 내에 불변으로 저장된다. 즉, 거래 데이터는 변경될 수 없다.
블록에 저장하기 전에, 거래 데이터는 해시(hash)된다. 해시는 거래 데이터(스트링 데이터로서 제공됨)를 고정 길이 해시 값(또한 스트링 데이터로서 제공됨)으로 변환하는 프로세스이다. 거래 데이터를 획득하기 위해, 해시 값을 언-해시하는 것은 가능하지 않다. 해시하는 것은, 거래 데이터에서 심지어 약간의 변화로도 완전히 상이한 해시 값을 도출하는 것을 보장한다. 또한, 그리고 앞서 언급된 바와 같이, 해시 값은 고정 길이이다. 즉, 거래 데이터의 크기와 무관하게, 해시 값의 길이가 고정된다. 해시하는 것은 해시 값을 생성하기 위해 해시 함수를 통해 거래 데이터를 프로세싱하는 것을 포함한다. 해시 함수의 예는 제한 없이, 보안 해시 알고리즘(SHA)-256을 포함하고, 이는 256-비트 해시 값들을 출력한다.
복수의 거래들의 거래 데이터는 해시되고 블록에 저장된다. 예를 들어, 2개의 거래들의 해시 값들이 제공되고, 다른 해시를 제공하기 위해 스스로 해시된다. 이러한 프로세스는, 블록에 저장될 모든 거래들에 대해, 단일 해시 값이 제공될 때까지 반복된다. 이러한 해시 값은 머클 루트 해시로 지칭되고, 블록의 헤더에 저장된다. 거래들 중 임의의 것에서의 변화는 그 해시 값에서의 변화, 및 궁극적으로 머클 루트 해시에서의 변화를 도출할 것이다.
블록들은 합의 프로토콜을 통해 블록체인에 추가된다. 블록체인 네트워크 내의 복수의 노드들은 합의 프로토콜에 참여하고, 블록을 블록체인에 추가되는 블록을 갖기 위한 작업을 수행한다. 이러한 노드들은 합의 노드들로 지칭된다. 앞서 소개된 PBFT는 합의 프로토콜의 비제한적인 예로서 사용된다. 합의 노드들은 합의 프로토콜을 실행하여, 블록체인에 거래들을 추가하고, 블록체인 네트워크의 전체 상태를 업데이트한다.
더 상세하게는, 합의 노드는 블록 헤더를 생성하고, 블록 내의 거래들 전부를 해시하고, 블록 내의 모든 거래들에 대해 단일 해시 값이 제공될 때까지 추가적인 해시 값들을 생성하기 위해 해시 값을 쌍으로 조합한다(머클 루트 해시). 이러한 해시는 블록 헤더에 추가된다. 합의 노드는 또한 블록체인에서 가장 최근의 블록(즉, 블록체인에 추가된 마지막 블록)의 해시 값을 결정한다. 합의 노드는 또한 넌스(nonce) 값 및 타임스탬프를 블록 헤더에 추가한다.
일반적으로, PBFT는 비잔틴(Byzantine) 오류들(예를 들어, 오작동 노드들, 악성 노드들)을 견디는 실용적인 비잔틴 상태 머신 복제를 제공한다. 이는, 오류들이 발생할 것으로 가정(예를 들어, 독립적 노드 실패들 및/또는 합의 노드들에 의해 전송된 조작된 메시지들의 존재를 가정)함으로써 PBFT에서 달성된다. PBFT에서, 합의 노드들은, 프라이머리 합의 노드 및 백업 합의 노드들을 포함하는 시퀀스에서 제공된다. 프라이머리 합의 노드는 주기적으로 변경되고, 거래들은, 블록체인 네트워크의 월드 상태에 관한 동의에 도달한 블록체인 네트워크 내의 모든 합의 노드들에 의해 블록체인에 추가된다. 이러한 프로세스에서, 메시지들은 합의 노드들 사이에서 송신되고, 각각의 합의 노드들은, 메시지가 특정 피어 노드로부터 수신된 것을 입증하고, 메시지가 송신 동안 수정되지 않은 것을 검증한다.
PBFT에서, 합의 프로토콜은 동일한 상태에서 시작하는 모든 합의 노드들에 의해 복수의 상태들에서 제공된다. 시작하기 위해, 클라이언트는 서비스 동작을 호출(예를 들어, 블록체인 네트워크 내에서 거래를 실행)해달라는 요청을 프라이머리 합의 노드에 전송한다. 요청을 수신하는 것에 응답하여, 프라이머리 합의 노드는 요청을 백업 합의 노드들에 멀티캐스트한다. 백업 합의 노드들은 요청을 실행하고, 각각 답신을 클라이언트에 전송한다. 클라이언트는 임계 수의 답신들이 수신될 때까지 대기한다. 일부 예들에서, 클라이언트는 f+1개의 답신들이 수신되기를 대기하고, 여기서 f는 블록체인 네트워크 내에서 견디어 질 수 있는 오류 합의 노드들의 최대 수이다. 최종 결과는, 충분한 수의 합의 노드들이 블록체인에 추가될 레코드의 주문에 동의하고, 레코드가 수락되거나 거부되는 것이다.
일부 블록체인 네트워크들에서, 거래들의 프라이버시를 유지하기 위해 암호화가 구현된다. 예를 들어, 블록체인 네트워크의 다른 노드들이 거래의 세부사항들을 인식할 수 없도록 2개의 노드들이 거래를 비밀로 유지하기를 원하면, 그 노드들은 거래 데이터를 암호화할 수 있다. 암호화의 예는 제한 없이 대칭적 암호화 및 비대칭적 암호화를 포함한다. 대칭적 암호화는 암호화(평문으로부터 암호문을 생성함) 및 암호해독(암호문으로부터 평문을 생성함) 둘 모두에 대해 단일 키를 사용하는 암호화 프로세스를 지칭한다. 대칭적 암호화에서는, 복수의 노드들에 동일한 키가 이용가능하여, 각각의 노드는 거래 데이터를 암호화/암호해독할 수 있다.
비대칭적 암호화는, 비밀 키 및 공개 키를 각각 포함하는 키 쌍들을 사용하고, 비밀 키는 오직 각각의 노드에만 알려지고, 공개 키는 블록체인 네트워크의 임의의 또는 모든 다른 노드들에 알려진다. 노드는 데이터를 암호화하기 위해 다른 노드의 공개 키를 사용할 수 있고, 암호화된 데이터는 다른 노드의 비밀 키를 사용하여 암호해독될 수 있다. 예를 들어, 도 2를 다시 참조하면, 참여자 A는 참여자 B의 공개 키를 사용하여 데이터를 암호화하고 암호화된 데이터를 참여자 B에게 전송할 수 있다. 참여자 B는 자신의 비밀 키를 사용하여 암호화된 데이터(암호문)를 암호해독하고 원래의 데이터(평문)을 추출할 수 있다. 노드의 공개 키로 암호화된 메시지들은 오직 노드의 비밀 키를 사용하여 암호해독될 수 있다.
비대칭적 암호화는 디지털 시그너처들을 제공하기 위해 사용되며, 이는 거래 내의 참여자들이 거래 내의 다른 참여자들 뿐만 아니라 거래의 유효성을 확인할 수 있게 한다. 예를 들어, 노드는 메시지를 디지털 방식으로 서명할 수 있고, 다른 노드는 메시지가 참여자 A의 디지털 시그너처에 기초하여 노드에 의해 전송된 것을 확인할 수 있다. 디지털 시그너처들은 또한 메시지들이 전달 동안 위조되지 않은 것을 보장하기 위해 사용될 수 있다. 예를 들어, 도 2를 다시 참조하면, 참여자 A는 참여자 B에게 메시지를 전송할 것이다. 참여자 A는 메시지의 해시를 생성하고, 그 다음, 자신의 비밀 키를 사용하여, 해시를 암호화하여 암호화된 해시로서 디지털 시그너처를 제공한다. 참여자 A는 디지털 시그너처를 메시지에 첨부하고, 디지털 시그너처를 갖는 메시지를 참여자 B에게 전송한다. 참여자 B는 참여자 A의 공개 키를 사용하여 디지털 시그너처를 암호해독하고 해시를 추출한다. 참여자 B는 메시지를 해시하고 해시들을 비교한다. 해시들이 동일하면, 참여자 B는 메시지가 실제로 참여자 A로부터의 것이었고 위조되지 않았음을 확인할 수 있다.
일부 블록체인 네트워크들에서, 소위 스마트 계약들이 실행될 수 있다. 스마트 계약들은 다양한 당사자들에게 영향을 미치는 계약 항목들을 갖는 실세계 법적 계약들의 디지털 표현들로서 설명될 수 있다. 스마트 계약은, 예시적인 콘텍스트에서, 컨소시엄 블록체인 네트워크 내에서 구현, 저장, 업데이트(필요에 따라), 및 실행된다. 스마트 계약과 연관된 계약 당사자들(예를 들어, 구매자들 및 판매자들)은 컨소시엄 블록체인 네트워크에서 노드들로서 표현된다. 일부 예들에서, 계약 당사자들은 스마트 계약과 연관된 엔티티들(예를 들어, 비즈니스 기업들)을 (예를 들어, 스마트 계약에 대한 당사자들로서) 포함할 수 있다.
더 상세하게는, 스마트 계약들은 블록체인들(예를 들어, 블록체인 네트워크 내의 노드) 상에서 실행되는 컴퓨터 실행가능 프로그램들로서 제공된다. 스마트 계약은 미리 정의된 규칙들의 세트를 포함하고, 그 규칙들의 세트 하에서 그 스마트 계약에 대한 당사자들은 서로 상호작용하는 것에 동의한다. 스마트 계약의 미리 정의된 규칙들이 충족되면, 스마트 계약에서 정의된 동의가 자동으로 시행된다. 스마트 계약은 통상적으로 위조 방지적이고, 동의 또는 거래의 협상 또는 수행을 용이하게 하고, 검증하고 시행한다.
도 3은 본 명세서의 실시예들에 따라, 블록체인 네트워크에서 스마트 계약을 사용하여 프로모션 이벤트를 생성하기 위한 동작들의 예들을 예시하는 도면(300)이다. 편의를 위해, 프로세스는, 하나 이상의 위치들에 위치되고 본 명세서에 따라 적절히 프로그래밍된 하나 이상의 컴퓨터들의 시스템에 의해 수행되는 것으로 설명될 것이다. 예를 들어, 적절히 프로그래밍된 분산형 시스템(예를 들어, 도 1의 블록체인 환경(100))이 프로세스를 수행할 수 있다. 시스템은 상인(302), 상인 서버(304) 및 블록체인 네트워크(306)를 포함할 수 있다. 상인(302)은 예를 들어, 브랜드 소유자, 소매상, 제조자, 거래 플랫폼, 또는 하나 이상의 제품들(예를 들어, 하나 이상의 상품들 및/또는 서비스들을 포함함)에 대한 프로모션 이벤트를 생성할 수 있는 다른 엔티티일 수 있다. 상인(302)은 프로모션 이벤트를 생성하기 위해 상인 서버(304)에 액세스하거나, 그에 대해 동작하거나 그렇지 않으면 그와 연관될 수 있다. 상인 서버(304)는 블록체인 네트워크(306)에 액세스하거나 그렇지 않으면 통신가능하게 커플링될 수 있는 하나 이상의 컴퓨터들 또는 데이터 프로세싱 장치들일 수 있다. 일부 실시예들에서, 상인 서버(304)는 블록체인 네트워크(306)의 노드(예를 들어, 클라이언트 노드, 합의 노드 또는 비-합의 노드)일 수 있다. 일부 실시예들에서, 상인 서버(304)는 하나 이상의 스마트 계약들을 생성하고 하나 이상의 스마트 계약들을 블록체인 네트워크(306)에 제출할 수 있다. 일부 실시예들에서, 상인 서버(304)는 예를 들어, 스마트 계약의 거래를 블록체인 네트워크(306)에 제출함으로써, 블록체인 네트워크(306) 내의 하나 이상의 스마트 계약들의 배치 서버일 수 있다. 일부 실시예들에서, 스마트 계약은 분산형 방식으로 블록체인 네트워크(306)에 배치될 수 있고, 스마트 계약이 호출될 수 있는 고유의 스마트 계약 어드레스를 갖는다. 일부 실시예들에서, 하나 이상의 스마트 계약들이 정의되어 블록체인 네트워크(306)에 배치되고, 상인 서버(304)는 하나 이상의 계약들에 정의된 하나 이상의 동작들을 호출할 수 있다.
예시된 바와 같이, 310에서, 상인(302)은 블록체인 네트워크(306)에서 프로모션 이벤트를 생성해달라는 요청을 상인 서버(304)에 전송한다. 프로모션 이벤트는 예를 들어, 하나 이상의 제품들의 프로모션 또는 마케팅을 위해 사용될 수 있다. 일부 실시예들에서, 많은 수의(예를 들어, 수십, 수백, 수천 및 그 이상 정도의) 전자 또는 디지털 티켓들이 상인(302)에 의해 발행 또는 지지되어, 프로모션 이벤트들의 하나 이상의 제품들에 대해 할인 또는 다른 프로모션 이익들을 소비자들에게 제공할 수 있다. 디지털 티켓은 일반적으로 상품들 또는 서비스들을 청구하기 위한 티켓의 가상 인스턴스이다. 디지털 티켓의 예들은, 다른 것들 중에서도, 특정 금액을 갖고 상품들 또는 서비스들로 교환될 수 있는 전자 바우처, 쿠폰에 표시된 할인율에 따라 할인된 가격으로 제품을 구매하기 위해 소비 시점에 소비자들(또는 고객들)에 의해 사용될 수 있는 전자 쿠폰, 또는 특정 상인들의 상품들 또는 서비스들에 대해 사용될 수 있는 전자 선물 인증서를 포함할 수 있다.
일부 실시예들에서, 각각의 디지털 티켓은 고유의 식별자와 연관된다. 고유의 식별자들은 또한 "프로모션 코드들", "프로모셔널 코드들", "쿠폰 코드들", "할인 코드들", "키코드들", "프로모(promo) 코드들", "잉여 코드들", "휴대용 코드들", "쇼핑 코드들", "바우처 코드들", "보상 코드들", "할인 바우처들", "위탁 코드들" 또는 "소스 코드들"로 지칭될 수 있다.
상인 서버(304)는 프로모션 이벤트의 규칙들을 설정하거나, 정의하거나 그렇지 않으면 구성할 수 있다. 프로모션 이벤트의 규칙들은, 예를 들어, 프로모션 이벤트의 식별자(ID)(예를 들어, 이름 또는 코드), 디지털 티켓들의 규칙, 디지털 티켓들의 인증 규칙, 프로모션 이벤트의 유효 기간, 프로모션 이벤트의 지역, 프로모션 이벤트의 적용가능한 제품의 정보, 또는 디지털 티켓들의 상환을 위한 소비자의 적격성 중 하나 이상을 포함할 수 있다.
예를 들어, 320에서, 상인 서버(304)는 디지털 티켓들의 규칙들을 설정하거나, 정의하거나 그렇지 않으면 구성할 수 있다. 디지털 티켓들의 예시적인 규칙들은 예를 들어, 디지털 티켓의 유형(예를 들어, 다른 것들 중에서도, 전자 쿠폰, 전자 바우처, 전자 선물 인증서, 또는 전자 레드 엔벨로프), 디지털 티켓의 보상 또는 이익의 유형(예를 들어, 할인, 현금, 신용, 리베이트 및/또는 추가 제품들), 당첨 규칙 또는 기준, 프로모션 코드들의 총 수, 프로모션 코드들의 값 범위, 복수의 프로모션 코드들 각각의 유형, 또는 유효 프로모션 코드의 스펠링 규칙을 포함할 수 있다.
예를 들어, 330에서, 상인 서버(304)는 디지털 티켓들의 인증 규칙을 설정하거나, 정의하거나 그렇지 않으면 구성할 수 있다. 일부 실시예들에서, 상인(302)에 의해 지지되는 각각의 유효 디지털 티켓은 디지털 시그너처 기술에 기초하여 인증 또는 검증될 수 있다. 예를 들어, 상인(302) 또는 상인(302)의 프로모션 이벤트에는 한 쌍의 비밀 키 및 공개 키가 할당될 수 있다. 상인(302)에 의해 지지되는 각각의 유효 디지털 티켓은 상인(302)의 비밀 키 또는 상인(302)의 특정 프로모션 이벤트의 비밀 키를 사용하여 예를 들어, 상인 서버(304)에 의해 서명될 수 있다. 제3자들은 상인(302) 또는 상인(302)의 특정 프로모션 이벤트의 대응하는 공개 키를 사용하여 디지털 티켓을 검증할 수 있다. 일부 실시예들에서, 디지털 티켓들의 인증 규칙은 상인(302)의 비밀 키 또는 상인(302)의 특정 프로모션 이벤트의 비밀 키를 사용하여 디지털 시그너처를 생성할 때 포함될 정보(예를 들어, 프로모션 코드, 및 존재하는 경우 프로모션 이벤트의 ID와 같은 다른 정보)를 정의할 수 있다.
일부 실시예들에서, 프로모션 코드의 디지털 시그너처는 향상된 데이터 보안을 제공할 수 있다. 예를 들어, 제3자가 프로모션 코드의 스펠링 규칙을 암호해독하는 경우에도, 제3자는 상인(302)의 비밀 키 또는 상인(302)의 특정 프로모션 이벤트의 비밀 키가 없다면 프로모션 코드의 유효한 시그너처를 생성할 수 없다. 따라서, 제3자에 의해 생성된 임의의 프로모션 코드는 확인될 수 없다.
예를 들어, 340에서, 상인 서버(304)는 예를 들어, 프로모션 이벤트의 만료 시간 또는 카운트-기반 만료 규칙을 구성함으로써 프로모션 이벤트의 유효 기간을 설정하거나, 정의하거나 그렇지 않으면 구성할 수 있다. 일부 실시예들에서, 상인 서버(304)는 프로모션 이벤트의 추가적인 또는 상이한 규칙들을 구성할 수 있다.
350에서, 상인 서버(304)는 블록체인 네트워크(306)에서 프로모션 이벤트를 생성해달라는 요청을 블록체인 네트워크(306)에 전송한다. 요청은 예를 들어, 프로모션 이벤트의 ID, 프로모션 이벤트의 규칙들, 요청의 디지털 시그너처 및/또는 다른 정보를 포함할 수 있다.
상인 서버(304)로부터 요청을 수신할 때, 블록체인 네트워크(306)는 예를 들어, 360에서, 프로모션 이벤트의 유효성을 결정할 수 있다. 일부 실시예들에서, 프로모션 이벤트의 유효성은 예를 들어, 스마트 계약에 정의된 프로모션 이벤트 검증 동작을 호출함으로써 결정될 수 있다. 예를 들어, 프로모션 이벤트 검증 동작은 프로모션 이벤트의 정보(예를 들어, 규칙들)를 수신하고, 이를 (예를 들어, 블록체인 네트워크(306) 또는 정부와 같은 감독 기관의) 특정 규제들과 비교하고, 프로모션 이벤트가 규제들을 준수하는지 여부를 결정할 수 있다.
370에서, 프로모션 이벤트가 유효하다고 결정한 것에 응답하여, 블록체인 네트워크(306)는 예를 들어, 프로모션 이벤트의 규칙들을 블록체인 네트워크(306)에 저장함으로써 프로모션 이벤트를 등록할 수 있다. 이와 같이, 스마트 계약은 프로모션 이벤트의 하나 이상의 디지털 티켓들의 상환과 같은 프로모션 이벤트의 다양한 동작들을 수행하기 위해 프로모션 이벤트의 규칙들에 따라 실행될 수 있다.
프로모션 이벤트의 디지털 티켓들의 프로모션 코드들은 블록체인 네트워크(306)에 저장되지 않음을 주목한다. 이러한 방식으로, 저장 공간이 절감된다. 또한, 이것은, 프로모션 이벤트의 복수의 프로모션 코드들을 블록체인 네트워크(306)에 동시에 업로드하는 것으로부터 블록체인 네트워크(306)를 완화시킨다. 이는 또한 프로모션 코드들의 누설을 방지한다.
일부 실시예들에서, 프로모션 이벤트가 무효하다고 결정한 것에 응답하여, 블록체인 네트워크(306)는 프로모션 이벤트의 생성을 거부할 수 있다.
380에서, 블록체인 네트워크(306)는 프로모션 이벤트의 생성 결과를 표시하는 통지를 상인 서버(304)에 전송할 수 있다. 일부 실시예들에서, 통지는, 프로모션 이벤트가 블록체인 네트워크(306)에서 성공적으로 생성되었음을 표시하는 확인응답일 수 있다. 일부 실시예들에서, 통지는, 프로모션 이벤트가 블록체인 네트워크(306)에서 성공적으로 생성되지 않은 이유에 대한 상세한 정보와 함께 또는 상세한 정보 없이, 프로모션 이벤트가 블록체인 네트워크(306)에서 성공적으로 생성되지 않았음을 표시하는 통지일 수 있다.
390에서, 상인 서버(304)는 프로모션 이벤트의 생성 결과를 표시하는, 블록체인 네트워크(306)로부터의 통지에 따라 상인(302)에게 응답을 전송할 수 있다.
도 4는 본 명세서의 실시예들에 따라, 블록체인 네트워크에서 스마트 계약을 사용하여 구현된 제품 프로모션 이벤트의 프로모션 코드를 상환하기 위한 동작들의 예들을 예시하는 도면(400)이다. 편의를 위해, 프로세스는, 하나 이상의 위치들에 위치되고 본 명세서에 따라 적절히 프로그래밍된 하나 이상의 컴퓨터들의 시스템에 의해 수행되는 것으로 설명될 것이다. 예를 들어, 적절히 프로그래밍된 분산형 시스템(예를 들어, 도 1의 블록체인 환경(100))이 프로세스를 수행할 수 있다. 시스템은 소비자(303), 상인 서버(304) 및 블록체인 네트워크(306)를 포함할 수 있다. 소비자 노드(303)는 예를 들어, 상인(302)의 프로모션 이벤트의 프로모션 코드를 획득한 개인 또는 다른 엔티티에 의해 액세스 또는 동작되거나 그렇지 않으면 그와 연관될 수 있는 하나 이상의 컴퓨터들 또는 데이터 프로세싱 장치들일 수 있다. 일부 실시예들에서, 소비자 노드(303)는 프로모션 코드 및/또는 프로모션 이벤트의 ID 및 프로모션 코드의 디지털 시그너처와 같은 다른 정보를 획득할 수 있다. 일부 실시예들에서, 소비자 노드(303)는 프로모션 코드 및/또는 다른 정보를 암호화되거나 그렇지 않으면 변환된 형태로 획득할 수 있다.
일부 실시예들에서, 소비자 노드(303)는 프로모션 이벤트의 프로모션 코드를 상환하기 위해 상인 서버(304)와 통신할 수 있다. 예를 들어, 소비자 노드(303)는 프로모션 이벤트의 프로모션 코드를 포함하는 QR 코드를 스캐닝한 소비자의 모바일 디바이스일 수 있다. 일부 실시예들에서, QR 코드는 또한 프로모션 이벤트의 ID 및 프로모션 코드의 디지털 시그너처와 같은 다른 정보를 포함한다. 일부 실시예들에서, QR 코드를 스캐닝할 때, 프로모션 이벤트의 프로모션 코드를 상환해달라는 요청이 상인 서버(304)에 자동으로 송신될 수 있다.
예를 들어, 도 4에 예시된 바와 같이, 410에서, 소비자 노드(303)는 프로모션 이벤트의 프로모션 코드를 상환해달라는 상환 요청을 상인 서버(304)에 전송한다. 일부 실시예들에서, 상인 서버(304)는 먼저 상환 요청의 유효성을 결정할 수 있다. 예를 들어, 상인 서버(304)는 (예를 들어, 프로모션 코드의 ID에 기초하여) 프로모션 코드 및 대응하는 프로모션 이벤트를 식별하고, 프로모션 코드가 프로모션 이벤트의 규칙들을 준수하는지 여부를 결정할 수 있다.
420에서, 상인 서버(304)는 상환 요청을 블록체인 네트워크(306)에 전송한다. 일부 실시예들에서, 상인 서버(304)는, 상인 서버(304)가 상환 요청의 유효성을 결정한 경우에만 상환 요청을 블록체인 네트워크(306)에 전송한다. 일부 실시예들에서, 상인 서버(304)는 상환 요청의 유효성을 체크하지 않고, 상환 요청을 수신한 후 상환 요청을 블록체인 네트워크(306)에 포워딩한다.
430에서, 블록체인 네트워크(306)는 예를 들어, 상환 요청 내의 프로모션 이벤트의 ID를 등록된 프로모션 이벤트의 ID와 매칭시킴으로써, 상환 요청으로 등록된 프로모션 이벤트를 식별한다.
440에서, 블록체인 네트워크(306)는 상환 요청 내의 프로모션 코드의 유효성을 결정한다. 일부 실시예들에서, 프로모션 코드의 유효성은 예를 들어, 스마트 계약에 정의된 프로모션 코드 검증 동작을 호출함으로써 결정될 수 있다. 예를 들어, 프로모션 코드 검증 동작은 프로모션 코드 및/또는 상환 요청 내의 다른 정보를 수신하고, 이를 등록된 프로모션 이벤트의 규칙들과 비교하고, 프로모션 코드가 등록된 프로모션 이벤트의 규칙들을 준수하는지 여부를 결정할 수 있다. 일부 실시예들에서, 상환 요청 내의 프로모션 코드의 유효성을 결정한 것은 상환 요청에 포함된 디지털 시그너처의 유효성, 프로모션 코드의 만료일, 및 소비자 노드(303)와 연관된 소비자의 적격성 또는 임의의 다른 결정들을 결정한 것을 포함할 수 있다.
450에서, 프로모션 코드가 유효하다고 결정한 것에 응답하여, 블록체인 네트워크(306)는 프로모션 코드 및/또는 그와 관련된 정보를 레코딩할 수 있다. 일부 실시예들에서, 블록체인 네트워크(306)는 프로모션 코드가 상환된 것, 상환의 시간, 위치 또는 다른 정보, 프로모션 코드를 상환한 소비자 및/또는 소비자 노드(303)를 레코딩할 수 있다. 일부 실시예들에서, 프로모션 코드를 상환한 소비자 아이덴티티가 레코딩되고 후속 상환 레코드 문의에 대해 사용될 수 있다. 일부 실시예들에서, 블록체인 네트워크(306)는, 프로모션 코드가 단일 사용에 대해 유효이면 상환 이후 프로모션 코드를 무효로 마킹할 수 있거나, 또는 프로모션 코드가 복수의 사용들에 대해 유효이면 상환들의 수를 레코딩할 수 있다.
460에서, 블록체인 네트워크(306)는 프로모션 코드의 상환의 성공을 표시하는 통지를 상인 서버(304)에 전송할 수 있다.
470에서, 상인 서버(304)는 프로모션 코드의 상환의 성공의 확인응답을 소비자 노드(303)에 반환하고, 프로모션 코드의 보상들 또는 이익들에 대응하는 승인을 소비자에게 허용할 수 있다.
다른 예로서, 415에서, 소비자 노드(303)는 제2 프로모션 이벤트의 제2 프로모션 코드를 상환해달라는 제2 상환 요청을 상인 서버(304)에 전송한다. 통상적으로, 제2 상환 요청은, 410에서 상환 요청이 상인 서버(304)에 전송된 때와 상이한 시간에서 상인 서버(304)에 의해 수신된다. 일부 실시예들에서, 제2 프로모션 코드는 410에서 논의된 프로모션 코드와 동일하거나 상이할 수 있다. 일부 실시예들에서, 제2 프로모션 이벤트는 410에서 논의된 프로모션 이벤트와 동일하거나 상이할 수 있다.
425에서, 상인 서버(304)는 제2 상환 요청을 블록체인 네트워크(306)에 전송한다. 일부 실시예들에서, 상인 서버(304)는, 상인 서버(304)가 제2 상환 요청의 유효성을 결정한 경우에만 제2 상환 요청을 블록체인 네트워크(306)에 전송한다. 일부 실시예들에서, 상인 서버(304)는 제2 상환 요청의 유효성을 체크하지 않고, 제2 상환 요청을 수신한 후 제2 상환 요청을 블록체인 네트워크(306)에 포워딩한다.
435에서, 블록체인 네트워크(306)는 예를 들어, 제2 상환 요청 내의 프로모션 이벤트의 ID를 등록된 프로모션 이벤트의 ID와 매칭시킴으로써, 제2 상환 요청으로 등록된 프로모션 이벤트를 식별한다.
445에서, 블록체인 네트워크(306)는 제2 상환 요청 내의 제2 프로모션 코드의 유효성을 결정한다. 일부 실시예들에서, 프로모션 코드의 유효성은 예를 들어, 스마트 계약에 정의된 프로모션 코드 검증 동작을 호출함으로써 결정될 수 있다. 예를 들어, 프로모션 코드 검증 동작은 제2 프로모션 코드 및/또는 제2 상환 요청 내의 다른 정보를 수신하고, 이를 등록된 프로모션 이벤트의 규칙들과 비교하고, 제2 프로모션 코드가 등록된 프로모션 이벤트의 규칙들을 준수하는지 여부를 결정할 수 있다. 예를 들어, 제2 상환 요청 내의 제2 프로모션 코드의 유효성을 결정한 것은 제2 상환 요청에 포함된 디지털 시그너처의 유효성, 제2 프로모션 코드의 만료일, 및 소비자 노드(303)와 연관된 소비자의 적격성 또는 임의의 다른 결정들을 결정한 것을 포함할 수 있다.
455에서, 블록체인 네트워크(306)는 제2 프로모션 코드가 무효이거나 또는 제2 프로모션 코드가 상환되었다고 결정한다. 이러한 경우, 블록체인 네트워크(306)는 제2 프로모션 코드의 상환의 실패 또는 에러의 이유들에 대한 상세한 정보와 함께 또는 상세한 정보 없이, 제2 프로모션 코드의 상환의 실패 또는 에러를 표시하는 통지를 상인 서버(304)에 전송할 수 있다.
465에서, 상인 서버(304)는 소비자 노드(303)에 제2 프로모션 코드의 상환의 거부를 반환할 수 있다. 일부 실시예들에서, 상인 서버(304)는 제2 프로모션 코드의 상환의 실패 또는 에러의 이유들에 대한 상세한 정보를 소비자에게 통지할 수 있다. 일부 실시예들에서, 소비자 노드(303)는, 예를 들어, 상환의 실패 또는 에러가, 제2 프로모션 코드가 이미 상환된 것 때문임을 통지받으면, 상환 레코드 문의를 제출할 수 있다. 일부 실시예들에서, 상환 레코드에 대한 의심이 존재하면, 소비자 또는 제3자들은 상인에게 보고를 제출할 수 있다. 일부 실시예들에서, 블록체인 네트워크(306)의 데이터 저장소의 투명성, 보안 및 불변성은 예를 들어, 임의의 문제 또는 부정이 존재하는지 여부를 결정하기 위해 프로모션 이벤트의 프로모션 코드의 상환 레코드 또는 이력의 추적을 가능하게 할 수 있다.
도 5는 본 명세서의 실시예들에 따라, 블록체인 네트워크에서 스마트 계약들을 사용한 제품 프로모션을 위한 프로세스(500)의 예를 도시한다. 프로세스(500)는 하나 이상의 컴퓨팅 디바이스들을 사용하여 실행되는 하나 이상의 컴퓨터 실행가능 프로그램들을 사용하여 수행될 수 있다. 일부 실시예들에서, 프로세스(500)는 블록체인 네트워크에서 스마트 계약들을 사용한 제품 프로모션을 위한 분산형 시스템(예를 들어, 도 1의 블록체인 시스템(100))에 의해 수행될 수 있다. 편의를 위해, 프로세스(500)는, 하나 이상의 위치들에 위치되고 본 명세서에 따라 적절히 프로그래밍된 하나 이상의 컴퓨터들의 시스템에 의해 수행되는 것으로 설명될 것이다. 예를 들어, 분산형 시스템, 예를 들어, 적절히 프로그래밍된 도 1의 블록체인 환경(100)이 프로세스(500)를 수행할 수 있다. 일부 실시예들에서, 프로세스(500) 중 일부의 또는 모든 동작들이 블록체인 네트워크의 합의 노드와 같은 노드에 의해 수행될 수 있다. 예를 들어, 적절히 프로그래밍된 아키텍처(200)의 노드(214)가 프로세스(500)의 일부의 또는 모든 동작들을 수행할 수 있다. 노드는, 예를 들어, 하나 이상의 컴퓨팅 디바이스들(예를 들어, 컴퓨팅 디바이스들(106, 108))을 사용하여 구현될 수 있다. 일부 실시예들에서, 프로세스(500)는 도 3 및 도 4에 대해 설명된 일부 또는 모든 동작들을 포함할 수 있다.
502에서, 프로모션 이벤트를 생성해달라는 생성 요청이 블록체인 네트워크의 노드(예를 들어, 블록체인 네트워크(306)의 노드)에 의해 수신된다. 프로모션 이벤트는 복수의 프로모션 코드들과 연관된다. 일부 실시예들에서, 생성 요청은 예를 들어, 상인 서버(예를 들어, 상인 서버(304))로부터 수신된다.
일부 실시예들에서, 프로모션 이벤트는 프로모션 이벤트를 식별 및 인증하기 위한 한 쌍의 비밀 키 및 공개 키와 연관된다. 일부 실시예들에서, 비밀 키는 복수의 프로모션 코드들의 향상된 데이터 보안을 제공하기 위해 복수의 프로모션 코드들 각각에 대한 디지털 시그너처를 생성하는데 사용될 수 있다. 공개 키는 프로모션 이벤트의 공개 키 및 디지털 시그너처에 기초하여 프로모션 코드의 유효성을 검증하기 위해 사용될 수 있다. 일부 실시예들에서, 비밀 키는 복수의 프로모션 코드들 각각을 서명함으로써 복수의 프로모션 코드들 각각에 대한 디지털 시그너처, 복수의 프로모션 코드들 각각에 기초하여 생성된 해시 또는 복수의 프로모션 코드들 각각의 일부 변형들을 생성하기 위해 사용될 수 있다. 프로모션 이벤트의 공개 키는 디지털 시그너처를 암호해독하고 복수의 프로모션 코드들 각각을 추출하기 위해 사용될 수 있다.
일부 실시예들에서, 생성 요청은 비밀 키를 사용하여 생성된 디지털 시그너처 및 공개 키를 포함한다. 디지털 시그너처는 생성 요청에 포함된 정보의 일부 또는 전부에 기초하여 해시를 생성하고 비밀 키를 사용하여 해시에 서명함으로써 예를 들어, 상인 서버에 의해 생성될 수 있다. 일부 실시예들에서, 생성 요청은 도 3에 대해 설명된 규칙들과 같은 프로모션 이벤트의 규칙들을 더 포함할 수 있다. 예를 들어, 규칙들은, 프로모션 이벤트의 식별자(ID), 복수의 프로모션 코드들의 총 수, 복수의 프로모션 코드들의 범위, 복수의 프로모션 코드들 각각의 유형, 유효한 프로모션 코드의 스펠링 규칙, 프로모션 이벤트의 만료 시간, 프로모션 이벤트의 지역, 또는 복수의 프로모션 코드들 중 하나의 상환을 위한 개인의 적격성 중 하나 이상을 포함한다.
504에서, 생성 요청의 유효성은 비밀 키를 사용하여 생성된 디지털 시그너처 및 공개 키에 기초하여 노드에 의해 결정된다. 일부 실시예들에서, 일례로서, 노드는 디지털 시그너처를 암호해독하고 디지털 시그너처로부터 해시를 추출하기 위해 공개 키를 사용할 수 있다. 노드는 또한 생성 요청에 포함된 정보의 일부 또는 전부에 기초하여 해시를 생성할 수 있다. 생성 요청의 유효성은, 공개 키가 디지털 시그너처를 암호해독할 수 있고 디지털 시그너처로부터 추출된 해시가 노드에 의해 생성된 해시에 매칭된다고 결정한 것에 응답하여 결정될 수 있다.
506에서, 생성 요청이 유효하다고 결정한 것에 응답하여, 프로모션 이벤트는, 블록체인 네트워크에 복수의 프로모션 코드들을 저장함이 없이 스마트 계약을 사용하여 블록체인 네트워크의 노드에 의해 등록된다. 일부 실시예들에서, 스마트 계약을 사용하여 블록체인 네트워크에 프로모션 이벤트를 등록하는 것은, 노드에 의해, 규칙들을 스마트 계약의 하나 이상의 기능들에 입력하는 것; 노드에 의해, 스마트 계약의 하나 이상의 기능들을 실행하는 것; 및 노드에 의해, 규칙들을 블록체인 네트워크에 저장하는 것을 포함한다.
일부 실시예들에서, 스마트 계약을 사용하여 블록체인 네트워크에 프로모션 이벤트를 등록하는 것은, 블록체인 네트워크에서 프로모션 이벤트를 생성하기 위해 스마트 계약에서 정의된 하나 이상의 로직들, 기능들 또는 다른 동작들을 호출 및 실행하는 것을 포함한다. 예를 들어, 프로모션 이벤트에 대한 복수의 동작들을 정의하는 스마트 계약은 블록체인 네트워크에서 생성 및 배치될 수 있다. 스마트 계약의 복수의 동작들은, 예를 들어, 프로모션 이벤트 생성 동작, 프로모션 이벤트 검증 동작, 프로모션 코드 검증 동작, 프로모션 코드 상환 동작 또는 상환 레코드 문의 동작 중 하나 이상을 포함할 수 있다. 일부 실시예들에서, 동작들 각각은 애플리케이션 프로그래밍 인터페이스(API), 서비스, 기능 또는 이들의 조합으로 구현될 수 있다. 동작들은 루틴들, 데이터 구조들, 및 하나 이상의 컴퓨터 언어들의 오브젝트 클래스들을 사용하여 특정된다. 일부 실시예들에서, 노드는 동작을 호출하고 동작에 하나 이상의 파라미터들 또는 아규먼트들을 입력함으로써 스마트 계약에서 정의된 동작을 실행할 수 있다.
508에서, 프로모션 이벤트의 생성의 성공을 표시하는 확인응답은, 예를 들어, 스마트 계약을 사용하여 블록체인 네트워크에의 프로모션 이벤트의 등록에 응답하여, 노드에 의해 상인 서버에 반환된다.
510에서, 복수의 프로모션 코드들의 프로모션 코드를 상환해달라는 상환 요청이 노드에 의해 수신된다. 상환 요청은 프로모션 코드, 프로모션 이벤트의 식별자(ID) 및 비밀 키를 사용하여 서명된 상환 요청의 디지털 시그너처를 포함한다. 상환 요청의 디지털 시그너처는, 예를 들어, 상환 요청에 포함된 정보의 일부 또는 전부에 기초하여 해시를 생성하고 비밀 키를 사용하여 해시에 서명함으로써 생성될 수 있다. 일부 실시예들에서, 상환 요청은 추가적인 또는 상이한 정보를 포함할 수 있다. 일부 실시예들에서, 복수의 프로모션 코드들이 동시에 생성되는 한편, 복수의 프로모션 코드들 중 둘 이상을 상환하기 위한 둘 이상의 상환 요청들이 상이한 시간들에서 노드에 의해 수신된다.
512에서, 프로모션 이벤트의 공개 키 및 규칙들은 프로모션 이벤트의 ID에 기초하여 노드에 의해 식별된다.
514에서, 노드에 의해, 서명된 상환 요청의 디지털 시그너처 및 공개 키에 기초하여 상환 요청이 유효한지 여부가 결정된다. 일부 실시예들에서, 일례로서, 노드는 상환 요청의 디지털 시그너처를 암호해독하고 상환 요청의 디지털 시그너처로부터 해시를 추출하기 위해 공개 키를 사용할 수 있다. 노드는 또한 상환 요청에 포함된 정보의 일부 또는 전부에 기초하여 해시를 생성할 수 있다. 생성 요청의 유효성은, 공개 키가 상환 요청의 디지털 시그너처를 암호해독할 수 있고 상환 요청에 포함된 정보의 일부 또는 전부에 기초하여 디지털 시그너처로부터 추출된 해시가 노드에 의해 생성된 해시에 매칭된다고 결정한 것에 응답하여 결정될 수 있다.
518에서, 상환 요청이 유효하다고 결정한 것에 응답하여, 상환 요청이 무효임을 표시하는 통지가 예를 들어, 상인 서버에 반환된다. 일부 실시예들에서, 노드는, 예를 들어, 공개 키가 상환 요청의 디지털 시그너처를 암호해독할 수 있고 상환 요청에 포함된 정보의 일부 또는 전부에 기초하여 디지털 시그너처로부터 추출된 해시가 노드에 의해 생성된 해시에 매칭된다고 결정한 것 또는 둘 모두에 응답하여 상환 요청이 무효하다고 결정한다.
520에서, 상환 요청이 유효하다고 결정한 것에 응답하여, 스마트 계약을 실행함으로써 프로모션 코드가 유효인지 여부가 규칙들에 기초하여 노드에 의해 결정된다. 예를 들어, 프로모션 코드가 유효인지 여부는 노드에 의해 스마트 계약에서 정의된 하나 이상의 프로모션 코드 검증 동작들을 호출함으로써 결정될 수 있다. 프로모션 코드 검증 동작들은, 예를 들어, 프로모션 코드가 규칙들에 의해 정의된 범위 내에 있는지 여부, 프로모션 코드가 규칙들에 의해 정의된 스펠링 규칙을 준수하는지 여부 등을 체크할 수 있다.
521에서, 프로모션 코드가 무효하다고 결정한 것에 응답하여, 프로모션 코드가 무효임을 표시하는 통지가 예를 들어, 상인 서버에 반환된다.
522에서, 프로모션 코드가 유효하다고 결정한 것에 응답하여, 노드에 의해, 스마트 계약을 실행함으로써 프로모션 이벤트의 상환 이력에 따라 프로모션 코드가 상환되었는지 여부가 결정된다.
523에서, 프로모션 코드가 상환되었다고 결정한 것에 응답하여, 프로모션 코드가 상환되었음을 표시하는 통지가 예를 들어, 상인 서버에 반환된다.
524에서, 프로모션 코드가 유효이고 상환되지 않았다고 결정한 것에 응답하여, 프로모션 코드의 상환의 성공을 표시하는 확인응답이 예를 들어, 상인 서버에 반환된다. 일부 실시예들에서, 프로모션 코드의 상환이 블록체인 네트워크에 레코딩된다.
도 6은 본 명세서의 실시예들에 따른 장치(600)의 모듈들의 예의 도면이다. 장치(600)는 블록체인 네트워크에서 스마트 계약을 사용한 제품 프로모션을 위한 블록체인 네트워크 내의 노드의 실시예의 예일 수 있다. 장치(600)는 앞서 설명된 실시예들에 대응할 수 있고, 장치(600)는, 블록체인 네트워크의 노드에 의해, 프로모션 이벤트를 생성해달라는 생성 요청을 수신하기 위한 제1 수신 모듈(602) - 프로모션 이벤트는 복수의 프로모션 코드들과 연관되고, 프로모션 이벤트는 프로모션 이벤트를 식별하기 위한 한 쌍의 비밀 키 및 공개 키와 연관되고, 생성 요청은 비밀 키를 사용하여 생성된 디지털 시그너처 및 공개 키를 포함함 -; 노드에 의해 공개 키 및 디지털 시그너처에 기초하여, 생성 요청의 유효성을 결정하기 위한 제1 결정 모듈(604); 및 생성 요청이 유효하다고 결정한 것에 응답하여, 노드에 의해, 블록체인 네트워크에 복수의 프로모션 코드들을 저장함이 없이 스마트 계약을 사용하여 블록체인 네트워크에 프로모션 이벤트를 등록하기 위한 등록 모듈(606)을 포함한다.
선택적인 실시예에서, 장치(600)는 노드에 의해, 프로모션 이벤트의 생성의 성공을 표시하는 확인응답을 반환하기 위한 제1 반환 모듈(608)을 더 포함한다.
선택적인 실시예에서, 생성 요청은 프로모션 이벤트의 규칙들을 더 포함하고, 등록 모듈(606)은 노드에 의해, 규칙들을 스마트 계약의 하나 이상의 기능들에 입력하기 위한 입력 서브-모듈; 노드에 의해, 스마트 계약의 하나 이상의 기능들을 실행하기 위한 실행 서브-모듈; 및 노드에 의해, 규칙들을 블록체인 네트워크에 저장하기 위한 저장 서브-모듈을 포함한다.
선택적인 실시예에서, 규칙들은, 프로모션 이벤트의 식별자(ID), 복수의 프로모션 코드들의 총 수, 복수의 프로모션 코드들의 범위, 복수의 프로모션 코드들 각각의 유형, 유효한 프로모션 코드의 스펠링 규칙, 프로모션 이벤트의 만료 시간, 프로모션 이벤트의 지역, 또는 복수의 프로모션 코드들 중 하나의 상환을 위한 개인의 적격성 중 하나 이상을 포함한다.
선택적인 실시예에서, 장치(600)는 노드에 의해, 복수의 프로모션 코드들의 프로모션 코드를 상환해달라는 상환 요청을 수신하기 위한 제2 수신 모듈(610) - 상환 요청은 프로모션 코드, 프로모션 이벤트의 식별자(ID) 및 비밀 키를 사용하여 서명된 상환 요청의 디지털 시그너처를 포함함 -; 노드에 의해 프로모션 이벤트의 ID에 기초하여, 프로모션 이벤트의 공개 키 및 규칙들을 식별하기 위한 식별 모듈(612); 노드에 의해, 상환 요청의 디지털 시그너처 및 공개 키에 기초하여 상환 요청이 유효하다고 결정하기 위한 제2 결정 모듈(614)을 더 포함한다.
선택적인 실시예에서, 장치(600)는 노드에 의해 규칙들에 기초하여, 스마트 계약을 실행함으로써 프로모션 코드가 유효한지 여부를 결정하기 위한 제3 결정 모듈(616)을 더 포함한다.
선택적인 실시예에서, 장치(600)는 노드에 의해, 스마트 계약을 실행함으로써 프로모션 이벤트의 상환 이력에 따라 프로모션 코드가 상환되었는지 여부를 결정하기 위한 제4 결정 모듈(618)을 더 포함한다.
선택적인 실시예에서, 장치(600)는 프로모션 코드가 유효하고 상환되지 않았다고 결정한 것에 응답하여 프로모션 코드의 상환의 성공을 표시하는 확인응답을 반환하기 위한 제2 반환 모듈(620), 및 블록체인 네트워크에서 프로모션 코드의 상환을 레코딩하기 위한 레코딩 모듈(622)을 더 포함한다.
선택적인 실시예에서, 장치(600)는 프로모션 코드가 무효하다고 결정한 것에 응답하여 프로모션 코드가 무효임을 표시하는 통지를 반환하기 위한 제3 반환 모듈(624)을 더 포함한다.
선택적인 실시예에서, 장치(600)는 프로모션 코드가 상환되었다고 결정한 것에 응답하여 프로모션 코드가 상환되었음을 표시하는 통지를 반환하기 위한 제4 반환 모듈(626)을 더 포함한다.
선택적인 실시예에서, 복수의 프로모션 코드들은 동시에 생성되고, 제2 수신 모듈(610)은 노드에 의해, 복수의 프로모션 코드들 중 둘 이상을 상환해달라는 둘 이상의 상환 요청들을 상이한 시간들에서 수신한다.
이전의 실시예들에서 예시된 시스템, 장치, 모듈 또는 유닛은 컴퓨터 칩 또는 엔티티를 사용함으로써 구현될 수 있거나 또는 특정 기능을 갖는 제품을 사용함으로써 구현될 수 있다. 통상적인 실시예 디바이스는 컴퓨터이고, 컴퓨터는 개인용 컴퓨터, 랩탑 컴퓨터, 셀룰러 폰, 카메라 폰, 스마트 폰, 개인 휴대 정보 단말, 미디어 플레이어, 네비게이션 디바이스, 이메일 수신 및 전송 디바이스, 게임 콘솔, 태블릿 컴퓨터, 웨어러블 디바이스, 또는 이러한 디바이스들의 임의의 조합일 수 있다.
장치에서 각각의 모듈의 기능들 및 역할들의 실시예 프로세스에 대해, 이전 방법에서의 대응하는 단계들의 실시예 프로세스가 참조될 수 있다. 세부사항들은 단순화를 위해 여기에서 생략된다.
장치 실시예가 기본적으로 방법 실시예에 대응하기 때문에, 관련 부분들에 대해, 방법 실시예에서의 관련 설명들이 참조될 수 있다. 이전에 설명된 장치 실시예는 단지 예이다. 별개의 부분들로 설명된 모듈들은 물리적으로 별개일 수 있거나 아닐 수 있고, 모듈들로 디스플레이된 부분들은 물리적 모듈들일 수 있거나 아닐 수 있고, 하나의 위치에 위치될 수 있거나, 또는 복수의 네트워크 모듈들 상에 분산될 수 있다. 모듈들 중 일부 또는 전부는 본 명세서의 솔루션들의 목적들을 달성하기 위한 실제 요구들에 기초하여 선택될 수 있다. 당업자는 창작적 노력 없이 본 출원의 실시예들을 이해하고 구현할 수 있다.
도 6을 다시 참조하면, 이는, 블록체인 스마트 계약 프로모션 이벤트 관리 장치의 내부 기능 모듈 및 구조를 예시하는 것으로 해석될 수 있다. 블록체인 스마트 계약 프로모션 관리 장치는 블록체인 네트워크에서 스마트 계약을 사용한 제품 프로모션을 위한 블록체인 노드의 예일 수 있다. 실행 본체는 본질적으로 전자 디바이스일 수 있고, 전자 디바이스는 하나 이상의 프로세서들, 및 하나 이상의 프로세서들의 실행가능한 명령어를 저장하도록 구성된 메모리를 포함한다.
본 명세서에서 설명되는 기술들은 하나 이상의 기술적 효과들을 생성한다. 일부 실시예들에서, 제품 프로모션은 블록체인 네트워크에서 스마트 계약을 사용하여 구현될 수 있다. 일부 실시예들에서, 상인(예를 들어, 브랜드 소유자, 소매상, 도매업자 또는 제조자)은 예를 들어, 마케팅 목적을 위해 프로모션 이벤트를 생성할 수 있다. 일부 실시예들에서, 상인은 프로모션 이벤트를 위해 복수의 디지털 또는 전자 티켓들(예를 들어, 전자 바우처, 전자 쿠폰 또는 전자 선물 인증서)을 발행할 수 있다. 디지털 티켓 각각은 고유의 프로모션 코드와 연관될 수 있다. 프로모션 코드 각각은 예를 들어, 프로모션 코드의 유효성을 검증하기 위해 프로모션 이벤트에 대응하는 비밀 키를 사용하여 서명될 수 있다. 이와 같이, 프로모션 이벤트의 비밀 키 없이 제3자들에 의해 생성된 임의의 프로모션 코드는 유효 프로모션 코드로서 검증될 수 없다. 이와 같이, 프로모션 코드들의 스펠링 규칙들이 암호해독되면, 인가된 상인의 프로모션 이벤트의 비밀 키를 사용하여 서명된 유효 시그너처 없이는 디지털 티켓이 상환될 수 없다. 따라서, 프로모션 코드들의 위조품들은 방지되고 데이터 보안이 향상될 수 있다.
일부 실시예들에서, 스마트 계약은 상인에 의한 프로모션 이벤트들의 생성 및 소비자에 의한 디지털 티켓의 상환을 용이하게 하도록 (스마트 계약-기반 프로모션 이벤트로 지칭되는) 블록체인 네트워크에서 프로모션 이벤트를 구현하기 위해 사용될 수 있다. 일부 실시예들에서, 프로모션 이벤트의 복수의 프로모션 코드들을 저장하는 종래의 방식과 달리, 스마트 계약-기반 프로모션 이벤트는 블록체인에 임의의 프로모션 코드들을 저장할 필요가 없어서, 블록체인 네트워크의 저장 공간 및 계산 자원들을 절감한다. 일부 실시예들에서, 스마트 계약-기반 프로모션 이벤트는 블록체인 네트워크의 계산 부담을 프로모션 이벤트의 생성 스테이지로부터 프로모션 이벤트의 프로모션 코드의 상환 스테이지로 분담하고 감소시킬 수 있다. 통상적으로, 프로모션 이벤트의 복수의 프로모션 코드들은 예를 들어, 프로모션 이벤트의 생성 스테이지 동안 동시에 한번 생성된다. 반대로, 프로모션 이벤트의 상이한 프로모션 코드들의 상환은 통상적으로 예를 들어, 상이한 소비자들에 의해 상이한 시간들에서 발생한다. 일부 실시예들에서, 스마트 계약-기반 프로모션 이벤트는 블록체인 네트워크에 프로모션 코드들을 동시에 업로드 및 저장하는 것을 회피하여, 블록체인 네트워크에 대한 계산 부담을 부과하지 않을 수 있다.
일부 실시예들에서, 프로모션 코드들 자체가 저장되지 않기 때문에, 스마트 계약-기반 프로모션 이벤트는 누설되거나 악의적으로 암호해독되는 것으로부터 디지털 티켓들을 보호할 때 향상된 데이터 보안을 제공할 수 있다.
일부 실시예들에서, 스마트 계약-기반 프로모션 이벤트는 디지털 티켓 각각의 상환 이력의 조사를 허용하여, 프로모션 이벤트의 개선된 투명성을 제공한다.
본 요지의 설명된 실시예들은 하나 이상의 특징들을 단독으로 또는 조합하여 포함할 수 있다.
예를 들어, 제1 실시예에서, 블록체인 네트워크에서 스마트 계약을 사용한 제품 프로모션을 위한 컴퓨터 구현 방법은, 블록체인 네트워크의 노드에 의해, 프로모션 이벤트를 생성해달라는 생성 요청을 수신하는 단계 - 프로모션 이벤트는 복수의 프로모션 코드들과 연관되고, 프로모션 이벤트는 프로모션 이벤트를 식별하기 위한 한 쌍의 비밀 키 및 공개 키와 연관되고, 생성 요청은 비밀 키를 사용하여 생성된 디지털 시그너처 및 공개 키를 포함함 -; 노드에 의해 공개 키 및 디지털 시그너처에 기초하여, 생성 요청의 유효성을 결정하는 단계; 및 생성 요청이 유효하다고 결정한 것에 응답하여, 노드에 의해, 블록체인 네트워크에 복수의 프로모션 코드들을 저장함이 없이 스마트 계약을 사용하여 블록체인 네트워크에 프로모션 이벤트를 등록하는 단계를 포함한다. 전술한 실시예들 및 다른 설명된 실시예들 각각은 선택적으로 하기 특징들 중 하나 이상을 포함할 수 있다:
하기 특징들 중 임의의 것과 조합가능한 제1 특징은, 생성 요청이 프로모션 이벤트의 규칙들을 더 포함하는 것을 특정하고, 노드에 의해, 스마트 계약을 사용하여 블록체인 네트워크에 프로모션 이벤트를 등록하는 것은, 노드에 의해, 규칙들을 스마트 계약의 하나 이상의 기능들에 입력하는 것; 노드에 의해, 스마트 계약의 하나 이상의 기능들을 실행하는 것; 및 노드에 의해, 규칙들을 블록체인 네트워크에 저장하는 것을 포함한다.
이전의 또는 하기 특징들 중 임의의 것과 조합가능한 제2 특징은, 규칙들이, 프로모션 이벤트의 식별자(ID), 복수의 프로모션 코드들의 총 수, 복수의 프로모션 코드들의 범위, 복수의 프로모션 코드들 각각의 유형, 유효한 프로모션 코드의 스펠링 규칙, 프로모션 이벤트의 만료 시간, 프로모션 이벤트의 지역, 또는 복수의 프로모션 코드들 중 하나의 상환을 위한 개인의 적격성 중 하나 이상을 포함하는 것을 특정한다.
이전의 또는 하기 특징들 중 임의의 것과 조합가능한 제3 특징은, 방법이, 노드에 의해, 복수의 프로모션 코드들의 프로모션 코드를 상환해달라는 상환 요청을 수신하는 단계 - 상환 요청은 프로모션 코드, 프로모션 이벤트의 식별자(ID) 및 비밀 키를 사용하여 서명된 상환 요청의 디지털 시그너처를 포함함 -; 노드에 의해 프로모션 이벤트의 ID에 기초하여, 프로모션 이벤트의 공개 키 및 규칙들을 식별하는 단계; 노드에 의해, 상환 요청의 디지털 시그너처 및 공개 키에 기초하여 상환 요청이 유효하다고 결정하는 단계를 더 포함하는 것을 특정한다.
이전의 또는 하기 특징들 중 임의의 것과 조합가능한 제4 특징은, 방법이, 노드에 의해 규칙들에 기초하여, 스마트 계약을 실행함으로써 프로모션 코드가 유효한지 여부를 결정하는 단계를 더 포함하는 것을 특정한다.
이전의 또는 하기 특징들 중 임의의 것과 조합가능한 제5 특징은, 방법이, 노드에 의해, 스마트 계약을 실행함으로써 프로모션 이벤트의 상환 이력에 따라 프로모션 코드가 상환되었는지 여부를 결정하는 단계를 더 포함하는 것을 특정한다.
이전의 또는 하기 특징들 중 임의의 것과 조합가능한 제6 특징은, 방법이, 프로모션 코드가 유효하고 상환되지 않았다고 결정한 것에 응답하여, 프로모션 코드의 상환을 블록체인 네트워크에 레코딩하는 단계; 및 프로모션 코드의 상환의 성공을 표시하는 확인응답을 반환하는 단계를 더 포함하는 것을 특정한다.
이전의 또는 하기 특징들 중 임의의 것과 조합가능한 제7 특징은, 방법이, 프로모션 코드가 무효하다고 결정한 것에 응답하여, 프로모션 코드가 무효임을 표시하는 통지를 반환하는 단계를 더 포함하는 것을 특정한다.
이전의 또는 하기 특징들 중 임의의 것과 조합가능한 제8 특징은, 방법이, 프로모션 코드가 상환되었다고 결정한 것에 응답하여, 프로모션 코드가 상환되었음을 표시하는 통지를 반환하는 단계를 더 포함하는 것을 특정한다.
이전의 또는 하기 특징들 중 임의의 것과 조합가능한 제9 특징은, 복수의 프로모션 코드들이 동시에 생성되는 것을 특정하고, 컴퓨터 구현 방법은 노드에 의해, 복수의 프로모션 코드들 중 둘 이상을 상환해달라는 둘 이상의 상환 요청들을 상이한 시간들에서 수신하는 단계를 더 포함한다.
본 명세서에 설명된 요지, 액션들 및 동작들의 실시예들은 디지털 전자 회로로, 유형적으로 구현된 컴퓨터 소프트웨어 또는 펌웨어로, 또는 본 명세서에서 개시된 구조들 및 이들의 구조적 등가물들을 포함하는 컴퓨터 하드웨어로, 또는 이들의 하나 이상의 조합들로 구현될 수 있다. 본 명세서에 설명된 요지의 실시예들은 하나 이상의 컴퓨터 프로그램들, 예를 들어, 데이터 프로세싱 장치에 의한 실행을 위해 또는 데이터 프로세싱 장치의 동작을 제어하기 위해, 컴퓨터 프로그램 캐리어 상에 인코딩된 컴퓨터 프로그램 명령어들의 하나 이상의 모듈들로서 구현될 수 있다. 예를 들어, 컴퓨터 프로그램 캐리어는, 인코딩된 또는 저장된 명령어들을 갖는 하나 이상의 컴퓨터 판독가능 저장 매체를 포함할 수 있다. 캐리어는 자기, 광자기, 또는 광학 디스크, 솔리드 스테이트 드라이브, 랜덤 액세스 메모리(RAM), 판독 전용 메모리(ROM) 또는 다른 유형들의 매체들과 같은 유형의 컴퓨터 판독가능 비일시적 매체일 수 있다. 대안적으로 또는 추가적으로, 캐리어는 인공적으로 생성된 전파되는 신호, 예를 들어, 데이터 프로세싱 장치에 의한 실행을 위해 적절한 수신기 장치로의 송신을 위해 정보를 인코딩하도록 생성된 머신-생성된 전기적, 광학적 또는 전자기적 신호일 수 있다. 컴퓨터 저장 매체는 머신 판독가능 저장 디바이스, 머신 판독가능 저장 기판, 랜덤 또는 직렬 액세스 메모리 디바이스, 또는 이들 중 하나 이상의 조합일 수 있거나 또는 이들의 일부일 수 있다. 컴퓨터 저장 매체는 전파되는 신호가 아니다.
프로그램, 소프트웨어, 소프트웨어 애플리케이션, 앱, 모듈, 소프트웨어 모듈, 엔진, 스크립트 또는 코드로 또한 지칭되거나 설명될 수 있는 컴퓨터 프로그램은 컴파일된 또는 해석된 언어들, 또는 선언적 또는 절차적 언어들을 포함하는 임의의 형태의 프로그래밍 언어로 기록될 수 있고, 독립형 프로그램으로서 또는 모듈, 컴포넌트, 엔진, 서브루틴 또는 컴퓨팅 환경에서 실행하기에 적합한 다른 유닛을 포함하는 임의의 형태로 배치될 수 있고, 이러한 환경은 하나 이상의 위치들에서 데이터 통신 네트워크에 의해 상호연결되는 하나 이상의 컴퓨터들을 포함할 수 있다.
컴퓨터 프로그램은 파일 시스템 내의 파일에 대응할 수 있지만 반드시 그럴 필요는 없다. 컴퓨터 프로그램은 다른 프로그램들 또는 데이터, 예를 들어, 마크업 언어 문서에 저장된 하나 이상의 스크립트들, 문제의 프로그램에 전용되는 단일 파일, 또는 복수의 조정된 파일들, 예를 들어, 하나 이상의 모듈들, 서브-프로그램 또는 코드의 일부들을 저장하는 파일들에 저장될 수 있다.
컴퓨터 프로그램의 실행을 위한 프로세서들은 예시의 방식으로, 범용 및 특수 목적 마이크로프로세서들 둘 모두, 및 임의의 종류의 디지털 컴퓨터의 임의의 하나 이상의 프로세서들을 포함한다. 일반적으로, 프로세서는 실행을 위한 컴퓨터 프로그램의 명령어들 뿐만 아니라 프로세서에 결합된 컴퓨터 판독가능 비일시적 매체로부터의 데이터를 수신할 것이다.
용어 "데이터 프로세싱 장치"는 예를 들어, 프로그래밍가능 프로세서, 컴퓨터, 또는 복수의 프로세서들 또는 컴퓨터들을 포함하는, 데이터를 프로세싱하기 위한 모든 종류의 장치들, 디바이스들 및 머신들을 포함한다. 데이터 프로세싱 장치는 특수 목적 로직 회로, 예를 들어, FPGA(field programmable gate array), ASIC(application-specific integrated circuit) 또는 GPU(graphics processing unit)를 포함할 수 있다. 장치는 또한 하드웨어에 추가로, 컴퓨터 프로그램들에 대한 실행 환경을 생성하는 코드, 예를 들어, 프로세서 펌웨어, 프로토콜 스택, 데이터베이스 관리 시스템, 운영 시스템 또는 이들의 하나 이상의 조합을 구성하는 코드를 포함할 수 있다
본 명세서에서 설명된 프로세스들 및 로직 흐름들은 입력 데이터에 대해 동작하고 출력을 생성함으로써 동작들을 수행하기 위해 하나 이상의 컴퓨터 프로그램들을 실행하는 하나 이상의 컴퓨터들 또는 프로세서들에 의해 수행될 수 있다. 프로세스들 및 로직 흐름들은 또한 특수 목적 로직 회로, 예를 들어, FPGA, ASIC 또는 GPU에 의해, 또는 특수 목적 로직 회로와 하나 이상의 프로그래밍된 컴퓨터들의 조합에 의해 수행될 수 있다.
컴퓨터 프로그램의 실행에 적합한 컴퓨터들은 범용 또는 특수 목적 마이크로프로세서들 또는 둘 모두, 또는 임의의 다른 종류의 중앙 프로세싱 유닛에 기초할 수 있다. 일반적으로, 중앙 프로세싱 유닛은 판독 전용 메모리 또는 랜덤 액세스 메모리 또는 둘 모두로부터 명령어들 및 데이터를 수신할 것이다. 컴퓨터의 요소들은 명령어들을 실행하기 위한 중앙 프로세싱 유닛 및 명령어들 및 데이터를 저장하기 위한 하나 이상의 메모리 디바이스들을 포함할 수 있다. 중앙 프로세싱 유닛 및 메모리는 특수 목적 로직 회로에 의해 보완되거나 그에 통합될 수 있다.
일반적으로, 컴퓨터는 또한 데이터를 하나 이상의 저장 디바이스들을 포함하거나, 또는 이들로부터 데이터를 수신하거나 이들에 데이터를 전송하기 위해 동작가능하게 결합될 것이다. 저장 디바이스들은, 예를 들어, 자기, 광자기 또는 광학 디스크들, 솔리드 스테이트 드라이브들 또는 임의의 다른 유형의 컴퓨터 판독가능 비일시적 매체들일 수 있다. 그러나, 컴퓨터는 이러한 디바이스들을 가질 필요가 없다. 따라서, 컴퓨터는 로컬 및/또는 원격인 하나 이상의 메모리들과 같은 하나 이상의 저장 디바이스들에 결합될 수 있다. 예를 들어, 컴퓨터는 컴퓨터의 통합 컴포넌트들인 하나 이상의 로컬 메모리들을 포함할 수 있거나, 또는 컴퓨터는 클라우드 네트워크에 있는 하나 이상의 원격 메모리들에 결합될 수 있다. 또한, 컴퓨터는 다른 디바이스, 예를 들어, 몇몇 예를 들자면, 모바일 전화, 개인 휴대 정보 단말(PDA), 모바일 오디오 또는 비디오 플레이어, 게임 콘솔, GPS(Global Positioning System) 수신기, 휴대용 저장 디바이스, 예를 들어, 범용 직렬 버스(USB) 플래시 드라이브에 내장될 수 있다.
컴포넌트들은 직접적으로 또는 하나 이상의 중간적 컴포넌트들을 통해 서로 전기적으로 또는 광학적으로 연결되는 것과 같이 통신가능하게 됨으로써 서로 "결합"될 수 있다. 컴포넌트들은 또한, 컴포넌트들 중 하나가 다른 것에 통합되면 서로 "결합"될 수 있다. 예를 들어, 프로세서에 통합되는 저장 컴포넌트(예를 들어, L2 캐시 컴포넌트)는 프로세서에 "결합"된다.
사용자와의 상호작용을 제공하기 위해, 본 명세서에서 설명된 요지의 실시예들은, 사용자에게 정보를 디스플레이하기 위한 디스플레이 디바이스, 예를 들어, LCD(liquid crystal display) 모니터, 및 사용자가 컴퓨터에 입력을 제공할 수 있게 하는 입력 디바이스, 예를 들어, 키보드 및 포인팅 디바이스, 예를 들어, 마우스, 트랙볼 또는 터치패드를 갖는 컴퓨터 상에 구현되거나 그와 통신하도록 구성될 수 있다. 다른 종류들의 디바이스들이 또한 사용자와의 상호작용을 제공하기 위해 사용될 수 있는데: 예를 들어, 사용자에게 제공된 피드백은 임의의 형태의 센서 피드백, 예를 들어, 시각적 피드백, 청각적 피드백 또는 촉각적 피드백일 수 있고; 사용자로부터의 입력은 음향, 스피치 또는 촉각적 입력을 포함하는 임의의 형태로 수신될 수 있다. 또한, 컴퓨터는 예를 들어, 웹 브라우저로부터 수신된 요청들에 응답하여 사용자의 디바이스 상의 웹 브라우저에 웹 페이지들을 전송함으로써, 또는 사용자 디바이스, 예를 들어, 스마트폰 또는 전자 태블릿 상에서 실행되는 앱과 상호작용함으로써, 사용자에 의해 사용되는 디바이스에 문서들을 전송하고 그로부터 문서들을 수신함으로써 사용자와 상호작용할 수 있다. 또한, 컴퓨터는 개인용 디바이스, 예를 들어, 메시징 애플리케이션을 실행하고 반환으로 사용자로부터 응답 메시지들을 수신하는 스마트폰에 텍스트 메시지들 또는 다른 형태들의 메시지를 전송함으로써 사용자와 상호작용할 수 있다.
본 명세서는 시스템들, 장치 및 컴퓨터 프로그램 컴포넌트들과 관련하여 용어 "구성되는"을 사용한다. 하나 이상의 컴퓨터들의 시스템이 특정 동작들 또는 액션들을 수행하도록 구성되는 것은, 시스템이 시스템으로 하여금 동작들 또는 액션들을 수행하게 하도록 동작하는 소프트웨어, 펌웨어, 하드웨어 또는 이들의 조합이 설치되어 있음을 의미한다. 하나 이상의 컴퓨터 프로그램들이 특정 동작들 또는 액션들을 수행하도록 구성되는 것은, 하나 이상의 프로그램들이 데이터 프로세싱 장치에 의해 실행되는 경우 장치로 하여금 동작들 또는 액션들을 수행하게 하는 명령어들을 포함함을 의미한다. 특수 목적 로직 회로가 특정 동작들 또는 액션들을 수행하도록 구성되는 것은, 회로가 동작들 또는 액션들을 수행하는 전자 로직을 가짐을 의미한다.
본 명세서서는 많은 특정 실시예 세부사항들을 포함하지만, 이들은, 청구항들 자체에 의해 정의되는, 청구되고 있는 범주에 대한 제한들로서 해석되는 것이 아니라, 오히려 특정 실시예들에 특정될 수 있는 특징들의 설명들로서 해석되어야 한다. 별개의 실시예들의 콘텍스트에서 본 명세서에서 설명된 특정 특징들은 또한 조합하여 단일 실시예로 실현될 수 있다. 반대로, 단일 실시예들의 맥락에서 설명된 다양한 특징들은 또한 복수의 실시예들에서 별개로 또는 임의의 적절한 하위 조합으로 실현될 수 있다. 또한, 특징들은 특정 조합들로 작용하는 것으로 앞서 설명되고 심지어 초기에 이와 같이 청구될 수 있지만, 청구된 조합으로부터의 하나 이상의 특징들은 일부 경우들에서 조합으로부터 제거될 수 있고, 청구항은 하위 조합 또는 하위 조합의 변형으로 유도될 수 있다.
유사하게, 동작들이 도면들에서 도시되고 청구항들에서 특정 순서로 인용되어 있지만, 이는 바람직한 결과들을 달성하기 위해 이러한 동작들이 도시된 특정 순서로 또는 순차적인 순서로 수행되거나 모든 예시된 동작들이 수행되도록 요구하는 것으로 이해되어서는 안된다. 특정 상황들에서, 멀티태스킹 및 병렬적 프로세싱이 유리할 수 있다. 또한, 앞서 설명된 실시예들에서 다양한 시스템 모듈들 및 컴포넌트들의 분리는 모든 실시예들에서 이러한 분리를 요구하는 것으로 이해되지 않아야 하며, 설명된 프로그램 컴포넌트들 및 시스템들은 일반적으로 단일 소프트웨어 제품에서 함께 통합되거나 복수의 소프트웨어 제품들로 패키징될 수 있음을 이해해야 한다.
요지의 특정 실시예들이 설명되었다. 다른 실시예들은 다음의 청구항들의 범위 내에 존재한다. 예를 들어, 청구항들에서 인용되는 액션들은 상이한 순서로 수행되고 여전히 바람직한 결과들을 달성할 수 있다. 일례로서, 첨부된 도면들에 도시된 프로세스들은, 바람직한 결과들을 달성하기 위해, 반드시 도시된 특정 순서 또는 순차적인 순서를 요구하지는 않는다. 일부 경우들에서, 멀티태스킹 및 병렬적 프로세싱이 유리할 수 있다.

Claims (24)

  1. 블록체인 네트워크에서 스마트 계약을 사용한 제품 프로모션(product promotion)을 위한 컴퓨터 구현 방법에 있어서,
    블록체인 네트워크의 노드에 의해, 프로모션 이벤트를 생성해달라는 생성 요청을 수신하는 단계 - 상기 프로모션 이벤트는 복수의 프로모션 코드들과 연관되고, 상기 프로모션 이벤트는 상기 프로모션 이벤트를 식별하기 위한 비밀 키(private key)와 공개 키(public key)의 쌍과 연관되고, 상기 생성 요청은 상기 비밀 키를 사용하여 생성된 디지털 시그너처(signature), 상기 공개 키, 및 상기 프로모션 이벤트의 하나 이상의 규칙(rule)을 포함함 -;
    상기 노드에 의해 그리고 상기 공개 키와 상기 디지털 시그너처에 기초하여, 상기 생성 요청의 유효성(validity)을 결정하는 단계; 및
    상기 생성 요청이 유효하다고 결정한 것에 응답하여, 상기 노드에 의해, 스마트 계약을 사용하여 상기 블록체인 네트워크에 상기 프로모션 이벤트를 등록(register)하는 단계 - 상기 등록하는 단계는,
    상기 노드에 의해, 상기 규칙을 상기 스마트 계약의 하나 이상의 기능에 입력하는 단계;
    상기 노드에 의해, 상기 스마트 계약의 하나 이상의 기능을 실행하는 단계; 및
    상기 복수의 프로모션 코드들을 상기 블록체인 네트워크에 저장하지 않고서, 상기 노드에 의해, 상기 규칙을 상기 블록체인 네트워크에 저장하는 단계
    를 포함함 -;
    상기 노드에 의해, 상기 복수의 프로모션 코드들 중의 한 프로모션 코드를 상환(redeem)해달라는 상환 요청(redemption request)을 수신하는 단계 - 상기 상환 요청은 상기 프로모션 코드, 상기 프로모션 이벤트의 식별자(ID), 및 상기 비밀 키를 사용하여 서명된 상기 상환 요청의 디지털 시그너처를 포함함 -;
    상기 노드에 의해 그리고 상기 프로모션 이벤트의 ID에 기초하여, 상기 프로모션 이벤트의 공개 키 및 상기 규칙을 식별하는 단계;
    상기 노드에 의해, 상기 상환 요청의 디지털 시그너처 및 상기 공개 키에 기초하여 상기 상환 요청이 유효하다고 결정하는 단계; 및
    상기 상환 요청이 유효하다고 결정한 후, 상기 스마트 계약을 실행하는 것에 적어도 기초하여 상기 상환 요청의 성공을 표시하는 통지를 전송하는 단계
    를 포함하는, 블록체인 네트워크에서 스마트 계약을 사용한 제품 프로모션을 위한 컴퓨터 구현 방법.
  2. 제1항에 있어서,
    상기 규칙은, 상기 프로모션 이벤트의 식별자(ID), 상기 복수의 프로모션 코드들의 총 수, 상기 복수의 프로모션 코드들의 범위, 상기 복수의 프로모션 코드들 각각의 유형, 유효한 프로모션 코드의 스펠링 규칙, 상기 프로모션 이벤트의 만료 시간, 상기 프로모션 이벤트의 지역, 또는 상기 복수의 프로모션 코드들 중 하나의 프로모션 코드의 상환을 위한 개인의 적격성(qualification) 중 하나 이상을 포함한 것인, 블록체인 네트워크에서 스마트 계약을 사용한 제품 프로모션을 위한 컴퓨터 구현 방법.
  3. 제1항에 있어서,
    상기 노드에 의해 그리고 상기 규칙에 기초하여, 상기 스마트 계약을 실행함으로써 상기 프로모션 코드가 유효한지를 결정하는 단계
    를 더 포함하는, 블록체인 네트워크에서 스마트 계약을 사용한 제품 프로모션을 위한 컴퓨터 구현 방법.
  4. 제3항에 있어서,
    상기 노드에 의해, 상기 스마트 계약을 실행함으로써 상기 프로모션 이벤트의 상환 이력에 따라 상기 프로모션 코드가 상환되었는지를 결정하는 단계
    를 더 포함하는, 블록체인 네트워크에서 스마트 계약을 사용한 제품 프로모션을 위한 컴퓨터 구현 방법.
  5. 제4항에 있어서,
    상기 프로모션 코드가 유효하고 상환되지 않았다고 결정한 것에 응답하여,
    상기 프로모션 코드의 상환을 상기 블록체인 네트워크에 레코딩(record)하는 단계; 및
    상기 프로모션 코드의 상환의 성공을 표시하는 확인응답을 반환하는 단계
    를 더 포함하는, 블록체인 네트워크에서 스마트 계약을 사용한 제품 프로모션을 위한 컴퓨터 구현 방법.
  6. 제3항에 있어서,
    상기 프로모션 코드가 무효(invalid)하다고 결정한 것에 응답하여, 상기 프로모션 코드가 무효임을 표시하는 통지를 반환하는 단계
    를 더 포함하는, 블록체인 네트워크에서 스마트 계약을 사용한 제품 프로모션을 위한 컴퓨터 구현 방법.
  7. 제4항에 있어서,
    상기 프로모션 코드가 상환되었다고 결정한 것에 응답하여, 상기 프로모션 코드가 상환되었음을 표시하는 통지를 반환하는 단계
    를 더 포함하는, 블록체인 네트워크에서 스마트 계약을 사용한 제품 프로모션을 위한 컴퓨터 구현 방법.
  8. 제1항에 있어서,
    상기 복수의 프로모션 코드들은 동시에 생성되고,
    상기 컴퓨터 구현 방법은,
    상기 노드에 의해, 상기 복수의 프로모션 코드들 중 둘 이상을 상환해달라는 둘 이상의 상환 요청들을 상이한 시간들에서 수신하는 단계
    를 더 포함한 것인, 블록체인 네트워크에서 스마트 계약을 사용한 제품 프로모션을 위한 컴퓨터 구현 방법.
  9. 블록체인 네트워크에서 스마트 계약을 사용한 제품 프로모션을 위한 동작들을 수행하도록 컴퓨터 시스템에 의해 실행가능한 하나 이상의 명령어를 저장한 컴퓨터 판독가능 비일시적 저장 매체에 있어서,
    상기 동작들은,
    블록체인 네트워크의 노드에 의해, 프로모션 이벤트를 생성해달라는 생성 요청을 수신하는 동작 - 상기 프로모션 이벤트는 복수의 프로모션 코드들과 연관되고, 상기 프로모션 이벤트는 상기 프로모션 이벤트를 식별하기 위한 비밀 키와 공개 키의 쌍과 연관되고, 상기 생성 요청은 상기 비밀 키를 사용하여 생성된 디지털 시그너처, 상기 공개 키, 및 상기 프로모션 이벤트의 하나 이상의 규칙을 포함함 -;
    상기 노드에 의해 그리고 상기 공개 키와 상기 디지털 시그너처에 기초하여, 상기 생성 요청의 유효성을 결정하는 동작; 및
    상기 생성 요청이 유효하다고 결정한 것에 응답하여, 상기 노드에 의해, 스마트 계약을 사용하여 상기 블록체인 네트워크에 상기 프로모션 이벤트를 등록하는 동작 - 상기 등록하는 동작은,
    상기 노드에 의해, 상기 규칙을 상기 스마트 계약의 하나 이상의 기능에 입력하는 동작;
    상기 노드에 의해, 상기 스마트 계약의 하나 이상의 기능을 실행하는 동작; 및
    상기 복수의 프로모션 코드들을 상기 블록체인 네트워크에 저장하지 않고서, 상기 노드에 의해, 상기 규칙을 상기 블록체인 네트워크에 저장하는 동작
    을 포함함 -;
    상기 노드에 의해, 상기 복수의 프로모션 코드들 중의 한 프로모션 코드를 상환해달라는 상환 요청을 수신하는 동작 - 상기 상환 요청은 상기 프로모션 코드, 상기 프로모션 이벤트의 식별자(ID), 및 상기 비밀 키를 사용하여 서명된 상기 상환 요청의 디지털 시그너처를 포함함 -;
    상기 노드에 의해 그리고 상기 프로모션 이벤트의 ID에 기초하여, 상기 프로모션 이벤트의 공개 키 및 상기 규칙을 식별하는 동작;
    상기 노드에 의해, 상기 상환 요청의 디지털 시그너처 및 상기 공개 키에 기초하여 상기 상환 요청이 유효하다고 결정하는 동작; 및
    상기 상환 요청이 유효하다고 결정한 후, 상기 스마트 계약을 실행하는 것에 적어도 기초하여 상기 상환 요청의 성공을 표시하는 통지를 전송하는 동작
    을 포함한 것인, 컴퓨터 판독가능 비일시적 저장 매체.
  10. 제9항에 있어서,
    상기 규칙은, 상기 프로모션 이벤트의 식별자(ID), 상기 복수의 프로모션 코드들의 총 수, 상기 복수의 프로모션 코드들의 범위, 상기 복수의 프로모션 코드들 각각의 유형, 유효한 프로모션 코드의 스펠링 규칙, 상기 프로모션 이벤트의 만료 시간, 상기 프로모션 이벤트의 지역, 또는 상기 복수의 프로모션 코드들 중 하나의 프로모션 코드의 상환을 위한 개인의 적격성 중 하나 이상을 포함한 것인, 컴퓨터 판독가능 비일시적 저장 매체.
  11. 제9항에 있어서,
    상기 동작들은,
    상기 노드에 의해 그리고 상기 규칙에 기초하여, 상기 스마트 계약을 실행함으로써 상기 프로모션 코드가 유효한지를 결정하는 동작
    을 더 포함한 것인, 컴퓨터 판독가능 비일시적 저장 매체.
  12. 제11항에 있어서,
    상기 동작들은,
    상기 노드에 의해, 상기 스마트 계약을 실행함으로써 상기 프로모션 이벤트의 상환 이력에 따라 상기 프로모션 코드가 상환되었는지를 결정하는 동작
    을 더 포함한 것인, 컴퓨터 판독가능 비일시적 저장 매체.
  13. 제12항에 있어서,
    상기 동작들은,
    상기 프로모션 코드가 유효하고 상환되지 않았다고 결정한 것에 응답하여,
    상기 프로모션 코드의 상환을 상기 블록체인 네트워크에 레코딩하는 동작; 및
    상기 프로모션 코드의 상환의 성공을 표시하는 확인응답을 반환하는 동작
    을 더 포함한 것인, 컴퓨터 판독가능 비일시적 저장 매체.
  14. 제11항에 있어서,
    상기 동작들은,
    상기 프로모션 코드가 무효하다고 결정한 것에 응답하여, 상기 프로모션 코드가 무효임을 표시하는 통지를 반환하는 동작
    을 더 포함한 것인, 컴퓨터 판독가능 비일시적 저장 매체.
  15. 제12항에 있어서,
    상기 동작들은,
    상기 프로모션 코드가 상환되었다고 결정한 것에 응답하여, 상기 프로모션 코드가 상환되었음을 표시하는 통지를 반환하는 동작
    을 더 포함한 것인, 컴퓨터 판독가능 비일시적 저장 매체.
  16. 제9항에 있어서,
    상기 복수의 프로모션 코드들은 동시에 생성되고,
    상기 동작들은,
    상기 노드에 의해, 상기 복수의 프로모션 코드들 중 둘 이상을 상환해달라는 둘 이상의 상환 요청들을 상이한 시간들에서 수신하는 동작
    을 더 포함한 것인, 컴퓨터 판독가능 비일시적 저장 매체.
  17. 컴퓨터 구현 시스템에 있어서,
    하나 이상의 컴퓨터; 및
    상기 하나 이상의 컴퓨터와 상호동작가능하게 결합되고, 하나 이상의 명령어를 저장하는 유형적인(tangible) 머신 판독가능 비일시적 매체를 갖는 하나 이상의 컴퓨터 메모리 디바이스
    를 포함하고, 상기 하나 이상의 명령어는, 상기 하나 이상의 컴퓨터에 의해 실행될 때, 블록체인 네트워크에서 스마트 계약을 사용한 제품 프로모션을 위한 하나 이상의 동작을 수행하고,
    상기 하나 이상의 동작은,
    블록체인 네트워크의 노드에 의해, 프로모션 이벤트를 생성해달라는 생성 요청을 수신하는 동작 - 상기 프로모션 이벤트는 복수의 프로모션 코드들과 연관되고, 상기 프로모션 이벤트는 상기 프로모션 이벤트를 식별하기 위한 비밀 키와 공개 키의 쌍과 연관되고, 상기 생성 요청은 상기 비밀 키를 사용하여 생성된 디지털 시그너처, 상기 공개 키, 및 상기 프로모션 이벤트의 하나 이상의 규칙을 포함함 -;
    상기 노드에 의해 그리고 상기 공개 키와 상기 디지털 시그너처에 기초하여, 상기 생성 요청의 유효성을 결정하는 동작; 및
    상기 생성 요청이 유효하다고 결정한 것에 응답하여, 상기 노드에 의해, 스마트 계약을 사용하여 상기 블록체인 네트워크에 상기 프로모션 이벤트를 등록하는 동작 - 상기 등록하는 동작은,
    상기 노드에 의해, 상기 규칙을 상기 스마트 계약의 하나 이상의 기능에 입력하는 동작;
    상기 노드에 의해, 상기 스마트 계약의 하나 이상의 기능을 실행하는 동작; 및
    상기 복수의 프로모션 코드들을 상기 블록체인 네트워크에 저장하지 않고서, 상기 노드에 의해, 상기 규칙을 상기 블록체인 네트워크에 저장하는 동작
    을 포함함 -;
    상기 노드에 의해, 상기 복수의 프로모션 코드들 중의 한 프로모션 코드를 상환해달라는 상환 요청을 수신하는 동작 - 상기 상환 요청은 상기 프로모션 코드, 상기 프로모션 이벤트의 식별자(ID), 및 상기 비밀 키를 사용하여 서명된 상기 상환 요청의 디지털 시그너처를 포함함 -;
    상기 노드에 의해 그리고 상기 프로모션 이벤트의 ID에 기초하여, 상기 프로모션 이벤트의 공개 키 및 상기 규칙을 식별하는 동작;
    상기 노드에 의해, 상기 상환 요청의 디지털 시그너처 및 상기 공개 키에 기초하여 상기 상환 요청이 유효하다고 결정하는 동작; 및
    상기 상환 요청이 유효하다고 결정한 후, 상기 스마트 계약을 실행하는 것에 적어도 기초하여 상기 상환 요청의 성공을 표시하는 통지를 전송하는 동작
    을 포함한 것인, 컴퓨터 구현 시스템.
  18. 제17항에 있어서,
    상기 규칙은, 상기 프로모션 이벤트의 식별자(ID), 상기 복수의 프로모션 코드들의 총 수, 상기 복수의 프로모션 코드들의 범위, 상기 복수의 프로모션 코드들 각각의 유형, 유효한 프로모션 코드의 스펠링 규칙, 상기 프로모션 이벤트의 만료 시간, 상기 프로모션 이벤트의 지역, 또는 상기 복수의 프로모션 코드들 중 하나의 프로모션 코드의 상환을 위한 개인의 적격성 중 하나 이상을 포함한 것인, 컴퓨터 구현 시스템.
  19. 제17항에 있어서,
    상기 하나 이상의 동작은,
    상기 노드에 의해 그리고 상기 규칙에 기초하여, 상기 스마트 계약을 실행함으로써 상기 프로모션 코드가 유효한지를 결정하는 동작
    을 더 포함한 것인, 컴퓨터 구현 시스템.
  20. 제19항에 있어서,
    상기 하나 이상의 동작은,
    상기 노드에 의해, 상기 스마트 계약을 실행함으로써 상기 프로모션 이벤트의 상환 이력에 따라 상기 프로모션 코드가 상환되었는지를 결정하는 동작
    을 더 포함한 것인, 컴퓨터 구현 시스템.
  21. 제20항에 있어서,
    상기 하나 이상의 동작은,
    상기 프로모션 코드가 유효하고 상환되지 않았다고 결정한 것에 응답하여,
    상기 프로모션 코드의 상환을 상기 블록체인 네트워크에 레코딩하는 동작; 및
    상기 프로모션 코드의 상환의 성공을 표시하는 확인응답을 반환하는 동작
    을 더 포함한 것인, 컴퓨터 구현 시스템.
  22. 제19항에 있어서,
    상기 하나 이상의 동작은,
    상기 프로모션 코드가 무효하다고 결정한 것에 응답하여, 상기 프로모션 코드가 무효임을 표시하는 통지를 반환하는 동작
    을 더 포함한 것인, 컴퓨터 구현 시스템.
  23. 제20항에 있어서,
    상기 하나 이상의 동작은,
    상기 프로모션 코드가 상환되었다고 결정한 것에 응답하여, 상기 프로모션 코드가 상환되었음을 표시하는 통지를 반환하는 동작
    을 더 포함한 것인, 컴퓨터 구현 시스템.
  24. 제17항에 있어서,
    상기 복수의 프로모션 코드들은 동시에 생성되고,
    상기 하나 이상의 동작은,
    상기 노드에 의해, 상기 복수의 프로모션 코드들 중 둘 이상을 상환해달라는 둘 이상의 상환 요청들을 상이한 시간들에서 수신하는 동작
    을 더 포함한 것인, 컴퓨터 구현 시스템.
KR1020197031532A 2019-04-08 2019-04-08 블록체인 네트워크에서 스마트 계약을 사용한 제품 프로모션 KR102192887B1 (ko)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/CN2019/081719 WO2019120330A2 (en) 2019-04-08 2019-04-08 Product promotion using smart contracts in blockchain networks

Publications (2)

Publication Number Publication Date
KR20200119707A KR20200119707A (ko) 2020-10-20
KR102192887B1 true KR102192887B1 (ko) 2020-12-21

Family

ID=66992753

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020197031532A KR102192887B1 (ko) 2019-04-08 2019-04-08 블록체인 네트워크에서 스마트 계약을 사용한 제품 프로모션

Country Status (9)

Country Link
US (1) US10664877B1 (ko)
EP (1) EP3619670A4 (ko)
JP (1) JP6759468B2 (ko)
KR (1) KR102192887B1 (ko)
CN (2) CN110914857B (ko)
AU (2) AU2019204731A1 (ko)
CA (1) CA3060791C (ko)
SG (1) SG11201909948WA (ko)
WO (1) WO2019120330A2 (ko)

Families Citing this family (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11100090B2 (en) * 2018-11-06 2021-08-24 International Business Machines Corporation Offloaded chaincode execution for a database
US20220327572A1 (en) * 2019-09-30 2022-10-13 Nec Corporation Advertisement distribution guarantee apparatus, advertisement distribution guarantee method, and computer-readable recording medium
CN110727735B (zh) * 2019-10-17 2023-07-25 腾讯科技(深圳)有限公司 基于区块链技术协作完成任务事件的方法、装置及设备
US11580577B2 (en) * 2020-01-26 2023-02-14 International Business Machines Corporation Product exploration-based promotion
US11887146B2 (en) 2020-01-26 2024-01-30 International Business Machines Corporation Product exploration-based promotion
CN111325583B (zh) * 2020-03-20 2023-05-02 贵阳块数据城市建设有限公司 一种基于区块链技术记录电子券生命周期的设计方法
GB2598301A (en) * 2020-08-21 2022-03-02 Nchain Holdings Ltd Alert account
CN112200572A (zh) * 2020-10-09 2021-01-08 支付宝(杭州)信息技术有限公司 基于区块链的资源发放方法、装置及电子设备
US11270332B1 (en) * 2021-03-29 2022-03-08 Webtxt LLC Provisioning of text message with updatable object
US11681501B2 (en) 2021-05-11 2023-06-20 International Business Machines Corporation Artificial intelligence enabled open source project enabler and recommendation platform
WO2022263975A1 (en) * 2021-06-19 2022-12-22 Deep Signature Ltd. System and methods for verifying merchandise authenticity
CN113689247B (zh) * 2021-10-27 2022-02-15 冰联(广州)网络科技有限公司 一种基于信息流并联的区块链电子券标记方法及系统

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101962285B1 (ko) 2018-07-09 2019-03-26 주식회사 미탭스플러스 블록체인 기반의 사용자 식별 관리를 위한 분산 원장 장치 및 분산 원장 방법

Family Cites Families (52)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9129252B2 (en) * 2006-03-31 2015-09-08 At&T Intellectual Property I, L.P. Potential realization system with electronic communication processing for conditional resource incrementation
US8850211B2 (en) * 2009-04-27 2014-09-30 Qualcomm Incorporated Method and apparatus for improving code and data signing
TW201201041A (en) * 2010-06-21 2012-01-01 Zhe-Yang Zhou Data security method and system
US20120284090A1 (en) * 2011-05-02 2012-11-08 Sergejs Marins System and method for accumulation and verification of trust for participating users in a crowd sourcing activity
US10163126B2 (en) * 2011-07-29 2018-12-25 Ncr Corporation Promotion verification method
US8171525B1 (en) * 2011-09-15 2012-05-01 Google Inc. Enabling users to select between secure service providers using a central trusted service manager
US9141968B2 (en) * 2012-04-19 2015-09-22 Beijing Budingfangzhou Technology Co., Ltd. System and method for redeeming an electronic promotion code at a point of sale
US10861112B2 (en) * 2012-07-31 2020-12-08 Causam Energy, Inc. Systems and methods for advanced energy settlements, network-based messaging, and applications supporting the same on a blockchain platform
EP2838013A1 (en) * 2013-08-14 2015-02-18 Bitreactive AS Improved state space analysis using partial descriptions
US9870591B2 (en) * 2013-09-12 2018-01-16 Netspective Communications Llc Distributed electronic document review in a blockchain system and computerized scoring based on textual and visual feedback
AU2015287566A1 (en) * 2014-07-11 2017-03-09 Loyyal Corporation Distributed ledger protocol to incentivize transactional and non-transactional commerce
EP3317775B1 (en) * 2015-07-02 2022-02-16 Nasdaq, Inc. Systems and methods of secure provenance for distributed transaction databases
US20170140408A1 (en) * 2015-11-16 2017-05-18 Bank Of America Corporation Transparent self-managing rewards program using blockchain and smart contracts
WO2017127564A1 (en) * 2016-01-19 2017-07-27 Priv8Pay, Inc. Network node authentication
US20170243193A1 (en) * 2016-02-18 2017-08-24 Skuchain, Inc. Hybrid blockchain
EP3424179B1 (en) * 2016-03-04 2022-02-16 Ping Identity Corporation Method and system for authenticated login using static or dynamic codes
US10521775B2 (en) * 2016-04-18 2019-12-31 R3 Ltd. Secure processing of electronic transactions by a decentralized, distributed ledger system
US10346782B2 (en) * 2016-06-21 2019-07-09 Accenture Global Solutions Limited Adaptive augmented decision engine
WO2018006072A1 (en) * 2016-06-30 2018-01-04 Clause, Inc. Systems and method for forming, storing, managing,and executing contracts
JP2018028762A (ja) * 2016-08-16 2018-02-22 株式会社Sound−F クーポン管理システムおよび方法
JP2018049428A (ja) * 2016-09-21 2018-03-29 りそな決済サービス株式会社 ポイント管理システム、及びポイント管理方法
US10291627B2 (en) * 2016-10-17 2019-05-14 Arm Ltd. Blockchain mining using trusted nodes
US11151591B2 (en) * 2016-12-06 2021-10-19 Verizon Media Inc. Dynamic scan code generation
WO2018112035A1 (en) * 2016-12-14 2018-06-21 Wal-Mart Stores, Inc. Obtaining a medical record stored on a blockchain from a wearable device
US10318979B2 (en) * 2016-12-26 2019-06-11 International Business Machines Corporation Incentive-based crowdvoting using a blockchain
US10498541B2 (en) * 2017-02-06 2019-12-03 ShocCard, Inc. Electronic identification verification methods and systems
US10158479B2 (en) * 2017-02-06 2018-12-18 Northern Trust Corporation Systems and methods for generating, uploading and executing code blocks within distributed network nodes
FR3063370B1 (fr) * 2017-02-24 2021-04-23 Gilles Buisson Systeme et procede de traitement d'une transaction bancaire
CA3056717A1 (en) * 2017-03-17 2018-09-20 Royal Bank Of Canada Systems and methods for hybrid blockchain platform
US10243743B1 (en) * 2017-09-13 2019-03-26 Vijay K. Madisetti Tokens or crypto currency using smart contracts and blockchains
US10984134B2 (en) * 2017-07-14 2021-04-20 Microsoft Technology Licensing, Llc Blockchain system for leveraging member nodes to achieve consensus
US20190043138A1 (en) * 2017-08-01 2019-02-07 DebtMet, LLC Social finance network platform
US20190303886A1 (en) * 2017-08-03 2019-10-03 Liquineq AG System and method for multi-tiered distributed network transactional database
JPWO2019035459A1 (ja) * 2017-08-15 2019-11-14 株式会社Maxele 情報流通方法、情報流通サーバ装置、端末装置、及びコンピュータプログラム
CN108171609B (zh) * 2017-12-29 2021-05-07 苏州朗润创新知识产权运营有限公司 一种数字资产互通的方法和计算机可读存储介质
US20190215163A1 (en) * 2018-01-09 2019-07-11 Ford Global Technologies, Llc Electronic custody tracking
US20190236214A1 (en) * 2018-01-30 2019-08-01 Michael Stephen Kokernak System and method for facilitating clickable links servers using a decentralized blockchain ledger
US20190279257A1 (en) * 2018-03-06 2019-09-12 Michael Stephen Kokernak System and method for clickabletv targeting by location and content attributes
US11729612B2 (en) * 2018-03-08 2023-08-15 Cypress Semiconductor Corporation Secure BLE just works pairing method against man-in-the-middle attack
US20190303623A1 (en) * 2018-04-02 2019-10-03 Ca, Inc. Promotion smart contracts for software development processes
JP6487096B1 (ja) * 2018-04-17 2019-03-20 株式会社電通 ポイント付与システム及びポイント付与方法
US11132707B2 (en) * 2018-04-25 2021-09-28 At&T Intellectual Property I, L.P. Blockchain solution for an automated advertising marketplace
US20190333029A1 (en) * 2018-04-26 2019-10-31 Dark Matter L.L.C. System, method, and computer program product for validating blockchain or distributed ledger transactions in a service requiring payment
CN108764992A (zh) * 2018-05-23 2018-11-06 济南浪潮高新科技投资发展有限公司 一种基于区块链的网络营销结算方法和系统
CN108764993A (zh) * 2018-05-23 2018-11-06 栾友祥 一种基于区块链的商场促销系统
CN108876401B (zh) * 2018-05-29 2022-03-01 创新先进技术有限公司 基于区块链的商品理赔方法及装置、电子设备
US11049148B2 (en) * 2018-06-01 2021-06-29 Concord Technologies Inc. User control of anonymized profiling data using public and private blockchains in an electronic ad marketplace
US11397960B2 (en) * 2018-06-11 2022-07-26 International Business Machines Corporation Direct marketing via chained interactions in a blockchain
US10565607B2 (en) * 2018-06-29 2020-02-18 Sion Apps LLC Browser based advertising platform and rewards system
CN109360016A (zh) * 2018-09-07 2019-02-19 中链科技有限公司 基于区块链的数字促销券发行方法、装置及电子设备
GB201815816D0 (en) * 2018-09-28 2018-11-14 Nchain Holdings Ltd Computer-implemented system and method
CN109451061B (zh) * 2018-12-20 2021-06-01 全链通有限公司 区块链的合约调整处理方法和系统

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101962285B1 (ko) 2018-07-09 2019-03-26 주식회사 미탭스플러스 블록체인 기반의 사용자 식별 관리를 위한 분산 원장 장치 및 분산 원장 방법

Also Published As

Publication number Publication date
JP2020526052A (ja) 2020-08-27
SG11201909948WA (en) 2019-11-28
CN110914857A (zh) 2020-03-24
CN117557309A (zh) 2024-02-13
EP3619670A2 (en) 2020-03-11
EP3619670A4 (en) 2020-05-06
CA3060791C (en) 2020-10-06
AU2019204731A1 (en) 2019-06-27
KR20200119707A (ko) 2020-10-20
JP6759468B2 (ja) 2020-09-23
CA3060791A1 (en) 2019-06-27
WO2019120330A3 (en) 2020-02-20
US10664877B1 (en) 2020-05-26
AU2021202435A1 (en) 2021-05-13
CN110914857B (zh) 2023-12-12
WO2019120330A2 (en) 2019-06-27

Similar Documents

Publication Publication Date Title
KR102192887B1 (ko) 블록체인 네트워크에서 스마트 계약을 사용한 제품 프로모션
US11341466B2 (en) Transferring digital tickets based on blockchain networks
US20200302410A1 (en) Virtual currency system
US11151582B2 (en) Smart logistics management using blockchain
US20150269541A1 (en) Virtual currency system
CN111989707B (zh) 管理基于区块链的海关清关服务的用户权限
EP3876473B1 (en) Managing housing scores using smart contracts in blockchain networks
US11379866B2 (en) Retrieving values of digital tickets using smart contracts in blockchain networks
EP3628093B1 (en) Method and device for avoiding double-spending problem in read-write set-model-based blockchain technology
JP2023502057A (ja) ブロックチェーントランザクションを使用したアイデンティティ検証プロトコル

Legal Events

Date Code Title Description
E701 Decision to grant or registration of patent right
N231 Notification of change of applicant
GRNT Written decision to grant