KR20190142353A - 분산 트랜잭션 컨센서스 네트워크에서의 디지털 자산 트랜잭션의 익명성 및 추적성 향상 기법 - Google Patents

분산 트랜잭션 컨센서스 네트워크에서의 디지털 자산 트랜잭션의 익명성 및 추적성 향상 기법 Download PDF

Info

Publication number
KR20190142353A
KR20190142353A KR1020197033619A KR20197033619A KR20190142353A KR 20190142353 A KR20190142353 A KR 20190142353A KR 1020197033619 A KR1020197033619 A KR 1020197033619A KR 20197033619 A KR20197033619 A KR 20197033619A KR 20190142353 A KR20190142353 A KR 20190142353A
Authority
KR
South Korea
Prior art keywords
transaction
digital asset
sender
management module
asset management
Prior art date
Application number
KR1020197033619A
Other languages
English (en)
Other versions
KR102665645B1 (ko
Inventor
윌리엄 우
브라이언 찬
치아신 리
시 넹 푸
링 우
후안-이 린
Original Assignee
티비씨에이소프트, 인코포레이티드
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 티비씨에이소프트, 인코포레이티드 filed Critical 티비씨에이소프트, 인코포레이티드
Publication of KR20190142353A publication Critical patent/KR20190142353A/ko
Application granted granted Critical
Publication of KR102665645B1 publication Critical patent/KR102665645B1/ko

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q40/00Finance; Insurance; Tax strategies; Processing of corporate or income taxes
    • G06Q40/02Banking, e.g. interest calculation or account maintenance
    • 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/08Payment architectures
    • G06Q20/12Payment architectures specially adapted for electronic shopping systems
    • G06Q20/123Shopping for digital content
    • G06Q20/1235Shopping for digital content with control of digital rights management [DRM]
    • 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/08Payment architectures
    • G06Q20/10Payment architectures specially adapted for electronic funds transfer [EFT] systems; specially adapted for home banking systems
    • G06Q20/105Payment architectures specially adapted for electronic funds transfer [EFT] systems; specially adapted for home banking systems involving programming of a portable memory device, e.g. IC cards, "electronic purses"
    • 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
    • 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
    • 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/3674Payment 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 involving authentication
    • 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/383Anonymous user system
    • 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/389Keeping log of transactions for guaranteeing non-repudiation of a transaction
    • 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/407Cancellation of a transaction
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/08Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
    • H04L9/0816Key establishment, i.e. cryptographic processes or cryptographic protocols whereby a shared secret becomes available to two or more parties, for subsequent use
    • H04L9/0819Key transport or distribution, i.e. key establishment techniques where one party creates or otherwise obtains a secret value, and securely transfers it to the other(s)
    • H04L9/0825Key transport or distribution, i.e. key establishment techniques where one party creates or otherwise obtains a secret value, and securely transfers it to the other(s) using asymmetric-key encryption or public key infrastructure [PKI], e.g. key signature or public key certificates
    • 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
    • G06Q2220/00Business processing using cryptography
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y04INFORMATION OR COMMUNICATION TECHNOLOGIES HAVING AN IMPACT ON OTHER TECHNOLOGY AREAS
    • Y04SSYSTEMS INTEGRATING TECHNOLOGIES RELATED TO POWER NETWORK OPERATION, COMMUNICATION OR INFORMATION TECHNOLOGIES FOR IMPROVING THE ELECTRICAL POWER GENERATION, TRANSMISSION, DISTRIBUTION, MANAGEMENT OR USAGE, i.e. SMART GRIDS
    • Y04S10/00Systems supporting electrical power generation, transmission or distribution
    • Y04S10/50Systems or methods supporting the power network operation or management, involving a certain degree of interaction with the load-side end user applications

Landscapes

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

Abstract

본 개시는 트랜잭션을 처리하기 위한 암호화 기술을 사용하여, 분산 트랜잭션 컨센서스 네트워크에서 디지털 자산 트랜잭션을 관리하는 디지털 자산 관리 시스템의 익명성과 추적성을 높이기 위한 방법 및 시스템에 관한 것이다. 디지털 자산 관리 시스템은 송신자의 디지털 자산 관리자 및 수신자의 디지털 자산 관리자를 포함한다. 송신자의 디지털 자산 관리자는 송신자의 디지털 자산 관리 모듈 및 송신자의 트랜잭션 노드를 더 포함하고, 수신자의 디지털 자산 관리자는 수신자의 디지털 자산 관리 모듈 및 수신자의 트랜잭션 노드를 더 포함한다. 송신자와 수신자 사이의 전송 트랜잭션의 익명성을 높이기 위해, 송신자의 디지털 자산 관리 모듈은 수신자의 가상 식별자에 액세스하도록 허용되지 않는다. 따라서, 수신자의 디지털 자산 관리 모듈은 수신자의 가상 식별자를 임시로 대신할 토큰을 생성한다. 익명성을 높이기 위해, 각각의 서브트랜잭션에 대해 동일 송금 세트 내에서 서브트랜잭션 및 이들의 시퀀스를 식별하기 위한 암호화된 라벨이 생성된다.

Description

분산 트랜잭션 컨센서스 네트워크에서의 디지털 자산 트랜잭션의 익명성 및 추적성 향상 기법
본 개시는 일반적으로 분산 트랜잭션 컨센서스 네트워크에서 디지털 자산 트랜잭션의 익명성(anonymity) 및 추적성(traceability)을 높이기 위한 방법 및 관련 시스템, 장치, 및 컴퓨터 판독 가능 매체에 관한 것이다.
비트 코인과 같은 일부 암호 화폐 시스템은 익명성은 높고 추적성은 낮다. 개인 또는 기업체는 실제 신원을 공개하지 않고도 계정을 개설할 수 있다. 각 계정은 가상 지갑 주소로 식별된다. 계정 소유자는 이후 다른 사람과 암호 화폐를 주고받을 수 있다. 블록체인에 기록된 트랜잭션은 송신자의 가상 지갑 주소, 수신자의 가상 지갑 주소 및 송금 금액을 포함한다. 계정 소유자의 실제 식별 정보(예컨대, 이름, 사회보장번호 및 전화번호)와 가상 세계 식별 정보(가상 지갑 주소) 사이에는 연결 또는 연관관계가 없기 때문에, 이러한 시스템은 익명성이 높고 추적성은 낮다. 시스템이 해킹당하고 트랜잭션 원장을 도난당하더라도, 계정 소유자의 실제 신원은 밝혀지지 않는다. 트랜잭션의 실제 송신자와 수신자를 추적하는 것은 거의 불가능하다. 결과적으로, 이러한 시스템은 자금 세탁 조력자가 될 수 있다.
본 개시는 트랜잭션을 처리하기 위한 암호화 기술을 사용하여, 분산 트랜잭션 컨센서스 네트워크에서 디지털 자산 트랜잭션을 관리하는 디지털 자산 관리 시스템의 익명성과 추적성을 높이기 위한 방법 및 관련 시스템, 장치, 및 컴퓨터 판독 가능 매체에 관한 것이다.
디지털 자산 관리 시스템은 은행, 통신 사업자("telco") 등의 복수의 디지털 자산 관리자를 포함한다. 각각의 디지털 자산 관리자는 (1) 자신의 고객(가입자) 정보 및 고객의 가상 지갑을 다루고, 고객의 송금 요청을 실제 트랜잭션으로 변환하기 위한 디지털 자산 관리 모듈("모듈")과, (2) 트랜잭션을 처리하기 위한 노드, 즉, 분산 트랜잭션 컨센서스 네트워크의 노드를 구비한다.
디지털 자산 관리 모듈은 필요한 기능을 수행하기 위한 다양한 하드웨어 및 소프트웨어를 포함한다. 가입자가 디지털 자산 관리자에 가상 지갑을 개설하면, 디지털 자산 관리 모듈에 의해, 개인 또는 개체를 식별하는 데 사용할 수 있는 물리적 식별자(예컨대, 이름, 사회보장번호, 및 전화번호) 및 해당 가입자의 가상 지갑을 식별하는데 사용할 수 있는 가상 식별자(예컨대, 가상 지갑 ID 및 가상 지갑 주소)를 포함하는, 가입자의 개인 정보가 생성되고 유지된다. 따라서, 송신자의 디지털 자산 관리 모듈("송신자 모듈")은 송신자의 물리적 식별자 및 가상 식별자를 가지며, 수신자의 디지털 자산 관리 모듈("수신자 모듈")은 수신자의 물리적 식별자 및 가상 식별자를 갖는다. 송금 트랜잭션을 요청할 때, 송신자는 보통 송신자의 디지털 자산 관리 모듈("송신자 모듈")에 자신의 물리적 식별자, 수신자의 물리적 식별자 및 송금 금액을 제공한다. 익명성을 높이기 위해, 여러 방법이 이용될 수 있다. 일 실시예에서, 송신자 모듈은 수신자의 가상 식별자에 액세스가 허용되지 않아, 특정 송금 트랜잭션을 쉽게 추적할 수 없다. 마찬가지로, 수신자 모듈은 송신자의 가상 식별자에 액세스가 허용되지 않는다. 그러나, 송금 트랜잭션을 만들려면 송신자의 가상 식별자와 수신자의 가상 식별자를 모두 사용해야 한다. 따라서, 송신자 모듈과 수신자 모듈은 협력적으로 작동해야 하지만 동시에 개인의 프라이버시를 보호하기 위해 불필요한 정보 공유는 피해야 한다. 일 실시예에서, 송신자 모듈은 수신자의 가상 식별자에 액세스할 수 없기 때문에, 수신자 모듈은 수신자의 가상 식별자의 임시 대체제로서 송신자 모듈에 토큰을 제공해야 한다. 이 접근 방식을 통해, 해커가 분산 트랜잭션 컨센서스 네트워크 및 디지털 자산 관리 모듈의 분산 원장에 액세스할 수 있다 하더라도 특정 송금 트랜잭션을 추적할 수는 없다. 마찬가지로, 어떠한 단일 디지털 자산 관리 모듈도 송신자 및 수신자의 물리적 식별자 및 가상 식별자를 매칭시킬 수 없기 때문에 특정 송금 트랜잭션을 추적할 수 없다.
익명성과 보안성을 더욱 높이기 위해, 모듈과 노드는 메시지에 서명을 생성하고 메시지 인증을 증명하기 위해 이들을 함께 전송할 수 있다. 관련없는 모듈이 메시지를 가로채거나 오용하지 않도록 하기 위해, 모듈 및 노드는 메시지를 암호화할 수도 있다.
디지털 자산 관리 시스템이 자금 세탁 조력자가 되지 않도록, 시스템은 필요한 경우에 특정 트랜잭션을 추적하는 메커니즘을 제공해야 한다. 송금 트랜잭션은 전송 트랜잭션, 관리자 간 트랜잭션 및 배달 트랜잭션을 포함하는 복수의 서브트랜잭션(통칭하여 "트랜잭션 세트")를 포함할 수 있다. 송신자 모듈 또는 수신자 모듈은 각 서브트랜잭션에 대해 추적 키를 사용하여 암호화된 라벨을 생성할 수 있다. 이 라벨은 트랜잭션 세트의 각각의 서브트랜잭션 및 이들의 시퀀스를 식별하기 위한 정보를 포함한다. 추적 키는 대칭 키 또는 비대칭 키일 수 있다. 일 실시예에서, 추적 키가 대칭 키인 경우, 각각의 디지털 자산 관리 모듈은 라벨을 암호화하기 위해 자체 대칭 추적 키를 생성하고 보유한다. 대칭 추적 키는 네트워크 관리자 TBCA(110) 또는 인가된/할당된 노드와도 공유된다. 추적 기능을 수행하는 인가되거나 할당된 노드는 네트워크 관리자로 간주된다. 다른 실시예에서, 추적 키가 비대칭 키인 경우, 네트워크 관리자 TBCA(110) 또는 인가된/할당된 노드는 추적 공개 키 및 추적 개인 키를 포함하는 추적 키 쌍을 생성한다. 추적 공개 키는 디지털 자산 관리 모듈에서 송금 트랜잭션 세트의 각 서브트랜잭션에 대한 라벨을 암호화하는 데 사용된다. 추적 개인 키는 네트워크 관리자에 의해 기밀로 유지된다. 필요한 경우, 네트워크 관리자 또는 인가된/할당된 노드가 라벨을 해독하고 전체 송금 트랜잭션을 재구성할 수 있다.
본 개시의 추가적인 특징 및 장점은 이하에서 설명하며, 부분적으로는 이들 설명으로부터 명확 것이며, 또는 본 개시를 실시함으로써 학습할 수 있을 것이다. 본 개시의 목적 및 다른 장점은 첨부된 도면과 상세한 설명 및 청구 범위에서 구체적으로 나타낸 구조 및 방법에 의해 실현되고 달성될 것이다.
전술한 일반적인 설명 및 하기의 상세한 설명은 모두 예시적이고 설명을 위한 것이며, 청구된 본 발명을 추가로 설명하기 위한 것임을 이해해야 한다.
도 1은 분산 트랜잭션 컨센서스 네트워크를 나타내는 개략도이다.
도 2는 위 네트워크의 예시적인 노드를 도시한 블록도이다.
도 3은 디지털 자산 관리 모듈, 가입자 및 이들의 대응하는 가상 지갑을 보여주는 블록도이다.
도 4는 블록 구조, 블록 헤더 구조 및 서명의 예를 도시한 도표이다.
도 5는 예시적인 네트워크 장치를 도시한 개략도이다.
도 6a 내지 6c는 두 개의 가상 지갑 사이의 송금 트랜잭션에 사용되는 데이터 구조의 예를 나타내는 도표이다.
도 7은 전송 트랜잭션, 관리자 간 트랜잭션 및 배달 트랜잭션을 포함하는 송금 트랜잭션의 예를 나타내는 도표이다.
도 8은 송금 트랜잭션에서 수신자의 가상 지갑 주소를 일시적으로 대체하기 위해 토큰을 사용하는 예를 도시한 개략도이다.
도 9는 송금 트랜잭션에서 수신자의 가상 지갑 주소를 일시적으로 대체하기 위해 토큰을 사용하는 다른 예를 도시한 개략도이다.
도 10은 배달 트랜잭션이 2개의 서브트랜잭션을 포함하는 송금 트랜잭션의 예를 도시한 도표이다.
도 11은 서브트랜잭션의 입력 디지털 자산이 기본 금액인 송금 트랜잭션의 예를 도시한 도표이다.
도 12는 추적을 위한 트랜잭션 세트 필드를 포함하는 송금 트랜잭션 데이터 구조의 예를 도시한 도표이다.
이하의 설명에서 사용되는 용어는, 본 기술의 특정 실시예의 상세한 설명과 함께 사용되더라도, 가장 광범위하고 합리적인 방식으로 해석되어야 한다. 특정 용어가 아래에서 강조될 수도 있지만, 제한된 방식으로 해석해야 하는 용어는 본 상세한 설명 섹션에서 구체적으로 정의할 것이다.
아래에 소개하는 실시예는 소프트웨어 및/또는 펌웨어에 의해 프로그램되거나 구성되는 프로그램 가능 회로에 의해, 또는 전적으로 특수 목적 회로에 의해, 또는 이러한 형태의 조합으로 구현될 수 있다. 이러한 특수 목적 회로(존재할 경우)는, 예를 들어, 하나 이상의 ASICs(application-specific integrated circuits), PLDs(programmable logic devices), FPGAs(field-programmable gate arrays) 등의 형태일 수 있다.
설명된 실시예는 분산 트랜잭션 컨센서스 네트워크에서 암호화 기술에 기초하여 디지털 자산 트랜잭션을 관리하는 디지털 자산 관리 시스템의 익명성과 추적성을 높이기 위한 하나 이상의 방법, 시스템, 장치 및 프로세서 실행 가능 프로세스 단계들을 저장하는 컴퓨터 판독 가능 매체에 관한 것이다. 당업자에게 공지된 다양한 암호화 알고리즘이 사용될 수 있다. 분산 원장은 디지털 자산 트랜잭션을 기록하는 데 사용되므로, 분산 원장의 전체 사본은 분산 트랜잭션 컨센서스 네트워크의 수많은 노드에서 유지된다. 분산 원장에 기록된 트랜잭션 정보와 디지털 자산 관리 모듈에 저장된 가입자 및 가상 지갑 정보에 대한 해커의 무단 액세스 위험은 완벽하게 피할 수는 없다. 따라서, 개인 트랜잭션 정보가 오용되는 것을 피하기 위해 익명성이 요구된다. 그러나, 디지털 자산 트랜잭션의 이 익명성 특징 때문에, 이러한 분산 트랜잭션 컨센서스 네트워크는 자금 세탁 조력자가 될 수 있다. 따라서, 디지털 자산 관리 시스템은 익명성을 높이면서 동시에 특정 디지털 자산 트랜잭션을 추적할 수 있어야 한다.
디지털 자산 관리 시스템은 은행, 통신 사업자("telco") 등 복수의 디지털 자산 관리자를 포함한다. 각각의 디지털 자산 관리자는 (1) 자신의 고객(가입자) 정보 및 고객의 가상 지갑을 처리하고, 고객의 송금 요청을 실제 트랜잭션으로 변환하기 위한 디지털 자산 관리 모듈("모듈")과, (2) 트랜잭션을 처리하기 위한 노드, 즉, 분산 트랜잭션 컨센서스 네트워크의 노드를 구비한다.
디지털 자산 관리 모듈은 필요한 기능을 수행하기 위한 다양한 하드웨어 및 소프트웨어를 포함한다. 가입자가 디지털 자산 관리자에 가상 지갑을 개설하면, 그 디지털 자산 관리자의 디지털 자산 관리 모듈에 의해, 실세계에서 개인 또는 개체를 식별하는 데 사용할 수 있는 물리적 식별자(예컨대, 이름, 사회보장번호, 및 전화번호) 및 가입자의 가상 지갑을 식별하는데 사용할 수 있는 가상 식별자(예컨대, 가상 지갑 ID 및 가상 지갑 주소)를 포함하는 가입자의 개인 정보가 생성되고 유지된다. 따라서, 송신자의 디지털 자산 관리 모듈("송신자 모듈")은 송신자의 물리적 식별자 및 가상 식별자를 가지며, 수신자의 디지털 자산 관리 모듈("수신자 모듈")은 수신자의 물리적 식별자 및 가상 식별자를 갖는다. 익명성을 높이기 위해, 여러 방법이 이용될 수 있다. 일 실시예에서, 송신자 모듈은 수신자의 가상 식별자에 액세스가 허용되지 않아, 특정 송금 트랜잭션을 쉽게 추적할 수 없다. 마찬가지로, 수신자 모듈은 송신자의 가상 식별자에 액세스가 허용되지 않는다.
송금 트랜잭션을 요청할 때, 송신자는 보통 송신자 모듈에 자신의 물리적 식별자, 수신자의 물리적 식별자 및 송금 금액을 제공한다. 그러나, 송금 트랜잭션을 만들려면 송신자의 가상 식별자와 수신자의 가상 식별자를 모두 사용해야 한다. 따라서, 송신자 모듈과 수신자 모듈은 협력적으로 작동해야 하지만 동시에 개인의 트랜잭션 정보를 보호하기 위해 불필요한 정보 공유는 피해야 한다. 일 실시예에서, 송신자 모듈은 수신자의 가상 식별자에 액세스할 수 없기 때문에, 수신자 모듈은 수신자의 가상 식별자의 임시 대체제로서 송신자 모듈에 토큰을 제공해야 한다. 이 접근 방식에 의하면, 해커는 비록 분산 트랜잭션 컨센서스 네트워크 및/또는 디지털 자산 관리 모듈의 분산 원장에 액세스할 수 있다 하더라도 특정 송금 트랜잭션을 추적할 수는 없다. 마찬가지로, 어떠한 단일 디지털 자산 관리 모듈도 송신자 및 수신자의 물리적 식별자 및 가상 식별자를 매칭시킬 수 없기 때문에 특정 송금 트랜잭션을 추적할 수 없다.
예를 들어, 송신자 윌리엄(William)이 디지털 자산을 수신자(예컨대, 스티브(Steve))에게 이체하기 위해 송금 트랜잭션을 시작한다. 윌리엄은 ATT와 연관된 가상 지갑을 보유하고 있으며, 이로부터 자신의 휴대전화 번호(또는 모바일 가입 번호 "msn")가 서비스를 구독한다. 윌리엄의 물리적 식별자는 자신의 휴대전화 번호이고, 가상 식별자는 가상 지갑 주소이다. 스티브는 FET와 연관된 가상 지갑을 보유하고 있으며, 이로부터 휴대전화 번호가 서비스를 구독한다. 스티브의 물리적 식별자 또한 자신의 휴대전화 번호이고, 가상 식별자는 가상 지갑 주소이다. 송신자의 디지털 자산 관리 모듈(송신자 모듈), 예컨대, ATT 모듈은 수신자의 디지털 자산 관리 모듈("수신자 모듈"), 예컨대, FET 모듈에게 토큰을 요청하고, 임시 트랜잭션 구성을 위해 이 토큰을 수신자의 가상 지갑 주소의 임시 대체제로 사용한다. 따라서, ATT 모듈은 스티브의 가상 지갑 주소에 액세스하지 않는다. 해커가 ATT 모듈의 서버에 침입하더라도 완료된 송금 트랜잭션 정보는 여전히 보호될 수 있다.
송금 트랜잭션이 복수의 서브트랜잭션을 포함하는 경우, 송신자의 가상 지갑, 수신자의 가상 지갑 및 송금 트랜잭션 금액 사이의 연관성을 끊기 위해 몇 가지 수단이 사용될 수 있다. 일 실시예에서, 송신자로부터 수신자에게로의 송금 트랜잭션은 3개의 부분을 포함하는데, 이는 (a) 전송 트랜잭션 - 송신자의 가상 지갑으로부터 송신자 모듈의 가상 지갑으로 디지털 자산을 이전하는 것, (b) 관리자 간 트랜잭션 - 송신자 모듈의 지갑으로부터 수신자 모듈의 지갑으로 디지털 자산을 이전하는 것, (c) 배달 트랜잭션 - 수신자 모듈의 가상 지갑으로부터 수신자의 가상 지갑으로 디지털 자산을 이전하는 것이다. 각각의 부분은 하나 이상의 서브트랜잭션을 구성할 수 있다. 전송 트랜잭션, 관리자 간 트랜잭션 및 배달 트랜잭션 중 하나 이상이 둘 이상의 서브트랜잭션으로 더 분할될 수 있으면, 익명성이 더욱 높아진다. 다른 실시예에서는, 서브트랜잭션들 사이의 연관성을 더 끊기 위해, 입력 UTXO와 같은 이들 서브트랜잭션의 입력 디지털 자산이 기본 금액이 된다.
추적성을 높이기 위해, 송금 트랜잭션이 복수의 서브트랜잭션을 포함하는 경우, 송금 트랜잭션 세트에서 각 서브트랜잭션의 시퀀스를 식별하고 지정하기 위해 암호화된 라벨이 생성된다. 일 실시예에서, 송금 트랜잭션은 세 개의 서브트랜잭션(즉, 전송 트랜잭션, 관리자 간 트랜잭션, 및 배달 트랜잭션)을 포함하는데, 이들 각각에는 이들이 특정 트랜잭션 세트에 속한다는 것과 그 세트 내 이들의 시퀀스를 보여주는 라벨이 부여된다. 라벨은 추적 키로 암호화되며, 따라서 네트워크 관리자 및/또는 인가된 트랜잭션 노드만이, 해독 후에, 동일한 트랜잭션 세트 내의 3개의 서브트랜잭션을 식별하여 세트를 리빌드하고 가상 지갑 및 특정 트랜잭션과 관련된 금액을 추적할 수 있다.
디지털 자산 관리 시스템은 다양한 대칭 및/또는 비대칭 키 알고리즘을 사용하여 트랜잭션 보안, 익명성 및 추적성을 향상시킨다. 대칭 키 알고리즘은 단 하나의 키만 갖는다. 비대칭 키 알고리즘은 공개 키 및 개인 키를 포함하는 키 쌍을 갖는다. 예를 들어, 대칭 키 알고리즘 AES(Advanced Encryption Standard) 및 DES(Data Encryption Standard)는 암호화에 사용할 수 있고, 비대칭 키 알고리즘 ECDSA(Elliptic Curve Digital Signature Algorithm)는 서명에 사용할 수 있으며, 비대칭 키 알고리즘 RSA(Rivest-Shamir-Adleman)는 서명과 암호화 모두에 사용할 수 있다. 트랜잭션 보안을 강화하기 위해, 가상 지갑은 트랜잭션 공개 키와 트랜잭션 개인 키를 포함하는 비대칭 키 쌍을 갖는다. 익명성을 높이기 위해, 가입자, 디지털 자산 관리 모듈 및 트랜잭션 노드는 제각기 서명 및/또는 암호화를 위한 메시지 공개 키 및 메시지 개인 키를 포함하는 자체 비대칭 키 쌍을 가질 수 있다. 추적성을 높이기 위해, 대칭 키 또는 비대칭 키 쌍을 암호화에 사용할 수 있다. 비대칭 키 쌍이 사용되는 경우, 네트워크 관리자 또는 인가된/할당된 노드는 추적 공개 키와 추적 개인 키를 갖는다. 대칭 키가 사용되는 경우, 디지털 자산 관리 모듈은 네트워크 관리자 또는 인가된/할당된 노드와 공유되는 자체 추적 키를 갖는다. 덜 복잡한 시스템의 경우, 메시지 키 쌍이 트랜잭션 키 쌍과 동일할 수 있다.
일 실시예에서, 도 1에 도시된 바와 같이, 암호화 기술을 이용하는 분산 트랜잭션 컨센서스 네트워크(100)(본 개시에서는 TBCA(The BlockChain Alliance) 네트워크라고도 함)가 디지털 자산 트랜잭션을 처리하도록 구현된다. TBCA 네트워크(100)는 관리자(110), 트랜잭션 노드(120, 130, 140, 150), 컨센서스 노드(130, 140, 160, 170) 및 다른 노드(180, 190)를 포함하는 복수의 노드를 포함한다. 도 2에 도시된 바와 같이, 각각의 노드는 일반적으로 계산을 수행하고 프로그램을 실행하는 프로세서; 소프트웨어, 프로그램 및 데이터를 저장하는 메모리; 사용자와 통신하기 위한 디스플레이; 사용자 및 다른 장치와 통신하기 위한 입력/출력 구성 요소; 및 유선 또는 무선 채널을 통해 네트워크에 연결하기 위한 네트워크 컴포넌트를 포함한다.
본 개시에서 TBCA로 지칭되는 관리자(110)는 규칙을 설정하고 TBCA 네트워크(100)를 관리한다. 관리자(110)는 자체적으로 발행된 디지털 요금 토큰 또는 다른 디지털 자산 관리자에 의해 발행된 디지털 자산을 저장하기 위한 가상 지갑(도시되어 있지 않음)을 갖는다. 관리자(110)는 노드가 분산 트랜잭션 컨센서스 네트워크(100)(TBCA 네트워크)에 가입하여 그 네트워크의 멤버가 되도록 승인할 수 있다. 또한, 관리자(110)(TBCA)는 디지털 자산 관리자에게 디지털 화폐, 디지털 증권, 디지털 채권, 디지털 선물 및 디지털 귀금속과 같은 다양한 디지털 자산을 발행할 수 있는 권한을 부여할 수 있다. 디지털 자산 관리자는 디지털 자산 관리 모듈 또는 120-150과 같은 트랜잭션 노드를 통해 디지털 자산을 발행할 수 있다. 관리자(110)는 다른 노드가 특정 디지털 자산 트랜잭션 추적과 같은 기능의 일부를 수행하도록 인가 또는 할당할 수 있다. 관리자는 그 정도의 인가 및/또는 할당 노드를 포함한다.
일 실시예에서, 트랜잭션 노드, 예를 들어 120, 150은 디지털 자산 관리자를 위해 디지털 자산을 발행할 수 있다. 트랜잭션 노드는, 예를 들어 Bank of America("BOA") 또는 체이스(Chase)와 같은 은행; 피델리티(Fidelity) 또는 골드만 삭스(Goldman Sachs)와 같은 투자/무역 기관; 또는 AT&T Inc.(ATT), 소프트뱅크(SoftBank Corp.(SBT))나 청화 텔레콤(Chunghwa Telecom)과 같은 통신 사업자와 같은 디지털 자산 관리자와 연관된다. 일 실시예에서, 디지털 자산은 디지털 통화, 디지털 증권, 디지털 채권, 디지털 선물, 디지털 귀금속 또는 디지털 요금 토큰 중 임의의 것일 수 있다. 도 3에 도시된 바와 같이, 발행된 디지털 자산은 디지털 자산 관리자의 가상 지갑(312, 322)에 저장된다. 자신의 디지털 자산 관리자, 다른 디지털 자산 관리자 또는 관리자 TBCA(110)에 의해 발행된 다양한 디지털 자산을 저장할 수 있는 이러한 가상 지갑(312, 322)은 디지털 자산 관리자의 디지털 자산 관리 모듈(310, 320)에 의해 관리된다. 각각의 가상 지갑은 가상 지갑 ID를 가지며, 이는 일부 실시예에서 가상 지갑 주소일 수 있다. 또한, 각 가상 지갑은 트랜잭션 공개 키 및 트랜잭션 개인 키를 갖는다. 가상 지갑에 저장된 디지털 자산을 사용하려면, 가상 지갑과 연관된 트랜잭션 개인 키를 사용하여 트랜잭션에 서명해야 한다.
각각의 트랜잭션 노드(120, 150)는, 트랜잭션을 구성하고, 서명하며 트랜잭션 노드로 전송하기 위한 하드웨어 및 소프트웨어를 포함하는 디지털 자산 관리 모듈("모듈")에 대응한다. 일 실시예에서, 디지털 자산 관리 모듈은 이러한 기능을 구현하기 위해 지갑 서버, 서명 서버, 미들웨어(트랜잭션 처리 엔진으로도 알려짐), 토큰 매핑 데이터베이스, 트랜잭션 노드 조회 API의 메시지 공개 키 등을 포함한다.
컨센서스 노드(130, 140, 160, 170)는 (TBCA 네트워크(100)의 멤버/노드에게 개방된) 분산 원장에서 트랜잭션을 제안, 검증 및 기록할 수 있다. 일부 분산 트랜잭션 컨센서스 네트워크에서, 컨센서스 노드는 서비스를 제공하고 보상을 받을 수 있다. 이런 상황에서, 컨센서스 노드를 흔히 채굴자(miner)라고도 한다. 보상은 관리자(110)(TBCA)에 의해 발행된 T 코인 및/또는 디지털 자산 관리자에 의해 발행된 디지털 자산일 수 있으며, 이는 채굴자의 가상 지갑(도시되지 않음)에 저장될 수 있다. 다른 분산 트랜잭션 컨센서스 네트워크에서는, 컨센서스 노드가 어떠한 보상도 받지 않는다. 이런 상황에서, 컨센서스 노드를 흔히 검증자(validator)라고도 한다. 새로운 블록을 적극적으로 제안하는 검증자는 흔히 제안자(proposer) 또는 블록 제안자라고도 한다.
분산 원장은 기본적으로, 다양한 사이트, 지역 또는 기관에 있는 여러 노드의 분산 트랜잭션 컨센서스 네트워크를 통해 공유할 수 있는 디지털 자산 데이터베이스 또는 데이터 구조이다. 네트워크 내의 모든 노드는 동일한 원장 사본을 가질 수 있다. 원장에 대한 모든 변경 사항은 모든 사본에 몇 분 또는 어떤 경우에는 몇 초 안에 반영될 수 있다. 원장에 저장된 디지털 자산의 보안 및 정확성은, 분산 원장 내에서 누가 무엇을 할 수 있는지 제어하기 위해, 키와 서명을 사용하여 암호화 방식으로 유지된다. 일 실시예에서, 블록체인 데이터 구조가 분산 원장에 사용된다. 컨센서스 노드는 새로운 블록을 생성하여 검증된 트랜잭션을 기록하고, 그 후 새로운 블록을 네트워크의 다른 노드로 전파할 수 있다. 그러나, 분산 원장은 당업자에게 알려진 임의의 다른 데이터 구조를 사용할 수 있다.
TBCA 네트워크(100)가 많은 수의 트랜잭션을 즉시 완료할 수 있도록 새로운 블록 생성 처리량을 최대화하기 위해, 관리자(110)는 컨센서스 노드 수를 관리하고/하거나, 컨센서스 노드들에 대해 서로 경쟁 및/또는 지원하도록 하는 규칙을 설정하고/하거나, 트랜잭션을 기록하기 위한 새로운 블록을 생성하기 위해 하나 이상의 컨센서스 노드를 지정할 수 있다. 트랜잭션 노드(130, 140)는 또한 컨센서스 노드일 수 있다. 다른 노드들(180, 190)은 다른 기능을 위해 TBCA 네트워크(100)에 가입하도록 허용될 수 있다.
디지털 자산 관리자의 가입자는 디지털 자산 관리 모듈에 의해 관리되는 하나 이상의 가상 지갑을 개설하고 소유할 수 있다. 각 가입자는 사회 보장 번호, 여권 번호, 전화 번호와 같은 하나 이상의 물리적 식별 정보를 가질 수 있다. 유사하게, 각각의 가입자는 가상 지갑 ID, 가상 지갑 주소 등과 같은 하나 이상의 가상 식별자를 가질 수 있다. 일부 실시예에서, 가상 지갑 ID는 가상 지갑 주소이다. 각 가입자의 물리적 식별자를 그의 가상 식별자에 매핑하는 데이터 구조는 가입자의 디지털 자산 관리자의 디지털 자산 관리 모듈에 의해 생성되고 유지된다.
또한, 각 가입자의 가상 지갑은 트랜잭션 공개 키 및 트랜잭션 개인 키를 갖는다. 자신의 가상 지갑에 저장된 디지털 자산을 사용하려면, 가입자는 가상 지갑과 연관된 트랜잭션 개인 키를 사용하여 트랜잭션에 서명해야 한다. 일 실시예에서 도 3에 도시된 바와 같이, 가상 지갑(314, 324)은 디지털 통화, 디지털 증권, 디지털 채권, 디지털 선물, 디지털 귀금속 및 디지털 요금 토큰과 같이, 다수 유형의 디지털 자산, 신용 및 채권을 포함하는 디지털 자산을, 가입자, 예를 들어 개인, 투자자 및/또는 트레이더를 위해, 저장, 송신, 수신 및 관리하기 위해 제공된다. 각각의 가상 지갑(314, 324)은 디지털 자산 관리 모듈(310, 320)과 연관되고 가상 지갑 ID(또는 일부 실시예에서는 주소), 예컨대 1F1tAaz5x1HUXrCNLbtMDqcw6o5GNn4xq 및 16ULZUJwv1HZJkFrs8aa9c3xHTjiayyTNS에 의해 식별될 수 있다. 일실시예에서, 가상 지갑(314)은, 다른 디지털 자산 관리자에 의해 발행된 디지털 자산이 아니라, 디지털 자산 관리 모듈(310)을 통해 자신과 연관된 디지털 자산 관리자에 의해 발행된 다양한 디지털 자산만을 저장, 송신, 수신 및 관리할 수 있다.
한 쌍의 트랜잭션 공개 키 및 트랜잭션 개인 키 외에도, 각 가입자는 메시지가 진짜임을 증명하기 위해 기밀 메시지를 암호화하는 데 사용되는 메시지 공개 키 및 메시지 개인 키 쌍을 갖는다. 가입자의 메시지 공개 키에 대한 일대일 매핑의 데이터베이스는, 이러한 매핑이 모든 디지털 자산 관리 모듈에 의해 액세스 가능하도록 생성되고 유지관리된다. 가입자가 디지털 자산 관리자에게 가상 지갑을 개설할 때마다 매핑이 추가되어야 한다.
각각의 트랜잭션은 컨센서스 노드 및 트랜잭션 노드에 의해, TBCA 네트워크(100) 내의 다른 노드에게 개방된 분산 원장에 기록된다. 일 실시예에서, 분산 원장은 체인 내에 블록을 포함한다. 도 4a-c는 블록 구조, 블록 헤더 구조 및 서명의 일 실시예를 도시한 것이다. 각각의 블록은 SHA256 암호화 알고리즘을 통해 블록 헤더를 2회 해싱하여 만들어진 블록 해시에 의해 식별된다. 또한, 각 블록은 블록 헤더의 "이전 블록 해시" 필드를 통해 상위 블록(parent block)으로 알려진 이전 블록에 다시 참조된다. 따라서, 해시 시퀀스는 각 블록을 상위 블록에 연결하여 처음으로 생성된 첫 번째 블록으로 돌아가는 체인을 만든다. 블록들이 서로의 위에 쌓여갈수록 트랜잭션을 역전시키기가 기하 급수적으로 어려워진다. 따라서, 블록에 기록된 트랜잭션은 시간이 지남에 따라 점점 더 신뢰할 수 있게 된다. 블록 및 트랜잭션의 크기에 따라, 평균 블록은 수백 개의 트랜잭션을 포함할 수 있다. 완전하고 최신의 분산 원장이 관리자, 트랜잭션 노드, 컨센서스 노드 및 이러한 원장을 저장하기 위해 관리자(110)에 의해 승인된 다른 노드("전체 노드")의 데이터베이스(또는 파일)에 저장된다. 일부 노드는 그러한 원장의 일부만 저장하도록 선택할 수 있다.
도 5에 도시된 바와 같이, 디지털 자산 관리자의 가입자는 서버, 데스크탑 컴퓨터, 랩톱 컴퓨터, 태블릿, 휴대 전화, 유선 전화, 및 PDA와 같은 네트워크 장치(모바일, WiFi 또는 유선 채널을 통해 임의의 인터넷 접속부에 연결됨)를 통해, 트랜잭션이 TBCA 네트워크(100)에 의해 처리되고 기록되도록 요청할 수 있다. 하나의 실시예에서, 디지털 자산 트랜잭션의 기본 빌딩 블록은 미사용 트랜잭션 출력("UTXO")이다. UTXO는 특정 가상 지갑에 대해 트랜잭션 개인 키로 잠겨진 불가분의 디지털 자산 덩어리이며 임의의 값을 가질 수 있다. 가입자의 가상 지갑은 수백 개의 블록에 기록된 수백 개의 이전 트랜잭션으로부터의 많은 UTXO를 포함할 수 있다. 일 실시예에서, 가입자는, 예를 들어 식사 비용을 지불하기 위해 디지털 자산의 특정 값을 식당으로 이체하기 위해 송금 트랜잭션을 요청할 수 있다. 이 트랜잭션은 가입자의 가상 지갑으로부터의 하나 이상의 트랜잭션 입력(입력 UTXO) 및 수신 가상 지갑으로의 하나 이상의 트랜잭션 출력(출력 UTXO), 예컨대 식당에 지불할 식사 대금 및 가입자가 돌려받을 거스름돈을 포함할 수 있다. 트랜잭션 입력은 이전 트랜잭션에서 생성되어 이전에 사용한 적이 없는 UTXO에 대한 포인터이다. 트랜잭션 출력은 수신 가상 지갑에 잠겨있는 UTXO이며, 이것은 나중에 소유자가 사용할 수 있다. 일반적인 규칙으로서, 트랜잭션 입력 값의 합계는 트랜잭션 출력 값의 합계와 같아야 한다. 정규 디지털 자산 트랜잭션에서 어떠한 값도 발생하거나 소실되어서는 안 된다.
트랜잭션은 디지털 자산 관리 모듈에 의해 정기적으로 준비되고, 그 후 디지털 자산 관리 모듈이, 분산 원장에 기록하기 위해 TBCA 네트워크(100)와 같은 분산 트랜잭션 컨센서스 네트워크의 노드인 트랜잭션 노드에 트랜잭션을 제출한다. 일 실시예에서, 디지털 자산 관리 모듈은 지갑 서버, 서명 서버, 및 미들웨어뿐만 아니라 저장을 위한 일부 데이터 구조/데이터베이스 및 메모리 그리드를 포함한다. 지갑 서버는 가입자로부터 트랜잭션 요청을 수신하고 필요한 모든 정보를 수집하여 미들웨어에 제출한다. 미들웨어는 이러한 정보를 사용하여 바이트 문자열로 표시되는 트랜잭션을 구성하고, 이를 지갑 서버로 다시 보내며, 그러면 지갑 서버는 트랜잭션을 서명 서버로 전달한다. 서명 서버는 가상 지갑의 트랜잭션 개인 키를 사용하여 트랜잭션에 서명한 후, 서명된 트랜잭션을 지갑 서버로 반환하며, 그러면 지갑 서버는 이를 다시 미들웨어로 전달한다. 미들웨어는 서명된 트랜잭션을 분산 트랜잭션 컨센서스 네트워크의 노드인 트랜잭션 노드로 전송하고, 트랜잭션 노드는 이를 네트워크로 전파한다. 트랜잭션 노드 및 컨센서스 노드를 포함한 분산 트랜잭션 컨센서스 네트워크 상의 다른 노드는 서명된 트랜잭션을 수신한 후, 그 트랜잭션을 독립적으로 확인 및 검증한 다음 검증된 트랜잭션을 트랜잭션 풀에 추가할 것이다. 각 노드는 추가로 전파하기 전에 동일한 기준을 이용하여 모든 트랜잭션을 독립적으로 검증한다. 블록체인 데이터 구조를 사용하는 실시예에서, 컨센서스 노드는 트랜잭션 풀로부터 트랜잭션을 가져오는 새로운 블록을 생성할 것이다. 이 새로운 블록을 확인하고 검증한 후, 컨센서스 노드는 이 새로운 블록을 다른 노드로 전파한다. 네트워크의 노드는 새로운 블록을 수신한 후, 동일한 기준을 사용하여 이 새로운 블록을 독립적으로 확인하고 유효성을 검증한다. 노드가 새로운 블록을 검증하면, 새로운 블록을 기존의 블록체인에 연결할 것이다. 그 다음에, 이 새로운 블록의 트랜잭션이 커밋된다. 신규 소유자는 이들 트랜잭션에서의 출력 UTXO를 사용할 수 있다. 결국, 네트워크가 공격받거나, 연결 해제되거나 또는 고장나지 않는 한, 네트워크 상의 각각의 전체 노드는 동일한 원장 또는 블록체인의 사본을 가질 것이다. 각각이 동일한 기준으로 동일한 트랜잭션 및/또는 블록을 독립적으로 검증하는 복수의 노드가 분산 원장에 대한 합의에 도달하도록 요구하는 컨센서스는 트랜잭션의 보안을 강화하는 메커니즘이다. 분산 트랜잭션 컨센서스 네트워크가 컨센서스에 도달할 것을 요구하는 노드가 많을수록, 네트워크의 보안은 더 강화된다. 컨센서스에 도달하는지 여부는 당업자에게 알려진 다양한 규칙 및/또는 알고리즘에 의해 결정될 수 있다. 일 실시예에서, 포크(forking)가 발생할 경우, 체인 내 블록들의 길이(또는 깊이)를 비교함으로써 컨센서스에 도달할 수 있고, 예컨대 비트 코인 네트워크에서 채택된 알고리즘에 의해 더 긴 체인을 갖는 포크가 얻어진다. 채굴자 또는 채굴자 그룹이 집합적으로 더 많은 계산 능력을 가질수록, 이들은 작업 증명 방식으로 더 많은 블록을 생성할 수 있다. 즉, 집합적으로 계산 능력의 대부분을 갖는 컨센서스 노드들에 의해 받아들여지는 블록들이 나중에 다른 노드들에 의해 채택되는 컨센서스가 될 것이다. 다른 실시예에서, 컨센서스는 대다수 컨센서스 노드에 의해 도달될 수 있다. 따라서, 대다수의 컨센서스 노드에 의해 검증되는 블록은 검증 및 기록을 위해 다른 노드로 전파된다. 분산 트랜잭션 컨센서스 네트워크로서, TBCA 네트워크(100)는 각각의 트랜잭션에 대한 컨센서스에 도달할 필요가 있으며, 이는 복수의 노드에 저장된 분산 원장에 기록된다.
전술한 바와 같이, 각각의 가상 지갑은 은행, 금융 기관, 증권 거래 회사, 투자 회사, 통신 사업자("telco") 등에 의해 운영될 수 있는 특정 디지털 자산 관리 모듈과 연관된다. 각각의 가상 지갑은 TBCA 네트워크(100)에서 고유한 가상 지갑 ID를 가지고 있다. 예를 들어, 윌리엄은 가입자로서 복수의 가상 지갑을 가질 수 있으며, 이들 각각은 가상 지갑 ID로 식별되고 제각기 계정번호를 통해 BOA(Bank of America), 피델리티 또는 골드만삭스(Goldman Sachs)와 연관되거나, 또는 전화번호를 통해 AT&T(ATT), 소프트뱅크 ("SBT") 또는 파이스톤(FarEasTone) 텔레콤("FET")과 연관된다. 일 실시예에서, 각각의 가상 지갑은 관련 디지털 자산 관리자에 의해 발행된 디지털 자산만 저장할 수 있다. 예를 들어, 뱅크오브아메리카와 연관된 윌리엄의 가상 지갑은 뱅크오브아메리카에서 발행한 디지털 자산만 저장할 수 있고, ATT와 연관된 윌리엄의 가상 지갑은 ATT에서 발행한 디지털 자산만 저장할 수 있다.
각 트랜잭션 노드는 디지털 통화(예컨대, 디지털 미국 달러, 디지털 일본 엔, 디지털 유로 및 디지털 신 대만 달러); 디지털 증권(예컨대, 디지털 애플 주식, 디지털 구글 주식 및 디지털 뮤추얼 펀드); 디지털 귀금속(예컨대, 디지털 금, 디지털 백금 및 디지털 은); 및 디지털 선물(예컨대, 커피 원두, 대두 및 옥수수)과 같은 다양한 유형의 디지털 자산을 발행할 수 있다. 각 디지털 자산은 디지털 자산의 유형 및 디지털 자산 관리자의 조합으로 특징지어진다. 일 실시예에서, 이 조합은 디지털 자산의 유형에 대한 심볼과 후속하는 디지털 자산 관리자에 대한 심볼 및 이들 두 심볼을 분리하는 점으로 이루어질 수 있다. 일례에서, 뱅크오브아메리카(그 심볼은 "BOA")는 디지털 미국 달러(심볼은 "$USD") 및 디지털 일본 엔(심볼은 "$JPY")을 모두 발행할 수 있는데, 이 실시예에서 이는 $USD.BOA(이 실시예에서 1 $USD.BOA는 1 미국 달러로 평가됨) 및 $JPY.BOA(이 실시예에서 1$JPY.BOA는 1일본 엔으로 평가됨)로 식별될 수 있다.
일 실시예에서, UTXO의 "FC"(Flavored Coin) 필드는 디지털 자산의 유형 및 발행인을 나타내기 위해 사용된다. 예를 들어, FC의 10은 FET에서 발행한 디지털 미국 달러($USD.FET)를 나타내고; FC의 11은 FET에서 발행한 디지털 신 대만 달러($NTD.FET)를 나타내며; FC의 20은 ATT에서 발행한 디지털 미국 달러($USD.ATT)를 나타내고; FC의 21은 ATT에서 발행한 디지털 신 대만 달러($NTD.ATT)를 나타낸다. 각각의 출력 UTXO는 값(또는 디지털 자산의 양 또는 단위) 외에도 디지털 자산의 유형 및 그 발행자를 나타내는 FC 필드를 포함한다.
일 실시예에서, 송신자로부터 수신자로의 송금 트랜잭션은 3개의 부분을 포함하는데, 이는 (a) 전송 트랜잭션 - 송신자의 가상 지갑으로부터 송신자 모듈의 가상 지갑으로 (송신자의 디지털 자산 관리자에 의해 발행된) 디지털 자산을 이전하는 것, (b) 관리자 간 트랜잭션 - 송신자 모듈의 가상 지갑으로부터 수신자 모듈의 가상 지갑으로 (송신자의 디지털 자산 관리자 또는 수신자의 디지털 자산 관리자에 의해 발행된) 디지털 자산을 이전하는 것, (c) 배달 트랜잭션 - 수신자 모듈의 가상 지갑으로부터 수신자의 가상 지갑으로 (수신자의 디지털 자산 관리자에 의해 발행된) 디지털 자산을 이전하는 것이다. 이 송금 트랜잭션을 달성하기 위해, 세 부분, 예컨대 각 부분이 서브트랜잭션을 구성하는 경우 3개의 서브트랜잭션(트랜잭션 세트)이 전체적으로 검증되고 확인되어야 한다. 하나의 서브트랜잭션이 거부되면, 세 개의 서브트랜잭션이 모두 거부되어야 한다. 도 6a-c는 송금 트랜잭션 및 트랜잭션 입출력의 데이터 구조의 일 실시예를 도시한 것이다. 일 실시예에서, 이 구현은 또한 송신자 및 수신자와 같은 가입자의 가상 지갑이 관련 디지털 자산 관리자에 의해 발행된 디지털 자산만 저장한다는 선택적 요건을 준수한다.
일 실시예에서, 미국의 윌리엄이 ATT 모듈(송신자 모듈)과 연관된 자신의 가상 지갑에 저장된 디지털 자산을 사용하여, FET(수신자 모듈)와 관련된 가상 지갑을 가진 대만의 스티브에게 지불을 송금하고자 한다. 윌리엄은 자신의 휴대폰에서 송금 요청을 ATT 모듈(송신자 모듈)로 보낸다. 송금 요청은 ATT의 윌리엄의 휴대 전화 번호(모바일 가입자 번호(MSN)라고도 함), FET의 스티브의 휴대 전화 번호, 송금할 디지털 자산의 양과 유형(예컨대, 60 $USD.ATT(ATT에서 발행한 디지털 미국 달러)을 포함한다. 그 다음에, ATT 모듈(송신자의 디지털 자산 관리 모듈)이 FET 모듈(수신자의 디지털 자산 관리 모듈)과 통신하여 필요한 모든 정보를 수집하고, TBCA 네트워크(100)와 같은 분산 트랜잭션 컨센서스 네트워크의 ATT 트랜잭션 노드 또는 FET 트랜잭션 노드로 전송될, 전송 트랜잭션, 관리자 간 트랜잭션 및 배달 트랜잭션을 포함한 송금 트랜잭션을 공동으로 구축한다.
익명성을 향상시키는 한 방법은, 송금 트랜잭션을 공동으로 구축하는 과정에서 어떠한 모듈도 특정 송금 트랜잭션을 추적하기 위해 송신자의 가상 지갑 ID와 수신자의 가상 지갑 ID 모두에 액세스하지 않도록, 송신자의 디지털 자산 관리 모듈과 수신자의 디지털 자산 관리 모듈 간에 새로운 상호작용을 구현하는 것이다. 예를 들어, 송신자의 디지털 자산 관리 모듈은 송신자의 휴대 전화 번호, 송신자의 가상 지갑 ID 및 (송신자에 의해 제공된) 수신자의 휴대 전화 번호를 갖고 있지만, 수신자의 가상 지갑 ID에는 액세스할 수 없다. 마찬가지로, 수신자의 디지털 자산 관리 모듈은 수신자의 휴대 전화 번호, 수신자의 가상 지갑 ID, (송신자 모듈에서 제공된) 송신자의 휴대 전화 번호를 갖고 있지만, 송신자의 가상 지갑 ID에는 액세스할 수 없다. 그 결과, 임의의 디지털 자산 관리 모듈에 침입한 해커는 임의의 특정 송금 트랜잭션을 추적하기 위해 필요한 모든 정보를 얻을 수 없다.
도 7은 송금 트랜잭션이 윌리엄의 가상 지갑으로부터 스티브의 가상 지갑으로 지불 처리를 완료하기 위한 3개의 부분(각 부분은 서브트랜잭션을 구성함)을 포함하는 실시예를 도시한다. 결국, 스티브는 60 $USD.FET(FET가 발행한 디지털 미국 달러)를 받을 것이다. 송금 트랜잭션을 완료하기 위한 이들 3개의 서브트랜잭션을 통칭하여 트랜잭션 세트라고 한다. (각 서브트랜잭션은 TBCA 네트워크(100)에서 트랜잭션으로 간주될 수 있다.) 송금 트랜잭션 전에, 윌리엄의 가상 지갑에는 제각기 $USD.ATT 유형의 4, 21 및 50의 금액의 3개의 UTXO가 있고; ATT의 가상 지갑에는 제각기 $USD.ATT의 유형의 28, 36 및 66의 금액의 3개의 UTXO가 있으며; FET의 가상 지갑에는 제각기 $USD.FET의 유형의 17, 48 및 123의 금액의 3개의 UTXO가 있고; 스티브의 가상 지갑에는 $USD.FET 유형의 100의 금액의 1개의 UTXO가 있다. 전송 트랜잭션은 2개의 입력 UTXO(윌리엄의 가상 지갑에서 선택된 21 및 50 $USD.ATT)와, 2개의 출력 UTXO(ATT의 가상 지갑에 잠겨있는 60 $USD.ATT와 윌리엄의 가상 지갑에 잠겨있는(윌리엄이 돌려받은) 11 $USD.ATT)를 갖는다. 관리자 간 트랜잭션은 1개의 입력 UTXO(ATT의 가상 지갑에서 선택된 66 $USD.ATT)와 2개의 출력 UTXO(FET의 가상 지갑에 잠겨있는 60 $USD.ATT와 ATT의 가상 지갑에 잠겨있는(ATT가 돌려받은) 6 $USD.ATT)를 갖는다. 배달 트랜잭션은 2개의 입력 UTXO(FET의 가상 지갑에서 선택된 17 및 48 $USD.FET)와 2개의 출력 UTXO(스티브의 가상 지갑에 잠겨있는(FET가 돌려받은) 60 $USD.FET 및 FET의 가상 지갑에 잠겨있는 5 $USD.FET)를 갖는다. 3개의 서브트랜잭션 전부가 TBCA 네트워크(100)와 같은 분산 트랜잭션 컨센서스 네트워크로 전파되고 커밋된 후, 윌리엄의 가상 지갑에는 2개의 UTXO(각각 $USD.ATT 유형의 4와 11의 금액)이 있고; ATT의 가상 지갑에는 4개의 UTXO($USD.ATT 유형의 각각 6, 28, 36 및 60의 금액)이 있으며; FET의 가상 지갑에는 3개의 UTXO(각각 $USD.ATT 유형은 60의 금액, $USD.FET 유형의 5 및 123의 금액)이 있고; 스티브의 가상 지갑에는 2개의 UTXO(각각 $USD.FET 유형의 60 및 100의 금액)가 있다.
일 실시예에서,도 8에 도시된 바와 같이, 송신자의 디지털 자산 관리 모듈은 수신자의 디지털 자산 관리 모듈과 협력하여 송신자의 송금 요청을 수신하고 송금 트랜잭션의 익명성을 유지하면서 분산 트랜잭션 컨센서스 네트워크에 적합한 형식의 세 부분을 포함하는 송금 트랜잭션으로 변환한다. 송신자의 디지털 자산 관리 모듈(800)은 송신자의 지갑 서버(802), 송신자의 미들웨어(804), 자신의 메시지 공개 키 및 메시지 개인 키 쌍, 그리고 수신자의 트랜잭션 노드의 메시지 공개 키를 검색하기 위한 룩업 API를 포함한다. 수신자의 디지털 자산 관리 모듈(810)은 수신자의 지갑 서버(812), 수신자의 미들웨어(814), 및 자신의 메시지 공개 키 및 메시지 개인 키 쌍을 포함한다.
메시지 공개 키는 다른 디지털 자산 관리 모듈과 공유되고 이에 의해 액세스될 수 있으며, 메시지 개인 키는 기밀로 유지되며 소유자만 액세스할 수 있다. 메시지 개인 키는, 메시지 송신자(키 소유자)가 메시지 공개 키를 사용하는 (키 소유자가 아닌) 메시지 수신자의 메시지에 서명을 작성하여 메시지가 변경되지 않은 진짜 메시지임을 증명하기 위해 사용된다. 메시지 공개 키는 (키 소유자가 아닌)메시지 송신자가 암호화된 메시지를 작성하는데 사용될 수 있으며, 따라서 의도된 메시지 수신자(키 소유자)만이 메시지를 개인 키를 사용하여 메시지를 해독하여 내용을 학습할 수 있다.
도 8의 단계(830)에서, 송신자의 지갑 서버(802)가 송신자(예컨대, 윌리엄)로부터, 예를 들어 60 디지털 미국 달러를 수신자(예컨대, 스티브)에게 이체하라는 송금 요청을 수신한다. 송금 요청에는 최소한 (1) 윌리엄의 휴대폰 번호와 같은 송신자의 물리적 식별 정보, (2) 스티브의 휴대폰 번호와 같은 수신자의 물리적 식별 정보 및 디지털 자산의 양 및 송금 유형이 포함된다. 송신자의 지갑 서버(802)는 송신자의 가상 식별자(즉, 윌리엄의 가상 지갑 ID)를 송신자로부터 직접 수신할 수도 있고, 아니면 송신자의 디지털 자산 관리 모듈의 데이터 저장 장치로부터 가져올 수도 있다.
송금 트랜잭션을 완료하기 위해, 분산 트랜잭션 컨센서스 네트워크는 수신자의 가상 식별자(즉, 스티브의 가상 지갑 ID)를 필요로 한다. 송신자의 디지털 자산 관리 모듈은 수신자의 디지털 자산 관리 모듈이 누구인지 모르기 때문에, 수신자의 디지털 자산 관리 모듈을 찾고 트랜잭션에 대한 수신자의 가상 식별자(스티브의 가상 지갑 ID)를 검색하기 위해 수신자의 물리적 식별자(스티브의 휴대 전화 번호)가 다른 모든 디지털 자산 관리 모듈로 전파되어야 한다. 익명성을 향상시키기 위해, 송신자의 디지털 자산 관리 모듈은 수신자의 가상 지갑 ID를 가질 수 없으므로, 수신자의 디지털 자산 관리 모듈이 송신자의 디지털 자산 관리 모듈에 토큰을 보내야 하는데, 이 토큰이 결국 수신자의 가상 지갑 ID와 관련될 수 있다.
단계(832)에서, 송신자의 지갑 서버는 수신자가 어느 디지털 자산 관리 모듈과 연관되어 있는지 알 수 없기 때문에, 송신자의 지갑 서버(802)는, 수신자의 지갑 서버(812)로부터 토큰 응답을 구하기 위해, 예를 들어, 통신 사업자("telcos")에 의해 운영되는 다른 모든 디지털 자산 관리 모듈의 지갑 서버에 토큰 요청을 보낸다. 예를 들어, ATT는 FET가 스티브의 휴대 전화 번호와 연관된 통신 회사라는 것을 모른다. 토큰 요청은 암호화된 네트워크를 통해 다른 모든 디지털 자산 관리 모듈에 직접 전송될 수 있다. 또는, 토큰 요청은 수신자의 디지털 자산 관리 모듈에 도달하여 토큰 응답을 얻기 위해 다른 모든 디지털 자산 관리 모듈을 포함하는 네트워크로 브로드캐스트되며 피어 투 피어 가십(peer-to-peer gossip)에 의존할 수 있다. 이러한 방식에서, 토큰 요청을 수신하는 관련없는 디지털 자산 관리 모듈이 수신자의 디지털 자산 관리 모듈이 아닌 경우, 그 모듈은 토큰 요청을 모든 피어에게 전파한다. 이러한 관련없는 디지털 자산 관리 모듈이 토큰 응답을 수신하면, 그 모듈은 토큰 응답을 토큰 요청을 보낸 피어에게 도로 중계한다.
일 실시예에서, 토큰 요청은 ATT와 같은 송신자의 디지털 자산 관리 모듈("송신자 모듈")의 식별자, 스티브의 휴대 전화 번호와 같은 수신자의 물리적 식별자, 및 송신자 모듈의 메시지 개인 키를 사용하여 송신자 모듈의 식별자 및 수신자의 물리적 식별자 모두의 로우(raw) 데이터 또는 해시에 생성된 서명을 포함한다. 하여 . 그 결과, 수신자의 디지털 자산 관리 모듈("수신자 모듈")은 송신자 모듈의 메시지 공개 키를 사용하여 그리고 해시 또는 메시지의 로우 데이터를 비교하여 토큰 요청의 메시지(예컨대, ATT 및 스티브의 휴대폰 번호)의 진위를 검증할 수 있다.
토큰 요청을 수신한 후, 수신자 모듈은 메시지가 진짜임을 확인한 다음 스티브의 휴대폰 번호와 같은 수신자의 물리적 식별자를 확인하여 수신자가 가입자인지 확인한다. 그런 다음, 수신자 모듈은 토큰을 생성하고 토큰을 수신자의 가상 식별자(예컨대, 스티브의 가상 지갑 ID)와 관련시키는 토큰 매핑을 생성한다. 일 실시예에서, 토큰은 무작위로 생성된 문자열일 수 있다. 관련없는 디지털 자산 관리 모듈이 토큰을 가로 채서 오용하는 것을 방지하기 위해, 일 실시예에서는, 수신자 모듈이 토큰을 추가로 암호화하거나, 또는 송신자의 메시지 공개 키를 사용하여 토큰 및 수신자 모듈의 식별자(예컨대, FET)를 암호화한다. 따라서, 송신자 모듈만이 자체 메시지 개인 키를 사용하여 토큰을 해독할 수 있다. 토큰은 암호화된 토큰 또는 암호화되지 않은 토큰을 의미할 수 있다.
일 실시예에서, 토큰이 생성될 때, 토큰의 사본이 또한 유효 토큰 풀에 배치된다. 토큰을 사용하여 구성되는 배달 트랜잭션이 분산 원장에 커밋된 후에, 그 토큰은 유효 토큰 풀에서 제거되어 다시 사용되지 않는다. 다른 실시예에서, 토큰은 토큰이 생성된 시간을 나타내는 타임 스탬프를 포함한다. 일정 시간이 지난 후에, 토큰은 거부될 것이며, 더 이상 트랜잭션 구성에 사용될 수 없다.
단계(834)에서, 수신자의 지갑 서버(812)는 토큰 응답을 송신자의 지갑 서버(802)로 바로 전송한다. 또는, 토큰 응답은 다른 모든 디지털 자산 관리 모듈의 지갑 서버를 포함하는 네트워크로 전송되고, 그 다음에 피어 투 피어 가십에 의해 송신자의 지갑 서버로 도로 중계된다. 토큰 응답은 (1) 송신자의 디지털 자산 관리 모듈의 식별자(예컨대, ATT), (2) 수신자의 물리적 식별자(예컨대, 스티브의 휴대 전화 번호), (3) 송신자의 디지털 자산 관리 모듈의 메시지 공개 키를 사용하여 암호화된 토큰 및 수신자의 디지털 자산 관리 모듈의 식별자(예컨대, FET), 및 (4) 수신자의 메시지 개인 키를 사용하여 위 항목 (1)~(3)에서 생성된 수신자의 서명을 포함할 수 있다. 수신자의 서명은 송신자의 디지털 자산 관리 모듈이 수신자의 디지털 자산 관리자와 위 항목 (1)-(3) 메시지 내의 정보의 인증을 확인하여 가짜 출처가 아니고 변경되지 않았음을 보장한다.
토큰 응답을 수신한 후, 송신자의 디지털 자산 관리 모듈은 토큰 응답이 실제로 수신자를 대신하여 서명할 수 있는 유일한 모듈인 수신자의 디지털 자산 관리 모듈에서 오는 것인지 확인하기 위해 수신자의 메시지 공개 키를 사용하여 수신자의 서명을 확인한다. 송신자의 디지털 자산 관리 모듈은 또한 토큰 및 FET와 같은 메시지를 검색하기 위해 메시지 개인 키를 사용하여 암호화된 토큰 및 수신자 모듈의 식별자를 해독해야 한다.
단계(836)에서, 송신자의 지갑 서버(802)는 모든 필요한 정보를 수집한 후, 분산 트랜잭션 컨센서스 네트워크에 대한 송금 트랜잭션을 구성하기 위한 정보를 송신자의 미들웨어(804)에 제공한다. 일 실시예에서, 송신자의 미들웨어(804)는 전송 트랜잭션, 관리자 간 트랜잭션, 및 배달 트랜잭션을 구성하려 한다. 전송 트랜잭션을 구성하기 위해, 송신자의 미들웨어(804)는 송금 금액(예컨대, 도 7의 21 및 50 $USD.ATT)에 기초하여 송신자의 가상 지갑으로부터 하나 이상의 UTXO를 선택한다. 전송 트랜잭션은 송신자의 트랜잭션 개인 키로 서명되어야 한다. 송신자의 미들웨어는 그것을 다시 송신자의 지갑 서버(802)로 다시 보내며, 지갑 서버는 서명 서버와 인터페이스하여 전송 트랜잭션이 서명되도록 한다. 그 다음에, 서명 서버는 서명된 전송 트랜잭션을 다시 송신자의 지갑 서버(802)에 반환하며, 송신자의 지갑 서버는 이를 송신자의 미들웨어(804)에 반환한다. 마찬가지로, 관리자 간 트랜잭션을 구성하기 위해, 송신자의 미들웨어(802)는 송신자의 디지털 자산 관리자의 가상 지갑으로부터 하나 이상의 UTXO(예컨대, 도 7의 66 $USD.ATT)를 선택한다. 관리자 간 트랜잭션은 또한 전송 트랜잭션의 프로세스와 동일하거나 유사한 프로세스에 따라 서명되어야 한다. 전송 트랜잭션을 구성하기 위해, 송신자의 미들웨어(802)는 토큰을 사용하여 수신자의 가상 지갑 ID를 대체하고 임시 배달 트랜잭션을 구성한다.
단계(837)에서, 송신자의 미들웨어(804)는 트랜잭션 노드 룩업 API(806)의 메시지 공개 키로부터 수신자의 트랜잭션 노드의 메시지 공개 키를 검색한다. 룩업 API(806)는 수신자의 트랜잭션 노드의 메시지 공개 키를 꺼내기 위해 두 개의 데이터베이스, 즉, 디지털 자산 관리자-트랜잭션 노드 캐시(807) 및 트랜잭션 노드-메시지 공개 키 캐시(808)에 저장된 정보를 확인해야 한다. 익명성을 향상시키기 위해, 수신자의 디지털 자산 관리 모듈은 송신자의 가상 식별자(예컨대, 가상 지갑 ID)에는 액세스하도록 허용되지 않는다. 따라서, 송신자의 디지털 자산 관리 모듈은 수신자의 트랜잭션 노드의 메시지 공개 키를 사용하여 서명된 전송 트랜잭션을 암호화한다.
보안상의 이유로, 850, 860과 같은 트랜잭션 노드는 메시지 공개 키 및 메시지 개인 키를 포함하는 새로운 키 쌍을 주기적으로 생성하고, 이를 분산 트랜잭션 컨센서스 네트워크에 제출하며, 분산 원장에 기록한다. 새로운 키 쌍이 생성될 때마다, 트랜잭션 노드(850, 860)는 새로운 메시지 공개 키를 808, 818과 같은 노드-공개 키 캐시로 푸시할 것이다. 트랜잭션 노드(850, 860)는 현재 메시지 개인 키 및 마지막 메시지 개인 키 둘 다를 자신의 메모리에 저장한다.
단계(838)에서, 송신자의 디지털 자산 관리 모듈의 송신자의 미들웨어(804)는 암호화된 전송 트랜잭션, 관리자 간 트랜잭션 및 임시 배달 트랜잭션을 수신자의 디지털 자산 관리 모듈의 수신자의 미들웨어(814)로 전송한다. 수신자의 디지털 자산 관리 모듈은 수신자의 디지털 자산 관리자의 가상 지갑이 송신자의 디지털 자산 관리자의 가상 지갑에서 자금 이체를 받을 것인지 확인하기 위해 관리자 간 트랜잭션을 검증한다. 수신자 모듈(810)은, 임시 배달 트랜잭션을 정상 트랜잭션으로 변환하기 위해, 토큰 및 토큰 매핑 데이터베이스(813)를 사용하여 스티브의 가상 지갑 ID와 같은 수신자의 가상 식별자를 검색한다. 수신자의 디지털 자산 관리 모듈은 또한 배달 트랜잭션을 구성하기 전에 토큰이 여전히 유효한 토큰 풀에 있는지 확인하고, 분산 트랜잭션 컨센서스 네트워크에 의해 배달 트랜잭션이 커밋된 후에 유효한 토큰 풀에서 그 토큰을 제거한다. 결과적으로, 토큰은 재사용되지 않을 것이다. 수신자 모듈(810)은 또한 수신자의 디지털 자산 관리자의 가상 지갑으로부터 하나 이상의 UTXO(예컨대, 도 7의 17 및 48 $USD.FET)를 선택해야 하고, 이것이 전송 트랜잭션과 동일하거나 유사한 절차에 따라 수신자의 디지털 자산 관리자의 가상 지갑의 트랜잭션 개인 키를 사용하여 서명되도록 해야 한다.
단계(840)에서, 수신자의 미들웨어(814)는 암호화된 전송 트랜잭션, 관리자 간 트랜잭션, 및 배달 트랜잭션을 수신자의 트랜잭션 노드(850)로 전송한다. 수신자의 트랜잭션 노드(850)는 현재의 메시지 개인 키를 사용하여 암호화된 전송 트랜잭션을 해독한다. 현재의 메시지 개인 키가 작동하지 않으면, 수신자의 트랜잭션 노드(850)는 암호 해독을 위해 마지막 메시지 개인 키를 사용할 것이다. 암호해독 후, 수신자의 트랜잭션 노드(850)는 전송 트랜잭션, 관리자 간 트랜잭션 및 배달 트랜잭션을 분산 트랜잭션 컨센서스 네트워크의 다른 노드로 전파한다.
수신자의 미들웨어(814)가 모든 전송 트랜잭션, 관리자 간 트랜잭션 및 배달 트랜잭션을 수신자의 트랜잭션 노드로 전송하는 도 8에 도시된 프로세스와 달리, 도 9에 도시된 다른 실시예에서는, 송신자의 미들웨어가 3개의 서브트랜잭션 모두를 송신자의 트랜잭션 노드로 전송한다. 단계들(930, 932, 934 및 936)은 각각 도 8에 도시된 단계들(830, 832, 834 및 836)과 동일하다. 단계(937)에서, 송신자의 미들웨어(904)는 수신자의 미들웨어(914)에 관리자 간 트랜잭션 및 임시 배달 트랜잭션을 전송한다. 수신자의 디지털 자산 관리 모듈은 수신자의 디지털 자산 관리자의 가상 지갑이 송신자의 디지털 자산 관리자의 가상 지갑에서 자금 이체를 받을 것인지 확인하기 위해 관리자 간 트랜잭션을 검증한다. 그 다음에, 수신자 모듈은 토큰과 토큰 매핑 데이터베이스(913)를 사용하여 임시 배달 트랜잭션을 정규 트랜잭션으로 변환한다.
단계(938)에서, 수신자의 미들웨어(914)는 트랜잭션 노드 룩업 API(916)의 메시지 공개 키로부터 송신자의 트랜잭션 노드의 메시지 공개 키를 검색한다. 룩업 API(916)는 송신자의 트랜잭션 노드의 메시지 공개 키를 꺼내기 위해 두 개의 데이터베이스, 즉, 디지털 자산 관리자-트랜잭션 노드 캐시(917) 및 트랜잭션 노드-메시지 공개 키 캐시(918)에 저장된 정보를 확인해야 한다. 익명성을 향상시키기 위해, 송신자의 디지털 자산 관리 모듈은 수신자의 가상 식별자(예컨대, 가상 지갑 ID)에는 액세스하도록 허용되지 않는다. 따라서, 수신자의 디지털 자산 관리 모듈은 송신자의 트랜잭션 노드의 메시지 공개 키를 사용하여 서명된 배달 트랜잭션을 암호화한다.
단계(939)에서, 수신자의 디지털 자산 관리 모듈의 수신자의 미들웨어(914)는 암호화된 전송 트랜잭션을 송신자의 디지털 자산 관리 모듈의 송신자의 미들웨어(904)로 전송한다.
단계(940)에서, 송신자 모듈은 전송 트랜잭션, 관리자 간 트랜잭션, 및 암호화된 배달 트랜잭션을 송신자의 트랜잭션 노드로 전송한다. 송신자의 트랜잭션 노드는 현재의 메시지 개인 키를 사용하여 암호화된 배달 트랜잭션을 해독한다. 그것이 작동하지 않으면, 송신자의 트랜잭션 노드는 암호 해독을 위해 마지막 메시지 개인 키를 사용하려 할 것이다. 암호해독 후, 송신자의 트랜잭션 노드(850)는 전송 트랜잭션, 관리자 간 트랜잭션 및 배달 트랜잭션 모두를 분산 트랜잭션 컨센서스 네트워크로 전파한다.
제3 실시예에서, 처음 5개의 단계는 제2 실시예의 단계들(930, 932, 934, 936, 937)과 동일하다. 수신자의 디지털 자산 관리 모듈은 수신자의 디지털 자산 관리자의 가상 지갑이 송신자의 디지털 자산 관리자의 가상 지갑에서 자금 이체를 받을 것인지 확인하기 위해 관리자 간 트랜잭션을 검증한다. 그 다음에, 수신자 모듈은 토큰과 토큰 매핑 데이터베이스를 사용하여 임시 배달 트랜잭션을 정규 트랜잭션으로 변환한다. 그 다음에, 송신자 모듈은 전송 트랜잭션을 송신자의 트랜잭션 노드로 전송한다. 수신자 모듈은 관리자 간 트랜잭션 및 배달 트랜잭션을 수신자의 트랜잭션 노드로 전송한다. 전송 트랜잭션과 배달 트랜잭션은 어느 것도 암호화될 필요가 없다 송신자의 트랜잭션 노드와 수신자의 트랜잭션 노드는 모두 트랜잭션을 분산 트랜잭션 컨센서스 네트워크로 전파한다.
상기 2개의 실시예는, 송신자 모듈이 스티브의 가상 지갑 ID와 같은 수신자의 가상 식별자에 액세스할 수 없고, 수신자 모듈이 윌리엄의 가상 지갑 ID와 같은 송신자의 가상 식별자에 액세스할 수 없도록 보장하는 프로세스를 제공한다. 따라서, 송신자 모듈 또는 수신자 모듈이, 분산 원장에 기록된 전송 트랜잭션, 관리자 간 트랜잭션 및 배달 트랜잭션을 모두 추적하고 연결하여 송금 트랜잭션을 재구성할 가능성은 거의 없을 것이므로 익명성이 크게 증가한다. 그러나, 분산 원장 사본을 가진 누군가가 각 서브트랜잭션을 주의깊게 분석한다면, 전송하려는 디지털 자산의 금액을 매칭시켜 송금 트랜잭션 세트의 3개의 서브트랜잭션을 연결할 가능성이 여전히 있을 수는 있다. 예를 들어, 도 7에 도시된 바와 같이, ATT는 윌리엄이 송금 트랜잭션에서 60 디지털 미국 달러를 ATT의 가상 지갑으로 이체했고, ATT의 가상 지갑이 관리자 간 트랜잭션에서 60 디지털 미국 달러를 FET의 가상 지갑으로 이체한 것을 알고 있다. 그러면, ATT가 동일 또는 인접 블록에서 FET로부터 60 디지털 미국 달러를 받은 수신자를 매치시키려고 시도하면, 스티브의 가상 지갑 ID를 발견할 수도 있고, 3개의 서브트랜잭션 모두를 재구성할 수 있다.
익명성을 더욱 향상시키기 위해, 전송 트랜잭션, 관리자 간 트랜잭션 및 배달 트랜잭션 중 하나 이상이 둘 이상의 서브트랜잭션으로 더 분할될 수 있다. 예를 들어, 배달 트랜잭션은 제1 배달 트랜잭션과 제2 배달 트랜잭션으로 나누어질 수 있으며, 이들 각각의 트랜잭션은 이체될 금액이 다르지만 합계는 원래의 배달 트랜잭션과 동일한다. 이런 상황에서, 하나의 송금 트랜잭션을 재구성하려면 4개의 서브트랜잭션이 연결되어야 한다. 유사하게, 전송 트랜잭션은 제1 전송 트랜잭션, 제2 전송 트랜잭션 및 제3 전송 트랜잭션과 같은 둘 이상의 서브트랜잭션으로 더 분할될 수 있다. 이 접근 방식을 이용하면, 송신자 모듈, 수신자 모듈 및/또는 분산 원장에 액세스하는 해커가 송금 트랜잭션을 재구성하기 위해 서브트랜잭션의 이체 금액을 쉽게 매칭시킬 수 없다.
도 10에 도시된 제4 실시예에서, 전송 트랜잭션 및 관리자 간 트랜잭션은 도 7과 동일하게 유지되지만, 배달 트랜잭션은 제1 배달 트랜잭션 및 제2 배달 트랜잭션으로 더 나뉜다. 제1 배달 트랜잭션은 하나의 입력 UTXO(17 $USD.FET) 및 하나의 출력 UTXO(스티브의 가상 지갑에 잠겨 있는 17 $USD.FET)을 갖는다. 제2 배달 트랜잭션은 하나의 입력 UTXO(48 $USD.FET) 및 두 개의 출력 UTXO(스티브의 가상 지갑에 잠겨 있는 43 $USD.FET 및 FET의 가상 지갑에 잠겨있는 5 $USD.FET(거스름돈))을 갖는다. 서브트랜잭션에서 이체될 금액이 서로 매칭되지 않고, 어떤 경우에 송신자 모듈이 서브트랜잭션의 총 수를 알지 못한다면, 해커는 송금 트랜잭션을 재구성할 수 없을 것이다.
익명성을 높이기 위한 다른 대안에서, 입력 디지털 자산의 양이 복수의 조각의 기본 금액으로 분할될 수 있고, 각각의 조각은 개별 서브트랜잭션을 구성한다. 분산 트랜잭션 컨센서스 네트워크, 트랜잭션 노드 또는 디지털 자산 관리 모듈은 발행할 UTXO와 같은 디지털 자산의 기본 금액을 결정할 수 있다. 예를 들어, 기본 금액은 5, 10, 20, 50, 100, 200, 500 등이 될 수 있다. 따라서, 전송 트랜잭션, 관리자 간 트랜잭션 또는 배달 트랜잭션에 대해, 복수의 기본 금액의 UTXO가 복수의 서브트랜잭션의 입력 UTXO로 사용될 수 있다. 특히, 관리자 간 트랜잭션을 복수의 기본 금액의 서브트랜잭션으로 분할하면 송금 트랜잭션 추적이 더 어려워진다.
트랜잭션의 익명성과 성능 효율성의 균형을 위해 이체 금액은 제한된 수의 조각으로만 나눌 수 있다. 당업자는 다양한 알고리즘을 사용하여 이체 금액을 여러 조각의 기본 금액으로 분할하는 것을 최적화하려고 시도할 수 있다. 어떤 경우에는, 특정한 기본 금액의 UTXO가 이용가능하지 않으면, 보다 큰 금액의 UTXO가 사용될 수 있다. 즉, 보다 나은 성능을 얻기 위해, 조각들의 합이 이체 금액보다 더 클 수 있으며, 차액의 거스럼돈이 송신 가상 지갑으로 반환될 수 있다. 예를 들어, $368.46의 이체 금액이 $200, $100, $50, 및 $20으로 나누어질 수 있다. $1.54의 거스럼돈이 송신자에게 반환될 수 있다.
도 11에 도시된 제5 실시예에서, 윌리엄은 16 디지털 미국 달러를 스티브에게 보내려고 한다. 전송 트랜잭션은 하나의 입력 UTXO(20 $USD.ATT)와, 3개의 출력 UTXO(ATT의 가상 지갑에 잠겨있는 10 $USD.ATT, ATT의 가상 지갑에 잠겨있는 6 $USD.ATT, 및 윌리엄의 가상 지갑에 잠겨있는 4 $USD.ATT(거스럼돈))을 갖는다. 관리자간 트랜잭션은 3개의 서브트랜잭션을 포함한다. 제1 관리자간 트랜잭션은 하나의 입력 UTXO(10 $USD.ATT), 및 하나의 출력 UTXO(FET의 가상 지갑에 잠겨있는 10 $USD.ATT)를 갖는다. 제2 관리자간 트랜잭션은 하나의 입력 UTXO(5 $USD.ATT), 및 하나의 출력 UTXO(FET의 가상 지갑에 잠겨있는 5 $USD.ATT)를 갖는다. 제3 관리자간 트랜잭션은 하나의 입력 UTXO(5 $USD.ATT) 및 두 개의 출력 UTXO(FET의 가상 지갑에 잠겨 있는 1 $USD.ATT 및 ATT의 가상 지갑에 잠겨있는 4 $USD.ATT(거스름돈))을 갖는다. 배달 트랜잭션은 2개의 서브트랜잭션을 포함한다. 제1 배달 트랜잭션은 하나의 입력 UTXO(10 $USD.FET) 및 하나의 출력 UTXO(스티브의 가상 지갑에 잠겨 있는 10 $USD.FET)을 갖는다. 제2 배달 트랜잭션은 하나의 입력 UTXO(10 $USD.FET) 및 두 개의 출력 UTXO(스티브의 가상 지갑에 잠겨 있는 6 $USD.FET 및 FET의 가상 지갑에 잠겨있는 4 $USD.FET(거스름돈))을 갖는다. 그 결과, 윌리엄으로부터 스티브로의 16 디지털 미국 달러의 송금 트랜잭션은 6개의 서브트랜잭션을 포함한다. 6개의 서브트랜잭션 모두가 동시에 승인되거나 실패한다. (각각의 서브트랜잭션은 TBCA 네트워크(100)에 의해 트랜잭션으로서 간주될 수 있다.)
트랜잭션의 익명성을 높이기 위한 전술한 다양한 방안들은 단독으로 또는 조합하여 적용될 수 있다. 그러나, 분산 트랜잭션 컨센서스 네트워크(TBCA 네트워크)(100)가 자금 세탁 조력자가 되지 않도록 하려면, 디지털 자산 관리 시스템이 특정 디지털 자산 트랜잭션을 추적할 수 있어야 한다. 추적성을 높이기 위해, 송금 트랜잭션이 복수의 서브트랜잭션을 (세트로) 포함하는 경우, 동일 송금 트랜잭션 세트에서 각 서브트랜잭션의 시퀀스를 식별하고 지정하기 위한 라벨이 생성된다. 일 실시예에서, 송금 트랜잭션은 세 개의 서브트랜잭션(즉, 전송 트랜잭션, 관리자 간 트랜잭션, 및 배달 트랜잭션)을 포함하는데, 이들 각각에는 이들이 특정한 송금 트랜잭션 세트에 속한다는 것과 그 세트 내 이들의 시퀀스를 보여주는 라벨이 부여된다. 라벨은 그 후 추적 키로 암호화된다. 일 실시예에서, 라벨은 암호화되고, 관리자(110)(TBCA)만이 추적 개인 키를 가져서 동일한 송금 트랜잭션 세트에서 3개의 서브트랜잭션을 식별할 수 있고, 세트를 재구성하고 가상 지갑 및 특정 트랜잭션과 관련된 금액을 추적할 수 있다.
일 실시예에서, 송신자 모듈 또는 수신자 모듈은 {set}_1_{nonce}, {set}_2_{nonce}, 및 {set}_3_{nonce}와 같이 각각의 서브트랜잭션에 대해 사람이 읽을 수 있는 (그리고 컴퓨터가 분석할 수 있는) 라벨을 생성할 수 있는데, 여기서 {set}는 트랜잭션 세트 번호이며, 따라서 송금 트랜잭션 세트 내의 모든 서브트랜잭션이 동일한 트랜잭션 세트 번호를 공유하며, {nonce}는 약간 큰 난수이다. 디지털 자산 관리 모듈이 모든 세트 번호를 사용하기 전에 새로운 논스(nonce)가 생성되어야 하지만, 필요한 만큼 자주 생성될 수 있는데, 예를 들면 블록마다 다른 논스를 가질 수 있다. 일 실시예에서, (생성된 논스를 갖고 있지 않거나 또는 이미 갖고 있는 논스에 대해 가능한 세트 번호가 부족한 경우) 송신자 모듈의 미들웨어가 무작위로 논스 "n"를 생성하여 보유할 수 있다. 마찬가지로, 미들웨어는 송금 트랜잭션 세트에 라벨을 붙일 때마다 1씩 증가하는 세트 번호 {set}를 보유해야 한다. 세트 번호는 새로운 논스가 생성될 때마다 0으로 재설정될 수 있다. 일 실시예에서, 세트 필드의 크기는 암호화 알고리즘(예컨대, AES 대칭 키 알고리즘)의 사용을 감안하여 선택될 수 있다. 라벨의 논스 부분은 약 24 바이트일 수 있다.
일 실시예에서, 각 라벨은 256 비트 키의 AES 대칭 알고리즘(https://en.wikipedia.org/wiki/Advanced_Encryption_Standard)에 의해 암호화되어 겉보기에 무작위적이고 상이한 문자열을 생성한다. RSA와 같이 다른 암호화 알고리즘을 사용할 수 있다. 실제로, 당업자는 보안 및 성능 요구의 균형을 이룰 수 있는 어떠한 암호화 알고리즘을 선택해도 된다. 대칭 암호화 체계 하에서, TBCA(110)는 디지털 자원 관리 모듈 당 적어도 1개의 대칭 키를 유지할 것이고, 각각의 모듈은 송금 트랜잭션 세트 내 서브트랜잭션에 대한 라벨을 암호화하기 위해 자체 대칭 키를 보유할 것이다. 그러면, 송금 트랜잭션 세트 내의 각 서브트랜잭션은 암호화된 라벨(이 무작위로 나타나는 문자열 중 하나)이 있는 트랜잭션 세트 필드를 포함할 것이며, 블록체인에 기록될 것이다. 일 실시예에서, 송금 트랜잭션은 하나의 송금 트랜잭션 세트 내에 6개의 서브트랜잭션(T1, T2, T3, T4, T5, T6)을 포함하며, AES(TracingKey, Label)는 대칭 추적 키가 사용될 때의 암호화 알고리즘이다. 다른 실시예에서는, 비대칭 키 쌍의 추적 공개 키가 암호화 라벨에 사용될 수 있다. 9개의 서브트랜잭션의 라벨(x_1_n, x_2_n, ... x_9_n)(x는 트랜잭션 세트 번호이고 n은 논스(nonce)임)이 생성되고, 그 후 대칭 추적 키 또는 추적 공개 키(비대칭)를 사용하여 암호화된다. 그 다음에, 이들 암호화된 라벨이 송금 트랜잭션 세트 내의 각 서브트랜잭션에 대한 트랜잭션 세트 필드에 삽입된다. 그 다음에, x가 최대 값에 도달하지 않으면 1씩 증분된다. x가 최대 값에 도달하면, x는 0으로 리셋되고 새로운 n이 생성된다. 도 12에 도시되어 있는 바와 같이, 각각의 서브트랜잭션은 암호화된 라벨을 저장하기 위해 "트랜잭션 세트(Transaction Set)"라는 이름의 새로운 필드를 포함한다. (각각의 서브트랜잭션은 TBCA 네트워크(100)에서 트랜잭션으로서 간주될 수 있다.)
송금 트랜잭션 세트를 복구하기 위해, 블록 내의 Tn 트랜잭션이 암호화된 라벨(Ln)을 가지며, AES`(TracingKey, Ln) = L`n이 해독 알고리즘이라고 가정하는데, (1) 각각의 Ln에 대해, AES`(TracingKey, Ln) = L`n을 찾고; (2) L`n 은 {set}_(1, 2, 3, 4, 5, 또는 6)_{nonce} 형태일 것이며; (3) 동일한 세트 번호를 갖는 모든 트랜잭션은 동일한 송금 트랜잭션 내에 있다.
비대칭 추적 키를 사용하는 경우, 디지털 자산 관리 모듈 및 통신 사업자("telco")와 같은 트랜잭션 노드를 포함하는 디지털 자산 관리자에는 추적 개인 키가 없으므로, 디지털 자산 관리자는 특정 송금 트랜잭션을 추적하기 위해 송금 트랜잭션 세트 내의 암호화된 라벨을 복구할 수 없다. 필요한 경우 추적 개인 키를 사용하여, 관리자, TBCA 110 또는 분산 트랜잭션 컨센서스 네트워크의 승인/할당된 노드는 특정 트랜잭션을 복구 및 추적하여 송신자의 가상 지갑 ID, 수신자의 가상 지갑 ID 및 이체된 디지털 자산의 양과 유형을 식별할 수 있다. 대칭 키를 사용하는 경우, 각 디지털 자산 관리자는 암호화된 라벨을 제공받는 서브트랜잭션을 해독할 수 있지만, 네트워크 관리자는 각 디지털 자산 관리 모듈이 사용하는 추적 키 사본을 가지고 있으므로 모든 서브트랜잭션의 암호를 해독할 수 있다. 실제 세계에서 송신자와 수신자를 실제로 식별하기 위해, 네트워크 관리자는 여전히 가상 지갑 ID를 가입자의 전화 번호 또는 사회 보장 번호와 같은 다른 물리적 식별 정보와 연결할 수 있는 디지털 자산 관리자와 협업해야 한다.
다음은 익명성 및 추적성에 관해 위에서 설명한 실시예들에 대한 샘플 의사 코드들이다.
Figure pct00001
Figure pct00002
Figure pct00003
Figure pct00004
본 발명의 사상 또는 범위를 벗어나지 않고 본 발명의 방법 및 관련 장치 및 시스템에서 다양한 수정 및 변형이 이루어질 수 있음은 당업자에게 명백할 것이다. 따라서, 본 발명은 첨부된 청구범위 및 그 균등물의 범주 내에 있는 수정 및 변형을 커버하고자 한다.

Claims (42)

  1. 디지털 자산 관리 시스템 - 상기 디지털 자산 관리 시스템은 송신자의 디지털 자산 관리자와 수신자의 디지털 자산 관리자를 포함하고, 상기 송신자의 디지털 자산 관리자는 송신자의 디지털 자산 관리 모듈 및 송신자의 트랜잭션 노드를 포함하며, 상기 수신자의 디지털 자산 관리자는 수신자의 디지털 자산 관리 모듈 및 수신자의 트랜잭션 노드를 포함함 - 에서 구현되는 방법으로서,
    (a) 상기 송신자의 디지털 자산 관리 모듈에 의해, 수신자의 물리적 식별자를 포함하는 송금 요청을 수신하는 단계와,
    (b) 상기 수신자의 디지털 자산 관리 모듈에 의해, 상기 송신자의 디지털 자산 관리 모듈로부터 상기 수신자의 물리적 식별자를 포함하는 토큰 요청을 수신하는 단계와,
    (c) 상기 수신자의 디지털 자산 관리 모듈로부터 상기 송신자의 디지털 자산 관리 모듈로 토큰을 포함하는 토큰 응답을 전송하는 단계와,
    (d) 상기 수신자의 디지털 자산 관리 모듈에 의해, 상기 토큰을 수신자의 가상 식별자에 관련시키는 토큰 매핑을 생성하는 단계와,
    (e) 상기 송신자의 디지털 자산 관리 모듈에 의해 전송 트랜잭션, 관리자 간 트랜잭션, 및 배달 트랜잭션 각각을 구성하여 분산 트랜잭션 컨센서스 네트워크의 상기 송신자의 트랜잭션 노드로 전송하거나, 또는 상기 수신자의 디지털 자산 관리 모듈에 의해 전송 트랜잭션, 관리자 간 트랜잭션, 및 배달 트랜잭션 각각을 구성하여 상기 분산 트랜잭션 컨센서스 네트워크의 상기 수신자의 트랜잭션 노드로 전송하는 단계를 포함하되,
    상기 전송 트랜잭션은 송신자의 가상 지갑으로부터 상기 송신자의 디지털 자산 관리자의 가상 지갑으로 디지털 자산을 이체하고, 상기 관리자 간 트랜잭션은 상기 송신자의 디지털 자산 관리자의 상기 가상 지갑으로부터 상기 수신자의 디지털 자산 관리자의 가상 지갑으로 디지털 자금을 이체하며, 상기 배달 트랜잭션은 상기 수신자의 디지털 자산 관리자의 상기 가상 지갑으로부터 수신자의 가상 지갑으로 디지털 자산을 이체하는,
    방법.
  2. 제1항에 있어서,
    상기 토큰 요청은, 송신자의 디지털 자산 관리 모듈의 메시지 개인 키를 사용하여 상기 수신자의 물리적 식별자에 대해 생성되는, 상기 송신자의 디지털 자산 관리 모듈의 서명을 더 포함하는,
    방법.
  3. 제1항에 있어서,
    상기 토큰 요청은 송신자의 디지털 자산 관리 모듈의 식별자를 더 포함하는,
    방법.
  4. 제3항에 있어서,
    상기 토큰 요청은, 상기 수신자의 물리적 식별자 및 상기 송신자의 디지털 자산 관리 모듈의 메시지 개인 키를 사용하여 상기 송신자의 디지털 자산 관리 모듈의 식별자 모두에 대해 생성되는 상기 송신자의 디지털 자산 관리 모듈의 서명을 더 포함하는,
    방법.
  5. 제4항에 있어서,
    상기 단계 (b)는 상기 수신자의 디지털 자산 관리 모듈에 의해, 상기 송신자의 디지털 자산 관리 모듈의 메시지 공개 키를 사용하여, 상기 수신된 토큰 요청 내의 정보가 진짜인지 검증하는 단계를 더 포함하는,
    방법.
  6. 제1항에 있어서,
    상기 수신자의 물리적 식별자는 수신자의 전화번호인,
    방법.
  7. 제1항에 있어서,
    상기 토큰 응답은, 수신자의 메시지 비밀 키를 사용하여 상기 토큰에 대해 생성되는 수신자의 서명을 더 포함하는,
    방법.
  8. 제1항에 있어서,
    상기 토큰 응답은, 수신자의 메시지 개인 키를 사용하여 상기 수신자의 디지털 자산 관리 모듈의 식별자와 상기 토큰 모두에 대해 생성되는 수신자의 서명 및 상기 수신자의 디지털 자산 관리 모듈의 식별자를 더 포함하는,
    방법.
  9. 제1항에 있어서,
    상기 토큰 응답은, 상기 송신자의 디지털 자산 관리 모듈의 메시지 공개 키를 사용하여 생성된 상기 수신자의 디지털 자산 관리 모듈의 식별자 및 상기 토큰 모두의 암호화를 포함하는,
    방법.
  10. 제9항에 있어서,
    상기 토큰 응답은, 수신자의 물리적 식별자, 상기 송신자의 디지털 자산 관리 모듈의 식별자, 및 수신자의 메시지 개인 키를 사용하여 상기 수신자의 물리적 식별자, 상기 송신자의 디지털 자산 관리 모듈의 식별자 및 상기 수신자의 디지털 자산 관리 모듈의 식별자 및 상기 토큰 모두의 암호화에 대해 생성되는 수신자의 서명을 더 포함하는,
    방법.
  11. 제1항에 있어서,
    상기 토큰은 타임 스탬프를 더 포함하는,
    방법.
  12. 제1항에 있어서,
    상기 단계 (d)는 상기 토큰을 유효 토큰 풀에 배치하는 단계를 더 포함하는,
    방법.
  13. 제1항에 있어서,
    상기 단계 (e)는
    (e1) 상기 수신자의 디지털 자산 관리 모듈에 의해, 상기 송신자의 디지털 자산 관리 모듈로부터, 암호화된 전송 트랜잭션, 관리자 간 트랜잭션, 및 상기 토큰을 포함하는 임시 배달 트랜잭션을 수신하는 단계와,
    (e2) 상기 수신자의 디지털 자산 관리 모듈에 의해, 상기 토큰 매핑을 사용하여 상기 수신된 임시 배달 트랜잭션으로부터 배달 트랜잭션을 구성하는 단계와,
    (e3) 상기 수신자의 디지털 자산 관리 모듈로부터 분산 트랜잭션 컨센서스 네트워크의 수신자의 트랜잭션 노드로, 상기 암호화된 전송 트랜잭션, 상기 관리자 간 트랜잭션 및 상기 배달 트랜잭션을 전송하는 단계를 포함하는,
    방법.
  14. 제13항에 있어서,
    상기 암호화된 전송 트랜잭션은 상기 수신자의 트랜잭션 노드의 메시지 공개 키에 의해 상기 전송 트랜잭션을 암호화한 것으로부터 도출되는,
    방법.
  15. 제13항에 있어서,
    상기 수신자의 디지털 자산 관리 모듈은 상기 배달 트랜잭션을 구성하기 전에 상기 토큰이 여전히 유효한 토큰 풀에 있는지 확인하고, 상기 배달 트랜잭션이 상기 분산 트랜잭션 컨센서스 네트워크에 의해 커밋된 후에 상기 유효한 토큰 풀에서 상기 토큰을 제거하는,
    방법.
  16. 제14항에 있어서,
    (f) 상기 수신자의 트랜잭션 노드의 메시지 개인 키를 사용하여 상기 암호화된 전송 트랜잭션을 암호해독하는 단계와,
    (g) 상기 전송 트랜잭션, 상기 관리자 간 트랜잭션, 및 상기 배달 트랜잭션을 상기 분산 트랜잭션 컨센서스 네트워크에 제출하는 단계를 더 포함하는,
    방법.
  17. 제16항에 있어서,
    상기 수신자의 트랜잭션 노드는 새로운 메시지 공개 키 및 메시지 개인 키 쌍을 주기적으로 생성하고, 상기 공개 키를 디지털 자산 관리 모듈과 공유하는,
    방법.
  18. 제17항에 있어서,
    상기 수신자의 트랜잭션 노드는 현재의 메시지 개인 키 및 마지막 메시지 개인 키를 저장하는,
    방법.
  19. 제18항에 있어서,
    상기 단계 (f)는
    (f1) 상기 수신자의 트랜잭션 노드의 상기 현재의 메시지 개인 키에 의해 상기 암호화된 전송 트랜잭션을 암호해독하는 단계와,
    (f2) 상기 단계 (f1)이 실패하면, 상기 수신자의 트랜잭션 노드의 상기 마지막 메시지 개인 키에 의해 상기 암호화된 전송 트랜잭션을 암호해독하는 단계를 포함하는,
    방법.
  20. 제13항에 있어서,
    상기 암호화된 전송 트랜잭션, 상기 관리자 간 트랜잭션, 또는 상기 배달 트랜잭션은 복수의 서브트랜잭션을 더 포함하는,
    방법.
  21. 제20항에 있어서,
    각각의 서브트랜잭션의 입력 디지털 자산은 기본 금액(base amount)인,
    방법.
  22. 제1항에 있어서,
    상기 단계 (e)는
    (e1) 상기 수신자의 디지털 자산 관리 모듈에 의해, 상기 송신자의 디지털 자산 관리 모듈로부터, 관리자 간 트랜잭션, 및 상기 토큰을 포함하는 임시 배달 트랜잭션을 수신하는 단계와,
    (e2) 상기 수신자의 디지털 자산 관리 모듈에 의해, 상기 토큰 매핑을 사용하여 상기 수신된 임시 배달 트랜잭션으로부터 배달 트랜잭션을 구성하는 단계와,
    (e3) 상기 송신자의 디지털 자산 관리 모듈에 의해, 상기 수신자의 디지털 자산 관리 모듈로부터, 암호화된 배달 트랜잭션을 수신하는 단계와,
    (e4) 상기 송신자의 디지털 자산 관리 모듈로부터 분산 트랜잭션 컨센서스 네트워크의 상기 송신자의 트랜잭션 노드로, 전송 트랜잭션, 상기 관리자 간 트랜잭션 및 상기 상기 암호화된 배달 트랜잭션을 전송하는 단계를 포함하는,
    방법.
  23. 제22항에 있어서,
    상기 암호화된 배달 트랜잭션은 상기 송신자의 트랜잭션 노드의 메시지 공개 키에 의해 상기 배달 트랜잭션을 암호화한 것으로부터 도출되는,
    방법.
  24. 제22항에 있어서,
    상기 수신자의 디지털 자산 관리 모듈은 상기 배달 트랜잭션을 구성하기 전에 상기 토큰이 여전히 유효한 토큰 풀에 있는지 확인하고, 상기 배달 트랜잭션이 상기 분산 트랜잭션 컨센서스 네트워크에 의해 커밋된 후에 상기 유효한 토큰 풀에서 상기 토큰을 제거하는,
    방법.
  25. 제23항에 있어서,
    (f) 상기 송신자의 트랜잭션 노드의 메시지 개인 키에 의해 상기 암호화된 배달 트랜잭션을 암호해독하는 단계와,
    (g) 상기 전송 트랜잭션, 상기 관리자 간 트랜잭션, 및 상기 배달 트랜잭션을 상기 분산 트랜잭션 컨센서스 네트워크에 제출하는 단계를 더 포함하는,
    방법.
  26. 제25항에 있어서,
    상기 송신자의 트랜잭션 노드는 새로운 메시지 공개 키 및 메시지 개인 키 쌍을 주기적으로 생성하고, 상기 메시지 공개 키를 디지털 자산 관리 모듈과 공유하는,
    방법.
  27. 제26항에 있어서,
    상기 송신자의 트랜잭션 노드는 현재의 메시지 개인 키 및 마지막 메시지 개인 키를 저장하는,
    방법.
  28. 제27항에 있어서,
    상기 단계 (f)는
    (f1) 상기 송신자의 트랜잭션 노드의 상기 현재의 메시지 개인 키를 사용하여 상기 암호화된 전송 트랜잭션을 암호해독하는 단계와,
    (f2) 상기 단계 (f1)이 실패하면, 상기 송신자의 트랜잭션 노드의 상기 마지막 메시지 개인 키를 사용하여 상기 암호화된 배달 트랜잭션을 암호해독하는 단계를 포함하는,
    방법.
  29. 제22항에 있어서,
    상기 전송 트랜잭션, 상기 관리자 간 트랜잭션, 또는 상기 암호화된 배달 트랜잭션은 복수의 서브트랜잭션을 더 포함하는,
    방법.
  30. 제29항에 있어서,
    각각의 서브트랜잭션의 입력 디지털 자산은 기본 금액(base amount)인,
    방법.
  31. 방법으로서,
    (a) 송금 트랜잭션 세트 내의 각각의 서브트랜잭션에 대한 라벨을 생성하는 단계와,
    (b) 상기 라벨을 추적 키로 암호화하는 단계와,
    (c) 암호화된 라벨을 포함하는 상기 송금 트랜잭션 세트 내의 각각의 서브트랜잭션을 분산 트랜잭션 컨센서스 네트워크의 트랜잭션 노드에 제출하는 단계와,
    상기 라벨은 상기 송금 트랜잭션 세트 내의 서브트랜잭션을 식별하는데 사용되는,
    방법.
  32. 제31항에 있어서,
    상기 라벨은 세트 식별자와 시퀀스 식별자를 포함하는,
    방법.
  33. 제32항에 있어서,
    상기 세트 식별자는 세트 번호 및 논스(nonce)를 포함하는,
    방법.
  34. 제33항에 있어서,
    상기 세트 번호는 상기 송금 트랜잭션 세트가 상기 분산 트랜잭션 컨센서스 네트워크에 제출된 후에 1씩 증분되는,
    방법.
  35. 제33항에 있어서,
    상기 세트 번호가 반복된 후에 새로운 논스가 생성되는,
    방법.
  36. 제32항에 있어서,
    상기 시퀀스 식별자는 상기 송금 트랜잭션 세트 내의 각각의 서브트랜잭션의 시퀀스를 식별하는데 사용되는,
    방법.
  37. 제31항에 있어서,
    상기 송금 트랜잭션 세트는 전송 트랜잭션, 관리자 간 트랜잭션, 및 배달 트랜잭션을 포함하는,
    방법.
  38. 제31항에 있어서,
    상기 추적 키는 대칭 키, 또는 비대칭 키 쌍의 추적 공개 키인,
    방법.
  39. 제31항에 있어서,
    상기 추적 키는 상기 라벨을 생성하는 디지털 자산 관리 모듈의 대칭 추적 키인,
    방법.
  40. 제39항에 있어서,
    (d) 상기 라벨을 생성하는 상기 디지털 자산 관리 모듈의 상기 추적 키로 상기 암호화된 라벨을 암호해독하는 단계를 더 포함하는,
    방법.
  41. 제31항에 있어서,
    상기 추적 키는 관리자의 추적 공개 키인,
    방법.
  42. 제41항에 있어서,
    (d) 상기 암호화된 라벨을 상기 관리자의 추적 개인 키로 암호해독하는 단계를 더 포함하는,
    방법.
KR1020197033619A 2017-04-18 2018-01-22 분산 트랜잭션 컨센서스 네트워크에서의 디지털 자산 트랜잭션의 익명성 및 추적성 향상 기법 KR102665645B1 (ko)

Applications Claiming Priority (5)

Application Number Priority Date Filing Date Title
US201762486916P 2017-04-18 2017-04-18
US62/486,916 2017-04-18
US201862619058P 2018-01-18 2018-01-18
US62/619,058 2018-01-18
PCT/US2018/014603 WO2018194736A1 (en) 2017-04-18 2018-01-22 Anonymity and traceability of digital property transactions on a distributed transaction consensus network

Publications (2)

Publication Number Publication Date
KR20190142353A true KR20190142353A (ko) 2019-12-26
KR102665645B1 KR102665645B1 (ko) 2024-05-13

Family

ID=63857036

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020197033619A KR102665645B1 (ko) 2017-04-18 2018-01-22 분산 트랜잭션 컨센서스 네트워크에서의 디지털 자산 트랜잭션의 익명성 및 추적성 향상 기법

Country Status (7)

Country Link
US (1) US20200134586A1 (ko)
EP (1) EP3613008A4 (ko)
JP (1) JP7148933B2 (ko)
KR (1) KR102665645B1 (ko)
CN (1) CN110582793B (ko)
SG (1) SG11201909404TA (ko)
WO (1) WO2018194736A1 (ko)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2021137397A1 (ko) * 2019-12-31 2021-07-08 주식회사 코인플러그 블록체인 네트워크 기반의 가상 공통 아이디 서비스 방법 및 이를 이용한 서비스 제공 서버
KR102438846B1 (ko) 2022-03-15 2022-09-01 클로우플레이크(주) Did 기반 사용자 스타일 정보의 nft 자산 거래 서비스 제공 방법, 장치 및 시스템
KR102491309B1 (ko) * 2022-08-19 2023-01-27 주식회사 미네르바 가상 자산 거래 증빙 관리 서버 및 이의 동작 방법

Families Citing this family (18)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11606190B2 (en) * 2017-12-26 2023-03-14 Akamai Technologies, Inc. High performance distributed system of record with cryptographic service support
US11049182B2 (en) * 2017-12-28 2021-06-29 Chicago Mercantile Exchange Inc. Secure deterministic tokens for electronic messages
US11379824B2 (en) * 2018-06-20 2022-07-05 International Business Machines Corporation Privacy preserving transactions with probabilistic transaction fees
CN109033832B (zh) * 2018-06-22 2021-02-09 深圳前海益链网络科技有限公司 一种防范对区块链网络进行短暂分叉双花攻击的方法
JP7336518B2 (ja) * 2018-08-01 2023-08-31 リッジビュー デジタル エルエルシー デジタル通貨を使用して取引を円滑にするためのシステムおよび方法
CN109272385B (zh) * 2018-09-14 2021-03-23 创新先进技术有限公司 一种基于区块链的版权事件代理存证方法及***
CN109274667B (zh) 2018-09-14 2020-06-23 阿里巴巴集团控股有限公司 一种基于区块链的版权事件存证方法及***
EP3829104B1 (en) * 2018-11-07 2022-07-06 Advanced New Technologies Co., Ltd. Blockchain data protection based on account note model with zero-knowledge proof
JP6838260B2 (ja) * 2018-11-14 2021-03-03 カウリー株式会社 ブロックチェーン制御方法
US11997205B2 (en) * 2019-02-25 2024-05-28 Tbcasoft, Inc. Credential verification and issuance through credential service providers
US10790990B2 (en) 2019-06-26 2020-09-29 Alibaba Group Holding Limited Ring signature-based anonymous transaction
CN112288575B (zh) * 2019-12-27 2022-09-27 立旃(上海)科技有限公司 基于区块链的交易管理方法及装置
CN111510484B (zh) * 2020-04-10 2023-07-04 金蝶软件(中国)有限公司 区块链处理方法、***、装置、计算机设备和存储介质
CN113743915B (zh) * 2020-05-29 2024-04-12 富泰华工业(深圳)有限公司 区块链转账交易隐私保护方法、区块链节点设备及介质
KR102519141B1 (ko) * 2020-08-13 2023-04-24 주식회사 한컴위드 디지털 골드 토큰을 기초로 금 선물을 가능하게 하는 클라우드 기반의 금 자산 관리 서버 및 그 동작 방법
CN111966538B (zh) * 2020-10-20 2021-04-27 支付宝(杭州)信息技术有限公司 一种区块链数据的恢复方法和装置
CN112488836B (zh) * 2020-11-30 2023-06-02 成都质数斯达克科技有限公司 交易发送方法、装置、电子设备及可读存储介质
CN117436873A (zh) * 2022-07-07 2024-01-23 汇丰软件开发(广东)有限公司 一种基于动态虚拟地址的数字资产交易隐私保护方法

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20040083391A1 (en) * 2002-09-13 2004-04-29 Sun Microsystems, Inc., A Delaware Corporation Embedded content requests in a rights locker system for digital content access control
US20160300234A1 (en) * 2015-04-06 2016-10-13 Bitmark, Inc. System and method for decentralized title recordation and authentication
US20160321625A1 (en) * 2012-03-07 2016-11-03 Clearxchange, Llc Systems and methods for facilitating a secure transaction at a non-financial institution system

Family Cites Families (20)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5453601A (en) * 1991-11-15 1995-09-26 Citibank, N.A. Electronic-monetary system
US5659165A (en) * 1995-07-24 1997-08-19 Citibank. N.A. Customer-directed, automated process for transferring funds between accounts via a communications network
EP1028401A3 (en) 1999-02-12 2003-06-25 Citibank, N.A. Method and system for performing a bankcard transaction
US7814025B2 (en) * 2002-05-15 2010-10-12 Navio Systems, Inc. Methods and apparatus for title protocol, authentication, and sharing
US9576285B2 (en) * 2002-10-01 2017-02-21 Dylan T X Zhou One gesture, one blink, and one-touch payment and buying using haptic control via messaging and calling multimedia system on mobile and wearable device, currency token interface, point of sale device, and electronic payment card
WO2008048304A2 (en) * 2005-12-01 2008-04-24 Firestar Software, Inc. System and method for exchanging information among exchange applications
US9147188B2 (en) * 2010-10-26 2015-09-29 Tectonics Electronic currency and authentication system and method
US20130060708A1 (en) * 2011-09-06 2013-03-07 Rawllin International Inc. User verification for electronic money transfers
US8788427B2 (en) * 2012-05-18 2014-07-22 Active Network, Llc Limiting data exposure in authenticated multi-system transactions
KR20140003840A (ko) 2012-06-29 2014-01-10 주식회사 케이티 금융 거래 방법 및 그 시스템
US9426183B2 (en) * 2013-07-28 2016-08-23 Acceptto Corporation Authentication policy orchestration for a user device
SG2014011779A (en) * 2014-02-11 2015-09-29 Smart Communications Inc Remittance system and method
CN103927659A (zh) 2014-04-18 2014-07-16 刘志望 一种虚拟货币的即时转移和安全支付方法
US20160162897A1 (en) * 2014-12-03 2016-06-09 The Filing Cabinet, LLC System and method for user authentication using crypto-currency transactions as access tokens
US11386404B2 (en) * 2015-02-04 2022-07-12 Ripple Luxembourg S.A. Temporary consensus subnetwork in a distributed network for payment processing
US11232415B2 (en) * 2015-05-28 2022-01-25 OX Labs Inc. Method for cryptographically managing title transactions
US20170011460A1 (en) 2015-07-09 2017-01-12 Ouisa, LLC Systems and methods for trading, clearing and settling securities transactions using blockchain technology
US20170116608A1 (en) * 2015-10-22 2017-04-27 Align Commerce Corporation System and method for payment processing using crypto currencies
WO2017091530A1 (en) * 2015-11-24 2017-06-01 Gartland & Mellina Group Blockchain solutions for financial services and other transaction-based industries
CN106056419A (zh) * 2015-11-25 2016-10-26 天地融科技股份有限公司 利用电子签名设备实现独立交易的方法、***和设备

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20040083391A1 (en) * 2002-09-13 2004-04-29 Sun Microsystems, Inc., A Delaware Corporation Embedded content requests in a rights locker system for digital content access control
US20160321625A1 (en) * 2012-03-07 2016-11-03 Clearxchange, Llc Systems and methods for facilitating a secure transaction at a non-financial institution system
US20160300234A1 (en) * 2015-04-06 2016-10-13 Bitmark, Inc. System and method for decentralized title recordation and authentication

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2021137397A1 (ko) * 2019-12-31 2021-07-08 주식회사 코인플러그 블록체인 네트워크 기반의 가상 공통 아이디 서비스 방법 및 이를 이용한 서비스 제공 서버
KR102438846B1 (ko) 2022-03-15 2022-09-01 클로우플레이크(주) Did 기반 사용자 스타일 정보의 nft 자산 거래 서비스 제공 방법, 장치 및 시스템
KR102491309B1 (ko) * 2022-08-19 2023-01-27 주식회사 미네르바 가상 자산 거래 증빙 관리 서버 및 이의 동작 방법

Also Published As

Publication number Publication date
WO2018194736A1 (en) 2018-10-25
JP7148933B2 (ja) 2022-10-06
CN110582793A (zh) 2019-12-17
EP3613008A1 (en) 2020-02-26
KR102665645B1 (ko) 2024-05-13
JP2020517165A (ja) 2020-06-11
EP3613008A4 (en) 2020-12-02
CN110582793B (zh) 2024-04-19
SG11201909404TA (en) 2019-11-28
US20200134586A1 (en) 2020-04-30

Similar Documents

Publication Publication Date Title
KR102665645B1 (ko) 분산 트랜잭션 컨센서스 네트워크에서의 디지털 자산 트랜잭션의 익명성 및 추적성 향상 기법
US11687924B2 (en) Cryptocurrency infrastructure system
US20220321359A1 (en) Methods and systems for ownership verification using blockchain
Karame et al. Bitcoin and blockchain security
EP3073670B1 (en) A system and a method for personal identification and verification
CA3011600C (en) Information transaction infrastructure
US20150356523A1 (en) Decentralized identity verification systems and methods
CN108876593A (zh) 一种在线交易方法和装置
US20210374724A1 (en) Secure digital wallet processing system
EP4186019A1 (en) Quantum-safe payment system
KR102409982B1 (ko) 블록체인 송금 서비스 시스템의 동작 방법과 송금을 위한 전자 지갑
CN108737435A (zh) 一种账户初始化方法和装置
US20220286291A1 (en) Secure environment for cryptographic key generation
US20210056624A1 (en) Secure communication framework for crypto-exchange services using asymmetric and symmetric encryption
JP2023540739A (ja) 分散型台帳上の、匿名性取消を伴う、セキュアな、トレース可能な、および、プライバシー保護の、デジタル通貨送金のための方法
US20230298015A1 (en) Systems and methods for verification of protected private information
WO2023144503A1 (en) Quantum-secure digital currency
CA3239674A1 (en) Methods for distributed data management
AU2022403178A1 (en) Methods for distributed data management
Kim A Secure on-line credit card transaction method based on Kerberos Authentication protocol

Legal Events

Date Code Title Description
E902 Notification of reason for refusal
E701 Decision to grant or registration of patent right
GRNT Written decision to grant