KR20220000798A - 탈중앙화 아이디 기반의 가상 자산 서비스 제공 방법 및 이를 이용한 가상 자산 서비스 제공 서버 - Google Patents

탈중앙화 아이디 기반의 가상 자산 서비스 제공 방법 및 이를 이용한 가상 자산 서비스 제공 서버 Download PDF

Info

Publication number
KR20220000798A
KR20220000798A KR1020200184321A KR20200184321A KR20220000798A KR 20220000798 A KR20220000798 A KR 20220000798A KR 1020200184321 A KR1020200184321 A KR 1020200184321A KR 20200184321 A KR20200184321 A KR 20200184321A KR 20220000798 A KR20220000798 A KR 20220000798A
Authority
KR
South Korea
Prior art keywords
server
sender
virtual asset
recipient
public key
Prior art date
Application number
KR1020200184321A
Other languages
English (en)
Other versions
KR102412852B1 (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 KR1020210179208A priority Critical patent/KR20220000864A/ko
Publication of KR20220000798A publication Critical patent/KR20220000798A/ko
Application granted granted Critical
Publication of KR102412852B1 publication Critical patent/KR102412852B1/ko

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q20/00Payment architectures, schemes or protocols
    • G06Q20/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
    • 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/40Authorisation, e.g. identification of payer or payee, verification of customer or shop credentials; Review and approval of payers, e.g. check credit lines or negative lists
    • G06Q20/401Transaction verification
    • 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/42Confirmation, e.g. check or permission by the legal debtor of payment
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/10Network architectures or network communication protocols for network security for controlling access to devices or network resources
    • H04L63/101Access control lists [ACL]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • H04L67/1097Protocols in which an application is distributed across nodes in the network for distributed storage of data in networks, e.g. transport arrangements for network file system [NFS], storage area networks [SAN] or network attached storage [NAS]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/08Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
    • H04L9/0816Key establishment, i.e. cryptographic processes or cryptographic protocols whereby a shared secret becomes available to two or more parties, for subsequent use
    • H04L9/0819Key transport or distribution, i.e. key establishment techniques where one party creates or otherwise obtains a secret value, and securely transfers it to the other(s)
    • H04L9/0825Key transport or distribution, i.e. key establishment techniques where one party creates or otherwise obtains a secret value, and securely transfers it to the other(s) using asymmetric-key encryption or public key infrastructure [PKI], e.g. key signature or public key certificates
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L2209/00Additional information or applications relating to cryptographic mechanisms or cryptographic arrangements for secret or secure communication H04L9/00
    • H04L2209/56Financial cryptography, e.g. electronic payment or e-cash

Landscapes

  • Business, Economics & Management (AREA)
  • Engineering & Computer Science (AREA)
  • Accounting & Taxation (AREA)
  • Computer Security & Cryptography (AREA)
  • Physics & Mathematics (AREA)
  • Finance (AREA)
  • Strategic Management (AREA)
  • General Business, Economics & Management (AREA)
  • General Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Signal Processing (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Computer Hardware Design (AREA)
  • Computing Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Financial Or Insurance-Related Operations Such As Payment And Settlement (AREA)

Abstract

본 발명은 가상 자산 서비스 제공자가 가상 자산을 거래하는 사용자들에 대한 정보를 획득 및 보관하도록 하여 가상 자산 거래를 통해 자금을 세탁하는 것을 방지할 수 있도록 하는 탈중앙화 아이디 기반의 가상 자산 서비스 제공 방법 및 이를 이용한 가상 자산 서비스 제공 서버에 관한 것이다.

Description

탈중앙화 아이디 기반의 가상 자산 서비스 제공 방법 및 이를 이용한 가상 자산 서비스 제공 서버 {METHOD FOR PROVIDING VIRTUAL ASSET SERVICE BASED ON DECENTRALIZED IDENTITY AND VIRTUAL ASSET SERVICE PROVIDING SERVER USING THEM}
본 발명은 가상 자산 서비스를 제공하는 방법 및 이를 이용한 가상 자산 서비스 제공 서버에 관한 것으로, 보다 상세하게는, 가상 자산을 이용하여 자금을 세탁하는 것을 방지하기 위한 탈중앙화 아이디(Decentralized Identifier; DID) 기반의 가상 자산 서비스를 제공하는 방법 및 이를 이용한 가상 자산 서비스 제공 서버에 관한 것이다.
암호화폐인 가상 자산(virtual asset)의 일종인 비트코인은 중앙은행에서 발행하는 법정화폐의 정의를 뒤흔들며 시장에서 높은 수요를 나타냈을 뿐만 아니라, 기존의 서비스들에도 블록체인이 적용되는 파급효과를 가져왔다.
비트코인은 블록체인이라고 불리는 분산원장 기술을 통해, 암호화 기술과 네트워크 기술 들을 결합해 비트코인의 발행과 거래 내역을 P2P 분산 네트워크 상에서 다수의 컴퓨터가 동시에 기록하고 검증한다.
비트코인의 블록체인 기술에의 적용 이후, 블록체인 기술을 이용하는 이더리움, 리플 등과 같은 다양한 가상 자산이 발행되었다.
그리고, 특정 가상 자산을 법정화폐 또는 다른 가상 자산과 거래를 할 수 있도록 하기 위한 마켓 플레이스인 가상 자산 거래소가 생성되었으며, 전세계적으로 다양한 가상 자산 거래소를 통해 다양한 가상 자산들이 거래되고 있다.
그러나, 블록체인을 이용하는 가상 자산의 특성상, 가상 자산 거래자들은 가상 자산 어드레스를 이용하여 가상 자산을 거래하기 때문에 가상 자산 거래자들의 신원은 특정하기가 어렵다.
때문에, 이렇게 가상 자산 거래자들의 신원을 특정하기 어렵다는 특성은 자금 세탁이나 테러자금 조달 등의 불법적 목적에 종종 악용되어 불법적 범죄수익을 가상 자산의 거래를 통해 정당한 거래로 인한 수익으로 보이도록 출처나 소유 관계를 은폐하고 있다.
이러한 가상 자산의 불법적인 거래를 방지하기 위하여, 자금세탁방지 국제기구(Financial Action Task Force; FATF)는 2019년 6월 가상 자산 규제에 대한 국제 표준 권고안을 발표하여 각국으로 하여금 가상 자산 서비스 제공자(Virtual Asset Service Provider; VASP)의 트레블 룰(Travel Rule) 준수를 의무화하도록 장려하고 있다. 이에 이어, 자금세탁방지 국제기구는 트레블 룰 적용에 대한 세부사항을 논의하여 2021년 발표를 앞두고 있다.
트레블 룰의 기초는 가상 자산을 이전할 때 송신을 담당하는 가상 자산 서비스 제공자가 가상 자산 서비스 제공자가 가상 자산 이전 관련 정보를 수신인에게 제공할 의무를 의미하며, 나아가 각국의 정책에 따라서는 가상 자산의 송금 및 입금 시 송신인의 성명과 송신 가상자산 주소 등을 포함하는 송신인 정보와 수신인의 성명과 수신 가상자산 주소 등을 포함하는 수신인 정보를 확인하고, 이에 대한 증빙자료를 구비하도록 요구할 수 있다.
이에 따라 최근 트레블 룰의 준수를 위한 가상 자산 서비스에 대한 다양한 방안들이 제안되고 있으나, 현재까지 트레블 룰을 만족하기 위한 마땅한 솔루션은 없는 상태이다.
따라서, 본 발명은 자금세탁방지 국제기구에서 의무화를 권고한 트레블 룰을 만족하는 가상 자산 서비스를 제안하고자 한다.
본 발명은 상술한 문제점들을 모두 해결하는 것을 그 목적으로 한다.
또한, 본 발명은 가상 자산을 이용한 자금 세탁이나 테러자금 조달 등의 불법 거래를 방지하는 것을 방지하도록 하는 것을 다른 목적으로 한다.
또한, 본 발명은 거래에 참여하는 자산 거래 서비스 제공 서버들이 송신자 정보와 수신자 정보를 인증함으로써 불법 거래의 송신자와 수신자를 용이하게 확인할 수 있도록 하는 것을 또 다른 목적으로 한다.
또한, 본 발명은 가상 자산의 거래를 하는 송신자와 수신자의 개인 정보 노출 없이 송신자 정보 및 수신자 정보를 인증 및 관리할 수 있도록 하는 것을 또 다른 목적으로 한다.
상기한 바와 같은 본 발명의 목적을 달성하고, 후술하는 본 발명의 특징적인 효과를 실현하기 위한, 본 발명의 특징적인 구성은 하기와 같다.
본 발명의 일 태양에 따르면, 탈중앙화 아이디(Decentralized Identifier; DID) 기반의 가상 자산 서비스를 제공하는 방법에 있어서, (a) 사용자들 및 가상 자산 서비스 제공 서버들의 DID가 블록체인 네트워크에 등록된 상태에서, 가상 자산을 전송하고자 하는 송신자의 송신자 단말로부터 상기 가상 자산을 수신할 수신자에 대응되는 수신자 가상 자산 어드레스를 포함하는 가상 자산 전송 요청이 획득되면, 상기 송신자에 대응되는 송신자 가상 자산 어드레스를 관리하는 제1 가상 자산 서비스 제공 서버가, 상기 수신자 가상 자산 어드레스를 포함하는 아이덴티티 레솔루션 리퀘스트를 상기 블록체인 네트워크로 브로드캐스팅하여, 상기 블록체인 네트워크에 각각 노드로 참여하는 적어도 하나 이상의 가상 자산 서비스 제공 서버들로 하여금 상기 수신자 가상 자산 어드레스가 자신이 관리하고 있는 가상 자산 어드레스인지 확인하도록 하는 단계; (b) 상기 수신자 가상 자산 어드레스가 자신이 관리하고 있음을 확인한 제2 가상 자산 서비스 제공 서버로부터 상기 아이덴티티 레솔루션 리퀘스트에 대응되는 레스폰스가 수신되면, 상기 제1 가상 자산 서비스 제공 서버가, 송신자 정보 - 상기 송신자 정보는 송신자 VC(Verifiable Credential)를 송신자 프라이빗 키로 서명한 송신자 서명값과 송신자 DID를 포함함 - 를 제1 서버 프라이빗 키로 서명한 제1 서버 서명값 및 제1 서버 DID를 포함하는 송신자 인증 트랜잭션을 상기 제2 가상 자산 서비스 제공 서버에 전송하여 상기 제2 가상 자산 서비스 제공 서버로 하여금, 상기 송신자 인증 트랜잭션에 포함된 상기 제1 서버 DID를 이용하여 상기 블록체인 네트워크로부터 상기 제1 서버 DID에 대응되는 제1 서버 퍼블릭 키를 획득하도록 하여, 상기 제1 서버 퍼블릭 키를 이용하여 상기 송신자 인증 트랜잭션에 포함된 상기 제1 서버 서명값을 복호화하여 상기 송신자 정보를 획득하도록 하고, 상기 송신자 정보에 포함된 상기 송신자 DID를 이용하여 상기 블록체인 네트워크로부터 상기 송신자 DID에 대응되는 송신자 퍼블릭 키를 획득하도록 하여, 상기 송신자 퍼블릭 키를 이용하여 상기 송신자 정보에 포함된 상기 송신자 서명값을 복호화하여 상기 송신자 VC를 획득하여 상기 블록체인 네트워크를 통해 상기 송신자 VC를 검증하도록 하고, 검증이 완료되면 수신자 정보 - 상기 수신자 정보는 수신자 VC를 수신자 프라이빗 키로 서명한 수신자 서명값과 수신자 DID를 포함함 - 를 제2 서버 프라이빗 키로 서명한 제2 서버 서명값 및 제2 서버 DID를 포함하는 수신자 인증 트랜잭션을 전송하도록 하는 단계; 및 (c) 상기 수신자 인증 트랜잭션을 수신하면, 상기 제1 가상 자산 서비스 제공 서버가, 상기 수신자 인증 트랜잭션에 포함된 상기 제2 서버 DID를 이용하여 상기 블록체인 네트워크로부터 상기 제2 서버 DID에 대응되는 상기 제2 서버 퍼블릭 키를 획득하고, 상기 제2 서버 퍼블릭 키를 이용하여 상기 수신자 인증 트랜잭션에 포함된 상기 제2 서버 서명값을 복호화하여 상기 수신자 정보를 획득하며, 상기 수신자 정보에 포함된 상기 수신자 DID를 이용하여 상기 블록체인 네트워크로부터 상기 수신자 DID에 대응되는 수신자 퍼블릭 키를 획득하고, 상기 수신자 퍼블릭 키를 이용하여 상기 수신자 정보에 포함된 상기 수신자 서명값을 복호화하여 상기 수신자 VC를 획득하여 상기 블록체인 네트워크를 통해 검증한 후 검증 기록을 저장한 다음, 상기 가상 자산을 상기 송신자 가상 자산 어드레스로부터 상기 수신자 가상 자산 어드레스로 전송하여 주기 위한 가산 전송 트랜잭션을 생성하여 상기 블록체인 네트워크에 등록하는 단계; 를 포함하는 방법이 개시된다.
일례로서, 상기 (b) 단계에서, 상기 제1 가상 자산 서비스 제공 서버는, 상기 제2 가상 자산 서비스 제공 서버로 하여금 (i) 상기 제1 서버 퍼블릭 키를 획득하도록 하기 위해 상기 제1 서버 DID를 이용하여 상기 블록체인 네트워크로부터 상기 제1 서버 DID에 대응되는 상기 제1 서버 퍼블릭 키를 획득하도록 하거나, 리졸버 서버를 통해 상기 제1 서버 DID를 이용하여 상기 블록체인 네트워크로부터 상기 제1 서버 DID에 대응되는 제1 서버 DID document를 획득하도록 하여 상기 제1 서버 DID document에서 상기 제1 서버 퍼블릭 키를 획득하도록 하며, (ii) 상기 송신자 퍼블릭 키를 획득하도록 하기 위해 상기 송신자 DID를 이용하여 상기 블록체인 네트워크로부터 상기 송신자 DID에 대응되는 상기 송신자 퍼블릭 키를 획득하도록 하거나, 리졸버 서버를 통해 상기 송신자 DID를 이용하여 상기 블록체인 네트워크로부터 상기 송신자 DID에 대응되는 송신자 DID document를 획득하도록 하여 상기 송신자 DID document에서 상기 송신자 퍼블릭 키를 획득하도록 할 수 있는 것을 특징으로 하는 방법이 개시된다.
일례로서, 상기 (a) 단계에서, 상기 제1 가상 자산 서비스 제공 서버는, 제1 서버 VC를 상기 제1 서버 프라이빗 키로 서명한 제1 서버 인증 서명값과 상기 제1 서버 DID를 상기 아이덴티티 레솔루션 리퀘스트에 추가로 포함하여 상기 블록체인 네트워크에 브로드캐스팅하여, 상기 아이덴티티 레솔루션 리퀘스트에 포함된 상기 수신자 가상 자산 어드레스를 자신이 관리하고 있음을 확인한 상기 제2 가상 자산 서비스 제공 서버로 하여금 상기 아이덴티티 레솔루션 리퀘스트에 포함된 상기 제1 서버 DID를 이용하여 상기 블록체인 네트워크로부터 상기 제1 서버 퍼블릭 키를 확인하도록 하거나, 리졸버 서버를 통해 상기 제1 서버 DID를 이용하여 상기 블록체인 네트워크로부터 상기 제1 서버 DID에 대응되는 제1 서버 DID document를 획득하도록 한 다음 상기 제1 서버 DID document를 통해 상기 제1 서버 퍼블릭 키를 확인하도록 하여, 상기 제1 서버 퍼블릭 키를 이용하여 상기 제1 서버 인증 서명값을 복호화하여 상기 제1 서버 VC를 획득하고 상기 블록체인 네트워크를 통해 상기 제1 서버 VC를 검증하도록 하는 것을 특징으로 하는 방법이 개시된다.
일례로서, 상기 (b) 단계에서, 상기 제1 가상 자산 서비스 제공 서버는, 상기 제2 가상 자산 서비스 제공 서버로 하여금 제2 서버 VC를 상기 제2 서버 프라이빗 키로 서명한 제2 서버 인증 서명값과 상기 제2 서버 DID를 상기 레스폰스에 추가로 포함하도록 하여, 상기 레스폰스가 수신되면, 상기 레스폰스에 포함된 상기 제2 서버 DID를 이용하여 상기 블록체인 네트워크로부터 상기 제2 서버 퍼블릭 키를 확인하거나, 리졸버 서버를 통해 상기 제2 서버 DID를 이용하여 상기 블록체인 네트워크로부터 상기 제2 서버 DID에 대응되는 제2 서버 DID document를 획득한 다음 상기 제2 서버 DID document를 통해 상기 제2 서버 퍼블릭 키를 확인하여, 상기 제2 서버 퍼블릭 키를 이용하여 상기 제2 서버 인증 서명값을 복호화하여 상기 제2 서버 VC를 획득하고 상기 블록체인 네트워크를 통해 상기 제2 서버 VC를 검증하는 것을 특징으로 하는 방법이 개시된다.
일례로서, 상기 (b) 단계에서, 상기 제1 가상 자산 서비스 제공 서버는, 상기 송신자 정보를 상기 송신자로부터 획득하되, 상기 송신자 정보를 상기 송신자 단말로부터의 상기 가상 자산 전송 요청에 포함하여 전송되도록 함으로써 획득하거나 상기 송신자 단말로 별도의 송신자 서명 트랜잭션을 요청하여 획득하는 것을 특징으로 하는 방법이 개시된다.
일례로서, 상기 (b) 단계에서, 상기 제1 가상 자산 서비스 제공 서버는, 상기 제2 가상 자산 서비스 제공 서버로 하여금 상기 수신자 단말로 수신자 서명 트랜잭션을 요청하여 상기 수신자 정보를 획득하도록 하는 것을 특징으로 하는 방법이 개시된다.
일례로서, 상기 (c) 단계에서, 상기 제1 가상 자산 서비스 제공 서버는, (i) 상기 제2 서버 퍼블릭 키를 획득하기 위해 상기 제2 서버 DID를 이용하여 상기 블록체인 네트워크로부터 상기 제2 서버 DID에 대응되는 상기 제2 서버 퍼블릭 키를 획득하거나, 리졸버 서버를 통해 상기 제2 서버 DID를 이용하여 상기 블록체인 네트워크로부터 상기 제2 서버 DID에 대응되는 제2 서버 DID document를 획득하여 상기 제2 서버 DID document에서 상기 제2 서버 퍼블릭 키를 획득하며, (ii) 상기 수신자 퍼블릭 키를 획득하기 위해 상기 수신자 DID를 이용하여 상기 블록체인 네트워크로부터 상기 수신자 DID에 대응되는 상기 수신자 퍼블릭 키를 획득하거나, 리졸버 서버를 통해 상기 수신자 DID를 이용하여 상기 블록체인 네트워크로부터 상기 수신자 DID에 대응되는 수신자 DID document를 획득하여 상기 수신자 DID document에서 상기 수신자 퍼블릭 키를 획득할 수 있는 것을 특징으로 하는 방법이 개시된다.
본 발명의 다른 태양에 따르면, 탈중앙화 아이디(Decentralized Identifier; DID) 기반의 가상 자산 서비스를 제공하는 방법에 있어서, (a) 사용자들 및 가상 자산 서비스 제공 서버들의 DID가 블록체인 네트워크에 등록된 상태에서, 가상 자산을 전송하고자 하는 송신자의 송신자 단말로부터 상기 가상 자산을 수신할 수신자에 대응되는 수신자 가상 자산 어드레스를 이용하여 수신자 단말로 상기 가상 자산을 전송함으로써 상기 수신자 가상 자산 어드레스를 관리하는 제1 가상 자산 서비스 제공 서버가 상기 가상 자산의 전송을 위한 가상 자산 트랜잭션을 획득하면, 상기 제1 가상 자산 서비스 제공 서버가, 상기 송신자 가상 자산 어드레스에 대응되는 아이덴티티 레솔루션 리퀘스트를 상기 블록체인 네트워크로 브로드캐스팅하여, 상기 블록체인 네트워크에 각각 노드로 참여하는 적어도 하나 이상의 가상 자산 서비스 제공 서버들로 하여금 상기 송신자 가상 자산 어드레스가 자신이 관리하고 있는 가상 자산 어드레스인지 확인하도록 하는 단계; (b) 상기 송신자 가상 자산 어드레스가 자신이 관리하고 있음을 확인한 제2 가상 자산 서비스 제공 서버로부터 상기 아이덴티티 레솔루션 리퀘스트에 대응되는 레스폰스가 수신되면, 상기 제1 가상 자산 서비스 제공 서버가, 수신자 정보 - 상기 수신자 정보는 수신자 VC(Verifiable Credential)를 수신자 프라이빗 키로 서명한 수신자 서명값과 수신자 DID를 포함함 - 을 제1 서버 프라이빗 키로 서명한 제1 서버 서명값 및 제1 서버 DID를 포함하는 수신자 인증 트랜잭션을 상기 제2 가상 자산 서비스 제공 서버에 전송하여 상기 제2 가상 자산 서비스 제공 서버로 하여금, 상기 수신자 인증 트랜잭션에 포함된 상기 제1 서버 DID를 이용하여 상기 블록체인 네트워크로부터 상기 제1 서버 DID에 대응되는 제1 서버 퍼블릭 키를 획득하도록 하여, 상기 제1 서버 퍼블릭 키를 이용하여 상기 수신자 정보 VC에 포함된 상기 제1 서버 서명값을 복호화하여 상기 수신자 정보를 획득하도록 하고, 상기 수신자 정보에 포함된 상기 수신자 DID를 이용하여 상기 블록체인 네트워크로부터 상기 수신자 DID에 대응되는 수신자 퍼블릭 키를 획득하도록 하여, 상기 수신자 퍼블릭 키를 이용하여 상기 수신자 정보에 포함된 상기 수신자 서명값을 복호화하여 상기 수신자 VC를 획득하여 상기 블록체인 네트워크를 통해 상기 수신자 VC를 검증하도록 하고, 검증이 완료되면 송신자 정보 - 상기 송신자 정보는 송신자 VC(Verifiable Credential)를 송신자 프라이빗 키로 서명한 송신자 서명값과 송신자 DID를 포함함 - 를 제2 서버 프라이빗 키로 서명한 제2 서버 서명값 및 제2 서버 DID를 포함하는 송신자 인증 트랜잭션을 전송하도록 하는 단계; 및 (c) 상기 송신자 인증 트랜잭션을 수신하면, 상기 제1 가상 자산 서비스 제공 서버가, 상기 송신자 인증 트랜잭션에 포함된 상기 제2 서버 DID를 이용하여 상기 블록체인 네트워크로부터 상기 제2 서버 DID에 대응되는 상기 제2 서버 퍼블릭 키를 획득하고, 상기 제2 서버 퍼블릭 키를 이용하여 상기 송신자 인증 트랜잭션에 포함된 상기 제2 서버 서명값을 복호화하여 상기 송신자 정보를 획득하며, 상기 송신자 정보에 포함된 상기 송신자 DID를 이용하여 상기 블록체인 네트워크로부터 상기 송신자 DID에 대응되는 송신자 퍼블릭 키를 획득하고, 상기 송신자 퍼블릭 키를 이용하여 상기 송신자 정보에 포함된 상기 송신자 서명값을 복호화하여 상기 송신자 VC를 획득하여 상기 블록체인 네트워크를 통해 검증한 후 검증 기록을 저장한 다음, 상기 가상 자산을 상기 송신자 가상 자산 어드레스로부터 상기 수신자 가상 자산 어드레스로 전송되도록 상기 가산 전송 트랜잭션을 상기 블록체인 네트워크에 등록하는 단계; 를 포함하는 방법이 개시된다.
일례로서, 상기 (b) 단계에서, 상기 제1 가상 자산 서비스 제공 서버는, 상기 제2 가상 자산 서비스 제공 서버로 하여금 (i) 상기 제1 서버 퍼블릭 키를 획득하도록 하기 위해 상기 제1 서버 DID를 이용하여 상기 블록체인 네트워크로부터 상기 제1 서버 DID에 대응되는 상기 제1 서버 퍼블릭 키를 획득하도록 하거나, 리졸버 서버를 통해 상기 제1 서버 DID를 이용하여 상기 블록체인 네트워크로부터 상기 제1 서버 DID에 대응되는 제1 서버 DID document를 획득하도록 하여 상기 제1 서버 DID document에서 상기 제1 서버 퍼블릭 키를 획득하도록 하며, (ii) 상기 수신자 퍼블릭 키를 획득하도록 하기 위해 상기 수신자 DID를 이용하여 상기 블록체인 네트워크로부터 상기 수신자 DID에 대응되는 상기 수신자 퍼블릭 키를 획득하도록 하거나, 리졸버 서버를 통해 상기 수신자 DID를 이용하여 상기 블록체인 네트워크로부터 상기 수신자 DID에 대응되는 수신자 DID document를 획득하도록 하여 상기 수신자 DID document에서 상기 수신자 퍼블릭 키를 획득하도록 할 수 있는 것을 특징으로 하는 방법이 개시된다.
일례로서, 상기 (a) 단계에서, 상기 제1 가상 자산 서비스 제공 서버는, 제1 서버 VC를 상기 제1 서버 프라이빗 키로 서명한 제1 서버 인증 서명값과 상기 제1 서버 DID를 상기 아이덴티티 레솔루션 리퀘스트에 추가로 포함하여 상기 블록체인 네트워크에 브로드캐스팅하여, 상기 아이덴티티 레솔루션 리퀘스트에 포함된 상기 송신자 가상 자산 어드레스를 자신이 관리하고 있음을 확인한 상기 제2 가상 자산 서비스 제공 서버로 하여금 상기 아이덴티티 레솔루션 리퀘스트에 포함된 상기 제1 서버 DID를 이용하여 상기 블록체인 네트워크로부터 상기 제1 서버 퍼블릭 키를 확인하도록 하거나, 리졸버 서버를 통해 상기 제1 서버 DID를 이용하여 상기 블록체인 네트워크로부터 상기 제1 서버 DID에 대응되는 제1 서버 DID document를 획득하도록 한 다음 상기 제1 서버 DID document를 통해 상기 제1 서버 퍼블릭 키를 확인하도록 하여, 상기 제1 서버 퍼블릭 키를 이용하여 상기 제1 서버 인증 서명값을 복호화하여 상기 제1 서버 VC를 획득하고 상기 블록체인 네트워크를 통해 상기 제1 서버 VC를 검증하도록 하는 것을 특징으로 하는 방법이 개시된다.
일례로서, 상기 (b) 단계에서, 상기 제1 가상 자산 서비스 제공 서버는, 상기 제2 가상 자산 서비스 제공 서버로 하여금 제2 서버 VC를 상기 제2 서버 프라이빗 키로 서명한 제2 서버 인증 서명값과 상기 제2 서버 DID를 상기 레스폰스에 추가로 포함하도록 하여, 상기 레스폰스를 수신하면, 상기 레스폰스에 포함된 상기 제2 서버 DID를 이용하여 상기 블록체인 네트워크로부터 상기 제2 서버 퍼블릭 키를 확인하거나, 리졸버 서버를 통해 상기 제2 서버 DID를 이용하여 상기 블록체인 네트워크로부터 상기 제2 서버 DID에 대응되는 제2 서버 DID document를 획득한 다음 상기 제2 서버 DID document를 통해 상기 제2 서버 퍼블릭 키를 확인하여, 상기 제2 서버 퍼블릭 키를 이용하여 상기 제2 서버 인증 서명값을 복호화하여 상기 제2 서버 VC를 획득하고 상기 블록체인 네트워크를 통해 상기 제2 서버 VC를 검증하는 것을 특징으로 하는 방법이 개시된다.
일례로서, 상기 (b) 단계에서, 상기 제1 가상 자산 서비스 제공 서버는, 상기 수신자 단말로 수신자 서명 트랜잭션을 요청하여 상기 수신자 정보를 획득하는 것을 특징으로 하는 방법이 개시된다.
일례로서, 상기 (b) 단계에서, 상기 제1 가상 자산 서비스 제공 서버는, 상기 제2 가상 자산 서비스 제공 서버로 하여금 상기 송신자 단말로 송신자 서명 트랜잭션을 요청하여 상기 송신자 정보를 획득하도록 하는 것을 특징으로 하는 방법이 개시된다.
일례로서, 상기 (c) 단계에서, 상기 제1 가상 자산 서비스 제공 서버는, (i) 상기 제2 서버 퍼블릭 키를 획득하기 위해 상기 제2 서버 DID를 이용하여 상기 블록체인 네트워크로부터 상기 제2 서버 DID에 대응되는 상기 제2 서버 퍼블릭 키를 획득하거나, 리졸버 서버를 통해 상기 제2 서버 DID를 이용하여 상기 블록체인 네트워크로부터 상기 제2 서버 DID에 대응되는 제2 서버 DID document를 획득하여 상기 제2 서버 DID document에서 상기 제2 서버 퍼블릭 키를 획득하며, (ii) 상기 송신자 퍼블릭 키를 획득하도록 하기 위해 상기 송신자 DID를 이용하여 상기 블록체인 네트워크로부터 상기 송신자 DID에 대응되는 상기 송신자 퍼블릭 키를 획득하도록 하거나, 리졸버 서버를 통해 상기 송신자 DID를 이용하여 상기 블록체인 네트워크로부터 상기 송신자 DID에 대응되는 송신자 DID document를 획득하도록 하여 상기 송신자 DID document에서 상기 송신자 퍼블릭 키를 획득할 수 있는 것을 특징으로 하는 방법이 개시된다.
본 발명의 다른 태양에 따르면, 탈중앙화 아이디(Decentralized Identifier; DID) 기반의 가상 자산 서비스를 제공하는 가상 자산 서비스 제공 서버에 있어서, DID 기반의 가상 자산 서비스를 제공하기 위한 인스트럭션들이 저장된 메모리; 및 상기 메모리에 저장된 상기 인스트럭션들에 따라 상기 DID 기반의 상기 가상 자산 서비스를 제공하기 위한 동작을 수행하는 프로세서; 를 포함하되, 상기 프로세서는, (I) 사용자들 및 가상 자산 서비스 제공 서버들의 DID가 블록체인 네트워크에 등록된 상태에서, 가상 자산을 전송하고자 하는 송신자의 송신자 단말로부터 상기 가상 자산을 수신할 수신자에 대응되는 수신자 가상 자산 어드레스를 포함하는 가상 자산 전송 요청이 획득되면, 상기 수신자 가상 자산 어드레스를 포함하는 아이덴티티 레솔루션 리퀘스트를 상기 블록체인 네트워크로 브로드캐스팅하여, 상기 블록체인 네트워크에 각각 노드로 참여하는 적어도 하나 이상의 가상 자산 서비스 제공 서버들로 하여금 상기 수신자 가상 자산 어드레스가 자신이 관리하고 있는 가상 자산 어드레스인지 확인하도록 하는 프로세스, (II) 상기 수신자 가상 자산 어드레스가 자신이 관리하고 있음을 확인한 타 가상 자산 서비스 제공 서버로부터 상기 아이덴티티 레솔루션 리퀘스트에 대응되는 레스폰스가 수신되면, 송신자 정보 - 상기 송신자 정보는 송신자 VC(Verifiable Credential)를 송신자 프라이빗 키로 서명한 송신자 서명값과 송신자 DID를 포함함 - 를 제1 서버 프라이빗 키로 서명한 제1 서버 서명값 및 제1 서버 DID를 포함하는 송신자 인증 트랜잭션을 상기 타 가상 자산 서비스 제공 서버에 전송하여 상기 타 가상 자산 서비스 제공 서버로 하여금, 상기 송신자 인증 트랜잭션에 포함된 상기 제1 서버 DID를 이용하여 상기 블록체인 네트워크로부터 상기 제1 서버 DID에 대응되는 제1 서버 퍼블릭 키를 획득하도록 하여, 상기 제1 서버 퍼블릭 키를 이용하여 상기 송신자 인증 트랜잭션에 포함된 상기 제1 서버 서명값을 복호화하여 상기 송신자 정보를 획득하도록 하고, 상기 송신자 정보에 포함된 상기 송신자 DID를 이용하여 상기 블록체인 네트워크로부터 상기 송신자 DID에 대응되는 송신자 퍼블릭 키를 획득하도록 하여, 상기 송신자 퍼블릭 키를 이용하여 상기 송신자 정보에 포함된 상기 송신자 서명값을 복호화하여 상기 송신자 VC를 획득하여 상기 블록체인 네트워크를 통해 상기 송신자 VC를 검증하도록 하고, 검증이 완료되면 수신자 정보 - 상기 수신자 정보는 수신자 VC를 수신자 프라이빗 키로 서명한 수신자 서명값과 수신자 DID를 포함함 - 를 제2 서버 프라이빗 키로 서명한 제2 서버 서명값 및 제2 서버 DID를 포함하는 수신자 인증 트랜잭션을 전송하도록 하는 프로세스, 및 (III) 상기 수신자 인증 트랜잭션을 수신하면, 상기 수신자 인증 트랜잭션에 포함된 상기 제2 서버 DID를 이용하여 상기 블록체인 네트워크로부터 상기 제2 서버 DID에 대응되는 상기 제2 서버 퍼블릭 키를 획득하고, 상기 제2 서버 퍼블릭 키를 이용하여 상기 수신자 인증 트랜잭션에 포함된 상기 제2 서버 서명값을 복호화하여 상기 수신자 정보를 획득하며, 상기 수신자 정보에 포함된 상기 수신자 DID를 이용하여 상기 블록체인 네트워크로부터 상기 수신자 DID에 대응되는 수신자 퍼블릭 키를 획득하고, 상기 수신자 퍼블릭 키를 이용하여 상기 수신자 정보에 포함된 상기 수신자 서명값을 복호화하여 상기 수신자 VC를 획득하여 상기 블록체인 네트워크를 통해 검증한 후 검증 기록을 저장한 다음, 상기 가상 자산을 상기 송신자 가상 자산 어드레스로부터 상기 수신자 가상 자산 어드레스로 전송하여 주기 위한 가산 전송 트랜잭션을 생성하여 상기 블록체인 네트워크에 등록하는 프로세스를 수행하는 가상 자산 서비스 제공 서버가 개시된다.
일례로서, 상기 (II) 프로세스에서, 상기 프로세서는, 상기 타 가상 자산 서비스 제공 서버로 하여금 (i) 상기 제1 서버 퍼블릭 키를 획득하도록 하기 위해 상기 제1 서버 DID를 이용하여 상기 블록체인 네트워크로부터 상기 제1 서버 DID에 대응되는 상기 제1 서버 퍼블릭 키를 획득하도록 하거나, 리졸버 서버를 통해 상기 제1 서버 DID를 이용하여 상기 블록체인 네트워크로부터 상기 제1 서버 DID에 대응되는 제1 서버 DID document를 획득하도록 하여 상기 제1 서버 DID document에서 상기 제1 서버 퍼블릭 키를 획득하도록 하며, (ii) 상기 송신자 퍼블릭 키를 획득하도록 하기 위해 상기 송신자 DID를 이용하여 상기 블록체인 네트워크로부터 상기 송신자 DID에 대응되는 상기 송신자 퍼블릭 키를 획득하도록 하거나, 리졸버 서버를 통해 상기 송신자 DID를 이용하여 상기 블록체인 네트워크로부터 상기 송신자 DID에 대응되는 송신자 DID document를 획득하도록 하여 상기 송신자 DID document에서 상기 송신자 퍼블릭 키를 획득하도록 하는 것을 특징으로 하는 가상 자산 서비스 제공 서버가 개시된다.
일례로서, 상기 (I) 프로세스에서, 상기 프로세서는, 제1 서버 VC를 상기 제1 서버 프라이빗 키로 서명한 제1 서버 인증 서명값과 상기 제1 서버 DID를 상기 아이덴티티 레솔루션 리퀘스트에 추가로 포함하여 상기 블록체인 네트워크에 브로드캐스팅하여, 상기 아이덴티티 레솔루션 리퀘스트에 포함된 상기 수신자 가상 자산 어드레스를 자신이 관리하고 있음을 확인한 상기 타 가상 자산 서비스 제공 서버로 하여금 상기 아이덴티티 레솔루션 리퀘스트에 포함된 상기 제1 서버 DID를 이용하여 상기 블록체인 네트워크로부터 상기 제1 서버 퍼블릭 키를 확인하도록 하거나, 리졸버 서버를 통해 상기 제1 서버 DID를 이용하여 상기 블록체인 네트워크로부터 상기 제1 서버 DID에 대응되는 제1 서버 DID document를 획득하도록 한 다음 상기 제1 서버 DID document를 통해 상기 제1 서버 퍼블릭 키를 확인하도록 하여, 상기 제1 서버 퍼블릭 키를 이용하여 상기 제1 서버 인증 서명값을 복호화하여 상기 제1 서버 VC를 획득하고 상기 블록체인 네트워크를 통해 상기 제1 서버 VC를 검증하도록 하는 것을 특징으로 하는 가상 자산 서비스 제공 서버가 개시된다.
일례로서, 상기 (II) 프로세스에서, 상기 프로세서는, 상기 타 가상 자산 서비스 제공 서버로 하여금 제2 서버 VC를 상기 제2 서버 프라이빗 키로 서명한 제2 서버 인증 서명값과 상기 제2 서버 DID를 상기 레스폰스에 추가로 포함하도록 하여, 상기 레스폰스가 수신되면, 상기 레스폰스에 포함된 상기 제2 서버 DID를 이용하여 상기 블록체인 네트워크로부터 상기 제2 서버 퍼블릭 키를 확인하거나, 리졸버 서버를 통해 상기 제2 서버 DID를 이용하여 상기 블록체인 네트워크로부터 상기 제2 서버 DID에 대응되는 제2 서버 DID document를 획득한 다음 상기 제2 서버 DID document를 통해 상기 제2 서버 퍼블릭 키를 확인하여, 상기 제2 서버 퍼블릭 키를 이용하여 상기 제2 서버 인증 서명값을 복호화하여 상기 제2 서버 VC를 획득하고 상기 블록체인 네트워크를 통해 상기 제2 서버 VC를 검증하는 것을 특징으로 하는 가상 자산 서비스 제공 서버가 개시된다.
일례로서, 상기 (II) 프로세스에서, 상기 프로세서는, 상기 송신자 정보를 상기 송신자로부터 획득하되, 상기 송신자 정보를 상기 송신자 단말로부터의 상기 가상 자산 전송 요청에 포함하여 전송되도록 함으로써 획득하거나 상기 송신자 단말로 별도의 송신자 서명 트랜잭션을 요청하여 획득하는 것을 특징으로 하는 가상 자산 서비스 제공 서버가 개시된다.
일례로서, 상기 (II) 프로세스에서, 상기 프로세서는, 상기 타 가상 자산 서비스 제공 서버로 하여금 상기 수신자 단말로 수신자 서명 트랜잭션을 요청하여 상기 수신자 정보를 획득하도록 하는 것을 특징으로 하는 가상 자산 서비스 제공 서버가 개시된다.
일례로서, 상기 (III) 프로세스에서, 상기 프로세서는, (i) 상기 제2 서버 퍼블릭 키를 획득하기 위해 상기 제2 서버 DID를 이용하여 상기 블록체인 네트워크로부터 상기 제2 서버 DID에 대응되는 상기 제2 서버 퍼블릭 키를 획득하거나, 리졸버 서버를 통해 상기 제2 서버 DID를 이용하여 상기 블록체인 네트워크로부터 상기 제2 서버 DID에 대응되는 제2 서버 DID document를 획득하여 상기 제2 서버 DID document에서 상기 제2 서버 퍼블릭 키를 획득하며, (ii) 상기 수신자 퍼블릭 키를 획득하기 위해 상기 수신자 DID를 이용하여 상기 블록체인 네트워크로부터 상기 수신자 DID에 대응되는 상기 수신자 퍼블릭 키를 획득하거나, 리졸버 서버를 통해 상기 수신자 DID를 이용하여 상기 블록체인 네트워크로부터 상기 수신자 DID에 대응되는 수신자 DID document를 획득하여 상기 수신자 DID document에서 상기 수신자 퍼블릭 키를 획득할 수 있는 것을 특징으로 하는 가상 자산 서비스 제공 서버가 개시된다.
본 발명의 다른 태양에 따르면, 탈중앙화 아이디(Decentralized Identifier; DID) 기반의 가상 자산 서비스를 제공하는 가상 자산 서비스 제공 서버에 있어서, DID 기반의 가상 자산 서비스를 제공하기 위한 인스트럭션들이 저장된 메모리; 및 상기 메모리에 저장된 상기 인스트럭션들에 따라 상기 DID 기반의 상기 가상 자산 서비스를 제공하기 위한 동작을 수행하는 프로세서; 를 포함하되, 상기 프로세서는, (I) 사용자들 및 가상 자산 서비스 제공 서버들의 DID가 블록체인 네트워크에 등록된 상태에서, 가상 자산을 전송하고자 하는 송신자의 송신자 단말로부터 상기 가상 자산을 수신할 수신자에 대응되는 수신자 가상 자산 어드레스를 이용하여 수신자 단말로 상기 가상 자산을 전송함으로써 상기 수신자 가상 자산 어드레스를 관리하는 상기 프로세서가 상기 가상 자산의 전송을 위한 가상 자산 트랜잭션을 획득하면, 상기 송신자 가상 자산 어드레스에 대응되는 아이덴티티 레솔루션 리퀘스트를 상기 블록체인 네트워크로 브로드캐스팅하여, 상기 블록체인 네트워크에 각각 노드로 참여하는 적어도 하나 이상의 가상 자산 서비스 제공 서버들로 하여금 상기 송신자 가상 자산 어드레스가 자신이 관리하고 있는 가상 자산 어드레스인지 확인하도록 하는 프로세스, (II) 상기 송신자 가상 자산 어드레스가 자신이 관리하고 있음을 확인한 타 가상 자산 서비스 제공 서버로부터 상기 아이덴티티 레솔루션 리퀘스트에 대응되는 레스폰스가 수신되면, 수신자 정보 - 상기 수신자 정보는 수신자 VC(Verifiable Credential)를 수신자 프라이빗 키로 서명한 수신자 서명값과 수신자 DID를 포함함 - 을 제1 서버 프라이빗 키로 서명한 제1 서버 서명값 및 제1 서버 DID를 포함하는 수신자 인증 트랜잭션을 상기 타 가상 자산 서비스 제공 서버에 전송하여 상기 타 가상 자산 서비스 제공 서버로 하여금, 상기 수신자 인증 트랜잭션에 포함된 상기 제1 서버 DID를 이용하여 상기 블록체인 네트워크로부터 상기 제1 서버 DID에 대응되는 제1 서버 퍼블릭 키를 획득하도록 하여, 상기 제1 서버 퍼블릭 키를 이용하여 상기 수신자 정보 VC에 포함된 상기 제1 서버 서명값을 복호화하여 상기 수신자 정보를 획득하도록 하고, 상기 수신자 정보에 포함된 상기 수신자 DID를 이용하여 상기 블록체인 네트워크로부터 상기 수신자 DID에 대응되는 수신자 퍼블릭 키를 획득하도록 하여, 상기 수신자 퍼블릭 키를 이용하여 상기 수신자 정보에 포함된 상기 수신자 서명값을 복호화하여 상기 수신자 VC를 획득하여 상기 블록체인 네트워크를 통해 상기 수신자 VC를 검증하도록 하고, 검증이 완료되면 송신자 정보 - 상기 송신자 정보는 송신자 VC(Verifiable Credential)를 송신자 프라이빗 키로 서명한 송신자 서명값과 송신자 DID를 포함함 - 를 제2 서버 프라이빗 키로 서명한 제2 서버 서명값 및 제2 서버 DID를 포함하는 송신자 인증 트랜잭션을 전송하도록 하는 프로세스, 및 (III) 상기 송신자 인증 트랜잭션을 수신하면, 상기 송신자 인증 트랜잭션에 포함된 상기 제2 서버 DID를 이용하여 상기 블록체인 네트워크로부터 상기 제2 서버 DID에 대응되는 상기 제2 서버 퍼블릭 키를 획득하고, 상기 제2 서버 퍼블릭 키를 이용하여 상기 송신자 인증 트랜잭션에 포함된 상기 제2 서버 서명값을 복호화하여 상기 송신자 정보를 획득하며, 상기 송신자 정보에 포함된 상기 송신자 DID를 이용하여 상기 블록체인 네트워크로부터 상기 송신자 DID에 대응되는 송신자 퍼블릭 키를 획득하고, 상기 송신자 퍼블릭 키를 이용하여 상기 송신자 정보에 포함된 상기 송신자 서명값을 복호화하여 상기 송신자 VC를 획득하여 상기 블록체인 네트워크를 통해 검증한 후 검증 기록을 저장한 다음, 상기 가상 자산을 상기 송신자 가상 자산 어드레스로부터 상기 수신자 가상 자산 어드레스로 전송되도록 상기 가산 전송 트랜잭션을 상기 블록체인 네트워크에 등록하는 프로세스를 수행하는 가상 자산 서비스 제공 서버가 개시된다.
일례로서, 상기 (II) 프로세스에서, 상기 프로세서는, 상기 타 가상 자산 서비스 제공 서버로 하여금 (i) 상기 제1 서버 퍼블릭 키를 획득하도록 하기 위해 상기 제1 서버 DID를 이용하여 상기 블록체인 네트워크로부터 상기 제1 서버 DID에 대응되는 상기 제1 서버 퍼블릭 키를 획득하도록 하거나, 리졸버 서버를 통해 상기 제1 서버 DID를 이용하여 상기 블록체인 네트워크로부터 상기 제1 서버 DID에 대응되는 제1 서버 DID document를 획득하도록 하여 상기 제1 서버 DID document에서 상기 제1 서버 퍼블릭 키를 획득하도록 하며, (ii) 상기 수신자 퍼블릭 키를 획득하도록 하기 위해 상기 수신자 DID를 이용하여 상기 블록체인 네트워크로부터 상기 수신자 DID에 대응되는 상기 수신자 퍼블릭 키를 획득하도록 하거나, 리졸버 서버를 통해 상기 수신자 DID를 이용하여 상기 블록체인 네트워크로부터 상기 수신자 DID에 대응되는 수신자 DID document를 획득하도록 하여 상기 수신자 DID document에서 상기 수신자 퍼블릭 키를 획득하도록 할 수 있는 것을 특징으로 하는 가상 자산 서비스 제공 서버가 개시된다.
일례로서, 상기 (I) 프로세스에서, 상기 프로세서는, 제1 서버 VC를 상기 제1 서버 프라이빗 키로 서명한 제1 서버 인증 서명값과 상기 제1 서버 DID를 상기 아이덴티티 레솔루션 리퀘스트에 추가로 포함하여 상기 블록체인 네트워크에 브로드캐스팅하여, 상기 아이덴티티 레솔루션 리퀘스트에 포함된 상기 송신자 가상 자산 어드레스를 자신이 관리하고 있음을 확인한 상기 타 가상 자산 서비스 제공 서버로 하여금 상기 아이덴티티 레솔루션 리퀘스트에 포함된 상기 제1 서버 DID를 이용하여 상기 블록체인 네트워크로부터 상기 제1 서버 퍼블릭 키를 확인하도록 하거나, 리졸버 서버를 통해 상기 제1 서버 DID를 이용하여 상기 블록체인 네트워크로부터 상기 제1 서버 DID에 대응되는 제1 서버 DID document를 획득하도록 한 다음 상기 제1 서버 DID document를 통해 상기 제1 서버 퍼블릭 키를 확인하도록 하여, 상기 제1 서버 퍼블릭 키를 이용하여 상기 제1 서버 인증 서명값을 복호화하여 상기 제1 서버 VC를 획득하고 상기 블록체인 네트워크를 통해 상기 제1 서버 VC를 검증하도록 하는 것을 특징으로 하는 가상 자산 서비스 제공 서버가 개시된다.
일례로서, 상기 (II) 프로세스에서, 상기 프로세서는, 상기 타 가상 자산 서비스 제공 서버로 하여금 제2 서버 VC를 상기 제2 서버 프라이빗 키로 서명한 제2 서버 인증 서명값과 상기 제2 서버 DID를 상기 레스폰스에 추가로 포함하도록 하여, 상기 레스폰스가 수신되면, 상기 레스폰스에 포함된 상기 제2 서버 DID를 이용하여 상기 블록체인 네트워크로부터 상기 제2 서버 퍼블릭 키를 확인하거나, 리졸버 서버를 통해 상기 제2 서버 DID를 이용하여 상기 블록체인 네트워크로부터 상기 제2 서버 DID에 대응되는 제2 서버 DID document를 획득한 다음 상기 제2 서버 DID document를 통해 상기 제2 서버 퍼블릭 키를 확인하여, 상기 제2 서버 퍼블릭 키를 이용하여 상기 제2 서버 인증 서명값을 복호화하여 상기 제2 서버 VC를 획득하고 상기 블록체인 네트워크를 통해 상기 제2 서버 VC를 검증하는 것을 특징으로 하는 가상 자산 서비스 제공 서버가 개시된다.
일례로서, 상기 (II) 프로세스에서, 상기 프로세서는, 상기 수신자 단말로 수신자 서명 트랜잭션을 요청하여 상기 수신자 정보를 획득하는 것을 특징으로 하는 가상 자산 서비스 제공 서버가 개시된다.
일례로서, 상기 (II) 프로세스에서, 상기 프로세서는, 상기 타 가상 자산 서비스 제공 서버로 하여금 상기 송신자 단말로 송신자 서명 트랜잭션을 요청하여 상기 송신자 정보를 획득하도록 하는 것을 특징으로 하는 가상 자산 서비스 제공 서버가 개시된다.
일례로서, 상기 (III) 프로세스에서, 상기 프로세서는, (i) 상기 제2 서버 퍼블릭 키를 획득하기 위해 상기 제2 서버 DID를 이용하여 상기 블록체인 네트워크로부터 상기 제2 서버 DID에 대응되는 상기 제2 서버 퍼블릭 키를 획득하거나, 리졸버 서버를 통해 상기 제2 서버 DID를 이용하여 상기 블록체인 네트워크로부터 상기 제2 서버 DID에 대응되는 제2 서버 DID document를 획득하여 상기 제2 서버 DID document에서 상기 제2 서버 퍼블릭 키를 획득하며, (ii) 상기 송신자 퍼블릭 키를 획득하도록 하기 위해 상기 송신자 DID를 이용하여 상기 블록체인 네트워크로부터 상기 송신자 DID에 대응되는 상기 송신자 퍼블릭 키를 획득하도록 하거나, 리졸버 서버를 통해 상기 송신자 DID를 이용하여 상기 블록체인 네트워크로부터 상기 송신자 DID에 대응되는 송신자 DID document를 획득하도록 하여 상기 송신자 DID document에서 상기 송신자 퍼블릭 키를 획득할 수 있는 것을 특징으로 하는 가상 자산 서비스 제공 서버가 개시된다.
이 외에도, 본 발명의 방법을 실행하기 위한 컴퓨터 프로그램을 기록하기 위한 컴퓨터 판독 가능한 기록 매체가 더 제공된다.
본 발명에 의하면, 다음과 같은 효과가 있다.
본 발명은 가상 자산을 이용한 자금 세탁이나 테러자금 조달 등의 불법 거래를 방지하는 것을 방지하도록 하는 효과가 있다.
또한, 본 발명은 거래에 참여하는 자산 거래 서비스 제공 서버들이 송신자 정보와 수신자 정보를 인증함으로써 불법 거래의 송신자와 수신자를 용이하게 확인할 수 있도록 하는 효과가 있다.
또한, 본 발명은 가상 자산의 거래를 하는 송신자와 수신자의 개인 정보 노출 없이 송신자 정보 및 수신자 정보를 인증 및 관리할 수 있도록 하는 효과가 있다.
도 1은 본 발명의 일 실시에에 따라 탈중앙화 아이디 기반의 가상 자산 서비스를 제공하는 가상 자산 서비스 제공 서버와 블록체인 네트워크를 개략적으로 도시한 것이고,
도 2와 도 3은 본 발명의 일 실시예에 따라 송신자의 수신자에 대한 사전 가상 자산 전송 요청이 획득되는 경우에 탈중앙화 아이디 기반의 가상 자산 서비스를 제공하는 방법을 개략적으로 도시한 것이며,
도 4와 도 5는 본 발명의 다른 실시예에 따라 송신자의 수신자에 대한 사정 가상 자산 전송 요청 없이 가상 전송이 이루어졌을 경우에 탈중앙화 아이디 기반의 가상 자산 서비스를 제공하는 방법을 개략적으로 도시한 것이다.
후술하는 본 발명에 대한 상세한 설명은, 본 발명의 목적들, 기술적 해법들 및 장점들을 분명하게 하기 위하여 본 발명이 실시될 수 있는 특정 실시예를 예시로서 도시하는 첨부 도면을 참조한다. 이들 실시예는 통상의 기술자가 본 발명을 실시할 수 있기에 충분하도록 상세히 설명된다.
또한, 본 발명의 상세한 설명 및 청구항들에 걸쳐, "포함하다"라는 단어 및 그것의 변형은 다른 기술적 특징들, 부가물들, 구성요소들 또는 단계들을 제외하는 것으로 의도된 것이 아니다. 통상의 기술자에게 본 발명의 다른 목적들, 장점들 및 특성들이 일부는 본 설명서로부터, 그리고 일부는 본 발명의 실시로부터 드러날 것이다. 아래의 예시 및 도면은 실례로서 제공되며, 본 발명을 한정하는 것으로 의도된 것이 아니다.
더욱이 본 발명은 본 명세서에 표시된 실시예들의 모든 가능한 조합들을 망라한다. 본 발명의 다양한 실시예는 서로 다르지만 상호 배타적일 필요는 없음이 이해되어야 한다. 예를 들어, 여기에 기재되어 있는 특정 형상, 구조 및 특성은 일 실시예에 관련하여 본 발명의 정신 및 범위를 벗어나지 않으면서 다른 실시예로 구현될 수 있다. 또한, 각각의 개시된 실시예 내의 개별 구성요소의 위치 또는 배치는 본 발명의 정신 및 범위를 벗어나지 않으면서 변경될 수 있음이 이해되어야 한다. 따라서, 후술하는 상세한 설명은 한정적인 의미로서 취하려는 것이 아니며, 본 발명의 범위는, 적절하게 설명된다면, 그 청구항들이 주장하는 것과 균등한 모든 범위와 더불어 첨부된 청구항에 의해서만 한정된다. 도면에서 유사한 참조부호는 여러 측면에 걸쳐서 동일하거나 유사한 기능을 지칭한다.
이하, 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자가 본 발명을 용이하게 실시할 수 있도록 하기 위하여, 본 발명의 바람직한 실시예들에 관하여 첨부된 도면을 참조하여 상세히 설명하기로 한다.
도 1은 본 발명의 일 실시예에 따른 탈중앙화 아이디 기반의 가상 자산 서비스를 제공하는 시스템을 개략적으로 도시한 것으로, 시스템은 사용자 단말들(101, 102, 103), 가상 자산 서비스 제공 서버들(Virtual Asset Service Provider; VASP)(201, 202, 203), 및 블록체인 네트워크(300)를 포함할 수 있다. 도 1에서의 사용자 단말들(101, 102, 103) 및 가상 자산 서비스 제공 서버들(201, 202, 203)들은 설명의 편의를 위하여 각각 3개로 도시하였으나, 본 발명이 이에 한정되지 않는다.
먼저, 사용자 단말들(101, 102, 103)은 가상 자산을 거래하고자 하는 사용자들이 소유한 단말들로, 각각의 사용자들에 대응되는 탈중앙화 아이디(decentralized identifier; DID)들을 블록체인 네트워크(300)에 등록한 상태일 수 있다.
다음으로, 가상 자산 서비스 제공 서버들(201, 202, 203)200)은 사용자 단말들(101, 102, 103)이 가상 자산 입금 및 출금, 가상 자산의 전송 등의 가상 자산 서비스를 이용할 수 있도록 가상 자산 서비스를 제공하는 것으로, 사용자들 각각에 대응되는 KYC (Know Your Customer) 정보의 인증 결과에 따라 사용자들 각각의 가상 자산 어드레스들을 화이트리스트로 등록하여 관리하고, 가상 자산 거래를 하는 사용자들의 정보를 획득하고 보관할 수 있다. 또한, 가상 자산 서비스 제공 서버들(201, 202, 203)은 각각에 대응되는 DID들을 블록체인 네트워크(300)에 등록한 상태일 수 있으며, 가상 자산 서비스 제공 서버들(201, 202, 203)은 각각 블록체인 네트워크(300)를 구성하는 노드에 대응되는 서버들이거나 블록체인 네트워크(300)를 구성하는 노드들을 관리하는 서버들일 수 있다. 그리고, 가상 자산 서비스 제공 서버들(201, 202, 203) 각각은, 가상 자산 서비스를 제공하기 위한 인스트럭션들이 저장된 메모리와, 메모리에 저장된 인스트럭션들에 따라 DID 기반으로 가상 자산 서비스를 제공하기 위한 동작을 수행하는 프로세서를 포함할 수 있다. 이때, 가상 자산 서비스 제공 서버들(201, 202, 203) 각각은 PC(Personal Computer), 모바일 컴퓨터, PDA/EDA, 휴대 전화, 스마트폰, 태블릿, 서버 등을 포함할 수 있으나, 이에 한정되지 않으며, 유무선 통신 기능을 가진 휴대용 게임기, 디지털 카메라, 개인 내비게이션 등과 같이 컴퓨팅 연산을 수행하는 모든 컴퓨팅 장치를 포함할 수 있다.
구체적으로, 가상 자산 서비스 제공 서버들(201, 202, 203)은 전형적으로 컴퓨팅 장치(예컨대, 컴퓨터 프로세서, 메모리, 스토리지, 입력 장치 및 출력 장치, 기타 기존의 컴퓨팅 장치의 구성요소들을 포함할 수 있는 장치; 라우터, 스위치 등과 같은 전자 통신 장치; 네트워크 부착 스토리지(NAS) 및 스토리지 영역 네트워크(SAN)와 같은 전자 정보 스토리지 시스템)와 컴퓨터 소프트웨어(즉, 컴퓨팅 장치로 하여금 특정의 방식으로 기능하게 하는 인스트럭션들)의 조합을 이용하여 원하는 시스템 성능을 달성하는 것일 수 있다.
이와 같은 컴퓨팅 장치의 통신부는 연동되는 타 컴퓨팅 장치와 요청과 응답을 송수신할 수 있는 바, 일 예시로서 그러한 요청과 응답은 동일한 TCP 세션에 의하여 이루어질 수 있지만, 이에 한정되지는 않는바, 예컨대 UDP 데이터그램으로서 송수신될 수도 있을 것이다.
또한, 컴퓨팅 장치의 프로세서는 MPU(Micro Processing Unit) 또는 CPU(Central Processing Unit), 캐쉬 메모리(Cache Memory), 데이터 버스(Data Bus) 등의 하드웨어 구성을 포함할 수 있다. 또한, 운영체제, 특정 목적을 수행하는 애플리케이션의 소프트웨어 구성을 더 포함할 수도 있다.
그러나, 컴퓨팅 장치가 본 발명을 실시하기 위한 미디엄, 프로세서 및 메모리가 통합된 형태인 integrated 프로세서를 포함하는 경우를 배제하는 것은 아니다.
다음으로, 블록체인 네트워크(300)는 다수의 블록체인 노드들에 의해 분산 원장을 공유하며, 사용자 및 컴퓨팅 장치의 요청에 따른 DID를 생성하여 주며 DID에 대응되는 데이터들을 분산 원장에 저장할 수 있다. 또한, 블록체인 네트워크(300)는 블록체인 노드들에 의한 분산 합의에 의해 가상 자산과 관련한 트랜잭션들을 블록으로 구성하여 분산 원장에 저장할 수 있다.
이와 같이 구성된 가상 자산 서비스 제공 서버(100)와 블록체인 네트워크(300)를 이용하여 본 발명의 일 실시예에 따라 탈중앙화 아이디 기반의 가상 자산 서비스를 제공하는 방법을 도 2 내지 도 5를 참조하여 설명하면 다음과 같다.
먼저, 이와 같이 구성된 시스템을 통해 본 발명의 일 실시예에 따라 송신자의 수신자에 대한 사전 가상 자산 전송 요청이 획득되는 경우에 탈중앙화 아이디(DID) 기반의 가상 자산 서비스를 제공하는 방법을 도 2와 도 3을 참조하여 설명하면 다음과 같다.
도 2를 참조하면, 가상 자산을 전송하고자 하는 송신자가 자신이 소유한 사용자 단말인 송신자 단말(101)을 통해 가상 자산 서비스 제공 서버(201)로 가상 자산을 수신할 수신자에 대응되는 수신자 가상 자산 어드레스를 포함하는 가상 자산의 전송을 요청(S1)할 경우, 가상 자산 서비스 제공 서버(201)는 수신자 가상 자산 어드레스를 아이덴티티 레솔루션 리퀘스트(identity resolution request)에 포함하여 블록체인 네트워크(300)로 브로드캐스팅(S2)함으로써 블록체인 네트워크(300)의 노드로 참여하는 각각의 가상 자산 서비스 제공 서버들(202, 203) 중 브로드캐스팅된 아이덴티티 레솔루션 리퀘스트에 포함된 수신자 가상 자산 어드레스가 자신이 관리하고 있는 가상 자산 어드레스임을 확인한 가상 자산 서비스 제공 서버(202)가 가상 자산 서비스 제공 서버(201)로 레스폰스(response)를 전송(S3)하면, 가상 자산 서비스 제공 서버(201)가 송신자 정보를 암호화하여 가상 자산 서비스 제공 서버(202)로 전송(S4)하여 주고, 가상 자산 서비스 제공 서버(202)는 암호화된 송신자 정보를 복호화하여 검증이 완료되면 수신자 정보를 암호화하여 가상 자산 서비스 제공 서버(201)로 전송(S5)하여 주어 가상 자산 저비스 제공 서버(201)가 암호화된 수신자 정보를 복호화하여 검증이 완료되면 송신자 단말(101)로부터 수신자 단말(102)로 가상 자산을 전송하는 가상 전송 트랜잭션을 블록체인 네트워크(300)에 등록함으로써 거래를 완료할 수 있다.
이와 같은 과정을 도 3을 참조하여 구체적으로 설명하면, 우선 사용자들 및 가상 자산 서비스 제공 서버들의 DID가 블록체인 네트워크(300)에 등록된 상태에서, 가상 자산을 전송하고자 하는 송신자의 송신자 단말(101)로부터 가상 자산을 수신할 수신자에 대응되는 수신자 가상 자산 어드레스를 포함하는 가상 자산 전송 요청이 획득(S101)되면, 송신자에 대응되는 송신자 가상 자산 어드레스를 관리하는 가상 자산 서비스 제공 서버(201)가, 수신자 가상 자산 어드레스를 포함하는 아이덴티티 레솔루션 리퀘스트를 블록체인 네트워크(300)로 브로드캐스팅(S102)하여, 블록체인 네트워크(300)에 각각 노드로 참여하는 적어도 하나 이상의 가상 자산 서비스 제공 서버들(202, 203)로 하여금 수신자 가상 자산 어드레스가 자신이 관리하고 있는 가상 자산 어드레스인지 확인(S103)하도록 할 수 있다.
이때, 가상 자산 서비스 제공 서버(201)는 송신자에 대응되는 KYC 정보의 인증 결과에 따라 송신자에 대응되는 송신자 가상 자산 어드레스를 화이트리스트에 등록한 상태일 수 있으며, 브로드캐스팅은 static/dynamic list, queue, multicast 등 다양한 방식을 통해 구현될 수 있다.
그러면, 블록체인 네트워크(300)의 노드로 참여하는 각각의 가상 자산 서비스 제공 서버들(202, 203)은 블록체인 네트워크(300)에 브로드캐스팅된 아이덴티티 레솔루션 리퀘스트에 포함된 수신자 가상 자산 어드레스가 자신이 관리하고 있는 가상 자산 어드레스인지를 확인할 수 있다. 이때, 서비스 제공 서버(201, 201, 203)들은 각각 데이터베이스를 이용하여 각각에 등록된 사용자들에 대한 가상 자산 어드레스를 관리하고 있는 상태일 수 있다.
이에, 아이덴티티 레솔루션 리퀘스트에 포함된 수신자 가상 자산 어드레스가 자신이 관리하고 있음을 확인한 가상 자산 서비스 제공 서버(202)는 가상 자산 서비스 제공 서버(201)로 아이덴티티 레솔루션 리퀘스트에 대응되는 레스폰스를 전송(S104)할 수 있다. 한편, 가상 자산 서비스 제공 서버(203)는 아이덴티티 레솔루션 리퀘스트에 포함된 수신자 가상 자산 어드레스가 자신이 관리하고 있는 가상 자산 어드레스가 아니므로 아이덴티티 레솔루션 리퀘스트를 무시할 수 있다.
이때, 가상 자산 서비스 제공 서버(201)는 제1 서버 VC를 제1 서버 프라이빗 키(private key)로 서명한 제1 서버 인증 서명값과 제1 서버 DID를 아이덴티티 레솔루션 리퀘스트에 추가로 포함하여 블록체인 네트워크(300)에 브로드캐스팅하여, 아이덴티티 레솔루션 리퀘스트에 포함된 수신자 가상 자산 어드레스를 자신이 관리하고 있음을 확인한 가상 자산 서비스 제공 서버(202)로 하여금 아이덴티티 레솔루션 리퀘스트에 포함된 제1 서버 DID를 이용하여 블록체인 네트워크(300)로부터 제1 서버 퍼블릭 키(public key)를 확인하도록 하거나, 리졸버 서버를 통해 제1 서버 DID를 이용하여 블록체인 네트워크(300)로부터 제1 서버 DID에 대응되는 제1 서버 DID document를 획득하도록 한 다음 제1 서버 DID document를 통해 제1 서버 퍼블릭 키를 확인하도록 하여, 제1 서버 퍼블릭 키를 이용하여 제1 서버 인증 서명값을 복호화하여 제1 서버 VC를 획득하고 블록체인 네트워크(300)를 통해 제1 서버 VC를 검증하도록 할 수 있다. 여기서, 가상 자산 서비스 제공 서버(201)를 포함하는 각각의 가상 자산 서비스 제공 서버들(201, 202, 203)은 각각 사용자 단말과의 가상 자산의 거래를 수행하는 거래소를 통해 동작이 이루어지도록 할 수 있으며, 이하에서는 설명의 편의를 위하여 가상 자산 서비스 제공 서버들(201, 202, 203)에서 동작이 수행되는 것으로 설명한다.
또한, 가상 자산 서비스 제공 서버(202)는 제2 서버 VC를 제2 서버 프라이빗 키로 서명한 제2 서버 인증 서명값과 제2 서버 DID를 레스폰스에 추가로 포함시킬 수 있으며, 가상 자산 서비스 제공 서버(201)는 레스폰스에 포함된 제2 서버 DID를 이용하여 블록체인 네트워크(300)로부터 제2 서버 퍼블릭 키를 확인하거나, 리졸버 서버를 통해 제2 서버 DID를 이용하여 블록체인 네트워크(300)로부터 제2 서버 DID에 대응되는 제2 서버 DID document를 획득한 다음 제2 서버 DID document를 통해 제2 서버 퍼블릭 키를 확인하여, 제2 서버 퍼블릭 키를 이용하여 제2 서버 인증 서명값을 복호화하여 제2 서버 VC를 획득하고 블록체인 네트워크(300)를 통해 제2 서버 VC를 검증할 수 있다.
다음으로, 위와 같이 수신자 가상 자산 어드레스가 자신이 관리하고 있음을 확인한 가상 자산 서비스 제공 서버(202)로부터 아이덴티티 레솔루션 리퀘스트에 대응되는 레스폰스가 수신되면, 가상 자산 서비스 제공 서버(201)는 송신자 정보를 제1 서버 프라이빗 키로 서명한 제1 서버 서명값 및 제1 서버 DID를 포함하는 송신자 인증 트랜잭션을 가상 자산 서비스 제공 서버(202)에 전송(S105)하여 줄 수 있다. 여기서, 송신자 정보는 송신자 VC(Verifiable Credential)를 송신자 프라이빗 키로 서명한 송신자 서명값과 송신자 DID를 포함할 수 있으며, 송신자 인증 트랜잭션에는 송신자의 개인 정보는 포함되지 않고, 송신자의 DID와 서명값만 포함으로써 개인 정보의 노출을 방지할 수 있다. 또한, 송신자 서명값은 송신자 DID 및 송신자가 DID 서비스를 이용하는 DID 앱을 2 factor로 하여 서명한 것일 수 있다. 또한, 가상 자산 서비스 제공 서버(201)는 송신자 정보를 송신자로부터 획득하되, 송신자 정보를 송신자 단말로부터의 가상 자산 전송 요청에 포함하여 전송되도록 함으로써 획득하거나 송신자 단말(101)로 별도의 송신자 서명 트랜잭션을 요청하여 획득할 수 있다.
이에, 송신자 인증 트랜잭션을 획득한 가상 자산 서비스 제공 서버(202)는 송신자 인증 트랜잭션에 포함된 제1 서버 DID를 이용하여 블록체인 네트워크(300)로부터 제1 서버 DID에 대응되는 제1 서버 퍼블릭 키를 획득(S106)하여, 제1 서버 퍼블릭 키를 이용하여 송신자 인증 트랜잭션에 포함된 제1 서버 서명값을 복호화(S107)하여 송신자 정보를 획득하고, 송신자 정보에 포함된 송신자 DID를 이용하여 블록체인 네트워크(300)로부터 송신자 DID에 대응되는 송신자 퍼블릭 키를 획득(S108)하여, 송신자 퍼블릭 키를 이용하여 송신자 정보에 포함된 송신자 서명값을 복호화하여 송신자 VC를 획득하여 블록체인 네트워크(300)를 통해 송신자 VC를 검증(S109)할 수 있다.
여기서, 가상 자산 서비스 제공 서버(202)는 제1 서버 퍼블릭 키를 획득하기 위해 제1 서버 DID를 이용하여 블록체인 네트워크(300)로부터 제1 서버 DID에 대응되는 제1 서버 퍼블릭 키를 획득하거나, 리졸버 서버를 통해 제1 서버 DID를 이용하여 블록체인 네트워크(300)로부터 제1 서버 DID에 대응되는 제1 서버 DID document를 획득하여 제1 서버 DID document에서 제1 서버 퍼블릭 키를 획득할 수 있으며, 송신자 퍼블릭 키를 획득하기 위해 송신자 DID를 이용하여 블록체인 네트워크(300)로부터 송신자 DID에 대응되는 송신자 퍼블릭 키를 획득하거나, 리졸버 서버를 통해 송신자 DID를 이용하여 블록체인 네트워크(300)로부터 송신자 DID에 대응되는 송신자 DID document를 획득하여 송신자 DID document에서 송신자 퍼블릭 키를 획득할 수 있다.
다음으로, 송신자 VC가 검증되면, 가상 자산 서비스 제공 서버(202)는 가상 자산 서비스 제공 서버(201)로 수신자 정보를 제2 서버 프라이빗 키로 서명한 제2 서버 서명값 및 제2 서버 DID를 포함하는 수신자 인증 트랜잭션을 전송(S110)하여 줄 수 있다. 여기서, 수신자 정보는 수신자 VC를 수신자 프라이빗 키로 서명한 수신자 서명값과 수신자 DID를 포함할 수 있다. 또한, 가상 자산 서비스 제공 서버(202)는 수신자 단말(102)로 수신자 서명 트랜잭션을 요청하여 수신자 정보를 획득할 수 있다.
그러면, 가상 자산 서비스 제공 서버(201)는 수신자 인증 트랜잭션에 포함된 제2 서버 DID를 이용하여 블록체인 네트워크(300)로부터 제2 서버 DID에 대응되는 제2 서버 퍼블릭 키를 획득(S111)하고, 제2 서버 퍼블릭 키를 이용하여 수신자 인증 트랜잭션에 포함된 제2 서버 서명값을 복호화(S112)하여 수신자 정보를 획득하며, 수신자 정보에 포함된 수신자 DID를 이용하여 블록체인 네트워크(300)로부터 수신자 DID에 대응되는 수신자 퍼블릭 키를 획득(S113)하고, 수신자 퍼블릭 키를 이용하여 수신자 정보에 포함된 수신자 서명값을 복호화하여 수신자 VC를 획득하여 블록체인 네트워크(300)를 통해 검증(S114)한 후 검증 기록을 저장한 다음, 가상 자산을 송신자 가상 자산 어드레스로부터 수신자 가상 자산 어드레스로 전송하여 주기 위한 가산 전송 트랜잭션을 생성하여 블록체인 네트워크(300)에 등록(S115)할 수 있다.
이때, 가상 자산 서비스 제공 서버(201)는 제2 서버 퍼블릭 키를 획득하기 위해 제2 서버 DID를 이용하여 블록체인 네트워크(300)로부터 제2 서버 DID에 대응되는 제2 서버 퍼블릭 키를 획득하거나, 리졸버 서버를 통해 제2 서버 DID를 이용하여 블록체인 네트워크(300)로부터 제2 서버 DID에 대응되는 제2 서버 DID document를 획득하여 제2 서버 DID document에서 제2 서버 퍼블릭 키를 획득할 수 있으며, 수신자 퍼블릭 키를 획득하기 위해 수신자 DID를 이용하여 블록체인 네트워크(300)로부터 수신자 DID에 대응되는 수신자 퍼블릭 키를 획득하거나, 리졸버 서버를 통해 수신자 DID를 이용하여 블록체인 네트워크(300)로부터 수신자 DID에 대응되는 수신자 DID document를 획득하여 수신자 DID document에서 수신자 퍼블릭 키를 획득할 수 있다.
다음으로, 도 4와 도 5는 본 발명의 다른 실시예에 따라 송신자의 수신자에 대한 사정 가상 자산 전송 요청 없이 가상 전송이 이루어졌을 경우에 탈중앙화 아이디 기반의 가상 자산 서비스를 제공하는 방법을 개략적으로 도시하고 있다.
도 4를 참조하면, 가상 자산을 전송하고자 하는 송신자가 자신이 소유한 사용자 단말인 송신자 단말(103)을 통해 가상 자산을 수신할 수신자에 대응되는 수신자 가상 자산 어드레스를 이용하여 수신자 단말(101)로 직접적으로 가상 자산을 전송함으로써 가상 자산 서비스 제공 서버(201)가 가상 자산의 전송을 위한 가상 자산 트랜잭션을 획득(S11)하게 될 경우, 가상 자산 서비스 제공 서버(201)는 가상 자산을 전송한 송신자에 대응되는 송신자 가상 자산 어드레스를 아이덴티티 레솔루션 리퀘스트(identity resolution request)에 포함하여 블록체인 네트워크(300)로 브로드캐스팅(S12)함으로써 블록체인 네트워크(300)의 노드로 참여하는 각각의 가상 자산 서비스 제공 서버들(202, 203) 중 브로드캐스팅된 아이덴티티 레솔루션 리퀘스트에 포함된 송신자 가상 자산 어드레스가 자신이 관리하고 있는 가상 자산 어드레스임을 확인한 가상 자산 서비스 제공 서버(203)가 가상 자산 서비스 제공 서버(201)로 레스폰스(response)를 전송(S13)하면, 가상 자산 서비스 제공 서버(201)가 수신자 정보를 암호화하여 가상 자산 서비스 제공 서버(203)로 전송(S14)하여 주고, 가상 자산 서비스 제공 서버(203)는 암호화된 수신자 정보를 복호화하여 검증이 완료되면 송신자 정보를 암호화하여 가상 자산 서비스 제공 서버(201)로 전송(S15)하여 주어 가상 자산 서비스 제공 서버(201)가 암호화된 송신자 정보를 복호화하여 검증이 완료되면 송신자 단말(103)로부터 수신자 단말(101)로 가상 자산을 전송하는 가상 전송 트랜잭션을 블록체인 네트워크(300)에 등록함으로써 거래를 완료할 수 있다.
이와 같은 과정을 도 5를 참조하여 구체적으로 설명하면, 사용자들 및 가상 자산 서비스 제공 서버들의 DID가 블록체인 네트워크(300)에 등록된 상태에서, 가상 자산을 전송하고자 하는 송신자의 송신자 단말(103)로부터 가상 자산을 수신할 수신자에 대응되는 수신자 가상 자산 어드레스를 이용하여 수신자 단말(101)로 가상 자산을 전송함으로써 수신자 가상 자산 어드레스를 관리하는 가상 자산 서비스 제공 서버(201)가 가상 자산의 전송을 위한 가상 자산 트랜잭션을 획득(S201)하면, 가상 자산 서비스 제공 서버(201)가, 송신자 가상 자산 어드레스에 대응되는 아이덴티티 레솔루션 리퀘스트를 블록체인 네트워크(300)로 브로드캐스팅(S202)하여, 블록체인 네트워크(300)에 각각 노드로 참여하는 적어도 하나 이상의 가상 자산 서비스 제공 서버들(202, 203)로 하여금 송신자 가상 자산 어드레스가 자신이 관리하고 있는 가상 자산 어드레스인지 확인(S203)하도록 할 수 있다.
이때, 가상 자산 서비스 제공 서버(201)는 수신자에 대응되는 KYC 정보의 인증 결과에 따라 수신자에 대응되는 수신자 가상 자산 어드레스를 화이트리스트에 등록한 상태일 수 있으며, 브로드캐스팅은 static/dynamic list, queue, multicast 등 다양한 방식을 통해 구현될 수 있다.
그러면, 블록체인 네트워크(300)의 노드로 참여하는 각각의 가상 자산 서비스 제공 서버들(202, 203)은 블록체인 네트워크(300)에 브로드캐스팅된 아이덴티티 레솔루션 리퀘스트에 포함된 송신자 가상 자산 어드레스가 자신이 관리하고 있는 가상 자산 어드레스인지를 확인할 수 있다. 이때, 서비스 제공 서버(201, 201, 203)들은 각각 데이터베이스를 이용하여 각각에 등록된 사용자들에 대한 가상 자산 어드레스를 관리하고 있는 상태일 수 있다.
이에, 아이덴티티 레솔루션 리퀘스트에 포함된 송신자 가산 자산 어드레스가 자신이 관리하고 있는 가상 자산 어드레스임을 확인한 가상 자산 서비스 제공 서버(203)는 가상 자산 서비스 제공 서버(201)로 아이덴티티 레솔루션 리퀘스트에 대응되는 레스폰스를 전송(S204)할 수 있다. 한편, 가상 자산 서비스 제공 서버(202)는 아이덴티티 레솔루션 리퀘스트에 포함된 송신자 가상 자산 어드레스가 자신이 관리하고 있는 가상 자산 어드레스가 아니므로 아이덴티티 레솔루션 리퀘스트를 무시할 수 있다.
이때, 가상 자산 서비스 제공 서버(201)는 제1 서버 VC를 제1 서버 프라이빗 키로 서명한 제1 서버 인증 서명값과 제1 서버 DID를 아이덴티티 레솔루션 리퀘스트에 추가로 포함하여 블록체인 네트워크(300)에 브로드캐스팅하여, 아이덴티티 레솔루션 리퀘스트에 포함된 송신자 가상 자산 어드레스를 자신이 관리하고 있음을 확인한 가상 자산 서비스 제공 서버(203)로 하여금 아이덴티티 레솔루션 리퀘스트에 포함된 제1 서버 DID를 이용하여 블록체인 네트워크(300)로부터 제1 서버 퍼블릭 키를 확인하도록 하거나, 리졸버 서버를 통해 제1 서버 DID를 이용하여 블록체인 네트워크(300)로부터 제1 서버 DID에 대응되는 제1 서버 DID document를 획득하도록 한 다음 제1 서버 DID document를 통해 제1 서버 퍼블릭 키를 확인하도록 하여, 제1 서버 퍼블릭 키를 이용하여 제1 서버 인증 서명값을 복호화하여 제1 서버 VC를 획득하고 블록체인 네트워크(300)를 통해 제1 서버 VC를 검증하도록 할 수 있다. 여기서, 가상 자산 서비스 제공 서버(201)를 포함하는 각각의 가상 자산 서비스 제공 서버들(201, 202, 203)은 각각 사용자 단말과의 가상 자산의 거래를 수행하는 거래소를 통해 동작이 이루어지도록 할 수 있으며, 이하에서는 설명의 편의를 위하여 가상 자산 서비스 제공 서버들(201, 202, 203)에서 동작이 수행되는 것으로 설명한다.
또한, 가상 자산 서비스 제공 서버(203)는 제2 서버 VC를 제2 서버 프라이빗 키로 서명한 제2 서버 인증 서명값과 제2 서버 DID를 레스폰스에 추가로 포함시킬 수 있으며, 가상 자산 서비스 제공 서버(201)는 레스폰스에 포함된 제2 서버 DID를 이용하여 블록체인 네트워크(300)로부터 제2 서버 퍼블릭 키를 확인하거나, 리졸버 서버를 통해 제2 서버 DID를 이용하여 블록체인 네트워크(300)로부터 제2 서버 DID에 대응되는 제2 서버 DID document를 획득한 다음 제2 서버 DID document를 통해 제2 서버 퍼블릭 키를 확인하여, 제2 서버 퍼블릭 키를 이용하여 제2 서버 인증 서명값을 복호화하여 제2 서버 VC를 획득하고 블록체인 네트워크(300)를 통해 제2 서버 VC를 검증할 수 있다.
다음으로, 위와 같이 송신자 가상 자산 어드레스가 자신이 관리하고 있음을 확인한 가상 자산 서비스 제공 서버(203)로부터 아이덴티티 레솔루션 리퀘스트에 대응되는 레스폰스가 수신되면, 가상 자산 서비스 제공 서버(201)는 수신자 정보를 제1 서버 프라이빗 키로 서명한 제1 서버 서명값 및 제1 서버 DID를 포함하는 수신자 인증 트랜잭션을 가상 자산 서비스 제공 서버(203)에 전송(S205)하여 줄 수 있다. 여기서, 수신자 정보는 수신자 VC(Verifiable Credential)를 수신자 프라이빗 키로 서명한 수신자 서명값과 수신자 DID를 포함할 수 있으며, 수신자 인증 트랜잭션에는 수신자의 개인 정보는 포함되지 않고, 수신자의 DID와 서명값만 포함으로써 개인 정보의 노출을 방지할 수 있다. 또한, 수신자 서명값은 수신자 DID 및 수신자가 DID 서비스를 이용하는 DID 앱을 2 factor로 하여 서명한 것일 수 있다. 또한, 가상 자산 서비스 제공 서버(201)는 수신자 단말(101)로 수신자 서명 트랜잭션을 요청하여 수신자 정보를 획득할 수 있다.
이에, 수신자 인증 트랜잭션을 획득한 가상 자산 서비스 제공 서버(203)는 수신자 인증 트랜잭션에 포함된 제1 서버 DID를 이용하여 블록체인 네트워크(300)로부터 제1 서버 DID에 대응되는 제1 서버 퍼블릭 키를 획득(S206)하여, 제1 서버 퍼블릭 키를 이용하여 수신자 정보 VC에 포함된 제1 서버 서명값을 복호화(S207)하여 수신자 정보를 획득하고, 수신자 정보에 포함된 수신자 DID를 이용하여 블록체인 네트워크(300)로부터 수신자 DID에 대응되는 수신자 퍼블릭 키를 획득(S208) 하여, 수신자 퍼블릭 키를 이용하여 수신자 정보에 포함된 수신자 서명값을 복호화하여 수신자 VC를 획득하여 블록체인 네트워크(300)를 통해 수신자 VC를 검증(S209)할 수 있다.
여기서, 가상 자산 서비스 제공 서버(203)는 제1 서버 퍼블릭 키를 획득하기 위해 제1 서버 DID를 이용하여 블록체인 네트워크(300)로부터 제1 서버 DID에 대응되는 제1 서버 퍼블릭 키를 획득하거나, 리졸버 서버를 통해 제1 서버 DID를 이용하여 블록체인 네트워크(300)로부터 제1 서버 DID에 대응되는 제1 서버 DID document를 획득하여 제1 서버 DID document에서 제1 서버 퍼블릭 키를 획득할 수 있으며, 수신자 퍼블릭 키를 획득하도록 하기 위해 수신자 DID를 이용하여 블록체인 네트워크(300)로부터 수신자 DID에 대응되는 수신자 퍼블릭 키를 획득하거나, 리졸버 서버를 통해 수신자 DID를 이용하여 블록체인 네트워크(300)로부터 수신자 DID에 대응되는 수신자 DID document를 획득하도록 하여 수신자 DID document에서 수신자 퍼블릭 키를 획득할 수 있다.
다음으로, 수신자 VC가 검증되면, 가상 자산 서비스 제공 서버(203)는 가상 자산 서비스 제공 서버(201)로 송신자 정보를 제2 서버 프라이빗 키로 서명한 제2 서버 서명값 및 제2 서버 DID를 포함하는 송신자 인증 트랜잭션을 전송(S210)하여 줄 수 있다. 여기서, 송신자 정보는 송신자 VC(Verifiable Credential)를 송신자 프라이빗 키로 서명한 송신자 서명값과 송신자 DID를 포함할 수 있다. 또한, 가상 자산 서비스 제공 서버(203)는 송신자 단말(103)로 송신자 서명 트랜잭션을 요청하여 송신자 정보를 획득할 수 있다.
그러면, 가상 자산 서비스 제공 서버(201)는 송신자 인증 트랜잭션에 포함된 제2 서버 DID를 이용하여 블록체인 네트워크(300)로부터 제2 서버 DID에 대응되는 제2 서버 퍼블릭 키를 획득(S211)하고, 제2 서버 퍼블릭 키를 이용하여 송신자 인증 트랜잭션에 포함된 제2 서버 서명값을 복호화(S212)하여 송신자 정보를 획득하며, 송신자 정보에 포함된 송신자 DID를 이용하여 블록체인 네트워크(300)로부터 송신자 DID에 대응되는 송신자 퍼블릭 키를 획득(S213)하고, 송신자 퍼블릭 키를 이용하여 송신자 정보에 포함된 송신자 서명값을 복호화하여 송신자 VC를 획득하여 블록체인 네트워크(300)를 통해 검증(S214)한 후 검증 기록을 저장한 다음, 가상 자산을 송신자 가상 자산 어드레스로부터 수신자 가상 자산 어드레스로 전송되도록 가산 전송 트랜잭션을 블록체인 네트워크(300)에 등록(S215)할 수 있다.
이때, 가상 자산 서비스 제공 서버(201)는 제2 서버 퍼블릭 키를 획득하기 위해 제2 서버 DID를 이용하여 블록체인 네트워크(300)로부터 제2 서버 DID에 대응되는 제2 서버 퍼블릭 키를 획득하거나, 리졸버 서버를 통해 제2 서버 DID를 이용하여 블록체인 네트워크(300)로부터 제2 서버 DID에 대응되는 제2 서버 DID document를 획득하여 제2 서버 DID document에서 제2 서버 퍼블릭 키를 획득할 수 있으며, 송신자 퍼블릭 키를 획득하도록 하기 위해 송신자 DID를 이용하여 블록체인 네트워크(300)로부터 송신자 DID에 대응되는 송신자 퍼블릭 키를 획득하도록 하거나, 리졸버 서버를 통해 송신자 DID를 이용하여 블록체인 네트워크(300)로부터 송신자 DID에 대응되는 송신자 DID document를 획득하도록 하여 송신자 DID document에서 송신자 퍼블릭 키를 획득할 수 있다.
또한, 이상 설명된 본 발명에 따른 실시예들은 다양한 컴퓨터 구성요소를 통하여 수행될 수 있는 프로그램 명령어의 형태로 구현되어 컴퓨터 판독 가능한 기록 매체에 기록될 수 있다. 상기 컴퓨터 판독 가능한 기록 매체는 프로그램 명령어, 데이터 파일, 데이터 구조 등을 단독으로 또는 조합하여 포함할 수 있다. 상기 컴퓨터 판독 가능한 기록 매체에 기록되는 프로그램 명령어는 본 발명을 위하여 특별히 설계되고 구성된 것들이거나 컴퓨터 소프트웨어 분야의 당업자에게 공지되어 사용 가능한 것일 수도 있다. 컴퓨터 판독 가능한 기록 매체의 예에는, 하드 디스크, 플로피 디스크 및 자기 테이프와 같은 자기 매체, CD-ROM, DVD와 같은 광기록 매체, 플롭티컬 디스크(floptical disk)와 같은 자기-광 매체(magneto-optical media), 및 ROM, RAM, 플래시 메모리 등과 같은 프로그램 명령어를 저장하고 수행하도록 특별히 구성된 하드웨어 장치가 포함된다. 프로그램 명령어의 예에는, 컴파일러에 의해 만들어지는 것과 같은 기계어 코드뿐만 아니라 인터프리터 등을 사용해서 컴퓨터에 의해서 실행될 수 있는 고급 언어 코드도 포함된다. 상기 하드웨어 장치는 본 발명에 따른 처리를 수행하기 위해 하나 이상의 소프트웨어 모듈로서 작동하도록 구성될 수 있으며, 그 역도 마찬가지이다.
이상에서 본 발명이 구체적인 구성요소 등과 같은 특정 사항들과 한정된 실시예 및 도면에 의해 설명되었으나, 이는 본 발명의 보다 전반적인 이해를 돕기 위해서 제공된 것일 뿐, 본 발명이 상기 실시예들에 한정되는 것은 아니며, 본 발명이 속하는 기술분야에서 통상적인 지식을 가진 자라면 이러한 기재로부터 다양한 수정 및 변형을 꾀할 수 있다.
따라서, 본 발명의 사상은 상기 설명된 실시예에 국한되어 정해져서는 아니 되며, 후술하는 특허청구범위뿐만 아니라 이 특허청구범위와 균등하게 또는 등가적으로 변형된 모든 것들은 본 발명의 사상의 범주에 속한다고 할 것이다.
101, 102, 103: 사용자 단말,
201, 202, 203: 가상 자산 서비스 제공 서버,
300: 블록체인 네트워크

Claims (28)

  1. 탈중앙화 아이디(Decentralized Identifier; DID) 기반의 가상 자산 서비스를 제공하는 방법에 있어서,
    (a) 사용자들 및 가상 자산 서비스 제공 서버들의 DID가 블록체인 네트워크에 등록된 상태에서, 가상 자산을 전송하고자 하는 송신자의 송신자 단말로부터 상기 가상 자산을 수신할 수신자에 대응되는 수신자 가상 자산 어드레스를 포함하는 가상 자산 전송 요청이 획득되면, 상기 송신자에 대응되는 송신자 가상 자산 어드레스를 관리하는 제1 가상 자산 서비스 제공 서버가, 상기 수신자 가상 자산 어드레스를 포함하는 아이덴티티 레솔루션 리퀘스트를 상기 블록체인 네트워크로 브로드캐스팅하여, 상기 블록체인 네트워크에 각각 노드로 참여하는 적어도 하나 이상의 가상 자산 서비스 제공 서버들로 하여금 상기 수신자 가상 자산 어드레스가 자신이 관리하고 있는 가상 자산 어드레스인지 확인하도록 하는 단계;
    (b) 상기 수신자 가상 자산 어드레스가 자신이 관리하고 있음을 확인한 제2 가상 자산 서비스 제공 서버로부터 상기 아이덴티티 레솔루션 리퀘스트에 대응되는 레스폰스가 수신되면, 상기 제1 가상 자산 서비스 제공 서버가, 송신자 정보 - 상기 송신자 정보는 송신자 VC(Verifiable Credential)를 송신자 프라이빗 키로 서명한 송신자 서명값과 송신자 DID를 포함함 - 를 제1 서버 프라이빗 키로 서명한 제1 서버 서명값 및 제1 서버 DID를 포함하는 송신자 인증 트랜잭션을 상기 제2 가상 자산 서비스 제공 서버에 전송하여 상기 제2 가상 자산 서비스 제공 서버로 하여금, 상기 송신자 인증 트랜잭션에 포함된 상기 제1 서버 DID를 이용하여 상기 블록체인 네트워크로부터 상기 제1 서버 DID에 대응되는 제1 서버 퍼블릭 키를 획득하도록 하여, 상기 제1 서버 퍼블릭 키를 이용하여 상기 송신자 인증 트랜잭션에 포함된 상기 제1 서버 서명값을 복호화하여 상기 송신자 정보를 획득하도록 하고, 상기 송신자 정보에 포함된 상기 송신자 DID를 이용하여 상기 블록체인 네트워크로부터 상기 송신자 DID에 대응되는 송신자 퍼블릭 키를 획득하도록 하여, 상기 송신자 퍼블릭 키를 이용하여 상기 송신자 정보에 포함된 상기 송신자 서명값을 복호화하여 상기 송신자 VC를 획득하여 상기 블록체인 네트워크를 통해 상기 송신자 VC를 검증하도록 하고, 검증이 완료되면 수신자 정보 - 상기 수신자 정보는 수신자 VC를 수신자 프라이빗 키로 서명한 수신자 서명값과 수신자 DID를 포함함 - 를 제2 서버 프라이빗 키로 서명한 제2 서버 서명값 및 제2 서버 DID를 포함하는 수신자 인증 트랜잭션을 전송하도록 하는 단계; 및
    (c) 상기 수신자 인증 트랜잭션을 수신하면, 상기 제1 가상 자산 서비스 제공 서버가, 상기 수신자 인증 트랜잭션에 포함된 상기 제2 서버 DID를 이용하여 상기 블록체인 네트워크로부터 상기 제2 서버 DID에 대응되는 상기 제2 서버 퍼블릭 키를 획득하고, 상기 제2 서버 퍼블릭 키를 이용하여 상기 수신자 인증 트랜잭션에 포함된 상기 제2 서버 서명값을 복호화하여 상기 수신자 정보를 획득하며, 상기 수신자 정보에 포함된 상기 수신자 DID를 이용하여 상기 블록체인 네트워크로부터 상기 수신자 DID에 대응되는 수신자 퍼블릭 키를 획득하고, 상기 수신자 퍼블릭 키를 이용하여 상기 수신자 정보에 포함된 상기 수신자 서명값을 복호화하여 상기 수신자 VC를 획득하여 상기 블록체인 네트워크를 통해 검증한 후 검증 기록을 저장한 다음, 상기 가상 자산을 상기 송신자 가상 자산 어드레스로부터 상기 수신자 가상 자산 어드레스로 전송하여 주기 위한 가산 전송 트랜잭션을 생성하여 상기 블록체인 네트워크에 등록하는 단계;
    를 포함하는 방법.
  2. 제1항에 있어서,
    상기 (b) 단계에서,
    상기 제1 가상 자산 서비스 제공 서버는, 상기 제2 가상 자산 서비스 제공 서버로 하여금 (i) 상기 제1 서버 퍼블릭 키를 획득하도록 하기 위해 상기 제1 서버 DID를 이용하여 상기 블록체인 네트워크로부터 상기 제1 서버 DID에 대응되는 상기 제1 서버 퍼블릭 키를 획득하도록 하거나, 리졸버 서버를 통해 상기 제1 서버 DID를 이용하여 상기 블록체인 네트워크로부터 상기 제1 서버 DID에 대응되는 제1 서버 DID document를 획득하도록 하여 상기 제1 서버 DID document에서 상기 제1 서버 퍼블릭 키를 획득하도록 하며, (ii) 상기 송신자 퍼블릭 키를 획득하도록 하기 위해 상기 송신자 DID를 이용하여 상기 블록체인 네트워크로부터 상기 송신자 DID에 대응되는 상기 송신자 퍼블릭 키를 획득하도록 하거나, 리졸버 서버를 통해 상기 송신자 DID를 이용하여 상기 블록체인 네트워크로부터 상기 송신자 DID에 대응되는 송신자 DID document를 획득하도록 하여 상기 송신자 DID document에서 상기 송신자 퍼블릭 키를 획득하도록 할 수 있는 것을 특징으로 하는 방법.
  3. 제1항에 있어서,
    상기 (a) 단계에서,
    상기 제1 가상 자산 서비스 제공 서버는, 제1 서버 VC를 상기 제1 서버 프라이빗 키로 서명한 제1 서버 인증 서명값과 상기 제1 서버 DID를 상기 아이덴티티 레솔루션 리퀘스트에 추가로 포함하여 상기 블록체인 네트워크에 브로드캐스팅하여, 상기 아이덴티티 레솔루션 리퀘스트에 포함된 상기 수신자 가상 자산 어드레스를 자신이 관리하고 있음을 확인한 상기 제2 가상 자산 서비스 제공 서버로 하여금 상기 아이덴티티 레솔루션 리퀘스트에 포함된 상기 제1 서버 DID를 이용하여 상기 블록체인 네트워크로부터 상기 제1 서버 퍼블릭 키를 확인하도록 하거나, 리졸버 서버를 통해 상기 제1 서버 DID를 이용하여 상기 블록체인 네트워크로부터 상기 제1 서버 DID에 대응되는 제1 서버 DID document를 획득하도록 한 다음 상기 제1 서버 DID document를 통해 상기 제1 서버 퍼블릭 키를 확인하도록 하여, 상기 제1 서버 퍼블릭 키를 이용하여 상기 제1 서버 인증 서명값을 복호화하여 상기 제1 서버 VC를 획득하고 상기 블록체인 네트워크를 통해 상기 제1 서버 VC를 검증하도록 하는 것을 특징으로 하는 방법.
  4. 제1항에 있어서,
    상기 (b) 단계에서,
    상기 제1 가상 자산 서비스 제공 서버는, 상기 제2 가상 자산 서비스 제공 서버로 하여금 제2 서버 VC를 상기 제2 서버 프라이빗 키로 서명한 제2 서버 인증 서명값과 상기 제2 서버 DID를 상기 레스폰스에 추가로 포함하도록 하여, 상기 레스폰스가 수신되면, 상기 레스폰스에 포함된 상기 제2 서버 DID를 이용하여 상기 블록체인 네트워크로부터 상기 제2 서버 퍼블릭 키를 확인하거나, 리졸버 서버를 통해 상기 제2 서버 DID를 이용하여 상기 블록체인 네트워크로부터 상기 제2 서버 DID에 대응되는 제2 서버 DID document를 획득한 다음 상기 제2 서버 DID document를 통해 상기 제2 서버 퍼블릭 키를 확인하여, 상기 제2 서버 퍼블릭 키를 이용하여 상기 제2 서버 인증 서명값을 복호화하여 상기 제2 서버 VC를 획득하고 상기 블록체인 네트워크를 통해 상기 제2 서버 VC를 검증하는 것을 특징으로 하는 방법.
  5. 제1항에 있어서,
    상기 (b) 단계에서,
    상기 제1 가상 자산 서비스 제공 서버는, 상기 송신자 정보를 상기 송신자로부터 획득하되, 상기 송신자 정보를 상기 송신자 단말로부터의 상기 가상 자산 전송 요청에 포함하여 전송되도록 함으로써 획득하거나 상기 송신자 단말로 별도의 송신자 서명 트랜잭션을 요청하여 획득하는 것을 특징으로 하는 방법.
  6. 제1항에 있어서,
    상기 (b) 단계에서,
    상기 제1 가상 자산 서비스 제공 서버는, 상기 제2 가상 자산 서비스 제공 서버로 하여금 상기 수신자 단말로 수신자 서명 트랜잭션을 요청하여 상기 수신자 정보를 획득하도록 하는 것을 특징으로 하는 방법.
  7. 제1항에 있어서,
    상기 (c) 단계에서,
    상기 제1 가상 자산 서비스 제공 서버는, (i) 상기 제2 서버 퍼블릭 키를 획득하기 위해 상기 제2 서버 DID를 이용하여 상기 블록체인 네트워크로부터 상기 제2 서버 DID에 대응되는 상기 제2 서버 퍼블릭 키를 획득하거나, 리졸버 서버를 통해 상기 제2 서버 DID를 이용하여 상기 블록체인 네트워크로부터 상기 제2 서버 DID에 대응되는 제2 서버 DID document를 획득하여 상기 제2 서버 DID document에서 상기 제2 서버 퍼블릭 키를 획득하며, (ii) 상기 수신자 퍼블릭 키를 획득하기 위해 상기 수신자 DID를 이용하여 상기 블록체인 네트워크로부터 상기 수신자 DID에 대응되는 상기 수신자 퍼블릭 키를 획득하거나, 리졸버 서버를 통해 상기 수신자 DID를 이용하여 상기 블록체인 네트워크로부터 상기 수신자 DID에 대응되는 수신자 DID document를 획득하여 상기 수신자 DID document에서 상기 수신자 퍼블릭 키를 획득할 수 있는 것을 특징으로 하는 방법.
  8. 탈중앙화 아이디(Decentralized Identifier; DID) 기반의 가상 자산 서비스를 제공하는 방법에 있어서,
    (a) 사용자들 및 가상 자산 서비스 제공 서버들의 DID가 블록체인 네트워크에 등록된 상태에서, 가상 자산을 전송하고자 하는 송신자의 송신자 단말로부터 상기 가상 자산을 수신할 수신자에 대응되는 수신자 가상 자산 어드레스를 이용하여 수신자 단말로 상기 가상 자산을 전송함으로써 상기 수신자 가상 자산 어드레스를 관리하는 제1 가상 자산 서비스 제공 서버가 상기 가상 자산의 전송을 위한 가상 자산 트랜잭션을 획득하면, 상기 제1 가상 자산 서비스 제공 서버가, 상기 송신자 가상 자산 어드레스에 대응되는 아이덴티티 레솔루션 리퀘스트를 상기 블록체인 네트워크로 브로드캐스팅하여, 상기 블록체인 네트워크에 각각 노드로 참여하는 적어도 하나 이상의 가상 자산 서비스 제공 서버들로 하여금 상기 송신자 가상 자산 어드레스가 자신이 관리하고 있는 가상 자산 어드레스인지 확인하도록 하는 단계;
    (b) 상기 송신자 가상 자산 어드레스가 자신이 관리하고 있음을 확인한 제2 가상 자산 서비스 제공 서버로부터 상기 아이덴티티 레솔루션 리퀘스트에 대응되는 레스폰스가 수신되면, 상기 제1 가상 자산 서비스 제공 서버가, 수신자 정보 - 상기 수신자 정보는 수신자 VC(Verifiable Credential)를 수신자 프라이빗 키로 서명한 수신자 서명값과 수신자 DID를 포함함 - 을 제1 서버 프라이빗 키로 서명한 제1 서버 서명값 및 제1 서버 DID를 포함하는 수신자 인증 트랜잭션을 상기 제2 가상 자산 서비스 제공 서버에 전송하여 상기 제2 가상 자산 서비스 제공 서버로 하여금, 상기 수신자 인증 트랜잭션에 포함된 상기 제1 서버 DID를 이용하여 상기 블록체인 네트워크로부터 상기 제1 서버 DID에 대응되는 제1 서버 퍼블릭 키를 획득하도록 하여, 상기 제1 서버 퍼블릭 키를 이용하여 상기 수신자 정보 VC에 포함된 상기 제1 서버 서명값을 복호화하여 상기 수신자 정보를 획득하도록 하고, 상기 수신자 정보에 포함된 상기 수신자 DID를 이용하여 상기 블록체인 네트워크로부터 상기 수신자 DID에 대응되는 수신자 퍼블릭 키를 획득하도록 하여, 상기 수신자 퍼블릭 키를 이용하여 상기 수신자 정보에 포함된 상기 수신자 서명값을 복호화하여 상기 수신자 VC를 획득하여 상기 블록체인 네트워크를 통해 상기 수신자 VC를 검증하도록 하고, 검증이 완료되면 송신자 정보 - 상기 송신자 정보는 송신자 VC(Verifiable Credential)를 송신자 프라이빗 키로 서명한 송신자 서명값과 송신자 DID를 포함함 - 를 제2 서버 프라이빗 키로 서명한 제2 서버 서명값 및 제2 서버 DID를 포함하는 송신자 인증 트랜잭션을 전송하도록 하는 단계; 및
    (c) 상기 송신자 인증 트랜잭션을 수신하면, 상기 제1 가상 자산 서비스 제공 서버가, 상기 송신자 인증 트랜잭션에 포함된 상기 제2 서버 DID를 이용하여 상기 블록체인 네트워크로부터 상기 제2 서버 DID에 대응되는 상기 제2 서버 퍼블릭 키를 획득하고, 상기 제2 서버 퍼블릭 키를 이용하여 상기 송신자 인증 트랜잭션에 포함된 상기 제2 서버 서명값을 복호화하여 상기 송신자 정보를 획득하며, 상기 송신자 정보에 포함된 상기 송신자 DID를 이용하여 상기 블록체인 네트워크로부터 상기 송신자 DID에 대응되는 송신자 퍼블릭 키를 획득하고, 상기 송신자 퍼블릭 키를 이용하여 상기 송신자 정보에 포함된 상기 송신자 서명값을 복호화하여 상기 송신자 VC를 획득하여 상기 블록체인 네트워크를 통해 검증한 후 검증 기록을 저장한 다음, 상기 가상 자산을 상기 송신자 가상 자산 어드레스로부터 상기 수신자 가상 자산 어드레스로 전송되도록 상기 가산 전송 트랜잭션을 상기 블록체인 네트워크에 등록하는 단계;
    를 포함하는 방법.
  9. 제8항에 있어서,
    상기 (b) 단계에서,
    상기 제1 가상 자산 서비스 제공 서버는, 상기 제2 가상 자산 서비스 제공 서버로 하여금 (i) 상기 제1 서버 퍼블릭 키를 획득하도록 하기 위해 상기 제1 서버 DID를 이용하여 상기 블록체인 네트워크로부터 상기 제1 서버 DID에 대응되는 상기 제1 서버 퍼블릭 키를 획득하도록 하거나, 리졸버 서버를 통해 상기 제1 서버 DID를 이용하여 상기 블록체인 네트워크로부터 상기 제1 서버 DID에 대응되는 제1 서버 DID document를 획득하도록 하여 상기 제1 서버 DID document에서 상기 제1 서버 퍼블릭 키를 획득하도록 하며, (ii) 상기 수신자 퍼블릭 키를 획득하도록 하기 위해 상기 수신자 DID를 이용하여 상기 블록체인 네트워크로부터 상기 수신자 DID에 대응되는 상기 수신자 퍼블릭 키를 획득하도록 하거나, 리졸버 서버를 통해 상기 수신자 DID를 이용하여 상기 블록체인 네트워크로부터 상기 수신자 DID에 대응되는 수신자 DID document를 획득하도록 하여 상기 수신자 DID document에서 상기 수신자 퍼블릭 키를 획득하도록 할 수 있는 것을 특징으로 하는 방법.
  10. 제8항에 있어서,
    상기 (a) 단계에서,
    상기 제1 가상 자산 서비스 제공 서버는, 제1 서버 VC를 상기 제1 서버 프라이빗 키로 서명한 제1 서버 인증 서명값과 상기 제1 서버 DID를 상기 아이덴티티 레솔루션 리퀘스트에 추가로 포함하여 상기 블록체인 네트워크에 브로드캐스팅하여, 상기 아이덴티티 레솔루션 리퀘스트에 포함된 상기 송신자 가상 자산 어드레스를 자신이 관리하고 있음을 확인한 상기 제2 가상 자산 서비스 제공 서버로 하여금 상기 아이덴티티 레솔루션 리퀘스트에 포함된 상기 제1 서버 DID를 이용하여 상기 블록체인 네트워크로부터 상기 제1 서버 퍼블릭 키를 확인하도록 하거나, 리졸버 서버를 통해 상기 제1 서버 DID를 이용하여 상기 블록체인 네트워크로부터 상기 제1 서버 DID에 대응되는 제1 서버 DID document를 획득하도록 한 다음 상기 제1 서버 DID document를 통해 상기 제1 서버 퍼블릭 키를 확인하도록 하여, 상기 제1 서버 퍼블릭 키를 이용하여 상기 제1 서버 인증 서명값을 복호화하여 상기 제1 서버 VC를 획득하고 상기 블록체인 네트워크를 통해 상기 제1 서버 VC를 검증하도록 하는 것을 특징으로 하는 방법.
  11. 제8항에 있어서,
    상기 (b) 단계에서,
    상기 제1 가상 자산 서비스 제공 서버는, 상기 제2 가상 자산 서비스 제공 서버로 하여금 제2 서버 VC를 상기 제2 서버 프라이빗 키로 서명한 제2 서버 인증 서명값과 상기 제2 서버 DID를 상기 레스폰스에 추가로 포함하도록 하여, 상기 레스폰스를 수신하면, 상기 레스폰스에 포함된 상기 제2 서버 DID를 이용하여 상기 블록체인 네트워크로부터 상기 제2 서버 퍼블릭 키를 확인하거나, 리졸버 서버를 통해 상기 제2 서버 DID를 이용하여 상기 블록체인 네트워크로부터 상기 제2 서버 DID에 대응되는 제2 서버 DID document를 획득한 다음 상기 제2 서버 DID document를 통해 상기 제2 서버 퍼블릭 키를 확인하여, 상기 제2 서버 퍼블릭 키를 이용하여 상기 제2 서버 인증 서명값을 복호화하여 상기 제2 서버 VC를 획득하고 상기 블록체인 네트워크를 통해 상기 제2 서버 VC를 검증하는 것을 특징으로 하는 방법.
  12. 제8항에 있어서,
    상기 (b) 단계에서,
    상기 제1 가상 자산 서비스 제공 서버는, 상기 수신자 단말로 수신자 서명 트랜잭션을 요청하여 상기 수신자 정보를 획득하는 것을 특징으로 하는 방법.
  13. 제8항에 있어서,
    상기 (b) 단계에서,
    상기 제1 가상 자산 서비스 제공 서버는, 상기 제2 가상 자산 서비스 제공 서버로 하여금 상기 송신자 단말로 송신자 서명 트랜잭션을 요청하여 상기 송신자 정보를 획득하도록 하는 것을 특징으로 하는 방법.
  14. 제8항에 있어서,
    상기 (c) 단계에서,
    상기 제1 가상 자산 서비스 제공 서버는, (i) 상기 제2 서버 퍼블릭 키를 획득하기 위해 상기 제2 서버 DID를 이용하여 상기 블록체인 네트워크로부터 상기 제2 서버 DID에 대응되는 상기 제2 서버 퍼블릭 키를 획득하거나, 리졸버 서버를 통해 상기 제2 서버 DID를 이용하여 상기 블록체인 네트워크로부터 상기 제2 서버 DID에 대응되는 제2 서버 DID document를 획득하여 상기 제2 서버 DID document에서 상기 제2 서버 퍼블릭 키를 획득하며, (ii) 상기 송신자 퍼블릭 키를 획득하도록 하기 위해 상기 송신자 DID를 이용하여 상기 블록체인 네트워크로부터 상기 송신자 DID에 대응되는 상기 송신자 퍼블릭 키를 획득하도록 하거나, 리졸버 서버를 통해 상기 송신자 DID를 이용하여 상기 블록체인 네트워크로부터 상기 송신자 DID에 대응되는 송신자 DID document를 획득하도록 하여 상기 송신자 DID document에서 상기 송신자 퍼블릭 키를 획득할 수 있는 것을 특징으로 하는 방법.
  15. 탈중앙화 아이디(Decentralized Identifier; DID) 기반의 가상 자산 서비스를 제공하는 가상 자산 서비스 제공 서버에 있어서,
    DID 기반의 가상 자산 서비스를 제공하기 위한 인스트럭션들이 저장된 메모리; 및
    상기 메모리에 저장된 상기 인스트럭션들에 따라 상기 DID 기반의 상기 가상 자산 서비스를 제공하기 위한 동작을 수행하는 프로세서;
    를 포함하되,
    상기 프로세서는, (I) 사용자들 및 가상 자산 서비스 제공 서버들의 DID가 블록체인 네트워크에 등록된 상태에서, 가상 자산을 전송하고자 하는 송신자의 송신자 단말로부터 상기 가상 자산을 수신할 수신자에 대응되는 수신자 가상 자산 어드레스를 포함하는 가상 자산 전송 요청이 획득되면, 상기 수신자 가상 자산 어드레스를 포함하는 아이덴티티 레솔루션 리퀘스트를 상기 블록체인 네트워크로 브로드캐스팅하여, 상기 블록체인 네트워크에 각각 노드로 참여하는 적어도 하나 이상의 가상 자산 서비스 제공 서버들로 하여금 상기 수신자 가상 자산 어드레스가 자신이 관리하고 있는 가상 자산 어드레스인지 확인하도록 하는 프로세스, (II) 상기 수신자 가상 자산 어드레스가 자신이 관리하고 있음을 확인한 타 가상 자산 서비스 제공 서버로부터 상기 아이덴티티 레솔루션 리퀘스트에 대응되는 레스폰스가 수신되면, 송신자 정보 - 상기 송신자 정보는 송신자 VC(Verifiable Credential)를 송신자 프라이빗 키로 서명한 송신자 서명값과 송신자 DID를 포함함 - 를 제1 서버 프라이빗 키로 서명한 제1 서버 서명값 및 제1 서버 DID를 포함하는 송신자 인증 트랜잭션을 상기 타 가상 자산 서비스 제공 서버에 전송하여 상기 타 가상 자산 서비스 제공 서버로 하여금, 상기 송신자 인증 트랜잭션에 포함된 상기 제1 서버 DID를 이용하여 상기 블록체인 네트워크로부터 상기 제1 서버 DID에 대응되는 제1 서버 퍼블릭 키를 획득하도록 하여, 상기 제1 서버 퍼블릭 키를 이용하여 상기 송신자 인증 트랜잭션에 포함된 상기 제1 서버 서명값을 복호화하여 상기 송신자 정보를 획득하도록 하고, 상기 송신자 정보에 포함된 상기 송신자 DID를 이용하여 상기 블록체인 네트워크로부터 상기 송신자 DID에 대응되는 송신자 퍼블릭 키를 획득하도록 하여, 상기 송신자 퍼블릭 키를 이용하여 상기 송신자 정보에 포함된 상기 송신자 서명값을 복호화하여 상기 송신자 VC를 획득하여 상기 블록체인 네트워크를 통해 상기 송신자 VC를 검증하도록 하고, 검증이 완료되면 수신자 정보 - 상기 수신자 정보는 수신자 VC를 수신자 프라이빗 키로 서명한 수신자 서명값과 수신자 DID를 포함함 - 를 제2 서버 프라이빗 키로 서명한 제2 서버 서명값 및 제2 서버 DID를 포함하는 수신자 인증 트랜잭션을 전송하도록 하는 프로세스, 및 (III) 상기 수신자 인증 트랜잭션을 수신하면, 상기 수신자 인증 트랜잭션에 포함된 상기 제2 서버 DID를 이용하여 상기 블록체인 네트워크로부터 상기 제2 서버 DID에 대응되는 상기 제2 서버 퍼블릭 키를 획득하고, 상기 제2 서버 퍼블릭 키를 이용하여 상기 수신자 인증 트랜잭션에 포함된 상기 제2 서버 서명값을 복호화하여 상기 수신자 정보를 획득하며, 상기 수신자 정보에 포함된 상기 수신자 DID를 이용하여 상기 블록체인 네트워크로부터 상기 수신자 DID에 대응되는 수신자 퍼블릭 키를 획득하고, 상기 수신자 퍼블릭 키를 이용하여 상기 수신자 정보에 포함된 상기 수신자 서명값을 복호화하여 상기 수신자 VC를 획득하여 상기 블록체인 네트워크를 통해 검증한 후 검증 기록을 저장한 다음, 상기 가상 자산을 상기 송신자 가상 자산 어드레스로부터 상기 수신자 가상 자산 어드레스로 전송하여 주기 위한 가산 전송 트랜잭션을 생성하여 상기 블록체인 네트워크에 등록하는 프로세스를 수행하는 가상 자산 서비스 제공 서버.
  16. 제15항에 있어서,
    상기 (II) 프로세스에서,
    상기 프로세서는, 상기 타 가상 자산 서비스 제공 서버로 하여금 (i) 상기 제1 서버 퍼블릭 키를 획득하도록 하기 위해 상기 제1 서버 DID를 이용하여 상기 블록체인 네트워크로부터 상기 제1 서버 DID에 대응되는 상기 제1 서버 퍼블릭 키를 획득하도록 하거나, 리졸버 서버를 통해 상기 제1 서버 DID를 이용하여 상기 블록체인 네트워크로부터 상기 제1 서버 DID에 대응되는 제1 서버 DID document를 획득하도록 하여 상기 제1 서버 DID document에서 상기 제1 서버 퍼블릭 키를 획득하도록 하며, (ii) 상기 송신자 퍼블릭 키를 획득하도록 하기 위해 상기 송신자 DID를 이용하여 상기 블록체인 네트워크로부터 상기 송신자 DID에 대응되는 상기 송신자 퍼블릭 키를 획득하도록 하거나, 리졸버 서버를 통해 상기 송신자 DID를 이용하여 상기 블록체인 네트워크로부터 상기 송신자 DID에 대응되는 송신자 DID document를 획득하도록 하여 상기 송신자 DID document에서 상기 송신자 퍼블릭 키를 획득하도록 하는 것을 특징으로 하는 가상 자산 서비스 제공 서버.
  17. 제15항에 있어서,
    상기 (I) 프로세스에서,
    상기 프로세서는, 제1 서버 VC를 상기 제1 서버 프라이빗 키로 서명한 제1 서버 인증 서명값과 상기 제1 서버 DID를 상기 아이덴티티 레솔루션 리퀘스트에 추가로 포함하여 상기 블록체인 네트워크에 브로드캐스팅하여, 상기 아이덴티티 레솔루션 리퀘스트에 포함된 상기 수신자 가상 자산 어드레스를 자신이 관리하고 있음을 확인한 상기 타 가상 자산 서비스 제공 서버로 하여금 상기 아이덴티티 레솔루션 리퀘스트에 포함된 상기 제1 서버 DID를 이용하여 상기 블록체인 네트워크로부터 상기 제1 서버 퍼블릭 키를 확인하도록 하거나, 리졸버 서버를 통해 상기 제1 서버 DID를 이용하여 상기 블록체인 네트워크로부터 상기 제1 서버 DID에 대응되는 제1 서버 DID document를 획득하도록 한 다음 상기 제1 서버 DID document를 통해 상기 제1 서버 퍼블릭 키를 확인하도록 하여, 상기 제1 서버 퍼블릭 키를 이용하여 상기 제1 서버 인증 서명값을 복호화하여 상기 제1 서버 VC를 획득하고 상기 블록체인 네트워크를 통해 상기 제1 서버 VC를 검증하도록 하는 것을 특징으로 하는 가상 자산 서비스 제공 서버.
  18. 제15항에 있어서,
    상기 (II) 프로세스에서,
    상기 프로세서는, 상기 타 가상 자산 서비스 제공 서버로 하여금 제2 서버 VC를 상기 제2 서버 프라이빗 키로 서명한 제2 서버 인증 서명값과 상기 제2 서버 DID를 상기 레스폰스에 추가로 포함하도록 하여, 상기 레스폰스가 수신되면, 상기 레스폰스에 포함된 상기 제2 서버 DID를 이용하여 상기 블록체인 네트워크로부터 상기 제2 서버 퍼블릭 키를 확인하거나, 리졸버 서버를 통해 상기 제2 서버 DID를 이용하여 상기 블록체인 네트워크로부터 상기 제2 서버 DID에 대응되는 제2 서버 DID document를 획득한 다음 상기 제2 서버 DID document를 통해 상기 제2 서버 퍼블릭 키를 확인하여, 상기 제2 서버 퍼블릭 키를 이용하여 상기 제2 서버 인증 서명값을 복호화하여 상기 제2 서버 VC를 획득하고 상기 블록체인 네트워크를 통해 상기 제2 서버 VC를 검증하는 것을 특징으로 하는 가상 자산 서비스 제공 서버.
  19. 제15항에 있어서,
    상기 (II) 프로세스에서,
    상기 프로세서는, 상기 송신자 정보를 상기 송신자로부터 획득하되, 상기 송신자 정보를 상기 송신자 단말로부터의 상기 가상 자산 전송 요청에 포함하여 전송되도록 함으로써 획득하거나 상기 송신자 단말로 별도의 송신자 서명 트랜잭션을 요청하여 획득하는 것을 특징으로 하는 가상 자산 서비스 제공 서버.
  20. 제15항에 있어서,
    상기 (II) 프로세스에서,
    상기 프로세서는, 상기 타 가상 자산 서비스 제공 서버로 하여금 상기 수신자 단말로 수신자 서명 트랜잭션을 요청하여 상기 수신자 정보를 획득하도록 하는 것을 특징으로 하는 가상 자산 서비스 제공 서버.
  21. 제15항에 있어서,
    상기 (III) 프로세스에서,
    상기 프로세서는, (i) 상기 제2 서버 퍼블릭 키를 획득하기 위해 상기 제2 서버 DID를 이용하여 상기 블록체인 네트워크로부터 상기 제2 서버 DID에 대응되는 상기 제2 서버 퍼블릭 키를 획득하거나, 리졸버 서버를 통해 상기 제2 서버 DID를 이용하여 상기 블록체인 네트워크로부터 상기 제2 서버 DID에 대응되는 제2 서버 DID document를 획득하여 상기 제2 서버 DID document에서 상기 제2 서버 퍼블릭 키를 획득하며, (ii) 상기 수신자 퍼블릭 키를 획득하기 위해 상기 수신자 DID를 이용하여 상기 블록체인 네트워크로부터 상기 수신자 DID에 대응되는 상기 수신자 퍼블릭 키를 획득하거나, 리졸버 서버를 통해 상기 수신자 DID를 이용하여 상기 블록체인 네트워크로부터 상기 수신자 DID에 대응되는 수신자 DID document를 획득하여 상기 수신자 DID document에서 상기 수신자 퍼블릭 키를 획득할 수 있는 것을 특징으로 하는 가상 자산 서비스 제공 서버.
  22. 탈중앙화 아이디(Decentralized Identifier; DID) 기반의 가상 자산 서비스를 제공하는 가상 자산 서비스 제공 서버에 있어서,
    DID 기반의 가상 자산 서비스를 제공하기 위한 인스트럭션들이 저장된 메모리; 및
    상기 메모리에 저장된 상기 인스트럭션들에 따라 상기 DID 기반의 상기 가상 자산 서비스를 제공하기 위한 동작을 수행하는 프로세서;
    를 포함하되,
    상기 프로세서는, (I) 사용자들 및 가상 자산 서비스 제공 서버들의 DID가 블록체인 네트워크에 등록된 상태에서, 가상 자산을 전송하고자 하는 송신자의 송신자 단말로부터 상기 가상 자산을 수신할 수신자에 대응되는 수신자 가상 자산 어드레스를 이용하여 수신자 단말로 상기 가상 자산을 전송함으로써 상기 수신자 가상 자산 어드레스를 관리하는 상기 프로세서가 상기 가상 자산의 전송을 위한 가상 자산 트랜잭션을 획득하면, 상기 송신자 가상 자산 어드레스에 대응되는 아이덴티티 레솔루션 리퀘스트를 상기 블록체인 네트워크로 브로드캐스팅하여, 상기 블록체인 네트워크에 각각 노드로 참여하는 적어도 하나 이상의 가상 자산 서비스 제공 서버들로 하여금 상기 송신자 가상 자산 어드레스가 자신이 관리하고 있는 가상 자산 어드레스인지 확인하도록 하는 프로세스, (II) 상기 송신자 가상 자산 어드레스가 자신이 관리하고 있음을 확인한 타 가상 자산 서비스 제공 서버로부터 상기 아이덴티티 레솔루션 리퀘스트에 대응되는 레스폰스가 수신되면, 수신자 정보 - 상기 수신자 정보는 수신자 VC(Verifiable Credential)를 수신자 프라이빗 키로 서명한 수신자 서명값과 수신자 DID를 포함함 - 을 제1 서버 프라이빗 키로 서명한 제1 서버 서명값 및 제1 서버 DID를 포함하는 수신자 인증 트랜잭션을 상기 타 가상 자산 서비스 제공 서버에 전송하여 상기 타 가상 자산 서비스 제공 서버로 하여금, 상기 수신자 인증 트랜잭션에 포함된 상기 제1 서버 DID를 이용하여 상기 블록체인 네트워크로부터 상기 제1 서버 DID에 대응되는 제1 서버 퍼블릭 키를 획득하도록 하여, 상기 제1 서버 퍼블릭 키를 이용하여 상기 수신자 정보 VC에 포함된 상기 제1 서버 서명값을 복호화하여 상기 수신자 정보를 획득하도록 하고, 상기 수신자 정보에 포함된 상기 수신자 DID를 이용하여 상기 블록체인 네트워크로부터 상기 수신자 DID에 대응되는 수신자 퍼블릭 키를 획득하도록 하여, 상기 수신자 퍼블릭 키를 이용하여 상기 수신자 정보에 포함된 상기 수신자 서명값을 복호화하여 상기 수신자 VC를 획득하여 상기 블록체인 네트워크를 통해 상기 수신자 VC를 검증하도록 하고, 검증이 완료되면 송신자 정보 - 상기 송신자 정보는 송신자 VC(Verifiable Credential)를 송신자 프라이빗 키로 서명한 송신자 서명값과 송신자 DID를 포함함 - 를 제2 서버 프라이빗 키로 서명한 제2 서버 서명값 및 제2 서버 DID를 포함하는 송신자 인증 트랜잭션을 전송하도록 하는 프로세스, 및 (III) 상기 송신자 인증 트랜잭션을 수신하면, 상기 송신자 인증 트랜잭션에 포함된 상기 제2 서버 DID를 이용하여 상기 블록체인 네트워크로부터 상기 제2 서버 DID에 대응되는 상기 제2 서버 퍼블릭 키를 획득하고, 상기 제2 서버 퍼블릭 키를 이용하여 상기 송신자 인증 트랜잭션에 포함된 상기 제2 서버 서명값을 복호화하여 상기 송신자 정보를 획득하며, 상기 송신자 정보에 포함된 상기 송신자 DID를 이용하여 상기 블록체인 네트워크로부터 상기 송신자 DID에 대응되는 송신자 퍼블릭 키를 획득하고, 상기 송신자 퍼블릭 키를 이용하여 상기 송신자 정보에 포함된 상기 송신자 서명값을 복호화하여 상기 송신자 VC를 획득하여 상기 블록체인 네트워크를 통해 검증한 후 검증 기록을 저장한 다음, 상기 가상 자산을 상기 송신자 가상 자산 어드레스로부터 상기 수신자 가상 자산 어드레스로 전송되도록 상기 가산 전송 트랜잭션을 상기 블록체인 네트워크에 등록하는 프로세스를 수행하는 가상 자산 서비스 제공 서버.
  23. 제22항에 있어서,
    상기 (II) 프로세스에서,
    상기 프로세서는, 상기 타 가상 자산 서비스 제공 서버로 하여금 (i) 상기 제1 서버 퍼블릭 키를 획득하도록 하기 위해 상기 제1 서버 DID를 이용하여 상기 블록체인 네트워크로부터 상기 제1 서버 DID에 대응되는 상기 제1 서버 퍼블릭 키를 획득하도록 하거나, 리졸버 서버를 통해 상기 제1 서버 DID를 이용하여 상기 블록체인 네트워크로부터 상기 제1 서버 DID에 대응되는 제1 서버 DID document를 획득하도록 하여 상기 제1 서버 DID document에서 상기 제1 서버 퍼블릭 키를 획득하도록 하며, (ii) 상기 수신자 퍼블릭 키를 획득하도록 하기 위해 상기 수신자 DID를 이용하여 상기 블록체인 네트워크로부터 상기 수신자 DID에 대응되는 상기 수신자 퍼블릭 키를 획득하도록 하거나, 리졸버 서버를 통해 상기 수신자 DID를 이용하여 상기 블록체인 네트워크로부터 상기 수신자 DID에 대응되는 수신자 DID document를 획득하도록 하여 상기 수신자 DID document에서 상기 수신자 퍼블릭 키를 획득하도록 할 수 있는 것을 특징으로 하는 가상 자산 서비스 제공 서버.
  24. 제22항에 있어서,
    상기 (I) 프로세스에서,
    상기 프로세서는, 제1 서버 VC를 상기 제1 서버 프라이빗 키로 서명한 제1 서버 인증 서명값과 상기 제1 서버 DID를 상기 아이덴티티 레솔루션 리퀘스트에 추가로 포함하여 상기 블록체인 네트워크에 브로드캐스팅하여, 상기 아이덴티티 레솔루션 리퀘스트에 포함된 상기 송신자 가상 자산 어드레스를 자신이 관리하고 있음을 확인한 상기 타 가상 자산 서비스 제공 서버로 하여금 상기 아이덴티티 레솔루션 리퀘스트에 포함된 상기 제1 서버 DID를 이용하여 상기 블록체인 네트워크로부터 상기 제1 서버 퍼블릭 키를 확인하도록 하거나, 리졸버 서버를 통해 상기 제1 서버 DID를 이용하여 상기 블록체인 네트워크로부터 상기 제1 서버 DID에 대응되는 제1 서버 DID document를 획득하도록 한 다음 상기 제1 서버 DID document를 통해 상기 제1 서버 퍼블릭 키를 확인하도록 하여, 상기 제1 서버 퍼블릭 키를 이용하여 상기 제1 서버 인증 서명값을 복호화하여 상기 제1 서버 VC를 획득하고 상기 블록체인 네트워크를 통해 상기 제1 서버 VC를 검증하도록 하는 것을 특징으로 하는 가상 자산 서비스 제공 서버.
  25. 제22항에 있어서,
    상기 (II) 프로세스에서,
    상기 프로세서는, 상기 타 가상 자산 서비스 제공 서버로 하여금 제2 서버 VC를 상기 제2 서버 프라이빗 키로 서명한 제2 서버 인증 서명값과 상기 제2 서버 DID를 상기 레스폰스에 추가로 포함하도록 하여, 상기 레스폰스가 수신되면, 상기 레스폰스에 포함된 상기 제2 서버 DID를 이용하여 상기 블록체인 네트워크로부터 상기 제2 서버 퍼블릭 키를 확인하거나, 리졸버 서버를 통해 상기 제2 서버 DID를 이용하여 상기 블록체인 네트워크로부터 상기 제2 서버 DID에 대응되는 제2 서버 DID document를 획득한 다음 상기 제2 서버 DID document를 통해 상기 제2 서버 퍼블릭 키를 확인하여, 상기 제2 서버 퍼블릭 키를 이용하여 상기 제2 서버 인증 서명값을 복호화하여 상기 제2 서버 VC를 획득하고 상기 블록체인 네트워크를 통해 상기 제2 서버 VC를 검증하는 것을 특징으로 하는 가상 자산 서비스 제공 서버.
  26. 제22항에 있어서,
    상기 (II) 프로세스에서,
    상기 프로세서는, 상기 수신자 단말로 수신자 서명 트랜잭션을 요청하여 상기 수신자 정보를 획득하는 것을 특징으로 하는 가상 자산 서비스 제공 서버.
  27. 제22항에 있어서,
    상기 (II) 프로세스에서,
    상기 프로세서는, 상기 타 가상 자산 서비스 제공 서버로 하여금 상기 송신자 단말로 송신자 서명 트랜잭션을 요청하여 상기 송신자 정보를 획득하도록 하는 것을 특징으로 하는 가상 자산 서비스 제공 서버.
  28. 제22항에 있어서,
    상기 (III) 프로세스에서,
    상기 프로세서는, (i) 상기 제2 서버 퍼블릭 키를 획득하기 위해 상기 제2 서버 DID를 이용하여 상기 블록체인 네트워크로부터 상기 제2 서버 DID에 대응되는 상기 제2 서버 퍼블릭 키를 획득하거나, 리졸버 서버를 통해 상기 제2 서버 DID를 이용하여 상기 블록체인 네트워크로부터 상기 제2 서버 DID에 대응되는 제2 서버 DID document를 획득하여 상기 제2 서버 DID document에서 상기 제2 서버 퍼블릭 키를 획득하며, (ii) 상기 송신자 퍼블릭 키를 획득하도록 하기 위해 상기 송신자 DID를 이용하여 상기 블록체인 네트워크로부터 상기 송신자 DID에 대응되는 상기 송신자 퍼블릭 키를 획득하도록 하거나, 리졸버 서버를 통해 상기 송신자 DID를 이용하여 상기 블록체인 네트워크로부터 상기 송신자 DID에 대응되는 송신자 DID document를 획득하도록 하여 상기 송신자 DID document에서 상기 송신자 퍼블릭 키를 획득할 수 있는 것을 특징으로 하는 가상 자산 서비스 제공 서버.
KR1020200184321A 2020-06-26 2020-12-28 탈중앙화 아이디 기반의 가상 자산 서비스 제공 방법 및 이를 이용한 가상 자산 서비스 제공 서버 KR102412852B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020210179208A KR20220000864A (ko) 2020-06-26 2021-12-14 탈중앙화 아이디 기반의 가상 자산 서비스 제공 방법 및 이를 이용한 가상 자산 서비스 제공 서버

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
KR20200078765 2020-06-26
KR1020200078765 2020-06-26

Related Child Applications (1)

Application Number Title Priority Date Filing Date
KR1020210179208A Division KR20220000864A (ko) 2020-06-26 2021-12-14 탈중앙화 아이디 기반의 가상 자산 서비스 제공 방법 및 이를 이용한 가상 자산 서비스 제공 서버

Publications (2)

Publication Number Publication Date
KR20220000798A true KR20220000798A (ko) 2022-01-04
KR102412852B1 KR102412852B1 (ko) 2022-06-27

Family

ID=79342536

Family Applications (2)

Application Number Title Priority Date Filing Date
KR1020200184321A KR102412852B1 (ko) 2020-06-26 2020-12-28 탈중앙화 아이디 기반의 가상 자산 서비스 제공 방법 및 이를 이용한 가상 자산 서비스 제공 서버
KR1020210179208A KR20220000864A (ko) 2020-06-26 2021-12-14 탈중앙화 아이디 기반의 가상 자산 서비스 제공 방법 및 이를 이용한 가상 자산 서비스 제공 서버

Family Applications After (1)

Application Number Title Priority Date Filing Date
KR1020210179208A KR20220000864A (ko) 2020-06-26 2021-12-14 탈중앙화 아이디 기반의 가상 자산 서비스 제공 방법 및 이를 이용한 가상 자산 서비스 제공 서버

Country Status (1)

Country Link
KR (2) KR102412852B1 (ko)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102509731B1 (ko) * 2022-12-22 2023-03-15 (주)서울옥션블루 블록체인 네트워크 기반의 넌펀지블 토큰(Non-Fungible Token)을 이용하여 소장품을 거래하는 방법 및 이를 이용한 온라인 거래 서버

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2018045540A (ja) * 2016-09-15 2018-03-22 健 坪井 仮想通貨アドレスを含む預金口座情報開示システム
KR20180079805A (ko) * 2017-01-02 2018-07-11 주식회사 코인플러그 블록체인 기반의 모바일 아이디를 이용하여 사용자를 비대면 인증하는 방법, 단말 및 이를 이용한 서버
US10700851B2 (en) 2019-07-02 2020-06-30 Alibaba Group Holding Limited System and method for implementing a resolver service for decentralized identifiers
US10742411B2 (en) 2018-01-22 2020-08-11 Microsoft Technology Licensing, Llc Generating and managing decentralized identifiers
US10924284B2 (en) 2019-07-02 2021-02-16 Advanced New Technologies Co., Ltd. System and method for decentralized-identifier authentication

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2018045540A (ja) * 2016-09-15 2018-03-22 健 坪井 仮想通貨アドレスを含む預金口座情報開示システム
KR20180079805A (ko) * 2017-01-02 2018-07-11 주식회사 코인플러그 블록체인 기반의 모바일 아이디를 이용하여 사용자를 비대면 인증하는 방법, 단말 및 이를 이용한 서버
US10742411B2 (en) 2018-01-22 2020-08-11 Microsoft Technology Licensing, Llc Generating and managing decentralized identifiers
US10700851B2 (en) 2019-07-02 2020-06-30 Alibaba Group Holding Limited System and method for implementing a resolver service for decentralized identifiers
US10924284B2 (en) 2019-07-02 2021-02-16 Advanced New Technologies Co., Ltd. System and method for decentralized-identifier authentication

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
‘Decentralized Identity’, 마이크로소프트2018.09.30. 게재)* *
'Decentralized digital identities and blockchain: The future as we see it', 마이크로소프트(2018.02.12. 게재) *

Also Published As

Publication number Publication date
KR20220000864A (ko) 2022-01-04
KR102412852B1 (ko) 2022-06-27

Similar Documents

Publication Publication Date Title
JP7436568B2 (ja) ブロックチェーンにより実現される方法及びシステム
US10944574B2 (en) Method for providing virtual asset service based on decentralized identifier and virtual asset service providing server using them
TWI725793B (zh) 用於將分散識別符映射到真實世界實體的系統及方法
US11533164B2 (en) System and method for blockchain-based cross-entity authentication
WO2020192743A1 (zh) 权限管理方法、权限验证方法和相关装置
EP3788523B1 (en) System and method for blockchain-based cross-entity authentication
JP6873270B2 (ja) ブロックチェーンにおけるスマートコントラクトに基づくトランザクション活動の取扱注意データを保護するための方法及びデバイス
US20210051025A1 (en) System and method for blockchain-based cross-entity authentication
KR102665645B1 (ko) 분산 트랜잭션 컨센서스 네트워크에서의 디지털 자산 트랜잭션의 익명성 및 추적성 향상 기법
KR101964254B1 (ko) 블록체인과 dht를 이용한 p2p 거래 방법 및 장치
Valenta et al. Blindcoin: Blinded, accountable mixes for bitcoin
CN111476572B (zh) 基于区块链的数据处理方法、装置、存储介质及设备
CA3037032A1 (en) Methods and apparatus for providing blockchain participant identity binding
US10963869B2 (en) System and method of cryptographically provable zero knowledge social networking
JP7067043B2 (ja) 電子取引装置、電子取引方法及びプログラム
CN110796449B (zh) 交易处理方法、系统、介质和计算设备
CN110599342B (zh) 基于区块链的身份信息的授权方法及装置
KR102295231B1 (ko) 블록체인 네트워크에 기반하여 다중 서명을 통해 소장품 소유권을 분양하는 방법 및 이를 이용한 온라인 거래 서버
JP2018093434A (ja) トランザクション管理方法、トランザクション管理プログラム及びトランザクション管理装置
KR20210086433A (ko) 블록체인 네트워크를 이용한 영지식 증명 기반의 인증서 서비스 방법, 이를 이용한 인증 지원 서버 및 사용자 단말
WO2020240771A1 (ja) 仮想通貨システム、端末、サーバ、仮想通貨の取引方法及びプログラム
CN111612452A (zh) 一种基于区块链的知识产权管理系统及方法
KR102348232B1 (ko) 탈중앙화 아이디 기반의 가상 자산 서비스 제공 방법 및 이를 이용한 가상 자산 서비스 제공 서버
JP2022532889A (ja) 複数インプットトランザクション
KR102412852B1 (ko) 탈중앙화 아이디 기반의 가상 자산 서비스 제공 방법 및 이를 이용한 가상 자산 서비스 제공 서버

Legal Events

Date Code Title Description
A107 Divisional application of patent
GRNT Written decision to grant