KR102600604B1 - 가상자산 송신 중개 방법 - Google Patents

가상자산 송신 중개 방법 Download PDF

Info

Publication number
KR102600604B1
KR102600604B1 KR1020220173016A KR20220173016A KR102600604B1 KR 102600604 B1 KR102600604 B1 KR 102600604B1 KR 1020220173016 A KR1020220173016 A KR 1020220173016A KR 20220173016 A KR20220173016 A KR 20220173016A KR 102600604 B1 KR102600604 B1 KR 102600604B1
Authority
KR
South Korea
Prior art keywords
virtual asset
information
node
transaction
vasp
Prior art date
Application number
KR1020220173016A
Other languages
English (en)
Other versions
KR20230008655A (ko
Inventor
오재훈
최혁
Original Assignee
두나무 주식회사
람다 256 주식회사
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Priority claimed from KR1020200164188A external-priority patent/KR102478133B1/ko
Application filed by 두나무 주식회사, 람다 256 주식회사 filed Critical 두나무 주식회사
Publication of KR20230008655A publication Critical patent/KR20230008655A/ko
Priority to KR1020230151888A priority Critical patent/KR20230157911A/ko
Application granted granted Critical
Publication of KR102600604B1 publication Critical patent/KR102600604B1/ko

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q20/00Payment architectures, schemes or protocols
    • G06Q20/38Payment protocols; Details thereof
    • G06Q20/40Authorisation, e.g. identification of payer or payee, verification of customer or shop credentials; Review and approval of payers, e.g. check credit lines or negative lists
    • G06Q20/401Transaction verification
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q20/00Payment architectures, schemes or protocols
    • G06Q20/38Payment protocols; Details thereof
    • G06Q20/382Payment protocols; Details thereof insuring higher security of transaction
    • G06Q20/3829Payment protocols; Details thereof insuring higher security of transaction involving key management
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q20/00Payment architectures, schemes or protocols
    • G06Q20/04Payment circuits
    • G06Q20/06Private payment circuits, e.g. involving electronic currency used among participants of a common payment scheme
    • G06Q20/065Private payment circuits, e.g. involving electronic currency used among participants of a common payment scheme using e-cash
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q20/00Payment architectures, schemes or protocols
    • G06Q20/22Payment schemes or models
    • G06Q20/223Payment schemes or models based on the use of peer-to-peer networks
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q20/00Payment architectures, schemes or protocols
    • G06Q20/30Payment architectures, schemes or protocols characterised by the use of specific devices or networks
    • G06Q20/36Payment architectures, schemes or protocols characterised by the use of specific devices or networks using electronic wallets or electronic money safes
    • G06Q20/367Payment architectures, schemes or protocols characterised by the use of specific devices or networks using electronic wallets or electronic money safes involving electronic purses or money safes
    • G06Q20/3678Payment architectures, schemes or protocols characterised by the use of specific devices or networks using electronic wallets or electronic money safes involving electronic purses or money safes e-cash details, e.g. blinded, divisible or detecting double spending
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q20/00Payment architectures, schemes or protocols
    • G06Q20/38Payment protocols; Details thereof
    • G06Q20/40Authorisation, e.g. identification of payer or payee, verification of customer or shop credentials; Review and approval of payers, e.g. check credit lines or negative lists
    • G06Q20/401Transaction verification
    • G06Q20/4014Identity check for transactions

Landscapes

  • Business, Economics & Management (AREA)
  • Accounting & Taxation (AREA)
  • Engineering & Computer Science (AREA)
  • Finance (AREA)
  • Physics & Mathematics (AREA)
  • Strategic Management (AREA)
  • General Business, Economics & Management (AREA)
  • General Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Financial Or Insurance-Related Operations Such As Payment And Settlement (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)
  • Storage Device Security (AREA)

Abstract

수취인측 VASP(Virtual Asset Service Provider)와 송신인측 VASP 간에 이루어지는 가상자산 송신을 안정적으로 중개하는 방법이 제공된다. 일 실시예에 따른 가상자산 송신 중개 방법은 제1 사용자로부터 제2 사용자에게 송신될 예정인 가상자산에 대한 제1 정보를 상기 제1 사용자의 가상자산을 관리하는 제1 가상자산사업자(Virtual Asset Service Provider, VASP) 서버로부터 수신하는 단계; 상기 수신된 제1 정보에 포함된 상기 제2 사용자에 대한 정보가 정확한지 여부에 대한 검증 요청을 상기 제2 사용자의 가상자산을 관리하는 제2 가상자산사업자 서버에 전송하는 단계; 상기 검증 요청에 대한 응답으로서 상기 제2 가상자산사업자 서버로부터 상기 제2사용자에 대한 정보가 정확하다는 취지의 검증 결과를 수신하는 단계; 상기 수신된 검증 결과를 상기 제1 가상자산사업자 서버에 전송하는 단계; 상기 검증 결과의 전송에 대해 상기 제1 가상자산사업자 서버가 응답한 결과로서 상기 송신될 예정인 가상자산의 송신에 대응하는 트랜잭션이 블록체인에 기록되었는지 여부를 확인하는 단계; 및 상기 트랜잭션이 상기 블록체인에 기록되었음이 확인되면 상기 제2 사용자의 가상자산 갱신의 요청을 상기 제2 가상자산사업자 서버에 전송하는 단계를 포함할 수 있다.

Description

가상자산 송신 중개 방법{METHOD FOR MEDIATING VIRTUAL ASSET TRANSMISSION}
본 명세서에 기재된 실시예는 가상자산 송신을 중개하는 방법에 관한 것이다. 보다 자세하게는, 상기 실시예는 수취인측 VASP(Virtual Asset Service Provider)와 송신인측 VASP 간에 이루어지는 가상자산 송신을 안정적으로 중개하는 방법에 관한 것이다.
비트코인으로 대표되는 가상자산은, 국경이 없는 자산으로서 인정되고 있으며, 더불어 사용 가능한 장소(예컨대, 오프라인 매장, 온라인 매장 등)도 늘어가고 있다. 상기 가상자산은 실물 자산과 교환되기도 하며, 그 가치가 수시로 변동되기도 한다. 또한, 가상자산의 종류도 다양해지고 있고, 또한 가상자산을 거래를 대행하고 관리하는 가상자산사업자(VASP : Virtual Asset Service Provider)도 늘어나고 있다.
이러한 가상자산은 익명으로 진행되는 경우도 있어, 자금 출처를 은닉하는데 악용되기도 한다. 이에 따라, 가상자산을 이용한 자금세탁, 테러리스트로의 자금 조달을 금지하기 위해, FATF(Financial Action Task Force on Money Laundering)은 가상자산을 송신할 때에 가상자산사업자가 제공해야 되는 정보들에 대한 의무사항을 마련하고, 가상자산사업자에게 상기 의무사항을 준수하도록 요구하고 있다.
그런데 가상자산사업자가 상기 FATF의 의무사항을 준수하려면, 현재의 시스템의 설계를 변경해야 되는 문제점이 있다. 또한, 각 가상자산사업자가 FATF의 의무사항을 준수하기 위하여 시스템을 독자적으로 변경하는 경우, 가상자산사업자 간에 프로토콜 호환에 대한 문제가 발생할 수 있다.
한국공개특허 10-2020-0094827 (2020.08.10)
본 명세서에 기재된 실시예들은, 송신인 VASP 노드에서 수취인 VASP 노드로 가상자산을 송신할 때, 보다 확실하게 수취인을 검증하는 가상자산 송신 중개 방법을 제공할 수 있다.
본 명세서에 기재된 실시예들은, 수취인 정보를 송수신할 때의 보안을 강화하여 더욱 안전하게 가상자산 송신을 중개하는 방법을 제공할 수 있다.
본 명세서에 기재된 실시예들은, FATA에서 제안한 의무사항을 준수하면서 각각의 VASP 노드에서 발생하는 가상자산 송신을 통합하여 검증하고 관리할 수 있는 가상자산 송신 중개 방법을 제공할 수 있다.
본 명세서에 기재된 실시예들은, 검증 결과를 통해서 선택적으로 수취인의 가상자산을 갱신하여, 범죄집단 등으로 가상자산이 전달되는 것을 방지할 수 있는 가상자산 송신 중개 방법을 제공할 수 있다.
본 명세서에 기재된 실시예는, 이상에서 언급되지 않은 또 다른 방법 및 그 장치를 제공하는 것으로 아래의 기재로부터 이해될 수 있을 것이다.
본 명세서에 기재된 일 실시예에 따른 가상자산 송신 중개 방법은 제1 사용자로부터 제2 사용자에게 송신될 예정인 가상자산에 대한 제1 정보를 상기 제1 사용자의 가상자산을 관리하는 제1 가상자산사업자(Virtual Asset Service Provider, VASP) 서버로부터 수신하는 단계; 상기 수신된 제1 정보에 포함된 상기 제2 사용자에 대한 정보가 정확한지 여부에 대한 검증 요청을 상기 제2 사용자의 가상자산을 관리하는 제2 가상자산사업자 서버에 전송하는 단계; 상기 검증 요청에 대한 응답으로서 상기 제2 가상자산사업자 서버로부터 상기 제2사용자에 대한 정보가 정확하다는 취지의 검증 결과를 수신하는 단계; 상기 수신된 검증 결과를 상기 제1 가상자산사업자 서버에 전송하는 단계; 상기 검증 결과의 전송에 대해 상기 제1 가상자산사업자 서버가 응답한 결과로서 상기 송신될 예정인 가상자산의 송신에 대응하는 트랜잭션이 블록체인에 기록되었는지 여부를 확인하는 단계; 및 상기 트랜잭션이 상기 블록체인에 기록되었음이 확인되면 상기 제2 사용자의 가상자산 갱신의 요청을 상기 제2 가상자산사업자 서버에 전송하는 단계를 포함할 수 있다.
상기 트랜잭션이 블록체인에 기록되었는지 여부를 확인하는 단계는, 상기 송신될 예정인 가상자산에 대한 제1 식별자를 준비하는 단계; 상기 검증 결과의 전송 후에 상기 제1 식별자에 대응하는 정보를 포함하는 메타데이터가 포함된 트랜잭션이 상기 블록체인에 기록되었는지 여부를 확인하는 단계; 상기 메타데이터가 포함된 트랜잭션이 상기 블록체인에 기록되었음이 확인되면 상기 블록체인으로부터 상기 메타데이터가 포함된 트랜잭션에 대한 제2 정보를 획득하는 단계; 상기 제1 정보에 포함된 특정한 적어도 하나 이상의 제1 항목 및 상기 획득된 제2 정보에 포함된 특정한 적어도 하나 이상의 제2 항목이 서로 대응하는지 여부를 검증하는 단계; 및 상기 적어도 하나 이상의 제1항목 및 상기 적어도 하나 이상의 제2항목이 서로 대응함이 검증되면 상기 송신될 예정인 가상자산의 송신에 대응하는 트랜잭션이 상기 블록체인에 기록되었다고 판정하는 단계를 포함할 수 있다.
상기 메타데이터가 포함된 트랜잭션이 상기 블록체인에 기록되었는지 여부를 확인하는 단계는, 상기 블록체인에 기록된 트랜잭션 중에서 적어도 하나 이상의 트랜잭션에 포함된 메타데이터를 획득하는 단계; 상기 획득된 메타데이터가 상기 제1 식별자에 대응하는 정보를 포함하는지 여부를 검사하는 단계; 및 상기 검사의 결과를 이용하여 상기 제1 식별자에 대응하는 정보를 포함하는 메타데이터가 포함된 트랜잭션을 발견하는 단계를 포함할 수 있다.
상기 적어도 하나 이상의 제1 항목 및 상기 적어도 하나 이상의 제2 항목이 서로 대응하는지 여부를 검증하는 단계는, 상기 적어도 하나 이상의 제1 항목으로서 상기 송신될 예정인 가상자산의 종류에 대한 정보, 수량에 대한 정보, 또는 수취인에 대한 정보 중에서 적어도 하나 이상을 준비하는 단계; 상기 적어도 하나 이상의 제2 항목으로서 상기 메타데이터가 포함된 트랜잭션 내의 가상자산의 종류에 대한 정보, 수량에 대한 정보, 또는 수취인에 대한 정보 중에서 적어도 하나 이상을 준비하는 단계; 및 상기 준비된 적어도 하나 이상의 제1 항목 및 상기 준비된 적어도 하나 이상의 제2 항목이 서로 대응하는지 여부를 판정하는 단계를 포함할 수 있다.
상기 트랜잭션이 블록체인에 기록되었는지 여부를 확인하는 단계는, 상기 검증 결과의 전송에 대한 응답으로 상기 제1 가상자산사업자 서버로부터 상기 송신될 예정인 가상자산의 송신에 대응하는 트랜잭션의 제2 식별자를 수신하는 단계; 상기 수신된 제2 식별자에 대응하는 트랜잭션이 상기 블록체인에 기록되었는지 여부를 확인하는 단계; 상기 제2 식별자에 대응하는 트랜잭션이 상기 블록체인에 기록되었음이 확인되면 상기 블록체인으로부터 상기 제2 식별자에 대응하는 트랜잭션에 대한 제3 정보를 획득하는 단계; 상기 제1 정보에 포함된 특정한 적어도 하나 이상의 제1 항목 및 상기 획득된 제3 정보에 포함된 특정한 적어도 하나 이상의 제3 항목이 서로 대응하는지 여부를 검증하는 단계; 및 상기 적어도 하나 이상의 제1 항목 및 상기 적어도 하나 이상의 제3 항목이 서로 대응함이 검증되면 상기 송신될 예정인 가상자산의 송신에 대응하는 트랜잭션이 상기 블록체인에 기록되었다고 판정하는 단계를 포함할 수 있다.
상기 제2 식별자에 대응하는 트랜잭션이 상기 블록체인에 기록되었는지 여부를 확인하는 단계는, 상기 블록체인에 기록된 트랜잭션 중에서 적어도 하나 이상의 트랜잭션 각각에 대한 제3 식별자를 획득하는 단계; 상기 획득된 제3 식별자가 상기 제2 식별자에 대응하는지 여부를 검사하는 단계; 및 상기 검사의 결과를 이용하여 상기 제2 식별자에 대응하는 트랜잭션을 발견하는 단계를 포함할 수 있다.
본 명세서에 기재된 다른 실시예에 따른 가상자산 송신 중개 방법은, 제1 사용자로부터 제2 사용자에게 송신될 예정인 가상자산에 대한 제1 정보를 상기 제1 사용자의 가상자산을 관리하는 제1 가상자산사업자(Virtual Asset Service Provider, VASP) 서버로부터 수신하는 단계; 상기 송신될 예정인 가상자산의 송신에 대응하는 트랜잭션이 블록체인에 기록되었는지 여부를 확인하는 단계; 상기 트랜잭션이 상기 블록체인에 기록되었음이 확인되고 상기 제2 사용자의 가상자산을 관리하는 제2 가상자산사업자 서버가 비회원이면, 제2 사용자의 검증을 예약하는 단계; 상기 제2 가상자산사업자 서버가 회원으로 가입하면, 상기 예약한 제2 사용자의 검증을 진행하여 상기 제1 정보에 포함된 상기 제2 사용자에 대한 정보가 정확한지 여부에 대한 검증 요청을 상기 제2 가상자산사업자 서버에 전송하는 단계; 및 상기 검증 요청에 대한 응답으로서 상기 제2 가상자산사업자 서버로부터 상기 제2사용자에 대한 정보가 정확하다는 취지의 검증 결과를 수신하면, 상기 제2 사용자의 가상자산 갱신의 요청을 상기 제2 가상자산사업자 서버에 전송하는 단계를 포함할 수 있다.
본 명세서에 기재된 또 다른 실시예에 따른 가상자산 송신 중개 방법은, 제1 사용자로부터 제2 사용자에게 송신될 예정인 가상자산에 대한 정보를 수신하는 단계; 상기 제2 사용자에 대한 정보가 정확한지 여부에 대한 검증 요청을 검증 노드를 통해 상기 제2 사용자의 가상자산을 관리하는 제2 가상자산사업자 서버로 전송하는 단계; 및 상기 검증 노드로부터 상기 제2사용자에 대한 정보가 정확하다는 취지의 검증 결과를 수신하면, 상기 송신될 예정인 가상자산의 송신에 대응하는 트랜잭션을 블록체인에 기록하는 단계를 포함할 수 있다.
본 명세서에 기재된 또 다른 실시예에 따른 가상자산 송신 중개 방법은, 제1 사용자로부터 제2 사용자에게 가상자산이 송신이 예정되는 경우, 검증 노드를 통해서 제1 사용자의 가상자산을 관리하는 가상자산사업자 서버로 공개키를 제공하는 단계; 가상자산사업자 서버에 의해 상기 공개키로 암호화된 상기 제2 사용자에 대한 정보를 상기 검증 노드로부터 수신하는 단계; 개인키를 이용하여 상기 수신한 암호화된 제2 사용자에 대한 정보를 복호화하여 상기 제2 사용자에 대한 정보가 정확한지를 검증하는 단계; 상기 검증 결과를 상기 검증 노드로 전송하고, 이에 대한 응답으로 가상자산 갱신 허락 신호를 수신하면 상기 가상자산이 송신되는 수량을 반영하여 상기 제2 사용자의 가상자산을 갱신하는 단계를 포함할 수 있다.
도 1은 본 명세서의 일 실시예에 따른, 가상자산 중개 시스템을 나타내는 도면이다.
도 2는 본 명세서의 몇몇 실시들에서 참조되는 보안 레벨 별 공개키와 그 적용 대상을 예시하는 도면이다.
도 3은 본 명세서의 다른 실시예에 따른, VASP 식별코드를 획득하는 신호 흐름도이다.
도 4는 본 명세서의 또 다른 실시예에 따른, 가상자산의 수취인을 검증하는 방법을 설명하기 위한 신호 흐름도이다.
도 5는 본 명세서의 또 다른 실시예에 따른, 가상자산 송신을 중개하는 방법을 설명하기 위한 신호 흐름도이다.
도 6은 본 명세서의 또 다른 실시예에 따른, 가상자산 송신을 중개하는 방법을 설명하기 위한 신호 흐름도이다.
도 7은 본 명세서의 또 다른 실시예에 따른, 트랜잭션을 블록체인에 저장하는 방법을 설명하기 위한 신호 흐름도이다.
도 8은 본 명세서의 또 다른 실시예에 따른, 가상자산 송신을 중개하는 방법을 설명하기 위한 신호 흐름도이다.
도 9는 본 명세서의 또 다른 실시예에 따른, 가상자산 송신을 중개하는 방법을 설명하기 위한 신호 흐름도이다.
도 10은 다양한 실시예에서 컴퓨팅 장치를 구현할 수 있는 예시적인 하드웨어 구성도이다.
이하, 첨부된 도면을 참조하여 본 명세서의 실시예들을 상세히 설명한다. 본 명세서의 실시예들의 이점 및 특징, 그리고 그것들을 달성하는 방법은 첨부되는 도면과 함께 상세하게 후술되어 있는 실시예들을 참조하면 명확해질 것이다. 그러나 실시예의 기술적 사상은 이하의 실시예들에 한정되는 것이 아니라 서로 다른 다양한 형태로 구현될 수 있으며, 단지 이하의 실시예들은 본 발명의 기술적 사상을 완전하도록 하고, 본 명세서의 실시예들이 속하는 기술분야에서 통상의 지식을 가진 자에게 본 발명의 범주를 완전하게 알려주기 위해 제공되는 것이며, 본 발명의 기술적 사상은 청구항의 범주에 의해 정의될 뿐이다.
각 도면의 구성요소들에 참조부호를 부가함에 있어서, 동일한 구성요소들에 대해서는 비록 다른 도면상에 표시되더라도 가능한 한 동일한 부호를 가지도록 하고 있음에 유의해야 한다. 또한, 본 명세서의 실시예들을 설명함에 있어, 관련된 공지 구성 또는 기능에 대한 구체적인 설명이 요지를 흐릴 수 있다고 판단되는 경우에는 그 상세한 설명은 생략한다.
다른 정의가 없다면, 본 명세서에서 사용되는 모든 용어(기술 및 과학적 용어를 포함)는 본 명세서의 실시예들이 속하는 기술분야에서 통상의 지식을 가진 자에게 공통적으로 이해될 수 있는 의미로 사용될 수 있다. 또 일반적으로 사용되는 사전에 정의되어 있는 용어들은 명백하게 특별히 정의되어 있지 않는 한 이상적으로 또는 과도하게 해석되지 않는다. 본 명세서에서 사용된 용어는 실시예들을 설명하기 위한 것이며 본 명세서의 실시예들을 제한하고자 하는 것은 아니다. 본 명세서에서, 단수형은 문구에서 특별히 언급하지 않는 한 복수형도 포함한다.
또한, 본 명세서의 실시예들의 구성 요소를 설명하는 데 있어서, 제1, 제2, A, B, (a), (b) 등의 용어를 사용할 수 있다. 이러한 용어는 그 구성 요소를 다른 구성 요소와 구별하기 위한 것일 뿐, 그 용어에 의해 해당 구성 요소의 본질이나 차례 또는 순서 등이 한정되지 않는다. 어떤 구성 요소가 다른 구성요소에 "연결", "결합" 또는 "접속"된다고 기재된 경우, 그 구성 요소는 그 다른 구성요소에 직접적으로 연결되거나 또는 접속될 수 있지만, 각 구성 요소 사이에 또 다른 구성 요소가 "연결", "결합" 또는 "접속"될 수도 있다고 이해되어야 할 것이다.
가상자산 이전 시의 정보제공 의무사항(Travel Rule)에 따르면, 가상자산을 송신하는 가상자산사업자(Virtual Asset Service Provider, 이하 "VASP"로 지칭함)는 가상자산을 수취하는 VASP에게 다음과 같은 정보를 제공하도록 요구받는다.
- 송신인 이름(originator name)
- 송신인의 계좌번호(account number)
- 송신인의 물리적 주소(physical address)
- 국가에 등록된 식별번호(nationality identity number), 고객 식별번호(customer identification number) 또는 다른 고유의 식별번호
- 생년월일 및 출생지(Date of birth and place of birth)
또한, 상기 정보제공 의무사항에 따르면, 가상자산을 수취하는 VASP는 가상자산을 송신하는 VASP에게 다음과 같은 정보를 제공하도록 요구받는다.
- 수취인 이름(Beneficiary name)
- 수취인의 가상 지갑의 계좌번호(Account number of virtual wallet number)
그런데 가상자산 사용이 급격히 증가하면서, 가상자산은 전세계적으로 유통되고 있으며, 가상자산의 익명성을 이용하여 가상자산이 자금세탁에 이용되고 있다. 또한, 가상자산의 송신시, 송신에 대한 트랜잭션에 대한 검증이 성공하더라도, 수취인은 익명으로 남아 있을 수 있다. 상술한 정보제공 의무사항에서와 같이, 수취인의 이름과 가상 지갑의 계좌번호만이 요구되어 있으므로, 수취인은 여전히 익명으로 거래 내역에 남아 있을 수 있다.
상기 정보제공 의무사항의 핵심은 정보를 공유하는 것일 수 있다. 하지만 가상자산 산업에서는 상대적으로 규제가 부족하기 때문에, 많은 VASP는 사용자의 소유권 정보를 식별하기 위하여, AML(Anti Money Laundering) 솔루션의 개발을 요구받고 있다.
이에 따라, FATF(Financial Action Task Force on Money Laundering)는 정보제공 솔루션이 갖춰야 할 아래와 같은 특성을 권고하였다.
- 솔루션은 규제 영향과 채택 장벽을 모두 최소화해서 기존의 AML/CFT 프로그램과 쉽게 통합할 수 있어야 한다.
- 소규모 VASP와 혁신적인 스타트업 회사들이 액세스할 수 있도록 저렴하고 오픈 소스이여야 한다.
- 가상자산 전송의 글로벌 규제 표준에 부합되어야 한다.
- 미래 혁신과 기술의 진보를 수용할 수 있게 유연해야 한다.
- 의심스러운 활동을 사전에 탐지하고, 자금 세탁자와 테러리스트를 기소하려는 법 집행 기관의 노력을 보완해야 한다.
- 확장 가능하고 유지 관리가 가능해야 하며, 산업계의 폭넓은 지지를 받아야 한다.
상기 FATF가 제안한 솔루션의 특성들을 수용할 수 있는 실시예들이 제안된다.
이하, 몇몇 실시예들에 대하여 첨부된 도면에 따라 상세하게 설명한다.
도 1은 본 명세서의 일 실시예에 따른, 가상자산 중개 시스템을 나타내는 도면이다.
도 1에 도시된 바와 같이, 본 명세서에 기재된 일 실시예에 따른 가상자산 중개 시스템은, 사용자 노드(100), 복수의 VASP 노드(210, 220), 검증 노드(300) 및 블록체인 네트워크(400)를 포함할 수 있다. 이러한 구성요소들은 통신망(500)을 통하여 서로 통신할 수 있다. 상기 통신망(500)은 이동통신망과 유선통신망을 포함하는 것으로 주지의 관용기술에 해당하므로 자세한 설명은 생략한다.
사용자 노드(100)는 사용자가 소지한 이동 단말, 개인용 컴퓨터 등과 같은 통신 장치로서, 자신의 가상자산을 관리하는 어느 한 VASP 노드(210, 220)에 접속하여 수취인에게 가상자산을 송신할 수 있다. 이러한 사용자 노드(100)는 가상자산 관리를 위한 전용 애플리케이션을 탑재할 수 있다.
블록체인 네트워크(400)는 다수의 노드들(410-N)이 참여하는 형성한 네트워크로서, 블록체인 네트워크(400)에 포함된 각 노드들(410-N)은 블록들이 서로 연결된 가지는 블록체인을 서로 공유할 수 있다. 상기 블록은 블록 헤더와 트랜잭션으로 구성될 수 있다. 블록 헤더는 이전 블록 해시, 머클루트(Markle Root), 난스(Nonce) 및 타임스탬프를 포함할 수 있다. 상기 이전 블록 제2 식별자는 마스터 블록체인 구조에서 이전 블록(즉, 부모 블록)에 대한 제2 식별자 참조값을 나타낼 수 있다. 머클루트는 머클 트리 루트에 대한 제2 식별자(hash)일 수 있다. 타임 스탬프는 블록의 생성시간을 기록할 수 있다. 트랜잭션은 가상자산의 거래 정보가 기록될 수 있다. 즉, 트랜잭션은 가상자산의 송신인의 전자 지갑 주소, 수취인의 전자 지갑의 주소, 가상자산 유형, 수취인에게 전송된 가상자산의 수량 등의 거래 정보를 포함할 수 있다.
VASP 노드(210, 220)는 가입자의 가상자산 거래를 관리한다. 가상자산을 관리하는 사업자가 구축한 서버(즉, 가상자산사업자 서버) 등과 같은 컴퓨팅 장치일 수 있다. VASP 노드(210, 220)는 가상자산을 거래 서비스를 수행하기 위하여, 가입자의 정보를 저장하고 관리할 수 있다. 상기 가입자 정보는 이름, 계좌번호, 물리적 주소, 사용자의 식별정보, 생년월일과 출생지 등을 포함할 수 있다. 사용자의 식별정보로서, 해당 국가에서 이용되는 사용자의 식별정보(nationality identity number)(예컨대, 한국의 주민등록번호), 고객 식별번호 등과 같이 해당 사용자에만 부여된 공인된 식별정보가 이용될 수 있다. 또한, VASP 노드(210, 220)는 각 가입자의 전자 지갑 주소와 가상자산의 수량, 가상자산의 거래 내역(예컨대, 입출금 내역)을 저장할 수 있다.
상기 VASP 노드(210, 220)는 가상자산의 송신에 서로 다른 보안 레벨을 적용하여 상기 보안 레벨에 따라 암호화된 개인 데이터를 상대방의 VASP 노드(210, 220)로 전송할 수 있다. 상기 보안 레벨은 총 세 종류로 구분될 수 있다. 몇몇 실시예에서, 복수의 보안 레벨은 송신될 가상자산의 수량에 따라 어느 하나가 선택되어 해당 송신에 적용될 수 있다. 이 경우, 제1 보안 레벨은 송신되는 가상자산의 수량이 제1 수량을 초과할 때 적용되는 가장 높은 레벨이고, 제2 보안 레벨은 가상자산의 수량이 제1 수량 이하이고 제2 수량을 초과할 때 적용되는 중간 단계의 레벨이고, 제3 보안 레벨은 가상자산의 수량이 제2 수량 이하일 때 적용되는 가장 낮은 레벨일 수 있다. 여기서, 제1 수량이 제2 수량 보다 크다.
몇몇 실시예에서는, 사전에 보안 정책이 마련될 수 있으며, 현재 적용된 보안 정책에 따라서 복수의 보안 레벨 중에서 어느 하나가 선택되어 해당 가상자산의 송신에 적용될 수 있다. 예를 들어, 상기 보안 정책은 관리자에 의해서 설정될 수 있으며, 또는 시간대, 날짜, 해킹 사고 빈도 등을 기반으로 자동적으로 생성될 수 있다.
도 2는 본 명세서의 몇몇 실시들에서 참조되는 보안 레벨 별 공개키와 그 적용 대상을 예시하는 도면이다.
도 2를 참조하면, 제1 보안 레벨이 적용되면 각 트랜잭션(즉, 가상자산의 송신)마다 적용되는 공개키가 생성되고, 해당 공개키와 대응되는 개인키도 함께 생성될 수 있다. 또한, 제2 보안 레벨이 적용되면, 상대방 사용자(즉, 송신인 또는 수취인)에게 적용되는 공개키와 이에 대응되는 개인키가 이용될 수 있다. 제3 보안 레벨이 적용되면 상대방 VASP 노드(즉, 수취인 VASP 노드 또는 송신인 VASP 노드)에 적용되는 공개키와 이에 대응되는 개인키가 이용될 수 있다.
제1 보안 레벨이 가장 강력하나 적용범위가 가장 좁을 수 있다. 부연하면, 제1 보안 레벨에 적용되는 개인키가 유출되더라도, 해당 개인키를 가지고는 하나의 트랜잭션과 관련된 개인 데이터만을 복호화할 수 있어, 다른 트랜잭션과 관련된 개인 데이터를 복호화하기 불가능할 수 있다. 반대로, 보안 레벨들 중에서 제3 보안 레벨이 가장 약하나, 적용범위가 가장 넓을 수 있다. 부연하면, 제3 보안 레벨에 적용되는 개인키가 유출되는 경우, 해당 개인키를 가지고는 송신인 VASP 노드와 수취인 VASP 노드 간에 송수신한 개인 데이터가 유출될 수 있다.
이러한 보안 레벨을 근거하여, VSAP 노드(210, 220)는 복수의 공개키 중에서 특정 보안 레벨에 적용되는 공개키를 얻고, 얻어진 공개키로 수취인 정보와 송신인 정보를 포함하는 개인 데이터를 암호화할 수 있다. 즉, VASP 노드(210, 220)는 제1 보안 레벨을 적용하는 경우, 해당 트랜잭션(즉, 해당 송신)에만 이용되는 트랜잭션 전용의 개인키와 공개키를 생성하고, 수취인 정보와 송신인 정보를 포함하는 개인 데이터를 해당 개인키 또는 공개키를 이용하여 암호화하거나 복호화할 수 있다. 제1 보안 레벨에 따라 생성된 개인키와 공개키는 다른 트랜잭션에 재사용이 불가능한 일종의 1회성 암호화키와 복호키일 수 있다. VASP 노드(210, 220)는 제2 보안 레벨을 적용하는 경우, 특정 수취인 또는 송신인에만 이용되는 수취인(또는 송신인) 전용의 개인키와 공개키를 생성하고, 수취인 정보와 송신인 정보를 포함하는 개인 데이터를 해당 개인키 또는 공개키 이용하여 암호화하거나 복호화할 수 있다. 상기 제2 보안 레벨에 따라 생성된 개인키와 공개키는 동일한 수취인(또는 송신인)과의 트랜잭션이 다시 발생하는 경우에 재사용될 수 있다. VASP 노드(210, 220)는 제3 보안 레벨을 적용하는 경우, 수취인(또는 송신인)의 자산을 관리하는 VASP 노드의 전용의 개인키와 공개키를 생성하고, 수취인 정보와 송신인 정보를 포함하는 개인 데이터를 해당 개인키 또는 공개키 이용하여 암호화하거나 복호화할 수 있다. 상기 제3 보안 레벨에 따라 생성된 개인키와 공개키는 해당 VASP와 관련된 트랜잭션이 다시 발생하는 경우에 재사용될 수 있다.
검증 노드(300)는 VASP 노드들(210, 220) 간에 진행되는 가상자산의 송신을 중개하며, 가상자산 송신을 검증하고 거래 검증 결과를 저장할 수 있다. 이를 위해, 검증 노드(300)는 회원에 가입된 각각의 VASP 이름과 식별코드, IP 주소, 기관 주소, 국적, 국가에 등록된 기관 식별정보(예컨대, 사업자등록번호) 등이 포함된 VASP 회원 정보를 저장할 수 있다. 상기 검증 노드(300)는 회원 가입한 각 VASP 노드(210, 220)의 식별코드를 할당하여 해당 VASP 노드(210, 220)로 제공한 후, VASP 회원 정보에 상기 식별코드를 기록할 수 있다. 상기 식별코드는 VASP 노드(210, 220)로 부여한 고유정보로서, 숫자열이거나 문자열일 수 있으며, 숫자와 문자의 조합일 수 있다. 몇몇 실시예에서, 검증 노드(300)는 해킹 빈도수, 시간, 날짜 등 중에서 하나 이상에 기반한 보안 정책을 저장할 수 있다. 검증 노드(300)는 보안 정책에 기반하여, 보안 레벨을 결정하고, 이 보안 레벨에 적용되는 공개키를 VASP(210, 220)로부터 획득할 수 있다.
상기 검증 노드(300)는 검증 대상의 되는 트랜잭션을 블록체인 네트워크(400)로부터 획득하고, 상기 획득한 트랜잭션의 포함된 정보와 VASP 노드(210, 220)로부터 수신한 트랜잭션에 포함된 정보를 비교함으로써, 가상자산 거래에 대한 트랜잭션을 검증할 수 있다. 또한, 검증 노드(300)는 특정 VASP 노드(210, 220)로부터 수신한 공개키를 타 VASP 노드(210, 220)로 제공할 수도 있다.
검증 노드(300)는 제1 식별자, 가상자산을 송신한 VASP 노드의 식별코드, 가상자산을 수신한 VASP 노드의 식별코드, 송신인의 검증 결과, 수취인의 검증 결과, 트랜잭션 검증 결과, 송신 VASP의 공개키 및 수취인 VASP의 공개키를 포함하는 검증 정보를 저장할 수 있다. 상기 송신 VASP의 공개키는 개인 데이터를 암호화하는데 이용되는 일종의 암호키로서, 송신인의 가상자산을 관리하는 VASP 노드에서 생성될 수 있다. 또한, 수취인 VASP의 공개키는, 개인 데이터를 암호화하는데 이용하는데 이용되는 키로서, 수취인의 가상자산을 관리하는 VASP 노드에서 생성될 수 있다. 한편, 상기 검증 정보는 암호화된 개인 데이터를 포함할 수 있으며, 블록체인 네트워크(400)에 저장된 트랜잭션을 더 포함할 수도 있다.
도 1에서는 검증 노드(300) 및 VASP 노드(210, 220)가 블록체인 네트워크(400)에서 분리되어 있는 것으로 도시하였으나, 검증 노드(300) 또는 VASP 노드(210, 220) 중에서 하나 이상은 블록체인 네트워크(400)에 참여하는 노드일 수 있다. 이 경우, 검증 노드(300) 또는 VASP 노드(210, 220)는 블록체인을 공유하여 저장할 수 있다.
검증 노드(300)와 VASP 노드(210, 220)를 포함하는 가상자산 중개 시스템에서, 가상자산 송신을 중개하는 방법을 도 3 내지 도 9을 참조하여 설명한다.
도 3 내지 도 9를 참조한 설명에서, VASP#1 노드(210)가 송신인(즉, 사용자)의 가상자산을 관리하여 가상자산을 송신을 대행하는 송신인 VASP 노드이고, VASP#2 노드(220)가 수취인의 가상자산을 관리하여 가상자산의 수취를 대행하는 수취인 VASP 노드인 것으로 가정한다.
도 3은 본 명세서의 다른 실시예에 따른, VASP 식별코드를 획득하는 신호 흐름도이다.
도 3을 참조하면, 사용자 노드(100)는 VASP#1 노드(210)에 접속하여 사용자의 인증(예컨대, 로그인 인증 또는 전자 서명 인증)에 성공한 후에, 사용자로부터 수취인의 자산을 관리하는 VASP#2 노드(220)의 이름을 입력받을 수 있다. 즉, 사용자는 자신의 가상자산을 수취인에게 송신하기 위하여, 사용자 노드(100)를 이용하여 VASP#1 노드(210)에 로그인한 후, 수취인의 가상자산을 관리하는 VASP#2 노드(220)의 이름을 사용자 노드(100)에 입력할 수 있다. 이 경우, 사용자 노드(100)는 상기 VASP#2 노드(220)의 이름을 VASP#1 노드(210)로 전송할 수 있다(S201).
이어서, VASP#1 노드(210)는 상기 VASP#2 노드(220)의 이름과 매핑된 VASP#2 노드(220)의 식별코드가 이미 저장중인지 여부를 확인할 수 있다. VASP#1 노드(210)는 상기 VASP#2 노드(220)의 식별코드가 저장되어 있지 않으면, 상기 VASP#2 노드(220)의 이름을 포함하는 식별코드 요청 메시지를 검증 노드(300)로 전송할 수 있다(S203).
검증 노드(300)는 VASP 회원 정보에서, 상기 VASP#2 노드(220)의 이름을 가지는 회원이 존재하는 확인하여, 존재하면 상기 VASP#2 노드(220)의 식별코드를 VASP 회원 정보에서 확인하여 상기 VASP#1 노드(210)로 전송할 수 있다(S205, S207).
이어서, VASP#1 노드(210)는 VASP#2 노드(220)의 이름을 검증 노드(300)로부터 수신한 VASP#2 노드(220)의 식별코드를 매핑하여 저장할 수 있다(S209). 그리고 VASP#1 노드(210)는 VASP#2 노드(220)로 송신을 진행할 수 있음을 알리는 송신 가능 메시지를 사용자 노드(100)로 전송할 수 있다(S211).
한편, VASP#1 노드(210)는 상기 VASP#2 노드(220)의 이름과 매핑된 VASP#2 노드(220)의 식별코드를 이미 저장하고 있으면, 검증 노드(300)로 식별코드 요청 메시지를 전송하지 않고, 바로 상기 송신 가능 메시지를 사용자 노드(100)로 전송할 수 있다.
S205 단계에서 검증 노드(300)는 VASP 회원 정보에서, 상기 VASP#2 노드(220)의 이름을 가지는 회원이 존재하지 않은 것으로 확인되면, 식별코드를 제공할 수 없음을 알리는 메시지(예컨대, return 0)를 VASP#1 노드(210)로 전송할 수 있다. 이 경우, VASP#1 노드(210)는 VASP#2 노드(200)로의 가상자산 송신 불가능을 나타내는 메시지를 사용자 노드(100)로 전송할 수 있다.
본 실시예에 따르면, 검증 노드(300)는 인증된 각 VASP(210, 220)의 정보를 획득하여 관리하고, 회원 가입되지 않은 VASP로의 가상자산의 전송을 방지함으로써, 가상자산의 불법사용을 방지하는 효과를 발휘할 수 있다.
한편, 사용자 노드(100)는 VASP#2 노드(220)의 식별코드가 획득되어, 송신 가능 알림 메시지가 수신되면, 사용자로부터 입력받은 정보를 토대로 사용자(즉, 송신인)의 가상자산을 수취인에게 송신할 수 있다.
도 4는 본 명세서의 또 다른 실시예에 따른, 가상자산의 수취인을 검증하는 방법을 설명하기 위한 신호 흐름도이다.
도 4를 참조하면, 사용자 노드(100)는 사용자(즉, 송신인)로부터 송신하는 가상자산의 유형, 송신되는 가상자산의 수량 및 수취인의 전자 지갑 주소 등을 입력받아, 상기 송신하는 송신인의 주소, 가상자산의 유형, 송신될 가상자산의 수량, 수취인의 전자 지갑 주소를 포함하는 송신 요청 메시지를 VASP#1 노드(210)로 전송할 수 있다(S301).
그러면, VASP#1 노드(210)는 송신인 검증을 진행할 수 있다(S303). 상기 VASP#1 노드(210)는 송신인(즉, 사용자)의 전자 지갑 주소와 송신인의 인증정보를 이용하여 상기 송신인의 검증을 수행할 수 있다. 이때, VASP#1 노드(210)는 송신인의 인증정보로서 송신인의 이름을 획득하고, 송신인의 이름과 상기 송신인의 주소를 가지는 가입자 정보가 저장되어 있는지 여부를 확인함으로써, 상기 송신인을 검증할 수 있다. 다른 실시예로서, VASP#1 노드(210)는 상기 송신인의 생체 정보(예컨대, 지문 데이터, 홍체 데이터 등)를 사용자 노드(100)로부터 수신하고, 수신한 송신인의 생체 정보와 기 저장된 송신인의 생체 정보를 비교함으로써, 상기 송신인을 검증할 수 있다. 이외의 다양한 인증 방법을 이용하여 송신인(즉, 사용자)을 검증할 수도 있다. 한편, VASP#1 노드(210)는 S303 단계 이전에 이미 사용자(송신인)의 로그인 인증에 성공한 경우, 상기 송신인의 검증 결과를 성공으로 처리할 수 있다.
VASP#1 노드(210)는 검증에 성공하면 제1 식별자를 생성하고(S305), 상기 제1 식별자와 송신인의 검증 결과를 매핑하여 저장할 수 있다. 상기 제1 식별자는 가상자산의 검증 정보를 식별하는데 이용되는 검증 ID일 수 있다. 상기 제1 식별자는 현재의 일시, 난수 등을 이용하여 생성할 수 있다. VASP 노드(210, 220)는 상기 제1 식별자를 이용하여 검증 노드(300)에서 저장된 검증 정보를 조회할 수 있다.
다음으로, VASP#1 노드(210)는 복수의 보안 레벨 중에서 상기 가상자산의 송신에 적용되는 보안 레벨을 확인할 수 있다(S307). 이때, VSAP#1 노드(210)는 상기 송신 요청 메시지에 포함된 가상자산의 수량을 확인하고, 상기 가상자산의 수량이 보안 레벨 중에서 어느 레벨의 범위에 속하는지 여부를 확인하여 송신에 적용되는 보안 레벨을 결정할 수 있다. 그리고 VASP#1 노드(210)는 상기 확인한 보안 레벨에 따라 새로운 키 쌍(즉, 개인키와 공개키)을 생성하거나 이미 생성한 키 쌍을 확인하고, 해당 키 쌍을 상기 제1 식별자와 매핑하여 저장할 수 있다(S309).
상기 보안 레벨이 가상자산의 수량에 따라 결정되는 경우, VASP#1 노드(210)는 상기 가상자산의 수량이 제1 수량을 초과하면 제1 보안 레벨을 적용하고, 상기 가상자산의 수량이 제1 수량 이하이고 제2 수량을 초과하면 제2 보안 레벨을 적용하고, 상기 가산자산의 수량이 제2 수량 이하이면, 제3 보안 레벨을 적용할 수 있다. VASP#1 노드(210)는 제1 보안 레벨을 적용하는 것으로 결정한 경우, 상기 가상자산의 송신에 대해서만 적용되는 트랜잭션 전용의 개인키와 공개키를 생성할 수 있다. 또한, VASP#1 노드(210)는 제2 보안 레벨을 적용하는 것으로 결정한 경우, 수취인의 전자 지갑 주소를 토대로 수취인을 식별하고, 상기 수취인에게만 이용되는 수취인 전용의 키 쌍이 이미 생성되어 있는 여부를 확인할 수 있다. VASP#1 노드(210)는 상기 수취인 전용의 키 쌍이 생성되어 있지 않으면 상기 수취인 전용의 개인키와 공개키를 생성할 수 있다. 한편, VASP#1 노드(210)는 제3 보안 레벨을 적용하는 것으로 결정한 경우, 수취인의 가상자산을 관리하는 VASP#2 노드(220)에게만 이용되는 VASP#2 노드(220) 전용의 키 쌍을 확인할 수 있다. VASP#1 노드(210)는 VASP#2 노드(220) 전용의 키 쌍을 생성되지 않으면, 상기 VASP#2 노드(220) 전용의 키 쌍을 생성할 수 있다.
다음으로, VASP#1 노드(210)는 수취인 검증을 위한 수취인측 공개키를 요청하는 메시지(이하, "공개키 요청 메시지"로 지칭함)를 검증 노드(300)로 전송할 수 있다(S311). 이때, VASP#1 노드(210)는 상기 제1 식별자, 송신인의 검증 결과, 적용되는 보안 레벨 및 수취인의 가상자산을 관리하는 VASP#2 노드(220)의 식별코드를 포함하는 상기 공개키 요청 메시지를 상기 검증 노드(300)로 전송할 수 있다. 또한, VASP#1 노드(210)는 보안 레벨이 제2 레벨인 경우, 송신인의 식별정보(예컨대, 송신인의 전자 지갑 식별정보)를 상기 공개키 요청 메시지에 추가적으로 포함시킬 수 있으며, 보안 레벨에 따라 생성하거나 추출한 공개키(즉, VASP#1 노드의 공개키)를 검증 노드(300)로 전송할 수도 있다.
그러면, 검증 노드(300)는 상기 공개키 요청 메시지에 포함된 제1 식별자, 송신인 검증 결과, VASP#2 노드(220)의 식별코드 및 VASP#1 노드(210)의 공개키를 확인하고, 더불어 상기 공개키 요청 메시지를 발송한 VASP#1 노드(210)의 식별코드를 확인할 수 있다. 이어서, 검증 노드(300)는 송신측 VASP의 식별코드로서 상기 VASP#1 노드(210)의 식별코드를 포함하고, 수취인측 VASP의 식별코드로서 상기 VASP#2 노드(220)의 식별코드를 포함하며, 또한 상기 제1 식별자, 상기 송신인 검증 결과 및 VASP#1 노드(210)의 공개키를 포함하는 검증 정보를 생성하여 저장할 수 있다. 이어서, 검증 노드(300)는 VASP#2 노드(220)로 상기 공개키 요청 메시지를 전달할 수 있다(S313).
VASP#2 노드(220)는 상기 공개키 요청 메시를 수신하면, 상기 공개키 요청 메시지에 포함된 보안 레벨을 확인할 수 있다(S315). 다음으로, VASP#2 노드(220)는 상기 확인한 보안 레벨에 따라 새로운 키 쌍(즉, 개인키와 공개키)을 생성하거나 기존에 생성한 키 쌍을 확인할 수 있다(S317). VASP#2 노드(220)는 상기 보안 레벨이 제1 보안 레벨인 경우, 상기 송신에 대해서만 적용되는 트랜잭션 전용의 개인키와 공개키를 생성할 수 있다. 또한, VASP#2 노드(220)는 상기 보안 레벨이 제2 보안 레벨인 경우, 상기 공개키 요청 메시지에서 송신인의 식별정보(예컨대, 송신인의 전자지갑 주소)를 확인하고, 상기 송신인에게만 이용되는 송신인 전용의 키 쌍이 이미 생성되어 있는 여부를 확인하여 존재하면, 송신인 전용의 공개키를 추출할 수 있다. VASP#2 노드(220)는 상기 송신인 전용의 키 쌍이 생성되어 있지 않으면, 상기 송신인 전용의 개인키와 공개키를 생성하여 저장할 수 있다. 한편, VASP#2 노드(220)는 상기 보안 레벨이 제3 보안 레벨인 경우, 상기 VASP#1 노드(210)에게만 이용되는 VASP#1 노드(210) 전용의 키 쌍이 이미 생성되어 있는 여부를 확인하여 존재하면, VASP#1 노드(210) 전용의 공개키를 추출할 수 있다. VASP#2 노드(220)는 VASP#1 노드(210) 전용의 키 쌍이 생성되어 있지 않으면, 상기 VASP#1 전용의 개인키와 공개키를 생성하여 저장할 수 있다.
VASP#2 노드(220)는 상기 제1 식별자와 해당 키 쌍을 매핑하여 저장하고, 상기 추출하거나 생성한 공개키를 상기 제1 식별자와 함께 검증 노드(300)로 전송할 수 있다(S319). 그러면, 검증 노드(300)는 상기 수신한 공개키와 제1 식별자를 VASP#1 노드(210)으로 전달하고(S321), 상기 제1 식별자를 가지는 검증 정보에서 상기 VASP#1 노드(210)로부터 수신한 공개키를 저장할 수 있다.
몇몇 실시예에서, 검증 노드(300)가 송신될 가산자산의 수량 또는 보안 정책에 근거하여 보안 레벨을 결정할 수도 있다. 이 경우, 검증 노드(300)는 결정한 보안 레벨을 VASP#1 노드(210)와 VASP#2 노드(220)로 전송하여, VASP#1 노드(210), VASP#2 노드(220) 각각에서 상기 보안 레벨에서 이용되는 공개키와 개인키가 얻어지게 하고, 또한 VASP#2 노드(220)의 공개키를 수신하여 상기 VASP#1 노드(210)로 제공할 수 있다.
몇몇 실시예에서, 검증 노드(300)가 송신될 가상자산의 수량 또는 보안 정책에 근거하여 보안 레벨을 결정할 수도 있다. 이 경우, 검증 노드(300)는 결정한 보안 레벨을 VASP#1 노드(210)와 VASP#2 노드(220) 각각으로 전송하여, VASP#1 노드(210), VASP#2 노드(220) 각각에서 상기 보안 레벨에서 이용되는 공개키와 개인키가 얻어지게 하고, VASP#2 노드(220)에서 얻어진 공개키를 획득하여 상기 VASP#1 노드(210)로 전송할 수 있다.
다음으로, VASP#1 노드(210)는 상기 제1 식별자와 매핑된 개인키(즉, S309 단계에서 확인하거나 생성한 개인키)를 확인할 수 있다. 그리고 VASP#1 노드(210)는 수취인 정보와 송신인 정보를 포함하는 개인 데이터를 상기 개인키를 이용하여 암호화하여 제1 암호화 데이터를 생성하고, 사용자 개인 데이터를 검증 노드(300)로부터 수신한 공개키를 이용하여 암호화하여 제2 암호화 데이터를 생성할 수 있다(S323). 상기 송신인 정보에는 송신인 이름, 계좌번호, 물리적 주소, 국가에 등록된 송신인의 식별정보 및 송신의 생년월일 및 출생지가 포함될 수 있다. VASP#1 노드(210)는 송신인이 회원 가입할 때, 상기 송신인 정보를 미리 획득하여 저장할 수 있다. 또한, 상기 수취인 정보에는 수취인 이름과 수취인의 계좌번호(예컨대, 전자 지갑의 주소)가 포함될 수 있다. 상기 제1 암호화 데이터는 송신측에 해당하는 VASP#1 노드(210)에서 정상적으로 복호화하여 이용할 수 있는 데이터이고, 상기 제2 암호화 데이터는 수신측에 해당하는 VASP#2 노드(220)에서 정상적으로 복호화하여 이용할 수 있는 데이터이다.
다음으로, VASP#1 노드(210)는 수취인에게 송신될 예정인 가상자산에 대한 정보를 검증 노드(300)로 전송할 수 있다(S325). 몇몇 실시예에서, VASP#1 노드(210)는 상기 제1 암호화 데이터, 암호화된 제2 암호화 데이터 및 제1 식별자를 가상 자산에 대한 정보로서 검증 노드(300)로 전송할 수 있다.
이어서, 검증 노드(300)는 상기 제1 식별자를 포함하는 검증 정보에서 상기 제1 암호화 데이터와 암호화된 제2 암호화 데이터를 포함시킬 수 있다. 다음으로, 검증 노드(300)는 제2 암호화 데이터와 제1 식별자를 VASP#2 노드(220)로 전달함으로써, 수취인 검증을 요청할 수 있다(S327).
그러면, VASP#2 노드(220)는 상기 제1 식별자와 매핑된 개인키(즉, S317 단계에서 확인하거나 생성한 개인키)를 확인하고, 이 개인키를 이용하여 상기 제2 암호화 데이터를 복호화하여 개인 데이터를 획득할 수 있다(S329). 이어서, VASP#2 노드(220)는 상기 개인 데이터에서 수취인 정보를 확인하고, 자신이 관리하는 가입자 정보와 상기 수취인 정보가 일치하는지 여부를 확인함으로써, 수취인을 검증할 수 있다(S331). 이때, VASP#2 노드(220)는 상기 수취인 정보에서 수취인의 주소(예컨대, 전자지갑 주소)와 이름을 확인하고, 상기 수취인 주소와 이름 모두를 가지는 가입자 정보가 이미 저장되어 있으면, 수취인 검증을 성공으로 처리하고, 그렇지 않으면 검증 실패로 처리할 수 있다. VASP#2 노드(220)는 수취인의 검증 결과 및 상기 제1 식별자를 검증 노드(300)로 전송할 수 있다(S333).
그러면, 검증 노드(300)는 상기 제1 식별자를 가지는 검증 정보에서 수취인의 검증 결과를 추가적으로 포함시켜, 수취인의 검증 결과를 저장하고(S335), 또한 수취인의 검증 결과를 VASP#1 노드(210)로 전달할 수 있다(S337).
VASP#1 노드(210)는 수취인의 검증 결과가 실패로 확인되면, 사용자 노드(100)로 수취인의 인증에 실패하여 가상자산 송신을 진행할 수 없음을 통보하는 메시지를 전송할 수 있다. 반면에, VASP#1 노드(210)는 수취인의 검증 결과가 성공으로 확인되면, 도 5와 같은 절차를 가상자산을 송신하는 절차를 진행할 수 있다.
본 실시예에 따르면, 적용중인 보안 레벨에서 이용되는 공개키를 이용하여 수취인 정보를 암호화하여 VASP#2 노드(220)로 전송하기 때문에, 수취인 정보에 보안을 강화할 수 있는 효과를 얻을 수 있다. 또한, 본 실시예에 따르면, 가상자산의 송금할 때에, 수취인의 정보를 면밀하게 검증하는 효과를 얻을 수 있다.
도 5는 본 명세서의 또 다른 실시예에 따른, 가상자산 송신을 중개하는 방법을 설명하기 위한 신호 흐름도이다.
도 5를 참조하면, VASP#1 노드(210)는 수취인의 검증 결과가 성공이면, 상기 검증 성공에 대한 응답으로서 제2 식별자 및 가상자산의 송신 관련 정보를 포함하는 트랜잭션 데이터를 준비하고, 상기 트랜잭션 데이터를 포함하는 트랜잭션 기록 요청 메시지를 블록체인 네트워크(400)로 전송할 수 있다(S401). 즉, VASP#1 노드(210)는 수취인의 검증 결과가 성공인 경우에 이에 대한 응답으로서 수취인으로 송신될 예정인 가상자산의 송신과 대응되는 트랜잭션이 블록체인에 기록되도록, 상기 트랜잭션 기록 요청 메시지를 블록체인 네트워크(400)로 전송할 수 있다. 상기 제2 식별자는 상기 송신과 관련된 트랜잭션의 해시(hash)일 수 있으며, 상기 송신 관련 정보는, 송신인의 주소(예컨대, 전자 지갑 주소), 수취인의 전자 지갑 주소, 가상자산 유형, 송신될 가상자산의 수량 중에서 하나 이상의 항목을 포함할 수 있다.
이어서, 블록체인 네트워크(400)의 각 노드들(410-N)은 채굴을 진행하여, 제2 식별자와 트랜잭션 데이터를 포함하는 신규 블록을 기존에 블록에 연결함으로써, 상기 가상자산의 송신에 대한 트랜잭션을 블록체인에 저장할 수 있다(S403).
VASP#1 노드(210)는 채굴이 안정화되면(즉, 정상적으로 트랜잭션이 블록체인에 저장되면), 상기 트랜잭션 데이터와 제1 식별자를 포함하는 트랜잭션 검증 요청 메시지를 검증 노드(300)로 전송할 수 있다(S405).
이어서, 검증 노드(300)는 상기 제1 식별자를 가지는 검증 정보에 상기 트랜잭션 데이터를 저장할 수 있다. 그리고 검증 노드(300)는 상기 트랜잭션 검증 요청 메시지를 수신함에 따라 트랜잭션 검증 요청 메시지에 포함된 트랜잭션 데이터에서 제2 식별자를 확인하고, 상기 제2 식별자와 대응되는 트랜잭션이 블록체인 네트워크(400)에서 발견되는지 여부를 조회하여, 상기 가상자산의 송신과 관련된 트랜잭션이 블록체인에 기록되었는지 여부를 확인할 수 있다(S407, S409). 이때, 검증 노드(300)는 상기 블록체인에 기록된 트랜잭션 중에서 적어도 하나 이상의 트랜잭션 각각에 대한 제3 식별자(예컨대, 해시)를 획득하고, 상기 획득된 제3 식별자가 상기 제2 식별자에 대응하는지 여부를 검사하고, 상기 검사의 결과를 이용하여 상기 제2 식별자에 대응하는 트랜잭션을 발견할 수 있다. 몇몇 실시예에서, 검증 노드(300)는 상기 트랜잭션 검증 요청 메시지를 수신하는 것 없이, 상기 가상자산의 송신과 관련된 트랜잭션이 블록체인에 기록되었는지 여부를 확인할 수 있다. 즉, 상기 검증 결과(즉, 수취인 검증 성공) 전송에 대하여 VASP#1 노드(210)가 송신 예정된 가상자산의 송신과 대응되는 트랜잭션을 블록체인에 기록하는 것으로 응답한 경우, 상기 검증 노드(300)는 상기 응답에 대한 결과로서 상기 송신 예정인 가상자산의 송신과 관련된 트랜잭션이 블록체인에 기록되었는지 여부를 확인할 수 있다.검증 노드(300)는 상기 제2 식별자와 대응되는 트랜잭션이 블록체인에서 기록되어 있음이 확인되면, 상기 제2 식별자와 대응되는 트랜잭션에서 송신 관련 정보를 확인할 수 있다. 이어서, 검증 노드(300)는 S405 단계에서 상기 VASP#1 노드(210)로부터 수신한 트랜잭션 데이터에 포함된 송신 관련 정보에서 특정한 하나 이상의 제1 항목을 확인하고, 블록체인의 트랜잭션에서 상기 확인한 송신 관련 정보에서 특정한 하나 이상의 제2 항목을 확인한 후, 상기 제1 항목과 상기 제2 항목이 서로 대응되는지 여부를 확인함으로써, 가상자산의 송신과 대응되는 트랜잭션이 블록체인에 기록되었는지를 검증할 수 있다(S411). 검증 노드(300)는 제1 항목과 제2 항목이 서로 대응되는 트랜잭션 검증에 성공한 것으로 판단하고, 제1 항목과 제2 항목이 서로 대응되지 않으면 트랜잭션 검증에 실패한 것으로 판단할 수 있다. 상기 특정된 항목 항목은 송신 관련 정보에서 사전에 설정된 하나 이상의 항목일 수 있다. 예컨대, 특정된 항목은, 가상자산의 수량, 송신인의 주소, 수취인의 전자지갑 주소 중에서 적어도 하나 이상일 수 있다. 상기 검증 노드(300)는 상기 제1 항목과 제2 항목이 일치하거나, 상기 제1 항목과 제2 항목이 매핑되어 검증 정보에 기록되는 경우에, 상기 제1 항목과 제2 항목이 서로 대응되는 것으로 판정할 수 있다.
제1 식별자를 가지는 검증 정보에 상기 트랜잭션의 검증 결과를 추가적으로 포함시킴으로써, 트랜잭션 검증 결과를 별도로 저장할 수 있다(S413). 이어서, 검증 노드(300)는 트랜잭션 검증 결과가 성공이면, 가상자산의 갱신을 허락하는 신호를 VASP#2 노드(220)로 전송할 수 있다(S417). 이때, 검증 노드(300)는 제2 식별자, 송신인의 주소, 수취인의 전자 지갑 주소, 가상자산 유형 및 가상자산의 수량을 포함하는 상기 트랜잭션 데이터를 상기 VASP#2 노드(220)로 전송할 수 있다. 또한, 검증 노드(300)는 트랜잭션 검증 결과가 실패이면, 가상자산 갱신 보류 신호를 VASP#2 노드(220)로 전송할 수 있다.
VASP#2 노드(220)는 검증 노드(300)로부터 가상자산 갱신 허락 신호를 수신하면, 상기 트랜잭션 데이터에 포함된 수취인의 전자 지갑 주소, 가상자산의 유형 및 수량을 토대로, 상기 수신한 가상자산 유형에 해당하는 수취인의 가상자산에 상기 가상자산의 수량을 가산함으로써, 상기 수취인의 가상자산을 갱신할 수 있다(S417). 반면에, VASP#2 노드(220)는 가상자산 갱신 보류 신호를 수신하면, 상기 수취인의 가상자산을 증가시키지 않고 상기 수취인의 가상자산 갱신을 보류할 수 있다.
상술한 실시예들에 따라, 송신인의 검증, 수취인의 검증 및 트랜잭션 검증에 모두 성공하는 경우에, 수취인에게 정상적으로 가상자산의 송신이 이루어지고 수취인의 가상자산이 갱신되어, 테러리스트 등의 범죄 집단에 가상자산이 전달되는 상황과 자금세탁을 방지할 수는 효과를 얻을 수 있다.
몇몇 실시예에서, 검증 노드(300)가 트랜잭션 검증과 수취인 검증을 수행하고 검증 정보를 저장하여 관리하여, VASP 노드(210, 220)를 회원을 가입되도록 하게 함으로써, FATF에 요구한 의무사항을 준수한 상태에서, VASP 노드들 간에 수행되는 가상화폐 거래를 통합하여 관리할 수 있는 이점을 얻을 수 있다.
또 다른 실시형태로서, 가상자산의 블록체인에는 제1 식별자를 포함하는 메타데이터가 저장될 수 있다. 이 경우, VASP#1 노드(210)는 상기 제1 식별자를 포함하는 메타데이터, 제2 식별자 및 송신 관련 정보를 포함하는 트랜잭션 데이터를 블록체인 네트워크(400)로 전송하여, 가상자산 송신을 위한 트랜잭션 기록 요청을 블록체인 네트워크(400)로 전송할 수 있다.
도 6은 본 명세서의 또 다른 실시예에 따른, 가상자산 송신을 중개하는 방법을 설명하기 위한 신호 흐름도이다.
도 6을 참조하면, VASP#1 노드(210)는 수취인의 검증 결과가 성공이면, 상기 검증 성공에 대한 응답으로서 제1 식별자를 포함하는 메타데이터, 제2 식별자 및 송신 관련 정보를 포함하는 트랜잭션 데이터를 준비하고, 상기 트랜잭션 데이터를 포함하는 트랜잭션 기록 요청 메시지를 블록체인 네트워크(400)로 전송할 수 있다(S501). 상기 제1 식별자는 검증 정보를 위한 ID이고, 상기 제2 식별자는 상기 송신과 관련된 트랜잭션의 해시(hash)일 수 있다. 또한, 상기 송신 관련 정보는, 송신인의 주소(예컨대, 전자 지갑 주소), 수취인의 전자 지갑 주소, 가상자산 유형, 송신될 가상자산의 수량 중에서 하나 이상의 항목을 포함할 수 있다.
이어서, 블록체인 네트워크(400)의 각 노드들(410-N)은 상기 메타데이터, 제2 식별자 및 트랜잭션 데이터를 포함하는 신규 블록을 기존에 블록에 연결함으로써, 메타데이터가 포함되며 가상자산의 송신과 관련된 트랜잭션을 블록체인에 저장할 수 있다(S503).
이어서, 검증 노드(300)는 저장중인 검증 정보에서 제1 식별자를 확인하고, 상기 제1 식별자와 대응하는 메타데이터를 포함하는 하나 이상의 트랜잭션을 블록체인에서 조회할 수 있다(S505, S507). 즉, 상기 검증 결과(즉, 수취인 검증 성공) 전송에 대하여 VASP#1 노드(210)가 송신 예정된 가상자산의 송신과 대응되는 트랜잭션을 블록체인에 기록하는 것으로 응답한 경우, 상기 검증 노드(300)는 상기 응답에 대한 결과로서 상기 송신 예정인 가상자산의 송신과 관련된 트랜잭션이 블록체인에 기록되었는지 여부를 확인할 수 있다. 상기 검증 노드(300)는 상기 블록체인에 기록된 트랜잭션 중에서 적어도 하나 이상의 트랜잭션에 포함된 메타데이터를 획득하고, 획득된 메타데이터가 상기 제1 식별자와 대응하는 정보를 포함하는지 여부를 검사함으로써, 상기 제1 식별자와 대응하는 정보를 포함하는 메타데이터가 포함된 트랜잭션을 블록체인에서 발견할 수 있다.
다음으로, 검증 노드(300)는 상기 메타데이터와 대응되는 트랜잭션이 블록체인에서 기록되어 있음이 확인되면, 상기 메타데이터를 포함하는 트랜잭션에서 송신 관련 정보를 확인할 수 있다. 이어서, 검증 노드(300)는 VASP#1 노드(210)로부터 수신한 송신될 예정인 가상자산의 정보에서 특정한 하나 이상의 제1 항목을 확인하고, 블록체인의 트랜잭션에서 상기 확인한 송신 관련 정보에서 특정한 하나 이상의 제2 항목을 확인한 후, 상기 제1 항목과 상기 제2 항목이 서로 대응되는지 여부를 확인함으로써, 가상자산의 송신과 대응되는 트랜잭션이 블록체인에 기록되었는지를 검증할 수 있다(S509). 검증 노드(300)는 제1 항목과 제2 항목이 서로 대응되는 트랜잭션 검증에 성공한 것으로 판단하고, 제1 항목과 제2 항목이 서로 대응되지 않으면 트랜잭션 검증에 실패한 것으로 판단할 수 있다. 이때, 검증 노드(300)는 상기 제1 항목과 제2 항목이 일치하거나, 상기 제1 항목과 제2 항목이 매핑되어 검증 정보에 기록되는 경우에, 상기 제1 항목과 제2 항목이 서로 대응되는 것으로 판정할 수 있다.
다음으로, 검증 노드(300)는 제1 식별자를 가지는 검증 정보에 상기 트랜잭션의 검증 결과를 추가적으로 포함시킴으로써, 트랜잭션 검증 결과를 별도로 저장할 수 있다(S511). 이어서, 검증 노드(300)는 트랜잭션 검증 결과가 성공이면, 수취인의 가상자산 갱신을 허락하는 신호를 VASP#2 노드(220)로 전송할 수 있다(S513). 이때, 검증 노드(300)는 제2 식별자, 송신인의 주소, 수취인의 전자 지갑 주소, 가상자산 유형 및 가상자산의 수량을 포함하는 상기 트랜잭션 데이터를 상기 VASP#2 노드(220)로 전송할 수 있다. 또한, 검증 노드(300)는 트랜잭션 검증 결과가 실패이면, 가상자산 갱신 보류 신호를 VASP#2 노드(220)로 전송할 수 있다.
그러면, VASP#2 노드(220)는 검증 노드(300)로부터 가상자산 갱신 허락 신호를 수신하면, 상기 트랜잭션 데이터에 포함된 수취인의 전자 지갑 주소, 가상자산의 유형 및 수량을 토대로, 상기 수신한 가상자산 유형에 해당하는 수취인의 가상자산에 상기 가상자산의 수량을 가산함으로써, 상기 수취인의 가상자산을 갱신할 수 있다(S515). 반면에, VASP#2 노드(220)는 가상자산 갱신 보류 신호를 수신하면, 상기 수취인의 가상자산을 증가시키지 않고 가상사잔 갱신을 보류할 수 있다.
본 실시예에 따르면, 제1 식별자를 이용하여 트랜잭션 검증을 용이하게 수행할 수 있고, 더불어 노드 간에 프로토콜이 간결하게 하는 효과를 발휘할 수 있다.
한편, 수취인의 가상자산을 관리하는 VASP#2 노드(220)가 회원이 아닌 경우, 추후에 수취인 검증이 진행될 수 있다.
도 7은 본 명세서의 또 다른 실시예에 따른, 트랜잭션을 블록체인에 저장하는 방법을 설명하기 위한 신호 흐름도이다.
도 7을 참조하면, VASP#2 노드(220)가 검증 노드(300)의 회원에 가입되지 않은 상태에서, 사용자 노드(100)는 송신을 진행하는 절차를 개시할 수 있다. 즉, 사용자 노드(100)는 사용자(즉, 송신인)로부터 송신하는 가상자산의 유형, 가상자산의 수량 및 수취인의 전자 지갑 주소 등을 입력 받아, 송신인의 주소, 상기 가상자산의 유형, 가상자산의 수량 및 수취인의 전자 지갑 주소를 포함하는 송신 요청 메시지를 VASP#1 노드(210)로 전송할 수 있다(S601). 이때, 사용자 노드(100)는 회원 가입되지 않은 VASP#2 노드(220)의 이름을 VASP#1 노드(210)로 전송할 수 있다.
송신 요청 메시지를 수신한 VASP#1 노드(210)는 송신인 검증을 진행할 수 있다(S603). 상술한 바와 같이, 상기 VASP#1 노드(210)는 다양한 인증 방법을 이용하여 상기 송신인의 검증을 수행할 수 있다. VASP#1 노드(210)는 검증에 성공하면, 제1 식별자를 생성할 수 있다(S605). 다음으로, VASP#1 노드(210)는 복수의 보안 레벨 중에서 상기 가상자산의 송신에 적용되는 보안 레벨을 결정할 수 있다(S607). 그리고 VASP#1 노드(210)는 상기 확인한 보안 레벨에 따라 새로운 키 쌍(즉, 개인키와 공개키)을 생성하거나 이미 생성한 키 쌍을 확인할 수 있다(S609). VASP#1 노드(210)는 제1 식별자 및 상기 키 쌍을 매핑하여 저장할 수 있다.
다음으로, VASP#1 노드(210)는 수취인 정보와 송신인 정보를 포함하는 개인 데이터를 상기 생성하거나 확인한 개인키를 이용하여 암호화할 수 있다(S611). 이어서, VASP#1 노드(210)는 가상자산의 송신 관련 정보 및 제2 식별자를 포함하는 트랜잭션 데이터를 준비하고, 상기 트랜잭션 데이터를 포함하는 트랜잭션 기록 요청 메시지를 블록체인 네트워크(400)로 전송할 수 있다(S613). 상기 송신 관련 정보는, 송신인의 주소, 수취인의 전자 지갑 주소, 가상자산 유형 및 가상자산의 수량을 포함할 수 있다. 몇몇 실시예에서, 상기 VASP#1 노드(210)는 상기 제1 식별자를 포함한 메타데이터, 상기 제2 식별자 및 상기 송신 관련 정보를 포함하는 트랜잭션 기록 요청 메시지를 블록체인 네트워크(400)로 전송할 수 있다
이어서, 블록체인 네트워크(400)의 각 노드들(410-N)은 채굴을 진행하여, 상기 트랜잭션 데이터를 포함하는 신규 블록을 기존에 블록에 연결함으로써, 트랜잭션 데이터를 블록체인에 저장할 수 있다(S615).
VASP#1 노드(210)는 채굴이 안정화되면(즉, 정상적으로 트랜잭션이 블록체인에 저장되면), 상기 트랜잭션 데이터, 제1 식별자, 제2 식별자, 보안 레벨, 암호화된 개인 데이터 및 상기 생성하거나 생성한 공개키 및 송신인의 검증 결과를 포함하는 트랜잭션 검증 요청 메시지를 검증 노드(300)로 전송할 수 있다(S617).
검증 노드(300)는 상기 송신인의 검증 결과, 트랜잭션 데이터, 상기 공개키(즉, VASP#1 노드의 공개키), 암호화된 개인 데이터, 제1 식별자 및 제2 식별자를 포함하고, VASP#1 노드(210)의 식별코드를 송신측 VASP 식별코드로서 포함하는 상기 제1 식별자를 가지는 검증 정보를 생성하여 저장할 수 있다. VASP#2 노드(220)가 회원이 아니어서 VASP#2 노드(220)의 회원이 미할당되어 있으므로, 상기 검증 정보에는 수신측 VASP 노드의 식별코드가 기록되어 있지 않은 상태이다.
이어서, 검증 노드(300)는 트랜잭션 검증 요청 메시지에 포함된 트랜잭션 데이터에서 제2 식별자를 확인하고, 상기 제2 식별자와 대응되는 트랜잭션을 블록체인 네트워크(400)에서 조회하여, 상기 트랜잭션이 블록체인에 기록되었는지 여부를 검증할 수 있다(S619, S621). 검증 노드(300)는 상기 제2 식별자와 대응되는 트랜잭션이 블록체인에서 기록되어 있음이 확인되면, 상기 제2 식별자와 대응되는 트랜잭션에서 송신 관련 정보를 확인할 수 있다. 이어서, 검증 노드(300)는 상기 VASP#1 노드(210)로부터 수신한 트랜잭션 데이터에 포함된 송신 관련 정보에서 특정한 하나 이상의 제1 항목을 확인하고, 블록체인의 트랜잭션에서 상기 확인한 송신 관련 정보에서 특정한 하나 이상의 제2 항목을 확인한 후, 상기 제1 항목과 상기 제2 항목이 서로 대응되는지 여부를 확인함으로써, 가상자산의 송신과 대응되는 트랜잭션이 블록체인에 기록되었는지를 검증할 수 있다.
또 다른 실시예에서, 검증 노드(300)는 트랜잭션 데이터에서 제1 식별자를 확인하고, 상기 제1 식별자와 대응하는 메타데이터를 포함하는 하나 이상의 트랜잭션을 블록체인에서 조회할 수 있다. 이때, 검증 노드(300)는 상기 블록체인에 기록된 트랜잭션 중에서 적어도 하나 이상의 트랜잭션에 포함된 메타데이터를 획득하고, 획득된 메타데이터가 상기 제1 식별자와 대응하는 정보를 포함하는지 여부를 검사함으로써, 상기 제1 식별자와 대응하는 정보를 포함하는 메타데이터가 포함된 트랜잭션을 블록체인에서 발견할 수 있다. 그리고 검증 노드(300)는 상기 메타데이터와 대응되는 트랜잭션이 블록체인에서 기록되어 있음이 확인되면, 상기 메타데이터를 포함하는 트랜잭션에서 송신 관련 정보를 확인할 수 있다. 또한, 검증 노드(300)는 상기 VASP#1 노드(210)로부터 수신한 트랜잭션 데이터에 포함된 송신 관련 정보에서 특정한 하나 이상의 제1 항목을 확인하고, 블록체인의 트랜잭션에서 상기 확인한 송신 관련 정보에서 특정한 하나 이상의 제2 항목을 확인한 후, 블록체인의 트랜잭션에서 상기 확인한 송신 관련 정보에서 특정한 하나 이상의 제2 항목을 확인한 후, 상기 제1 항목과 상기 제2 항목이 서로 대응되는지 여부를 확인함으로써, 가상자산의 송신과 대응되는 트랜잭션이 블록체인에 기록되었는지를 검증할 수 있다. 검증 노드(300)는 제1 항목과 제2 항목이 서로 대응되는 트랜잭션 검증에 성공한 것으로 판단하고, 제1 항목과 제2 항목이 서로 대응되지 않으면 트랜잭션 검증에 실패한 것으로 판단할 수 있다.
다음으로, 검증 노드(300)는 제1 식별자를 포함하는 검증 정보에, 상기 트랜잭션의 검증 결과를 추가적으로 포함시킴으로써, 트랜잭션 검증 결과를 저장할 수 있다(S623). 이어서, 검증 노드(300)는 수취인 검증 예약 목록에 상기 제1 식별자 및 보안 레벨을 기록할 수 있다(S625).
본 실시예에 따르면, 비회원인 VASP#2 노드(220)로의 송신이 요청되면, 블록체인에는 트랜잭션 데이터가 저장되고 검증 노드(300)에는 추후에 진행될 수취인 검증과 관련한 데이터가 검증 예약 목록에 저장될 수 있다. 이후, VASP#2 노드(220)가 회원에 가입하면, 수취인 검증이 진행될 수 있다.
도 8은 본 명세서의 또 다른 실시예에 따른, 가상자산 송신을 중개하는 방법을 설명하기 위한 신호 흐름도이다.
도 8을 참조하면, 검증 노드(300)는 VASP#2 노드(220)로부터 회원 가입을 요청받으면, 요구되는 회원 데이터(국적, IP 주소, 물리적 주소, 식별번호 등)를 VASP#2 노드(220)로부터 수신하여 저장하고 VASP#2 노드(220)의 식별코드를 할당함으로써, 상기 VASP#2 노드(220)에 대한 회원 가입 절차를 진행할 수 있다(S701).
이어서, 검증 노드(300)는 상기 회원 가입 절차가 정상적으로 완료되면, 검증 정보에 미기록된 수신측 VASP 노드의 식별코드를 상기 VASP#2 노드(220)의 식별코드로 기록하고, 더불어 상기 검증 노드에 기록된 제1 식별자를 확인할 수 있다. 다음으로, 검증 노드(300)는 상기 확인한 제1 식별자와 대응되어 기록된 보안 레벨을 수취인 검증 예약 목록에서 확인할 수 있다(S703). 그리고 검증 노드(300)는 상기 보안 레벨과 제1 식별자가 포함된 공개키 요청 메시지를 상기 VASP#2 노드(220)로 전송할 수 있다(S705).
그러면, VASP#2 노드(220)는 상기 공개키 요청 메시지에 포함된 보안 레벨을 확인할 수 있다(S707). 다음으로, VASP#2 노드(220)는 상기 확인한 보안 레벨에 따라 새로운 키 쌍을 생성하거나 기존에 생성한 키 쌍을 확인할 수 있다(S709). 이어서, VASP#2 노드(220)는 상기 확인하거나 생성한 키 쌍 중에서 공개키를 상기 제1 식별자와 함께 검증 노드(300)로 전송하고(S711), 상기 제1 식별자와 상기 키 쌍을 매핑하여 저장할 수 있다.
검증 노드(300)는 상기 제1 식별자를 가지는 검증 정보에 상기 공개키를 수취인측 공개키로서 포함시킬 수 있다. 그리고 검증 노드(300)는 상기 공개키와 제1 식별자를 VASP#1 노드(210)로 전송할 수 있다(S713).
그러면, VASP#1 노드(210)는 상기 제1 식별자와 매핑된 공개키를 추출하고, 수신한 공개키(즉, VASP#2 노드의 공개키)를 암호키로서 이용하여 상기 추출한 공개키(즉, VASP#1 노드의 공개키)를 암호화할 수 있다(S715). 이어서, VASP#1 노드(210)는 상기 암호화한 공개키와 제1 식별자를 검증 노드(300)로 전송할 수 있다(S717).
그러면 검증 노드(300)는 상기 제1 식별자를 가지는 검증 정보에서, 암호화된 개인 데이터를 추출하고(S719), 상기 암호화된 개인 데이터, 제1 식별자 및 암호화된 공개키를 포함하는 수취인 검증 요청 메시지를 VASP#2 노드(220)로 전송할 수 있다(S721).
VASP#2 노드(220)는 상기 제1 식별자와 매핑된 개인키를 이용하여, 상기 수취인 검증 요청 메시지에 포함된 암호화된 공개키를 복호화할 수 있다(S723). 그리고 VASP#2 노드(220)는 복호화된 공개키를 이용하여 상기 암호화된 개인 데이터를 복호화할 수 있다(S725). 이어서, VASP#2 노드(220)는 상기 복호화된 개인 데이터에서 수취인 정보를 확인하고, 자신이 관리하는 가입자 정보와 상기 수취인 정보가 일치하는지 여부를 확인함으로써 수취인을 검증할 수 있다(S727). VASP#2 노드(220)는 상기 수취인 정보에서 수취인의 전자 지갑 주소와 이름을 확인하고, 상기 전자 지갑 주소와 이름 모두를 가지는 가입자의 정보가 저장되어 있으면, 수취인 검증을 성공으로 처리하고, 그렇지 않으면 검증 실패로 처리할 수 있다. 다음으로, VASP#2 노드(220)는 수취인의 검증 결과와 상기 제1 식별자를 검증 노드(300)로 전송할 수 있다(S729).
수취인의 검증 결과와 제1 식별자를 수신한 검증 노드(300)는 상기 제1 식별자를 가지는 검증 정보에 상기 수취인 검증 결과를 포함시켜 저장할 수 있고(S731), 또한 상기 수취인 검증 결과를 VASP#1 노드(210)로 전송할 수 있다. 다음으로, 검증 노드(300)는 수취인 검증 결과가 성공이면, 수취인의 가상자산 갱신을 허락하는 신호를 VASP#2 노드(220)로 전송할 수 있다(S733). 이때, 검증 노드(300)는 제2 식별자, 송신인의 주소, 수취인의 전자 지갑 주소, 가상자산 유형 및 가상자산의 수량을 포함하는 상기 트랜잭션 데이터를 상기 VASP#2 노드(220)로 전송할 수 있다. 또한, 검증 노드(300)는 수취인 검증 결과가 실패이면, 가상자산 갱신 보류 신호를 VASP#2 노드(220)로 전송할 수 있다.
VASP#2 노드(220)는 검증 노드(300)로부터 가상자산 갱신 허락 신호를 수신하면, 상기 트랜잭션 데이터에 포함된 수취인의 전자 지갑 주소, 가상자산 유형 및 가상자산의 수량을 토대로, 상기 수신한 가상자산 유형에 해당하는 수취인의 가상자산에 상기 가상자산의 수량을 가산함으로써, 상기 수취인의 가상자산을 갱신할 수 있다(S735). 반면에, VASP#2 노드(220)는 가상자산 갱신 보류 신호를 수신하면, 상기 수취인의 가상자산을 증가시키지 않고 보류할 수 있다.
도 8을 참조한 실시예에서, VASP#1 노드(210)가 VASP#2 노드(220)에서 생성한 공개키를 암호키로서 이용하여, 자신이 생성한 공개키를 암호화하여 검증 노드(300)로 전송하는 것으로 설명하였으나, 도 9를 참조하여 후술하는 바와 같이 VASP#1 노드(210)는 검증 노드(300)로부터 수신한 VASP#2 노드(220)의 공개키를 이용하여 개인 데이터를 암호화하고, 암호화된 개인 데이터를 VASP#2 노드(220)로 제공할 수도 있다.
본 실시예에 따르면, 수신측 VSSP#2 노드(220)가 추후에 회원 가입되더라도, 수취인을 확실하게 검증할 수 있다. 또한, 본 실시예에 따르면, 보안 레벨에서 이용되는 공개키를 이용하여 개인 데이터를 암호화하여 VASP#2 노드(220)로 전송하기 때문에, 데이터의 보안을 강화할 수 있는 효과를 얻을 수 있다.
도 9는 본 명세서의 또 다른 실시예에 따른, 가상자산 송신을 중개하는 방법을 설명하기 위한 신호 흐름도이다.
도 9에서 도 8과 동일한 참조부호를 가지는 S701 단계 내지 S713 단계, 도 8을 참조한 설명과 실질적으로 동일하므로, 동일한 참조부호를 가지는 단계에 대한 설명은 생략하고, 상이한 참조부호를 가지는 단계에 대해서만 설명하기로 한다.
도 9를 참조하면, VASP#1 노드(210)는 VASP#2 노드(220)의 공개키를 수신하면, 수취인 정보와 송신인 정보를 포함하는 개인 데이터를 상기 수신한 공개키를 이용하여 암호화할 수 있다(S815). 이어서, VASP#1 노드(210)는 암호화한 개인 데이터와 제1 식별자를 검증 노드(300)로 전송할 수 있다(S817).
그러면, 검증 노드(300)는 상기 제1 식별자를 가지는 검증 정보에서 상기 암호화한 개인 데이터를 추가로 포함시켜 저장할 수 있다(S819). 그리고 VASP#1 노드(210)는 VASP#2 노드(220)의 공개키로 암호화된 개인 데이터 및 제1 식별자를 포함하는 수취인 검증 요청 메시지를 VASP#2 노드(220)로 전송할 수 있다(S821).
이어서, VASP#2 노드(220)는 상기 제1 식별자와 매핑된 개인키를 이용하여, 상기 암호화 개인 데이터를 복호화할 수 있다(S823). 이어서, VASP#2 노드(220)는 상기 복호화된 개인 데이터에서 수취인 정보를 확인하고, 자신이 관리하는 가입자 정보와 상기 복호화된 수취인 정보가 일치하는지 여부를 확인함으로써, 수취인을 검증을 수행할 수 있다(S825). 이어서, VASP#2 노드(220)는 수취인의 검증 결과와 상기 제1 식별자를 검증 노드(300)로 전송할 수 있다(S827).
수취인의 검증 결과와 제1 식별자를 수신한 검증 노드(300)는 상기 제1 식별자를 가지는 검증 정보에 상기 수취인 검증 결과를 포함시켜 저장할 수 있고(S829), 또한 상기 수취인 검증 결과를 VASP#1 노드(210)로 전송할 수 있다. 다음으로, 검증 노드(300)는 수취인 검증 결과가 성공이면, 가상자산의 갱신을 허락하는 신호를 VASP#2 노드(220)로 전송할 수 있다(S831). 이때, 검증 노드(300)는 제2 식별자, 송신인의 주소, 수취인의 전자 지갑 주소, 가상자산 유형 및 가상자산의 수량을 포함하는 상기 트랜잭션 데이터를 상기 VASP#2 노드(220)로 전송할 수 있다. 또한, 검증 노드(300)는 수취인 검증 결과가 실패이면, 가상자산 갱신 보류 신호를 VASP#2 노드(220)로 전송할 수 있다.
VASP#2 노드(220)는 검증 노드(300)로부터 가상자산 갱신 허락 신호를 수신하면, 상기 트랜잭션 데이터에 포함된 수취인의 전자 지갑 주소, 가상자산 유형 및 가상자산의 수량을 토대로, 상기 가상자산 유형에 해당하는 수취인의 가상자산에 상기 가상자산의 수량을 가산함으로써, 상기 수취인의 가상자산을 갱신할 수 있다(S833). 반면에, VASP#2 노드(220)는 가상자산 갱신 보류 신호를 수신하면, 상기 수취인의 가상자산을 증가시키지 않고 보류할 수 있다.
지금까지 도 1 내지 도 9를 참조하여 설명된 기술적 사상은 컴퓨터가 읽을 수 있는 매체 상에 컴퓨터가 읽을 수 있는 코드로 구현될 수 있다. 상기 컴퓨터로 읽을 수 있는 기록 매체는, 예를 들어 이동형 기록 매체(CD, DVD, 블루레이 디스크, USB 저장 장치, 이동식 하드 디스크)이거나, 고정식 기록 매체(ROM, RAM, 컴퓨터 구비 형 하드 디스크)일 수 있다. 상기 컴퓨터로 읽을 수 있는 기록 매체에 기록된 상기 컴퓨터 프로그램은 인터넷 등의 네트워크를 통하여 다른 컴퓨팅 장치에 전송되어 상기 다른 컴퓨팅 장치에 설치될 수 있고, 이로써 상기 다른 컴퓨팅 장치에서 사용될 수 있다.
이하, 몇몇 실시예들에 따른 예시적인 컴퓨팅 장치의 하드웨어 구성을 도 9를 참조하여 설명하기로 한다.
도 10은 다양한 실시예에서 컴퓨팅 장치를 구현할 수 있는 예시적인 하드웨어 구성도이다. 본 실시예에 따른 컴퓨팅 장치(1000)는 하나 이상의 프로세서(1100), 시스템 버스(1600), 네트워크 인터페이스(1200), 프로세서(1100)에 의하여 수행되는 컴퓨터 프로그램(1500)을 로드(load)하는 메모리(1400)와, 컴퓨터 프로그램(1500)을 저장하는 스토리지(1300)를 포함할 수 있다. 도 9에는 실시예와 관련 있는 구성요소들 만이 도시되어 있다. 따라서, 본 명세서의 실시예들이 속한 기술분야의 통상의 기술자라면 도 9에 도시된 구성요소들 외에 다른 범용적인 구성 요소들이 더 포함될 수 있음을 알 수 있다.
프로세서(1100)는 컴퓨팅 장치(1000)의 각 구성의 전반적인 동작을 제어할 수 있다. 프로세서(1100)는 CPU(Central Processing Unit), MPU(Micro Processor Unit), MCU(Micro Controller Unit), GPU(Graphic Processing Unit) 또는 본 명세서의 기술 분야에 잘 알려진 임의의 형태의 프로세서 중 적어도 하나를 포함하여 구성될 수 있다. 또한, 프로세서(1100)는 다양한 실시예들에 따른 방법/동작을 실행하기 위한 적어도 하나의 애플리케이션 또는 프로그램에 대한 연산을 수행할 수 있다. 컴퓨팅 장치(1000)는 둘 이상의 프로세서를 구비할 수 있다.
메모리(1400)는 각종 데이터, 명령 및/또는 정보를 저장한다. 메모리(1400)는 본 명세서의 다양한 실시예들에 따른 방법/동작들을 실행하기 위하여 스토리지(1300)로부터 하나 이상의 프로그램(190)을 로드(load) 할 수 있다. 메모리(1400)의 예시는 RAM이 될 수 있으나, 이에 한정되는 것은 아니다. 시스템 버스(1600)는 컴퓨팅 장치(1000)의 구성 요소 간 통신 기능을 제공한다.
상기 버스는 주소 버스(Address Bus), 데이터 버스(Data Bus) 및 제어 버스(Control Bus) 등 다양한 형태의 버스로 구현될 수 있다. 네트워크 인터페이스(1200)는 통신망(500)과 연결할 수 있다. 스토리지(1300)는 하나 이상의 컴퓨터 프로그램(1500)을 비임시적으로 저장할 수 있다. 스토리지(1300)는 플래시 메모리 등과 같은 비휘발성 메모리, 하드 디스크, 착탈형 디스크, 또는 본 명세서의 실시예들이 속하는 기술 분야에서 잘 알려진 임의의 형태의 컴퓨터로 읽을 수 있는 기록 매체를 포함하여 구성될 수 있다.
컴퓨터 프로그램(1500)은 본 명세서의 다양한 실시예들에 따른 방법/동작들이 구현된 하나 이상의 인스트럭션들을 포함할 수 있다. 컴퓨터 프로그램(1500)이 메모리(1400)에 로드 되면, 프로세서(1100)는 상기 하나 이상의 인스트럭션들을 실행시킴으로써 본 명세서의 다양한 실시예들에 따른 방법/동작들을 수행할 수 있다.
컴퓨터 프로그램(1500)은, 상술한 VASP#1 노드(210), VASP#2 노드(220) 또는 검증 노드(300)의 동작을 수행하기 위한 인스트럭션(instruction)들을 포함할 수 있다. 즉, 컴퓨터 프로그램(1500)은 VASP#1 노드(210)에 따른 방법/동작을 수행하기 위한 하나 이상의 인스트럭션을 포함할 수 있고, VASP#2 노드(220)의 방법/동작을 수행하기 위한 하나 이상의 인스트럭션을 포함할 수 있으며, 또는 검증 노드(300)의 방법/동작을 수행하기 위한 하나 이상의 인스트럭션을 포함할 수 있다.
이상 첨부된 도면을 참조하여 본 명세서의 실시예들을 설명하였지만, 본 명세서의 실시예들이 속하는 기술분야에서 통상의 지식을 가진 자는 그 기술적 사상이나 필수적인 특징을 변경하지 않고서 본 명세서의 실시예들이 다른 구체적인 형태로도 실시될 수 있다는 것을 이해할 수 있다. 그러므로 이상에서 기술한 실시예들은 모든 면에서 예시적인 것이며 한정적인 것이 아닌 것으로 이해해야만 한다. 본 발명의 보호 범위는 아래의 청구범위에 의하여 해석되어야 하며, 그와 동등한 범위 내에 있는 모든 기술 사상은 본 발명에 의해 정의되는 기술적 사상의 권리범위에 포함되는 것으로 해석되어야 할 것이다.

Claims (16)

  1. 블록체인 네트워크를 포함하는 컴퓨터 통신 네트워크에 연결된 컴퓨팅 장치를 포함하는 검증 노드가, 제1 사용자로부터 제2 사용자에게 송신될 예정인 가상자산에 대한 제1 정보를 상기 제1 사용자의 가상자산을 관리하는 제1 가상자산사업자(Virtual Asset Service Provider, VASP) 서버로부터 수신하는 단계;
    상기 검증 노드가, 상기 수신된 제1 정보에 포함된 상기 제2 사용자에 대한 정보가 정확한지 여부에 대한 검증 요청을 상기 제2 사용자의 가상자산을 관리하는 제2 가상자산사업자 서버에 전송하는 단계;
    상기 검증 노드가, 상기 검증 요청에 대한 응답으로서 상기 제2 가상자산사업자 서버로부터 상기 제2 사용자에 대한 정보가 정확하다는 취지의 검증 결과를 수신하는 단계;
    상기 검증 노드가, 상기 수신된 검증 결과를 상기 제1 가상자산사업자 서버에 전송하는 단계;
    상기 검증 노드가, 상기 제1 가상자산사업자 서버가 상기 검증 결과에 대응하여 상기 블록체인 네트워크에 발생시킨, 상기 송신될 예정인 가상자산의 송신에 대응하는 트랜잭션이 블록체인에 기록 되었는지 여부를 확인하는 단계; 및
    상기 검증 노드가, 상기 트랜잭션에 대한 확인 결과를 상기 제2 가상자산사업자 서버에 전송하는 단계
    를 포함하는 가상자산 송신 중개 방법.
  2. 제1 항에 있어서,
    상기 트랜잭션이 상기 블록체인에 기록되었는지 여부를 확인하는 단계는,
    상기 송신될 예정인 가상자산의 송신에 대응하는 트랜잭션의 제1 식별자를 포함하는 메타데이터가 포함된 트랜잭션이 상기 블록체인 네트워크에서 안정화되었는지 여부를 확인하는 단계;
    상기 메타데이터가 포함된 트랜잭션이 상기 블록체인 네트워크에서 안정화되었음이 확인되면 상기 블록체인 네트워크로부터 상기 메타데이터가 포함된 트랜잭션에 대한 제2 정보를 획득하는 단계;
    상기 제1 정보에 포함된 특정한 적어도 하나 이상의 제1 항목 및 상기 제2 정보에 포함된 특정한 적어도 하나 이상의 제2 항목이 서로 대응하는지 여부를 검증하는 단계; 및
    상기 적어도 하나 이상의 제1 항목 및 상기 적어도 하나 이상의 제2 항목이 서로 대응함이 검증되면 상기 송신될 예정인 가상자산의 송신에 대응하는 트랜잭션이 상기 블록체인에 기록되었다고 판정하는 단계
    를 포함하는 가상자산 송신 중개 방법.
  3. 제2 항에 있어서,
    상기 메타데이터가 포함된 트랜잭션이 상기 블록체인 네트워크에서 안정화되었는지 여부를 확인하는 단계는,
    상기 블록체인에 기록된 적어도 하나 이상의 트랜잭션 중에서 상기 제1 식별자를 포함하는 메타데이터가 포함된 트랜잭션을 식별하는 단계; 및
    상기 식별된 트랜잭션이 속한 블록이 상기 블록체인 네트워크 상의 블록체인에 연결된 후 임의의 수 이상의 블록이 상기 블록 뒤에 추가로 연결되는 경우, 상기 메타데이터가 포함된 트랜잭션이 상기 블록체인 네트워크에서 안정화된 것으로 판단하는 단계
    를 포함하는 가상자산 송신 중개 방법.
  4. 제2 항에 있어서,
    상기 적어도 하나 이상의 제1 항목 및 상기 적어도 하나 이상의 제2 항목이 서로 대응하는지 여부를 검증하는 단계는,
    상기 적어도 하나 이상의 제1 항목으로서 상기 송신될 예정인 가상자산의 종류에 대한 정보, 수량에 대한 정보, 또는 수취인에 대한 정보 중에서 적어도 하나 이상을 조회하는 단계;
    상기 적어도 하나 이상의 제2 항목으로서 상기 메타데이터가 포함된 트랜잭션에 대응하는 가상자산의 종류에 대한 정보, 수량에 대한 정보, 또는 수취인에 대한 정보 중에서 적어도 하나 이상을 조회하는 단계; 및
    상기 조회된 적어도 하나 이상의 제1 항목 및 상기 조회된 적어도 하나 이상의 제2 항목이 서로 대응하는지 여부를 검증하는 단계
    를 포함하는 가상자산 송신 중개 방법.
  5. 제1 항에 있어서,
    상기 트랜잭션이 상기 블록체인에 기록 되었는지 여부를 확인하는 단계는,
    상기 제1 가상자산사업자 서버로부터 상기 송신될 예정인 가상자산의 송신에 대응하는 트랜잭션의 제2 식별자를 수신하는 단계;
    상기 제2 식별자에 대응하는 트랜잭션이 상기 블록체인 네트워크에서 안정화되었는지 여부를 확인하는 단계;
    상기 제2 식별자에 대응하는 트랜잭션이 상기 블록체인 네트워크에서 안정화되었음이 확인되면 상기 블록체인 네트워크로부터 상기 제2 식별자에 대응하는 트랜잭션에 대한 제3 정보를 획득하는 단계;
    상기 제1 정보에 포함된 특정한 적어도 하나 이상의 제1 항목 및 상기 제3 정보에 포함된 특정한 적어도 하나 이상의 제3 항목이 서로 대응하는지 여부를 검증하는 단계; 및
    상기 적어도 하나 이상의 제1 항목 및 상기 적어도 하나 이상의 제3 항목이 서로 대응함이 검증되면 상기 송신될 예정인 가상자산의 송신에 대응하는 트랜잭션이 상기 블록체인에 기록되었다고 판정하는 단계
    를 포함하는 가상자산 송신 중개 방법.
  6. 제5 항에 있어서,
    상기 제2 식별자에 대응하는 트랜잭션이 상기 블록체인 네트워크에서 안정화되었는지 여부를 확인하는 단계는,
    상기 블록체인에 기록된 적어도 하나 이상의 트랜잭션 중에서 상기 제2 식별자에 대응하는 트랜잭션을 식별하는 단계; 및
    상기 식별된 트랜잭션이 속한 블록이 상기 블록체인 네트워크 상의 블록체인에 연결된 후 임의의 수 이상의 블록이 상기 블록 뒤에 추가로 연결되는 경우, 상기 제2 식별자에 대응하는 트랜잭션이 상기 블록체인 네트워크에서 안정화된 것으로 판단하는 단계
    를 포함하는 가상자산 송신 중개 방법.
  7. 제5 항에 있어서,
    상기 적어도 하나 이상의 제1 항목 및 상기 적어도 하나 이상의 제3 항목이 서로 대응하는지 여부를 검증하는 단계는,
    상기 적어도 하나 이상의 제1 항목으로서 상기 송신될 예정인 가상자산의 종류에 대한 정보, 수량에 대한 정보, 또는 수취인에 대한 정보 중에서 적어도 하나 이상을 조회하는 단계;
    상기 적어도 하나 이상의 제3 항목으로서 상기 제2 식별자에 대응하는 트랜잭션에 대응하는 가상자산의 종류에 대한 정보, 수량에 대한 정보, 또는 수취인에 대한 정보 중에서 적어도 하나 이상을 조회하는 단계; 및
    상기 조회된 적어도 하나 이상의 제1 항목 및 상기 조회된 적어도 하나 이상의 제3 항목이 서로 대응하는지 여부를 검증하는 단계
    를 포함하는 가상자산 송신 중개 방법.
  8. 제1 항에 있어서,
    상기 가상자산의 송신에 적용되는 보안 레벨을 확인하는 단계;
    상기 확인된 보안 레벨에 기반하여 상기 제2 사용자에 대한 정보를 암호화하기 위한 공개키를 획득하는 단계; 및
    상기 획득된 공개키를 상기 제1 가상자산사업자 서버로 전송하는 단계를 포함하되,
    상기 획득된 공개키는 상기 보안 레벨에 따라 적용 범위가 다르게 설정되는,
    가상자산 송신 중개 방법.
  9. 제8 항에 있어서,
    상기 보안 레벨이 높을수록 상기 공개키의 적용 범위는 더 좁아지도록 설정되는,
    가상자산 송신 중개 방법.
  10. 제9 항에 있어서,
    상기 공개키는,
    상기 보안 레벨이 제1 보안 레벨인 경우, 상기 가상자산의 송신에만 적용되는 트랜잭션 전용의 공개키이고,
    상기 보안 레벨이 제2 보안 레벨인 경우, 상기 제1 사용자 또는 상기 제2 사용자 전용의 공개키이며,
    상기 보안 레벨이 제3 보안 레벨인 경우, 상기 제1 가상자산사업자 서버 또는 상기 제2 가상자산사업자 서버 전용의 공개키인,
    가상자산 송신 중개 방법.
  11. 제8 항에 있어서,
    상기 공개키를 획득하는 단계는,
    상기 확인한 보안 레벨을 상기 제2 가상자산사업자 서버로 전송하여, 상기 보안 레벨에서 이용되는 상기 공개키를 상기 제2 가상자산사업자 서버로부터 수신하고,
    상기 제1 정보는,
    상기 제1 가상자산사업자 서버에 의해 상기 공개키로 암호화된 수취인 정보를 포함하는,
    가상자산 송신 중개 방법.
  12. 제1 항에 있어서,
    상기 제1 정보는,
    상기 송신될 예정인 가상자산의 송신에 대응하는 트랜잭션의 제1 식별자, 상기 제1 가상자산사업자 서버의 공개키, 상기 제2 가상자산사업자 서버의 공개키, 상기 제1 정보가 상기 제1 가상자산사업자 서버의 검증을 통과했음을 나타내는 불린(Boolean) 값, 상기 제1 가상자산사업자 서버의 공개키로 암호화된 상기 트랜잭션의 개인 데이터, 및 상기 제2 가상자산사업자 서버의 공개키로 암호화된 상기 트랜잭션의 개인 데이터를 포함하는,
    가상자산 송신 중개 방법.
  13. 제1 항에 있어서,
    상기 검증 요청을 상기 제2 가상자산사업자 서버에 전송하는 단계는,
    상기 송신될 예정인 가상자산의 송신에 대응하는 트랜잭션의 제1 식별자, 및 상기 제2 가상자산사업자 서버의 공개키로 암호화된 상기 트랜잭션의 개인 데이터를 포함하는 검증 요청을 전송하는,
    가상자산 송신 중개 방법.
  14. 제1 항에 있어서,
    상기 검증 결과를 수신하는 단계는,
    상기 송신될 예정인 가상자산의 송신에 대응하는 트랜잭션의 제1 식별자, 및 상기 제2 가상자산사업자 서버에 의해 상기 제2 사용자에 대한 정보가 정확한 것으로 검증되었음을 나타내는 불린 값을 포함하는 검증 결과를 수신하고,
    상기 송신될 예정인 가상자산의 송신에 대응하는 트랜잭션은,
    상기 제2 사용자에 대한 정보가 정확한 것으로 검증되었음을 나타내는 불린 값을 식별한 상기 제1 가상자산사업자 서버에 의해 발생되는,
    가상자산 송신 중개 방법.
  15. 제1 항 내지 제14 항 중 어느 한 항의 방법을 컴퓨터에서 실행시키기 위한 프로그램을 기록한 컴퓨터로 읽을 수 있는 비일시적 기록 매체.
  16. 전자 장치에 있어서,
    적어도 하나의 프로세서;
    상기 적어도 하나의 프로세서에 의해 실행되는 적어도 하나의 명령을 저장하는 메모리를 포함하고,
    상기 적어도 하나의 프로세서는, 상기 적어도 하나의 명령을 실행함으로써,
    제1 사용자로부터 제2 사용자에게 송신될 예정인 가상자산에 대한 제1 정보를 상기 제1 사용자의 가상자산을 관리하는 제1 가상자산사업자(Virtual Asset Service Provider, VASP) 서버로부터 수신하고,
    상기 수신된 제1 정보에 포함된 상기 제2 사용자에 대한 정보가 정확한지 여부에 대한 검증 요청을 상기 제2 사용자의 가상자산을 관리하는 제2 가상자산사업자 서버에 전송하고,
    상기 검증 요청에 대한 응답으로서 상기 제2 가상자산사업자 서버로부터 상기 제2 사용자에 대한 정보가 정확하다는 취지의 검증 결과를 수신하고,
    상기 수신된 검증 결과를 상기 제1 가상자산사업자 서버에 전송하고,
    상기 제1 가상자산사업자 서버가 상기 검증 결과에 대응하여 블록체인 네트워크에 발생시킨, 상기 송신될 예정인 가상자산의 송신에 대응하는 트랜잭션이 블록체인에 기록되었는지 여부를 확인하고,
    상기 트랜잭션에 대한 확인 결과를 상기 제2 가상자산사업자 서버에 전송하도록 설정된, 전자 장치.
KR1020220173016A 2020-08-24 2022-12-12 가상자산 송신 중개 방법 KR102600604B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020230151888A KR20230157911A (ko) 2020-08-24 2023-11-06 가상자산 송신 중개 방법

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
KR1020200105926 2020-08-24
KR20200105926 2020-08-24
KR1020200164188A KR102478133B1 (ko) 2020-08-24 2020-11-30 가상자산 송신 중개 방법

Related Parent Applications (1)

Application Number Title Priority Date Filing Date
KR1020200164188A Division KR102478133B1 (ko) 2020-08-24 2020-11-30 가상자산 송신 중개 방법

Related Child Applications (1)

Application Number Title Priority Date Filing Date
KR1020230151888A Division KR20230157911A (ko) 2020-08-24 2023-11-06 가상자산 송신 중개 방법

Publications (2)

Publication Number Publication Date
KR20230008655A KR20230008655A (ko) 2023-01-16
KR102600604B1 true KR102600604B1 (ko) 2023-11-10

Family

ID=77499625

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020220173016A KR102600604B1 (ko) 2020-08-24 2022-12-12 가상자산 송신 중개 방법

Country Status (8)

Country Link
US (2) US11455632B2 (ko)
EP (1) EP3961539A1 (ko)
JP (1) JP2023534764A (ko)
KR (1) KR102600604B1 (ko)
CN (1) CN116075841A (ko)
AU (1) AU2021333448A1 (ko)
CA (1) CA3188984A1 (ko)
WO (1) WO2022045691A1 (ko)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102296387B1 (ko) * 2020-12-22 2021-09-15 한국인터넷진흥원 가상자산 사업자의 지갑 주소 식별 방법 및 장치
US11870905B1 (en) * 2023-04-20 2024-01-09 Cplabs, Inc. Method for providing user identity based on zero-knowledge proof over blockchain network by using user certificate and blockchain system using the same

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2010157013A (ja) 2008-12-26 2010-07-15 Ricoh Co Ltd セキュリティ設定装置、セキュリティ設定処理方法、セキュリティ解除処理方法、文書共有システム、プログラム及び記録媒体
KR101979254B1 (ko) 2018-08-01 2019-05-17 주식회사 스트리미 암호화폐 교환을 위한 트랜잭션을 매칭하는 전자 장치 및 방법

Family Cites Families (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20110071201A (ko) * 2009-12-21 2011-06-29 한국전자통신연구원 사용자 간 상호 인증 시스템 및 그 방법
US20180240107A1 (en) * 2015-03-27 2018-08-23 Black Gold Coin, Inc. Systems and methods for personal identification and verification
KR20190046486A (ko) * 2017-10-26 2019-05-07 주식회사 케이티 블록체인 기반의 가상화폐 처리 시스템 및 방법
KR102185191B1 (ko) 2019-01-22 2020-12-01 (주)에스투더블유랩 암호화폐 거래 분석 방법 및 시스템
EP3799352A1 (en) * 2019-09-30 2021-03-31 Coinfirm Limited A method for secure transferring of information through a network between an origin virtual asset service provider and a destination virtual asset service provider
KR102315258B1 (ko) * 2019-11-28 2021-10-19 서울외국어대학원대학교 산학협력단 가상 자산 서비스를 위한 분산원장기술 보안 플랫폼을 활용한 이용자 신원 공유 시스템
US20210272106A1 (en) * 2020-03-02 2021-09-02 Metallicus Inc. Universal Payment Messaging Using Public Blockchains and Identity Platform
KR102291183B1 (ko) * 2020-03-05 2021-08-20 주식회사 웁살라젠 거래에서 사용자 정보를 식별하는 방법 및 이러한 방법을 수행하는 장치
CN115699000A (zh) * 2020-03-24 2023-02-03 赛可润思公司 通过计算机网络进行安全的多边数据交换的方法、装置和计算机可读介质
KR102296387B1 (ko) * 2020-12-22 2021-09-15 한국인터넷진흥원 가상자산 사업자의 지갑 주소 식별 방법 및 장치

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2010157013A (ja) 2008-12-26 2010-07-15 Ricoh Co Ltd セキュリティ設定装置、セキュリティ設定処理方法、セキュリティ解除処理方法、文書共有システム、プログラム及び記録媒体
KR101979254B1 (ko) 2018-08-01 2019-05-17 주식회사 스트리미 암호화폐 교환을 위한 트랜잭션을 매칭하는 전자 장치 및 방법

Also Published As

Publication number Publication date
US20220058646A1 (en) 2022-02-24
CA3188984A1 (en) 2022-03-03
CN116075841A (zh) 2023-05-05
US20230017364A1 (en) 2023-01-19
US11455632B2 (en) 2022-09-27
KR20230007972A (ko) 2023-01-13
AU2021333448A1 (en) 2023-03-30
WO2022045691A1 (en) 2022-03-03
EP3961539A1 (en) 2022-03-02
JP2023534764A (ja) 2023-08-10
KR20230008655A (ko) 2023-01-16

Similar Documents

Publication Publication Date Title
KR102600604B1 (ko) 가상자산 송신 중개 방법
US10366388B2 (en) Method and apparatus for information management
KR101661933B1 (ko) 블록체인을 기반으로 하는 공인인증서 인증시스템 및 이를 이용한 인증방법
US10547444B2 (en) Cloud encryption key broker apparatuses, methods and systems
KR20230157911A (ko) 가상자산 송신 중개 방법
KR20210040078A (ko) 안전한 보관 서비스를 위한 시스템 및 방법
EP3537684A1 (en) Apparatus, method, and program for managing data
CN112632581A (zh) 用户数据处理方法、装置、计算机设备及存储介质
WO2021062020A1 (en) Non-custodial tool for building decentralized computer applications
JP7223067B2 (ja) ユーザリクエストを処理するための方法、装置、電子機器、コンピュータ可読記憶媒体及びコンピュータプロブラム
US11361312B2 (en) System and methods for point to point encryption and tokenization using a mobile device
KR102666551B1 (ko) 가상자산 송신 중개 방법
US11336667B2 (en) Single point secured mechanism to disable and enable the access to all user associated entities
KR20210004842A (ko) 탈중앙화 아이디 기반의 가상 자산 서비스 제공 방법 및 이를 이용한 가상 자산 서비스 제공 서버
US20200177383A1 (en) Centralized system for a hardware security module for access to encryption keys
US11115397B2 (en) System and methods for point to point encryption and tokenization in a hosted environment
KR101705293B1 (ko) 비밀스런 인증데이터 관리가 필요 없는 인증시스템 및 방법
KR102605368B1 (ko) 메일의 진위를 검증하는 방법 및 그 서버
AU2021101878A4 (en) Computerized design model for encryption in blockchain transaction systems
KR102641811B1 (ko) 블록체인 네트워크의 암호화폐 거래 보안 강화를 위한 전자지갑 관리 방법 및 그 시스템
US11178115B2 (en) System and methods for point to point encryption and tokenization
CN116389063A (zh) 系统访问方法、计算机设备和计算机程序产品
JP2023000715A (ja) 情報処理装置、情報処理方法および情報処理プログラム
EA036643B1 (ru) Способ управления цифровыми активами

Legal Events

Date Code Title Description
A107 Divisional application of patent
E701 Decision to grant or registration of patent right
A107 Divisional application of patent
GRNT Written decision to grant