KR102647433B1 - 하이브리드블록체인 이용한 존재증명 방법 - Google Patents

하이브리드블록체인 이용한 존재증명 방법 Download PDF

Info

Publication number
KR102647433B1
KR102647433B1 KR1020180096408A KR20180096408A KR102647433B1 KR 102647433 B1 KR102647433 B1 KR 102647433B1 KR 1020180096408 A KR1020180096408 A KR 1020180096408A KR 20180096408 A KR20180096408 A KR 20180096408A KR 102647433 B1 KR102647433 B1 KR 102647433B1
Authority
KR
South Korea
Prior art keywords
participant
transaction data
identification information
real name
communication
Prior art date
Application number
KR1020180096408A
Other languages
English (en)
Other versions
KR20200020559A (ko
Inventor
조현준
조윤서
Original Assignee
조현준
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 조현준 filed Critical 조현준
Priority to KR1020180096408A priority Critical patent/KR102647433B1/ko
Publication of KR20200020559A publication Critical patent/KR20200020559A/ko
Application granted granted Critical
Publication of KR102647433B1 publication Critical patent/KR102647433B1/ko

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q20/00Payment architectures, schemes or protocols
    • G06Q20/38Payment protocols; Details thereof
    • G06Q20/382Payment protocols; Details thereof insuring higher security of transaction
    • G06Q20/3827Use of message hashing
    • 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/3825Use of electronic signatures
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q20/00Payment architectures, schemes or protocols
    • G06Q20/38Payment protocols; Details thereof
    • G06Q20/382Payment protocols; Details thereof insuring higher security of transaction
    • G06Q20/3829Payment protocols; Details thereof insuring higher security of transaction involving key management
    • 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/3226Cryptographic 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 a predetermined code, e.g. password, passphrase or PIN
    • 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)
  • Business, Economics & Management (AREA)
  • Computer Security & Cryptography (AREA)
  • Accounting & Taxation (AREA)
  • Signal Processing (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Physics & Mathematics (AREA)
  • General Business, Economics & Management (AREA)
  • General Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Strategic Management (AREA)
  • Finance (AREA)
  • Power Engineering (AREA)
  • Storage Device Security (AREA)

Abstract

본 발명은 소정의 약속이나 거래 등의 존재를 증명하는 업무에서, 종래 방법에서의 공증인조작위험불편과 종래 퍼블릭블록체인 방법에서의 저속도불편 및 고비용불편과 종래 프라빗블록체이 방법에서 대표자간담합조작위험불 및 프라이버시침해불편을 감축하기 위한 블록체인기술에 관한 것으로, 본 발명의 특징에 따른 방법의 일 실시 예는, 제1참가자단말에서 소정의 청약데이터를 제2참가자의 공개키로 암호화하여 제1전송데이터를 작성하고 상기 제1전송데이터를 포함하는 제1트랜잭션데이터를 작성하는 단계; 상기 제1트랜잭션데이터의 해시값을 '제1참가자의 비밀키'로 암호화해 '상기 제1트랜잭션데이터에 대한 제1참가자의 전자서명'을 생성하는 단계; '상기 제1참가자전자서명을 매칭한 상기 제1트랜잭션데이터'를 제1오쏘리티노드로 전송하는 단계; 제1오쏘리티노드가 제1참가자전자서명을 검증하고 대기트랜잭션DB에 상기 '제1참가자전자서명이 매칭된 제1트랜잭션데이터'를 저장하고 상기 수신자식별정보에 매칭하는 제2오쏘리티노드로 중계하는 단계; 제2오쏘리티노드가 상기 '제1참가자전자서명이 매칭된 제1트랜잭션데이터'를 제2참가자단말로 중계하고 대기트랜잭션DB에 저장하는 단계; 제2참가자단말에서 '상기 제1트랜잭션데이터에 포함된 제1전송데이터'를 '제2참가자의 비밀키'로 복호화해 청약데이터를 산출하는 단계; 소정의 프라이빗블록 생성주기에 따라 '제1오쏘리티노드와 제2오쏘리티노드 중 하나이상'에서 대기트랜잭션DB에서 상기 제1트랜잭션데이터를 포함하는 '블록화되지 않은 트랜잭션데이터들'과 각각의 매칭된 전자서명들을 포함하는 정보의 루트해시값을 산출하고 상기 루트해시값을 포함하는 소정의 프라이빗블록을 생성하는 단계; 상기 프라이빗블록을 오쏘리티노드들이 검증하는 단계; 소정의 퍼블릭블록 생성주기에 따라 상기 검증된 프라이빗블록들의 루트해시값을 포함하는 퍼블릭블록헤더를 생성하고, 상기 퍼블릭블록헤더를 각 오쏘리티노드가 각자의 퍼블릭피어노드들에게 전송하여 퍼블릭블록체인네트웍에서 검증되고 분산저장되게 하는 단계; 를 포함한다.

Description

하이브리드블록체인 이용한 존재증명 방법{The Method to prove an Existence utilizing Hybrid bloc-chain}
본 발명은 블록체인기술에 관한 것이다.
특정 약속이나 거래의 존재를 증명하는 종래의 방법으로는, 정부로부터 공증권한을 부여 받은 공증인이 '상기 약속이나 거래의 요지가 기술되고 상기 거래당사자들의 서명이나 날인이 첨부된 문서'(이하 "공증대상문서"라 한다)의 사본을 보관하고, 동 약속이나 거래의 존재 증명이 필요한 경우, 상기 공증인이 보관하던 상기 사본을 제시하는 방법이 이용되어 왔다.
그런데 상기 종래의 방법에 따르면, 상기 공증인이 상기 공증대상문서의 사본을 조작하는 것이 기술적으로 가능하다는 불편(이하 "공증인조작위험불편"이라 한다)이 따른다.
상기 공증인조작위험불편을 감축하기 위해, 상기 약속이나 거래의 요지가 기술된 데이터(이하 "트랜잭션데이터"라 한다)의 해시값을 상기 트랜잭션데이터 작성자의 비밀키로 암호화하는 방법으로 상기 트랜잭션데이터 작성자의 전자서명을 생성하고, 상기 트랜잭션데이터 작성자의 전자서명이 매칭된 상기 트랜잭션데이터를 소정의 규격화된 블록에 담아 모든 네트웍 참가자들의 시스템에 분산저장하고, 상기 각 블록을 체인화하고 앞 블록의 해시값을 뒤 블록에 포함시킴으로써, 특정 트랜잭션데이터가 조작되면 그 트랜잭션데이터를 포함한 블록의 해시값이 변경되어, 그 뒷 블록에 포함된 그 블록의 해시값과 상충됨이 발견되어 자동적으로 상기 블록이 위조된 것임이 드러나도록 하고, 수 많은 다른 참가자들의 시스템에 분산 저장된 '조작되지 않은 블록'이 정당한 블록으로 인정 받도록 하는 것을 특징으로 하는 퍼블릭블록체인 방법이 제시되었다.
그런데 상기 퍼블릭블록체인 방법의 경우 트랜잭션데이터가 모든 블록체인네트웍 참가자(이하 "참가자"라 한다)의 시스템(이하 "노드"라 한다)에 공유되고, 모든 참가자들이 합의에 참여할 시간을 제공하고 한 번 합의된 블록이 번복될 가능성을 최소화하기 위해 블록간 시간간격(예컨대, 비트코인네트웍의 경우 10분)을 두고 있어 합의속도가 느리다는 불편(이하 "저속도불편"이라 한다)이 따른다. 이러한 저속도불편으로 인해 대금결제 증빙용도로 상용화되지 못하고 있다.
또한 상기 수많은 참가자들 개개인을 신뢰하기 어렵기에, 신뢰할 수 없는 수많은 참가자들 중 일부가 블록을 위변조 하기 어렵도록 하기 위해, 블록을 검증하는데 필요한 계산량이 막대하도록 설계되어, 그 블록에 포함된 트랜잭션데이터들의 정당성에 대해 합의하는데 필요한 비용이 비싸게 되는 불편(이하 "고비용불편"이라 한다)이 따르고, 원칙적으로 모든 노드가 모든 블록을 분산 저장해야 하기에 참가자가 늘어날수록 트랜잭션당 데이터저장용량이 무제한으로 증가하는 불편(이하 "필요용량무제한증가불편"이라 한다)이 따른다.
이러한 저속도불편과 고비용합의불편과 필요용량무제한증가불편을 완화하기 위해, 네트웍에 참여하는 수많은 참가자들 중 상대적으로 신용이 검증되었다고 판단되는 소수의 참가자를 대표참가자로 선정하고, 상기 대표참가자들간 합의로 네트웍 전체의 합의가 확정되도록 함으로써 합의속도를 대금결제에 적합할 정도로 증대시키고, 제한된 대표참가자만 모든 블록을 저장하면 되게 함으로써 트랜잭션당 데이터저장용량이 제한되도록 하는 방법(이하 "프라이빗블록체인 방법"이라 한다)이 제시되었다.
그런데 상기 프라이빗블록체인 방법의 경우, 퍼블릭블록체인의 경우 대비 대표참가자들간 담합이 용이하고, 합의정족수를 구성하는 대표참가자들간 담합이 이루어지면 트랜잭션데이터가 조작이 가능해진다는 불편(이하 "대표자간담합조작위험불편"이라 한다)이 따른다.
한편, 퍼블릭블록체인의 경우 누구나 시스템만 갖추면 모든 합의에 참가할 수 있기에 모든 트랜잭션데이터가 모든 참가자에게 노출되고, 모든 트랜잭션데이터에 거래당사자들의 퍼블릭블록체인계정식별정보가 포함되어 있기에, 내가 누구인지 아는 거래상대방과의 트랜잭션데이터를 퍼블릭블록체인네트웍에 분산저장할 경우, 내 퍼블릭블록체인계정식별정보를 아는 상기 상대방이 퍼블릭블록체인네트웍에 분산저장된 나의 모든 거래내역을 알 수 있게 되는 불편(이하 "프라이버시침해불편"이라 한다)이 따른다.
프라이빗블록체인에서도 모든 트랜잭션데이터가 모든 대표참가자에게 노출되고, 모든 트랜잭션데이터에 거래당사자들의 식별정보가 포함되어 있기에, 내가 누구인지 알고 나의 프라이빗블록체인네트웍상 식별정보가 무엇인지 아는 거래상대방(예컨대 거래은행)이 대표참가자가 될 경우, 나의 모든 거래내역이 상기 거래상대방에게 노출되게 되어, 비록 제한적이기는 하지만 상기 "프라이버시침해불편"이 여전히 남는다.
본 발명의 목적은 소정의 약속이나 거래 등의 존재를 증명하는 업무에서, 상기 "공증인조작위험불편"을 감축하면서도, 상기 "저속도불편"과 "고비용불편"과 "필요용량무제한증가불편"도 감축하고, 상기 "대표자간담합조작위험불편"과 "프라이버시침해불편"까지 동시에 감축하는 방법을 제시하는 데 있다.
이러한 기술적 과제를 해결하기 위한 본 발명의 특징에 따른 방법의 일 실시 예는, 제1참가자의 단말에서 소정의 청약대상문서가 선택되고 수신자식별정보가 입력되는 단계; '청약자식별정보로서의 제1참가자식별정보'와 '피청약자식별정보로서의 제2참가자식별정보'와 상기 청약대상문서를 포함하는 소정의 청약데이터를 작성하는 단계; 상기 청약데이터를 제2참가자의 공개키로 암호화하여 제1전송데이터를 작성하는 단계; 상기 제1전송데이터와 '송신자식별정보로서의 상기 제1참가자식별정보'와 '수신자식별정보로서의 상기 제2참가자식별정보'를 포함하는 제1트랜잭션데이터를 작성하는 단계; 상기 제1트랜잭션데이터의 해시값을 '제1참가자의 비밀키'로 암호화해 '상기 제1트랜잭션데이터에 대한 제1참가자의 전자서명'을 생성하는 단계; '상기 제1참가자전자서명을 매칭한 상기 제1트랜잭션데이터'를 제1오쏘리티노드로 전송하고, 합의DB에 상기 청약대상문서의 해시값에 매칭하여, 상기 제1트랜잭션데이터의 해시값과 상기 청약대상문서를 저장하는 단계; 제1오쏘리티노드가 제1참가자공개키로 상기 제1참가자전자서명을 복호화하고, 상기 복호화된 값과 '상기 제1트랜잭션데이터의 해시값'을 대조하여 일치하는지 판단하는 단계; 상기 판단이 긍정적인 경우, 대기트랜잭션DB에 상기 '제1참가자전자서명이 매칭된 제1트랜잭션데이터'를 저장하는 단계; 상기 '제1참가자전자서명이 매칭된 제1트랜잭션데이터'를 '상기 제1트랜잭션데이터에 포함된 수신자식별정보'에 매칭하는 제2오쏘리티노드로 중계하는 단계; 상기 '제1참가자전자서명이 매칭된 제1트랜잭션데이터'를 상기 제1참가자단말로 전송하는 단계; 제1참가자단말에서 증빙DB에 '상기 제1트랜잭션데이터의 해시값'에 매칭하여 상기 '제1참가자전자서명이 매칭된 제1트랜잭션데이터'를 저장하는 단계; 제2오쏘리티노드가 '상기 제1트랜잭션데이터에 포함된 수신자식별정보'에 매칭되는 제2참가자단말로 상기 '제1참가자전자서명이 매칭된 제1트랜잭션데이터'를 중계하는 단계; 대기트랜잭션DB에 상기 '제1참가자전자서명이 매칭된 제1트랜잭션데이터'를 저장하는 단계; 제2참가자단말에서 '상기 제1트랜잭션데이터에 포함된 제1전송데이터'를 '제2참가자의 비밀키'로 복호화해 청약데이터를 산출하는 단계; 상기 청약데이터에서 '청약자식별정보와 청약대상문서'를 추출하는 단계; 제1참가자공개키로 상기 제1참가자전자서명을 복호화하고, 상기 복호화된 값과 '상기 제1트랜잭션데이터의 해시값'을 대조해 일치하는지 판단하는 단계; 상기 판단이 긍정적이면, 합의DB에 상기 청약자식별정보에 매칭하여 상기 청약대상문서를 저장하고, 출력부에 상기 청약대상문서를 합의박스와 함께 출력하는 단계; 상기 합의박스가 선택되면, '합의자식별정보로서의 상기 제2참가자식별정보'와 '청약자식별정보로서의 상기 제1참가자식별정보'와 '합의대상문서로서의 상기 청약대상문서'와 '합의대상트랜잭션데이터식별정보로서의 상기 제1트랜잭션데이터의 해시값'을 포함하는 소정의 합의데이터를 작성하는 단계; 상기 합의데이터를 제1참가자공개키로 암호화해 제2전송데이터를 작성하는 단계;상기 제2전송데이터와 '송신자식별정보로서의 제2참가자식별정보'와 '수신자식별정보로서의 상기 제1참가자식별정보'를 포함하는 제2트랜잭션데이터를 작성하는 단계; 상기 제2트랜잭션데이터의 해시값을 '제2참가자의 비밀키'로 암호화해 상기 제2트랜잭션데이터에 대한 제2참가자의 전자서명을 생성하는 단계; 상기 제2트랜잭션데이터에 상기 제2참가자전자서명을 매칭해 제2오쏘리티노드로 전송하는 단계; 제2오쏘리티노드가 제2참가자의 공개키로 상기 제2참가자전자서명을 복호화하고, 상기 복호화된 값을 '상기 제2트랜잭션데이터의 해시값'과 대조하여 일치하는지 판단하는 단계; 상기 판단이 긍정적인 경우, 대기트랜잭션DB에 상기 '제2참가자전자서명이 매칭된 제2트랜잭션데이터'를 저장하고, 상기 '제2참가자전자서명이 매칭된 제2트랜잭션데이터'를 '상기 제2트랜잭션데이터에 포함된 수신자식별정보'에 매칭하는 제1오쏘리티노드로 중계하는 단계; 제1오쏘리티노드가 상기 '제2참가자전자서명이 매칭된 제2트랜잭션데이터'를 '상기 제2트랜잭션데이터 포함된 수신자식별정보'에 매칭되는 제1참가자단말로 중계하고 대기트랜잭션DB에 저장하는 단계; 제1참가자단말에서 '상기 제2트랜잭션데이터에 포함된 제2전송데이터'를 '제1참가자의 비밀키'로 복호화해 합의데이터를 산출하는 단계; 상기 합의데이터에서 '합의자식별정보로서의 제2참가자식별정보'와 '합의대상트랜잭션데이터식별정보로서의 제1트랜잭션데이터의 해시값'을 추출하는 단계; 제2참가자공개키로 상기 제2참가자전자서명을 복호화하고, 상기 복호화된 값과 '상기 제2트랜잭션데이터의 해시값'을 대조해 일치하는지 판단하는 단계; 상기 판단이 긍정적이면, 합의DB에서 상기 합의대상트랜잭션데이터식별정보에 매칭된 청약대상문서를 검색하고, 상기 청약대상문서를 '상기 합의데이터에 포함된 합의대상문서'와 대조하여 일치하는지 판단하는 단계; 일치하는 것으로 판단한 경우, 증빙DB에서 '상기 합의대상트랜잭션데이터의 해시값'에 매칭된 '제1참가자전자서명이 매칭된 제1트랜잭션데이터'를 검색하고, 상기 '제1트랜잭션데이터 및 제1참가자전자서명'과 상기 '제2트랜잭션데이터 및 제2참가자전자서명'에 대한 루트해시값이 산출되는 단계; 상기 루트해시값과 '청약자식별정보로서의 제1참가자식별정보'와 '합의자식별정보로서의 제2참가자식별정보'를 포함하는 소정의 합의증빙해시데이터가 공증대상문서로서 작성되고, 출력부에 공증신청박스가 출력되는 단계; 제1참가자단말에서 상기 공증신청박스가 선택되면, 상기 공증대상문서와 '공증신청자식별정보로서의 상기 제1참가자식별정보'와 '공증피신청자식별정보로서의 제1오쏘리티서버의 식별정보'를 포함하는 소정의 공증신청트랜잭션데이터를 작성하는 단계; 상기 공증신청트랜잭션데이터의 해시값을 '제1참가자의 비밀키'로 암호화해 제1참가자전자서명을 생성하는 단계; 상기 공증신청트랜잭션데이터에 상기 제1참가자전자서명을 매칭해 제1오쏘리티노드로 전송하고, 증빙DB에 상기 공증신청트랜잭션데이터의 해시값에 매칭해 상기 '제1참가자전자서명이 매칭된 공증신청트랜잭션데이터'를 저장하는 단계; 제1오쏘리티노드가 제1참가자의 공개키로 상기 제1참가자전자서명을 복호화하고, 상기 복호화된 값을 '상기 공증신청트랜잭션데이터의 해시값'과 대조하여 일치하는지 판단하는 단계; 상기 판단이 긍정적인 경우 대기트랜잭션DB에 '상기 공증신청트랜잭션데이터의 해시값'에 매칭하여 상기 '제1참가자전자서명이 매칭된 공증신청트랜잭션데이터'를 저장하는 단계; 소정의 프라이빗블록 생성주기에 따라 '제1오쏘리티노드와 제2오쏘리티노드 중 하나이상'에서 자신의 대기트랜잭션DB에서 '상기 제1트랜잭션데이터와 상기 제2트랜잭션데이터와 상기 공증신청트랜잭션데이터 중 하나이상'을 포함하는 '소정 방법으로 선택된 트랜잭션데이터들'을 각각의 매칭된 전자서명들과 매칭하여 추출하고, '상기 추출된, 트랜잭션데이터들과 전자서명들'의 루트해시값을 산출하는 단계; '프라이빗블록체인네트웍상의 직전프라이빗블록ID'와 상기 루트해시값을 포함하는 소정의 프라이빗블록헤더를 생성하는 단계; 상기 프라이빗블록헤더와 '상기 루트해시값 산출에 이용된 트랜잭션데이터들'과 '상기 각 트랜잭션데이터별로 매칭된 작성자의 전자서명'들을 포함하는 소정의 프라이빗블록을 생성하고, 프라이빗분산원장에 상기 프라이빗블록을 저장하고, 상기 프라이빗블록을 프라이빗피어노드에 해당하는 오쏘리티노드들로 전송하는 단계; 상기 프라이빗블록을 수신한 오쏘리티노드들이 '상기 프라이빗블록에 포함된 각 트랜잭션데이터'에 매칭되는 전자서명들을 '상기 각 트랜잭션데이터에 포함된 송신자식별정보'에 매칭되는 공개키로 복호화하고, '상기 각 복호화된 값'들이 모두 '상기 각 매칭된 트랜잭션데이터의 해시값'들과 일치하는지 판단하는 단계; 상기 판단이 긍정적인 각 오쏘리티노드에서, '상기 수신한 프라이빗블록의 식별정보'와 소정의 확인코드를 포함하는 소정의 확인전문을 작성하는 단계; 상기 확인전문을 '자신의 각 프라이빗피어노드의 공개키'로 암호화하고, '상기 각 암호화된 확인전문'들을 자신의 비밀키로 암호화해 자신의 전자서명을 생성하는 단계; '자신의 식별정보와 상기 각 전자서명'을 상기 각 전자서명에 매칭되는 '암호화된 확인전문'에 매칭하여 '상기 각 공개키에 매칭되는, 자신의 프라이빗피어노드'들에 해당하는 각 오쏘리티노드들로 전송하는 단계; 상기 '소정의 오쏘리티노드식별정보와 전자서명이 매칭된 암호화된 확인전문'을 수신한 각오쏘리티노드들이, 각자 자신의 비밀키로 '상기 암호화된 확인전문'을 복호화하는 단계; 상기 복호화된 확인전문에 포함된 '특정 프라이빗블록식별정보에 매칭된 확인코드'를 확인하고, 상기 확인전문에 매칭된 오쏘리티노드식별정보들의 수를 이용하여 '상기 프라이빗블록식별정보에 매칭된 확인전문'을 전송한 프라이빗피어노드(이하 "동의프라이빗피어노드"라 한다)들의 수를 파악하고, '상기 동의프라이빗노드들의 수'가 소정의 프라이빗블록체인네트웍 합의정족수를 충족하는지 판단하는 단계; 상기 판단이 긍정적인 각 오쏘리티노드들의 프라이빗분산원장에서 상기 프라이빗블록식별정보에 매칭하여 소정의 프라이빗블록체인네트웍합의코드를 저장하는 단계; 소정의 퍼블릭블록 생성주기에 따라 오쏘리티노드들의 각 프라이빗분산원장DB에서 소정의 프라이빗블록체인네트웍합의코드에 매칭된 프라이빗블록헤더들 중 퍼블릭블록체인네트웍합의코드가 매칭되지 않은 프라이빗블록헤더들을 추출하고, '상기 추출된 프라이빗블록헤더들'의 루트해시값을 산출하는 단계; 퍼블릭블록체인네트웍상의 직전퍼블릭블록ID와 상기 루트해시값을 포함하는 소정의 퍼블릭블록헤더를 생성하는 단계; '퍼블릭블록체인네트웍상의 피어노드들'로 상기 퍼블릭블록헤더를 퍼블빅블록으로서 전송하는 단계; 상기 퍼블릭블록을 수신한 퍼블릭블록체인네트웍상의 피어노드들이 각자 '퍼블릭블록체인네트웍상의 자신의 피어노드들'에게 상기 퍼블릭블록을 전송하는 단계; 를 포함한다.
상기 실시 예에 따르면, '이미 퍼블릭블록체인네트웍에 분산공유된 프라이빗블록헤더'를 포함하는 프라이빗블록에 포함된 '특정 트랜잭션데이터나 전자서명'이 사후에 조작되면, '상기 조작된 트랜잭션데이터나 전자서명'을 포함한 프라이빗블록의 블록헤더의 해시값이 변경되게 되고, 그 결과 상기 프라이빗블록의 직후 프라이빗블록의 블록헤더에 포함된 '상기 조작전 프라이빗블록의 블록헤더의 해시값'과 상충되게 되고, '상기 직후 프라이빗블록의 블록헤더'에 포함된 직전 프라이빗블록의 블록헤더의 해시값을 상기 상충 없도록 조작한다 하더라도, 그 조작된 블록의 직후 블록의블록헤더에 포함된 '직전블록헤더의 해시값'과 다시 상충되게 된다. 따라서, 상기 조작된 '트랜잭션데이터나 전자서명'이 포함된 프라이빗블록 이후의 모든 프라이빗블록을 모두 조작하지 않는 한 상기 조작은 드러나게 된다. 더욱이 상기 조작된 블록부터 그 이후의 모든 프라이빗블록의 블록헤더는 모든 퍼블릭블록체인 노드들에 분산공유되어 있기에, 상기 퍼블릭블록체인 노드들의 합의정족수에 해당하는 노드들에서 상기 블록헤더들을 모두 조작한다는 것은 사실상 불가능하다. 따라서, 상기 실시예에 의하면, 퍼블릭블록체인 방법을 적용하는 실시예에서와 같이 "공증인조작위험불편"이 감축되며, 프라이빗블록체인 방법을 적용하는 실시예에서 따르던 "대표자간담합조작위험불편"도 감축된다.
그러면서도 각 트랜잭션데이터가 프라이빗블록 생성주기에 따라 제한된 수의 오쏘리티노드들 중 합의정족수에 해당하는 오쏘리티노드들만 합의하면 합의가 확정되기에, 대표참가자간 합의에 의해 합의시간과 합의비용을 감축하는 프라이빗블록체인 방법을 적용하는 실시예에서와 같이 "저속도불편"과 "고비용불편"이 완화된다.
또한 제한된 수의 오쏘리티노드들만 모든 트랜잭션데이터를 저장하고, 나머지 퍼블릭블록체인네트웍 참가자들은 각 프라이빗블록의 블록헤더만 분산저장하면 되기에, "필요용량무제한증가불편"도 완화된다.
그러면서도, 트랜잭션데이터에 포함되어야 할 거래정보 중, 거래당사자식별정보를 제외한 모든 거래정보는, 특정 거래당사자의 공개키로 암호화되어 포함되기에, 상기 공개키에 매칭되는 비밀키로만 복호하 가능해져, 상기 비밀키 소유자인 거래당사자 외에게는 거래정보가 노출되지 않게 되어 "프라이버시침해불편"도 감축된다. 그러면서도 '동일한 거래요지를 거래상대방 각자의 공개키로 암호화여 포함하는 트랜잭션데이터 쌍'을 상기 트랜잭션데이터에 대한 '상기 거래상대방의 전자서명'과 매칭하여 각자 보관하게 되기에, 필요 시 자신의 비밀키로 상기 거래요지를 복호화하여 거래내용을 입증할 수 있게 된다.
도 1은 본 발명의 일 실시예에 따른, 하이브리드블록체인 이용한 존재증명 방법을 구현하기 위한 장치의 블록도다.
도 2는 본 발명의 하이브리드블록체인 이용한 존재증명 방법의 바람직한 일 실시예에서, 본 발명의 참가자가 자신의 참가자단말에 필요한 정보를 미리 저장해 두는 동작 일 실시예를 설명한 도면이다.
도 3은 본 발명의 하이브리드블록체인 이용한 존재증명 방법의 바람직한 일 실시예에서, 본 발명의 하이브리드블록체인네트웍에 참가하는 임의의 참가자가 동 하이브리드블록체인네트웍상에 자신의 실명ID를 등록하는 동작 일 실시예를 설명한 도면이다.
도 4는 본 발명의 하이브리드블록체인 이용한 존재증명 방법의 바람직한 일 실시예에서, '본 발명의 오쏘리티노드 중 하나이상에 회원으로 가입한 소정의 참가자'가 '본 발명의 오쏘리티노드 중 어디에도 회원으로 가입하지 않은 소정의 참가자'에게 전송하는 문서에 대한 증빙을 본 발명의 하이브리드블록체인네트웍에 분산 저장하는 동작 일 실시예를 설명한 도면이다.
도 5는 본 발명의 하이브리드블록체인 이용한 존재증명 방법의 바람직한 일 실시예에서, '본 발명의 오쏘리티노드 중 하나이상에 회원으로 가입한 소정의 참가자'가 '본 발명의 오쏘리티노드 중 어디에도 회원으로 가입하지 않은 소정의 참가자'로부터 수신하는 문서에 대한 증빙을 본 발명의 하이브리드블록체인네트웍에 분산 저장하는 동작 일 실시예를 설명한 도면이다.
도 6은 본 발명의 하이브리드블록체인 이용한 존재증명 방법의 바람직한 일 실시예에서, 본 발명의 참가자단말을 보유한 자간 공증이 필요 없는 통신내용을, 본 발명의 장치를 이용하여, 서로 보안을 유지하면서도 편리하게 통신하는 동작 일 실시예를 설명한 도면이다.
도 7 내지 도 9는 본 발명의 하이브리드블록체인 이용한 존재증명 방법의 바람직한 일 실시예에서, '프라이빗블록체인계정을 보유한 오쏘리티노드'의 회원이며 퍼블릭블록체인계정을 보유한 참가자들간 익명으로 합의한 기록을 본 발명의 하이브리드블록체인네트웍에 익명으로 안전하게 분산 저장하는 동작 일 실시예를 설명한 도면이다.
도 10은 본 발명의 하이브리드블록체인 이용한 존재증명 방법의 바람직한 일 실시예에서, '프라이빗블록체인계정을 보유한 오쏘리티노드'의 회원이며 퍼블릭블록체인계정을 보유한 참가자들간 익명으로 합의한 기록을 본 발명의 하이브리드블록체인네트웍에 익명으로 안전하게 분산 저장하는 동작 다른 일 실시예를 설명한 도면이다.
도 11 내지 도 14는 본 발명의 하이브리드블록체인 이용한 존재증명 방법의 바람직한 일 실시예에서, '프라이빗블록체인계정을 보유한 오쏘리티노드'의 회원이며 퍼블릭블록체인계정을 보유한 참가자들간 실명으로 합의한 기록을 본 발명의 하이브리드블록체인네트웍에 익명으로 안전하게 분산 저장하는 동작 일 실시예를 설명한 도면이다.
도 15는 본 발명의 하이브리드블록체인 이용한 존재증명 방법의 바람직한 일 실시예에서, '프라이빗블록체인계정을 보유한 오쏘리티노드'의 회원이며 퍼블릭블록체인계정을 보유한 참가자들간 실명으로 합의한 기록을 본 발명의 하이브리드블록체인네트웍에 익명으로 안전하게 분산 저장하는 동작 다른 일 실시예를 설명한 도면이다.
도 16 내지 도 20은 본 발명의 하이브리드블록체인 이용한 존재증명 방법의 바람직한 일 실시예에서, 블록체인계정이 없는 참가자간 익명으로 합의한 기록을 본 발명의 하이브리드블록체인네트웍에 익명으로 안전하게 분산 저장하는 동작 일 실시예를 설명한 도면이다.
도 21 내지 도 22는 본 발명의 하이브리드블록체인 이용한 존재증명 방법의 바람직한 일 실시예에서, 블록체인네트웍에 저장된 익명의 트랜잭션데이터를, 상기 트랜잭션의 당사자 중 일방이 실명화하는 동작 일 실시예를 설명한 도면이다.
도 23은 본 발명의 하이브리드블록체인 이용한 존재증명 방법의 바람직한 일 실시예에서, 블록체인네트웍에 저장된 익명의 트랜잭션데이터를, 상기 트랜잭션의 당사자 중 일방이 아니면서 실명화 권한을 가진 자가 실명화하는 동작 일 실시예를 설명한 도면이다.
이하 첨부된 도면을 참조하여 기술되는 바람직한 실시예를 통하여 본 발명을 상세히 기술하기로 한다.
본 발명의 실시예는 본 발명의 사상 및 범위를 벗어나지 않는 한도 내에서 다양하게 변경될 수 있다. 후술하는 상세한 설명은 본 발명을 한정하기 위한 것이 아니며, 상세한 설명에서 사용된 용어들은 가독성 또는 설명의 편리함을 위해 선택된 것이다.
또한 본 명세서에서 인용되는 "공증전송대상문서"란 둘 이상의 본 발명의 오쏘리티노드에 구성된 프라이빗분산원장들에 분산 저장되는 전송대상문서를 의미한다.
또한 본 명세서에서 인용되는 "노드"란, 소정의 트랜잭션데이터를 작성할 수 있고, 하나이상의 트랜잭션데이터를 이용하여 소정의 블록을 작성하여 하나이상의 피어노드로 전송할 수 있고, 피어노드로부터 수신한 블록을 검증하고 저장할 수 있는 전산장치를 의미한다.
또한 본 명세서에서 인용되는 "루트해시값"이란 소정의 블록에 포함되는 각 트랜잭션데이터의 해시값들이 머클트리구조 또는 기타 소정의 구조로 압축된 해시값을 의미한다.
또한 본 명세서에서 인용되는 "문서"란 텍스트, 도면, 이미지, 음성, 동영상 중 하나이상으로 구성되고 전송 가능한 단위의 정보를 의미한다. 따라서, 상대방에게 전송 가능한 계약서 문안, 유언장 문안, 청약서 문안, 통화녹음, 녹화동영상 등은 본 발명에서의 "문서"의 일 실시예들이 될 수 있다.
또한 본 명세서에서 인용되는 "마스터패스워드"란 사용자가 선정하여 암기하는 패스워드로서, 은행서버나 송금서버와 같은 외부 장치에는 물론 고객단말이나 세상 누구에게도 노출하거나 저장할 필요 없는 패스워드를 의미한다.
또한 본 명세서에서 인용되는 "송신자식별정보"와 "수신자식별정보"란 각각 송신자와 수신자를 식별할 수 있는 정보를 통칭한다. 따라서 송신자 및 수신자 각각의 블록체인계정식별정보와 통신ID는 각각 "송신자식별정보"와 "수신자식별정보"의 일 실시예들이 될 수 있다.
또한 본 명세서에서 인용되는 "실명확인서버"란 참가자의 실명ID를 보유하고 있으며 소정의 방법으로 상기 참가자의 실명ID를 상기 참가자 또는 기타 정당한 권한을 가진 자의 신청에 따라 제공하는 기관이 상기 실명ID 제공업무를 운영하기 위해 운영하는 전산시스템을 의미한다.
또한 본 명세서에서 인용되는 "실명ID"란 각 거래자의 실지명의를 식별하기 위한 정보를 의미한다. 따라서 주민등록번호, 운전면허번호, 여권번호, 법인번호, 사업자번호, 외국인등록번호 등은 실명번호의 일 실시예가 될 수 있다.
또한 본 명세서에서 인용되는 "일반전송대상문서"란 본 발명의 "공증전송대상문서"가 아닌 전송대상문서를 의미한다.
또한 본 명세서에서 인용되는 "입력"이란 소정의 시스템에 소정의 정보가 입력되는 동작을 총칭한다. 따라서, 상기 시스템의 입력부를 이용하여 소정의 정보가 키인되거나 선택되는 동작과 상기 시스템의 송수신부를 이용하여 소정의 전송정보가 수신되는 동작은 상기 "입력"의 일 실시예들이 될 수 있다.
또한 본 명세서에서 인용되는 "오쏘리티노드"란 소정의 프라이빗블록체인네트웍을 구성하는 노드들 중 상기 노드들을 운영하는 자들로부터 '상기 노드들이 작성한 블록'에 대해 검증할 권한을 부여받은 자가 운영하는 노드를 의미한다.
또한 본 명세서에서 인용되는 "전송대상데이터"란 트랜잭션데이터의 송신자가 트랜잭션데이터의 수신자에게 전달하고자 하는 정보를 의미한다. 본 발명의 부가적 일 양상에 의하면 상기 전송대상데이터는 하나이상의 정형화된 문서를 포함할 수 있고, 상기 포함되는 정형화된 문서로는 상대방이나 제3자로부터 수신한 '트랜잭션데이터와 전자서명 중 하나이상'을 포함할 수도 있다.
또한 본 명세서에서 인용되는 "전송데이터"란 본 명세서에서 인용되는 "트랜잭션데이터"에서 송신자식별정보와 수신자식별정보를 제외한 정보를 의미한다. 따라서 트랜잭션데이터의 송신자가 트랜잭션데이터의 수신자에게 전송대상데이터를 암호화하지 않고 전송하는 경우 전송대상데이터 자체가 전송데이터가 되며, 상기 송신자와 수신자가 약속한 소정의 방법으로 전송대상데이터를 암호화하여 전송하고 복호화하여 수신하는 경우 '상기 소정의 방법으로 암호화한 전송대상데이터'가 전송데이터가 된다.
또한 본 명세서에서 인용되는 "전송대상문서"란 전송대상데이터를 구성하는 소정 양식의 문서를 의미한다.
또한 본 명세서에서 인용되는 "직전블록"이란 소정의 블록체인 네트웍에서 생성되는 블록이 직전블록으로 인용하고자 하는 블록을 의미한다.
또한 본 명세서에서 인용되는 "직전블록ID"란 소정의 블록체인 네트웍에서 직전블록으로 인용되는 블록을 다른 블록과 식별하기 위해 상기 블록에 부여하는 소정의 정보를 의미한다. 따라서 직전블록의 일련번호와 '직전블록의 블록헤더의 해시값'은 각각 "직전블록ID"의 일 실시예가 될 수 있다.
또한 본 명세서에서 인용되는 "참가자"란 본 발명의 블록체인네트웍 접속에 필요한 소정의 전산장치를 구비한 자를 의미한다.

또한 본 명세서에서 인용되는 "청약대상문서"란 청약자와 피청약자가 합의할 당사자로 명기된 문서와 이미지파일과 음성파일과 영상파일을 총칭한다. 따라서 청약자와 피청약자가 계약당사자로 명기된 계약서와 '청약자를 발신자로 명기하고 피청약자를 수신자로 명기한 제안서'와 '청약자를 신청인으로 명기하고 피청약자를 피신청인으로 명기한 참여 신청서'는 그 신청서의 형식이 텍스트 위주의 문서이건, 이미지파일이건, 음성파일이건, 영상파일이건 상기 "청약대상문서"의 이 실시예들이 될 수 있다.
또한 본 명세서에서 인용되는 "친구별칭"이란 특정 수취자를 다른 수취자와 식별하기 위해 송금인이 부여한 식별정보를 의미한다. 따라서, 성명, 상호, 별명 등 모바일폰에서 설치된 연락처앱에 전화번호와 매칭하여 저장하는 친구별칭은 상기 친구별칭의 일 실시예가 될 수 있다.
또한 본 명세서에서 인용되는 "타임스탬프"란 소정의 동작이 발생하는 시점을 식별하기 위해 상기 동작이 발생한 시점의 일자와 시간 등을 소정 양식으로 표시한 정보를 의미한다. 따라서 특정 단계가 동작되는 시점에 타이머가 출력하는 일자와 시분초를 연속해서 나열한 정보는 상기 타임스탬프의 일 실시예가 될 수 있다.
또한 본 명세서에서 인용되는 "통신ID"란 전자적으로 통신하기 위해 호출하는 식별정보를 총칭한다. 따라서, 전화번호, 전자메일주소, 메신저서비스ID 등은 상기 통신ID의 일 실시예들이 될 수 있다.
또한 본 명세서에서 인용되는 "트랜젝션데이터"란 송신자식별정보와 수신자식별정보와 소정의 전송대상데이터를 포함하는 정보로서 본 발명에서의 존재증명 대상이 되는 정보를 의미한다. 따라서 본 명세서에서 인용되는 "트랜잭션데이터"와 "실명확인트랜잭션데이터"와 "실명화신청트랜잭션데이터" 및 "공증신청트랜잭션데이터"는 상기 "트랜젝션데이터"의 일 실시예들이 될 수 있다.
또한 본 명세서에서 인용되는 "퍼블릭블록체인네트웍"이란 소정의 시스템만 구비하면 제한없이 참여할 수 있는 블록체인네트웍을 의미하고, "프라이빗블록체인네트웍"이란 소정의 권한을 가진 집단이 참여를 허락하는 주체만 참여할 수 있는 블록체인네트웍을 의미하며, "블록체인"이란 퍼블릭블록체인과 프라이빗블록체인을 통칭한다.
또한 본 명세서에서 인용되는 "피어노드"란 특정 노드 입장에서, 자신이 속한 소정의 블록체인네트웍에서 '자신이 작성한 블록'을 전파하기 위해, 상기 블록체인네트웍을 구성하는 노드들 중 특별히 접속주소를 저장하고 있는 상대방 노드를 의미한다.
또한 본 명세서에서 인용되는 "OO박스"란 본 발명의 거래자단말의 출력부에 출력된 화면영역 중"OO"을 의미하는 정보가 표기된 영역으로서, '상기 영역을 터치하거나 클릭하는 등의 동작'으로 "OO박스"를 선택하는 정보를 입력할 수 있도록 구성된 영역을 의미한다. 따라서 OO앱을 선택하는 정보를 입력할 수 있도록 구성된 아이콘 영역, "OO"을 선택하는 정보를 입력할 수 있도록 구성된 메뉴영역, 박스영역, 버튼영역 등은 상기 "OO박스"의 일실시예들이 될 수 있다.

또한 본 명세서에서 인용되는 "OO식별정보"란 특정 "OO"을 다른 "OO"과 구분하기 위해 이용될 수 있는 정보를 총칭한다. 따라서 '송신자나 수신자나 청약자나 피청약자나 합의자나 오쏘리티노드 등 특정 동작을 하는 주체'의 '블록체인계정식별정보나 통신ID나 회원ID'는 그 주체를 다른 주체와 구분하기 위해 이용되는 정보가 될 수 있기에 그 주체의 식별정보가 될 수 있다. 또한 '트랜잭션데이터나 특정 문서'의 해시값은 그 트랜잭션데이터나 그 문서를 다른 트랜잭션데이터나 다른 문서와 구분하기 위해 이용될 수 있기에 그 트랜잭션데이터나 그 문서의 식별정보가 될 수 있다.
또한 본 명세서에서 "OO와 매칭되는 정보"란 "OO"를 추출할 수 있게 하는 정보를 의미한다. 따라서 "OO" 자체도 "OO와 매칭되는 정보"의 일 실시예가 될 수 있다.
또한 본 명세서에서 "OO을 선택한다" 함은 거래자단말의 출력부에 출력된 영역 중 "OO"이 출력된 영역을 터치하거나 클릭하는 등의 동작으로 사용자가 상기 "OO"을 선택하는 정보를 입력하는 것을 의미한다.
명세서에서 인용되는 "OO을 입력한다" 함은 소정의 입력란에 "OO"을 입력하는 동작과 소정의 박스들 중에서 "OO박스"를 선택하는 동작을 통칭한다.
이하 하이브리드블록체인 이용한 존재증명 방법을 설명한다.
도 1은 본 발명의 일 실시예에 따른, 하이브리드블록체인 이용한 존재증명 방법을 구현하기 위한 장치의 블록도다.
제1오쏘리티노드(110)와 제2오쏘리티노드(210)는 각각 상대방 오쏘리티노드를 포함한 오쏘리티노드들과 참가자단말(120, 220)들과 실명확인서버들(130, 230) 및 통신서버들(140, 240)들과 통신망을 구비할 수 있으며, 각각 회원DB(111, 211)와 프라이빗분산원장(112, 212)과 퍼블릭분산원장(113, 213)와 대기트랜잭션DB(114, 214)와 프라이빗피어DB(117, 217) 및 퍼블릭피어DB(118, 218)를 구성요소로 포함한다.
상기 회원DB(111, 211)에는 소정의 회원ID에 매칭하여 통신ID와 퍼블릭블록체인계정식별정보와 공개키와 실명확인기관식별정보가 저장된다. 본 발명의 부가적 일 양상에 의하면 상기 회원ID는 '상기 통신ID와 상기 퍼블릭블록체인계정식별정보 중 하나이상'과 일치할 수 있다. 본 발명의 부가적 일 양상에 의하면 상기 회원ID로는 본 명세서의 참가자단말 소유자에게 부여한 식별정보와, 소정의 실명확인서버에게 부여한 식별정보를 포함할 수 있다.
본 발명의 부가적 일 양상에 의하면 상기 실명확인기관식별정는 '실명확인기관의 퍼블릭블록체인계정식별정보'일 수 있다.
상기 프라이빗분산원장(112, 212)에는 소정의 프라이빗블록들이 상기 각 프라이빗블록의 식별정보에 매칭하여 저장된다.
본 발명의 부가적 일 양상에 의하면, 상기 프라이빗분산원장(112, 212)은 헤더서브DB(미도시)와 트랜잭션데이터서브DB(미도시)를 구성한다.
상기 헤더서브DB(미도시)에는 상기 각 프라이빗블록의 블록헤더가 '상기 프라이빗블록의 식별정보'와 매칭하여 저장된다.
상기 트랜잭션데이터서브DB(미도시)에는 '상기 프라이빗블록의 식별정보'와 매칭하여 '상기 프라이빗블록의 식별정보'에 해당하는 프라이빗블록에 포함된 트랜잭션데이터들이 '상기 각 트랜잭션데이터의 식별정보' 및 '상기 트랜잭션데이터에 매칭된 타임스탬프 및 전자서명'과 매칭하여 저장된다. 본 발명의 부가적 일 양상에 의하면 상기 각 '트랜잭션데이터의 식별정보'에 매칭하여 프라이빗블록체인네트웍합의코드와 퍼블릭블록체인네트웍합의코드 중 하나이상이 저장될 수 있다.
상기 퍼블릭분산원장(113, 213)에는 퍼블릭블록체인네트웍에서 분산저장되는 퍼블릭블록들이 저장된다.
상기 대기트랜잭션DB(114, 214)에는 소정의 트랜잭션데이터가 '소정의 타임스탬프와 상기 트랜잭션데이터의 식별정보와 소정의 전자서명 중 하나이상'과 매칭하여 저장된다. 본 발명의 부가적 일 양상에 의하면, 상기 트랜잭션데이터의 식별정보는 상기 트랜잭션데이터의 해시값이다. 본 발명의 또다른 부가적 일 양상에 의하면, 상기 트랜잭션데이터에는 본 명세서에서 인용되는 '실명확인트랜잭션데이터와 실명화신청트랜잭션데이터 및 공증신청트랜잭션데이터'가 포함될 수 있다.
상기 프라이빗피어DB(117, 217)에는 소정의 프라이빗블록체인네트웍에서 상기 오쏘리티노드(110, 210)의 프라이빗피어노드에 해당되는 노드들의 식별정보에 매칭하여 상기 각 노드의 접속주소가 저장된다.
상기 퍼블릭피어DB(118, 218)에는 소정의 퍼블릭블록체인네트웍에서 상기 오쏘리티노드(110, 210)의 피어노드에 해당되는 노드들의 식별정보에 매칭하여 상기 각 노드의 접속주소가 저장된다.
제1참가자단말(120)과 제2참가자단말(220)는 각각 하나이상의 오쏘리티노드(110, 210)와 하나이상의 실명확인서버(130, 230) 및 하나이상의 통신서버(140, 240)와 통신망을 구비할 수 있으며, 각각 연락처DB(121, 221)와 통신ID메모리(122, 222)와 비밀키저장부(123, 223)와 증빙DB(124, 224)와 일회용키생성부(125, 225)와 일회용키DB(126, 226) 및 합의DB(129, 229)를 구성요소로 포함한다.
상기 연락처DB(121, 221)는 별칭필드와 ID필드와 패스워드필드와 퍼블릭블록체인계정식별정보필드와 공개키필드와 통신ID필드와 일회용시드필드가 구성된다. 본 발명의 부가적 일 양상에 의하면 상기 별칭필드에는 '소정의 참가자의 별칭'과 '소정의 실명확인서버의 식별정보'도 저장될 수 있다.
상기 별칭필드에 '소정의 실명확인서버의 식별정보'가 저장되는 경우, 상기 '실명확인서버의 식별정보'에 매칭되는 ID필드와 패스워드필드에는 '상기 참가자단말(120, 220) 소유자가 상기 실명확인서버에 등록한, 회원ID와 패스워드'가 저장된다. 본 발명의 부가적 일 양상에 의하면 상기 패스워드는 암호화되어 저장된다.
상기 별칭필드에 상기 참가자단말(120, 220) 소유자의 별칭이 저장되는 경우, 상기 소유자의 별칭에 매칭된 '패스워드필드와 퍼블릭블록체인계정식별정보필드와 공개키필드와 통신ID필드'에는 각각 상기 소유자의 '인증서패스워드와 퍼블릭블록체인계정식별정보와 공개키와 통신ID'가 저장된다. 본 발명의 부가적 일 양상에 의하면 상기 인증서패스워드는 암호화되어 저장된다.
상기 통신ID메모리(122, 222)에는 해당하는 통신서버(140, 240)에서 상기 참가자단말(120, 220) 소유자에게 부여한 소정의 통신ID가 저장된다.
상기 비밀키저장부(123, 223)에는 상기 참가자단말(120, 220) 소유자의 비밀키가 암호화되어 저장될 수 있다.
상기 증빙DB(124, 224)는 소정의 발신서브DB(미도시)와 수신서브DB(미도시)를 구성한다.
상기 발신서브DB(미도시)에는 '상기 참가자단말(120, 220) 소유자가 발신한 트랜잭션데이터'가 '상기 트랜잭션데이터에 매칭되는, 식별정보와 타임스탬프 및 전자서명'과 매칭하여 저장된다. 본 발명의 부가적 일 양상에 의하면 상기 트랜잭션데이터에는 소정의 합의대상트랜잭션데이터와 공증신청트랜잭션데이터와 실명화신청트랜잭션데이터 중 하나이상이 포함될 수 있다. 본 발명의 부가적 일 양상에 의하면 상기 소유자가 발신한 트랜잭션데이터에 매칭되는 실명확인트랜잭션데이터도 '상기 실명확인트랜잭션데이터에 매칭되는, 식별정보와 타임스탬프 및 전자서명'과 매칭하여 저장된다.
상기 수신서브DB(미도시)에는 '상기 참가자단말(120, 220) 소유자가 수신한 트랜잭션데이터'가 '상기 트랜잭션데이터에 매칭되는, 식별정보와 타임스탬프 및 전자서명'과 매칭하여 저장된다. 본 발명의 부가적 일 양상에 의하면 상기 소유자가 수신한 트랜잭션데이터에 매칭되는 실명확인트랜잭션데이터도 '상기 실명확인트랜잭션데이터에 매칭되는, 식별정보와 타임스탬프 및 전자서명'과 매칭하여 저장된다. 본 발명의 부가적 일 양상에 의하면 상기 소유자가 수신한 트랜잭션데이터에 매칭되는 공증전송대상문서도 '상기 공증전송대상문서의, 송신자통신ID 및 수신자통신ID'와 매칭하여 저장된다.
본 발명의 부가적 일 양상에 의하면 상기 '트랜잭션데이터의 식별정보'는 상기 트랜잭션데이터의 해시값이다.
본 발명의 다른 부가적 일 양상에 의하면 상기 각 서브DB에는 본 발명의 프라이빗블록헤더가 '해당하는 프라이빗블록식별정보'에 매칭하여 저장될 수도 있다.
상기 일회용키생성부(125, 225)는 랜덤하게 임의의 일회용키를 생성한다.
상기 일회용키DB(126, 226)에는 소정의 '트랜잭션데이터 또는 공증전송대상문서 또는 암호화된 청약대상문서'의 식별정보 및 타임스탬프에 매칭하여 소정의 일회용키가 저장된다. 본 발명의 부가적 일 양상에 의하면 상기 일회용키는 암호화된 상태로 저장된다.
상기 합의DB(129, 229)에는 소정의 청약대상문서가 '상기 청약대상문서의 식별정보'와 '상기 청약대상문서 작성자의 식별정보' 및 '상기 청약대상문서에 매칭되는 트랜잭션데이터의, 식별정보 및 타임스탬프'에 매칭하여 저장된다.
본 발명의 부가적 일 양상에 의하면 상기 청약대상문서는 암호화된 상태로 저장될 수 있고, 이 경우 상기 청약대상문서의 식별정보는 상기 '암호화된 청약대상문서'의 식별정보가 저장될 수 있다.
본 발명의 부가적 일 양상에 이하면, 상기 '청약대상문서에 매칭되는 트랜잭션데이터의 식별정보'에 매칭하여 소정의 합의트랜잭션데이터와'상기 합의트랜잭션데이터의 식별정보'와 '상기 합의트랜잭션데이터에 매칭되는, 타임스탬프와 전자서명과 합의자의 실명ID'가 저장될 수 있고, 상기 실명ID에 매칭되는 실명확인기관식별정보가 저장될 수 있다.
본 발명의 부가적 일 양상에 이하면, 소정의 공증전송대상문서도 '상기 공증전송대상문서의 식별정보'와 '상기 공증전송대상문서의 상대방식별정보'와 '상기 공증전송대상문서에 매칭되는 트랜잭션데이터의, 식별정보 및 타임스탬프'에 매칭하여 저장될 수 있다.
제1실명확인서버(130)와 제2실명확인서버(230)는 각각 하나이상의 오쏘리티노드(110, 210)와 하나이상의 참가자단말(120, 220) 및 하나이상의 통신서버(140, 240)와 통신망을 구비할 수 있으며, 각각 실명DB(131, 231)와 OTP생성부(132, 232) 및 증빙DB(134, 234)를 구성요소로 포함한다.
상기 실명DB(131, 231)에는 소정의 회원ID에 매칭하여 실명ID와 '패스워드의 해시값'과 일회용시드와 공개키와 퍼블릭블록체인계정식별정보와 통신ID가 저장될 수 있다. 본 발명의 부가적 일 양상에 의하면 특정 회원의 회원ID는 상기 회원ID와 매칭되는 '실명ID와 퍼블릭블록체인계정식별정보와 통신ID 중 하나이상'과 일치할 수 있다.
상기 OTP생성부(132, 232)는 램덤하게 임의의 OTP를 산출한다.
상기 증빙DB(134, 234)에는 소정의 타임스탬프에 매칭하여, 상기 실명확인서버(130, 230)가 수신한 '실명확인신청데이터와 실명화신청트랜잭션데이터와 당사자확인트랜잭션데이터와 당사자외권한확인트랜잭션데이터'가 상기 '실명확인신청데이터와 실명화신청트랜잭션데이터와 당사자확인트랜잭션데이터와 당사자외권한확인트랜잭션데이터'의 '식별정보와 타임스탬프와 전자서명'에 매칭하여 저장되고, 상기 실명확인서버(130, 230)가 발신한 실명확인트랜잭션데이터가 '식별정보와 타임스탬프 및 전자서명'과 매칭하여 저장된다.
제1통신서버(140)와 제2통신서버(240)는 각각 하나이상의 오쏘리티노드(110, 210)와 하나이상의 참가자단말(120, 220) 및 하나이상의 실명확인서버(130, 230)와 통신망을 구비할 수 있으며, 각각 가입자DB(141, 241)와 노드DB(142, 242)와 통신기록DB(143, 243)와 증빙DB(144, 244)를 구성요소로 포함한다.
상기 가입자DB(141, 241)에는 각 가입자의 식별정보에 매칭하여 '상기 각 가입자에게 부여한통신ID'와 '상기 가입자의 공개키'와 실명확인서버식별정보가 저장된다. 본 발명의 부가적 일 양상에 이하면 상기 가이자의 식별정보는 상기 각 통신서버(140, 240)가 각 가입자에게 부여한 통신ID다.
상기 노드DB(142, 242)에는 소정의 노드식별정보에 매칭하여 퍼블릭블록체인계정식별정보와 공개키가 저장된다. 본 발명의 부가적 일 양상에 의하면, 상기 노드식별정보로 소정의 통신서버의 식별정보와 소정의 오쏘리티노드의 식별정보와 소정의 실명확인서버의 식별정보가 포함될 수 있다.
상기 통신기록DB(143, 243)는 각 가입자의 통신ID별로 통신기록서브DB(미도시)를 구성한다.
상기 각 통신ID별 통신기록서브DB(미도시)에는 소정의 타임스탬프에 매칭하여 송신자통신ID 와 수신자통신ID와 '소정의 전송대상이 되는 문서'와 '상기 전송대상이 되는 문서의 식별정보'가 저장된다. 본 발명의 부가적 일 양상에 의하면, 상기 '전송대상이 되는 문서'로는 본 명세서에서 정의된 '트랜잭션데이터와 전송데이터와 전송대상문서 등'이 포함될 수 있다. 본 발명의 부가적 일 양상에 의하면, 상기 '전송대상이 되는 문서'로서 '소정의 트랜잭션데이터에서 추출된 전송대상문서'가 저장되는 경우, 상기 전송대상문서와 매칭하여 '상기 트랜잭션데이터의, 식별정보 및 타임스탬프'가 더 저장될 수 있다.
증빙DB(144, 244)에는 발신접수증빙서브DB(미도시)와 발신서브DB(미도시)와 수신서브DB(미도시)가 구성된다.
발신접수증빙서브DB(미도시)에는 소정의 타임스탬프에 매칭하여'소정의 공증전송신청정보와 매칭하여 수신된, 송신자통신ID와 수신자통신ID와 전자서명이 매칭된 공증전송대상문서'가 저장된다. 또한 소정의 타임스탬프에 매칭하여, '소정의 트랜잭션데이터'가 '상기 트랜잭션데이터의 식별정보' 및 '상기 트랜잭션데이터의, 작성자 식별정보 및 전자서명'이 저장될 수 있고, '소정의 실명확인트랜잭션데이터'가 '상기 실명확인트랜잭션데이터의 식별정보' 및 '상기 실명확인트랜잭션데이터의, 작성자 식별정보 및 전자서명'이 저장될 수 있다.
발신서브DB(미도시)에는 소정의 트랜잭션데이터가 '상기 트랜잭션데이터의 식별정보 및 소정의 타임스탬프와 전자서명'이 저장된다.
수신서브DB(미도시)에는 소정의 타임스탬프에 매칭하여, 소정의 트랜잭션데이터와 '상기 트랜잭션데이터의 식별정보' 및 '상기 트랜잭션데이터 작성자의 전자서명'이 저장된다.
도 2는 본 발명의 하이브리드블록체인 이용한 존재증명 방법의 바람직한 일 실시예에서, 본 발명의 참가자가 자신의 참가자단말에 필요한 정보를 미리 저장해 두는 동작 일 실시예를 설명한 도면이다.
단계 105에서 제1참가자가 제1참가자단말(120)의 입력부(미도시)를 이용하여 소정의 연락처정보등록박스를 선택하면, 제1참가자단말(120)의 출력부(미도시)에 친구별칭입력란과 통신ID입력란과 퍼블릭블록체인계정식별정보입력란과 ID입력란과 패스워드입력란과 공개키입력란과 마스터패스워드입력란과 확인박스를 포함하는 소정의 정보입력창(이하 "연락처정보등록창"이라 한다)이 출력된다.
단계 110에서 제1참가자가 제1참가자단말(120)의 입력부(미도시)를 이용하여 상기 친구별칭입력란에 제1참가자식별정보를 입력하고, 상기 통신ID입력란에 제1참가자의 통신ID(이하 "제1참가자통신ID"라 한다)를 입력하고, 퍼블릭블록체인계정식별정보입력란에 제1참가자의 퍼블릭블록체인계정식별정보(이하 "제1참가자퍼블릭블록체인계정식별정보"라 한다)를 입력하고, 상기 패스워드입력란에 제1참가자의 인증서패스워드를 입력하고, 상기 공개키입력란에 제1참가자의 공개키를 입력하고 상기 마스터패스워드입력란에 제1참가자의 마스터패스워드를 입력하고 확인박스를 선택한다.
단계 115에서 제1참가자단말(120)에서 '단계 110에서 입력된 마스터패스워드'를 암호화키로 상기 '제1참가자의 인증서패스워드'를 암호화하고, 연락처DB(121)의 소정의 레코드에서, 별칭필드에 상기 제1참가자식별정보가 저장되고, 통신ID필드에 상기 제1참가자통신ID가 저장되고, 퍼블릭블록체인계정식별정보필드에 상기 제1참가자퍼블릭블록체인계정식별정보가 저장되고, 패스워드필드에 '상기 암호화된, 제1참가자의 인증서패스워드'가 저장되고, 공개키필드에 상기 제1참가자의 공개키가 저장되고, 출력부(미도시)에 추가등록박스 및 등록종료박스가 출력된다.
단계 120에서 제1참가자가 제1참가자단말(120)의 입력부(미도시)를 이용하여 상기 추가등록박스를 선택하면, 제1참가자단말(120)의 출력부(미도시)에 '단계 105에서 출력되었던, 연락처정보등록창'이 출력된다.
단계 125에서 제1참가자가 제1참가자단말(120)의 입력부(미도시)를 이용하여 상기 친구별칭입력란에 제2참가자별칭을 입력하고, 상기 통신ID입력란에 제2참가자의 통신ID(이하 "제2참가자통신ID"라 한다)를 입력하고, 퍼블릭블록체인계정식별정보입력란에 '제1참가자가 제2참가자로부터 공지의 방법으로 제공받은, 제2참가자의 퍼블릭블록체인계정식별정보'(이하 "제2참가자퍼블릭블록체인계정식별정보"라 한다)를 입력하고, 상기 공개키입력란에 '제1참가자가 제2참가자로부터 공지의 방법으로 제공받은, 제2참가자의 공개키'를 입력하고 확인박스를 선택한다.
단계 130에서 제1참가자단말(120)의 연락처DB(121)의 소정의 레코드에서, 별칭필드에 상기 제2참가자별칭이 저장되고, 통신ID필드에 상기 제2참가자통신ID가 저장되고, 퍼블릭블록체인계정식별정보필드에 상기 제2참가자퍼블릭블록체인계정식별정보가 저장되고, 공개키필드에 상기 제2참가자의 공개키가 저장되고, 출력부(미도시)에 추가등록박스 및 등록종료박스가 출력된다.
단계 120과 동일한 단계 135가 동작된다.
단계 140에서 제1참가자가 제1참가자단말(120)의 입력부(미도시)를 이용하여 상기 친구별칭입력란에 제1실명확인서버식별정보를 입력하고, 퍼블릭블록체인계정식별정보입력란에 '제1참가자가 제1실명확인서버부터 공지의 방법으로 제공받은, 제1실명확인서버의 퍼블릭블록체인계정식별정보'(이하 "제1실명확인서버퍼블릭블록체인계정식별정보"라 한다)를 입력하고, 상기 ID입력란에 '제1참가자가 제1실명확인서버(230)에 등록한 회원ID'(이하 "제1참가자회원ID"라 한다)를 입력하고, 상기 패스워드입력란에 '제1참가자가 제1실명확인서버(230)에 등록한 패스워드'(이하 "제1실명확인서버용패스워드"라 한다)를 입력하고, 상기 공개키입력란에 '제1참가자가 제1실명확인서버로부터 공지의 방법으로 제공받은, 제1실명확인서버의 공개키'를 입력하고 상기 마스터패스워드입력란에 제1참가자의 마스터패스워드를 입력하고 확인박스를 선택한다.
단계 145에서 제1참가자단말(120)에서 '단계 140에서 입력된 마스터패스워드'를 암호화키로 상기 '제1실명확인서버용패스워드'를 암호화하고, 연락처DB(121)의 소정의 레코드에서, 별칭필드에 상기 제1실명확인서버식별정보가 저장되고, 퍼블릭블록체인계정식별정보필드에 상기 제1실명확인서버퍼블릭블록체인계정식별정보가 저장되고, ID필드에 상기 제1참가자회원ID가 저장되고, 패스워드필드에 '상기 암호화된 제1실명확인서버용패스워드'가 저장되고, 공개키필드에 상기 제1실명확인서버의 공개키가 저장되고, 출력부(미도시)에 추가등록박스 및 등록종료박스가 출력된다.
단계 150에서 제1참가자가 제1참가자단말(120)의 입력부(미도시)를 이용하여 상기 등록종료박스를 선택하면, 연락처정보등록박스와 비밀키등록박스를 포함하는 소정의 메인화면이 출력된다.
단계 155에서 제1참가자가 제1참가자단말(120)의 입력부(미도시)를 이용하여 소정의 비밀키등록박스를 선택하면, 제1참가자단말(120)의 출력부(미도시)에 비밀키입력란과 마스터패스워드입력란과 확인박스를 포함하는 소정의 정보입력창(이하 "비밀키등록창"이라 한다)이 출력된다.
단계 160에서 제1참가자가 제1참가자단말(120)의 입력부(미도시)를 이용하여 상기 비밀키입력란에 제1참가자의 비밀키를 입력하고 상기 마스터패스워드입력란에 제1참가자의 마스터패스워드를 입력하고 확인박스를 선택하면, 상기 마스터패스워드를 암호화키로 상기 비밀키를 암호화하고, 상기 암호화된 비밀키를 비밀키저장부(123)에 저장하고, 상기 메인화면이 출력된다.
이상에서 제1참가자가 제1참가자단말(120)에 필요한 정보를 미리 저장해 두는 동작 일 실시예를 설명하였다. 제2참가자가 제2참가자단말(120)에 필요한 정보를 미리 저장해 두는 동작은, 관련 업계 전문가라면, 이상에서 설명한 동작으로부터 쉽게 유추할 수 있을 것이기에, 본 명세서에서 설명을 생략한다.
도 3은 본 발명의 하이브리드블록체인 이용한 존재증명 방법의 바람직한 일 실시예에서, 본 발명의 하이브리드블록체인네트웍에 참가하는 임의의 참가자가 동 하이브리드블록체인네트웍상에 자신의 실명ID를 등록하는 동작 일 실시예를 설명한 도면이다.
단계 205에서 제1실명확인서버(130)에 소정의 실명ID와 매칭하여 소정의 퍼블릭블록체인계정식별정보 및 소정의 통신ID가 입력되면, '상기 퍼블릭블록체인계정식별정보에 매칭되는 퍼블릭블록체인네트웍'에서 공지의 방법으로 상기 퍼블릭블록체인계정식별정보에 매칭되는 공개키가 검색되고, OTP생성부(132)가 램덤하게 임의의 OTP를 산출하고, 상기 산출된 OTP를 상기 공개키로 암호화하고, 상기 암호화된 OTP를 상기 통신ID에 매칭되는 제1참가자의 통신장치인 제1참가자단말(120)로 전송하고, 상기 통신ID에 매칭된 제1통신서버(140)로 상기 통신ID에 매칭하여 상기 실명ID를 전송한다.
본 발명의 부가적 일 양상에 의하면 단계 205가 동작되기 전, 제1참가자가 상기 제1실명확인서버(130)를 운영하는 제1실명확인기관에 소정의 방법으로 자신의 실명ID가 명기된 실명증표와 매칭하여 자신의 퍼블릭블록체인계정식별정보와 통신ID를 제시하면, 상기 제1실명확인기관에서 소정의 방법으로 상기 실명증표를 제시한 참가자가 상기 실명증표의 정당한 소지자인지 판단하고, 상기 판단이 긍정적인 경우 단계 205가 동작된다.
본 발명의 부가적 일 양상에 의하면 상기 실명확인기관은 주민등록증과 운전면허증과 여권 중하나이상을 발행하는 행정관청과 상기 실명증표를 이용하여 실명확인을 하는 금융기관과 실명확인업무를 전담하는 사업체 중 하나이다.
한편 본 발명의 다른 일 양상에 의하면 단계 205는, 제1실명확인서버(130)에서 제1참가자단말(120)로부터 상기 제1참가자의 실명증표 이미지와 소정의 통신ID와 소정의 퍼블릭블록체인계정식별정보 를 수신하는 단계; 상기 실명증표 이미지에서 소정의 실명ID를 추출하는 단계; '상기 퍼블릭블록체인계정식별정보에 매칭되는 퍼블릭블록체인네트웍'에서 공지의 방법으로 상기 퍼블릭블록체인계정식별정보에 매칭되는 공개키가 검색되는 단계; OTP생성부(132)가 램덤하게 임의의 OTP를 산출하는 단계; 상기 산출된 OTP를 상기 공개키로 암호화하는 단계; 및 상기 암호화된 OTP를 상기 통신ID에 매칭되는 통신장치인 제1참가자단말(120)로 전송하고, 상기 통신ID에 매칭된 제1통신서버(140)로 상기 통신ID에 매칭하여 상기 실명ID를 전송하는 단계; 로 구성될 수도 있다.
단계 210에서 상기 제1참가자단말(120)에 '단계 205에서 전송된, 암호화된 OTP'가 수신되면, 출력부(미도시)에 마스터패스워드입력란과 확인박스가 출력된다.
단계 215에서 상기 마스터패스워드입력란에 마스터패스워드가 입력되고 확인박스가 선택되면, 통신ID메모리(122)에서 제1참가자의 통신ID가 검색되고, 연락처DB(121)에서 상기 제1참가자의 통신ID에 매칭된 '암호화된 제1참가자의 인증서패스워드'가 검색되고, 상기 마스터패스워드를 복호화키로 상기 '암호화된 제1참가자의 인증서패스워드'가 복호화되고, 비밀키저장부(123)에서 '암호화된 제1참가자의 비밀키'가 검색되고, 상기 복호화된 인증서패스워드로 상기 '암호화된 제1참가자의 비밀키'가 복호화되고, 상기 '복호화된 비밀키'를 복호화키로 '단계 210에서 수신된, 암호화된 OTP'가 복호화되고, 상기 '복호화된 OTP'가 출력부(미도시)에 출력되는 한편 '단계 210에서의 수신'에 대한 회신으로 상기 제1실명확인서버(130)로 전송된다.
단계 220에서 상기 통신사서버(미도시)가 '단계 205에서 전송된, 통신ID에 매칭된 실명ID'를 수신하면, 공지의 방법으로 양자간 매칭여부를 판단하고 그 매칭여부를 상기 수신에 대한 회신으로서 제1실명확인서버(130)로 전송한다.
단계 225에서 제1실명확인서버(130) 가, '단계 205에서 전송한, 암호화된 OTP'에 매칭하여 '단계 215에서 전송된, 복호화된 OTP'를 수신하면 '상기 수신한 OTP'와 '단계 205에서 산출된 OTP'를 대조하여 일치하는지 판단하고, '단계 220에서 전송된 매칭여부'를 수신하면 상기 수신한 정보가 '매칭된다는 의미'인지 판단한다.
단계 225에서의 판단이 모두 긍정적인 경우 단계 230이 동작된다.
단계 230에서 실명DB(131)에서 상기 실명ID에 매칭하여 상기 퍼블릭블록체인계정식별정보와 상기 통신ID가 저장된다.
도 4는 본 발명의 하이브리드블록체인 이용한 존재증명 방법의 바람직한 일 실시예에서, '본 발명의 오쏘리티노드 중 하나이상에 회원으로 가입한 소정의 참가자'가 '본 발명의 오쏘리티노드 중 어디에도 회원으로 가입하지 않은 소정의 참가자'에게 전송하는 문서에 대한 증빙을 본 발명의 하이브리드블록체인네트웍에 분산 저장하는 동작 일 실시예를 설명한 도면이다.
단계 302에서 제1참가자단말(120)에서 소정의 전송대상문서가 선택되고 수신자통신ID로서 제2참가자통신ID가 입력되고 실명화조건박스가 선택되지 않고 전송박스가 선택되면, 통신ID메모리(122)에서 제1참가자통신ID가 검색되고, '송신자통신ID로서의 상기 제1참가자통신ID'와 '수신자통신ID로서 제2참가자통신ID'와 '전송대상데이터겸 전송데이터로서의 상기 전송대상문서'를 포함하는 소정의 제1트랜잭션데이터가 작성되고, 출력부(미도시)에 마스터패스워드입력란과 확인박스가 출력된다.
본 발명의 부가적 일 양상에 의하면 상기 제1참가자통신ID는 제1오쏘리티노드(110)에서 상기 제1참가자에게 부여한 전자메일계정주소이고, 상기 전송대상문서는 '상기 제1참가자와 상기 제2참가자가 계약당사자로 명기된 소정의 양자간 계약서'와 '상기 제1참가자를 발신자로 명기하고 상기 제2참가자를 수신자로 명기한 소정의 제안서'와 '상기 제1참가자가 일방적으로 선언하는 주체가 되는 소정의 유언장 또는 증여증서'와 '상기 제1참가자가 상담 등의 목적으로 비밀유지 조건을 명기한 소정의 비밀유지 조건부 정보제공 문서' 와 '상기 제1참가자를 신청인으로 하고 상기 제2참가자를 피신청인으로 하는 참여 신청서' 등을 예시할 수 있고, 상기 참여신청서로는 ICO 참여신청서, 주식공모 참여신청서, 주택분양 참여신청서, 회원 입회신청서, 상품 가입신청서 등을 예시할 수 있다.
본 발명의 부가적 일 양상에 의하면 단계 302는 제1참가자단말(120)에서 소정의 박스가 선택되는 단계; 연락처DB(121)에서 별칭필드에 저장된 친구별칭들이 소정의 순서에 따라 출력되는 단계; 상기 출력된 친구별칭들 중 제2참가자의 별칭이 선택되는 단계; 및 연락처DB(121)에서 상기 선택된 제2참가자의 별칭에 매칭된 통신ID가 검색되어 제2참가자통신ID로 선택되는 단계; 를 포함한다.
단계 318에서 제1참가자단말(120)에서 마스터패스워드입력란에 제1참가자의 마스터패스워드가 입력되고 확인박스가 선택되면, 연락처DB(121)에서 '단계 302에서 검색된 제1참가자통신ID'에 매칭된 '암호화된 제1참가자인증서패스워드'를 검색하고, 상기 마스터패스워드를 복호화키로 상기 '암호화된 제1참가자인증서패스워드'를 복호화하고, 비밀키저장부(123)에서 '암호화된 제1참가자의 비밀키'를 검색하고, 상기 복호화된 제1참가자인증서패스워드를 복호화키로 상기 '암호화된 제1참가자의 비밀키'를 복호화하고, '단계 302에서 작성된 제1트랜잭션데이터'의 해시값을 산출하고, 상기 '복호화된 비밀키'를 암호화키로 상기 해시값을 암호화해 상기 제1트랜잭션데이터에 대한 상기 제1참가자의 전자서명(이하 "제1참가자전자서명"이라 한다)을 생성하고, 상기 제1참가자전자서명을 매칭한 제1트랜잭션데이터를 제1오쏘리티노드(110)로 전송한다.
단계 322에서 제1오쏘리티노드(110)가 '단계 318에서 전송된, 제1참가자전자서명이 매칭된 제1트랜잭션데이터'가 수신되면, 상기 제1트랜잭션데이터의 해시값을 산출하고, 회원DB(111)에서 '상기 제1트랜잭션데이터에 송신자통신ID로서 포함된 제1참가자통신ID'에 매칭된 공개키를 검색하고, 상기 공개키로 상기 전자서명을 복호화하고, 상기 복호화된 값과 상기 해시값을 대조해 일치여부를 판단한다.
단계 322에서의 판단이 긍정적인 경우 단계 324가 동작된다.
단계 324에서 제1오쏘리티노드(110)의 대기트랜잭션DB(114)에 '단계 322에서 산출된 제1트랜잭션데이터의 해시값' 및 소정의 타임스탬프에 매칭하여 '단계 322에서 수신한, 제1참가자전자서명이 매칭된 제1트랜잭션데이터'를 저장하고, '송신자통신ID로서의, 상기 제1트랜잭션데이터에 송신자통신ID로서 포함된, 제1참가자통신ID'와 '수신자통신ID로서의, 상기 제1트랜잭션데이터에 수신자통신ID로서 포함된, 제2참가자통신ID'와 '상기 제1트랜잭션데이터에 포함된 전송데이터'를 '상기 제1트랜잭션데이터에서 수신자통신ID로서 포함된, 제2참가자통신ID'에 해당하는 제2통신서버(240)로 중계 전송하고, 제1참가자단말(120)로 '상기 대기트랜잭션DB(114)에 저장된, 제1트랜잭션데이터의 해시값 및 타임스탬프와 제1통신서버전자서명이 매칭된 제1트랜잭션데이터'를 전송한다.
본 발명의 부가적 일 양상에 의하면 단계 324는, 상기 제1참가자단말(120)에서 상기 제1오쏘리티노드(110)로 소정의 제1참가자본인인증정보와 소정의 '대기트랜잭션DB(114) 검색을 신청하는 정보' 및 '검색된 정보 다운로드를 신청하는 정보'를 전송하는 단계; 를 포함한다.
단계 326에서 제1참가자단말(120)에서 '단계 324에서 전송된, 제1트랜잭션데이터의 해시값 및 타임스탬프에 매칭된, 제1참가자전자서명이 매칭된 제1트랜잭션데이터'를 수신하면, 증빙DB(124)의 발신서브DB(미도시)에 '상기 제1트랜잭션데이터의 해시값 및 타임스탬프'에 매칭하여, 상기 '제1참가자전자서명이 매칭된 제1트랜잭션데이터'를 저장한다.
단계 328에서 제2통신서버(240)가 '단계 324에서 전송된, 제1참가자전자서명이 매칭된 제1트랜잭션데이터'를 수신하면, 소정의 타임스탬프를 산출하고, 통신기록DB(243)의 '수신자통신ID로서의 제2참가자통신ID'에 매칭된 통신ID별 통신기록서브DB(미도시)에 상기 타임스탬프에 매칭하여 '송신자통신ID로서의, 상기 제1트랜잭션데이터에 송신자통신ID로서 포함된, 제1참가자통신ID'와 '수신자통신ID로서의, 상기 제1트랜잭션데이터에 수신자통신ID로서 포함된, 제2참가자통신ID'와 '상기 제1트랜잭션데이터에 포함된, 전송대상데이터겸 전송데이터로서의 전송대상문서'를 저장하고, '상기 수신자통신ID로서의 제2참가자통신ID'에 매칭되는 제2참가자단말(220)로 상기 '타임스탬프와 송신자통신ID로서의 제1참가자통신ID와 수신자통신ID로서의 제2참가자통신ID와 전송대상데이터겸 전송데이터로서의 전송대상문서'를 전송한다.
본 발명의 부가적 일 양상에 의하면 단계 328은, 제2참가자단말(220)이 공지의 방법으로 제2통신서버(240)에 접속하고, 제2통신서버(240)로 소정의 제2참가자본인인증정보와 소정의 '제2참가자통신ID에 매칭된 통신ID별 통신기록서브DB(미도시)' 검색신청정보 및 검색된 정보 다운로드신청정보를 전송하는 단계; 를 포함할 수 있다.
본 발명의 또 다른 부가적 일 양상에 의하면 상기 제2통신서버(240)는 제2오쏘리티노드(210)를 겸할 수 있으며, 이 경우 상기 제2오쏘리티노드(210)는 상기 제1트랜잭션데이터의 해시값을 산출하고, 회원DB(211)에서 '상기 제1트랜잭션데이터에 포함된, 송신자식별정보로서의 제1참가자퍼블릭블록체인계정식별정보'에 매칭된 공개키를 검색하고, 상기 공개키로 상기 제1참가자전자서명을 복호화하고, 상기 복호화된 값과 상기 해시값을 대조하여 일치하는지 판단하고, 상기 판단이 긍정적인 경우에 한해 상기와 같이 중계 전송하고, 대기트랜잭션DB(214)에 상기 제1트랜잭션데이터의 해시값 및 소정의 타임스탬프에 매칭하여 상기 '제1트랜잭션데이터 및 제1참가자전자서명'을 저장한다.
단계 400에서 소정의 프라이빗블록 생성주기에 따라 제1오쏘리티노드(110)에서 대기트랜잭션DB(114)에서 '단계 324에서 저장된 제1트랜잭션데이터'를 포함하는 '소정 방법으로 선택된 트랜잭션데이터들'을 각각의 매칭된 '전자서명들 및 타임스탬프들 및 해시값들'과 매칭하여 추출하고, '상기 추출된, 트랜잭션데이터들과 전자서명들'의 루트해시값을 산출하고, 공지의 방법으로 프라이빗블록체인네트웍상의 직전프라이빗블록ID를 검색하고, 상기 직전프라이빗블록ID와 상기 루트해시값과 소정의 타임스탬프를 포함하는 소정의 프라이빗블록헤더를 생성하고, 상기 프라이빗블록헤더와 '상기 루트해시값 산출에 이용된 트랜잭션데이터들'과 '상기 각 트랜잭션데이터별로 매칭된 작성자의 전자서명'들과 상기 각 트랜잭션데이터들의 식별정보들로서의 '상기 각각의 타임스탬프들 및 해시값들'을 포함하는 소정의 프라이빗블록을 생성하고, 상기 프라이빗블록헤더의 해시값이 상기 프라이빗블록의 식별정보로서 산출되고, 프라이빗분산원장(112)에 상기 프라이빗블록식별정보에 매칭하여 상기 프라이빗블록을 저장하고, 프라이빗피어DB(117)에서 프라이빗피어노드들의 접속주소들을 검색하고, 상기 프라이빗블록을 상기 각 접속주소에 해당하는 오쏘리티노드들로 전송하고, 대기트랜잭션DB(114, 214)에서 '상기 프라이빗블록에 포함된 트랜잭션데이터와 전자서명'을 매칭된 '해시값 및 타임스탬프'와 함께 삭제한다.
한편 본 발명의 다른 일 양상에 의하면 소정의 일련번호가 상기 상기 프라이빗블록의 식별정보로서 산출된다.
단계 402에서 '단계 400(또는 도 5에서의 단계 400-1)에서 전송된, 블록헤더와, 제1트랜잭션데이터와 제2트랜잭션데이터와 공증신청트랜잭션데이터 중 하나이상을 포함하는 트랜잭션데이터들과, 상기 각 트랜잭션데이터별로 매칭된 전자서명들을 포함하는 프라이빗블록'을 수신한 오쏘리티노드들이, 상기 각 트랜잭션데이터에 포함된 '송신자식별정보로서의, 제1참가자퍼블릭블록체인계정식별정보'를 포함한 '상기 트랜잭션데이터 송신자의 퍼블릭블록체인계정식별정보'에 매칭되는 공개키들을 공지의 방법으로 추출하고, 상기 각 공개키에 매칭되는 각 트랜잭션데이터의 해시값을 산출하고, 상기 각 공개키에 매칭된 전자서명을 상기 각 공개키로 복호화하고, 상기 각 복호화된 값들을 각각 매칭된 해시값들과 대조하여 모두 일치하는지 판단한다.
단계 402에서의 판단이 긍정적인 각 오쏘리티노드에서 단계 404가 동작된다.
단계 404에서 '단계 402(또는 도 7 내지 도 9의 단계 402-3, 또는 도 16 내지 도 20의 단계 402-7)에서의 판단이 긍정적인 오쏘리티노드'들에서 '단계 402(또는 도 7 내지 도 9의 단계 402-3, 또는 도 16 내지 도 20의 단계 402-7)에서 수신한 블록헤더'의 해시값을 '단계 402(또는 도 7 내지 도 9의 단계 402-3, 또는 도 16 내지 도 20의 단계 402-7)에서 수신한 프라이빗블록'의 식별정보로서 산출하고, 각자의 프라이빗피어DB에서 자신의 프라이빗피어노드들의 접속주소들 및 공개키들을 검색하고, 상기 프라이빗블록식별정보와 소정의 확인코드를 포함하는 소정의 확인전문을 작성하고, 상기 확인전문을 상기 각 공개키로 암호화하고, 상기 각 암호화된 확인전문의 해시값들을 산출하고, '소정의 방법으로 검색된 자신(각 오쏘리티노드)의 비밀키'로 각자 상기 해시값들을 암호화해 상기 각 '암호화된 확인전문'에 대한 자신의 전자서명을 생성하고, '상기 접속주소들에 매칭되는 오쏘리티노드'들로 '소정의 방법으로 검색된 자신(각 오쏘리티노드)의 식별정보로서의 자신의 퍼블릭블록체인계정식별정보'가 매칭된 '상기 접속주소에 매칭되는, 상기 암호화된 확인전문 및 상기 전자서명'을 전송한다.
단계 406에서 '단계 404에서 각자의 프라이빗피어노드들로부터 전송된, 해당 프라이빗피어노드의 '오쏘리티노드식별정보로서의 퍼블릭블록체인계정식별정보'가 매칭된 암호화된 확인전문'을 수신한 오쏘리티노드들이, 소정의 방법으로 자신(각 오쏘리티노드)의 비밀키를 추출하고, 상기 비밀키로 '상기 각 오쏘리티식별정보로서의 퍼블릭블록체인계정식별정보에 매칭된, 암호화된 확인전문'을 복호화하고, 상기 복호화된 확인전문에 포함된 '특정 프라이빗블록식별정보에 매칭된 확인코드'를 확인하고, 상기 확인전문에 매칭된 오쏘리티노드식별정보들의 수를 이용하여 '상기 프라이빗블록식별정보에 매칭된 확인전문'을 전송한 프라이빗피어노드(이하 "동의프라이빗피어노드"라 한다)들의 수를 파악하고, '상기 동의프라이빗노드들의 수'가 소정의 프라이빗블록체인네트웍 합의정족수(예컨대, 전체 프라이빗피어노드들의 2/3이상)를 충족하는지 판단한다.
단계 406에서의 판단이 긍정적인 경우 단계 408이 동작된다.
단계 408에서 '단계 406에서 긍정적인 판단을 한 각 오쏘리티노드들'의 프라이빗분산원장에서 '단계 406에서 수신한 프라이빗블록식별정보'에 매칭하여 소정의 프라이빗블록체인네트웍합의코드를 저장하고, '상기 프라이빗블록식별정보에 매칭된 프라이빗블록'에 포함된 '트랜잭션데이터의 해시값들'을 추출하고, 각 오쏘리티노드의 대기트랜잭션DB에서 상기 추출된 '각 트랜잭션데이터의 해시값'들에 매칭되는 기록들을 삭제한다.
본 발명의 부가적 일 양상에 의하면 단계 408은, '상기 프라이빗블록에 포함된 각 트랜잭션데이터들'에서 '송신자통신ID들과 수신자통신ID들'을 추출하고, 상기 각 '송신자통신ID와 수신자통신ID 중 하나이상'에 해당하는 참가자단말들로 상기 프라이빗블록을 전송하는 단계; 및 상기 각 참가자단말이 상기 프라이빗블록을 수신하면, '상기 프라이빗블록에 포함된 프라이빗블록헤더'의 해시값을 상기 프라이빗블록의 식별정보로서 산출하고, 증빙DB에 상기 프라이빗블록식별정보에 매칭하여 상기 프라이빗블록을 저장하는 단계; 를 포함할 수 있다.
한편 본 발명의 다른 일 양상에 의하면 단계 408은, '상기 프라이빗블록에 포함된 각 트랜잭션데이터들'에서 '송신자통신ID들과 수신자통신ID들'을 추출하고, 상기 각 '송신자통신ID와 수신자통신ID 중 하나이상'에 해당하는 참가자단말들로 '상기 프라이빗블록에 포함된 프라이빗블록헤더'를 전송하는 단계; 및 상기 각 참가자단말이 상기 프라이빗블록헤더를 수신하면, 상기 프라이빗블록헤더의 해시값을 상기 프라이빗블록의 식별정보로서 산출하고, 증빙DB에 상기 프라이빗블록식별정보에 매칭하여 상기 프라이빗블록헤더를 저장하는 단계; 를 포함할 수 있다.
본 발명의 부가적 일 양상에 의하면, 상기 프라이빗블록체인네트웍합의코드는 상기 프라이빗분산원장(112, 212 등)의 헤더서브DB(미도시)에 상기 프라이빗블록식별정보와 매칭하여 저장한다.
단계 410에서 소정의 퍼블릭블록 생성주기에 따라 오쏘리티노드들의 각 프라이빗분산원장DB에서 소정의 프라이빗블록체인네트웍합의코드가 매칭된 트랜잭션데이터들 중 퍼블릭블록체인네트웍합의코드가 매칭되지 않은 트랜잭션데이터들을 추출하고, 상기 각 추출된 트랜잭션데이터에 매칭된 작성자전자서명들을 추출하고, 상기 각 추출된 트랜잭션데이터들과 작성자전자서명들의 루트해시값을 산출하고, 공지의 방법으로 퍼블릭블록체인네트웍상의 직전퍼블릭블록ID를 검색하고, 상기 직전퍼블릭블록ID와 상기 루트해시값과 소정의 난이도정보와 난스와 소정의 타임스탬프를 포함하는 소정의 퍼블릭블록헤더를 생성하고, 퍼블릭피어DB에서 퍼블릭블록체인네트웍상의 퍼블릭피어노드들의 접속주소들을 검색하고, 상기 접속주소들로 상기 퍼블릭블록헤더를 퍼블빅블록으로서 전송한다.
본 발명의 부가적 일 양상에 의하면, 단계 410에서 전송된 퍼블릭블록을 수신한 퍼블릭블록체인네트웍상의 피어노드들은 각자 퍼블릭블록체인네트웍상의 자신의 피어노드들에게 상기 퍼블릭블록을 전송함으로써 퍼블릭블록체인네트웍 전체 노드들에서 상기 퍼블릭블록이 분산저장되게 된다.
본 발명의 부가적 일 양상에 의하면 상기 '소정의 퍼블릭블록 생성주기'는 본 명세서에서의 '소정의 프라이빗블록 생성주기'대비 긴 것이 이상적이며, 최소한 동일하다. 일 실시예로 상기 퍼블릭블록 생성주기는 매 영업일로 하고, 상기 프라이빗블록 생성주기는 15초로 할 수 있다.
한편 본 발명의 다른 일 양상에 의하면, 단계 410에서 퍼블릭블록헤더에 포함할 루트해시값을 산출하는 방법으로, 프라이빗분산원장에서 소정의 프라이빗블록체인네트웍합의코드에 매칭된 프라이빗블록헤더들 중 퍼블릭블록체인네트웍합의코드가 매칭되지 않은 프라이빗블록헤더들을 추출하고, '상기 추출된 프라이빗블록헤더들'과 '상기 추출된 프라이빗블록헤더들의 해시값들' 중 하나의 루트해시값을 산출하는 방법이 적용될 수도 있다.
한편 "필요용량무제한증가불편" 감축을 가속화하기 위한 본 발명의 부가적 일 양상에 의하면, 상기 퍼블릭블록 생성주기는 2개 이상의 복수로 실시될 수 있다.
상기 부가적 일 양상의 가장 간단한 실시예로, 퍼블릭블록 생성주기를 장기주기와 '상기 장기주기보다 짧으면서 상기 프라이빗블록 생성주기보다는 긴 것을 특징으로 하는, 단기주기'로 하는 실시예를 예시하면, 단계 410은, 소정의 단기퍼블릭블록 생성주기에 따라 오쏘리티노드들의 각 프라이빗분산원장DB에서 소정의 프라이빗블록체인네트웍합의코드가 매칭된 프라이빗블록헤더들 중 단기퍼블릭블록체인네트웍합의코드가 저장되지 않은 프라이빗블록헤더들을 추출하고, '상기 추출된 프라이빗블록헤더들'과 '상기 추출된 프라이빗블록헤더들의 해시값들' 중 하나의 루트해시값을 산출하는 단계; 공지의 방법으로 단기퍼블릭블록체인네트웍상의 직전단기퍼블릭블록헤더를 추출하고, 상기 직전단기퍼블릭블록헤더의 해시값을 산출하는 단계; 상기 '직전단기퍼블릭블록헤더의 해시값'과 상기 루트해시값과 소정의 난이도정보와 난스와 소정의 타임스탬프를 포함하는 소정의 단기퍼블릭블록헤더를 생성하는 단계; 퍼블릭피어DB의 단기퍼블릭피어서브DB에서 단기퍼블릭블록체인네트웍상의 피어노드들의 접속주소들을 검색하고, 상기 접속주소들로 상기 단기퍼블릭블록헤더를 단기퍼블릭블록으로서 전송하는 단계; 상기 단기퍼블릭블록을 수신한 각 피어노드들에서 소정의 방법으로 상기 단기퍼블릭블록을 검증하는 단계; 상기 검증이 완료되는 경우 각자의 퍼블릭분산원장의 단기퍼블릭분산서브원장에 상기 단기퍼블릭블록헤더를 저장하는 단계; 소정의 장기퍼블릭블록 생성주기에 따라 오쏘리티노드들의 각 퍼블릭분산원장의 단기퍼블릭분산서브원장에서 소정의 장기퍼블릭블록체인네트웍합의코드가 저장되지 않은 단기퍼블릭블록헤더들을 추출하는 단계; 상기 추출된 단기퍼블릭블록헤더들의 루트해시값이 산출되는 단계; 공지의 방법으로 장기퍼블릭블록체인네트웍상의 직전장기퍼블릭블록헤더를 추출하고, 상기 직전장기퍼블릭블록헤더의 해시값을 산출하는 단계; 상기 '직전장기퍼블릭블록헤더의 해시값'과 상기 루트해시값과 소정의 난이도정보와 난스와 소정의 타임스탬프를 포함하는 소정의 장기퍼블릭블록헤더를 생성하는 단계; 퍼블릭피어DB의 장기퍼블릭피어서브DB에서 장기퍼블릭블록체인네트웍상의 피어노드들의 접속주소들을 검색하고, 상기 접속주소들로 상기 장기퍼블릭블록헤더를 장기퍼블빅블록으로서 전송하는 단계; 상기 장기퍼블릭블록을 수신한 각 피어노드들에서 소정의 방법으로 상기 장기퍼블릭블록을 검증하는 단계; 상기 검증이 완료되는 경우 각자의 퍼블릭분산원장의 장기퍼블릭분산서브원장에 상기 장기퍼블릭블록헤더를 저장하고, 각자의 퍼블릭분산원장의 단기퍼블릭분산서브원장에 상기 루트해시값 산출에 사용된 각 단기퍼블릭블록헤더들에 매칭하여 소정의 장기퍼블릭블록체인네트웍합의코드를 저장하는 단계; 를 포함한다.
본 발명의 부가적 일 양상에 의하면 단기퍼블릭블록체인네트웍에 참여하는 노드들의 수는 장기퍼블리글록체인네트웍에 참여하는 노드들의 수보다 작다.
도 5는 본 발명의 하이브리드블록체인 이용한 존재증명 방법의 바람직한 일 실시예에서, '본 발명의 오쏘리티노드 중 하나이상에 회원으로 가입한 소정의 참가자'가 '본 발명의 오쏘리티노드 중 어디에도 회원으로 가입하지 않은 소정의 참가자'로부터 수신하는 문서에 대한 증빙을 본 발명의 하이브리드블록체인네트웍에 분산 저장하는 동작 일 실시예를 설명한 도면이다.
단계 302-1에서 제1참가자단말(120)에서 소정의 전송대상문서가 선택되고 수신자통신ID로서 제2참가자통신ID가 입력되고 실명화조건박스가 선택되지 않고 전송박스가 선택되면, 통신ID메모리(122)에서 제1참가자통신ID가 검색되고, '송신자통신ID로서의 상기 제1참가자통신ID'와 '수신자통신ID로서 제2참가자통신ID'와 '전송대상데이터겸 전송데이터로서의 상기 전송대상문서'를 포함하는 소정의 제1트랜잭션데이터가 작성된다.
단계 318-1에서 제1참가자단말(120)에서 '단계 302-1에서 작성된 제1트랜잭션데이터'를 '상기 제1트랜잭션데이터에 수신자통신ID로서 포함된 제2참가자통신ID'에 매칭되는 제2통신서버(240)를 겸하는 제2오쏘리티노드(210)로 전송한다.
단계 328-1에서 제2통신서버(240)를 겸하는 제2오쏘리티노드(210)가 '단계 318-1에서 전송된 제1트랜잭션데이터'를 수신하면, 상기 제1트랜잭션데이터의 해시값과 소정의 타임스탬프를 산출하고, 소정의 방법으로 제2오쏘리티노드의 비밀키를 추출하고, 상기 해시값을 상기 비밀키로 암호화해 상기 제1트랜잭션데이터에 대한 제2오쏘리티노드의 전자서명을 생성하고, 대기트랜잭션DB(214)에 상기 '해시값 및 타임스탬프'에 매칭하여 상기 제2오쏘리티노드의 전자서명이 매칭된 제1트랜잭션데이터를 저장하고, 통신기록DB(243)의 '수신자통신ID로서의 제2참가자통신ID'에 매칭된 통신ID별 통신기록서브DB(미도시)에 상기 '제1트랜잭션데이터의 해시값 및 타임스탬프'에 매칭하여 '송신자통신ID로서의, 상기 제1트랜잭션데이터에 송신자통신ID로서 포함된, 제1참가자통신ID'와 '수신자통신ID로서의, 상기 제1트랜잭션데이터에 수신자통신ID로서 포함된, 제2참가자통신ID'와 '상기 제1트랜잭션데이터에 포함된, 전송대상데이터겸 전송데이터로서의 전송대상문서'를 저장하고, 상기 '수신자통신ID로서의 제2참가자통신ID'에 매칭되는 제2참가자단말(220)로 상기 대기트랜잭션DB(214)에 저장된 '제1트랜잭션데이터의 해시값 및 타임스탬프와 제2오쏘리티노드의 전자서명이 매칭된 제1트랜잭션데이터'을 전송한다.
본 발명의 부가적 일 양상에 의하면 단계 328-1은, 제2참가자단말(220)이 공지의 방법으로 제2통신서버(240)에 접속하고, 제2통신서버(240)로 소정의 제2참가자본인인증정보와 소정의 '제2참가자통신ID에 매칭된 통신ID별 통신기록서브DB(미도시)' 검색신청정보 및 검색된 정보 다운로드신청정보를 전송하는 단계; 제2통신서버(240)로부터 상기 통신기록DB(243)에 저장된 '제1트랜잭션데이터의 해시값 및 타임스탬프와 송신자통신ID로서의 제1참가자통신ID와 수신자통신ID로서의 제2참가자통신ID와 전송대상데이터겸 전송데이터로서의 전송대상문서'가 전송되는 단계; 제2참가자단말(220)이 제2통신서버(240)로 소정의 '대기트랜잭션DB(214)에서 상기 제1트랜잭션데이터의 해시값에 매칭된 정보 검색을 신청하는 소정의 정보'와 '통신기록DB(243)에서 상기 제1트랜잭션데이터의 해시값에 매칭된 정보 검색을 신청하는 소정의 정보'를 전송하는 단계; 를 포함할 수 있다.
단계 332-1에서 제2참가자단말(220)이 '단계 328-1에서 전송된, 제1트랜잭션데이터의 해시값 및 타임스탬프와 제2오쏘리티노드의 전자서명이 매칭된 제1트랜잭션데이터'를 수신하고, '단계 328-1에서 전송된, 제1트랜잭션데이터의 해시값 및 타임스탬프와 송신자통신ID로서의 제1참가자통신ID와 수신자통신ID로서의 제2참가자통신ID와 전송대상데이터겸 전송데이터로서의 전송대상문서'를 수신하면, 상기 증빙DB(224)의 수신서브DB(미도시)에 상기 '제1트랜잭션데이터의 해시값 및 타임스탬프'에 매칭하여 상기 '제2오쏘리티노드의 전자서명이 매칭된 제1트랜잭션데이터'를 저장한다.
단계 400-1에서 소정의 프라이빗블록 생성주기에 따라 제2오쏘리티노드(210)에서 대기트랜잭션DB(214)에서 '단계 328-1에서 저장된 제1트랜잭션데이터'를 포함하는 '소정 방법으로 선택된 트랜잭션데이터들'을 각각의 매칭된 '전자서명들 및 타임스탬프들 및 해시값들'과 매칭하여 추출하고, '상기 추출된, 트랜잭션데이터들과 전자서명들'의 루트해시값을 산출하고, 공지의 방법으로 프라이빗블록체인네트웍상의 직전프라이빗블록ID를 검색하고, 상기 직전프라이빗블록ID와 상기 루트해시값과 소정의 타임스탬프를 포함하는 소정의 프라이빗블록헤더를 생성하고, 상기 프라이빗블록헤더와 '상기 루트해시값 산출에 이용된 트랜잭션데이터들'과 '상기 각 트랜잭션데이터별로 매칭된 작성자의 전자서명'들과 상기 각 트랜잭션데이터들의 식별정보들로서의 '상기 각각의 타임스탬프들 및 해시값들'을 포함하는 소정의 프라이빗블록을 생성하고, 상기 프라이빗블록헤더의 해시값이 상기 프라이빗블록의 식별정보로서 산출되고, 프라이빗분산원장(212)에 상기 프라이빗블록식별정보에 매칭하여 상기 프라이빗블록을 저장하고, 프라이빗피어DB(217)에서 프라이빗피어노드들의 접속주소들을 검색하고, 상기 프라이빗블록을 상기 각 접속주소에 해당하는 오쏘리티노드들로 전송하고, 대기트랜잭션DB(214)에서 '상기 프라이빗블록에 포함된 트랜잭션데이터와 전자서명'을 매칭된 '해시값 및 타임스탬프'와 함께 삭제한다.
도 4에서의 단계 402 내지 단계 410이 동작된다.
도 6은 본 발명의 하이브리드블록체인 이용한 존재증명 방법의 바람직한 일 실시예에서, 본 발명의 참가자단말을 보유한 자간 공증이 필요 없는 통신내용을, 본 발명의 장치를 이용하여, 서로 보안을 유지하면서도 편리하게 통신하는 동작 일 실시예를 설명한 도면이다.
단계 302-2에서 제1참가자단말(120)에서 전송대상문서가 선택되고 수신자통신ID로서 제2참가자통신ID가 입력되고 전송박스가 선택되면, 통신ID메모리(122)에서 제1참가자통신ID를 검색하고, 연락처DB(121)에서 상기 제2참가자통신ID에 매칭된 '제2참가자의 공개키'(이하 "제2참가자공개키"라 한다)를 검색하고, 상기 전송대상문서를 상기 제2참가자공개키를 암호화키로 암호화하고, '송신자통신ID로서의 상기 제1참가자통신ID'와 '수신자통신ID로서 제2참가자통신ID'와 전송데이터로서의 상기 '암호화된 전송대상문서'를 포함하는 소정의 제1트랜잭션데이터를 작성한다.
도 4의 단계 302에서의 부가적 일 양상들은 단계 302-2에서도 적용 가능하다.
단계 318-2에서 제1참가자단말(120)에서 '단계 302-2에서 작성된 제1트랜잭션데이터'를 '상기 제1트랜잭션데이터에 수신자통신ID로서 포함된 제2참가자통신ID'에 매칭되는 제2통신서버(240)로 전송한다.
단계 328-2에서 제2통신서버(240)가 '단계 318-2에서 전송된 제1트랜잭션데이터'를 수신하면, 통신기록DB(243)의 '수신자통신ID로서의 제2참가자통신ID'에 매칭된 통신ID별 통신기록서브DB(미도시)에 '상기 제1트랜잭션데이터를 수신한 시점에 매칭되는, 소정의 타임스탬프'에 매칭하여'송신자통신ID로서의, 상기 제1트랜잭션데이터에 송신자통신ID로서 포함된, 제1참가자통신ID'와 '수신자통신ID로서의, 상기 제1트랜잭션데이터에 수신자통신ID로서 포함된, 제2참가자통신ID'와 '상기 제1트랜잭션데이터에 포함된, 전송데이터로서의 암호화된 전송대상문서'를 저장하고, 상기 '수신자통신ID로서의 제2참가자통신ID'에 매칭되는 제2참가자단말(220)로 상기 통신기록DB(243)에 저장된 '타임스탬프와 송신자통신ID로서의 제1참가자통신ID와 수신자통신ID로서의 제2참가자통신ID와 전송데이터로서의 암호화된 전송대상문서'를 전송한다.
본 발명의 부가적 일 양상에 의하면 단계 328-2는, 제2참가자단말(220)이 공지의 방법으로 제2통신서버(240)에 접속하고, 제2통신서버(240)로 소정의 제2참가자본인인증정보와 소정의 '제2참가자통신ID에 매칭된 통신ID별 통신기록서브DB(미도시)' 검색신청정보 및 검색된 정보 다운로드신청정보를 전송하는 단계; 를 포함할 수 있다.
단계 332-2에서 제2참가자단말(220)이 '단계 328-2에서 전송된, 타임스탬프와 송신자통신ID로서의 제1참가자통신ID와 수신자통신ID로서의 제2참가자통신ID와 전송데이터로서의 암호화된 전송대상문서'를 수신하면, 통신기록DB(미도시)에 상기 '제1트랜잭션데이터의 타임스탬프'에 매칭하여 '송신자통신ID로서의 제1참가자통신ID와 수신자통신ID로서의 제2참가자통신ID와 전송데이터로서의 암호화된 전송대상문서'를 저장하고, 출력부(미도시)에 마스터패스워드입력란과 확인박스가 출력된다.
단계 334-2에서 상기 제2참가자단말(220)에서 제2참가자의 마스터패스워드가 입력되고 확인박스가 선택되면, 통신ID메모리(222)에서 제2참가자통신ID를 검색하고, 연락처DB(221)에서 제2참가자통신ID에 매칭된 '암호화된 제2참가자인증서패스워드'를 검색하고, 상기 '암호화된 제1참가자인증서패스워드'를 상기 마스터패스워드를 복호화키로 복호화하고, 비밀키저장부(223)에서 '암호화된 비밀키'를 검색하고, '상기 복호화된 제2참가자인증서패스워드'를 복호화키로 상기 '암호화된 비밀키'를 복호화하고, 상기 '복호화된 비밀키'를 복호화키로 전송데이터로서의 상기 '암호화된 전송대상문서'를 복호화하고, 출력부(미도시)에 상기 '송신자통신ID로서의 제1참가자통신ID와 수신자통신ID로서의 제2참가자통신ID'에 매칭하여 상기 '복호화된 전송대상문서'를 출력한다.
도 7 내지 도 9는 본 발명의 하이브리드블록체인 이용한 존재증명 방법의 바람직한 일 실시예에서, '프라이빗블록체인계정을 보유한 오쏘리티노드'의 회원이며 퍼블릭블록체인계정을 보유한 참가자들간 익명으로 합의한 기록을 본 발명의 하이브리드블록체인네트웍에 익명으로 안전하게 분산 저장하는 동작 일 실시예를 설명한 도면이다.
단계 302-3에서 제1참가자단말(120)에서 전송대상문서로서 소정의 청약대상문서가 선택되고 '상기 청약대상문서 수신자의 통신ID로서의 제2참가자통신ID'가 입력되고 실명화조건박스가 선택되지 않고 제1참가자의 마스터패스워드가 입력되고 전송박스가 선택되면, 통신ID메모리(122)에서 제1참가자통신ID를 검색하고, 연락처DB(121)에서 상기 제1참가자통신ID에 매칭된 '제1참가자퍼블릭블록체인계정식별정보와 암호화된 제1참가자인증서패스워드'를 검색하고, 연락처DB(121)에서 상기 제2참가자통신ID에 매칭된 '제2참가자퍼블릭블록체인계정식별정보 및 제2참가자공개키'를 검색하고, '청약자식별정보로서의 상기 제1참가자퍼블릭블록체인계정식별정보'와 '피청약자식별정보로서의 상기 제2참가자퍼블릭블록체인계정식별정보와 상기 청약대상문서를 포함하는 소정의 청약데이터를 전송대상문서로서 작성하고, 상기 '전송대상문서로서의 청약데이터'를 상기 제2참가자공개키로 암호화하여 제1전송데이터를 작성하고, 상기 마스터패스워드를 복호화키로 상기'암호화된 제1참가자인증서패스워드'를 복호화하고, 비밀키저장부(123)에서 '암호화된 제1참가자의 비밀키'를 검색하고, 상기 '복호화된 제1참가자인증서패스워드'를 복호화키로 상기 '암호화된 제1참가자의 비밀키'를 복호화하고, 상기 작성된 제1전송데이터'와 '송신자식별정보로서의 상기 제1참가자퍼블릭블록체인계정식별정보'와 '수신자식별정보로서의 상기 제2참가자퍼블릭블록체인계정식별정보'와 '송신자통신ID로서의 상기 제1참가자통신ID'와 '수신자통신ID로서의 상기 제2참가자통신ID'를 포함하는 제1트랜잭션데이터를 작성하고, 상기 제1트랜잭션데이터의 해시값을 산출하고, 상기 해시값을 상기 '복호화된 비밀키'로 암호화해 '상기 제1트랜잭션데이터에 대한 제1참가자전자서명을 생성하고, 상기 제1참가자전자서명'을 매칭한 상기 제1트랜잭션데이터를 제1오쏘리티노드(110)로 전송하고, 상기 제1트랜잭션데이터의 해시값과 타임스탬프를 산출하고, 상기 청약대상문서의 해시값을 산출하고, 합의DB(129)에 상기 청약대상문서의 해시값에 매칭하여, 상기 제1트랜잭션데이터의 해시값 및 타임스탬프와 상기 청약대상문서를 저장한다.

본 발명의 부가적 일 양상에 의하면, 파일업로드창을 선택한 후 파일폴더가 출력되고 출력된 파일폴더에서 청약대상문서 파일을 선택하는 동작은 상기 청약대상문서가 선택되는 동작의 일 실시예가 될 수 있다.
본 발명의 부가적 일 양상에 의하면 상기 제1참가자통신ID와 제2참가자통신ID는 각각 제1통신서버(140)와 제2통신서버(240)가 자신의 통신서비스 가입자인 제1참가자 및 제2참가자에게 부여한 '전자메일주소와 전화번호와 메신저계정식별정보 중 하나'다.
본 발명의 또 다른 부가적 일 양상에 의하면 상기 제1참가자통신ID는 제1통신서버(140)를 겸하는 제1오쏘리티노드(110)에서 제1참가자에게 부여한 전자메일계정주소이고, 상기 제2참가자통신ID는 제2통신서버(240)를 겸하는 제2오쏘리티노드(210)에서 상기 제2참가자에게 부여한 전자메일계정주소이고, 상기 청약대상문서로는 '상기 제1참가자와 상기 제2참가자가 계약당사자로 명기된 소정의 양자간 계약서'와 '상기 제1참가자를 발신자로 명기하고 상기 제2참가자를 수신자로 명기한 소정의 제안서'와 '상기 제1참가자를 신청인으로 하고 상기 제2참가자를 피신청인으로 하는 참여 신청서' 등을 예시할 수 있고, 상기 참여신청서로는 ICO 참여신청서, 주식공모 참여신청서, 주택분양 참여신청서, 회원 입회신청서, 상품 가입신청서 등을 예시할 수 있다.
본 발명의 다른 일 양상에 의하면 상기 제1참가자통신ID와 상기 제2참가자통신ID는 동일한 '제1통신서버(140)를 겸하는 제1오쏘리티노드(110)'로부터 부여 받은 것일 수도 있으며, 그러한 경우 도 7 내지 도 9에서 제2오쏘리티노드(210)로 인용되는 장치는 제1오쏘리티노드(110)를 의미한다.
본 발명의 또 다른 일 양상에 의하면 상기 제1참가자통신ID는 제1통신사가 운영하는 제1통신서버(140)에서 제1참가자단말(100)에 부여한 전화번호이고, 상기 제2참가자통신ID는 제2통신사가 운영하는 제2통신서버(140)에서 제2참가자단말(100)에 부여한 전화번호이고, 상기 청약대상문서는 '상기 제1참가자가 상기 제2참가자에게 청약하는 통화를 녹음한 음성파일'과 '상기 제1참가자가 상기 제2참가자에게 청약하는 동작을 녹화한 동영상파일'중 하나다.
본 발명의 또 다른 부가적 일 양상에 의하면 단계 302-3은 제1참가자단말(120)에서 소정의 박스가 선택되는 단계; 연락처DB(121)에서 별칭필드에 저장된 친구별칭들이 소정의 순서에 따라 출력되는 단계; 상기 출력된 친구별칭들 중 하나가 선택되는 단계; 및 연락처DB(121)에서 '상기 선택된 친구별칭'에 매칭된 '제2참가자통신ID와 퍼블릭블록체인계정식별정보 및 공개키'가 검색되는 단계; 를 포함한다.
본 발명의 다른 일 양상에 의하면, 연락처DB(121)에서 상기 '피청약자식별정보로서의 제2참가자퍼블릭블록체인계정식별정보'에 매칭된 공개키가 추출되지 않는 경우 단계 302-3은, 제1참가자가 공지의 방법으로 상기 제2참가자로부터 제2참가자공개키를 수신 받아 제1참가자단말(120)에 입력하는 단계; 를 포함할 수 있다.
단계 322-3에서 제1오쏘리티노드(110)가 '단계 302-3에서 전송된, 제1참가자전자서명이 매칭된 제1트랜잭션데이터'를 수신하면, 회원DB(111)에서 '상기 제1트랜잭션데이터에 포함된, 송신자식별정보로서의 제1참가자퍼블릭블록체인계정식별정보와 송신자통신ID로서의 제1참가자통신ID 중 하나이상'에 매칭된 제1참가자공개키를 검색하고, 상기 제1트랜잭션데이터의 해시값을 산출하고, 상기 제1참가자공개키로 상기 제1참가자전자서명을 복호화하고, 상기 복호화된 값과 상기 제1트랜잭션데이터의 해시값을 대조하여 일치하는지 판단한다.
단계 322-3에서의 판단이 긍정적인 경우 단계 324-3이 동작된다.
단계 324-3에서 제1오쏘리티노드(110)의 대기트랜잭션DB(114)에 '단계 322-3에서 산출된 제1트랜잭션데이터의 해시값' 및 소정의 타임스탬프에 매칭하여 '단계 322-3에서 수신한, 제1참가자전자서명이 매칭된 제1트랜잭션데이터'를 저장하고, '단계 322-3에서 수신한, 제1참가자전자서명이 매칭된 제1트랜잭션데이터'를 '상기 제1트랜잭션데이터에서 수신자통신ID로서 포함된, 제2참가자통신ID'에 해당하는 제2오쏘리티노드(210)로 중계 전송하고, '상기 제1트랜잭션데이터에 포함된, 송신자통신ID로서의 상기 제1참가자통신ID'에 매칭된 제1참가자단말(120)로 상기 '제1트랜잭션데이터의 해시값 및 타임스탬프'에 매칭하여 상기 '제1참가자전자서명이 매칭된 제1트랜잭션데이터'를 전송한다.
본 발명의 부가적 일 양상에 의하면 특정 통신ID를 특정 오쏘리티노드에 매칭하는 방법은, 통신ID에 오쏘리티노드식별정보를 포함하는 제1방법과. 본 발명의 하이브리드블록체인네트웍을 구성하는 하나이상의 장치에 '통신ID와 오쏘리티노드식별정보가 매칭되어 저장된 소정의 DB'(미도시)를 구성하는 제2방법 중 하나이상이다. 전자메일서비스를 제공하는 통신서버를 겸하는 오쏘리티노드에서 자신의 회원들에게 '회원ID@통신사식별정보'형식의 통신ID를 부여하는 방법은 상기 제1방법의 일 실시예가 될 수 있다.
본 발명의 부가적 일 양상에 의하면 단계 324-3은, 상기 제1참가자단말(120)에서 상기 제1트랜잭션데이터의 해시값을 산출하는 단계; 및 제1참가자단말(120)에서 상기 제1오쏘리티노드(110)로 '소정의 제1참가자본인인증정보'와 상기 제1트랜잭션데이터의 해시값과 소정의 대기트랜잭션DB검색신청정보 및 '검색된 정보 다운로드신청정보'를 전송하는 단계; 를 포함할 수 있다.
단계 326-3에서 제1참가자단말(120)에서 '단계 324-3에서 전송된, 제1트랜잭션데이터의 해시값 및 타임스탬프에 매칭된, 제1참가자전자서명이 매칭된 제1트랜잭션데이터'를 수신하면, 증빙DB(124)의 발신서브DB(미도시)에 '상기 제1트랜잭션데이터의 해시값 및 타임스탬프'에 매칭하여, '제1참가자전자서명이 매칭된 제1트랜잭션데이터'를 저장한다.
단계 328-3에서 제2오쏘리티노드(210)가 '단계 324-3에서 전송된, 제1참가자전자서명이 매칭된 제1트랜잭션데이터'를 수신하면, '상기 제1트랜잭션데이터에서 수신자통신ID로서 포함된, 제2참가자통신ID'에 매칭되는 제2참가자단말(220)로 상기 '제1참가자전자서명이 매칭된 제1트랜잭션데이터'를 중계 전송하고, 상기 제1트랜잭션데이터의 해시값과 타임스탬프를 산출하고, 대기트랜잭션DB(214)에 상기 제1트랜잭션데이터의 '해시값 및 타임스탬프'에 매칭하여 상기 '제1참가자전자서명이 매칭된 제1트랜잭션데이터'를 저장한다.
본 발명의 부가적 일 양상에 의하면 단계 328-3은, 상기 제1참가자전자서명이 매칭된 제1트랜잭션데이터를 수신하는 단계; 상기 제1트랜잭션데이터의 해시값을 산출하는 단계; 회원DB(211)에서 '상기 제1트랜잭션데이터에 포함된, 송신자식별정보로서의 제1참가자퍼블릭블록체인계정식별정보와 송신자통신ID로서의 제1참가자통신ID 중 하나이상'에 매칭된 공개키를 검색하고, 상기 공개키로 상기 제1참가자전자서명을 복호화하고, 상기 복호화된 값을 상기 해시값과 대조하여 일치하는지 판단하는 단계; 및 상기 판단이 긍정적인 경우에 한해 상기와 같이 중계 전송하고 대기트랜잭션DB(214)에 저장하는 단계; 를 포함할 수도 있다.
본 발명의 부가적 일 양상에 의하면 상기 제2오쏘리티노드(210)는 제2통신서버(240)를 겸할 수 있으며, 이러한 양상에서 단계 328-3은, 제2참가자단말(220)이 공지의 방법으로 제2통신서버(240)를 겸하는 제2오쏘리티노드(210)에 접속하고, 제2통신서버(240)로 소정의 제2참가자본인인증정보와 소정의 대기트랜잭션DB검색신청정보 및 '검색된 정보 다운로드신청정보'를 전송하는 단계; 및 제2통신서버(240)가 제2참가자단말(220)로 상기 대기트랜잭션DB(214)에 저장된 '제1트랜잭션데이터의 해시값 및 타임스탬프'와 '제1참가자전자서명이 매칭된 제1트랜잭션데이터'를 전송하는 단계; 를 포함할 수 있다.
단계 332-3에서 제2참가자단말(220)이 '단계 328-3에서 전송된, 제1참가자전자서명이 매칭된 제1트랜잭션데이터'를 수신하면, 상기 제1트랜잭션데이터의 해시값과 소정의 타임스탬프를 산출하고, 증빙DB(224)의 수신서브DB(미도시)에 상기 제1트랜잭션데이터의 해시값 및 타임스탬프에 매칭하여 상기 '제1참가자전자서명이 매칭된 제1트랜잭션데이터'를 저장하고, 출력부(미도시)에 마스터패스워드입력란과 확인박스를 출력한다.
단계 334-3에서 제2참가자단말(220)에서 제2참가자의 마스터패스워드가 입력되고 확인박스가 선택되면, 통신ID메모리(222)에서 제2참가자통신ID를 검색하고, 연락처DB(221)에서 상기 제2참가자통신ID에 매칭된 '제2참가자퍼블릭블록체인계정식별정보와 암호화된 제2참가자인증서패스워드'를 검색하고, 상기 마스터패스워드를 복호화키로 상기 '암호화된 제2참가자인증서패스워드'를 복호화하고, 비밀키저장부(223)에서 '암호화된 제2참가자의 비밀키'를 검색하고, 상기 복호화된 제2참가자인증서패스워드로 상기 '암호화된 제2참가자의 비밀키'를 복호화하고, '단계 332-3 (또는 도 11 내지 도 14에서의 단계 332-5 또는 도 15에서의 단계 332-6)에서 수신된 제1트랜잭션데이터에 포함된, 제1전송데이터'를 상기 '복호화된 비밀키'를 복호화키로 복호화해 청약데이터를 산출하고, 상기 청약데이터에서 '청약자식별정보로서의 제1참가자퍼블릭블록체인계정식별정보'와 청약대상문서를 추출하고, 상기 제1트랜잭션데이터의 해시값을 산출하고, 연락처DB(221)에서 상기 '청약자식별정보로서의 제1참가자퍼블릭블록체인계정식별정보'에 매칭된 제1참가자공개키를 추출하고, 상기 제1참가자공개키로 '단계 332-3(또는 도 11 내지 도 14에서의 단계 332-5)에서 수신한 제1참가자전자서명'을 복호화하고, 상기 복호화된 값과 상기 해시값을 대조해 일치하는지 판단한다.
본 발명의 다른 일 양상에 의하면, 연락처DB(221)에서 상기 '청약자식별정보로서의 제1참가자퍼블릭블록체인계정식별정보'에 매칭된 공개키가 추출되지 않는 경우 단계 334-3은, 제2참가자가 공지의 방법으로 상기 제1참가자로부터 제1참가자공개키를 수신 받아 제2참가자단말(220)에 입력하는 단계; 를 포함할 수 있다.
단계 334-3에서의 판단이 긍정적이면 단계 338-3이 동작된다.
단계 338-3에서 2참가자단말(220)에서 합의DB(229)에 '단계 332-3 (또는 도 10에서의 단계 332-4)에서 산출된 타임스탬프'와 '단계 334-3(또는 도 10에서의 단계 334-4)에서 추출된, 청약자식별정보로서의 제1참가자퍼블릭블록체인계정식별정보'에 매칭하여 '단계 334-3 (또는 도 10에서의 단계 334-4)에서 추출된, 청약대상문서'를 저장하고, 출력부(미도시)에 상기 청약대상문서를 소정의 실명화조건박스와 마스터패스워드입력란과 소정의 합의박스 및 거절박스와 함께 출력하고, 제2참가자가 상기 청약대상문서에 대해 합의할 것인지 판단한다.
단계 338-3에서의 판단이 긍정적이면 단계 340-3이 동작된다.
단계 340-3에서 제2참가자단말(220)에서 실명화조건박스가 선택되지 않고 제2참가자의 마스터패스워드가 입력되고 합의박스가 선택되면, 통신ID메모리(222)에서 제2참가자통신ID를 검색하고, 연락처DB(221)에서 상기 제2참가자통신ID에 매칭된 '제2참가자퍼블릭블록체인계정식별정보와 암호화된 제2참가자인증서패스워드'를 검색하고, 상기 '암호화된 제2참가자인증서패스워드'를 상기 마스터패스워드를 복호화키로 복호화하고, 비밀키저장부(223)에서 '암호화된 제2참가자의 비밀키'를 검색하고, 상기 '복호화된 제2참가자인증서패스워드'를 복호화키로 상기 '암호화된 비밀키'를 복호화하고, 연락처DB(221)에서 '단계 334-3(또는 도 10에서의 단계 334-4)에서 복호화된 청약데이터에 포함된, 청약자식별정보로서의 제1참가자퍼블릭블록체인계정식별정보'에 매칭된 '제1참가자통신ID와 제1참가자공개키'를 추출한다.
본 발명의 부가적 일 양상에 의하면, 연락처DB(221)에서 '상기 제1참가자퍼블릭블록체인계정식별정보'에 매칭된 '제1참가자통신ID와 공개키'가 추출되지 않는 경우 단계 340-3은, 제2참가자가 공지의 방법으로 상기 제1참가자통신ID를 입력하는 단계; 및 공지의 방법으로 상기 제1참가자퍼블릭블록체인계정식별정보에 매칭된 공개키가 추출되는 단계; 를 포함할 수 있다.
단계 342-3에서 제2참가자단말(220)에서 '합의자식별정보로서의, 단계 340-3(또는 도 11 내지 도 14의 단계 340-5)에서 검색된 제2참가자퍼블릭블록체인계정식별정보'와 '청약자식별정보로서의, 단계 334-3에서 복호화된 청약데이터에 청약자식별정보로서 포함된, 제1참가자퍼블릭블록체인계정식별정보'와 '합의대상문서로서의 단계 334-3에서 추출된, 청약대상문서'와 합의대상트랜잭션데이터식별정보로서의 '단계 332-3(또는 도 11 내지 도 14에서의 단계 332-5)에서 산출된 제1트랜잭션데이터의 해시값'을 포함하는 소정의 합의데이터를 전송대상데이터로서 작성하고, 상기 '전송대상데이터로서의 합의데이터'를 상기 '단계 340-3(또는 도 11 내지 도 14에서의 단계 340-5)에서 추출된 제1참가자공개키'를 암호화키로 암호화해 제2전송데이터를 작성한다.
한편 본 발명의 다른 일 양상에 의하면 단계 342-3에서 합의데이터로서의 전송대상데이터에'합의대상문서로서의 상기 청약대상문서'를 대체하여 '합의대상트랜잭션데이터로서의, 단계 332-3(또는 도 10에서의 단계 332-4, 또는 도 11 내지 도 14에서의 단계 332-5, 또는 도 15에서의 단계 332-6, 또는 도 16 내지 도 20에서의 단계 332-7)에서 수신한, 제1트랜잭션데이터'를 포함할 수 있다. 상기 다른 일 양상에서의 부가적 일 양상에 의하면, 상기 제1트랜잭션데이터에 단계 332-3(또는 도 10에서의 단계 332-4, 또는 도 11 내지 도 14에서의 단계 332-5, 또는 도 15에서의 단계 332-6, 또는 도 16 내지 도 20에서의 단계 332-7)에서 상기 제1트랜잭션데이터에 매칭하여 수신한, 제1참가자전자서명'을 매칭하여 포함할 수도 있다.
단계 360-3에서 제2참가자단말(220)에서, '단계 342-3(또는 도 10에서의 단계 342-4, 또는 도 15에서의 단계 342-6)에서 작성된 제2전송데이터'와 '송신자식별정보로서의, 단계 340-3(또는 도 11 내지 도 14에서의 단계 340-5)에서 검색된 제2참가자퍼블릭블록체인계정식별정보'와 '수신자식별정보로서의, 단계 334-3(또는 도 10에서의 단계 334-4)에서 복호화된 청약데이터에 청약자식별정보로서 포함된, 제1참가자퍼블릭블록체인계정식별정보'와 '송신자통신ID로서의, 단계 340-3(또는 도 11 내지 도 14에서의 단계 340-5)에서 검색된 제2참가자통신ID'와 '수신자통신ID로서의, 단계 340-3(또는 도 11 내지 도 14에서의 단계 340-5)에서 상기 제1참가자퍼블릭블록체인계정식별정보에 매칭하여 추출된 제1참가자통신ID'를 포함하는 제2트랜잭션데이터를 작성하고, 상기 제2트랜잭션데이터의 해시값을 산출하고, 상기 해시값을 '단계 340-3(또는 도 11 내지 도 14에서의 단계 340-5)에서 복호화된 비밀키'를 암호화키로 암호화해 상기 제2트랜잭션데이터에 대한 제2참가자의 전자서명(이하 "제2참가자전자서명"이라 한다)을 생성하고, 상기 제2트랜잭션데이터에 상기 제2참가자전자서명을 매칭해 제2오쏘리티노드(210)로 전송한다.
단계 370-3에서 제2오쏘리티노드(210)가 '단계 360-3에서 전송된, 제2참가자전자서명이 매칭된 제2트랜잭션데이터'를 수신하면, 회원DB(211)에서 '상기 제2트랜잭션데이터에 포함된, 송신자식별정보로서의 제2참가자퍼블릭블록체인계정식별정보와 송신자통신ID로서의 제2참가자통신ID 중 하나이상'에 매칭된 제2참가자공개키를 검색하고, 상기 제2트랜잭션데이터의 해시값을 산출하고, 상기 제2참가자공개키로 상기 제2참가자전자서명을 복호화하고, 상기 복호화된 값을 상기 제2트랜잭션데이터의 해시값과 대조하여 일치하는지 판단한다.
단계 370-3에서의 판단이 긍정적인 경우 단계 372-3이 동작된다.
단계 372-3에서 제2오쏘리티노드(210)의 대기트랜잭션DB(214)에 '단계 370-3에서 산출된 제2트랜잭션데이터의 해시값' 및 소정의 타임스탬프에 매칭하여, '단계 370-3에서 수신한, 제2참가자전자서명이 매칭된 제2트랜잭션데이터'를 저장하고, 상기 '제2참가자전자서명이 매칭된 제2트랜잭션데이터'를 '상기 제2트랜잭션데이터에서 수신자통신ID로서 포함된, 제1참가자통신ID'에 해당하는 제1오쏘리티노드(110)로 중계 전송하고, 상기 '제2트랜잭션데이터의 해시값 및 타임스탬프에 매칭된, 제2참가자전자서명이 매칭된 제2트랜잭션데이터'를 '상기 제2트랜잭션데이터에서 송신자통신ID로서 포함된, 제2참가자통신ID'에 해당하는 제2참가자단말(220)로 전송한다.
본 발명의 부가적 일 양상에 의하면 단계 372-3은, 상기 제2참가자단말(220)에서 상기 제2트랜잭션데이터의 해시값을 산출하는 단계; 및 제2참가자단말(220)에서 상기 제2오쏘리티노드(210)로 '소정의 제2참가자본인인증정보와 상기 제2트랜잭션데이터의 해시값'과 소정의 '대기트랜잭션DB(214) 검색신청정보' 및 '검색된 정보 다운로드신청정보'를 전송하는 단계; 를 포함할 수 있다.
단계 374-3에서 제2참가자단말(220)에서 '단계 372-3에서 전송된, 제2트랜잭션데이터의 해시값 및 타임스탬프와 제2참가자전자서명이 매칭된 제2트랜잭션데이터'를 수신하면, 증빙DB(224)의 발신서브DB(미도시)에 상기 '제2트랜잭션데이터의 해시값 및 타임스탬프'에 매칭하여 상기 '제2참가자전자서명이 매칭된 제2트랜잭션데이터'를 저장한다.
단계 378-3에서 제1오쏘리티노드(110)가 '단계 372-3에서 전송된, 제2참가자전자서명이 매칭된 제2트랜잭션데이터'를 수신하면, '상기 제2트랜잭션데이터에서 수신자통신ID로서 포함된, 제1참가자통신ID'에 매칭되는 제1참가자단말(120)로 상기 '제2참가자전자서명이 매칭된 제2트랜잭션데이터'를 중계 전송하고, 상기 제2트랜잭션데이터의 해시값 및 타임스탬프를 산출하고, 대기트랜잭션DB(114)에 상기 제2트랜잭션데이터의 '해시값 및 타임스탬프'에 매칭하여 상기 '제2참가자전자서명이 매칭된 제2트랜잭션데이터'를 저장한다.
본 발명의 부가적 일 양상에 의하면 단계 378-3은, 상기 제2참가자전자서명이 매칭된 제2트랜잭션데이터 를 수신하는 단계; 상기 제2트랜잭션데이터의 해시값을 산출하는 단계; 공지의 방법으로 '상기 제2트랜잭션데이터에 포함된, 송신자식별정보로서의 제2참가자퍼블릭블록체인계정식별정보'에 매칭되는 공개키를 추출하고, 상기 공개키로 상기 제2참가자전자서명을 복호화하고, 상기 복호화된 값이 상기 해시값과 일치하는지 판단하는 단계; 및 상기 판단이 긍정적인 경우에 한해 상기와 같이 중계 전송하고 대기트랜잭션DB에 저장하는 단계; 를 포함할 수도 있다.
본 발명의 부가적 일 양상에 의하면 상기 제1오쏘리티노드(110)는 제1통신서버(140)를 겸할 수 있으며, 이러한 양상에서 단계 378-3은, 제1참가자단말(120)이 공지의 방법으로 제1통신서버(140)를 겸하는 제1오쏘리티노드(110)에 접속하고, 제1통신서버(140)로 소정의 제1참가자본인인증정보와 소정의 대기트랜잭션DB검색신청정보 및 '검색된 정보 다운로드신청정보'를 전송하는 단계; 및 제1통신서버(140)가 제1참가자단말(120)로 상기 대기트랜잭션DB(114)에 저장된 '제2참가자전자서명이 매칭된 제2트랜잭션데이터'를 전송하는 단계; 를 포함할 수 있다.
단계 380-3에서 제1참가자단말(120)에서 '단계 378-3에서 전송된, 제2참가자전자서명이 매칭된 제2트랜잭션데이터'를 수신하면, 상기 제2트랜잭션데이터의 해시값과 타임스탬프를 산출하고, 증빙DB(124)의 수신서브DB(미도시)에 상기 '제2트랜잭션데이터의 해시값 및 타임스탬프'에 매칭하여 상기 '제2참가자전자서명이 매칭된 제2트랜잭션데이터'을 저장하고, 출력부(미도시)에 마스터패스워드입력란과 확인박스를 출력한다.
단계 382-3에서 제1참가자단말(120)에서 제1참가자의 마스터패스워드가 입력되고 확인박스가 선택되면, 통신ID메모리(122)에서 제1참가자통신ID를 검색하고, 연락처DB(121)에서 상기 제1참가자통신ID에 매칭된 '제1참가자퍼블릭블록체인계정식별정보와 암호화된 제1참가자인증서패스워드'를 검색하고, 상기 마스터패스워드를 복호화키로 상기 '암호화된 제1참가자인증서패스워드'를 복호화하고, 비밀키저장부(123)에서 '암호화된 제1참가자의 비밀키'를 검색하고, 상기 복호화된 제1참가자인증서패스워드를 복호화키로 상기 '암호화된 비밀키'를 복호화하고, '단계 380-3 (또는 도 11 내지 도 14에서의 단계 380-5)에서 수신된 제2트랜잭션데이터에 포함된, 제2전송데이터'를 상기'복호화된 비밀키'를 복호화키로 복호화해 합의데이터를 산출하고, 상기 합의데이터에서 '합의자식별정보로서의 제2참가자퍼블릭블록체인계정식별정보'와 '합의대상문서로서의 단계 334-3에서 추출된, 청약대상문서'와 '합의대상트랜잭션데이터식별정보로서의 제1트랜잭션데이터의 해시값'을 추출하고, 합의트랜잭션데이터식별정보로서의 '상기 제2트랜잭션데이터의 해시값'을 산출하고, 연락처DB(121)에서 상기 '합의자식별정보로서의 제2참가자퍼블릭블록체인계정식별정보'에 매칭된 공개키를 추출하고, 상기 공개키로 '단계 380-3(또는 도 11 내지 도 14에서의 단계 380-5)에서 수신된 제2참가자전자서명'을 복호화하고, 상기 복호화된 값과 상기 제2트랜잭션데이터의 해시값을 대조해 일치하는지 판단한다.
한편, 단계 342-3에서의 다른 일 양상이 실시되는 경우, 단계 382-2에서 상기 합의데이터에서 '합의대상문서로서의 단계 334-3에서 추출된, 청약대상문서'를 대체하여 '합의대상트랜잭션데이터로서의, 단계 332-3(또는 도 10에서의 단계 332-4, 또는 도 11 내지 도 14에서의 단계 332-5, 또는 도 15에서의 단계 332-6, 또는 도 16 내지 도 20에서의 단계 332-7)에서 수신한, 제1트랜잭션데이터'를 추출한다.
본 발명의 다른 일 양상에 의하면, 연락처DB(121)에서 상기 '합의자식별정보로서의 제2참가자퍼블릭블록체인계정식별정보'에 매칭된 공개키가 추출되지 않는 경우 단계 382-3은, 제1참가자가 공지의 방법으로 상기 제2참가자로부터 제2참가자공개키를 수신 받아 제1참가자단말(120)에 입력하는 단계; 를 포함할 수 있다.
단계 382-3에서의 판단이 긍정적이면 단계 386-3이 동작된다.
단계 386-3에서 제1참가자단말(120)의 합의DB(129)에서 '단계 382-3(또는 도 10에서의 단계 382-4 또는 도 15에서의 단계 382-4)에서 추출된, 합의대상트랜잭션데이터식별정보로서의, 제1트랜잭션데이터의 해시값'에 매칭된 청약대상문서를 검색하고, 상기 청약대상문서를 '단계 382-3(또는 도 10에서의 단계 382-4 또는 도 15에서의 단계 382-4)에서 추출된, 합의대상문서'와 대조하여 일치하는지 판단한다.
한편 단계 342-3에서의 다른 일 양상이 실시되는 경우 단계 386-3에서는, 상기 동작을 대체하여, 제1참가자단말(120)의 증빙DB(124)의 발신서브DB(미도시)에서 '단계 382-3(또는 도 10에서의 단계 382-4, 또는 도 15에서의 단계 382-4)에서 추출된, 합의대상트랜잭션데이터식별정보로서의, 제1트랜잭션데이터의 해시값'에 매칭된 소정의 트랜잭션데이터를 발신트랜잭션데이터로서 추출하고, 상기 발신트랜잭션데이터와 '단계 382-3에서 추출된 제1트랜잭션데이터'가 서로 일치하는지 판단한다. 본 발명의 부가적 일 양상에 의하면 상기 양 트랜잭션데이터의 일치여부를 판단하는 방법은 상기 양 트랜잭션데이터의 해시값을 비교하는 방법이다.
단계 386-3에서 일치하는 것으로 판단한 경우 단계 388-3이 동작된다.
단계 388-3에서 제1참가자단말(120)의 합의DB(129)에 '단계 382-3(또는 도 10에서의 단계 382-4)에서 추출된 합의대상트랜잭션데이터식별정보로로서의 제1트랜잭션데이터의 해시값'에 매칭하여 '단계 382-3(또는 도 10에서의 단계 382-4)에서 산출된, 합의트랜잭션데이터식별정보로서의 상기 제2트랜잭션데이터의 해시값'과 '상기 제2트랜잭션데이터를 수신한 시점에 매칭된 소정의 타임스탬프'를 저장한다.
단계 390-3에서 제1참가자단말(120)의 증빙DB(124)의 발신서브DB(미도시)에서 '단계 388-3에서 합의DB(129)에 저장된, 합의대상트랜잭션데이터식별정보로로서의 제1트랜잭션데이터의 해시값'에 매칭된 '제1참가자전자서명이 매칭된 제1트랜잭션데이터'를 검색하고, '단계 388-3에서 합의DB(129)에 저장된, 합의트랜잭션데이터식별정보로서의 제2트랜잭션데이터의 해시값'에 매칭된 '제2참가자전자서명이 매칭된 제2트랜잭션데이터'를 검색하고, 상기 '제1트랜잭션데이터 및 제1참가자전자서명'과 상기 '제2트랜잭션데이터 및 제2참가자전자서명'에 대한 루트해시값이 산출되고, 상기 루트해시값과 '청약자식별정보로서의, 단계 382-3에서 검색된 제1참가자퍼블릭블록체인계정식별정보'와 '합의자식별정보로서의, 단계 382-3에서 복호화된 합의데이터에 포함된, 2참가자퍼블릭블록체인계정식별정보'를 포함하는 소정의 합의증빙해시데이터가 공증대상문서로서 작성되고, 출력부(미도시)에 마스터패스워드입력란과 공증신청박스가 출력된다.
단계 392-3에서 제1참가자단말(120)에서 마스터패스워드입력란에 제1참가자의 마스터패스워드가 입력되고 공증신청박스가 선택되면, 통신ID메모리(122)에서 제1참가자통신ID를 검색하고, 연락처DB(121)에서 상기 제1참가자통신ID에 매칭된 '제1참가자퍼블릭블록체인계정식별정보와 암호화된 제1참가자인증서패스워드'를 검색하고, 상기 마스터패스워드를 복호화키로 '상기 암호화된 제1참가자인증서패스워드'를 복호화하고, 비밀키저장부(123)에서 '암호화된 제1참가자의 비밀키'를 검색하고, 상기 '복호화된 인증서패스워드'를 복호화키로 상기 '암호화된 제1참가자의 비밀키'를 복호화하고, '전송데이터이자 전송대상문서'로서의'단계 390-3(또는 도 11 내지 도 14에서의 단계 390-5)에서 작성된 공증대상문서'와 '공증신청자식별정보로서의 상기 제1참가자퍼블릭블록체인계정식별정보'와 '공증신청자통신ID로서의 상기 제1참가자통신ID'와 '공증피신청자식별정보로서의 제1오쏘리티서버퍼블릭블록체인계정식별정보'를 포함하는 소정의 공증신청트랜잭션데이터를 작성하고, 상기 공증신청트랜잭션데이터의 해시값을 산출하고, 상기 해시값을 상기 '복호화된 비밀키'로 암호화해 제1참가자전자서명을 생성한다.
단계 394-3에서 제1참가자단말(120)에서 '단계 392-3에서 작성된 공증신청트랜잭션데이터'에 '단계 392-3에서 생성된 제1참가자전자서명'을 매칭해 제1오쏘리티노드(110)로 전송하고, 상기 공증신청트랜잭션데이터의 해시값을 산출하고, 증빙DB(124)의 발신서브DB(미도시)에 '상기 공증신청트랜잭션데이터의 해시값과 소정의 타임스탬프'에 매칭해 상기 '제1참가자전자서명이 매칭된 공증신청트랜잭션데이터'를 저장한다.
단계 396-3에서 제1오쏘리티노드(110)가 '단계 394-3에서 전송된, 제1참가자전자서명이 매칭된 공증신청트랜잭션데이터'를 수신하면, 상기 공증신청트랜잭션데이터의 해시값을 산출하고, 회원DB(111)에서 '상기 공증신청트랜잭션데이터에 포함된, 공증신청자식별정보로서의 제1참가자퍼블릭블록체인계정식별정보와 공증신청자통신ID로서의 제1참가자통신ID 중 하나이상'에 매칭된 공개키를 검색하고, 상기 공개키를 복호화키로 상기 제1참가자전자서명을 복호화하고, 상기 복호화된 값을 상기 해시값과 대조하여 일치하는지 판단한다.
단계 396-3에서의 판단이 긍정적인 경우 단계 398-3이 동작된다.
단계 398-3에서 대기트랜잭션DB(114)에 '단계 396-3에서 산출된 공증신청트랜잭션데이터의 해시값'및 소정의 타임스탬프에 매칭하여, '단계 396-3에서 수신된, 제1참가자전자서명이 매칭된 공증신청트랜잭션데이터'를 저장한다.
단계 400-3에서 소정의 프라이빗블록 생성주기에 따라 '제1오쏘리티노드(110)와 제2오쏘리티노드(210)중 하나이상'에서 자신의 대기트랜잭션DB(114, 214)에서 '단계 324-3(또는 도 11 내지 도 14에서의 단계 324-5) 또는 단계 328-3(또는 도 11 내지 도 14에서의 단계 328-5)에서 저장된 제1트랜잭션데이터와, 단계 372-3(또는 도 11 내지 도 14에서의 단계 372-5) 또는 단계 378-3(또는 도 11 내지 도 14에서의 단계 378-5)에서 저장된 제2트랜잭션데이터와, 단계 398-3에서 저장된 공증신청트랜잭션데이터 중 하나이상'을 포함하는 '소정 방법으로 선택된 트랜잭션데이터들'을 각각의 매칭된 '전자서명들 및 타임스탬프들 및 해시값들'과 매칭하여 추출하고, '상기 추출된, 트랜잭션데이터들과 전자서명들'의 루트해시값을 산출하고, 공지의 방법으로 프라이빗블록체인네트웍상의 직전프라이빗블록ID를 검색하고, 상기 직전프라이빗블록ID와 상기 루트해시값과 소정의 타임스탬프를 포함하는 소정의 프라이빗블록헤더를 생성하고, 상기 프라이빗블록헤더와 '상기 루트해시값 산출에 이용된 트랜잭션데이터들'과 '상기 각 트랜잭션데이터별로 매칭된 작성자의 전자서명'들과 상기 각 트랜잭션데이터들의 식별정보들로서의 '상기 각각의 해시값 및 타임스탬프들'을 포함하는 소정의 프라이빗블록을 생성하고, 상기 프라이빗블록헤더의 해시값을 상기 프라이빗블록의 식별정보로서 산출하고, 프라이빗분산원장(112, 212)에 상기 프라이빗블록식별정보에 매칭하여 상기 프라이빗블록을 저장하고, 프라이빗피어DB(117, 217)에서 '제2오쏘리티노드(210)와 제1오쏘리티노드(110) 중 상대방'을 포함하는 프라이빗피어노드들의 접속주소들을 검색하고, 상기 프라이빗블록을 상기 각 접속주소에 해당하는 '제2오쏘리티노드(210)와 제1오쏘리티노드(110) 중 상대방'을 포함하는 오쏘리티노드들로 전송하고, 대기트랜잭션DB(114, 214)에서 '상기 프라이빗블록에 포함된, 트랜잭션데이터 및 전자서명'과 일치하는 '트랜잭션데이터 및 전자서명'을, 매칭된 '해시값 및 타임스탬프'와 함께, 삭제한다.
본 발명의 부가적 일 양상에 의하면, 상기 '소정의 프라이빗블록 생성주기'는 각 오쏘리티노드들이 '각자 수신한 각 트랜잭션데이터에 매칭된, 상기 각 트랜잭션데이터 작성자의 전자서명'을 본 명세서에서 예시된 바와 같은 방법으로 검증할 때마다며, 이러한 양상의 경우 상기 루트해시값은 '상기 각 하나의 트랜잭션데이터와 상기 하나의 트랜잭션데이터에 매칭된 전자서명의 루트해시값'이고, '상기 루트해시값을 포함하는 블록헤더'와 '상기 각 트랜잭션데이터 및 전자서명'과 '상기 각 트랜잭션데이터 식별정보로서의 해시값 및 타임스탬프'로 하나의 프라이빗블록이 생성되고, 상기 블록헤더의 해시값이 상기 프라이빗 블록의 식별정보로서 산출된다.
한편 본 발명의 다른 일 양상에 의하면 소정의 일련번호가 상기 상기 프라이빗블록의 식별정보로서 산출될 수도 있다.
한편 본 발명의 다른 일 양상에 의하면, 상기 '소정의 프라이빗블록 생성주기'는 '소정의 시간 간격(예컨대, 15초)마다'이며, 이 경우 '각 오쏘리티노드에서 대기트랜잭션DB에 남아있는 트랜잭션데이터들 중 프라이빗블록생성 대상을 선택하는 소정의 방법'은, 상기 남아 있는 트랜잭션데이터들 중 자신이 작성한 트랜잭션데이터들만 선택하는 제1선택방법과, 프라이빗블록 생성주기마다 소정 규칙에 따라 프라이빗블록을 생성할 차례가 된 오쏘리티노드가 자신의 대기트랜잭션DB에 남아있는 모든 트랜잭션데이터를 선정하는 제2선택방법 중 하나일 수 있다.
본 발명의 또 다른 부가적 일 양상에 의하면, 단계 400-3에서 프라이빗분산원장(112, 212)에 상기 프라이빗블록식별정보에 매칭하여 상기 프라이빗블록을 저장하는 동작은, 상기 프라이빗분산원장(112, 212)의 헤더서브DB(미도시)에 상기 프라이빗블록의 식별정보에 매칭하여 상기 프라이빗블록헤더를 저장하는 동작; 및 상기 프라이빗분산원장(112, 212)의 트랜잭션데이터서브DB(미도시)에 '상기 프라이빗블록에 포함된 각 트랜잭션데이터'별로 '상기 트랜잭션데이터의 해시값 및 타임스탬프'에 매칭하여 '상기 각 트랜잭션데이터'와 '상기 각 트랜잭션데이터 작성자의 전자서명'과 '상기 각 트랜잭션데이터가 포함된 프라이빗블록의 식별정보'를 저장하는 동작; 을 포함한다.
단계 402-3에서 '제2오쏘리티노드(210)와 제1오쏘리티노드(110) 중, 단계 400-3에서 프라이빗블록을 전송한 오쏘리티노드가 아닌 오쏘리티노드'를 포함하는 소정의 오쏘리티노드들이 '단계 400-3에서 전송된, 블록헤더와 트랜잭션데이터들과 상기 각 트랜잭션데이터별로 매칭된 전자서명들을 포함하는, 프라이빗블록'을 수신하면, 상기 각 트랜잭션데이터에 포함된 '송신자식별정보로서의, 제1참가자퍼블릭블록체인계정식별정보(제1트랜잭션데이터 등의 경우)와 제2참가자퍼블릭블록체인계정식별정보(제2트랜잭션데이터 등의 경우) 중 하나'를 포함한 '상기 트랜잭션데이터 송신자의 퍼블릭블록체인계정식별정보'에 매칭되는 공개키들을 공지의 방법으로 추출하고, 상기 '각 공개키에 매칭되는 각 트랜잭션데이터'의 해시값을 산출하고, 상기 '각 공개키에 매칭된 각 전자서명'을 상기 각 공개키로 복호화하고, '상기 각 복호화된 값'들이 모두 '상기 각 매칭된 해시값'들과 일치하는지 판단한다.
단계 402-3에서의 판단이 긍정적인 각 오쏘리티노드에서, 도 4에서의 단계 404 내지 단계 410이 동작된다.
도 10은 본 발명의 하이브리드블록체인 이용한 존재증명 방법의 바람직한 일 실시예에서, '프라이빗블록체인계정을 보유한 오쏘리티노드'의 회원이며 퍼블릭블록체인계정을 보유한 참가자들간 익명으로 합의한 기록을 본 발명의 하이브리드블록체인네트웍에 익명으로 안전하게 분산 저장하는 동작 다른 일 실시예를 설명한 도면이다.
단계 302-4에서 제1참가자단말(120)에서 소정의 청약대상문서가 선택되고 '수신자통신ID로서의 제2참가자통신ID'가 입력되고 실명화조건박스가 선택되지 않고 제1참가자의 마스터패스워드가 입력되고 전송박스가 선택되면, 통신ID메모리(122)에서 제1참가자통신ID를 검색하고, 연락처DB(121)에서 상기 제1참가자통신ID에 매칭된 '제1참가자퍼블릭블록체인계정식별정보와 암호화된 제1참가자인증서패스워드'를 검색하고, 연락처DB(121)에서 상기 제2참가자통신ID에 매칭된 '제2참가자퍼블릭블록체인계정식별정보 및 제2참가자공개키'를 검색하고, '청약자식별정보로서의 상기 제1참가자퍼블릭블록체인계정식별정보'와 '피청약자식별정보로서의 상기 제2참가자퍼블릭블록체인계정식별정보와 상기 청약대상문서를 포함하는 소정의 청약데이터를 전송대상데이터로서 작성하고, 일회용키생성부(125)가 공지의 방법으로 랜덤하게 임의의 일회용키를 생성하고, 상기 청약데이터를 상기 일회용키로 암호화하여 제1전송데이터를 작성하고, 상기 마스터패스워드를 복호화키로 상기'암호화된 제1참가자인증서패스워드'를 복호화하고, 비밀키저장부(123)에서 '암호화된 제1참가자의 비밀키'를 검색하고, 상기 '복호화된 제1참가자인증서패스워드'를 복호화키로 상기 '암호화된 제1참가자의 비밀키'를 복호화하고, 상기 작성된 제1전송데이터'와 '송신자식별정보로서의 상기 제1참가자퍼블릭블록체인계정식별정보'와 '수신자식별정보로서의 상기 제2참가자퍼블릭블록체인계정식별정보'와 '송신자통신ID로서의 상기 제1참가자통신ID'와 '수신자통신ID로서의 상기 제2참가자통신ID'를 포함하는 제1트랜잭션데이터를 작성하고, 상기 제1트랜잭션데이터의 해시값을 산출하고, 상기 해시값을 상기 '복호화된 비밀키'를 암호화키로 암호화해 '상기 제1트랜잭션데이터에 대한 제1참가자전자서명을 생성하고, 상기 제1참가자전자서명을 매칭한 상기 제1트랜잭션데이터를 제1오쏘리티노드(110)로 전송하고, 상기 제1트랜잭션데이터의 타임스탬프를 산출하고, 상기 청약대상문서의 해시값을 산출하고, 합의DB(129)에 상기 청약대상문서의 해시값에 매칭하여, 상기 제1트랜잭션데이터의 해시값 및 타임스탬프와 상기 청약대상문서를 저장한다.
단계 304-4에서 제1참가자단말(120)에서 '단계 302-4(또는 도 15의 단계 302-6)에서 생성된 일회용키'를 '단계 302-4(또는 도 15의 단계 302-6)에서 검색된 제2참가자공개키'로 암호화하고, 상기 '제2참가자공개키로 암호화된 일회용키'를 '트렌잭션데이터식별정보로서의, 단계 302-4(또는 도 15의 단계 302-6)에서 산출된, 제1트랜잭션데이터의 해시값'에 매칭하여 '단계 302-4(또는 도 15의 단계 302-6)에서 입력된 제2참가자통신ID'에 매칭되는 제2참가자단말(220)로 전송하고, '단계 302-4(또는 도 15의 단계 302-6)에서 입력된 마스터패스워드'를 암호화키로 '단계 302-4(또는 도 15의 단계 302-6)에서 생성된 일회용키'를 암호화하고, 일회용키DB(126)에서 '단계 302-4(또는 도 15의 단계 302-6)에서 합의DB(129)에 저장된, 제1트랜잭션데이터의 해시값 및 타임스탬프'에 매칭하여 상기 '마스터패스워드로 암호화된 일회용키'를 저장한다.
도 7 내지 도 9에서의 단계 322-3 내지 단계 328-3이 동작된다.
단계 332-4에서 제2참가자단말(220)이 단계 304-4에서 전송된 '트렌잭션데이터식별정보로서의 제1트랜잭션데이터의 해시값에 매칭된, 암호화된 일회용키'를 수신하고, '단계 328-3에서 전송된, 제1참가자전자서명이 매칭된 제1트랜잭션데이터'를 수신하면, 상기 제1트랜잭션데이터의 해시값과 소정의 타임스탬프를 산출하고, 증빙DB(224)의 수신서브DB(미도시)에 상기 '트렌잭션데이터식별정보로서의, 제1트랜잭션데이터의 해시값 및 타임스탬프'에 매칭하여 상기 '제1참가자전자서명이 매칭된 제1트랜잭션데이터'를 저장하고, 출력부(미도시)에 마스터패스워드입력란과 확인박스를 출력한다.
단계 334-4에서 제2참가자단말(220)에서 제2참가자의 마스터패스워드가 입력되고 확인박스가 선택되면, 통신ID메모리(222)에서 제2참가자통신ID를 검색하고, 연락처DB(221)에서 상기 제2참가자통신ID에 매칭된 '제2참가자퍼블릭블록체인계정식별정보와 암호화된 제2참가자인증서패스워드'를 검색하고, 상기 마스터패스워드를 복호화키로 상기 '암호화된 제2참가자인증서패스워드'를 복호화하고, 비밀키저장부(223)에서 '암호화된 제2참가자의 비밀키'를 검색하고, 상기 복호화된 제2참가자인증서패스워드로 상기 '암호화된 비밀키'를 복호화하고, '단계 332-4(또는 도 15의 단계 332-6)에서 수신된, 암호화된 일회용키'를 상기 '복호화된 비밀키'를 복호화키로 복호화하고, '단계 332-4(또는 도 15의 단계 332-6)에서 수신된 제1트랜잭션데이터에 포함된, 제1전송데이터'를 상기 '복호화된 일회용키'를 복호화키로 복호화해 청약데이터를 산출하고, 상기 청약데이터에서 '청약자식별정보로서의 제1참가자퍼블릭블록체인계정식별정보'와 청약대상문서를 추출하고, 상기 제1트랜잭션데이터의 해시값을 산출하고, 연락처DB(221)에서 상기 '청약자식별정보로서의 제1참가자퍼블릭블록체인계정식별정보'에 매칭된 제1참가자공개키를 추출하고, 상기 제1참가자공개키로 '단계 332-4(또는 도 15의 단계 332-6)에서 수신한 제1참가자전자서명'을 복호화하고, 상기 상기 복호화된 값과 상기 해시값을 대조해 일치하는지 판단한다.
단계 334-4에서의 판단이 긍정적이면 단계 336-4가 동작된다.
단계 336-4에서 제2참가자단말(220)에서 '단계 334-4에서 입력된 마스터패스워드'를 암호화키로 '단계 334-4에서 복호화된 일회용키'를 암호화하고, 일회용키DB(226)에 '단계 332-4(또는 도 15의 단계 332-6)에서 상기 암호화된 일회용키와 매칭하여 수신된, 트렌잭션데이터식별정보로서의 제1트랜잭션데이터의 해시값'에 매칭하여 상기 '마스터패스워드를 암호화키로 암호화된 일회용키'를 저장한다.
도 7 내지 도 9에서의 단계 338-3 내지 단계 340-3이 동작된다.
단계 342-4에서 제2참가자단말(220)에서 '합의자식별정보로서의, 단계 340-3(또는 도 11 내지도 14의 단계 340-5, 또는 도 15의 단계 340-6)에서 검색된 제2참가자퍼블릭블록체인계정식별정보'와 '청약자식별정보로서의, 단계 334-4에서 복호화된 청약데이터에 청약자식별정보로서 포함된, 제1참가자퍼블릭블록체인계정식별정보'와 '합의대상문서로서의 단계 334-4에서 추출된, 청약대상문서'와 합의대상트랜잭션데이터식별정보로서의 '단계 332-4(또는 도 15의 단계 332-6)에서 산출된 제1트랜잭션데이터의 해시값'을 포함하는 소정의 합의데이터를 전송대상데이터로서 작성하고, 상기 '전송대상데이터로서의 합의데이터'를 '단계 334-4에서 복호화된 일회용키'를 암호화키로 암호화하고, 상기 '합의대상트랜잭션데이터식별정보로서의 제1트랜잭션데이터의 해시값'을 매칭해 제2전송데이터를 작성한다.
도 7 내지 도 9의 단계 342-3에서의 다른 일 양상은 단계 342-4에서도 적용가능하다.
도 7 내지 도 9에서의 단계 360-3 내지 단계 380-3이 동작된다.
단계 382-4에서 제1참가자단말(120)에서 제1참가자의 마스터패스워드가 입력되고 확인박스가 선택되면, 통신ID메모리(122)에서 제1참가자통신ID를 검색하고, 연락처DB(121)에서 상기 제1참가자통신ID에 매칭된 '제1참가자퍼블릭블록체인계정식별정보와 암호화된 제1참가자인증서패스워드'를 검색하고, 상기 마스터패스워드를 복호화키로 상기 '암호화된 제1참가자인증서패스워드'를 복호화하고, 비밀키저장부(123)에서 '암호화된 제1참가자의 비밀키'를 검색하고, 상기 복호화된 제1참가자인증서패스워드를 복호화키로 상기 '암호화된 비밀키'를 복호화하고, '단계 380-3(또는 도 15에서의 단계 380-5)에서 수신된 제2트랜잭션데이터에 포함된, 제2전송데이터'에서 서로매칭된 '암호화된 합의데이터'와 '합의대상트랜잭션데이터식별정보로서의 제1트랜잭션데이터의 해시값'을 추출하고, 일회용키DB(126)에서 상기 '제1트랜잭션데이터의 해시값'에 매칭된 '마스터패스워드로 암호화된 일회용키'를 검색하고, 상기 '마스터패스워드로 암호화된 일회용키'를 상기 마스터패스워드를 복호화키로 복호화하고, 상기 '암호화된 합의데이터'를 상기'복호화된 일회용키'를 복호화키로 복호화해 합의데이터를 산출하고, 상기 합의데이터에서 '합의자식별정보로서의 제2참가자퍼블릭블록체인계정식별정보'와 '합의대상문서로서의 단계 334-4에서 추출된, 청약대상문서'와 '합의대상트랜잭션데이터식별정보로서의 제1트랜잭션데이터의 해시값'을 추출하고, 합의트랜잭션데이터식별정보로서의 '상기 제2트랜잭션데이터의 해시값'을 산출하고, 연락처DB(121)에서 상기 '합의자식별정보로서의 제2참가자퍼블릭블록체인계정식별정보'에 매칭된 공개키를 추출하고, 상기 공개키로 '단계 380-3에서 수신된 제2참가자전자서명'을 복호화하고, 상기 복호화된 값과 상기 제2트랜잭션데이터의 해시값을 대조해 일치하는지 판단한다.
도 7 내지 도 9의 단계 382-3에서의 다른 일 양상은 단계 382-4에서도 적용 가능하다.
단계 382-4에서의 판단이 긍정적이면, 도 7 내지 도 9의 단계 386-3 내지 단계 388-3이 동작된 후, 도 7 내지 도 9의 단계 400-3 내지 단계 410-3이 동작된다.
이상 도 7 내지 도 9와 도 10에서 합의 당사자 모두가 '본 발명의 프라이빗블록체인계정을 보유한 오쏘리티노드'의 회원이며 본 발명의 퍼블릭블록체인계정을 보유한 자들인 경우의 실시예를 설명하였다. 그러나, 본 발명과 유관한 업계의 전문지식을 보유한 자라면, 합의 당사자 중 일방만 '본 발명의 프라이빗블록체인계정을 보유한 오쏘리티노드'의 회원이며 본 발명의 퍼블릭블록체인계정을 보유한 자인 경우에도 유사한 실시가 가능함을 용이하게 알 수 있을 것이다. 따라서, 상기 경우의 실시예에 대해서는 본 명세서에서 설명을 생략한다.
도 11 내지 도 14는 본 발명의 하이브리드블록체인 이용한 존재증명 방법의 바람직한 일 실시예에서, '프라이빗블록체인계정을 보유한 오쏘리티노드'의 회원이며 퍼블릭블록체인계정을 보유한 참가자들간 실명으로 합의한 기록을 본 발명의 하이브리드블록체인네트웍에 익명으로 안전하게 분산 저장하는 동작 일 실시예를 설명한 도면이다.
단계 302-5에서 제1참가자단말(120)에서 소정의 청약대상문서가 선택되고 '상기 청약대상문서 수신자의 통신ID로서의, 제2참가자통신ID'가 입력되고 실명화조건박스가 선택되고 제1참가자의 마스터패스워드가 입력되고 전송박스가 선택되면, 통신ID메모리(122)에서 제1참가자통신ID를 검색하고, 연락처DB(121)에서 상기 제1참가자통신ID에 매칭된 '제1참가자퍼블릭블록체인계정식별정보와 암호화된 제1참가자인증서패스워드'를 검색하고, 연락처DB(121)에서 상기 제2참가자통신ID에 매칭된 '제2참가자퍼블릭블록체인계정식별정보와 제2참가자공개키'를 검색하고, '청약자식별정보로서의 상기 제1참가자퍼블릭블록체인계정식별정보'와 '피청약자식별정보로서의 상기 제2참가자퍼블릭블록체인계정식별정보'와 상기 청약대상문서를 포함하는 소정의 청약데이터를 전송대상데이터로서 작성하고, 상기 청약데이터를 상기 제2참가자공개키로 암호화하여 제1전송데이터를 작성하고, 상기 마스터패스워드를 복호화키로 상기'암호화된 제1참가자인증서패스워드'를 복호화하고, 비밀키저장부(123)에서 '암호화된 제1참가자의 비밀키'를 검색하고, 상기 '복호화된 제1참가자인증서패스워드'를 복호화키로 상기 '암호화된 제1참가자의 비밀키'를 복호화하고, 상기 작성된 제1전송데이터'와 '송신자식별정보로서의 상기 제1참가자퍼블릭블록체인계정식별정보'와 '수신자식별정보로서의 상기 제2참가자퍼블릭블록체인계정식별정보'와 '송신자통신ID로서의 상기 제1참가자통신ID'와 '수신자통신ID로서의 상기 제2참가자통신ID'를 포함하는 제1트랜잭션데이터를 작성하고, 상기 제1트랜잭션데이터의 해시값을 산출하고, 상기 해시값을 상기 '복호화된 비밀키'로 암호화해 '상기 제1트랜잭션데이터에 대한 제1참가자전자서명'을 생성하고, 상기 제1참가자전자서명'을 매칭한 상기 제1트랜잭션데이터를 제1오쏘리티노드(110)로 전송하고, 상기 제1트랜잭션데이터의 타임스탬프를 산출하고, 상기 청약대상문서의 해시값을 산출하고, 합의DB(129)에 상기 청약대상문서의 해시값에 매칭하여, 상기 제1트랜잭션데이터의 해시값 및 타임스탬프와 상기 청약대상문서를 저장한다.
단계 312-5에서 제1참가자단말(120)의 연락처DB(121)에서 제1실명확인서버식별정보에 매칭된 '제1참가자식별정보로서의 제1참가자회원ID'와 '암호화된 제1실명확인서버용패스워드'를 검색하고, '단계 302-5(또는 도 15의 단계 302-6)에서 입력된, 제1참가자의 마스터패스워드'를 복호화키로 상기 '암호화된 제1실명확인서버용패스워드'를 복호화하고, 상기 복호화된 제1실명확인서버용패스워드를 이용하여 소정의 제1실명확인서버용본인인증정보를 산출하고, '송신자식별정보로서의 상기 제1참가자회원ID'와 '전송대상데이터이자 전송데이터'로서의 '정보제공신청자식별정보로서의 상기 제1참가자회원ID'와 '제공정보수신처식별정보로서의 제1오쏘리틴노드식별정보'와 '실명정보암호화키로서의, 단계 302-5에서 검색된 제2참가자공개키'를 포함하는 소정의 실명확인신청데이터를 작성하고, 상기 실명확인신청데이터의 해시값을 산출하고, 상기 해시값을 '단계 302-5(또는 도 15의 단계 302-6)에서 복호화된 제1참가자의 비밀키'를 암호화키로 암호화해 '상기 실명확인신청데이터에 대한 제1참가자전자서명'을 생성하고, '상기 제1참가자전자서명이 매칭된 상기 실명확인신청데이터와 상기 제1실명확인서버용본인인증정보'를 제1실명확인서버(130)로 전송한다.
본 발명의 부가적 일 양상에 의하면, 상기 제1참가자공개키는 '제1참가자가 제1실명확인서버(130)를 운영하는 제1실명확인사 앞 자신의 실명증표를 제시하며 소정의 실명확인프로세스를 완료한 후, 상기 제1실명확인서버(130)에서 소정의 방법으로 랜덤하게 생성한 후, 실명DB(131)에 상기 실명ID와 매칭하여 저장한 공개키'고, 뒤에 인용되는 제2참가자공개키는 '제2참가자가 제2실명확인서버(230)를 운영하는 제2실명확인사 앞 자신의 실명증표를 제시하며 소정의 실명확인프로세스를 완료한 후, 상기 제2실명확인서버(230)에서 소정의 방법으로 랜덤하게 생성한 후, 실명DB(231)에 상기 실명ID와 매칭하여 저장한 공개키'일 수도 있다.
본 발명의 부가적 일 양상에 의하면, 상기 산출되는 제1실명확인서버용본인인증정보는 상기 복호화된 제1실명확인서버용패스워드다.
본 발명의 부가적 일 양상에 의하면 단계 312-5는, 연락처DB(121)에서 제1실명확인서버식별정보에 매칭된 제1실명확인서버용일회용시드를 검색하는 단계; 및 제1참가자단말(120)에서 상기 '복호화된 제1실명확인서버용패스워드'를 상기 일회용시드로 암호화여 일회용본인인증정보를 제1실명확인서버용본인인증정보로서 산출하는 단계; 를 포함한다.
본 발명의 부가적 일 양상에 의하면 단계 312-5는, 제1참가자단말(120)에서 공지의 방법으로 소정의 공유변수를 산출하는 단계; 및 제1참가자단말(120)에서 상기 '복호화된 제1실명확인서버용패스워드'와 상기 공유변수를 소정의 함수에 대입하여 제1실명확인서버용본인인증정보로서 일회용본인인증정보를 산출하는 단계; 를 포함한다.
단계 314-5에서 제1실명확인서버(130)에서 '단계 312-5(또는 도 15의 단계 302-6 또는 도 16 내지 도 20에서의 단계 312-7)에서 전송된, 제1참가자전자서명이 매칭된 실명확인신청데이터와 제1실명확인서버용본인인증정보'를 수신하면, 실명DB(131)에서 '상기 실명확인신청데이터에 포함된, 정보제공신청자식별정보로서의 제1참가자회원ID'에 매칭된 '패스워드의 해시값'과 제1참가자공개키를 검색하고, 상기 수신한 제1실명확인서버용본인인증정보가 상기 '패스워드의 해시값'과 매칭되는지 판단하고, 상기 실명확인신청데이터의 해시값을 산출하고, 상기 제1참가자공개키를 복호화키로 상기 제1참가자전자서명을 복호화하고, 상기 복호화된 값과 상기 '실명확인신청데이터의 해시값'을 대조하여 일치하는지 판단한다.
본 발명의 부가적 일 양상에 의하면 상기 수신하는 본인인증정보는 '제1참가자의 제1실명확인서버용패스워드'고, 단계 314-5는 상기 수신한 제1실명확인서버용패스워드의 해시값을 산출하는 단계; 및 상기 산출된 해시값이 상기 검색된 '패스워드의 해시값'과 일치하는지 판단하는 단계; 를 포함한다.
본 발명의 부가적 다른 일 양상에 의하면 상기 수신하는 본인인증정보는 '제1참가자의 제1실명확인서버용패스워드'를 '제1참가자의 일회용시드'로 암호화한 일회용본인인증정보고, 단계 314-5는, 실명DB(131)에서 '상기 실명확인신청데이터에 포함된, 정보제공신청자식별정보로서의 제1참가자회원ID'에 매칭된 '패스워드의 해시값'과 일회용시드와 공개키를 검색하는 단계; '상기 수신한 일회용본인인증정보'를 상기 검색된 일회용시드를 복호화키로 복호화하여 상기 '제1참가자의 제1실명확인서버용패스워드'를 산출하는 단계; 상기 복호화된 '제1참가자의 제1실명확인서버용패스워드'의 해시값을 산출하는 단계; 상기 산출된 해시값이 상기 검색된 '패스워드의 해시값'과 일치하는지 판단하는 단계; 상기 판단이 긍정적인 경우 랜덤하게 일회용시드를 생성해 '상기 실명DB(131)에서 제1참가자회원ID에 매칭해 저장된 일회용시드를 업데이트 하고 상기 일회용시드를 상기 공개키로 암호화해 제1참가자단말(120)로 전송하는 단계; 및 제1참가자단말(120)이 상기 암호화된 일회용키를 자신의 비밀키로 복호화해 상기 '제2참가자의 일회용시드'를 업데이트하는 단계; 를 포함한다.
본 발명의 부가적 또 다른 일 양상에 의하면 상기 수신하는 본인인증정보는 '제2참가자의 제2실명확인서버용패스워드'와 '제2참가자의 일회용시드'와 '소정의 공유변수'를 소정의 함수에 대입하여 산출된 일회용본인인증정보고, 단계 314-5는, 제1실명확인서버(130)의 실명DB(131)에서 '상기 실명확인신청데이터에 포함된, 정보제공신청자식별정보로서의 제1참가자회원ID'에 매칭된 '패스워드의 해시값'과 일회용시드와 공개키를 검색하는 단계; 제1참가자단말(120)에서 공지의 방법으로 소정의 공유변수를 산출하는 단계; '상기 수신한 일회용본인인증정보'와 상기 검색된 일회용시드와 상기 산출된 공유변수를 소정의 역함수에 대입해 '제1참가자의 제1실명확인서버용패스워드'를 역산하는 단계; 상기 역산된 '제1참가자의 제1실명확인서버용패스워드'의 해시값을 산출하는 단계; 상기 산출된 해시값이 상기 검색된 '패스워드의 해시값'과 일치하는지 판단하는 단계; 상기 판단이 긍정적인 경우 랜덤하게 일회용시드를 생성해 '상기 실명DB(131)에서 제1참가자회원ID에 매칭해 저장된 일회용시드를 업데이트 하고 상기 일회용시드를 상기 공개키로 암호화해 제1참가자단말(120)로 전송하는 단계; 및 제1참가자단말(120)이 상기 암호화된 일회용키를 자신의 비밀키로 복호화해 상기 '제1참가자의 일회용시드'를 업데이트하는 단계; 를 포함한다.
단계 314-5에서의 판단이 모두 긍정적인 경우 단계 316-5가 동작된다,
단계 316-5에서 제1실명확인서버(130)에서 증빙DB(134)에 소정의 타임스탬프에 매칭하여 '단계 314-5에서 수신된, 제1참가자전자서명이 매칭된 실명확인신청데이터'를 저장하고, 실명DB(131)에서 '단계 314-5에서 수신한 실명확인신청데이터에 포함된, 정보제공신청자식별정보로서의 제1참가자회원ID'에 매칭된 제1참가자실명ID를 검색하고, 상기 제1참가자실명ID를 '단계 314-5에서 수신한 실명확인신청데이터에 포함된, 실명정보암호화키로서의 제2참가자공개키'로 암호화하고, '송신자식별정보로서의 소정의 제1실명확인서버식별정보'와 '수신자식별정보로서의, 상기 실명확인신청데이터에 제공정보수신처식별정보로서 포함된, 제1오쏘리티노드식별정보'와 전송데이터로서의 상기 '암호화된 제1참가자실명ID' 를 포함하는 소정의 제1실명확인트랜잭션데이터를 작성하고, 상기 제1실명확인트랜잭션데이터의 해시값을 산출하고, 소정의 방법으로 제1실명확인서버(130)의 비밀키를 추출하고, 상기 해시값을 상기 비밀키로 암호화해 상기 제1실명확인트랜잭션데이터에 대한 제1실명확인서버(130)의 전자서명을 생성하고, 상기 제1실명확인서버전자서명을 매칭한 제1실명확인트랜잭션데이터를 '상기 실명확인신청데이터에서 제공정보수신처식별정보로서 포함된 제1오쏘리티노드식별정보'에 매칭된 제1오쏘리티노드(210)'로 전송한다.
단계 322-5에서 제1오쏘리티노드(110)가 '단계 302-5(또는 도 15의 단계 302-6)에서 전송된, 제1참가자전자서명이 매칭된 제1트랜잭션데이터'를 수신하고, '단계 316-5에서 전송된, 제1실명확인서버전자서명이 매칭된 제1실명확인트랜잭션데이터'를 수신하면, 회원DB(111)에서 '상기 제1트랜잭션데이터에 포함된, 송신자식별정보로서의 제1참가자퍼블릭블록체인계정식별정보와 송신자통신ID로서의 제1참가자통신ID 중 하나이상'에 매칭된 제1참가자공개키를 검색하고, 상기 제1트랜잭션데이터의 해시값을 산출하고, 상기 제1참가자공개키로 상기 제1참가자전자서명을 복호화하고, 상기 복호화된 값과 상기 제1트랜잭션데이터의 해시값을 대조하여 일치하는지 판단하고, 회원DB(111)에서 '상기 제1실명확인트랜잭션데이터 포함된, 송신자식별정보로서의 제1실명확인서버식별정보'에 매칭된 제1실명확인서버공개키를 검색하고, 상기 제1실명확인트랜잭션데이터의 해시값을 산출하고, 상기 제1실명확인서버공개키로 상기 제1실명확인서버전자서명을 복호화하고, 상기 복호화된 값과 상기 제1실명확인트랜잭션데이터의 해시값을 대조하여 일치하는지 판단한다.
단계 322-5에서의 판단이 모두 긍정적인 경우 단계 324-5가 동작된다.
단계 324-5에서 제1오쏘리티노드(110)의 대기트랜잭션DB(114)에 '단계 322-5에서 산출된 제1트랜잭션데이터의 해시값' 및 소정의 타임스탬프에 매칭하여 '단계 322-5에서 수신한, 제1참가자전자서명이 매칭된 상기 제1트랜잭션데이터'를 저장하고, '단계 322-5에서 산출된 제1실명확인트랜잭션데이터의 해시값' 및 소정의 타임스탬프에 매칭하여 '단계 322-5에서 수신한, 제1실명확인서버전자서명이 매칭된 제1실명확인트랜잭션데이터'를 저장하고, '단계 322-5에서 수신한, 제1실명확인서버전자서명이 매칭된 제1실명확인트랜잭션데이터'를 매칭하여 '단계 322-5에서 수신한, 제1참가자전자서명이 매칭된 제1트랜잭션데이터'를 '상기 제1트랜잭션데이터에서 수신자통신ID로서 포함된, 제2참가자통신ID'에 해당하는 제2오쏘리티노드(210)로 중계 전송하고, '상기 제1트랜잭션데이터에 포함된, 송신자통신ID로서의 상기 제1참가자통신ID'에 매칭된 제1참가자단말(120)로 상기 '제1트랜잭션데이터의 해시값 및 타임스탬프에 매칭된, 제1참가자전자서명이 매칭된 제1트랜잭션데이터'와 상기 '제1실명확인트랜잭션데이터의 해시값 및 타임스탬프에 매칭된, 제1실명확인서버전자서명이 매칭된 제1실명확인트랜잭션데이터'를 전송한다.
도 7 내지 도 9의 단계 324-3에서의 부가적 일 양상들은 단계 324-5에서도 적용 가능하다.
단계 326-5에서 제1참가자단말(120)에서 '단계 324-5에서 전송된, 제1트랜잭션데이터의 해시값 및 타임스탬프와 제1참가자전자서명이 매칭된 제1트랜잭션데이터와, 제1실명확인트랜잭션데이터의 해시값 및 타임스탬프와 제1실명확인서버전자서명이 매칭된 제1실명확인트랜잭션데이터'를 수신하면, 증빙DB(124)의 발신서브DB(미도시)에 '상기 제1트랜잭션데이터의 해시값 및 타임스탬프'에 매칭하여, 상기 '제1참가자전자서명이 매칭된 제1트랜잭션데이터'를 저장하고, 상기 '제1실명확인트랜잭션데이터의 해시값 및 타임스탬프'에 매칭하여 상기 '제1실명확인서버전자서명이 매칭된 제1실명확인트랜잭션데이터'를 저장한다.
단계 328-5에서 제2오쏘리티노드(210)가 '단계 324-5에서 전송된, 제1실명확인서버전자서명이 매칭된 제1실명확인트랜잭션데이터가 매칭된, 제1참가자전자서명이 매칭된 제1트랜잭션데이터'를 수신하면, '상기 제1트랜잭션데이터에서 수신자통신ID로서 포함된, 제2참가자통신ID'에 매칭되는 제2참가자단말(220)로 상기 '제1실명확인서버전자서명이 매칭된 제1실명확인트랜잭션데이터가 매칭된, 제1참가자전자서명이 매칭된 제1트랜잭션데이터'를 중계 전송하고, 상기 제1트랜잭션데이터와 상기 제1실명확인트랜잭션데이터 각각의 해시값과 타임스탬프를 산출하고, 대기트랜잭션DB(214)에 상기 각각의 '해시값 및 타임스탬프'에 매칭하여 상기 '제1참가자전자서명이 매칭된 제1트랜잭션데이터'와 상기 '제1실명확인서버전자서명이 매칭된 제1실명확인트랜잭션데이터'를 각각 저장한다.
도 7 내지 도 9의 단계 328-3에서의 부가적 일 양상들은 단계 328-5에서도 적용 가능하다.
단계 332-5에서 제2참가자단말(220)이 '단계 328-5에서 전송된, 제1실명확인서버전자서명이 매칭된 제1실명확인트랜잭션데이터가 매칭된, 제1참가자전자서명이 매칭된 제1트랜잭션데이터'를 수신하면, 상기 제1트랜잭션데이터의 해시값과 타임스탬프를 산출하고, 증빙DB(224)의 수신서브DB(미도시)에 상기 제1트랜잭션데이터의 '해시값 및 타임스탬프'에 매칭하여 상기 '제1실명확인서버전자서명이 매칭된 제1실명확인트랜잭션데이터'와 '제1참가자전자서명이 매칭된 제1트랜잭션데이터'를 저장하고, 출력부(미도시)에 마스터패스워드입력란과 확인박스를 출력한다
도 7 내지 도 9에서의 단계 334-3이 동작된다.
단계 334-3에서의 판단이 긍정적이면 단계 338-5가 동작된다.
단계 338-5에서 제2참가자단말(220)에서 합의DB(229)에 '단계 332-5(또는 도 15의 단계 332-6)에서 산출된 타임스탬프'와 '단계 334-3에서 추출된, 청약자식별정보로서의 제1참가자퍼블릭블록체인계정식별정보'에 매칭하여 '단계 334-3에서 추출된, 청약대상문서'를 저장하고, '단계 332-5(또는 도 15에서의 단계 332-6)에서 수신된 제1실명확인트랜잭션데이터'에 포함된 '암호화된 실명ID'를 '단계 334-3에서 복호화된 비밀키'를 복호화키로 복호화하고, 출력부(미도시)에 상기 청약대상문서를 '청약자의 실명ID로서의, 상기 복호화된 실명ID'와 소정의 실명화조건박스와 마스터패스워드입력란과 소정의 합의박스 및 거절박스와 함께 출력하고, 제2참가자가 상기 청약대상문서에 대해 합의할 것인지 판단한다.
단계 338-5에서의 판단이 긍정적이면 단계 340-5가 동작된다.
단계 340-5에서 제2참가자단말(220)에서 실명화조건박스가 선택되고 제2참가자의 마스터패스워드가 입력되고 합의박스가 선택되면, 통신ID메모리(222)에서 제2참가자통신ID를 검색하고, 연락처DB(221)에서 상기 제2참가자통신ID에 매칭된 '제2참가자퍼블릭블록체인계정식별정보와 암호화된 제2참가자인증서패스워드'를 검색하고, 상기 '암호화된 제2참가자인증서패스워드'를 상기 마스터패스워드를 복호화키로 복호화하고, 비밀키저장부(223)에서 '암호화된 제2참가자의 비밀키'를 검색하고, 상기 '복호화된 제2참가자인증서패스워드'를 복호화키로 상기 '암호화된 비밀키'를 복호화하고, 연락처DB(221)에서 '단계 334-3에서 복호화된 청약데이터에 포함된, 청약자식별정보로서의 제1참가자퍼블릭블록체인계정식별정보'에 매칭된 '제1참가자통신ID와 제1참가자공개키'를 추출한다.
도 7 내지 도 9의 단계 340-3에서의 부가적 일 양상은 단계 340-5에서도 적용 가능하다.
도 7 내지 도 9에서의 단계 342-3 내지 단계 360-3이 동작된다.
단계 364-5에서 제2참가자단말(220)에서 연락처DB(221)에서 제2실명확인서버식별정보에 매칭된 '제2참가자가 제2실명확인서버(230)에 등록한 회원ID'(이하 "제2참가자회원ID"라 한다)와 '암호화된 패스워드'를 검색하고, 상기 '암호화된 패스워드'를 '단계 340-5에서 입력된 마스터패스워드'를 복호화키로 복호화하고, 상기 복호화된 패스워드를 이용하여 소정의 제2실명확인서버용본인인증정보를 산출하고, '송신자식별정보로서의 상기 제2참가자회원ID'와 '전송대상데이터이자 전송데이터'로서의 '정보제공신청자식별정보로서의 상기 제2참가자회원ID'와 '제공정보수신처식별정보로서의 제2오쏘리티노드식별정보'와 '실명정보암호화키로서의, 단계 340-5에서 추출된 제1참가자공개키'를 포함하는 소정의 실명확인신청데이터를 작성하고, 상기 실명확인신청데이터의 해시값을 산출하고, 상기 해시값을 상기 비밀키를 암호화키로 암호화해 '상기 실명확인신청데이터에 대한 제2참가자의 전자서명'을 생성하고, '상기 실명확인신청데이터와 상기 제2참가자전자서명과 상기 제2실명확인서버용본인인증정보'를 제2실명확인서버(230)로 전송한다.
본 발명의 부가적 일 양상에 의하면, 상기 산출되는 제2실명확인서버용본인인증정보는 상기 복호화된 제2실명확인서버용패스워드다.
본 발명의 부가적 일 양상에 의하면 단계 364-5(또는 도 16 내지 도 20에서의 단계 352-7)는, 연락처DB(221)에서 제2실명확인서버식별정보에 매칭된 제2실명확인서버용일회용시드를 검색하는 단계; 및 제2참가자단말(220)에서 상기 '복호화된 제2실명확인서버용패스워드'를 상기 일회용시드로 암호화여 일회용본인인증정보를 제2실명확인서버용본인인증정보로서 산출하는 단계; 를 포함한다.
본 발명의 부가적 일 양상에 의하면 단계 364-5(또는 도 16 내지 도 20에서의 단계 352-7)는, 제2참가자단말(220)에서 공지의 방법으로 소정의 공유변수를 산출하는 단계; 및 제2참가자단말(220)에서 상기 '복호화된 제2실명확인서버용패스워드'와 상기 공유변수를 소정의 함수에 대입하여 제2실명확인서버용본인인증정보로서 일회용본인인증정보를 산출하는 단계; 를 포함한다.
단계 366-5에서 제2실명확인서버(230)에서 '단계 364-5(또는 도 16 내지 도 20에서의 단계 352-7)에서 전송된, 실명확인신청데이터와 제2참가자전자서명과 제2실명확인서버용본인인증정보'가 수신되면, 실명DB(231)에서 '상기 실명확인신청데이터에 포함된, 정보제공신청자식별정보로서의 제2참가자회원ID'에 매칭된 '패스워드의 해시값'과 공개키를 검색하고, 상기 수신한 본인인증정보가 상기 '패스워드의 해시값'과 매칭되는지 판단하고, 상기 실명확인신청데이터의 해시값을 산출하고, 상기 공개키를 복호화키로 상기 제2참가자전자서명을 복호화하고, 상기 복호화된 값과 상기 '실명확인신청데이터의 해시값'을 대조하여 일치하는지 판단한다.
본 발명의 부가적 일 양상에 의하면 상기 수신하는 제2실명확인서버용본인인증정보는 '제2참가자의 제2실명확인서버용패스워드'고, 단계 366-5(또는 도 16 내지 도 20에서의 단계 354-7)는 상기 수신한 제2실명확인서버용패스워드의 해시값을 산출하는 단계; 및 상기 산출된 해시값이 상기 검색된 '패스워드의 해시값'과 일치하는지 판단하는 단계; 를 포함한다.
본 발명의 부가적 다른 일 양상에 의하면 상기 수신하는 제2실명확인서버용본인인증정보는 '제2참가자의 제2실명확인서버용패스워드'를 '제2참가자의 일회용시드'로 암호화한 일회용본인인증정보고, 단계 366-5(또는 도 16 내지 도 20에서의 단계 354-7)는, 실명DB(231)에서 '상기 실명확인신청데이터에 포함된, 정보제공신청자식별정보로서의 제2참가자회원ID'에 매칭된 '패스워드의 해시값'과 일회용시드와 공개키를 검색하는 단계; '상기 수신한 제2실명확인서버용본인인증정보'를 상기 검색된 일회용시드를 복호화키로 복호화하여 상기 '제2참가자의 제2실명확인서버용패스워드'를 산출하는 단계; 상기 복호화된 '제2참가자의 제2실명확인서버용패스워드'의 해시값을 산출하는 단계; 상기 산출된 해시값이 상기 검색된 '패스워드의 해시값'과 일치하는지 판단하는 단계; 상기 판단이 긍정적인 경우 랜덤하게 일회용시드를 생성해 '상기 실명DB(231)에서 제2참가자회원ID에 매칭해 저장된 일회용시드를 업데이트 하고 상기 일회용시드를 상기 공개키로 암호화해 제2참가자단말(220)로 전송하는 단계; 및 제2참가자단말(220)이 상기 암호화된 일회용키를 자신의 비밀키로 복호화해 상기 '제2참가자의 일회용시드'를 업데이트하는 단계; 를 포함한다.
본 발명의 부가적 또 다른 일 양상에 의하면 상기 수신하는 본인인증정보는 '제2참가자의 제2실명확인서버용패스워드'와 '제2참가자의 일회용시드'와 '소정의 공유변수'를 소정의 함수에 대입하여 산출된 제2실명확인서버용본인인증정보고, 단계 366-5(또는 도 16 내지 도 20에서의 단계 354-7)는, 제2실명확인서버(230)의 실명DB(231)에서 '상기 실명확인신청데이터에 포함된, 정보제공신청자식별정보로서의 제2참가자회원ID'에 매칭된 '패스워드의 해시값'과 일회용시드를 검색하는 단계; 제2참가자단말(220)에서 공지의 방법으로 소정의 공유변수를 산출하는 단계; '상기 수신한 제2실명확인서버용본인인증정보'와 상기 검색된 일회용시드와 상기 산출된 공유변수를 소정의 역함수에 대입해 '제2참가자의 제2실명확인서버용패스워드'를 역산하는 단계; 상기 역산된 '제2참가자의 제2실명확인서버용패스워드'의 해시값을 산출하는 단계; 상기 산출된 해시값이 상기 검색된 '패스워드의 해시값'과 일치하는지 판단하는 단계; 상기 판단이 긍정적인 경우 랜덤하게 일회용시드를 생성해 '상기 실명DB(231)에서 제2참가자회원ID에 매칭해 저장된 일회용시드를 업데이트 하고 상기 일회용시드를 상기 공개키로 암호화해 제2참가자단말(220)로 전송하는 단계; 및 제2참가자단말(220)이 상기 암호화된 일회용키를 자신의 비밀키로 복호화해 상기 '제2참가자의 일회용시드'를 업데이트하는 단계; 를 포함한다.
단계 366-5에서의 판단이 모두 긍정적인 경우 단계 368-5가 동작된다,
단계 368-5에서 제2실명확인서버(230)에서 증빙DB(234)에 소정의 타임스탬프에 매칭하여 '단계 366-5에서 수신된, 실명확인신청데이터와 제2참가자전자서명'을 저장하고, 실명DB(231)에서 '단계 366-5에서 수신한 실명확인신청데이터에 포함된, 정보제공신청자식별정보로서의 제2참가자회원ID'에 매칭된 제2참가자실명ID 를 검색하고, 상기 제2참가자실명ID를 '상기 실명확인신청데이터에 실명정보암호화키로서 포함된, 제1참가자공개키'를 암호화키로 암호화하고, '송신자식별정보로서의 소정의 제2실명확인서버식별정보'와 '수신자식별정보로서의, 상기 실명확인신청데이터에 포함된, 제공정보수신처식별정보로서의 제2오쏘리티노드식별정보'와 '전송대상데이터이자 전송데이터로서의, 상기 암호화된 제2참가자실명ID'를 포함하는 소정의 제2실명확인트랜잭션데이터를 작성하고, 상기 제2실명확인트랜잭션데이터의 해시값을 산출하고, 소정의 방법으로 제2실명확인서버(230)의 비밀키를 추출하고, 상기 비밀키를 암호화키로 상기 해시값을 암호화해 상기 제2실명확인트랜잭션데이터에 대한 제2실명확인서버(230)의 전자서명을 생성하고, '상기 제2실명확인서버전자서명이 매칭된 제2실명확인트랜잭션데이터'를 '상기 실명확인신청데이터에서 제공정보수신처식별정보로서 포함된 제2오쏘리티노드식별정보'에 매칭된 제2오쏘리티노드(210)'로 전송한다.
단계 370-5에서 제2오쏘리티노드(210)가 '단계 360-3에서 전송된, 제2참가자전자서명이 매칭된 제2트랜잭션데이터'를 수신하고, '단계 368-5에서 전송된, 제2실명확인서버전자서명이 매칭된 제2실명확인트랜잭션데이터'를 수신하면, 회원DB(211)에서 '상기 제2트랜잭션데이터에 포함된, 송신자식별정보로서의 제2참가자퍼블릭블록체인계정식별정보와 송신자통신ID로서의 제2참가자통신ID 중 하나이상'에 매칭된 제2참가자공개키를 검색하고, 상기 제2트랜잭션데이터의 해시값을 산출하고, 상기 제2참가자공개키로 상기 제2참가자전자서명을 복호화하고, 상기 복호화된 값을 상기 제2트랜잭션데이터의 해시값과 대조하여 일치하는지 판단하고, 회원DB(211)에서 '상기 제2실명확인트랜잭션데이터 포함된, 송신자식별정보로서의 제2실명확인서버식별정보'에 매칭된 제2실명확인서버공개키를 검색하고, 상기 제2실명확인트랜잭션데이터의 해시값을 산출하고, 상기 제2실명확인서버공개키로 상기 제2실명확인서버전자서명을 복호화하고, 상기 복호화된 값을 상기 제2실명확인트랜잭션데이터의 해시값과 대조하여 일치하는지 판단한다.
단계 370-5에서의 판단이 모두 긍정적인 경우 단계 372-5가 동작된다.
단계 372-5에서 제2오쏘리티노드(210)의 대기트랜잭션DB(214)에 '단계 370-5에서 산출된 제2트랜잭션데이터의 해시값' 및 소정의 타임스탬프에 매칭하여, '단계 370-5에서 수신한, 제2참가자전자서명이 매칭된 제2트랜잭션데이터'를 저장하고, '단계 370-5에서 산출된 제2실명확인트랜잭션데이터의 해시값' 및 소정의 타임스탬프에 매칭하여, '단계 370-5에서 수신한, 제2실명확인서버전자서명이 매칭된 제2실명확인트랜잭션데이터'를 저장하고, 상기 '제2실명확인서버전자서명이 매칭된 제2실명확인트랜잭션데이터'를 매칭하여 상기 '제2참가자전자서명이 매칭된 제2트랜잭션데이터'를 '상기 제2트랜잭션데이터에서 수신자통신ID로서 포함된, 제1참가자통신ID'에 해당하는 제1오쏘리티노드(110)로 중계 전송하고, 상기 '제2트랜잭션데이터의 해시값 및 타임스탬프에 매칭된, 제2참가자전자서명이 매칭된 제2트랜잭션데이터'와 상기 '제2실명확인트랜잭션데이터의 해시값 및 타임스탬프에 매칭된, 제2실명확인서버전자서명이 매칭된 제2실명확인트랜잭션데이터'를 '상기 제2트랜잭션데이터에서 송신자통신ID로서 포함된, 제2참가자통신ID'에 해당하는 제2참가자단말(220)로 전송한다.
도 7 내지 도 9의 단계 372-3에서의 부가적 일 양상은 단계 372-5에서도 적용 가능하다.
단계 374-5에서 제2참가자단말(220)에서 '단계 372-5에서 전송된, 제2트랜잭션데이터의 해시값 및 타임스탬프와 제2참가자전자서명이 매칭된 제2트랜잭션데이터와, 제2실명확인트랜잭션데이터의 해시값 및 타임스탬프와 제2실명확인서버전자서명이 매칭된 제2실명확인트랜잭션데이터'를 수신하면, 증빙DB(224)의 발신서브DB(미도시)에 상기 '제2트랜잭션데이터의 해시값 및 타임스탬프'에 매칭하여 상기 '제2참가자전자서명이 매칭된 제2트랜잭션데이터'를 저장하고, 상기 '제2실명확인트랜잭션데이터의 해시값 및 타임스탬프'에 매칭하여 상기 '제2실명확인서버전자서명이 매칭된 제2실명확인트랜잭션데이터'를 저장한다.
단계 378-5에서 제1오쏘리티노드(110)가 '단계 372-5에서 전송된, 제2실명확인서버전자서명이 매칭된 제2실명확인트랜잭션데이터가 매칭된, 제2참가자전자서명이 매칭된 제2트랜잭션데이터'를 수신하면, '상기 제2트랜잭션데이터에서 수신자통신ID로서 포함된, 제1참가자통신ID'에 매칭되는 제1참가자단말(120)로 상기 '제2실명확인서버전자서명이 매칭된 제2실명확인트랜잭션데이터가 매칭된, 제2참가자전자서명이 매칭된 제2트랜잭션데이터'를 중계 전송하고, 상기 제2트랜잭션데이터와 상기 제2실명확인트랜잭션데이터 각각의 해시값과 타임스탬프를 산출하고, 대기트랜잭션DB(114)에 상기 각각의 '해시값 및 타임스탬프'에 매칭하여 상기 '제2참가자전자서명이 매칭된 제2트랜잭션데이터'와 상기 '제2실명확인서버전자서명이 매칭된 제2실명확인트랜잭션데이터'를 저장한다.
도 7 내지 도 9의 단계 378-3에서의 부가적 일 양상들은 단계 378-5에서도 적용 가능하다.
또한 본 발명의 부가적 일 양상에 의하면 단계 378-5는, 상기 제2실명확인트랜잭션데이터의 해시값을 산출하는 단계; 공지의 방법으로 '상기 제2실명확인트랜잭션데이터에 포함된, 송신자식별정보로서의 제2실명확인서버식별정보'에 매칭되는 공개키를 추출하고, 상기 공개키로 상기 제2실명확인서버전자서명을 복호화하고, 상기 복호화된 값이 상기 해시값과 일치하는지 판단하는 단계; 및 상기 판단이 긍정적인 경우에 한해 상기와 같이 중계 전송하고 대기트랜잭션DB에 저장하는 단계; 를 포함할 수도 있다.
단계 380-5에서 제1참가자단말(120)이 '단계 378-5에서 전송된, 제2실명확인서버전자서명이 매칭된 제2실명확인트랜잭션데이터가 매칭된, 제2참가자전자서명이 매칭된 제2트랜잭션데이터'를 수신하면, 상기 제2트랜잭션데이터의 해시값과 타임스탬프를 산출하고, 증빙DB(124)의 수신서브DB(미도시)에 상기 '제2트랜잭션데이터의 해시값 및 타임스탬프'에 매칭하여 상기 '제2실명확인서버전자서명이 매칭된 제2실명확인트랜잭션데이터'와 상기 '제2참가자전자서명이 매칭된 제2트랜잭션데이터'를 저장하고, 출력부(미도시)에 마스터패스워드입력란과 확인박스를 출력한다.
도 7 내지 도 9에서의 단계 382-3 내지 단계 386-3이 동작되고, 단계 386-3에서의 판단이 긍정적인 경우 단계 388-5가 동작된다.
단계 388-5에서 제1참가자단말(120)에서 '단계 380-5에서 수신된 제2실명확인트랜잭션데이터에 포함된, 암호화된 제2참가자실명ID'를 '단계 382-3(또는 도 15의 단계 382-4)에서 복호화된 비밀키'를 복호화키로 복호화하고, 합의DB(129)에 '단계 382-3에서 추출된(또는 도 15의 단계 382-4에서 산출된) 합의대상트랜잭션데이터식별정보로로서의 제1트랜잭션데이터의 해시값'에 매칭하여 '단계 382-3에서 산출된, 합의트랜잭션데이터식별정보로서의 상기 제2트랜잭션데이터의 해시값'과 '상기 제2트랜잭션데이터를 수신한 시점에 매칭된 소정의 타임스탬프'를 저장한다.
단계 390-5에서 제1참가자단말(120)의 증빙DB(124)의 발신서브DB(미도시)에서 '단계 388-5에서 합의DB(129)에 저장된, 합의대상트랜잭션데이터식별정보로서의 제1트랜잭션데이터의 해시값'에 매칭된 '제1참가자전자서명이 매칭된 제1트랜잭션데이터'와 '제1실명확인서버전자서명이 매칭된 제1실명확인트랜잭션데이터'를 검색하고, 상기 '제1트랜잭션데이터 및 제1참가자전자서명'과 '제1실명확인트랜잭션데이터 및 1실명확인서버전자서명'과 '단계 380-5에서 증빙DB(124)의 수신서브DB(미도시)에 저장된, 제2트랜잭션데이터 및 제2참가자전자서명과, 제2실명확인트랜잭션데이터 및 제2실명확인서버전자서명'에 대한 루트해시값이 산출되고, 상기 루트해시값과 '청약자식별정보로서의, 단계 382-3에서 검색된 제1참가자퍼블릭블록체인계정식별정보'와 '합의자식별정보로서의, 단계 382-3에서 복호화된 합의데이터에 포함된, 2참가자퍼블릭블록체인계정식별정보'를 포함하는 소정의 합의증빙해시데이터가 공증대상문서로서 작성되고, 출력부(미도시)에 마스터패스워드입력란과 공증신청박스가 출력된다.
도 7 내지 도 9에서의 단계 392-3 내지 단계 410-3이 동작된다.
도 15는 본 발명의 하이브리드블록체인 이용한 존재증명 방법의 바람직한 일 실시예에서, '프라이빗블록체인계정을 보유한 오쏘리티노드'의 회원이며 퍼블릭블록체인계정을 보유한 참가자들간 실명으로 합의한 기록을 본 발명의 하이브리드블록체인네트웍에 익명으로 안전하게 분산 저장하는 동작 다른 일 실시예를 설명한 도면이다.
단계 302-6에서 제1참가자단말(120)에서 소정의 청약대상문서가 선택되고 '상기 청약대상문서 수신자의 통신ID로서의, 제2참가자통신ID'가 입력되고 실명화조건박스가 선택되고 제1참가자의 마스터패스워드가 입력되고 전송박스가 선택되면, 통신ID메모리(122)에서 제1참가자통신ID를 검색하고, 연락처DB(121)에서 상기 제1참가자통신ID에 매칭된 '제1참가자퍼블릭블록체인계정식별정보와 암호화된 제1참가자인증서패스워드'를 검색하고, 연락처DB(121)에서 상기 제2참가자통신ID에 매칭된 '제2참가자퍼블릭블록체인계정식별정보 및 제2참가자공개키'를 검색하고, '청약자식별정보로서의 상기 제1참가자퍼블릭블록체인계정식별정보'와 '피청약자식별정보로서의 상기 제2참가자퍼블릭블록체인계정식별정보와 상기 청약대상문서를 포함하는 소정의 청약데이터를 전송대상데이터로서 작성하고, 일회용키생성부(125)가 공지의 방법으로 랜덤하게 임의의 일회용키를 생성하고, 상기 '전송대상데이터인 청약데이터'를 상기 일회용키로 암호화하여 제1전송데이터를 작성하고, 상기 마스터패스워드를 복호화키로 상기'암호화된 제1참가자인증서패스워드'를 복호화하고, 비밀키저장부(123)에서 '암호화된 제1참가자의 비밀키'를 검색하고, 상기 '복호화된 제1참가자인증서패스워드'를 복호화키로 상기 '암호화된 제1참가자의 비밀키'를 복호화하고, 상기 작성된 제1전송데이터'와 '송신자식별정보로서의 상기 제1참가자퍼블릭블록체인계정식별정보'와 '수신자식별정보로서의 상기 제2참가자퍼블릭블록체인계정식별정보'와 '송신자통신ID로서의 상기 제1참가자통신ID'와 '수신자통신ID로서의 상기 제2참가자통신ID'를 포함하는 제1트랜잭션데이터를 작성하고, 상기 제1트랜잭션데이터의 해시값을 산출하고, 상기 해시값을 상기 '복호화된 비밀키'를 암호화키로 암호화해 '상기 제1트랜잭션데이터에 대한 제1참가자전자서명'을 생성하고, 상기 제1참가자전자서명을 매칭한 상기 제1트랜잭션데이터를 제1오쏘리티노드(110)로 전송하고, 상기 제1트랜잭션데이터의 해시값과 타임스탬프를 산출하고, 상기 청약대상문서의 해시값을 산출하고, 합의DB(129)에 상기 청약대상문서의 해시값에 매칭하여, 상기 제1트랜잭션데이터의 해시값 및 타임스탬프와 상기 청약대상문서를 저장한다.
도 10의 단계 304-4가 동작된다.
도 11 내지 도 14에서의 단계 312-5 내지 단계 328-5가 동작된다.
단계 332-6에서 제2참가자단말(220)이 '단계 328-5에서 전송된, 제1실명확인서버전자서명이 매칭된 제1실명확인트랜잭션데이터가 매칭된, 제1참가자전자서명이 매칭된 제1트랜잭션데이터'를 수신하고 '단계 304-4에서 전송된, 제1트랜잭션데이터의 해시값에 매칭된, 암호화된 일회용키'를 수신하면, 상기 제1트랜잭션데이터의 해시값과 타임스탬프를 산출하고, 증빙DB(224)의 수신서브DB(미도시)에 상기 제1트랜잭션데이터의 '해시값 및 타임스탬프'에 매칭하여 상기 '제1참가자전자서명이 매칭된 제1트랜잭션데이터'와 '제1실명확인서버전자서명이 매칭된 제1실명확인트랜잭션데이터'를 저장하고, 출력부(미도시)에 마스터패스워드입력란과 확인박스를 출력한다.
도 10에서의 단계 334-4 및 단계 336-4가 동작된다.
도 11 내지 도 14에서의 단계 338-5 및 단계 340-5가 동작된다.
도 10에서의 단계 342-4가 동작된다.
도 11 내지 도 14의 단계 360-3 내지 단계 내지 단계 380-5가 동작된다.
도 10에서의 단계 382-4 내지 단계 386-3이 동작된다.
단계 386-3에서의 판단이 긍정적인 경우 도 11 내지 도 14의 단계 388-5가 동작된 후, 도 7 내지 도 9에서의 단계 400-3 내지 단계 410-3이 동작된다.
도 16 내지 도 20은 본 발명의 하이브리드블록체인 이용한 존재증명 방법의 바람직한 일 실시예에서, 블록체인계정이 없는 참가자간 익명으로 합의한 기록을 본 발명의 하이브리드블록체인네트웍에 익명으로 안전하게 분산 저장하는 동작 일 실시예를 설명한 도면이다.
단계 302-7에서 제1참가자단말(120)이 공지의 방법으로 제1통신서버(140)에 접속하고, 제1참가자단말(120)에서 소정의 청약대상문서가 선택되고 '상기 청약대상문서 수신자의 통신ID로서의, 제2참가자통신ID'가 입력되고 실명화조건박스가 선택되지 않고 제1참가자의 마스터패스워드가 입력되고 전송박스가 선택되면, 통신ID메모리(122)에서 제1참가자통신ID를 검색하고, 연락처DB(121)에서 상기 제1참가자통신ID에 매칭된 '암호화된 제1참가자인증서패스워드'를 검색하고, 연락처DB(121)에서 상기 제2참가자통신ID에 매칭된 제2참가자공개키를 검색하고, 일회용키생성부(125)가 공지의 방법으로 랜덤하게 일회용키를 생성하고, 상기 일회용키를 암호화키로 상기 청약대상문서를 암호화해 제1공증전송대상문서를 작성하고, 상기 마스터패스워드를 복호화키로 상기 '암호화된 제1참가자인증서패스워드'를 복호화하고, 비밀키저장부(123)에서 '암호화된 비밀키'를 검색하고, '상기 복호화된 제1참가자인증서패스워드'를 복호화키로 상기 '암호화된 비밀키'를 복호화하고, 상기 제1공증전송대상문서의 해시값을 산출하고, 상기 제1공증전송대상문서의 해시값을 상기 '복호화된 비밀키'를 암호화키로 암호화해 '상기 제1공증전송대상문서에 대한 제1참가자전자서명'을 생성하고, 소정의 공증전송신청정보와 매칭하여 '송신자통신ID로서의 상기 제1참가자통신ID'와 '수신자통신ID로서의 상기 제2참가자통신ID'와 상기 제1참가자전자서명을 매칭한 상기 제1공증전송대상문서를 상기 제1통신서버(140)로 전송한다.
본 발명의 부가적 일 양상에 의하면, 상기 제1참가자통신ID는 제1통신서버(140)에서 제1참가자에게 할당한 소정의 통신ID고, 상기 제2참가자통신ID는 제2통신서버(240)에서 제2참가자에게 할당한 소정의 통신ID다.
본 발명의 부가적 일 양상에 의하면, 제1참가자단말(120)에서 실명화조건박스가 더 선택될 수 있으며, 이 경우 소정의 실명화조건식별정보가 상기 제1공증전송대상문서에 더 매칭되어 제1통신서버(140)로 전송된다.
본 발명의 부가적 일 양상에 의하면 상기 제1참가자공개키는 '제1참가자가 제1실명확인서버(130)를 운영하는 제1실명확인사 앞 소정의 실명확인프로세스를 완료한 후 상기 제1실명확인서버(130)에 등록한 공개키'고, 상기 제2참가자공개키는 '제2참가자가 제2실명확인서버(230)를 운영하는 제2실명확인사 앞 소정의 실명확인프로세스를 완료한 후 상기 제2실명확인서버(130)에 등록한 공개키'다.
본 발명의 다른 일 양상에 의하면, 연락처DB(121)에서 상기 '피청약자식별정보로서의 제2참가자퍼블릭블록체인계정식별정보'에 매칭된 공개키가 추출되지 않는 경우 단계 302-7은, 제1참가자가 공지의 방법으로 상기 제2참가자로부터 제2참가자공개키를 수신 받아 제1참가자단말(120)에 입력하는 단계; 를 포함할 수 있다.
본 발명의 다른 일 양상에 의하면 상기 청약대상문서를 암호화하는 암호화키로 상기 일회용키를 대체하여 상기 제2참가자공개키가 사용될 수도 있다.
단계 304-7에서 제1참가자단말(120)에서 '단계 302-7에서 생성된 일회용키'를 '단계 302-7에서 검색된 제2참가자공개키'를 암호화키로 암호화하고, '단계 302-7에서 산출된 제1공증전송대상문서'의 식별정보로서의 '단계 302-7에서 산출된 제1공증전송대상문서의 해시값'과 상기 '암호화된 일회용키'를 포함하는 일반전송대상문서를 작성하고, 소정의 일반전송신청정보와 매칭하여 '송신자통신ID로서의, 단계 302-7에서 검색된 상기 제1참가자통신ID'와 '수신자통신ID로서의, 단계 302-7에서 입력된 제2참가자통신ID'와 상기 일반전송대상문서를 상기 제1통신서버(140)로 전송하고, '단계 302-7에서 입력된 마스터패스워드'를 암호화키로 '단계 302-7에서 생성된 일회용키'를 암호화하고, 일회용키DB(126)에 '상기 제1공증전송대상문서의 식별정보'로서의 '상기 제1공증전송대상문서의 해시값'과 소정의 타임스탬프에 매칭하여 '수신자통신ID로서의 상기 제2참가자통신ID'와 '상기 암호화된 일회용키'를 저장한다.
단계 306-7에서 제1통신서버(140)가 '단계 302-7에서 공증전송신청정보와 매칭하여 전송된, 송신자통신ID로서의 제1참가자통신ID와 수신자통신ID로서의 제2참가자통신ID와 제1참가자전자서명이 매칭된 제1공증전송대상문서'를 수신하고, '단계 304-7에서 일반전송신청정보와 매칭하여 전송된, 송신자통신ID로서의 제1참가자통신ID와 수신자통신ID로서의 제2참가자통신ID와 일반전송대상문서'를 수신하면, 가입자DB(141)에서 상기 송신자통신ID에 매칭된 실명확인서버식별정보를 검색하고, '상기 일반전송신청정보와 매칭하여 수신한, 송신자통신ID로서의 제1참가자통신ID와 수신자통신ID로서의 제2참가자통신ID가 매칭된 일반전송대상문서'를 상기 '수신자통신ID로서의 제2참가자통신ID'에 매칭된 제2통신서버(240)로 전송하고, 통신기록DB(143)의 상기 '송신자통신ID로서의 제1참가자통신ID'에 매칭된 통신ID별 통신기록서브DB(미도시)에 소정의 타임스탬프에 매칭하여 상기 '송신자통신ID로서의 제1참가자통신ID와 수신자통신ID로서의 제2참가자통신ID와 일반전송대상문서'를 저장하고, 상기 제1공증전송대상문서의 해시값을 산출하고, 가입자DB(141)에서 '상기 제1공증전송대상문서와 매칭하여 수신한, 송신자통신ID로서의 제1참가자통신ID'에 매칭된 공개키를 검색하고, 상기 제1참가자전자서명을 상기 공개키로 복호화하고, 상기 복호화된 값이 상기 제1공증전송대상문서의 해시값과 일치하는지 판단한다.
단계 306-7에서의 판단이 긍정적인 경우 단계 308-7이 동작된다.
단계 308-7에서 제1통신서버(140)에서 증빙DB(144)의 발신접수증빙서브DB(미도시)에 소정의 타임스탬프에 매칭하여'단계 306-7에서 공증전송신청정보와 매칭하여 수신된, 송신자통신ID로서의 제1참가자통신ID와 수신자통신ID로서의 제2참가자통신ID와 제1참가자전자서명이 매칭된 제1공증전송대상문서'를 저장하고, '상기 수신한 제1공증전송대상문서'에 소정의 실명화조건식별정보가 매칭되어 있는지 판단한다.
단계 308-7에서의 판단이 긍정적인 경우 단계 310-7 내지 단계 316-7이 동작된 후 단계 318-7이 동작되고, 그 외의 경우 단계 310-7 내지 단계 316-7 동작 없이 단계 318-7이 동작된다.
단계 310-7에서 제1통신서버(140)가 '단계 306-7에서 검색된 실명확인서버식별정보'에 매칭되는 제1실명확인서버(130)를 호출하고, 상기 호출에 따라 제1참가자단말(120)이 상기 제1실명확인서버(130)에 접속되며, 제1참가자단말(120)의 출력부(미도시)에 실명확인신청자식별정보입력란과 제공정보수신처식별정보입력란과 마스터패스워드입력란과 확인박스를 포함하는 소정의 실명정보제공신청화면이 출력된다.
본 발명의 부가적 일 양상에 의하면, 출력부(미도시) 영역을 구분하여 한쪽에는 제1실명확인서버(130)에서 전송된 '실명확인신청자식별정보입력란과 제공정보수신처식별정보입력란과 본인인증정보입력란과 실명정보암호화키입력란과 확인박스를 포함하는 소정의 실명정보제공신청화면'이 출력되고, 다른 한쪽에는 제1참가자단말(120)에서 생성한 '마스터패스워드입력란과 확인박스를 포함하는 소정의 마스터패스워드입력화면'이 출력된다.
단계 312-7에서 제1참가자단말(120)에 '제공정보수신처식별정보로서의 제1통신서버식별정보'와 마스터패스워드가 입력되고 확인박스가 선택되면, 연락처DB(121)에서 제1실명확인서버식별정보에 매칭된 제1참가자회원ID와 '암호화된 패스워드'를 검색하고 상기 '암호화된 패스워드'를 상기 마스터패스워드를 복호화키로 복호화하고, 상기 복호화된 패스워드를 이용하여 소정의 제1실명확인서버용본인인증정보를 산출하고, 통신ID메모리(122)에서 제1참가자통신ID를 검색하고, 연락처DB(121)에서 제1참가자통신ID에 매칭된 '암호화된 제1참가자인증서패스워드'와 제1참가자공개키를 검색하고, 상기 '암호화된 제1참가자인증서패스워드'를 상기 마스터패스워드를 복호화키로 복호화하고, 비밀키저장부(123)에서 '암호화된 비밀키'를 검색하고, '상기 복호화된 제1참가자인증서패스워드'를 복호화키로 상기 '암호화된 비밀키'를 복호화하고, '송신자식별정보인 상기 제1참가자회원ID'와 '전송대상데이터이자 전송데이터'로서의 '정보제공신청자식별정보로서의 상기 제1참가자회원ID'와 상기 '제공정보수신처식별정보로서의 제1통신서버식별정보'와 '실명정보암호화키로서의, 단계 302-7에서 검색된 제2참가자공개키'를 포함하는 소정의 실명확인신청데이터를 작성하고, 상기 실명확인신청데이터의 해시값을 산출하고, 상기 해시값을 상기 비밀키를 암호화키로 암호화해 '상기 실명확인신청데이터에 대한 제1참가자의 전자서명'을 생성하고, '상기 실명확인신청데이터와 상기 제1참가자전자서명과 상기 제1실명확인서버용본인인증정보'를 제1실명확인서버(130)로 전송한다.
도 11 내지 도 14의 단계 312-5에서의 부가적 일 양상들은 단계 312-7에서도 적용 가능하다.
단계 314-7에서 제1실명확인서버(130)에서 '단계 312-7에서 전송된, 실명확인신청데이터와 제1참가자전자서명과 제1실명확인서버용본인인증정보'를 수신하면, 실명DB(131)에서 '상기 실명확인신청데이터에 포함된, 정보제공신청자식별정보로서의 제1참가자회원ID'에 매칭된 '패스워드의 해시값'과 제1참가자공개키를 검색하고, 상기 수신한 제1실명확인서버용본인인증정보가 상기 '패스워드의 해시값'과 매칭되는지 판단하고, 상기 실명확인신청데이터의 해시값을 산출하고, 상기 제1참가자공개키를 복호화키로 상기 제1참가자전자서명을 복호화하고, 상기 복호화된 값과 상기 '실명확인신청데이터의 해시값'을 대조하여 일치하는지 판단한다.
도 11 내지 도 14의 단계 314-5에서의 부가적 일 양상들은 단계 314-7에서도 적용 가능하다.
단계 314-7에서의 판단이 긍정적인 경우 단계 316-7이 동작된다,
단계 316-7에서 제1실명확인서버(130)에서 증빙DB(134)에 소정의 타임스탬프에 매칭하여 '단계 314-7에서 수신된, 실명확인신청데이터와 제1참가자전자서명'을 저장하고, 실명DB(131)에서 '단계 314-7에서 수신한 실명확인신청데이터에서 정보제공신청자식별정보로서 포함된, 제1참가자회원ID'에 매칭된 제1참가자실명ID와 제1참가자공개키를 검색하고, 상기 제1참가자실명ID를 '상기 실명확인신청데이터에서 실명정보암호화키로서 포함된, 제2참가자공개키'로 암호화하고, '송신자식별정보로서의 소정의 제1실명확인서버식별정보'와 '수신자식별정보로서의, 상기 실명확인신청데이터에서 제공정보수신처식별정보로서 포함된, 제1통신서버식별정보'와 '전송대상데이터이자 전송데이터로서의, 상기 암호화된 제1참가자실명ID와 상기 제1참가자공개키'를 포함하는 소정의 제1실명확인트랜잭션데이터를 작성하고, 상기 제1실명확인트랜잭션데이터의 해시값을 산출하고, 소정의 방법으로 제1실명확인서버(130)의 비밀키를 추출하고, 상기 해시값을 상기 비밀키로 암호화해 상기 제1실명확인트랜잭션데이터에 대한 제1실명확인서버(130)의 전자서명을 생성하고, 소정의 제1실명확인서버식별정보와 상기 제1실명확인서버전자서명을 매칭한 제1실명확인트랜잭션데이터를 '단계 310-7에서 제1실명확인서버(130)를 호출한 제1통신서버(140)'로 전송한다.
단계 318-7에서 제1통신서버(140)에서 '단계 306-7에서 공증전송신청정보와 매칭하여 수신한, 송신자통신ID로서의 제1참가자통신ID와 수신자통신ID로서의 제2참가자통신ID와 제1참가자전자서명이 매칭된 제1공증전송대상문서'를 포함하는 소정의 제1전송데이터를 작성하고, 노드DB(142)에서 제1통신서버식별정보에 매칭된 제1통신서버퍼블릭블록체인계정식별정보를 검색하고, 노드DB(142)에서 제1오쏘리티노드식별정보에 매칭된 제1오쏘리티노드퍼블릭블록체인계정식별정보를 검색하고, 소정의 방법으로 제1통신서버의 비밀키를 추출하고, 상기 제1전송데이터와 '송신자식별정보로서의 상기 제1통신서버퍼블릭블록체인계정식별정보'와 '수신자식별정보로서의 상기 제1오쏘리티노드퍼블릭블록체인계정식별정보'를 포함하는 제1트랜잭션데이터를 작성하고, 상기 제1트랜잭션데이터의 해시값을 산출하고, 상기 해시값을 상기 비밀키로 암호화해 상기 제1트랜잭션데이터에 대한 제1통신서버전자서명을 생성하고, 상기 제1통신서버전자서명을 매칭한 상기 제1트랜잭션데이터를 제1오쏘리티노드(110)로 전송하고, 증빙DB(144)의 발신서브DB(미도시)에 '상기 제1트랜잭션데이터의 해시값 및 소정의 타임스탬프'에 매칭하여 '상기 제1통신서버전자서명이 매칭된 제1트랜잭션데이터'를 저장하고, 상기 제1전송데이터에서 '송신자통신ID로서의 제1참가자통신ID와 수신자통신ID로서의 제2참가자통신ID와 제1공증전송대상문서'를 추출하고, 통신기록DB(143)의 상기 '송신자통신ID로서의 제1참가자통신ID'에 매칭된 통신ID별 통신기록서브DB(미도시)에 '상기 제1트랜잭션데이터의 해시값 및 타임스탬프'에 매칭하여 '송신자통신ID로서, 상기 제1전송데이터에서 송신자통신ID로서 포함된, 제1참가자통신ID'와 '수신자통신ID로서, 상기 제1전송데이터에서 수신자통신ID로서 포함된, 제2참가자통신ID'와 '상기 제1전송데이터에 포함된 제1공증전송대상문서'를 저장하고, '단계 304-7에서 접속된 제1참가자단말(120)'로 상기 증빙DB(144)에 저장된 '제1트랜잭션데이터의 해시값 및 타임스탬프와 제1통신서버전자서명이 매칭된 제1트랜잭션데이터'를 전송하고, 상기 통신기록DB(143)에 저장된 '제1트랜잭션데이터의 해시값 및 타임스탬프와 송신자통신ID로서의 제1참가자통신ID와 수신자통신ID로서의 제2참가자통신ID와 제1공증전송대상문서'를 전송한다.
본 발명의 부가적 일 양상에 의하면 제1오쏘리티노드(110)는 제1통신서버(140)가 선호하는 오쏘리티노드다.
본 발명의 다른 일 양상에 의하면 제1오쏘리티노드(110)는 제1통신서버(140)가 겸할 수도 있다.
단계 316-7이 동작되는 본 발명의 부가적 일 양상의 경우 단계 318-7은, 제1통신서버(140)에서 '단계 316-7에서 전송된, 제1실명확인서버식별정보와 제1실명확인서버전자서명이 첨부된 제1실명확인트랜잭션데이터'를 수신하는 단계; 증빙DB(144)에 소정의 타임스탬프에 매칭하여 상기 제1실명확인서버식별정보와 상기 '제1실명확인서버전자서명이 매칭된 제1실명확인트랜잭션데이터'를 저장하고, 상기 제1실명확인트랜잭션데이터의 해시값을 산출하고, 노드DB(142)에서 상기 제1실명확인서버식별정보에 매칭된 제1실명확인서버공개키를 검색하고, 상기 제1실명확인서버공개키로 상기 제1실명확인서버전자서명을 복호화하고, 상기 복호화된 값을 상기 해시값과 대조하여 일치하는지 판단하는 단계; 를 포함하고, 상기 판단이 긍정적인 경우, 상기 제1전송데이터에 '상기 제1실명확인트랜잭션데이터에 포함된, 제1참가자공개키와 암호화된 제1참가자실명ID'를 더 포함한다.
본 발명의 부가적 일 양상에 의하면 단계 318-7은, 상기 제1참가자단말(120)에서 상기 제1통신서버(140)로 소정의 제1참가자본인인증정보와 소정의 '제1참가자통신ID에 매칭된 통신ID별 통신기록서브DB(미도시)' 검색신청정보 및 검색된 정보 다운로드신청정보를 전송하는 단계; 제1통신서버(140)에서 제1참가자단말(120)로 제1트랜잭션데이터의 해시값 및 타임스탬프와 송신자통신ID로서의 제1참가자통신ID와 수신자통신ID로서의 제2참가자통신ID와 제1공증전송대상문서'를 전송하는 단계; 및 제1참가자단말(120)에서 제1통신서버(140)로 '상기 증빙DB(144)의 발신서브DB(미도시)에서 상기 제1트랜잭션데이터의 해시값에 매칭된 정보 검색을 신청하는 소정의 정보'를 전송하는 단계; 를 포함한다.
단계 320-7에서 제1참가자단말(120)에서 '단계 318-7에서 전송된, 제1트랜잭션데이터의 해시값 및 타임스탬프와 제1통신서버전자서명이 매칭된 제1트랜잭션데이터'를 수신하고, '단계 318-7에서 전송된, 제1트랜잭션데이터의 해시값 및 타임스탬프와 송신자통신ID로서의 제1참가자통신ID와 수신자통신ID로서의 제2참가자통신ID와 제1공증전송대상문서'를 수신하면, 증빙DB(124)의 발신서브DB(미도시)에 상기 '제1트랜잭션데이터의 해시값 및 타임스탬프와 제1통신서버전자서명이 매칭된 제1트랜잭션데이터'를 저장하고, 상기 제1공증전송대상문서의 해시값을 산출하고, 합의DB(129)에 '상기 제1공증전송대상문서의 해시값'에 매칭하여, 상기 '제1트랜잭션데이터의 해시값 및 타임스탬프'와 상기 '송신자통신ID로서의 제1참가자통신ID'와 상기 '수신자통신ID로서의 제2참가자통신ID'와 상기 제1공증전송대상문서를 저장한다.
단계 322-7에서 제1오쏘리티노드(110)가 '단계 318-7에서 전송된, 제1통신서버전자서명이 매칭된 제1트랜잭션데이터'를 수신하면, 회원DB(111)에서 '상기 제1트랜잭션데이터에 포함된, 송신자식별정보로서의 제1통신사퍼블릭블록체인계정식별정보'에 매칭된 공개키를 검색하고, 상기 제1트랜잭션데이터의 해시값을 산출하고, 상기 공개키로 상기 제1통신서버전자서명을 복호화하고, 상기 복호화된 값이 상기 해시값과 일치하는지 판단한다.
단계 322-7에서의 판단이 긍정적인 경우 단계 324-7이 동작된다.
단계 324-7에서 제1오쏘리티노드(110)의 대기트랜잭션DB(114)에 '단계 322-7에서 산출된 제1트랜잭션데이터의 해시값' 및 소정의 타임스탬프에 매칭하여 '단계 322-7에서 수신한, 제1 제1통신서버전자서명이 매칭된 제1트랜잭션데이터'를 저장하고, 상기 '제1통신서버전자서명이 매칭된 제1트랜잭션데이터'를 '상기 제1트랜잭션데이터에 포함된 제1전송데이터에 수신자통신ID로서 포함된, 제2참가자통신ID'에 매칭된 통신서버인 제2통신서버(240)로 중계 전송한다.
단계 328-7에서 제2통신서버(240)가 '단계 306-7에서 전송된, 송신자통신ID로서의 제1참가자통신ID와 수신자통신ID로서의 제2참가자통신ID가 매칭된 일반전송대상문서'를 수신하면, 통신기록DB(243)의 제2참가자통신ID에 매칭된 통신ID별 통신기록서브DB(미도시)에 소정의 타임스탬프에 매칭하여 상기 '송신자통신ID로서의 제1참가자통신ID와 수신자통신ID로서의 제2참가자통신ID가 매칭된 일반전송대상문서'를 저장하고, '단계 324-7에서 중계 전송된, 제1통신서버전자서명이 매칭된 제1트랜잭션데이터'를 수신하면, 상기 제1트랜잭션데이터의 해시값을 산출하고, 증빙DB(244)의 수신서브DB(미도시)에 '상기 제1트랜잭션데이터의 해시값 및 소정의 타임스탬프'에 매칭하여 상기 '제1통신서버전자서명이 매칭된 제1트랜잭션데이터'를 저장하고, '상기 제1트랜잭션데이터에서 포함된 제1전송데이터'에서 '송신자통신ID로서의 제1참가자통신ID와 수신자통신ID로서의 제2참가자통신ID와 제1참가자전자서명이 매칭된 제1공증전송대상문서'를 추출하고, 상기 통신기록서브DB(미도시)에 '상기 제1트랜잭션데이터의 해시값 및 타임스탬프'에 매칭하여 상기 '송신자통신ID로서의 제1참가자통신ID'와 '수신자통신ID로서의 제2참가자통신ID'와 상기 '제1참가자전자서명이 매칭된 제1공증전송대상문서'를 저장한다.
단계 330-7에서 제2참가자단말(220)이 공지의 방법으로 제2통신서버(240)에 접속하고, 제2통신서버(240)에서 '단계 328-7에서 통신기록DB(243)에 저장한, 타임스탬프와 송신자통신ID로서의 제1참가자통신ID와 수신자통신ID로서의 제2참가자통신ID와 일반전송대상문서'와 '단계 328-7에서 통신기록DB(243)에 저장한, 제1트랜잭션데이터의 해시값 및 타임스탬프와 송신자통신ID로서의 제1참가자통신ID와 수신자통신ID로서의 제2참가자통신ID와 제1참가자전자서명이 매칭된 제1공증전송대상문서'와 '단계 328-7에서 증빙DB(244)에 저장한, 제1트랜잭션데이터의 해시값 및 타임스탬프와 제1통신서버전자서명이 매칭된 제1트랜잭션데이터'를 제2참가자단말(220)로 전송한다
본 발명의 부가적 일 양상에 의하면 단계 330-7은, 상기 제2참가자단말(220)에서 상기 제2통신서버(240)로 소정의 제2참가자본인인증정보와 소정의 '제2참가자통신ID에 매칭된 통신ID별 통신기록서브DB(미도시)' 검색신청정보 및 검색된 정보 다운로드신청정보를 전송하는 단계; 제2통신서버(240)에서 제2참가자단말(220)로 '타임스탬프와 송신자통신ID로서의 제1참가자통신ID와 수신자통신ID로서의 제2참가자통신ID가 매칭된 일반전송대상문서'를 전송하고 '제1트랜잭션데이터의 해시값 및 타임스탬프와 송신자통신ID로서의 제1참가자통신ID와 수신자통신ID로서의 제2참가자통신ID와 제1참가자전자서명이 매칭된 제1공증전송대상문서'를 전송하는 단계; 및 제2참가자단말(220)에서 제2통신서버(240)로 '상기 증빙DB(244)의 발신서브DB(미도시)에서 상기 제1트랜잭션데이터의 해시값에 매칭된 정보 검색을 신청하는 소정의 정보'를 전송하는 단계; 를 포함할 수 있다.
단계 332-7에서 제2참가자단말(220)에서 '단계 330-7에서 전송된, 타임스탬프와 송신자통신ID로서의 제1참가자통신ID와 수신자통신ID로서의 제2참가자통신ID와 일반전송대상문서'와 '단계 330-7에서 전송된, 제1트랜잭션데이터의 해시값 및 타임스탬프와 송신자통신ID로서의 제1참가자통신ID와 수신자통신ID로서의 제2참가자통신ID와 제1참가자전자서명이 매칭된 제1공증전송대상문서'와 '단계 330-7에서 전송된, 제1트랜잭션데이터의 해시값 및 타임스탬프와 제1통신서버전자서명이 매칭된 제1트랜잭션데이터'를 수신하면, '상기 제1트랜잭션데이터에 포함된 제1전송데이터'에서 '송신자통신ID로서의 제1참가자통신ID와 제1참가자전자서명이 매칭된 제1공증전송대상문서'를 추출하고 상기 제1공증전송대상문서의 해시값을 산출하고, 연락처DB(221)에서 상기 '송신자통신ID로서의 제1참가자통신ID'에 매칭된 제1참가자공개키를 추출하고, 상기 제1참가자공개키로 상기 제1참가자전자서명을 복호화하고, 상기 복호화된 값과 상기 제1공증전송대상문서의 해시값이 일치하는지 판단한다.
본 발명의 다른 일 양상에 의하면, 연락처DB(221)에서 상기 '송신자통신ID로서의 제1참가자통신ID'에 매칭된 공개키가 추출되지 않는 경우 단계 332-7은, 제2참가자가 공지의 방법으로 상기 제1참가자로부터 제1참가자공개키를 수신 받아 제2참가자단말(220)에 입력하는 단계; 를 포함할 수 있다.
단계 332-7에서의 판단이 긍정적인 경우 단계 334-7이 동작된다.
단계 334-7에서 제2참가자단말(220)에서 증빙DB(224)의 수신서브DB(미도시)에 '단계 332-7에서 수신한, 제1트랜잭션데이터의 해시값 및 타임스탬프와 제1통신서버전자서명이 매칭된 제1트랜잭션데이터'를 저장하고, 마스터패스워드입력란과 확인박스를 출력한다.
단계 338-7에서 제2참가자단말(220)에서 제2참가자의 마스터패스워드가 입력되고 확인박스가 선택되면, 통신ID메모리(222)에서 제2참가자통신ID를 검색하고, 연락처DB(221)에서 상기 제2참가자통신ID에 매칭된 '암호화된 제2참가자인증서패스워드'를 검색하고, 상기 마스터패스워드를 복호화키로 상기 '암호화된 제2참가자인증서패스워드'를 복호화하고, 비밀키저장부(223)에서 '암호화된 제2참가자의 비밀키'를 검색하고, 상기 '복호화된 제2참가자인증서패스워드'를 복호화키로 상기 '암호화된 제2참가자의 비밀키'를 복호화하고, '단계 332-7에서 수신한 일반전송대상문서'에서 '제1공증전송대상문서의 해시값'과 '암호화된 일회용키'를 추출하고, 상기 '복호화된 비밀키'를 복호화키로 상기 '암호화된 일회용키'를 복호화하고, 상기 복호화된 일회용키를 상기 마스터패스워드를 암호화키로 암호화하고, 일회용키DB(226)에서 '단계 332-7에서 수신한 타임스탬프 및 제1공증전송대상문서의 해시값'에 매칭하여 상기 '마스터패스워드를 암호화키로 암호화한 일회용키'를 저장하고, 합의DB(229)에 '단계 332-7에서 수신한, 제1트랜잭션데이터의 해시값 및 타임스탬프'에 매칭하여 '단계 332-7에서 추출한, 송신자통신ID로서의 제1참가자통신ID와 제1참가자전자서명이 매칭된 제1공증전송대상문서'를 저장하고, 상기 '복호화된 일회용키'를 복호화키로 상기 제1공증전송대상문서를 복호화해 청약대상문서를 산출하고, 출력부(미도시)에 상기 청약대상문서를 소정의 실명화조건박스와 마스터패스워드입력란과 소정의 합의박스 및 거절박스와 함께 출력하고, 제2참가자가 상기 청약대상문서에 대해 합의할 것인지 판단한다.
단계 318-7에서 작성된 제1전송데이터에 '제1참가자공개키와 암호화된 제1참가자실명ID'가 더 포함되는 본 발명의 부가적 일 양상의 경우, '단계 332-7에서 제2참가자단말(220)에서 수신한 제1전송데이터'에 상기 '암호화된 제1참가자실명ID'가 더 포함되고, 단계 332-7은 상기 제1전송데이터에서 상기 '암호화된 제1참가자실명ID'를 추출하는 동작을 더 포함하고, 단계 338-7은 '단계 338-7에서 복호화된, 제2참가자의 비밀키'를 복호화키로 상기 '암호화된 제1참가자실명ID'가 복호화되는 동작을 더 포함하고, 단계 338-7에서 '상기 복호화된 제1참가자실명ID'가 '청약대상문서 송신자의 실명ID'로서 더 출력된다.
한편, 단계 302-7에서 상기 청약대상문서를 암호화하는 암호화키로 제2참가자공개키가 사용되는 본 발명의 다른 일 양상에 의하면, 단계 338-7에서 상기 제1공증전송대상문서를 복호화하는 복호화키로 상기 '복호화된 일회용키'를 대체하여 제2참가자의 비밀키가 사용된다.
단계 338-7에서의 판단이 긍정적이면 단계 340-7이 동작된다.
단계 340-7에서 제2참가자단말(220)에서 마스터패스워드가 입력되고 소정의 합의박스가 선택되면, 통신ID메모리(222)에서 제2참가자통신ID를 검색하고, 연락처DB(221)에서 상기 제2참가자통신ID에 매칭된 '암호화된 제2참가자인증서패스워드'와 제2참가자공개키를 검색하고, 상기 마스터패스워드를 복호화키로 상기 '암호화된 제2참가자인증서패스워드'를 복호화하고, 비밀키저장부(223)에서 '암호화된 제2참가자의 비밀키'를 검색하고, 상기 '복호화된 제2참가자인증서패스워드'를 복호화키로 상기 '암호화된 제2참가자의 비밀키'를 복호화한다.
단계 342-7에서 제2참가자단말(220)에서 '단계 332-7에서 산출된, 제1공증전송대상문서의 해시값'과 일치하는 해시값을 '단계 340-7에서 복호화된 제2참가자의 비밀키'를 암호화키로 암호화해 상기 '제1공증전송대상문서에 대한 제2참가자전자서명'을 생성하고, '단계 332-7에서 추출한, 제1참가자전자서명이 매칭된 제1공증전송대상문서'에 상기 제2참가자전자서명을 매칭하여 제2공증전송대상문서를 작성한다.
본 발명의 부가적 일 양상에 의하면 상기 '단계 332-7에서 산출된, 제1공증전송대상문서의 해시값'과 일치하는 해시값은 '단계 332-7에서 산출된, 제1공증전송대상문서의 해시값'과 '단계 338-7에서 산출된 청약대상문서'를 '단계 338-7에서 복호화된 일회용키'를 암호화키로 암호화한 문서의 해시값 중 하나다.
한편 본 발명의 다른 일 양상에 의하면, 상기 제2참가자전자서명 대상 문서로서, 상기 제1공증전송대상문서를 대체하여, '단계 332-7에서 수신한 제1트랜잭션데이터'와 '상기 제1트랜잭션데이터에 포함된 제1전송데이터' 와 '단계 338-7에서 복호화된 청약대상문서' 중 하나이상이 사용될 수도 있다. 이 경우 상기 대체데이터의 해시값을 '단계 340-7에서 복호화된 2참가자의 비밀키'를 암호화키로 암호화해, 상기 '제1트랜잭션데이터와 제1전송데이터 중 하나이상'에 대한 제2참가자전자서명을 생성하고, 상기 '제1트랜잭션데이터와 제1전송데이터 중 하나이상'과 '상기 데이터에 대한 제2참가자전자서명'을 매칭하여 제2공증전송대상문서를 작성한다.
본 발명의 부가적 일 양상에 의하면, 단계 340-7에서 제2참가자단말(220)에서 실명화조건박스가 더 선택될 수 있으며, 이 경우 소정의 실명화조건식별정보가 '단계 342-7에서 작성되는 제2공증전송대상문서'에 더 포함된다.
단계 344-7에서 제2참가자단말(220)에서 소정의 공증전송신청정보와 매칭하여 '송신자통신ID로서의, 단계 340-7에서 검색된 제2참가자통신ID'와 '수신자통신ID로서의, 단계 332-7에서 수신된 송신자통신ID로서의 제1참가자통신ID'와 '단계 342-7에서 작성된 제2공증전송대상문서'를 '상기 제2참가자통신ID에 매칭되는 제2통신서버(240)'로 전송한다.
단계 346-7에서 제2통신서버(240)에서 '단계 344-7에서 공증전송신청정보와 매칭하여 전송된, 송신자통신ID로서의 제2참가자통신ID와 수신자통신ID로서의 제1참가자통신ID와 제2공증전송대상문서'를 수신하면, 상기 제2공증전송대상문서에서 '제1참가자전자서명이 매칭된 제1공증전송대상문서와 제2참가자전자서명'을 추출하고, 상기 제1공증전송대상문서의 해시값을 산출하고, 가입자DB(141)에서 상기 '송신자통신ID로서의 제2참가자통신ID'에 매칭된 공개키를 검색하고, 상기 제2참가자전자서명을 상기 공개키로 복호화하고, 상기 복호화된 값이 상기 해시값과 일치하는지 판단한다.
단계 342-7에서 제2참가자전자서명 대상 문서로서, 상기 제1공증전송대상문서를 대체하여, '제1트랜잭션데이터와 제1전송데이터 중 하나이상'이 사용되는 본 발명의 다른 일 양상에 의하면, 단계 346-7은 '제1공증전송대상문서의 해시값을 산출하는 동작'을 대체하여 상기 '단계 342-7에서 제2참가자전자서명 대상이 된, 제1트랜잭션데이터와 제1전송데이터 중 하나이상'의 해시값을 산출하는 동작'을 포함한다.
단계 346-7에서의 판단이 긍정적인 경우 단계 348-7이 동작된다.
단계 348-7에서 제2통신서버(240)에서 증빙DB(244)의 발신접수증빙서브DB(미도시)에 소정의 타임스탬프에 매칭하여'단계 346-7에서 공증전송신청정보와 매칭하여 수신된, 송신자통신ID로서의 제2참가자통신ID와 수신자통신ID로서의 제1참가자통신ID와 제2공증전송대상문서'를 저장하고, '상기 수신한 제2공증전송대상문서'에 소정의 실명화조건식별정보가 매칭되어 있는지 판단한다.
단계 348-7에서의 판단이 긍정적인 경우 단계 350-7 내지 단계 356-7이 동작된 후 단계 358-7이 동작되고, 그 외의 경우 단계 350-7 내지 단계 356-7 동작 없이 단계 358-7이 동작된다.
단계 350-7에서 제2통신서버(240)에서 가입자DB(241)에서 '단계 346-7에서 수신된, 송신자통신ID로서의 제2참가자통신ID'에 매칭된 실명확인서버식별정보를 검색하고, 상기 검색된 실명확인서버식별정보에 매칭되는 제2실명확인서버(230)를 호출하고, 상기 호출에 따라 '단계 330-7에서 접속된 제2참가자단말(220)'이 상기 제2실명확인서버(230)로 접속되고, 제2참가자단말(220)의 출력부(미도시)에 제공정보수신처식별정보입력란과 마스터패스워드입력란과 확인박스를 포함하는 소정의 실명정보제공신청화면이 출력된다.
본 발명의 부가적 일 양상에 의하면, 출력부(미도시) 영역을 구분하여 한쪽에는 제2실명확인서버(230)에서 전송된 '실명확인신청자식별정보입력란과 제공정보수신처식별정보입력란과 본인인증정보입력란과 실명정보암호화키입력란과 확인박스를 포함하는 소정의 실명정보제공신청화면'이 출력되고, 다른 한쪽에는 제2참가자단말(220)에서 생성한 '마스터패스워드입력란과 확인박스를 포함하는 소정의 마스터패스워드입력화면'이 출력된다.
단계 352-7에서 제2참가자단말(220)에 '제공정보수신처식별정보로서의 제2통신서버식별정보'와 마스터패스워드가 입력되고 확인박스가 선택되면, 연락처DB(221)에서 제2실명확인서버식별정보에 매칭된 제2참가자회원ID와 '암호화된 패스워드'를 검색하고 상기 '암호화된 패스워드'를 상기 마스터패스워드를 복호화키로 복호화하고, 상기 복호화된 패스워드를 이용하여 소정의 제2실명확인서버용본인인증정보를 산출하고, 통신ID메모리(222)에서 제2참가자통신ID를 검색하고, 연락처DB(221)에서 제2참가자통신ID에 매칭된 '암호화된 제2참가자인증서패스워드' 를 검색하고, 상기 '암호화된 제2참가자인증서패스워드'를 상기 마스터패스워드를 복호화키로 복호화하고, 비밀키저장부(223)에서 '암호화된 비밀키'를 검색하고, '상기 복호화된 제2참가자인증서패스워드'를 복호화키로 상기 '암호화된 비밀키'를 복호화하고, '송신자식별정보인 정보제공신청자식별정보로서의 상기 제2참가자회원ID'와 '전송대상데이터이자 전송데이터'로서의 '제공정보수신처식별정보로서의 제2통신서버식별정보'와 '실명정보암호화키로서의, 단계 332-7에서 추출된 제1참가자공개키'를 포함하는 소정의 실명확인신청데이터를 작성하고, 상기 실명확인신청데이터의 해시값을 산출하고, 상기 해시값을 상기 비밀키를 암호화키로 암호화해 '상기 실명확인신청데이터에 대한 제2참가자의 전자서명'을 생성하고, '상기 실명확인신청데이터와 상기 제2참가자전자서명과 상기 제2실명확인서버용본인인증정보'를 제2실명확인서버(230)로 전송한다.
도 11 내지 도 14의 단계 364-5에서의 부가적 일 양상들은 단계 352-7에서도 적용 가능하다.
단계 354-7에서 제2실명확인서버(230)에서 '단계 352-7에서 전송된, 실명확인신청데이터와 제2참가자전자서명과 본인인증정보'가 수신되면, 실명DB(231)에서 '상기 실명확인신청데이터에 포함된, 정보제공신청자식별정보로서의 상기 제2참가자회원ID'에 매칭된 '패스워드의 해시값'을 검색하고, 상기 수신한 본인인증정보가 상기 해시값과 매칭되는지 판단한다.
도 11 내지 도 14의 단계 366-5에서의 부가적 일 양상들은 단계 354-7에서도 적용 가능하다.
단계 354-7에서의 판단이 긍정적인 경우 단계 356-7이 동작된다,
단계 356-7에서 제2실명확인서버(230)에서 증빙DB(234)에 소정의 타임스탬프에 매칭하여 '단계 354-7에서 수신된, 실명확인신청데이터와 제2참가자전자서명'을 저장하고, 실명DB(231)에서 '단계 354-7에서 수신한 실명확인신청데이터에 포함된, 정보제공신청자식별정보로서의 제2참가자회원ID'에 매칭된 제2참가자실명ID를 검색하고, 상기 제2참가자실명ID를 '상기 실명확인신청데이터에 포함된 제1참가자공개키'를 암호화키로 암호화하고, '송신자식별정보로서의 소정의 제2실명확인서버식별정보'와 '전송대상데이터이자 전송데이터로서의, 상기 암호화된 제2참가자실명ID'를 포함하는 소정의 제2실명확인트랜잭션데이터를 작성하고, 상기 제2실명확인트랜잭션데이터의 해시값을 산출하고, 소정의 방법으로 제2실명확인서버(130)의 비밀키를 추출하고, 상기 비밀키를 암호화키로 상기 해시값을 암호화해 상기 제2실명확인트랜잭션데이터에 대한 제2실명확인서버(130)의 전자서명을 생성하고, '소정의 제2실명확인서버식별정보와 매칭하여 상기 제2실명확인서버전자서명을 첨부한 제2실명확인트랜잭션데이터'를 '단계 350-7에서 제2실명확인서버(130)를 호출한 제2통신서버(240)'로 전송하고, 상기 '제2실명확인서버식별정보와 매칭하여 제2실명확인서버전자서명이 첨부된 제2실명확인트랜잭션데이터'를 상기 제2통신서버(240)가 수신한다.
단계 358-7에서 제2통신서버(240)에서 '단계 346-7에서 공증전송신청정보와 매칭하여 수신한, 송신자통신ID로서의 제2참가자통신ID와 수신자통신ID로서의 제1참가자통신ID와 제2공증전송대상문서'를 포함하는 소정의 전송대상데이터를 제2전송데이터로서 작성한다.
단계 356-7이 동작되는 본 발명의 부가적 일 양상의 경우 단계 358-7은, 제2통신서버(240)에서 증빙DB(244)의 발신접수증빙서브DB(미도시)에 소정의 타임스탬프에 매칭하여 '단계 356-7에서 수신한, 제2실명확인서버식별정보와 제2실명확인서버전자서명 및 제2실명확인트랜잭션데이터'를 저장하고, 상기 제2실명확인트랜잭션데이터의 해시값을 산출하고, 노드DB(242)에서 상기 제2실명확인서버식별정보에 매칭된 제2실명확인서버공개키를 검색하고, 상기 제2실명확인서버공개키를 복호화키로 상기 제2실명확인서버전자서명을 복호화하고, 상기 복호화된 값을 상기 해시값과 대조하여 일치하는지 판단하는 단계; 를 포함하고, 상기 판단이 긍정적인 경우 상기 제2전송데이터에 '단계 356-7에서 수신한 제2실명확인트랜잭션데이터에 포함된, 암호화된 제2참가자실명ID'를 더 포함한다.
단계 360-7에서 제2통신서버(220)에서 노드DB(242)에서 제2통신서버식별정보에 매칭된 제2통신서버퍼블릭블록체인계정식별정보를 검색하고, 노드DB(242)에서 제2오쏘리티노드식별정보에 매칭된 제2오쏘리티노드퍼블릭블록체인계정식별정보를 검색하고, 소정의 방법으로 제2통신서버의 비밀키를 추출하고, '단계 358-7에서 작성된 제2전송데이터'와 '송신자식별정보로서의 상기 제2통신서버퍼블릭블록체인계정식별정보'와 '수신자식별정보로서의 상기 제2오쏘리티노드퍼블릭블록체인계정식별정보'를 포함하는 제2트랜잭션데이터를 작성하고, 상기 제2트랜잭션데이터의 해시값을 산출하고, 상기 해시값을 상기 비밀키로 암호화해 상기 제2트랜잭션데이터에 대한 제2통신서버전자서명을 생성한다.
본 발명의 부가적 일 양상에 의하면 제2오쏘리티노드(210)는 제2통신서버(240)가 선호하는 오쏘리티노드다.
단계 362-7에서 제2통신서버(240)에서 '단계 360-7에서 작성된 제2트랜잭션데이터'에 '단계 360-7에서 생성된 제2통신서버전자서명'을 매칭해 제2오쏘리티노드(210)로 전송하고, 증빙DB(244)의 발신서브DB(미도시)에 '단계 360-7에서 산출된 제2트랜잭션데이터의 해시값' 및 소정의 타임스탬프에 매칭하여 '상기 제2통신서버전자서명이 매칭된 상기 제2트랜잭션데이터'를 저장하고, 상기 제2트랜잭션데이터에서 제2전송데이터를 추출하고, 상기 제2전송데이터에서 '송신자통신ID로서의 제2참가자통신ID와 수신자통신ID로서의 제1참가자통신ID와 제2공증전송대상문서'를 추출하고, 통신기록DB(243)의 상기 '송신자통신ID로서의 제2참가자통신ID'에 매칭된 통신ID별 통신기록서브DB(미도시)에 '상기 제2트랜잭션데이터의 해시값 및 타임스탬프'에 매칭하여 상기 '송신자통신ID로서의 제2참가자통신ID'와 '수신자통신ID로서의 제1참가자통신ID'와 상기 제2공증전송대상문서를 저장하고, 제2참가자단말(220)로 상기 증빙DB(244)에 저장된 '제2트랜잭션데이터의 해시값 및 타임스탬프와 제2통신서버전자서명이 매칭된 제2트랜잭션데이터'를 전송하고, 상기 통신기록DB(243)에 저장된 '제2트랜잭션데이터의 해시값 및 타임스탬프와 송신자통신ID로서의 제2참가자통신ID와 수신자통신ID로서의 제1참가자통신ID와 제2공증전송대상문서'를 전송한다.
본 발명의 부가적 일 양상에 의하면 단계 362-7은, 상기 제2참가자단말(220)에서 상기 제2통신서버(240)로 소정의 제2참가자본인인증정보와 소정의 '제2참가자통신ID에 매칭된 통신ID별 통신기록서브DB(미도시)' 검색신청정보 및 검색된 정보 다운로드신청정보를 전송하는 단계; 및 상기 제2참가자단말(120)에서 상기 제2통신서버(140)로 '상기 증빙DB(244)의 발신서브DB(미도시)에서 상기 제2트랜잭션데이터의 해시값에 매칭된 정보 검색을 신청하는 소정의 정보'를 전송하는 단계; 를 포함할 수 있다.
단계 364-7에서 제2참가자단말(220)에서 '단계 362-7에서 전송된, 제2트랜잭션데이터의 해시값 및 타임스탬프와 제2통신서버전자서명이 매칭된 제2트랜잭션데이터'를 수신하고, '단계 362-7에서 전송된, 제2트랜잭션데이터의 해시값 및 타임스탬프와 송신자통신ID로서의 제2참가자통신ID와 수신자통신ID로서의 제1참가자통신ID와 제2공증전송대상문서'를 수신하면, 증빙DB(224)의 수신서브DB(미도시)에 상기 '제2트랜잭션데이터의 해시값 및 타임스탬프와 제2통신서버전자서명이 매칭된 제2트랜잭션데이터'를 저장하고, 상기 '제2트랜잭션데이터의 해시값 및 타임스탬프'에 매칭하여 상기 '제2트랜잭션데이터의 해시값 및 타임스탬프'에 매칭하여 수신한 '송신자통신ID로서의 제2참가자통신ID와 수신자통신ID로서의 제1참가자통신ID와 제2공증전송대상문서'를 저장하고, '상기 제2공증전송대상문서에 포함된 해시값 산출대상 문서'의 해시값을 산출하고, 합의DB(229)에 '상기 해시값 산출대상 문서의 해시값'에 매칭하여. '상기 제2트랜잭션데이터의 해시값 및 타임스탬프'를 저장하고, 상기 제2공증전송대상문서와 '상기 제2공증전송대상문서에 포함된, 해시값 산출대상 문서' 중 하나이상을 저장한다.
단계 366-7에서 제2오쏘리티노드(210)가 '단계 362-7에서 전송된, 제2통신서버전자서명이 매칭된 제2트랜잭션데이터'를 수신하면, 회원DB(211)에서 '상기 제2트랜잭션데이터에 포함된, 송신자식별정보로서의 제2통신사퍼블릭블록체인계정식별정보'에 매칭된 공개키를 검색하고, 상기 제2트랜잭션데이터의 해시값을 산출하고, 상기 공개키로 상기 제2통신서버전자서명을 복호화하고, 상기 복호화된 값이 상기 해시값과 일치하는지 판단한다.
단계 366-7에서의 판단이 긍정적인 경우 단계 370-7이 동작된다.
단계 370-7에서 제2오쏘리티노드(110)의 대기트랜잭션DB(214)에 '단계 366-7에서 산출된 제2트랜잭션데이터의 해시값' 및 소정의 타임스탬프에 매칭하여 '단계 366-7에서 수신한, 제2통신서버전자서명이 매칭된 제2트랜잭션데이터'를 저장하고, '단계 366-7에서 수신한, 제2통신서버전자서명이 매칭된 제2트랜잭션데이터'를 '상기 제2트랜잭션데이터에 포함된 제2전송데이터에 수신자통신ID로서 포함된, 제1참가자통신ID'에 매칭된 통신서버인 제1통신서버(140)로 중계 전송한다.
단계 376-7에서 제1통신서버(140)가 '단계 370-7에서 중계 전송된, 제2통신서버전자서명이 매칭된 제2트랜잭션데이터'를 수신하면, 상기 제2트랜잭션데이터의 해시값을 산출하고, 증빙DB(144) 의 수신서브DB(미도시)에 '상기 제2트랜잭션데이터의 해시값과 소정의 타임스탬프'에 매칭하여 상기 '제2통신서버전자서명이 매칭된 제2트랜잭션데이터'를 저장하고, 상기 제2트랜잭션데이터에서 제2전송데이터를 추출하고, 상기 제2전송데이터에서 '송신자통신ID로서의 제2참가자통신ID와 수신자통신ID로서의 제1참가자통신ID와 제2공증전송대상문서'를 추출하고, 통신기록DB(143)의 상기 제1참가자통신ID에 매칭된 통신ID별 통신기록서브DB(미도시)에 '상기 제2트랜잭션데이터의 해시값 및 타임스탬프'에 매칭하여 상기 '송신자통신ID로서의 제2참가자통신ID'와 '수신자통신ID로서의 제1참가자통신ID'와 상기 제2공증전송대상문서를 저장한다.
단계 378-7에서 제1참가자단말(120)이 공지의 방법으로 제1통신서버(140)에 접속하고, 제1통신서버(140)로부터 제1참가자단말(120)로 상기 증빙DB(144)에 저장된 '제2트랜잭션데이터의 해시값 및 타임스탬프와 제2통신서버전자서명이 매칭된 제2트랜잭션데이터'가 전송되고, 상기 통신기록DB(143)에 저장된 '제2트랜잭션데이터의 해시값 및 타임스탬프와, 송신자통신ID로서의 제2참가자통신ID와 수신자통신ID로서의 제1참가자통신ID와 제2공증전송대상문서'가 전송된다
본 발명의 부가적 일 양상에 의하면 단계 378-7은, 상기 제1참가자단말(120)에서 상기 제1통신서버(140)로 소정의 제1참가자본인인증정보와 소정의 '제1참가자통신ID에 매칭된 통신ID별 통신기록서브DB(미도시)' 검색신청정보 및 검색된 정보 다운로드신청정보를 전송하는 단계; 및 상기 제1참가자단말(220)에서 상기 제1통신서버(240)로 '상기 증빙DB(144)의 발신서브DB(미도시)에서 상기 제2트랜잭션데이터의 해시값에 매칭된 정보 검색을 신청하는 소정의 정보'를 전송하는 단계; 를 포함할 수 있다.
단계 384-7에서 제1참가자단말(220)에서 ‘단계 378-7에서 전송된, 제2트랜잭션데이터의 해시값 및 타임스탬프와 제2통신서버전자서명이 매칭된 제2트랜잭션데이터'를 수신하고, '단계 378-7에서 전송된, 제2트랜잭션데이터의 해시값 및 타임스탬프와 송신자통신ID로서의 제2참가자통신ID와 수신자통신ID로서의 제1참가자통신ID와 제2공증전송대상문서'를 수신하면, 증빙DB(124)의 수신서브DB(미도시)에 상기 '제2트랜잭션데이터의 해시값 및 타임스탬프와 제2통신서버전자서명이 매칭된 제2트랜잭션데이터'를 저장하고, 상기 '제2트랜잭션데이터의 해시값 및 타임스탬프'에 매칭하여, 상기 '제2트랜잭션데이터의 해시값 및 타임스탬프'에 매칭하여 수신한 '송신자통신ID로서의 제2참가자통신ID와 수신자통신ID로서의 제1참가자통신ID와 제2공증전송대상문서'를 저장하고, 상기 제2트랜잭션데이터에서 제2전송데이터를 추출하고, 상기 제2전송데이터에서 상기 제2공증전송대상문서를 추출하고, '상기 제2공증전송대상문서에 포함된 제1공증전송대상문서'(이하 "수신제1공증전송대상문서"라 한다)의 해시값을 산출하고, '상기 제2트랜잭션데이터에 포함된 제2전송데이터'에서 '송신자통신ID로서의 제2참가자통신ID'를 추출하고, 연락처DB(121)에서 상기 '송신자통신ID로서의 제2참가자통신ID'에 매칭된 제2참가자공개키를 추출하고, 상기 제2참가자공개키로 '상기 제2공증전송대상문서에 포함된 제2참가자전자서명'을 복호화하고, 상기 복호화된 값과 상기 해시값이 일치하는지 판단한다.
본 발명의 부가적 일 양상에 의하면 상기 '해시값 산출대상 문서'는 '단계 332-7에서 제2참가자단말(220)에서 수신한 제1전송데이터'와 '상기 제1전송데이터에 포함된 제1공증전송대상문서'와 '상기 제1공증전송대상문서에 포함된 암호화된 청약대상문서' 와 '상기 제1공증전송대상문서에 포함된, 암호화된 청약대상문서 및 제1참가자전자서명' 중 하나이상이다. 이하 상기 '암호화된 청약대상문서'인 사례를 중심으로 설명한다.
본 발명의 다른 일 양상에 의하면, 연락처DB(221)에서 상기 '송신자통신ID로서의 제2참가자통신ID'에 매칭된 공개키가 추출되지 않는 경우 단계 384-7은, 제1참가자가 공지의 방법으로 상기 제2참가자로부터 제2참가자공개키를 수신 받아 제1참가자단말(220)에 입력하는 단계; 를 포함할 수 있다.
단계 384-7에서의 판단이 긍정적인 경우 단계 385-7이 동작된다.
단계 385-7에서 제1참가자단말(120)의 출력부(미도시)에 마스터패스워드입력란과 확인박스가 출력된다.
단계 386-7에서 제1참가자단말(120)에서 마스터패스워드가 입력되고 확인박스가 선택되면, 합의DB(129)에 '단계 384-7에서 산출된, 수신제1공증전송대상문서의 해시값'에 매칭하여, '단계 384-7에서 수신된 제2트랜잭션데이터의 해시값 및 타임스탬프'와 '단계 384-7에서 추출된 송신자통신ID로서의 제2참가자통신ID'와 '단계 384-7에서 수신된 제2공증전송대상문서'와 '상기 제2공증전송대상문서에 포함된 수신제1공증전송대상문서'를 저장하고, 상기 제1공증전송대상문서의 해시값을 산출하고, 일회용키DB(126)에서 상기 '수신제1공증전송대상문서의 해시값'에 매칭된 '암호화된 일회용키'를 검색하고, 상기 마스터패스워드를 복호화키로 상기 '암호화된 일회용키'를 복호화하고, 상기 '복호화된 일회용키'를 복호화키로 상기 '제1공증전송대상문서'를 복호화하해 청약대상문서를 산출하고, 합의DB(129)에서 상기 '제1공증전송대상문서의 해시값'에 매칭된 '제1공증전송대상문서'(이하 "발신제1공증전송대상문서"라 한다)를 추출하고, 상기 추출된 발신제1공증전송대상문서와 상기 수신제1공증전송대상문서를 공지의 방법으로 대조하여 일치하는지 판단하고, 출력부(미도시)에 상기 청약대상문서와 상기 일치여부식별정보를 출력한다.
상기 '발신제1공증전송대상문서와 수신제1공증전송대상문서를 대조하는 공지의 방법' 일 실시예는, 상기 '발신제1공증전송대상문서와 수신제1공증전송대상문서' 각각의 해시값을 산출하여 서로 일치여부를 확인하는 방법이다.
단계 358-7에서 작성된 제2전송데이터에 '암호화된 제2참가자실명ID'가 더 포함되는 본 발명의 부가적 일 양상의 경우, '단계 384-7에서 제1참가자단말(220)에서 수신한 제2트랜잭션데이터'에 포함된 제2전송데이터에 상기 '암호화된 제2참가자실명ID'가 더 포함되고, 단계 384-7은 상기 제2전송데이터에서 상기 '암호화된 제2참가자실명ID'를 추출하는 동작을 더 포함하고, 단계 386-7은, 통신ID메모리(122)에서 제1참가자통신ID를 검색하고, 연락처DB(121)에서 상기 제1참가자통신ID에 매칭된 '암호화된 제1참가자인증서패스워드'를 검색하고, 상기 마스터패스워드를 복호화키로 상기 '암호화된 제1참가자인증서패스워드'를 복호화하고, 비밀키저장부(123)에서 '암호화된 제1참가자의 비밀키'를 검색하고, 상기 '복호화된 제1참가자인증서패스워드'를 복호화키로 상기 '암호화된 제1참가자의 비밀키'를 복호화하고, 상기 복호화된 비밀키를 복호화키로 상기 '암호화된 제2참가자실명ID'를 복호화하는 동작을 포함하고, 단계 386-7에서 '상기 복호화된 제2참가자실명ID'가 '청약대상문서 송신자의 실명ID'로서 더 출력된다.
단계 400-7에서 소정의 프라이빗블록 생성주기에 따라 '제1오쏘리티노드(110)와 제2오쏘리티노드(210)중 하나이상'에서 자신의 대기트랜잭션DB(114, 214)에서 '단계 324-7에서 저장된 제1트랜잭션데이터와 단계 370-7에서 저장된 제2트랜잭션데이터 중 하나이상'을 포함하는 '소정 방법으로 선택된 트랜잭션데이터들'을 각각의 매칭된 '전자서명들 및 타임스탬프들 및 해시값들'과 매칭하여 추출하고, '상기 추출된, 트랜잭션데이터들과 전자서명들'의 루트해시값을 산출하고, 공지의 방법으로 프라이빗블록체인네트웍상의 직전프라이빗블록ID를 검색하고, 상기 직전프라이빗블록ID와 상기 루트해시값과 소정의 타임스탬프를 포함하는 소정의 프라이빗블록헤더를 생성하고, 상기 프라이빗블록헤더와 '상기 루트해시값 산출에 이용된 트랜잭션데이터들'과 '상기 각 트랜잭션데이터별로 매칭된 작성자의 전자서명'들과 상기 각 트랜잭션데이터들의 식별정보들로서의 '상기 각각의 타임스탬프들 및 해시값들'을 포함하는 소정의 프라이빗블록을 생성하고, 상기 프라이빗블록헤더의 해시값이 상기 프라이빗블록의 식별정보로서 산출되고, 프라이빗분산원장(112, 212)에 상기 프라이빗블록식별정보에 매칭하여 상기 프라이빗블록을 저장하고, 프라이빗피어DB(117, 217 )에서 '제2오쏘리티노드(210)와 제1오쏘리티노드(110) 중 상대방'을 포함하는 프라이빗피어노드들의 접속주소들이 검색되고, 상기 프라이빗블록이 상기 각 접속주소에 해당하는 '제2오쏘리티노드(210)와 제1오쏘리티노드(110) 중 상대방'을 포함하는 오쏘리티노드들로 전송되고, 상기 프라이빗블록에 포함된 트랜잭션데이터와 전자서명은 매칭된 '해시값 및 타임스탬프'와 함께 대기트랜잭션DB(114, 214)에서 삭제된다.
도 7 내지 도 9의 단계 400-3에서의 부가적 일 양상들은 단계 400-7에서도 적용 가능하다.
단계 402-7에서 '제2오쏘리티노드(210)와 제1오쏘리티노드(110) 중, 단계 400-7에서 프라이빗블록을 전송한 오쏘리티노드가 아닌 오쏘리티노드'를 포함하는 오쏘리티노드들이 '단계 400-7에서 전송된, 블록헤더와, 제1트랜잭션데이터를 포함하는 트랜잭션데이터들과, 상기 각 트랜잭션데이터별로 매칭된 전자서명들을 포함하는 프라이빗블록'을 수신하면, 상기 각 트랜잭션데이터의 해시값을 산출하고, 상기 각 트랜잭션데이터에 포함된 '송신자식별정보로서의, 송신자의 퍼블릭블록체인계정식별정보'에 매칭되는 공개키들을 공지의 방법으로 추출하고, '상기 각 트랜잭션데이터에 매칭된 전자서명'을 '해당 트랜잭션데이터에 포함된 송신자식별정보로서의 퍼블릭블록체인계정식별정보'에 매칭된 공개키로 복호화하고, 상기 각 복호화된 값들이 모두 각각 '매칭된 트랜잭션데이터의 해시값'들과 일치하는지 판단한다.
단계 402-7에서의 판단이 긍정적인 각 오쏘리티노드에서 도 4에서의 단계 404 내지 단계 410이 동작된다.
도 21 내지 도 22는 본 발명의 하이브리드블록체인 이용한 존재증명 방법의 바람직한 일 실시예에서, 블록체인네트웍에 저장된 익명의 트랜잭션데이터를, 상기 트랜잭션의 당사자 중 일방이 실명화하는 동작 일 실시예를 설명한 도면이다.
단계 505에서 제1참가자단말(120)에서 블록체인네트웍에 저장된 트랜잭션데이터 검색을 위한 목적으로 소정의 검색대상기간이 입력되고 검색박스가 선택된다.
단계 510에서 제1참가자단말(120)의 증빙DB(124)에서 '단계 505에서 입력된 검색대상기간'에 매칭되는 타임스탬프들이 추출되고 '상기 추출된 타임스탬프에 매칭된 트랜잭션데이터식별정보들'이 실명화대상퍼블릭블록체인계정식별정보입력란과 실명정보수신자통신ID입력란 및 실명정보수신자퍼블릭블록체인계정식별정보입력란과 함께 출력부(미도시)에 출력된다.
본 발명의 부가적 일 양상에 의하면 상기 트랜잭션데이터식별정보는 상기 트랜잭션데이터의 해시값이다.
단계 515에서 제1참가자단말(120)에서 '단계 510에서 출력된 트랜잭션데이터식별정보'들 중 하나가 실명화대상트랜잭션데이터식별정보로서 선택되어 실명화대상트랜잭션데이터식별정보로서 입력되고, 실명화대상퍼블릭블록체인계정식별정보입력란에 실명화대상퍼블릭블록체인계정식별정보가 입력되고, 실명정보수신자통신ID입력란에 '선택된 트랜잭션데이터의 거래당사자 실명정보를 수신할 통신ID'(이하 "실명정보수신자통신ID"라 한다)가 입력되고, 실명정보수신자퍼블릭블록체인계정식별정보입력란에 '상기 실명정보를 수신할 자의 퍼블릭블록체인계정식별정보'가 입력되면, 증빙DB(124)에서 '상기 선택된 실명화대상트랜잭션데이터식별정보'에 매칭된 '트랜잭션데이터와 타임스탬프'를 '실명화대상트랜잭션데이터 및 매칭된 타임스탬프'로서 추출하고, 출력부(미도시)에 '상기 추출된 트랜잭션데이터에 포함된, 송신자의 퍼블릭블록체인계정식별정보와 수신자의 퍼블릭블록체인계정식별정보'와 상기 타임스탬프를 마스터패스워드입력란 및 소정의 실명화신청박스와 함께 출력한다.
본 발명의 부가적 일 양상에 의하면 상기 출력된 '송신자의 퍼블릭블록체인계정식별정보와 수신자의 퍼블릭블록체인계정식별정보 중 하나이상'은 제1참가자퍼블릭블록체인계정식별정보다.
본 발명의 부가적 일 양상에 의하면 상기 '실명화대상퍼블릭블록체인계정식별정보입력란에 실명화대상퍼블릭블록체인계정식별정보를 입력하는 방법'은, 실명화대상퍼블릭블록체인계정식별정보를 입력하는 제1방법과, 송신자박스와 수신자박스 중 하나이상을 선택하는 제2방법 중 하나일 수 있다.
단계 520에서 제1참가자단말(120)에서 '제1참가자의 마스터패스워드'가 입력되고 실명화신청박스가 선택되면, 통신ID메모리(122)에서 제1참가자통신ID가 검색되고, 연락처DB(121)에서 상기 제1참가자통신ID에 매칭된 '제1참가자퍼블릭블록체인계정식별정보와 암호화된 제1참가자인증서패스워드와 제1참가자공개키'를 검색하고, 연락처DB(121)에서 제1오쏘리티노드식별정보에 매칭된 '제1오쏘리티노드퍼블릭블록체인계정식별정보와 제1오쏘리티노드통신ID와 제1오쏘리티노드공개키'를 검색하고, 상기 마스터패스워드를 복호화키로 상기 '암호화된 제1참가자인증서패스워드'를 복호화하고, 비밀키저장부(123)에서 '암호화된 제1참가자의 비밀키'를 검색하고, 상기 '복호화된 인증서패스워드'를 복호화키로 상기 '암호화된 제1참가자의 비밀키'를 복호화하고, '단계 515에서 추출된 실명화대상트랜잭션데이터'의 해시값을 산출하고, '전송대상데이터이자 전송데이터'로서의 '소정의 실명화신청코드'와 '상기 실명화대상트랜잭션데이터의 식별정보로서의, 상기 실명화대상트랜잭션데이터의 해시값 및 단계 515에서 추출된 타임스탬프'와 '단계 515에서 입력된, 실명화대상퍼블릭블록체인계정식별정보와 실명정보수신자통신ID 및 실명정보수신자퍼블릭블록체인계정식별정보'와 '송신자식별정보로서의, 상기 제1참가자퍼블릭블록체인계정식별정보'와 '수신자식별정보로서의, 상기 제1오쏘리티노드퍼블릭블록체인계정식별정보'와 '송신자통신ID로서의 상기 제1참가자통신ID'와 '수신자통신ID로서의 상기 제1오쏘리티노드통신ID'를 포함하는 소정의 실명화신청트랜잭션데이터를 작성하고, 상기 실명화신청트랜잭션데이터의 해시값을 산출하고, 상기 해시값을 상기 '복호화된 비밀키'로 암호화해 '실명화신청자 전자서명으로서의 제1참가자전자서명'을 생성하고, 상기 제1참가자전자서명이 매칭된 실명화신청트랜잭션데이터를'상기 수신자통신ID에 매칭된 제1오쏘리티노드(110)'로 전송하고, 증빙DB(124)의 발신서브DB(미도시)에 상기 실명화신청트랜잭션데이터의 해시값에 매칭하여 소정의 타임스탬프와 상기 실명화신청트랜잭션데이터와 상기 제1참가자전자서명을 저장한다.
단계 515에서 '실명화대상퍼블릭블록체인계정식별정보를 입력하는 방법'으로서 '송신자박스와 수신자박스 중 하나이상을 선택하는 제2방법'이 동작되는 본 발명의 부가적 일 양상에 의하면, 단계 525는 '단계 515에서 추출된 실명화대상트랜잭션데이터'에서 '송신자식별정보로서 포함된 퍼블릭블록체인계정식별정보'와 '수신자식별정보로서 포함된 퍼블릭블록체인계정식별정보' 중 해당하는 하나이상이 실명화대상퍼블릭블록체인계정식별정보로서 추출되는 동작을 포함한다.
단계 525에서 제1오쏘리티노드(110)가 '단계 520에서 전송된, 제1참가자전자서명이 매칭된 실명화신청트랜잭션데이터'를 수신하면, 상기 실명화신청트랜잭션데이터의 해시값을 산출하고, 회원DB(111)에서 '상기 실명화신청트랜잭션데이터에 포함된, 송신자식별정보로서의 제1참가자퍼블릭블록체인계정식별정보'에 매칭된 공개키를 검색하고, 상기 공개키로 상기 제1참가자전자서명을 복호화하고, 상기 복호화된 값이 상기 해시값과 일치하는지 판단한다.
단계 525에서의 판단이 긍정적인 경우 단계 530이 동작된다.
단계 530에서 제1오쏘리티노드(110)의 프라이빗분산원장(112)에서 '단계 525에서 수신한 실명화신청트랜잭션데이터에 포함된, 실명화대상트랜잭션데이터의 해시값 및 타임스탬프'에 매칭된 트랜잭션데이터를 실명화대상트랜잭션데이터로서 추출하고, 상기 추출된 실명화대상트랜잭션데이터에서 '송신자식별정보와 수신자식별정보'를 추출하고, 상기 추출된 '송신자식별정보와 수신자식별정보 중 하나이상'이 '단계 525에서 수신한 실명화신청트랜잭션데이터에 포함된 송신자식별정보'와 일치하는지 판단한다.
본 발명의 부가적 일 양상에 의하면 프라이빗분산원장(112)에서 상기 '실명화대상트랜잭션데이터의 해시값'에 매칭되는 트랜잭션데이터가 복수 추출될 경우, 상기 검색된 트랜잭션데이터들 중 '단계 525에서 수신한 실명화신청트랜잭션데이터에 포함된, 타임스탬프'에 매칭되는 타임스탬프가 매칭된 트랜잭션데이터가 실명화대상트랜잭션데이터로서 추출된다.
단계 530에서의 판단이 긍정적인 경우 단계 535가 동작된다.
단계 535에서 제1오쏘리티노드(110)에서 '단계 525에서 수신한 실명화신청트랜잭션데이터'의 '해시값과 소정의 타임스탬프'를 산출하고, 대기트랜잭션DB(114)에 상기 '실명화신청트랜잭션데이터의 해시값 및 타임스탬프'에 매칭하여 '단계 525에서 수신한, 제1참가자전자서명이 매칭된 실명화신청트랜잭션데이터'를 저장하고, 회원DB(111)에서 '상기 실명화신청트랜잭션데이터에 포함된, 실명화대상퍼블릭블록체인계정식별정보'에 매칭된 회원ID를 검색하고, 상기 회원ID에 매칭된 '실명확인기관식별정보로서의 실명확인기관퍼블릭블록체인계정식별정보'를 검색한다.
단계 535에서 제1오쏘리티노드(110)의 회원DB(111)에서 '단계 525에서 수신한 실명화신청트랜잭션데이터에 포함된, 실명화대상퍼블릭블록체인계정식별정보'에 매칭된 회원ID가 검색되고, 상기 회원ID에 매칭된 실명확인기관퍼블릭블록체인계정식별정보가 검색되는 경우, 아래 단계 540이하가 동작된다.
단계 540에서 제1오쏘리티노드(110)에서 공지의 방법으로 제1오쏘리티노드(110)의 파블릭블록체인계정식별정보 및 비밀키를 추출하고, '전송대상데이터이자 전송데이터'로서의 '당사자확인자식별정보로서의 상기 제1오쏘리티노드퍼블릭블록체인계정식별정보'와 ‘당사자확인대상 실명화신청트랜잭션데이터식별정보로서의, 단계 535에서 산출된, 실명화신청트랜잭션데이터의 해시값 및 타임스탬프' 및 '실명화신청자가 실명화대상트랜잭션데이터의 당사자임을 확인한다는 의미의 소정의 송신정보'(이하 "트랜잭션당사자확인정보"라 한다)와 '송신자식별정보로서의, 상기 제1오쏘리티노드퍼블릭블록체인계정식별정보'와 '수신자식별정보로서의, 단계 535에서 검색된, 실명확인기관퍼블릭블록체인계정식별정보'를 포함하는 소정의 당사자확인트랜잭션데이터를 작성하고, 상기 당사자확인트랜잭션데이터의 해시값을 산출하고, 상기 해시값을 상기 비밀키로 암호화해 상기 당사자확인트랜잭션데이터에 대한 제1오쏘리티노드전자서명을 생성하고, '상기 제1오쏘리티노드전자서명이 매칭된 당사자확인트랜잭션데이터'와 매칭하여 '단계 525에서 수신한, 제1참가자전자서명이 매칭된 실명화신청트랜잭션데이터'를, 상기 실명확인기관퍼블릭블록체인계정식별정보에 매칭되는 실명확인서버로 전송한다.
일 사례로, 단계 515에서 실명화대상퍼블릭블록체인계정식별정보입력란에 제1참가자퍼블릭블록체인계정식별정보가 입력된 사례라면, 단계 540에서 '제1오쏘리티노드전자서명과 제1참가자전자서명이 매칭된 실명화신청트랜잭션데이터를 첨부한 당사자확인트랜잭션데이터'를 전송할 실명확인서버 식별정보로서 '상기 제1참가자퍼블릭블록체인계정식별정보에 매칭된 제1실명확인기관퍼블릭블록체인계정식별정보'가 검색될 것이다. 이하 이러한 사례를 중심으로 설명한다.
단계 555에서 제1실명확인서버(130)에서 '단계 540에서 전송된, 제1오쏘리티노드전자서명이매칭된 당사자확인트랜잭션데이터와, 제1참가자전자서명이 매칭된 실명화신청트랜잭션데이터'를 수신하면, 상기 당사자확인트랜잭션데이터의 해시값을 산출하고, 공지의 방법으로 '상기 당사자확인트랜잭션데이터에 송신자식별정보로서 포함된, 제1오쏘리티노드퍼블릭블록체인계정식별정보'에 매칭되는 공개키를 추출하고, 상기 공개키로 상기 제1오쏘리티노드전자서명을 복호화하고, 상기 복호화된 값과 상기 해시값을 대조하여 일치하는지 판단한다.
본 발명의 부가적 일 양상에 의하면, 상기 '제1오쏘리티노드퍼블릭블록체인계정식별정보에 매칭되는 공개키를 추출하는 공지의 방법' 일 실시예는, 실명DB(131)에서 상기 제1오쏘리티노드퍼블릭블록체인계정식별정보에 매칭된 공개키를 추출하는 방법이다.
단계 555에서의 판단이 긍정적인 경우 단계 560이 동작된다.
본 발명의 다른 일 양상에 의하면, 단계 555는, 상기 실명화신청트랜잭션데이터의 해시값을 산출하고, 공지의 방법으로 '상기 실명화신청트랜잭션데이터에 송신자식별정보로서 포함된, 제1참가자퍼블릭블록체인계정식별정보'에 매칭된 공개키를 추출하고, 상기 공개키로 상기 제1참가자전자서명을 복호화하고, 상기 복호화된 값을 상기 실명화신청트랜잭션데이터의 해시값을 대조하여 일치하는지 판단하는 단계; 를 포함하고, 상기 판단도 긍정적인 경우에 한해 단계 560이 동작된다.
단계 560에서 증빙DB(134)에 '단계 555(또는 도 23에서의 단계 555-2)에서 산출된 당사자확인트랜잭션데이터의 해시값' 및 소정의 타임스탬프에 매칭하여 '단계 555(또는 도 23에서의 단계 555-2)에서 수신된, 제1오쏘리티노드전자서명이 매칭된 당사자확인트랜잭션데이터와 제1참가자전자서명이 매칭된 실명화신청트랜잭션데이터'를 저장하고, 실명DB(131)에서 '단계 555(또는 도 23에서의 단계 555-2)에서 수신한 실명화신청트랜잭션데이터에 포함된, 실명화대상퍼블릭블록체인계정식별정보'에 매칭된 실명ID를 검색하고, 상기 실명확인대상퍼블릭블록체인계정식별정보에 상기 실명ID를 매칭하여 소정의 회신데이터를 작성하고, 공지의 방법으로 '단계 555에(또는 도 23에서의 단계 555-2)서 수신한 실명화신청트랜잭션데이터에 포함된, 실명정보수신자퍼블릭블록체인계정식별정보'에 매칭된 실명정보수신자공개키를 추출하고, 상기 회신데이터를 상기 실명정보수신자공개키로 암호화하고, 공지의 방법으로 제1실명확인서버(130)의 퍼블릭블록체인계정식별정보와 비밀키를 추출하고, '전송데이터로서의, 상기 암호화된 회신데이터'와 '송신자식별정보로서의 상기 제1실명확인서버퍼블릭블록체인계정식별정보'와 '수신자식별정보로서의, 단계 555(또는 도 23에서의 단계 555-2)에서 수신한 실명화신청트랜잭션데이터에 포함된, 실명정보수신자통신ID 및 실명정보수신자퍼블릭블록체인계정식별정보'를 포함하는 소정의 실명확인트랜잭션데이터를 작성하고, 상기 실명확인트랜잭션데이터의 해시값을 산출하고, 상기 비밀키로 상기 실명확인트랜잭션데이터의 해시값을 암호화해 상기 실명확인트랜잭션데이터에 대한 제1실명확인서버전자서명을 생성하고, 상기 제1실명확인서버전자서명을 매칭한 상기 실명확인트랜잭션데이터를 '단계 555(또는 도 23에서의 단계 555-2)에서 수신한, 실명화신청트랜잭션데이터를 첨부한 당사자확인트랜잭션데이터'를 전송한 제1오쏘리티노드(110)로 회신하고, 상기 실명확인트랜잭션데이터의 해시값과 소정의 타임스탬프를 산출하고, 증빙DB(134)에 상기 '실명확인트랜잭션데이터의 해시값 및 타임스탬프'에 매칭하여 상기 '제1실명확인서버전자서명을 매칭한 상기 실명확인트랜잭션데이터'를 저장한다.
단계 555(또는 도 23에서의 단계 555-2)에서의 본 발명의 다른 일 양상이 적용되는 사례라면, 단계 560에서 증빙DB(134)에 '단계 555의 다른 일 양상에서 산출된 실명화신청트랜잭션데이터의 해시값' 및 소정의 타임스탬프에 매칭하여 '단계 555(또는 도 23에서의 단계 555-2)에서 수신된 실명화신청트랜잭션데이터 및 제1참가자전자서명'을 더 저장한다.
단계 565에서 제1오쏘리티노드(110)에서 '단계 560에서 전송된, 제1실명확인서버전자서명이 매칭된 실명확인트랜잭션데이터'를 수신하면, 회원DB(111)에서 '상기 실명확인트랜잭션데이터에 포함된, 송신자식별정보로서의 제1실명확인서버퍼블릭블록체인계정식별정보'에 매칭된 제1실명확인서버공개키를 검색하고, 상기 실명확인트랜잭션데이터의 해시값을 산출하고, 상기 제1실명확인서버공개키로 상기 제1실명확인서버전자서명을 복호화하고, 상기 복호화된 값을 상기 실명확인트랜잭션데이터의 해시값과 대조하여 일치하는지 판단한다.
단계 565에서의 판단이 긍정적인 경우 단계 570이 동작된다.
단계 570에서 제1오쏘리티노드(110)가 '단계 565에서 수신한 실명확인트랜잭션데이터에 포함된 실명정보수신자통신ID'에 매칭되는 장치(이하 "실명정보수신장치"라 한다)로 '단계 565에서 수신한, 제1실명확인서버전자서명이 매칭된 실명확인트랜잭션데이터'를 중계 전송하고, 상기 실명확인트랜잭션데이터의 해시값과 타임스탬프를 산출하고, 대기트랜잭션DB(114)에 상기 '해시값 및 타임스탬프'에 매칭하여 상기 '제1실명확인서버전자서명이 매칭된 실명확인트랜잭션데이터'를 저장한다.
한편, 단계 535에서 회원DB(111)에서 '단계 525에서 수신한, 실명화대상퍼블릭블록체인계정식별정보'에 매칭된 회원ID가 검색되지 않거나, 상기 회원ID가 검색되더라도 상기 회원ID에 매칭된 실명확인기관퍼블릭블록체인계정식별정보가 검색되지 않는 경우, 상기 단계 540 내지 단계 570를 대체하여, 아래 단계 540-1 내지 단계 570-1이 동작된다.
단계 540-1에서 제1오쏘리티노드(110)에서 '단계 525에서 수신한 실명화신청트랜잭션데이터'에 포함된 실명화대상퍼블릭블록체인계정식별정보에 매칭되는 오쏘리티노드식별정보(이하 "실명화대상퍼블릭블록체인계정오쏘리티노드식별정보"라 한다)를 소정의 방법으로 추출하고, '단계 525에서 수신한, 제1참가자전자서명이 매칭된 실명화신청트랜잭션데이터'를 상기 실명화대상퍼블릭블록체인계정식별정보에 매칭되는 오쏘리티노드로 중계 전송한다.
본 발명의 부가적 일 양상에 의하면, 상기 '실명화대상퍼블릭블록체인계정오쏘리티노드식별정보를 추출하는 소정의 방법'은, '상기 실명화대상퍼블릭블록체인계정식별정보를 포함한 하나이상의 퍼블릭블록체인계정식별정보들' 각각에 매칭하여 오쏘리티노드식별정보를 업데이트하는 소정의 DB(미도시)를 본 발명의 퍼블릭블록체인네트웍을 구성하는 하나이상의 장치에 구성하고, 상기 DB(미도시)에서 상기 실명화대상퍼블릭블록체인계정식별정보에 매칭된 오쏘리티노드식별정보를 추출하는 제1방법과, 단계 525에서 실명화신청트랜잭션데이터를 작성할 때 상기 실명화대상퍼블릭블록체인계정식별정보에 매칭되는 오쏘리티노드식별정보를 포함시키고, 단계 540-1에서 상기 실명화신청트랜잭션데이터에서 상기 오쏘리티노드식별정보를 추출하는 제2방법 중 하나일 수 있다.
일 사례로, 상기 실명화대상퍼블릭블록체인계정식별정보가 제2참가자퍼블릭블록체인계정식별정보이고, 상기 DB에서 제2참가자퍼블릭블록체인계정식별정보에 매칭하여 제2오쏘리티노드식별정보를 검색하거나(제1방법), 단계 525에서 실명화신청트랜잭션데이터를 작성할 때 상기 실명화대상퍼블릭블록체인계정식별정보에 매칭되는 오쏘리티노드식별정보로서 제2오쏘리티노드식별정보를 포함하는(제2방법) 사례를 예시할 수 있다. 이하 이러한 사례를 중심으로 설명한다.
단계 545-1에서 제2오쏘리티노드(210)에서 '단계 540-1에서 전송된, 제1참가자전자서명이 매칭된 실명화신청트랜잭션데이터'를 수신하면, 상기 실명화신청트랜잭션데이터의 해시값을 산출하고, 공지의 방법으로 '상기 실명화신청트랜잭션데이터에 포함된, 송신자식별정보로서의 제1참가자퍼블릭블록체인계정식별정보'에 매칭되는 공개키를 추출하고, 상기 공개키로 상기 제1참가자전자서명을 복호화하고, 상기 복호화된 값이 상기 해시값과 일치하는지 판단한다.
단계 545-1에서의 판단이 긍정적인 경우 단계 550-1이 동작된다.
단계 550-1에서 제2오쏘리티노드(210)에서 '단계 545-1에서 수신한 실명화신청트랜잭션데이터'의 해시값과 소정의 타임스탬프를 산출하고, 대기트랜잭션DB(214)에 상기 '실명화신청트랜잭션데이터의 해시값 및 타임스탬프'에 매칭하여 '단계 545-1에서 수신한, 제1참가자전자서명이 매칭된 실명화신청트랜잭션데이터'를 저장하고, 회원DB(211)에서 '상기 실명화신청트랜잭션데이터에 포함된, 실명화대상퍼블릭블록체인계정식별정보'에 매칭된 회원ID를 검색하고, 상기 회원ID에 매칭된 실명확인기관퍼블릭블록체인계정식별정보를 검색하고, 공지의 방법으로 제2오쏘리티노드(210)의 파블릭블록체인계정식별정보 및 비밀키를 추출하고, ‘단계 540에서 산출된, 실명화신청트랜잭션데이터의 해시값 및 타임스탬프'와 소정의 트랜잭션당사자확인정보와 '상기 트랜잭션당사자확인정보의 송신자식별정보로서의, 상기 제2오쏘리티노드퍼블릭블록체인계정식별정보'와 '상기 트랜잭션당사자확인정보의 수신자식별정보로서의, 상기 검색된, 실명확인기관퍼블릭블록체인계정식별정보'를 포함하는 소정의 당사자확인트랜잭션데이터를 작성하고, 상기 당사자확인트랜잭션데이터의 해시값을 산출하고, 상기 해시값을 상기 비밀키로 암호화해 상기 당사자확인트랜잭션데이터에 대한 제2오쏘리티노드전자서명을 생성하고, '단계 545-1에서 수신한, 제1참가자전자서명이 매칭된 실명화신청트랜잭션데이터'과 상기 제2오쏘리티노드전자서명을 매칭한 상기 당사자확인트랜잭션데이터를, 상기 실명확인기관퍼블릭블록체인계정식별정보에 매칭되는 실명확인서버로 전송한다.
일 사례로, 단계 515에서 실명화대상퍼블릭블록체인계정식별정보입력란에 제2참가자퍼블릭블록체인계정식별정보가 입력된 사례라면, 단계 550-1에서 '제2오쏘리티노드전자서명과 제1참가자전자서명이 매칭된 실명화신청트랜잭션데이터를 첨부한 당사자확인트랜잭션데이터'를 전송할 실명확인서버 식별정보로서 '상기 제2참가자퍼블릭블록체인계정식별정보에 매칭된 제2실명확인기관퍼블릭블록체인계정식별정보'가 검색될 것이다. 이하 이러한 사례를 중심으로 설명한다.
단계 555-1에서 제2실명확인서버(130)에서 '단계 550-1에서 전송된, 제1참가자전자서명이 매칭된 실명화신청트랜잭션데이터와 제2오쏘리티노드전자서명이 매칭된 당사자확인트랜잭션데이터'를 수신하면, 상기 당사자확인트랜잭션데이터의 해시값을 산출하고, 공지의 방법으로 '상기 당사자확인트랜잭션데이터에 송신자식별정보로서 포함된, 제2오쏘리티노드퍼블릭블록체인계정식별정보'에 매칭되는 공개키를 추출하고, 상기 공개키로 상기 제2오쏘리티노드전자서명을 복호화하고, 상기 복호화된 값과 상기 해시값을 대조하여 일치하는지 판단한다.
본 발명의 부가적 일 양상에 의하면, 상기 '제2오쏘리티노드퍼블릭블록체인계정식별정보에 매칭되는 공개키를 추출하는 공지의 방법' 일 실시예는, 실명DB(231)에서 상기 제2오쏘리티노드퍼블릭블록체인계정식별정보에 매칭된 공개키를 추출하는 방법이다.
단계 555-1에서의 판단이 긍정적인 경우 단계 560-1이 동작된다.
본 발명의 다른 일 양상에 의하면, 단계 555-1은, 상기 실명화신청트랜잭션데이터의 해시값을 산출하고, 공지의 방법으로 '상기 실명화신청트랜잭션데이터에 송신자식별정보로서 포함된, 제1참가자퍼블릭블록체인계정식별정보'에 매칭된 공개키를 추출하고, 상기 공개키로 상기 제1참가자전자서명을 복호화하고, 상기 복호화된 값을 상기 실명화신청트랜잭션데이터의 해시값을 대조하여 일치하는지 판단하는 단계; 를 포함하고, 상기 판단도 긍정적인 경우에 한해 단계 560-1이 동작된다.
단계 560-1에서 증빙DB(234)에 '단계 555-1에서 산출된 당사자확인트랜잭션데이터의 해시값' 및 소정의 타임스탬프에 매칭하여 '단계 555-1에서 수신된, 제2오쏘리티노드전자서명이 매칭된 당사자확인트랜잭션데이터'를 저장하고, 실명DB(231)에서 '단계 555-1에서 수신한 실명화신청트랜잭션데이터에 포함된, 실명화대상퍼블릭블록체인계정식별정보'에 매칭된 실명ID를 검색하고, 상기 실명확인대상퍼블릭블록체인계정식별정보에 상기 실명ID를 매칭하여 소정의 회신데이터를 작성하고, 공지의 방법으로 '단계 555-1에서 수신한 실명화신청트랜잭션데이터에 포함된, 실명정보수신자퍼블릭블록체인계정식별정보'에 매칭되는 실명정보수신자공개키를 추출하고, 상기 회신데이터를 상기 실명정보수신자공개키로 암호화하고, 공지의 방법으로 제2실명확인서버(230)의 퍼블릭블록체인계정식별정보와 비밀키를 추출하고, 상기 '암호화된 회신데이터'와 '송신자식별정보로서의 상기 제2실명확인서버퍼블릭블록체인계정식별정보'와 '수신자식별정보로서의, 단계 555-1에서 수신한 실명화신청트랜잭션데이터에 포함된, 실명정보수신자통신ID 및 실명정보수신자퍼블릭블록체인계정식별정보'를 포함하는 소정의 실명확인트랜잭션데이터를 작성하고, 상기 실명확인데?延痼? 해시값을 산출하고, 상기 비밀키로 상기 실명확인트랜잭션데이터의 해시값을 암호화해 상기 실명확인트랜잭션데이터에 대한 제1실명확인서버전자서명을 생성하고, 상기 제1실명확인서버전자서명을 매칭한 상기 실명확인트랜잭션데이터를 '단계 555-1에서 수신한, 실명화신청트랜잭션데이터를 첨부한 당사자확인트랜잭션데이터'를 전송한 제2오쏘리티노드(210)로 회신하고, 상기 실명확인트랜잭션데이터의 해시값과 소정의 타임스탬프를 산출하고, 증빙DB(234)에 상기 '실명확인트랜잭션데이터의 해시값 및 타임스탬프'에 매칭하여 상기 '제2실명확인서버전자서명을 매칭한 상기 실명확인트랜잭션데이터'를 저장한다.
단계 555-1에서의 본 발명의 다른 일 양상이 적용되는 사례라면, 단계 560-1에서 증빙DB(234)에 '단계 555-1의 다른 일 양상에서 산출된 실명화신청트랜잭션데이터의 해시값' 및 소정의 타임스탬프에 매칭하여 '단계 555-1에서 수신된 실명화신청트랜잭션데이터 및 제1참가자전자서명'을 더 저장한다.
단계 565-1에서 제2오쏘리티노드(210)에서 '단계 560-1에서 전송된, 제2실명확인서버전자서명이 매칭된 실명확인트랜잭션데이터'를 수신하면, 회원DB(211)에서 '상기 실명확인트랜잭션데이터에 포함된, 송신자식별정보로서의 제2실명확인서버퍼블릭블록체인계정식별정보'에 매칭된 제2실명확인서버공개키를 검색하고, 상기 실명확인트랜잭션데이터의 해시값을 산출하고, 상기 제2실명확인서버공개키로 상기 제2실명확인서버전자서명을 복호화하고, 상기 복호화된 값이 상기 실명확인트랜잭션데이터의 해시값과 일치하는지 판단한다.
단계 565-1에서의 판단이 긍정적인 경우 단계 570-1이 동작된다.
단계 570-1에서 제2오쏘리티노드(210)가 '단계 565-1에서 수신한 실명확인트랜잭션데이터에 포함된 실명정보수신자통신ID'에 매칭되는 실명정보수신장치(미도시)로 '단계 565-1에서 수신한, 제2실명확인서버전자서명이 매칭된 실명확인트랜잭션데이터'를 중계 전송하고, 상기 실명확인트랜잭션데이터의 해시값과 타임스탬프를 산출하고, 대기트랜잭션DB(214)에 상기 '해시값 및 타임스탬프'에 매칭하여 상기 '제2실명확인서버전자서명이 매칭된 실명확인트랜잭션데이터'를 저장한다.
단계 570(또는 단계 570-1)이 동작된 후에는 아래 단계 575가 동작된다.
단계 575에서 실명정보수신장치(미도시)에서 '단계 570(또는 단계 570-1)에서 전송된, 실명확인서버전자서명이 매칭된 실명확인트랜잭션데이터'를 수신하면, 상기 실명확인트랜잭션데이터의 해시값을 산출하고, 공지의 방법으로 '상기 실명확인트랜잭션데이터에 송신자식별정보로서 포함된, 실명확인서버퍼블릭블록체인계정식별정보'에 매칭되는 공개키를 추출하고, 상기 공개키로 상기 실명확인서버전자서명을 복호화하고, 상기 복호화된 값을 상기 해시값과 대조하여 일치하는지 판단한다.
단계 575에서의 판단이 긍정적인 경우 단계 580이 동작된다.
단계 580에서 실명정보수신장치(미도시)에서 소정의 방법으로 실명정보수신장치의 비밀키가 추출되고, 상기 비밀키로 '단계 575에서 수신한 실명확인트랜잭션데이터에 포함된, 암호화된 회신데이터'를 복호화하고, 상기 복호화된 회신데이터에서 '실명확인대상퍼블릭블록체인계정식별정보에 매칭된 실명ID'를 추출한다.
단계 600에서 소정의 프라이빗블록 생성주기에 따라 '제1오쏘리티노드(110)와 제2오쏘리티노드(210)중 하나이상'에서 자신의 대기트랜잭션DB(114, 214)에서 '단계 535에서 저장된 실명화신청트랜잭션데이터'와 '단계 570(또는 단계 570-1)에서 저장된 실명확인트랜잭션데이터'를 포함하는 '소정 방법으로 선택된 트랜잭션데이터들'을 각각의 매칭된 '전자서명들 및 타임스탬프들 및 해시값들'과 매칭하여 추출하고, '상기 추출된, 트랜잭션데이터들과 전자서명들'의 루트해시값을 산출하고, 공지의 방법으로 프라이빗블록체인네트웍상의 직전프라이빗블록ID를 검색하고, 상기 직전프라이빗블록ID와 상기 루트해시값과 소정의 타임스탬프를 포함하는 소정의 프라이빗블록헤더를 생성하고, 상기 프라이빗블록헤더와 '상기 루트해시값 산출에 이용된 트랜잭션데이터들'과 '상기 각 트랜잭션데이터별로 매칭된 작성자의 전자서명'들과 상기 각 트랜잭션데이터들의 식별정보들로서의 '상기 각각의 타임스탬프들 및 해시값들'을 포함하는 소정의 프라이빗블록을 생성하고, 상기 프라이빗블록헤더의 해시값이 상기 프라이빗블록의 식별정보로서 산출되고, 프라이빗분산원장(112, 212)에 상기 프라이빗블록식별정보에 매칭하여 상기 프라이빗블록을 저장하고, 프라이빗피어DB(117, 217 )에서 '제2오쏘리티노드(210)와 제1오쏘리티노드(110) 중 상대방'을 포함하는 프라이빗피어노드들의 접속주소들이 검색되고, 상기 프라이빗블록이 상기 각 접속주소에 해당하는 '제2오쏘리티노드(210)와 제1오쏘리티노드(110) 중 상대방'을 포함하는 오쏘리티노드들'로 전송되고, 상기 프라이빗블록에 포함된 트랜잭션데이터와 전자서명은 매칭된 '해시값 및 타임스탬프'와 함께 대기트랜잭션DB(114, 214)에서 삭제된다.
도 7 내지 도 9의 단계 400-3에서의 부가적 일 양상들은 단계 600에서도 적용 가능하다.
단계 602에서 '제2오쏘리티노드(210)와 제1오쏘리티노드(110) 중, 단계 600에서 프라이빗블록을 전송한 오쏘리티노드가 아닌 오쏘리티노드'를 포함하는 오쏘리티노드들이 '단계 600에서 전송된, 블록헤더와, 실명확인트랜잭션데이터를 포함하는 트랜잭션데이터들과, 상기 각 트랜잭션데이터별로 매칭된 전자서명들을 포함하는 프라이빗블록'을 수신하면, 상기 각 트랜잭션데이터의 해시값을 산출하고, 상기 각 트랜잭션데이터에 포함된 '송신자식별정보로서의, 송신자의 퍼블릭블록체인계정식별정보'에 매칭되는 공개키들을 공지의 방법으로 추출하고, '상기 각 트랜잭션데이터에 매칭된 전자서명'을 '해당 트랜잭션데이터에 포함된 송신자식별정보로서의 포블릭블록체인계정식별정보'에 매칭되는 공개키로 복호화하고, 상기 각 복호화된 값들이 모두 각각 '매칭된 트랜잭션데이터의 해시값'들과 일치하는지 판단한다.
단계 602에서의 판단이 긍정적인 각 오쏘리티노드에서 도 4에서의 단계 404 내지 단계 410이 동작된다.
이상 도 21 내지 도 22에서, 이미 블록체인네트웍에 저장된 익명의 트랜잭션데이터를, 상기 트랜잭션의 당사자 중 일방이 실명화하는 동작 일 실시예를 설명하였다.
도 23은 본 발명의 하이브리드블록체인 이용한 존재증명 방법의 바람직한 일 실시예에서, 블록체인네트웍에 저장된 익명의 트랜잭션데이터를, 상기 트랜잭션의 당사자 중 일방이 아니면서 실명화 권한을 가진 자가 실명화하는 동작 일 실시예를 설명한 도면이다.
단계 515-2에서 본 발명의 블록체인네트웍에 저장된 익명의 트랜잭션데이터의 당사자가 아니면서 상기 당사자의 실명을 확인할 권한을 가진 자(이하 "당사자외실명화권자"라 한다)의 시스템(이하 "당사자외실명화권자자시스템"이라 한다)(미도시)에서, '전송대상데이터이자 전송데이터'로서의 '소정의 실명화신청코드'와 '실명화대상트랜잭션데이터식별정보로서의 소정의 실명화대상트랜잭션데이터의 해시값'과 실명화대상퍼블릭블록체인계정식별정보와 '실명정보수신자식별정보로서의 당사자외실명화권자의 통신ID와 상기 당사자외실명화권자의 퍼블릭블록체인계정식별정보 중 하나이상'과 '송신자식별정보로서의 당사자외실명화권자의 퍼블릭블록체인계정식별정보'와 '수신자식별정보로서의, 소정의 오쏘리티노드퍼블릭블록체인계정식별정보'와 '송신자통신ID로서의 상기 당사자외실명화권자의 통신ID'와 '수신자통신ID로서의 상기 오쏘리티노드통신ID'를 포함하는 소정의 실명화신청트랜잭션데이터를 작성한다.
상기 당사자외실명화권자로는 수색영장을 발부 받은 수시기관 등을 예시할 수 있다.
단계 520-2에서 당사자외실명화권자자시스템(미도시)에서 '단계 515-2에서 작성된 실명화신청트랜잭션데이터'의 해시값을 산출하고, 소정의 방법으로 상기 당사자외실명화권자의 비밀키를 추출하고, 상기 해시값을 상기 비밀키로 암호화해 상기 당사자외실명화권자의 전자서명을 생성하고, 상기 당사자외실명화권자의 전자서명이 매칭된 상기 실명화신청트랜잭션데이터를'상기 실명화신청트랜잭션데이터에 포함된 수신자통신ID'에 매칭된 오쏘리티노드로 전송한다.
이하 상기 오쏘리티노드가 제1오쏘리티노드(110)인 사례를 중심으로 설명하다.
단계 525-2에서 제1오쏘리티노드(110)가'단계 520-2에서 전송된, 당사자외실명화권자의 전자서명이 매칭된 실명화신청트랜잭션데이터'를 수신하면, 상기 실명화신청트랜잭션데이터의 해시값을 산출하고, 당사자외실명화권자DB(미도시)에서 '상기 실명화신청트랜잭션데이터에 포함된 송신자식별정보로서의, 당사자외실명화권자의 퍼블릭블록체인계정식별정보'에 매칭된 공개키를 검색하고, 상기 공개키로 상기 당사자외실명화권자의 전자서명을 복호화하고, 상기 복호화된 값이 상기 해시값과 일치하는지 판단한다.
단계 525-2에서의 판단이 긍정적인 경우 단계 530-2가 동작된다.
단계 530-2에서 제1오쏘리티노드(110)의 프라이빗분산원장(112)에서 '단계 525-2에서 수신한 실명화신청트랜잭션데이터에 포함된, 실명화대상트랜잭션데이터의 해시값 및 타임스탬프'에 매칭된 트랜잭션데이터를 실명화대상트랜잭션데이터로서 추출하고, 상기 추출된 실명화대상트랜잭션데이터에서 '송신자식별정보와 수신자식별정보'가 추출되고, 상기 추출된 '송신자식별정보와 수신자식별정보 중 하나이상'이 '단계 525-2에서 수신한 실명화신청트랜잭션데이터에 포함된, 실명화대상퍼블릭블록체인계정식별정보'와 일치하는지 판단한다.
단계 530에서의 부가적 일 양상은 단계 530-2에서 대응하여 적용 가능하다.
단계 530-2에서의 판단이 긍정적인 경우 단계 535-2가 동작된다.
단계 535-2에서 제1오쏘리티노드(110)에서 '단계 525-2에서 수신한 실명화신청트랜잭션데이터'의 '해시값과 소정의 타임스탬프'를 산출하고, 대기트랜잭션DB(114)에 상기 '실명화신청트랜잭션데이터의 해시값 및 타임스탬프'에 매칭하여 '단계 525-2에서 수신한, 당사자외실명화권자의 전자서명이 매칭된 실명화신청트랜잭션데이터'를 저장하고, 회원DB(111)에서 '상기 실명화신청트랜잭션데이터에 포함된, 실명화대상퍼블릭블록체인계정식별정보'에 매칭된 회원ID를 검색하고, 상기 회원ID에 매칭된 실명확인기관퍼블릭블록체인계정식별정보를 검색한다.
단계 535-2에서 제1오쏘리티노드(110)의 회원DB(111)에서 '단계 525-2에서 수신한 실명화신청트랜잭션데이터에 포함된, 실명화대상퍼블릭블록체인계정식별정보'에 매칭된 회원ID가 검색되고, 상기 회원ID에 매칭된 실명확인기관퍼블릭블록체인계정식별정보가 검색되는 경우, 아래 단계 540-2가하가 동작된다.
단계 540-2에서 제1오쏘리티노드(110)에서 공지의 방법으로 제1오쏘리티노드(110)의 파블릭블록체인계정식별정보 및 비밀키를 추출하고, ‘단계 535-2에서 산출된, 실명화신청트랜잭션데이터의 해시값 및 타임스탬프'와 '실명화신청자가 당사자외실명화권한자임을 확인한다는 의미의 소정의 송신정보'(이하 "트랜잭션당사자외권한확인정보"라 한다)와 '상기 트랜잭션당사자외권한확인정보의 송신자식별정보로서의, 상기 제1오쏘리티노드퍼블릭블록체인계정식별정보'와 '상기 트랜잭션당사자외권한확인정보의 수신자식별정보로서의, 단계 535-2에서 검색된, 실명확인기관퍼블릭블록체인계정식별정보'를 포함하는 소정의 당사자외권한확인트랜잭션데이터 작성하고, 상기 당사자외권한확인트랜잭션데이터의 해시값을 산출하고, 상기 해시값을 상기 비밀키로 암호화해 상기 당사자외권한확인트랜잭션데이터에 대한 제1오쏘리티노드전자서명을 생성하고, '상기 제1오쏘리티노드전자서명이 매칭된 당사자외권한확인트랜잭션데이터'를 '단계 525-2에서 수신한, 당사자외실명화권자의 전자서명이 매칭된 실명화신청트랜잭션데이터'와 매칭하여, 상기 실명확인기관퍼블릭블록체인계정식별정보에 매칭되는 실명확인서버로 전송한다.
단계 540에서의 부가적 일 양상은 단계 540-2에서도 적용 가능하다.
단계 555-2에서 제1실명확인서버(130)에서 '단계 540-2에서 전송된, 제1오쏘리티노드전자서명이 매칭된 당사자외권한확인트랜잭션데이터와, 당사자외실명화권자의 전자서명이 매칭된 실명화신청트랜잭션데이터'를 수신하면, 상기 당사자외권한확인트랜잭션데이터의 해시값을 산출하고, 공지의 방법으로 '상기 당사자외권한확인트랜잭션데이터에 송신자식별정보로서 포함된, 제1오쏘리티노드퍼블릭블록체인계정식별정보'에 매칭되는 공개키를 추출하고, 상기 공개키로 상기 제1오쏘리티노드전자서명을 복호화하고, 상기 복호화된 값을 상기 해시값과 대조하여 일치하는지 판단한다.
단계 555에서의 부가적 일 양상은 단계 555-2에서도 적용 가능하다.
단계 555-2에서의 판단이 긍정적인 경우 도 21 내지 도 22에서의 단계 560 내지 단계 570이 동작된다.
한편, 단계 535-2에서 회원DB(111)에서 '단계 525-2에서 수신한, 실명화대상퍼블릭블록체인계정식별정보'에 매칭된 회원ID가 검색되지 않거나, 상기 회원ID가 검색되더라도 상기 회원ID에 매칭된 실명확인기관퍼블릭블록체인계정식별정보가 검색되지 않는 경우, 상기 단계 540-2 내지 단계 570을 대체하여, 아래 단계 540-3 내지 단계 570-3이 동작된다.
단계 540-3에서 제1오쏘리티노드(110)에서 '단계 530-2에서 실명화대상트랜잭션데이터에서 추출된, 실명화대상퍼블릭블록체인계정식별정보'에 매칭되는 오쏘리티노드식별정보(이하 "실명화대상퍼블릭블록체인계정오쏘리티노드식별정보"라 한다)를 소정의 방법으로 추출하고, '단계 525-2에서 수신한, 당사자외실명화권자의 전자서명이 매칭된 실명화신청트랜잭션데이터'를 상기 실명화대상퍼블릭블록체인계정식별정보에 매칭되는 오쏘리티노드로 중계 전송한다.
단계 540-1에서의 부가적 일 양상과 일 사례는 단계 540-3에서도 적용 가능하다.
단계 545-3에서 제2오쏘리티노드(210)에서 '단계 540-3에서 전송된, 당사자외실명화권자의 전자서명이 매칭된 실명화신청트랜잭션데이터'를 수신하면, 상기 실명화신청트랜잭션데이터의 해시값을 산출하고, 공지의 방법으로 '상기 실명화신청트랜잭션데이터에 포함된, 송신자식별정보로서의 당사자외실명화권자의 퍼블릭블록체인계정식별정보'에 매칭되는 공개키를 추출하고, 상기 공개키로 상기 당사자외실명화권자의 전자서명을 복호화하고, 상기 복호화된 값이 상기 해시값과 일치하는지 판단한다.
단계 545-3에서의 판단이 긍정적인 경우 단계 550-3이 동작된다.
단계 550-3에서 제2오쏘리티노드(210)에서 '단계 545-3에서 수신한 실명화신청트랜잭션데이터'의 해시값과 소정의 타임스탬프를 산출하고, 대기트랜잭션DB(214)에 상기 '실명화신청트랜잭션데이터의 해시값 및 타임스탬프'에 매칭하여 '단계 545-3에서 수신한, 당사자외실명화권자의 전자서명이 매칭된 실명화신청트랜잭션데이터'를 저장하고, 회원DB(211)에서 '상기 실명화신청트랜잭션데이터에 포함된, 실명화대상퍼블릭블록체인계정식별정보'에 매칭된 회원ID를 검색하고, 상기 회원ID에 매칭된 실명확인기관퍼블릭블록체인계정식별정보를 검색하고, 공지의 방법으로 제2오쏘리티노드(210)의 퍼블릭블록체인계정식별정보 및 비밀키를 추출하고, ‘단계 535-2에서 산출된, 실명화신청트랜잭션데이터의 해시값 및 타임스탬프'와 소정의 트랜잭션당사자외권한확인정보와 '상기 트랜잭션당사자외권한확인정보의 송신자식별정보로서의, 상기 제2오쏘리티노드퍼블릭블록체인계정식별정보'와 '상기 트랜잭션당사자외권한확인정보의 수신자식별정보로서의, 상기 검색된, 실명확인기관퍼블릭블록체인계정식별정보'를 포함하는 소정의 당사자외권한확인트랜잭션데이터를 작성하고, 상기 당사자외권한확인트랜잭션데이터의 해시값을 산출하고, 상기 해시값을 상기 비밀키로 암호화해 상기 당사자외권한확인트랜잭션데이터에 대한 제2오쏘리티노드전자서명을 생성하고, 상기 제2오쏘리티노드전자서명과 '단계 545-1에서 수신한, 당사자외실명화권자의 전자서명이 매칭된 실명화신청트랜잭션데이터'를 첨부한 상기 당사자외권한확인트랜잭션데이터를, 상기 실명확인기관퍼블릭블록체인계정식별정보에 매칭되는 실명확인서버로 전송한다.
단계 550-1에서의 일 사례는 단계 550-3에서도 적용된다.
단계 555-3에서 제2실명확인서버(130)에서 '단계 550-3에서 전송된, 제2오쏘리티노드전자서명과 당사자외실명화권자의 전자서명이 매칭된 실명화신청트랜잭션데이터를 첨부한 당사자외권한확인트랜잭션데이터'를 수신하면, 상기 당사자외권한확인트랜잭션데이터의 해시값을 산출하고, 공지의 방법으로 '상기 당사자외권한확인트랜잭션데이터에 송신자식별정보로서 포함된, 제2오쏘리티노드퍼블릭블록체인계정식별정보'에 매칭된 공개키를 추출하고, 상기 공개키로 상기 제2오쏘리티노드전자서명을 복호화하고, 상기 복호화된 값을 상기 해시값을 대조하여 일치하는지 판단한다.
단계 555-1에서의 다른 일 양상은 단계 555-3에서도 적용 가능하다.
단계 555-3에서의 판단이 긍정적인 경우 단계 560-3이 동작된다.
단계 560-3에서 증빙DB(234)에 '단계 555-3에서 산출된 당사자외권한확인트랜잭션데이터의 해시값' 및 소정의 타임스탬프에 매칭하여 '단계 555-3에서 수신된, 당사자외실명화권자의 전자서명이 매칭된 실명화신청트랜잭션데이터'를 저장하고, 실명DB(231)에서 '단계 555-3에서 수신한 실명화신청트랜잭션데이터에 포함된, 실명화대상퍼블릭블록체인계정식별정보'에 매칭된 실명ID를 검색하고, 상기 실명확인대상퍼블릭블록체인계정식별정보에 상기 실명ID를 매칭하여 소정의 회신데이터를 작성하고, 공지의 방법으로 '단계 555-3에서 수신한 실명화신청트랜잭션데이터에 실명정보수신자식별정보로서 포함된, 실명정보수신자퍼블릭블록체인계정식별정보'에 매칭된 실명정보수신자공개키를 추출하고, 상기 회신데이터를 상기 실명정보수신자공개키로 암호화하고, 공지의 방법으로 제2실명확인서버(230)의 퍼블릭블록체인계정식별정보와 비밀키를 추출하고, 상기 '암호화된 회신데이터'와 '송신자식별정보로서의 상기 제2실명확인서버퍼블릭블록체인계정식별정보'와 '수신자식별정보로서의, 단계 555-3에서 수신한 실명화신청트랜잭션데이터에 포함된, 실명정보수신자통신ID 및 실명정보수신자퍼블릭블록체인계정식별정보'를 포함하는 소정의 실명확인트랜잭션데이터를 작성하고, 상기 실명확인트랜잭션데이터의 해시값을 산출하고, 소정의 방법으로 제2실명확인서버의 비밀키를 추출하고, 상기 비밀키로 '상기 실명확인트랜잭션데이터의 해시값'를 암호화해 상기 실명확인트랜잭션데이터에 대한 제2실명확인서버전자서명을 생성하고, 상기 제2실명확인서버전자서명을 매칭한 상기 실명확인트랜잭션데이터를 '단계 555-3에서 수신한, 실명화신청트랜잭션데이터를 첨부한 당사자외권한확인트랜잭션데이터'를 전송한 제2오쏘리티노드(210)로 회신하고, 상기 실명확인트랜잭션데이터의 해시값과 소정의 타임스탬프를 산출하고, 증빙DB(234)에 상기 '실명확인트랜잭션데이터의 해시값 및 타임스탬프'에 매칭하여 상기 '제2실명확인서버전자서명을 매칭한 상기 실명확인트랜잭션데이터'를 저장한다.
단계 555-3에서의 본 발명의 다른 일 양상이 적용되는 사례라면, 단계 560-3에서 증빙DB(234)에 '단계 555-3의 다른 일 양상에서 산출된 실명화신청트랜잭션데이터의 해시값' 및 소정의 타임스탬프에 매칭하여 '단계 555-3에서 수신된 실명화신청트랜잭션데이터 및 당사자외실명화권자의 전자서명'을 더 저장한다.
도 21 내지 도 22에서의 단계 565-1 및 단계 570-1이 동작된다.
단계 570(또는 단계 570-1)이 동작된 후에는 도 21 내지 도 22에서의 단계 575 이하가 동작된다.
110: 제1오쏘리티노드
111: 회원DB
112: 프라이빗분산원장
113: 퍼블릭분산원장
114: 대기트랜잭션DB
117: 프라이빗피어DB
118: 퍼블릭피어DB
120: 제1참가자단말
121: 연락처DB
122: 통신ID메모리
123: 비밀키저장부
124: 증빙DB
125: 일회용키생성부
126: 일회용키DB
129: 합의DB
130: 제1실명확인서버
131: 실명DB
132: OTP생성부
134: 증빙DB
140: 제1통신서버
141: 가입자DB
142: 노드DB
143: 통신기록DB
144: 증빙DB
210: 제2오쏘리티노드
211: 회원DB
212: 프라이빗분산원장
213: 퍼블릭분산원장
214: 대기트랜잭션DB
217: 프라이빗피어DB
218: 퍼블릭피어DB
220: 제2참가자단말
221: 연락처DB
222: 통신ID메모리
223: 비밀키저장부
224: 증빙DB
225: 일회용키생성부
226: 일회용키DB
229: 합의DB
230: 제2실명확인서버
231: 실명DB
232: OTP생성부
234: 증빙DB
240: 제2통신서버
241: 가입자DB
242: 노드DB
243: 통신기록DB
244: 증빙DB

Claims (17)

  1. 참가자의 단말에서,
    이미 작성되어 있는 하나의 문서가 청약대상문서로서 선택되는 단계 (A);
    '상기 청약대상문서의 수신자식별정보'가 입력되는 단계 (B);
    '청약자식별정보로서의 상기 참가자의 식별정보와 피청약자식별정보로서의 상기 수신자식별정보'와 상기 청약대상문서를 포함하는 트랜잭션데이터를 작성하는 단계 (D);
    상기 참가자의 비밀키를 이용해 '상기 트랜잭션데이터에 대한 상기 참가자의 전자서명'을 생성하는 단계; 및
    상기 참가자의 전자서명을 매칭한 상기 트랜잭션데이터를,
    '동일한 블록생성주기에 해당하는 상기 트랜잭션데이터를 포함하는 하나이상의 트랜잭션데이터들을 포함하는 정보들을 저장하고 상기 저장된 정보들의 루트해시값을 산출하고, 상기 산출된 루트해시값을 포함하는 블록헤더를 생성하고, 상기 블록헤더를 구성하는 블록을 직전블록의 다음순서로서 분산원장에 저장하는 것'을 특징으로 하는 노드로 전송하는 단계; 를 포함하는 것을 특징으로 하는 존재증명 방법
  2. 삭제
  3. 삭제
  4. 단말에서,
    이미 작성되어 있는 하나의 문서가 청약대상문서로서 선택되는 단계 (A);
    '상기 청약대상문서의 수신자식별정보'가 입력되는 단계 (B);
    랜덤하게 일회용키를 생성하는 단계 (C);
    상기 일회용키를 이용해 상기 청약대상문서를 암호화해 공증전송대상문서를 작성하는 단계 (D);
    상기 단말 사용자의 비밀키를 이용해 상기 공증전송대상문서에 대한 청약자의 전자서명을 생성하는 단계 (E);
    공증전송신청정보와 '송신자식별정보로서의 상기 단말 사용자의 식별정보'와 상기 '청약자의 전자서명'을 매칭한 상기 공증전송대상문서를,
    '송신자식별정보와 수신자식별정보와 송신자의 전자서명이 매칭된 공증전송대상문서를 수신하면 상기 송신자식별정보와 수신자식별정보와 송신자의 전자서명이 매칭된 공증전송대상문서를 포함하는 트랜잭션데이터를 작성하는 것'을 특징으로 하고, 자신의 전자서명을 매칭해 상기 트랜잭션데이터를 '블록생성주기별로 상기 트랜잭션데이터를 포함하는 하나이상의 트랜잭션데이터들을 포함하는 정보들을 저장하고 상기 저장된 정보들의 루트해시값을 포함하는 블록헤더를 생성하고 상기 블록헤더를 포함하는 블록을 생성하는 노드'로 전송하는 것을 특징으로 하는 통신서버로 전송하는 단계 (F);
    '(C)단계에서 생성된 일회용키'를 상기 수신자의 공개키를 이용해 암호화하는 단계 (G);
    '상기 공증전송대상문서의 식별정보와 상기 암호화된 일회용키를 포함하되 상기 청약대상문서는 포함하지 않는 것을 특징으로 하는 일반전송대상문서'를 작성하는 단계 (H); 및
    일반전송신청정보와 '송신자식별정보로서 자신의 식별정보'와 '수신자식별정보로서의 상기수신자식별정보'를 매칭해 상기 일반전송대상문서를 상기 통신서버로 전송하는 단계 (I); 를 포함하는 것을 특징으로 하는 존재증명 방법
  5. 참가자의 단말에서,
    '상기 참가자가 아닌 청약자'의 전자서명이 매칭된 '청약자식별정보와 청약대상문서를 포함하는 것을 특징으로 하는 데이터'를 수신하는 단계 (A):
    상기 청약자식별정보와 매칭되는 공개키를 이용해 상기 청약자의 전자서명을 검증하는 단계 (B);
    '합의자식별정보로서의 상기 참가자의 식별정보'와 '청약자식별정보로서의 (A)단계에서 수신한 데이터에 포함된 청약자식별정보'와 '합의대상문서를 식별할 수 있게 하는 정보'를 포함하는 합의데이터를 작성하는 단계 (C);
    상기 참가자의 비밀키를 이용해 '상기 합의데이터를 포함하는 데이터'에 대한 상기 참가자의 전자서명을 생성하는 단계 (D); 및
    상기 참가자의 전자서명이 매칭된 '상기 (D)단계에서 상기 전자서명을 생성한 대상이 되는 데이터'를,
    '동일한 블록생성주기에 해당하는 하나이상의 데이터들을 포함하는 정보들의 루트해시값을 산출하고, 상기 산출된 루트해시값을 포함하는 블록헤더를 생성하고, 상기 블록헤더를 구성하는 블록을 직전블록의 다음순서로서 분산원장에 저장하는 것을 특징으로 하는 노드'로 전송하는 단계 (E); 를 포함하는 것을 특징으로 하는 존재증명 방법
  6. 삭제
  7. 삭제
  8. 단말에서,
    일반전송대상문서송신자식별정보에 매칭된 '하나의 청약대상문서를 일회용키로 암호화한 것을 특징으로 하는 공증전송대상문서'의 식별정보와 '암호화된 상기 일회용키'를 포함하되 상기 청약대상문서는 포함하지 않은 일반전송대상문서를 수신하는 단계 (A);
    '송신자식별정보와 송신자의 전자서명이 매칭된, 암호화된 청약대상문서인 공증전송대상문서'를 수신하는 단계 (B);
    '(B)단계에서의 송신자식별정보에 매칭되는 공개키'를 이용해 '(B)단계에서의 송신자의 전자서명'을 검증하는 단계 (D);
    상기 단말 사용자의 비밀키를 이용해 상기 '(A)단계에서 수신한 일반전송대상문서'에 암호화되어 포함된 '상기 일반전송대상문서에 포함되어 있지 않은 것을 특징으로 하는 암호화된 청약대상문서를 복호화할 수 있는 것을 특징으로 하는 암호화된 일회용키'를 복호화는 단계 (E); 및
    상기'복호화된 일회용키'를 이용해 '(B)단계에서 수신한 공증전송대상문서인, 암호화된 청약대상문서'를 복호화하는 단계 (F); 를 포함하는 것을 특징으로 하는 존재증명 방법
  9. 삭제
  10. 하나이상의 트랜잭션데이터들을 이용하여 블록을 작성하는 것을 특징으로 하는 노드에서,
    '실명화신청코드와 실명화대상트랜잭션데이터식별정보와 실명화대상블록체인계정식별정보와 송신자식별정보'를 포함하는 실명화신청트랜잭션데이터를 수신하는 단계 (A);
    분산원장에서 '(A)단계에서 수신한 실명화신청트랜잭션데이터에 포함된 실명화대상트랜잭션데이터식별정보'에 매칭된 트랜잭션데이터를 실명화대상트랜잭션데이터로서 추출하는 단계 (B);
    상기 실명화대상트랜잭션데이터에 포함된 '송신자식별정보와 수신자식별정보 중 하나이상'이 '(A)단계에서 수신한 실명화신청트랜잭션데이터에 포함된 송신자식별정보'와 일치하는지 판단하는 단계 (C);
    '실명화신청자가 실명화대상트랜잭션데이터의 당사자임을 확인한다는 의미의 정보'와 '송신자식별정보로서의 자신의 식별정보'를 포함하는 하나의 당사자확인트랜잭션데이터를 작성하는 단계 (D); 및
    자신의 비밀키로 상기 당사자확인트랜잭션데이터에 대한 전자서명을 생성하는 단계 (E); 를 포함하는 것을 특징으로 하는 존재증명 방법
  11. 삭제
  12. 실명확인된 실명ID를 저장하고 있는 실명DB를 구성하고 있는 것을 특징으로 하는 실명확인서버에서,
    정보제공신청자의 전자서명이 매칭된 '정보제공신청자식별정보를 포함하는 실명확인신청데이터'를 수신하는 단계 (A);
    상기 정보제공신청자식별정보에 매칭되는 공개키를 이용해 상기 정보제공신청자의 전자서명을 검증하는 단계 (B);
    상기 실명DB에서 '상기 실명확인신청데이터에 포함된 정보제공신청자식별정보'에 매칭된 정보제공신청자의 실명ID와 공개키를 검색하는 단계 (C)
    상기 정보제공신청자의 실명ID를 실명정보암호화키를 이용해 암호화하는 단계 (D);
    '송신자식별정보로서의 자신의 식별정보'와 '상기 암호화된 정보제공신청자의 실명ID'와 상기 정보제공신청자의 공개키를 포함하는 실명확인트랜잭션데이터를 작성하는 단계 (E); 및
    자신의 비밀키를 이용해 상기 실명확인트랜잭션데이터에 대한 자신의 전자서명을 생성하는 단계 (F); 를 포함하는 것을 특징으로 하는 존재증명 방법
  13. 삭제
  14. 실명확인된 실명ID를 저장하고 있는 실명DB를 구성하고 있는 것을 특징으로 하는 실명확인서버에서,
    송신자의 전자서명이 매칭된 '당사자확인자식별정보와 당사자확인대상 실명화신청트랜잭션데이터식별정보'를 포함하는 당사자확인트랜잭션데이터를 수신하는 단계 (A);
    '실명화신청코드와 실명화대상블록체인계정식별정보와 실명정보수신자식별정보를 포함하는 실명화신청트랜잭션데이터를 수신하는 단계 (B);
    '상기 당사자확인트랜잭션데이터에 포함된 송신자식별정보'에 매칭되는 공개키를 이용해 '상기 당사자확인트랜잭션데이터에 매칭된 송신자의 전자서명'을 검증하는 단계 (C);
    상기 실명DB에서 '(B)단계에서 수신한 실명화신청트랜잭션데이터에 포함된 실명화대상블록체인계정식별정보'에 매칭된 실명ID를 검색하는 단계 (D);
    상기 실명화대상블록체인계정식별정보에 상기 실명ID를 매칭하여 회신데이터를 작성하는 단계 (E);
    '(B)단계에서 수신한 실명화신청트랜잭션데이터에 포함된 실명정보수신자식별정보'에 매칭된 실명정보수신자공개키를 이용해 상기 회신데이터를 암호화하는 단계 (F);
    상기 암호화된 회신데이터와 '송신자식별정보로서의 자신의 식별정보'를 포함하는 실명확인트랜잭션데이터를 작성하는 단계 (G); 및
    자신의 비밀키를 이용하여 상기 실명확인트랜잭션데이터에 대한 자신의 전자서명을 생성하는 단계 (H); 를 포함하는 것을 특징으로 하는 존재증명 방법
  15. 삭제
  16. 삭제
  17. 삭제
KR1020180096408A 2018-08-18 2018-08-18 하이브리드블록체인 이용한 존재증명 방법 KR102647433B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020180096408A KR102647433B1 (ko) 2018-08-18 2018-08-18 하이브리드블록체인 이용한 존재증명 방법

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020180096408A KR102647433B1 (ko) 2018-08-18 2018-08-18 하이브리드블록체인 이용한 존재증명 방법

Publications (2)

Publication Number Publication Date
KR20200020559A KR20200020559A (ko) 2020-02-26
KR102647433B1 true KR102647433B1 (ko) 2024-03-13

Family

ID=69637756

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020180096408A KR102647433B1 (ko) 2018-08-18 2018-08-18 하이브리드블록체인 이용한 존재증명 방법

Country Status (1)

Country Link
KR (1) KR102647433B1 (ko)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20230145340A1 (en) * 2021-11-08 2023-05-11 Adobe Inc. Distributing and synchronizing encrypted data for multi-regional accessibility

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111985006A (zh) * 2020-08-18 2020-11-24 深圳中兴网信科技有限公司 基于区块链的数据同步方法、系统和计算机可读存储介质
CN115150150B (zh) * 2022-06-28 2024-01-26 北京送好运信息技术有限公司 一种基于区块链技术的信息记录方法
CN117499159B (zh) * 2023-12-27 2024-03-26 杭州字节方舟科技有限公司 一种基于区块链的数据交易方法、装置及电子设备

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100785531B1 (ko) * 2006-05-23 2007-12-21 주식회사 신한은행 전자문서 처리방법 및 시스템과 이를 위한 프로그램기록매체
JP2017220710A (ja) * 2016-06-03 2017-12-14 日本電信電話株式会社 契約合意方法、合意検証方法、契約合意装置および合意検証装置
KR101882805B1 (ko) * 2017-04-17 2018-07-27 주식회사 코인플러그 Utxo 기반 프로토콜에서 머클 트리 구조를 이용하는 블록체인 기반의 문서 관리 방법 및 이를 이용한 문서 관리 서버

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101829731B1 (ko) * 2016-02-23 2018-02-19 주식회사 코인플러그 주주명부를 등록하고 주식 소유권 이전을 기록하는 방법 및 서버
KR101877335B1 (ko) * 2017-01-02 2018-08-09 주식회사 코인플러그 블록체인 및 이와 연동되는 머클 트리 구조 기반의 모바일 아이디를 이용하여 사용자를 비대면 인증하는 방법, 단말 및 이를 이용한 서버

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100785531B1 (ko) * 2006-05-23 2007-12-21 주식회사 신한은행 전자문서 처리방법 및 시스템과 이를 위한 프로그램기록매체
JP2017220710A (ja) * 2016-06-03 2017-12-14 日本電信電話株式会社 契約合意方法、合意検証方法、契約合意装置および合意検証装置
KR101882805B1 (ko) * 2017-04-17 2018-07-27 주식회사 코인플러그 Utxo 기반 프로토콜에서 머클 트리 구조를 이용하는 블록체인 기반의 문서 관리 방법 및 이를 이용한 문서 관리 서버

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20230145340A1 (en) * 2021-11-08 2023-05-11 Adobe Inc. Distributing and synchronizing encrypted data for multi-regional accessibility

Also Published As

Publication number Publication date
KR20200020559A (ko) 2020-02-26

Similar Documents

Publication Publication Date Title
US10284379B1 (en) Public key infrastructure based on the public certificates ledger
US20180205555A1 (en) Contract Agreement Method, Agreement Verification Method, Contract Agreement System, Agreement Verification Device, Contract Agreement Device, Contract Agreement Program and Agreement Verification Program
KR102647433B1 (ko) 하이브리드블록체인 이용한 존재증명 방법
KR101977109B1 (ko) 해시함수 기반의 대규모 동시 전자서명 서비스 시스템 및 그 방법
CN111047324B (zh) 用于更新区块链节点处的公钥集合的方法及装置
CN113065961B (zh) 一种电力区块链数据管理系统
CN109120639A (zh) 一种基于区块链的数据云存储加密方法及系统
CN110046521A (zh) 去中心化隐私保护方法
Lai et al. Applying semigroup property of enhanced Chebyshev polynomials to anonymous authentication protocol
US20060085454A1 (en) Systems and methods to relate multiple unit level datasets without retention of unit identifiable information
CN109729041B (zh) 一种加密内容的发布以及获取方法及装置
CN110191153B (zh) 基于区块链的社交通信方法
US20160239683A1 (en) System and method for securely storing files
US20230351035A1 (en) System and method for user-controllable sharing of authorization for private data
US20150256336A1 (en) End-To-End Encryption Method for Digital Data Sharing Through a Third Party
She et al. A double steganography model combining blockchain and interplanetary file system
CN110597836B (zh) 基于区块链网络的信息查询请求响应方法及装置
CN111767569A (zh) 区块链的访问授权方法及节点
CN111327426B (zh) 数据共享方法及相关装置、设备及系统
US20010014156A1 (en) Common key generating method, common key generator, cryptographic communication method and cryptographic communication system
US20240185191A1 (en) Web3 Decentralized Blockchain Based NFT Framework... Applications
Skudnov Bitcoin clients
US10530581B2 (en) Authenticated broadcast encryption
CN115396096A (zh) 基于国密算法的秘密文件的加、解密方法及保护系统
WO2020002366A1 (en) Decentralised data management

Legal Events

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