KR102332034B1 - 정보 보호를 위한 시스템 및 방법 - Google Patents

정보 보호를 위한 시스템 및 방법 Download PDF

Info

Publication number
KR102332034B1
KR102332034B1 KR1020197014902A KR20197014902A KR102332034B1 KR 102332034 B1 KR102332034 B1 KR 102332034B1 KR 1020197014902 A KR1020197014902 A KR 1020197014902A KR 20197014902 A KR20197014902 A KR 20197014902A KR 102332034 B1 KR102332034 B1 KR 102332034B1
Authority
KR
South Korea
Prior art keywords
transaction amounts
proof
transaction
sum
block chain
Prior art date
Application number
KR1020197014902A
Other languages
English (en)
Other versions
KR20200083929A (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 KR20200083929A publication Critical patent/KR20200083929A/ko
Application granted granted Critical
Publication of KR102332034B1 publication Critical patent/KR102332034B1/ko

Links

Images

Classifications

    • 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/3218Cryptographic 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 proof of knowledge, e.g. Fiat-Shamir, GQ, Schnorr, ornon-interactive zero-knowledge proofs
    • 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/3821Electronic credentials
    • G06Q20/38215Use of certificates or encrypted proofs of transaction rights
    • 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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q20/00Payment architectures, schemes or protocols
    • G06Q20/04Payment circuits
    • G06Q20/06Private payment circuits, e.g. involving electronic currency used among participants of a common payment scheme
    • G06Q20/065Private payment circuits, e.g. involving electronic currency used among participants of a common payment scheme using e-cash
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q20/00Payment architectures, schemes or protocols
    • G06Q20/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
    • 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/3823Payment protocols; Details thereof insuring higher security of transaction combining multiple encryption tools for 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/401Transaction verification
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/04Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/12Applying verification of the received information
    • H04L63/126Applying verification of the received information the source of the received data
    • 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
    • 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/3218Cryptographic 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 proof of knowledge, e.g. Fiat-Shamir, GQ, Schnorr, ornon-interactive zero-knowledge proofs
    • H04L9/3221Cryptographic 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 proof of knowledge, e.g. Fiat-Shamir, GQ, Schnorr, ornon-interactive zero-knowledge proofs interactive zero-knowledge proofs
    • 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
    • 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
    • H04L2209/38
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L2209/00Additional information or applications relating to cryptographic mechanisms or cryptographic arrangements for secret or secure communication H04L9/00
    • H04L2209/42Anonymization, e.g. involving pseudonyms
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L2209/00Additional information or applications relating to cryptographic mechanisms or cryptographic arrangements for secret or secure communication H04L9/00
    • H04L2209/56Financial cryptography, e.g. electronic payment or e-cash

Abstract

컴퓨터 구현 정보 보호 방법은, 복수의 계정 간의 트랜잭션과 연관된 복수의 암호화된 트랜잭션 금액을 획득하는 단계로서, 암호화된 트랜잭션 금액의 각각은 트랜잭션 금액 중 하나의 트랜잭션 금액을 전송 또는 수신하는 계정 중 하나의 계정과 연관되고, 그리고 트랜잭션 금액의 각각의 암호화는 적어도 하나의 계정이 트랜잭션 금액 중 하나의 트랜잭션 금액을 전송 또는 수신하는지를 숨기는, 복수의 암호화된 트랜잭션 금액을 획득하는 단계; 획득된 암호화된 트랜잭션 금액에 기초하여 합 증명을 생성하는 단계로서, 합 증명은 적어도 트랜잭션 금액이 평균을 이루는 것을 나타내는, 합 증명을 생성하는 단계; 및 노드가 트랜잭션을 검증하도록 암호화된 트랜잭션 금액과 합 증명을 블록체인 네트워크의 하나 이상의 노드로 전송하는 단계를 포함한다.

Description

정보 보호를 위한 시스템 및 방법
본 개시내용은 일반적으로 컴퓨터 기술, 특히, 정보 보호를 위한 시스템 및 방법에 관한 것이다.
프라이버시는 다양한 사용자 간의 통신과 데이터 전송에 중요하다. 예를 들어, 전송자, 수신자 및 당사자 간의 트랜잭션 금액(transaction amount)에 대한 정보는 프라이버시 보호의 중요한 부분이다. 보호 기능이 없으면, 사용자는 아이덴티티 도용, 불법 전송, 또는 기타 잠재적 손실의 위험에 노출된다. 온라인 정보의 무료 액세스로 인해, 통신과 전송이 온라인으로 구현될 때 위험이 훨씬 더 커진다.
본 개시내용의 다양한 실시형태는 정보 보호를 위한 시스템, 방법 및 비일시적 컴퓨터 판독가능 매체를 포함할 수 있다.
하나의 양상에 따르면, 컴퓨터 구현 정보 보호 방법은, 복수의 계정 간의 트랜잭션과 연관된 복수의 암호화된 트랜잭션 금액을 획득하는 단계로서, 암호화된 트랜잭션 금액의 각각은 트랜잭션 금액 중 하나의 트랜잭션 금액을 전송 또는 수신하는 계정 중 하나의 계정과 연관되고, 그리고 트랜잭션 금액의 각각의 암호화는 적어도 하나의 계정이 트랜잭션 금액 중 하나의 트랜잭션 금액을 전송 또는 수신하는지를 숨기는, 복수의 암호화된 트랜잭션 금액을 획득하는 단계; 획득된 암호화된 트랜잭션 금액에 기초하여 합 증명(sum proof)을 생성하는 단계로서, 합 증명은 적어도 트랜잭션 금액이 평균을 이루는 것을 나타내는, 합 증명을 생성하는 단계; 및 노드가 트랜잭션을 검증하도록 암호화된 트랜잭션 금액과 합 증명을 블록체인 네트워크의 하나 이상의 노드로 전송하는 단계를 포함한다.
일부 실시형태에서, 트랜잭션 금액의 각각의 암호화는 적어도, 하나의 계정이, 트랜잭션 금액의 각각이 하나의 계정에 대해 인바운드(inbound) 또는 아웃바운드(outbound)되는지를 숨김으로써 트랜잭션 금액 중 하나의 트랜잭션 금액을 전송 또는 수신하는지를 숨긴다.
일부 실시형태에서, 합 증명을 생성하는 단계 전에, 방법은 트랜잭션에 수반된 계정에 대한 복수의 범위 증명(range proof)을 각각 획득하는 단계를 더 포함하되, 범위 증명은 적어도 트랜잭션 금액을 전송하는 계정의 각각이 충분한 자산을 갖는다는 것을 나타낸다.
일부 실시형태에서, 암호화된 트랜잭션 금액과 합 증명을 하나 이상의 노드로 전송하는 단계 전에, 방법은 계정으로부터 복수의 서명을 각각 획득하는 단계를 더 포함한다. 노드가 트랜잭션을 검증하도록 암호화된 트랜잭션 금액과 합 증명을 블록체인 네트워크의 하나 이상의 노드로 전송하는 단계는, 노드가 암호화된 트랜잭션 금액, 범위 증명, 합 증명, 및 서명에 기초하여 트랜잭션을 검증하도록 암호화된 트랜잭션 금액, 범위 증명, 합 증명, 및 서명을 블록체인 네트워크의 하나 이상의 노드로 전송하는 것을 포함한다.
일부 실시형태에서, 노드가 암호화된 트랜잭션 금액, 범위 증명, 합 증명, 및 서명에 기초하여 트랜잭션을 검증하도록 암호화된 트랜잭션 금액, 범위 증명, 합 증명, 및 서명을 블록체인 네트워크의 하나 이상의 노드로 전송하는 것은, 암호화된 트랜잭션 금액, 범위 증명, 합 증명, 및 서명을 블록체인 네트워크의 하나 이상의 노드로 전송하는 것; 및 노드가, 암호화된 트랜잭션 금액, 범위 증명, 합 증명, 및 서명을 유효성 확인(validate)하게 하고, 트랜잭션을 성공적으로 검증하는 것에 응답하여 트랜잭션을 실행하게 하고, 그리고 블록체인 네트워크에 의해 유지된 블록체인의 새로운 데이터 블록에 트랜잭션을 추가하게 하는 것을 포함한다.
일부 실시형태에서, 노드가 트랜잭션을 성공적으로 검증하는 것에 응답하여 트랜잭션을 실행하게 하는 것은, 노드가 트랜잭션을 성공적으로 검증하는 것에 응답하여 이에 대응하여 계정의 암호화된 계정 잔액으로부터 암호화된 트랜잭션 금액을 공제하게 하는 것을 포함한다.
일부 실시형태에서, 트랜잭션 금액의 각각의 암호화는 동형 암호화를 포함한다.
일부 실시형태에서, 트랜잭션 금액의 각각의 암호화는 페데르센 커밋 기법(Pedersen commitment scheme)을 포함한다.
또 다른 양상에 따르면, 정보 보호 시스템은 하나 이상의 프로세서, 및 하나 이상의 프로세서에 연결되고 그리고 시스템이 동작을 수행하게 하도록 하나 이상의 프로세서에 의해 실행 가능한 명령어로 구성되는 하나 이상의 비일시적 컴퓨터 판독가능 메모리를 포함하고, 동작은, 복수의 계정 간의 트랜잭션과 연관된 복수의 암호화된 트랜잭션 금액을 획득하는 단계로서, 암호화된 트랜잭션 금액의 각각은 트랜잭션 금액 중 하나의 트랜잭션 금액을 전송 또는 수신하는 계정 중 하나의 계정과 연관되고, 그리고 트랜잭션 금액의 각각의 암호화는 적어도 하나의 계정이 트랜잭션 금액 중 하나의 트랜잭션 금액을 전송 또는 수신하는지를 숨기는, 복수의 암호화된 트랜잭션 금액을 획득하는 단계; 획득된 암호화된 트랜잭션 금액에 기초하여 합 증명을 생성하는 단계로서, 합 증명은 적어도 트랜잭션 금액이 평균을 이루는 것을 나타내는, 합 증명을 생성하는 단계; 및 노드가 트랜잭션을 검증하도록 암호화된 트랜잭션 금액과 합 증명을 블록체인 네트워크의 하나 이상의 노드로 전송하는 단계를 포함한다.
또 다른 양상에 따르면, 비일시적 컴퓨터 판독가능 저장 매체는 하나 이상의 프로세서가 동작을 수행하게 하도록 하나 이상의 프로세서에 의해 실행 가능한 명령어로 구성되고, 동작은, 복수의 계정 간의 트랜잭션과 연관된 복수의 암호화된 트랜잭션 금액을 획득하는 단계로서, 암호화된 트랜잭션 금액의 각각은 트랜잭션 금액 중 하나의 트랜잭션 금액을 전송 또는 수신하는 계정 중 하나의 계정과 연관되고, 그리고 트랜잭션 금액의 각각의 암호화는 적어도 하나의 계정이 트랜잭션 금액 중 하나의 트랜잭션 금액을 전송 또는 수신하는지를 숨기는, 복수의 암호화된 트랜잭션 금액을 획득하는 단계; 획득된 암호화된 트랜잭션 금액에 기초하여 합 증명을 생성하는 단계로서, 합 증명은 적어도 트랜잭션 금액이 평균을 이루는 것을 나타내는, 합 증명을 생성하는 단계; 및 노드가 트랜잭션을 검증하도록 암호화된 트랜잭션 금액과 합 증명을 블록체인 네트워크의 하나 이상의 노드로 전송하는 단계를 포함한다.
제조 부품과 제조 부품의 조합 및 구조의 관련 요소들의 동작과 기능의 방법뿐만 아니라 본 명세서에서 개시하는 시스템, 방법, 및 비일시적 컴퓨터 판독가능 매체의 이러한 기능, 및 기타 기능은, 첨부 도면을 참조하여 다음에 따르는 설명과 청구범위를 고려할 때 더욱 명백해질 것이며, 이들 모두는 본 명세서의 일부를 이루며, 유사한 참조 번호는 다양한 도면에서의 대응 부분을 가리킨다. 그러나, 도면은 예시와 설명을 위한 것일 뿐이며 본 발명을 한정하도록 정의하는 것이 아님을 명확하게 이해해야 한다.
본 기술의 다양한 실시형태의 소정의 기능을 특허 청구범위에서 설명한다. 본 발명의 원리를 이용하는 예시적인 실시형태를 설명하는 다음에 따르는 상세한 설명 및 첨부 도면을 참조함으로써, 본 기술의 기능과 이점을 더 잘 이해할 수 있으며, 도면에서:
도 1은 다양한 실시형태에 따른, 예시적인 블록체인을 예시하는 도면.
도 2는 다양한 실시형태에 따른, 정보 보호를 위한 예시적인 블록체인 네트워크를 예시하는 도면.
도 3은 다양한 실시형태에 따른, 전송자와 수신자가 혼합된 예시적인 트랜잭션 실행 흐름을 예시하는 도면.
도 4는 다양한 실시형태에 따른, 정보 보호를 위한 예시적인 방법의 흐름도.
도 5는 다양한 실시형태에 따른, 정보 보호를 위한 또 다른 예시적인 방법의 흐름도.
도 6은 다양한 실시형태에 따른, 정보 보호를 위한 예시적인 방법의 흐름도.
도 7은 본 명세서에서 설명된 임의의 실시형태가 구현될 수도 있는 예시적인 컴퓨터 시스템의 블록도.
이제 예시적인 실시형태에 대하여 상세히 참조가 이루어질 것이고, 이 실시예는 첨부된 도면에 예시된다. 다음의 설명은 상이한 도면 내 동일한 부호가 달리 나타내지 않는 한 동일한 또는 유사한 구성요소를 나타내는 첨부된 도면과 관련된다. 본 발명과 부합하는 예시적인 실시형태의 다음의 설명에 제시되는 구현예는 본 발명과 부합하는 모든 구현예를 나타내지 않는다. 대신에, 이 구현예는 단지 본 발명과 관련된 양상과 부합하는 시스템 및 방법의 실시예이다.
블록체인 기술은 데이터를 유효성 확인하고 그리고 업데이트하도록 분산형 노드 합의 알고리즘을 사용하는, 점-대-점(피어) 네트워크에 구축될 수도 있다. 블록체인은 또한 암호법(cryptography)을 사용하여 데이터 전송 및 액세스의 보안을 보장할 수도 있고, 그리고 자동화된 스크립트 코드를 포함하는 스마트 계약을 사용하여 데이터를 프로그래밍 및 조작할 수도 있다. 블록체인은 이전의 데이터 블록에 링크되는 헤더를 각각 포함한 일련의 데이터 블록을 포함할 수도 있고, 따라서 데이터 블록의 체인을 형성한다. 링크를 설정하기 위해서, 현재의 데이터 블록의 헤더는 이전의 데이터 블록의 헤더의 암호 해시 또는 검사 합계를 포함할 수도 있다. 블록체인 네트워크는 트랜잭션의 실행을 용이하게 할 수도 있다. 트랜잭션은 사용자(사용자 노드, 예컨대, 사용자 노드의 연산 장치) 간 또는 사용자와 금융 기관 간의 임의의 통신과 관련된다. 예를 들어, 트랜잭션은 제품 또는 서비스의 구매 또는 판매, 제품 또는 서비스의 제공 또는 반납, 지불 트랜잭션, 신용 트랜잭션, 또는 다른 유사한 상호작용과 관련될 수도 있다. 트랜잭션은 또한 "거래" 또는 "상거래"로서 지칭될 수도 있다. 트랜잭션의 대상은, 예를 들어, 돈, 토큰, 디지털 화폐, 계약, 증서, 의료 기록, 고객 상세 정보, 주식, 채권, 지분, 또는 디지털 형식으로 기술될 수 있는 기타 자산을 포함할 수도 있다.
블록체인은 공개 또는 개인 피어 네트워크에서 트랜잭션을 기록하는 쉽게 조작할 수 없는, 공유형, 그리고 디지털 원장으로서 간주될 수 있다. 원장은 네트워크 내 멤버 노드에 분산되고, 그리고 네트워크에서 발생하는 자산 트랜잭션의 이력은 블록체인에 기록된다. 블록체인 원장이 공개적이고 그리고 원장 자체가 프라이버시 보호 기능을 갖지 않기 때문에, 원장 내 중요한 트랜잭션 정보가 대중에게 노출되고 그리고 승인되지 않은 또는 악의적인 용도의 위험 하에 있다. 예를 들어, 기존의 블록체인 트랜잭션 체제에서, 트랜잭션은 어떤 당사자가 자산을 전송하는지, 어떤 당사자가 자산을 수신하는지, 그리고 트랜잭션 자산 금액을 명백하게 명시해야 하고, 이 중 어느 것도 보호되지 않는다. 적어도 기존의 기술의 결함을 경감시키고 그리고 정보 보호를 위한 컴퓨터, 시스템 및 방법의 정보 보호 기능을 개선시키는 것이 도 1 내지 도 7을 참조하여 개시된다.
도 1은 다양한 실시형태에 따른, 예시적인 블록체인을 예시한다. 도 1에 도시된 바와 같이, 블록체인(100)은 복수의 데이터 블록(102)을 포함할 수도 있다. 각각의 블록(102)은 예를 들어, 트랜잭션, 지불 영수증 등을 포함한 데이터(104)를 포함하는 데이터 구조체이다. 각각의 블록은 암호 해시를 통해 이전의 블록에 링크될 수도 있다. 예를 들어, 블록 2는 블록 1의 해시(106)를 통해 블록 1에 링크되고, 블록 n은 블록 n-1의 또 다른 해시를 통해 블록 n-1에 링크된다. 새로운 데이터가 제출되고 그리고 유효성 확인될 때, 새로운 데이터를 포함한 추가의 블록이 생성될 수도 있고 그리고 이전의 블록의 해시를 포함함으로써 블록체인(100)의 마지막 블록에 첨부될 수도 있다.
도 2는 다양한 실시형태에 따른, 트랜잭션을 실행시키기 위한 예시적인 블록체인 네트워크(200)를 예시한다. 도 2에 도시된 바와 같이, 블록체인 네트워크(200)는 복수의 노드(202) 및 하나 이상의 사용자 연산 장치(240)를 포함할 수도 있고, 이들은 하나 이상의 통신 경로를 통해 서로 간에 통신 가능할 수도 있다. 예시적인 통신 경로는 데이터를 전송 및 수신하기 위한, 하나 이상의 통신 프로토콜, 예를 들어, 이동전화, 와이파이(WiFi), 및 다른 통신 프로토콜을 사용하는 네트워크(220)(예를 들어, 인터넷을 통한, 유선 연결 또는 무선 연결 등)이다. 네트워크(220)는 피어-투-피어 및/또는 클라이언트/서버 모델에 기초할 수도 있다. 일부 실시형태에서, 복수의 노드(202)는 하나 이상의 프로세서(204) 및 하나 이상의 프로세서(204)에 연결된 하나 이상의 메모리(206)(예를 들어, 명령어를 저장한 하나 이상의 비일시적 컴퓨터 판독가능 저장 매체)를 각각 포함한 연산 장치를 포함할 수도 있다. 노드(202)는 스마트 계약의 보안을 개선시키기 위한 예시적인 시스템일 수도 있다. 하나 이상의 메모리는 시스템(예를 들어, 하나 이상의 프로세서)이 본 명세서에서 설명된 동작을 수행하게 하도록 하나 이상의 프로세서에 의해 실행 가능한 명령어로 구성될 수도 있다. 일부 실시형태에서, 프로세서(204)는 하나 이상의 논리 회로로서 부분적으로 또는 전적으로 구현될 수도 있다. 일부 실시형태에서, 노드(202) 및 사용자 연산 장치(240)는 다른 연산 자원을 포함할 수도 있고/있거나 다른 연산 자원에 (예를 들어, 하나 이상의 연결부/네트워크를 통해) 액세스할 수도 있다.
일부 실시형태에서, 블록체인(100)은 분산형 방식으로 복수의 노드(202)에 저장된다. 일부 실시형태에서, 노드(202) 중 일부는 노드가 합의를 통해 수신한 트랜잭션을 유효성 확인할 수도 있고 그리고 유효성 확인된 트랜잭션을 다른 노드(202)로 전파시킬 수도 있다. 따라서, 노드(202)는 유효성 확인된 트랜잭션에 따라 원장(208)을 업데이트할 수도 있다. 노드(202)는 원장(208)과 관련된 데이터를 전송 및 수신하도록 네트워크(220)를 통해 서로 통신할 수도 있다. 원장(208)은 유효성 확인되고 그리고 블록체인(100)에 추가되는 데이터 블록(102)을 포함한다. 새로운 데이터 블록이 원장(208)에 추가될 때, 노드(202)는 네트워크(220)를 통해 새로운 데이터 블록과 통신 또는 공유할 수도 있다. 노드(202)의 메모리(206)는 블록체인(100)의 원장(208)의 적어도 일부를 저장할 수도 있다.
일부 실시형태에서, 하나 이상의 사용자는 트랜잭션을 통신 경로(220)를 경유하여 사용자 연산 장치(240)를 통해 하나 이상의 노드(202)로 제출할 수도 있다. 일부 실시형태에서, 제출된 트랜잭션은 노드(202) 내 메모리(206)에 걸쳐 존재하는 풀(pool)에 또는 네트워크(220)를 통해 액세스 가능한 원격 데이터베이스에 임시로 저장될 수도 있다. 노드(202) 중 하나 이상이 풀로부터 제출된 트랜잭션을 검색할 수도 있고 그리고 제출된 트랜잭션을 처리할 수도 있다. 간결성과 간략함을 위해, 본 개시내용은 노드(202)의 단수 형태를 사용할 수도 있다. 당업자는 블록체인 네트워크가 다수의 노드(202)를 가질 수도 있고 그리고 하나 이상의 노드(202)가 하나의 트랜잭션을 처리할 때 수반될 수도 있다는 것을 이해해야 한다. 노드(202)의 단수 형태는 하나 이상의 노드를 나타낼 수도 있다.
일부 실시형태에서, 노드(202)는 트랜잭션의 결과에 기초하여 블록체인(100)을 업데이트할 수도 있다. 일부 실시형태에서, 트랜잭션은 2명 이상의 참여자(또한 당사자 또는 사용자, 예컨대, 전송자 및 수신자로서 지칭됨)를 수반할 수도 있다. 트랜잭션은 자산(들)을 교환하기 위한 2명의 당사자 간의 합의일 수도 있다. 예를 들어, 트랜잭션은 한 명의 당사자가 일정 금액의 자산을 다른 당사자에게 이체 또는 지불하는 것을 포함할 수도 있고, 그리고 지불 금액은 두 명의 당사자에 의해 동의될 수도 있다. 자산은 디지털 화폐의 형태, 예를 들어, 비트코인(Bitcoin), 모네로(Monero) 등일 수도 있다. 대안적으로, 자산은 종래의 화폐, 예컨대, 달러일 수도 있다. 트랜잭션의 당사자는 계정과 각각 연관될 수도 있다. 당사자의 각각의 계정은 블록체인(100)에 저장된 잔액 및 어드레스를 가질 수도 있다. 따라서, 트랜잭션이 실행된 후, 노드(202)는 당사자의 각각의 계정의 잔액을 업데이트할 수도 있다.
일부 실시형태에서, 노드(202)는 어떤 당사자가 자산을 전송 또는 지불하는 전송자인지 그리고 어떤 당사자가 자산을 수신하는 수신자인지의 인지 없이 트랜잭션을 실행시킬 수도 있다. 개시된 시스템 및 방법은 어떤 당사자가 전송자인지 그리고 어떤 당사자가 수신자인지에 관한 정보를 숨길 수도 있지만 여전히 블록체인 트랜잭션이 처리되게 할 수도 있다. 일부 실시형태에서, 거래될 자산의 금액은 자산의 금액과 연관된 당사자가 전송자 또는 수신자인지를 나타내도록 양 또는 음으로 라벨 표시될 수도 있다. 예를 들어, 당사자 A와 당사자 B 간의 트랜잭션에서, A에 대한 1,000달러(양)의 금액은 당사자 A가 1,000달러를 당사자 B에게 전송한 것을 나타내고, 반면에 A에 대한 -1,000달러(음)의 금액은 당사자 A가 1,000달러를 당사자 B로부터 수신한 것을 나타낸다. 따라서, 계정 A의 트랜잭션 금액이 0보다 더 크다면, 계정 A는 트랜잭션 금액을 또 다른 계정 B로 지불 또는 전송하고, 따라서 이 계정 A는 전송자이다. 대조적으로, 계정 A의 트랜잭션 금액이 0보다 더 작다면(음수라면), 그러면 계정 A는 금액을 수신하고, 그리고 계정 A는 수신자이다.
일부 실시형태에서, 트랜잭션 금액은 다양한 암호화 방법을 통해 암호화될 수도 있다. 하나의 실시예에서, 트랜잭션 금액은 동형 암호화(homomorphic 암호화하다ion)를 통해 암호화될 수도 있다. 동형 암호화 기법은 에가멜(Elgamal) 동형 암호화, 페일러(Paillier) 동형 암호화, 베날로(Benaloh) 동형 암호화, 오카모토-우치야마(Okamoto-Uchiyama) 동형 암호화, 나카체-스턴(Naccache-Stern) 동형 암호화, 댐가드-쥬리크(Damg
Figure 112019053099976-pct00001
rd-Jurik) 동형 암호화, 보네-고흐-니심(Boneh-Goh-Nissim) 동형 암호화 등을 포함할 수도 있지만, 이들로 제한되지 않는다. 또 다른 실시예에서, 트랜잭션 금액은 커밋 기법, 예컨대, 동형 커밋을 통해 암호화될 수도 있다. 예를 들어, 동형 커밋은 페데르센 커밋일 수도 있다. 트랜잭션 금액 "t"의 페데르센 커밋 "T"는 다음과 같이 나타낼 수도 있다:
Figure 112019053099976-pct00002
여기서, r은 하이딩(hiding)을 제공하는 랜덤 블라인딩 인자(대안적으로, 바인딩(binding) 인자라고 함)이고, G와 H는 타원 곡선의 공개적으로 합의된 생성자/베이스포인트이고 랜덤하게 선택될 수도 있다. 예를 들어, r은 난수일 수도 있다. G와 H는 노드(202)에 알려져 있는 매개변수일 수도 있다. 커밋 기법은 데이터 비밀을 유지하지만, 데이터의 전송자에 의해 나중에 변경될 수 없도록 데이터에 커밋된다. 커밋(예를 들어, 트랜잭션의 수신자 노드)을 수신하는 당사자만이 커밋값(예를 들어, PC(r, t))을 알고, 당사자는 어떠한 기저 데이터 값(예를 들어, t)이 랜덤 블라인딩 인자(예를 들어, r)의 존재 때문에 커밋되었는지를 결정할 수 없다. 그러나, 커밋을 수신하는 노드(202)는 커밋을 실행시킬 수 있고 그리고 커밋된 데이터가 밝혀진 데이터와 일치하다는 것을 검증할 수 있다. 이 방식으로, 당사자의 역할(예를 들어, 전송자, 또는 수신자)의 숨김을 통해 뿐만 아니라 트랜잭션 금액을 암호화함으로써, 제3자 개체는 어떤 당사자가 전송자인지 그리고 어떤 당사자가 수신자인지 알지 못할 것이고, 이에 의해 트랜잭션 시 당사자의 프라이버시를 보호한다.
페데르센 커밋은 추가 특성을 갖는데, 커밋이 추가될 수 있으며, 커밋의 세트의 합은 (블라인딩 키의 합으로서의 블라인딩 키 세트를 갖는) 데이터의 합에 대한 커밋과 동일하며, PC(r1, t1) + PC(r2, t2) = PC(r1 + r2, t1 + t2)이다. 다시 말하면, 커밋은 추가를 보존하며, 교환 특성이 적용되며, 즉, 페데르센 커밋은, 기저 데이터가 암호화되지 않은 것처럼 수학적으로 조작될 수도 있다는 점에서 추가적 동형(additively homomorphic)이다. 따라서, 페데르센 커밋을 트랜잭션의 당사자의 잔액 및 트랜잭션 금액에 적용할 때, 잔액은 트랜잭션 금액 및/또는 잔액의 페데르센 커밋을 복호화하는 일없이 페데르센 커밋을 직접 추가함으로써 트랜잭션 금액을 사용하여 업데이트될 수도 있다.
일부 실시형태에서, 노드(202)는 위에서 설명된 것과 같이 일괄적으로 다수의 트랜잭션을 실행시킬 수도 있다. 예를 들어, 당사자 A와 당사자 B 간의 트랜잭션 이외에, 당사자 C와 당사자 D도 또한 이들 간의 트랜잭션을 요청할 수도 있다. 게다가, 당사자 E와 당사자 F도 또한 서로 간의 자산을 이체하도록 요청할 수도 있다. 당사자 A와 당사자 B 간의 트랜잭션은 당사자 C와 당사자 D 간의 트랜잭션 그리고 당사자 E와 당사자 F 간의 트랜잭션과 혼합될 수도 있다. 노드(202)는 각각의 전송자와 수신자의 명시적인 표시를 요구하는 일없이 당사자(A, B, C, D, E, 및 F) 간의 트랜잭션을 동시에 실행시킬 수도 있다. 더 복잡한 상황에서, 노드(202)는 한 명의 당사자(예를 들어, 당사자 A)가 자산의 상이한 트랜잭션 금액을 상이한 당사자(예를 들어, 당사자 B, 당사자 C 등)에게 전송하는 다수의 트랜잭션을 실행시킬 수도 있다.
도 3을 참조하면, 전송자와 수신자가 혼합된 예시적인 트랜잭션 실행 흐름(300)이 다양한 실시형태에 따라 예시된다. 트랜잭션 실행 흐름(300)은 예를 들어, 도 2의 블록체인 네트워크(200)를 포함한 다양한 시스템에서 구현될 수도 있다. 트랜잭션 실행 흐름(300)은 노드(202) 및 사용자 연산 장치(240) 중 하나 이상에 의해 구현될 수도 있다. 아래에 제시된 트랜잭션 실행 흐름(300)의 동작은 예시적인 것으로 의도된다. 구현예에 따라, 예시적인 트랜잭션 실행 흐름(300)은 다양한 순서로 또는 동시에 수행되는 부가적인, 더 적은 또는 대안적인 단계를 포함할 수도 있다.
도 3의 예시된 실시형태에서, 하나 이상의 트랜잭션의 참여자와 참여자의 연관된 계정이 블록(302)에 도시된다. 예를 들어, 참여자의 각각은 계정 "Account A_i"와 연관될 수도 있고, 여기서 1≤i≤n이고, 그리고 n은 임의의 양의 정수일 수도 있다. 일부 실시형태에서, n은 참여자의 총수를 나타낼 수도 있다. 다른 실시형태에서, i는 연속 정수가 아닐 수도 있고, 따라서 n은 참여자의 총수를 나타내지 못할 수도 있다. 블록(302)에 도시된 바와 같이, 계정 "Account A_i"의 각각은 이용 가능한 계정 "Account A_i" 내 자산의 금액일 수도 있는, 잔액 "s_i"를 포함할 수도 있다. 일부 실시형태에서, 잔액 "s_1"은 디지털 화폐의 형태, 예를 들어, 비트코인 등일 수도 있다. 대안적으로, 잔액 "s_1"은 종래의 화폐를 나타낼 수도 있다. 게다가, 블록(302)에 도시된 바와 같이, 잔액 "s_i"는 위에서 설명된 바와 같은 하나 이상의 동형 암호화 또는 동형 커밋 기법을 통해 암호화된 잔액 "S_i"를 획득하도록 암호화될 수도 있다. 암호화된 잔액 "S_i"는 잔액 "s_i"의 암호문일 수도 있고 그리고 "HE(s_i)"로서 지칭될 수도 있다. 따라서, S_i = HE(s_i)이고, 여기서 1≤i≤n이고, 그리고 n은 임의의 양의 정수일 수도 있다. 예를 들어, 계정 "Account A_1"은 "S_1"로서 표현되는 계정의 잔액 "s_1"의 암호문을 포함하고, 여기서 S_1 = HE(s_1)이다. 일부 실시형태에서, 암호화된 잔액 "S_i"는 페데르센 커밋이고, 그리고 HE(s_i) = r_i*G + s_i*H이고, 여기서 r은 랜덤 블라인딩 인자이다.
블록(304)에서, 참여자의 복수의 계정 "Account A_i"로부터 다수의 트랜잭션이 노드(202)에 의해 수신될 수도 있다. 도 3의 예시된 실시형태에서, 각각의 계정은 계정 ID(identification), 예컨대, "A_i", 트랜잭션 금액 "t_i", 범위 증명 "Pf_i" 및 서명 "Sig_i"와 연관될 수도 있다. "서명"은 실제 본인으로부터의 승인을 나타낸다. 용어 "서명"은 승인의 표시의 임의의 형태일 수 있다. 예를 들어, 계정으로부터 트랜잭션과 연관된 서명은 계정이 트랜잭션을 승인한다는 것을 나타낸다. 일부 실시형태에서, 트랜잭션은 적어도 트랜잭션의 각각의 전송자 또는 수신자의 아이덴티티를 감추도록 암호화될 수도 있다. 예를 들어, 트랜잭션은 "T_i"로서 표현되는, 각각의 트랜잭션의 실제 트랜잭션 금액의 암호문을 포함할 수도 있고, 여기서 T_i = HE(t_i)이다. 트랜잭션 금액의 암호문은 위에서 설명된 동형 암호화 또는 동형 커밋 기법을 통해 생성될 수도 있다. 예를 들어, 암호화된 트랜잭션 금액 "T_i"는 실제 트랜잭션 금액 "t_i"의 페데르센 커밋일 수도 있다.
범위 증명은 수치의 다른 정보, 예컨대, 수치의 실제 값을 밝히지 않으면서, 수치가 범위 내에 있는 것을 입증하도록 사용되는 안전한 증명 프로토콜일 수도 있다. 예를 들어, 범위 증명은 예를 들어, 보로민 링 서명(Borromean ring signature) 기법, 불릿프루프(Bulletproof) 기법 등을 포함한 기법을 통해 생성될 수도 있다. 다른 기법도 또한 범위 증명을 생성하도록 사용될 수도 있다. 범위 증명 "Pf_i"는 계정 "A_i"가 트랜잭션을 가능하게 할 충분한 잔액을 갖고, 예를 들어, 계정의 잔액 "s_i"가 트랜잭션 금액 "t_i"의 절대값 이상임을 나타낼 수 있다. 계정 "A_i"의 범위 증명 "Pf_i"는 Pf_i = pf(si - ti ≥ 0)로 표현될 수도 있다.
일부 실시형태에서, 또 다른 증명, 예를 들어, Pf_sum = Pf(t_1 + t_2 +...+ t_n = 0)이 트랜잭션 시 생성될 수도 있다. 이 증명은 아래에서 합 증명으로서 지칭될 수도 있고, 이는 트랜잭션 금액의 합이 균형을 이루고, 예를 들어, 0임을 나타내도록 사용된다. 위에서 설명된 바와 같이, 전송자의 트랜잭션 금액은 양의 값으로서 나타낼 수도 있고, 반면에 대응하는 수신자의 트랜잭션 금액은 음의 값으로서 나타낼 수도 있다. 전송자 및 대응하는 수신자와 연관된 트랜잭션 금액의 절대값은 동일하다. 이 방식으로, 노드(202)는 어떤 당사자가 전송자인지 그리고 어떤 당사자가 수신자인지의 명시적인 표시를 요구하는 일없이 전송자와 수신자 간의 트랜잭션을 실행시킬 수도 있다.
당사자 A가 1,000달러를 당사자 B에게 지불하는 위에서 설명된 실시예에서, 당사자 A가 계정 ID "A_1"과 연관되고 반면에 당사자 B가 계정 ID "A_2"와 연관된다고 가정하면, "A_1"과 연관된 트랜잭션 금액 "t_1"은 +1,000달러가고, 반면에 "A_2"와 연관된 트랜잭션 금액 "t_2"는 -1,000달러가다. 합 증명 "Pf_sum"은 트랜잭션 금액 "t_1"과 트랜잭션 금액 "t_2"가 서로 상쇄되고, 그리고 트랜잭션 금액 "t_1"과 트랜잭션 금액 "t_2"의 합이 0인 것을 나타내도록 생성될 수도 있다.
일부 실시형태에서, 합 증명 "Pf_sum"은 암호화된 트랜잭션 금액 HE(ti)에 기초하여 입증될 수도 있다. 예를 들어, 트랜잭션 금액 HE(t_i)의 암호문은 HE(t_i) = G{t_i} * H{r_i}로 표현될 수도 있고, 여기서 r_i는 랜덤 블라인딩 인자이고, G 및 H는 타원 곡선의 공개적으로 합의된 생성자 또는 베이스포인트이고 랜덤하게 선택될 수도 있다. 따라서, 합 증명 "Pf_sum"은 Pf(r = r_1 + r_2 +...r_n)일 수도 있다. 합 증명을 유효성 확인할 때, 노드(202)는 HE(t_1) *...* HE(t_n) = Hr인지를 검증할 수도 있다. HE(t_1) *...* HE(t_n) = Hr라면, 이것은 t_1 + t_2 +...+t_n = 0임을 나타내고, 따라서 Pf_sum을 입증하고 트랜잭션 금액이 균형을 이룬다. 그렇지 않으면, 트랜잭션 금액이 균형을 이루지 않고, 그리고 임의의 부정확한 트랜잭션 금액이 있을 수도 있다. 일부 실시형태에서, 트랜잭션 금액은 다른 기법을 사용하여 암호화될 수도 있고, 따라서 합 증명과 합 증명의 검증이 본 명세서에서 설명된 것과는 상이할 수도 있다.
다수의 전송자 및/또는 수신자가 있을 때, 각각의 커플 간의 트랜잭션 금액이 균형을 이룬다. 일부 실시형태에서, 전송자가 다수의 수신자와 거래할 때, 전송자의 트랜잭션 금액은 다수의 수신자에게 전송될 모든 트랜잭션 금액의 합으로서 설정될 수도 있다. 예를 들어, 계정 "A_1"이 1,000달러의 트랜잭션 금액을 계정 "A_2"로 그리고 $2,000의 트랜잭션 금액을 계정 "A_3"으로 전송할 때, 계정 "A_1"의 트랜잭션 금액은 $3,000(예를 들어, 1,000달러와 $2,000의 합)이다. 계정 "A_1"의 트랜잭션 금액은 계정 "A_2"의 트랜잭션 금액, 즉, -1,000달러과 계정 "A_3"의 트랜잭션 금액, 즉, -$2,000과 균형을 이룬다. 유사하게, 트랜잭션 내 다른 트랜잭션 금액이 균형을 이룬다. 이러한 증명이 생성될 수도 있고 그리고 트랜잭션과 연관될 수도 있다.
위에서 설명된 바와 같이, 각각의 계정으로부터 서명이 수신될 수도 있고, 그리고 서명은 도 3에서 "Sig_i"로 표현된다. 일부 실시형태에서, 서명은 각각의 계정에 의해 트랜잭션, 범위 증명 및 합 증명에 서명될 수도 있고, Sig_i = Signature(A_1:T_1,Pf_1;...; A_n:T_n,Pf_n; Pf_sum)으로 표현된다. 이 방식으로, 트랜잭션(들)에 수반된 각각의 계정은 서명 () 내 다양한 매개변수에 대한 합의를 표현한다. 일부 실시형태에서, 서명은 트랜잭션, 범위 증명 또는 합 증명 중 하나 이상과 연관될 수도 있다.
블록(306)에서, 노드(202)는 위에서 설명된 다수의 계정과 연관된 트랜잭션, 범위 증명, 합 증명, 및 수신된 트랜잭션을 검증하기 위한, 트랜잭션(들), 범위 증명, 또는 합 증명 중 적어도 하나와 연관된 서명을 수신할 수도 있다. 일부 실시형태에서, 노드(202)는 트랜잭션 참여자 사이를 조정하는 조직자 노드로부터 트랜잭션을 수신할 수도 있다. 일부 실시형태에서, 조직자 노드는 연산 장치에 의해 구현되는 제3자 개체(도시되지 않았지만 노드(202)와 유사함)일 수도 있다. 예를 들어, 각각의 참여자는 사용자 연산 장치(240)를 통해, 암호화된 트랜잭션 금액과 함께 참여자의 계정 ID, 범위 증명 등을 조직자 노드로 전송할 수도 있다. 조직자 노드는 참여자로부터 수신된 트랜잭션 금액에 기초하여 합 증명을 생성할 수도 있다. 조직자 노드는 복수의 계정과 연관된 트랜잭션, 트랜잭션의 각각에 대한 범위 증명, 트랜잭션의 합 증명, 및 트랜잭션, 범위 증명, 또는 합 증명 중 적어도 하나와 연관된 복수의 계정의 각각으로부터의 서명을 노드(202)를 포함한 블록체인 네트워크(200)에 제출할 수도 있다. 일부 실시형태에서, 조직자 노드는 다른 참여자를 조정하는 참여자 중 하나일 수도 있다. 대안적으로, 조직자는 블록체인 네트워크(200)의 노드(202)일 수도 있다. 조직자 노드(202)는 다수의 계정 ID와 연관된 트랜잭션을, 트랜잭션의 각각에 대한 범위 증명, 트랜잭션, 범위 증명, 또는 합 증명 중 적어도 하나와 연관된 서명과 함께 참여자로부터 수신할 수도 있다. 조직자 노드(202)는 참여자로부터 수신된 트랜잭션 금액에 기초하여 합 증명을 수행할 수도 있다.
블록(306)에서, 노드(202)는 트랜잭션, 범위 증명, 합 증명, 및 서명을 유효성 확인할 수도 있다. 트랜잭션과 연관된 정보가 유효성 확인되는 것에 응답하여, 노드(202)는 트랜잭션에 수반된 각각의 계정의 잔액을 업데이트함으로써 트랜잭션을 구현할 수도 있다. 예를 들어, 노드(202)는 각각의 계정의 서명을 검증할 수도 있다. 일부 실시형태에서, 임의의 서명이 무효하다면, 노드(202)는 트랜잭션을 거부할 수도 있다. 서명의 각각이 검증된 후, 노드(202)는 트랜잭션의 각각에 대한 각각의 범위 증명을 유효성 확인할 수도 있다. 일부 실시형태에서, 노드(202)는 암호화된 잔액 "S_i"를 검색할 수도 있고 그리고 암호화된 잔액 "S_i"에 대하여 범위 증명 "Pf_i"를 체크할 수도 있다. 일부 실시형태에서, 노드(202)는 범위 증명 "Pf_i" 자체의 유효성을 검증할 수도 있다. 임의의 범위 증명이 무효하다는 것에 응답하여, 노드(202)는 트랜잭션을 거부할 수도 있다.
일부 실시형태에서, 각각의 범위 증명이 유효성 확인된 후, 노드(202)는 트랜잭션의 합 증명을 유효성 확인할 수도 있다. 예를 들어, 합 증명이 암호화된 트랜잭션 금액에 생성된다면, 노드(202)는 블록(304)을 참조하여 위에서 설명된 바와 같이, 암호화 기법에 따라 합 증명을 검증할 수도 있다. 합 증명이 무효하다는 것에 응답하여, 노드(202)는 트랜잭션을 거부할 수도 있다. 일부 실시형태에서, 합 증명이 유효성 확인된 후, 노드(202)는 각각의 계정의 잔액을 업데이트할 수도 있다. 예를 들어, 노드(202)는 잔액 "s_i"로부터 트랜잭션 금액 "t_i"를 공제함으로써, 즉, s_i - t_i 함으로써 잔액 "s_i"를 업데이트할 수도 있다. 계정 "A_1"이 1,000달러의 트랜잭션 금액을 계정 "A_2"로 전송하는 위의 실시예에서, 노드(202)가 트랜잭션을 유효성 확인한다면, 그러면 노드(202)는 계정 "A_1"의 잔액 "S_1"로부터 1,000달러를 공제할 수도 있고, 그리고 1,000달러를 계정 "A_2"의 잔액 "S_2"에 추가할 수도 있다. 일부 실시형태에서, 노드(202)는 S_i - T_i로 표현된, 암호화된 잔액을 직접적으로 업데이트할 수도 있다. 위에서 설명된 바와 같이, 페데르센 커밋은 추가적 동형이고, 그리고 기저 데이터는 암호화되지 않은 것처럼 수학적으로 조작될 수도 있다. 예를 들어, 노드(202)는 트랜잭션 금액의 페데르센 커밋을 잔액의 페데르센 커밋에 추가함으로써 잔액의 페데르센 커밋을 업데이트할 수도 있다. 블록(308)에서, 트랜잭션 결과가 획득될 수도 있다. 도 3에 예시된 바와 같이, 트랜잭션의 실행 후, 각각의 계정의 잔액은 "S_i-T_i"로서 업데이트되었다.
위의 설명은 서명, 범위 증명, 및 합 증명의 유효성 확인(validation)을 시간순으로 설명한다. 당업자는 유효성 확인이 임의의 순서를 가질 수 있다는 것을 이해해야 한다. 예를 들어, 노드는 서명, 합 증명, 범위 증명, 또는 범위 증명, 합 증명, 서명, 또는 범위 증명, 서명, 합 증명, 또는 합 증명, 범위 증명, 서명, 또는 합 증명, 서명, 범위 증명의 순서로 유효성 확인할 수 있다. 또한, 유효성 확인은 임의적이다. 유효성 확인의 일부, 예를 들어, 범위 증명 및/또는 서명이 생략될 수도 있다.
이와 같이, 본 개시내용은 향상된 프라이버시 보호에 의해, 혼합된 전송자와 수신자 간의 다수의 트랜잭션의 동시 실행을 가능하게 한다. 즉, 전송자 아이덴티티 및 수신자 아이덴티티는 대중으로부터 숨겨진다. 각각의 참여자의 트랜잭션 금액은 0보다 더 클 수 있거나 또는 더 작을 수 있다. 양의 트랜잭션 금액은 참여자의 계정이 이 금액을 지출하는 것을 나타내고, 반면에 음의 트랜잭션 금액은 계정이 이 금액을 수신하는 것을 나타낸다. 또한, 본 개시내용이 또한 동형 암호화, 동형 커밋, 또는 다른 암호화 기법을 사용하여 트랜잭션 내 각각의 계정의 잔액 및 트랜잭션 금액을 암호화할 수도 있어서, 비참여자가 트랜잭션 금액이 양 또는 음인지 또는 트랜잭션 금액 또는 잔액의 실제 수치인지 아는 것을 불가능하게 하여, 비참여자가 누가 전송자이고 누가 수신자인지 식별하는 것을 방지한다.
도 4는 다양한 실시형태에 따른, 트랜잭션 실행을 위한 예시적인 방법(400)의 흐름도를 예시한다. 방법(400)은 예를 들어, 도 2의 블록체인 네트워크(200)의 하나 이상의 컴포넌트를 포함한 다양한 시스템에서 구현될 수도 있다. 예시적인 방법(400)은 노드(202) 및/또는 사용자 연산 장치(240) 중 하나 이상에 의해 구현될 수도 있다. 하나의 실시예에서, 방법(400)은 조직자 노드(예를 들어, 노드(202) 중 하나)에 의해 구현될 수도 있다. 또 다른 실시예에서, 방법(400)은 트랜잭션을 수행하는 하나 이상의 노드(예를 들어, 노드(202))에 의해 구현될 수도 있다. 아래에 제시된 방법(400)의 동작은 예시적인 것으로 의도된다. 구현예에 따라, 예시적인 방법(400)은 다양한 순서로 또는 동시에 수행되는 부가적인, 더 적은 또는 대안적인 단계를 포함할 수도 있다.
블록(401)은 복수의 계정(예를 들어, A_1, A_2, ..., A_n) 간의 트랜잭션과 연관된 복수의 암호화된 트랜잭션 금액(예를 들어, HE(t_1), HE(t_2),..., HE(t_n))을 획득하는 것을 포함하고, 암호화된 트랜잭션 금액의 각각은 트랜잭션 금액 중 하나의 트랜잭션 금액을 전송 또는 수신하는 계정 중 하나의 계정과 연관되고, 그리고 트랜잭션 금액의 각각의 암호화는 적어도 하나의 계정이 트랜잭션 금액 중 하나의 트랜잭션 금액을 전송 또는 수신하는지를 숨긴다.
일부 실시형태에서, 암호화는 조직 노드에 의해 또는 트랜잭션의 전송자 또는 수신자로서 작용하는 노드에 의해 수행될 수도 있고 그리고 조직 노드에 의해 수신될 수도 있다. 다양한 암호화 방법이 트랜잭션 금액을 암호화하도록 사용될 수도 있다. 트랜잭션 금액의 각각의 암호화는 동형 암호화를 포함한다. 예를 들어, 트랜잭션 금액의 각각의 암호화는 동형 암호화 또는 동형 커밋 기법(예를 들어, 페데르센 커밋 기법)일 수도 있다.
일부 실시형태에서, 2개 이상의 계정 간의 자산 이체는 전송자 계정 또는 수신자 계정과 각각 연관된 복수의 트랜잭션으로 분리될 수도 있다. 각각의 계정은 노드(202) 중 하나의 노드와 연관될 수도 있다. 예를 들어, 계정 A로부터 계정 B로의 100달러의 자산 이체는 계정 A가 100달러를 지불하는 것을 나타내는 계정 A와 연관된 +100달러의 제1 트랜잭션을 포함할 수도 있고 그리고 계정 B가 100달러를 수신하는 것을 나타내는 계정 B와 연관된 -100달러의 제2 트랜잭션을 포함할 수도 있다. 또 다른 예를 들면, 계정 A로부터 계정 B로의 100달러의 자산 이체와 계정 A로부터 계정 C로의 80달러의 자산 이체는, 계정 A가 180달러를 지불하는 것을 나타내는 계정 A와 연관된 +100달러의 제1 트랜잭션을 포함할 수도 있고, 계정 B가 100달러를 수신하는 것을 나타내는 계정 B와 연관된 -100달러의 제2 트랜잭션을 포함할 수도 있고, 계정 A가 80달러를 지불하는 것을 나타내는 계정 A와 연관된 +80달러의 제3 트랜잭션을 포함할 수도 있고, 그리고 계정 C가 80달러를 수신하는 것을 나타내는 계정 C와 연관된 -80달러의 제3 트랜잭션을 포함할 수도 있다. "+"와 "-"는 반전될 수도 있거나 또는 임의의 다른 대안적인 표현으로 변경될 수도 있다. 또한, 나타낸 바와 같이, 계정 중 2개는 계정이 다수의 계정에 지출하거나 또는 다수의 계정으로부터 수신할 때 동일할 수도 있다.
또한, 일부 실시형태에서, 트랜잭션 금액의 각각의 암호화는 적어도, 하나의 계정이, 트랜잭션 금액이 하나의 계정에 대해 인바운드(예를 들어, 자산을 수신) 또는 아웃바운드(예를 들어, 자산을 전송)되는지를 숨김으로써 트랜잭션 금액 중 하나의 트랜잭션 금액을 전송 또는 수신하는지를 숨긴다. 계정 A로부터 계정 B로의 100달러의 자산 이체와 계정 A로부터 계정 C로의 80달러의 자산 이체의 실시예에서, 암호화에 의해, 전송자 또는 수신자 아이덴티티, 예컨대, 트랜잭션 금액 "+180달러"의 "+" 및 트랜잭션 금액 "-100달러" 및 "-80달러"의 "-"가 제거될 수도 있다. 즉, 암호화된 트랜잭션 금액은 전송자 또는 수신자 아이덴티티를 나타내는 정보를 포함하지 않을 것이다. 암호화된 트랜잭션 금액이 (반드시 그런 것은 아니지만) "+" 또는 "-" 부호를 포함할 수도 있지만, 부호는 더 이상 전송자 또는 수신자 아이덴티티를 정확하게 나타내지 않을 수 있다. 따라서, 전송자 아이덴티티와 수신자 아이덴티티는 대중으로부터 보호된다.
임의의 블록(402)은 트랜잭션에 수반된 계정에 대한 복수의 범위 증명(예를 들어, Pf_1, Pf_2, ..., Pf_n)을 각각 획득하는 것을 포함하고, 범위 증명은 적어도 트랜잭션 금액을 전송하는 계정의 각각이 충분한 자산을 갖는 것을 나타낸다. 상세사항은 위에 설명된 Pf_i를 참조할 수 있다.
블록(403)은 획득된 암호화된 트랜잭션 금액에 기초하여 합 증명(예를 들어, Pf_sum)을 생성하는 것을 포함하고, 합 증명은 적어도 트랜잭션 금액이 균형을 이루는 것을 나타낸다. 상세사항은 위에 설명된 Pf_sum을 참조할 수 있다. 예를 들어, 조직자 노드는 암호화된 트랜잭션 금액을 획득할 수도 있고 그리고 HE(t_1) * ...* HE(t_n) = Hr-1 * Hr-2 * ...* Hr-n = Hr인지를 결정할 수도 있다. HE(t_1) * ...* HE(t_n) = Hr이라면, 이것은 t_1 + t_2 + ...+ t_n = 0을 나타내고, 따라서 조직 노드는 트랜잭션 금액이 균형을 이루는 것을 검증한다. 그렇지 않으면, 트랜잭션 금액은 균형을 이루지 않고, 그리고 조직 노드는 트랜잭션을 거부할 수도 있다. 암호화 및 암호화의 동형 특성에 의해, 조직 노드는 심지어 기저 트랜잭션 금액 및, 기저 트랜잭션 금액이 인바운드 또는 아웃바운드인지를 아는 일없이 이러한 검증을 수행할 수도 있다.
임의의 블록(404)은 계정에 대한 복수의 서명(예를 들어, Sig_1, Sig_2, ..., Sig_n)을 각각 획득하는 것을 포함한다. 서명은 암호화된 트랜잭션 금액, 범위 증명, 및 합 증명 중 적어도 하나와 연관된다. 상세사항은 위에 설명된 Sig_i를 참조할 수 있다. 서명은, 타원 곡선 디지털 서명 알고리즘(Elliptic Curve Digital Signature Algorithm: ECDSA)과 같은 디지털 서명 알고리즘(Digital Signature Algorithm: DSA)을 따를 수도 있으며, 서명의 수신자(예를 들어, 트랜잭션을 유효성 확인하는 노드)는 서명자(예를 들어, 트랜잭션에 참여하는 노드)의 공개 키로 그 서명을 검증하여 서명된 데이터를 인증할 수 있다.
블록(405)은 노드가 트랜잭션을 검증하도록 암호화된 트랜잭션 금액과 합 증명을 블록체인 네트워크의 하나 이상의 노드(예를 들어, 합의 노드)로 전송하는 것을 포함한다. 일부 실시형태에서, 노드가 트랜잭션을 검증하도록 암호화된 트랜잭션 금액과 합 증명을 블록체인 네트워크의 하나 이상의 노드로 전송하는 것은, 노드가 암호화된 트랜잭션 금액, 범위 증명, 합 증명, 및 서명에 기초하여 트랜잭션을 검증하도록 암호화된 트랜잭션 금액, 범위 증명, 합 증명, 및 서명을 블록체인 네트워크의 하나 이상의 노드로 전송하는 것을 포함한다.
일부 실시형태에서, 노드가 암호화된 트랜잭션 금액, 범위 증명, 합 증명, 및 서명에 기초하여 트랜잭션을 검증하도록 암호화된 트랜잭션 금액, 범위 증명, 합 증명, 및 서명을 블록체인 네트워크의 하나 이상의 노드로 전송하는 것은, 암호화된 트랜잭션 금액, 범위 증명, 합 증명, 및 서명을 블록체인 네트워크의 하나 이상의 노드로 전송하는 것; 및 노드가 암호화된 트랜잭션 금액, 범위 증명, 합 증명, 및 서명을 유효성 확인하게 하고, 트랜잭션을 성공적으로 검증하는 것에 응답하여 트랜잭션을 실행하게 하고, 그리고 블록체인 네트워크에 의해 유지된 블록체인의 새로운 데이터 블록에 트랜잭션을 추가하게 하는 것을 포함한다. 암호화 및 암호화의 동형 특성에 의해, 노드는 심지어 기저 트랜잭션 금액 및, 기저 트랜잭션 금액이 인바운드 또는 아웃바운드인지를 아는 일없이 이러한 유효성 확인을 수행할 수도 있다.
일부 실시형태에서, 트랜잭션을 성공적으로 검증한 것에 응답하여 노드가 트랜잭션을 실행하게 하는 것은, 트랜잭션을 성공적으로 검증한 것에 응답하여 노드가 이에 대응하여 계정의 암호화된 계정 잔액(예를 들어, S_i)으로부터 암호화된 트랜잭션 금액(T_i)을 공제하게 하는 것을 포함한다. 동형 특성에 기인하여, (S_i - T_i)는 잔액이 암호화된 것을 유지하면서 트랜잭션에 따라 잔액을 업데이트할 수 있다.
이와 같이, 개시된 시스템 및 방법은 어떤 계정이 전송자인지 그리고 어떤 계정이 수신자인지를 밝히는 일없이 트랜잭션이 참여 계정 간에 실행되게 한다. 기저 트랜잭션 금액이 0보다 더 크거나 또는 더 작아서 전송자와 수신자를 나타낼 수 있지만, 맞춤 암호화가 트랜잭션 금액을 숨기도록 사용될 수 있어서 트랜잭션 금액이 비참여자에 의해 전송자 또는 수신자를 나타내도록 사용될 수 없다. 또한, 다수의 트랜잭션 내 참여 계정은 참여 계정이 자산을 전송 또는 수신하는지를 나타내는 일없이, 임의의 순서로 함께 혼합될 수도 있다. 그리고 다수의 트랜잭션 또는 자산 이체가 일괄적으로 실행될 수 있다. 이 방식으로, 참여 계정의 프라이버시 보호가 달성되고, 이는 컴퓨터의 기능을 개선시키고 그리고 온라인 트랜잭션을 더 안전하게 만든다.
도 5는 다양한 실시형태에 따른, 트랜잭션 실행을 위한 또 다른 예시적인 방법(500)의 흐름도를 예시한다. 방법(500)은 예를 들어, 도 2의 블록체인 네트워크(200)의 하나 이상의 컴포넌트를 포함한 다양한 시스템에서 구현될 수도 있다. 예시적인 방법(500)은 노드(202) 및/또는 사용자 연산 장치(240) 중 하나 이상에 의해 구현될 수도 있다. 아래에 제시된 방법(500)의 동작은 예시적인 것으로 의도된다. 구현예에 따라, 예시적인 방법(500)은 다양한 순서로 또는 동시에 수행되는 부가적인, 더 적은 또는 대안적인 단계를 포함할 수도 있다.
블록(502)에서, 복수의 계정과 연관된 암호화된 트랜잭션, 트랜잭션의 각각에 대한 범위 증명, 트랜잭션의 합 증명, 및 트랜잭션, 범위 증명, 또는 합 증명 중 적어도 하나와 연관된 복수의 계정의 각각으로부터의 서명이 수신될 수도 있다.
블록(504)에서, 암호화된 트랜잭션, 트랜잭션의 각각에 대한 범위 증명, 트랜잭션의 합 증명, 및 복수의 계정의 각각으로부터의 서명이 유효성 확인될 수도 있다. 블록(506)에서, 트랜잭션은 복수의 계정의 각각의 잔액을 업데이트함으로써 유효성 확인에 기초하여 구현될 수도 있다.
도 6은 다양한 실시형태에 따른, 트랜잭션 유효성 확인을 위한 예시적인 방법(600)의 흐름도를 예시한다. 방법(600)은 예를 들어, 도 2의 블록체인 네트워크(200)의 하나 이상의 컴포넌트를 포함한 다양한 시스템에서 구현될 수도 있다. 예시적인 방법(600)은 노드(202) 및/또는 사용자 연산 장치(240) 중 하나 이상에 의해 구현될 수도 있다. 예를 들어, 방법(600)은 방법(500)의 블록(504)에 대응할 수도 있다. 아래에 제시된 방법(600)의 동작은 예시적인 것으로 의도된다. 구현예에 따라, 예시적인 방법(600)은 다양한 순서로 또는 동시에 수행되는 부가적인, 더 적은 또는 대안적인 단계를 포함할 수도 있다.
블록(602)에서, 서명이 유효한지가 결정될 수도 있다. 임의의 서명이 유효하지 않다고 결정된다면, 블록(604)에서, 트랜잭션이 거부될 수도 있다. 서명의 각각이 유효하다고 결정된다면, 블록(606)에서, 트랜잭션의 각각에 대한 범위 증명이 유효한지가 결정될 수도 있다. 임의의 범위 증명이 유효하지 않다고 결정된다면, 방법(600)은 블록(604)으로 진행되고 그리고 트랜잭션이 거부될 수도 있다. 범위 증명의 각각이 유효하다고 결정된다면, 블록(608)에서, 합 증명이 유효한지가 결정될 수도 있다. 합 증명이 유효하지 않다고 결정된다면, 방법(600)은 블록(604)으로 진행되고 그리고 트랜잭션이 거부될 수도 있다. 합 증명이 유효하다고 결정된다면, 방법(600)은 블록(610)으로 진행되고 그리고 각각의 계정의 잔액은 계정과 연관된 트랜잭션 금액에 기초하여 업데이트될 수도 있다. 위의 설명은 유효성 확인을 순서대로 설명한다. 당업자는 유효성 확인이 임의의 순서를 가질 수 있다는 것을 이해해야 한다.
본 명세서에서 설명하는 기술은 하나 이상의 전용 연산 장치에 의해 구현된다. 전용 연산 장치는, 기술을 구현하도록 유선 및/또는 프로그램 로직을 통합하는, 데스크톱 컴퓨터 시스템, 서버 컴퓨터 시스템, 휴대용 컴퓨터 시스템, 핸드헬드 장치, 네트워킹 장치, 또는 다른 임의의 장치 또는 장치들의 조합일 수도 있다.
도 7은 본 명세서에 설명된 임의의 실시형태가 구현될 수도 있는 예시적인 컴퓨터 시스템(700)을 예시하는 블록도이다. 시스템(700)은 도 2를 참조하여 위에서 설명된 노드(202) 또는 사용자 연산 장치(240)에 대응할 수도 있다. 컴퓨터 시스템(700)은 정보를 전달하기 위한 버스(702) 또는 다른 통신 메커니즘, 정보를 처리하도록 버스(702)와 연결된 하나 이상의 하드웨어 프로세서(704)를 포함한다. 하드웨어 프로세서(들)(704)는 예를 들어, 하나 이상의 범용 마이크로프로세서일 수도 있다.
컴퓨터 시스템(700)은, 또한, 프로세서(704)에 의해 실행될 정보와 명령어를 저장하도록 버스(702)에 연결된, RAM, 캐시, 및/또는 다른 동적 저장 장치와 같은 메인 메모리(706)를 포함한다. 메인 메모리(706)는, 또한, 프로세서(704)에 의해 실행될 명령어의 실행 동안 임시 변수 또는 다른 중간 정보를 저장하기 위해 사용될 수 있다. 이러한 명령어는, 프로세서(704)가 액세스할 수 있는 저장 매체에 저장되는 경우, 컴퓨터 시스템(700)을 명령어에서 특정된 동작을 수행하도록 맞춤화된 전용 기계로 되게 한다. 컴퓨터 시스템(700)은, 프로세서(704)에 대한 정적 정보와 명령어를 저장하도록 버스(702)에 연결된 ROM(708) 또는 다른 정적 저장 장치를 더 포함한다. 제공되어 정보와 명령어를 저장하도록 자기 디스크, 광 디스크, 또는 USB 섬 드라이브(플래시 드라이브) 등의 저장 장치(710)가 제공되어 버스(702)에 연결된다.
컴퓨터 시스템(700)은, 컴퓨터 시스템과 함께 컴퓨터 시스템(700)을 전용 기계로 되게 하거나 전용 기계로 되도록 프로그래밍하는 맞춤형 유선 로직, 하나 이상의 ASIC 또는 FPGA, 펌웨어, 및/또는 프로그램 로직을 사용하여 본 명세서에서 설명하는 기술을 구현할 수 있다. 하나의 실시형태에 따르면, 본 명세서에서 설명하는 동작, 방법, 및 프로세스는, 메인 메모리(706)에 포함된 하나 이상의 명령어의 하나 이상의 시퀀스를 실행하는 프로세서(들)(704)에 응답하여 컴퓨터 시스템(700)에 의해 수행된다. 이러한 명령어는, 저장 장치(710) 등의 다른 저장 매체로부터 메인 메모리(706)로 판독될 수 있다. 메인 메모리(706)에 포함된 명령어들의 시퀀스들의 실행은, 프로세서(들)(704)가 본 명세서에서 설명하는 프로세스 단계들을 수행하게 한다. 대체 실시형태에서는, 소프트웨어 명령어 대신 또는 소프트웨어 명령어와 함께 유선 회로를 사용할 수 있다.
프로세서(들)(704)는 위에서 설명된 프로세서(204)에 대응할 수도 있고, 그리고 메인 메모리(706), ROM(708), 및/또는 저장 장치(710)는 위에서 설명된 메모리(206)에 대응할 수도 있다. 메인 메모리(706), ROM(708), 및/또는 저장 장치(710)는 비일시적 저장 매체를 포함할 수 있다. "비일시적 매체"라는 용어 및 이와 유사한 용어는, 본 명세서에서 사용되는 바와 같이, 기계가 특정 방식으로 동작하게 하는 데이터 및/또는 명령어를 저장하는 임의의 매체를 나타낸다. 이러한 비일시적 매체는 비휘발성 매체 및/또는 휘발성 매체를 포함할 수 있다. 비휘발성 매체는, 예를 들어, 저장 장치(710)와 같은 광학 또는 자기 디스크를 포함한다. 휘발성 매체는 메인 메모리(706)와 같은 동적 메모리를 포함한다. 비일시적 매체의 일반적인 형태는, 예를 들어, 플로피 디스크, 플렉시블 디스크, 하드 디스크, 솔리드 스테이트 드라이브, 자기 테이프, 또는 다른 임의의 자기 데이터 저장 매체, CD-ROM, 다른 임의의 광 데이터 저장 매체, 구멍 패턴이 있는 임의의 물리적 매체, RAM, PROM, EPROM, FLASH-EPROM, NVRAM, 다른 임의의 메모리 칩이나 카트리지, 및 이들의 네트워크화된 버전을 포함한다.
컴퓨터 시스템(700)은, 또한, 버스(702)에 연결된 통신 인터페이스(718)를 포함한다. 통신 인터페이스(718)는, 하나 이상의 로컬 네트워크에 접속된 하나 이상의 네트워크 링크에 양방향 데이터 통신 연결을 제공한다. 예를 들어, 통신 인터페이스(718)는, 종합 정보 통신망(ISDN) 카드, 케이블 모뎀, 위성 모뎀 또는 대응하는 유형의 전화선에 데이터 통신 접속을 제공하는 모뎀일 수 있다. 다른 일례로, 통신 인터페이스(718)는, 호환성 LAN(또는 WAN과 통신하기 위한 WAN 구성요소)에 데이터 통신 접속을 제공하기 위한 근거리 통신망(LAN) 카드일 수 있다. 무선 링크도 구현될 수 있다. 이러한 임의의 구현예에서, 통신 인터페이스(718)는, 다양한 유형의 정보를 나타내는 디지털 데이터 스트림을 반송하는 전기 신호, 전자기 신호, 또는 광 신호를 전송 및 수신한다.
컴퓨터 시스템(700)은, 네트워크(들), 네트워크 링크, 및 통신 인터페이스(718)를 통해 메시지를 전송할 수 있고 프로그램 코드를 포함하는 데이터를 수신할 수 있다. 인터넷 예에서, 서버는, 인터넷, ISP, 로컬 네트워크, 및 통신 인터페이스(718)를 통해 애플리케이션 프로그램에 대한 요청 코드를 전송할 수 있다.
수신된 코드는, 수신될 때 및/또는 나중에 실행하도록 저장 장치(710) 또는 다른 비휘발성 저장 장치에 저장될 때 프로세서(704)에 의해 실행될 수 있다.
전술한 섹션들에서 설명한 기법, 메커니즘, 해결책, 프로세스, 방법, 및 알고리즘의 각각은, 하나 이상의 컴퓨터 시스템 또는 컴퓨터 하드웨어를 포함하는 컴퓨터 프로세서에 의해 실행되는 코드 모듈로 구체화될 수 있고, 이러한 코드 모듈에 의해 완전히 또는 부분적으로 자동화될 수 있다. 프로세스와 알고리즘은 애플리케이션 특정 회로에서 부분적으로 또는 전체적으로 구현될 수 있다. 일부 실시형태에서, 프로세서(들)(704)는 위에서 설명된 하나 이상의 논리 회로로서 부분적으로 또는 전적으로 구현될 수도 있다.
전술한 다양한 특징과 프로세스는, 서로 독립적으로 사용될 수 있고, 또는 다양한 방식으로 결합될 수 있다. 모든 가능한 조합과 부조합은 본 개시내용의 범위 내에 속한다. 또한, 일부 구현예에서는 소정의 방법 또는 프로세스 블록이 생략될 수 있다. 또한, 본 명세서에서 설명하는 방법과 프로세스는 임의의 특정 시퀀스로 한정되지 않으며, 이에 관련된 블록 또는 상태는 적절한 다른 시퀀스로 수행될 수 있다. 예를 들어, 설명한 블록 또는 상태는 특정하게 개시된 순서와는 다른 순서로 수행될 수 있고, 또는 다수의 블록 또는 상태가 단일 블록 또는 상태로 결합될 수 있다. 예시적인 블록들 또는 상태들은, 직렬, 병렬, 또는 다른 임의의 방식으로 수행될 수 있다. 블록 또는 상태는, 개시된 예시적인 실시형태에 추가되거나 이러한 실시형태로부터 제거될 수 있다. 본 명세서에서 설명하는 예시적인 시스템과 구성요소는 설명과는 다르게 구성될 수 있다. 예를 들어, 개시된 예시적인 실시형태와 비교하여 요소를 추가, 제거, 또는 재배치할 수 있다.
본 명세서에서 설명하는 예시적인 방법의 다양한 동작은 알고리즘에 의해 적어도 부분적으로 수행될 수 있다. 알고리즘은, 메모리(예컨대, 전술한 비일시적 컴퓨터 판독가능 저장 매체)에 저장된 프로그램 코드 또는 명령어로 구성될 수 있다. 이러한 알고리즘은 기계 학습 알고리즘을 포함할 수 있다. 일부 실시형태에서, 기계 학습 알고리즘은, 기능을 수행하도록 컴퓨터를 명시적으로 프로그래밍하지 않을 수도 있지만, 그 기능을 수행하는 예측 모델을 형성하도록 훈련 데이터로부터 학습할 수 있다.
본 명세서에서 설명하는 예시적인 방법들의 다양한 동작은, 관련 동작을 수행하도록 (예컨대, 소프트웨어에 의해) 일시적으로 구성된 또는 영구적으로 구성된 하나 이상의 프로세서에 의해 적어도 부분적으로 수행될 수 있다. 일시적으로 또는 영구적으로 구성되어 있는지 여부에 관계없이, 이러한 프로세서는, 본 명세서에서 설명하는 하나 이상의 동작 또는 기능을 수행하도록 동작하는 프로세서 구현 엔진을 구성할 수 있다.
유사하게, 본 명세서에서 설명하는 방법들은 적어도 부분적으로 프로세서로 구현될 수 있으며, 특정 프로세서 또는 프로세서들은 하드웨어의 일례이다. 예를 들어, 방법의 동작들 중 적어도 일부는 하나 이상의 프로세서 또는 프로세서 구현 엔진에 의해 수행될 수 있다. 또한, 하나 이상의 프로세서는, "클라우드 연산" 환경 또는 "서비스형 소프트웨어"(software as a service: SaaS)에서의 관련 동작의 성능을 지원하도록 또한 동작할 수 있다. 예를 들어, 적어도 일부 동작은 (프로세서를 포함하는 기계의 예로서) 컴퓨터들의 그룹에 의해 수행될 수 있으며, 이들 동작은, 네트워크(예컨대, 인터넷)를 통해 및 하나 이상의 적절한 인터페이스(예컨대, 애플리케이션 프로그램 인터페이스(Application Program Interface: API))를 통해 액세스될 수 있다.
소정의 동작의 성능은, 프로세서들 간에 분산될 수 있어서, 단일 시스템 내에 상주할 뿐만 아니라 다수의 기계에 걸쳐 배치될 수도 있다. 일부 예시적인 실시형태에서, 프로세서 또는 프로세서 구현 엔진은, 단일 지리적 위치에(예컨대, 가정 환경, 사무실 환경, 또는 서버 팜 내) 위치할 수 있다. 다른 예시적인 실시형태에서, 프로세서 또는 프로세서 구현 엔진은 다수의 지리적 위치에 걸쳐 분산될 수 있다.
본 명세서 전체에 걸쳐, 복수의 인스턴스는, 단일 인스턴스로 설명된 구성요소, 동작, 또는 구조를 구현할 수 있다. 하나 이상의 방법의 개별적인 동작이 별개의 동작으로서 도시되고 설명되었지만, 하나 이상의 개별적인 동작은, 동시에 수행될 수 있고, 동작들이 도시된 순서대로 수행될 필요는 없다. 예시적인 구성에서 별개의 구성요소로서 제시된 구조와 기능은 결합된 구조 또는 구성요소로서 구현될 수 있다. 유사하게, 단일 구성요소로서 제시된 구조와 기능은 별개의 구성요소들로서 구현될 수 있다. 이러한 변형, 수정, 추가, 개선, 및 다른 변형, 수정, 추가, 개선은, 본 명세서의 대상 범위 내에 있다.
본 명세서에서 설명되고/되거나 첨부된 도면에 도시된 흐름도 내 임의의 과정 설명, 구성요소, 또는 블록은 과정 내 특정한 논리 기능 또는 단계를 구현하기 위한 하나 이상의 실행 가능한 명령어를 포함하는 코드의 모듈, 세그먼트, 또는 부분을 잠재적으로 나타내는 것으로 이해되어야 한다. 대안적인 구현예는 당업자가 이해할 바와 같이, 구성요소 또는 기능이 삭제될 수도 있고, 수반된 기능에 따라, 실질적으로 동시에 또는 반전 순서로를 포함하여, 도시 또는 논의되는 뒤바뀐 순서로 실행될 수도 있는, 본 명세서에서 설명된 실시형태의 범위 내에 포함된다.
특정한 예시적인 실시형태를 참조하여 대상의 개요를 설명하였지만, 본 개시내용의 실시형태의 더욱 넓은 범위를 벗어나지 않으면서 이들 실시형태에 대한 다양한 수정과 변경을 행할 수 있다. 대상의 이러한 실시형태들은, 본 명세서의 범위를, 사실 하나보다 많은 개시내용이 있지만 임의의 단일 개시내용이나 개념으로 자발적으로 제한하려 하지 않고서 단지 편의상 본 명세서에서 "발명"이라는 용어로 개별적으로 또는 총괄적으로 칭할 수 있다.
본 명세서에 예시된 실시형태가 충분히 상세히 설명되어 당업자가 개시된 교시내용을 실행 가능하게 한다. 다른 실시형태가 이로부터 사용 및 도출될 수도 있어서, 구조적 대체 및 논리적 대체 및 변경이 본 개시내용의 범위로부터 벗어나는 일없이 행해질 수도 있다. 따라서, 상세한 설명은 제한적인 의미로 받아들여서는 안 되며, 다양한 실시형태의 범위는, 이러한 청구항들에 부여되는 균등물의 전체 범위와 함께 청구범위에 의해서만 정의된다.

Claims (20)

  1. 제 1 블록 체인 노드 및 하나 이상의 제 2 블록 체인 노드를 포함하는 정보 보호 시스템으로서,
    상기 제 1 블록 체인 노드는;
    블록 체인 컴퓨터 네트워크에 있는 복수의 블록 체인 계정 사이의 하나 이상의 미실행 트랜잭션의 복수의 트랜잭션 금액(transaction amounts)을 수신하는 것으로서, 상기 복수의 트랜잭션 금액의 각각은 상기 복수의 블록 체인 계정 중 하나에 대해 인바운드 또는 아웃 바운드인, 복수의 트랜잭션 금액을 수신하는 것;
    동형 암호화(homomorphic encryption) 프로세스에 따라, 상기 복수의 트랜잭션 금액의 각각을 암호화하는 것으로서, 상기 복수의 트랜잭션 금액의 각각의 암호화는 상기 복수의 트랜잭션 금액의 각각이 인바운드인지 또는 아웃 바운드인지를 적어도 은폐하는 것인, 상기 복수의 트랜잭션 금액의 각각을 암호화하는 것;
    복수의 암호화된 트랜잭션 금액을 포함하는 시퀀스의 곱이 Hr인 합 증명(sum proof)을 생성하는 것으로서, H는 공개적으로 알려진 매개변수이고, r은 난수이며, 상기 합 증명은 적어도 상기 복수의 트랜잭션 금액이 균형을 이룬다는 것을 나타내는, 상기 합 증명을 생성하는 것;
    상기 복수의 계정의 각각으로부터 디지털 서명을 획득함으로써 복수의 디지털 서명을 획득하는 것으로서, 상기 디지털 서명은 상기 합 증명 및 상기 복수의 계정과 연관된 상기 복수의 암호화된 트랜잭션 금액을 적어도 포함하는 조합의 승인을 나타내는, 복수의 디지털 서명을 획득하는 것; 및
    상기 블록 체인 컴퓨터 네트워크를 통해, 상기 복수의 암호화된 트랜잭션 금액, 상기 복수의 디지털 서명 및 상기 합 증명을 상기 블록 체인 컴퓨터 네트워크의 상기 하나 이상의 제 2 블록 체인 노드로 전송하는 것
    을 수행하도록 구성되고,
    상기 하나 이상의 제 2 블록 체인 노드는, 상기 복수의 트랜잭션 금액의 각각이 인바운드인지 또는 아웃바운드인지 여부에 대한 정보를 수신하지 않고, 상기 복수의 암호화된 트랜잭션 금액, 상기 복수의 디지털 서명, 및 상기 합 증명에 근거하여 상기 하나 이상의 미실행 트랜잭션을 검증하도록 구성되며,
    상기 제 1 블록 체인 노드와 상기 하나 이상의 제 2 블록 체인 노드는:
    검증된 하나 이상의 미실행 트랜잭션을 상기 블록 체인 컴퓨터 네트워크 상의 블록 체인에 추가하고;
    상기 동형 암호화 프로세스에 따라 암호화된 상기 복수의 블록 체인 계정의 복수의 잔액에 대응적으로 상기 복수의 암호화된 트랜잭션 금액을 추가하여 상기 블록 체인을 업데이트하도록 구성되는, 정보 보호 시스템.
  2. 제 1항에 있어서,
    상기 복수의 블록 체인 계정의 각각의 현재 잔액은 상기 동형 암호화 프로세스에 따라 암호화되고,
    상기 하나 이상의 제 2 블록 체인 노드는, 상기 복수의 트랜잭션 금액의 각각이 인바운드인지 또는 아웃 바운드인지에 대한 정보를 수신하지 않고, 대응하는 암호화된 트랜잭션 금액에 근거하여 상기 현재 잔액을 업데이트하도록 구성되는, 정보 보호 시스템.
  3. 제 1항에 있어서,
    상기 제 1 블록 체인 노드는, 상기 복수의 암호화된 트랜잭션 금액과 상기 합 증명을 상기 블록 체인 컴퓨터 네트워크의 상기 하나 이상의 제 2 블록 체인 노드에 전송하기 전에, 상기 복수의 블록 체인 계정에 대한 복수의 범위 증명(range proof)을 각각 획득하도록 구성되되, 상기 복수의 범위 증명은 아웃 바운드 트랜잭션 금액에 대응하는 각 블록 체인 계정이 대응하는 아웃 바운드 트랜잭션에 대한 충분한 자산을 가지고 있음을 적어도 나타내는, 정보 보호 시스템.
  4. 제 3항에 있어서,
    상기 제 1 블록 체인 노드 및 상기 하나 이상의 제 2 블록 체인 노드는 상기 복수의 블록 체인 계정에 대응하는 상기 복수의 디지털 서명, 상기 복수의 암호화된 트랜잭션 금액, 상기 합 증명 및 상기 복수의 범위 증명을 포함하는 검증된 상기 하나 이상의 미실행 트랜잭션을 상기 블록 체인 컴퓨터 네트워크 상의 상기 블록 체인에 추가하도록 구성되는, 정보 보호 시스템.
  5. 제 1항에 있어서,
    상기 복수의 트랜잭션 금액 중 둘 이상은 동일한 블록 체인 계정에 대해 인바운드 또는 아웃 바운드인, 정보 보호 시스템.
  6. 제 1항에있어서,
    상기 동형 암호화 프로세스는 페데르센 커밋 기법에 기반하는, 정보 보호 시스템.
  7. 하나 이상의 프로세서에 의해 실행 가능한 명령어를 저장하는 비일시적 컴퓨터 판독 가능 저장 매체로서, 상기 명령어의 실행은 상기 하나 이상의 프로세서로 하여금 동작을 수행하도록 하며, 상기 동작은,
    블록 체인 컴퓨터 네트워크에 있는 복수의 블록 체인 계정 사이의 하나 이상의 미실행 트랜잭션의 복수의 트랜잭션 금액을 수신하는 단계로서, 상기 복수의 트랜잭션 금액의 각각은 상기 복수의 블록 체인 계정 중 하나에 대해 인바운드 또는 아웃 바운드인, 상기 복수의 트랜잭션 금액을 수신하는 단계;
    동형 암호화 프로세스에 따라, 상기 복수의 트랜잭션 금액의 각각을 암호화하는 단계로서, 상기 복수의 트랜잭션 금액의 각각의 암호화는 상기 복수의 트랜잭션 금액의 각각이 인바운드인지 또는 아웃 바운드인지를 적어도 은폐하는 것인, 상기 복수의 트랜잭션 금액의 각각을 암호화하는 단계;
    복수의 암호화된 트랜잭션 금액을 포함하는 시퀀스의 곱이 Hr인 합 증명을 생성하는 단계로서, H는 공개적으로 알려진 매개변수이고, r은 난수이며, 상기 합 증명은 적어도 상기 복수의 트랜잭션 금액이 균형을 이룬다는 것을 나타내는, 상기 합 증명을 생성하는 단계;
    상기 복수의 계정의 각각으로부터 디지털 서명을 획득함으로써 복수의 디지털 서명을 획득하는 단계로서, 상기 디지털 서명은 상기 합 증명 및 상기 복수의 계정과 연관된 상기 복수의 암호화된 트랜잭션 금액을 적어도 포함하는 조합의 승인을 나타내는, 상기 복수의 디지털 서명을 획득하는 단계;
    상기 블록 체인 컴퓨터 네트워크를 통해, 상기 복수의 암호화된 트랜잭션 금액, 상기 복수의 디지털 서명 및 상기 합 증명을 상기 블록 체인 컴퓨터 네트워크의 블록 체인에 저장하는 단계; 및
    상기 동형 암호화 프로세스에 따라 암호화된 상기 복수의 블록 체인 계정의 복수의 잔액에 대응적으로 상기 복수의 암호화된 트랜잭션 금액을 추가하여 상기 블록 체인을 업데이트하는 단계를 포함하는, 비일시적 컴퓨터 판독 가능 저장 매체.
  8. 제 7항에 있어서,
    상기 복수의 암호화된 트랜잭션 금액, 상기 복수의 디지털 서명 및 상기 합 증명을 상기 블록 체인에 저장하는 단계는, 상기 복수의 암호화된 트랜잭션 금액과 상기 합 증명을 상기 블록 체인 컴퓨터 네트워크의 하나 이상의 블록 체인 노드로 전송하여, 상기 하나 이상의 블록 체인 노드가 (1) 상기 복수의 트랜잭션 금액의 각각이 인바운드인지 또는 아웃 바운드인지에 대한 정보를 수신하지 않고 상기 하나 이상의 미실행 트랜잭션을 검증하고 (2) 상기 복수의 암호화된 트랜잭션 금액에 대응하는 검증된 트랜잭션을 상기 블록 체인에 추가하도록 하는 단계를 포함하는, 비일시적 컴퓨터 판독 가능 저장 매체.
  9. 제 7항에 있어서,
    상기 복수의 블록 체인 계정의 업데이트된 잔액은 동형 암호화 프로세스에 근거하여 암호화된 상태로 유지되며, 상기 복수의 트랜잭션 금액의 각각이 인바운드인지 아웃 바운드인지 여부를 은폐하는, 비일시적 컴퓨터 판독 가능 저장 매체.
  10. 제 7항에 있어서,
    상기 블록 체인 컴퓨터 네트워크를 통해, 상기 복수의 암호화된 트랜잭션 금액, 상기 복수의 디지털 서명 및 상기 합 증명을 상기 블록 체인 컴퓨터 네트워크의 블록 체인에 저장하는 단계 전에, 상기 동작은,
    상기 복수의 블록 체인 계정에 대한 복수의 범위 증명을 각각 획득하는 단계를 더 포함하되, 상기 복수의 범위 증명은 아웃 바운드 트랜잭션 금액에 대응하는 각 블록 체인 계정이 대응하는 아웃 바운드 트랜잭션에 대한 충분한 자산을 가지고 있음을 적어도 나타내는, 비일시적 컴퓨터 판독 가능 저장 매체.
  11. 제 10항에 있어서,
    상기 복수의 블록 체인 계정에 각각 대응하는 상기 복수의 디지털 서명은 상기 복수의 암호화된 트랜잭션 금액, 상기 복수의 범위 증명 및 상기 합 증명의 조합을 인증하고;
    상기 블록 체인 컴퓨터 네트워크를 통해, 상기 복수의 암호화된 트랜잭션 금액, 상기 복수의 디지털 서명 및 상기 합 증명을 상기 블록 체인 컴퓨터 네트워크의 블록 체인에 저장하는 단계는 상기 복수의 암호화된 트랜잭션 금액, 상기 합 증명, 상기 복수의 범위 증명 및 상기 복수의 디지털 서명을 상기 블록 체인에 저장하는 단계를 포함하는, 비일시적 컴퓨터 판독 가능 저장 매체.
  12. 제 11항에 있어서,
    상기 복수의 암호화된 트랜잭션 금액, 상기 합 증명, 상기 복수의 범위 증명 및 상기 복수의 디지털 서명을 상기 블록 체인에 저장하는 단계는,
    상기 복수의 암호화된 트랜잭션 금액, 상기 합 증명, 상기 복수의 범위 증명 및 상기 복수의 디지털 서명을 상기 블록 체인 컴퓨터 네트워크의 하나 이상의 블록 체인 노드에 전송하여, 상기 하나 이상의 블록 체인 노드가, 상기 복수의 트랜잭션 금액의 각각이 인바운드인지 또는 아웃바운드인지 여부에 대한 정보를 수신하지 않고서, 상기 복수의 암호화된 트랜잭션 금액, 상기 합 증명, 상기 복수의 범위 증명 및 상기 복수의 디지털 서명에 근거하여 상기 하나 이상의 미실행 트랜잭션을 검증하도록 하는 단계를 포함하는, 비일시적 컴퓨터 판독 가능 저장 매체.
  13. 제 7항에 있어서,
    상기 복수의 트랜잭션 금액 중 둘 이상은 동일한 블록 체인 계정에 대해 인바운드 또는 아웃 바운드인, 비일시적 컴퓨터 판독 가능 저장 매체.
  14. 제 7항에있어서,
    상기 동형 암호화 프로세스는 페데르센 커밋 기법에 기반하는, 비일시적 컴퓨터 판독 가능 저장 매체.
  15. 컴퓨터 구현 정보 보호 방법으로서,
    블록 체인 컴퓨터 네트워크에 있는 복수의 블록 체인 계정 사이의 하나 이상의 미실행 트랜잭션의 복수의 트랜잭션 금액을 수신하는 단계로서, 상기 복수의 트랜잭션 금액의 각각은 상기 복수의 블록 체인 계정 중 하나에 대해 인바운드 또는 아웃 바운드인, 상기 복수의 트랜잭션 금액을 수신하는 단계;
    동형 암호화 프로세스에 따라, 상기 복수의 트랜잭션 금액의 각각을 암호화하는 단계로서, 상기 복수의 트랜잭션 금액의 각각의 암호화는 상기 복수의 트랜잭션 금액의 각각이 인바운드인지 또는 아웃 바운드인지를 적어도 은폐하는 것인, 상기 복수의 트랜잭션 금액의 각각을 암호화하는 단계;
    복수의 암호화된 트랜잭션 금액을 포함하는 시퀀스의 곱이 Hr인 합 증명을 생성하는 단계로서, H는 공개적으로 알려진 매개변수이고, r은 난수이며, 상기 합 증명은 적어도 상기 복수의 트랜잭션 금액이 균형을 이룬다는 것을 나타내는, 상기 합 증명을 생성하는 단계;
    상기 복수의 계정의 각각으로부터 디지털 서명을 획득함으로써 복수의 디지털 서명을 획득하는 단계로서, 상기 디지털 서명은 상기 합 증명 및 상기 복수의 계정과 연관된 상기 복수의 암호화된 트랜잭션 금액을 적어도 포함하는 조합의 승인을 나타내는, 상기 복수의 디지털 서명을 획득하는 단계;
    상기 블록 체인 컴퓨터 네트워크를 통해, 상기 복수의 암호화된 트랜잭션 금액, 상기 복수의 디지털 서명 및 상기 합 증명을 상기 블록 체인 컴퓨터 네트워크의 블록 체인에 저장하는 단계; 및
    상기 동형 암호화 프로세스에 따라 암호화된 상기 복수의 블록 체인 계정의 복수의 잔액에 대응적으로 상기 복수의 암호화된 트랜잭션 금액을 추가하여 상기 블록 체인을 업데이트하는 단계를 포함하는, 컴퓨터 구현 정보 보호 방법.
  16. 제 15항에 있어서,
    상기 복수의 암호화된 트랜잭션 금액, 상기 복수의 디지털 서명 및 상기 합 증명을 상기 블록 체인에 저장하는 단계는, 상기 복수의 암호화된 트랜잭션 금액과 상기 합 증명을 상기 블록 체인 컴퓨터 네트워크의 하나 이상의 블록 체인 노드로 전송하여, 상기 하나 이상의 블록 체인 노드가 (1) 상기 복수의 트랜잭션 금액의 각각이 인바운드인지 또는 아웃 바운드인지에 대한 정보를 수신하지 않고 상기 하나 이상의 미실행 트랜잭션을 검증하고 (2) 상기 복수의 암호화된 트랜잭션 금액에 대응하는 검증된 트랜잭션을 상기 블록 체인에 추가하도록 하는 단계를 포함하는, 컴퓨터 구현 정보 보호 방법.
  17. 제 15항에 있어서,
    상기 복수의 블록 체인 계정의 업데이트된 잔액은 동형 암호화 프로세스에 근거하여 암호화된 상태로 유지되며, 상기 복수의 트랜잭션 금액의 각각이 인바운드인지 아웃 바운드인지 여부를 은폐하는, 컴퓨터 구현 정보 보호 방법.
  18. 제 15항에 있어서,
    상기 블록 체인 컴퓨터 네트워크를 통해, 상기 복수의 암호화된 트랜잭션 금액, 상기 복수의 디지털 서명 및 상기 합 증명을 상기 블록 체인 컴퓨터 네트워크의 블록 체인에 저장하는 단계 전에,
    상기 복수의 블록 체인 계정에 대한 복수의 범위 증명을 각각 획득하는 단계를 더 포함하되, 상기 복수의 범위 증명은 아웃 바운드 트랜잭션 금액에 대응하는 각 블록 체인 계정이 대응하는 아웃 바운드 트랜잭션에 대한 충분한 자산을 가지고 있음을 적어도 나타내는, 컴퓨터 구현 정보 보호 방법.
  19. 제 18항에 있어서,
    상기 복수의 블록 체인 계정에 각각 대응하는 상기 복수의 디지털 서명은 상기 복수의 암호화된 트랜잭션 금액, 상기 복수의 범위 증명 및 상기 합 증명의 조합을 인증하고;
    상기 블록 체인 컴퓨터 네트워크를 통해, 상기 복수의 암호화된 트랜잭션 금액, 상기 복수의 디지털 서명 및 상기 합 증명을 상기 블록 체인 컴퓨터 네트워크의 블록 체인에 저장하는 단계는 상기 복수의 암호화된 트랜잭션 금액, 상기 합 증명, 상기 복수의 범위 증명 및 상기 복수의 디지털 서명을 상기 블록 체인에 저장하는 단계를 포함하는, 컴퓨터 구현 정보 보호 방법.
  20. 제 19항에 있어서,
    상기 복수의 암호화된 트랜잭션 금액, 상기 합 증명, 상기 복수의 범위 증명 및 상기 복수의 디지털 서명을 상기 블록 체인에 저장하는 단계는,
    상기 복수의 암호화된 트랜잭션 금액, 상기 합 증명, 상기 복수의 범위 증명 및 상기 복수의 디지털 서명을 상기 블록 체인 컴퓨터 네트워크의 하나 이상의 블록 체인 노드에 전송하여, 상기 하나 이상의 블록 체인 노드가, 상기 복수의 트랜잭션 금액의 각각이 인바운드인지 또는 아웃바운드인지 여부에 대한 정보를 수신하지 않고서, 상기 복수의 암호화된 트랜잭션 금액, 상기 합 증명, 상기 복수의 범위 증명 및 상기 복수의 디지털 서명에 근거하여 상기 하나 이상의 미실행 트랜잭션을 검증하도록 하는 단계를 포함하는, 컴퓨터 구현 정보 보호 방법.





KR1020197014902A 2018-12-29 2018-12-29 정보 보호를 위한 시스템 및 방법 KR102332034B1 (ko)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/CN2018/125749 WO2019072313A2 (en) 2018-12-29 2018-12-29 SYSTEM AND METHOD FOR PROTECTING INFORMATION

Publications (2)

Publication Number Publication Date
KR20200083929A KR20200083929A (ko) 2020-07-09
KR102332034B1 true KR102332034B1 (ko) 2021-11-29

Family

ID=66100136

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020197014902A KR102332034B1 (ko) 2018-12-29 2018-12-29 정보 보호를 위한 시스템 및 방법

Country Status (13)

Country Link
US (2) US11416854B2 (ko)
EP (1) EP3568826B1 (ko)
JP (1) JP6871380B2 (ko)
KR (1) KR102332034B1 (ko)
CN (1) CN110612547A (ko)
AU (1) AU2018349940B2 (ko)
BR (1) BR112019010751B1 (ko)
CA (1) CA3044907C (ko)
MX (1) MX2019006095A (ko)
PH (1) PH12019501158A1 (ko)
RU (1) RU2721008C1 (ko)
WO (1) WO2019072313A2 (ko)
ZA (1) ZA201903109B (ko)

Families Citing this family (16)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111783114B (zh) 2018-08-06 2024-04-02 创新先进技术有限公司 区块链交易方法及装置、电子设备
CN112651740A (zh) 2018-08-30 2021-04-13 创新先进技术有限公司 区块链交易方法及装置、电子设备
CN111833186A (zh) 2018-09-20 2020-10-27 创新先进技术有限公司 基于区块链的交易方法、装置和节点设备
CN111833057A (zh) 2018-09-30 2020-10-27 创新先进技术有限公司 基于区块链的交易方法、装置和节点设备
MX2019012941A (es) * 2019-01-31 2019-12-16 Alibaba Group Holding Ltd Comercio de activos cruzados en redes de cadenas de bloques.
GB201907397D0 (en) * 2019-05-24 2019-07-10 Nchain Holdings Ltd Knowledge proof
WO2021033026A1 (en) * 2019-08-19 2021-02-25 Bitfury Surround Gmbh Techniques for enhanced data privacy in smart contracts for royalty distribution via a distributed ledger network
CN113132078B (zh) * 2019-12-31 2023-07-14 航天信息股份有限公司 一种基于同态承诺的区块链隐私保护方法及区块链系统
CN111277415B (zh) * 2020-01-20 2023-12-19 布比(北京)网络技术有限公司 基于区块链智能合约的隐私保护方法及装置
CN111342962B (zh) * 2020-04-01 2020-10-30 支付宝(杭州)信息技术有限公司 一种验证密文消息范围的方法和系统
KR102389522B1 (ko) * 2020-08-26 2022-04-25 논스랩 주식회사 아스키 연산을 이용한 디지털 자산 거래 검증을 위한 영지식 증명 시스템 및 방법
NL2026713B1 (en) * 2020-10-20 2021-12-14 Shenzhen Polytechnic A Blockchain Privacy Protection System and Its Method
CN112819465B (zh) * 2021-01-28 2023-08-15 武汉天喻聚联科技有限公司 基于Elgamal的同态加密方法及应用系统
CN112785306B (zh) * 2021-01-28 2023-08-15 武汉天喻聚联科技有限公司 基于Paillier的同态加密方法及应用系统
CN113469690B (zh) * 2021-07-23 2024-03-26 佳乔(深圳)投资有限公司 一种基于区块链的交易结算方法
KR102525749B1 (ko) * 2021-09-24 2023-04-26 주식회사 스파이스웨어 인공지능 양자내성 암호화 방법 및 장치

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20160358165A1 (en) * 2015-06-08 2016-12-08 Blockstream Corporation Cryptographically concealing amounts transacted on a ledger while preserving a network's ability to verify the transaction
CN108009441A (zh) 2017-11-23 2018-05-08 阿里巴巴集团控股有限公司 资源转移和资金转移的方法和装置

Family Cites Families (104)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
FR2855343B1 (fr) * 2003-05-20 2005-10-07 France Telecom Procede de signature electronique de groupe avec anonymat revocable, equipements et programmes pour la mise en oeuvre du procede
US7568615B2 (en) 2005-08-24 2009-08-04 E-Cash Financial, Inc. Electronic transfer of hard currency
US8498415B2 (en) 2007-11-27 2013-07-30 Bon K. Sy Method for preserving privacy of a reputation inquiry in a peer-to-peer communication environment
US20100078471A1 (en) 2008-09-30 2010-04-01 Apple Inc. System and method for processing peer-to-peer financial transactions
US20130230168A1 (en) 2010-11-15 2013-09-05 Nec Corporation Information processing device, information processing method, and computer readable medium
US9569771B2 (en) 2011-04-29 2017-02-14 Stephen Lesavich Method and system for storage and retrieval of blockchain blocks using galois fields
AU2011213908A1 (en) 2011-08-26 2013-03-14 The Carapace Limited Improvements in or related to purchasing and/or performing financial transactions using a mobile phone
US10078821B2 (en) 2012-03-07 2018-09-18 Early Warning Services, Llc System and method for securely registering a recipient to a computer-implemented funds transfer payment network
US8676700B2 (en) 2012-03-26 2014-03-18 Depositslips Llc Methods and systems for handling currency
US10102510B2 (en) 2012-11-28 2018-10-16 Hoverkey Ltd. Method and system of conducting a cryptocurrency payment via a mobile device using a contactless token to store and protect a user's secret key
CN103903129B (zh) 2012-12-28 2017-11-24 北京握奇数据系统有限公司 一种基于短信方式实现的汇款系统及方法
JP2014220661A (ja) 2013-05-08 2014-11-20 株式会社東芝 証明装置、出力装置、検証装置、入力装置、証明方法、検証方法およびプログラム
CN105745678B (zh) 2013-09-20 2022-09-20 维萨国际服务协会 包括消费者认证的安全远程支付交易处理
KR101450013B1 (ko) 2013-12-20 2014-10-13 주식회사 시큐브 빠른 응답 코드를 이용한 인증 시스템 및 방법
WO2015123691A1 (en) 2014-02-14 2015-08-20 Boemi Andrew A Mobile device payment system and method
CN104144379B (zh) 2014-04-22 2016-04-13 腾讯科技(深圳)有限公司 业务数据处理方法、用户终端和业务终端
US9660805B2 (en) 2014-05-14 2017-05-23 Porticor Ltd. Methods and devices for securing keys when key-management processes are subverted by an adversary
US10599999B2 (en) 2014-06-02 2020-03-24 Yottamine Analytics, Inc. Digital event profile filters based on cost sensitive support vector machine for fraud detection, risk rating or electronic transaction classification
IL234613A0 (en) 2014-09-11 2014-12-02 Google Inc Exchange consolidated and encrypted transaction information with a transaction information provider
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
CN107408174B (zh) 2015-01-30 2021-10-01 E·马伊姆 用于管理安全实体的连网承诺的系统和方法
CN107408245A (zh) 2015-02-27 2017-11-28 维萨国际服务协会 利用非对称密码学的交易签名
WO2016154001A1 (en) 2015-03-20 2016-09-29 Rivetz Corp. Automated attestation of device integrity using the block chain
US20160321751A1 (en) 2015-04-28 2016-11-03 Domus Tower, Inc. Real-time settlement of securities trades over append-only ledgers
US9870562B2 (en) 2015-05-21 2018-01-16 Mastercard International Incorporated Method and system for integration of market exchange and issuer processing for blockchain-based transactions
US11080665B1 (en) 2015-06-08 2021-08-03 Blockstream Corporation Cryptographically concealing amounts and asset types for independently verifiable transactions
US10558996B2 (en) 2015-06-09 2020-02-11 Fidelity National Information Services, Llc Methods and systems for regulating operation of units using encryption techniques associated with a blockchain
CN107851253B (zh) 2015-07-13 2022-03-04 日本电信电话株式会社 合约合意方法、合意验证方法、合约合意系统、合意验证装置、合约合意装置、计算机可读记录介质
US10339523B2 (en) 2015-07-14 2019-07-02 Fmr Llc Point-to-point transaction guidance apparatuses, methods and systems
CA2992458A1 (en) 2015-07-14 2017-01-19 Fmr Llc Computationally efficient transfer processing, auditing, and search apparatuses, methods and systems
US20170048209A1 (en) 2015-07-14 2017-02-16 Fmr Llc Crypto Key Recovery and Social Aggregating, Fractionally Efficient Transfer Guidance, Conditional Triggered Transaction, Datastructures, Apparatuses, Methods and Systems
US10402792B2 (en) 2015-08-13 2019-09-03 The Toronto-Dominion Bank Systems and method for tracking enterprise events using hybrid public-private blockchain ledgers
WO2017054985A1 (en) 2015-09-30 2017-04-06 British Telecommunications Public Limited Company Access control
KR101637854B1 (ko) 2015-10-16 2016-07-08 주식회사 코인플러그 블록체인을 기반으로 하는 공인인증서 발급시스템과 이를 이용한 블록체인을 기반으로 하는 공인인증서 발급방법 및 블록체인을 기반으로 하는 공인인증서 인증시스템과 이를 이용한 블록체인을 기반으로 하는 공인인증서 인증방법
WO2017091530A1 (en) 2015-11-24 2017-06-01 Gartland & Mellina Group Blockchain solutions for financial services and other transaction-based industries
US10791123B2 (en) 2015-11-25 2020-09-29 Yaron Gvili Selectivity in privacy and verification with applications
JP2018536957A (ja) 2015-11-30 2018-12-13 シェイプシフト・アーゲーShapeShift AG ブロックチェーン資産取引におけるセキュリティを向上させるためのシステム及び方法
US20170236123A1 (en) 2016-02-16 2017-08-17 Blockstack Inc. Decentralized processing of global naming systems
CN109313753A (zh) 2016-04-01 2019-02-05 摩根大通国家银行 用于在私有分布式账本中提供数据隐私的系统和方法
US10460367B2 (en) 2016-04-29 2019-10-29 Bank Of America Corporation System for user authentication based on linking a randomly generated number to the user and a physical item
US10333705B2 (en) 2016-04-30 2019-06-25 Civic Technologies, Inc. Methods and apparatus for providing attestation of information using a centralized or distributed ledger
US10022613B2 (en) 2016-05-02 2018-07-17 Bao Tran Smart device
US10046228B2 (en) 2016-05-02 2018-08-14 Bao Tran Smart device
KR101780636B1 (ko) 2016-05-16 2017-09-21 주식회사 코인플러그 인증 정보의 발급 방법 및 이를 지원하는 블록체인기반 인증 정보 관리 서버
US9967088B2 (en) 2016-05-23 2018-05-08 Accenture Global Solutions Limited Rewritable blockchain
WO2017218983A1 (en) 2016-06-16 2017-12-21 The Bank Of New York Mellon Distributed, centrally authored block chain network
US10181050B2 (en) 2016-06-21 2019-01-15 Mastercard International Incorporated Method and system for obfuscation of granular data while retaining data privacy
JP6663809B2 (ja) * 2016-07-07 2020-03-13 株式会社日立製作所 監査装置、監査機能付匿名送金方法及びプログラム
US10057255B2 (en) 2016-07-20 2018-08-21 Bank Of America Corporation Preventing unauthorized access to secured information systems using multi-device authentication techniques
US10148646B2 (en) 2016-07-20 2018-12-04 Bank Of America Corporation Preventing unauthorized access to secured information systems using tokenized authentication techniques
US20190228407A1 (en) 2016-07-25 2019-07-25 Tbcasoft, Inc. Digital property management on a distributed transaction consensus network
CN107666388B (zh) 2016-07-28 2019-11-01 郑珂威 基于完全同态加密方法的区块链信息加密方法
KR101914649B1 (ko) 2016-08-31 2018-11-02 주식회사 케이비저축은행 디바이스 및 자동화기기를 이용한 무선구간 인증 방법
US10769600B2 (en) 2016-09-26 2020-09-08 International Business Machines Corporation Cryptocurrency transactions using debit and credit values
CN106548330B (zh) 2016-10-27 2018-03-16 上海亿账通区块链科技有限公司 基于区块链的交易验证方法及系统
US20190386814A1 (en) 2016-11-07 2019-12-19 Sherjil Ahmed Systems and Methods for Implementing an Efficient, Scalable Homomorphic Transformation of Encrypted Data with Minimal Data Expansion and Improved Processing Efficiency
CN106549749B (zh) 2016-12-06 2019-12-24 杭州趣链科技有限公司 一种基于加法同态加密的区块链隐私保护方法
CN110024422B (zh) 2016-12-30 2023-07-18 英特尔公司 物联网的命名和区块链记录
US10275739B2 (en) 2017-01-05 2019-04-30 International Business Machines Corporation Tracking assets with a blockchain
CN106845960B (zh) 2017-01-24 2018-03-20 上海壹账通区块链科技有限公司 基于区块链的安全交易方法及系统
CN106982205B (zh) 2017-03-01 2020-05-19 中钞信用卡产业发展有限公司杭州区块链技术研究院 基于区块链的数字资产处理方法和装置
EP3593305A4 (en) 2017-03-08 2020-10-21 IP Oversight Corporation SYSTEM AND PROCEDURE FOR GENERATING TOKENS SECURED BY THE VALUE OF GOODS FROM RESERVES
CN110365491B (zh) 2017-03-30 2021-03-26 腾讯科技(深圳)有限公司 业务处理方法、装置、设备、存储介质以及数据共享系统
US10270599B2 (en) 2017-04-27 2019-04-23 Factom, Inc. Data reproducibility using blockchains
US20180349894A1 (en) 2017-05-30 2018-12-06 Christos Patrinos System of hardware and software to prevent disclosure of personally identifiable information, preserve anonymity and perform settlement of transactions between parties using created and stored secure credentials
US20180365688A1 (en) * 2017-06-14 2018-12-20 International Business Machines Corporation Transaction execution and validation in a blockchain
EP3639468B1 (en) 2017-06-14 2024-03-20 nChain Licensing AG Systems and methods for avoiding or reducing cryptographically stranded resources on a blockchain network
US20180365691A1 (en) 2017-06-15 2018-12-20 KoopaCoin LLC Identity ledger in crypto currency transactions
CN107392603B (zh) * 2017-06-26 2021-03-16 中国人民银行数字货币研究所 使用数字货币的交易方法和装置
CN107294709A (zh) 2017-06-27 2017-10-24 阿里巴巴集团控股有限公司 一种区块链数据处理方法、装置及系统
AU2018300147B2 (en) 2017-07-11 2020-07-16 Hedera Hashgraph, Llc Methods and apparatus for efficiently implementing a distributed database within a network
DE102017212618B3 (de) 2017-07-21 2018-12-13 Bundesdruckerei Gmbh Hardwaresystem mit Blockchain
CN107360001B (zh) 2017-07-26 2021-12-14 创新先进技术有限公司 一种数字证书管理方法、装置和系统
WO2019028068A1 (en) 2017-08-01 2019-02-07 Digital Asset (Switzerland) GmbH METHOD AND APPARATUS FOR AUTOMATICALLY ENGAGED PAYMENT OF DIGITAL GOODS
WO2019029430A1 (en) 2017-08-05 2019-02-14 Proclus Technologies Limited METHOD AND SYSTEM FOR SECURING BLOCK CHAIN WITH PROOF OF TRANSACTIONS
AU2018322377A1 (en) 2017-08-25 2020-03-05 Token Iq, Inc. Methods and apparatus for value transfer
CN108418783B (zh) 2017-09-01 2021-03-19 矩阵元技术(深圳)有限公司 一种保护区块链智能合约隐私的方法、介质
CN107679976B (zh) 2017-09-28 2021-02-12 电子科技大学 一种基于区块链的拍卖方法
EP3698518B1 (en) 2017-10-20 2024-02-14 Koninklijke KPN N.V. Primary and secondary blockchain device
CN108173805B (zh) 2017-11-24 2020-12-01 西安电子科技大学 一种基于区块链的具有隐私保持的分布式匿名区协同构造方法
CN108021821A (zh) 2017-11-28 2018-05-11 北京航空航天大学 多中心区块链交易隐私保护系统及方法
EP3718069B1 (en) 2017-11-30 2024-04-17 Visa International Service Association Blockchain system for confidential and anonymous smart contracts
CN108418689B (zh) 2017-11-30 2020-07-10 矩阵元技术(深圳)有限公司 一种适合区块链隐私保护的零知识证明方法和介质
IL256234A (en) 2017-12-10 2018-01-31 Kipnis Aviad Computation using somewhat homomorphic encryption
CN108111295B (zh) 2017-12-15 2020-08-25 河海大学 一种基于类模运算的同态加密方法
US9990504B1 (en) 2017-12-18 2018-06-05 Northern Trust Corporation Systems and methods for generating and maintaining immutable digital meeting records within distributed network nodes
CN108099411A (zh) 2017-12-28 2018-06-01 南宁远卓新能源科技有限公司 打印机可重复利用式墨盒
CN108335106A (zh) 2018-01-24 2018-07-27 深圳壹账通智能科技有限公司 基于区块链的零知识多账本兑换转账方法、装置及存储介质
KR101914650B1 (ko) 2018-03-13 2018-11-02 주식회사 케이비저축은행 디바이스 및 자동화기기를 이용한 무선구간 인증 시스템 및 방법
CN111886830A (zh) 2018-03-23 2020-11-03 区块链控股有限公司 用于数据交换的计算机实现的系统及方法
US10754989B2 (en) 2018-03-27 2020-08-25 International Business Machines Corporation Runtime self-correction for blockchain ledgers
CN111989891A (zh) 2018-04-26 2020-11-24 华为国际有限公司 数据处理方法、相关装置及区块链系统
CN108711105A (zh) 2018-05-16 2018-10-26 四川吉鼎科技有限公司 一种基于区块链的安全交易验证方法及系统
CN108764874B (zh) 2018-05-17 2021-09-07 深圳前海微众银行股份有限公司 基于区块链的匿名转账方法、系统及存储介质
US11374736B2 (en) 2018-06-20 2022-06-28 Clemson University System and method for homomorphic encryption
WO2020008658A1 (ja) 2018-07-03 2020-01-09 スタンダードトランザクション株式会社 通貨情報処理装置および通貨情報処理システム
CN109034840B (zh) 2018-07-06 2021-04-13 北京融链科技有限公司 基于清洁能源产生的绿证交易方法和系统
US11223485B2 (en) * 2018-07-17 2022-01-11 Huawei Technologies Co., Ltd. Verifiable encryption based on trusted execution environment
CN111783114B (zh) 2018-08-06 2024-04-02 创新先进技术有限公司 区块链交易方法及装置、电子设备
CN111213134A (zh) 2018-09-19 2020-05-29 因特比有限公司 用于使用区块链执行超融合的方法和系统
CN111833186A (zh) 2018-09-20 2020-10-27 创新先进技术有限公司 基于区块链的交易方法、装置和节点设备
BR112019008151A2 (pt) 2018-11-07 2019-09-10 Alibaba Group Holding Ltd método implementado por computador, meio de armazenamento legível por computador não transitório e sistema
CN109903026A (zh) 2018-12-14 2019-06-18 阿里巴巴集团控股有限公司 基于区块链的事件处理方法及装置、电子设备
CN110402561B (zh) 2018-12-21 2021-11-23 创新先进技术有限公司 基于通用账户模型和同态加密的区块链数据保护

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20160358165A1 (en) * 2015-06-08 2016-12-08 Blockstream Corporation Cryptographically concealing amounts transacted on a ledger while preserving a network's ability to verify the transaction
CN108009441A (zh) 2017-11-23 2018-05-08 阿里巴巴集团控股有限公司 资源转移和资金转移的方法和装置

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
Alonso, Kurt Magnus. "Monero-privacy in the blockchain." (2018).
Neha Narula 외 2명, zkLedger: Privacy-Perserving Auditing for Distributed Ledgers, 5th USENIX Symposium on Networked Systems Design and Implementation (2018.04.09.)*

Also Published As

Publication number Publication date
AU2018349940B2 (en) 2020-08-20
EP3568826B1 (en) 2021-09-29
CA3044907C (en) 2022-05-03
US11341487B2 (en) 2022-05-24
EP3568826A2 (en) 2019-11-20
US20200273028A1 (en) 2020-08-27
US11416854B2 (en) 2022-08-16
KR20200083929A (ko) 2020-07-09
EP3568826A4 (en) 2020-03-11
PH12019501158A1 (en) 2019-12-16
CN110612547A (zh) 2019-12-24
JP6871380B2 (ja) 2021-05-12
MX2019006095A (es) 2019-08-14
AU2018349940A1 (en) 2020-07-16
JP2020501425A (ja) 2020-01-16
RU2721008C1 (ru) 2020-05-15
BR112019010751A2 (pt) 2019-12-31
US20190385162A1 (en) 2019-12-19
BR112019010751B1 (pt) 2022-05-24
ZA201903109B (en) 2021-07-28
WO2019072313A2 (en) 2019-04-18
CA3044907A1 (en) 2019-04-18
WO2019072313A3 (en) 2019-11-14

Similar Documents

Publication Publication Date Title
KR102332034B1 (ko) 정보 보호를 위한 시스템 및 방법
JP6908700B2 (ja) 情報保護のためのシステム及び方法
JP6841911B2 (ja) 情報保護用のシステム及び方法
CN110337665B (zh) 用于信息保护的系统和方法
TWI706275B (zh) 用於資訊保護的系統和方法
CA2980818C (en) Systems and methods for personal identification and verification
WO2020142412A1 (en) Methods, devices, and systems for secure payments
CN113875186A (zh) 知识证明
CN113906713A (zh) 包括基于哈希的验证的可运行代码的区块链交易
AU2019101598A4 (en) System and method for information protection
Clack et al. Distributed Ledger Privacy: Ring Signatures, M\" obius and CryptoNote
AU2019101590A4 (en) System and method for information protection
WO2023219762A1 (en) Verification system for proving authenticity and ownership of digital assets

Legal Events

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