KR20210100660A - 공정 전자식 교환을 구현하기 위해 가상 블록 체인 프로토콜들을 사용하는 것 - Google Patents

공정 전자식 교환을 구현하기 위해 가상 블록 체인 프로토콜들을 사용하는 것 Download PDF

Info

Publication number
KR20210100660A
KR20210100660A KR1020217020390A KR20217020390A KR20210100660A KR 20210100660 A KR20210100660 A KR 20210100660A KR 1020217020390 A KR1020217020390 A KR 1020217020390A KR 20217020390 A KR20217020390 A KR 20217020390A KR 20210100660 A KR20210100660 A KR 20210100660A
Authority
KR
South Korea
Prior art keywords
computer device
data payload
sender
key
blockchain
Prior art date
Application number
KR1020217020390A
Other languages
English (en)
Inventor
실비오 미칼리
Original Assignee
알고란드 인코포레이티드
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 알고란드 인코포레이티드 filed Critical 알고란드 인코포레이티드
Publication of KR20210100660A publication Critical patent/KR20210100660A/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/08Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
    • H04L9/0816Key establishment, i.e. cryptographic processes or cryptographic protocols whereby a shared secret becomes available to two or more parties, for subsequent use
    • H04L9/0838Key agreement, i.e. key establishment technique in which a shared key is derived by parties as a function of information contributed by, or associated with, each of these
    • H04L9/0847Key agreement, i.e. key establishment technique in which a shared key is derived by parties as a function of information contributed by, or associated with, each of these involving identity based encryption [IBE] schemes
    • 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/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/08Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
    • H04L9/0816Key establishment, i.e. cryptographic processes or cryptographic protocols whereby a shared secret becomes available to two or more parties, for subsequent use
    • H04L9/0819Key transport or distribution, i.e. key establishment techniques where one party creates or otherwise obtains a secret value, and securely transfers it to the other(s)
    • H04L9/0825Key transport or distribution, i.e. key establishment techniques where one party creates or otherwise obtains a secret value, and securely transfers it to the other(s) using asymmetric-key encryption or public key infrastructure [PKI], e.g. key signature or public key certificates
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/32Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
    • H04L9/3236Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials using cryptographic hash functions
    • H04L9/3239Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials using cryptographic hash functions involving non-keyed hash functions, e.g. modification detection codes [MDCs], MD5, SHA or RIPEMD
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/32Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
    • H04L9/3247Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials involving digital signatures
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/50Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols using hash chains, e.g. blockchains or hash trees

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Power Engineering (AREA)
  • Financial Or Insurance-Related Operations Such As Payment And Settlement (AREA)
  • Information Transfer Between Computers (AREA)
  • Electrophonic Musical Instruments (AREA)
  • Exchange Systems With Centralized Control (AREA)
  • Structure Of Telephone Exchanges (AREA)
  • Computer And Data Communications (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

가상 블록 체인 프로토콜에 대한 방법들은 발신인으로부터 수취인에게로 메시지를 송신하기 위해 공개 키 및 개인 키를 생성하는 단계를 포함한다. 발신인은 제1 데이터 페이로드를 생성하기 위해 공개 키 및 수취인의 암호 키를 사용하여 메시지를 암호화한다. 발신인은 제2 데이터 페이로드를 생성하기 위해 발신인의 암호 키를 사용하여 제1 데이터 페이로드의 해시 함수에 서명한다. 발신인은 제1 데이터 페이로드 및 제2 데이터 페이로드를 수취인에게로 송신한다. 발신인은 수취인의 암호 키를 사용하여 서명되는 제2 데이터 페이로드의 서명된 버전을 수신한다. 발신인은 제2 데이터 페이로드의 서명된 버전이 블록 체인으로 발송되었다고 판단한다. 발신인은 블록 체인으로 개인 키를 발송한다.

Description

공정 전자식 교환을 구현하기 위해 가상 블록 체인 프로토콜들을 사용하는 것
관련 출원에 대한 교차 참조
본 출원은 2018년 12월 10일자로 출원된 미국 가출원 62/777,410호 및 2018년 12월 12일자로 출원된 미국 가출원 62/778,482호의 이익을 주장한다.
기술 분야
본 설명은 일반적으로 공정 전자식 교환(FEE)을 구현하기 위한 가상 블록 체인 프로토콜의 사용에 관한 것이다.
공개 원장은 판독되고 증대될 수 있는 쉽게 조작할 수 없는 데이터의 시퀀스이다. 공유된 공개 원장은 현대 사회가 운영하는 방식에 대변혁을 일으킬 수 있다. 지불, 자산 이전 및 소유권 부여와 같은 - 통상적 트랜잭션은 통상적 트랜잭션이 일어나는 순서로 보안될 수 있다. 암호 화폐 및 스마트 계약과 같은 - 새로운 트랜잭션이 가능해질 수 있다. 부패가 감소될 수 있고, 중간 단계가 제거될 수 있고, 신뢰에 대한 새로운 패러다임이 도입되게 될 수 있다.
그러나, 통상적 공개 원장은 통상적 공개 원장의 잠재력을 달성하지 않는다. 통상적 공개 원장은 단일 엔티티를 전부 신뢰할 수 있으며, 단일 엔티티는 주어진 키에 의해 행해지는 지불을 알리는 것을 임의적으로 거부할 수 있고, 사이버 공격에 취약하다. 실제로, 단일 중앙 당국이 위태롭게 되면, 전체 시스템도 위태롭게 된다. 일부 통상적 시스템은 실행하기에 고가이고, 계산 및 다른 가치가 큰 리소스를 낭비하고, 새로운 엔티티(체굴기)의 수중에 전력을 집중시키고, 상당한 불명료(포크)를 겪고, 긴 레이턴시 및 작은 처리량을 갖는다. 다른 통상적 구현은 악의 있는 사용자를 처벌하는 능력을 인가받거나, 맡거나, 둘 다이고/이거나, 사용자들의 일부 하위집단이 적절하게 긴 시간 동안 사이버 공격에 영향을 받지 않는다고 신뢰한다.
본원의 실시예들은 가상 블록 체인 프로토콜들을 구현하기 위한 방법들, 시스템들 및 장치들에 관한 것이다. 제1 컴퓨터 디바이스는 공개 키 및 상응하는 개인 키를 생성한다. 공개 키는 발신인으로부터 수취인에게로 메시지를 송신하기 위한 것이다. 제1 컴퓨터 디바이스는 발신인과 연관된다. 제1 컴퓨터 디바이스는 제1 데이터 페이로드를 생성하기 위해 공개 키 및 수취인의 암호 키를 사용하여 메시지를 암호화한다. 수취인의 암호 키는 수취인의 신원을 나타낸다. 제1 컴퓨터 디바이스는 제2 데이터 페이로드를 생성하기 위해 발신인의 암호 키를 사용하여 데이터 패키지에 서명한다. 발신인의 암호 키는 발신인의 신원을 나타낸다. 데이터 패키지는 발신인의 신원, 수취인의 신원, 공개 키 및 제1 데이터 페이로드의 해시 함수를 포함한다.
제1 컴퓨터 디바이스는 수취인과 연관된 제2 컴퓨터 디바이스로 제1 데이터 페이로드 및 제2 데이터 페이로드를 송신한다. 제1 컴퓨터 디바이스는 제2 컴퓨터 디바이스로부터 제2 데이터 페이로드의 서명된 버전을 수신한다. 제2 데이터 페이로드의 서명된 버전은 수취인의 암호 키를 사용하여 서명된다. 제1 컴퓨터 디바이스는 제2 데이터 페이로드의 서명된 버전이 블록 체인으로 발송되었다고 판단한다. 제2 데이터 페이로드의 서명된 버전이 블록 체인으로 발송되었다고 판단하는 것에 응하여, 제1 컴퓨터 디바이스는 수취인에 의해 암호화 메시지를 복호화하기 위해 블록 체인으로 개인 키를 발송한다.
본원에 개시되는 실시예들의 이익들 및 이점들은 다른 기법들과 비교하여 감소된 계산 노고를 포함한다. 블록 체인은 백그라운드에 남아 있고 가상 블록 체인 프로토콜의 실행에서, 만약 사용되더라도 그 빈도가 매우 낮다. 공정 전자식 교환(FEE)이 가상 블록 체인 프로토콜을 사용하여 구현될 때, 정직한 당사자들에 의해 행해지는 상업적으로 공평한 트랜잭션들은 블록 체인의 사용 없이 프로토콜에 의해 제공된다. 당사자가 다른 당사자를 희생시키면서 트랜잭션의 이익을 얻으려 시도하지 않으면, 당사자는 “정직한” 것으로 나타내어진다. 다른 한편으로는, 제1 당사자가 트랜잭션의 이익을 받는 반면에, 제2 당사자가 트랜잭션의 이익을 받지 않으면, 제2 당사자는 트랜잭션의 상업 공평성을 복구하기 위해 블록 체인을 불러올 수 있다.
가상 블록 체인 프로토콜은 다른 기법들과 비교하여 보다 효율적이고 보다 경제적인 방식으로 상업적으로 공평한 교환을 제공한다. 블록 체인은 가상 블록 체인 프로토콜에서 매우 드물게 개입한다. 당사자들 둘 다가 정직할 때, 트랜잭션은 오프 체인에서 행해진다. 블록 체인은 트랜잭션의 상업 공평성을 복구하기 위해 상업적으로 불공평한 트랜잭션이 일어날 때에만 활용된다. 이행 실패로부터 얻어지는 이점들이 다른 기법들과 비교하여 감소되므로, 이행 실패는 실제로 방지된다. 블록 체인을 우회하고, 블록 단위로 정보를 발송하기 위한 트랜잭션 수수료들의 지불을 회피하고, 생성될 새로운 블록에 대한 대기를 회피함으로써 당사자들이 양자간에 트랜잭션하므로, 트랜잭션 비용들은 다른 기법들과 비교하여 감소된다.
암호 자산, 및 보증된 이메일 또는 전자적으로 서명된 계약들과 같은 다른 트랜잭션들은 다른 기법들과 비교하여 가상 블록 체인 프로토콜들을 사용하여 더 짧은 시간에서 생성될 수 있고 트랜잭션들은 더 빨리 마무리된다. 추가 이익들 및 이점들은 트랜잭션들에 대한 프라이버시 및 기밀성을 포함한다. 가상 블록 체인 프로토콜들은 상업적으로 공평한 트랜잭션들을 보장하기 위해 가상 블록 체인 프로토콜들이 겪게 되는 규제 제도를 충족시킬 수 있다. 가상 블록 체인 프로토콜들은 보다 복잡하고 계산적으로 고가의 스마트 계약들에 대한 필요를 감소시킬 수 있다.
도 1은 예시적 가상 블록 체인 프로토콜을 도시한다.
도 2는 가상 블록 체인 프로토콜들에 대한 프로세스를 도시한다.
도 3은 예시적 기계를 도시한다.
신뢰되는 제3 자는 때때로 트랜잭션, 예를 들어 전자적으로 서명된 계약을 서명하고 전달하는 보증된 이메일의 송신, 또는 암호 자산 트랜잭션을 보안하는 데 이용된다. 그러나, 신뢰되는 제3 자를 수반하는 트랜잭션은, 그러한 신뢰되는 제3 자가 트랜잭션을 늦추고 신뢰되는 제3 자의 서비스들에 대한 보수를 요구할 수 있으므로 비효율적이거나 고가일 수 있다. 블록 체인이 감소된 비용으로 일정 설정들에서 신뢰되는 제3 자 대신에 사용될 수 있다. 그러나, 블록 체인은 처리 시간의 면에서 비용 및 통화 제약을 발생시킬 수도 있다. 본원에 개시되는 실시예들은 공정 전자식 교환(FEE)을 구현하기 위한 가상 블록 체인 프로토콜들을 제공한다. FEE는 보증된 이메일, 전자 계약 서명 및 다른 구현들을 포함하는 트랜잭션들의 세트를 나타낸다.
가상 블록 체인 프로토콜은 블록 체인이 있을 때에 2명의 당사자 트랜잭션을 보안적으로 완료하는 데 사용될 수 있는 것이어서, 당사자들 둘 다가 정직하고 어떤 당사자도 부가 비용을 발생시키지 않을 때 블록 체인은 사용되지 않는다. 제1 당사자가 정직하지 않으면, 블록 체인이 가상 블록 체인 프로토콜에 의해 최소한도로 사용되어, 제2 당사자가 손해를 입게 되지 않는다. 따라서, 가상 블록 체인 프로토콜은, 당사자가 상업적으로 불공평한 방식으로 행위하지 않는다면 블록 체인이 백그라운드에서 작동하고, 불러오게 되지 않는 것이다.
도 1은 예시적 가상 블록 체인 프로토콜을 도시한다. 도 1의 예시는 발신인(112), 컴퓨터 디바이스(104), 수취인(116), 컴퓨터 디바이스(108) 및 블록 체인(120)을 포함한다. 발신인(112)은 보증된 이메일의 송신 또는 암호 자산 트랜잭션과 같은 트랜잭션을 수행하기 위해 수취인(116)에게 메시지(M)를 송신하기를 바라는 엔티티이다. 예를 들어, 발신인(112)은 암호 자산 계좌, 기업, 대학교 또는 단일 사람 등을 나타낼 수 있다. 컴퓨터 디바이스(104)는 발신인(112)에 통신 가능하도록 결합되고, 스마트폰, 태블릿, 랩탑, 또는 도 3을 참조하여 보다 상세히 예시되고 설명되는 구성 요소들을 사용하여 구현되는 다른 컴퓨터 디바이스일 수 있다. 수취인(116)은 메시지(M)가 의도되는 엔티티이다. 예를 들어, 수취인(116)은 암호 자산 계좌, 기업, 대학교 또는 단일 사람 등을 나타낼 수 있다. 컴퓨터 디바이스(108)는 수취인(116)에 통신 가능하도록 결합되고, 스마트폰, 태블릿, 랩탑, 또는 도 3을 참조하여 보다 상세히 예시되고 설명되는 구성 요소들을 사용하여 구현되는 다른 컴퓨터 디바이스일 수 있다.
컴퓨터 디바이스들(104, 108)은 발신인(112)으로부터 수취인(116)에게로 메시지(M)를 송신하는 데 가상 블록 체인 프로토콜을 사용한다. 가상 블록 체인 프로토콜은, 예를 들어 FEE를 구현하는 데 사용되는 쌍방 트랜잭션들을 가능하게 한다. 발신인(112) 및 수취인(116)이 둘 다 정직한 당사자들일 때, 블록 체인(120)은 실제 트랜잭션을 수행하는 데 사용되지 않는다. 당사자가 다른 당사자를 희생시키면서 트랜잭션의 이익을 얻으려 시도하지 않으면, 당사자는 “정직한” 것으로 나타내어진다. 예를 들어, 발신인(112)이 자동차 소유권을 갖고 수취인이 암호 자산 계좌의 전자 어드레스를 갖는 시나리오를 고려한다. 어떤 당사자도 초기에 다른 당사자의 자산을 인지하지 않지만, 당사자가 자산에 액세스할 수 있다는 것을 인지할 것이다. 발신인(112)이 “정직하면”, 발신인(112)은, 수취인에게 자동차 소유권을 송신하는 데 실패하는 동안 암호 자산 계좌의 전자 어드레스를 얻으려 시도하지 않을 것이다.
발신인(112) 및 수취인(116)은 블록 체인(120)을 각각 한 번 사용하여, 발신인(112) 및 수취인(116) 자신에 대한 정보를 등록할 수 있고, 그 후 블록 체인(120)을 수반하지 않고 다른 정직한 당사자들과 정직하게 상호 작용할 수 있다. 등록된 정보는, 예를 들어 발신인(112)의 공개 암호 키(A) 및 수취인(116)의 공개 암호 키(B)를 포함할 수 있다. 공개 암호 키들(A, B)은 또한 때때로 공개 키들 또는 공개 암호화 키들로 지칭된다. 암호 키는 메시지와 같은 데이터를 디지털 방식으로 서명하거나, 암호화하거나, 복호화하는 데 사용되는 공개 키 및/또는 개인(비밀) 키일 수 있다. 2명의 당사자 중 한 명이 정직하지 않을 때, 가상 블록 체인 프로토콜은 블록 체인(120) 상에서의 정보의 발송을 가능하게 함으로써 문제를 해결하여, 정직한 당사자가 손해를 입게 되지 않는다.
일부 실시예들에서, 가상 블록 체인 프로토콜은 블록 체인(120)의 블록들(예를 들어, 블록들(124, 128))이 특정 레벨의 정확성을 갖는 시간 정보를 포함하는 것을 가능하게 한다. 다른 실시예들에서 대안적으로, 가상 블록 체인 프로토콜은 블록 단위로 시간을 측정한다. 예를 들어, 블록(124)의 출현으로부터의 주어진 양의 시간 내에서 블록 체인(120) 상에서 정보를 발송하는 것(Y)은 블록(124)을 뒤따르는 25개의 블록 중 하나, 예를 들어 블록(128)에서의 발송(Y)을 야기한다.
컴퓨터 디바이스(104)는 공개 키(P) 및 상응하는 개인 키(S)를 생성한다. 공개 키(P)는 발신인(112)으로부터 수취인(116)에게로 메시지(M)를 송신하기 위한 것이다. 발신인(112)은 발신인(112) 자신의 고유 식별자(A), 예를 들어 공개 암호화 키, 공개 서명 키 또는 공개 암호 키를 갖는다. 발신인(112)은 또한 발신인(112) 자신의 상응하는 비밀 키 또는 개인 복호화 키를 갖는다. 발신인(112)의 공개 암호 키(A)는, 발신인(112)이 특정 시스템, 예를 들어 보증된 이메일 시스템에 등록할 때 블록 체인(120) 상에서 발송될 수 있다. 마찬가지로, 수취인(116)은 고유 식별자(B), 예를 들어 공개 암호 키를 갖는다. 발신인(112)은 메시지(M)에 서명하여 SIGA(M)으로 나타내어지는 서명된 메시지를 생성할 수 있다. 발신인(112)은 메시지(M)를 암호화하여 EA(M)으로 나타내어지는 암호화된 메시지를 생성할 수 있다.
컴퓨터 디바이스(104)는 공개 키(P) 및 수취인(116)의 암호 키(B)를 사용하여 메시지(M)를 암호화하여 제1 데이터 페이로드(Z = EPB(A, B, M))를 생성한다. 수취인(116)의 암호 키(B)는 수취인(116)의 신원을 나타낸다. 임의의 사용자, 예를 들어 수취인(116)은 실제로 발신인(112)의 공개 암호 키(A)를 사용하여 메시지(M)를 암호화할 수 있지만, 발신인(112)이 발신인(112)의 상응하는 개인 복호화 키를 갖는 한은, 발신인(112)만이 EA(M)을 복호화할 수 있다. 본원에 개시되는 디지털 서명 및 암호화 방법들은 영향을 잘 받지 않고, CCA-2 보안이 되어 있다. CCA-2 보안은 암호 보안에 대한 암호문 비구별성 표준을 지칭한다. 본원에 개시되는 디지털 서명 및 암호화 방법들은 개인 복호화 키들을 드러내지 않고 입증할 수 있게 해독할 수 있다. 더욱이, 본원에 개시되는 디지털 서명 및 암호화 방법들은 적응성의 선택된 메시지 공격들에 대하여 안전하다.
본원에 개시되는 실시예들에 의해 설명되는 암호화는 하나 초과의 단계로 구현된다. 예를 들어 제1 단계에서, 컴퓨터 디바이스(104)는 공개 키(P)만을 사용하여 메시지(M)를 암호화하여 데이터 페이로드(EP(A, B, M))를 생성할 수 있다. 제2 단계에서, 컴퓨터 디바이스(104)는 공개 키(P)뿐만 아니라 일회용 또는 임시의 키(O)를 사용하여 메시지(M)를 암호화하여 데이터 페이로드(EPO(A, B, M))를 생성할 수 있다. 임시 키(O)는 때때로 단기(ephemeral) 키로 지칭된다. 일부 실시예들에서, 공개 키(P)를 사용하여 메시지(M)를 암호화하는 것은 개인 키(K)를 사용하여 개인 키 암호 체계에서 M을 암호화하는 것, 그리고 P를 사용하여 개인 키(K)를 암호화하는 것을 포함한다.
일부 실시예들에서, 본원에 개시되는 디지털 서명 및 암호화 방법들은 공동 암호화를 구현한다. 예를 들어, P는 공개 암호화 키를 나타내고 S는 상응하는 개인 복호화 키를 나타낸다. 상기 예를 계속해서 진술하면, X는 다른 공개 암호화 키를 나타내고 SX는 X의 상응하는 비밀 키를 나타낸다. 컴퓨터 디바이스(104)는 P 및 X로부터, 상응하는 공동 비밀(개인) 키가 S 및 SX를 포함하는 “공동” 공개 암호화 키(PX)를 컴퓨팅할 수 있다. 공동 공개 암호화 키(PX)를 사용한 메시지(M)의 암호화는 Z로 나타내어지며, 여기서, Z = EPX(M)이다. 그러한 암호화된 메시지는, 컴퓨터 디바이스가 S 및 SX 둘 다에 액세스할 수 있을 때 복호화될 수 있다. Z = EPX(M)이고, PX가 공개 암호화 키를 나타내고, SX가 상응하는 비밀 복호화 키를 나타낼 때, 컴퓨터 디바이스(108)는 (P, X, S, SX, Z)를 공동으로 복호화하여 메시지(M)를 얻을 수 있다. 수취인(116)만이 비밀 키들(S 및 SX)에 액세스할 수 있는 한은, 데이터(EPX(M))는 안전하게 유지된다. Z = EPX(M)이지만, 다른 키(S')가 P에 상응하는 비밀 복호화 키가 아닐 때, (P, X, S', SX, Z)를 공동으로 복호화함으로써 얻어지는 데이터(M')는 M과 매우 상이할 것이고, SX를 드러내지 않고 입증될 수 있다.
컴퓨터 디바이스(104)가 발신인(112)으로부터 메시지(M)를 수신한 후에, 컴퓨터 디바이스(104)는 상응하는 공개 및 비밀(개인) 암호화 쌍(P, S)을 생성하고 데이터(Z = EPB(A, B, M))를 컴퓨팅하며, 데이터(Z = EPB(A, B, M))는 P 및 수취인(116)의 공개 암호 키(B)를 사용한 공동 암호화를 나타낸다. Z는 제1 데이터 페이로드를 나타내고 A에 의해 발신인(112) 그리고 B에 의해 수취인(116)을 식별한다. 일부 실시예들에서, 제1 데이터 페이로드(Z)는 따라서 수취인의 암호 키(B) 및 발신인의 암호 키(A)를 포함한다. 제1 데이터 페이로드(Z)는 S를 포함하지 않는다. 따라서, 제1 데이터 페이로드(Z)는 제1 데이터 페이로드(EPB(A, B, M))를 복호화하고 메시지(M)에 액세스하기 위해 수취인(116)에 의해 필요로 되는 개인 복호화 키(S)를 배제한다.
컴퓨터 디바이스(104)는 발신인(112)의 암호 키(A)를 사용하여 데이터 패키지(A, B, P, t, H(Z))에 서명하여 제2 데이터 페이로드(Y)를 생성한다. 발신인(112)의 암호 키(A)는 발신인(112)의 신원을 나타낸다. 따라서, 데이터 패키지는 발신인(112)의 신원, 수취인(116)의 신원, 공개 키(P) 및 제1 데이터 페이로드(Z)의 해시 함수(H(Z))를 포함한다. 일부 실시예들에서, t는 발신인(112) 또는 수취인(116)이 후속 기능을 수행하는 데드라인을 나타낸다. 예를 들어, t는 컴퓨터 디바이스(104)가 제2 컴퓨터 디바이스(108)로부터 제2 데이터 페이로드(Y)의 답신을 수신하는 데드라인을 나타낼 수 있다. 다른 실시예들에서, t는 미래의 시점을 특정하며, 이 시점 이후에는 수취인(116)이 트랜잭션의 “공정성”을 복구할 수 없게 된다.
교환 또는 트랜잭션은 상업적으로 공평하여, 악의 있는 엔티티가 악의 있지 않은 엔티티를 희생시키면서 이익을 얻지 않으면 “공정한” 것으로 나타내어진다. 발신인(112)이 자동차 소유권을 갖고 수취인이 암호 자산 계좌의 전자 어드레스를 갖는 앞선 예를 계속해서 진술한다. 어떤 당사자도 초기에 다른 당사자의 자산을 인지하지 않지만, 당사자가 자산에 액세스할 수 있다는 것을 인지할 것이다. 교환 프로토콜에서, 당사자들이 전자적으로 당사자들의 자산들을 교환하는 것, 즉 발신인이 암호 자산 계좌의 전자 어드레스를 얻고 수취인(116)이 자동차 소유권을 얻는 것이 (보장되지는 않지만) 원해진다. (당사자들의 의지에 반하여 교환을 강요하지 않고) 발신인(112)이 암호 자산 계좌의 전자 어드레스를 얻으면 그리고 얻어야만 수취인(116)이 자동차 소유권을 얻는 것을 프로토콜이 제공하면, 교환 프로토콜은 “공정한” 것으로 나타내어진다. 프로토콜은: (1) 발신인(112)이 암호 자산 계좌의 전자 어드레스를 얻고 수취인(116)이 자동차 소유권을 얻거나, (2) 어떤 당사자도 다른 당사자의 자산을 얻지 않는 2가지의 가능한 상업적으로 공평한 결과만을 가질 것이다.
도 1에 예시된 예를 계속해서 진술하면, 일부 실시예들에서, t는 생략되거나 무한대와 같은 큰 값으로 설정될 수 있다. 컴퓨터 디바이스(104)는 발신인(112)의 암호 키(A)를 사용하여 제2 데이터 페이로드(Y = SIGA(A, B, P, t, H(Z)))를 생성한다. 일부 실시예들에서, H는 충돌 회피 해시 함수이다. 그러므로, H(C) = H(D)이도록 하는 2개의 상이한 스트링(C 및 D)이 도출될 확률은 매우 낮다. 해시 함수(H(Z))는 제1 데이터 페이로드(Y)의 제1 크기가 제2 데이터 페이로드(Z)의 제2 크기보다 더 크도록 Z를 인코딩하는 데 사용된다.
컴퓨터 디바이스(104)는 데이터(132)(제1 데이터 페이로드(Z) 및 제2 데이터 페이로드(Y))를 수취인(116)과 연관된 컴퓨터 디바이스(108)에 송신한다. 컴퓨터 디바이스(104)로부터 데이터(Y)를 수신할 시에, 일부 실시예들에서, 컴퓨터 디바이스(108)는 현재의 시간이 데드라인(t)까지 충분히 남아있는지 여부를 판단하여, 컴퓨터 디바이스(108)는, 필요하다면 트랜잭션의 공정성을 복구할 수 있다. 컴퓨터 디바이스(108)는 디지털 방식으로 데이터(Y)에 서명하여 데이터(136)(SIGB(Y))를 생성한다. 데이터(136)는 컴퓨터 디바이스(108)가 데이터(132)를 수신하였다는 것을 컴퓨터 디바이스(104)에 나타내는 수취로서 사용된다. 예를 들어, 컴퓨터 디바이스(104)는 컴퓨터 디바이스(108)로부터 제2 데이터 페이로드(Y)의 서명된 버전(SIGB(Y))을 수신한다. 제2 데이터 페이로드(Y)의 서명된 버전(SIGB(Y))은 수취인(116)의 암호 키(B)를 사용하여 서명된다. 일부 실시예들에서, 데이터 패키지(A, B, P, t, H(Z))는 컴퓨터 디바이스(104)가 컴퓨터 디바이스(108)로부터 제2 데이터 페이로드(Y)의 서명된 버전을 수신하는 데드라인을 (t의 값을 사용하여) 나타낸다. 예를 들어, t가 위반되면, 트랜잭션은 무효로 되거나 취소될 것이다.
발신인(112)이 수취인(116)으로부터 적절하게 서명된 수취(제2 데이터 페이로드(Y)의 서명된 버전(SIGB(Y)))를 수신할 때, 발신인(112)은 수취인(116)에게 데이터(140)(개인 키(S))를 발신하도록 요구된다. 일부 실시예들에서, t는, 컴퓨터 디바이스(104)가 데이터(136)를 수신한 후에 컴퓨터 디바이스(104)가 컴퓨터 디바이스(108)에 개인 키(S)를 송신해야 할 시간 데드라인을 나타낸다. 컴퓨터 디바이스(108)가 데드라인(t)보다 충분히 더 이른 시간에서 개인 키(S)를 수신하였다고 판단하면, 가상 블록 체인 프로토콜은 성공적으로 완료한다.
일부 실시예들에서, 컴퓨터 디바이스(108)는 컴퓨터 디바이스(108)가 컴퓨터 디바이스(104)로부터 개인 키(S)(데이터(140))를 수신하는 것의 실패를 결정한다. 다른 실시예들에서, 컴퓨터 디바이스(108)는 컴퓨터 디바이스(104)가 데드라인(t)까지 컴퓨터 디바이스(108)로 개인 키(S)를 송신하지 않았다고 판단한다. 따라서, FEE는 위반될 수 있다. 일 예에서, 발신인(112)은 자동차 판매자이고, 수취인(116)은 자동차 구매자이고, C는 발신인(112)에 의한 자동차를 판매하려는 제안을 나타낸다. 발신인(112)은 수취인(116)에게 데이터(SIGA(C))를 송신하지만, 수취인(116)은 결코 응답하지 않는다. 이러한 경우에, 발신인(112)은 발신인(112)의 자동차를 다른 구매자에게 판매할 수 있으며, 이후에 수취인(116)이 자동차를 요청한다. 따라서, 당사자는 당사자가 원하는 정보를 얻었다는 것을 인지하고, 그 후 교환이 불완전하게 유지되도록 강제할 수 있다.
FEE를 구현하기 위해, 개인 키(S)를 수신하는 것의 실패를 결정하는 것에 응하여, 컴퓨터 디바이스(108)는 블록 체인(120)에 문제 제기를 발송한다. 문제 제기는 제2 데이터 페이로드(Y)의 서명된 버전(SIGB(Y))을 포함한다. 블록 체인(120)으로의 서명된 버전(SIGB(Y))의 발송은 컴퓨터 디바이스(108)가 컴퓨터 디바이스(104)로부터 개인 키(S)를 수신하는 것의 실패를 컴퓨터 디바이스(104)에 나타낸다. 도 1은 컴퓨터 디바이스(108)가 블록(124)에서 문제 제기를 발송하는 것을 예시한다. 일부 실시예들에서, t는 컴퓨터 디바이스(108)가 블록 체인(120)으로 제2 데이터 페이로드(Y)의 서명된 버전을 발송하는 데드라인을 나타낸다. 따라서, 데이터 패키지(A, B, P, t, H(Z))는 데드라인(t = T1)을 나타내며, 이 시간까지 컴퓨터 디바이스(108)는 블록 체인(120)으로 문제 제기를 발송해야 한다. T1이 위반되면, 계약은 무효화되거나 취소되고, 발신인(112)은 이행할 필요가 없다. 데이터(SIGB(Y))가 시간(t)(T1) 내에 블록 체인(120)에서 나타나면, 발신인(112)이 정직하게 이행하고 공정하게 트랜잭션을 완료하기를 바라는 한은, 컴퓨터 디바이스(104)는 주어진 양의 시간 내에서 블록 체인(120) 상에 개인 키(S)를 발송한다. t(T1)의 값은 트랜잭션이 “개방되게” 머무르는 시간 상한까지 발신인(112)을 허용한다. 컴퓨터 디바이스(104)에 수취(SIGB(Y))를 발신하기 전에, 수취인(116)은 컴퓨터 디바이스(104)가 수취인(116)에게 S를 송신하지 않는 경우에 대비해서 수취인이 (시간(T1)까지의) 반응할 시간을 갖는지 여부를 주관적으로 평가할 수 있다.
일부 실시예들에서, 컴퓨터 디바이스(104)는 제2 데이터 페이로드(Y)의 서명된 버전(SIGB(Y))이 블록 체인(120)으로 발송되었다고 판단한다. 제2 데이터 페이로드(Y)의 서명된 버전(SIGB(Y))이 블록 체인(120)으로 발송되었다고 판단하는 것에 응하여, 컴퓨터 디바이스(104)는 수취인(116)에 의해 메시지(M)를 복호화하기 위해 블록 체인(120)으로 개인 키(S)를 발송한다. 예를 들어, 개인 키(S)가 블록(128)으로 발송될 수 있다. 일부 실시예들에서, 컴퓨터 디바이스(104)는 제2 데이터 페이로드(Y)의 서명된 버전(SIGB(Y))이 데드라인(T1)보다 더 이른 시간에서 블록 체인(120)으로 발송되었다고 판단하는 것에 응하여 블록 체인(120)으로 개인 키(S)를 발송한다. 일부 실시예들에서, t는, 제2 데이터 페이로드(Y)의 서명된 버전이 컴퓨터 디바이스(108)에 의해 블록 체인(120)으로 발송된 후에 컴퓨터 디바이스(104)가 블록 체인(120)으로 개인 키(S)를 발송하는 데드라인(T2)을 나타낸다. 그러므로, 컴퓨터 디바이스(104)는 시간(T2) 이전에 블록(128)으로 S를 발송해야 한다.
상기 예를 계속해서 진술하면, 컴퓨터 디바이스(108)는 개인 키(S)가 컴퓨터 디바이스(104)에 의해 블록 체인(120)으로 발송되었다고 판단한다. 컴퓨터 디바이스(108)는 개인 키(S)를 사용하여 제1 데이터 페이로드(Z)를 복호화하여 메시지(M)를 얻는다. 다른 한편으로는, 컴퓨터 디바이스(104)가 데이터(SIGB(Y))의 발송 이후에 데드라인(T2) 내에 블록 체인(120)으로 S를 발송하는 것에 실패하면, 이는 함수(H(Z))에 의해 할당되는 메시지(M)를 수취인(116)이 수신하지 않았다는 것에 발신인(112)이 동의하는 것을 의미한다.
발신인(112)이 정직하게 행위하면, 그 때 데이터(SIG(Y))를 고려해 볼 때, 발신인(112)은 M 및 S를 해제함으로써, SIGB(Y)가 수취인 메시지의 내용을 입증할 수 있다. 임의의 엔티티는 S가 P에 상응하는 복호화 키이고, P에 관한 (A, B, M)의 공동 암호화 및 수취인(116)의 암호 키(B)가 실제로 Z라는 것을 검증할 수 있다. 따라서, 임의의 엔티티는 S를 고려해 볼 때, 수취인(116)이 M을 복원할 수 있다는 것을 검증할 수 있다. 수취인(116)이 결코 S를 수신하지 않았으면, 컴퓨터 디바이스(108)는, 블록 체인(120) 상에 Y를 시기 적절하게 발송하여 발신인(112)이 S를 공개적으로 발송하도록, 또는 수취인(116)이 메시지(M)를 수신하는 것에 관하여 “오프 더 후크(off the hook)”로 있는 것에 공개적으로 동의하도록 해야 한다. 예를 들어, Y가 블록 체인(120)으로 시기 적절하게 발송된 후에, 컴퓨터 디바이스(104)가 개인 키(S)를 시기 적절하게 발송하는 것에 실패하면, 발신인(112)은 블록 체인(120)으로의 발송(Y)을 위한 트랜잭션 비용들(중 적어도 일부)에 대해 수취인(116)에게 배상하게 될 수 있다.
일부 실시예들에서 단일 암호화(EPX(A, B, M))를 이용하는 것보다는 오히려, 발신인(112)은 상이한 공개 키들에 관하여 M을 송신하는 데 2개의(또는 그 이상의) 암호화를 이용할 수 있다. 일부 실시예들에서, 발신인(112)은 블록 체인(120)에 다수의 공개 암호화 키를 등록할 수 있다. 다른 실시예들에서, 수취인(116)은 어떤 등록된 공개 암호화 키도 갖지 않을 수 있고, 발신인(112)이 보증된 메시지, 예를 들어 M을 송신할 것이라는 것을 발신인(112)이 수취인(116)에게 알릴 때 필요한 것(들)을 생성할 수 있다. 예를 들어, 수취인(116)은 공개 서명 키(들)만을 보유하고 수취인(116)이 가상 블록 체인 프로토콜에 대해 필요로 하는 임의의 공개 암호화 키를 인증하는 데 공개 서명 키(들)를 사용할 수 있다.
컴퓨터 디바이스(104)로부터 값(Z = EPX(A, B, M))을 수신할 때, 수취인은 (S가 아직 이용 가능하지 않으므로) Z로부터 M을 손쉽게 복호화할 수 없다. 따라서, 수취인(116)이 처리를 중단시키면, 발신인(112)은 수취(SIGB(Y))를 수신하지 않을 것이고, 수취인(116)도 메시지(M)를 수신하지 않을 것이다. 컴퓨터 디바이스(108)가 컴퓨터 디바이스(104)로 수취(SIGB(Y))를 송신하면, 발신인(112)은 메시지(M)에 대한 수취인(116)으로부터의 유효한 수취를 수신한다. 따라서 메시지(M) 및 수취(SIGB(Y))의 교환이 공정하기 위해, 수취인(116)은 손쉽게 용이하게 M을 얻을 수 있어야 한다. FEE는, 발신인(112)이 개인 키(S)를 송신할 때 구현된다. 발신인(112)이 개인 키(S)를 송신하지 않으면, 컴퓨터 디바이스(108)는 블록 체인(120)으로 수취(SIGB(Y))를 시기 적절하게 발송할 것이어서, 블록 체인(120)으로 S를 시기 적절하게 발송할 것을 컴퓨터 디바이스(104)에 근본적으로 요청한다.
일부 실시예들에서, 본원에 개시되는 가상 블록 체인 프로토콜은 (블록 체인(120)의 외부의) 전자 수표 및 이체 시스템을 구현하는 데 사용된다. 예를 들어, 수취인(116)은 수취인(116)이 수표를 받았다는 수취를 발신인(112)이 수신하면 그리고 수신해야만 전자 수표로부터의 현금에 액세스할 수 있다. 일부 실시예들에서, 본원에 개시되는 가상 블록 체인 프로토콜은 대행자가 (예를 들어, 옵션을 행사하는 데드라인에 관하여) 다른 대행자에게 통지할 의무를 갖는 시스템을 구현하는 데 사용될 수 있다. 시스템은 대행자가 (예를 들어, 고용인들에게 고용인들의 옵션 데드라인들을 알릴 것을 경영진에게 통지할) 대행자의 의무들이 준수되는 것을 입증하는 방식으로 수행한다.
일부 실시예들에서, 본원에 개시되는 가상 블록 체인 프로토콜은 구독 기반 모델을 구현하는 데 사용된다. 구독 기반 모델에서, 엔티티는 제품 또는 서비스에 대한 액세스를 위해 규칙적인 간격으로 되풀이되는 가격을 지불하는 것이 필요하다. 트랜잭션의 공정성을 복구하기 위하여 필요할 때 블록 체인을 사용하는 능력을 얻기 위해, 발신인(112) 및 수취인(116)은, 예를 들어 블록 체인(120)으로 트랜잭션을 발송하고, (추구되는 서비스의 타입을 나타내는) 특정 스트링을 지정하고, 수수료를 지불함으로써 매월의 또는 매년의 구독 수수료를 지불하는 것이 필요할 수 있다. 서비스의 타입은 보증된 이메일, 전자적으로 서명된 계약들 등일 수 있다. 수수료는 (a) 블록 체인(120)을 유지 관리하는 데 책임이 있는 엔티티(예를 들어, 기업, 재단 등)에 지불되거나, (b) 블록 체인(120)의 유지 관리에 기여하는 사용자들에게 분배되도록 트랜잭션들 수수료들의 공동 출자에 포함되거나, (c) 특정 엔티티 또는 사용자(E)에게 지불되거나, (d) 이들의 조합일 수 있다. 예를 들어, 수취인(116)이 그러한 구독 수수료를 지불하지 않았으면, 공정성을 복구하기 위해 블록 체인(120)을 사용할 수 없게 된다.
가상 블록 체인 프로토콜 구독 기반 모델의 이점들 및 이익들은 무부가 비용으로 사용자들이 다수의 정직한, 공정한 교환을 수행하는 능력을 포함한다. 블록 체인(120)을 유지 관리하는 기업 또는 재단은 각각의 트랜잭션에서 추가로 기업 또는 재단을 수반하지 않는 서비스를 제공하기 위해 구독 수수료들로부터 이익을 얻는다. 구독 수수료들이 트랜잭션 공동 출자에 포함되면, 공동 출자의 수혜자들은, 사기를 당하는 사용자(예를 들어, 수취인(116))가 트랜잭션의 공정성을 복구하는 데이터(SIGB(Y))를 발송하는 데 블록 체인(120)을 활용할 때 추가로 이익을 얻는다. 가상 블록 체인 프로토콜에서, 사용자는 선험적으로 구독 수수료를 지불하는 것에 동의한다. 귀납적인 트랜잭션 수수료는 사기를 치는 것이 일어나는 트랜잭션들에 대해서만 지불된다. 통상적 블록 체인 기반 기법들에서, 사용자는, 사기를 치는 것이 일어날 수 있으므로 모든 당사자가 정직할 때에도 각각의 트랜잭션에 대해 선험적인 트랜잭션 수수료를 지불하는 것에 동의해야 한다. 더욱이, 가상 블록 체인 프로토콜 구독 기반 모델에서의 구독자(F)는 단일 사용자보다는 오히려 사용자들의 집단을 나타낼 수 있다. 예를 들어, F는 법률 사무소를 나타낼 수 있고 F에 의해 지불되는 구독 수수료는 가상 블록 체인 프로토콜 구독 기반 모델에 의해 구현되는 FEE 서비스를 이용하는 사용자의 수에 비례할 수 있다. 일부 실시예들에서, F는 모든 사용자를 대표하여 행위할 수 있다. 예를 들어, CEM 시스템에서, F는 F의 사용자들 중 일부에 어드레스가 지정된 메시지들에 대한 수취들을 제공하고, 그 후 필요한 바에 따라 내부적으로 메시지들을 분배하는 컴퓨터 서버를 나타낼 수 있다. 컴퓨터 서버는 도 3을 참조하여 보다 상세히 예시되고 설명되는 구성 요소들을 사용하여 구현될 수 있다.
도 2는 가상 블록 체인 프로토콜들에 대한 프로세스를 도시한다. 일부 실시예들에서, 도 2의 프로세스는 도 1을 참조하여 보다 상세히 예시되고 설명되는 컴퓨터 디바이스(104)에 의해 수행된다. 다른 엔티티들은 다른 실시예들에서의 프로세스의 단계들의 일부 또는 모두를 수행한다. 마찬가지로, 실시예들은 상이한 및/또는 부가적인 단계들을 포함하거나, 상이한 순서들로 단계들을 수행할 수 있다.
컴퓨터 디바이스(104)는 공개 키(P) 및 상응하는 개인 키(S)를 생성한다(204). 공개 키(P) 및 개인 키(S)는 도 1을 참조하여 보다 상세히 예시되고 설명된다. 공개 키(P)는 발신인(112)으로부터 수취인(116)에게로 메시지(M)를 송신하기 위한 것이다. 메시지(M), 발신인(112) 및 수취인(116)은 도 1을 참조하여 보다 상세히 예시되고 설명된다. 컴퓨터 디바이스(104)는 발신인(112)과 연관된다.
컴퓨터 디바이스(104)는 제1 데이터 페이로드(Z)를 생성하도록 공개 키(P) 및 수취인(116)의 암호 키(B)를 사용하여 메시지(M)를 암호화한다(208). 수취인(116)의 암호 키(B)는 수취인(116)의 신원을 나타낸다. 제1 데이터 페이로드(Z)는 EPB(A, B, M)으로서 표현된다. 임의의 사용자, 예를 들어 수취인(116)은 실제로 발신인(112)의 공개 암호 키(A)를 사용하여 메시지(M)를 암호화할 수 있지만, 발신인(112)이 발신인(112)의 상응하는 개인 복호화 키를 갖는 한은, 발신인(112)만이 EA(M)을 복호화할 수 있다.
컴퓨터 디바이스(104)는 제2 데이터 페이로드(Y)를 생성하도록 발신인(112)의 암호 키(A)를 사용하여 데이터 패키지(A, B, P, t, H(Z))에 서명한다(212). 발신인(112)의 암호 키(A)는 발신인(112)의 신원을 나타낸다. 데이터 패키지는 발신인(112)의 신원, 수취인(116)의 신원, 공개 키(P) 및 제1 데이터 페이로드의 해시 함수(H(Z))를 포함한다. 일부 실시예들에서, t는 발신인(112) 또는 수취인(116)이 후속 기능을 수행하는 데드라인을 나타낸다. 예를 들어, t는 컴퓨터 디바이스(104)가 제2 컴퓨터 디바이스(108)로부터 제2 데이터 페이로드(Y)의 답신을 수신하는 데드라인을 나타낼 수 있다. 다른 실시예들에서, t는 미래의 시점을 특정하며, 이 시점 이후에는 수취인(116)이 트랜잭션의 공정성을 복구할 수 없게 된다.
컴퓨터 디바이스(104)는 제1 데이터 페이로드(Z) 및 제2 데이터 페이로드(Y)를 수취인(116)과 연관된 컴퓨터 디바이스(108)에 송신한다(216). 컴퓨터 디바이스(104)로부터 데이터(Y)를 수신할 시에, 일부 실시예들에서, 컴퓨터 디바이스(108)는 현재의 시간이 데드라인(t)까지 충분히 남아있는지 여부를 판단하여, 컴퓨터 디바이스(108)는, 필요하다면 트랜잭션의 공정성을 복구할 수 있다. 컴퓨터 디바이스(108)는 디지털 방식으로 데이터(Y)에 서명하여 데이터(136)(SIGB(Y))를 생성한다. 데이터(136)는 컴퓨터 디바이스(108)가 데이터(132)를 수신하였다는 것을 컴퓨터 디바이스(104)에 나타내는 수취로서 사용된다. 데이터(132) 및 데이터(136)는 도 1을 참조하여 보다 상세히 예시되고 설명된다.
컴퓨터 디바이스(104)는 컴퓨터 디바이스(108)로부터 제2 데이터 페이로드(Y)의 서명된 버전(SIGB(Y))을 수신한다(220). 제2 데이터 페이로드(Y)의 서명된 버전(SIGB(Y))은 수취인(116)의 암호 키(B)를 사용하여 서명된다. 일부 실시예들에서, 데이터 패키지(A, B, P, t, H(Z))는 컴퓨터 디바이스(104)가 컴퓨터 디바이스(108)로부터 제2 데이터 페이로드(Y)의 서명된 버전을 수신하는 데드라인을 (t의 값을 사용하여) 나타낸다. 예를 들어, t가 위반되면, 트랜잭션은 무효로 되거나 취소될 것이다.
컴퓨터 디바이스(104)는 제2 데이터 페이로드(Y)의 서명된 버전(SIGB(Y))이 컴퓨터 디바이스(108)에 의해 블록 체인(120)으로 발송되었다고 판단한다(224). 발신인(112)이 수취인(116)으로부터 적절하게 서명된 수취(제2 데이터 페이로드(Y)의 서명된 버전(SIGB(Y)))를 수신할 때, 발신인(112)은 수취인(116)에게 데이터(140)(개인 키(S))를 발신하도록 요구된다. 데이터(140)는 도 1을 참조하여 보다 상세히 예시되고 설명된다. 컴퓨터 디바이스(108)가 컴퓨터 디바이스(104)로부터 개인 키(S)(데이터(140))를 수신하는 것의 실패를 컴퓨터 디바이스(108)가 결정할 때, 컴퓨터 디바이스(108)는 블록 체인(120)으로 제2 데이터 페이로드(Y)의 서명된 버전(SIGB(Y))을 발송한다.
제2 데이터 페이로드(Y)의 서명된 버전이 블록 체인(120)으로 발송되었다고 판단하는 것에 응하여, 컴퓨터 디바이스(104)는 수취인(116)에 의해 메시지(M)를 복호화하기 위해 블록 체인(120)으로 개인 키(S)를 발송한다(228). 일부 실시예들에서, t는, 제2 데이터 페이로드(Y)의 서명된 버전이 컴퓨터 디바이스(108)에 의해 블록 체인(120)으로 발송된 후에 컴퓨터 디바이스(104)가 블록 체인(120)으로 개인 키(S)를 발송하는 데드라인(T2)을 나타낸다. 그러므로, 컴퓨터 디바이스(104)는 시간(T2) 이전에 블록(128)으로 S를 발송해야 한다.
도 3은 예시적 기계를 도시한다. 도 3의 구현에서, 컴퓨터 시스템(300)은 특수 목적 컴퓨팅 디바이스이다. 특수 목적 컴퓨팅 디바이스는 블록 체인 프로토콜들을 실행시키도록 배선에 의해 접속되거나, 하나 이상의 주문형 반도체(ASIC), 또는 본원의 기법들을 수행하도록 지속적으로 프로그래밍되는 필드 프로그램 가능 게이트 어레이(FPGA)와 같은 디지털 전자 디바이스들을 포함하거나, 펌웨어, 메모리, 다른 저장 장치 또는 조합에서의 프로그램 명령어들에 의하여 기법들을 수행하도록 프로그래밍되는 하나 이상의 범용 하드웨어 프로세서를 포함한다. 다양한 구현에서, 특수 목적 컴퓨팅 디바이스들은 데스크탑 컴퓨터 시스템, 휴대용 컴퓨터 시스템, 핸드헬드 디바이스, 네트워크 디바이스, 또는 기법들을 구현하도록 배선에 의해 접속된 또는 프로그램 로직 둘 다를 포함하는 임의의 다른 디바이스이다.
컴퓨터 시스템(300)은 버스(302) 또는 정보를 전하기 위한 다른 통신 메커니즘, 및 정보를 처리하기 위해 버스(302)에 결합되는 하나 이상의 컴퓨터 하드웨어 프로세서(304)를 포함한다. 일부 구현에서, 하드웨어 프로세서들(304)은 범용 마이크로프로세서들이다. 컴퓨터 시스템(300)은 또한 프로세서들(304)에 의해 실행될 정보 및 명령어들을 저장하기 위해 버스(302)에 결합되는 랜덤 액세스 메모리(RAM) 또는 다른 동적 저장 디바이스와 같은 메인 메모리(306)를 포함한다. 하나의 구현에서, 메인 메모리(306)는 프로세서들(304)에 의해 실행될 명령어들의 실행 동안 임시 변수들 또는 다른 매개 정보를 저장하는 데 사용된다. 그러한 명령어들은, 프로세서들(304)에 액세스 가능한 비일시적 저장 매체에 저장될 때 명령어들로 지정되는 작동들을 수행하도록 맞춤화되는 특수 목적 기계로 컴퓨터 시스템(300)을 렌더링한다.
구현에서, 컴퓨터 시스템(300)은 프로세서들(304)에 대한 정적 정보 및 명령어들을 저장하기 위해 버스(302)에 결합되는 읽기 전용 메모리(ROM)(308) 또는 다른 정적 저장 디바이스를 더 포함한다. 자기 디스크, 광 디스크, 고체 상태 드라이브 또는 3차원 교차점 메모리와 같은 저장 디바이스(312)가 제공되고 정보 및 명령어들을 저장하기 위해 버스(302)에 결합된다.
구현에서, 컴퓨터 시스템(300)은 컴퓨터 사용자에게 정보를 표시하기 위해 음극선관(CRT), 액정 디스플레이(LCD), 플라스마 디스플레이, 발광 다이오드(LED) 디스플레이 또는 유기 발광 다이오드(OLED) 디스플레이와 같은 디스플레이(310)에 버스(302)를 통하여 결합된다. 영숫자 및 다른 키들을 포함하는 입력 디바이스(314)가 프로세서들(304)에 정보 및 커맨드 선택들을 전하기 위해 버스(302)에 결합된다. 다른 타입의 사용자 입력 디바이스는 프로세서들(304)에 방향 정보 및 커맨드 선택들을 전하고 디스플레이(310) 상의 커서 움직임을 제어하기 위한 마우스, 트랙볼, 터치 가능 디스플레이 또는 커서 방향 키들과 같은 커서 제어기(316)이다.
하나의 구현에 따르면, 본원의 기법들은 프로세서들(304)이 메인 메모리(306)에 포함되는 하나 이상의 명령어의 하나 이상의 시퀀스를 실행시키는 것에 응하여 컴퓨터 시스템(300)에 의해 수행된다. 그러한 명령어들은 저장 디바이스(312)와 같은 다른 저장 매체로부터 메인 메모리(306)로 판독된다. 메인 메모리(306)에 포함되는 명령어들의 시퀀스들의 실행은 본원에 설명하는 프로세스 단계들을 프로세서들(304)이 수행하게 한다. 대안적인 구현들에서, 배선에 의해 접속된 회로망은 소프트웨어 명령어들 대신에 또는 이것들과의 조합으로 사용된다.
본원에 사용되는 바에 따라, “저장 매체”라는 용어는 특정 방식으로 기계가 작동하게 하는 데이터 또는 명령어들 둘 다를 저장하는 임의의 비일시적 매체를 지칭한다. 그러한 저장 매체는 비휘발성 매체 또는 휘발성 매체 둘 다를 포함한다. 비휘발성 매체는, 예를 들어 광 디스크들, 자기 디스크들, 고체 상태 드라이브들, 또는 3차원 교차점 메모리, 예를 들어 저장 디바이스(312)를 포함한다. 통상적 형태들의 저장 매체는, 예를 들어 플로피 디스크, 가요성 디스크, 하드 디스크, 고체 상태 드라이브, 자기 테이프 또는 임의의 다른 자기 데이터 저장 매체, CD-ROM, 임의의 다른 광 데이터 저장 매체, 홀들의 패턴들을 갖는 임의의 물리적 매체, RAM, PROM 및 EPROM, 플래시-EPROM, NV-RAM, 또는 임의의 다른 메모리 칩 또는 카트리지를 포함한다. 저장 매체는 송신 매체와 별개이지만 이것과 함께 사용된다. 송신 매체는 저장 매체 사이에서 정보를 전달하는 것에 참여한다. 송신 매체는 버스(302)를 포함하는 와이어들을 포함하는 동축 케이블들, 구리 와이어 및 광섬유들을 포함한다.
구현에서, 다양한 형태의 매체는 실행을 위해 프로세서들(304)로 하나 이상의 명령어의 하나 이상의 시퀀스를 전달하는 것에 수반된다. 명령어들은 원격 컴퓨터의 자기 디스크 또는 고체 상태 드라이브 상에서 초기에 전달된다. 원격 컴퓨터는 원격 컴퓨터의 동적 메모리로 명령어들을 로딩하고 모뎀을 사용하여 전화선을 통해 명령어들을 송신한다. 컴퓨터 시스템(300)에 대해 로컬(local)인 모뎀은 전화선 상의 데이터를 수신하고 데이터를 적외선 신호로 변환하는 데 적외선 송신기를 사용한다. 적외선 검출기는 적외선 신호로 전달되는 데이터를 수신하고 적절한 회로망은 버스(302) 상에 데이터를 배치한다. 버스(302)는 메인 메모리(306)로 데이터를 전달하며, 메인 메모리(306)로부터 프로세서들(304)은 명령어들을 회수하고 실행시킨다. 메인 메모리(306)에 의해 수신되는 명령어들은 프로세서들(304)에 의한 실행 이전에 또는 이후에 저장 디바이스(312) 상에 선택적으로 저장된다.
컴퓨터 시스템(300)은 또한 버스(302)에 결합되는 통신 인터페이스(318)를 포함한다. 통신 인터페이스(318)는 로컬 네트워크(322)에 연결되는 네트워크 링크(320)에 결합되는 양 방향 데이터 통신을 제공한다. 통신 인터페이스(318)는 통합된 서비스 디지털 네트워크(ISDN) 카드, 케이블 모뎀, 위성 모뎀, 또는 상응하는 타입의 전화선에 데이터 통신 연결을 제공하기 위한 모뎀이다. 다른 구현에서, 통신 인터페이스(318)는 호환이 되는 LAN에 데이터 통신 연결을 제공하기 위한 로컬 영역 네트워크(LAN) 카드이다. 일부 구현에서, 무선 링크들이 또한 구현된다.
네트워크 링크(320)는 전형적으로 하나 이상의 네트워크를 통해 다른 데이터 디바이스들로 데이터 통신을 제공한다. 네트워크 링크(320)는 호스트 컴퓨터(324), 또는 인터넷 서비스 제공자(ISP)(326)에 의해 작동되는 클라우드 데이터 센터 또는 장비로의 로컬 네트워크(322)를 통한 연결을 제공한다. ISP(326)는 결국 현재 통상적으로 “인터넷”(328)으로 지칭되는 전세계적 패킷 데이터 통신 네트워크를 통해 데이터 통신 서비스들을 제공한다. 로컬 네트워크(322) 및 인터넷(328)은 둘 다 디지털 데이터 스트림들을 전달하는 전기, 전자기 또는 광 신호들을 사용한다.
상술한 특징들 및 기능들의 임의의 것 또는 모두는 당업자에게 명백할 것인 바와 같이, 앞서 달리 진술될 수 있는 정도까지 또는 임의의 그러한 실시예가 임의의 그러한 실시예의 기능 또는 구조에 의해 호환성이 없을 수 있는 정도까지를 제외하고 서로와 결합될 수 있다. 물리적 가능성에 반하지 않는다면, (i) 본원에 설명하는 방법들/단계들이 임의의 시퀀스 및/또는 임의의 조합으로 수행될 수 있고, (ii) 각각의 실시예의 구성 요소들이 임의의 방식으로 결합될 수 있는 것이 구상된다.
본 논제 사안을 구조적 특징들 및/또는 작용들에 특정한 표현으로 설명하였지만, 첨부된 청구항들에서 정의되는 본 논제 사안이 상술한 구체적 특징들 또는 작용들에 반드시 제한되는 것은 아니라는 점이 이해되어야 한다. 오히려, 상술한 구체적 특징들 및 작용들은 청구항들을 구현하는 예들로서 개시되고, 다른 동등한 특징들 및 작용들은 청구항들의 범위 내에 있는 것으로 의도된다.
도면들에서, 디바이스들, 모듈들, 명령어 블록들 및 데이터 요소들을 나타내는 것들과 같은 개략 요소들의 특정 배열들 또는 배치들은 설명의 용이함을 위해 도시된다. 그러나, 처리의 특정 순서 또는 시퀀스, 또는 프로세스들의 분리가 필요하다는 것을 도면들에서의 개략 요소들의 특정 배치 또는 배열이 암시하는 것으로 의미되지 않는다는 점이 당업자에 의해 이해되어야 한다. 게다가, 도면에서의 개략 요소의 포함은 그러한 요소가 모든 실시예에서 필요하거나 그러한 요소로 나타내어지는 특징들이 일부 실시예에서 다른 요소들에 포함되거나 이것들과 결합되지 않을 수 있다는 것을 암시하는 것으로 의미되지 않는다.
게다가, 실선들 또는 파선들 또는 화살표들과 같은 연결 요소들이 2개 이상의 다른 개략 요소 사이의 연결, 관계 또는 연관을 도시하는 데 사용되는 도면들에서, 임의의 그러한 연결 요소의 부재는 어떤 연결, 관계 또는 연관도 존재할 수 없다는 것을 암시하는 것으로 의미되지 않는다. 즉, 요소들 사이의 일부 연결, 관계 또는 연관은 본 발명을 모호하게 하지 않도록 도면들에 도시되지 않는다. 게다가 예시의 용이함을 위해, 단일 연결 요소가 요소들 사이의 다수의 연결, 관계 또는 연관을 나타내는 데 사용된다. 예를 들어, 연결 요소가 신호들, 데이터 또는 명령어들의 통신을 나타내는 경우, 그러한 요소가, 필요할 수 있는 바에 따라 통신에 영향을 주는 하나의 또는 다수의 신호 경로(예를 들어, 버스)를 나타낸다는 점이 당업자에 의해 이해되어야 한다.
전술한 설명에서, 실시예들을 구현마다 달라질 수 있는 많은 구체적 상세를 참조하여 설명하였다. 따라서, 설명 및 도면들은 제한적인 의미보다는 오히려 예시적인 의미로 간주되어야 한다. 실시예들의 범위의 유일하고 배타적인 지표, 그리고 실시예들의 범위인 것으로 출원인들에 의해 의도되는 것은 임의의 이후의 정정을 포함하여 그러한 청구항들이 공포하는 특정 형태의 본 출원에서 비롯되는 청구항들의 세트의 문자 그대로이고 동등한 범위이다. 그러한 청구항들에 포함되는 용어들에 대한 명확히 본원에 제시되는 임의의 정의는 청구항들에 사용되는 바와 같은 그러한 용어들의 의미를 좌우할 것이다. 게다가, 전술한 설명 또는 이하의 청구항들에서 “더 포함하는(further including)”이란 용어를 사용할 때, 이러한 어구를 뒤따르는 것은 부가 단계 또는 엔티티, 또는 앞서 나열된 단계 또는 엔티티의 하위 단계/하위 엔티티일 수 있다.

Claims (20)

  1. 제1 컴퓨터 디바이스에 의해, 공개 키 및 상응하는 개인 키를 생성하는 단계로서, 상기 공개 키는 발신인으로부터 수취인에게로 메시지를 송신하기 위한 것이며, 상기 제1 컴퓨터 디바이스는 상기 발신인과 연관되는 것인 단계;
    제1 데이터 페이로드를 생성하기 위해 상기 제1 컴퓨터 디바이스에 의해, 상기 공개 키 및 상기 수취인의 암호 키를 사용하여 상기 메시지를 암호화하는 단계로서, 상기 수취인의 상기 암호 키는 상기 수취인의 신원을 나타내는 것인 단계;
    제2 데이터 페이로드를 생성하기 위해 상기 제1 컴퓨터 디바이스에 의해, 상기 발신인의 암호 키를 사용하여 데이터 패키지에 서명하는 단계로서, 상기 발신인의 상기 암호 키는 상기 발신인의 신원을 나타내며, 상기 데이터 패키지는 상기 발신인의 상기 신원, 상기 수취인의 상기 신원, 상기 공개 키, 및 상기 제1 데이터 페이로드의 해시 함수를 포함하는 것인 단계;
    상기 제1 컴퓨터 디바이스에 의해, 상기 수취인과 연관된 제2 컴퓨터 디바이스로 상기 제1 데이터 페이로드 및 상기 제2 데이터 페이로드를 송신하는 단계;
    상기 제1 컴퓨터 디바이스에 의해, 상기 제2 컴퓨터 디바이스로부터 상기 제2 데이터 페이로드의 서명된 버전을 수신하는 단계로서, 상기 제2 데이터 페이로드의 상기 서명된 버전은 상기 수취인의 상기 암호 키를 사용하여 서명되는 것인 단계;
    상기 제1 컴퓨터 디바이스에 의해, 상기 제2 데이터 페이로드의 상기 서명된 버전이 블록 체인으로 발송되었다고 판단하는 단계; 및
    상기 제2 데이터 페이로드의 상기 서명된 버전이 상기 블록 체인으로 발송되었다고 판단하는 것에 응하여, 상기 제1 컴퓨터 디바이스에 의해, 상기 수취인에 의해 상기 메시지를 복호화하기 위해 상기 블록 체인으로 상기 개인 키를 발송하는 단계를 포함하는, 방법.
  2. 제1항에 있어서,
    상기 데이터 패키지는 상기 제1 컴퓨터 디바이스가 상기 제2 컴퓨터 디바이스로부터 상기 제2 데이터 페이로드의 상기 서명된 버전을 수신하는 데드라인을 나타내는, 방법.
  3. 제1항에 있어서,
    상기 데이터 패키지는 상기 제2 컴퓨터 디바이스가 상기 블록 체인으로 상기 제2 데이터 페이로드의 상기 서명된 버전을 발송하는 데드라인을 나타내며, 상기 제1 컴퓨터 디바이스는 상기 제2 데이터 페이로드의 상기 서명된 버전이 상기 데드라인보다 더 이른 시간에서 상기 블록 체인으로 발송되었다고 판단하는 것에 응하여 상기 블록 체인으로 상기 개인 키를 발송하는, 방법.
  4. 제1항에 있어서,
    상기 해시 함수는 충돌 회피 해시 함수이고, 상기 제1 데이터 페이로드의 제1 크기는 상기 제2 데이터 페이로드의 제2 크기보다 더 큰, 방법.
  5. 제1항에 있어서,
    상기 제2 데이터 페이로드는, 상기 제2 데이터 페이로드의 상기 서명된 버전이 상기 제2 컴퓨터 디바이스에 의해 상기 블록 체인으로 발송된 후에 상기 제1 컴퓨터 디바이스가 상기 블록 체인으로 상기 개인 키를 발송하는 데드라인을 나타내는, 방법.
  6. 제1항에 있어서,
    상기 제1 데이터 페이로드는 상기 수취인의 상기 암호 키 및 상기 발신인의 상기 암호 키를 더 포함하는, 방법.
  7. 메시지의 수취인과 연관된 제1 컴퓨터 디바이스에 의해, 상기 메시지의 발신인과 연관된 제2 컴퓨터 디바이스로부터 제1 데이터 페이로드 및 제2 데이터 페이로드를 수신하는 단계로서, 상기 제1 데이터 페이로드는 상기 메시지를 복호화하기 위한 개인 키를 배제하며, 상기 제2 데이터 페이로드는 상기 발신인의 신원을 나타내는 상기 발신인의 암호 키를 사용하여 데이터 패키지에 서명함으로써 생성되며, 상기 데이터 패키지는 상기 발신인의 상기 신원, 상기 수취인의 신원, 상기 메시지를 송신하기 위한 공개 키, 및 상기 제1 데이터 페이로드의 해시 함수를 포함하는 것인 단계;
    상기 제1 컴퓨터 디바이스에 의해, 상기 제2 컴퓨터 디바이스로 상기 제2 데이터 페이로드의 서명된 버전을 송신하는 단계로서, 상기 제2 데이터 페이로드는 상기 수취인의 상기 신원을 나타내는 상기 수취인의 암호 키를 사용하여 서명되는 것인 단계;
    상기 제1 컴퓨터 디바이스에 의해, 상기 제1 컴퓨터 디바이스가 상기 제2 컴퓨터 디바이스로부터 상기 개인 키를 수신하는 것의 실패를 결정하는 단계; 및
    상기 개인 키를 수신하는 것의 상기 실패를 결정하는 것에 응하여, 상기 제1 컴퓨터 디바이스에 의해, 블록 체인으로 상기 제2 데이터 페이로드의 상기 서명된 버전을 발송하는 단계로서, 상기 제2 데이터 페이로드의 상기 서명된 버전의 상기 발송은 상기 제1 컴퓨터 디바이스가 상기 제2 컴퓨터 디바이스로부터 상기 개인 키를 수신하는 것의 상기 실패를 상기 제2 컴퓨터 디바이스에 나타내는 것인 단계를 포함하는, 방법.
  8. 제7항에 있어서,
    상기 제1 데이터 페이로드는 상기 공개 키 및 상기 수취인의 상기 암호 키를 사용하여 상기 메시지를 암호화함으로써 생성되는, 방법.
  9. 제7항에 있어서,
    상기 제1 데이터 페이로드의 상기 해시 함수는 충돌 회피 해시 함수이고, 상기 제1 데이터 페이로드의 제1 크기는 상기 제2 데이터 페이로드의 제2 크기보다 더 큰, 방법.
  10. 제7항에 있어서,
    상기 개인 키가 상기 제2 컴퓨터 디바이스에 의해 상기 블록 체인으로 발송되었다고 상기 제1 컴퓨터 디바이스에 의해 판단하는 단계; 및
    상기 메시지를 얻기 위해 상기 제1 컴퓨터 디바이스에 의해, 상기 개인 키를 사용하여 상기 제1 데이터 페이로드를 복호화하는 단계를 더 포함하는, 방법.
  11. 제1 컴퓨터 디바이스에 의해, 공개 키 및 개인 키를 생성하는 단계로서, 상기 공개 키는 발신인으로부터 수취인에게로 메시지를 송신하기 위한 것인 단계;
    제1 데이터 페이로드를 생성하기 위해 상기 제1 컴퓨터 디바이스에 의해, 상기 공개 키 및 상기 수취인의 암호 키를 사용하여 상기 메시지를 암호화하는 단계;
    제2 데이터 페이로드를 생성하기 위해 상기 제1 컴퓨터 디바이스에 의해, 상기 발신인의 암호 키를 사용하여 상기 제1 데이터 페이로드의 해시 함수에 서명하는 단계;
    상기 제1 컴퓨터 디바이스에 의해, 제2 컴퓨터 디바이스로 상기 제1 데이터 페이로드 및 상기 제2 데이터 페이로드를 송신하는 단계;
    상기 제1 컴퓨터 디바이스에 의해, 상기 제2 컴퓨터 디바이스로부터 상기 수취인의 상기 암호 키를 사용하여 서명되는 상기 제2 데이터 페이로드의 서명된 버전을 수신하는 단계;
    상기 제1 컴퓨터 디바이스에 의해, 상기 제2 데이터 페이로드의 상기 서명된 버전이 블록 체인으로 발송되었다고 판단하는 단계; 및
    상기 제1 컴퓨터 디바이스에 의해, 상기 블록 체인으로 상기 개인 키를 발송하는 단계를 포함하는, 방법.
  12. 제11항에 있어서,
    데이터 패키지는 상기 제1 컴퓨터 디바이스가 상기 제2 데이터 페이로드의 상기 서명된 버전을 수신하는 데드라인을 나타내는, 방법.
  13. 제11항에 있어서,
    데이터 패키지는 상기 제2 컴퓨터 디바이스가 상기 블록 체인으로 상기 제2 데이터 페이로드의 상기 서명된 버전을 발송하는 데드라인을 나타내는, 방법.
  14. 제11항에 있어서,
    상기 해시 함수는 충돌 회피 해시 함수이고, 상기 제1 데이터 페이로드의 제1 크기는 상기 제2 데이터 페이로드의 제2 크기보다 더 큰, 방법.
  15. 제11항에 있어서,
    상기 제2 데이터 페이로드는, 상기 제2 데이터 페이로드의 상기 서명된 버전이 상기 제2 컴퓨터 디바이스에 의해 상기 블록 체인으로 발송된 후에 상기 제1 컴퓨터 디바이스가 상기 블록 체인으로 상기 개인 키를 발송하는 데드라인을 나타내는, 방법.
  16. 제1 컴퓨터 디바이스에 의해, 제2 컴퓨터 디바이스로부터 제1 데이터 페이로드 및 제2 데이터 페이로드를 수신하는 단계로서, 상기 제1 데이터 페이로드는 발신인으로부터 수취인에게로의 메시지를 포함하고 상기 메시지를 복호화하기 위한 개인 키를 배제하는 것인 단계;
    상기 제1 컴퓨터 디바이스에 의해, 상기 제2 컴퓨터 디바이스로 상기 제2 데이터 페이로드의 서명된 버전을 송신하는 단계로서, 상기 제2 데이터 페이로드는 상기 수취인의 신원을 나타내는 상기 수취인의 암호 키를 사용하여 서명되는 것인 단계;
    상기 제1 컴퓨터 디바이스에 의해, 상기 제2 컴퓨터 디바이스로부터 상기 개인 키를 수신하는 것의 실패를 결정하는 단계; 및
    상기 개인 키를 수신하는 것의 상기 실패를 결정하는 것에 응하여, 상기 제1 컴퓨터 디바이스에 의해, 블록 체인으로 상기 제2 데이터 페이로드의 상기 서명된 버전을 발송하는 단계를 포함하는, 방법.
  17. 제16항에 있어서,
    상기 제1 데이터 페이로드는 상기 제2 컴퓨터 디바이스에 의해 생성되는 공개 키 및 상기 수취인의 상기 암호 키를 사용하여 상기 메시지를 암호화함으로써 생성되는, 방법.
  18. 제16항에 있어서,
    상기 제2 데이터 페이로드는 상기 발신인의 신원을 나타내는 상기 발신인의 암호 키를 사용하여 데이터 패키지에 서명함으로써 생성되며, 상기 데이터 패키지는 상기 발신인의 상기 신원, 상기 수취인의 상기 신원, 공개 키, 및 상기 제1 데이터 페이로드의 해시 함수를 포함하는, 방법.
  19. 제16항에 있어서,
    상기 제1 데이터 페이로드의 상기 해시 함수는 충돌 회피 해시 함수이고, 상기 제1 데이터 페이로드의 제1 크기는 상기 제2 데이터 페이로드의 제2 크기보다 더 큰, 방법.
  20. 제16항에 있어서,
    상기 제1 컴퓨터 디바이스에 의해, 상기 개인 키가 상기 블록 체인으로 발송되었다고 판단하는 단계; 및
    상기 메시지를 얻기 위해 상기 제1 컴퓨터 디바이스에 의해, 상기 개인 키를 사용하여 상기 제1 데이터 페이로드를 복호화하는 단계를 더 포함하는, 방법.
KR1020217020390A 2018-12-10 2019-12-10 공정 전자식 교환을 구현하기 위해 가상 블록 체인 프로토콜들을 사용하는 것 KR20210100660A (ko)

Applications Claiming Priority (5)

Application Number Priority Date Filing Date Title
US201862777410P 2018-12-10 2018-12-10
US62/777,410 2018-12-10
US201862778482P 2018-12-12 2018-12-12
US62/778,482 2018-12-12
PCT/US2019/065524 WO2020123538A1 (en) 2018-12-10 2019-12-10 Using virtual blockchain protocols to implement a fair electronic exchange

Publications (1)

Publication Number Publication Date
KR20210100660A true KR20210100660A (ko) 2021-08-17

Family

ID=69724039

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020217020390A KR20210100660A (ko) 2018-12-10 2019-12-10 공정 전자식 교환을 구현하기 위해 가상 블록 체인 프로토콜들을 사용하는 것

Country Status (12)

Country Link
US (2) US11405186B2 (ko)
EP (1) EP3895372A1 (ko)
JP (2) JP7369772B2 (ko)
KR (1) KR20210100660A (ko)
CN (1) CN113475037A (ko)
AU (2) AU2019396425B2 (ko)
BR (1) BR112021011165A2 (ko)
CA (1) CA3122537A1 (ko)
IL (2) IL301597A (ko)
MX (1) MX2021006820A (ko)
SG (1) SG11202104773QA (ko)
WO (1) WO2020123538A1 (ko)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20210104604A (ko) * 2020-02-17 2021-08-25 한국전자통신연구원 블록체인 시스템을 통해 서비스를 사용하는 방법 및 장치

Family Cites Families (19)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6557134B2 (en) * 1997-09-30 2003-04-29 Glenayre Electronics, Inc. ARQ method for wireless communication
US7010683B2 (en) * 2000-01-14 2006-03-07 Howlett-Packard Development Company, L.P. Public key validation service
JP4614377B2 (ja) * 2000-03-01 2011-01-19 キヤノン株式会社 暗号化データ管理システム及び方法、記憶媒体
US7885412B2 (en) * 2005-09-29 2011-02-08 International Business Machines Corporation Pre-generation of generic session keys for use in communicating within communications environments
US9942034B2 (en) * 2015-02-13 2018-04-10 Visa International Service Association Confidential communication management
US10402792B2 (en) * 2015-08-13 2019-09-03 The Toronto-Dominion Bank Systems and method for tracking enterprise events using hybrid public-private blockchain ledgers
JP6452156B2 (ja) * 2015-09-03 2019-01-16 日本電信電話株式会社 許諾情報管理システム、利用者端末、権利者端末、許諾情報管理方法、および、許諾情報管理プログラム
CN108885741B (zh) * 2016-02-23 2023-05-16 区块链控股有限公司 一种实现区块链上交换的令牌化方法及系统
US10594702B2 (en) * 2016-12-16 2020-03-17 ULedger, Inc. Electronic interaction authentication and verification, and related systems, devices, and methods
CN106790253A (zh) * 2017-01-25 2017-05-31 中钞信用卡产业发展有限公司北京智能卡技术研究院 基于区块链的认证方法和装置
CN107040383B (zh) * 2017-04-24 2018-01-30 中山大学 一种基于区块链的盲可验证加密签名方法
US11429592B2 (en) * 2017-04-26 2022-08-30 Visa International Service Association Systems and methods for recording data representing multiple interactions
GB201709760D0 (en) * 2017-06-19 2017-08-02 Nchain Holdings Ltd Computer-Implemented system and method
US11424913B2 (en) * 2017-06-21 2022-08-23 Nippon Telegraph And Telephone Corporation Key exchange system and key exchange method
GB201803815D0 (en) * 2018-03-09 2018-04-25 Nchain Holdings Ltd Computer-implemented methods and systems
JP6907144B2 (ja) * 2018-03-27 2021-07-21 Kddi株式会社 アクセス制限システム、アクセス制限方法及びアクセス制限プログラム
US11165756B2 (en) * 2018-06-11 2021-11-02 Fujitsu Limited Delayed-access encryption for blockchain field
CN108833438B (zh) * 2018-07-18 2020-04-14 电子科技大学 一种基于区块链的工业物联网信息安全存储方法
JP6838260B2 (ja) * 2018-11-14 2021-03-03 カウリー株式会社 ブロックチェーン制御方法

Also Published As

Publication number Publication date
SG11202104773QA (en) 2021-06-29
AU2019396425A2 (en) 2021-06-03
IL282861B1 (en) 2023-05-01
AU2019396425B2 (en) 2023-03-16
MX2021006820A (es) 2021-07-02
JP2024003002A (ja) 2024-01-11
JP7369772B2 (ja) 2023-10-26
CA3122537A1 (en) 2020-06-18
CN113475037A (zh) 2021-10-01
US11405186B2 (en) 2022-08-02
AU2019396425A1 (en) 2021-05-20
BR112021011165A2 (pt) 2021-08-31
WO2020123538A1 (en) 2020-06-18
IL282861A (en) 2021-06-30
US20200186334A1 (en) 2020-06-11
JP2022512220A (ja) 2022-02-02
IL282861B2 (en) 2023-09-01
EP3895372A1 (en) 2021-10-20
US20230125327A1 (en) 2023-04-27
AU2023203711A1 (en) 2023-07-06
IL301597A (en) 2023-05-01

Similar Documents

Publication Publication Date Title
WO2019214312A1 (zh) 基于区块链的物流信息传输方法、系统和装置
JP3251917B2 (ja) 電子入札システムおよび電子入札方法
US20170187538A1 (en) System and method to use a cloud-based platform supported by an api to authenticate remote users and to provide pki- and pmi- based distributed locking of content and distributed unlocking of protected content
CN111292041B (zh) 一种电子合同生成方法、装置、设备及存储介质
US12003495B2 (en) Decentralized processing of interactions on delivery
US20100153273A1 (en) Systems for performing transactions at a point-of-sale terminal using mutating identifiers
US10728219B2 (en) Enhancing security of communications during execution of protocol flows
JP2007042103A (ja) 物理的posトランザクションのための方法及び装置
CN104022883A (zh) 一种基于物流网络的个人信息保护网络购物技术
Tzianos et al. Hermes: An open and transparent marketplace for IoT sensor data over distributed ledgers
JP2024003002A (ja) 公正な電子交換を実施するための仮想ブロックチェーンプロトコルの利用
CN111915302B (zh) 关联数据处理方法、装置、电子设备及计算机可读介质
TWI313845B (en) Method and system for mobile payment
Yang et al. A non-repudiation message transfer protocol for e-commerce
KR101129167B1 (ko) 모바일 안전 결제 방법 및 시스템
WO2017012069A1 (zh) 网上交易方法、装置和系统
Alaraj Ownership transfer protocol
US11842338B2 (en) Payment encryption system
WO2017012070A1 (zh) 网上交易方法、装置和系统
WO2020040070A1 (ja) トランザクション処理方法、システムおよびプログラム
CN102571716A (zh) 适用于网上购物的安全通信方法
WO2017012065A1 (zh) 网上交易方法、装置和系统
WO2017012063A1 (zh) 网上交易方法、装置和系统
WO2017012068A1 (zh) 网上交易方法、装置和系统
WO2017100990A1 (zh) 交易信息电子记录凭证信息核验的方法及装置

Legal Events

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