KR20240051016A - 영지식증명을 이용한 블록체인 네트워크의 오라클 서비스를 제공하는 방법 및 이를 이용한 어그리게이터 단말 - Google Patents

영지식증명을 이용한 블록체인 네트워크의 오라클 서비스를 제공하는 방법 및 이를 이용한 어그리게이터 단말 Download PDF

Info

Publication number
KR20240051016A
KR20240051016A KR1020230070871A KR20230070871A KR20240051016A KR 20240051016 A KR20240051016 A KR 20240051016A KR 1020230070871 A KR1020230070871 A KR 1020230070871A KR 20230070871 A KR20230070871 A KR 20230070871A KR 20240051016 A KR20240051016 A KR 20240051016A
Authority
KR
South Korea
Prior art keywords
data
key
zero
feeder
blockchain network
Prior art date
Application number
KR1020230070871A
Other languages
English (en)
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 주식회사 씨피랩스
Priority to KR1020230070871A priority Critical patent/KR20240051016A/ko
Publication of KR20240051016A publication Critical patent/KR20240051016A/ko

Links

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
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/08Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
    • H04L9/0816Key establishment, i.e. cryptographic processes or cryptographic protocols whereby a shared secret becomes available to two or more parties, for subsequent use
    • H04L9/0819Key transport or distribution, i.e. key establishment techniques where one party creates or otherwise obtains a secret value, and securely transfers it to the other(s)
    • H04L9/0825Key transport or distribution, i.e. key establishment techniques where one party creates or otherwise obtains a secret value, and securely transfers it to the other(s) using asymmetric-key encryption or public key infrastructure [PKI], e.g. key signature or public key certificates
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/08Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
    • H04L9/0816Key establishment, i.e. cryptographic processes or cryptographic protocols whereby a shared secret becomes available to two or more parties, for subsequent use
    • H04L9/0819Key transport or distribution, i.e. key establishment techniques where one party creates or otherwise obtains a secret value, and securely transfers it to the other(s)
    • H04L9/083Key transport or distribution, i.e. key establishment techniques where one party creates or otherwise obtains a secret value, and securely transfers it to the other(s) involving central third party, e.g. key distribution center [KDC] or trusted third party [TTP]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/08Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
    • H04L9/0861Generation of secret information including derivation or calculation of cryptographic keys or passwords
    • 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)
  • Computer Security & Cryptography (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Storage Device Security (AREA)

Abstract

본 발명은 영지식증명을 이용한 블록체인 네트워크의 오라클 서비스를 제공하는 방법에 있어서, (a) 복수의 피더 단말들 각각이 커밋먼트키와 각각의 오프체인 데이터들을 이용하여 생성한 각각의 커밋먼트들, 공개키를 이용하여 각각의 상기 오프체인 데이터를 암호화한 각각의 암호화 데이터들, 및, 각각의 피더 영지식증명키를 이용하여 상기 커밋먼트와 각각의 상기 암호화 데이터들에 대응되는 각각의 상기 오프체인 데이터들이 동일한 것임을 증명한 각각의 데이터 증명값들을 포함하는 각각의 암호화 데이터 트랜잭션들을 상기 블록체인 네트워크에 등록하면, 어그리게이터 단말이, 기설정된 주기에 따라 특정 주기 동안 상기 블록체인 네트워크에 등록된 제1 암호화 데이터 트랜잭션 내지 제k - 상기 k는 1 이상의 정수임 - 암호화 데이터 트랜잭션을 획득하는 단계; 및 (b) 상기 어그리게이터 단말이, (i) 상기 제1 데이터 피더 트랜잭션 내지 상기 제k 데이터 피더 트랜잭션 각각에서, 제i - 상기 i는 1 이상이며 k이하인 정수임 - 피더 영지식증명키를 이용하여 제i 데이터 증명값을 검증하고, 상기 공개키에 대응되는 비밀키를 이용하여 제i 암호화 데이터를 복호화하여 제i 복호화 데이터를 생성함으로써 제1 복호화 데이터 내지 제k 복호화 데이터를 획득하며, (ii) 기설정된 연산기를 통해 상기 제1 복호화 데이터 내지 상기 제k 복호화 데이터를 연산하여 온체인 데이터를 생성하고, 어그리게이터 영지식증명키를 이용하여 상기 온체인 데이터가 상기 기설정된 연산기에 의해 상기 제1 복호화 데이터 내지 상기 제k 복호화 데이터를 연산하여 생성된 것임을 증명한 연산 증명값을 생성하며, (iii) 상기 온체인 데이터와 상기 연산 증명값을 상기 블록체인 네트워크에 등록하는 단계; 를 포함하는 방법에 관한 것이다.

Description

영지식증명을 이용한 블록체인 네트워크의 오라클 서비스를 제공하는 방법 및 이를 이용한 어그리게이터 단말{METHOD FOR PROVIDING ORACLE SERVICE OF BLOCKCHAIN NETWORK USING ZERO-KNOWLEDGE PROOF AND AGGREGATOR TERMINAL FOR USING SAME}
본 발명은 영지식증명을 이용한 블록체인 네트워크의 오라클 서비스를 제공하는 방법 및 이를 이용한 어그리게이터 단말에 관한 것으로, 보다 상세하게는, 오프체인 데이터를 공개하지 않으며 온체인 데이터가 오프체인 데이터로부터 생성된 것임을 증명할 수 있도록 하여 온체인 데이터의 신뢰성을 향상시킬 수 있도록 한 영지식증명을 이용한 블록체인 네트워크의 오라클 서비스를 제공하는 방법 및 이를 이용한 어그리게이터 단말에 관한 것이다.
블록체인 네트워크 분야에서 오라클(oracle)이란 블록체인 네트워크 밖에 있는 데이터를 블록체인 네트워크 안으로 가져오거나, 블록체인 네트워크 내부의 데이터를 외부로 보내는 것을 말하며, 고립된 블록체인 생태계를 외부와 연결시켜주는 역할을 한다. 이때, 블록체인 네트워크 밖에 있는 데이터를 오프체인 데이터라고 하고, 오프체인 데이터가 블록체인 네트워크 안으로 들어온 것을 온체인 데이터라고 한다.
블록체인 네트워크는 데이터를 포함하는 블록들을 체인으로 연결하여 블록체인을 생성하는 데이터의 위변조가 거의 불가능한 분산원장 기술이지만, 데이터가 블록체인 네트워크 안으로 들어와야 블록체인으로 관리할 수 있다. 데이터가 블록체인 네트워크 안으로 들어오지 않거나, 혹은 블록체인 네트워크 안으로 들어오는 과정에서 위변조가 발생한다면, 설명 그 데이터가 블록체인으로 관리된다고 할지라도 신뢰하기 어렵다.
현실 세계에 있는 데이터가 블록체인 네트워크 안으로 들어오는 과정은 생각만큼 쉽지 않다. 오프체인 데이터가 온체인 데이터로 바뀌기 위해서는, 오프체인 데이터를 블록체인 네트워크 안에 넣어주는 중간자가 필요하다. 오라클 문제는 이러한 중간자를 어떻게 신뢰할 수 있을 것인가 하는 문제이다.
이러한 오라클 문제를 해결하기 위하여 다양한 방법이 도입되고 있으며, 암호화폐 소유자들의 투표(voting)를 통해 결정하거나, 다양한 데이터의 중앙값(median)을 선택하거나, 현실 세계와 블록체인 사이에서 신뢰할 수 있는 데이터를 제공해 주는 중간자(middleware)를 두는 방법 등 블록체인 오라클 문제를 해결하기 위한 다양한 방안이 제시되고 있다.
현재 오라클 서비스를 제공하는 중간자의 예로, 오라클라이즈(Oraclize), 체인링크(Chainlink), 아이캐시(iCash) 등이 있다.
일 예로, 체인링크는 중앙화 거래소의 토크 가격을 블록체인 네트워크의 스마트 컨트랙트에 저장하여 제공함으로써, 다른 블록체인 네트워크 서비스에서 토큰 가격을 사용할 수 있도록 오라클 서비스를 제공하여 많은 DeFi 서비스 제공자들이 등록된 토큰 가격을 이용하여 다양한 서비스를 제공할 수 있도록 하고 있는 등과 같이, 현재 오라클 서비스를 제공하는 업체들은 오프체인 데이터를 블록체인 네트워크의 스마트 컨트랙트에 저장하여 온체인 데이터로 제공함으로써, 온체인 데이터에 대한 신뢰성을 제공하고 있다.
하지만, 이러한 종래의 오라클 서비스에서는, 오라클 서비스를 제공하는 업체가 지정한 데이터 피더(feeder)로부터 오프체인 데이터를 제공받으며, 이에 대한 온체인 데이터를 공개하는 것으로 신뢰성을 제공하지만, 공개된 온체인 데이터가 실제 데이터 피더로부터 제공된 데이터가 맞는지, 최종적으로 가공된 온체인 데이터가 데이터 피더로부터 받은 실제 오프체인 데이터를 사용했는지에 대한 신뢰성을 담보하지는 못한다.
최종적으로 가공된 온체인 데이터가 데이터 피더로부터 받은 실제 오프체인 데이터를 사용했는지에 대한 신뢰성을 담보하기 위해서는, 데이터 피더로부터 받은 오프체인 데이터 자체를 공개하면 되지만, 오프체인 데이터가 공개될 경우에는 오프체인 데이터를 미리 이용한 프론트 러닝(front running) 공격이 가능하므로 오라클 서비스 자체에 대한 신뢰성을 담보하지 못하게 되는 문제점이 있다.
따라서, 본 출원인은 피더로부터 제공된 오프체인 데이터를 보호하면서, 오라클 서비스를 제공하는 온체인 데이터가 오프체인 데이터를 사용하여 생성된 것임을 신뢰할 수 있도록 방안을 제안하고자 한다.
본 발명은 상술한 문제점들을 모두 해결하는 것을 그 목적으로 한다.
또한, 본 발명은 피더로부터 제공된 오프체인 데이터를 보호하며, 오프체인 데이터의 신뢰성을 담보할 수 있도록 하는 것을 다른 목적으로 한다.
또한, 본 발명은 오프체인 데이터를 이용하여 생성한 온체인 데이터의 신뢰성을 담보할 수 있도록 하는 것을 또 다른 목적으로 한다.
또한, 본 발명은 오프체인 데이터를 보호하며 온체인 데이터가 오프체인 데이터로부터 생성된 것을 신뢰할 수 있도록 하는 것을 또 다른 목적으로 한다.
상기 목적을 달성하기 위한 본 발명의 일 실시예에 따르면, 영지식증명을 이용한 블록체인 네트워크의 오라클 서비스를 제공하는 방법에 있어서, (a) 복수의 피더 단말들 각각이 커밋먼트키와 각각의 오프체인 데이터들을 이용하여 생성한 각각의 커밋먼트들, 공개키를 이용하여 각각의 상기 오프체인 데이터를 암호화한 각각의 암호화 데이터들, 및, 각각의 피더 영지식증명키를 이용하여 상기 커밋먼트와 각각의 상기 암호화 데이터들에 대응되는 각각의 상기 오프체인 데이터들이 동일한 것임을 증명한 각각의 데이터 증명값들을 포함하는 각각의 암호화 데이터 트랜잭션들을 상기 블록체인 네트워크에 등록하면, 어그리게이터 단말이, 기설정된 주기에 따라 특정 주기 동안 상기 블록체인 네트워크에 등록된 제1 암호화 데이터 트랜잭션 내지 제k - 상기 k는 1 이상의 정수임 - 암호화 데이터 트랜잭션을 획득하는 단계; 및 (b) 상기 어그리게이터 단말이, (i) 상기 제1 데이터 피더 트랜잭션 내지 상기 제k 데이터 피더 트랜잭션 각각에서, 제i - 상기 i는 1 이상이며 k이하인 정수임 - 피더 영지식증명키를 이용하여 제i 데이터 증명값을 검증하고, 상기 공개키에 대응되는 비밀키를 이용하여 제i 암호화 데이터를 복호화하여 제i 복호화 데이터를 생성함으로써 제1 복호화 데이터 내지 제k 복호화 데이터를 획득하며, (ii) 기설정된 연산기를 통해 상기 제1 복호화 데이터 내지 상기 제k 복호화 데이터를 연산하여 온체인 데이터를 생성하고, 어그리게이터 영지식증명키를 이용하여 상기 온체인 데이터가 상기 기설정된 연산기에 의해 상기 제1 복호화 데이터 내지 상기 제k 복호화 데이터를 연산하여 생성된 것임을 증명한 연산 증명값을 생성하며, (iii) 상기 온체인 데이터와 상기 연산 증명값을 상기 블록체인 네트워크에 등록하는 단계; 를 포함하는 방법이 제공된다.
상기에서, (a0) 상기 어그리게이터 단말이, 트러스트 서드 파티에 의해 발행된 상기 커밋먼트키, 상기 공개키, 및 상기 어그리게이터 영지식증명키를 상기 블록체인 네트워크에 등록하는 단계; 를 더 포함할 수 있다.
상기 (a) 단계에서, 상기 복수의 피더 단말들 중 어느 하나인 특정 피더 단말은 상기 블록체인 네트워크로부터 상기 커밋먼트키와 상기 공개키를 획득하여 특정 오프체인 데이터에 대한 특정 커밋먼트와 특정 암호화 데이터를 생성하고, 상기 트러스트 서드 파티에 의해 발행된 특정 피더 영지식증명키를 이용하여 특정 데이터 증명값을 생성하며, 상기 특정 커밋먼트, 상기 특정 암호화 데이터, 및, 상기 특정 데이터 증명값를 포함하는 특정 암호화 데이터 트랜잭션을 상기 블록체인 네트워크에 등록할 수 있다.
상기 특정 피더 영지식증명키는, 상기 특정 피더 단말이 상기 블록체인 네트워크로부터 획득한 상기 공개키를 이용하여 상기 트러스트 서드 파티로 발행을 요청함으로써 상기 트러스트 서드 파티가 상기 커밋먼트키와 상기 공개키를 이용하여 생성한 것일 수 있다.
상기 어그리게이터 단말은, 상기 트러스트 서드 파티로 상기 기설정된 연산기에 대한 키 발행을 요청함으로써 상기 트러스트 서드 파티로 하여금, 제1 키생성 모듈에 제1 보안 파라미터를 입력하여 상기 커밋먼트키를 생성하도록 하고, 제2 키생성 모듈에 제2 보안 파라미터를 입력하여 상기 비밀키와 상기 공개키를 생성하도록 하며, 제3 키생성 모듈에 상기 커밋먼트키와 상기 기설정된 연산기를 입력하여 상기 어그리게이터 영지식증명키를 생성하도록 한 다음, 상기 커밋먼트키, 상기 비밀키, 상기 공개키, 및 상기 어그리게이터 영지식증명키를 상기 어그리게이터 단말로 전송하도록 할 수 있다.
상기 (b) 단계에서, 상기 어그리게이터 단말은, 제i 데이터 피더 트랜잭션을 등록한 제i 피더 단말이 상기 블록체인 네트워크에 등록한 제i 피더 영지식증명키를 상기 블록체인 네트워크로부터 획득하여 상기 제i 데이터 증명값을 검증할 수 있다.
또한, 본 발명의 다른 실시예에 따르면, 영지식증명을 이용한 블록체인 네트워크의 오라클 서비스를 제공하는 어그리게이터 단말에 있어서, 영지식증명을 이용한 블록체인 네트워크의 오라클 서비스를 제공하기 위한 인스트럭션들이 저장된 메모리; 및 상기 메모리에 저장된 상기 인스트럭션들에 따라 영지식증명을 이용한 블록체인 네트워크의 오라클 서비스를 제공하기 위한 동작을 수행하는 프로세서; 를 포함하며, 상기 프로세서는, (I) 복수의 피더 단말들 각각이 커밋먼트키와 각각의 오프체인 데이터들을 이용하여 생성한 각각의 커밋먼트들, 공개키를 이용하여 각각의 상기 오프체인 데이터를 암호화한 각각의 암호화 데이터들, 및, 각각의 피더 영지식증명키를 이용하여 상기 커밋먼트와 각각의 상기 암호화 데이터들에 대응되는 각각의 상기 오프체인 데이터들이 동일한 것임을 증명한 각각의 데이터 증명값들을 포함하는 각각의 암호화 데이터 트랜잭션들을 상기 블록체인 네트워크에 등록하면, 기설정된 주기에 따라 특정 주기 동안 상기 블록체인 네트워크에 등록된 제1 암호화 데이터 트랜잭션 내지 제k - 상기 k는 1 이상의 정수임 - 암호화 데이터 트랜잭션을 획득하는 프로세스, 및 (II) (i) 상기 제1 데이터 피더 트랜잭션 내지 상기 제k 데이터 피더 트랜잭션 각각에서, 제i - 상기 i는 1 이상이며 k이하인 정수임 - 피더 영지식증명키를 이용하여 제i 데이터 증명값을 검증하고, 상기 공개키에 대응되는 비밀키를 이용하여 제i 암호화 데이터를 복호화하여 제i 복호화 데이터를 생성함으로써 제1 복호화 데이터 내지 제k 복호화 데이터를 획득하며, (ii) 기설정된 연산기를 통해 상기 제1 복호화 데이터 내지 상기 제k 복호화 데이터를 연산하여 온체인 데이터를 생성하고, 어그리게이터 영지식증명키를 이용하여 상기 온체인 데이터가 상기 기설정된 연산기에 의해 상기 제1 복호화 데이터 내지 상기 제k 복호화 데이터를 연산하여 생성된 것임을 증명한 연산 증명값을 생성하며, (iii) 상기 온체인 데이터와 상기 연산 증명값을 상기 블록체인 네트워크에 등록하는 프로세스를 수행하는 어그리게이터 단말이 제공된다.
상기 프로세서는, 상기 (I) 프로세스 이전에, 트러스트 서드 파티에 의해 발행된 상기 커밋먼트키, 상기 공개키, 및 상기 어그리게이터 영지식증명키를 상기 블록체인 네트워크에 등록하는 프로세스를 더 수행할 수 있다.
상기 프로세서는, 상기 (I) 프로세스에서, 상기 복수의 피더 단말들 중 어느 하나인 특정 피더 단말은 상기 블록체인 네트워크로부터 상기 커밋먼트키와 상기 공개키를 획득하여 특정 오프체인 데이터에 대한 특정 커밋먼트와 특정 암호화 데이터를 생성하고, 상기 트러스트 서드 파티에 의해 발행된 특정 피더 영지식증명키를 이용하여 특정 데이터 증명값을 생성하며, 상기 특정 커밋먼트, 상기 특정 암호화 데이터, 및, 상기 특정 데이터 증명값을 포함하는 특정 암호화 데이터 트랜잭션을 상기 블록체인 네트워크에 등록하도록 할 수 있다.
상기 특정 피더 영지식증명키는, 상기 특정 피더 단말이 상기 블록체인 네트워크로부터 획득한 상기 공개키를 이용하여 상기 트러스트 서드 파티로 발행을 요청함으로써 상기 트러스트 서드 파티가 상기 커밋먼트키와 상기 공개키를 이용하여 생성한 것일 수 있다.
상기 프로세서는, 상기 트러스트 서드 파티로 상기 기설정된 연산기에 대한 키 발행을 요청함으로써 상기 트러스트 서드 파티로 하여금, 제1 키생성 모듈에 제1 보안 파라미터를 입력하여 상기 커밋먼트키를 생성하도록 하고, 제2 키생성 모듈에 제2 보안 파라미터를 입력하여 상기 비밀키와 상기 공개키를 생성하도록 하며, 제3 키생성 모듈에 상기 커밋먼트키와 상기 기설정된 연산기를 입력하여 상기 어그리게이터 영지식증명키를 생성하도록 한 다음, 상기 커밋먼트키, 상기 비밀키, 상기 공개키, 및 상기 어그리게이터 영지식증명키를 상기 어그리게이터 단말로 전송하도록 할 수 있다.
상기 프로세서는, 상기 (II) 프로세스에서, 제i 데이터 피더 트랜잭션을 등록한 제i 피더 단말이 상기 블록체인 네트워크에 등록한 제i 피더 영지식증명키를 상기 블록체인 네트워크로부터 획득하여 상기 제i 데이터 증명값을 검증할 수 있다.
이 외에도, 본 발명의 방법을 실행하기 위한 컴퓨터 프로그램을 기록하기 위한 컴퓨터 판독 가능한 기록 매체가 더 제공된다.
본 발명에 의하면, 다음과 같은 효과가 있다.
본 발명은 피더로부터 제공된 오프체인 데이터를 보호하며, 오프체인 데이터의 신뢰성을 담보할 수 있게 된다.
또한, 본 발명은 오프체인 데이터를 이용하여 생성한 온체인 데이터의 신뢰성을 담보할 수 있게 된다.
또한, 본 발명은 오프체인 데이터를 보호하며 온체인 데이터가 오프체인 데이터로부터 생성된 것을 신뢰할 수 있게 된다.
도 1은 본 발명의 일 실시예에 따른 영지식증명을 이용한 블록체인 네트워크의 오라클 서비스를 제공하는 시스템을 개략적으로 도시한 것이고,
도 2는 본 발명의 일 실시예에 따른 영지식증명을 이용한 블록체인 네트워크의 오라클 서비스를 제공하는 방법에서 키 생성 및 등록하는 과정을 개략적으로 도시한 것이고,
도 3은 본 발명의 일 실시예에 따른 영지식증명을 이용한 블록체인 네트워크의 오라클 서비스를 제공하는 방법에서 피더 단말이 오프체인 데이터를 블록체인 네트워크에 등록하는 과정을 개략적으로 도시한 것이고,
도 4는 본 발명의 일 실시예에 따른 영지식증명을 이용한 블록체인 네트워크의 오라클 서비스를 제공하는 방법에서 어그리게이터 단말이 피더 단말에 의해 제공된 오프체인 데이터를 온체인 데이터로 제공하는 과정을 개략적으로 도시한 것이다.
후술하는 본 발명에 대한 상세한 설명은, 본 발명이 실시될 수 있는 특정 실시예를 예시로서 도시하는 첨부 도면을 참조한다. 이들 실시예는 당업자가 본 발명을 실시할 수 있기에 충분하도록 상세히 설명된다. 본 발명의 다양한 실시예는 서로 다르지만 상호 배타적일 필요는 없음이 이해되어야 한다. 예를 들어, 여기에 기재되어 있는 특정 형상, 구조 및 특성은 일 실시예에 관련하여 본 발명의 정신 및 범위를 벗어나지 않으면서 다른 실시예로 구현될 수 있다. 또한, 각각의 개시된 실시예 내의 개별 구성요소의 위치 또는 배치는 본 발명의 정신 및 범위를 벗어나지 않으면서 변경될 수 있음이 이해되어야 한다. 따라서, 후술하는 상세한 설명은 한정적인 의미로서 취하려는 것이 아니며, 본 발명의 범위는, 적절하게 설명된다면, 그 청구항들이 주장하는 것과 균등한 모든 범위와 더불어 첨부된 청구항에 의해서만 한정된다. 도면에서 유사한 참조부호는 여러 측면에 걸쳐서 동일하거나 유사한 기능을 지칭한다.
이하, 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자가 본 발명을 용이하게 실시할 수 있도록 하기 위하여, 본 발명의 바람직한 실시예들에 관하여 첨부된 도면을 참조하여 상세히 설명하기로 한다.
도 1은 본 발명의 일 실시예에 따라 영지식증명을 이용한 블록체인 네트워크의 오라클 서비스를 제공하는 시스템을 개략적으로 도시한 것으로, 도 1을 참조하면, 시스템(1000)은 복수의 피더 단말들(100_1, 100_2, …, 100_n), 어그리게이터 단말(200), 트러스트 서드 파티(trusted third party)(300), 및, 블록체인 네트워크(400)를 포함할 수 있다.
먼저, 복수의 피더 단말들(100_1, 100_2, …, 100_n) 각각은, 오프체인 데이터에 대한 커밋먼트와 암호화 데이터를 생성하고, 영지식증명을 위한 데이터 증명값을 생성하며, 커밋먼트, 암호화 데이터, 및 데이터 증명값을 블록체인 네트워크(400)에 등록하는 주체로, IoT 장치, 데이터베이스, PC, 모바일 컴퓨터, PDA/EDA, 휴대 전화, 스마트폰, 태블릿, 정보 제공 서버, 자료수집 봇(bot), 인공 지능 등 현실 세계에서 생성되는 다양한 정보 또는 이들을 이용한 분석/통계 자료 등을 제공하여 주는 모든 장치를 포함할 수 있다. 이때, 오프체인 데이터는 투표 정보, 가격 정보, 결제 정보, 물류 정보, 뉴스 등의 각종 정보를 분석한 분석 정보, 통계 정보, 센싱 정보 등 현실 세계에서 생성되거나 이들을 이용한 생성된 모든 정보를 포함할 수 있다. 또한, 복수의 피더 단말들(100_1, 100_2, …, 100_n) 각각은, 영지식증명을 이용한 블록체인 네트워크의 오라클 서비스를 제공하기 위한 인스트럭션들이 저장된 메모리와, 메모리에 저장된 인스트럭션들에 따라 영지식증명을 이용한 블록체인 네트워크의 오라클 서비스를 제공하기 위한 동작을 수행하는 프로세서를 포함할 수 있다.
구체적으로, 복수의 피더 단말들(100_1, 100_2, …, 100_n) 각각은, 전형적으로 컴퓨팅 장치(예컨대, 컴퓨터 프로세서, 메모리, 스토리지, 입력 장치 및 출력 장치, 기타 기존의 컴퓨팅 장치의 구성요소들을 포함할 수 있는 장치; 라우터, 스위치 등과 같은 전자 통신 장치; 네트워크 부착 스토리지(NAS) 및 스토리지 영역 네트워크(SAN)와 같은 전자 정보 스토리지 시스템)와 컴퓨터 소프트웨어(즉, 컴퓨팅 장치로 하여금 특정의 방식으로 기능하게 하는 인스트럭션들)의 조합을 이용하여 원하는 시스템 성능을 달성하는 것일 수 있다.
이와 같은 컴퓨팅 장치의 통신부는 연동되는 타 컴퓨팅 장치와 요청과 응답을 송수신할 수 있는 바, 일 예시로서 그러한 요청과 응답은 동일한 TCP 세션에 의하여 이루어질 수 있지만, 이에 한정되지는 않는바, 예컨대 UDP 데이터그램으로서 송수신될 수도 있을 것이다.
또한, 컴퓨팅 장치의 프로세서는 MPU(Micro Processing Unit) 또는 CPU(Central Processing Unit), 캐쉬 메모리(Cache Memory), 데이터 버스(Data Bus) 등의 하드웨어 구성을 포함할 수 있다. 또한, 운영체제, 특정 목적을 수행하는 애플리케이션의 소프트웨어 구성을 더 포함할 수도 있다.
다음으로, 어그리게이터 단말(200)은 복수의 피더 단말들(100_1, 100_2, …, 100_n)에 의해 등록된 암호화 데이터들을 복호화하고 연산하여 온체인 데이터를 생성하며, 온체인 데이터와 영지식 증명을 위한 연산 증명값을 블록체인 네트워크(400)에 등록함으로써 오라클 서비스를 제공하는 주체로, 서버, PC, 모바일 컴퓨터, PDA/EDA, 휴대 전화, 스마트폰, 태블릿 등을 포함할 수 있으나, 이에 한정되지 않으며, 컴퓨팅 연산을 수행하는 모든 장치를 포함할 수 있다. 또한, 어그리게이터 단말(200)은 영지식증명을 이용한 블록체인 네트워크의 오라클 서비스를 제공하기 위한 인스트럭션들이 저장된 메모리와, 메모리에 저장된 인스트럭션들에 따라 영지식증명을 이용한 블록체인 네트워크의 오라클 서비스를 제공하기 위한 동작을 수행하는 프로세서를 포함할 수 있다.
구체적으로, 어그리게이터 단말(200)은 전형적으로 컴퓨팅 장치(예컨대, 컴퓨터 프로세서, 메모리, 스토리지, 입력 장치 및 출력 장치, 기타 기존의 컴퓨팅 장치의 구성요소들을 포함할 수 있는 장치; 라우터, 스위치 등과 같은 전자 통신 장치; 네트워크 부착 스토리지(NAS) 및 스토리지 영역 네트워크(SAN)와 같은 전자 정보 스토리지 시스템)와 컴퓨터 소프트웨어(즉, 컴퓨팅 장치로 하여금 특정의 방식으로 기능하게 하는 인스트럭션들)의 조합을 이용하여 원하는 시스템 성능을 달성하는 것일 수 있다.
이와 같은 컴퓨팅 장치의 통신부는 연동되는 타 컴퓨팅 장치와 요청과 응답을 송수신할 수 있는 바, 일 예시로서 그러한 요청과 응답은 동일한 TCP 세션에 의하여 이루어질 수 있지만, 이에 한정되지는 않는바, 예컨대 UDP 데이터그램으로서 송수신될 수도 있을 것이다.
또한, 컴퓨팅 장치의 프로세서는 MPU(Micro Processing Unit) 또는 CPU(Central Processing Unit), 캐쉬 메모리(Cache Memory), 데이터 버스(Data Bus) 등의 하드웨어 구성을 포함할 수 있다. 또한, 운영체제, 특정 목적을 수행하는 애플리케이션의 소프트웨어 구성을 더 포함할 수도 있다.
다음으로, 트러스트 서드 파티(300)는 영지식증명을 이용한 블록체인 네트워크의 오라클 서비스에 이용되는 키(key)들을 생성하여 주는 주체로, PC, 모바일 컴퓨터, PDA/EDA, 휴대 전화, 스마트폰, 태블릿, 서버 등을 포함할 수 있으나, 이에 한정되지 않으며, 컴퓨팅 연산을 수행하는 모든 컴퓨팅 장치를 포함할 수 있다. 한편, 트러스트 서드 파티(300)는 블록체인 네트워크(400)의 가상머신에서 동작하는 스마트 컨트랙트로 구현되거나, 어그리게이터 단말(200)에 연동된 컴퓨팅 장치로 구현될 수도 있다.
다음으로, 블록체인 네트워크(400)는 다수의 블록체인 노드들에 의해 구현되는 것으로, 데이터들에 대한 블록을 체인으로 연결한 블록체인을 분산원장에 기록하는 데이터 분산 처리를 수행하는 주체일 수 있다.
이와 같이 구성된 본 발명의 일 실시예에 따른 영지식증명을 이용한 블록체인 네트워크의 오라클 서비스를 제공하는 시스템을 통해, 영지식증명을 이용한 블록체인 네트워크의 오라클 서비스를 제공하는 방법을 설명하면 다음과 같다.
먼저, 도 2를 참조하여, 본 발명의 일 실시예에 따른 영지식증명을 이용한 블록체인 네트워크의 오라클 서비스를 제공하는 방법에서 영지식증명에 이용하기 위한 키들을 생성하는 과정을 설명하면 다음과 같다.
영지식증명을 이용한 블록체인 네트워크의 오라클 서비스를 제공하기 위한 키들을 획득하기 위하여, 어그리게이터 단말(200)이 트러스트 서드 파티(300)로 기설정된 연산기에 대한 키 발행을 요청(S11)할 수 있다.
이때, 기설정된 연산기는 오프체인 데이터를 가공하여 온체인 데이터를 생성하기 위한 연산기로, 오프체인 데이터를 온체인 데이터로 변환하기 위한 연산모듈 또는 연산 로직을 포함할 수 있다.
예를 들면, 연산기는 오프체인 데이터들의 특성을 수치로 나타내는 대표값을 연산하는 것으로, 오프체인 데이터들의 평균, 중앙값, 최빈값, 범위, 사분위수범위, 분산, 표준편차 등을 연산하는 함수일 수 있다. 또한, 연산기는 지역별 제품의 판매 정보를 이용하여 지역별 제품의 제고 정보를 통계화하는 함수일 수도 있다. 또한, 연산기는 뉴스, 인터넷 사이트 등의 정보를 이용하여 특정 결과를 예측한 예측 정보를 생성하는 함수일 수도 있다. 하지만, 본 발명에서는 연산기는 이러한 함수에 한정되는 것은 아니며, 현실 세계의 정보를 가공하여 특정 유형의 정보를 생성하는 다양한 함수를 포함할 수 있다.
그러면, 트러스트 서드 파티(300)는 제1 키생성 모듈에 제1 보안 파리미터를 입력하여 커밋먼트키를 생성하도록 하고, 제2 키생성 모듈에 제2 보안 파라미터를 입력하여 비밀키와 공개키를 생성하도록 하며, 제3 키생성 모듈에 커밋먼트키와 기설정된 연산기를 입력하여 어그리게이터 영지식증명키를 생성(S12)할 수 있다. 이때, 제1 보안 파라미터와 제2 보안 파라미터는 기설정된 연산기에 대한 키 생성을 위하여 생성된 보안 파라미터일 수 있으며, 제1 보안 파라미터와 제2 보안 파라미터는 서로 다른 보안 파라미터이거나 동일한 보안 파라미터일 수 있다.
일 예로, 제1 키 생성 모듈은 PVC(Pedersen Vector Commitment)의 키 생성 알고리즘일 수 있으며, 보안 파라미터(λ)를 다음과 같은 PVC 키생성 알고리즘에 입력하여 커밋먼트키(CK)를 출력하도록 할 수 있다.
PVC. Keygen(λ) (CK)
하지만, 본 발명에서의 제1 키 생성 모듈은 PVC에 한정되지 않으며, 영지식증명을 위한 다양한 커밋먼트 스킴(scheme)에서의 키 생성 모듈을 사용할 수 있다.
그리고, 제2 키 생성 모듈은 Elgamal encryption의 키 생성 알고리즘일 수 있으며, 보안 파라미터(λ)를 다음과 같은 Elgamal 키 생성 알고리즘에 입력하여 공개키(PK)와 비밀키(SK)를 출력하도록 할 수 있다.
Elgamal. Keygen(λ) (PK, SK)
하지만, 본 발명에서의 제2 키 생성 모듈은 Elgamal encryption에 한정되지 않으며, 공개키와 비밀키의 비대칭 키를 이용하여 데이터를 암호화 및 복호화하는 다양한 암호화 알고리즘에서의 키 생성 모듈을 사용할 수 있다.
또한, 제3 키 생성 모듈은 CP-SNARK(simulation-extractable commit and prove succinct non-interactive argument of knowledge)의 키 생성 알고리즘일 수 있으며, 커밋먼트키(CK)와 연산기(R)을 다음과 같은 CP-SNARK 키 생성 알고리즘에 입력하여 어그리게이터 영지식증명키(CRSa)를 출력하도록 할 수 있다.
CP-SNARK. Keygen(CK, R) CRSa
하지만, 본 발명에서의 제3 키 생성 모듈은 CP-SNARK에 한정되지 않으며, 영지식증명을 위한 증명값을 생성하고 이를 검증할 수 있도록 하는 다양한 영지식증명 알고리즘에서의 키 생성 모듈을 사용할 수 있다.
그리고, 트러스트 서드 파티(300)는 생성된 커밋먼트키, 비밀키, 공개키, 및 어그리게이션 영지식증명키를 어그리게이터 단말(200)로 발행(S13)하여 줄 수 있다.
이후, 어그리게이터 단말(200)은 트러스트 서드 파티(300)에 의해 발행된 커밋먼트키, 공개키, 및 어그리게이터 영지식증명키를 블록체인 네트워크(400)에 등록(S14)할 수 있다.
이때, 어그리게이터 단말(200)은 커밋먼트키, 공개키, 및 어그리게이터 영지식증명키를 포함하는 트랜잭션을 블록체인 네트워크(400)로 브로드캐스팅하거나, 커밋먼트키, 공개키, 및 어그리게이터 영지식증명키 각각을 포함하는 트랜잭션들을 블록체인 네트워크(400)로 브로드캐스팅할 수 있으며, 그에 따라, 블록체인 네트워크(400)를 구성하는 블록체인 노드들의 분산합의에 의해 블록이 생성되어, 분산원장의 블록체인에 생성된 블록이 추가됨으로써 커밋먼트키, 공개키, 및 어그리게이터 영지식증명키가 블록체인 네트워크(400)에 등록될 수 있다.
한편, 복수의 피더 단말들(100_1, 100_2, ..., 100_n) 중 어느 하나인 특정 피더 단말(100_1)은 블록체인 네트워크(400)로부터 공개키를 획득(S15)하고, 획득된 공개키를 이용하여 트러스트 서드 파티(300)로 키 발행을 요청(S16)할 수 있다.
이때, 특정 피더 단말(100_1)은 오프체인 데이터를 제공하도록 협의된 상태의 권한자일 수 있다. 또한, 특정 피더 단말(100_1)은 블록체인 네트워크(400)로부터 공개키를 획득하였으나, 이와는 달리, 어그리게이터 단말(200)로부터 직접적으로 공개키를 획득할 수도 있다.
그러면, 트러스트 서드 파티(300)는 커밋먼트키와 공개키를 이용하여 피더 영지식증명키를 생성(S17)하여, 특정 피더 단말(100_1)로 발행(S18)하여 줄 수 있다.
이때, 트러스트 서드 파티(300)는 제3 키 생성 모듈에 커밋먼트키와 특정 피더 단말(100_1)로부터 수신한 공개키를 입력하여 특정 피더 영지식증명키를 생성할 수 있다.
이후, 특정 피더 단말(100_1)은 트러스트 서드 파티(300)에 의해 발행된 특정 피더 영지식증명키를 블록체인 네트워크(400)에 등록(S19)할 수 있다.
이때, 특정 피더 단말(100_1)은 특정 피더 영지식증명키를 포함하는 트랜잭션을 블록체인 네트워크(400)로 브로드캐스팅할 수 있으며, 그에 따라, 블록체인 네트워크(400)를 구성하는 블록체인 노드들의 분산합의에 의해 블록이 생성되어, 분산원장의 블록체인에 생성된 블록이 추가됨으로써 특정 피더 영지식증명키가 블록체인 네트워크(400)에 등록될 수 있다.
이를 통해, 블록체인 네트워크(400)에는 본 발명의 일 실시예에 따른 영지식증명을 이용한 블록체인 네트워크의 오라클 서비스를 제공하는 데 필요한 커밋먼트키, 공개키, 어그리게이터 영지식증명키, 및 복수의 피더 단말들 각각에 대한 각각의 피더 영지식증명키들이 등록될 수 있다.
다음으로, 도 3을 참조하여, 본 발명의 일 실시예에 따른 영지식증명을 이용한 블록체인 네트워크의 오라클 서비스를 제공하는 방법에서 피더 단말이 오프체인 데이터를 블록체인 네트워크에 등록하는 과정을 설명하면 다음과 같다.
도 2를 참조한 설명에 따라 커밋먼트키, 공개키, 어그리게이터 영지식증명키, 및 피더 영지식증명키들이 등록된 상태에서, 복수의 피더 단말들(100_1, 100_2, ..., 100_n) 각각은, 커밋먼트키와 각각의 오프체인 데이터들을 이용하여 생성한 각각의 커밋먼트들, 공개키를 이용하여 각각의 오프체인 데이터들을 암호화한 각각의 암호화 데이터들, 및 각각의 피더 영지식증명키들을 이용하여 커밋먼트와 각각의 암호화 데이터들에 대응되는 각각의 오프체인 데이터들이 동일한 것임을 증명한 각각의 데이터 증명값들을 포함하는 각각의 암호화 데이터 트랜잭션들을 블록체인 네트워크(400)에 등록할 수 있다.
이를 복수의 피더 단말들(100_1, 100_2, ..., 100_n) 중 어느 하나인 특정 피터 단말(100_1)을 참조하여 설명하면 다음과 같다.
오프체인 데이터를 어그리게이터 단말로 제공하고자 하는 특정 피더 단말(100_1)은 블록체인 네트워크(400)로부터 커밋먼트키와 공개키를 획득(S21)할 수 있다.
그리고, 특정 피더 단말(100_1)은 커밋먼트키와 공개키를 각각 사용하여 특정 오프체인 데이터에 대한 특정 커밋먼트와 특정 암호화 데이터를 생성(S22)할 수 있다.
구체적으로, 특정 피더 단말(100_1)은 커밋먼트 생성 모듈에 커밋먼트키와 특정 오프체인 데이터를 입력하여 특정 커밋먼트를 생성하도록 하고, 암호화 모듈에 공개키와 특정 오픈체인 데이터를 입력하여 특정 암호화 데이터를 생성하도록 할 수 있다.
일 예로, 커밋먼트 생성 모듈은 PVC의 커밋먼트 생성 알고리즘일 수 있으며, 커밋먼트키(CK)와 특정 오프체인 데이터(M)를 다음과 같은 PVC 커밋먼트 생성 알고리즘에 입력하여 특정 커밋먼트(CM)를 출력하도록 할 수 있다.
PVC. Commit(CK, M) (CM, O), O는 커밋먼트 오픈값임
하지만, 본 발명에서의 커밋먼트 생성 모듈은 PVC에 한정되지 않으며, 영지식증명을 위한 다양한 커밋먼트 스킴에서의 커밋먼트 생성 모듈을 사용할 수 있다.
그리고, 암호화 모듈은 Elgamal encryption의 암호화 알고리즘일 수 있으며, 공개키(PK)와 특정 오프체인 데이터(M)를 다음과 같은 Elgamal 암호화 알고리즘에 입력하여 특정 암호화 데이터(CT)를 출력하도록 할 수 있다.
Elgamal. Enc(PK, {M, O}) (CT, r), r은 암호문에 사용한 랜덤값임
하지만, 본 발명에서의 암호화 모듈은 Elgamal encryption에 한정되지 않으며, 공개키와 비밀키의 비대칭 키를 이용하여 데이터를 암호화 및 복호화하는 다양한 암호화 알고리즘에서의 암호화 모듈을 사용할 수 있다.
이후, 특정 피더 단말(100_1)은 특정 피더 영지식증명키를 이용하여 특정 데이터 증명값을 생성(S23)할 수 있다. 즉, 특정 피더 단말(100_1)은 특정 커밋먼트와 특정 암호화 데이터에 대응되는 특정 오프체인 데이터가 동일한 것임을 증명한 특정 데이터 증명값을 생성할 수 있다.
이때, 특정 피더 단말(100_1)은 영지식 증명 모듈에 특정 피더 영지식증명키, 특정 커밋먼트, 특정 오프체인 데이터, 및 특정 암호화 데이터를 입력하여 특정 데이터 증명값을 생성하도록 할 수 있다.
일 예로, 영지식 증명 모듈은 CP-SNARK의 영지식 증명 모듈일 수 있으며, 특정 피더 영지식증명키(CRSf), 특정 커밋먼트(CM), 특정 오프체인 데이터(M), 및 특정 암호화 데이터(CT)를 다음과 같은 CP-SNARK 영지식 증명 모듈에 입력하여 특정 데이터 증명값(π1)을 출력하도록 할 수 있다.
CP-SNARK. Prove(CRSf, {CM, M, O}, {CT, M, r}) π1
하지만, 본 발명에서의 영지식 증명 모듈은 CP-SNARK에 한정되지 않으며, 영지식증명을 위한 증명값을 생성하고 이를 검증할 수 있도록 하는 다양한 영지식증명 알고리즘에서의 영지식 증명 모듈을 사용할 수 있다.
그리고, 특정 피더 단말(100_1)은 특정 커밋먼트, 특정 암호화 데이터, 및 상기 특정 데이터 증명값을 포함하는 특정 암호화 데이터 트랜잭션을 블록체인 네트워크(400)에 등록(S24)할 수 있다.
이때, 특정 피더 단말(100_1)은 특정 커밋먼트, 특정 암호화 데이터, 및 특정 데이터 증명값을 포함하는 트랜잭션을 블록체인 네트워크(400)로 브로드캐스팅할 수 있으며, 그에 따라, 블록체인 네트워크(400)를 구성하는 블록체인 노드들의 분산합의에 의해 블록이 생성되어, 분산원장의 블록체인에 생성된 블록이 추가됨으로써 특정 커밋먼트, 특정 암호화 데이터, 및 특정 데이터 증명값이 블록체인 네트워크(400)에 등록될 수 있다.
이를 통해, 피더 단말들(100_1, 100_2, ..., 100_n) 각각은, 각각의 오프체인 데이터들을 공개하지 않으며, 엄호화 데이터들 각각이 각각의 오프체인 데이터들로부터 생성된 것임을 신뢰할 수 있도록 할 수 있다.
다음으로, 도 4를 참조하여, 본 발명의 일 실시예에 따른 영지식증명을 이용한 블록체인 네트워크의 오라클 서비스를 제공하는 방법에서 어그리게이터 단말이 피더 단말이 등록한 오프체인 데이터를 온체인 데이터로 블록체인 네트워크로 등록하는 과정을 설명하면 다음과 같다.
도 3의 설명에 따라 복수의 피더 단말들(100_1, 100_2, ..., 100_n) 각각이 커밋먼트키와 각각의 오프체인 데이터들을 이용하여 생성한 각각의 커밋먼트들, 공개키를 이용하여 각각의 오프체인 데이터를 암호화한 각각의 암호화 데이터들, 및 각각의 피더 영지식증명키를 이용하여 커밋먼트와 각각의 암호화 데이터들에 대응되는 각각의 오프체인 데이터들이 동일한 것임을 증명한 각각의 데이터 증명값들을 포함하는 각각의 암호화 데이터 트랜잭션들을 블록체인 네트워크(400)에 등록된 상태에서, 어그리게이터 단말(200)은 기설정된 주기에 따라 특정 주기 동안 블록체인 네트워크(400)에 등록된 제1 암호화 데이터 트랜잭션 내지 제k 암호화 데이터 트랜잭션을 획득할 수 있다. k는 1 이상의 정수일 수 있다.
그리고, 어그리게이터 단말(200)은 제1 데이터 피더 트랜잭션 내지 제k 데이터 피더 트랜잭션 각각, 즉, 제i 데이터 피더 트랜잭션에서, 제i 커밋먼트, 제i 암호화 데이터, 및 제i 데이터 증명값을 획득(S31)할 수 있다. i는 1 이상이며 k 이하인 정수일 수 있다.
이후, 어그리게이터 단말(200)은 제i 피더 영지식증명키를 이용하여 제i 데이터 증명값을 검증하고, 공개키에 대응되는 비밀키를 이용하여 제i 암호화 데이터를 복호화하여 제i 복호화 데이터를 생성하는 과정을 1 이상이며 k 이하의 정수인 i를 대상으로 수행함으로써 제1 복호화 데이터 내지 제k 복호화 데이터를 획득(S32)할 수 있다. 다만, 도 4 에서는 설명의 편의상 “i"라고만 언급하여 설명하였으나, 이는 1 내지 k 각각에 대해 설명한 것으로 이해되어야 할 것이다.
즉, 제1 데이터 피더 트랜잭션 내지 제k 데이터 피더 트랜잭션 각각에 대응되는 제1 피더 영지식증명키 내지 제k 피더 영지식증명키를 제i 피더 영지식증명키라고 일컬을 때, 어그리게이터 단말(200)은 제i 피더 영지식증명키를 블록체인 네트워크(400)로부터 획득하고, 영지식 검증 모듈에 제i 피더 영지식증명키, 제i 암호화 데이터, 제i 커밋먼트, 및 제i 데이터 증명값을 입력하여 제i 데이터 증명값을 검증하도록 할 수 있다.
일 예로, 영지식 검증 모듈은 CP-SNARK의 영지식 검증 모듈일 수 있으며, 제i 피더 영지식증명키(CRSf_i), 제i 암호화 데이터(CT_i), 제i 커밋먼트CM_i), 및 제i 데이터 증명값(π1_i)을 다음과 같은 CP-SNARK 영지식 검증 모듈에 입력하여 데이터 검증값(0/1)을 출력하도록 할 수 있다. 이때, 데이터 검증값이 1이면 데이터 증명값이 참인 것으로 판단하며, 데이터 검증값이 0이면 데이터 증명값이 거짓인 것으로 판단할 수 있다.
CP-SNARK. Verify(CRSf_i, CT_i, CM_i, π1_i) 0/1
하지만, 본 발명에서의 영지식 검증 모듈은 CP-SNARK에 한정되지 않으며, 영지식증명을 위한 증명값을 생성하고 이를 검증할 수 있도록 하는 다양한 영지식증명 알고리즘에서의 영지식 검증 모듈을 사용할 수 있다.
그리고, 어그리게이터 단말(200)은 복호화 모듈에 참인 것으로 검증된 데이터 증명값에 대응되는 제i 암호화 데이터를 입력하여 제i 복호화 데이터를 생성하도록 할 수 있다.
일 예로, 복호화 모듈은 Elgamal encryption의 복호화 알고리즘일 수 있으며, 비밀키(SK)와 제i 암호화 데이터(CT_i)를 다음과 같은 Elgamal 복호화 알고리즘에 입력하여 제i 복호화 데이터(m_i)를 출력하도록 할 수 있다.
Elgamal. Dec(SK, CT_i) (m_i, O_i)
하지만, 본 발명에서의 복호화 모듈은 Elgamal encryption에 한정되지 않으며, 공개키와 비밀키의 비대칭 키를 이용하여 데이터를 암호화 및 복호화하는 다양한 암호화 알고리즘에서의 복호화 모듈을 사용할 수 있다.
이후, 어그리게이터 단말(200)은 기설정된 연산기를 통해 제i 복호화 데이터, 즉, 제1 복호화 데이터 내지 제k 복호화 데이터를 연산하여 온체인 데이터를 생성(S33)할 수 있다.
이때, 어그리게이터 단말(200)은 기설정된 연산기에 제i 복호화 데이터(m_i)를 입력하여 다음과 같은 연산 알고리즘(R)에 의해 제i 복호화 데이터(m_i)를 이용하여 기설정된 연산을 수행한 온체인 데이터(OUT)를 출력하도록 할 수 있다.
R({m_i}) OUT, W, W는 연산에 사용된 비밀값(witness)임
그리고, 어그리게이터 단말(200)은 어그리게이터 영지식증명키를 이용하여 온체인 데이터가 기설정된 연산기에 의해 제1 복호화 데이터 내지 제k 복호화 데이터를 연산하여 생성된 것임을 증명한 연산 증명값(S34)을 생성할 수 있다.
이때, 어그리게이터 단말(200)은 영지식 증명 모듈에 어그리게이터 영지식증명키, 제i 커밋먼트, 제i 복호화 데이터, 및 온체인 데이터를 입력하여 연산 증명값을 생성하도록 할 수 있다.
일 예로, 영지식 증명 모듈은 CP-SNARK의 영지식 증명 모듈일 수 있으며, 어그리게이터 영지식증명키(CRSa), 제i 커밋먼트(CM_i), 제i 복호화 데이터(M_i), 및 온체인 데이터(OUT)를 다음과 같은 CP-SNARK 영지식 증명 모듈에 입력하여 연산 증명값(π2)을 출력하도록 할 수 있다.
CP-SNARK. Prove(CRSa, {CM_i, M_i, O_i}, OUT:W) π2
하지만, 본 발명에서의 영지식 증명 모듈은 CP-SNARK에 한정되지 않으며, 영지식증명을 위한 증명값을 생성하고 이를 검증할 수 있도록 하는 다양한 영지식증명 알고리즘에서의 영지식 증명 모듈을 사용할 수 있다.
그리고, 어그리게이터 단말(200)은 온체인 데이터와 연산 증명값을 블록체인 네트워크(400)에 등록(S35)하여 줄 수 있다.
이때, 어그리게이터 단말(200)은 온체인 데이터와 연산 증명값을 포함하는 트랜잭션을 블록체인 네트워크(400)로 브로드캐스팅할 수 있으며, 그에 따라, 블록체인 네트워크(400)를 구성하는 블록체인 노드들의 분산합의에 의해 블록이 생성되어, 분산원장의 블록체인에 생성된 블록이 추가됨으로써 온체인 데이터와 연산 증명값이 블록체인 네트워크(400)에 등록될 수 있다.
이를 통해, 어그리게이터 단말(200)은 오프체인 데이터를 공개하지 않고도 온체인 데이터가 오프체인 데이터로부터 생성된 것을 신뢰할 수 있도록 할 수 있다.
이와 같은 방법에 의해 블록체인 네트워크(400)에 등록된 온체인 데이터는 사용자들이 신뢰하고 사용할 수 있으며, 필요에 따라, 온체인 데이터가 오프체인 데이터로부터 생성된 것임을 확인하기 위하여 연산 증명값을 검증하며, 온체인 데이터를 생성하기 위하여 사용된 암호화 데이터가 오프체인 데이터에 대응되는 지를 확인하기 위하여 데이터 증명값들을 검증할 수 있다.
이때, 사용자는 데이터 증명값들과 데이터 증명값을 검증하기 위하여, 블록체인 네트워크(400)로부터 어그리게이터 영지식증명키(CRSa), 제i 피더 영지식증명키(CRSf_i), 제i 암호화 데이터(CT_i), 제i 커밋먼트(CM_i), 제i 데이터 증명값(π1_i), 온체인 데이터(OUT), 및 연산 증명값(π2)을 획득할 수 있다.
그리고, 사용자는 영지식 검증 모듈에 제i 피더 영지식증명키(CRSf_i), 제i 암호화 데이터(CT_i), 제i 커밋먼트(CM_i), 및 제i 데이터 증명값(π1_i)을 입력하여 제i 데이터 증명값을 검증하도록 할 수 있다.
일 예로, 영지식 검증 모듈은 CP-SNARK의 영지식 검증 모듈일 수 있으며, 제i 피더 영지식증명키(CRSf_i), 제i 암호화 데이터(CT_i), 제i 커밋먼트(CM_i), 및 제i 데이터 증명값(π1_i)을 다음과 같은 CP-SNARK 영지식 검증 모듈에 입력하여 데이터 검증값(0/1)을 출력하도록 할 수 있다. 이때, 데이터 검증값이 1이면 데이터 증명값이 참인 것으로 판단하며, 데이터 검증값이 0이면 데이터 증명값이 거짓인 것으로 판단할 수 있다.
CP-SNARK. Verify(CRSf_i, CT_i, CM_i, π1_i) 0/1
하지만, 본 발명에서의 영지식 검증 모듈은 CP-SNARK에 한정되지 않으며, 영지식증명을 위한 증명값을 생성하고 이를 검증할 수 있도록 하는 다양한 영지식증명 알고리즘에서의 영지식 검증 모듈을 사용할 수 있다.
또한, 사용자는 영지식 검증 모듈에 어그리게이터 영지식증명키, 온체인 데이터, 제i 커밋먼트, 및 연산 증명값을 입력하여 연산 증명값을 검증하도록 할 수 있다.
일 예로, 영지식 검증 모듈은 CP-SNARK의 영지식 검증 모듈일 수 있으며, 어그리게이터 영지식증명키(CRSa), 온체인 데이터(OUT), 제i 커밋먼트(CM_i), 및 연산 증명값(π2)을 다음과 같은 CP-SNARK 영지식 검증 모듈에 입력하여 데이터 검증값(0/1)을 출력하도록 할 수 있다. 이때, 데이터 검증값이 1이면 데이터 증명값이 참인 것으로 판단하며, 데이터 검증값이 0이면 데이터 증명값이 거짓인 것으로 판단할 수 있다.
CP-SNARK. Verify(CRSa, OUT, {CM_i}, π2) 0/1
하지만, 본 발명에서의 영지식 검증 모듈은 CP-SNARK에 한정되지 않으며, 영지식증명을 위한 증명값을 생성하고 이를 검증할 수 있도록 하는 다양한 영지식증명 알고리즘에서의 영지식 검증 모듈을 사용할 수 있다.
또한, 이상 설명된 본 발명에 따른 실시예들은 다양한 컴퓨터 구성요소를 통하여 수행될 수 있는 프로그램 명령어의 형태로 구현되어 컴퓨터 판독 가능한 기록 매체에 기록될 수 있다. 상기 컴퓨터 판독 가능한 기록 매체는 프로그램 명령어, 데이터 파일, 데이터 구조 등을 단독으로 또는 조합하여 포함할 수 있다. 상기 컴퓨터 판독 가능한 기록 매체에 기록되는 프로그램 명령어는 본 발명을 위하여 특별히 설계되고 구성된 것들이거나 컴퓨터 소프트웨어 분야의 당업자에게 공지되어 사용 가능한 것일 수도 있다. 컴퓨터 판독 가능한 기록 매체의 예에는, 하드 디스크, 플로피 디스크 및 자기 테이프와 같은 자기 매체, CD-ROM, DVD와 같은 광기록 매체, 플롭티컬 디스크(floptical disk)와 같은 자기-광 매체(magneto-optical media), 및 ROM, RAM, 플래시 메모리 등과 같은 프로그램 명령어를 저장하고 수행하도록 특별히 구성된 하드웨어 장치가 포함된다. 프로그램 명령어의 예에는, 컴파일러에 의해 만들어지는 것과 같은 기계어 코드뿐만 아니라 인터프리터 등을 사용해서 컴퓨터에 의해서 실행될 수 있는 고급 언어 코드도 포함된다. 상기 하드웨어 장치는 본 발명에 따른 처리를 수행하기 위해 하나 이상의 소프트웨어 모듈로서 작동하도록 구성될 수 있으며, 그 역도 마찬가지이다.
이상에서 본 발명이 구체적인 구성요소 등과 같은 특정 사항들과 한정된 실시예 및 도면에 의해 설명되었으나, 이는 본 발명의 보다 전반적인 이해를 돕기 위해서 제공된 것일 뿐, 본 발명이 상기 실시예들에 한정되는 것은 아니며, 본 발명이 속하는 기술분야에서 통상적인 지식을 가진 자라면 이러한 기재로부터 다양한 수정 및 변형을 꾀할 수 있다.
따라서, 본 발명의 사상은 상기 설명된 실시예에 국한되어 정해져서는 아니 되며, 후술하는 특허청구범위뿐만 아니라 이 특허청구범위와 균등하게 또는 등가적으로 변형된 모든 것들은 본 발명의 사상의 범주에 속한다고 할 것이다.
100_n: 피더 단말,
200: 어그리게이터 단말,
300: 트러스트 서드 파티,
400: 블록체인 네트워크

Claims (12)

  1. 영지식증명을 이용한 블록체인 네트워크의 오라클 서비스를 제공하는 방법에 있어서,
    (a) 복수의 피더 단말들 각각이 커밋먼트키와 각각의 오프체인 데이터들을 이용하여 생성한 각각의 커밋먼트들, 공개키를 이용하여 각각의 상기 오프체인 데이터를 암호화한 각각의 암호화 데이터들, 및, 각각의 피더 영지식증명키를 이용하여 상기 커밋먼트와 각각의 상기 암호화 데이터들에 대응되는 각각의 상기 오프체인 데이터들이 동일한 것임을 증명한 각각의 데이터 증명값들을 포함하는 각각의 암호화 데이터 트랜잭션들을 상기 블록체인 네트워크에 등록하면, 어그리게이터 단말이, 기설정된 주기에 따라 특정 주기 동안 상기 블록체인 네트워크에 등록된 제1 암호화 데이터 트랜잭션 내지 제k - 상기 k는 1 이상의 정수임 - 암호화 데이터 트랜잭션을 획득하는 단계; 및
    (b) 상기 어그리게이터 단말이, (i) 상기 제1 데이터 피더 트랜잭션 내지 상기 제k 데이터 피더 트랜잭션 각각에서, 제i - 상기 i는 1 이상이며 k이하인 정수임 - 피더 영지식증명키를 이용하여 제i 데이터 증명값을 검증하고, 상기 공개키에 대응되는 비밀키를 이용하여 제i 암호화 데이터를 복호화하여 제i 복호화 데이터를 생성함으로써 제1 복호화 데이터 내지 제k 복호화 데이터를 획득하며, (ii) 기설정된 연산기를 통해 상기 제1 복호화 데이터 내지 상기 제k 복호화 데이터를 연산하여 온체인 데이터를 생성하고, 어그리게이터 영지식증명키를 이용하여 상기 온체인 데이터가 상기 기설정된 연산기에 의해 상기 제1 복호화 데이터 내지 상기 제k 복호화 데이터를 연산하여 생성된 것임을 증명한 연산 증명값을 생성하며, (iii) 상기 온체인 데이터와 상기 연산 증명값을 상기 블록체인 네트워크에 등록하는 단계;
    를 포함하는 방법.
  2. 제1항에 있어서,
    (a0) 상기 어그리게이터 단말이, 트러스트 서드 파티에 의해 발행된 상기 커밋먼트키, 상기 공개키, 및 상기 어그리게이터 영지식증명키를 상기 블록체인 네트워크에 등록하는 단계;
    를 더 포함하는 방법.
  3. 제2항에 있어서,
    상기 (a) 단계에서, 상기 복수의 피더 단말들 중 어느 하나인 특정 피더 단말은 상기 블록체인 네트워크로부터 상기 커밋먼트키와 상기 공개키를 획득하여 특정 오프체인 데이터에 대한 특정 커밋먼트와 특정 암호화 데이터를 생성하고, 상기 트러스트 서드 파티에 의해 발행된 특정 피더 영지식증명키를 이용하여 특정 데이터 증명값을 생성하며, 상기 특정 커밋먼트, 상기 특정 암호화 데이터, 및, 상기 특정 데이터 증명값를 포함하는 특정 암호화 데이터 트랜잭션을 상기 블록체인 네트워크에 등록하는 방법.
  4. 제3항에 있어서,
    상기 특정 피더 영지식증명키는, 상기 특정 피더 단말이 상기 블록체인 네트워크로부터 획득한 상기 공개키를 이용하여 상기 트러스트 서드 파티로 발행을 요청함으로써 상기 트러스트 서드 파티가 상기 커밋먼트키와 상기 공개키를 이용하여 생성한 것인 방법.
  5. 제2항에 있어서,
    상기 어그리게이터 단말은, 상기 트러스트 서드 파티로 상기 기설정된 연산기에 대한 키 발행을 요청함으로써 상기 트러스트 서드 파티로 하여금, 제1 키생성 모듈에 제1 보안 파리미터를 입력하여 상기 커밋먼트키를 생성하도록 하고, 제2 키생성 모듈에 제2 보안 파라미터를 입력하여 상기 비밀키와 상기 공개키를 생성하도록 하며, 제3 키생성 모듈에 상기 커밋먼트키와 상기 기설정된 연산기를 입력하여 상기 어그리게이터 영지식증명키를 생성하도록 한 다음, 상기 커밋먼트키, 상기 비밀키, 상기 공개키, 및 상기 어그리게이션 영지식증명키를 상기 어그리게이터 단말로 전송하도록 하는 방법.
  6. 제1항에 있어서,
    상기 (b) 단계에서,
    상기 어그리게이터 단말은, 제i 데이터 피더 트랜잭션을 등록한 제i 피더 단말이 상기 블록체인 네트워크에 등록한 제i 피더 영지식증명키를 상기 블록체인 네트워크로부터 획득하여 상기 제i 데이터 증명값을 검증하는 방법.
  7. 영지식증명을 이용한 블록체인 네트워크의 오라클 서비스를 제공하는 어그리게이터 단말에 있어서,
    영지식증명을 이용한 블록체인 네트워크의 오라클 서비스를 제공하기 위한 인스트럭션들이 저장된 메모리; 및
    상기 메모리에 저장된 상기 인스트럭션들에 따라 영지식증명을 이용한 블록체인 네트워크의 오라클 서비스를 제공하기 위한 동작을 수행하는 프로세서;
    를 포함하며,
    상기 프로세서는, (I) 복수의 피더 단말들 각각이 커밋먼트키와 각각의 오프체인 데이터들을 이용하여 생성한 각각의 커밋먼트들, 공개키를 이용하여 각각의 상기 오프체인 데이터를 암호화한 각각의 암호화 데이터들, 및, 각각의 피더 영지식증명키를 이용하여 상기 커밋먼트와 각각의 상기 암호화 데이터들에 대응되는 각각의 상기 오프체인 데이터들이 동일한 것임을 증명한 각각의 데이터 증명값들을 포함하는 각각의 암호화 데이터 트랜잭션들을 상기 블록체인 네트워크에 등록하면, 기설정된 주기에 따라 특정 주기 동안 상기 블록체인 네트워크에 등록된 제1 암호화 데이터 트랜잭션 내지 제k - 상기 k는 1 이상의 정수임 - 암호화 데이터 트랜잭션을 획득하는 프로세스, 및 (II) (i) 상기 제1 데이터 피더 트랜잭션 내지 상기 제k 데이터 피더 트랜잭션 각각에서, 제i - 상기 i는 1 이상이며 k이하인 정수임 - 피더 영지식증명키를 이용하여 제i 데이터 증명값을 검증하고, 상기 공개키에 대응되는 비밀키를 이용하여 제i 암호화 데이터를 복호화하여 제i 복호화 데이터를 생성함으로써 제1 복호화 데이터 내지 제k 복호화 데이터를 획득하며, (ii) 기설정된 연산기를 통해 상기 제1 복호화 데이터 내지 상기 제k 복호화 데이터를 연산하여 온체인 데이터를 생성하고, 어그리게이터 영지식증명키를 이용하여 상기 온체인 데이터가 상기 기설정된 연산기에 의해 상기 제1 복호화 데이터 내지 상기 제k 복호화 데이터를 연산하여 생성된 것임을 증명한 연산 증명값을 생성하며, (iii) 상기 온체인 데이터와 상기 연산 증명값을 상기 블록체인 네트워크에 등록하는 프로세스를 수행하는 어그리게이터 단말.
  8. 제7항에 있어서,
    상기 프로세서는, 상기 (I) 프로세스 이전에, 트러스트 서드 파티에 의해 발행된 상기 커밋먼트키, 상기 공개키, 및 상기 어그리게이터 영지식증명키를 상기 블록체인 네트워크에 등록하는 프로세스를 더 수행하는 어그리게이터 단말.
  9. 제8항에 있어서,
    상기 프로세서는, 상기 (I) 프로세스에서, 상기 복수의 피더 단말들 중 어느 하나인 특정 피더 단말은 상기 블록체인 네트워크로부터 상기 커밋먼트키와 상기 공개키를 획득하여 특정 오프체인 데이터에 대한 특정 커밋먼트와 특정 암호화 데이터를 생성하고, 상기 트러스트 서드 파티에 의해 발행된 특정 피더 영지식증명키를 이용하여 특정 데이터 증명값을 생성하며, 상기 특정 커밋먼트, 상기 특정 암호화 데이터, 및, 상기 특정 데이터 증명값를 포함하는 특정 암호화 데이터 트랜잭션을 상기 블록체인 네트워크에 등록하도록 하는 어그리게이터 단말.
  10. 제9항에 있어서,
    상기 특정 피더 영지식증명키는, 상기 특정 피더 단말이 상기 블록체인 네트워크로부터 획득한 상기 공개키를 이용하여 상기 트러스트 서드 파티로 발행을 요청함으로써 상기 트러스트 서드 파티가 상기 커밋먼트키와 상기 공개키를 이용하여 생성한 것인 어그리게이터 단말.
  11. 제8항에 있어서,
    상기 프로세서는, 상기 트러스트 서드 파티로 상기 기설정된 연산기에 대한 키 발행을 요청함으로써 상기 트러스트 서드 파티로 하여금, 제1 키생성 모듈에 제1 보안 파리미터를 입력하여 상기 커밋먼트키를 생성하도록 하고, 제2 키생성 모듈에 제2 보안 파라미터를 입력하여 상기 비밀키와 상기 공개키를 생성하도록 하며, 제3 키생성 모듈에 상기 커밋먼트키와 상기 기설정된 연산기를 입력하여 상기 어그리게이터 영지식증명키를 생성하도록 한 다음, 상기 커밋먼트키, 상기 비밀키, 상기 공개키, 및 상기 어그리게이션 영지식증명키를 상기 어그리게이터 단말로 전송하도록 하는 어그리게이터 단말.
  12. 제7항에 있어서,
    상기 프로세서는, 상기 (II) 프로세스에서, 제i 데이터 피더 트랜잭션을 등록한 제i 피더 단말이 상기 블록체인 네트워크에 등록한 제i 피더 영지식증명키를 상기 블록체인 네트워크로부터 획득하여 상기 제i 데이터 증명값을 검증하는 어그리게이터 단말.
KR1020230070871A 2022-10-12 2023-06-01 영지식증명을 이용한 블록체인 네트워크의 오라클 서비스를 제공하는 방법 및 이를 이용한 어그리게이터 단말 KR20240051016A (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020230070871A KR20240051016A (ko) 2022-10-12 2023-06-01 영지식증명을 이용한 블록체인 네트워크의 오라클 서비스를 제공하는 방법 및 이를 이용한 어그리게이터 단말

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
KR1020220130237A KR102636987B1 (ko) 2022-10-12 2022-10-12 영지식증명을 이용한 블록체인 네트워크의 오라클 서비스를 제공하는 방법 및 이를 이용한 어그리게이터 단말
KR1020230070871A KR20240051016A (ko) 2022-10-12 2023-06-01 영지식증명을 이용한 블록체인 네트워크의 오라클 서비스를 제공하는 방법 및 이를 이용한 어그리게이터 단말

Related Parent Applications (1)

Application Number Title Priority Date Filing Date
KR1020220130237A Division KR102636987B1 (ko) 2022-10-12 2022-10-12 영지식증명을 이용한 블록체인 네트워크의 오라클 서비스를 제공하는 방법 및 이를 이용한 어그리게이터 단말

Publications (1)

Publication Number Publication Date
KR20240051016A true KR20240051016A (ko) 2024-04-19

Family

ID=84361797

Family Applications (2)

Application Number Title Priority Date Filing Date
KR1020220130237A KR102636987B1 (ko) 2022-10-12 2022-10-12 영지식증명을 이용한 블록체인 네트워크의 오라클 서비스를 제공하는 방법 및 이를 이용한 어그리게이터 단말
KR1020230070871A KR20240051016A (ko) 2022-10-12 2023-06-01 영지식증명을 이용한 블록체인 네트워크의 오라클 서비스를 제공하는 방법 및 이를 이용한 어그리게이터 단말

Family Applications Before (1)

Application Number Title Priority Date Filing Date
KR1020220130237A KR102636987B1 (ko) 2022-10-12 2022-10-12 영지식증명을 이용한 블록체인 네트워크의 오라클 서비스를 제공하는 방법 및 이를 이용한 어그리게이터 단말

Country Status (4)

Country Link
US (1) US20240129113A1 (ko)
EP (1) EP4354794A1 (ko)
JP (1) JP2024057554A (ko)
KR (2) KR102636987B1 (ko)

Family Cites Families (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10303887B2 (en) * 2015-09-14 2019-05-28 T0.Com, Inc. Data verification methods and systems using a hash tree, such as a time-centric merkle hash tree
WO2019158209A1 (en) * 2018-02-16 2019-08-22 Ecole polytechnique fédérale de Lausanne (EPFL) Methods and systems for secure data exchange
WO2019226580A1 (en) * 2018-05-21 2019-11-28 Integra, Inc. Blockchain-anchored smart documents
US11146399B2 (en) * 2018-10-19 2021-10-12 Eygs Llp Methods and systems for retrieving zero-knowledge proof-cloaked data on distributed ledger-based networks
US11151558B2 (en) * 2018-12-12 2021-10-19 American Express Travel Related Services Company, Inc Zero-knowledge proof payments using blockchain
KR102361227B1 (ko) * 2019-04-11 2022-02-09 황성재 인스턴트 메세지의 자연어 인식을 통한 스마트 계약 장치 및 그 방법
KR102357460B1 (ko) * 2020-03-27 2022-01-28 한양대학교 산학협력단 동형 암호 기술 기반 전자 투표 시스템 및 그 방법
CN111535391A (zh) 2020-05-19 2020-08-14 山河智能装备股份有限公司 具有上、下车快捷拆装机构的大型机械及装卸方法

Also Published As

Publication number Publication date
EP4354794A1 (en) 2024-04-17
KR102636987B1 (ko) 2024-02-16
JP2024057554A (ja) 2024-04-24
US20240129113A1 (en) 2024-04-18

Similar Documents

Publication Publication Date Title
US20230023857A1 (en) Data processing method and apparatus, intelligent device, and storage medium
US11449819B2 (en) Blockchain-based authentication and authorization
US10924285B2 (en) Method and server for providing notary service with respect to file and verifying file recorded by the notary service
US20200250655A1 (en) Efficient, environmental and consumer friendly consensus method for cryptographic transactions
US11575501B2 (en) Preserving aggregation using homomorphic encryption and trusted execution environment, secure against malicious aggregator
CN111027981B (zh) 多方联合训练针对IoT机具的风险评估模型的方法及装置
CN115242553B (zh) 一种支持安全多方计算的数据交换方法及系统
CN112989416A (zh) 一种面向智能电网的匿名多维数据聚合隐私保护方法
US20240143727A1 (en) Device authentication method and system, iot device and authentication server
CN114021164A (zh) 基于区块链的征信系统隐私保护方法
CN110737905B (zh) 数据授权方法、数据授权装置及计算机存储介质
CN117828673B (zh) 基于区块链的数据流通与隐私保护方法及装置
CN109302286B (zh) 一种Fido设备密钥索引的生成方法
Verma et al. Secure document sharing model based on blockchain technology and attribute-based encryption
CN116827821B (zh) 基于区块链云应用程序性能监控方法
WO2013153628A1 (ja) 演算処理システムおよび演算結果認証方法
KR102636987B1 (ko) 영지식증명을 이용한 블록체인 네트워크의 오라클 서비스를 제공하는 방법 및 이를 이용한 어그리게이터 단말
Benrebbouh et al. Enhanced secure and efficient mutual authentication protocol in iot-based energy internet using blockchain
CN114726865B (zh) 数据质押方法、系统、电子装置和存储介质
Keshavarzkalhori et al. Federify: a verifiable federated learning scheme based on zksnarks and blockchain
CN113706261A (zh) 一种基于区块链的电力交易方法、装置及系统
CN110766407A (zh) 基于区块链的交易验证方法、记账节点及介质
Chang et al. A dependable storage service system in cloud environment
WO2022085420A1 (ja) 情報処理装置および方法、並びに情報処理システム
Cryptography Secure Privacy-preserving Computing Applications on Cloud