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 PDFInfo
- 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
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION 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/00—Payment architectures, schemes or protocols
- G06Q20/38—Payment protocols; Details thereof
- G06Q20/382—Payment protocols; Details thereof insuring higher security of transaction
- G06Q20/3829—Payment protocols; Details thereof insuring higher security of transaction involving key management
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION 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/00—Payment architectures, schemes or protocols
- G06Q20/38—Payment protocols; Details thereof
- G06Q20/382—Payment protocols; Details thereof insuring higher security of transaction
- G06Q20/3825—Use of electronic signatures
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION 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/00—Payment architectures, schemes or protocols
- G06Q20/38—Payment protocols; Details thereof
- G06Q20/40—Authorisation, 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/401—Transaction verification
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION 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/00—Payment architectures, schemes or protocols
- G06Q20/38—Payment protocols; Details thereof
- G06Q20/42—Confirmation, e.g. check or permission by the legal debtor of payment
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/10—Network architectures or network communication protocols for network security for controlling access to devices or network resources
- H04L63/101—Access control lists [ACL]
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/10—Protocols in which an application is distributed across nodes in the network
- H04L67/1097—Protocols 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]
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/08—Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
- H04L9/0816—Key establishment, i.e. cryptographic processes or cryptographic protocols whereby a shared secret becomes available to two or more parties, for subsequent use
- H04L9/0819—Key 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/0825—Key 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
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L2209/00—Additional information or applications relating to cryptographic mechanisms or cryptographic arrangements for secret or secure communication H04L9/00
- H04L2209/56—Financial 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.
Description
본 발명은 가상 자산 서비스를 제공하는 방법 및 이를 이용한 가상 자산 서비스 제공 서버에 관한 것으로, 보다 상세하게는, 가상 자산을 이용하여 자금을 세탁하는 것을 방지하기 위한 탈중앙화 아이디(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.
본 발명은 상술한 문제점들을 모두 해결하는 것을 그 목적으로 한다.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
본 발명의 다른 태양에 따르면, 탈중앙화 아이디(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
이 외에도, 본 발명의 방법을 실행하기 위한 컴퓨터 프로그램을 기록하기 위한 컴퓨터 판독 가능한 기록 매체가 더 제공된다.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
먼저, 사용자 단말들(101, 102, 103)은 가상 자산을 거래하고자 하는 사용자들이 소유한 단말들로, 각각의 사용자들에 대응되는 탈중앙화 아이디(decentralized identifier; DID)들을 블록체인 네트워크(300)에 등록한 상태일 수 있다.First, the
다음으로, 가상 자산 서비스 제공 서버들(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
구체적으로, 가상 자산 서비스 제공 서버들(201, 202, 203)은 전형적으로 컴퓨팅 장치(예컨대, 컴퓨터 프로세서, 메모리, 스토리지, 입력 장치 및 출력 장치, 기타 기존의 컴퓨팅 장치의 구성요소들을 포함할 수 있는 장치; 라우터, 스위치 등과 같은 전자 통신 장치; 네트워크 부착 스토리지(NAS) 및 스토리지 영역 네트워크(SAN)와 같은 전자 정보 스토리지 시스템)와 컴퓨터 소프트웨어(즉, 컴퓨팅 장치로 하여금 특정의 방식으로 기능하게 하는 인스트럭션들)의 조합을 이용하여 원하는 시스템 성능을 달성하는 것일 수 있다.Specifically, virtual asset
이와 같은 컴퓨팅 장치의 통신부는 연동되는 타 컴퓨팅 장치와 요청과 응답을 송수신할 수 있는 바, 일 예시로서 그러한 요청과 응답은 동일한 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
이와 같이 구성된 가상 자산 서비스 제공 서버(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
먼저, 이와 같이 구성된 시스템을 통해 본 발명의 일 실시예에 따라 송신자의 수신자에 대한 사전 가상 자산 전송 요청이 획득되는 경우에 탈중앙화 아이디(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
이와 같은 과정을 도 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
이때, 가상 자산 서비스 제공 서버(201)는 송신자에 대응되는 KYC 정보의 인증 결과에 따라 송신자에 대응되는 송신자 가상 자산 어드레스를 화이트리스트에 등록한 상태일 수 있으며, 브로드캐스팅은 static/dynamic list, queue, multicast 등 다양한 방식을 통해 구현될 수 있다.At this time, the virtual asset
그러면, 블록체인 네트워크(300)의 노드로 참여하는 각각의 가상 자산 서비스 제공 서버들(202, 203)은 블록체인 네트워크(300)에 브로드캐스팅된 아이덴티티 레솔루션 리퀘스트에 포함된 수신자 가상 자산 어드레스가 자신이 관리하고 있는 가상 자산 어드레스인지를 확인할 수 있다. 이때, 서비스 제공 서버(201, 201, 203)들은 각각 데이터베이스를 이용하여 각각에 등록된 사용자들에 대한 가상 자산 어드레스를 관리하고 있는 상태일 수 있다.Then, each of the virtual asset
이에, 아이덴티티 레솔루션 리퀘스트에 포함된 수신자 가상 자산 어드레스가 자신이 관리하고 있음을 확인한 가상 자산 서비스 제공 서버(202)는 가상 자산 서비스 제공 서버(201)로 아이덴티티 레솔루션 리퀘스트에 대응되는 레스폰스를 전송(S104)할 수 있다. 한편, 가상 자산 서비스 제공 서버(203)는 아이덴티티 레솔루션 리퀘스트에 포함된 수신자 가상 자산 어드레스가 자신이 관리하고 있는 가상 자산 어드레스가 아니므로 아이덴티티 레솔루션 리퀘스트를 무시할 수 있다.Accordingly, the virtual asset
이때, 가상 자산 서비스 제공 서버(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
또한, 가상 자산 서비스 제공 서버(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
다음으로, 위와 같이 수신자 가상 자산 어드레스가 자신이 관리하고 있음을 확인한 가상 자산 서비스 제공 서버(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
이에, 송신자 인증 트랜잭션을 획득한 가상 자산 서비스 제공 서버(202)는 송신자 인증 트랜잭션에 포함된 제1 서버 DID를 이용하여 블록체인 네트워크(300)로부터 제1 서버 DID에 대응되는 제1 서버 퍼블릭 키를 획득(S106)하여, 제1 서버 퍼블릭 키를 이용하여 송신자 인증 트랜잭션에 포함된 제1 서버 서명값을 복호화(S107)하여 송신자 정보를 획득하고, 송신자 정보에 포함된 송신자 DID를 이용하여 블록체인 네트워크(300)로부터 송신자 DID에 대응되는 송신자 퍼블릭 키를 획득(S108)하여, 송신자 퍼블릭 키를 이용하여 송신자 정보에 포함된 송신자 서명값을 복호화하여 송신자 VC를 획득하여 블록체인 네트워크(300)를 통해 송신자 VC를 검증(S109)할 수 있다.Accordingly, the virtual asset
여기서, 가상 자산 서비스 제공 서버(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
다음으로, 송신자 VC가 검증되면, 가상 자산 서비스 제공 서버(202)는 가상 자산 서비스 제공 서버(201)로 수신자 정보를 제2 서버 프라이빗 키로 서명한 제2 서버 서명값 및 제2 서버 DID를 포함하는 수신자 인증 트랜잭션을 전송(S110)하여 줄 수 있다. 여기서, 수신자 정보는 수신자 VC를 수신자 프라이빗 키로 서명한 수신자 서명값과 수신자 DID를 포함할 수 있다. 또한, 가상 자산 서비스 제공 서버(202)는 수신자 단말(102)로 수신자 서명 트랜잭션을 요청하여 수신자 정보를 획득할 수 있다. Next, when the sender VC is verified, the virtual asset
그러면, 가상 자산 서비스 제공 서버(201)는 수신자 인증 트랜잭션에 포함된 제2 서버 DID를 이용하여 블록체인 네트워크(300)로부터 제2 서버 DID에 대응되는 제2 서버 퍼블릭 키를 획득(S111)하고, 제2 서버 퍼블릭 키를 이용하여 수신자 인증 트랜잭션에 포함된 제2 서버 서명값을 복호화(S112)하여 수신자 정보를 획득하며, 수신자 정보에 포함된 수신자 DID를 이용하여 블록체인 네트워크(300)로부터 수신자 DID에 대응되는 수신자 퍼블릭 키를 획득(S113)하고, 수신자 퍼블릭 키를 이용하여 수신자 정보에 포함된 수신자 서명값을 복호화하여 수신자 VC를 획득하여 블록체인 네트워크(300)를 통해 검증(S114)한 후 검증 기록을 저장한 다음, 가상 자산을 송신자 가상 자산 어드레스로부터 수신자 가상 자산 어드레스로 전송하여 주기 위한 가산 전송 트랜잭션을 생성하여 블록체인 네트워크(300)에 등록(S115)할 수 있다.Then, the virtual asset
이때, 가상 자산 서비스 제공 서버(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
다음으로, 도 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
이와 같은 과정을 도 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
이때, 가상 자산 서비스 제공 서버(201)는 수신자에 대응되는 KYC 정보의 인증 결과에 따라 수신자에 대응되는 수신자 가상 자산 어드레스를 화이트리스트에 등록한 상태일 수 있으며, 브로드캐스팅은 static/dynamic list, queue, multicast 등 다양한 방식을 통해 구현될 수 있다.At this time, the virtual asset
그러면, 블록체인 네트워크(300)의 노드로 참여하는 각각의 가상 자산 서비스 제공 서버들(202, 203)은 블록체인 네트워크(300)에 브로드캐스팅된 아이덴티티 레솔루션 리퀘스트에 포함된 송신자 가상 자산 어드레스가 자신이 관리하고 있는 가상 자산 어드레스인지를 확인할 수 있다. 이때, 서비스 제공 서버(201, 201, 203)들은 각각 데이터베이스를 이용하여 각각에 등록된 사용자들에 대한 가상 자산 어드레스를 관리하고 있는 상태일 수 있다.Then, each of the virtual asset
이에, 아이덴티티 레솔루션 리퀘스트에 포함된 송신자 가산 자산 어드레스가 자신이 관리하고 있는 가상 자산 어드레스임을 확인한 가상 자산 서비스 제공 서버(203)는 가상 자산 서비스 제공 서버(201)로 아이덴티티 레솔루션 리퀘스트에 대응되는 레스폰스를 전송(S204)할 수 있다. 한편, 가상 자산 서비스 제공 서버(202)는 아이덴티티 레솔루션 리퀘스트에 포함된 송신자 가상 자산 어드레스가 자신이 관리하고 있는 가상 자산 어드레스가 아니므로 아이덴티티 레솔루션 리퀘스트를 무시할 수 있다.Accordingly, the virtual asset
이때, 가상 자산 서비스 제공 서버(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
또한, 가상 자산 서비스 제공 서버(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
다음으로, 위와 같이 송신자 가상 자산 어드레스가 자신이 관리하고 있음을 확인한 가상 자산 서비스 제공 서버(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
이에, 수신자 인증 트랜잭션을 획득한 가상 자산 서비스 제공 서버(203)는 수신자 인증 트랜잭션에 포함된 제1 서버 DID를 이용하여 블록체인 네트워크(300)로부터 제1 서버 DID에 대응되는 제1 서버 퍼블릭 키를 획득(S206)하여, 제1 서버 퍼블릭 키를 이용하여 수신자 정보 VC에 포함된 제1 서버 서명값을 복호화(S207)하여 수신자 정보를 획득하고, 수신자 정보에 포함된 수신자 DID를 이용하여 블록체인 네트워크(300)로부터 수신자 DID에 대응되는 수신자 퍼블릭 키를 획득(S208) 하여, 수신자 퍼블릭 키를 이용하여 수신자 정보에 포함된 수신자 서명값을 복호화하여 수신자 VC를 획득하여 블록체인 네트워크(300)를 통해 수신자 VC를 검증(S209)할 수 있다.Accordingly, the virtual asset
여기서, 가상 자산 서비스 제공 서버(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
다음으로, 수신자 VC가 검증되면, 가상 자산 서비스 제공 서버(203)는 가상 자산 서비스 제공 서버(201)로 송신자 정보를 제2 서버 프라이빗 키로 서명한 제2 서버 서명값 및 제2 서버 DID를 포함하는 송신자 인증 트랜잭션을 전송(S210)하여 줄 수 있다. 여기서, 송신자 정보는 송신자 VC(Verifiable Credential)를 송신자 프라이빗 키로 서명한 송신자 서명값과 송신자 DID를 포함할 수 있다. 또한, 가상 자산 서비스 제공 서버(203)는 송신자 단말(103)로 송신자 서명 트랜잭션을 요청하여 송신자 정보를 획득할 수 있다.Next, when the receiver VC is verified, the virtual asset
그러면, 가상 자산 서비스 제공 서버(201)는 송신자 인증 트랜잭션에 포함된 제2 서버 DID를 이용하여 블록체인 네트워크(300)로부터 제2 서버 DID에 대응되는 제2 서버 퍼블릭 키를 획득(S211)하고, 제2 서버 퍼블릭 키를 이용하여 송신자 인증 트랜잭션에 포함된 제2 서버 서명값을 복호화(S212)하여 송신자 정보를 획득하며, 송신자 정보에 포함된 송신자 DID를 이용하여 블록체인 네트워크(300)로부터 송신자 DID에 대응되는 송신자 퍼블릭 키를 획득(S213)하고, 송신자 퍼블릭 키를 이용하여 송신자 정보에 포함된 송신자 서명값을 복호화하여 송신자 VC를 획득하여 블록체인 네트워크(300)를 통해 검증(S214)한 후 검증 기록을 저장한 다음, 가상 자산을 송신자 가상 자산 어드레스로부터 수신자 가상 자산 어드레스로 전송되도록 가산 전송 트랜잭션을 블록체인 네트워크(300)에 등록(S215)할 수 있다.Then, the virtual asset
이때, 가상 자산 서비스 제공 서버(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
또한, 이상 설명된 본 발명에 따른 실시예들은 다양한 컴퓨터 구성요소를 통하여 수행될 수 있는 프로그램 명령어의 형태로 구현되어 컴퓨터 판독 가능한 기록 매체에 기록될 수 있다. 상기 컴퓨터 판독 가능한 기록 매체는 프로그램 명령어, 데이터 파일, 데이터 구조 등을 단독으로 또는 조합하여 포함할 수 있다. 상기 컴퓨터 판독 가능한 기록 매체에 기록되는 프로그램 명령어는 본 발명을 위하여 특별히 설계되고 구성된 것들이거나 컴퓨터 소프트웨어 분야의 당업자에게 공지되어 사용 가능한 것일 수도 있다. 컴퓨터 판독 가능한 기록 매체의 예에는, 하드 디스크, 플로피 디스크 및 자기 테이프와 같은 자기 매체, 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)
(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.
(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.
(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
(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.
(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.
(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.
(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.
(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.
(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
(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.
(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.
(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
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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)
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)
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)
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 |
-
2020
- 2020-12-28 KR KR1020200184321A patent/KR102412852B1/en active IP Right Grant
-
2021
- 2021-12-14 KR KR1020210179208A patent/KR20220000864A/en active Application Filing
Patent Citations (1)
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)
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 |