KR20200054124A - 계좌 모델 하에서 퍼블릭 및 프라이빗 트랜잭션을 지원하는 블록체인 시스템 - Google Patents

계좌 모델 하에서 퍼블릭 및 프라이빗 트랜잭션을 지원하는 블록체인 시스템 Download PDF

Info

Publication number
KR20200054124A
KR20200054124A KR1020197011556A KR20197011556A KR20200054124A KR 20200054124 A KR20200054124 A KR 20200054124A KR 1020197011556 A KR1020197011556 A KR 1020197011556A KR 20197011556 A KR20197011556 A KR 20197011556A KR 20200054124 A KR20200054124 A KR 20200054124A
Authority
KR
South Korea
Prior art keywords
account
user node
public
private
transaction
Prior art date
Application number
KR1020197011556A
Other languages
English (en)
Other versions
KR102151894B1 (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 KR20200054124A publication Critical patent/KR20200054124A/ko
Application granted granted Critical
Publication of KR102151894B1 publication Critical patent/KR102151894B1/ko

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q20/00Payment architectures, schemes or protocols
    • G06Q20/38Payment protocols; Details thereof
    • G06Q20/382Payment protocols; Details thereof insuring higher security of transaction
    • 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/02Payment architectures, schemes or protocols involving a neutral party, e.g. certification authority, notary or trusted third party [TTP]
    • 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
    • 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/108Remote banking, e.g. home banking
    • 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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q20/00Payment architectures, schemes or protocols
    • G06Q20/38Payment protocols; Details thereof
    • G06Q20/382Payment protocols; Details thereof insuring higher security of transaction
    • G06Q20/3825Use of electronic signatures
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q20/00Payment architectures, schemes or protocols
    • G06Q20/38Payment protocols; Details thereof
    • G06Q20/40Authorisation, e.g. identification of payer or payee, verification of customer or shop credentials; Review and approval of payers, e.g. check credit lines or negative lists
    • G06Q20/401Transaction verification
    • 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
    • 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/008Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols involving homomorphic encryption
    • 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/06Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols the encryption apparatus using shift registers or memories for block-wise or stream coding, e.g. DES systems or RC4; Hash functions; Pseudorandom sequence generators
    • 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/06Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols the encryption apparatus using shift registers or memories for block-wise or stream coding, e.g. DES systems or RC4; Hash functions; Pseudorandom sequence generators
    • H04L9/0618Block ciphers, i.e. encrypting groups of characters of a plain text message using fixed encryption transformation
    • H04L9/0637Modes of operation, e.g. cipher block chaining [CBC], electronic codebook [ECB] or Galois/counter mode [GCM]
    • 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/32Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
    • H04L9/3236Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials using cryptographic hash functions
    • H04L9/3239Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials using cryptographic hash functions involving non-keyed hash functions, e.g. modification detection codes [MDCs], MD5, SHA or RIPEMD
    • 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/32Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
    • H04L9/3247Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials involving digital signatures
    • 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/50Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols using hash chains, e.g. blockchains or hash trees

Landscapes

  • Engineering & Computer Science (AREA)
  • Business, Economics & Management (AREA)
  • Computer Security & Cryptography (AREA)
  • Accounting & Taxation (AREA)
  • Signal Processing (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Finance (AREA)
  • General Physics & Mathematics (AREA)
  • General Business, Economics & Management (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Strategic Management (AREA)
  • Development Economics (AREA)
  • Economics (AREA)
  • Financial Or Insurance-Related Operations Such As Payment And Settlement (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)

Abstract

본 개시의 실시예들은 블록체인 네트워크의 합의 노드에 의해 트랜잭션 데이터 및 이 트랜잭션 데이터의 디지털 서명을 수신하는 단계를 포함한다. 그 트랜잭션 데이터는 제1 사용자 노드의 퍼블릭 계좌 또는 프라이빗 계좌 중 하나로부터 제2 사용자 노드의 퍼블릭 계좌 또는 프라이빗 계좌 중 하나로 이체될 트랜잭션 양, 커미트먼트 값 및 난수를 포함하며, 합의 노드는 제1 사용자 노드의 퍼블릭 키를 이용하여 트랜잭션 데이터의 디지털 서명을 검증한다. 이어서, 난수 및 커미트먼트 스킴에 기초하여 커미트먼트 값이 정확하고 또한 트랜잭션 양이 트랜잭션 양의 이체 전에 제1 사용자 노드의 퍼블릭 계좌 또는 프라이빗 계좌 중 하나의 잔고 이하이면 트랜잭션 양이 유효하다고 결정한다.

Description

계좌 모델 하에서 퍼블릭 및 프라이빗 트랜잭션을 지원하는 블록체인 시스템
블록체인 시스템, 합의 네트워크, 분산 원장 시스템(distributed ledger system: DLS) 네트워크, 또는 블록체인으로도 지칭될 수 있는 블록체인 네트워크는 참가 엔티티들이 안전하면서도 변경 불가능하게 데이터를 저장하는 것을 가능하게 한다. 블록체인은 트랜잭션의 원장으로서 설명할 수 있고, 블록체인의 복수의 카피는 블록체인 네트워크에 걸쳐 저장된다. 블록체인의 예시적인 타입은 퍼블릭 블록체인 및 프라이빗 블록체인을 포함할 수 있다. 퍼블릭 블록체인은 모든 엔티티들이 블록체인을 이용하고 합의 프로세스에 참가하도록 개방되어 있다. 프라이빗 블록체인은 읽기 및 쓰기 허가를 중앙에서 제어하는 특정 엔티티를 위해 제공된다.
블록체인은 참가자들이 암호화폐를 이용하여 상품 및/또는 서비스를 사고 팔기 위한 트랜잭션을 행할 수 있게 하는 암호화폐 네트워크에 이용된다. 통상의 암호화폐는 비트코인을 포함한다. 암호화폐 네트워크에서, 사용자들 간의 트랜잭션을 기록하기 위해 기록 보존 모델을 이용한다. 예시적인 기록 보존 모델은 UTXO(unspent transaction output) 모델 및 계좌 잔고 모델을 포함한다. UTXO 모델에서, 각각의 트랜잭션은 이전 트랜잭션으로부터의 출력을 소비하는 한편, 후속 트랜잭션에서 소비될 수 있는 새로운 출력을 생성한다. 사용자의 미소비 트랜잭션이 추적되며, 사용자가 소비해야 하는 잔고가 미소비 트랜잭션의 합으로서 산출된다. 계좌 잔고 모델에서는 각 사용자의 계좌 잔고가 글로벌 상태(global state)로서 추적된다. 각각의 트랜잭션에 대해, 소비하는 계좌의 잔고가 트랜잭션 양 이상이라는 것을 확실히 하기 위해 체크된다. 이는 전통적 은행 업무와 비교 가능하다.
블록체인은 일련의 블록을 포함하며, 각 블록은 네트워크에서 실행된 하나 이상의 트랜잭션을 포함한다. 각 블록은 원장의 페이지와 유사할 수 있는 반면, 블록체인 자체는 원장의 전체 카피이다. 개별 트랜잭션은 확증되어 블록에 추가되며, 이 블록은 블록체인에 추가된다. 블록체인의 카피는 네트워크의 노드들에 걸쳐 복제된다. 이러한 식으로, 블록체인의 상태에 대해 글로벌 합의가 존재한다. 또한, 블록체인은 적어도 퍼블릭 네트워크의 경우에 모든 노드들이 볼 수 있도록 개방된다. 블록체인 사용자들의 프라이버시를 보호하기 위해, 암호화 기술이 실시된다.
본 개시의 실시예들은 블록체인 네트워크의 계좌 잔고 모델 하에서 퍼블릭 및 프라이빗 트랜잭션 데이터의 프라이버시를 보호하기 위한 컴퓨터 구현 방법을 포함한다. 보다 구체적으로, 본 개시의 실시예들은 블록체인 네트워크 내에서 계좌 잔고 모델 하에서 프라이빗 트랜잭션 및 퍼블릭 트랜잭션을 가능하게 하는 것에 관한 것이다. 이러한 식으로, 또한 본 명세서에서 보다 상세하게 설명하는 바와 같이, 사용자들은 각 트랜잭션이 블록체인 네트워크 내에서 퍼블릭 트랜잭션인지 또는 프라이빗 트랜잭션인지의 여부를 자유롭게 선택할 수 있다.
몇몇 실시예에서, 단계들은 블록체인 네트워크의 합의 노드에 의해 트랜잭션 데이터 및 이 트랜잭션 데이터의 디지털 서명을 수신하는 단계로서, 그 트랜잭션 데이터는 제1 사용자 노드의 퍼블릭 계좌 또는 프라이빗 계좌 중 하나로부터 제2 사용자 노드의 퍼블릭 계좌 또는 프라이빗 계좌 중 하나로 이체될 트랜잭션 양, 커미트먼트 값 및 난수를 포함하며, 디지털 서명은 제1 사용자 노드의 프라이빗 키를 이용하여 트랜잭션 데이터를 디지털 서명함으로써 생성되며, 커미트먼트 값은 커미트먼트 스킴(commitment scheme)을 이용하여 난수 및 트랜잭션 양에 기초하여 생성되는 것인 단계; 제1 사용자 노드의 퍼블릭 키를 이용하여 트랜잭션 데이터의 디지털 서명을 검증하는 단계; 및
커미트먼트 값이 난수 및 커미트먼트 스킴에 기초하여 정확하고 또한 트랜잭션 양이 트랜잭션 양의 이체 전에 제1 사용자 노드의 퍼블릭 계좌 또는 프라이빗 계좌 중 하나의 잔고 이하이라면, 트랜잭션 양이 유효하다고 결정하는 단계를 포함한다. 다른 실시예들은 컴퓨터 저장 디바이스에 인코딩된 그 방법들의 단계들을 수행하도록 구성된 상응하는 시스템, 장치 및 컴퓨터 프로그램을 포함한다.
상기한 실시예는 물론 기타 실시예들은 각각 이하의 특징 중 하나 이상을 선택적으로 포함할 수 있다.
임의의 이하의 특징들과 조합 가능한 제1 특징에서, 퍼블릭 계좌는 합의 노드에 의해 볼 수 있는 퍼블릭 잔고를 갖고 있고, 프라이빗 계좌는 각 사용자 노드의 프라이빗 키를 이용하여 볼 수 있는 프라이빗 잔고를 갖는다.
임의의 선행 또는 이하의 특징들과 조합 가능한 제2 특징에서, 트랜잭션 양은 제1 사용자 노드와 관련된 퍼블릭 계좌로부터 제2 사용자 노드와 관련된 프라이빗 계좌로의 것이다.
임의의 선행 또는 이하의 특징들과 조합 가능한 제3 특징에서, 트랜잭션 양은 제1 사용자 노드의 프라이빗 계좌로부터 제2 사용자 노드의 퍼블릭 계좌로의 것이며, 그 방법은 또한 트랜잭션 양이 제1 사용자 노드의 프라이빗 계좌의 잔고 이하인 것을 증명하기 위해 제1 사용자 노드로부터 레인지 프루프(range proof)를 수신하는 단계를 더 포함하며, 이체는 레인지 프루프에 기초하여 트랜잭션 양이 제1 사용자 노드의 프라이빗 계좌의 잔고 이하이면 유효하다고 결정된다.
임의의 선행 또는 이하의 특징들과 조합 가능한 제4 특징에서, 이체가 유효하다면, 트랜잭션 양에 기초하여, 제1 사용자 노드의 퍼블릭 계좌 또는 프라이빗 계좌 중 하나의 잔고를 갱신하고 또한 제2 사용자 노드의 퍼블릭 계좌 또는 프라이빗 계좌 중 하나의 잔고를 갱신하는 단계를 더 포함한다.
임의의 선행 또는 이하의 특징들과 조합 가능한 제5 특징에서, 프라이빗 계좌의 잔고는 트랜잭션 양의 커미트먼트 값 및 커미트먼트 스킴을 이용하여 생성된 프라이빗 계좌의 잔고의 약속에 기초하여 갱신된다.
임의의 선행 또는 이하의 특징들과 조합 가능한 제6 특징에서, 커미트먼트 스킴은 준동형이다.
본 개시는 또한 본 명세서에서 제공하는 방법을 실시하는 시스템을 제공한다. 그 시스템은 하나 이상의 프로세서 및 이 하나 이상의 프로세서에 결합된 컴퓨터 판독 가능 저장 매체를 포함하며, 이 저장 매체는, 하나 이상의 프로세서에 의해 실행될 때, 하나 이상의 프로세서가 본 명세서에서 제공하는 방법의 실시예에 따라 동작을 수행하게 하는 명령어들이 저장되어 있다.
본 개시에 따른 방법은 본 명세서에서 설명하는 양태 및 특징들의 임의의 조합을 포함할 수 있다는 점을 이해할 것이다. 즉, 본 개시에 따른 방법은 본 명세서에서 구체적으로 설명하는 양태 및 특징들의 조합에 한정되는 것이 아니라, 제공되는 양태 및 특징들의 임의의 조합도 포함한다.
본 개시의 하나 이상의 실시예들의 상세는 첨부 도면 및 이하의 상세한 설명에 기재되어 있다. 본 개시의 기타 특징 및 이점은 상세한 설명, 도면으로부터 그리고 청구범위로부터 명백해질 것이다.
도 1은 본 개시의 실시예들을 실행하는 데에 이용될 수 있는 예시적인 환경을 도시한다.
도 2는 본 개시의 실시예들에 따른 예시적인 개념적 아키텍쳐를 도시한다.
도 3은 본 개시의 실시예들에 따른 블록체인 트랜잭션의 예시적인 입증 프로세스를 도시한다.
도 4는 본 개시의 실시예들에 따른 퍼블릭 계좌에서 프라이빗 계좌로의 예시적인 블록체인 트랜잭션을 도시한다.
도 5는 본 개시의 실시예들에 따른 프라이빗 계좌에서 퍼블릭 계좌로의 예시적인 블록체인 트랜잭션을 도시한다.
도 6은 본 개시의 실시예들에 따라 실행될 수 있는 예시적인 방법을 도시한다.
다양한 도면에서 동일 도면 부호는 동일한 요소를 가리킨다.
본 개시의 실시예들은 블록체인 네트워크의 계좌 잔고 모델(본 명세서에서는 계좌 모델로서도 지칭함) 하에서 퍼블릭 및 프라이빗 트랜잭션 데이터의 프라이버시를 보호하기 위한 컴퓨터 구현 방법을 포함한다. 보다 구체적으로, 본 개시의 실시예들은 블록체인 네트워크 내에서 계좌 잔고 모델 하에서 프라이빗 트랜잭션 및 퍼블릭 트랜잭션을 가능하게 하는 것에 관한 것이다. 이러한 식으로, 또한 본 명세서에서 보다 상세하게 설명하는 바와 같이, 사용자들은 각 트랜잭션이 블록체인 네트워크 내에서 퍼블릭 트랜잭션인지 또는 프라이빗 트랜잭션인지의 여부를 자유롭게 선택할 수 있다. 몇몇 실시예에서, 단계들은 블록체인 네트워크의 합의 노드에 의해 트랜잭션 데이터 및 이 트랜잭션 데이터의 디지털 서명을 수신하는 단계로서, 그 트랜잭션 데이터는 제1 사용자 노드의 퍼블릭 계좌 또는 프라이빗 계좌 중 하나로부터 제2 사용자 노드의 퍼블릭 계좌 또는 프라이빗 계좌 중 하나로 전달될 커미트먼트 값, 난수 및 트랜잭션 양을 포함하며, 디지털 서명은 제1 사용자 노드의 프라이빗 키를 이용하여 트랜잭션 데이터를 디지털 서명함으로써 생성되며, 커미트먼트 값은 커미트먼트 스킴(commitment scheme)을 이용하여 난수 및 트랜잭션 양에 기초하여 생성되는 것인 단계; 제1 사용자 노드의 퍼블릭 키를 이용하여 트랜잭션 데이터의 디지털 서명을 검증하는 단계; 및 난수 및 커미트먼트 스킴에 기초하여 커미트먼트 값이 정확하고 또한 트랜잭션 양이 트랜잭션 양의 이체 전에 제1 사용자 노드의 퍼블릭 계좌 또는 프라이빗 계좌 중 하나의 잔고 이하이면 트랜잭션 양이 유효하다고 결정하는 단계를 포함한다.
본 개시의 실시예들을 위한 추가적 정황을 제공하기 위해 그리고 전술한 바와 같이, 합의 네트워크(예를 들면, 피어-투-피어 노드들로 이루어짐), 분산 원장 시스템 또는 단순히 블록체인으로도 지칭될 수 있는 블록체인 네트워크는 참가 엔티티들이 안전하면서도 변경 불가능하게 트랜잭션을 행하고 또한 데이터를 저장할 수 있게 한다. 블록체인은 퍼블릭 블록체인, 프라이빗 블록체인 또는 컨소시엄 블록체인으로서 제공될 수 있다. 본 개시의 실시예들은 참가 엔티티들 간에 공개된 퍼블릭 블록체인을 참조하여 본 명세서에서 보다 상세하게 설명한다. 하지만, 본 개시의 실시예들이 임의의 적절한 형태의 블록체인에 실현될 수 있다는 점도 고려된다.
퍼블릭 블록체인에서, 합의 프로세스는 합의 네트워크의 노드들에 의해 제어된다. 예를 들면, 수백, 수천, 심지어는 수백만의 엔티티들이 퍼블릭 블록체인에 참가할 수 있고, 각 엔티티들은 퍼블릭 블록체인에서 적어도 하나의 노드를 운용한다. 따라서, 퍼블릭 블록체인은 참가 엔티티들에 대해 퍼블릭 네트워크로서 간주될 수 있다. 몇몇 예에서, 블록이 유효하고 블록체인에 추가되도록 하기 위해 과반수의 엔티티(노드)들이 각 블록마다 서명해야 한다. 예시적인 퍼블릭 블록체인은 피어-투-피어 지불 네트워크(암호화폐 네트워크)인 비트코인 네트워크에 이용되는 블록체인이다. 블록체인이란 용어는 통상적으로 비트코인 네트워크를 지칭하지만, 본 명세서에서 사용하는 바와 같이 블록체인은 비트코인 네트워크를 특정적으로 지칭하지 않고 전반적으로 분산 원장을 지칭한다.
일반적으로, 퍼블릭 블록체인은 퍼블릭 트랜잭션을 지원한다. 퍼블릭 트랜잭션은 블록체인이 모든 노드에 걸쳐 복제되기 때문에 블록체인 내에의 모든 노드들에 공유된다. 즉, 모든 노들은 블록체인에 대해 퍼펙트 상태의 합의에 있다. 합의(예를 들면, 블록체인에 블록의 추가에 대한 의견 일치)를 달성하기 위해, 합의 프로토콜이 블록체인 네트워크 내에서 실시된다. 예시적인 합의 프로토콜은 비트코인 네트워크에서 실시되는 POW(proof-of-work)를 포함하며, 이에 한정되진 않는다.
본 개시의 실시예들은 상기한 정황을 고려하여 본 명세서에서 보다 상세하게 설명한다. 보다 구체적으로 그리고 전술한 바와 같이, 본 개시의 실시예들은 블록체인 네트워크 내에서 계좌 잔고 모델 하에서 프라이빗 트랜잭션 및 퍼블릭 트랜잭션을 가능하게 하는 것에 관한 것이다. 이러한 식으로, 또한 본 명세서에서 보다 상세하게 설명하는 바와 같이, 사용자들은 각 트랜잭션이 블록체인 네트워크 내에서 퍼블릭 트랜잭션인지 또는 프라이빗 트랜잭션인지의 여부를 자유롭게 선택할 수 있다.
본 개시의 실시예들에 따르면, 계좌 모델에 기초한 계좌 구조는 퍼블릭 계좌들 간의 트랜잭션, 프라이빗 계좌들 간의 트랜잭션 및 퍼블릭 계좌와 프라이빗 계좌 간의 트랜잭션을 가능하게 한다. 적절한 프라이버시 보호 제도가 상이한 계좌 형태에 대해 실시될 수 있다. 이러한 식으로, 사용자(예를 들면, 네트워크 내의 노드)는 프라이버시 선호도에 기초하여 퍼블릭 계좌 또는 프라이빗 계좌를 이용하여 트랜잭션을 수행할 지의 여부를 선택할 수 있다.
퍼블릭 계좌는 합의 노드들에 의해 볼 수 있는 계좌 잔고를 가질 수 있다. 프라이빗 계좌는 그 계좌의 소유자(사용자)의 프라이빗 키를 이용하여 볼 수 있는 계좌 잔고를 가질 수 있다. 프라이빗 계좌 잔고는 준동형 암호화를 이용하여 암호화될 수 있거나 준동 사상을 갖는 커미트먼트 스킴에 의해 커미트될 수 있다. 따라서, 프라이빗 계좌 잔고는 블록체인 네트워크 내의 다른 노드들에 의해 결정될 수 없다. 프라이빗 계좌로 또는 그로부터 이루어진 트랜잭션 양은 또한 준동형 암호화에 기초하여 프라이빗 계좌 잔고를 갱신하도록 커미트먼트 스킴에 기초하여 은폐될 수 있다.
도 1은 본 개시의 실시예들을 실행하는 데에 이용될 수 있는 예시적인 환경(100)을 도시한다. 몇몇 예에서, 예시적인 환경(100)은 엔티티들이 퍼블릭 블록체인(102)에 참가할 수 있게 한다. 예시적인 환경(100)은 컴퓨터 시스템(106, 108) 및 네트워크(110)를 포함한다. 몇몇 예에서, 네트워크(110)는 LAN(local area network), WAN(wide area network), 인터넷 또는 그 조합을 포함하며, 웹사이트, 사용자 디바이스(예를 들면, 컴퓨팅 디바이스) 및 백-엔드 시스템들을 연결한다. 몇몇 예에서, 네트워크(110)는 유선 및/또는 무선 통신 링크를 통해 액세스될 수 있다.
도시한 예에서, 컴퓨팅 시스템(106, 108)은 각각 퍼블릭 블록체인(102)에 노드로서 참가를 가능하게 하는 임의의 적절한 컴퓨팅 시스템을 각각 포함할 수 있다. 예시적인 컴퓨팅 디바이스는 서버, 데스크톱 컴퓨터, 랩톱 컴퓨터, 태블릿 컴퓨팅 디바이스 및 스마트 폰을 포함하며 이들에 한정되진 않는다. 몇몇 예에서, 컴퓨팅 시스템(106, 108)은 퍼블릭 블록체인(102)과 상호 작용하기 위해 하나 이상의 컴퓨터 구현 서비스를 호스팅한다. 예를 들면, 컴퓨팅 시스템(106)은, 제1 엔티티(예를 들면, 사용자 A)가 하나 이상의 다른 엔티티(예를 들면, 다른 사용자)와의 트랜잭션을 관리하는 데에 이용하는 트랜잭션 관리 시스템 등의 제1 엔티티의 컴퓨터 구현 서비스를 호스팅할 수 있다. 컴퓨팅 시스템(108)은, 제2 엔티티(예를 들면, 사용자 B)가 하나 이상의 다른 엔티티(예를 들면, 다른 사용자)와의 트랜잭션을 관리하는 데에 이용하는 트랜잭션 관리 시스템 등의 제2 엔티티의 컴퓨터 구현 서비스를 호스팅할 수 있다. 도 1의 예에서, 퍼블릭 블록체인(102)은 노들의 피어-투-피어 네트워크로서 나타내며, 컴퓨팅 시스템(106, 108)은 퍼블릭 블록체인(102)에 참가하는 제1 엔티티의 노드와 제2 엔티티의 노드를 각각 제공한다.
도 2는 본 개시의 실시예들에 따른 예시적인 개념적 아키텍쳐(200)를 도시한다. 예시적인 개념적 아키텍쳐(200)는 엔티티 레이어(202), 호스티드 서비스 레이어(204) 및 퍼블릭 블록체인 레이어(206)를 포함한다. 도시한 예에서, 엔티티 레이어(202)는 3개의 엔티티, 즉 Entity_1 (E1), Entity_2 (E2) 및 Entity_3 (E3)을 포함하며, 각 엔티티는 각각의 트랜잭션 관리 시스템(208)을 갖고 있다.
도시한 예에서, 호스티드 서비스 레이어(204)는 각 트랜잭션 관리 시스템(208)을 위해 블록체인 또는 DLS 인터페이스(210)를 포함한다. 몇몇 예에서, 각각의 트랜잭션 관리 시스템(208)은 통신 프로토콜(예를 들면, HTTPS(hypertext transfer protocol secure))을 이용하여 네트워크(예를 들면, 도 1의 네트워크(110))를 통해 해당 DLS 인터페이스(210)와 통신한다. 몇몇 예에서, 각 DLS 인터페이스(210)는 해당 트랜잭션 관리 시스템(208)과 블록체인 레이어(206) 간의 토신 연결을 제공한다. 보다 구체적으로, 각 DLS 인터페이스(210)는 해당 엔티티가 블록체인 레이어(206)의 블록체인 네트워크(212)에 기록되는 트랜잭션을 행할 수 있게 한다. 몇몇 예에서, DLS 인터페이스(210)와 블록체인 레이어(206) 간의 통신은 원격 절차 호출(RPC)을 이용하여 행해진다. 몇몇 예에서, DLS 인터페이스(210)는 해당 트랜잭션 관리 시스템(208)을 위한 블록체인 노드를 "호스팅"한다. 예를 들면, DLS 인터페이스(210)는 블록체인 네트워크(212)에 액세스를 위한 응용 프로그래밍 인터페이스(API)를 제공한다.
본 명세서에서 설명하는 바와 같이, 블록체인 네트워크(212)는 블록체인(216)에 정보를 변경 불가능하게 기록하는 복수의 노드(214)를 포함하는 피어-투-피어 네트워크로서 제공된다. 단일 블록체인(216)을 개략적으로 도시하지만, 그 블록체인(216)의 복수의 카피가 제공되며 블록체인 네트워크(212)에 걸쳐 유지된다. 예를 들면, 각 노드(214)는 블록체인(216)의 카피를 저장한다. 몇몇 실시예에서, 블록체인(216)은 그 퍼블릭 블록체인에 참가하는 2개 이상의 엔티티들 간에 수행되는 트랜잭션과 관련한 정보를 저장한다.
본 개시는 커미트먼트 스킴에 기초하여 블록체인 네트워크 내에서 계좌 잔고 모델 하에서 퍼블릭 트랜잭션 및 프라이빗 트랜잭션이 수행될 수 있게 하는 방법을 개시한다. 이러한 식으로, 사용자는 각 트랜잭션 또는 그 트랜잭션에 이용된 계좌가 퍼블릭인지 프라이빗인지를 자유로이 선택할 수 있다.
도 3은 본 개시의 실시예들에 따른 블록체인 트랜잭션의 예시적인 입증 프로세스(300)를 나타내는 스윔 레인 다이어그램(swim-lane diagram)도시한다. 예시적인 입증 프로세스(300)를 예시하기 위해, 사용자 노드 A(302)에 의해 사용자 노드 B(도 3에서는 도시 생략)로의 펀드 이체 트랜잭션이 수행되는 것으로 상정하며, 그 트랜잭션은 입증을 위해 사용자 노드 A(302)에 의해 블록체인 노드(304)에 제출된다. 사용자 노드 A(302)와 사용자 노드 B 각각은 퍼블릭 계좌와 프라이빗 계좌를 포함할 수 있다. 퍼블릭 계좌의 잔고는 블록체인 네트워크 내의 모든 노드들이 볼 수 있다. 프라이빗 계좌의 잔고는 프라이빗 키를 이용하여 계좌 소유자(사용자)에 의해서만 볼 수 있다. 본 개시의 실시예들에 따르면, 사용자 노드들은 트랜잭션을 퍼블릭 계좌 또는 프라이빗 계좌를 이용하여 공개적으로 또는 비공개적으로 수행할 지를 선택할 수 있다.
단계(306)에서, 사용자 노드 A(302)는 트랜잭션 양(t) 및 난수(r)에 기초하여 커미트먼트 값을 생성한다. 그 커미트먼트 값은 준동형 커미트먼트 스킴에 의해 생성될 수 있다. 예시적인 커미트먼트 스킴은 페더슨 커미트먼트(Pedersen Commitment: PC)를 포함하며, 이에 한정되진 않는다. 본 개시의 실시예들은 본 명세서에서 PC를 참조하여 보다 상세하게 설명하지만, 본 개시의 실시예들이 임의의 적절한 커미트먼트 스킴을 이용하여 실현될 수 있다는 점이 고려될 것이다.
예를 들어, PC를 이용하면, 그 커미트먼트 값은 PC(t) = rG + tH로서 나타낼 수 있는 암호 텍스트이며, 여기서 G와 H는 타원 곡선의 생성기들일 수 있고 PC(t)는 곡선 포인트들의 스칼라 곱이며, t는 커미트될 값이다. PC 커미트먼트 스킴은 준동형 사상을 갖는데, 즉 PC(t 1 ) + PC(t 2 ) = PC(t 1 +t 2 )이다. 암호 텍스트(PC(t))의 홀더들은 난수(r)를 이용하여 트랜잭션 양(t)을 검증할 수 있다. 단계(308)에서, 사용자 노드 A(302)는 프라이빗 키를 이용하여 커미트먼트 값(PC(t)), 트랜잭션 양(t) 및 난수(r)를 디지털 서명한다. 사용자 노드 A(302)는 단계(310)에서 커미트먼트 값(PC(t)), 트랜잭션 양(t), 난수(r) 및 디지털 서명을 블록체인 노드(304)에 제출한다.
몇몇 실시예에서, 트랜잭션 양(t)은 사용자 노드 A(302)의 프라이빗 계좌로부터 전송될 수 있다. 프라이빗 계좌의 경우, 계좌가 트랜잭션 양(t)을 이체하기에 충분한 잔고를 갖고 있는지의 여부가 블록체인의 다른 노드들에 의해 직접 검증될 수 없다. 그러한 경우, 사용자 노드 A(302)는 트랜잭션 양(t)이 제로 이상이고 사용자 노드 A(302)의 프라이빗 계좌의 잔고 이하라는 것을 보이도록 하나 이상의 레인지 프루프를 생성할 수 있다.
단계(312)에서, 블록체인 노드(304)는 커미트먼트 값(PC(r, t)), 트랜잭션 양(t) 및 난수(r)의 디지털 서명을 사용자 노드 A(302)의 프라이빗 키를 이용하여 검증한다. 디지털 서명이 정확하다면, 예시적인 입증 프로세스(300)는 단계(314)로 진행한다.
단계(314)에서, 블록체인 노드(304)는 커미트먼트 값(PC(t))이 정확하고 트랜잭션 양(t)이 유효한지를 검증한다. PC(t)가 정확한지를 검증하기 위해, 수신된 난수(r)와 트랜잭션 양(t)을 이용하여 PC'(r, t)로서 나타내는 PC를 생성할 수 있다. PC'(r, t)가 수신된 커미트먼트(PC(r, t))와 동일하다면, 커미트먼트(PC(r, t))는 트랜잭션 양(t)의 정확한 커미트먼트인 것으로 검증된다. 몇몇 실시예에서, 블록체인 노드(304)는 하나 이상의 레인지 프루프에 기초하여 트랜잭션 양(t)이 0 이상이고 그 트랜잭션 양을 이체하는 사용자 노드 A(302)의 계좌의 계좌 잔고 이하라면 그 트랜잭션 양(t)은 유효하다고 검증할 수 있다.
단계(316)에서, 블록체인 노드(304)는 블록체인 상의 사용자 노드 A(302) 및 사용자 노드 B의 잔고를 갱신하고 그 블록체인을 블록체인 네트워크 내의 나머지 노드들에 송신한다. 퍼블릭 계좌 트랜잭션의 경우, 트랜잭션 양은 트랜잭션 형태에 기초하여 퍼블릭 계좌의 잔고에 대해 직접적으로 가감산될 수 있다. 프라이빗 계좌 트랜잭션의 경우, 트랜잭션 양(t)은 PC(t)로서 PC를 이용하여 커미트될 수 있고 PC(s)로서 PC를 이용하여 역시 커미트되는 프라이빗 계좌 잔고(s)에 가감산될 수 있다. PC는 준동형이기 때문에, PC(s)±PC(t)= PC(s±t)이다. 퍼블릭 및 프라이빗 계좌의 갱신의 상세는 도 4 및 도 5를 참조하여 본 명세서에서 보다 상세하게 설명한다.
도 4는 본 개시의 실시예들에 따른 퍼블릭 계좌에서 프라이빗 계좌로의 예시적인 트랜잭션(400)을 나타내는 블록도이다. 예시적인 트랜잭션(400)에 도시한 바와 같이, 트랜잭션 전에, 사용자 노드 A(402)는 퍼블릭 계좌 잔고(u)와 PC를 이용하여 커미트되고 PC(v)로서 나타내는 프라이빗 계좌 잔고(v)를 갖고 있다. 사용자 노드 B(406)는 퍼블릭 계좌 잔고(x)와 PC를 이용하여 커미트되고 PC(y)로서 나타내는 프라이빗 계좌 잔고(y)를 갖고 있다. 사용자 노드 A(402)는 커미트먼트 값(PC(t)), 트랜잭션 양(t) 및 그 커미트먼트 값에 대응하는 난수(a)의 디지털 서명된 카피를 블록체인 네트워크(408)에 송신함으로써 그 노드의 퍼블릭 계좌에서 사용자 노드 B(406)의 프라이빗 계좌로 트랜잭션을 제출할 수 있다. 트랜잭션 양(t)의 커미트먼트 값(PC(t))이 도 3의 예시적인 프로세스(300) 등의 입증 프로세서를 이용하여 검증된 후, 사용자 노드 A(402)와 사용자 노드 B(406)의 계좌가 갱신될 수 있다. 트랜잭션이 블록체인 네트워크(408)에 의해 유효한 것으로 입증된 후, 트랜잭션 양(t)이 사용자 노드 A(402)의 퍼블릭 계좌로부터 감해지고 사용자 노드 B(406)의 프라이빗 계좌에 더해진다. 트랜잭션 후, 사용자 노드 A(402)는 퍼블릭 계좌 잔고(u-t)와 프라이빗 계좌 잔고(PC(v))를 갖는다. 사용자 노드 B(406)는 퍼블릭 계좌 잔고(x)와 프라이빗 계좌 잔고(PC(y+t))를 갖는다.
도 5는 본 개시의 실시예들에 따른 프라이빗 계좌에서 퍼블릭 계좌로의 예시적인 트랜잭션(500)을 나타내는 블록도이다. 예시적인 트랜잭션(500)에 도시한 바와 같이, 트랜잭션 전에, 사용자 노드 A(502)는 퍼블릭 계좌 잔고(u)와 PC를 이용하여 커미트되고 PC(v)로서 나타내는 프라이빗 계좌 잔고(v)를 갖고 있다. 사용자 노드 B(506)는 퍼블릭 계좌 잔고(x)와 PC를 이용하여 커미트되고 PC(y)로서 나타내는 프라이빗 계좌 잔고(y)를 갖고 있다. 사용자 노드 A(502)는 커미트먼트 값(PC(t)), 트랜잭션 양(t) 및 그 커미트먼트 값에 대응하는 난수(a)의 디지털 서명된 카피와 하나 이상의 레인지 프루프를 송신함으로써 그 프라이빗 계좌에서 사용자 노드 B(506)의 퍼블릭 계좌로 트랜잭션을 제출할 수 있다. 하나 이상의 레인지 프루프는 블록체인 네트워크(508)에 0≤t≤v를 증명하는 데에 이용될 수 있다. 트랜잭션 양(t)의 커미트먼트 값(PC(t))이 도 3의 예시적인 프로세스(300) 등의 입증 프로세서를 이용하여 검증된 후, 사용자 노드 A(502)와 사용자 노드 B(506)의 계좌가 갱신될 수 있다. 트랜잭션이 블록체인 네트워크(508)에 의해 유효한 것으로 입증된 후, 트랜잭션 양(t)이 사용자 노드 A의 프라이빗 계좌로부터 감해지고 사용자 노드 B(506)의 퍼블릭 계좌에 더해진다. 트랜잭션 후, 사용자 노드 A(502)는 퍼블릭 계좌 잔고(u)와 프라이빗 계좌 잔고(PC(v-t))를 갖는다. 사용자 노드 B(504)는 퍼블릭 계좌 잔고(x+t)와 프라이빗 계좌 잔고(PC(y))를 갖는다.
도 6은 본 개시의 실시예들에 따라 실행될 수 있는 예시적인 방법(600)을 도시한다. 제시의 명료성을 위해, 후속하는 설명은 전반적으로 본 명세서의 기타 도면의 맥락에서 예시적인 방법(600)을 설명한다. 하지만, 예시적인 방법(600)은 예를 들면 필요에 따라 임의의 시스템, 환경, 소프트웨어 및 하드웨어 또는, 시스템, 환경, 소프트웨어 및 하드웨어의 조합에 의해 수행될 수 있다는 점을 이해할 것이다. 몇몇 실시예에서, 예시적인 방법(600)의 다양한 단계들은 병렬로, 조합하여, 루프로 또는 임의의 순서로 실행될 수 있다.
단계(602)에서, 블록체인 네트워크의 합의 노드가 트랜잭션 데이터 및 이 트랜잭션 데이터의 디지털 서명을 수신한다. 몇몇 실시예에서, 그 트랜잭션 데이터는 제1 사용자 노드의 퍼블릭 계좌 또는 프라이빗 계좌 중 하나로부터 제2 사용자 노드의 퍼블릭 계좌 또는 프라이빗 계좌 중 하나로 이체될 트랜잭션 양, 커미트먼트 값 및 난수를 포함하며, 디지털 서명은 제1 사용자 노드의 프라이빗 키를 이용하여 트랜잭션 데이터를 디지털 서명함으로써 생성된다. 커미트먼트 값은 커미트먼트 스킴을 이용하여 난수 및 트랜잭션 양에 기초하여 생성된다. 몇몇 실시예에서, 커미트먼트 스킴은 준동형이다. 몇몇 실시예에서, 트랜잭션 양은 제1 사용자 노드와 관련된 프라이빗 계좌로부터 제2 사용자 노드와 관련된 프라이빗 계좌로의 것이다. 몇몇 실시예에서, 트랜잭션 양은 제1 사용자 노드와 관련된 프라이빗 계좌로부터 제2 사용자 노드와 관련된 퍼블릭 계좌로의 것이다. 그러한 경우, 합의 노드는, 트랜잭션 양이 제1 사용자 노드의 프라이빗 계좌의 잔고 이하인 것을 증명하기 위해 제1 사용자 노드로부터 레인지 프루프를 수신할 수 있다.
단계(604)에서, 합의 노드는 제1 사용자 노드의 퍼블릭 키를 이용하여 트랜잭션 데이터의 디지털 서명을 검증한다.
단계(606)에서, 합의 노드는 난수 및 커미트먼트 스킴에 기초하여 커미트먼트 값이 정확하다면 트랜잭션 양이 유효하다고 결정한다. 또한, 합의 노드는 또한 트랜잭션 양이 트랜잭션 양의 이체 전에 제1 사용자 노드의 퍼블릭 계좌 또는 프라이빗 계좌 중 하나의 잔고 이하이라고 결정한다. 몇몇 실시예에서, 트랜잭션 양은 제1 사용자 노드의 프라이빗 계좌로부터 제2 사용자 노드의 퍼블릭 계좌로의 것이다. 그러한 경우, 잔고 이체가 유효하다고 결정하는 것은 또한 레인지 프루프에 기초하여 트랜잭션 양이 제1 사용자 노드와 관련된 프라이빗 계좌의 잔고 이하인지를 결정하는 것을 포함한다.
몇몇 실시예에서, 예시적인 방법(600)은 또한 제1 사용자 노드와 관련된 퍼블릭 계좌 또는 프라이빗 계좌 중 하나의 잔고를 갱신하고 또한 제2 사용자 노드와 관련된 퍼블릭 계좌 또는 프라이빗 계좌 중 하나의 잔고를 갱신하는 것을 더 포함할 수 있다. 그 갱신은 트랜잭션 양이 유효하다면 트랜잭션 양에 기초하여 수행될 수 있다. 몇몇 실시예에서, 프라이빗 계좌의 잔고는 트랜잭션 양의 커미트먼트 값 및 커미트먼트 스킴을 이용하여 생성된 프라이빗 계좌의 잔고의 커미트먼트에 기초하여 갱신된다.
본 명세서에서 설명하는 주제의 실시예들은 특정 이점 또는 기술적 효과를 실현하도록 실시될 수 있다. 예를 들면, 본 개시의 실시예들은 블록체인 네트워크가 퍼블릭 계좌들 간의 트랜잭션, 프라이빗 계좌들 간의 거리, 그리고 퍼블릭 계좌와 프라이빗 계좌 간의 트랜잭션을 지원할 수 있게 한다. 따라서, 적절한 프라이버시 보호가 계좌의 형태에 관계없이 실시될 수 있어, 블록체인 네트워크의 사용자 노드는 프라이버시 선호도에 기초하여 그 노드의 퍼블릭 계좌 또는 프라이빗 계좌로부터 펀드를 송수신하는 것을 유연하게 선택할 수 있다.
전술한 방법은 다양한 모바일 컴퓨팅 디바이스의 계좌/데이터 보안의 향상을 가능하게 한다. 프라이빗 계좌의 잔고는 커미트먼트 스킴에 기초하여 커미트될 수 있다. 따라서, 프라이빗 계좌의 잔고는 그 계좌의 실제 계좌 잔고를 드러내지 않고 커미트먼트에 기초하여 검증될 수 있다. 프라이빗 계좌로 또는 그로부터 이루어진 트랜잭션 양은 또한 이체된 실제 양을 드러내지 않고 트랜잭션 후의 프라이빗 계좌를 갱신하도록 커미트먼트 스킴에 기초하여 커미트될 수 있다. 이러한 식으로, 프라이빗 계좌 트랜잭션의 보안에 대한 보다 많은 제어가 제공된다.
전술한 방법은, 블록체인의 효율적 갱신을 통해 컴퓨터 리소스(예를 들면, 프로세싱 사이클, 네트워크 대역폭 및 메모리 사용)의 효율적 사용을 보장할 수 있다. 계좌 운용은 보다 간단한 합의 프로세스를 통해 보다 신속하게 안전하게 이루어질 수 있다.
본 명세서에서 설명한 실시예 및 공정들은 본 명세서에서 개시한 구조를 포함하는 디지털 전자 회로에서, 또는 컴퓨터 소프트웨어, 펌웨어 또는 하드웨어에서, 또는 그들 중 하나 이상의 조합으로 실시될 수 있다. 그 공정들은 하나 이상의 컴퓨터 판독 가능 저장 디바이스에 저장되거나 다른 소스로부터 수신된 데이터에 대해 데이터 처리 디바이스에 의해 수행되는 공정으로서 실시될 수 있다. 데이터 처리 장치, 컴퓨터 또는 컴퓨팅 디바이스는 예를 들면 프로그래머블 프로세서, 컴퓨터, 시스템-온-칩 또는 이들 중 복수의 것들 또는 그 조합을 비롯한 데이터를 처리하는 장치, 디바이스 및 기계를 포괄할 수 있다. 장치는 특수 목적 논리 회로, 예를 들면 중앙 처리 유닛(CPU), 필드 프로그래머블 게이트 어레이(FPGA) 또는 주문형 집적 회로(ASIC)를 포함할 수 있다. 장치는 또한 당해 컴퓨터 프로그램을 위한 실행 환경을 생성하는 코드, 예를 들면, 프로세서 펌웨어, 프로토콜 스택, 데이터베이스 관리 시스템, 운영 체제(예를 들면, 하나의 운영 체제 또는 운영 체제들의 조합), 크로스-플랫폼 런타임 환경, 가상 머신 또는 이들의 하나 이상의 조합을 구성하는 코드를 포함할 수 있다. 장치 및 실행 환경은 웹 서비스, 분산 컴퓨팅 및 그리드 컴퓨팅 인프라구조 등의 여러 다양한 컴퓨팅 모델 인프라구조를 실현할 수 있다.
컴퓨터 프로그램(예를 들면, 프로그램, 소프트웨어, 소프트웨어 어플리케이션, 소프트웨어 모듈, 소프트웨어 유닛, 스크립트 또는 코드로서도 알려짐)은, 컴파일 또는 해석형 언어, 선언형 또는 절차 본위 언어를 비롯한 임의의 형태의 프로그래밍 언어로 기록될 수 있고, 그 프로그램은 스탠드 얼론 프로그램으로서 또는 컴퓨팅 환경에 이용하기에 적절한 모듈, 컴포넌트, 서브루틴, 오브젝트 또는 기타 유닛을 비롯한 임의의 형태로 전개될 수 있다. 프로그램은 다른 프로그램 또는 데이터를 유지하는 파일의 일부분(예를 들면, 마크업 언어 문서에 저장된 하나 이상의 스크립트) 내에, 당해 프로그램 전용의 단일 파일 내에, 복수의 조정 파일(예를 들면, 하나 이상의 모듈, 서브프로그램 또는 코드의 일부분을 저장하는 파일) 내에 저장될 수 있다. 컴퓨터 프로그램은 하나의 컴퓨터상에서 또는, 하나의 사이트에 위치하거나 복수의 사이트 걸쳐 분산되고 통신 네트워크에 의해 서로 연결된 복수의 컴퓨터상에서 실행될 수 있다.
컴퓨터 프로그램의 실행을 위한 프로세서는 예를 들면 범용 및 특수 목적 마이크로프로세서 모두, 그리고 임의의 종류의 디지털 컴퓨터의 임의의 하나 이상의 프로세서를 포함한다. 일반적으로, 프로세서는 ROM 또는 RAM 또는 이들 모두로부터 명령 또는 데이터를 수신할 것이다. 컴퓨터의 기본 요소는 명령에 따라 동작을 수행하는 프로세서와, 명령 및 데이터를 저장하는 하나 이상의 메모리 디바이스를 포함한다. 일반적으로, 컴퓨터는 또한 데이터를 저장하는 하나 이상의 대용량 저장 디바이스를 포함하거나 그로부터 데이터를 수신하거나 그에 전송하도록 작동적으로 결합될 수 있다. 컴퓨터는 다른 디바이스, 예를 들면 모바일 디바이스, PDA(personal digital assistant), 게임 콘솔, GPS(Global Positioning System) 수신기, 휴대용 저장 디바이스 내에 내장될 수 있다. 컴퓨터 프로그램 명령 및 데이터를 저장하기에 적합한 디바이스는 예를 들면 반도체 메모리 디바이스, 자기 디스크 및 자기 광학 디스크를 비롯한 비휘발성 메모리, 매체 및 메모리 디바이스를 포함한다. 프로세서와 메모리는 특수 목적 논리 회로에 의해 보완되거나 그에 통합 될 수 있다.
모바일 디바이스는 핸드셋, 사용자 장비(UE), 모바일 전화(예를 들면, 스마트 폰), 태블릿, 웨어러블 디바이스(예를 들면, 스마트 시계 및 스마트 안경), 인체 내부의 이식 디바이스(예를 들면, 바이오센서, 달팽이관 임플란트) 또는 다른 형태의 모바일 디바이스를 포함할 수 있다. 모바일 디바이스는 다양한 통신 네트워크(후술함)에 무선으로(예를 들면, 무선 주파수(RF) 신호를 이용하여) 통신할 수 있다. 모바일 디바이스는 모바일 디바이스의 현재의 환경의 특징을 결정하는 센서를 포함할 수 있다. 그 센서는, 카메라, 마이크로폰, 근접 센서, GPS 센서, 모션 센서, 가속도계, 주변 광 센서, 습도 센서, 자이로스코프, 컴퍼스, 기압계, 지문 센서, 안면 인식 시스템, RF 센서(예를 들면, Wi-Fi 및 셀룰러 라디오), 열 센서 또는 기타 형태의 센서를 포함할 수 있다. 예를 들면, 카메라는 가동 또는 고정 렌즈, 플래시, 이미지 센서 및 이미지 프로세서를 갖는 전방 또는 후방 카메라를 포함 할 수 있다. 카메라는 안면 및/또는 홍채 인식을 위한 세부 정보를 캡처할 수 있는 메가 픽셀 카메라일 수 있다. 카메라는 데이터 프로세서와, 메모리에 저장되거나 원격으로 액세스되는 인증 정보와 함께 안면 인식 시스템을 형성할 수 있다. 안면 인식 시스템, 또는 예를 들면 마이크로폰, 모션 센서, 가속도계, GPS 센서 또는 RF 센서와 같은 하나 이상의 센서가 사용자 인증에 사용될 수 있다.
사용자와의 상호 작용을 제공하기 위해, 실시예들은 디스플레이 디바이스와 입력 디바이스를 구비한 컴퓨터, 예를 들면 사용자에게 정보를 표시하기 위한 액정 디스플레이(LCD) 또는 유기 발광 다이오드(OLED)/가상현실(VR)/증강 현실(AR) 디스플레이와, 사용자가 컴퓨터에 입력을 제공할 수 있게 하는 터치스크린, 키보드 및 포인팅 디바이스를 포함하는 컴퓨터상에 구현될 수 있다. 다른 종류의 디바이스가 역시 사용자와의 상호 작용을 제공하는 데에 사용될 수 있는데, 예를 들면, 사용자에게 제공되는 피드백은 시각 피드백, 청각 피드백 또는 촉각 피드백과 같은 임의의 형태의 감각 피드백 일 수 있고, 사용자로부터의 입력은 음향, 음성 또는 촉각 입력을 비롯한 임의의 형태로 수신될 수 있다. 게다가, 컴퓨터는 사용자가 이용하는 디바이스에 문서를 송신하거나 그 디바이스로부터 문서를 수신함으로써 사용자와 상호 작용할 수 있는데, 예를 들면 웹 브라우저로부터 수신된 요청에 응답하여 사용자의 클라이언트 디바이스 상의 웹 브라우저에 웹 페이지를 송신함으로써 상호 작용할 수 있다.
본 개시의 실시예들은 유선 또는 유선 디지털 데이터 통신의 임의 형태 또는 매체(또는 그 조합)에 의해, 예를 들면 통신 네트워크에 의해 상호 연결된 컴퓨팅 디바이스들을 이용하여 실현될 수 있다. 상호 연결된 디바이스의 예로는 통상 통신 네트워크를 통해 상호 작용하는 일반적으로 서로 원격으로 위치하는 클라이언트와 서버이다. 예를 들면 모바일 디바이스와 같은 클라이언트는 서버와 또는 서버를 통해 트랜잭션 자체를 수행할 수 있는데, 예를 들면 구매, 판매, 지불, 제공, 보내기 또는 대여 트랜잭션을 수행하거나 이들을 인증할 수 있다. 그러한 트랜잭션은 행동과 응답이 시간적으로 근접하도록 실시간으로 이루어질 수 있는데, 예를 들면, 개인은 실질적으로 동시에 발생하는 행동과 응답을 인지하고, 개인의 행동에 따른 응답의 시간차는 1 밀리초(ms) 미만 또는 1 초 미만이거나, 응답은 시스템의 처리 한계를 고려한 의도적 지연 없이 이루어진다.
통신 네트워크의 예는 LAN(Local Area Network), RAN(Radio Access Network), MAN(Metropolitan Area Network) 및 WAN (Wide Area Network)을 포함한다. 통신 네트워크는 인터넷, 다른 통신 네트워크 또는 통신 네트워크들의 조합의 전체 또는 그 일부를 포함 할 수 있다. 정보는 LTE(Long Term Evolution), 5G, IEEE 802, 인터넷 프로토콜(IP) 또는 다른 프로토콜 또는 프로토콜들의 조합을 비롯한 다양한 프로토콜 및 표준에 따라 통신 네트워크상에서 전송 될 수 있다. 통신 네트워크는 연결된 컴퓨팅 디바이스들 간에 음성, 비디오, 생체 인식 또는 인증 데이터 또는 다른 정보를 전송할 수 있다.
별개의 실시예들로서 기술한 특징들은 조합하여 실시될 수 있거나 단일 실시예로 실시될 수 있는 한편, 단일 실시예로서 기술한 특징들은 복수의 실시예로 실시될 수 있거나 별개로 또는 임의의 적절한 서브 조합으로 실시될 수 있다. 특정 순서로 기술하고 청구한 공정들은 그 특정 순서를 요구한다거나 예시한 공정들 전부가 수행되어야 하는 것을 요구하는 것으로 이해해서는 안 될 것이다(그 일부 공정은 선택적일 수 있음). 필요에 따라, 멀티태스킹 또는 병렬 처리(또는 멀티태스킹과 병렬 처리의 조합)가 수행될 수 있다.

Claims (9)

  1. 계좌 모델(account model)에 기초하여 블록체인 트랜잭션을 입증(validating)하는 컴퓨터 구현 방법으로서:
    블록체인 네트워크의 합의 노드(consensus node)에 의해 트랜잭션 데이터 및 이 트랜잭션 데이터의 디지털 서명을 수신하는 단계로서, 상기 트랜잭션 데이터는 제1 사용자 노드의 퍼블릭 계좌 또는 프라이빗 계좌 중 하나로부터 제2 사용자 노드의 퍼블릭 계좌 또는 프라이빗 계좌 중 하나로 이체될 트랜잭션 양, 커미트먼트 값(commitment value) 및 난수를 포함하며, 상기 디지털 서명은 상기 제1 사용자 노드의 프라이빗 키를 이용하여 상기 트랜잭션 데이터를 디지털 서명함으로써 생성되며, 상기 커미트먼트 값은 커미트먼트 스킴(commitment scheme)을 이용하여 상기 난수 및 트랜잭션 양에 기초하여 생성되는 것인 단계;
    상기 제1 사용자 노드의 퍼블릭 키를 이용하여 상기 트랜잭션 데이터의 디지털 서명을 검증하는 단계; 및
    상기 난수 및 커미트먼트 스킴에 기초하여 상기 커미트먼트 값이 정확하고 또한 상기 트랜잭션 양이 트랜잭션 양의 이체 전에 상기 제1 사용자 노드의 퍼블릭 계좌 또는 프라이빗 계좌 중 상기 하나의 잔고 이하이면 상기 트랜잭션 양이 유효하다고 결정하는 단계
    를 포함하는 컴퓨터 구현 방법.
  2. 제1항에 있어서,
    상기 퍼블릭 계좌는 상기 합의 노드에 의해 볼 수 있는 퍼블릭 잔고를 갖고 있고, 상기 프라이빗 계좌는 각 사용자 노드의 프라이빗 키를 이용하여 볼 수 있는 프라이빗 잔고를 갖는 것인 컴퓨터 구현 방법.
  3. 제1항에 있어서,
    상기 트랜잭션 양은 상기 제1 사용자 노드와 관련된 퍼블릭 계좌로부터 상기 제2 사용자 노드와 관련된 프라이빗 계좌로의 것인 컴퓨터 구현 방법.
  4. 제1항에 있어서,
    상기 트랜잭션 양은 상기 제1 사용자 노드의 프라이빗 계좌로부터 상기 제2 사용자 노드의 퍼블릭 계좌로의 것이며, 상기 컴퓨터 구현 방법은,
    상기 트랜잭션 양이 상기 제1 사용자 노드의 프라이빗 계좌의 잔고 이하인 것을 증명하기 위해 상기 제1 사용자 노드로부터 레인지 프루프(range proof)를 수신하는 단계
    를 더 포함하며,
    상기 이체는 상기 레인지 프루프에 기초하여 상기 트랜잭션 양이 상기 제1 사용자 노드의 프라이빗 계좌의 잔고 이하이면 유효하다고 결정되는 것인 컴퓨터 구현 방법.
  5. 제2항에 있어서,
    상기 이체가 유효하다면, 상기 트랜잭션 양에 기초하여, 상기 제1 사용자 노드의 퍼블릭 계좌 또는 프라이빗 계좌 중 상기 하나의 잔고를 갱신하고 또한 상기 제2 사용자 노드의 퍼블릭 계좌 또는 프라이빗 계좌 중 상기 하나의 잔고를 갱신하는 단계를 더 포함하는 것인 컴퓨터 구현 방법.
  6. 제5항에 있어서,
    상기 프라이빗 계좌의 잔고는 상기 트랜잭션 양의 커미트먼트 값 및 상기 커미트먼트 스킴을 이용하여 생성된 상기 프라이빗 계좌의 잔고의 커미트먼트에 기초하여 갱신되는 것인 컴퓨터 구현 방법.
  7. 제1항에 있어서,
    상기 커미트먼트 스킴은 준동형(homomorphic)인 것인 컴퓨터 구현 방법.
  8. 하나 이상의 프로세서에 결합된 비일시적 컴퓨터 판독 가능 저장 매체로서:
    상기 저장 매체는, 상기 하나 이상의 프로세서에 의해 실행될 때, 하나 이상의 프로세서가 제1항 내지 제7항 중 어느 한 항에 따른 컴퓨터 구현 방법에 따라 동작을 수행하게 하는 명령어들이 저장되어 있는 것인 비일시적 컴퓨터 판독 가능 저장 매체.
  9. 시스템으로서:
    컴퓨팅 디바이스; 및
    상기 컴퓨팅 디바이스에 결합된 컴퓨터 판독 가능 저장 디바이스
    를 포함하며, 상기 저장 디바이스는, 상기 컴퓨팅 디바이스에 의해 실행될 때, 상기 컴퓨팅 디바이스가 제1항 내지 제7항 중 어느 한 항에 따른 컴퓨터 구현 방법에 따라 동작을 수행하게 하는 명령어들이 저장되어 있는 것인 시스템.
KR1020197011556A 2018-11-07 2018-11-07 계좌 모델 하에서 퍼블릭 및 프라이빗 트랜잭션을 지원하는 블록체인 시스템 KR102151894B1 (ko)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/CN2018/114401 WO2019072265A2 (en) 2018-11-07 2018-11-07 BLOCK CHAIN SYSTEM SUPPORTING PUBLIC AND PRIVATE TRANSACTIONS WITH ACCOUNT MODELS

Publications (2)

Publication Number Publication Date
KR20200054124A true KR20200054124A (ko) 2020-05-19
KR102151894B1 KR102151894B1 (ko) 2020-09-03

Family

ID=66100009

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020197011556A KR102151894B1 (ko) 2018-11-07 2018-11-07 계좌 모델 하에서 퍼블릭 및 프라이빗 트랜잭션을 지원하는 블록체인 시스템

Country Status (14)

Country Link
US (1) US20190244195A1 (ko)
EP (1) EP3542332A4 (ko)
JP (1) JP6830530B2 (ko)
KR (1) KR102151894B1 (ko)
CN (1) CN110326013A (ko)
AU (1) AU2018348318B2 (ko)
BR (1) BR112019008171A2 (ko)
CA (1) CA3041157C (ko)
MX (1) MX2019004672A (ko)
PH (1) PH12019500893A1 (ko)
RU (1) RU2727552C1 (ko)
SG (1) SG11201903563WA (ko)
WO (1) WO2019072265A2 (ko)
ZA (1) ZA201902552B (ko)

Families Citing this family (19)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110945831B (zh) * 2018-05-08 2021-04-27 维萨国际服务协会 抗Sybil攻击身份的生成
CN109377215B (zh) 2018-08-06 2020-04-21 阿里巴巴集团控股有限公司 区块链交易方法及装置、电子设备
PL3545640T3 (pl) * 2018-11-07 2021-10-18 Advanced New Technologies Co., Ltd. Ochrona danych łańcucha bloków przy zastosowaniu szyfrowania homomorficznego
CN110089069B (zh) 2018-11-27 2022-02-22 创新先进技术有限公司 用于信息保护的系统和方法
MY188126A (en) 2018-11-27 2021-11-23 Advanced New Technologies Co Ltd System and method for information protection
PL3549303T3 (pl) 2018-11-27 2021-11-22 Advanced New Technologies Co., Ltd. System i sposób ochrony informacji
US10700850B2 (en) 2018-11-27 2020-06-30 Alibaba Group Holding Limited System and method for information protection
ES2881674T3 (es) 2018-11-27 2021-11-30 Advanced New Technologies Co Ltd Sistema y método para la protección de información
CA3037833C (en) 2018-11-27 2022-04-19 Alibaba Group Holding Limited System and method for information protection
CN110084600B (zh) * 2019-04-29 2021-08-27 百度在线网络技术(北京)有限公司 决议事务请求的处理、验证方法、装置、设备及介质
US10536537B1 (en) 2019-06-13 2020-01-14 Accenture Global Solutions Limited Multi-source deterministic oracle management
US10790990B2 (en) * 2019-06-26 2020-09-29 Alibaba Group Holding Limited Ring signature-based anonymous transaction
CN110533402B (zh) * 2019-08-22 2023-01-03 珠海得分金融科技有限公司 一种异构系统的记账共识方法及系统
CN110766400B (zh) * 2019-10-22 2023-01-13 全链通有限公司 基于区块链的交易记录处理方法、记账节点及介质
CN111538757B (zh) * 2020-04-13 2022-02-11 支付宝(杭州)信息技术有限公司 数据存储方法、查询方法、装置、服务器及介质
US11853291B2 (en) * 2020-07-06 2023-12-26 International Business Machines Corporation Privacy preserving architecture for permissioned blockchains
CN113222758A (zh) * 2021-05-08 2021-08-06 华中科技大学 以隐私为前提的联盟链交易信息监管方法、系统、终端
CN113505138B (zh) * 2021-09-06 2021-12-21 支付宝(杭州)信息技术有限公司 区块链系统中状态证明及执行区块的方法及装置
CN113570373B (zh) * 2021-09-23 2022-02-11 北京理工大学 一种基于区块链的可追责交易方法及系统

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20180113146A (ko) * 2017-04-05 2018-10-15 삼성에스디에스 주식회사 블록체인 기반 전자 화폐 자동 충전 방법 및 그 시스템

Family Cites Families (17)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7434726B2 (en) * 2006-05-15 2008-10-14 Pitney Bowes Inc. Method and system for postdating of financial transactions
US8296568B2 (en) * 2009-10-27 2012-10-23 Google Inc. Systems and methods for authenticating an electronic transaction
SG183988A1 (en) * 2010-04-09 2012-10-30 Visa Int Service Ass System and method for securely validating transactions
JPWO2012067214A1 (ja) * 2010-11-15 2014-05-19 日本電気株式会社 情報処理装置、情報処理方法、及び、プログラム
US11080701B2 (en) * 2015-07-02 2021-08-03 Royal Bank Of Canada Secure processing of electronic payments
US11394773B2 (en) * 2014-06-19 2022-07-19 Jim Austin Joseph Cryptographic currency block chain based voting system
PL3073670T4 (pl) * 2015-03-27 2021-08-23 Black Gold Coin, Inc. System i sposób osobistej identyfikacji i weryfikacji
WO2016200885A1 (en) * 2015-06-08 2016-12-15 Blockstream Corporation Cryptographically concealing amounts transacted on a ledger while preserving a network's ability to verify the transaction
US11562353B2 (en) * 2015-11-24 2023-01-24 Mastercard International Incorporated Method and system for gross settlement by use of an opaque blockchain
WO2017207717A1 (en) * 2016-06-01 2017-12-07 Brand New Ideas B.V. Validating blockchain transactions regarding real money
CN106911470B (zh) * 2017-01-23 2020-07-07 北京航空航天大学 一种比特币交易隐私增强方法
CN106910072A (zh) * 2017-02-15 2017-06-30 捷德(中国)信息科技有限公司 数字货币管理方法和系统
US10102265B1 (en) * 2017-04-12 2018-10-16 Vijay K. Madisetti Method and system for tuning blockchain scalability for fast and low-cost payment and transaction processing
EP3718069B1 (en) * 2017-11-30 2024-04-17 Visa International Service Association Blockchain system for confidential and anonymous smart contracts
CN108335103B (zh) * 2017-12-28 2021-06-11 中国人民银行数字货币研究所 一种基于数字货币的扣款方法和系统
CN108389046B (zh) * 2018-02-07 2020-08-28 西安交通大学 一种电子商务中基于区块链技术的隐私保护交易方法
CN108764874B (zh) * 2018-05-17 2021-09-07 深圳前海微众银行股份有限公司 基于区块链的匿名转账方法、系统及存储介质

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20180113146A (ko) * 2017-04-05 2018-10-15 삼성에스디에스 주식회사 블록체인 기반 전자 화폐 자동 충전 방법 및 그 시스템

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
Mimblewimble whitepaper *
한국콘텐츠학회논문지 *

Also Published As

Publication number Publication date
JP2020501406A (ja) 2020-01-16
US20190244195A1 (en) 2019-08-08
MX2019004672A (es) 2019-08-21
EP3542332A4 (en) 2020-01-22
JP6830530B2 (ja) 2021-02-17
CA3041157C (en) 2020-09-08
CN110326013A (zh) 2019-10-11
AU2018348318B2 (en) 2020-05-21
EP3542332A2 (en) 2019-09-25
PH12019500893A1 (en) 2019-11-25
SG11201903563WA (en) 2019-05-30
RU2727552C1 (ru) 2020-07-22
CA3041157A1 (en) 2019-04-18
BR112019008171A2 (pt) 2019-09-10
ZA201902552B (en) 2022-05-25
KR102151894B1 (ko) 2020-09-03
WO2019072265A3 (en) 2019-08-22
WO2019072265A2 (en) 2019-04-18

Similar Documents

Publication Publication Date Title
KR102151894B1 (ko) 계좌 모델 하에서 퍼블릭 및 프라이빗 트랜잭션을 지원하는 블록체인 시스템
KR102348768B1 (ko) 동형 암호화를 이용한 블록체인 데이터 보호
KR102215245B1 (ko) 준동형 암호화를 사용하는 블록체인 데이터 보호
KR102215773B1 (ko) 영-지식 증명을 갖는 계정 노트 모델에 기초한 블록체인 데이터 보호
CN110402561B (zh) 基于通用账户模型和同态加密的区块链数据保护
CN111602161A (zh) 基于通用账户模型和同态加密的区块链数据保护
US11108571B2 (en) Managing communications among consensus nodes and client nodes
US20190251566A1 (en) Managing private transactions on blockchain networks based on workflow

Legal Events

Date Code Title Description
A302 Request for accelerated examination
E701 Decision to grant or registration of patent right