KR102203758B1 - 블록 체인 시스템에서 인증서들을 처리하기 위한 방법 및 디바이스 - Google Patents

블록 체인 시스템에서 인증서들을 처리하기 위한 방법 및 디바이스 Download PDF

Info

Publication number
KR102203758B1
KR102203758B1 KR1020197028573A KR20197028573A KR102203758B1 KR 102203758 B1 KR102203758 B1 KR 102203758B1 KR 1020197028573 A KR1020197028573 A KR 1020197028573A KR 20197028573 A KR20197028573 A KR 20197028573A KR 102203758 B1 KR102203758 B1 KR 102203758B1
Authority
KR
South Korea
Prior art keywords
blockchain system
certificate
certificates
smart contract
request
Prior art date
Application number
KR1020197028573A
Other languages
English (en)
Other versions
KR20200107770A (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 KR20200107770A publication Critical patent/KR20200107770A/ko
Application granted granted Critical
Publication of KR102203758B1 publication Critical patent/KR102203758B1/ko

Links

Images

Classifications

    • 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/3263Cryptographic 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 certificates, e.g. public key certificate [PKC] or attribute certificate [AC]; Public key infrastructure [PKI] arrangements
    • H04L9/3268Cryptographic 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 certificates, e.g. public key certificate [PKC] or attribute certificate [AC]; Public key infrastructure [PKI] arrangements using certificate validation, registration, distribution or revocation, e.g. certificate revocation list [CRL]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q20/00Payment architectures, schemes or protocols
    • G06Q20/04Payment circuits
    • G06Q20/06Private payment circuits, e.g. involving electronic currency used among participants of a common payment scheme
    • G06Q20/065Private payment circuits, e.g. involving electronic currency used among participants of a common payment scheme using e-cash
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q20/00Payment architectures, schemes or protocols
    • G06Q20/38Payment protocols; Details thereof
    • G06Q20/382Payment protocols; Details thereof insuring higher security of transaction
    • G06Q20/3821Electronic credentials
    • G06Q20/38215Use of certificates or encrypted proofs of transaction rights
    • 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/387Payment using discounts or coupons
    • 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/389Keeping log of transactions for guaranteeing non-repudiation of a transaction
    • 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
    • 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
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • H04L67/1097Protocols in which an application is distributed across nodes in the network for distributed storage of data in networks, e.g. transport arrangements for network file system [NFS], storage area networks [SAN] or network attached storage [NAS]
    • 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/32Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
    • H04L9/3236Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials using cryptographic hash functions
    • H04L9/3239Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials using cryptographic hash functions involving non-keyed hash functions, e.g. modification detection codes [MDCs], MD5, SHA or RIPEMD
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/32Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
    • H04L9/3263Cryptographic 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 certificates, e.g. public key certificate [PKC] or attribute certificate [AC]; Public key infrastructure [PKI] arrangements
    • 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/3297Cryptographic 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 time stamps, e.g. generation of time stamps
    • 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
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • 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
    • H04L2209/38

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Business, Economics & Management (AREA)
  • Accounting & Taxation (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Finance (AREA)
  • Strategic Management (AREA)
  • General Physics & Mathematics (AREA)
  • General Business, Economics & Management (AREA)
  • Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Development Economics (AREA)
  • Economics (AREA)
  • Marketing (AREA)
  • Power Engineering (AREA)
  • Entrepreneurship & Innovation (AREA)
  • Game Theory and Decision Science (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

본 명세서에는, 컴퓨터 판독 가능한 매체에 저장되는 컴퓨터 프로그램들을 비롯한, 블록 체인 시스템에서 인증서들을 처리하기 위한 방법, 디바이스 및 장치가 개시된다. 방법들 중 하나는 블록 체인 시스템에서 스마트 계약이 생성되게 하는 단계 - 스마트 계약은 인증서들을 처리하기 위한 컴퓨터 판독 가능한 명령어들을 포함함 -; 스마트 계약이 생성된 후, 제1 트랜잭션에 대한 제1 요청을 블록 체인 시스템에 전송하는 단계 - 제1 트랜잭션은 블록 체인 시스템으로 하여금 스마트 계약을 실행하여 제1 요청에 기초하여 인증서 사양을 생성하게 함-; 인증서 사양을 블록 체인 시스템으로부터 수신하는 단계; 및 복수의 제2 트랜잭션에 대한 제2 요청을 블록 체인 시스템에 전송하는 단계 - 복수의 제2 트랜잭션은 블록 체인 시스템으로 하여금 스마트 계약을 실행하여 복수의 인증서를 생성하게 함 -를 포함한다.

Description

블록 체인 시스템에서 인증서들을 처리하기 위한 방법 및 디바이스
본 명세서는 일반적으로 컴퓨터 기술에 관한 것으로, 보다 상세하게는, 블록 체인 시스템에서 인증서를 처리하기 위한 방법 및 디바이스에 관한 것이다.
분산 원장 시스템(distributed ledger systems)(DLS) 또는 합의 시스템(consensus systems)으로도 지칭되는 블록 체인 시스템을 통해, 참여 개체가 데이터를 안전하고 불변적으로 저장하는 것이 가능하게 된다. 블록 체인 시스템은, 임의의 특정 사용 사례를 참조하지 않고, 임의의 DLS를 포함할 수 있고, 공개, 비공개 및 컨소시엄 블록 체인 네트워크(consortium blockchain network)에 사용될 수 있다. 모든 개체가 시스템을 사용하고 합의 프로세스에 참여하도록 공개 블록 체인 네트워크가 오픈되어 있다. 판독 및 기입 허가(read and write permissions)를 중앙 집중식으로 제어하는 비공개 블록 체인 네트워크(private blockchain network)가 특정 개체를 위해 제공된다. 합의 프로세스를 제어하고 액세스 제어 계층을 포함하는 컨소시엄 블록 체인 네트워크가 개체들의 선택 그룹을 위해 제공된다.
블록 체인 시스템은 하나 이상의 블록 체인을 유지한다. 블록 체인은, 트랜잭션과 같은 데이터를 저장하기 위한 데이터 구조이고, 악의적인 당사자에 의한 데이터의 부당 변경(tampering) 및 조작을 방지할 수 있다.
투명성(transparency)의 요구로 인해, 인증서(예를 들어, 쿠폰, 티켓 등)의 처리는 블록 체인 시스템에 구현될 수 있다. 종래에, 인증서는 블록 체인 시스템에서 실행되는 스마트 계약의 계약 계정을 기반으로 생성된다. 예를 들어, 인증서가 작성, 배포 또는 기입-취소될(written off) 때, 계정의 정확성과 균형을 유지하기 위해서 스마트 계약의 계정은 이에 따라 갱신될 필요가 있다. 그러나, 하나의 인증서에 대한 계정을 갱신하는 것은 몇 초 내지 몇 분이 걸릴 수 있다. 따라서, 시스템-사용 기간(system-busy time period) 동안, 종래의 방식으로 다수의 인증서를 처리하는 것은 블록 체인 시스템의 성능에 영향을 줄 수 있다.
일 양상에서, 블록 체인 시스템에서 인증서들을 처리하기 위한 컴퓨터로 구현되는 방법(computer-implemented method)은, 블록 체인 시스템에서 스마트 계약이 생성되게 하는 단계 - 스마트 계약은 인증서들을 처리하기 위한 컴퓨터 판독 가능한 명령어들을 포함함 -; 스마트 계약이 생성된 후, 제1 트랜잭션에 대한 제1 요청을 블록 체인 시스템에 전송하는 단계 - 제1 트랜잭션은 블록 체인 시스템으로 하여금 스마트 계약을 실행하여 제1 요청에 기초하여 인증서 사양을 생성하게 함 -; 인증서 사양을 블록 체인 시스템으로부터 수신하는 단계; 및 복수의 제2 트랜잭션에 대한 제2 요청을 블록 체인 시스템에 전송하는 단계 - 복수의 제2 트랜잭션은 블록 체인 시스템으로 하여금 스마트 계약을 실행하여 복수의 인증서를 생성하게 하는 함 -를 포함한다.
다른 양상에서, 블록 체인 시스템에서 인증서들을 처리하기 위한 디바이스는, 하나 이상의 프로세서; 및 하나 이상의 프로세서에 결합된 하나 이상의 컴퓨터 판독 가능한 메모리를 포함하고, 컴퓨터 판독 가능한 메모리는 하나 이상의 프로세서에 의해 스마트 계약이 블록 체인 시스템에서 생성되게 하고 - 스마트 계약은 인증서들을 처리하기 위한 컴퓨터 판독 가능한 명령어들을 포함함 -; 스마트 계약이 생성된 후, 제1 트랜잭션에 대한 제1 요청을 블록 체인 시스템에 전송하고 - 제1 트랜잭션은 블록 체인 시스템으로 하여금 스마트 계약을 실행하여 제1 요청에 기초하여 인증서 사양을 생성하게 함 -; 인증서 사양을 블록 체인 시스템으로부터 수신하고; 복수의 제2 트랜잭션에 대한 제2 요청을 블록 체인 시스템에 전송하게 하는 - 복수의 제2 트랜잭션은 블록 체인 시스템으로 하여금 스마트 계약을 실행하여 복수의 인증서를 생성하게 함 - 명령어들이 저장되어 있다.
또 다른 양상에서, 비일시적 컴퓨터 판독 가능한 매체는 명령어들을 저장하고, 이들 명령어는 디바이스의 프로세서에 의해 실행될 때 디바이스로 하여금 블록 체인 시스템에서 인증서들을 처리하기 위한 방법을 수행하게 한다. 이 방법은 블록 체인 시스템에서 스마트 계약이 생성되게 하는 단계 - 스마트 계약은 인증서들을 처리하기 위한 컴퓨터 판독 가능한 명령어들을 포함함 -; 스마트 계약이 생성된 후, 제1 트랜잭션에 대한 제1 요청을 블록 체인 시스템에 전송하는 단계 - 제1 트랜잭션은 블록 체인 시스템으로 하여금 스마트 계약을 실행하여 제1 요청에 기초하여 인증서 사양을 생성하게 함 -; 인증서 사양을 블록 체인 시스템으로부터 수신하는 단계; 및 복수의 제2 트랜잭션에 대한 제2 요청을 상기 블록 체인 시스템에 전송하는 단계 - 복수의 제2 트랜잭션은 블록 체인 시스템으로 하여금 스마트 계약을 실행하여 복수의 인증서를 생성하게 함 -를 포함한다
본 명세서에 포함되어 본 명세서의 일부를 구성하는 첨부 도면들은 실시예들을 예시한다. 도면들을 참조하는 다음의 설명에서, 상이한 도면들에서 동일한 번호는, 달리 나타내지 않는 한, 동일하거나 유사한 요소를 나타낸다.
도 1은 일 실시예에 따른 블록 체인 시스템의 개략도이다.
도 2는 일 실시예에 따른 블록 체인 시스템에서 노드를 구현하기 위한 컴퓨팅 디바이스의 개략도이다.
도 3은 일 실시예에 따른 블록 체인 시스템에서 인증서들을 처리하기 위한 방법의 흐름도이다.
도 4는 일 실시예에 따른 블록 체인 시스템에서 인증서들을 처리하기 위한 방법의 흐름도이다.
도 5는 일 실시예에 따른 블록 체인 시스템에서 인증서들을 처리하기 위한 컴퓨터로 구현되는 방법의 흐름도이다.
도 6은 일 실시예에 따른, 블록 체인 시스템에서 인증서들을 처리하기 위한 컴퓨터로 구현되는 방법의 흐름도이다.
도 7은 일 실시예에 따른 블록 체인 시스템에서 인증서들을 처리하기 위한 장치의 블록도이다.
본 명세서의 실시예들은 블록 체인 시스템에서 인증서들을 처리하기 위한 방법 및 디바이스를 제공한다. 방법 및 디바이스는, 블록 체인 시스템에서 스마트 계약이 생성되게 할 수 있다. 스마트 계약은 인증서들을 처리하기 위한 컴퓨터 판독 가능한 명령어들을 포함한다. 스마트 계약이 생성된 후, 방법 및 디바이스는 제1 트랜잭션에 대한 제1 요청을 블록 체인 시스템에 전송할 수 있고, 제1 트랜잭션은 블록 체인 시스템으로 하여금 스마트 계약을 실행하여 제1 요청에 기초하여 인증서 사양을 생성하게 한다. 방법 및 디바이스는 인증서 사양을 블록 체인 시스템으로부터 수신할 수 있다. 방법 및 디바이스는 복수의 제2 트랜잭션에 대한 제2 요청을 블록 체인 시스템에 더 전송할 수 있다. 복수의 제2 트랜잭션은 블록 체인 시스템으로 하여금 스마트 계약을 실행하여 복수의 인증서를 생성하게 한다.
본 명세서에 개시된 실시예들은 하나 이상의 기술적 효과를 갖는다. 일부 실시예에서, 방법 및 디바이스는 블록 체인 시스템으로 하여금 스마트 계약을 실행하여 인증서 사양을 생성하게 한다. 이를 통해 블록 체인 시스템 상에서 인증서 사양이 공개적으로 액세스될 수 있으므로, 트랜잭션 동작(transaction activity)의 투명성이 보장된다. 일부 실시예에서, 방법 및 디바이스는 블록 체인 시스템으로 하여금 스마트 계약을 실행하여 인증서 사양에 기초하여 인증서를 생성하게 한다. 이를 통해 인증서 사양에 지정된 정보로 정확한 인증서를 생성할 수 있으므로, 시스템 성능이 향상되고, 블록 체인 시스템에서 계약 계정을 실행하는 컴퓨팅 비용이 절감된다. 다른 실시예들에서, 방법 및 디바이스는 블록 체인 시스템으로 하여금 복수의 제2 트랜잭션을 실행하여 인증서 사용에 대한 요청을 수신하기 전에 복수의 인증서를 생성하게 한다. 이를 통해 인증서 생성이 인증서 배포 및 기입-취소(writing-off)로부터 분리될 수 있어, 블록 체인의 성능에 대한 인증서 처리의 영향이 감소된다. 블록 체인 시스템 상에서의 인증서 생성은, 트랜잭션 동작에 대한 추가적인 투명성을 또한 제공한다. 예를 들어, 블록 체인 시스템의 노드는 인증서 사양에 기초하여 인증서를 검증할 수 있다.
다음의 설명은 실시예들의 세부사항을 제공한다. 실시예들에서, 트랜잭션이 불변하고 후속적으로 검증될 수 있는 방식으로, 데이터, 예를 들어, 트랜잭션을 저장하는 데이터 구조가 블록 체인이다. 블록 체인은 하나 이상의 블록을 포함한다. 각각의 블록은, 이전 블록의 암호화 해시를 포함함으로써, 블록 체인에서 직전의 이전 블록에 링크된다. 각각의 블록은, 타임 스탬프, 그 자신의 암호화 해시, 및 하나 이상의 트랜잭션을 포함할 수도 있다. 일반적으로 블록 체인 시스템의 노드에 의해 이미 검증된 트랜잭션은 해싱되고 머클 트리(Merkle tree)와 같은 데이터 구조로 인코딩될 수 있다. 머클 트리에서, 트리의 리프 노드에 있는 데이터가 해싱되고, 트리의 각각의 분기에 있는 모든 해시는 분기의 루트에 연결될(concatenated) 수 있다. 이 프로세스는 전체 트리의 루트까지 트리를 계속하여 트리의 모든 데이터를 나타내는 해시를 저장한다. 트리에 저장된 트랜잭션인 것으로 주장되는 해시는, 트리의 구조와 일치되는지를 결정함으로써 신속하게 검증될 수 있다.
블록 체인 시스템은 하나 이상의 블록 체인을 관리, 갱신 및 유지하는 컴퓨팅 노드들의 네트워크를 포함한다. 네트워크는 공개 블록 체인 네트워크, 비공개 블록 체인 네트워크 또는 컨소시엄 블록 체인 네트워크일 수 있다. 예를 들어, 수백, 수천 또는 심지어 수백만 개체와 같은 다수의 개체가 공개 블록 체인 네트워크에서 동작할 수 있고, 개체들 각각은 공개 블록 체인 네트워크에서 적어도 하나의 노드를 운영한다. 따라서, 공개 블록 체인 네트워크는 참여 개체에 대해 공개 네트워크로 간주될 수 있다. 때때로, 대부분의 개체(노드)는 블록이 검증되어 블록 체인 네트워크의 블록 체인에 추가되도록 하기 위해 모든 블록에 서명해야 한다. 공개 블록 체인 네트워크의 예는 블록 체인으로 지칭되는 분산 원장을 활용하는(leverage) 특정 P2P(peer-to-peer) 결제 네트워크를 포함한다.
일반적으로, 공개 블록 체인 네트워크는 공개 트랜잭션을 지원할 수 있다. 공개 트랜잭션은 공개 블록 체인 네트워크의 모든 노드와 공유되고 글로벌 블록 체인에 저장된다. 글로벌 블록 체인은 모든 노드에 걸쳐 복제된 블록 체인이며 모든 노드는 글로벌 블록 체인에 대해 합의된다. 합의(예를 들어, 블록 체인에의 블록의 추가에 대한 동의)를 달성하기 위해, 합의 프로토콜이 공개 블록 체인 네트워크에 구현된다. 합의 프로토콜의 예는 작업 증명(proof-of-work)(POW)(예를 들어, 일부 암호화-통화 네트워크(crypto-currency network)에 구현됨), 지분 증명(proof-of-stake)(POS) 및 인증 증명(proof-of-authority)(POA)을 포함한다.
일반적으로, 판독 및 기입 허가를 중앙 집중식으로 제어하는 비공개 블록 체인 네트워크는 특정 개체를 위해 제공될 수 있다. 개체는 어떤 노드가 블록 체인 네트워크에 참여할 수 있는지를 제어한다. 결과적으로, 비공개 블록 체인 네트워크는 누가 네트워크에 참여하도록 허용될 것인지와 참여의 수준(예를 들어, 특정 트랜잭션에서만)을 제한하는 허가된 네트워크로 일반적으로 지칭된다. 다양한 유형의 액세스 제어 메커니즘이 사용될 수 있다(예를 들어, 기존 참가자는 새로운 개체를 추가하는 것에 투표하고, 규제 기관은 입장을 제어할 수 있다).
일반적으로, 컨소시엄 블록 체인 네트워크는 참여 개체 간에 비공개일 수 있다. 컨소시엄 블록 체인 네트워크에서, 합의 프로세스는 승인된 노드 세트에 의해 제어되고, 하나 이상의 노드는 각각의 개체(예를 들어, 금융 기관, 보험 회사)에 의해 운영된다. 예를 들어, 10개의 개체(예를 들어, 금융 기관, 보험 회사)의 컨소시엄이 컨소시엄 블록 체인 네트워크를 운영할 수 있고, 이들 각각은 컨소시엄 블록 체인 네트워크에서 적어도 하나의 노드를 운영한다. 따라서, 컨소시엄 블록 체인 네트워크는 참여 개체에 대해 비공개 네트워크로 간주될 수 있다. 일부 예에서, 각각의 개체(노드)는 블록이 검증되어 블록 체인에 추가되도록 하기 위해 모든 블록에 서명해야 한다. 일부 예에서, 블록이 검증되어 블록 체인에 추가되도록 하기 위해 적어도 하나의 서브 세트의 개체(노드)(예를 들어, 적어도 7개의 개체)가 모든 블록에 서명해야 한다.
도 1은 일 실시예에 따른 블록 체인 시스템(100)의 개략도이다. 도 1을 참조하여, 블록 체인 시스템(100)은 블록 체인(120)상에서 동작하도록 구성되는 복수의 노드, 예를 들어 노드(102 내지 110)를 포함할 수 있다. 노드(102 내지 110)는 P2P 네트워크와 같은 네트워크(112)를 형성할 수 있다. 노드(102 내지 110) 각각은 블록 체인(120)의 사본을 저장하도록 구성되는 컴퓨터 또는 컴퓨터 시스템과 같은 컴퓨팅 디바이스일 수 있거나, 프로세스 또는 애플리케이션과 같은 컴퓨팅 디바이스 상에서 실행되는 소프트웨어일 수 있다. 노드(102 내지 110) 각각은 고유 식별자를 가질 수 있다.
블록 체인(120)은 도 1의 블록 B1 내지 B5와 같은 데이터 블록 형태의 레코드들의 증가하는 목록을 포함할 수 있다. 블록(B1 내지 B5) 각각은 타임 스탬프, 이전 블록의 암호 해시 및 현재 블록의 데이터를 포함할 수 있고, 통화 트랜잭션와 같은 트랜잭션일 수 있다. 예를 들어, 도 1에 도시된 바와 같이, 블록 B5는 타임 스탬프, 블록 B4의 암호 해시 및 블록 B5의 트랜잭션 데이터를 포함할 수 있다. 또한, 예를 들어, 이전 블록의 암호 해시를 생성하기 위해 이전 블록에 대해 해싱 동작이 수행될 수 있다. 해싱 동작은, SHA-256과 같은 해시 알고리즘을 통해, 다양한 길이의 입력을 고정 길이의 암호 출력으로 변환할 수 있다.
노드(102 내지 110)는 블록 체인(120)에 대해 동작을 수행하도록 구성될 수 있다. 예를 들어, 노드, 예를 들어, 노드(102)가 새로운 데이터를 블록 체인(120)에 저장하고자 할 때, 해당 노드는 블록 체인(120)에 추가될 새로운 블록을 생성하고 새로운 블록을 네트워크(112) 내의 다른 노드들, 예를 들어, 노드(104 내지 110)에 브로드캐스트할 수 있다. 새로운 블록의 합법성(legitimacy), 예를 들어, 그 서명의 유효성 및 트랜잭션에 기초하여, 다른 노드들은 새로운 블록을 수락하기로 결정할 수 있으므로, 노드(102) 및 다른 노드들은 새로운 블록을 블록 체인(120)의 그들 각자의 사본에 추가할 수 있다. 이 프로세스가 반복됨에 따라, 점점 더 많은 블록의 데이터가 블록 체인(120)에 추가될 수 있다.
블록 체인 시스템(100)은 하나 이상의 스마트 계약에 따라 동작할 수 있다. 각각의 스마트 계약은, 계약의 협상 또는 수행을 용이하게 하거나, 검증하거나, 시행하기 위해, 블록 체인(120)에 통합된 컴퓨터 코드 형태의 컴퓨터 프로토콜일 수 있다. 예를 들어, 블록 체인 시스템(100)의 사용자는 C++, Java, Solidity, Python 등과 같은 프로그래밍 언어를 사용하여 동의 조항(agreed terms)을 스마트 계약으로 프로그래밍할 수 있고, 조항이 만족되면, 스마트 계약은, 예를 들어, 트랜잭션을 수행하기 위한 블록 체인 시스템(100)에 의해 자동으로 실행될 수 있다. 또한, 예를 들어, 스마트 계약은 복수의 서브 루틴 또는 기능을 포함할 수 있고, 각각의 서브 루틴 또는 기능은 특정 작업을 수행하는 일련의 프로그램 명령어들일 수 있다. 스마트 계약은, 인간의 상호 작용없이, 전적으로 또는 부분적으로 실행되는 운영 코드(operational code)일 수 있다.
각각의 노드(102 내지 110)는 블록 체인(120)의 사본을 저장할 수 있기 때문에, 각각의 노드(102 내지 110)는 블록 체인(120)에 포함된 스마트 계약의 사본에 액세스할 수도 있다. 일 실시예에서, 스마트 계약은, 예를 들어, 스마트 계약이 운영 코드로 컴파일된 후, 블록 체인(120)상의 주소로 할당될 수 있다. 스마트 계약의 주소는 블록 체인(120)상에서 스마트 계약을 찾기 위해 구성되거나 사용된다.
일 실시예에서, 블록 체인 시스템(100)의 노드(예를 들어, 노드(102))는 스마트 계약의 사본에 기초하여 트랜잭션을 수행할 수 있다. 트랜잭션을 포함하는 새로운 블록이 블록 체인 시스템(100)에 브로드캐스트된 후, 블록 체인 시스템(100)의 다른 노드는 새로운 블록을 검증할 수 있다. 새로운 블록이 블록 체인 시스템(100)의 대부분의 또는 모든 노드에 의해 검증된 후, 새로운 블록은 이들 노드 상의 블록 체인(120)의 각각의 사본에 추가될 수 있고, 트랜잭션은 완벽하다.
도 2는 본 명세서의 실시예들에 따른 블록 체인 시스템에서, 노드, 예를 들어, 노드(102)(도 1)를 구현하기 위한 컴퓨팅 디바이스(200)의 개략도이다. 도 2를 참조하여, 컴퓨팅 디바이스(200)는 통신 인터페이스(202), 프로세서(204) 및 메모리(206)를 포함할 수 있다.
통신 인터페이스(202)는, 컴퓨팅 디바이스(200)와, 네트워크 내의 다른 노드들, 예를 들어, 노드(104 내지 110)(도 1)를 구현하는 디바이스들 사이의 통신을 용이하게 할 수 있다. 일부 실시예에서, 통신 인터페이스(202)는 인터넷 표준 또는 프로토콜, ISDN(Integrated Services Digital Network) 표준 등과 같은 하나 이상의 통신 표준을 지원할 수 있다. 일부 실시예에서, 통신 인터페이스(202)는 근거리 통신망(LAN) 카드, 케이블 모뎀, 위성 모뎀, 데이터 버스, 케이블, 무선 통신 채널, 무선 기반의 통신 채널, 셀룰러 통신 채널, 인터넷 프로토콜(IP) 기반의 통신 디바이스, 또는 유선 및/또는 무선 통신용 기타 통신 디바이스 중 하나 이상을 포함할 수 있다. 일부 실시예에서, 통신 인터페이스(202)는 공개 클라우드 기반 구조, 비공개 클라우드 기반 구조, 하이브리드 공개/비공개 클라우드 기반 구조에 기초할 수 있다.
프로세서(204)는 하나 이상의 전용 처리 유닛, 주문형 집적 회로(application-specific integrated circuit)(ASIC), 필드 프로그래머블 게이트 어레이(field-programmable gate array)(FPGA) 또는 다양한 다른 유형의 프로세서 또는 처리 유닛을 포함할 수 있다. 프로세서(204)는 메모리(206)와 결합되고 메모리(206)에 저장되는 명령어들을 실행한다.
메모리(206)는 블록 체인(120)의 사본(도 1)과 같은 프로세서 실행 가능한 명령어들 및 데이터를 저장할 수 있다. 메모리(206)는 정적 랜덤 액세스 메모리(SRAM), 전기적으로 소거 가능한 프로그래머블 판독 전용 메모리(EEPROM), 소거 가능한 프로그래머블 판독 전용 메모리(EPROM), 프로그래머블 판독 전용 메모리(PROM), 판독 전용 메모리(ROM), 자기 메모리, 플래시 메모리 또는 자기 또는 광 디스크와 같은 임의의 유형의 휘발성 또는 비휘발성 메모리 디바이스, 또는 이들의 조합을 포함할 수 있다. 메모리(206)의 명령어들이 프로세서(204)에 의해 실행될 때, 컴퓨팅 디바이스(200)는 블록 체인(120)에 대해 동작을 수행할 수 있다.
다시 도 1을 참조하여, 블록 체인 시스템(100)은 판매 촉진 동작, 마케팅 동작 등과 같은 오픈된 데이터 및 투명한 조항을 수반하는 트랜잭션 동작에 사용될 수 있다. 예를 들어, 상인은 쿠폰과 같은 인증서를, 이러한 제품을 구매하지 않은 고객에게 발행할 수 있다. 블록 체인 시스템(100)을 사용함으로써, 스마트 계약을 사용하여 쿠폰의 발행이 시행될 수 있다. 예를 들어, 고객이 스마트 계약에 지정된 조항(예를 들어, "고객이 이 제품을 구매한 적이 없음")을 만족시키면, 대응하는 이벤트(예를 들어, "해당 고객에게 쿠폰을 발행하세요")가 시행되어 발생할 수 있다. 스마트 계약은 블록 체인에 저장되고 사용자에게 오픈되기 때문에, 스마트 계약을 사용하는 것에 의해 계약 조항 및 조건이 투명하게 될 수 있다.
인증서는 쿠폰, 티켓, 바우처 등을 포함할 수 있다. 예를 들어, 쿠폰은 판매 촉진 동작에 사용되어 온라인 플랫폼의 사용자에게 할인을 제공할 수 있다. 또한, 예를 들어, 티켓은 이벤트(예를 들어, 콘서트) 또는 관심 사이트(예를 들어, 관광지, 박물관 등)에서 사용되어 이벤트 또는 관심 사이트에 대한 액세스를 제공할 수 있다. 다른 예로서, 휴일 동안, 관심 사이트는 방문자의 트래픽을 제어하기 위해 제한된 수의 티켓을 제공할 수 있다. 이들 예에서, 인증서는 사용자들 간에 인기가 있을 수 있고, 인증서를 처리하기 위해 투명성을 더 요구한다. 블록 체인 시스템은, 악의적인 당사자에 의한, 저장된 데이터의 부당 변경 및 조작을 방지할 수 있고, 블록 체인 시스템의 각각의 노드는 블록 체인 사본을 포함할 수 있으므로, 블록 체인 시스템에서의 인증서 처리는 신뢰할 만하고 검증 가능할 수 있다.
일 실시예에서, 도 1의 디바이스(130)는, 블록 체인 시스템(100)과 상호 작용하는 사용자, 예를 들어 판매자에 의해 사용될 수 있다. 디바이스(130)는 통신 인터페이스, 프로세서 및 메모리를 포함할 수 있는 컴퓨팅 디바이스(200)(도 2)와 유사한 컴퓨팅 디바이스일 수 있다. 일부 실시예에서, 디바이스(130)는 블록 체인 시스템(100)의 노드로서 동작한다. 다른 실시예들에서, 디바이스(130)는 노드로서 동작하지 않고 블록 체인 시스템(100)의 하나 이상의 노드, 예를 들어, 노드(102 내지 110)와의 확립된 연결을 통해 블록 체인 시스템(100)과 상호 작용할 수 있다. 연결은 하나 이상의 API(application programming interface)를 통해 확립될 수 있다. 그러한 연결을 용이하게 하기 위해, 소프트웨어 개발 키트(Software development kit)(SDK)가 제공될 수도 있다.
도 3은 일 실시예에 따른 블록 체인 시스템(100)(도 1)과 같은 블록 체인 시스템에서 인증서들을 처리하기 위한 방법(300)의 흐름도이다. 예를 들어, 방법(300)은 인증서들을 생성하는 데에 사용된다. 또한, 예를 들어, 방법(300)은 디바이스(130)의 하나 이상의 프로세서(도 1)에 의해 수행될 수 있고, 하나 이상의 프로세서는 사용자 인터페이스 시스템 및 동작 관리 시스템을 구현할 수 있다. 사용자 인터페이스 시스템은, 사용자, 예를 들어 판매자와 상호 작용하여 데이터를 입력 및 출력하고, 인증서들을 생성하기 위한 요청을 동작 관리 시스템에 전송할 수 있다. 동작 관리 시스템은 블록 체인 시스템(100)에 대해 실행을 위해 명령어들 또는 요청들을 생성할 수 있다. 일부 실시예에서, 블록 체인 시스템은 컨소시엄 블록 체인을 구현할 수 있다.
도 3을 참조하여, 단계 302에서, 동작 관리 시스템은 스마트 계약을 생성하기 위한 요청을 블록 체인 시스템에 전송할 수 있다. 일부 실시예에서, 스마트 계약은 (예를 들어, 사용자-생성된(user-generated) 프로그램 코드들을 블록 체인에 제출함으로써) 사용자에 의해 제공되거나, 블록 체인 서비스 제공자에 의해 제공되는 템플릿 스마트 계약들로부터 사용자에 의해 선택되어 구성될 수 있다. 예를 들어, 사용자는 메뉴로부터 스마트 계약을 선택하고 맞춤형 매개 변수(customized parameter)들을 제공할 수 있다. 스마트 계약은 사용자에 의해 설정된 트랜잭션 동작의 전략 및 규칙을 나타낼 수 있다. 예를 들어, 쿠폰 기반의 판매 촉진 동작에서, 규칙은 고객 당 수신된 쿠폰의 총 허가된 값, 고객 당 수신된 쿠폰의 총 허가된 수, 쿠폰의 액면가, 쿠폰의 유형, 지정된 지리적 영역에서 대상 고객의 백분율, 고객이 쿠폰을 수령하는 방법, 고객이 쿠폰을 사용하는 조건 및 제한 등의 제약사항을 포함할 수 있다.
따라서, 단계 304에서, 블록 체인 시스템(100)은 스마트 계약을 생성하고 생성된 스마트 계약의 주소를 반환할 수 있다. 스마트 계약의 주소는 복수의 숫자(예를 들어, 160개의 이진수)를 포함할 수 있다. 일부 실시예에서, 스마트 계약의 주소는 주소에 대응하는 해시 값을 사용하여 저장 및 전송될 수 있다. 트랜잭션이 스마트 계약의 주소로 전송될 때, 트랜잭션은 스마트 계약의 대응하는 기능에 의해 실행될 수 있다. 스마트 계약은 인증서 사양 생성 기능, 인증서 생성 기능, 인증서 검증 기능 또는 기입-취소 기능과 같은 복수의 기능을 포함할 수 있다. 생성된 스마트 계약은, 상이한 요청에 따라, 쿠폰 발행, 티켓 발행 등과 같은 상이한 트랜잭션 동작에 사용될 수 있다는 것으로 이해된다.
단계 306에서, 동작 관리 시스템은 인증서들을 생성하기 위한 요청을 사용자 인터페이스 시스템으로부터 수신할 수 있다. 예를 들어, 사용자 인터페이스 시스템은 사용자 입력에 기초하여 요청을 생성할 수 있다. 인증서들을 생성하기 위한 요청은 생성될 인증서에 관한 정보를 포함할 수 있다. 일부 실시예에서, 인증서에 관한 정보는 인증서 유형들, 각각의 인증서 유형에 대한 인증서의 수, 인증서들의 총 개수 또는 각각의 인증서의 유효 기간 중 적어도 하나를 포함할 수 있다. 예를 들어, 쿠폰을 생성하기 위한 요청은 3 달러 할인을 위한 1,000개의 쿠폰을 생성하라는 요청일 수 있고, 5 달러 할인을 위한 500개의 쿠폰을 생성하라는 요청일 수 있으며, 이들 쿠폰은 3일 동안 유효하다.
사용자 인터페이스 시스템으로부터 수신된 인증서들을 생성하기 위한 요청에 기초하여, 동작 관리 시스템은 제1 트랜잭션에 대한 제1 요청을 생성할 수 있고, 제1 트랜잭션은 블록 체인 시스템으로 하여금 스마트 계약을 실행하여 제1 요청에 기초한 인증서 사양을 생성하게 할 수 있다. 단계 308에서, 동작 관리 시스템은 또한, 제1 트랜잭션에 대한 제1 요청을 블록 체인 시스템(100)에 전송할 수 있다. 예를 들어, 제1 트랜잭션에 대한 제1 요청은, 단계 304에서 블록 체인 시스템으로부터 수신된 스마트 계약의 주소로 전송될 수 있다.
단계 310에서, 제1 트랜잭션에 대한 제1 요청에 응답하여, 블록 체인 시스템(100)은 스마트 계약을 실행하여 인증서들을 생성하기 위한 요청으로부터의 정보에 기초하여 인증서 사양을 생성한다. 예를 들어, 블록 체인 시스템(100)은 스마트 계약의 인증서 사양 생성 기능을 실행하여 제1 트랜잭션을 실행한다. 제1 트랜잭션의 실행의 결과로서, 인증서 사양은, 예를 들어, 해시 값으로서 생성 및 저장될 수 있다. 생성된 인증서 사양은 생성될 인증서들의 인증서 유형들, 각각의 인증서 유형에 대한 인증서의 수, 인증서의 총 개수 또는 각각의 인증서의 유효 기간 중 적어도 하나를 포함할 수 있다. 인증서 사양은 트랜잭션 실행의 결과로서 블록 체인 상에 기록되고 블록 체인 시스템(100)의 노드들에 의해 액세스될 수 있다. 따라서, 인증서 사양은 트랜잭션 동작의 투명성을 보장하기 위해 블록 체인 상에 공개된다.
단계 312에서, 동작 관리 시스템은 블록 체인 시스템(100)으로부터 인증서 사양을 수신할 수 있다. 단계 314에서, 동작 관리 시스템은 인증서 사양에 기초하여 인증서들을 생성하기 위한 제2 요청을 생성할 수 있다. 예를 들어, 인증서 사양은 3 달러 할인을 위한 1,000개의 쿠폰과 5 달러 할인을 위한 500개의 쿠폰을 지정할 수 있고, 이에 따라 동작 관리 시스템은 인증서 사양에 기초하여 3 달러 할인을 위한 1,000개의 쿠폰과 5 달러 할인을 위한 500개의 쿠폰을 생성하기 위한 제2 요청을 생성할 수 있다. 제2 요청은 인증서들에 대응하는 복수의 제2 트랜잭션을 포함할 수 있다. 일부 실시예에서, 복수의 제2 트랜잭션 각각은 하나의 인증서에 대응한다. 예를 들어, 제2 트랜잭션은 3 달러 할인을 위한 쿠폰을 생성하는 것에 관한 것일 수 있고, 다른 제2 트랜잭션은 5 달러 할인을 위한 쿠폰을 생성하는 것에 관한 것일 수 있다. 하나의 제2 트랜잭션은 다수의 인증서를 생성하는 것에 관한 것일 수도 있다는 것으로 이해된다.
단계 316에서, 동작 관리 시스템은 제2 트랜잭션들에 대한 제2 요청을 블록 체인 시스템(100)에 전송할 수 있다. 예를 들어, 제2 트랜잭션들은 스마트 계약의 주소로 전송될 수 있다.
단계 318에서, 제2 트랜잭션들에 대한 제2 요청에 응답하여, 블록 체인 시스템(100)은 스마트 계약을 실행하여 제2 트랜잭션들에 대응하는 인증서들을 생성할 수 있다. 제2 트랜잭션들의 실행의 결과로서, 인증서들은, 예를 들어, 해시 값들로서 생성 및 저장될 수 있다. 생성된 인증서들 각각은 인증서와 관련된 정보를 포함할 수 있다. 예를 들어, 인증서들이 쿠폰이면, 인증서들은 쿠폰의 코드, 쿠폰의 유형, 쿠폰에 의해 제공되는 할인, 쿠폰의 적용 가능한 카테고리, 쿠폰의 유효 기간 등을 포함할 수 있다. 생성된 인증서들은 블록 체인 시스템(100)에 저장될 수 있다.
일부 실시예에서, 단계 318에서, 블록 체인 시스템(100)은 또한 생성된 인증서들이 인증서 사양을 만족시키는지를 결정하기 위해 스마트 계약의 검증 기능을 실행할 수 있다. 검증 기능은 생성된 인증서들의 유형 및 수를 감시하고, 생성된 인증서들의 유형 및 수가 인증서 사양의 요건을 만족시키는지를 결정할 수 있다. 예를 들어, 인증서 사양이 3 달러 할인을 위한 1,000개의 쿠폰을 지정하고, 5 달러 할인을 위한 500개의 쿠폰을 지정한다면, 만족도 결정 기능이 3 달러 할인을 위한 1,000개의 쿠폰과 5 달러 할인을 위한 500개의 쿠폰이 생성되는 것을 결정할 때에, 검증 기능이 생성된 인증서들이 인증서 사양을 만족시키는 것으로 결정할 수 있다. 생성된 인증서들이 인증서 사양을 만족시킨다는 결정에 응답하여, 스마트 계약이 인증서 생성을 중지시킨다. 검증 기능은, 각각의 생성된 인증서의 유효 기간을 검증할 수도 있다는 것으로 이해된다.
단계 320에서, 블록 체인 시스템(100)은 생성된 인증서들을 동작 관리 시스템에 전송할 수 있다. 따라서, 단계 322에서, 동작 관리 시스템은 인증서들의 성공적인 생성을 나타내는 메시지를 사용자 인터페이스 시스템에 전송할 수 있다.
도 4는 일 실시예에 따른 블록 체인 시스템에서 인증서들을 처리하기 위한 방법(400)의 흐름도이다. 예를 들어, 방법(400)은 블록 체인 시스템 상에서 인증서들을 사용자에게 배포하고 배포된 인증서들을 기입 취소(write off)하기 위해 사용된다. 또한, 예를 들어, 방법(400)은 사용자 인터페이스 시스템 및 동작 관리 시스템을 포함할 수 있는 디바이스(130)(도 1)에 의해 수행될 수 있다.
도 4를 참조하여, 단계 402에서, 사용자 인터페이스 시스템은 대상 인증서에 대한 사용자 요청을 사용자로부터 수신할 수 있다. 사용자 요청은 대상 인증서의 정보, 사용자의 식별(ID) 등을 포함할 수 있다. 대상 인증서의 정보는 대상 인증서의 유형을 포함할 수 있다. ID는 대상 인증서가 사용자에게 배포되는 중에 사용자를 식별하기 위해 사용될 수 있다. 사용자는 인터넷과 같은 임의의 유형의 네트워크를 통해 대상 인증서를 요청할 수 있다는 것으로 이해된다.
단계 404에서, 사용자 인터페이스 시스템은 사용자 요청에 기초하여 인증서 배포 요청을 생성하고, 인증서 배포 요청을 동작 관리 시스템에 전송할 수 있다. 인증서를 요청하는 사용자의 ID는 인증서 배포 요청과 함께 동작 관리 시스템에 전송될 수 있다.
수신된 인증서 배포 요청에 기초하여, 단계 406에서, 동작 관리 시스템은 인증서를 배포될 대상 인증서로서 결정할 수 있다. 전술한 바와 같이, 단계 320에서(도 3), 생성된 인증서들은 동작 관리 시스템에 전송된다. 따라서, 동작 관리 시스템은 인증서 배포 요청에 기초하여 수신된 인증서들 중에서 대상 인증서를 결정할 수 있다. 예를 들어, 동작 관리 시스템은 대상 인증서의 유형을 결정하고, 수신된 인증서들이 결정된 유형의 유효한 인증서를 갖는지를 결정할 수 있다. 일부 실시예에서, 동작 관리 시스템은 유효한 인증서들의 목록을 가질 수 있다. 유효한 인증서들의 목록이 결정된 유형의 유효한 인증서를 갖고 있는 경우, 동작 관리 시스템은 유효한 인증서를 사용자의 대상 인증서로서 결정할 수 있다.
대상 인증서가 결정된 후, 단계 408에서, 동작 관리 시스템은 기입-취소 트랜잭션에 대한 요청을 블록 체인 시스템(100)에 전송할 수 있다. 예를 들어, 기입-취소는 계정으로부터의 항목의 취소 또는 제거이다. 본 실시예에서, 인증서가 사용자에게 배포될 때, 해당 인증서는 다른 사용자에 의해 사용되지 않을 수 있으므로, 기입-취소될 수 있다. 일부 실시예에서, 인증서들의 배포는 인증서가 기입-취소되기 전에 검증될 수 있다. 또한, 예를 들어, 기입-취소 트랜잭션은, 대상 인증서가 배포되기 전에 스마트 계약의 주소로 전송될 수 있다. 블록 체인 시스템(100)이 요청을 수신하고 대상 인증서를 기입-취소할 때, 인증서는 다른 사용자에 의해 사용되지 않을 수 있다. 일부 실시예에서, 동작 관리 시스템은 복수의 기입-취소 트랜잭션에 대한 복수의 요청을 비동기적으로 블록 체인 시스템에 전송할 수 있고, 복수의 기입-취소 트랜잭션 각각은 블록 체인 시스템으로 하여금 스마트 계약을 실행하여 복수의 인증서 중 대응하는 대상 인증서를 기입-취소하게 한다. 특정 시간에 블록 체인 시스템에 과부하가 걸리는 것을 방지한다.
단계 410에서, 기입-취소 트랜잭션에 대한 요청에 응답하여, 블록 체인 시스템(100)은 스마트 계약을 실행하여 대상 인증서를 기입-취소한다. 예를 들어, 블록 체인 시스템(100)은 스마트 계약의 기입-취소 기능을 실행하여 기입-취소 트랜잭션을 실행한다. 예를 들어, 스마트 계약의 기입-취소 기능은 대상 인증서가 유효한지를 결정할 수 있다. 대상 인증서가 기입-취소될 예정일 때 대상 인증서가 유효하다는 것으로 이해된다. 블록 체인 시스템(100)의 합의에 도달하는 데에는 어느 정도의 시간, 예를 들어, 몇 초가 걸릴 수 있기 때문에, 합의에 도달하기 전에 대상 인증서에 대한 다른 요청이 수신될 수 있다. 스마트 계약의 기입-취소 기능은, 인증서를 배포한 후, 대상 인증서를 기입-취소한다. 따라서, 기입-취소 기능은 인증서가 현재 유효하지 않다는 것으로 다른 요청에 응답할 수 있고, 응답은 또한 인증서가 배포되어 있는 사용자의 정보(예를 들어, 사용자의 ID)를 포함할 수 있다.
단계 412에서, 블록 체인 시스템(100)은 인증서의 성공적인 기입-취소를 나타내는 메시지를 동작 관리 시스템에 전송할 수 있다. 한편, 기입-취소 트랜잭션에 대한 요청이 수신되면, 인증서가 배포될 수 있고, 더 이상 유효하지 않다. 이 상황에서, 블록 체인(100)은 실패된 기입-취소를 나타내는 메시지를 동작 관리 시스템에 전송할 수 있다. 그리고, 동작 관리 시스템은 단계 406을 재실행하여 배포를 위한 다른 인증서를 요청할 수 있다.
단계 414에서, 일단 인증서의 성공적인 기입-취소를 나타내는 메시지를 수신하면, 동작 관리 시스템은 대상 인증서의 성공적인 배포의 결과를 사용자 인터페이스 시스템에 전송할 수 있다.
방법(300)(도 3) 및 방법(400)(도 4)에서, 인증서의 배포 및 기입-취소는 인증서의 생성과는 분리된다. 따라서, 블록 체인 시스템(100)에 대한 계산 부담이 일정 기간에 걸쳐 분산될 수 있고, 블록 체인 시스템(100)의 성능에 대한 영향이 감소될 수 있다.
도 5는 일 실시예에 따른 블록 체인 시스템에서 인증서를 처리하기 위한 컴퓨터 구현 방법(500)의 흐름도이다. 방법(500)은 컴퓨터 시스템에 의해 수행될 수 있다. 컴퓨터 시스템은 명령어들의 세트를 저장하는 메모리를 포함할 수 있고, 컴퓨터 시스템으로 하여금 방법(500)을 수행하게 하는 명령어 세트를 실행하기 위한 적어도 하나의 프로세서를 포함할 수 있다. 예를 들어, 컴퓨터 시스템은 사용자 인터페이스 시스템 및 동작 관리 시스템(도 3 및 4)을 포함할 수 있는 디바이스(130)(도 1)일 수 있다. 도 5을 참조하여, 방법(500)은 다음의 단계들을 포함할 수 있다.
단계 502에서, 컴퓨터 시스템은 블록 체인 시스템, 예를 들어 블록 체인 시스템(100)(도 1)에서 스마트 계약이 생성되게 할 수 있다. 전술한 바와 같이, 스마트 계약은 인증서들을 처리하기 위한 컴퓨터 판독 가능한 명령어들을 포함할 수 있다. 인증서들은 쿠폰, 티켓, 바우처 등일 수 있다.
단계 504에서, 컴퓨터 시스템은 스마트 계약이 생성된 후, 제1 트랜잭션에 대한 제1 요청을 블록 체인 시스템에 전송할 수 있다. 제1 트랜잭션은 실행을 위해 스마트 계약의 주소로 전송될 수 있다. 예를 들어, 제1 트랜잭션은 블록 체인 시스템으로 하여금 스마트 계약을 실행하여 제1 요청에 기초하여 인증서 사양을 생성하게 할 수 있다. 인증서 사양은 제1 트랜잭션의 실행을 나타내는 해시 값을 포함할 수 있다. 인증서 사양은 또한, 인증서 유형들, 각각의 인증서 유형에 대한 인증서의 수, 인증서의 총 개수 또는 각각의 인증서의 유효 기간 중 적어도 하나를 포함할 수 있다. 일부 실시예에서, 인증서들은 쿠폰, 티켓, 바우처 등 중 적어도 하나를 포함한다.
단계 506에서, 컴퓨터 시스템은 블록 체인 시스템으로부터 인증서 사양을 수신할 수 있다. 인증서 사양에 기초하여, 컴퓨터 시스템은 복수의 제2 트랜잭션에 대한 제2 요청을 생성할 수 있다.
단계 508에서, 컴퓨터 시스템은 복수의 제2 트랜잭션에 대한 제2 요청을 블록 체인 시스템에 전송할 수 있다. 복수의 제2 트랜잭션은 스마트 계약의 주소로 전송될 수 있다. 복수의 제2 트랜잭션은 블록 체인 시스템으로 하여금 스마트 계약을 실행하여 복수의 인증서를 생성 및 검증하게 한다. 일부 실시예에서, 복수의 인증서를 검증함에 있어서, 블록 체인 시스템은 복수의 인증서가 인증서 사양을 만족시키는지를 결정하기 위해 스마트 계약을 실행하게 될 수 있다. 예를 들어, 블록 체인 시스템은 생성된 인증서들이 요청된 인증서 유형의 인증서들인지, 생성된 인증서들의 수가 인증서 유형의 요청된 수를 만족시키는지, 생성된 모든 인증서의 수가 인증서의 총 요청된 수를 만족시키는지, 또는 생성된 인증서들의 유효 기간이 요청된 유효 기간을 만족시키는지를 결정할 수 있다. 일부 실시예에서, 인증서 사양의 모든 조건이 만족될 때, 블록 체인 시스템은 복수의 인증서가 인증서 사양을 만족시키는 것으로 결정하고 복수의 인증서가 성공적으로 생성된 것을 나타내는 메시지를 컴퓨터 시스템에 전송한다.
컴퓨터 시스템은 복수의 인증서를 사용자에게 배포할 수도 있다. 예를 들어, 컴퓨터 시스템은 대상 인증서에 대한 요청을 수신할 수 있다. 대상 인증서에 대한 요청은 사용자 입력에 기초하여 생성될 수 있다. 예를 들어, 컴퓨터 시스템의 사용자 인터페이스 시스템은 인증서를 요청하는 사용자 입력을 수신하고 그에 따라 요청을 생성할 수 있다.
도 6은 일 실시예에 따른 블록 체인 시스템에서 인증서를 처리하기 위한 컴퓨터 구현 방법(600)의 흐름도이다. 방법(600)은 또한, 도 5와 관련하여 설명된 컴퓨터 시스템에 의해 수행될 수 있다. 방법(600)은 방법(500)의 일부로서 또는 별도의 방법으로서 구현될 수 있다는 것으로 이해된다. 도 6을 참조하여, 방법(600)은 다음의 단계들을 포함할 수 있다.
단계 602에서, 컴퓨터 시스템은 제3 트랜잭션에 대한 제3 요청을 블록 체인 시스템에 전송할 수 있다. 제3 트랜잭션은, 블록 체인 시스템으로부터 수신된 복수의 인증서 중 대상 인증서가 배포되기 전에, 블록 체인 시스템 상에서 실행되는 스마트 계약의 주소로 전송될 수 있다. 블록 체인 시스템은 제3 트랜잭션으로 인해 스마트 계약을 실행하여 대상 인증서를 기입-취소 할 수 있다. 전술한 바와 같이, 복수의 인증서는 쿠폰, 티켓, 바우처 등일 수 있다. 일부 실시예에서, 대상 인증서가 대상 쿠폰일 때, 블록 체인 시스템은 스마트 계약을 실행하여 대상 쿠폰을 기입-취소하게 된다. 일부 실시예에서, 컴퓨터 시스템은 복수의 제3 트랜잭션에 대한 복수의 제3 요청을 비동기적으로 블록 체인 시스템에 전송할 수 있고, 복수의 제3 트랜잭션 각각은 블록 체인 시스템으로 하여금 스마트 계약을 실행하여 복수의 인증서 중 대응하는 대상 인증서를 기입-취소하게 한다. 특정 시간에 블록 체인 시스템에 과부하가 걸리는 것을 방지한다.
대상 인증서가 구현된 것을 나타내는 결과가 생성되어 컴퓨터 시스템에 전송될 수 있다. 따라서, 단계 604에서, 컴퓨터 시스템은 대상 인증서가 구현된 것을 나타내는 결과를 블록 체인 시스템으로부터 수신할 수 있다.
도 7은 일 실시예에 따른 블록 체인 시스템에서 인증서들을 처리하기 위한 장치(700)의 블록도이다. 예를 들어, 장치(700)는 디바이스(130)(도 1)를 구현할 수 있다. 또한, 예를 들어, 장치(700)는 방법(500)(도 5) 및 방법(600)(도 6)을 수행할 수 있다. 도 7을 참조하여, 장치(700)는 스마트 계약 생성 모듈(702) 및 인증서 생성 모듈(704)을 포함할 수 있다.
스마트 계약 생성 모듈(702)은 블록 체인 시스템에서 스마트 계약이 생성되게 할 수 있다. 스마트 계약은 인증서들을 처리하기 위한 컴퓨터 판독 가능한 명령어들을 포함할 수 있다. 인증서 생성 모듈(704)은 제1 트랜잭션에 대한 제1 요청을 블록 체인 시스템에 전송할 수 있고, 제1 트랜잭션은 블록 체인 시스템으로 하여금 스마트 계약을 실행하여 제1 요청에 기초하여 인증서 사양을 생성하게 한다. 인증서 생성 모듈(704)은 인증서 사양을 블록 체인 시스템으로부터 수신할 수 있다. 인증서 생성 모듈(704)은 또한, 복수의 제2 트랜잭션에 대한 제2 요청을 블록 체인 시스템에 전송할 수 있고, 복수의 제2 트랜잭션은 블록 체인 시스템으로 하여금 스마트 계약을 실행하여 복수의 인증서를 생성하게 한다.
일부 실시예에서, 장치(700)는 인증서 배포 모듈(706)을 포함할 수도 있다. 인증서 배포 모듈(706)은 제3 트랜잭션에 대한 제3 요청을 블록 체인 시스템에 전송할 수 있고, 제3 트랜잭션은 블록 체인 시스템으로 하여금 스마트 계약을 실행하여, 대상 인증서가 배포되기 전에 복수의 인증서 중 대상 인증서를 기입-취소하게 한다. 인증서 배포 모듈(706)은 대상 인증서가 기입-취소된 것을 나타내는 결과를 블록 체인 시스템으로부터 수신할 수 있다.
전술한 모듈 각각은 소프트웨어 또는 하드웨어, 또는 소프트웨어와 하드웨어의 조합으로 구현될 수 있다. 예를 들어, 전술한 모듈 각각은 메모리에 저장되는 명령어들을 실행하는 프로세서를 사용하여 구현될 수 있다. 또한, 예를 들어, 전술한 모듈 각각은 하나 이상의 주문형 집적 회로(ASIC), 디지털 신호 프로세서(DSP), 디지털 신호 처리 디바이스(DSPD), 프로그래머블 로직 디바이스(PLD), 필드 프로그래머블 게이트 어레이(FPGA), 컨트롤러, 마이크로컨트롤러, 마이크로프로세서 또는 (예를 들어, 설명된 방법을 수행하기 위한) 다른 전자 부품으로 구현될 수 있다. 또한, 예를 들어, 전술한 모듈 각각은 컴퓨터 칩 또는 개체를 사용하여 구현되거나, 특정 기능을 갖는 제품을 사용하여 구현될 수 있다. 일 실시예에서, 장치(700)는 컴퓨터일 수 있고, 컴퓨터는 개인용 컴퓨터, 랩탑 컴퓨터, 셀룰러 폰, 카메라 폰, 스마트 폰, 개인용 디지털 보조기, 미디어 플레이어, 내비게이션 디바이스, 이메일 수신 및 전송 디바이스, 게임 콘솔, 태블릿 컴퓨터, 웨어러블 디바이스 또는 이들 디바이스의 임의의 조합일 수 있다.
장치(700)에서 각각의 모듈의 기능 및 역할의 구현 프로세스에 대해, 전술한 방법들의 대응하는 단계들을 참조할 수 있다. 간결함을 위해 본 명세서에서 세부사항을 생략한다.
일부 실시예에서, 컴퓨터 프로그램 제품은 프로세서로 하여금 전술한 방법을 수행하게 하는 컴퓨터 판독 가능한 프로그램 명령어들을 갖는 비일시적 컴퓨터 판독 가능한 저장 매체를 포함할 수 있다.
컴퓨터 판독 가능한 저장 매체는 명령어 실행 디바이스에 의해 사용되기 위한 명령어들을 저장할 수 있는 유형의(tangible) 디바이스일 수 있다. 컴퓨터 판독 가능한 저장 매체는, 예를 들어, 전자 저장 디바이스, 자기 저장 디바이스, 광 저장 디바이스, 전자기 저장 디바이스, 반도체 저장 디바이스, 또는 전술한 것의 임의의 적절한 조합일 수 있지만, 이에 한정되지는 않는다. 컴퓨터 판독 가능한 저장 매체의 더 구체적인 예의 전체 목록은, 다음과 같은 휴대용 컴퓨터 디스켓, 하드 디스크, 랜덤 액세스 메모리(RAM), 판독 전용 메모리(ROM), 소거 가능한 프로그래머블 판독 전용 메모리(EPROM), 정적 랜덤 액세스 메모리(SRAM), 휴대용 컴팩트 디스크 판독 전용 메모리(CD-ROM), 디지털 다목적 디스크(DVD), 메모리 스틱, 플로피 디스크, 펀치 카드 또는 명령어들이 기록되는 그루브 내의 융기 구조와 같은 기계적으로 인코딩된 디바이스, 및 전술한 것의 임의의 적합한 조합을 포함한다.
전술한 방법들을 수행하기 위한 컴퓨터 판독 가능한 프로그램 명령어들은 어셈블러 명령어, ISA(instruction-set-architecture) 명령어, 머신 명령어, 머신 의존형 명령어, 마이크로코드, 펌웨어 명령어, 상태-설정 데이터이거나, 객체 지향 프로그래밍 언어 및 종래의 절차적 프로그래밍 언어들을 포함하는 하나 이상의 프로그래밍 언어의 임의의 조합으로 작성된 객체 코드 또는 소스 코드일 수 있다. 컴퓨터 판독 가능한 프로그램 명령어들은 독립형 소프트웨어 패키지로서 컴퓨팅 디바이스 상에서 전부 실행되거나, 제1 컴퓨팅 디바이스 상에서와, 제1 컴퓨팅 디바이스로부터 떨어진 제2 컴퓨팅 디바이스 상에서 부분적으로 실행될 수 있다. 후자의 시나리오에서, 원격의 제2 컴퓨팅 디바이스는 근거리 통신망(LAN) 또는 광역 통신망(WAN)을 포함하는 임의의 유형의 네트워크를 통해 제1 컴퓨팅 디바이스에 연결될 수 있다.
컴퓨터 판독 가능한 프로그램 명령어들은 범용 또는 특수 목적의 컴퓨터의 프로세서 또는 기타 프로그래머블 데이터 처리 장치에 제공되어 머신을 생성하고, 이에 따라 컴퓨터의 프로세서 또는 기타 프로그래머블 데이터 처리 장치의 프로세서를 통해 실행되는 명령어들이 전술한 방법들을 구현하기 위한 수단을 작성한다.
도면의 흐름도 및 다이어그램은 본 명세서의 다양한 실시예들에 따른 장치, 방법 및 컴퓨터 프로그램 제품의 가능한 구현예의 아키텍처, 기능성 및 동작을 예시한다. 이런 점에서, 흐름도 또는 다이어그램의 블록은 특정 기능을 구현하기 위한 하나 이상의 실행 가능한 명령어를 포함하는 소프트웨어 프로그램, 세그먼트 또는 코드의 일부를 나타낼 수 있다. 일부 대안적인 구현예에서, 블록에 언급된 기능들은 도면들에 언급된 순서와는 다르게 발생할 수 있음에 유의해야 한다. 예를 들어, 연속으로 도시된 2개의 블록은 사실상 실질적으로 동시에 실행될 수 있거나, 관련된 기능성에 따라 때때로 역순으로 블록들이 실행될 수 있다. 또한, 다이어그램 및/또는 흐름도의 각각의 블록, 및 다이어그램 및 흐름도의 블록들의 조합은 지정된 기능 또는 동작을 수행하는 특수 목적의 하드웨어 기반의 시스템, 또는 특수 목적의 하드웨어 및 컴퓨터 명령어들의 조합에 의해 구현될 수 있음에 유의할 것이다.
명확성을 위해, 별도의 실시예들과 관련하여 설명된 본 명세서의 특정 특징들은 또한, 단일 실시예에서 조합으로 제공될 수 있다는 것으로 이해된다. 역으로, 간결성을 위해, 단일 실시예와 관련하여 설명된 본 명세서의 다양한 특징들은, 개별적으로 또는 임의의 적절한 하부 조합으로 또는 본 명세서의 설명된 임의의 기타 실시예에 적합한 것으로 제공될 수 있다. 다양한 실시예들과 관련하여 설명된 특정 특징들은, 달리 언급되지 않는 한, 이들 실시예의 필수적인 특징은 아니다.
본 명세서가 특정 실시예와 관련하여 설명되었지만, 여러 대안, 수정 및 변형이 본 기술분야의 통상의 기술자에게 명백할 것이다. 따라서, 다음의 청구 범위는 청구항들의 용어 내에 속하는 그러한 모든 대안, 수정 및 변형을 포괄한다.

Claims (16)

  1. 블록 체인 시스템에서 인증서들을 처리하기 위한 컴퓨터로 구현되는 방법(computer-implemented method)으로서,
    상기 블록 체인 시스템에서 스마트 계약이 생성되게 하는 단계 - 상기 스마트 계약은 인증서들을 처리하기 위한 컴퓨터 판독 가능한 명령어들을 포함함 -;
    상기 스마트 계약이 생성된 후, 제1 트랜잭션에 대한 제1 요청을 상기 블록 체인 시스템에 전송하는 단계 - 상기 제1 트랜잭션은 상기 블록 체인 시스템으로 하여금 상기 스마트 계약을 실행하여 상기 제1 요청에 기초하여 인증서 사양을 생성하게 함 -;
    상기 인증서 사양을 상기 블록 체인 시스템으로부터 수신하는 단계;
    복수의 제2 트랜잭션에 대한 제2 요청을 상기 블록 체인 시스템에 전송하는 단계 - 상기 복수의 제2 트랜잭션은 상기 블록 체인 시스템으로 하여금 상기 스마트 계약을 실행하여 복수의 인증서를 생성하게 하고, 상기 복수의 인증서는 쿠폰, 티켓 또는 바우처 중 적어도 하나를 포함함 -;
    제3 트랜잭션에 대한 제3 요청을 상기 블록 체인 시스템에 전송하는 단계 - 상기 제3 트랜잭션은 상기 블록 체인 시스템으로 하여금 상기 스마트 계약을 실행하여 상기 복수의 인증서 중 대상 인증서를 기입-취소(write off)하게 함 -; 및
    상기 대상 인증서가 기입-취소된(written off) 것을 나타내는 결과를 상기 블록 체인 시스템으로부터 수신하는 단계를 포함하는, 컴퓨터로 구현되는 방법.
  2. 제1항에 있어서,
    상기 인증서 사양에 기초하여 상기 복수의 제2 트랜잭션에 대한 제2 요청을 생성하는 단계를 더 포함하는, 컴퓨터로 구현되는 방법.
  3. 제1항에 있어서,
    상기 인증서 사양은, 인증서 유형들, 각각의 인증서 유형에 대한 인증서들의 수, 상기 인증서들의 총 개수, 또는 각각의 인증서의 유효 기간 중 적어도 하나를 나타내는, 컴퓨터로 구현되는 방법.
  4. 제3항에 있어서,
    상기 블록 체인 시스템으로 하여금 상기 스마트 계약을 실행하여 상기 복수의 인증서가 상기 인증서 사양을 만족시키는지를 결정하게 하는 단계; 및
    상기 복수의 인증서가 상기 인증서 사양을 만족시키는 것으로 결정된 후, 상기 복수의 인증서가 성공적으로 생성된 것을 나타내는 메시지를 수신하는 단계를 더 포함하는, 컴퓨터로 구현되는 방법.
  5. 제1항에 있어서,
    상기 복수의 인증서를 사용자들에게 배포하는 단계를 더 포함하는, 컴퓨터로 구현되는 방법.
  6. 제1항에 있어서,
    복수의 제3 트랜잭션에 대한 복수의 제3 요청을 비동기적으로 상기 블록 체인 시스템에 전송하는 단계 - 상기 복수의 제3 트랜잭션의 각각은, 상기 블록 체인 시스템으로 하여금 상기 스마트 계약을 실행하여 상기 복수의 인증서 중 대응하는 대상 인증서를 기입 취소하게 함 -를 더 포함하는, 컴퓨터로 구현되는 방법.
  7. 제1항에 있어서,
    상기 인증서 사양은 상기 제1 트랜잭션의 실행을 나타내는 해시 값을 포함하고, 상기 복수의 인증서의 각각은 대응하는 제2 트랜잭션의 실행을 나타내는 해시 값을 포함하는, 컴퓨터로 구현되는 방법.
  8. 제1항에 있어서,
    상기 블록 체인 시스템은 컨소시엄 블록 체인을 구현하는, 컴퓨터로 구현되는 방법.
  9. 블록 체인 시스템에서 인증서들을 처리하기 위한 디바이스로서,
    하나 이상의 프로세서; 및
    상기 하나 이상의 프로세서에 결합되는 하나 이상의 컴퓨터 판독 가능한 메모리를 포함하고, 상기 하나 이상의 컴퓨터 판독 가능한 메모리에는 상기 하나 이상의 프로세서에 의해 실행 가능한 명령어들이 저장되어 있으며,
    상기 하나 이상의 프로세서는:
    상기 블록 체인 시스템에서 스마트 계약이 생성되게 하고 - 상기 스마트 계약은 인증서들을 처리하기 위한 컴퓨터 판독 가능한 명령어들을 포함함 -;
    상기 스마트 계약이 생성된 후, 제1 트랜잭션에 대한 제1 요청을 상기 블록 체인 시스템에 전송하고 - 상기 제1 트랜잭션은 상기 블록 체인 시스템으로 하여금 상기 스마트 계약을 실행하여 상기 제1 요청에 기초하여 인증서 사양을 생성하게 함 -;
    상기 인증서 사양을 상기 블록 체인 시스템으로부터 수신하고;
    복수의 제2 트랜잭션에 대한 제2 요청을 상기 블록 체인 시스템에 전송하고 - 상기 복수의 제2 트랜잭션은 상기 블록 체인 시스템으로 하여금 상기 스마트 계약을 실행하여 복수의 인증서를 생성하게 하고, 상기 복수의 인증서는 쿠폰, 티켓 또는 바우처 중 적어도 하나를 포함함 -;
    제3 트랜잭션에 대한 제3 요청을 상기 블록 체인 시스템에 전송하며 - 상기 제3 트랜잭션은 상기 블록 체인 시스템으로 하여금 상기 스마트 계약을 실행하여 상기 복수의 인증서 중 대상 인증서를 기입-취소하게 함 -; 그리고
    상기 대상 인증서가 기입-취소된 것을 나타내는 결과를 상기 블록 체인 시스템으로부터 수신하도록 구성되는, 디바이스.
  10. 디바이스의 프로세서에 의해 실행될 때, 상기 디바이스로 하여금 블록 체인 시스템에서 인증서들을 처리하기 위한 방법을 수행하게 하는 명령어들이 저장되어 있는 비일시적 컴퓨터 판독 가능한 매체로서, 상기 방법은:
    상기 블록 체인 시스템에서 스마트 계약이 생성되게 하는 단계 - 상기 스마트 계약은 인증서들을 처리하기 위한 컴퓨터 판독 가능한 명령어들을 포함함 -;
    상기 스마트 계약이 생성된 후, 제1 트랜잭션에 대한 제1 요청을 상기 블록 체인 시스템에 전송하는 단계 - 상기 제1 트랜잭션은 상기 블록 체인 시스템으로 하여금 상기 스마트 계약을 실행하여 상기 제1 요청에 기초하여 인증서 사양을 생성하게 함 -;
    상기 인증서 사양을 상기 블록 체인 시스템으로부터 수신하는 단계;
    복수의 제2 트랜잭션에 대한 제2 요청을 상기 블록 체인 시스템에 전송하는 단계 - 상기 복수의 제2 트랜잭션은 상기 블록 체인 시스템으로 하여금 상기 스마트 계약을 실행하여 복수의 인증서를 생성하게 하고, 상기 복수의 인증서는 쿠폰, 티켓 또는 바우처 중 적어도 하나를 포함함 -;
    제3 트랜잭션에 대한 제3 요청을 상기 블록 체인 시스템에 전송하는 단계 - 상기 제3 트랜잭션은 상기 블록 체인 시스템으로 하여금 상기 스마트 계약을 실행하여 상기 복수의 인증서 중 대상 인증서를 기입-취소하게 함 -; 및
    상기 대상 인증서가 기입-취소된 것을 나타내는 결과를 상기 블록 체인 시스템으로부터 수신하는 단계를 포함하는, 비일시적 컴퓨터 판독 가능한 매체.
  11. 제9항에 있어서, 상기 하나 이상의 프로세서는:
    상기 인증서 사양에 기초하여 상기 복수의 제2 트랜잭션에 대한 제2 요청을 생성하도록 더 구성되는, 디바이스.
  12. 제9항에 있어서,
    상기 인증서 사양은, 인증서 유형들, 각각의 인증서 유형에 대한 인증서들의 수, 상기 인증서들의 총 개수, 또는 각각의 인증서의 유효 기간 중 적어도 하나를 나타내는, 디바이스.
  13. 제12항에 있어서, 상기 하나 이상의 프로세서는:
    상기 블록 체인 시스템으로 하여금 상기 스마트 계약을 실행하여 상기 복수의 인증서가 상기 인증서 사양을 만족시키는지를 결정하게 하고; 그리고
    상기 복수의 인증서가 상기 인증서 사양을 만족시키는 것으로 결정된 후, 상기 복수의 인증서가 성공적으로 생성된 것을 나타내는 메시지를 수신하도록 더 구성되는, 디바이스.
  14. 제9항에 있어서, 상기 하나 이상의 프로세서는:
    상기 복수의 인증서를 사용자들에게 배포하도록 더 구성되는, 디바이스.
  15. 제9항에 있어서, 상기 하나 이상의 프로세서는:
    복수의 제3 트랜잭션에 대한 복수의 제3 요청을 비동기적으로 상기 블록 체인 시스템에 전송하도록 - 상기 복수의 제3 트랜잭션의 각각은, 상기 블록 체인 시스템으로 하여금 상기 스마트 계약을 실행하여 상기 복수의 인증서 중 대응하는 대상 인증서를 기입 취소하게 함 - 더 구성되는, 디바이스.
  16. 제9항에 있어서,
    상기 인증서 사양은 상기 제1 트랜잭션의 실행을 나타내는 해시 값을 포함하고, 상기 복수의 인증서의 각각은 대응하는 제2 트랜잭션의 실행을 나타내는 해시 값을 포함하는, 디바이스.
KR1020197028573A 2019-03-04 2019-03-04 블록 체인 시스템에서 인증서들을 처리하기 위한 방법 및 디바이스 KR102203758B1 (ko)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/CN2019/076866 WO2019101231A2 (en) 2019-03-04 2019-03-04 Methods and devices for processing certificates in blockchain system

Publications (2)

Publication Number Publication Date
KR20200107770A KR20200107770A (ko) 2020-09-16
KR102203758B1 true KR102203758B1 (ko) 2021-01-18

Family

ID=66630432

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020197028573A KR102203758B1 (ko) 2019-03-04 2019-03-04 블록 체인 시스템에서 인증서들을 처리하기 위한 방법 및 디바이스

Country Status (12)

Country Link
US (2) US10700876B1 (ko)
EP (1) EP3598879B1 (ko)
JP (1) JP6806924B2 (ko)
KR (1) KR102203758B1 (ko)
CN (1) CN110520883B (ko)
AU (1) AU2019203851B2 (ko)
CA (1) CA3057388C (ko)
ES (1) ES2850923T3 (ko)
PL (1) PL3598879T3 (ko)
SG (1) SG11201908647SA (ko)
TW (1) TWI712974B (ko)
WO (1) WO2019101231A2 (ko)

Families Citing this family (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111352996B (zh) * 2020-02-26 2023-09-19 百度在线网络技术(北京)有限公司 基于区块链网络的数据共享方法、装置、设备及介质
CN111556035B (zh) * 2020-04-20 2022-04-19 中国工商银行股份有限公司 多认证节点的联盟链系统及方法
CN111985918A (zh) * 2020-07-27 2020-11-24 王李琰 基于区块链的电子凭证流通管理方法、系统及区块链平台
CN112418854A (zh) * 2020-10-09 2021-02-26 深圳华工能源技术有限公司 一种基于区块链技术的节能证书管理方法
CN112837084A (zh) * 2020-12-24 2021-05-25 四川新华万云科技有限公司 基于区块链网络的商品交易方法、装置及区块链网络节点
CN113159944A (zh) * 2021-03-10 2021-07-23 华控清交信息科技(北京)有限公司 一种数据处理方法、装置和用于数据处理的装置
KR102565970B1 (ko) * 2022-04-19 2023-08-11 주식회사 블로코 블록체인을 활용한 인증서 발급 방법 및 이를 위한 시스템
KR102506431B1 (ko) * 2022-04-19 2023-03-07 주식회사 블로코 블록체인을 활용한 인증서 관리 방법 및 이를 위한 시스템
KR102506432B1 (ko) * 2022-04-19 2023-03-07 주식회사 블로코 인증서 폐기 리스트 관리 방법 및 이를 위한 시스템

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101661933B1 (ko) 2015-12-16 2016-10-05 주식회사 코인플러그 블록체인을 기반으로 하는 공인인증서 인증시스템 및 이를 이용한 인증방법
KR101680260B1 (ko) 2015-12-14 2016-11-29 주식회사 코인플러그 블록체인을 기반으로 하는 공인인증서 발급시스템과 이를 이용한 블록체인을 기반으로 하는 공인인증서 발급방법
US20190036896A1 (en) 2017-07-27 2019-01-31 Cisco Technology, Inc. Generic Bootstrapping Architecture (GBA) Based Security Over Constrained Application Protocol (CoAP) for IoT Devices
US20190180371A1 (en) 2017-12-07 2019-06-13 Oliver Benkert Atomically swapping ownership certificates

Family Cites Families (21)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101661930B1 (ko) * 2015-08-03 2016-10-05 주식회사 코인플러그 블록체인을 기반으로 하는 공인인증서 발급시스템
US9992028B2 (en) * 2015-11-26 2018-06-05 International Business Machines Corporation System, method, and computer program product for privacy-preserving transaction validation mechanisms for smart contracts that are included in a ledger
JP2018028762A (ja) * 2016-08-16 2018-02-22 株式会社Sound−F クーポン管理システムおよび方法
CN106504091B (zh) * 2016-10-27 2018-06-29 深圳壹账通智能科技有限公司 区块链上交易的方法及装置
DE112017006701T5 (de) * 2016-12-30 2019-09-19 Intel Corporation Internet der Dinge
KR101937216B1 (ko) * 2017-02-01 2019-01-11 주식회사 데일리인텔리전스 블록체인을 인증서 발급기관으로 이용해서 인증서를 관리하는 장치 및 방법
US10102526B1 (en) * 2017-03-31 2018-10-16 Vijay K. Madisetti Method and system for blockchain-based combined identity, ownership, integrity and custody management
US10102265B1 (en) * 2017-04-12 2018-10-16 Vijay K. Madisetti Method and system for tuning blockchain scalability for fast and low-cost payment and transaction processing
CN107274130A (zh) * 2017-06-16 2017-10-20 合肥维天运通信息科技股份有限公司 一种基于区块链技术和物流信息平台的司机征信系统及方法
US11055703B2 (en) * 2017-06-19 2021-07-06 Hitachi, Ltd. Smart contract lifecycle management
US11132704B2 (en) * 2017-07-06 2021-09-28 Mastercard International Incorporated Method and system for electronic vouchers via blockchain
CN107360001B (zh) * 2017-07-26 2021-12-14 创新先进技术有限公司 一种数字证书管理方法、装置和系统
CN107819749A (zh) * 2017-10-26 2018-03-20 平安科技(深圳)有限公司 基于以太坊的区块链系统和交易数据处理方法
CN108632045A (zh) * 2018-05-10 2018-10-09 阿里巴巴集团控股有限公司 一种区块链数据处理方法、装置、处理设备及系统
US20190363896A1 (en) * 2018-05-26 2019-11-28 Keir Finlow-Bates Blockchain based decentralized and distributed certificate authority
CN108960825A (zh) * 2018-06-26 2018-12-07 阿里巴巴集团控股有限公司 基于区块链的电子签名方法及装置、电子设备
US10243748B1 (en) * 2018-06-28 2019-03-26 Jonathan Sean Callan Blockchain based digital certificate provisioning of internet of things devices
US10915552B2 (en) * 2018-06-28 2021-02-09 International Business Machines Corporation Delegating credentials with a blockchain member service
CN108876382A (zh) * 2018-08-09 2018-11-23 上海点融信息科技有限责任公司 在区块链上处理数字凭证的方法、装置和可读存储介质
CN109151013B (zh) * 2018-08-13 2021-07-27 南京邮电大学 基于联盟区块链的物流业信息平台
CN109360054A (zh) * 2018-09-30 2019-02-19 中链科技有限公司 基于区块链的汽车租赁方法、装置及电子设备

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101680260B1 (ko) 2015-12-14 2016-11-29 주식회사 코인플러그 블록체인을 기반으로 하는 공인인증서 발급시스템과 이를 이용한 블록체인을 기반으로 하는 공인인증서 발급방법
KR101661933B1 (ko) 2015-12-16 2016-10-05 주식회사 코인플러그 블록체인을 기반으로 하는 공인인증서 인증시스템 및 이를 이용한 인증방법
US20190036896A1 (en) 2017-07-27 2019-01-31 Cisco Technology, Inc. Generic Bootstrapping Architecture (GBA) Based Security Over Constrained Application Protocol (CoAP) for IoT Devices
US20190180371A1 (en) 2017-12-07 2019-06-13 Oliver Benkert Atomically swapping ownership certificates

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
남진석 외 1인, 블록체인을 활용한 국민주택채권 정보 중계시스템 개선방안 연구, Journal of Digital Convergence 2017. Aug. 15(8), pages 203-212.

Also Published As

Publication number Publication date
US20200287727A1 (en) 2020-09-10
CA3057388A1 (en) 2019-05-31
CA3057388C (en) 2022-08-02
EP3598879A2 (en) 2020-01-29
TWI712974B (zh) 2020-12-11
AU2019203851B2 (en) 2021-04-08
AU2019203851A1 (en) 2019-05-31
KR20200107770A (ko) 2020-09-16
WO2019101231A3 (en) 2019-12-19
ES2850923T3 (es) 2021-09-01
US10700876B1 (en) 2020-06-30
US10833875B2 (en) 2020-11-10
EP3598879B1 (en) 2021-01-20
PL3598879T3 (pl) 2021-06-14
TW202034250A (zh) 2020-09-16
JP2020526804A (ja) 2020-08-31
SG11201908647SA (en) 2019-10-30
JP6806924B2 (ja) 2021-01-06
EP3598879A4 (en) 2020-05-20
CN110520883A (zh) 2019-11-29
CN110520883B (zh) 2023-08-22
WO2019101231A2 (en) 2019-05-31

Similar Documents

Publication Publication Date Title
KR102203758B1 (ko) 블록 체인 시스템에서 인증서들을 처리하기 위한 방법 및 디바이스
JP6873270B2 (ja) ブロックチェーンにおけるスマートコントラクトに基づくトランザクション活動の取扱注意データを保護するための方法及びデバイス
CN110959281B (zh) 使用交易证明使得区块链安全化的方法和系统
US11899809B2 (en) Proof-of-approval distributed ledger
US20190378121A1 (en) Cryptographic technology platform and methods for providers to enable users to monetize their data
Ferrer-Gomila et al. A fair contract signing protocol with blockchain support
US20190114707A1 (en) Distribution of Blockchain Tokens
CN111309745B (zh) 虚拟资源处理方法、装置、电子设备及存储介质
CN110033370B (zh) 账户创建方法及装置、电子设备、存储介质
JP2022532886A (ja) ブロックチェーンへの包含のためのトランザクションの適応性
AU2016272701A1 (en) Systems and methods for publicly verifiable authorization
JP2022532889A (ja) 複数インプットトランザクション
US20240062169A1 (en) Nonfungible token path synthesis with social sharing
JP6858919B2 (ja) ブロックチェーンシステムにおいて証明書を処理するための方法及び装置
US20220036355A1 (en) Methods and devices for privacy-preserving verification of profit-sharing between users
CA3101606A1 (en) Cryptographic technology platform and methods for providers to enable users to monetize their data

Legal Events

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