KR102412852B1 - Method for providing virtual asset service based on decentralized identity and virtual asset service providing server using them - Google Patents

Method for providing virtual asset service based on decentralized identity and virtual asset service providing server using them Download PDF

Info

Publication number
KR102412852B1
KR102412852B1 KR1020200184321A KR20200184321A KR102412852B1 KR 102412852 B1 KR102412852 B1 KR 102412852B1 KR 1020200184321 A KR1020200184321 A KR 1020200184321A KR 20200184321 A KR20200184321 A KR 20200184321A KR 102412852 B1 KR102412852 B1 KR 102412852B1
Authority
KR
South Korea
Prior art keywords
server
sender
virtual asset
recipient
public key
Prior art date
Application number
KR1020200184321A
Other languages
Korean (ko)
Other versions
KR20220000798A (en
Inventor
홍재우
서문규
어준선
Original Assignee
주식회사 코인플러그
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 주식회사 코인플러그 filed Critical 주식회사 코인플러그
Priority to KR1020210179208A priority Critical patent/KR20220000864A/en
Publication of KR20220000798A publication Critical patent/KR20220000798A/en
Application granted granted Critical
Publication of KR102412852B1 publication Critical patent/KR102412852B1/en

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

Abstract

본 발명은 가상 자산 서비스 제공자가 가상 자산을 거래하는 사용자들에 대한 정보를 획득 및 보관하도록 하여 가상 자산 거래를 통해 자금을 세탁하는 것을 방지할 수 있도록 하는 탈중앙화 아이디 기반의 가상 자산 서비스 제공 방법 및 이를 이용한 가상 자산 서비스 제공 서버에 관한 것이다.The present invention provides a method for providing a virtual asset service based on a decentralized ID to prevent the virtual asset service provider from laundering money through virtual asset transactions by allowing the virtual asset service provider to acquire and store information on users who trade virtual assets, and It relates to a virtual asset service providing server using the same.

Figure R1020200184321
Figure R1020200184321

Description

탈중앙화 아이디 기반의 가상 자산 서비스 제공 방법 및 이를 이용한 가상 자산 서비스 제공 서버 {METHOD FOR PROVIDING VIRTUAL ASSET SERVICE BASED ON DECENTRALIZED IDENTITY AND VIRTUAL ASSET SERVICE PROVIDING SERVER USING THEM}Decentralized ID-based virtual asset service provision method and virtual asset service provision server using the same

본 발명은 가상 자산 서비스를 제공하는 방법 및 이를 이용한 가상 자산 서비스 제공 서버에 관한 것으로, 보다 상세하게는, 가상 자산을 이용하여 자금을 세탁하는 것을 방지하기 위한 탈중앙화 아이디(Decentralized Identifier; DID) 기반의 가상 자산 서비스를 제공하는 방법 및 이를 이용한 가상 자산 서비스 제공 서버에 관한 것이다.The present invention relates to a method of providing a virtual asset service and a server for providing a virtual asset service using the same, and more particularly, a Decentralized Identifier (DID)-based for preventing money laundering using a virtual asset It relates to a method of providing a virtual asset service of and a virtual asset service providing server using the same.

암호화폐인 가상 자산(virtual asset)의 일종인 비트코인은 중앙은행에서 발행하는 법정화폐의 정의를 뒤흔들며 시장에서 높은 수요를 나타냈을 뿐만 아니라, 기존의 서비스들에도 블록체인이 적용되는 파급효과를 가져왔다.Bitcoin, a kind of virtual asset that is a cryptocurrency, not only showed high demand in the market by shaking the definition of fiat currency issued by the central bank, but also had a ripple effect of applying the block chain to existing services. come.

비트코인은 블록체인이라고 불리는 분산원장 기술을 통해, 암호화 기술과 네트워크 기술 들을 결합해 비트코인의 발행과 거래 내역을 P2P 분산 네트워크 상에서 다수의 컴퓨터가 동시에 기록하고 검증한다.Bitcoin issuance and transaction details are simultaneously recorded and verified by multiple computers on a P2P distributed network by combining encryption technology and network technology through distributed ledger technology called blockchain.

비트코인의 블록체인 기술에의 적용 이후, 블록체인 기술을 이용하는 이더리움, 리플 등과 같은 다양한 가상 자산이 발행되었다.After the application of Bitcoin to blockchain technology, various virtual assets such as Ethereum and Ripple using blockchain technology have been issued.

그리고, 특정 가상 자산을 법정화폐 또는 다른 가상 자산과 거래를 할 수 있도록 하기 위한 마켓 플레이스인 가상 자산 거래소가 생성되었으며, 전세계적으로 다양한 가상 자산 거래소를 통해 다양한 가상 자산들이 거래되고 있다.In addition, a virtual asset exchange, a marketplace for enabling a specific virtual asset to be traded with fiat currency or other virtual assets, has been created, and various virtual assets are being traded through various virtual asset exchanges worldwide.

그러나, 블록체인을 이용하는 가상 자산의 특성상, 가상 자산 거래자들은 가상 자산 어드레스를 이용하여 가상 자산을 거래하기 때문에 가상 자산 거래자들의 신원은 특정하기가 어렵다.However, due to the nature of virtual assets using blockchain, it is difficult to identify the virtual asset traders because virtual asset traders trade virtual assets using virtual asset addresses.

때문에, 이렇게 가상 자산 거래자들의 신원을 특정하기 어렵다는 특성은 자금 세탁이나 테러자금 조달 등의 불법적 목적에 종종 악용되어 불법적 범죄수익을 가상 자산의 거래를 통해 정당한 거래로 인한 수익으로 보이도록 출처나 소유 관계를 은폐하고 있다.Because of this, the difficulty in identifying virtual asset traders is often used for illegal purposes such as money laundering or terrorist financing, so that illegal criminal proceeds can be viewed as profits from legitimate transactions through virtual asset transactions. is concealing

이러한 가상 자산의 불법적인 거래를 방지하기 위하여, 자금세탁방지 국제기구(Financial Action Task Force; FATF)는 2019년 6월 가상 자산 규제에 대한 국제 표준 권고안을 발표하여 각국으로 하여금 가상 자산 서비스 제공자(Virtual Asset Service Provider; VASP)의 트레블 룰(Travel Rule) 준수를 의무화하도록 장려하고 있다. 이에 이어, 자금세탁방지 국제기구는 트레블 룰 적용에 대한 세부사항을 논의하여 2021년 발표를 앞두고 있다. In order to prevent illegal transactions of virtual assets, the Financial Action Task Force (FATF) issued an international standard recommendation for virtual asset regulation in June 2019, encouraging each country to provide virtual asset service providers (Virtual Asset Service Providers). It is encouraging to make it mandatory to comply with the Travel Rule of the Asset Service Provider (VASP). Following this, the international organization for anti-money laundering will discuss the details of the application of the travel rule and prepare for an announcement in 2021.

트레블 룰의 기초는 가상 자산을 이전할 때 송신을 담당하는 가상 자산 서비스 제공자가 가상 자산 서비스 제공자가 가상 자산 이전 관련 정보를 수신인에게 제공할 의무를 의미하며, 나아가 각국의 정책에 따라서는 가상 자산의 송금 및 입금 시 송신인의 성명과 송신 가상자산 주소 등을 포함하는 송신인 정보와 수신인의 성명과 수신 가상자산 주소 등을 포함하는 수신인 정보를 확인하고, 이에 대한 증빙자료를 구비하도록 요구할 수 있다.The basis of the travel rule is that when transferring virtual assets, the virtual asset service provider responsible for the transmission is obliged to provide the virtual asset service provider with information related to the virtual asset transfer to the recipient. In the case of remittance and deposit, sender information including the sender's name and sending virtual asset address, and recipient information including the recipient's name and receiving virtual asset address, etc. may be checked, and it may be requested to provide evidence for this.

이에 따라 최근 트레블 룰의 준수를 위한 가상 자산 서비스에 대한 다양한 방안들이 제안되고 있으나, 현재까지 트레블 룰을 만족하기 위한 마땅한 솔루션은 없는 상태이다.Accordingly, various methods for virtual asset service have been recently proposed to comply with the travel rule, but there is no suitable solution to satisfy the travel rule so far.

따라서, 본 발명은 자금세탁방지 국제기구에서 의무화를 권고한 트레블 룰을 만족하는 가상 자산 서비스를 제안하고자 한다.Accordingly, the present invention intends to propose a virtual asset service that satisfies the travel rule recommended by the international anti-money laundering organization.

USUS 1092428410924284 B2B2 USUS 1074241110742411 B2B2 USUS 1070085110700851 B2B2

본 발명은 상술한 문제점들을 모두 해결하는 것을 그 목적으로 한다.An object of the present invention is to solve all of the above problems.

또한, 본 발명은 가상 자산을 이용한 자금 세탁이나 테러자금 조달 등의 불법 거래를 방지하는 것을 방지하도록 하는 것을 다른 목적으로 한다.Another object of the present invention is to prevent illegal transactions such as money laundering or terrorist financing using virtual assets.

또한, 본 발명은 거래에 참여하는 자산 거래 서비스 제공 서버들이 송신자 정보와 수신자 정보를 인증함으로써 불법 거래의 송신자와 수신자를 용이하게 확인할 수 있도록 하는 것을 또 다른 목적으로 한다.Another object of the present invention is to enable the asset transaction service providing servers participating in the transaction to easily identify the sender and the receiver of the illegal transaction by authenticating the sender information and the receiver information.

또한, 본 발명은 가상 자산의 거래를 하는 송신자와 수신자의 개인 정보 노출 없이 송신자 정보 및 수신자 정보를 인증 및 관리할 수 있도록 하는 것을 또 다른 목적으로 한다.In addition, another object of the present invention is to enable authentication and management of sender information and receiver information without exposing the personal information of the sender and receiver performing a virtual asset transaction.

상기한 바와 같은 본 발명의 목적을 달성하고, 후술하는 본 발명의 특징적인 효과를 실현하기 위한, 본 발명의 특징적인 구성은 하기와 같다.In order to achieve the object of the present invention as described above and to realize the characteristic effects of the present invention to be described later, the characteristic configuration of the present invention is as follows.

본 발명의 일 태양에 따르면, 탈중앙화 아이디(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를 획득하여 상기 블록체인 네트워크를 통해 검증한 후 검증 기록을 저장한 다음, 상기 가상 자산을 상기 송신자 가상 자산 어드레스로부터 상기 수신자 가상 자산 어드레스로 전송하여 주기 위한 가산 전송 트랜잭션을 생성하여 상기 블록체인 네트워크에 등록하는 단계; 를 포함하는 방법이 개시된다.According to one aspect of the present invention, in a method of providing a virtual asset service based on a decentralized identifier (DID), (a) the DIDs of users and virtual asset service providing servers are registered in a blockchain network In the following, when a virtual asset transmission request including a recipient virtual asset address corresponding to a recipient to receive the virtual asset is obtained from a sender terminal of a sender who wants to transmit a virtual asset, managing the sender virtual asset address corresponding to the sender The first virtual asset service providing server broadcasts the identity resolution request including the recipient virtual asset address to the blockchain network, and at least one or more virtual asset service providing servers that participate as nodes in the blockchain network respectively to verify that the recipient virtual asset address is a virtual asset address managed by the user; (b) When a response corresponding to the identity resolution request is received from a second virtual asset service providing server that has confirmed that the recipient virtual asset address is managed by itself, the first virtual asset service providing server includes sender information - The sender information includes the sender signature value and the sender DID that signed the sender VC (Verifiable Credential) with the sender private key - Sender authentication including the first server signature value and the first server DID signed with the first server private key Transmitting a transaction to the second virtual asset service providing server so that the second virtual asset service providing server uses the first server DID included in the sender authentication transaction from the blockchain network to the first server DID obtain a corresponding first server public key, decrypt the first server signature value included in the sender authentication transaction using the first server public key to obtain the sender information, and include in the sender information Obtain the sender public key corresponding to the sender DID from the block chain network using the sender DID, and decrypt the sender signature value included in the sender information using the sender public key to obtain the sender VC Obtain and verify the sender VC through the blockchain network, and when the verification is completed, the receiver information - the receiver information includes the receiver signature value and the receiver DID that signed the receiver VC with the receiver private key - to the second server private transmitting a recipient authentication transaction including a second server signature value signed with the key and a second server DID; and (c) when receiving the recipient authentication transaction, the first virtual asset service providing server corresponds to the second server DID from the blockchain network using the second server DID included in the recipient authentication transaction. obtaining the second server public key, and decrypting the second server signature value included in the recipient authentication transaction using the second server public key to obtain the recipient information, and the recipient included in the recipient information Obtain the recipient public key corresponding to the recipient DID from the blockchain network using the DID, and decrypt the recipient signature value included in the recipient information using the recipient public key to obtain the recipient VC and obtain the block After verifying through a chain network, storing the verification record, and then registering in the blockchain network by generating an additive transmission transaction for transferring the virtual asset from the sender virtual asset address to the recipient virtual asset address; A method comprising

일례로서, 상기 (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에서 상기 송신자 퍼블릭 키를 획득하도록 할 수 있는 것을 특징으로 하는 방법이 개시된다.As an example, in step (b), the first virtual asset service providing server may generate the first server DID to cause the second virtual asset service providing server to (i) obtain the first server public key. to obtain the first server public key corresponding to the first server DID from the blockchain network using obtain the first server DID document to be used to obtain the first server public key from the first server DID document, and (ii) use the sender DID to obtain the sender public key to obtain the sender public key corresponding to the sender DID from Disclosed is a method capable of obtaining a sender public key.

일례로서, 상기 (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를 검증하도록 하는 것을 특징으로 하는 방법이 개시된다.As an example, in step (a), the first virtual asset service providing server uses the first server authentication signature value that signed the first server VC with the first server private key and the first server DID as the identity resolution The second virtual asset service providing server confirms that it manages the recipient virtual asset address included in the identity resolution request by broadcasting it to the blockchain network in addition to the request to cause the identity resolution Verify the first server public key from the blockchain network using the first server DID included in the request, or use the first server DID through a resolver server to obtain the first server DID from the blockchain network Decrypt the first server authentication signature value by using the first server public key to obtain a first server DID document corresponding to to obtain the first server VC and to verify the first server VC through the blockchain network is disclosed.

일례로서, 상기 (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를 검증하는 것을 특징으로 하는 방법이 개시된다.As an example, in step (b), the first virtual asset service providing server is configured to cause the second virtual asset service providing server to sign a second server VC with the second server private key with a second server authentication signature value and The second server DID is additionally included in the response, and when the response is received, the second server public key is confirmed from the blockchain network using the second server DID included in the response. Or, by using the second server DID through a resolver server, obtain a second server DID document corresponding to the second server DID from the blockchain network, and then use the second server DID document to obtain the second server public key to obtain the second server VC by decrypting the second server authentication signature value using the second server public key, and verifying the second server VC through the block chain network. This is initiated.

일례로서, 상기 (b) 단계에서, 상기 제1 가상 자산 서비스 제공 서버는, 상기 송신자 정보를 상기 송신자로부터 획득하되, 상기 송신자 정보를 상기 송신자 단말로부터의 상기 가상 자산 전송 요청에 포함하여 전송되도록 함으로써 획득하거나 상기 송신자 단말로 별도의 송신자 서명 트랜잭션을 요청하여 획득하는 것을 특징으로 하는 방법이 개시된다.As an example, in the step (b), the first virtual asset service providing server acquires the sender information from the sender, and includes the sender information in the virtual asset transmission request from the sender terminal to be transmitted. Disclosed is a method characterized by acquiring or acquiring by requesting a separate sender signature transaction to the sender terminal.

일례로서, 상기 (b) 단계에서, 상기 제1 가상 자산 서비스 제공 서버는, 상기 제2 가상 자산 서비스 제공 서버로 하여금 상기 수신자 단말로 수신자 서명 트랜잭션을 요청하여 상기 수신자 정보를 획득하도록 하는 것을 특징으로 하는 방법이 개시된다.As an example, in step (b), the first virtual asset service providing server causes the second virtual asset service providing server to request a recipient signature transaction to the recipient terminal to obtain the recipient information A method is disclosed.

일례로서, 상기 (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에서 상기 수신자 퍼블릭 키를 획득할 수 있는 것을 특징으로 하는 방법이 개시된다.As an example, in the step (c), the first virtual asset service providing server, (i) the second server from the blockchain network using the second server DID to obtain the second server public key Obtaining the second server public key corresponding to the DID or obtaining a second server DID document corresponding to the second server DID from the blockchain network using the second server DID through a resolver server to obtain the second server DID document obtaining the second server public key from a server DID document, (ii) obtaining the recipient public key corresponding to the recipient DID from the blockchain network using the recipient DID to obtain the recipient public key, or Disclosed is a method characterized in that it is possible to obtain a recipient DID document corresponding to the recipient DID from the blockchain network using the recipient DID through a resolver server, and obtain the recipient public key from the recipient 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를 획득하여 상기 블록체인 네트워크를 통해 검증한 후 검증 기록을 저장한 다음, 상기 가상 자산을 상기 송신자 가상 자산 어드레스로부터 상기 수신자 가상 자산 어드레스로 전송되도록 상기 가산 전송 트랜잭션을 상기 블록체인 네트워크에 등록하는 단계; 를 포함하는 방법이 개시된다.According to another aspect of the present invention, in a method of providing a virtual asset service based on a Decentralized Identifier (DID), (a) DIDs of users and virtual asset service providing servers are registered in a blockchain network In the first virtual managing the virtual asset address by transmitting the virtual asset from the sender terminal of the sender who wants to transmit the virtual asset to the receiver terminal using the receiver virtual asset address corresponding to the receiver to receive the virtual asset When the asset service providing server acquires a virtual asset transaction for the transfer of the virtual asset, the first virtual asset service providing server broadcasts an identity resolution request corresponding to the sender virtual asset address to the blockchain network, , allowing at least one or more virtual asset service providing servers participating as nodes in the blockchain network to check whether the sender virtual asset address is a virtual asset address they manage; (b) when a response corresponding to the identity resolution request is received from a second virtual asset service providing server that has confirmed that the sender virtual asset address is managed by the sender virtual asset address, the first virtual asset service providing server includes recipient information - The receiver information includes a receiver signature value and a receiver DID that signed the receiver Verifiable Credential (VC) with the receiver private key - Recipient authentication including a first server signature value and a first server DID signed with the first server private key Transmitting a transaction to the second virtual asset service providing server to cause the second virtual asset service providing server to access the first server DID from the blockchain network using the first server DID included in the recipient authentication transaction obtain a corresponding first server public key, decrypt the first server signature value included in the recipient information VC using the first server public key to obtain the recipient information, and include in the recipient information Obtain the recipient public key corresponding to the recipient DID from the block chain network using the recipient DID, decrypt the recipient signature value included in the recipient information using the recipient public key, and obtain the recipient VC Obtain and verify the receiver VC through the blockchain network, and when verification is complete, sender information - the sender information includes the sender signature value and the sender DID that signed the sender VC (Verifiable Credential) with the sender private key transmitting a sender authentication transaction including a second server signature value signed with a second server private key and a second server DID; and (c) upon receiving the sender authentication transaction, the first virtual asset service providing server corresponds to the second server DID from the blockchain network using the second server DID included in the sender authentication transaction. obtaining the second server public key, and decrypting the second server signature value included in the sender authentication transaction using the second server public key to obtain the sender information, and the sender included in the sender information Obtain the sender public key corresponding to the sender DID from the blockchain network using the DID, and use the sender public key to decrypt the sender signature value included in the sender information to obtain the sender VC to obtain the block after verifying through a chain network, storing a verification record, and then registering the add-on transfer transaction with the blockchain network so that the virtual asset is transferred from the sender virtual asset address to the recipient virtual asset address; A method comprising

일례로서, 상기 (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에서 상기 수신자 퍼블릭 키를 획득하도록 할 수 있는 것을 특징으로 하는 방법이 개시된다.As an example, in step (b), the first virtual asset service providing server may generate the first server DID to cause the second virtual asset service providing server to (i) obtain the first server public key. to obtain the first server public key corresponding to the first server DID from the blockchain network using obtain the first server DID document to be used to obtain the first server public key from the first server DID document, and (ii) use the recipient DID to obtain the recipient public key, the blockchain network to obtain the recipient public key corresponding to the recipient DID from the Disclosed is a method capable of obtaining a recipient public key.

일례로서, 상기 (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를 검증하도록 하는 것을 특징으로 하는 방법이 개시된다.As an example, in step (a), the first virtual asset service providing server uses the first server authentication signature value that signed the first server VC with the first server private key and the first server DID as the identity resolution The second virtual asset service providing server confirms that it manages the sender virtual asset address included in the identity resolution request by broadcasting it to the blockchain network in addition to the request to cause the identity resolution Verify the first server public key from the blockchain network using the first server DID included in the request, or use the first server DID through a resolver server to obtain the first server DID from the blockchain network Decrypt the first server authentication signature value by using the first server public key to obtain a first server DID document corresponding to to obtain the first server VC and to verify the first server VC through the blockchain network is disclosed.

일례로서, 상기 (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를 검증하는 것을 특징으로 하는 방법이 개시된다.As an example, in step (b), the first virtual asset service providing server is configured to cause the second virtual asset service providing server to sign a second server VC with the second server private key with a second server authentication signature value and The second server DID is additionally included in the response, and when the response is received, the second server public key is verified from the blockchain network using the second server DID included in the response. Or, by using the second server DID through a resolver server, obtain a second server DID document corresponding to the second server DID from the blockchain network, and then use the second server DID document to obtain the second server public key to obtain the second server VC by decrypting the second server authentication signature value using the second server public key, and verifying the second server VC through the block chain network. This is initiated.

일례로서, 상기 (b) 단계에서, 상기 제1 가상 자산 서비스 제공 서버는, 상기 수신자 단말로 수신자 서명 트랜잭션을 요청하여 상기 수신자 정보를 획득하는 것을 특징으로 하는 방법이 개시된다.As an example, in the step (b), the first virtual asset service providing server requests a recipient signature transaction to the recipient terminal to obtain the recipient information is disclosed.

일례로서, 상기 (b) 단계에서, 상기 제1 가상 자산 서비스 제공 서버는, 상기 제2 가상 자산 서비스 제공 서버로 하여금 상기 송신자 단말로 송신자 서명 트랜잭션을 요청하여 상기 송신자 정보를 획득하도록 하는 것을 특징으로 하는 방법이 개시된다.As an example, in step (b), the first virtual asset service providing server causes the second virtual asset service providing server to request a sender signature transaction to the sender terminal to obtain the sender information. A method is disclosed.

일례로서, 상기 (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에서 상기 송신자 퍼블릭 키를 획득할 수 있는 것을 특징으로 하는 방법이 개시된다.As an example, in the step (c), the first virtual asset service providing server, (i) the second server from the blockchain network using the second server DID to obtain the second server public key Obtaining the second server public key corresponding to the DID or obtaining a second server DID document corresponding to the second server DID from the blockchain network using the second server DID through a resolver server to obtain the second server DID document obtain the second server public key from the server DID document, and (ii) obtain the sender public key corresponding to the sender DID from the blockchain network using the sender DID to obtain the sender public key Alternatively, the sender public key can be obtained from the sender DID document by obtaining a sender DID document corresponding to the sender DID from the blockchain network using the sender DID through a resolver server. is initiated

본 발명의 다른 태양에 따르면, 탈중앙화 아이디(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를 획득하여 상기 블록체인 네트워크를 통해 검증한 후 검증 기록을 저장한 다음, 상기 가상 자산을 상기 송신자 가상 자산 어드레스로부터 상기 수신자 가상 자산 어드레스로 전송하여 주기 위한 가산 전송 트랜잭션을 생성하여 상기 블록체인 네트워크에 등록하는 프로세스를 수행하는 가상 자산 서비스 제공 서버가 개시된다.According to another aspect of the present invention, there is provided a virtual asset service providing server for providing a decentralized ID (Decentralized Identifier; DID)-based virtual asset service, comprising: a memory in which instructions for providing a DID-based virtual asset service are stored; and a processor configured to perform an operation for providing the DID-based virtual asset service according to the instructions stored in the memory. Including, wherein the processor, (I) with the DID of users and virtual asset service providing servers registered in the blockchain network, from the sender terminal of the sender who wants to transmit the virtual asset to the receiver to receive the virtual asset When a virtual asset transfer request including the corresponding recipient virtual asset address is obtained, an identity resolution request including the recipient virtual asset address is broadcast to the blockchain network, and at least participating in the blockchain network as a node. A process for causing one or more virtual asset service providing servers to verify that the recipient virtual asset address is a virtual asset address that it manages, (II) other virtual asset services confirming that the recipient virtual asset address is managed When a response corresponding to the identity resolution request is received from the providing server, sender information - the sender information includes the sender signature value and the sender DID that signed the sender VC (Verifiable Credential) with the sender private key - to the first server The sender authentication transaction including the first server signature value and the first server DID signed with the private key is transmitted to the other virtual asset service providing server to cause the other virtual asset service providing server to include the first server authentication transaction included in the sender authentication transaction. Obtain the first server public key corresponding to the first server DID from the blockchain network using the 1 server DID, and use the first server public key to sign the first server included in the sender authentication transaction Decrypt the value to obtain the sender information, use the sender DID included in the sender information to obtain the sender public key corresponding to the sender DID from the blockchain network, and use the sender public key Decrypting the sender signature value included in the sender information to obtain the sender VC to verify the sender VC through a key, and when verification is completed, the receiver information - the receiver information includes the receiver signature value and the receiver DID that signed the receiver VC with the receiver private key - The second signed with the second server private key a process for transmitting a recipient authentication transaction including a server signature value and a second server DID, and (III) receiving the recipient authentication transaction, using the second server DID included in the recipient authentication transaction to use the block chain Obtaining the second server public key corresponding to the second server DID from the network, and using the second server public key to decrypt the second server signature value included in the recipient authentication transaction to obtain the recipient information and obtain a recipient public key corresponding to the recipient DID from the blockchain network using the recipient DID included in the recipient information, and use the recipient public key to obtain the recipient signature value included in the recipient information After decrypting to obtain the recipient VC, verifying it through the blockchain network, storing the verification record, and then generating an additional transfer transaction for transferring the virtual asset from the sender virtual asset address to the recipient virtual asset address A virtual asset service providing server that performs a process of registering to the blockchain network is disclosed.

일례로서, 상기 (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에서 상기 송신자 퍼블릭 키를 획득하도록 하는 것을 특징으로 하는 가상 자산 서비스 제공 서버가 개시된다.As an example, in the (II) process, the processor is configured to: (i) obtain the first server public key from the blockchain network using the first server DID to cause the other virtual asset service providing server to obtain the first server public key. Obtain the first server public key corresponding to the first server DID, or retrieve the first server DID document corresponding to the first server DID from the blockchain network using the first server DID through a resolver server obtain the first server public key from the first server DID document, and (ii) use the sender DID to obtain the sender public key corresponding to the sender DID from the blockchain network To obtain the sender public key, or to obtain the sender DID document corresponding to the sender DID from the blockchain network using the sender DID through a resolver server to obtain the sender public key from the sender DID document Disclosed is a virtual asset service providing server, characterized in that.

일례로서, 상기 (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를 검증하도록 하는 것을 특징으로 하는 가상 자산 서비스 제공 서버가 개시된다.As an example, in the (I) process, the processor further includes a first server authentication signature value and the first server DID that signed the first server VC with the first server private key to the identity resolution request. By broadcasting to the blockchain network, the other virtual asset service providing server, which has confirmed that it manages the recipient virtual asset address included in the identity resolution request, causes the first virtual asset service providing server included in the identity resolution request Check the first server public key from the blockchain network using the server DID, or the first server DID corresponding to the first server DID from the blockchain network using the first server DID through a resolver server to obtain a document and then verify the first server public key through the first server DID document, and decrypt the first server authentication signature value using the first server public key to obtain the first server VC A virtual asset service providing server is disclosed, characterized in that it acquires and verifies the first server VC through the blockchain network.

일례로서, 상기 (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를 검증하는 것을 특징으로 하는 가상 자산 서비스 제공 서버가 개시된다.As an example, in the process (II), the processor causes the other virtual asset service providing server to obtain a second server authentication signature value and the second server DID that signed the second server VC with the second server private key. In addition to being included in the response, when the response is received, the second server public key is checked from the blockchain network using the second server DID included in the response, or the A second server DID document corresponding to the second server DID is obtained from the block chain network by using a second server DID, and the second server public key is checked through the second server DID document, A virtual asset service providing server is disclosed, comprising decrypting the second server authentication signature value using a server public key to obtain the second server VC and verifying the second server VC through the block chain network. .

일례로서, 상기 (II) 프로세스에서, 상기 프로세서는, 상기 송신자 정보를 상기 송신자로부터 획득하되, 상기 송신자 정보를 상기 송신자 단말로부터의 상기 가상 자산 전송 요청에 포함하여 전송되도록 함으로써 획득하거나 상기 송신자 단말로 별도의 송신자 서명 트랜잭션을 요청하여 획득하는 것을 특징으로 하는 가상 자산 서비스 제공 서버가 개시된다.As an example, in the process (II), the processor acquires the sender information from the sender, by including the sender information in the virtual asset transmission request from the sender terminal to be transmitted, or to the sender terminal Disclosed is a virtual asset service providing server, characterized in that it is obtained by requesting a separate sender signature transaction.

일례로서, 상기 (II) 프로세스에서, 상기 프로세서는, 상기 타 가상 자산 서비스 제공 서버로 하여금 상기 수신자 단말로 수신자 서명 트랜잭션을 요청하여 상기 수신자 정보를 획득하도록 하는 것을 특징으로 하는 가상 자산 서비스 제공 서버가 개시된다.As an example, in the process (II), the processor causes the other virtual asset service providing server to obtain the recipient information by requesting a recipient signature transaction to the recipient terminal. is initiated

일례로서, 상기 (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에서 상기 수신자 퍼블릭 키를 획득할 수 있는 것을 특징으로 하는 가상 자산 서비스 제공 서버가 개시된다.As an example, in the process (III), the processor is configured to: (i) use the second server DID to obtain the second server public key, from the blockchain network, the second server DID corresponding to the second server DID Obtain a second server public key or obtain a second server DID document corresponding to the second server DID from the block chain network using the second server DID through a resolver server, and in the second server DID document 2 obtain a server public key, (ii) obtain the recipient public key corresponding to the recipient DID from the blockchain network using the recipient DID to obtain the recipient public key, or via a resolver server, the recipient Disclosed is a virtual asset service providing server capable of acquiring a recipient DID document corresponding to the recipient DID from the block chain network using DID, and obtaining the recipient public key from the recipient 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를 획득하여 상기 블록체인 네트워크를 통해 검증한 후 검증 기록을 저장한 다음, 상기 가상 자산을 상기 송신자 가상 자산 어드레스로부터 상기 수신자 가상 자산 어드레스로 전송되도록 상기 가산 전송 트랜잭션을 상기 블록체인 네트워크에 등록하는 프로세스를 수행하는 가상 자산 서비스 제공 서버가 개시된다.According to another aspect of the present invention, there is provided a virtual asset service providing server for providing a decentralized ID (Decentralized Identifier; DID)-based virtual asset service, comprising: a memory in which instructions for providing a DID-based virtual asset service are stored; and a processor configured to perform an operation for providing the DID-based virtual asset service according to the instructions stored in the memory. Including, wherein the processor, (I) with the DID of users and virtual asset service providing servers registered in the blockchain network, from the sender terminal of the sender who wants to transmit the virtual asset to the receiver to receive the virtual asset When the processor managing the recipient virtual asset address by sending the virtual asset to the recipient terminal by using the corresponding recipient virtual asset address obtains a virtual asset transaction for the transmission of the virtual asset, corresponding to the sender virtual asset address By broadcasting the identity resolution request to the blockchain network, at least one or more virtual asset service providing servers participating as nodes in the blockchain network, respectively, the sender virtual asset address is the virtual asset address it manages (II) When a response corresponding to the identity resolution request is received from another virtual asset service providing server that has confirmed that the sender virtual asset address is managed by itself, recipient information - the recipient information is Including the receiver signature value and the receiver DID that signed the receiver Verifiable Credential (VC) with the receiver private key The first server public key corresponding to the first server DID from the blockchain network using the first server DID included in the recipient authentication transaction is transmitted to the asset service providing server to cause the other virtual asset service providing server to obtain the recipient information by decrypting the first server signature value included in the recipient information VC using the first server public key, and using the recipient DID included in the recipient information To obtain a recipient public key corresponding to the recipient DID from the blockchain network, the recipient Decrypt the receiver signature value included in the receiver information using a public key to obtain the receiver VC to verify the receiver VC through the blockchain network, and when verification is complete, sender information - the sender information is the sender A process for transmitting a sender authentication transaction including the second server signature value and the second server DID signed with the second server private key - including the sender signature value and the sender DID that signed the VC (Verifiable Credential) with the sender private key and (III) upon receiving the sender authentication transaction, obtain the second server public key corresponding to the second server DID from the blockchain network using the second server DID included in the sender authentication transaction, , by using the second server public key to decrypt the second server signature value included in the sender authentication transaction to obtain the sender information, and from the blockchain network using the sender DID included in the sender information Obtain the sender public key corresponding to the sender DID, and use the sender public key to decrypt the sender signature value included in the sender information to obtain the sender VC, verify through the blockchain network, and record the verification and then, a virtual asset service providing server is disclosed that performs a process of registering the plus transfer transaction in the blockchain network so that the virtual asset is transferred from the sender virtual asset address to the recipient virtual asset address.

일례로서, 상기 (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에서 상기 수신자 퍼블릭 키를 획득하도록 할 수 있는 것을 특징으로 하는 가상 자산 서비스 제공 서버가 개시된다.As an example, in the (II) process, the processor is configured to: (i) obtain the first server public key from the blockchain network using the first server DID to cause the other virtual asset service providing server to obtain the first server public key. Obtain the first server public key corresponding to the first server DID, or retrieve the first server DID document corresponding to the first server DID from the blockchain network using the first server DID through a resolver server obtain the first server public key from the first server DID document, and (ii) use the recipient DID to obtain the recipient public key corresponding to the recipient DID from the blockchain network to obtain the recipient public key, or to obtain the recipient DID document corresponding to the recipient DID from the blockchain network using the recipient DID through a resolver server to obtain the recipient public key from the recipient DID document Disclosed is a virtual asset service providing server, characterized in that it can.

일례로서, 상기 (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를 검증하도록 하는 것을 특징으로 하는 가상 자산 서비스 제공 서버가 개시된다.As an example, in the (I) process, the processor further includes a first server authentication signature value and the first server DID that signed the first server VC with the first server private key to the identity resolution request. By broadcasting to the blockchain network, the other virtual asset service providing server, which has confirmed that it manages the sender virtual asset address included in the identity resolution request, causes the first virtual asset service providing server included in the identity resolution request Check the first server public key from the blockchain network using the server DID, or the first server DID corresponding to the first server DID from the blockchain network using the first server DID through a resolver server to obtain a document and then verify the first server public key through the first server DID document, and decrypt the first server authentication signature value using the first server public key to obtain the first server VC A virtual asset service providing server is disclosed, characterized in that it acquires and verifies the first server VC through the blockchain network.

일례로서, 상기 (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를 검증하는 것을 특징으로 하는 가상 자산 서비스 제공 서버가 개시된다.As an example, in the process (II), the processor causes the other virtual asset service providing server to obtain a second server authentication signature value and the second server DID that signed the second server VC with the second server private key. In addition to being included in the response, when the response is received, the second server public key is checked from the blockchain network using the second server DID included in the response, or the A second server DID document corresponding to the second server DID is obtained from the block chain network by using a second server DID, and the second server public key is checked through the second server DID document, A virtual asset service providing server is disclosed, comprising decrypting the second server authentication signature value using a server public key to obtain the second server VC and verifying the second server VC through the block chain network. .

일례로서, 상기 (II) 프로세스에서, 상기 프로세서는, 상기 수신자 단말로 수신자 서명 트랜잭션을 요청하여 상기 수신자 정보를 획득하는 것을 특징으로 하는 가상 자산 서비스 제공 서버가 개시된다.As an example, in the process (II), the processor requests a recipient signature transaction to the recipient terminal to obtain the recipient information.

일례로서, 상기 (II) 프로세스에서, 상기 프로세서는, 상기 타 가상 자산 서비스 제공 서버로 하여금 상기 송신자 단말로 송신자 서명 트랜잭션을 요청하여 상기 송신자 정보를 획득하도록 하는 것을 특징으로 하는 가상 자산 서비스 제공 서버가 개시된다.As an example, in the process (II), the processor causes the other virtual asset service providing server to obtain the sender information by requesting a sender signature transaction to the sender terminal. is initiated

일례로서, 상기 (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에서 상기 송신자 퍼블릭 키를 획득할 수 있는 것을 특징으로 하는 가상 자산 서비스 제공 서버가 개시된다.As an example, in the process (III), the processor is configured to: (i) use the second server DID to obtain the second server public key, from the blockchain network, the second server DID corresponding to the second server DID Obtain a second server public key or obtain a second server DID document corresponding to the second server DID from the block chain network using the second server DID through a resolver server, and in the second server DID document 2 to obtain a server public key, (ii) to obtain the sender public key corresponding to the sender DID from the blockchain network using the sender DID to obtain the sender public key, or via a resolver server A virtual asset service providing server is disclosed, wherein the sender public key can be obtained from the sender DID document by using the sender DID to obtain a sender DID document corresponding to the sender DID from the blockchain network. .

이 외에도, 본 발명의 방법을 실행하기 위한 컴퓨터 프로그램을 기록하기 위한 컴퓨터 판독 가능한 기록 매체가 더 제공된다.In addition to this, a computer-readable recording medium for recording a computer program for executing the method of the present invention is further provided.

본 발명에 의하면, 다음과 같은 효과가 있다.According to the present invention, the following effects are obtained.

본 발명은 가상 자산을 이용한 자금 세탁이나 테러자금 조달 등의 불법 거래를 방지하는 것을 방지하도록 하는 효과가 있다.The present invention is effective in preventing illegal transactions such as money laundering or terrorist financing using virtual assets.

또한, 본 발명은 거래에 참여하는 자산 거래 서비스 제공 서버들이 송신자 정보와 수신자 정보를 인증함으로써 불법 거래의 송신자와 수신자를 용이하게 확인할 수 있도록 하는 효과가 있다.In addition, the present invention has the effect of enabling the asset transaction service providing servers participating in the transaction to easily identify the sender and the receiver of the illegal transaction by authenticating the sender information and the receiver information.

또한, 본 발명은 가상 자산의 거래를 하는 송신자와 수신자의 개인 정보 노출 없이 송신자 정보 및 수신자 정보를 인증 및 관리할 수 있도록 하는 효과가 있다.In addition, the present invention has the effect of allowing the authentication and management of sender information and receiver information without exposing the personal information of the sender and receiver who make a virtual asset transaction.

도 1은 본 발명의 일 실시에에 따라 탈중앙화 아이디 기반의 가상 자산 서비스를 제공하는 가상 자산 서비스 제공 서버와 블록체인 네트워크를 개략적으로 도시한 것이고,
도 2와 도 3은 본 발명의 일 실시예에 따라 송신자의 수신자에 대한 사전 가상 자산 전송 요청이 획득되는 경우에 탈중앙화 아이디 기반의 가상 자산 서비스를 제공하는 방법을 개략적으로 도시한 것이며,
도 4와 도 5는 본 발명의 다른 실시예에 따라 송신자의 수신자에 대한 사정 가상 자산 전송 요청 없이 가상 전송이 이루어졌을 경우에 탈중앙화 아이디 기반의 가상 자산 서비스를 제공하는 방법을 개략적으로 도시한 것이다.
1 schematically shows a virtual asset service providing server and a blockchain network that provide a decentralized ID-based virtual asset service according to an embodiment of the present invention;
2 and 3 schematically show a method of providing a virtual asset service based on a decentralized ID when a prior virtual asset transfer request to a receiver is obtained from a sender according to an embodiment of the present invention;
4 and 5 schematically illustrate a method of providing a decentralized ID-based virtual asset service when virtual transmission is made without a request for virtual asset transmission from the sender to the receiver according to another embodiment of the present invention. .

후술하는 본 발명에 대한 상세한 설명은, 본 발명의 목적들, 기술적 해법들 및 장점들을 분명하게 하기 위하여 본 발명이 실시될 수 있는 특정 실시예를 예시로서 도시하는 첨부 도면을 참조한다. 이들 실시예는 통상의 기술자가 본 발명을 실시할 수 있기에 충분하도록 상세히 설명된다.DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS The following detailed description of the present invention refers to the accompanying drawings, which show by way of illustration a specific embodiment in which the present invention may be practiced, in order to clarify the objects, technical solutions and advantages of the present invention. These embodiments are described in sufficient detail to enable those skilled in the art to practice the present invention.

또한, 본 발명의 상세한 설명 및 청구항들에 걸쳐, "포함하다"라는 단어 및 그것의 변형은 다른 기술적 특징들, 부가물들, 구성요소들 또는 단계들을 제외하는 것으로 의도된 것이 아니다. 통상의 기술자에게 본 발명의 다른 목적들, 장점들 및 특성들이 일부는 본 설명서로부터, 그리고 일부는 본 발명의 실시로부터 드러날 것이다. 아래의 예시 및 도면은 실례로서 제공되며, 본 발명을 한정하는 것으로 의도된 것이 아니다.Also, throughout this description and claims, the word "comprises" and variations thereof are not intended to exclude other technical features, additions, components or steps. Other objects, advantages and characteristics of the present invention will become apparent to a person skilled in the art in part from this description and in part from practice of the present invention. The following illustrations and drawings are provided by way of illustration and are not intended to limit the invention.

더욱이 본 발명은 본 명세서에 표시된 실시예들의 모든 가능한 조합들을 망라한다. 본 발명의 다양한 실시예는 서로 다르지만 상호 배타적일 필요는 없음이 이해되어야 한다. 예를 들어, 여기에 기재되어 있는 특정 형상, 구조 및 특성은 일 실시예에 관련하여 본 발명의 정신 및 범위를 벗어나지 않으면서 다른 실시예로 구현될 수 있다. 또한, 각각의 개시된 실시예 내의 개별 구성요소의 위치 또는 배치는 본 발명의 정신 및 범위를 벗어나지 않으면서 변경될 수 있음이 이해되어야 한다. 따라서, 후술하는 상세한 설명은 한정적인 의미로서 취하려는 것이 아니며, 본 발명의 범위는, 적절하게 설명된다면, 그 청구항들이 주장하는 것과 균등한 모든 범위와 더불어 첨부된 청구항에 의해서만 한정된다. 도면에서 유사한 참조부호는 여러 측면에 걸쳐서 동일하거나 유사한 기능을 지칭한다.Moreover, the invention encompasses all possible combinations of the embodiments indicated herein. It should be understood that the various embodiments of the present invention are different but need not be mutually exclusive. For example, certain shapes, structures, and characteristics described herein with respect to one embodiment may be implemented in other embodiments without departing from the spirit and scope of the invention. In addition, it should be understood that the location or arrangement of individual components within each disclosed embodiment may be changed without departing from the spirit and scope of the present invention. Accordingly, the detailed description set forth below is not intended to be taken in a limiting sense, and the scope of the present invention, if properly described, is limited only by the appended claims, along with all scope equivalents as those claimed. Like reference numerals in the drawings refer to the same or similar functions throughout the various aspects.

이하, 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자가 본 발명을 용이하게 실시할 수 있도록 하기 위하여, 본 발명의 바람직한 실시예들에 관하여 첨부된 도면을 참조하여 상세히 설명하기로 한다.Hereinafter, preferred embodiments of the present invention will be described in detail with reference to the accompanying drawings in order to enable those of ordinary skill in the art to easily practice the present invention.

도 1은 본 발명의 일 실시예에 따른 탈중앙화 아이디 기반의 가상 자산 서비스를 제공하는 시스템을 개략적으로 도시한 것으로, 시스템은 사용자 단말들(101, 102, 103), 가상 자산 서비스 제공 서버들(Virtual Asset Service Provider; VASP)(201, 202, 203), 및 블록체인 네트워크(300)를 포함할 수 있다. 도 1에서의 사용자 단말들(101, 102, 103) 및 가상 자산 서비스 제공 서버들(201, 202, 203)들은 설명의 편의를 위하여 각각 3개로 도시하였으나, 본 발명이 이에 한정되지 않는다.1 schematically shows a system for providing a virtual asset service based on a decentralized ID according to an embodiment of the present invention. The system includes user terminals 101, 102, 103, and virtual asset service providing servers ( It may include a Virtual Asset Service Provider (VASP) 201 , 202 , 203 , and a blockchain network 300 . The user terminals 101 , 102 , 103 and the virtual asset service providing servers 201 , 202 , 203 in FIG. 1 are respectively illustrated as three for convenience of description, but the present invention is not limited thereto.

먼저, 사용자 단말들(101, 102, 103)은 가상 자산을 거래하고자 하는 사용자들이 소유한 단말들로, 각각의 사용자들에 대응되는 탈중앙화 아이디(decentralized identifier; DID)들을 블록체인 네트워크(300)에 등록한 상태일 수 있다.First, the user terminals 101, 102, 103 are terminals owned by users who want to transact virtual assets, and the decentralized identifiers (DIDs) corresponding to the respective users are stored in the blockchain network 300. may be registered in

다음으로, 가상 자산 서비스 제공 서버들(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, 휴대 전화, 스마트폰, 태블릿, 서버 등을 포함할 수 있으나, 이에 한정되지 않으며, 유무선 통신 기능을 가진 휴대용 게임기, 디지털 카메라, 개인 내비게이션 등과 같이 컴퓨팅 연산을 수행하는 모든 컴퓨팅 장치를 포함할 수 있다.Next, the virtual asset service providing servers 201 , 202 , 203 200 allow the user terminals 101 , 102 , 103 to use virtual asset services such as virtual asset deposit and withdrawal and virtual asset transfer. By providing an asset service, according to the authentication result of KYC (Know Your Customer) information corresponding to each user, virtual asset addresses of each user are registered and managed as a white list, and information of users who conduct virtual asset transactions is stored. can be acquired and stored. In addition, the virtual asset service providing servers 201 , 202 , and 203 may be in a state in which DIDs corresponding to each are registered in the blockchain network 300 , and the virtual asset service providing servers 201 , 202 and 203 are each They may be servers corresponding to nodes constituting the block chain network 300 or servers managing nodes constituting the block chain network 300 . In addition, each of the virtual asset service providing servers 201, 202, 203 performs an operation for providing a virtual asset service based on a memory in which instructions for providing the virtual asset service are stored and the DID based on the instructions stored in the memory. It may include a processor that performs the At this time, each of the virtual asset service providing servers 201 , 202 , 203 may include a personal computer (PC), a mobile computer, a PDA/EDA, a mobile phone, a smart phone, a tablet, a server, etc., but is not limited thereto. , a portable game machine having a wired/wireless communication function, a digital camera, a personal navigation device, and the like, may include any computing device that performs a computing operation.

구체적으로, 가상 자산 서비스 제공 서버들(201, 202, 203)은 전형적으로 컴퓨팅 장치(예컨대, 컴퓨터 프로세서, 메모리, 스토리지, 입력 장치 및 출력 장치, 기타 기존의 컴퓨팅 장치의 구성요소들을 포함할 수 있는 장치; 라우터, 스위치 등과 같은 전자 통신 장치; 네트워크 부착 스토리지(NAS) 및 스토리지 영역 네트워크(SAN)와 같은 전자 정보 스토리지 시스템)와 컴퓨터 소프트웨어(즉, 컴퓨팅 장치로 하여금 특정의 방식으로 기능하게 하는 인스트럭션들)의 조합을 이용하여 원하는 시스템 성능을 달성하는 것일 수 있다.Specifically, virtual asset service providing servers 201 , 202 , 203 typically include computing devices (eg, computer processors, memory, storage, input and output devices, and other components of conventional computing devices). devices; electronic communication devices such as routers, switches, etc.; electronic information storage systems such as network attached storage (NAS) and storage area networks (SANs)) and computer software (ie, instructions that cause a computing device to function in a particular way) ) to achieve the desired system performance.

이와 같은 컴퓨팅 장치의 통신부는 연동되는 타 컴퓨팅 장치와 요청과 응답을 송수신할 수 있는 바, 일 예시로서 그러한 요청과 응답은 동일한 TCP 세션에 의하여 이루어질 수 있지만, 이에 한정되지는 않는바, 예컨대 UDP 데이터그램으로서 송수신될 수도 있을 것이다.The communication unit of such a computing device may transmit/receive a request and a response to/from another computing device that is interlocked. As an example, such a request and a response may be made by the same TCP session, but is not limited thereto, for example, UDP data It may be transmitted and received as a gram.

또한, 컴퓨팅 장치의 프로세서는 MPU(Micro Processing Unit) 또는 CPU(Central Processing Unit), 캐쉬 메모리(Cache Memory), 데이터 버스(Data Bus) 등의 하드웨어 구성을 포함할 수 있다. 또한, 운영체제, 특정 목적을 수행하는 애플리케이션의 소프트웨어 구성을 더 포함할 수도 있다.In addition, the processor of the computing device may include a hardware configuration such as a micro processing unit (MPU) or a central processing unit (CPU), a cache memory, and a data bus. In addition, the operating system may further include a software configuration of an application for performing a specific purpose.

그러나, 컴퓨팅 장치가 본 발명을 실시하기 위한 미디엄, 프로세서 및 메모리가 통합된 형태인 integrated 프로세서를 포함하는 경우를 배제하는 것은 아니다.However, a case in which the computing device includes an integrated processor in which a medium, a processor, and a memory are integrated for implementing the present invention is not excluded.

다음으로, 블록체인 네트워크(300)는 다수의 블록체인 노드들에 의해 분산 원장을 공유하며, 사용자 및 컴퓨팅 장치의 요청에 따른 DID를 생성하여 주며 DID에 대응되는 데이터들을 분산 원장에 저장할 수 있다. 또한, 블록체인 네트워크(300)는 블록체인 노드들에 의한 분산 합의에 의해 가상 자산과 관련한 트랜잭션들을 블록으로 구성하여 분산 원장에 저장할 수 있다.Next, the blockchain network 300 shares the distributed ledger by a plurality of blockchain nodes, generates a DID according to a request of a user and a computing device, and stores data corresponding to the DID in the distributed ledger. In addition, the blockchain network 300 may configure transactions related to virtual assets into blocks by distributed consensus by blockchain nodes and store them in a distributed ledger.

이와 같이 구성된 가상 자산 서비스 제공 서버(100)와 블록체인 네트워크(300)를 이용하여 본 발명의 일 실시예에 따라 탈중앙화 아이디 기반의 가상 자산 서비스를 제공하는 방법을 도 2 내지 도 5를 참조하여 설명하면 다음과 같다.A method of providing a virtual asset service based on a decentralized ID according to an embodiment of the present invention using the virtual asset service providing server 100 and the block chain network 300 configured as described above is described with reference to FIGS. 2 to 5 . The explanation is as follows.

먼저, 이와 같이 구성된 시스템을 통해 본 발명의 일 실시예에 따라 송신자의 수신자에 대한 사전 가상 자산 전송 요청이 획득되는 경우에 탈중앙화 아이디(DID) 기반의 가상 자산 서비스를 제공하는 방법을 도 2와 도 3을 참조하여 설명하면 다음과 같다.First, a method of providing a virtual asset service based on a decentralized ID (DID) when a prior virtual asset transmission request is obtained from a sender to a receiver according to an embodiment of the present invention through the system configured as described above in FIG. It will be described with reference to FIG. 3 as follows.

도 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)에 등록함으로써 거래를 완료할 수 있다.Referring to FIG. 2 , a recipient virtual asset address corresponding to a recipient who will receive a virtual asset to the virtual asset service providing server 201 through the sender terminal 101 , which is a user terminal owned by a sender who wants to transmit a virtual asset When requesting (S1) transmission of a virtual asset including By (S2), the recipient virtual asset address included in the broadcast identity resolution request among the virtual asset service providing servers 202 and 203 participating as a node of the blockchain network 300 is the virtual asset address that it manages. When the virtual asset service providing server 202 that has confirmed the asset address transmits a response to the virtual asset service providing server 201 ( S3 ), the virtual asset service providing server 201 encrypts the sender information to create a virtual asset It is transmitted to the service providing server 202 (S4), and the virtual asset service providing server 202 decrypts the encrypted sender information and, when verification is completed, encrypts the receiver information and transmits it to the virtual asset service providing server 201 ( S5) and the virtual asset service providing server 201 decrypts the encrypted receiver information and when verification is completed, a virtual transfer transaction that transfers the virtual asset from the sender terminal 101 to the receiver terminal 102 is performed on the blockchain network 300 ) to complete the transaction.

이와 같은 과정을 도 3을 참조하여 구체적으로 설명하면, 우선 사용자들 및 가상 자산 서비스 제공 서버들의 DID가 블록체인 네트워크(300)에 등록된 상태에서, 가상 자산을 전송하고자 하는 송신자의 송신자 단말(101)로부터 가상 자산을 수신할 수신자에 대응되는 수신자 가상 자산 어드레스를 포함하는 가상 자산 전송 요청이 획득(S101)되면, 송신자에 대응되는 송신자 가상 자산 어드레스를 관리하는 가상 자산 서비스 제공 서버(201)가, 수신자 가상 자산 어드레스를 포함하는 아이덴티티 레솔루션 리퀘스트를 블록체인 네트워크(300)로 브로드캐스팅(S102)하여, 블록체인 네트워크(300)에 각각 노드로 참여하는 적어도 하나 이상의 가상 자산 서비스 제공 서버들(202, 203)로 하여금 수신자 가상 자산 어드레스가 자신이 관리하고 있는 가상 자산 어드레스인지 확인(S103)하도록 할 수 있다.When this process is described in detail with reference to FIG. 3 , first, in a state in which the DIDs of users and virtual asset service providing servers are registered in the blockchain network 300 , the sender terminal 101 of the sender who wants to transmit the virtual asset ), when a virtual asset transfer request including a receiver virtual asset address corresponding to a receiver to receive a virtual asset is obtained (S101), the virtual asset service providing server 201 managing the sender virtual asset address corresponding to the sender, Broadcast (S102) the identity resolution request including the recipient virtual asset address to the blockchain network 300, and at least one or more virtual asset service providing servers 202, each participating as a node in the blockchain network 300, 203) to confirm ( S103 ) whether the recipient virtual asset address is the virtual asset address it manages.

이때, 가상 자산 서비스 제공 서버(201)는 송신자에 대응되는 KYC 정보의 인증 결과에 따라 송신자에 대응되는 송신자 가상 자산 어드레스를 화이트리스트에 등록한 상태일 수 있으며, 브로드캐스팅은 static/dynamic list, queue, multicast 등 다양한 방식을 통해 구현될 수 있다.At this time, the virtual asset service providing server 201 may be in a state of registering the sender virtual asset address corresponding to the sender in the white list according to the authentication result of KYC information corresponding to the sender, and broadcasting is static/dynamic list, queue, It can be implemented through various methods such as multicast.

그러면, 블록체인 네트워크(300)의 노드로 참여하는 각각의 가상 자산 서비스 제공 서버들(202, 203)은 블록체인 네트워크(300)에 브로드캐스팅된 아이덴티티 레솔루션 리퀘스트에 포함된 수신자 가상 자산 어드레스가 자신이 관리하고 있는 가상 자산 어드레스인지를 확인할 수 있다. 이때, 서비스 제공 서버(201, 201, 203)들은 각각 데이터베이스를 이용하여 각각에 등록된 사용자들에 대한 가상 자산 어드레스를 관리하고 있는 상태일 수 있다.Then, each of the virtual asset service providing servers 202 and 203 participating as a node of the blockchain network 300 has the recipient virtual asset address included in the identity resolution request broadcast to the blockchain network 300 itself. You can check whether this is the managed virtual asset address. In this case, the service providing servers 201 , 201 , and 203 may be in a state of managing virtual asset addresses for users registered in each using a database.

이에, 아이덴티티 레솔루션 리퀘스트에 포함된 수신자 가상 자산 어드레스가 자신이 관리하고 있음을 확인한 가상 자산 서비스 제공 서버(202)는 가상 자산 서비스 제공 서버(201)로 아이덴티티 레솔루션 리퀘스트에 대응되는 레스폰스를 전송(S104)할 수 있다. 한편, 가상 자산 서비스 제공 서버(203)는 아이덴티티 레솔루션 리퀘스트에 포함된 수신자 가상 자산 어드레스가 자신이 관리하고 있는 가상 자산 어드레스가 아니므로 아이덴티티 레솔루션 리퀘스트를 무시할 수 있다.Accordingly, the virtual asset service providing server 202 that has confirmed that the recipient virtual asset address included in the identity resolution request is managed by itself transmits a response corresponding to the identity resolution request to the virtual asset service providing server 201 . (S104) can be done. Meanwhile, the virtual asset service providing server 203 may ignore the identity resolution request because the recipient virtual asset address included in the identity resolution request is not the virtual asset address it manages.

이때, 가상 자산 서비스 제공 서버(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)에서 동작이 수행되는 것으로 설명한다.At this time, the virtual asset service providing server 201 further includes the first server authentication signature value and the first server DID that signed the first server VC with the first server private key in the identity resolution request block By broadcasting to the chain network 300, the virtual asset service providing server 202, which has confirmed that it manages the recipient virtual asset address included in the identity resolution request, causes the first server DID included in the identity resolution request to check the first server public key from the blockchain network 300 using 1 to obtain the server DID document, then to verify the first server public key through the first server DID document, to decrypt the first server authentication signature value using the first server public key to obtain the first server VC; It is possible to verify the first server VC through the blockchain network 300 . Here, each of the virtual asset service providing servers 201 , 202 , and 203 including the virtual asset service providing server 201 may be operated through an exchange that performs a virtual asset transaction with a user terminal, respectively. Hereinafter, for convenience of description, it will be described that operations are performed in the virtual asset service providing servers 201 , 202 , and 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를 검증할 수 있다. In addition, the virtual asset service providing server 202 may additionally include a second server authentication signature value and a second server DID signed by the second server VC with the second server private key in the response, and the virtual asset service providing server 201 confirms the second server public key from the block chain network 300 using the second server DID included in the response, or from the block chain network 300 using the second server DID through the resolver server After obtaining the second server DID document corresponding to the second server DID, the second server public key is verified through the second server DID document, and the second server authentication signature value is decrypted using the second server public key It is possible to obtain 2 server VCs and verify the 2nd server VCs through the blockchain network 300 .

다음으로, 위와 같이 수신자 가상 자산 어드레스가 자신이 관리하고 있음을 확인한 가상 자산 서비스 제공 서버(202)로부터 아이덴티티 레솔루션 리퀘스트에 대응되는 레스폰스가 수신되면, 가상 자산 서비스 제공 서버(201)는 송신자 정보를 제1 서버 프라이빗 키로 서명한 제1 서버 서명값 및 제1 서버 DID를 포함하는 송신자 인증 트랜잭션을 가상 자산 서비스 제공 서버(202)에 전송(S105)하여 줄 수 있다. 여기서, 송신자 정보는 송신자 VC(Verifiable Credential)를 송신자 프라이빗 키로 서명한 송신자 서명값과 송신자 DID를 포함할 수 있으며, 송신자 인증 트랜잭션에는 송신자의 개인 정보는 포함되지 않고, 송신자의 DID와 서명값만 포함으로써 개인 정보의 노출을 방지할 수 있다. 또한, 송신자 서명값은 송신자 DID 및 송신자가 DID 서비스를 이용하는 DID 앱을 2 factor로 하여 서명한 것일 수 있다. 또한, 가상 자산 서비스 제공 서버(201)는 송신자 정보를 송신자로부터 획득하되, 송신자 정보를 송신자 단말로부터의 가상 자산 전송 요청에 포함하여 전송되도록 함으로써 획득하거나 송신자 단말(101)로 별도의 송신자 서명 트랜잭션을 요청하여 획득할 수 있다.Next, when a response corresponding to the identity resolution request is received from the virtual asset service providing server 202, which has confirmed that the recipient virtual asset address is managed by itself, as described above, the virtual asset service providing server 201 sends the sender information A sender authentication transaction including the first server signature value and the first server DID signed with the first server private key may be transmitted to the virtual asset service providing server 202 ( S105 ). Here, the sender information may include the sender signature value and the sender DID that signed the sender VC (Verifiable Credential) with the sender private key, and the sender authentication transaction does not include the sender's personal information, only the sender's DID and signature value In this way, the exposure of personal information can be prevented. In addition, the sender signature value may be a signature of the sender DID and the DID app using the DID service by the sender as a factor of two. In addition, the virtual asset service providing server 201 acquires the sender information from the sender, but obtains the sender information by including the sender information in the virtual asset transmission request from the sender terminal to be transmitted, or a separate sender signature transaction to the sender terminal 101 It can be obtained by request.

이에, 송신자 인증 트랜잭션을 획득한 가상 자산 서비스 제공 서버(202)는 송신자 인증 트랜잭션에 포함된 제1 서버 DID를 이용하여 블록체인 네트워크(300)로부터 제1 서버 DID에 대응되는 제1 서버 퍼블릭 키를 획득(S106)하여, 제1 서버 퍼블릭 키를 이용하여 송신자 인증 트랜잭션에 포함된 제1 서버 서명값을 복호화(S107)하여 송신자 정보를 획득하고, 송신자 정보에 포함된 송신자 DID를 이용하여 블록체인 네트워크(300)로부터 송신자 DID에 대응되는 송신자 퍼블릭 키를 획득(S108)하여, 송신자 퍼블릭 키를 이용하여 송신자 정보에 포함된 송신자 서명값을 복호화하여 송신자 VC를 획득하여 블록체인 네트워크(300)를 통해 송신자 VC를 검증(S109)할 수 있다.Accordingly, the virtual asset service providing server 202 that has obtained the sender authentication transaction obtains the first server public key corresponding to the first server DID from the blockchain network 300 using the first server DID included in the sender authentication transaction. Obtain (S106) and decrypt (S107) the first server signature value included in the sender authentication transaction using the first server public key to obtain sender information, and use the sender DID included in the sender information to network the blockchain Obtain the sender public key corresponding to the sender DID from 300 (S108), decrypt the sender signature value included in the sender information using the sender public key to obtain the sender VC, and send the sender through the blockchain network 300 The VC may be verified (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에서 송신자 퍼블릭 키를 획득할 수 있다.Here, the virtual asset service providing server 202 obtains the first server public key corresponding to the first server DID from the blockchain network 300 using the first server DID to obtain the first server public key, or Obtain the first server DID document corresponding to the first server DID from the blockchain network 300 using the first server DID through the resolver server to obtain the first server public key from the first server DID document, To obtain the sender public key, obtain the sender public key corresponding to the sender DID from the blockchain network 300 using the sender DID, or use the sender DID through the resolver server to obtain the sender DID from the blockchain network 300 The sender public key can be obtained from the sender DID document by acquiring the corresponding sender DID document.

다음으로, 송신자 VC가 검증되면, 가상 자산 서비스 제공 서버(202)는 가상 자산 서비스 제공 서버(201)로 수신자 정보를 제2 서버 프라이빗 키로 서명한 제2 서버 서명값 및 제2 서버 DID를 포함하는 수신자 인증 트랜잭션을 전송(S110)하여 줄 수 있다. 여기서, 수신자 정보는 수신자 VC를 수신자 프라이빗 키로 서명한 수신자 서명값과 수신자 DID를 포함할 수 있다. 또한, 가상 자산 서비스 제공 서버(202)는 수신자 단말(102)로 수신자 서명 트랜잭션을 요청하여 수신자 정보를 획득할 수 있다. Next, when the sender VC is verified, the virtual asset service providing server 202 includes the second server signature value and the second server DID that signed the receiver information with the second server private key to the virtual asset service providing server 201 A recipient authentication transaction may be transmitted (S110). Here, the receiver information may include a receiver signature value signed by the receiver VC with the receiver private key and a receiver DID. Also, the virtual asset service providing server 202 may obtain recipient information by requesting a recipient signature transaction to the recipient terminal 102 .

그러면, 가상 자산 서비스 제공 서버(201)는 수신자 인증 트랜잭션에 포함된 제2 서버 DID를 이용하여 블록체인 네트워크(300)로부터 제2 서버 DID에 대응되는 제2 서버 퍼블릭 키를 획득(S111)하고, 제2 서버 퍼블릭 키를 이용하여 수신자 인증 트랜잭션에 포함된 제2 서버 서명값을 복호화(S112)하여 수신자 정보를 획득하며, 수신자 정보에 포함된 수신자 DID를 이용하여 블록체인 네트워크(300)로부터 수신자 DID에 대응되는 수신자 퍼블릭 키를 획득(S113)하고, 수신자 퍼블릭 키를 이용하여 수신자 정보에 포함된 수신자 서명값을 복호화하여 수신자 VC를 획득하여 블록체인 네트워크(300)를 통해 검증(S114)한 후 검증 기록을 저장한 다음, 가상 자산을 송신자 가상 자산 어드레스로부터 수신자 가상 자산 어드레스로 전송하여 주기 위한 가산 전송 트랜잭션을 생성하여 블록체인 네트워크(300)에 등록(S115)할 수 있다.Then, the virtual asset service providing server 201 obtains a second server public key corresponding to the second server DID from the blockchain network 300 using the second server DID included in the recipient authentication transaction (S111), Recipient information is obtained by decrypting (S112) the second server signature value included in the recipient authentication transaction using the second server public key, and the recipient DID from the blockchain network 300 using the recipient DID included in the recipient information Obtain the recipient public key corresponding to (S113), decrypt the recipient signature value included in the recipient information using the recipient public key to obtain the recipient VC, verify through the blockchain network 300 (S114), and then verify After the record is saved, it is possible to create an additive transfer transaction for transferring the virtual asset from the sender virtual asset address to the receiver virtual asset address and register it in the blockchain network 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에서 수신자 퍼블릭 키를 획득할 수 있다. At this time, the virtual asset service providing server 201 obtains a second server public key corresponding to the second server DID from the blockchain network 300 using the second server DID to obtain the second server public key, or A second server DID document corresponding to the second server DID may be obtained from the blockchain network 300 using the second server DID through the resolver server, and the second server public key may be obtained from the second server DID document, To obtain the recipient public key, use the recipient DID to obtain the recipient public key corresponding to the recipient DID from the blockchain network 300, or use the recipient DID through a resolver server to obtain the recipient DID from the blockchain network 300 The recipient public key may be obtained from the recipient DID document by acquiring the corresponding recipient DID document.

다음으로, 도 4와 도 5는 본 발명의 다른 실시예에 따라 송신자의 수신자에 대한 사정 가상 자산 전송 요청 없이 가상 전송이 이루어졌을 경우에 탈중앙화 아이디 기반의 가상 자산 서비스를 제공하는 방법을 개략적으로 도시하고 있다.Next, FIGS. 4 and 5 schematically show a method of providing a decentralized ID-based virtual asset service when virtual transmission is made without a request for transmission of virtual assets from the sender to the receiver according to another embodiment of the present invention. is showing

도 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)에 등록함으로써 거래를 완료할 수 있다. Referring to FIG. 4 , a sender who wants to transmit a virtual asset to the receiver terminal 101 by using a receiver virtual asset address corresponding to the receiver to receive the virtual asset through the sender terminal 103 , which is a user terminal owned by the sender. When the virtual asset service providing server 201 acquires a virtual asset transaction for the virtual asset transfer (S11) by directly transferring the virtual asset, the virtual asset service providing server 201 sends the virtual asset to the sender Each virtual asset service providing server participating as a node of the blockchain network 300 by broadcasting (S12) the corresponding sender virtual asset address in the identity resolution request to the blockchain network 300 Among the ones 202 and 203 , the virtual asset service providing server 203 that has confirmed that the sender virtual asset address included in the broadcast identity resolution request is the virtual asset address it manages is sent to the virtual asset service providing server 201 . When a response is transmitted (S13), the virtual asset service providing server 201 encrypts the recipient information and transmits it to the virtual asset service providing server 203 (S14), and the virtual asset service providing server 203 decrypts the encrypted receiver information and when verification is complete, encrypts the sender information and transmits it to the virtual asset service providing server 201 (S15) so that the virtual asset service providing server 201 decrypts the encrypted sender information Upon completion, the transaction can be completed by registering the virtual transfer transaction for transferring the virtual asset from the sender terminal 103 to the receiver terminal 101 in the blockchain network 300 .

이와 같은 과정을 도 5를 참조하여 구체적으로 설명하면, 사용자들 및 가상 자산 서비스 제공 서버들의 DID가 블록체인 네트워크(300)에 등록된 상태에서, 가상 자산을 전송하고자 하는 송신자의 송신자 단말(103)로부터 가상 자산을 수신할 수신자에 대응되는 수신자 가상 자산 어드레스를 이용하여 수신자 단말(101)로 가상 자산을 전송함으로써 수신자 가상 자산 어드레스를 관리하는 가상 자산 서비스 제공 서버(201)가 가상 자산의 전송을 위한 가상 자산 트랜잭션을 획득(S201)하면, 가상 자산 서비스 제공 서버(201)가, 송신자 가상 자산 어드레스에 대응되는 아이덴티티 레솔루션 리퀘스트를 블록체인 네트워크(300)로 브로드캐스팅(S202)하여, 블록체인 네트워크(300)에 각각 노드로 참여하는 적어도 하나 이상의 가상 자산 서비스 제공 서버들(202, 203)로 하여금 송신자 가상 자산 어드레스가 자신이 관리하고 있는 가상 자산 어드레스인지 확인(S203)하도록 할 수 있다.When this process is described in detail with reference to FIG. 5 , the sender terminal 103 of the sender who wants to transmit the virtual asset while the DIDs of users and virtual asset service providing servers are registered in the blockchain network 300 . The virtual asset service providing server 201 that manages the recipient virtual asset address by transmitting the virtual asset to the recipient terminal 101 using the recipient virtual asset address corresponding to the recipient to receive the virtual asset from When the virtual asset transaction is acquired (S201), the virtual asset service providing server 201 broadcasts (S202) an identity resolution request corresponding to the sender virtual asset address to the blockchain network 300, and the blockchain network ( 300) may cause at least one or more virtual asset service providing servers 202 and 203 participating as nodes to check whether the sender virtual asset address is the virtual asset address they manage (S203).

이때, 가상 자산 서비스 제공 서버(201)는 수신자에 대응되는 KYC 정보의 인증 결과에 따라 수신자에 대응되는 수신자 가상 자산 어드레스를 화이트리스트에 등록한 상태일 수 있으며, 브로드캐스팅은 static/dynamic list, queue, multicast 등 다양한 방식을 통해 구현될 수 있다.At this time, the virtual asset service providing server 201 may be in a state of registering the recipient virtual asset address corresponding to the recipient in the white list according to the authentication result of KYC information corresponding to the recipient, and broadcasting is static/dynamic list, queue, It can be implemented through various methods such as multicast.

그러면, 블록체인 네트워크(300)의 노드로 참여하는 각각의 가상 자산 서비스 제공 서버들(202, 203)은 블록체인 네트워크(300)에 브로드캐스팅된 아이덴티티 레솔루션 리퀘스트에 포함된 송신자 가상 자산 어드레스가 자신이 관리하고 있는 가상 자산 어드레스인지를 확인할 수 있다. 이때, 서비스 제공 서버(201, 201, 203)들은 각각 데이터베이스를 이용하여 각각에 등록된 사용자들에 대한 가상 자산 어드레스를 관리하고 있는 상태일 수 있다.Then, each of the virtual asset service providing servers 202 and 203 participating as a node of the blockchain network 300 has the sender virtual asset address included in the identity resolution request broadcast to the blockchain network 300 itself. You can check whether this is the managed virtual asset address. In this case, the service providing servers 201 , 201 , and 203 may be in a state of managing virtual asset addresses for users registered in each using a database.

이에, 아이덴티티 레솔루션 리퀘스트에 포함된 송신자 가산 자산 어드레스가 자신이 관리하고 있는 가상 자산 어드레스임을 확인한 가상 자산 서비스 제공 서버(203)는 가상 자산 서비스 제공 서버(201)로 아이덴티티 레솔루션 리퀘스트에 대응되는 레스폰스를 전송(S204)할 수 있다. 한편, 가상 자산 서비스 제공 서버(202)는 아이덴티티 레솔루션 리퀘스트에 포함된 송신자 가상 자산 어드레스가 자신이 관리하고 있는 가상 자산 어드레스가 아니므로 아이덴티티 레솔루션 리퀘스트를 무시할 수 있다.Accordingly, the virtual asset service providing server 203 that has confirmed that the sender's added asset address included in the identity resolution request is the virtual asset address it manages is the virtual asset service providing server 201, which responds to the identity resolution request. The phone may be transmitted (S204). Meanwhile, the virtual asset service providing server 202 may ignore the identity resolution request because the sender virtual asset address included in the identity resolution request is not the virtual asset address it manages.

이때, 가상 자산 서비스 제공 서버(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)에서 동작이 수행되는 것으로 설명한다.At this time, the virtual asset service providing server 201 additionally includes the first server authentication signature value and the first server DID that signed the first server VC with the first server private key in the identity resolution request to the blockchain network 300 The virtual asset service providing server 203 that has confirmed that it is managing the sender virtual asset address included in the identity resolution request by broadcasting to the blockchain using the first server DID included in the identity resolution request Check the first server public key from the network 300 or obtain the first server DID document corresponding to the first server DID from the blockchain network 300 using the first server DID through the resolver server By verifying the first server public key through the first server DID document, the first server authentication signature value is decrypted using the first server public key to obtain the first server VC, and the first server VC is obtained through the blockchain network 300 1 Server VC can be verified. Here, each of the virtual asset service providing servers 201 , 202 , and 203 including the virtual asset service providing server 201 may be operated through an exchange that performs a virtual asset transaction with a user terminal, respectively. Hereinafter, for convenience of description, it will be described that operations are performed in the virtual asset service providing servers 201 , 202 , and 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를 검증할 수 있다. In addition, the virtual asset service providing server 203 may additionally include the second server authentication signature value and the second server DID that signed the second server VC with the second server private key in the response, and the virtual asset service providing server 201 confirms the second server public key from the block chain network 300 using the second server DID included in the response, or from the block chain network 300 using the second server DID through the resolver server After obtaining the second server DID document corresponding to the second server DID, the second server public key is verified through the second server DID document, and the second server authentication signature value is decrypted using the second server public key It is possible to obtain 2 server VCs and verify the 2nd server VCs through the blockchain network 300 .

다음으로, 위와 같이 송신자 가상 자산 어드레스가 자신이 관리하고 있음을 확인한 가상 자산 서비스 제공 서버(203)로부터 아이덴티티 레솔루션 리퀘스트에 대응되는 레스폰스가 수신되면, 가상 자산 서비스 제공 서버(201)는 수신자 정보를 제1 서버 프라이빗 키로 서명한 제1 서버 서명값 및 제1 서버 DID를 포함하는 수신자 인증 트랜잭션을 가상 자산 서비스 제공 서버(203)에 전송(S205)하여 줄 수 있다. 여기서, 수신자 정보는 수신자 VC(Verifiable Credential)를 수신자 프라이빗 키로 서명한 수신자 서명값과 수신자 DID를 포함할 수 있으며, 수신자 인증 트랜잭션에는 수신자의 개인 정보는 포함되지 않고, 수신자의 DID와 서명값만 포함으로써 개인 정보의 노출을 방지할 수 있다. 또한, 수신자 서명값은 수신자 DID 및 수신자가 DID 서비스를 이용하는 DID 앱을 2 factor로 하여 서명한 것일 수 있다. 또한, 가상 자산 서비스 제공 서버(201)는 수신자 단말(101)로 수신자 서명 트랜잭션을 요청하여 수신자 정보를 획득할 수 있다. Next, when a response corresponding to the identity resolution request is received from the virtual asset service providing server 203 that has confirmed that the sender virtual asset address is managed by itself as described above, the virtual asset service providing server 201 receives the receiver information A recipient authentication transaction including the first server signature value and the first server DID signed with the first server private key may be transmitted to the virtual asset service providing server 203 ( S205 ). Here, the recipient information may include the recipient's signature value and the recipient's DID that signed the recipient's VC (Verifiable Credential) with the recipient's private key, and the recipient authentication transaction does not include the recipient's personal information, only the recipient's DID and signature value In this way, the exposure of personal information can be prevented. In addition, the receiver signature value may be signed with the receiver DID and the DID app using the DID service by the receiver as a factor of two. In addition, the virtual asset service providing server 201 may obtain receiver information by requesting a receiver signature transaction to the receiver terminal 101 .

이에, 수신자 인증 트랜잭션을 획득한 가상 자산 서비스 제공 서버(203)는 수신자 인증 트랜잭션에 포함된 제1 서버 DID를 이용하여 블록체인 네트워크(300)로부터 제1 서버 DID에 대응되는 제1 서버 퍼블릭 키를 획득(S206)하여, 제1 서버 퍼블릭 키를 이용하여 수신자 정보 VC에 포함된 제1 서버 서명값을 복호화(S207)하여 수신자 정보를 획득하고, 수신자 정보에 포함된 수신자 DID를 이용하여 블록체인 네트워크(300)로부터 수신자 DID에 대응되는 수신자 퍼블릭 키를 획득(S208) 하여, 수신자 퍼블릭 키를 이용하여 수신자 정보에 포함된 수신자 서명값을 복호화하여 수신자 VC를 획득하여 블록체인 네트워크(300)를 통해 수신자 VC를 검증(S209)할 수 있다.Accordingly, the virtual asset service providing server 203 that has obtained the recipient authentication transaction obtains the first server public key corresponding to the first server DID from the blockchain network 300 using the first server DID included in the recipient authentication transaction. Obtaining (S206), using the first server public key to decrypt the first server signature value included in the recipient information VC (S207) to obtain the recipient information, and using the recipient DID included in the recipient information to use the blockchain network Obtain the recipient public key corresponding to the recipient DID from 300 (S208), decrypt the recipient signature value included in the recipient information using the recipient public key to obtain the recipient VC, and receive the recipient through the blockchain network 300 VC may be verified (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에서 수신자 퍼블릭 키를 획득할 수 있다.Here, the virtual asset service providing server 203 obtains a first server public key corresponding to the first server DID from the blockchain network 300 by using the first server DID to obtain the first server public key, or Obtain the first server DID document corresponding to the first server DID from the blockchain network 300 using the first server DID through the resolver server to obtain the first server public key from the first server DID document, In order to obtain the recipient public key, the recipient public key corresponding to the recipient DID is obtained from the blockchain network 300 using the recipient DID, or the recipient DID from the blockchain network 300 using the recipient DID through a resolver server. The recipient public key can be obtained from the recipient DID document by obtaining the recipient DID document corresponding to .

다음으로, 수신자 VC가 검증되면, 가상 자산 서비스 제공 서버(203)는 가상 자산 서비스 제공 서버(201)로 송신자 정보를 제2 서버 프라이빗 키로 서명한 제2 서버 서명값 및 제2 서버 DID를 포함하는 송신자 인증 트랜잭션을 전송(S210)하여 줄 수 있다. 여기서, 송신자 정보는 송신자 VC(Verifiable Credential)를 송신자 프라이빗 키로 서명한 송신자 서명값과 송신자 DID를 포함할 수 있다. 또한, 가상 자산 서비스 제공 서버(203)는 송신자 단말(103)로 송신자 서명 트랜잭션을 요청하여 송신자 정보를 획득할 수 있다.Next, when the receiver VC is verified, the virtual asset service providing server 203 includes the second server signature value and the second server DID that signed the sender information with the second server private key to the virtual asset service providing server 201 The sender authentication transaction may be transmitted (S210). Here, the sender information may include a sender signature value and a sender DID in which the sender VC (Verifiable Credential) is signed with the sender private key. Also, the virtual asset service providing server 203 may obtain sender information by requesting a sender signature transaction to the sender terminal 103 .

그러면, 가상 자산 서비스 제공 서버(201)는 송신자 인증 트랜잭션에 포함된 제2 서버 DID를 이용하여 블록체인 네트워크(300)로부터 제2 서버 DID에 대응되는 제2 서버 퍼블릭 키를 획득(S211)하고, 제2 서버 퍼블릭 키를 이용하여 송신자 인증 트랜잭션에 포함된 제2 서버 서명값을 복호화(S212)하여 송신자 정보를 획득하며, 송신자 정보에 포함된 송신자 DID를 이용하여 블록체인 네트워크(300)로부터 송신자 DID에 대응되는 송신자 퍼블릭 키를 획득(S213)하고, 송신자 퍼블릭 키를 이용하여 송신자 정보에 포함된 송신자 서명값을 복호화하여 송신자 VC를 획득하여 블록체인 네트워크(300)를 통해 검증(S214)한 후 검증 기록을 저장한 다음, 가상 자산을 송신자 가상 자산 어드레스로부터 수신자 가상 자산 어드레스로 전송되도록 가산 전송 트랜잭션을 블록체인 네트워크(300)에 등록(S215)할 수 있다.Then, the virtual asset service providing server 201 obtains a second server public key corresponding to the second server DID from the blockchain network 300 using the second server DID included in the sender authentication transaction (S211), The second server signature value included in the sender authentication transaction is decrypted (S212) by using the second server public key to obtain sender information, and the sender DID from the blockchain network 300 using the sender DID included in the sender information Acquire the sender public key corresponding to (S213), decrypt the sender signature value included in the sender information using the sender public key to obtain the sender VC, verify through the blockchain network 300 (S214), and then verify After saving the record, an additive transfer transaction may be registered (S215) in the blockchain network 300 so that the virtual asset is transferred from the sender virtual asset address to the receiver virtual asset address.

이때, 가상 자산 서비스 제공 서버(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에서 송신자 퍼블릭 키를 획득할 수 있다.At this time, the virtual asset service providing server 201 obtains a second server public key corresponding to the second server DID from the blockchain network 300 using the second server DID to obtain the second server public key, or A second server DID document corresponding to the second server DID may be obtained from the blockchain network 300 using the second server DID through the resolver server, and the second server public key may be obtained from the second server DID document, To obtain the sender public key, use the sender DID to obtain the sender public key corresponding to the sender DID from the blockchain network 300, or use the sender DID through the resolver server to obtain the sender from the blockchain network 300 The sender public key can be obtained from the sender DID document by obtaining the sender DID document corresponding to the DID.

또한, 이상 설명된 본 발명에 따른 실시예들은 다양한 컴퓨터 구성요소를 통하여 수행될 수 있는 프로그램 명령어의 형태로 구현되어 컴퓨터 판독 가능한 기록 매체에 기록될 수 있다. 상기 컴퓨터 판독 가능한 기록 매체는 프로그램 명령어, 데이터 파일, 데이터 구조 등을 단독으로 또는 조합하여 포함할 수 있다. 상기 컴퓨터 판독 가능한 기록 매체에 기록되는 프로그램 명령어는 본 발명을 위하여 특별히 설계되고 구성된 것들이거나 컴퓨터 소프트웨어 분야의 당업자에게 공지되어 사용 가능한 것일 수도 있다. 컴퓨터 판독 가능한 기록 매체의 예에는, 하드 디스크, 플로피 디스크 및 자기 테이프와 같은 자기 매체, CD-ROM, DVD와 같은 광기록 매체, 플롭티컬 디스크(floptical disk)와 같은 자기-광 매체(magneto-optical media), 및 ROM, RAM, 플래시 메모리 등과 같은 프로그램 명령어를 저장하고 수행하도록 특별히 구성된 하드웨어 장치가 포함된다. 프로그램 명령어의 예에는, 컴파일러에 의해 만들어지는 것과 같은 기계어 코드뿐만 아니라 인터프리터 등을 사용해서 컴퓨터에 의해서 실행될 수 있는 고급 언어 코드도 포함된다. 상기 하드웨어 장치는 본 발명에 따른 처리를 수행하기 위해 하나 이상의 소프트웨어 모듈로서 작동하도록 구성될 수 있으며, 그 역도 마찬가지이다.In addition, the embodiments according to the present invention described above may be implemented in the form of program instructions that can be executed through various computer components and recorded in a computer-readable recording medium. The computer-readable recording medium may include program instructions, data files, data structures, etc. alone or in combination. The program instructions recorded on the computer-readable recording medium may be specially designed and configured for the present invention, or may be known and available to those skilled in the computer software field. Examples of the computer-readable recording medium include hard disks, magnetic media such as floppy disks and magnetic tapes, optical recording media such as CD-ROMs and DVDs, and magneto-optical media such as floppy disks. media), and hardware devices specially configured to store and execute program instructions, such as ROM, RAM, flash memory, and the like. Examples of program instructions include not only machine language codes such as those generated by a compiler, but also high-level language codes that can be executed by a computer using an interpreter or the like. The hardware device may be configured to operate as one or more software modules for carrying out the processing according to the present invention, and vice versa.

이상에서 본 발명이 구체적인 구성요소 등과 같은 특정 사항들과 한정된 실시예 및 도면에 의해 설명되었으나, 이는 본 발명의 보다 전반적인 이해를 돕기 위해서 제공된 것일 뿐, 본 발명이 상기 실시예들에 한정되는 것은 아니며, 본 발명이 속하는 기술분야에서 통상적인 지식을 가진 자라면 이러한 기재로부터 다양한 수정 및 변형을 꾀할 수 있다.In the above, the present invention has been described with specific matters such as specific components and limited embodiments and drawings, but these are provided to help a more general understanding of the present invention, and the present invention is not limited to the above embodiments. , various modifications and variations can be devised from these descriptions by those of ordinary skill in the art to which the present invention pertains.

따라서, 본 발명의 사상은 상기 설명된 실시예에 국한되어 정해져서는 아니 되며, 후술하는 특허청구범위뿐만 아니라 이 특허청구범위와 균등하게 또는 등가적으로 변형된 모든 것들은 본 발명의 사상의 범주에 속한다고 할 것이다.Accordingly, the spirit of the present invention should not be limited to the above-described embodiments, and not only the claims described below, but also all modifications equivalently or equivalently to the claims described below belong to the scope of the spirit of the present invention. will do it

101, 102, 103: 사용자 단말,
201, 202, 203: 가상 자산 서비스 제공 서버,
300: 블록체인 네트워크
101, 102, 103: a user terminal;
201, 202, 203: virtual asset service providing server;
300: Blockchain Network

Claims (28)

탈중앙화 아이디(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에서 상기 송신자 퍼블릭 키를 획득하도록 할 수 있는 것을 특징으로 하는 방법.
In the method of providing a virtual asset service based on a decentralized ID (Decentralized Identifier; DID),
(a) In a state in which the DIDs of users and virtual asset service providing servers are registered in the blockchain network, a recipient virtual asset address corresponding to a recipient who will receive the virtual asset from the sender terminal of the sender who wants to transmit the virtual asset is included When a virtual asset transfer request is obtained, the first virtual asset service providing server managing the sender virtual asset address corresponding to the sender broadcasts the identity resolution request including the recipient virtual asset address to the blockchain network allowing at least one or more virtual asset service providing servers participating as nodes in the block chain network, respectively, to check whether the recipient virtual asset address is a virtual asset address managed by them;
(b) When a response corresponding to the identity resolution request is received from a second virtual asset service providing server that has confirmed that the recipient virtual asset address is managed by itself, the first virtual asset service providing server includes sender information - The sender information includes the sender signature value and the sender DID that signed the sender VC (Verifiable Credential) with the sender private key - Sender authentication including the first server signature value and the first server DID signed with the first server private key Transmitting a transaction to the second virtual asset service providing server so that the second virtual asset service providing server uses the first server DID included in the sender authentication transaction from the blockchain network to the first server DID obtain a corresponding first server public key, decrypt the first server signature value included in the sender authentication transaction using the first server public key to obtain the sender information, and include in the sender information Obtain the sender public key corresponding to the sender DID from the block chain network using the sender DID, and decrypt the sender signature value included in the sender information using the sender public key to obtain the sender VC Obtain and verify the sender VC through the blockchain network, and when the verification is completed, the receiver information - the receiver information includes the receiver signature value and the receiver DID that signed the receiver VC with the receiver private key - to the second server private transmitting a recipient authentication transaction including a second server signature value signed with the key and a second server DID; and
(c) upon receiving the recipient authentication transaction, the first virtual asset service providing server uses the second server DID included in the recipient authentication transaction to receive a second server DID corresponding to the second server DID from the blockchain network. 2 obtain a server public key, decrypt the second server signature value included in the recipient authentication transaction using the second server public key to obtain the recipient information, and obtain the recipient DID included in the recipient information to obtain the recipient public key corresponding to the recipient DID from the blockchain network using the storing the verification record after verification through , and then registering in the blockchain network by generating an additive transmission transaction for transmitting the virtual asset from the sender virtual asset address to the recipient virtual asset address;
including,
In step (b),
The first virtual asset service providing server is configured to cause the second virtual asset service providing server to (i) obtain the first server public key from the blockchain network by using the first server DID. Obtain the first server public key corresponding to the server DID, or obtain the first server DID document corresponding to the first server DID from the blockchain network using the first server DID through a resolver server obtain the first server public key from the first server DID document, and (ii) use the sender DID to obtain the sender public key, the sender public corresponding to the sender DID from the blockchain network obtain a key, or obtain a sender DID document corresponding to the sender DID from the blockchain network using the sender DID through a resolver server to obtain the sender public key from the sender DID document How to characterize.
삭제delete 탈중앙화 아이디(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를 획득하여 상기 블록체인 네트워크를 통해 검증한 후 검증 기록을 저장한 다음, 상기 가상 자산을 상기 송신자 가상 자산 어드레스로부터 상기 수신자 가상 자산 어드레스로 전송하여 주기 위한 가산 전송 트랜잭션을 생성하여 상기 블록체인 네트워크에 등록하는 단계;
를 포함하되,
상기 (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를 검증하도록 하는 것을 특징으로 하는 방법.
In the method of providing a virtual asset service based on a decentralized ID (Decentralized Identifier; DID),
(a) In a state in which the DIDs of users and virtual asset service providing servers are registered in the blockchain network, a recipient virtual asset address corresponding to a recipient who will receive the virtual asset from the sender terminal of the sender who wants to transmit the virtual asset is included When a virtual asset transfer request is obtained, the first virtual asset service providing server managing the sender virtual asset address corresponding to the sender broadcasts the identity resolution request including the recipient virtual asset address to the blockchain network allowing at least one or more virtual asset service providing servers participating as nodes in the block chain network, respectively, to check whether the recipient virtual asset address is a virtual asset address managed by them;
(b) When a response corresponding to the identity resolution request is received from a second virtual asset service providing server that has confirmed that the recipient virtual asset address is managed by itself, the first virtual asset service providing server includes sender information - The sender information includes the sender signature value and the sender DID that signed the sender VC (Verifiable Credential) with the sender private key - Sender authentication including the first server signature value and the first server DID signed with the first server private key Transmitting a transaction to the second virtual asset service providing server so that the second virtual asset service providing server uses the first server DID included in the sender authentication transaction from the blockchain network to the first server DID obtain a corresponding first server public key, decrypt the first server signature value included in the sender authentication transaction using the first server public key to obtain the sender information, and include in the sender information Obtain the sender public key corresponding to the sender DID from the block chain network using the sender DID, and decrypt the sender signature value included in the sender information using the sender public key to obtain the sender VC Obtain and verify the sender VC through the blockchain network, and when the verification is completed, the receiver information - the receiver information includes the receiver signature value and the receiver DID that signed the receiver VC with the receiver private key - to the second server private transmitting a recipient authentication transaction including a second server signature value signed with the key and a second server DID; and
(c) upon receiving the recipient authentication transaction, the first virtual asset service providing server uses the second server DID included in the recipient authentication transaction to receive a second server DID corresponding to the second server DID from the blockchain network. 2 obtain a server public key, decrypt the second server signature value included in the recipient authentication transaction using the second server public key to obtain the recipient information, and obtain the recipient DID included in the recipient information to obtain the recipient public key corresponding to the recipient DID from the blockchain network using the storing the verification record after verification through , and then registering in the blockchain network by generating an additive transmission transaction for transmitting the virtual asset from the sender virtual asset address to the recipient virtual asset address;
including,
In step (a),
The first virtual asset service providing server further includes a first server authentication signature value that signed a first server VC with the first server private key and the first server DID in the identity resolution request to the blockchain network By broadcasting to the second virtual asset service providing server, which has confirmed that it manages the recipient virtual asset address included in the identity resolution request, the first server DID included in the identity resolution request to verify the first server public key from the block chain network using, or obtain a first server DID document corresponding to the first server DID from the block chain network using the first server DID through a resolver server and then confirm the first server public key through the first server DID document, decrypt the first server authentication signature value using the first server public key to obtain the first server VC, and A method characterized in that the first server VC is verified through a blockchain network.
탈중앙화 아이디(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 가상 자산 서비스 제공 서버로 하여금 제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를 검증하는 것을 특징으로 하는 방법.
In the method of providing a virtual asset service based on a decentralized ID (Decentralized Identifier; DID),
(a) In a state in which the DIDs of users and virtual asset service providing servers are registered in the blockchain network, a recipient virtual asset address corresponding to a recipient who will receive the virtual asset from the sender terminal of the sender who wants to transmit the virtual asset is included When a virtual asset transfer request is obtained, the first virtual asset service providing server managing the sender virtual asset address corresponding to the sender broadcasts the identity resolution request including the recipient virtual asset address to the blockchain network allowing at least one or more virtual asset service providing servers participating as nodes in the block chain network, respectively, to check whether the recipient virtual asset address is a virtual asset address managed by them;
(b) When a response corresponding to the identity resolution request is received from a second virtual asset service providing server that has confirmed that the recipient virtual asset address is managed by itself, the first virtual asset service providing server includes sender information - The sender information includes the sender signature value and the sender DID that signed the sender VC (Verifiable Credential) with the sender private key - Sender authentication including the first server signature value and the first server DID signed with the first server private key Transmitting a transaction to the second virtual asset service providing server so that the second virtual asset service providing server uses the first server DID included in the sender authentication transaction from the blockchain network to the first server DID obtain a corresponding first server public key, decrypt the first server signature value included in the sender authentication transaction using the first server public key to obtain the sender information, and include in the sender information Obtain the sender public key corresponding to the sender DID from the block chain network using the sender DID, and decrypt the sender signature value included in the sender information using the sender public key to obtain the sender VC Obtain and verify the sender VC through the blockchain network, and when the verification is completed, the receiver information - the receiver information includes the receiver signature value and the receiver DID that signed the receiver VC with the receiver private key - to the second server private transmitting a recipient authentication transaction including a second server signature value signed with the key and a second server DID; and
(c) upon receiving the recipient authentication transaction, the first virtual asset service providing server uses the second server DID included in the recipient authentication transaction to receive a second server DID corresponding to the second server DID from the blockchain network 2 obtain a server public key, decrypt the second server signature value included in the recipient authentication transaction using the second server public key to obtain the recipient information, and obtain the recipient DID included in the recipient information to obtain the recipient public key corresponding to the recipient DID from the blockchain network using the storing the verification record after verification through , and then registering in the blockchain network by generating an additive transmission transaction for transmitting the virtual asset from the sender virtual asset address to the recipient virtual asset address;
including,
In step (b),
The first virtual asset service providing server causes the second virtual asset service providing server to include a second server authentication signature value and the second server DID, which signed the second server VC with the second server private key, to the response. To further include, when the response is received, the second server public key is checked from the block chain network using the second server DID included in the response, or the second server through a resolver server Obtaining a second server DID document corresponding to the second server DID from the block chain network using DID, and then verifying the second server public key through the second server DID document to determine the second server public key to obtain the second server VC by decrypting the second server authentication signature value using
탈중앙화 아이디(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 가상 자산 서비스 제공 서버는, 상기 송신자 정보를 상기 송신자로부터 획득하되, 상기 송신자 정보를 상기 송신자 단말로부터의 상기 가상 자산 전송 요청에 포함하여 전송되도록 함으로써 획득하거나 상기 송신자 단말로 별도의 송신자 서명 트랜잭션을 요청하여 획득하는 것을 특징으로 하는 방법.
In the method of providing a virtual asset service based on a decentralized ID (Decentralized Identifier; DID),
(a) In a state in which the DIDs of users and virtual asset service providing servers are registered in the blockchain network, a recipient virtual asset address corresponding to a recipient who will receive the virtual asset from the sender terminal of the sender who wants to transmit the virtual asset is included When a virtual asset transfer request is obtained, the first virtual asset service providing server managing the sender virtual asset address corresponding to the sender broadcasts the identity resolution request including the recipient virtual asset address to the blockchain network allowing at least one or more virtual asset service providing servers participating as nodes in the block chain network, respectively, to check whether the recipient virtual asset address is a virtual asset address managed by them;
(b) When a response corresponding to the identity resolution request is received from a second virtual asset service providing server that has confirmed that the recipient virtual asset address is managed by itself, the first virtual asset service providing server includes sender information - The sender information includes the sender signature value and the sender DID that signed the sender VC (Verifiable Credential) with the sender private key - Sender authentication including the first server signature value and the first server DID signed with the first server private key Transmitting a transaction to the second virtual asset service providing server so that the second virtual asset service providing server uses the first server DID included in the sender authentication transaction from the blockchain network to the first server DID obtain a corresponding first server public key, decrypt the first server signature value included in the sender authentication transaction using the first server public key to obtain the sender information, and include in the sender information Obtain the sender public key corresponding to the sender DID from the block chain network using the sender DID, and decrypt the sender signature value included in the sender information using the sender public key to obtain the sender VC Obtain and verify the sender VC through the blockchain network, and when the verification is completed, the receiver information - the receiver information includes the receiver signature value and the receiver DID that signed the receiver VC with the receiver private key - to the second server private transmitting a recipient authentication transaction including a second server signature value signed with the key and a second server DID; and
(c) upon receiving the recipient authentication transaction, the first virtual asset service providing server uses the second server DID included in the recipient authentication transaction to receive a second server DID corresponding to the second server DID from the blockchain network. 2 obtain a server public key, decrypt the second server signature value included in the recipient authentication transaction using the second server public key to obtain the recipient information, and obtain the recipient DID included in the recipient information to obtain the recipient public key corresponding to the recipient DID from the blockchain network using the storing the verification record after verification through , and then registering in the blockchain network by generating an additive transmission transaction for transmitting the virtual asset from the sender virtual asset address to the recipient virtual asset address;
including,
In step (b),
The first virtual asset service providing server acquires the sender information from the sender, by including the sender information in the virtual asset transmission request from the sender terminal to be transmitted, or a separate sender signature to the sender terminal A method characterized in that the transaction is obtained by requesting it.
탈중앙화 아이디(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 가상 자산 서비스 제공 서버로 하여금 수신자 단말로 수신자 서명 트랜잭션을 요청하여 상기 수신자 정보를 획득하도록 하는 것을 특징으로 하는 방법.
In the method of providing a virtual asset service based on a decentralized ID (Decentralized Identifier; DID),
(a) In a state in which the DIDs of users and virtual asset service providing servers are registered in the blockchain network, a recipient virtual asset address corresponding to a recipient who will receive the virtual asset from the sender terminal of the sender who wants to transmit the virtual asset is included When a virtual asset transfer request is obtained, the first virtual asset service providing server managing the sender virtual asset address corresponding to the sender broadcasts the identity resolution request including the recipient virtual asset address to the blockchain network allowing at least one or more virtual asset service providing servers participating as nodes in the block chain network, respectively, to check whether the recipient virtual asset address is a virtual asset address managed by them;
(b) When a response corresponding to the identity resolution request is received from a second virtual asset service providing server that has confirmed that the recipient virtual asset address is managed by itself, the first virtual asset service providing server includes sender information - The sender information includes the sender signature value and the sender DID that signed the sender VC (Verifiable Credential) with the sender private key - Sender authentication including the first server signature value and the first server DID signed with the first server private key Transmitting a transaction to the second virtual asset service providing server so that the second virtual asset service providing server uses the first server DID included in the sender authentication transaction from the blockchain network to the first server DID obtain a corresponding first server public key, decrypt the first server signature value included in the sender authentication transaction using the first server public key to obtain the sender information, and include in the sender information Obtain the sender public key corresponding to the sender DID from the block chain network using the sender DID, and decrypt the sender signature value included in the sender information using the sender public key to obtain the sender VC Obtain and verify the sender VC through the blockchain network, and when the verification is completed, the receiver information - the receiver information includes the receiver signature value and the receiver DID that signed the receiver VC with the receiver private key - to the second server private transmitting a recipient authentication transaction including a second server signature value signed with the key and a second server DID; and
(c) upon receiving the recipient authentication transaction, the first virtual asset service providing server uses the second server DID included in the recipient authentication transaction to receive a second server DID corresponding to the second server DID from the blockchain network 2 obtain a server public key, decrypt the second server signature value included in the recipient authentication transaction using the second server public key to obtain the recipient information, and obtain the recipient DID included in the recipient information to obtain the recipient public key corresponding to the recipient DID from the blockchain network using the storing the verification record after verification through , and then registering in the blockchain network by generating an additive transmission transaction for transmitting the virtual asset from the sender virtual asset address to the recipient virtual asset address;
including,
In step (b),
The method of claim 1, wherein the first virtual asset service providing server causes the second virtual asset service providing server to obtain the recipient information by requesting a recipient signature transaction from a recipient terminal.
탈중앙화 아이디(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를 획득하여 상기 블록체인 네트워크를 통해 검증한 후 검증 기록을 저장한 다음, 상기 가상 자산을 상기 송신자 가상 자산 어드레스로부터 상기 수신자 가상 자산 어드레스로 전송하여 주기 위한 가산 전송 트랜잭션을 생성하여 상기 블록체인 네트워크에 등록하는 단계;
를 포함하되,
상기 (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에서 상기 수신자 퍼블릭 키를 획득할 수 있는 것을 특징으로 하는 방법.
In the method of providing a virtual asset service based on a decentralized ID (Decentralized Identifier; DID),
(a) In a state in which the DIDs of users and virtual asset service providing servers are registered in the blockchain network, a recipient virtual asset address corresponding to a recipient who will receive the virtual asset from the sender terminal of the sender who wants to transmit the virtual asset is included When a virtual asset transfer request is obtained, the first virtual asset service providing server managing the sender virtual asset address corresponding to the sender broadcasts the identity resolution request including the recipient virtual asset address to the blockchain network allowing at least one or more virtual asset service providing servers participating as nodes in the block chain network, respectively, to check whether the recipient virtual asset address is a virtual asset address managed by them;
(b) When a response corresponding to the identity resolution request is received from a second virtual asset service providing server that has confirmed that the recipient virtual asset address is managed by itself, the first virtual asset service providing server includes sender information - The sender information includes the sender signature value and the sender DID that signed the sender VC (Verifiable Credential) with the sender private key - Sender authentication including the first server signature value and the first server DID signed with the first server private key Transmitting a transaction to the second virtual asset service providing server so that the second virtual asset service providing server uses the first server DID included in the sender authentication transaction from the blockchain network to the first server DID obtain a corresponding first server public key, decrypt the first server signature value included in the sender authentication transaction using the first server public key to obtain the sender information, and include in the sender information Obtain the sender public key corresponding to the sender DID from the block chain network using the sender DID, and decrypt the sender signature value included in the sender information using the sender public key to obtain the sender VC Obtain and verify the sender VC through the blockchain network, and when the verification is completed, the receiver information - the receiver information includes the receiver signature value and the receiver DID that signed the receiver VC with the receiver private key - to the second server private transmitting a recipient authentication transaction including a second server signature value signed with the key and a second server DID; and
(c) upon receiving the recipient authentication transaction, the first virtual asset service providing server uses the second server DID included in the recipient authentication transaction to receive a second server DID corresponding to the second server DID from the blockchain network. 2 obtain a server public key, decrypt the second server signature value included in the recipient authentication transaction using the second server public key to obtain the recipient information, and obtain the recipient DID included in the recipient information to obtain the recipient public key corresponding to the recipient DID from the blockchain network using the storing the verification record after verification through , and then registering in the blockchain network by generating an additive transmission transaction for transmitting the virtual asset from the sender virtual asset address to the recipient virtual asset address;
including,
In step (c),
The first virtual asset service providing server is configured to: (i) use the second server DID to obtain the second server public key, and the second server public key corresponding to the second server DID from the blockchain network or by using the second server DID through a resolver server to obtain a second server DID document corresponding to the second server DID from the block chain network to obtain the second server public key from the second server DID document (ii) to obtain the recipient public key corresponding to the recipient DID from the blockchain network using the recipient DID to obtain the recipient public key, or by using the recipient DID through a resolver server The method of claim 1, wherein the recipient public key can be obtained from the recipient DID document by obtaining a recipient DID document corresponding to the recipient DID from the blockchain network.
탈중앙화 아이디(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에서 상기 수신자 퍼블릭 키를 획득하도록 할 수 있는 것을 특징으로 하는 방법.
In the method of providing a virtual asset service based on a decentralized ID (Decentralized Identifier; DID),
(a) Using the recipient virtual asset address corresponding to the recipient to receive the virtual asset from the sender terminal of the sender who wants to transmit the virtual asset while the DIDs of users and virtual asset service providing servers are registered in the blockchain network When the first virtual asset service providing server that manages the recipient virtual asset address by transmitting the virtual asset to the recipient terminal acquires a virtual asset transaction for the transfer of the virtual asset, the first virtual asset service providing server, By broadcasting the identity resolution request corresponding to the sender virtual asset address to the blockchain network, at least one or more virtual asset service providing servers participating as nodes in the blockchain network, respectively, the sender virtual asset address checking whether it is a managed virtual asset address;
(b) when a response corresponding to the identity resolution request is received from a second virtual asset service providing server that has confirmed that the sender virtual asset address is managed by the sender virtual asset address, the first virtual asset service providing server includes recipient information - The receiver information includes a receiver signature value and a receiver DID that signed the receiver Verifiable Credential (VC) with the receiver private key - Recipient authentication including a first server signature value and a first server DID signed with the first server private key Transmitting a transaction to the second virtual asset service providing server to cause the second virtual asset service providing server to access the first server DID from the blockchain network using the first server DID included in the recipient authentication transaction obtain a corresponding first server public key, decrypt the first server signature value included in the recipient information VC using the first server public key to obtain the recipient information, and Obtain the recipient public key corresponding to the recipient DID from the blockchain network using the recipient DID, and use the recipient public key to decrypt the recipient signature value included in the recipient information to obtain the recipient VC to verify the receiver VC through the blockchain network, and when the verification is completed, sender information - the sender information includes the sender signature value and the sender DID that signed the sender VC (Verifiable Credential) with the sender private key transmitting a sender authentication transaction including a second server signature value and a second server DID signed with the second server private key; and
(c) upon receiving the sender authentication transaction, the first virtual asset service providing server uses the second server DID included in the sender authentication transaction to receive a second server DID corresponding to the second server DID from the blockchain network. 2 Obtain a server public key, decrypt the second server signature value included in the sender authentication transaction using the second server public key to obtain the sender information, and obtain the sender DID included in the sender information to obtain the sender public key corresponding to the sender DID from the blockchain network using the storing the verification record after verifying through , and then registering an additive transfer transaction in the blockchain network so that the virtual asset is transferred from the sender virtual asset address to the receiver virtual asset address;
including,
In step (b),
The first virtual asset service providing server is configured to cause the second virtual asset service providing server to (i) obtain the first server public key from the blockchain network by using the first server DID. Obtain the first server public key corresponding to the server DID, or obtain the first server DID document corresponding to the first server DID from the blockchain network using the first server DID through a resolver server obtain the first server public key from the first server DID document, and (ii) use the recipient DID to obtain the recipient public key, the recipient public corresponding to the recipient DID from the blockchain network Obtain the key or obtain the recipient DID document corresponding to the recipient DID from the blockchain network using the recipient DID through a resolver server to obtain the recipient public key from the recipient DID document How to characterize.
삭제delete 탈중앙화 아이디(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를 획득하여 상기 블록체인 네트워크를 통해 검증한 후 검증 기록을 저장한 다음, 상기 가상 자산을 상기 송신자 가상 자산 어드레스로부터 상기 수신자 가상 자산 어드레스로 전송되도록 가산 전송 트랜잭션을 상기 블록체인 네트워크에 등록하는 단계;
를 포함하되,
상기 (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를 검증하도록 하는 것을 특징으로 하는 방법.
In the method of providing a virtual asset service based on a decentralized ID (Decentralized Identifier; DID),
(a) Using the recipient virtual asset address corresponding to the recipient to receive the virtual asset from the sender terminal of the sender who wants to transmit the virtual asset while the DIDs of users and virtual asset service providing servers are registered in the blockchain network When the first virtual asset service providing server that manages the recipient virtual asset address by transmitting the virtual asset to the recipient terminal acquires a virtual asset transaction for the transfer of the virtual asset, the first virtual asset service providing server, By broadcasting the identity resolution request corresponding to the sender virtual asset address to the blockchain network, at least one or more virtual asset service providing servers participating as nodes in the blockchain network, respectively, the sender virtual asset address checking whether it is a managed virtual asset address;
(b) when a response corresponding to the identity resolution request is received from a second virtual asset service providing server that has confirmed that the sender virtual asset address is managed by the sender virtual asset address, the first virtual asset service providing server includes recipient information - The receiver information includes a receiver signature value and a receiver DID that signed the receiver Verifiable Credential (VC) with the receiver private key - Recipient authentication including a first server signature value and a first server DID signed with the first server private key Transmitting a transaction to the second virtual asset service providing server to cause the second virtual asset service providing server to access the first server DID from the blockchain network using the first server DID included in the recipient authentication transaction obtain a corresponding first server public key, decrypt the first server signature value included in the recipient information VC using the first server public key to obtain the recipient information, and Obtain the recipient public key corresponding to the recipient DID from the blockchain network using the recipient DID, and use the recipient public key to decrypt the recipient signature value included in the recipient information to obtain the recipient VC to verify the receiver VC through the blockchain network, and when the verification is completed, sender information - the sender information includes the sender signature value and the sender DID that signed the sender VC (Verifiable Credential) with the sender private key transmitting a sender authentication transaction including a second server signature value and a second server DID signed with the second server private key; and
(c) upon receiving the sender authentication transaction, the first virtual asset service providing server uses the second server DID included in the sender authentication transaction to receive a second server DID corresponding to the second server DID from the blockchain network. 2 Obtain a server public key, decrypt the second server signature value included in the sender authentication transaction using the second server public key to obtain the sender information, and obtain the sender DID included in the sender information to obtain the sender public key corresponding to the sender DID from the blockchain network using the storing the verification record after verifying through , and then registering an additive transfer transaction in the blockchain network so that the virtual asset is transferred from the sender virtual asset address to the receiver virtual asset address;
including,
In step (a),
The first virtual asset service providing server further includes a first server authentication signature value that signed a first server VC with the first server private key and the first server DID in the identity resolution request to the blockchain network by broadcasting to the second virtual asset service providing server, which has confirmed that it manages the sender virtual asset address included in the identity resolution request, to retrieve the first server DID included in the identity resolution request to verify the first server public key from the block chain network using, or obtain a first server DID document corresponding to the first server DID from the block chain network using the first server DID through a resolver server and then confirm the first server public key through the first server DID document, decrypt the first server authentication signature value using the first server public key to obtain the first server VC, and A method characterized in that the first server VC is verified through a blockchain network.
탈중앙화 아이디(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 가상 자산 서비스 제공 서버로 하여금 제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를 검증하는 것을 특징으로 하는 방법.
In the method of providing a virtual asset service based on a decentralized ID (Decentralized Identifier; DID),
(a) Using the recipient virtual asset address corresponding to the recipient to receive the virtual asset from the sender terminal of the sender who wants to transmit the virtual asset while the DIDs of users and virtual asset service providing servers are registered in the blockchain network When the first virtual asset service providing server that manages the recipient virtual asset address by transmitting the virtual asset to the recipient terminal acquires a virtual asset transaction for the transfer of the virtual asset, the first virtual asset service providing server, By broadcasting the identity resolution request corresponding to the sender virtual asset address to the blockchain network, at least one or more virtual asset service providing servers participating as nodes in the blockchain network, respectively, the sender virtual asset address checking whether it is a managed virtual asset address;
(b) when a response corresponding to the identity resolution request is received from a second virtual asset service providing server that has confirmed that the sender virtual asset address is managed by the sender virtual asset address, the first virtual asset service providing server includes recipient information - The receiver information includes a receiver signature value and a receiver DID that signed the receiver Verifiable Credential (VC) with the receiver private key - Recipient authentication including a first server signature value and a first server DID signed with the first server private key Transmitting a transaction to the second virtual asset service providing server to cause the second virtual asset service providing server to access the first server DID from the blockchain network using the first server DID included in the recipient authentication transaction obtain a corresponding first server public key, decrypt the first server signature value included in the recipient information VC using the first server public key to obtain the recipient information, and Obtain the recipient public key corresponding to the recipient DID from the blockchain network using the recipient DID, and use the recipient public key to decrypt the recipient signature value included in the recipient information to obtain the recipient VC to verify the receiver VC through the blockchain network, and when the verification is completed, sender information - the sender information includes the sender signature value and the sender DID that signed the sender VC (Verifiable Credential) with the sender private key transmitting a sender authentication transaction including a second server signature value and a second server DID signed with the second server private key; and
(c) upon receiving the sender authentication transaction, the first virtual asset service providing server uses the second server DID included in the sender authentication transaction to receive a second server DID corresponding to the second server DID from the blockchain network. 2 Obtain a server public key, decrypt the second server signature value included in the sender authentication transaction using the second server public key to obtain the sender information, and obtain the sender DID included in the sender information to obtain the sender public key corresponding to the sender DID from the blockchain network using the storing the verification record after verifying through , and then registering an additive transfer transaction in the blockchain network so that the virtual asset is transferred from the sender virtual asset address to the receiver virtual asset address;
including,
In step (b),
The first virtual asset service providing server causes the second virtual asset service providing server to include a second server authentication signature value and the second server DID, which signed the second server VC with the second server private key, to the response. In addition, upon receiving the response, the second server public key is checked from the block chain network using the second server DID included in the response, or the second server through a resolver server Obtaining a second server DID document corresponding to the second server DID from the block chain network using DID, and then verifying the second server public key through the second server DID document to determine the second server public key to obtain the second server VC by decrypting the second server authentication signature value using
탈중앙화 아이디(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 가상 자산 서비스 제공 서버는, 상기 수신자 단말로 수신자 서명 트랜잭션을 요청하여 상기 수신자 정보를 획득하는 것을 특징으로 하는 방법.
In the method of providing a virtual asset service based on a decentralized ID (Decentralized Identifier; DID),
(a) Using the recipient virtual asset address corresponding to the recipient to receive the virtual asset from the sender terminal of the sender who wants to transmit the virtual asset while the DIDs of users and virtual asset service providing servers are registered in the blockchain network to transmit the virtual asset to the recipient terminal, when the first virtual asset service providing server managing the recipient virtual asset address acquires a virtual asset transaction for the transfer of the virtual asset, the first virtual asset service providing server, By broadcasting the identity resolution request corresponding to the sender virtual asset address to the blockchain network, at least one or more virtual asset service providing servers participating as nodes in the blockchain network, respectively, the sender virtual asset address checking whether it is a managed virtual asset address;
(b) when a response corresponding to the identity resolution request is received from a second virtual asset service providing server that has confirmed that the sender virtual asset address is managed by the sender virtual asset address, the first virtual asset service providing server includes recipient information - The receiver information includes a receiver signature value and a receiver DID that signed the receiver Verifiable Credential (VC) with the receiver private key - Recipient authentication including a first server signature value and a first server DID signed with the first server private key Transmitting a transaction to the second virtual asset service providing server to cause the second virtual asset service providing server to access the first server DID from the blockchain network using the first server DID included in the recipient authentication transaction obtain a corresponding first server public key, decrypt the first server signature value included in the recipient information VC using the first server public key to obtain the recipient information, and Obtain the recipient public key corresponding to the recipient DID from the blockchain network using the recipient DID, and use the recipient public key to decrypt the recipient signature value included in the recipient information to obtain the recipient VC to verify the receiver VC through the blockchain network, and when the verification is completed, sender information - the sender information includes the sender signature value and the sender DID that signed the sender VC (Verifiable Credential) with the sender private key transmitting a sender authentication transaction including a second server signature value and a second server DID signed with the second server private key; and
(c) upon receiving the sender authentication transaction, the first virtual asset service providing server uses the second server DID included in the sender authentication transaction to receive a second server DID corresponding to the second server DID from the blockchain network. 2 Obtain a server public key, decrypt the second server signature value included in the sender authentication transaction using the second server public key to obtain the sender information, and obtain the sender DID included in the sender information to obtain the sender public key corresponding to the sender DID from the blockchain network using the storing the verification record after verifying through , and then registering an additive transfer transaction in the blockchain network so that the virtual asset is transferred from the sender virtual asset address to the receiver virtual asset address;
including,
In step (b),
The method of claim 1, wherein the first virtual asset service providing server obtains the recipient information by requesting a recipient signature transaction to the recipient terminal.
탈중앙화 아이디(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 가상 자산 서비스 제공 서버로 하여금 상기 송신자 단말로 송신자 서명 트랜잭션을 요청하여 상기 송신자 정보를 획득하도록 하는 것을 특징으로 하는 방법.
In the method of providing a virtual asset service based on a decentralized ID (Decentralized Identifier; DID),
(a) Using the recipient virtual asset address corresponding to the recipient to receive the virtual asset from the sender terminal of the sender who wants to transmit the virtual asset while the DIDs of users and virtual asset service providing servers are registered in the blockchain network When the first virtual asset service providing server that manages the recipient virtual asset address by transmitting the virtual asset to the recipient terminal acquires a virtual asset transaction for the transfer of the virtual asset, the first virtual asset service providing server, By broadcasting the identity resolution request corresponding to the sender virtual asset address to the blockchain network, at least one or more virtual asset service providing servers participating as nodes in the blockchain network, respectively, the sender virtual asset address checking whether it is a managed virtual asset address;
(b) when a response corresponding to the identity resolution request is received from a second virtual asset service providing server that has confirmed that the sender virtual asset address is managed by the sender virtual asset address, the first virtual asset service providing server includes recipient information - The receiver information includes a receiver signature value and a receiver DID that signed the receiver Verifiable Credential (VC) with the receiver private key - Recipient authentication including a first server signature value and a first server DID signed with the first server private key Transmitting a transaction to the second virtual asset service providing server so that the second virtual asset service providing server uses the first server DID included in the recipient authentication transaction from the blockchain network to the first server DID obtain a corresponding first server public key, decrypt the first server signature value included in the recipient information VC using the first server public key to obtain the recipient information, and Obtain the recipient public key corresponding to the recipient DID from the blockchain network using the recipient DID, and use the recipient public key to decrypt the recipient signature value included in the recipient information to obtain the recipient VC to verify the receiver VC through the blockchain network, and when the verification is completed, sender information - the sender information includes the sender signature value and the sender DID that signed the sender VC (Verifiable Credential) with the sender private key transmitting a sender authentication transaction including a second server signature value and a second server DID signed with the second server private key; and
(c) upon receiving the sender authentication transaction, the first virtual asset service providing server uses the second server DID included in the sender authentication transaction to receive a second server DID corresponding to the second server DID from the blockchain network. 2 obtain a server public key, decrypt the second server signature value included in the sender authentication transaction using the second server public key to obtain the sender information, and obtain the sender DID included in the sender information to obtain the sender public key corresponding to the sender DID from the blockchain network using the storing a verification record after verifying through , and then registering an add-on transfer transaction in the blockchain network so that the virtual asset is transferred from the sender virtual asset address to the receiver virtual asset address;
including,
In step (b),
The method of claim 1, wherein the first virtual asset service providing server causes the second virtual asset service providing server to request a sender signature transaction to the sender terminal to obtain the sender information.
탈중앙화 아이디(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를 획득하여 상기 블록체인 네트워크를 통해 검증한 후 검증 기록을 저장한 다음, 상기 가상 자산을 상기 송신자 가상 자산 어드레스로부터 상기 수신자 가상 자산 어드레스로 전송되도록 가산 전송 트랜잭션을 상기 블록체인 네트워크에 등록하는 단계;
를 포함하되,
상기 (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에서 상기 송신자 퍼블릭 키를 획득할 수 있는 것을 특징으로 하는 방법.
In the method of providing a virtual asset service based on a decentralized ID (Decentralized Identifier; DID),
(a) Using the recipient virtual asset address corresponding to the recipient to receive the virtual asset from the sender terminal of the sender who wants to transmit the virtual asset while the DIDs of users and virtual asset service providing servers are registered in the blockchain network When the first virtual asset service providing server that manages the recipient virtual asset address by transmitting the virtual asset to the recipient terminal acquires a virtual asset transaction for the transfer of the virtual asset, the first virtual asset service providing server, By broadcasting the identity resolution request corresponding to the sender virtual asset address to the blockchain network, at least one or more virtual asset service providing servers participating as nodes in the blockchain network, respectively, the sender virtual asset address checking whether it is a managed virtual asset address;
(b) when a response corresponding to the identity resolution request is received from a second virtual asset service providing server that has confirmed that the sender virtual asset address is managed by the sender virtual asset address, the first virtual asset service providing server includes recipient information - The receiver information includes a receiver signature value and a receiver DID that signed the receiver Verifiable Credential (VC) with the receiver private key - Recipient authentication including a first server signature value and a first server DID signed with the first server private key Transmitting a transaction to the second virtual asset service providing server so that the second virtual asset service providing server uses the first server DID included in the recipient authentication transaction from the blockchain network to the first server DID obtain a corresponding first server public key, decrypt the first server signature value included in the recipient information VC using the first server public key to obtain the recipient information, and Obtain the recipient public key corresponding to the recipient DID from the blockchain network using the recipient DID, and use the recipient public key to decrypt the recipient signature value included in the recipient information to obtain the recipient VC to verify the receiver VC through the blockchain network, and when the verification is completed, sender information - the sender information includes the sender signature value and the sender DID that signed the sender VC (Verifiable Credential) with the sender private key transmitting a sender authentication transaction including a second server signature value and a second server DID signed with the second server private key; and
(c) upon receiving the sender authentication transaction, the first virtual asset service providing server uses the second server DID included in the sender authentication transaction to receive a second server DID corresponding to the second server DID from the blockchain network. 2 obtain a server public key, decrypt the second server signature value included in the sender authentication transaction using the second server public key to obtain the sender information, and obtain the sender DID included in the sender information to obtain the sender public key corresponding to the sender DID from the blockchain network using the storing a verification record after verifying through , and then registering an add-on transfer transaction in the blockchain network so that the virtual asset is transferred from the sender virtual asset address to the receiver virtual asset address;
including,
In step (c),
The first virtual asset service providing server is configured to: (i) use the second server DID to obtain the second server public key, and the second server public key corresponding to the second server DID from the blockchain network or by using the second server DID through a resolver server to obtain a second server DID document corresponding to the second server DID from the block chain network to obtain the second server public key from the second server DID document (ii) to obtain the sender public key corresponding to the sender DID from the blockchain network using the sender DID to obtain the sender public key, or to obtain the sender DID through a resolver server The method of claim 1, wherein the sender public key can be obtained from the sender DID document by obtaining a sender DID document corresponding to the sender DID from the block chain network using
탈중앙화 아이디(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에서 상기 송신자 퍼블릭 키를 획득하도록 하는 것을 특징으로 하는 가상 자산 서비스 제공 서버.
In the virtual asset service providing server that provides a virtual asset service based on a decentralized ID (Decentralized Identifier; DID),
a memory in which instructions for providing a DID-based virtual asset service are stored; and
a processor that performs an operation for providing the DID-based virtual asset service according to the instructions stored in the memory;
including,
The processor is configured to: (I) In a state in which DIDs of users and virtual asset service providing servers are registered in the blockchain network, a recipient virtual When a virtual asset transfer request including an asset address is obtained, an identity resolution request including the recipient virtual asset address is broadcast to the blockchain network, and at least one or more virtual assets each participating as a node in the blockchain network a process for causing service providing servers to verify that the recipient virtual asset address is a virtual asset address managed by them; (II) from another virtual asset service providing server confirming that the recipient virtual asset address is managed When a response corresponding to the identity resolution request is received, the sender information - the sender information includes the sender signature value and the sender DID that signed the sender VC (Verifiable Credential) with the sender private key - signed with the first server private key A sender authentication transaction including a first server signature value and a first server DID is transmitted to the other virtual asset service providing server to cause the other virtual asset service providing server to retrieve the first server DID included in the sender authentication transaction. to obtain the first server public key corresponding to the first server DID from the blockchain network using the first server public key to decrypt the first server signature value included in the sender authentication transaction using the first server public key obtain the sender information, and obtain a sender public key corresponding to the sender DID from the blockchain network using the sender DID included in the sender information, and use the sender public key to access the sender information Decrypt the included sender signature value to obtain the sender VC, and The sender VC is verified, and when the verification is completed, the receiver information - the receiver information includes the receiver signature value and the receiver DID that signed the receiver VC with the receiver private key - A second server signature value signed with the second server private key, and a process for sending a recipient authentication transaction comprising a second server DID; and (III) upon receiving the recipient authentication transaction, the second server DID included in the recipient authentication transaction is used to send the second server DID from the blockchain network. Obtaining a second server public key corresponding to the 2 server DID, and decrypting the second server signature value included in the recipient authentication transaction using the second server public key to obtain the recipient information, the recipient information Obtain a recipient public key corresponding to the recipient DID from the block chain network using the recipient DID included in the recipient VC, and decrypt the recipient signature value included in the recipient information using the recipient public key After obtaining and verifying through the blockchain network, store the verification record, and then create an additional transfer transaction to transfer the virtual asset from the sender virtual asset address to the receiver virtual asset address and register it in the blockchain network carry out the process, but
In the process (II) above,
The processor is configured to: (i) use the first server DID to cause the other virtual asset service providing server to obtain the first server public key, and the first server DID corresponding to the first server DID from the blockchain network. In the first server DID document by obtaining a server public key or by obtaining a first server DID document corresponding to the first server DID from the blockchain network using the first server DID through a resolver server obtain the first server public key; (ii) obtain the sender public key corresponding to the sender DID from the blockchain network using the sender DID to obtain the sender public key, or a resolver A virtual asset service providing server, characterized in that by using the sender DID through a server to obtain a sender DID document corresponding to the sender DID from the block chain network, and to obtain the sender public key from the sender DID document.
삭제delete 탈중앙화 아이디(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를 획득하여 상기 블록체인 네트워크를 통해 검증한 후 검증 기록을 저장한 다음, 상기 가상 자산을 송신자 가상 자산 어드레스로부터 상기 수신자 가상 자산 어드레스로 전송하여 주기 위한 가산 전송 트랜잭션을 생성하여 상기 블록체인 네트워크에 등록하는 프로세스를 수행하되,
상기 (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를 검증하도록 하는 것을 특징으로 하는 가상 자산 서비스 제공 서버.
In the virtual asset service providing server that provides a virtual asset service based on a decentralized ID (Decentralized Identifier; DID),
a memory in which instructions for providing a DID-based virtual asset service are stored; and
a processor that performs an operation for providing the DID-based virtual asset service according to the instructions stored in the memory;
including,
The processor is configured to: (I) In a state in which DIDs of users and virtual asset service providing servers are registered in the blockchain network, a recipient virtual When a virtual asset transfer request including an asset address is obtained, an identity resolution request including the recipient virtual asset address is broadcast to the blockchain network, and at least one or more virtual assets each participating as a node in the blockchain network a process for causing service providing servers to verify that the recipient virtual asset address is a virtual asset address managed by them; (II) from another virtual asset service providing server confirming that the recipient virtual asset address is managed When a response corresponding to the identity resolution request is received, the sender information - the sender information includes the sender signature value and the sender DID that signed the sender VC (Verifiable Credential) with the sender private key - signed with the first server private key A sender authentication transaction including a first server signature value and a first server DID is transmitted to the other virtual asset service providing server to cause the other virtual asset service providing server to retrieve the first server DID included in the sender authentication transaction. to obtain the first server public key corresponding to the first server DID from the blockchain network using the first server public key to decrypt the first server signature value included in the sender authentication transaction using the first server public key obtain the sender information, and obtain a sender public key corresponding to the sender DID from the blockchain network using the sender DID included in the sender information, and use the sender public key to access the sender information Decrypt the included sender signature value to obtain the sender VC, and The sender VC is verified, and when the verification is completed, the receiver information - the receiver information includes the receiver signature value and the receiver DID that signed the receiver VC with the receiver private key - A second server signature value signed with the second server private key, and a process for sending a recipient authentication transaction comprising a second server DID; and (III) upon receiving the recipient authentication transaction, the second server DID included in the recipient authentication transaction is used to send the second server DID from the blockchain network. Obtaining a second server public key corresponding to the 2 server DID, and decrypting the second server signature value included in the recipient authentication transaction using the second server public key to obtain the recipient information, the recipient information Obtain a recipient public key corresponding to the recipient DID from the block chain network using the recipient DID included in the recipient VC, and decrypt the recipient signature value included in the recipient information using the recipient public key After obtaining and verifying through the blockchain network, store the verification record, and then create an additional transfer transaction to transfer the virtual asset from the sender virtual asset address to the receiver virtual asset address and register it in the blockchain network carry out the process, but
In the process (I) above,
The processor further includes the first server authentication signature value and the first server DID that signed the first server VC with the first server private key in the identity resolution request to broadcast to the blockchain network, Allow the other virtual asset service providing server, which has confirmed that it manages the recipient virtual asset address included in the identity resolution request, from the blockchain network using the first server DID included in the identity resolution request. Confirm the first server public key, or obtain the first server DID document corresponding to the first server DID from the blockchain network using the first server DID through a resolver server, and then the first server By verifying the first server public key through the DID document, the first server authentication signature value is decrypted using the first server public key to obtain the first server VC, and the first server VC is obtained through the block chain network. 1 Virtual asset service providing server, characterized in that to verify the server VC.
탈중앙화 아이디(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) 프로세스에서,
상기 프로세서는, 상기 타 가상 자산 서비스 제공 서버로 하여금 제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를 검증하는 것을 특징으로 하는 가상 자산 서비스 제공 서버.
In the virtual asset service providing server that provides a virtual asset service based on a decentralized ID (Decentralized Identifier; DID),
a memory in which instructions for providing a DID-based virtual asset service are stored; and
a processor that performs an operation for providing the DID-based virtual asset service according to the instructions stored in the memory;
including,
The processor is configured to: (I) In a state in which the DIDs of users and virtual asset service providing servers are registered in the blockchain network, a receiver virtual When a virtual asset transfer request including an asset address is obtained, an identity resolution request including the recipient virtual asset address is broadcast to the blockchain network, and at least one or more virtual assets each participating as a node in the blockchain network a process for causing service providing servers to verify that the recipient virtual asset address is a virtual asset address managed by them; (II) from another virtual asset service providing server confirming that the recipient virtual asset address is managed When a response corresponding to the identity resolution request is received, the sender information - the sender information includes the sender signature value and the sender DID that signed the sender VC (Verifiable Credential) with the sender private key - signed with the first server private key A sender authentication transaction including a first server signature value and a first server DID is transmitted to the other virtual asset service providing server to cause the other virtual asset service providing server to retrieve the first server DID included in the sender authentication transaction. to obtain a first server public key corresponding to the first server DID from the blockchain network using the first server public key to decrypt the first server signature value included in the sender authentication transaction using the first server public key obtain the sender information, and obtain a sender public key corresponding to the sender DID from the blockchain network using the sender DID included in the sender information, and use the sender public key to access the sender information Decrypt the included sender signature value to obtain the sender VC, and Let the sender VC be verified, and when the verification is completed, the receiver information - the receiver information includes the receiver signature value and the receiver DID that signed the receiver VC with the receiver private key - A second server signature value signed with the second server private key, and a process for sending a recipient authentication transaction comprising a second server DID; and (III) upon receiving the recipient authentication transaction, the second server DID included in the recipient authentication transaction is used to send the second server DID from the blockchain network. Obtaining a second server public key corresponding to 2 server DID, and decrypting the second server signature value included in the recipient authentication transaction by using the second server public key to obtain the recipient information, the recipient information Obtain a recipient public key corresponding to the recipient DID from the block chain network using the recipient DID included in the recipient VC, and decrypt the recipient signature value included in the recipient information using the recipient public key After obtaining and verifying through the blockchain network, store the verification record, and then create an additional transfer transaction to transfer the virtual asset from the sender virtual asset address to the receiver virtual asset address and register it in the blockchain network carry out the process, but
In the process (II) above,
The processor causes the other virtual asset service providing server to further include, in the response, a second server authentication signature value and the second server DID for signing a second server VC with the second server private key, When a response is received, the second server public key is checked from the block chain network using the second server DID included in the response, or the block chain using the second server DID through a resolver server After obtaining a second server DID document corresponding to the second server DID from the network, the second server public key is checked through the second server DID document, and the second server using the second server public key A virtual asset service providing server, characterized in that by decrypting the authentication signature value to obtain the second server VC, and verifying the second server VC through the block chain network.
탈중앙화 아이디(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) 프로세스에서,
상기 프로세서는, 상기 송신자 정보를 상기 송신자로부터 획득하되, 상기 송신자 정보를 상기 송신자 단말로부터의 상기 가상 자산 전송 요청에 포함하여 전송되도록 함으로써 획득하거나 상기 송신자 단말로 별도의 송신자 서명 트랜잭션을 요청하여 획득하는 것을 특징으로 하는 가상 자산 서비스 제공 서버.
In the virtual asset service providing server that provides a virtual asset service based on a decentralized ID (Decentralized Identifier; DID),
a memory in which instructions for providing a DID-based virtual asset service are stored; and
a processor that performs an operation for providing the DID-based virtual asset service according to the instructions stored in the memory;
including,
The processor is configured to: (I) In a state in which the DIDs of users and virtual asset service providing servers are registered in the blockchain network, a receiver virtual When a virtual asset transfer request including an asset address is obtained, an identity resolution request including the recipient virtual asset address is broadcast to the blockchain network, and at least one or more virtual assets each participating as a node in the blockchain network a process for causing service providing servers to verify that the recipient virtual asset address is a virtual asset address managed by them; (II) from another virtual asset service providing server confirming that the recipient virtual asset address is managed When a response corresponding to the identity resolution request is received, the sender information - the sender information includes the sender signature value and the sender DID that signed the sender VC (Verifiable Credential) with the sender private key - signed with the first server private key A sender authentication transaction including a first server signature value and a first server DID is transmitted to the other virtual asset service providing server to cause the other virtual asset service providing server to retrieve the first server DID included in the sender authentication transaction. to obtain a first server public key corresponding to the first server DID from the blockchain network using the first server public key to decrypt the first server signature value included in the sender authentication transaction using the first server public key obtain the sender information, and obtain a sender public key corresponding to the sender DID from the blockchain network using the sender DID included in the sender information, and use the sender public key to access the sender information Decrypt the included sender signature value to obtain the sender VC, and Let the sender VC be verified, and when the verification is completed, the receiver information - the receiver information includes the receiver signature value and the receiver DID that signed the receiver VC with the receiver private key - A second server signature value signed with the second server private key, and a process for sending a recipient authentication transaction comprising a second server DID; and (III) upon receiving the recipient authentication transaction, the second server DID included in the recipient authentication transaction is used to send the second server DID from the blockchain network. Obtaining a second server public key corresponding to 2 server DID, and decrypting the second server signature value included in the recipient authentication transaction by using the second server public key to obtain the recipient information, the recipient information Obtain a recipient public key corresponding to the recipient DID from the block chain network using the recipient DID included in the recipient VC, and decrypt the recipient signature value included in the recipient information using the recipient public key After obtaining and verifying through the blockchain network, store the verification record, and then create an additional transfer transaction to transfer the virtual asset from the sender virtual asset address to the receiver virtual asset address and register it in the blockchain network carry out the process, but
In the process (II) above,
The processor obtains the sender information from the sender, by including the sender information in the virtual asset transmission request from the sender terminal to be transmitted, or by requesting a separate sender signature transaction to the sender terminal to obtain Virtual asset service providing server, characterized in that.
탈중앙화 아이디(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) 프로세스에서,
상기 프로세서는, 상기 타 가상 자산 서비스 제공 서버로 하여금 수신자 단말로 수신자 서명 트랜잭션을 요청하여 상기 수신자 정보를 획득하도록 하는 것을 특징으로 하는 가상 자산 서비스 제공 서버.
In the virtual asset service providing server that provides a virtual asset service based on a decentralized ID (Decentralized Identifier; DID),
a memory in which instructions for providing a DID-based virtual asset service are stored; and
a processor that performs an operation for providing the DID-based virtual asset service according to the instructions stored in the memory;
including,
The processor is configured to: (I) In a state in which the DIDs of users and virtual asset service providing servers are registered in the blockchain network, a receiver virtual When a virtual asset transfer request including an asset address is obtained, an identity resolution request including the recipient virtual asset address is broadcast to the blockchain network, and at least one or more virtual assets each participating as a node in the blockchain network a process for causing service providing servers to verify that the recipient virtual asset address is a virtual asset address managed by them; (II) from another virtual asset service providing server confirming that the recipient virtual asset address is managed When a response corresponding to the identity resolution request is received, the sender information - the sender information includes the sender signature value and the sender DID that signed the sender VC (Verifiable Credential) with the sender private key - signed with the first server private key A sender authentication transaction including a first server signature value and a first server DID is transmitted to the other virtual asset service providing server to cause the other virtual asset service providing server to retrieve the first server DID included in the sender authentication transaction. to obtain a first server public key corresponding to the first server DID from the blockchain network using the first server public key to decrypt the first server signature value included in the sender authentication transaction using the first server public key obtain the sender information, and obtain a sender public key corresponding to the sender DID from the blockchain network using the sender DID included in the sender information, and use the sender public key to access the sender information Decrypt the included sender signature value to obtain the sender VC, and Let the sender VC be verified, and when the verification is completed, the receiver information - the receiver information includes the receiver signature value and the receiver DID that signed the receiver VC with the receiver private key - A second server signature value signed with the second server private key, and a process for sending a recipient authentication transaction comprising a second server DID; and (III) upon receiving the recipient authentication transaction, the second server DID included in the recipient authentication transaction is used to send the second server DID from the blockchain network. Obtaining a second server public key corresponding to 2 server DID, and decrypting the second server signature value included in the recipient authentication transaction by using the second server public key to obtain the recipient information, the recipient information Obtain a recipient public key corresponding to the recipient DID from the block chain network using the recipient DID included in the recipient VC, and decrypt the recipient signature value included in the recipient information using the recipient public key After obtaining and verifying through the blockchain network, store the verification record, and then create an additional transfer transaction to transfer the virtual asset from the sender virtual asset address to the receiver virtual asset address and register it in the blockchain network carry out the process, but
In the process (II) above,
and the processor is configured to cause the other virtual asset service providing server to obtain the recipient information by requesting a recipient signature transaction from a recipient terminal.
탈중앙화 아이디(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를 획득하여 상기 블록체인 네트워크를 통해 검증한 후 검증 기록을 저장한 다음, 상기 가상 자산을 송신자 가상 자산 어드레스로부터 상기 수신자 가상 자산 어드레스로 전송하여 주기 위한 가산 전송 트랜잭션을 생성하여 상기 블록체인 네트워크에 등록하는 프로세스를 수행하되,
상기 (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에서 상기 수신자 퍼블릭 키를 획득할 수 있는 것을 특징으로 하는 가상 자산 서비스 제공 서버.
In the virtual asset service providing server that provides a virtual asset service based on a decentralized ID (Decentralized Identifier; DID),
a memory in which instructions for providing a DID-based virtual asset service are stored; and
a processor that performs an operation for providing the DID-based virtual asset service according to the instructions stored in the memory;
including,
The processor is configured to: (I) In a state in which the DIDs of users and virtual asset service providing servers are registered in the blockchain network, a receiver virtual When a virtual asset transfer request including an asset address is obtained, an identity resolution request including the recipient virtual asset address is broadcast to the blockchain network, and at least one or more virtual assets each participating as a node in the blockchain network a process for causing service providing servers to verify that the recipient virtual asset address is a virtual asset address managed by them; (II) from another virtual asset service providing server confirming that the recipient virtual asset address is managed When a response corresponding to the identity resolution request is received, the sender information - the sender information includes the sender signature value and the sender DID that signed the sender VC (Verifiable Credential) with the sender private key - signed with the first server private key A sender authentication transaction including a first server signature value and a first server DID is transmitted to the other virtual asset service providing server to cause the other virtual asset service providing server to retrieve the first server DID included in the sender authentication transaction. to obtain a first server public key corresponding to the first server DID from the blockchain network using the first server public key to decrypt the first server signature value included in the sender authentication transaction using the first server public key obtain the sender information, and obtain a sender public key corresponding to the sender DID from the blockchain network using the sender DID included in the sender information, and use the sender public key to access the sender information Decrypt the included sender signature value to obtain the sender VC, and Let the sender VC be verified, and when the verification is completed, the receiver information - the receiver information includes the receiver signature value and the receiver DID that signed the receiver VC with the receiver private key - A second server signature value signed with the second server private key, and a process for sending a recipient authentication transaction comprising a second server DID; and (III) upon receiving the recipient authentication transaction, the second server DID included in the recipient authentication transaction is used to send the second server DID from the blockchain network. Obtaining a second server public key corresponding to 2 server DID, and decrypting the second server signature value included in the recipient authentication transaction by using the second server public key to obtain the recipient information, the recipient information Obtain a recipient public key corresponding to the recipient DID from the block chain network using the recipient DID included in the recipient VC, and decrypt the recipient signature value included in the recipient information using the recipient public key After obtaining and verifying through the blockchain network, store the verification record, and then create an additional transfer transaction to transfer the virtual asset from the sender virtual asset address to the receiver virtual asset address and register it in the blockchain network carry out the process, but
In the process (III) above,
The processor is configured to: (i) obtain the second server public key corresponding to the second server DID from the blockchain network using the second server DID to obtain the second server public key, or a resolver server obtaining a second server DID document corresponding to the second server DID from the blockchain network using the second server DID through ) to obtain the recipient public key corresponding to the recipient DID from the blockchain network using the recipient DID to obtain the recipient public key, or from the blockchain network using the recipient DID through a resolver server The virtual asset service providing server of claim 1, wherein the receiver public key can be obtained from the receiver DID document by acquiring a receiver DID document corresponding to the receiver DID.
탈중앙화 아이디(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에서 상기 수신자 퍼블릭 키를 획득하도록 할 수 있는 것을 특징으로 하는 가상 자산 서비스 제공 서버.
In the virtual asset service providing server that provides a virtual asset service based on a decentralized ID (Decentralized Identifier; DID),
a memory in which instructions for providing a DID-based virtual asset service are stored; and
a processor that performs an operation for providing the DID-based virtual asset service according to the instructions stored in the memory;
including,
The processor is configured to: (I) In a state in which DIDs of users and virtual asset service providing servers are registered in the blockchain network, a recipient virtual When the processor managing the recipient virtual asset address by sending the virtual asset to the recipient terminal using the asset address obtains a virtual asset transaction for the transfer of the virtual asset, an identity resolution request corresponding to the sender virtual asset address is broadcast to the blockchain network so that at least one or more virtual asset service providing servers participating as nodes in the blockchain network, respectively, check whether the sender virtual asset address is the virtual asset address they manage , (II) When a response corresponding to the identity resolution request is received from another virtual asset service providing server that has confirmed that the sender virtual asset address is managed by itself, receiver information - the receiver information is a receiver VC (Verifiable Credential) ) including the receiver signature value and the receiver DID signed by the receiver private key to cause the other virtual asset service providing server to obtain a first server public key corresponding to the first server DID from the blockchain network using the first server DID included in the recipient authentication transaction, Decrypt the first server signature value included in the recipient information VC using the first server public key to obtain the recipient information, and use the recipient DID included in the recipient information from the blockchain network to obtain a recipient public key corresponding to the recipient DID, and use the recipient public key to Decrypt the receiver signature value included in the receiver information to obtain the receiver VC to verify the receiver VC through the blockchain network, and when the validation is complete, sender information - the sender information is a sender VC (Verifiable Credential) sending a sender authentication transaction comprising a second server signature value and a second server DID signed with a second server private key, the process comprising: a sender signature value and a sender DID signed with the sender private key; Upon receiving the sender authentication transaction, a second server public key corresponding to the second server DID is obtained from the blockchain network using the second server DID included in the sender authentication transaction, and the second server public key Decrypts the second server signature value included in the sender authentication transaction using Obtain a public key, use the sender public key to decrypt the sender signature value included in the sender information to obtain the sender VC, verify through the blockchain network, store the verification record, and then store the virtual performing a process of registering an add-on transfer transaction in the blockchain network so that an asset is transferred from the sender virtual asset address to the receiver virtual asset address;
In the process (II) above,
The processor is configured to: (i) use the first server DID to cause the other virtual asset service providing server to obtain the first server public key, and the first server DID corresponding to the first server DID from the blockchain network. In the first server DID document by obtaining a server public key or by obtaining a first server DID document corresponding to the first server DID from the blockchain network using the first server DID through a resolver server obtain the first server public key; (ii) obtain the recipient public key corresponding to the recipient DID from the blockchain network using the recipient DID to obtain the recipient public key, or a resolver A virtual asset service characterized in that it is possible to obtain the recipient public key from the recipient DID document by obtaining the recipient DID document corresponding to the recipient DID from the blockchain network using the recipient DID through a server server.
삭제delete 탈중앙화 아이디(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를 획득하여 상기 블록체인 네트워크를 통해 검증한 후 검증 기록을 저장한 다음, 상기 가상 자산을 상기 송신자 가상 자산 어드레스로부터 상기 수신자 가상 자산 어드레스로 전송되도록 가산 전송 트랜잭션을 상기 블록체인 네트워크에 등록하는 프로세스를 수행하되,
상기 (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를 검증하도록 하는 것을 특징으로 하는 가상 자산 서비스 제공 서버.
In the virtual asset service providing server that provides a virtual asset service based on a decentralized ID (Decentralized Identifier; DID),
a memory in which instructions for providing a DID-based virtual asset service are stored; and
a processor that performs an operation for providing the DID-based virtual asset service according to the instructions stored in the memory;
including,
The processor is configured to: (I) In a state in which DIDs of users and virtual asset service providing servers are registered in the blockchain network, a recipient virtual When the processor managing the recipient virtual asset address by sending the virtual asset to the recipient terminal using the asset address obtains a virtual asset transaction for the transfer of the virtual asset, an identity resolution request corresponding to the sender virtual asset address is broadcast to the blockchain network so that at least one or more virtual asset service providing servers participating as nodes in the blockchain network, respectively, check whether the sender virtual asset address is the virtual asset address they manage , (II) When a response corresponding to the identity resolution request is received from another virtual asset service providing server that has confirmed that the sender virtual asset address is managed by itself, receiver information - the receiver information is a receiver VC (Verifiable Credential) ) including the receiver signature value and the receiver DID signed by the receiver private key to cause the other virtual asset service providing server to obtain a first server public key corresponding to the first server DID from the blockchain network using the first server DID included in the recipient authentication transaction, Decrypt the first server signature value included in the recipient information VC using the first server public key to obtain the recipient information, and use the recipient DID included in the recipient information from the blockchain network to obtain a recipient public key corresponding to the recipient DID, and use the recipient public key to Decrypt the receiver signature value included in receiver information to obtain the receiver VC to verify the receiver VC through the blockchain network sending a sender authentication transaction comprising a second server signature value and a second server DID signed with a second server private key, the process comprising: a sender signature value and a sender DID signed with the sender private key; Upon receiving the sender authentication transaction, a second server public key corresponding to the second server DID is obtained from the blockchain network using the second server DID included in the sender authentication transaction, and the second server public key Decrypts the second server signature value included in the sender authentication transaction using Obtain a public key, use the sender public key to decrypt the sender signature value included in the sender information to obtain the sender VC, verify through the blockchain network, store the verification record, and then store the virtual performing a process of registering an add-on transfer transaction in the blockchain network so that an asset is transferred from the sender virtual asset address to the receiver virtual asset address;
In the process (I) above,
The processor further includes the first server authentication signature value and the first server DID that signed the first server VC with the first server private key in the identity resolution request to broadcast to the blockchain network, The other virtual asset service providing server, which has confirmed that it manages the sender virtual asset address included in the identity resolution request, uses the first server DID included in the identity resolution request from the blockchain network. Confirm the first server public key, or obtain the first server DID document corresponding to the first server DID from the blockchain network using the first server DID through a resolver server, and then the first server By verifying the first server public key through the DID document, the first server authentication signature value is decrypted using the first server public key to obtain the first server VC, and the first server VC is obtained through the block chain network. 1 Virtual asset service providing server, characterized in that to verify the server VC.
탈중앙화 아이디(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) 프로세스에서,
상기 프로세서는, 상기 타 가상 자산 서비스 제공 서버로 하여금 제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를 검증하는 것을 특징으로 하는 가상 자산 서비스 제공 서버.
In the virtual asset service providing server that provides a virtual asset service based on a decentralized ID (Decentralized Identifier; DID),
a memory in which instructions for providing a DID-based virtual asset service are stored; and
a processor that performs an operation for providing the DID-based virtual asset service according to the instructions stored in the memory;
including,
The processor is configured to: (I) In a state in which the DIDs of users and virtual asset service providing servers are registered in the blockchain network, a receiver virtual When the processor managing the recipient virtual asset address by sending the virtual asset to the recipient terminal using the asset address obtains a virtual asset transaction for the transfer of the virtual asset, an identity resolution request corresponding to the sender virtual asset address is broadcast to the blockchain network so that at least one or more virtual asset service providing servers participating as nodes in the blockchain network, respectively, check whether the sender virtual asset address is the virtual asset address they manage , (II) When a response corresponding to the identity resolution request is received from another virtual asset service providing server that has confirmed that the sender virtual asset address is managed by itself, receiver information - the receiver information is a receiver VC (Verifiable Credential) ) including the receiver signature value and the receiver DID signed with the receiver private key - Send the receiver authentication transaction including the first server signature value and the first server DID signed with the first server private key to the other virtual asset service providing server to cause the other virtual asset service providing server to obtain a first server public key corresponding to the first server DID from the blockchain network using the first server DID included in the recipient authentication transaction, Decrypt the first server signature value included in the recipient information VC using the first server public key to obtain the recipient information, and use the recipient DID included in the recipient information from the block chain network to obtain a recipient public key corresponding to the recipient DID, and use the recipient public key to Decrypt the receiver signature value included in receiver information to obtain the receiver VC to verify the receiver VC through the blockchain network sending a sender authentication transaction comprising a second server signature value and a second server DID signed with a second server private key, the process comprising: a sender signature value and a sender DID signed with the sender private key; Upon receiving the sender authentication transaction, a second server public key corresponding to the second server DID is obtained from the blockchain network using the second server DID included in the sender authentication transaction, and the second server public key Decrypts the second server signature value included in the sender authentication transaction using Obtain a public key, use the sender public key to decrypt the sender signature value included in the sender information to obtain the sender VC, verify through the blockchain network, store the verification record, and then store the virtual performing a process of registering an add-on transfer transaction in the blockchain network so that an asset is transferred from the sender virtual asset address to the receiver virtual asset address;
In the process (II) above,
The processor causes the other virtual asset service providing server to further include, in the response, a second server authentication signature value and the second server DID for signing a second server VC with the second server private key, When a response is received, the second server public key is checked from the block chain network using the second server DID included in the response, or the block chain using the second server DID through a resolver server After obtaining a second server DID document corresponding to the second server DID from the network, the second server public key is checked through the second server DID document, and the second server using the second server public key A virtual asset service providing server, characterized in that by decrypting the authentication signature value to obtain the second server VC, and verifying the second server VC through the block chain network.
탈중앙화 아이디(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) 프로세스에서,
상기 프로세서는, 상기 수신자 단말로 수신자 서명 트랜잭션을 요청하여 상기 수신자 정보를 획득하는 것을 특징으로 하는 가상 자산 서비스 제공 서버.
In the virtual asset service providing server that provides a virtual asset service based on a decentralized ID (Decentralized Identifier; DID),
a memory in which instructions for providing a DID-based virtual asset service are stored; and
a processor that performs an operation for providing the DID-based virtual asset service according to the instructions stored in the memory;
including,
The processor is configured to: (I) In a state in which the DIDs of users and virtual asset service providing servers are registered in the blockchain network, a receiver virtual When the processor managing the recipient virtual asset address by sending the virtual asset to the recipient terminal using the asset address obtains a virtual asset transaction for the transfer of the virtual asset, an identity resolution request corresponding to the sender virtual asset address is broadcast to the blockchain network so that at least one or more virtual asset service providing servers participating as nodes in the blockchain network, respectively, check whether the sender virtual asset address is the virtual asset address they manage , (II) When a response corresponding to the identity resolution request is received from another virtual asset service providing server that has confirmed that the sender virtual asset address is managed by itself, receiver information - the receiver information is a receiver VC (Verifiable Credential) ) including the receiver signature value and the receiver DID signed with the receiver private key - Send the receiver authentication transaction including the first server signature value and the first server DID signed with the first server private key to the other virtual asset service providing server to cause the other virtual asset service providing server to obtain a first server public key corresponding to the first server DID from the blockchain network using the first server DID included in the recipient authentication transaction, Decrypt the first server signature value included in the recipient information VC using the first server public key to obtain the recipient information, and use the recipient DID included in the recipient information from the block chain network to obtain a recipient public key corresponding to the recipient DID, and use the recipient public key to Decrypt the receiver signature value included in receiver information to obtain the receiver VC to verify the receiver VC through the blockchain network sending a sender authentication transaction comprising a second server signature value and a second server DID signed with a second server private key, the process comprising: a sender signature value and a sender DID signed with the sender private key; Upon receiving the sender authentication transaction, a second server public key corresponding to the second server DID is obtained from the blockchain network using the second server DID included in the sender authentication transaction, and the second server public key Decrypts the second server signature value included in the sender authentication transaction using Obtain a public key, use the sender public key to decrypt the sender signature value included in the sender information to obtain the sender VC, verify through the blockchain network, store the verification record, and then store the virtual performing a process of registering an add-on transfer transaction in the blockchain network so that an asset is transferred from the sender virtual asset address to the receiver virtual asset address;
In the process (II) above,
The processor, Virtual asset service providing server, characterized in that to obtain the receiver information by requesting a receiver signature transaction to the receiver terminal.
탈중앙화 아이디(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) 프로세스에서,
상기 프로세서는, 상기 타 가상 자산 서비스 제공 서버로 하여금 상기 송신자 단말로 송신자 서명 트랜잭션을 요청하여 상기 송신자 정보를 획득하도록 하는 것을 특징으로 하는 가상 자산 서비스 제공 서버.
In the virtual asset service providing server that provides a virtual asset service based on a decentralized ID (Decentralized Identifier; DID),
a memory in which instructions for providing a DID-based virtual asset service are stored; and
a processor that performs an operation for providing the DID-based virtual asset service according to the instructions stored in the memory;
including,
The processor is configured to: (I) In a state in which the DIDs of users and virtual asset service providing servers are registered in the blockchain network, a receiver virtual When the processor managing the recipient virtual asset address by sending the virtual asset to the recipient terminal using the asset address obtains a virtual asset transaction for the transfer of the virtual asset, an identity resolution request corresponding to the sender virtual asset address is broadcast to the blockchain network so that at least one or more virtual asset service providing servers participating as nodes in the blockchain network, respectively, check whether the sender virtual asset address is the virtual asset address they manage , (II) When a response corresponding to the identity resolution request is received from another virtual asset service providing server that has confirmed that the sender virtual asset address is managed by itself, receiver information - the receiver information is a receiver VC (Verifiable Credential) ) including the receiver signature value and the receiver DID signed with the receiver private key - Send the receiver authentication transaction including the first server signature value and the first server DID signed with the first server private key to the other virtual asset service providing server to cause the other virtual asset service providing server to obtain a first server public key corresponding to the first server DID from the blockchain network using the first server DID included in the recipient authentication transaction, Decrypt the first server signature value included in the recipient information VC using the first server public key to obtain the recipient information, and use the recipient DID included in the recipient information from the block chain network to obtain a recipient public key corresponding to the recipient DID, and use the recipient public key to Decrypt the receiver signature value included in receiver information to obtain the receiver VC to verify the receiver VC through the blockchain network sending a sender authentication transaction comprising a second server signature value and a second server DID signed with a second server private key, the process comprising: a sender signature value and a sender DID signed with the sender private key; Upon receiving the sender authentication transaction, a second server public key corresponding to the second server DID is obtained from the blockchain network using the second server DID included in the sender authentication transaction, and the second server public key Decrypts the second server signature value included in the sender authentication transaction using Obtain a public key, use the sender public key to decrypt the sender signature value included in the sender information to obtain the sender VC, verify through the blockchain network, store the verification record, and then store the virtual performing a process of registering an add-on transfer transaction in the blockchain network so that an asset is transferred from the sender virtual asset address to the receiver virtual asset address;
In the process (II) above,
and the processor causes the other virtual asset service providing server to obtain the sender information by requesting a sender signature transaction to the sender terminal.
탈중앙화 아이디(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를 획득하여 상기 블록체인 네트워크를 통해 검증한 후 검증 기록을 저장한 다음, 상기 가상 자산을 상기 송신자 가상 자산 어드레스로부터 상기 수신자 가상 자산 어드레스로 전송되도록 가산 전송 트랜잭션을 상기 블록체인 네트워크에 등록하는 프로세스를 수행하되,
상기 (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에서 상기 송신자 퍼블릭 키를 획득할 수 있는 것을 특징으로 하는 가상 자산 서비스 제공 서버.
In the virtual asset service providing server that provides a virtual asset service based on a decentralized ID (Decentralized Identifier; DID),
a memory in which instructions for providing a DID-based virtual asset service are stored; and
a processor that performs an operation for providing the DID-based virtual asset service according to the instructions stored in the memory;
including,
The processor is configured to: (I) In a state in which DIDs of users and virtual asset service providing servers are registered in the blockchain network, a recipient virtual When the processor managing the recipient virtual asset address by sending the virtual asset to the recipient terminal using the asset address obtains a virtual asset transaction for the transfer of the virtual asset, an identity resolution request corresponding to the sender virtual asset address is broadcast to the blockchain network so that at least one or more virtual asset service providing servers participating as nodes in the blockchain network, respectively, check whether the sender virtual asset address is the virtual asset address they manage , (II) When a response corresponding to the identity resolution request is received from another virtual asset service providing server that has confirmed that the sender virtual asset address is managed by itself, receiver information - the receiver information is a receiver Verifiable Credential (VC) ) including the receiver signature value and the receiver DID signed with the receiver private key - Send the receiver authentication transaction including the first server signature value and the first server DID signed with the first server private key to the other virtual asset service providing server to cause the other virtual asset service providing server to obtain a first server public key corresponding to the first server DID from the blockchain network using the first server DID included in the recipient authentication transaction, Decrypt the first server signature value included in the recipient information VC using the first server public key to obtain the recipient information, and use the recipient DID included in the recipient information from the blockchain network to obtain a recipient public key corresponding to the recipient DID, and use the recipient public key to Decrypt the receiver signature value included in the receiver information to obtain the receiver VC to verify the receiver VC through the blockchain network, and when the validation is complete, sender information - the sender information is a sender VC (Verifiable Credential) sending a sender authentication transaction comprising a second server signature value and a second server DID signed with a second server private key, the process comprising: a sender signature value and a sender DID signed with the sender private key; Upon receiving the sender authentication transaction, a second server public key corresponding to the second server DID is obtained from the blockchain network using the second server DID included in the sender authentication transaction, and the second server public key Decrypting the second server signature value included in the sender authentication transaction using Obtain a public key, use the sender public key to decrypt the sender signature value included in the sender information to obtain the sender VC, verify through the blockchain network, store the verification record, and then store the virtual performing a process of registering an add-on transfer transaction in the blockchain network so that an asset is transferred from the sender virtual asset address to the receiver virtual asset address;
In the process (III) above,
The processor is configured to: (i) obtain the second server public key corresponding to the second server DID from the blockchain network using the second server DID to obtain the second server public key, or a resolver server obtaining a second server DID document corresponding to the second server DID from the blockchain network using the second server DID through ) to obtain the sender public key corresponding to the sender DID from the blockchain network using the sender DID to obtain the sender public key, or use the sender DID through a resolver server to obtain the sender DID and obtaining a sender DID document corresponding to the sender DID from the sender DID document to obtain the sender public key from the sender DID document.
KR1020200184321A 2020-06-26 2020-12-28 Method for providing virtual asset service based on decentralized identity and virtual asset service providing server using them KR102412852B1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020210179208A KR20220000864A (en) 2020-06-26 2021-12-14 Method for providing virtual asset service based on decentralized identity and virtual asset service providing server using them

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 (en) 2020-06-26 2021-12-14 Method for providing virtual asset service based on decentralized identity and virtual asset service providing server using them

Publications (2)

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

Family

ID=79342536

Family Applications (2)

Application Number Title Priority Date Filing Date
KR1020200184321A KR102412852B1 (en) 2020-06-26 2020-12-28 Method for providing virtual asset service based on decentralized identity and virtual asset service providing server using them
KR1020210179208A KR20220000864A (en) 2020-06-26 2021-12-14 Method for providing virtual asset service based on decentralized identity and virtual asset service providing server using them

Family Applications After (1)

Application Number Title Priority Date Filing Date
KR1020210179208A KR20220000864A (en) 2020-06-26 2021-12-14 Method for providing virtual asset service based on decentralized identity and virtual asset service providing server using them

Country Status (1)

Country Link
KR (2) KR102412852B1 (en)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102509731B1 (en) * 2022-12-22 2023-03-15 (주)서울옥션블루 Trading collectables by using non-fungible tokens based on blockchain network and online trading server using the same

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2018045540A (en) * 2016-09-15 2018-03-22 健 坪井 Deposit account information disclosure system including virtual currency address

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101877333B1 (en) * 2017-01-02 2018-08-09 주식회사 코인플러그 Method for authenticating a user without a face-to-face contact by using mobile id based on blockchain, and terminal and server using the same
US11159315B2 (en) 2018-01-22 2021-10-26 Microsoft Technology Licensing, Llc Generating or managing linked decentralized identifiers
CN111164594B (en) 2019-07-02 2023-08-25 创新先进技术有限公司 System and method for mapping a de-centralized identity to a real entity
CN111095865B (en) 2019-07-02 2023-08-04 创新先进技术有限公司 System and method for issuing verifiable claims

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2018045540A (en) * 2016-09-15 2018-03-22 健 坪井 Deposit account information disclosure system including virtual currency address

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
KR20220000798A (en) 2022-01-04
KR20220000864A (en) 2022-01-04

Similar Documents

Publication Publication Date Title
JP7436568B2 (en) Methods and systems realized by blockchain
US10944574B2 (en) Method for providing virtual asset service based on decentralized identifier and virtual asset service providing server using them
TWI725793B (en) System and method for mapping decentralized identifiers to real-world entities
CN111164594B (en) System and method for mapping a de-centralized identity to a real entity
WO2020192743A1 (en) Permission management method, permission validation method and related apparatuses
Liu et al. Toward fairness of cryptocurrency payments
CN110036613B (en) System and method for providing identity authentication for decentralized applications
KR101964254B1 (en) Person to person trading method and apparatus by using blockchain and distributed hash table
Valenta et al. Blindcoin: Blinded, accountable mixes for bitcoin
KR101903620B1 (en) Method for authorizing peer in blockchain based distributed network, and server using the same
KR20190142353A (en) Anonymity and Traceability Improvement Techniques for Digital Asset Transactions in Distributed Transaction Consensus Networks
CN110796449B (en) Transaction processing method, system, medium and computing device
JP7067043B2 (en) Electronic trading equipment, electronic trading methods and programs
CN110599342B (en) Block chain-based identity information authorization method and device
KR102295231B1 (en) Method for distributing collectables ownership based on blockchain networks by using multi-signature and online transaction server using the same
JP2018093434A (en) Transaction management method, transaction management program and transaction management device
US20180019873A1 (en) System and method of cryptographically provable zero knowledge social networking
CN111476572A (en) Data processing method and device based on block chain, storage medium and equipment
KR102227578B1 (en) Method for serving certificate based on zero knowledge proof by using blockchain network, and server and terminal for using them
US20220067717A1 (en) Blockchain system that includes bank nodes each having separate ledgers for identity, digital currency and other functions, and operation method thereof
WO2020240771A1 (en) Virtual currency system, terminal, server, transaction method for virtual currency, and program
CN110889761A (en) Cross-chain transaction method and storage medium
KR102348232B1 (en) Method for providing virtual asset service based on dicentralized identity and virtual asset service providing server using them
JP2022532889A (en) Multiple input transactions
KR102412852B1 (en) Method for providing virtual asset service based on decentralized identity and virtual asset service providing server using them

Legal Events

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