KR102149900B1 - Privacy-preserving Data Analysis Method on Permissioned Blockchain System - Google Patents
Privacy-preserving Data Analysis Method on Permissioned Blockchain System Download PDFInfo
- Publication number
- KR102149900B1 KR102149900B1 KR1020190032442A KR20190032442A KR102149900B1 KR 102149900 B1 KR102149900 B1 KR 102149900B1 KR 1020190032442 A KR1020190032442 A KR 1020190032442A KR 20190032442 A KR20190032442 A KR 20190032442A KR 102149900 B1 KR102149900 B1 KR 102149900B1
- Authority
- KR
- South Korea
- Prior art keywords
- data analysis
- distributed
- privacy
- distributed ledger
- data
- Prior art date
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/24—Querying
- G06F16/245—Query processing
- G06F16/2452—Query translation
- G06F16/24526—Internal representations for queries
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F15/00—Digital computers in general; Data processing equipment in general
- G06F15/16—Combinations of two or more digital computers each having at least an arithmetic unit, a program unit and a register, e.g. for a simultaneous processing of several programs
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/24—Querying
- G06F16/245—Query processing
- G06F16/2453—Query optimisation
- G06F16/24534—Query rewriting; Transformation
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/60—Protecting data
- G06F21/62—Protecting access to data via a platform, e.g. using keys or access control rules
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/10—Protocols in which an application is distributed across nodes in the network
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- Computer Hardware Design (AREA)
- Software Systems (AREA)
- Computational Linguistics (AREA)
- Data Mining & Analysis (AREA)
- Databases & Information Systems (AREA)
- Computer Security & Cryptography (AREA)
- Health & Medical Sciences (AREA)
- General Health & Medical Sciences (AREA)
- Bioethics (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
본 발명은 허가형 블록체인 시스템 상에서의 프라이버시 보존형 데이터 분석 방법에 관한 것으로서, 더욱 상세하게는 블록체인 기반 시스템에서 특정 데이터 분석을 수행할 때 질의에 대한 비밀분산원장의 응답에 노이즈가 추가 된 값을 반환하여 개인 프라이버시가 보존된 상태로 데이터 분석을 수행 할 수 있도록 하는 허가형 블록체인 시스템 상에서의 프라이버시 보존형 데이터 분석 방법에 관한 것이다.The present invention relates to a privacy-preserving data analysis method in a permissioned blockchain system, and more particularly, a value in which noise is added to the response of the secret distributed ledger to a query when performing specific data analysis in a blockchain-based system. It relates to a privacy-preserving data analysis method on a permission-type blockchain system that enables data analysis to be performed in a state where personal privacy is preserved.
Description
본 발명은 허가형 블록체인 시스템 상에서의 프라이버시 보존형 데이터 분석 방법에 관한 것으로서, 더욱 상세하게는 블록체인 기반 시스템에서 특정 데이터 분석을 수행할 때 질의에 대한 비밀분산원장의 응답에 노이즈가 추가 된 값을 반환하여 개인 프라이버시가 보존된 상태로 데이터 분석을 수행 할 수 있도록 하는 허가형 블록체인 시스템 상에서의 프라이버시 보존형 데이터 분석 방법에 관한 것이다.The present invention relates to a privacy-preserving data analysis method in a permissioned blockchain system, and more particularly, a value in which noise is added to the response of the secret distributed ledger to a query when performing specific data analysis in a blockchain-based system. It relates to a privacy-preserving data analysis method on a permission-type blockchain system that enables data analysis to be performed in a state where personal privacy is preserved.
블록체인 기술은 암호화폐(Cryptocurrency)로 인해 널리 알려진 기술로써, 기존의 중앙 집중형 데이터베이스가 아닌 해당 네트워크에 참여 중인 참여자들이 모두 공유된 데이터베이스를 갖는 분산 데이터베이스 기반 시스템에서 안전하고 효율적인 데이터 공유를 수행하기 위한 기법이다.Blockchain technology is a widely known technology for cryptocurrency, and it is not a traditional centralized database, but a distributed database-based system in which all participants participating in the network have a shared database to perform secure and efficient data sharing. It is a technique for.
비특허문헌 1에 의해 제안된 암호화폐 기술 및 이를 기반으로 하는 블록체인 시스템들은 해당 네트워크에 누구든지 참여할 수 있고, 참여된 모든 구성원(노드)들이 데이터베이스에 해당하는 분산 원장을 보유하고 있다. 이를 보통 무 허가형 블록체인(Permissionless blockchain) 시스템 이라고 하며 이는 보통 퍼블릭 블록체인(Public blockchain)이라고 불리기도 한다. 이와는 달리 특정 동일 목적을 가진 기관들의 집합 또는 특정 단체만이 해당 네트워크에 참여할 수 있는 시스템을 허가형 블록체인(Permissioned blockchain)이라고 하며 이는 중앙집중화의 정도에 따라 프라이빗 블록체인(Private blockchain) 또는 컨소시엄 블록체인(Consortium Blockchain)이라고 불리기도 한다.The cryptocurrency technology proposed by Non-Patent Literature 1 and the blockchain systems based on it can participate in the network, and all members (nodes) participating have a distributed ledger corresponding to the database. This is usually referred to as a permissionless blockchain system, and it is also commonly referred to as a public blockchain. Unlike this, a system in which only a set of institutions with a specific purpose or only a specific organization can participate in the network is called a permissioned blockchain, which is a private blockchain or a consortium block depending on the degree of centralization. It is also called the Consortium Blockchain.
비특허문헌 1에 의해 제안된 무 허가형 블록체인은 대개 네트워크에서 이루어지는 트랜잭션 및 이에 대한 안전한 분산 원장에 대한 처리 및 저장에 대한 효율성 보다는 완전한 탈 중앙화를 통해 누구든지 참여할 수 있는 규모의 확장성을 가짐을 목적으로 한다.Unauthorized blockchain proposed by Non-Patent Document 1 usually has scalability of scale that anyone can participate through complete decentralization rather than efficiency in processing and storage of transactions and secure distributed ledgers for them in the network. It is aimed at.
이에 비해 허가형 블록체인은 누구든지 참여할 수 있는 무 허가형 블록체인에 비해 규모의 확장성이 떨어지나, 무 허가형 블록체인에 비해 트랜잭션 실행 및 이에 대한 안전한 분산 원장에 대한 처리와 저장에 대해 매우 빠른 시스템 성능과 함께 금융거래, 제조사 간 공급망, 제조사와 소비자 간 유통망, 의료 분야에서의 병원 및 기타 관련사 간의 질병 이력 공유 및 정부 주도의 공공 분야에서의 정보 공유 등에 적용할 수 있는 시스템이다. 허가형 블록체인은 Linux Foundation에 의해 설립된 허가형 블록체인 오픈 소스 프로젝트인 하이퍼레저에 의해 관련 연구가 집중적으로 시작되었으며 현재 대표적인 허가형 블록체인 기술로는 하이퍼레저(Hyperledger Indy, Hyperledger Sawtooth, Hyperledger Fabric) 등이 있으며 국내에서는 삼성SDS의 넥스레저(Nexledger) 등이 있다.In contrast, permissioned blockchains are less scalable in scale than unlicensed blockchains in which anyone can participate, but compared to unlicensed blockchains, it is very fast for transaction execution and processing and storage of secure distributed ledgers. In addition to system performance, it is a system that can be applied to financial transactions, supply chains between manufacturers, distribution networks between manufacturers and consumers, disease history sharing between hospitals and other related companies in the medical field, and information sharing in the public sector led by the government. Permitted blockchain has been intensively researched by Hyperledger, a permissioned blockchain open source project established by the Linux Foundation, and currently representative permissioned blockchain technologies are Hyperledger Indy (Hyperledger Sawtooth, Hyperledger Fabric). ), and Samsung SDS's Nexledger in Korea.
또한 다수의 기업 혹은 단체는 각자의 목적을 위해 데이터로부터 유용한 정보를 얻어내는 데이터 마이닝(Data Mining) alc 기계학습(Machine Learning) 등의 데이터 분석 기술을 사용한다. 특정 예로 금융 및 보험 관련계열에서는 고객에 대한 특정 이력 여부를 분석해 보험 사기 등을 방지할 수 있으며, 상업 관련계열에서는 물품 판매자가 물품의 특성에 대한 소비자들의 선호도를 분석하여 향후 판매에 유용한 정보를 얻을 수 있고 또한 의료 관련계열에서는 희귀 질병 등에 대처할 수 있는 치료 기술의 성공률을 분석하여 환자의 치료율을 더욱 높일 수 있게 된다. 따라서 이 때 단체 또는 기업들은 각각 보유하고 있는 데이터를 상호간에 공유한다면 더욱 더 의미 있는 유용한 정보들을 얻어낼 수 있겠지만, 비특허문헌 2에 의해 개인정보의 프라이버시 보존을 위해서는 데이터 공유 이전에 데이터 비 식별화(De-identification) 기술이 적용되어야만 하며, 따라서 이에 관련한 많은 연구가 지속적으로 관심을 받아오고 있다.In addition, many companies or organizations use data analysis technologies such as Data Mining and Machine Learning to obtain useful information from data for their own purposes. As a specific example, in finance and insurance related departments, insurance fraud can be prevented by analyzing a specific history of customers, and in commercial related departments, sellers of goods analyze consumers' preferences for characteristics of goods to obtain useful information for future sales In addition, medical-related departments can further increase the treatment rate of patients by analyzing the success rate of treatment technologies that can cope with rare diseases. Therefore, at this time, organizations or companies can obtain more meaningful and useful information if they share their data with each other, but in order to preserve the privacy of personal information according to non-patent document 2, data is not identified before data sharing. (De-identification) technology must be applied, and therefore, many studies related to this have been continuously receiving attention.
또한 최근에는 데이터의 크기 및 규모가 날이 갈수록 방대 해지며 이로 인해 분산 데이터 환경에서의 데이터 분석 기술이 활발하게 연구 중에 있다. 이는 데이터 중앙 집중화 후 데이터 분석을 수행하는 것이 아닌 분산 분석 후 이에 대한 결과값을 수집하고 합산하여 데이터 분석 결과를 도출해내는 기술이다. 이하 본 발명에서 분산 데이터 환경에서의 데이터 분석 기술을 분산 학습(Distributed Learning) 기술이라고 대체하여 후술한다. 상기 데이터 분석 기술에 사용되는 알고리즘은 여러 번의 반복 학습을 수행하며 이에 대한 최종 라운드의 결과값을 대개 학습 모델이라고 서술한다. 각 라운드의 결과 값이 하나만 존재하는 데이터 중앙 집중형 데이터 분석에 비해 각 라운드 마다 다수의 결과값이 존재하고 이를 올바르게 수집하고 합산하는 것이 분산 학습 기술의 핵심에 해당한다.Also, in recent years, the size and scale of data are becoming vast day by day, and for this reason, data analysis technology in a distributed data environment is actively being studied. This is a technology that derives data analysis results by collecting and summing the results after analysis of variance, not performing data analysis after centralizing data. Hereinafter, in the present invention, a data analysis technique in a distributed data environment is replaced with a distributed learning technique and will be described later. The algorithm used in the data analysis technique performs repetitive learning several times, and the result of the final round is usually described as a learning model. Compared to data centralized data analysis where there is only one result value for each round, there are multiple result values for each round, and collecting and summing them correctly is the core of distributed learning technology.
또한 이러한 분산 학습 기술 역시 프라이버시 보존을 위해 비 식별화 기술이 적용되어야만 한다.In addition, these distributed learning technologies must also be applied with de-identification technologies to preserve privacy.
데이터 비 식별화 기술 중 차분 프라이버시(Differential Privacy)라 함은 상기 비 식별화 기법 중 하나로써 데이터 분석가에 의해 수행되는 정보에 대한 질의에 응답 시 수학적 확률에 기반한 노이즈를 추가함으로써 분석가가 쉽게 개인정보를 유추할 수 없게 하는 기술이다.Among data non-identification techniques, differential privacy is one of the above non-identification techniques, and by adding noise based on mathematical probability when responding to a query for information performed by a data analyst, the analyst can easily access personal information. It is a technique that makes it impossible to infer.
차분 프라이버시는 특정 개인 데이터의 존재 유무에 따른 두 데이터베이스에 대하여 어떠한 질의에 대한 두 데이터베이스에서의 출력이 확률적으로 얼마만큼의 차분을 가지고 있는지를 기반으로 프라이버시의 정도를 수학적으로 정의한다. 여기에서 개인 데이터는 의료 데이터 상에서 환자에 대한 개인정보를 포함한 질병이력으로, 거래 데이터 상에서 특정 물품에 대한 개인정보와 물품의 특징 및 거래내역을 포함한 데이터를 예로 들 수 있다.Differential privacy mathematically defines the degree of privacy based on how much difference probabilistically between the outputs of the two databases for any query for two databases according to the presence or absence of specific personal data. Here, the personal data is a disease history including personal information on a patient in medical data, and may include personal information on a specific product and data including characteristics and transaction details of the product on the transaction data.
예를 들어 질병 이력에 관한 데이터가 있으며, 이는 모두 비밀 값이라 가정하자. 이 때 만일 악의적인 분석가가 '폐암 환자는 몇 명인가?'와 같은 특정 질의를 수행하여 해당 데이터베이스에 속한 특정 공격 대상자의 폐암 여부를 알아내려 한다고 가정하자. 이러한 경우 질의의 응답이 항상 같다면 악의적인 분석가는 '폐암 환자는 몇 명인가?'라는 질의와 '공격 대상자를 제외한 폐암 환자는 몇 명인가?' 라는 두 질의를 통해 공격 대상자의 폐암 여부를 쉽게 알아낼 수 있다.For example, suppose you have data on disease history, all of which are secret values. In this case, assume that a malicious analyst attempts to find out whether a specific attack target in the database has lung cancer by performing a specific query such as'How many lung cancer patients are there?' In this case, if the answer to the question is always the same, the malicious analyst asks,'How many lung cancer patients are?' and'How many lung cancer patients are excluded from the attack target?' It is easy to find out whether the attack target has lung cancer through two queries.
하지만 차분 프라이버시가 적용된 데이터 분석 방법은 특정 공격 대상자가 실제로 폐암 환자라 할지라도 해당 질의를 기반으로 계산된 임의성을 갖는 노이즈를 응답 값에 추가함으로써 상기 질의와 같은 방식으로 여러 질의를 받게 되더라도 각 질의마다 다른 값을 응답하게 된다.However, the data analysis method applied with differential privacy adds noise with randomness calculated based on the query to the response value, even if a specific attack target is actually a lung cancer patient, even if multiple queries are received in the same manner as the above query. It will respond with a different value.
이는 근본적으로 데이터가 가지고 있는 확률적 분포도의 특성을 알려주되, 공격자의 입장에서 개인 데이터 값에 대한 정확한 추론은 어렵게 하는 데에 초점을 두고 있다.This fundamentally informs the characteristics of the probability distribution map possessed by the data, but focuses on making it difficult for the attacker to infer accurate personal data values.
따라서 상기 예에서의 차분 프라이버시는 악의적인 분석가가 피공격자에 대한 사전지식을 알고 있다고 하더라도 분석 이전과 분석 이후의 차이 값을 알 수 없기 때문에 쉽게 피공격자의 폐암 여부를 알 수 없게 된다.Therefore, the differential privacy in the above example cannot be easily determined whether the attacker has lung cancer, even though the malicious analyst knows the prior knowledge of the attacker, since the difference between the analysis before and after the analysis cannot be known.
이러한 차분 프라이버시 방법은 Randomized 알고리즘을 기반으로 설계된다. 이는 데이터베이스 내 각각의 데이터 열들이 가지고 있는 민감한 속성값에 임의성을 갖는 노이즈를 추가함을 의미한다. 다만, 데이터 분석가 입장에서 데이터 분석 수행 시 그에 대한 유용성을 해치지 않기 위해 민감한 정보의 속성을 드러내지 않을 정도의 적당한 노이즈를 추가하게 되며, 이에 대한 정도는 차분 프라이버시 정의 내의 측도에 의해 시스템 관리자 혹은 데이터 관리자 하에 정해질 수 있다.This differential privacy method is designed based on a randomized algorithm. This means adding random noise to the sensitive attribute values of each data column in the database. However, in order not to damage the usefulness of data analysis from the standpoint of data analysts, appropriate noise is added to the extent that it does not reveal the properties of sensitive information. Can be decided.
현재 허가형 블록체인 시스템에서는 시스템 내의 모든 구성원이 공유하는 데이터가 있는가 하면 특정 구성원만이 공유하는 데이터도 존재한다. 따라서 데이터 분석 시 이러한 비밀 데이터의 정보가 누출되지 않은 상태에서 올바르게 분석될 수 있는 기술이 필요하다.In the current permission type blockchain system, there is data shared by all members of the system, while data shared only by specific members also exists. Therefore, when analyzing data, there is a need for a technology that can correctly analyze the information of such secret data without leaking it.
이와 같이 비밀 데이터의 정보가 누출되지 않은 상태에서 분석을 수행하는 기술로는 비특허문헌 3, 4, 5에 의해 제안된 기술이 존재한다. 상기 비특허문헌 3, 4, 5에 의해 제안된 기술들은 안전한 다자간 계산(Secure Multiparty Computation)을 통해 특정 구성원만이 공유하는 데이터에서 프라이버시를 노출시키지 않은 상태로 접근자가 원하는 값을 얻어낼 수 있다.As such, techniques proposed by Non-Patent Documents 3, 4, and 5 exist as techniques for performing analysis without leaking information of secret data. The techniques proposed by the non-patent documents 3, 4, and 5 can obtain a value desired by an accessor without exposing privacy from data shared only by a specific member through Secure Multiparty Computation.
하지만 상기 비특허문헌 3, 4, 5에 의해 제안된 기술들은 계산 시 필요한 비밀 데이터가 많아질수록 경우 계산 복잡도가 매우 비효율적이며, 구매자들의 입찰가를 드러내지 않은 상태로 경매 등을 수행하는 특정 값 계산을 위한 기술에 주로 사용되므로 데이터의 확률적 분포를 파악하려는 데이터 분석 및 처리 기술에는 알맞지 않다.However, the technologies proposed by the above non-patent documents 3, 4, and 5 are very inefficient in calculation complexity when the number of secret data required for calculation increases, and specific value calculations such as performing auctions without revealing the bidders of buyers are performed. Because it is mainly used for technology for data analysis, it is not suitable for data analysis and processing techniques to determine the probability distribution of data.
또한 비밀 데이터의 정보가 누출되지 않은 상태에서 거래 수행이 가능한 기술로는 비특허문헌 6, 7, 8에 의해 제안된 기술이 존재한다. 상기 비특허문헌 6, 7, 8에 의해 제안된 기술들은 영지식 증명(Zero Knowledge Proof)을 통해 거래 당사자가 아닌 제 3자에게 거래정보를 보여주지 않는 상태로 올바른 거래를 입증할 수 있다.In addition, technologies proposed by non-patent documents 6, 7 and 8 exist as technologies capable of performing transactions without leaking information of secret data. The technologies proposed by the non-patent documents 6, 7 and 8 can prove a correct transaction without showing transaction information to a third party other than the transaction party through Zero Knowledge Proof.
하지만 상기 비특허문헌 6, 7, 8에 의해 제안된 기술들은 거래에 대한 기밀성을 보장하는 기술에 주로 사용되므로 데이터의 확률적 분포를 파악하려는 데이터 분석 및 처리 기술에는 알맞지 않다.However, the technologies proposed by the non-patent documents 6, 7 and 8 are mainly used for technologies that guarantee confidentiality of transactions, and are therefore not suitable for data analysis and processing technologies to determine the probability distribution of data.
또한 프라이버시 보존형 분산 학습 기술로는 비특허문헌 9, 10에 의해 제안된 기술이 존재한다. 상기 비특허문헌 9, 10에 의해 제안된 기술들은 무허가형 블록체인(Permissionless blockchain) 기반의 탈중앙화 분산 분석 기법을 제안한다.In addition, as a privacy-preserving distributed learning technology, there are technologies proposed by
상기 비특허문헌 9, 10 에 의해 제안된 기술들은 분산 학습 시 각 라운드에서의 결과 값을 하나의 블록으로 생성하여 원장에 기록 후 이를 기반으로 다음 라운드를 진행하는 방식이다.The techniques proposed by the
하지만 상기 비특허문헌 9, 10에 의해 제안된 기술들은 무 허가형 블록체인을 기반으로 한다. 무 허가형 블록체인과 허가형 블록체인은 서로 매우 다른 구조적 특성을 보인다. 보통의 무 허가형 블록체인은 분산 원장 내 안전하고 신뢰있는 하나의 블록을 생성하기 위해 약 10분 가량의 많은 시간을 필요로 한다. 대개 데이터 분석 기술은 시간이 많이 소모되는 큰 규모의 데이터에 대해 이루어지기는 하나 각 라운드 당 10분 가량의 소모는 매우 비 효율적 일 수 밖에 없다.However, the technologies proposed by the
또한 상기 비특허문헌 9, 10에 의해 제안된 기술들은 기존의 허가형 블록체인을 사용 중인 금융 분야, 제조사 간 공급망, 제조사와 소비자 간 유통망, 의료 분야 등 수 많은 분야에 단순 적용할 수 없는 문제점을 지니고 있다.In addition, the technologies proposed by the above
이 외 안전하고 효율적인 데이터 비 식별화를 위해 블록체인 기술을 도입한 사례로는 특허문헌 1, 2에 의해 제안된 기술이 존재한다. 상기 특허문헌 1, 2에 의해 제안된 기술들은 다수의 데이터 소유자들로 이루어진 분산 데이터 환경에서 차분 프라이버시를 도입 할 때 적용되는 기술에 해당한다.Other examples of introducing blockchain technology for safe and efficient data de-identification include the technologies proposed by Patent Documents 1 and 2. The technologies proposed by Patent Documents 1 and 2 correspond to technologies applied when introducing differential privacy in a distributed data environment composed of a plurality of data owners.
하지만 상기 특허문헌 1, 2에 의해 제안된 기술들은 분산 데이터 환경에서 차분 프라이버시가 도입될 때 차분 프라이버시 알고리즘의 안전성 및 효율성 측면에서 발생할 수 있는 요소들을 해결하기 위해 블록체인을 도입하는 기술로써 데이터의 확률적 분포를 파악하려는 데이터 분석 및 처리 기술에는 알맞지 않다.However, the technologies proposed by Patent Documents 1 and 2 above are technologies that introduce a blockchain to solve factors that may occur in terms of safety and efficiency of the differential privacy algorithm when differential privacy is introduced in a distributed data environment. It is not suitable for data analysis and processing techniques trying to determine the enemy distribution.
본 발명은 블록체인 기반 시스템에서 특정 데이터 분석을 수행할 때 질의에 대한 비밀분산원장의 응답에 노이즈가 추가 된 값을 반환하여 개인 프라이버시가 보존된 상태로 데이터 분석을 수행 할 수 있도록 하는 허가형 블록체인 시스템 상에서의 프라이버시 보존형 데이터 분석 방법을 제공하는 것을 그 목적으로 한다.The present invention is a permission-type block that allows data analysis to be performed while personal privacy is preserved by returning a value added with noise to the response of the secret distributed ledger to a query when performing specific data analysis in a blockchain-based system. Its purpose is to provide a privacy-preserving data analysis method on a chain system.
상기와 같은 과제를 해결하기 위하여 본 발명은, 허가형 블록체인 시스템 상에서의 프라이버시 보존형 데이터 분석 방법으로서, 상기 허가형 블록체인 시스템은, 시스템 참여자인 노드가 상기 허가형 블록체인 시스템에 접근하기 위한 클라이언트 어플리케이션; 블록체인 네트워크상의 트랜잭션이 기록되는 분산원장; 상기 분산원장 및 노드 개인만이 보유하고 있는 개인 데이터베이스를 포함한 분산 데이터베이스; 및 상기 분산 데이터베이스에 대한 액세스를 제어하는 스마트컨트랙트; 를 포함하고, 상기 분산원장은, 상기 허가형 블록체인 시스템의 모든 구성원이 공유하는 공개분산원장; 상기 허가형 블록체인 시스템의 특정 구성원만이 공유하는 1 이상의 비밀분산원장을 포함하고, 상기 공개분산원장은, 상기 허가형 블록체인 시스템에서 이루어지는 트랜잭션을 저장하는 데이터 공개분산원장; 및 각 라운드 별 학습의 결과물 및 최종 분산 학습 모델을 저장하는 분산 학습 모델 공유원장을 포함하고, 상기 데이터 분석 방법은, 클라이언트 어플리케이션이 스마트컨트랙트에 데이터분석질의함수를 호출하는 질의호출단계; 상기 스마트컨트랙트가 상기 데이터분석질의함수에 기초하여 상기 분산 데이터베이스에 상기 데이터분석질의함수에 대한 응답 요청을 수행하는 질의응답요청단계; 상기 분산 데이터베이스가 차분 프라이버시를 적용하여 상기 데이터분석질의함수에 대한 응답 값을 반환하는 질의응답반환단계; 및 상기 스마트컨트랙트가 상기 응답 값을 분석하여 반환하는 분석결과반환단계; 상기 스마트컨트랙트가 상기 응답 값을 분석하여 계산된 분산학습모델을 저장하는 분산학습모델저장단계; 상기 스마트컨트랙트가 상기 응답 값을 분석하여 차후 오류기반감사를 위한 오류로그저장단계; 상기 스마트컨트랙트가 상기 응답 값을 분석하여 반환하는 분석결과반환단계; 상기 클라이언트가 향후 오류기반감사를 위해 저장된 오류로그값을 요청하는 오류로그요청단계; 상기 분산학습모델공개원장이 상기 오류로그요청에 대한 응답 값을 반환하는 오류로그반환단계; 및 상기 클라이언트가 상기 오류로그반환단계의 응답 값을 통해 오류기반감사를 수행하는 오류기반감사수행단계를 포함하는, 프라이버시 보존형 데이터 분석 방법을 제공한다.In order to solve the above problems, the present invention is a privacy-preserving data analysis method on a permission-type blockchain system, wherein the permission-type blockchain system allows a node that is a system participant to access the permission-type blockchain system. Client application; Distributed ledger where transactions on the blockchain network are recorded; A distributed database including a personal database owned only by the distributed ledger and individual nodes; And a smart contract for controlling access to the distributed database. Including, the distributed ledger, a public distributed ledger shared by all members of the permission type blockchain system; A data public distribution ledger for storing transactions made in the permission type blockchain system, wherein the public distribution ledger includes one or more secret distributed ledgers shared only by a specific member of the permission type blockchain system; And a distributed learning model shared ledger storing a result of learning for each round and a final distributed learning model, wherein the data analysis method includes: a query calling step in which a client application calls a data analysis query function to a smart contract; A query response request step of performing, by the smart contract, a response request for the data analysis query function to the distributed database based on the data analysis query function; A query-response return step of returning a response value to the data analysis query function by applying differential privacy by the distributed database; And an analysis result return step of the smart contract analyzing and returning the response value. A distributed learning model storing step of storing the distributed learning model calculated by analyzing the response value by the smart contract; An error log storage step for subsequent error-based audit by the smart contract analyzing the response value; An analysis result return step of the smart contract analyzing and returning the response value; An error log request step in which the client requests an error log value stored for future error-based auditing; An error log return step in which the distributed learning model disclosure ledger returns a response value to the error log request; And an error-based audit execution step in which the client performs an error-based audit through a response value of the error log return step.
본 발명에서는, 상기 스마트컨트랙트에는 상기 데이터분석질의함수가 저장되어 있고, 상기 데이터분석질의함수는, 상기 분산 데이터베이스가 차분 프라이버시를 적용하여 응답 값을 반환하도록 할 수 있다.In the present invention, the data analysis query function is stored in the smart contract, and the data analysis query function may cause the distributed database to return a response value by applying differential privacy.
본 발명에서는, 상기 데이터 공개분산원장은, 상기 데이터분석질의함수에 대해 응답 값을 반환하고, 상기 비밀분산원장 및 상기 개인 데이터베이스는, 상기 데이터분석질의함수에 대해 차분 프라이버시 기반의 노이즈가 추가된 응답 값을 반환할 수 있으며, 상기 분산학습모델 공유원장은 상기 분산학습모델저장단계에 대해 프라이버시 보존형 분산학습 모델을 저장하고 보유한다.In the present invention, the data public distributed ledger returns a response value to the data analysis query function, and the secret distributed ledger and the personal database respond to the data analysis query function by adding noise based on differential privacy A value may be returned, and the distributed learning model shared ledger stores and holds a privacy-preserving distributed learning model for the distributed learning model storage step.
본 발명에서는, 상기 질의응답요청단계는, 상기 데이터 공개분산원장에 데이터분석질의함수에 대한 응답 값을 요청하는 공개분산데이터응답요청단계; 및 상기 비밀분산원장 및 상기 개인 데이터베이스에 차분 프라이버시를 적용한 데이터분석질의함수에 대한 응답 값을 요청하는 비밀분산데이터응답요청단계; 를 포함할 수 있다.In the present invention, the question-and-answer request step includes: a public distributed data response request step of requesting a response value for a data analysis query function from the data public distribution ledger; And a secret distributed data response request step of requesting a response value to a data analysis query function to which differential privacy is applied to the secret distributed ledger and the personal database. It may include.
본 발명에서는, 상기 비밀분산원장이 2 이상 존재하는 경우, 2 이상의 상기 비밀분산원장은 독립적으로 상기 데이터분석질의함수에 대해 차분 프라이버시 기반의 노이즈가 추가된 응답 값을 각각 반환할 수 있다.In the present invention, when there are two or more secret distributed ledgers, the two or more secret distributed ledgers may independently return response values to which differential privacy-based noise is added to the data analysis query function.
본 발명에서는, 상기 분석결과반환단계는, 상기 데이터 공개분산원장 및 상기 비밀분산원장과 상기 개인 데이터베이스가 반환한 상기 응답 값을 통합하여 데이터분석질의함수에 기초한 분석을 수행하여 분석 결과를 반환할 수 있다.In the present invention, the analysis result return step may return an analysis result by performing an analysis based on a data analysis query function by integrating the response value returned by the data public distribution ledger, the secret distribution ledger, and the personal database. have.
본 발명에서는, 상기 분산학습모델 저장 및 오류기반감사를 위한 오류로그저장 단계는, 상기 분산 데이터베이스가 반환한 상기 응답 값을 기반으로 계산되는 분산학습모델 및 오류로그를 저장할 수 있다.In the present invention, the storing of the distributed learning model and the error log for error-based auditing may store a distributed learning model and an error log calculated based on the response value returned by the distributed database.
본 발명에서는, 상기 오류기반감사수행을 위한 오류 로그값 요청 및 오류 로그값 반환 단계는, 데이터 분석을 수행할 수 있는 참여자 누구든지 클라이언트에 접근하여 언제든지 오류 로그값을 응답 받을 수 있으며, 상기 클라이언트는 이를 이용해 오류기반감사를 수행할 수 있다.In the present invention, in the step of requesting an error log value and returning an error log value for performing an error-based audit, any participant who can perform data analysis may access the client and receive an error log value at any time, and the client This can be used to perform an error-based audit.
본 발명의 일 실시예에 따른 프라이버시 보존형 데이터 분석 방법에서는 특정 구성원만이 소유하고 있는 비밀데이터의 값을 노출시키지 않은 상태로 데이터 분석을 수행하도록 하는 효과를 발휘할 수 있다.In the privacy-preserving data analysis method according to an embodiment of the present invention, it is possible to exert an effect of performing data analysis without exposing the value of secret data owned by only a specific member.
본 발명의 일 실시예에 따른 프라이버시 보존형 데이터 분석 방법에서는 기존의 허가형 블록체인 시스템의 구조를 변형하지 않으면서도 비밀데이터를 보호하도록 하는 효과를 발휘할 수 있다.In the privacy-preserving data analysis method according to an embodiment of the present invention, it is possible to exert an effect of protecting secret data without changing the structure of an existing permission-type blockchain system.
본 발명의 일 실시예에 따른 프라이버시 보존형 데이터 분석 방법에서는 분산 학습 기술 등의 데이터 분석 기술 사용 시 기존의 허가형 블록체인 시스템의 구조를 변형하지 않으면서도 안전하고 효율적으로 데이터를 분석하도록 하는 효과를 발휘할 수 있다.In the privacy-preserving data analysis method according to an embodiment of the present invention, when using data analysis technology such as distributed learning technology, it is possible to safely and efficiently analyze data without changing the structure of the existing permissioned blockchain system. Can be demonstrated.
본 발명의 일 실시예에 따른 프라이버시 보존형 데이터 분석 방법에서는 비밀데이터를 보호하기 위한 물리적 구성요소를 추가하지 않음으로써 네트워크 구성을 간이하게 유지하는 효과를 발휘할 수 있다.In the privacy-preserving data analysis method according to an embodiment of the present invention, a network configuration can be easily maintained by not adding a physical component to protect secret data.
본 발명의 일 실시예에 따른 프라이버시 보존형 데이터 분석 방법에는 기존의 블록체인 시스템이 가지고 있는 속성과 마찬가지로 구성원 각각이 스마트컨트랙트와 분산 데이터베이스를 보유함으로써 단일 장애점(Single Point of Failure)을 방지하는 효과를 발휘할 수 있다.In the privacy-preserving data analysis method according to an embodiment of the present invention, as in the properties of the existing blockchain system, each member has a smart contract and a distributed database, thereby preventing a single point of failure. Can exert.
도 1은 본 발명의 일 실시예에 따른 허가형 블록체인 시스템의 구성을 개략적으로 도시하는 도면이다.
도 2는 본 발명의 일 실시예에 따른 스마트컨트랙트의 구성을 개략적으로 도시하는 도면이다.
도 3은 본 발명의 일 실시예에 따른 질의함수의 구성을 개략적으로 도시하는 도면이다.
도 3a는 본 발명의 일 실시예에 따른 분산데이터베이스의 구성을 개략적으로 도시하는 도면이다.
도 4는 본 발명의 일 실시예에 따른 분산원장의 구성을 개략적으로 도시하는 도면이다.
도 4a는 본 발명의 일 실시예에 따른 공개분산원장의 구성을 개략적으로 도시하는 도면이다.
도 5는 본 발명의 일 실시예에 따른 두 노드의 구성을 개략적으로 도시하는 도면이다.
도 6은 허가형 블록체인 시스템의 데이터 처리 과정의 흐름도이다.
도 7은 프라이버시가드가 적용된 데이터베이스가 차분 프라이버시를 적용하여 응답을 수행하는 분석 방법의 요청 및 응답 흐름도이다.
도 8은 본 발명의 일 실시예에 따른 허가형 블록체인 시스템의 프라이버시 보존형 데이터 분석 방법의 요청 및 응답 흐름도이다.
도 8a는 본 발명의 일 실시예에 따른 차분 프라이버시가 적용된 허가형 블록체인 시스템의 프라이버시 보존형 데이터 분석 방법의 동작을 예시한 흐름도이다.
도 9는 본 발명의 일 실시예에 따른 차분 프라이버시가 적용된 허가형 블록체인 시스템의 프라이버시 보존형 데이터 분석 방법의 동작을 예시한 흐름도이다.1 is a diagram schematically showing the configuration of a permission type blockchain system according to an embodiment of the present invention.
2 is a diagram schematically showing the configuration of a smart contract according to an embodiment of the present invention.
3 is a diagram schematically showing the configuration of a query function according to an embodiment of the present invention.
3A is a diagram schematically showing the configuration of a distributed database according to an embodiment of the present invention.
4 is a diagram schematically showing the configuration of a distributed ledger according to an embodiment of the present invention.
4A is a diagram schematically showing the configuration of an open distributed ledger according to an embodiment of the present invention.
5 is a diagram schematically showing the configuration of two nodes according to an embodiment of the present invention.
6 is a flowchart of a data processing process of a permission type blockchain system.
7 is a request and response flowchart of an analysis method in which a database to which a privacy guard is applied performs a response by applying differential privacy.
8 is a request and response flow chart of a privacy-preserving data analysis method of a permission-type blockchain system according to an embodiment of the present invention.
8A is a flowchart illustrating an operation of a privacy-preserving data analysis method of a permissioned blockchain system to which differential privacy is applied according to an embodiment of the present invention.
9 is a flowchart illustrating an operation of a privacy-preserving data analysis method of a permissioned blockchain system to which differential privacy is applied according to an embodiment of the present invention.
이하에서는, 다양한 실시예들 및/또는 양상들이 이제 도면들을 참조하여 개시된다. 하기 설명에서는 설명을 목적으로, 하나이상의 양상들의 전반적 이해를 돕기 위해 다수의 구체적인 세부사항들이 개시된다. 그러나, 이러한 양상(들)은 이러한 구체적인 세부사항들 없이도 실행될 수 있다는 점 또한 본 발명의 기술 분야에서 통상의 지식을 가진 자에게 인식될 수 있을 것이다. 이후의 기재 및 첨부된 도면들은 하나 이상의 양상들의 특정한 예시적인 양상들을 상세하게 기술한다. 하지만, 이러한 양상들은 예시적인 것이고 다양한 양상들의 원리들에서의 다양한 방법들 중 일부가 이용될 수 있으며, 기술되는 설명들은 그러한 양상들 및 그들의 균등물들을 모두 포함하고자 하는 의도이다.In the following, various embodiments and/or aspects are now disclosed with reference to the drawings. In the following description, for purposes of explanation, a number of specific details are disclosed to aid in an overall understanding of one or more aspects. However, it will also be appreciated by those of ordinary skill in the art that this aspect(s) may be practiced without these specific details. The following description and the annexed drawings set forth in detail certain illustrative aspects of one or more aspects. However, these aspects are exemplary and some of the various methods in the principles of the various aspects may be used, and the descriptions described are intended to include all such aspects and their equivalents.
또한, 다양한 양상들 및 특징들이 다수의 디바이스들, 컴포넌트들 및/또는 모듈들 등을 포함할 수 있는 시스템에 의하여 제시될 것이다. 다양한 시스템들이, 추가적인 장치들, 컴포넌트들 및/또는 모듈들 등을 포함할 수 있다는 점 그리고/또는 도면들과 관련하여 논의된 장치들, 컴포넌트들, 모듈들 등 전부를 포함하지 않을 수도 있다는 점 또한 이해되고 인식되어야 한다.Further, various aspects and features will be presented by a system that may include multiple devices, components and/or modules, and the like. It is also noted that various systems may include additional devices, components and/or modules, and/or may not include all of the devices, components, modules, etc. discussed in connection with the figures. It must be understood and recognized.
본 명세서에서 사용되는 "실시예", "예", "양상", "예시" 등은 기술되는 임의의 양상 또는 설계가 다른 양상 또는 설계들보다 양호하다거나, 이점이 있는 것으로 해석되지 않을 수도 있다. 아래에서 사용되는 용어들 '~부', '컴포넌트', '모듈', '시스템', '인터페이스' 등은 일반적으로 컴퓨터 관련 엔티티(computer-related entity)를 의미하며, 예를 들어, 하드웨어, 하드웨어와 소프트웨어의 조합, 소프트웨어를 의미할 수 있다.As used herein, “an embodiment,” “example,” “aspect,” “example,” and the like may not be construed as having any aspect or design described as being better or advantageous than other aspects or designs. . The terms'~part','component','module','system', and'interface' used below generally mean a computer-related entity, for example, hardware, hardware It can mean a combination of software and software, or software.
또한, "포함한다" 및/또는 "포함하는"이라는 용어는, 해당 특징 및/또는 구성요소가 존재함을 의미하지만, 하나이상의 다른 특징, 구성요소 및/또는 이들의 그룹의 존재 또는 추가를 배제하지 않는 것으로 이해되어야 한다.In addition, the terms "comprising" and/or "comprising" mean that the corresponding feature and/or element is present, but excludes the presence or addition of one or more other features, elements, and/or groups thereof. It should be understood as not.
또한, 제1, 제2 등과 같이 서수를 포함하는 용어는 다양한 구성요소들을 설명하는데 사용될 수 있지만, 상기 구성요소들은 상기 용어들에 의해 한정되지는 않는다. 상기 용어들은 하나의 구성요소를 다른 구성요소로부터 구별하는 목적으로만 사용된다. 예를 들어, 본 발명의 권리 범위를 벗어나지 않으면서 제1 구성요소는 제2 구성요소로 명명될 수 있고, 유사하게 제2 구성요소도 제1 구성요소로 명명될 수 있다. 및/또는 이라는 용어는 복수의 관련된 기재된 항목들의 조합 또는 복수의 관련된 기재된 항목들 중의 어느 항목을 포함한다.In addition, terms including ordinal numbers such as first and second may be used to describe various elements, but the elements are not limited by the terms. These terms are used only for the purpose of distinguishing one component from another component. For example, without departing from the scope of the present invention, a first element may be referred to as a second element, and similarly, a second element may be referred to as a first element. The term and/or includes a combination of a plurality of related listed items or any of a plurality of related listed items.
또한, 본 발명의 실시예들에서, 별도로 다르게 정의되지 않는 한, 기술적이거나 과학적인 용어를 포함해서 여기서 사용되는 모든 용어들은 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자에 의해 일반적으로 이해되는 것과 동일한 의미를 가지고 있다. 일반적으로 사용되는 사전에 정의되어 있는 것과 같은 용어들은 관련 기술의 문맥 상 가지는 의미와 일치하는 의미를 가지는 것으로 해석되어야 하며, 본 발명의 실시예에서 명백하게 정의하지 않는 한, 이상적이거나 과도하게 형식적인 의미로 해석되지 않는다.In addition, in the embodiments of the present invention, unless otherwise defined, all terms used herein including technical or scientific terms are commonly understood by those of ordinary skill in the art to which the present invention belongs. It has the same meaning as. Terms as defined in a commonly used dictionary should be interpreted as having a meaning consistent with the meaning in the context of the related technology, and unless explicitly defined in the embodiments of the present invention, an ideal or excessively formal meaning Is not interpreted as.
도 1은 본 발명의 일 실시예에 따른 허가형 블록체인 시스템의 구성을 개략적으로 도시하는 도면이다.1 is a diagram schematically showing the configuration of a permission type blockchain system according to an embodiment of the present invention.
이하 본 명세서에서 설명되는 허가형 블록체인 시스템은 하이퍼레저 패브릭(Hyperledger Fabric)을 기반으로 정의한다.The permissioned blockchain system described in this specification is defined based on Hyperledger Fabric.
도 1을 참조하면 본 발명의 일 실시예에 따른 허가형 블록체인 시스템은 1 이상의 노드(10); 시스템 참여자인 노드가 상기 허가형 블록체인 시스템에 접근하기 위한 클라이언트 어플리케이션(40); 클라이언트의 자격증명을 제공하는 멤버십 서비스 프로바이더(50); 및 트랜잭션을 블록으로 정렬하는 오더러(60); 를 포함한다.Referring to FIG. 1, a permission type blockchain system according to an embodiment of the present invention includes one or
상기 노드(10)는 피어(peer)라고도 불리며 블록체인 네트워크를 구성한다. 상기 노드(10)는 거래 정보(트랜잭션)가 저장되는 블록체인 네트워크를 유지하는 역할을 수행한다. 도 1에는 하나의 노드(10)만이 도시되어 있지만, 상기 블록체인 네트워크에는 복수의 노드(10)가 존재하여 네트워크를 구성할 수 있다. 이 중 일부의 노드(10)는 보증피어(엔도저, endorser)의 역할을 수행할 수 있다. 상기 보증피어는 상기 어플리케이션(40)의 요청에 따라 체인코드를 실행하고 결과를 보증하는 역할을 수행한다. 이와 같은 보증피어의 보증은 상기 체인코드에 연계된 보증 정책에 기초하여 수행될 수 있다.The
상기 어플리케이션(40)은 클라이언트에 의해 트랜잭션을 생성하여 상기 트랜잭션을 보증하는 보증피어에 제출함으로써 거래의 보증을 요청할 수 있다. 이와 같은 어플리케이션(40)은 특정 개인에 의해 관리되는 것이 아니라 해당 블록체인 네트워크의 관리자 혹은 기관에 의해 수행된다.The
상기 멤버십 서비스 프로바이더(50)는 상기 어플리케이션(40)을 사용하는 클라이언트의 자격을 증명하여 피어가 블록체인 네트워크에 참여할 수 있도록 한다. 상기 클라이언트는 상기 멤버십 서비스 프로바이더(50)의 자격 증명을 이용하여 트랜잭션을 인증하고, 피어는 상기 자격 증명을 사용하여 상기 트랜잭션의 처리 결과를 인증한다. 이와 같은 멤버십 서비스 프로바이더(50)를 통해 허가된 클라이언트만이 상기 블록체인 네트워크에 참여하도록 할 수 있다.The
상기 오더러(60)는 트랜잭션을 블록으로 정렬하는 노드의 집합이다. 상기 오더러(60)는 일반적인 노드(10)와는 독립적으로 존재하여 상기 어플리케이션(40)으로부터 제안 되는 트랜잭션을 합의 알고리즘에 따라 순서화시켜 정렬한다. 상기 오더러(60)는 이와 같이 정렬 된 트랜잭션을 블록으로 생성하여 상기 블록체인 네트워크 상의 노드(10)에 전달한다. 이와 같은 블록을 전달 받은 노드(10)는 확정피어(커미터, committer)로 동작하여 거래를 확정할 수 있다.The
상기 노드(10)는 블록체인 네트워크상의 트랜잭션이 기록되고 개인만이 보유하고 있는 개인 데이터베이스를 포함한 분산데이터베이스(200); 및 상기 분산데이터베이스(200)에 대한 액세스를 제어하는 스마트컨트랙트(100); 를 포함할 수 있다.The
상기 분산데이터베이스(200)는 블록체인으로서 트랜잭션이 기록된다. 본 발명의 일 실시예에서 상기 분산데이터베이스(200)는 블록체인 네트워크상의 트랜잭션이 기록되는 분산원장; 및 상기 노드(10) 개인만이 보유하고 있는 개인데이터베이스(220)를 포함할 수 있다. 상기 스마트컨트랙트(100)는 체인 코드로 작성되어 상기 어플리케이션(40)이 상기 분산데이터베이스(200)와 상호 작용해야 할 때 상기 어플리케이션(40)에 의해 호출된다. 상기 스마트컨트랙트(100)는 상기 분산데이터베이스(200)에 대한 접근을 위해 다양한 함수들이 저장되어, 상기 함수에 의해 상기 분산데이터베이스(200)의 데이터를 갱신하거나, 혹은 상기 데이터로부터 필요한 정보를 추출할 수 있다.The distributed
도 2는 본 발명의 일 실시예에 따른 스마트컨트랙트의 구성을 개략적으로 도시하는 도면이다.2 is a diagram schematically showing the configuration of a smart contract according to an embodiment of the present invention.
도 2를 참조하면 본 발명의 일 실시예에 따른 상기 스마트컨트랙트(100)에는 질의함수(110) 및 배포함수(120)가 저장되어 있다. 상기 질의함수(110)는 상기 분산데이터베이스(200)의 데이터를 조회하기 위한 함수이고, 상기 배포함수(120)는 상기 분산데이터베이스(200)에 데이터를 기록하기 위한 함수이다.Referring to FIG. 2, a
상기 질의함수(110)는 상기 분산데이터베이스(200)의 데이터를 조회하기 위해 블록을 검색하거나, 상기 분산데이터베이스(200)의 데이터의 크기 등을 조회할 수 있고, 상기 질의함수(110)의 실행 결과는 상기 분산데이터베이스(200)에 기록되지 않는다.The
상기 배포함수(120)는 상기 분산데이터베이스(200)에 데이터를 기록하기 위한 함수이고, 상기 배포함수(120)는 상기 스마트컨트랙트(100)의 체인코드를 실행하거나, 체인코드를 새로 등록하는 등의 동작이 실행될 수 있다. 이와 같은 배포함수(120)의 실행에 따라 상기 분산데이터베이스(200)에 데이터가 기록될 수 있다.The
또한, 본 발명의 일 실시예에서 상기 스마트컨트랙트(100)에는 이 외에도 다양한 함수들이 저장되어 있을 수 있다.In addition, various functions may be stored in the
도 3은 본 발명의 일 실시예에 따른 질의함수의 구성을 개략적으로 도시하는 도면이다.3 is a diagram schematically showing the configuration of a query function according to an embodiment of the present invention.
상기 질의함수(110)는 일반질의함수(111) 및 데이터분석질의함수(112)를 포함할 수 있다. 상기 일반질의함수(111)는 상기 분산데이터베이스(200)에 저장된 데이터에서 개별 데이터 분석을 수행할 수 없는 일반적인 질의를 수행하는 함수이고, 상기 데이터분석질의함수(112)는 데이터 분석을 수행할 수 있는 질의를 수행하는 함수이다.The
즉, 본 발명의 일 실시예에서 상기 스마트컨트랙트(100)에는 상기 데이터분석질의함수(112)가 저장되어 있어, 상기 분산데이터베이스(200)에 대한 데이터 분석을 수행할 수 있도록 할 수 있다. 이 때, 상기 데이터분석질의함수(112)는 상기 분산데이터베이스(200)의 프라이버시를 유지하기 위하여 상기 분산데이터베이스(200)가 차분 프라이버시를 적용하여 응답 값을 반환하도록 할 수 있다.That is, in an embodiment of the present invention, since the data
도 3a는 본 발명의 일 실시예에 따른 분산데이터베이스의 구성을 개략적으로 도시하는 도면이다.3A is a diagram schematically showing the configuration of a distributed database according to an embodiment of the present invention.
도 3a를 참조하면 본 발명의 일 실시예에 따른 분산데이터베이스(200)는 상기 허가형 블록체인 시스템이 공유하는 분산원장(210); 및 상기 허가형 블록체인 시스템 내의 상기 노드들이 각자 보유하는 개인 데이터베이스(220); 를 포함할 수 있다. Referring to FIG. 3A, a distributed
도 4는 본 발명의 일 실시예에 따른 분산원장의 구성을 개략적으로 도시하는 도면이다.4 is a diagram schematically showing the configuration of a distributed ledger according to an embodiment of the present invention.
도 4를 참조하면 본 발명의 일 실시예에 따른 분산원장(210)은 상기 허가형 블록체인 시스템의 모든 구성원이 공유하는 공개분산원장(211); 및 상기 허가형 블록체인 시스템의 특정 구성원만이 공유하는 1 이상의 비밀분산원장(212); 을 포함할 수 있다. 도 4에는 n개의 비밀분산원장(212)을 포함하는 분산원장(210)이 도시되어 있다. 이와 같은 비밀분산원장(212)의 수는 동일한 블록체인 시스템의 노드마다 서로 다를 수 있다.4, a distributed
도 4a는 본 발명의 일 실시예에 따른 공개분산원장의 구성을 개략적으로 도시하는 도면이다. 4A is a diagram schematically showing the configuration of an open distributed ledger according to an embodiment of the present invention.
도 4a를 참조하면 본 발명의 일 실시예에 따른 공개분산원장(211)은 상기 허가형 블록체인 시스템에서 이루어지는 트랜잭션을 저장하는 데이터공개분산원장(211.1); 및 상기 허가형 블록체인 시스템에서 이루어지는 각 라운드 별 학습의 결과물 및 최종 분산 학습 모델을 저장하는 분산학습모델공유원장(211.2); 을 포함할 수 있다. 본 발명의 일 실시예에 따른 공개분산원장(211)은 상기 허가형 블록체인 시스템의 모든 구성원이 공유할 수 있다.Referring to FIG. 4A, a public distributed
도 5는 본 발명의 일 실시예에 따른 두 노드의 구성을 개략적으로 도시하는 도면이다.5 is a diagram schematically showing the configuration of two nodes according to an embodiment of the present invention.
도 5에 도시된 노드A(10) 및 노드B(20)는 상기 블록체인 네트워크를 구성하는 노드이다. 상기 노드A(10) 및 노드B((20) 모두 스마트컨트랙트(100) 및 분산데이터베이스(200)를 포함하고 있다. 이 때 상기 분산데이터베이스(200)는 분산원장(210) 및 개인데이터베이스(220)를 포함하고 있으며, 상기 분산원장(210)은 공개분산원장(211) 및 비밀분산원장(212)을 포함하고 있다. 또한 상기 공개분산원장(211)은 데이터공개분산원장(211.1) 및 분산학습모델공유원장(211.2)을 포함하고 있다.
이 때, 상기 노드A(10) 및 상기 노드B(20) 모두 비밀분산원장#1(212.1)을 포함하고 있다. 상기 비밀분산원장#1(212.1)은 상기 블록체인 네트워크의 노드 중 상기 노드A(10) 및 상기 노드B(20)가 공유하는 비밀분산원장이다. 상기 비밀분산원장#1(212.1)은 상기 노드A(10) 및 상기 노드B(20) 외에도 다른 노드에도 포함되어 있을 수 있다.At this time, both the
비밀분산원장#2(212.2)는 상기 노드A(10)에는 포함되어 있으나, 상기 노드B(20)에는 포함되어 있지 않다. 상기 비밀분산원장#2(212.2)은 상기 노드A(10)외에 다른 노드에도 포함되어 있을 수 있다. 다만 상기 노드B(20)에는 포함되어 있지 않아, 상기 노드B(20)의 스마트컨트랙트(100)는 상기 비밀분산원장#2(212.2)에 저장되어 있는 데이터에는 접근할 수 없다.Secret Distributed Ledger #2 (212.2) is included in
반면, 비밀분산원장#3(212.3)는 상기 노드B(20)에는 포함되어 있으나, 상기 노드A(10)에는 포함되어 있지 않다. 상기 비밀분산원장#3(212.3)은 상기 노드B(20)외에 다른 노드에도 포함되어 있을 수 있다. 다만 상기 노드A(10)에는 포함되어 있지 않아, 상기 노드A(10)의 스마트컨트랙트(100)는 상기 비밀분산원장#3(212.3)에 저장되어 있는 데이터에는 접근할 수 없다.On the other hand, secret distributed ledger #3 (212.3) is included in the
도 6은 허가형 블록체인 시스템의 데이터 처리 과정의 흐름도이다.6 is a flowchart of a data processing process of a permission type blockchain system.
도 6에서 요청자(70)는 상기 분산데이터베이스(200)에 저장된 데이터를 분석하려 하는 블록체인 네트워크의 노드이다. 상기 요청자(70)는 상기 어플리케이션(40)을 통해 스마트컨트랙트(100)에 접근할 수 있다. 도 6의 실시예에서 상기 스마트컨트랙트(100)는 하나의 공개분산원장(211), 두 개의 비밀분산원장(212) 및 하나의 개인데이터베이스(220)에 접근할 수 있다.In FIG. 6, the requestor 70 is a node of a blockchain network that tries to analyze data stored in the distributed
본 발명의 일 실시예에 따른 상기 데이터 분석 방법은, 클라이언트 어플리케이션(40)이 스마트컨트랙트(100)에 데이터분석질의함수(112)를 호출하는 질의호출단계(S100); 상기 스마트컨트랙트(100)가 상기 데이터분석질의함수(112)에 기초하여 상기 분산데이터베이스(200)에 상기 데이터분석질의함수(112)에 대한 응답 요청을 수행하는 질의응답요청단계(S200); 상기 분산데이터베이스(200)가 차분 프라이버시를 적용하여 상기 데이터분석질의함수(112)에 대한 응답 값을 반환하는 질의응답반환단계(S300); 상기 스마트컨트랙트(100)가 상기 응답 값을 분석하여 반환하는 분석결과반환단계(S400); 및 오류로그에 기초하여 악의적인 공격자의 공격 행동을 사전 방지하는 오류기반감사수행단계(S500); 를 포함한다.The data analysis method according to an embodiment of the present invention includes a query calling step (S100) in which the
도 7은 프라이버시가드가 적용된 데이터베이스가 차분 프라이버시를 적용하여 응답을 수행하는 분석 방법의 요청 및 응답 흐름도이다.7 is a request and response flowchart of an analysis method in which a database to which a privacy guard is applied performs a response by applying differential privacy.
도 7에서는 차분 프라이버시를 이용하여 노이즈를 추가하는 방법이 도시되어 있다. 도 7을 참조하면, 데이터 분석을 하려는 요청자(70)와 분산데이터베이스(90) 사이에 분석에 관한 질의함수를 관리하고 노이즈가 추가된 응답 값을 계산해주는 프라이버시가드(80)가 존재한다. 도 7에는 분산데이터베이스(90)가 도시되어 있지만 이와 같은 프라이버시가드(80)는 일반적인 데이터베이스에서도 동일하게 동작할 수 있다.In FIG. 7, a method of adding noise using differential privacy is illustrated. Referring to FIG. 7, a
이와 같이 프라이버시가드(80)가 적용된 분산데이터베이스(90)에 있어서 차분 프라이버시를 적용하기 위해서 우선 상기 요청자(70)가 프라이버시가드(80)에 특정 정보를 획득하기 위한 질의를 요청하는 단계(S10)가 수행된다.In order to apply differential privacy in the distributed
이 후, 상기 프라이버시가드(80)가 기설정된 정책에 의해 요청된 질의를 분석하는 단계(S20)가 수행된다. 상기 프라이버시가드(80)는 기설정된 정책에 의해 상기 질의의 프라이버시 영향 정도를 평가할 수 있다.Thereafter, a step (S20) of analyzing the query requested by the
이 후, 상기 프라이버시가드(80)가 상기 분산데이터베이스(90)로 질의를 전송하는 단계(S30)가 수행된다. 이와 같은 질의에 따라 상기 분산데이터베이스(90)가 상기 프라이버시가드(80)로 왜곡되지 않은 데이터에 기반한 응답 값을 반환하는 단계(S40)가 수행된다.Thereafter, a step (S30) of transmitting the query from the
이 후, 상기 프라이버시가드(80)가 상기 S20단계에서 평가한 상기 질의의 프라이버시 영향 정도에 기초하여 적절한 양의 노이즈를 추가하는 단계(S50)가 수행된다. 이와 같이 상기 프라이버시가드(80)는 상기 분산데이터베이스(90)에 있는 정보의 기밀성을 보호하기 위하여 상기 응답 값에 노이즈가 추가된 결과 값을 생성하고, 상기 요청자(70)에게 노이즈가 추가된 결과 값을 반환하는 단계(S60)를 수행한다.Thereafter, a step (S50) of adding an appropriate amount of noise is performed by the
이와 같은 과정을 통해 상기 요청자(70)는 요청한 질의에 대한 정보를 전달 받으면서도, 구체적인 데이터에 대해서는 노이즈에 의해 알 수 없게 되어 상기 분산데이터베이스(90)의 프라이버시를 유지할 수 있게 된다.Through this process, the requestor 70 can not know specific data due to noise while receiving information on the requested query, so that the privacy of the distributed
도 8은 본 발명의 일 실시예에 따른 허가형 블록체인 시스템의 프라이버시 보존형 데이터 분석 방법의 요청 및 응답 흐름도이다.8 is a request and response flow chart of a privacy-preserving data analysis method of a permission-type blockchain system according to an embodiment of the present invention.
도 8을 참조하면 도 7에서의 프라이버시가드(80)와 같은 역할을 데이터분석질의함수를 포함하는 스마트컨트랙트(100)가 수행하게 된다. 본 발명의 일 실시예에서는 이와 같이 차분 프라이버시를 구현하는 방법이 상기 도 7의 프라이버시가드(80)처럼 물리적, 단일적으로 나뉘어져 있는 형태가 아니라 스마트컨트랙트(100)의 내부에 추가 된 자동함수의 형태를 취하게 된다. 즉, 물리적인 개체가 추가되는 것이 아니라 블록체인 네트워크 상에 논리적으로 추가구성 됨으로써 네트워크 구성에 대한 부담감을 줄일 수 있으며, 구성원 모두가 공개분산원장(211)을 동일하게 공유하고, 각각 개인데이터베이스(220)를 포함하고 있으며, 비밀분산원장(212)에 기반한 일부의 구성원들이 동일한 데이터분석질의함수(112)를 포함하는 스마트컨트랙트(100)를 보유하게 되므로 기존 프라이버시가드(80) 기반 차분 프라이버시 구현 방법에 비해 단일실패점(Single Point of Failure)을 방지할 수 있는 효과를 발휘할 수 있다.Referring to FIG. 8, the
도 8을 참조하면 우선 요청자(70)가 어플리케이션(40)을 통해 스마트컨트랙트(100)에 데이터분석질의함수(112)를 호출하는 질의호출단계(S100)를 수행한다.Referring to FIG. 8, first, the requestor 70 performs a query calling step S100 of calling the data
이 후, 상기 스마트컨트랙트(100)가 상기 데이터분석질의함수(112)에 기초하여 상기 분산데이터베이스(200)에 상기 데이터분석질의함수(112)에 대한 응답 요청을 수행하는 질의응답요청단계(S200)가 수행된다. 본 발명의 일 실시예에서 상기 질의응답요청단계(S200)는, 상기 데이터공개분산원장(211.1)에 데이터분석질의함수(112)에 대한 응답 값을 요청하는 공개분산데이터응답요청단계(S210); 및 상기 비밀분산원장(212) 및 상기 개인데이터베이스(220)에 차분 프라이버시를 적용한 데이터분석질의함수(112)에 대한 응답 값을 요청하는 비밀데이터응답요청단계(S220); 를 포함할 수 있다. 도 8에는 상기 공개분산데이터응답요청단계(S210) 수행 후에 상기 비밀데이터응답요청단계(S220)가 수행되는 것으로 도시되어 있으나, 본 발명에서 상기 공개분산데이터응답요청단계(S210) 및 상기 비밀데이터응답요청단계(S220)는 동시에 수행될 수도 있고, 혹은 상기 비밀데이터응답요청단계(S220)가 먼저 수행될 수도 있다. 즉, 상기 공개분산데이터응답요청단계(S210) 및 상기 비밀데이터응답요청단계(S220)는 독립적으로 수행됨이 바람직하다.Thereafter, the query response request step (S200) of the
이 후, 상기 데이터공개분산원장(211.1)은, 상기 데이터분석질의함수(112)에 대해 응답 값을 반환하고(S310), 상기 비밀분산원장(212) 및 상기 개인데이터베이스(220)는, 상기 데이터분석질의함수(112)에 대해 차분 프라이버시 기반의 노이즈가 추가된 응답 값을 반환한다(S320). 이와 같이 상기 비밀분산원장(212) 및 상기 개인데이터베이스(220)는 차분 프라이버시 기반의 노이즈가 추가된 응답 값을 반환함으로써, 상기 요청자(70)가 상기 분산원장(210)의 확률적 분포 특성은 알아낼 수 있으나, 상기 비밀분산원장(212) 및 상기 개인데이터베이스(220)에 저장된 개별적인 정보는 알아낼 수 없어 상기 비밀분산원장(212) 및 상기 개인데이터베이스(220)의 데이터에 대한 프라이버시를 보호할 수 있게 된다.Thereafter, the data disclosure and distribution ledger 211.1 returns a response value to the data analysis query function 112 (S310), and the
본 발명의 일 실시예에서 상기 비밀분산원장(212) 또는 상기 개인데이터베이스(220)가 2 이상 존재하는 경우, 2 이상의 상기 비밀분산원장(212) 또는 상기 개인데이터베이스(220)는 독립적으로 상기 데이터분석질의함수(112)에 대해 차분 프라이버시 기반의 노이즈가 추가된 응답 값을 각각 반환할 수 있다.In an embodiment of the present invention, when two or more of the secret distributed
이 후, 상기 스마트컨트랙트(100)가 상기 응답 값을 분석하여 반환하는 분석결과반환단계(S400)가 수행된다. 이 때, 상기 분석결과반환단계(S400)는, 상기 공개분산원장, 상기 비밀분산원장 및 상기 개인데이터베이스(220)가 반환한 상기 응답 값을 통합하여 데이터분석질의함수에 기초한 분석을 수행하여 분석 결과를 반환할 수 있다.Thereafter, the analysis result return step (S400) in which the
이를 위해 상기 분석결과반환단계(S400)에서는 상기 스마트컨트랙트가 상기 공개분산원장(211), 상기 비밀분산원장(212) 및 상기 개인데이터베이스(220)의 응답 값을 통합하여 분석을 수행하는 단계(S410)를 수행하고, 상기 분석 결과를 상기 어플리케이션(40)을 통해 상기 요청자(70)에게 반환하는 단계(S420)를 수행할 수 있다.To this end, in the analysis result return step (S400), the smart contract performs an analysis by integrating the response values of the public distributed
또한 도 8을 참조하면 본 발명의 일 실시예에 따른 오류기반감사수행단계(S500)가 올바르지 않은 응답 값을 반환하는 악의적인 공격자의 공격 행동을 사전 방지하기 위해 수행될 수 있다. 도 8에는 상기 요청자(70)의 어플리케이션(40)이 상기 스마트컨트랙트(100)를 통해 단독적으로 수행하는 것으로 도시되어 있으나, 본 발명에서 상기 스마트컨트랙트(100)는 자동함수의 형태를 취하는 논리적인 개체이며 본 발명의 일 실시예에 따른 오류기반감사수행단계(S500)는 허가형 블록체인 내에 속한 어떠한 참여자이든지 어플리케이션(40)을 통해 스마트컨트랙트(100)에 접근하여 언제든지 오류기반감사수행단계(S500)을 실행할 수 있다.In addition, referring to FIG. 8, the error-based audit execution step S500 according to an embodiment of the present invention may be performed to prevent an attack behavior of a malicious attacker returning an incorrect response value. In FIG. 8, the
이와 같은 오류기반감사수행단계(S500)를 수행하기 위해 본 발명의 일 실시예에 따른 상기 분석결과반환단계(S400)는 상기 스마트컨트랙트(100)가 상기 응답 값을 분석하여 계산된 분산학습모델을 저장하는 분산학습모델저장단계(S430); 및 상기 스마트컨트랙트(100)가 상기 응답 값을 분석하여 차후 오류기반감사를 위한 오류로그를 저장하는 오류로그저장단계(S440); 를 더 포함할 수 있다.In order to perform the error-based audit performance step (S500), the analysis result return step (S400) according to an embodiment of the present invention uses the distributed learning model calculated by the
본 발명의 일 실시예에 따른 상기 분산학습모델저장단계(S430)에서는 상기 스마트컨트랙트(1000)가 상기 분산학습모델공유원장(211.2)에 분석을 수행하여 도출된 분산학습모델을 저장하고, 상기 오류로그저장단계(S440)에서는 오류기반감사를 위한 오류로그를 저장할 수 있다.In the distributed learning model storage step (S430) according to an embodiment of the present invention, the smart contract 1000 stores the distributed learning model derived by performing analysis in the distributed learning model sharing ledger 211.2, and the error In the log storage step S440, an error log for error-based audit may be stored.
이후 수행되는 상기 오류기반감사수행단계(S500)는, 상기 클라이언트가 향후 오류기반감사를 위해 저장된 상기 오류로그를 요청하는 오류로그요청단계(S510); 상기 분산학습모델공개원장이 상기 오류로그요청에 대한 응답 값을 반환하는 오류로그반환단계(S520); 및 상기 클라이언트가 상기 오류로그반환단계의 응답 값에 기초하여 오류기반감사를 수행하는 감사수행단계(S530); 를 포함할 수 있다,The error-based audit performing step (S500) performed afterwards includes an error log request step (S510) in which the client requests the error log stored for future error-based auditing; An error log return step (S520) in which the distributed learning model disclosure ledger returns a response value to the error log request; And an audit performance step (S530) in which the client performs an error-based audit based on the response value of the error log return step. May include,
도 8a는 본 발명의 일 실시예에 따른 차분 프라이버시가 적용된 허가형 블록체인 시스템의 프라이버시 보존형 데이터 분석 방법의 동작을 예시한 흐름도이다.8A is a flowchart illustrating an operation of a privacy-preserving data analysis method of a permissioned blockchain system to which differential privacy is applied according to an embodiment of the present invention.
도 8a는 상기 오류기반감사수행단계(S500)의 보다 쉬운 이해를 위해 도 8에서 이루어지는 본 발명의 일 실시예에 따른 허가형 블록체인 시스템의 프라이버시 보존형 데이터 분석 방법의 요청 및 흐름도에 대한 물리적 흐름도를 나타낸다. 도 8a를 참조하면, 특정 데이터에 대한 데이터 분석이 수행될 시 분산데이터베이스(200)를 소유한 모든 노드들은 각 라운드 때마다 계산된 모델 및 그에 대한 오류값을 저장한다. 도 8a에서는 이에 대한 예시를 나타내기 위해, 노드 A(10)와 노드B(20)만이 포함된 실시예가 도시되어 있으며, 이는 네트워크의 규모에 따라 소수에서 다수가 될 수 있다. 도 8a를 참조하면, 노드A(10) 및 노드B(20)는 데이터 분석 수행 시 총 번의 라운드를 진행하게 된다. 이때 각 라운드마다 노드A(10)와 노드B(20)는 라운드결과값에 대한 저장요청(S441)을 하여 상기 분산학습모델공개원장(211.2)에 저장(S442)하게 된다. 구체적으로 상기 노드A는 1라운드에서 1라운드결과값에 대한 저장요??(S441.1A)을 하고, 상기 분산학습모델공개원장(211.2)는 이를 저장(S442.1A)한다. 또한, 상기 노드B는 1라운드에서 1라운드결과값에 대한 저장요??(S441.1B)을 하고, 상기 분산학습모델공개원장(211.2)는 이를 저장(S442.1B)한다. 이와 같은 단계가 반복되어 분산학습모델저장단계(S430) 및 오류로그저장단계(S440)가 수행될 수 있다.Figure 8a is a physical flow diagram of a request and flow chart of a privacy-preserving data analysis method of a permission-type blockchain system according to an embodiment of the present invention made in FIG. Represents. Referring to FIG. 8A, when data analysis on specific data is performed, all nodes owning the distributed
이 후, 오류기반감사수행단계(S500)에서는 오류기반감사의 수행을 원하는 특정 노드에 의해 구동되는 요청자(70)가 상기 오류기반감사를 위한 저장된 오류로그값을 요청 하는 오류로그값요청단계(S510) 및 오류기반감사를 위한 저장된 오류로그값을 반환 하는 오류로그값반환단계(S520)을 통해 기존에 저장되어 있는 노드A(10)와 노드B(20)에 대한 모델의 오류 값을 반환 받는다. 이후 요청자(70)는 오류기반감사를 수행하여(S530) 높은 오류를 가지는 노드를 쉽게 파악할 수 있다.Thereafter, in the error-based audit execution step (S500), the requestor 70 driven by a specific node that wants to perform the error-based audit requests an error log value stored for the error-based audit (S510). ) And the error log value return step (S520) of returning the stored error log value for error-based auditing, the previously stored error values of the model for
또한 도 8a를 참조하면 상기 오류기반감사수행단계(S500)는 상기와 같은 과정을 통해 높은 오류 값들을 가지는 특정 노드들을 선별할 수 있다. 본 발명의 일 실시예에 따른 차분 프라이버시가 적용된 허가형 블록체인 시스템의 프라이버시 보존형 데이터 분석 방법에서의 상기 오류기반감사수행단계(S500)는 해당 오류 수치를 통해 향후 감사의 대상으로 노드를 관리할 수 있으며, 이는 네트워크의 정책에 따라 유동적으로 설정될 수 있다. 예를 들어 오류 값을 0부터 1까지의 수치로 나타내는 네트워크에서 0.7 이상의 평균적 오류를 갖는 노드에 대한 감사 및 관리를 수행하도록 할 수 있다.In addition, referring to FIG. 8A, in the error-based audit execution step S500, specific nodes having high error values may be selected through the above process. The error-based audit execution step (S500) in the privacy-preserving data analysis method of the permissioned blockchain system to which differential privacy is applied according to an embodiment of the present invention is performed to manage the node as an object of future audit through the error value. This can be set flexibly according to the network policy. For example, in a network that represents an error value as a number from 0 to 1, it is possible to perform audit and management on nodes with an average error of 0.7 or more.
도 9는 본 발명의 일 실시예에 따른 차분 프라이버시가 적용된 허가형 블록체인 시스템의 프라이버시 보존형 데이터 분석 방법의 동작을 예시한 흐름도이다.9 is a flowchart illustrating an operation of a privacy-preserving data analysis method of a permissioned blockchain system to which differential privacy is applied according to an embodiment of the present invention.
도 9에 도시된 블록체인 네트워크에는 차량에 대한 데이터가 저장되어 있다. 상기 블록체인 네트워크에 저장된 데이터 형태는 {키 값; 제조사; 모델; 색상; 차주; 구입비용; 할부여부(개월)}와 같고, 각각 공개분산원장(211), 1 이상의 비밀분산원장(212) 및 개인데이터베이스(220)에 각각에 저장되어 있다.In the blockchain network shown in FIG. 9, data on vehicles is stored. The data type stored in the blockchain network is {key value; manufacturer; Model; color; Borrower; Purchase cost; Installment payment (months)}, and are stored in the public distributed
또한, 상기 스마트컨트랙트(100)는 상기 분산원장(210)에 대해 쓰기, 수정, 삭제 등의 연산을 수행할 수 있는 배포함수(120), 상기 분산데이터베이스(200)의 기본적인 정보를 읽어올 수 있는 일반질의함수(111) 및 데이터 분석을 수행하기 위한 데이터분석질의함수(112)를 포함하고 있다. 이와 같은 함수들은 상기 블록체인 네트워크가 구동되기 전에 미리 설계되어 포함되어 있다.In addition, the
도 9를 참조하면 우선 요청자(70)가 어플리케이션(40)을 통해 스마트컨트랙트(100)에 데이터분석질의함수(112)를 호출하는 질의호출단계(S100)를 수행한다.Referring to FIG. 9, first, the requestor 70 performs a query calling step (S100) of calling the data
이 후, 상기 스마트컨트랙트(100)가 상기 데이터분석질의함수(112)에 기초하여 상기 분산데이터베이스(200)에 상기 데이터분석질의함수(112)에 대한 응답 요청을 수행하는 질의응답요청단계(S200)가 수행된다. 상기 데이터분석질의함수(112)는 상기 분산데이터베이스(200)의 상위 제조사 혹은 상위 모델을 조회하거나, 저장된 차량 데이터의 색상 분포 조회 또는 향후 유행 모델에 대한 예측 및 분석 등의 함수를 포함할 수 있다.Thereafter, the query response request step (S200) of the
이 때, 상기 질의응답요청단계(S200)는 상기 공개분산원장(211)에 데이터분석질의함수에 대한 응답 값을 요청하는 공개분산데이터응답요청단계(S210); 및 상기 비밀분산원장(212) 및 상기 개인데이터베이스(220)에 차분 프라이버시를 적용한 데이터분석질의함수에 대한 응답 값을 요청하는 비밀데이터응답요청단계(S220)의 단계로 나뉘어져 수행될 수 있다. 이를 통해 상기 공개분산원장(211)에는 상기 데이터분석질의함수(112)에 대한 응답 값을 요청하고, 상기 비밀분산원장(212) 및 상기 개인데이터베이스(220)에는 차분 프라이버시를 적용한 응답 값을 요청하여, 상기 비밀분산원장(212) 및 상기 개인데이터베이스(220)의 데이터에 대한 프라이버시를 보호할 수 있게 된다.In this case, the question-and-answer request step (S200) includes a public distributed data response request step (S210) of requesting a response value for a data analysis query function from the public distributed
이 후, 상기 공개분산원장(211)은 상기 데이터분석질의함수(112)에 대해 응답 값을 반환하고(S310), 상기 비밀분산원장(212) 및 상기 개인데이터베이스(220)는, 상기 데이터분석질의함수(112)에 대해 차분 프라이버시 기반의 노이즈가 추가된 응답 값을 반환한다(S320).Thereafter, the public distributed
이 후, 상기 스마트컨트랙트(100)는 상기 공개분산원장(211), 상기 비밀분산원장(212) 및 상기 개인데이터베이스(220)가 반환한 상기 응답 값을 통합하여 데이터분석질의함수에 기초한 분석을 수행하여 분석 결과를 상기 어플리케이션(40)을 통해 상기 요청자(70)에게 반환하는 분석결과반환단계(S400)를 수행한다.Thereafter, the
전술한 바와 같이 본 발명의 일 실시예에 따른 프라이버시 보존형 데이터 분석 방법에서는 특정 구성원만이 소유하고 있는 비밀데이터의 값을 노출시키지 않은 상태로 데이터 분석을 수행하도록 하는 효과를 발휘할 수 있다.As described above, in the privacy-preserving data analysis method according to an embodiment of the present invention, the data analysis can be performed without exposing the value of secret data owned by only a specific member.
본 발명의 일 실시예에 따른 프라이버시 보존형 데이터 분석 방법에서는 기존의 허가형 블록체인 시스템의 구조를 변형하지 않으면서도 비밀데이터를 보호하도록 하는 효과를 발휘할 수 있다.In the privacy-preserving data analysis method according to an embodiment of the present invention, it is possible to exert an effect of protecting secret data without changing the structure of an existing permission-type blockchain system.
본 발명의 일 실시예에 따른 프라이버시 보존형 데이터 분석 방법에서는 비밀데이터를 보호하기 위한 물리적 구성요소를 추가하지 않음으로써 네트워크 구성을 간이하게 유지하는 효과를 발휘할 수 있다.In the privacy-preserving data analysis method according to an embodiment of the present invention, a network configuration can be easily maintained by not adding a physical component to protect secret data.
본 발명의 일 실시예에 따른 프라이버시 보존형 데이터 분석 방법에서는 오류기반감사수행단계(S500)를 통해 올바르지 않은 응답 값을 반환하는 악의적인 공격자의 공격 행동을 사전에 방지하기 위해 수행할 수 있다. 이는 허가형 블록체인 네트워크 내에 참여한 참여자 누구든지 어느 때나 수행할 수 있으며, 특정 참여자가 이전까지 올바른 값을 반환하였는지 혹은 올바르지 않은 값을 반환하였는지의 여부를 쉽게 쉽게 파악할 수 있다.In the privacy-preserving data analysis method according to an embodiment of the present invention, it may be performed in advance to prevent an attack behavior of a malicious attacker who returns an incorrect response value through the error-based audit execution step (S500). This can be done at any time by any participant in the permissioned blockchain network, and it is easy to determine whether a specific participant returned a correct value or incorrect value before.
본 발명의 일 실시예에 따른 프라이버시 보존형 데이터 분석 방법에는 기존의 블록체인 시스템이 가지고 있는 속성과 마찬가지로 구성원 각각이 스마트컨트랙트와 분산 데이터베이스를 보유함으로써 단일 장애점(Single Point of Failure)을 방지하는 효과를 발휘할 수 있다.In the privacy-preserving data analysis method according to an embodiment of the present invention, as in the properties of the existing blockchain system, each member has a smart contract and a distributed database, thereby preventing a single point of failure. Can exert.
본 발명의 실시예에 따른 방법들은 다양한 컴퓨팅 장치를 통하여 수행될 수 있는 프로그램 명령(instruction) 형태로 구현되어 컴퓨터 판독 가능 매체에 기록될 수 있다. 특히, 본 실시예에 따른 프로그램은 PC 기반의 프로그램 또는 모바일 단말 전용의 어플리케이션으로 구성될 수 있다. 본 발명이 적용되는 애플리케이션은 파일 배포 시스템이 제공하는 파일을 통해 이용자 단말에 설치될 수 있다. 일 예로, 파일 배포 시스템은 이용자 단말이기의 요청에 따라 상기 파일을 전송하는 파일 전송부(미도시)를 포함할 수 있다.Methods according to an embodiment of the present invention may be implemented in the form of program instructions that can be executed through various computing devices and recorded in a computer-readable medium. In particular, the program according to the present embodiment may be configured as a PC-based program or an application dedicated to a mobile terminal. An application to which the present invention is applied may be installed on a user terminal through a file provided by the file distribution system. For example, the file distribution system may include a file transmission unit (not shown) that transmits the file according to the request of the user terminal.
이상에서 설명된 장치는 하드웨어 구성요소, 소프트웨어 구성요소, 및/또는 하드웨어 구성요소 및 소프트웨어구성요소의 조합으로 구현될 수 있다. 예를 들어, 실시예들에서 설명된 장치 및 구성요소는, 예를 들어, 프로세서, 콘트롤러, ALU(arithmetic logic unit), 디지털 신호 프로세서(digital signal processor), 마이크로컴퓨터, FPGA(field programmable gate array), PLU(programmable logic unit), 마이크로프로세서, 또는 명령(instruction)을 실행하고 응답할 수 있는 다른 어떠한 장치와 같이, 하나 이상의 범용 컴퓨터 또는 특수 목적컴퓨터를 이용하여 구현될 수 있다. 처리 장치는 운영 체제(OS) 및 상기 운영 체제 상에서 수행되는 하나 이상의 소프트웨어 애플리케이션을 수행할 수 있다. 또한, 처리 장치는 소프트웨어의 실행에 응답하여, 데이터를 접근, 저장, 조작, 처리 및 생성할 수도 있다. 이해의 편의를 위하여, 처리 장치는 하나가 사용되는 것으로 설명된 경우도 있지만, 해당 기술분야에서 통상의 지식을 가진 자는, 처리 장치가 복수 개의 처리 요소(processing element) 및/또는 복수 유형의 처리 요소를 포함할 수 있음을 알 수 있다. 예를 들어, 처리 장치는 복수 개의 프로세서 또는 하나의 프로세서 및 하나의 콘트롤러를 포함할 수 있다. 또한, 병렬 프로세서(parallel processor)와 같은, 다른 처리 구성(processing configuration)도 가능하다.The apparatus described above may be implemented as a hardware component, a software component, and/or a combination of a hardware component and a software component. For example, the devices and components described in the embodiments are, for example, a processor, a controller, an arithmetic logic unit (ALU), a digital signal processor, a microcomputer, a field programmable gate array (FPGA). , A programmable logic unit (PLU), a microprocessor, or any other device capable of executing and responding to instructions, such as one or more general purpose computers or special purpose computers. The processing device may execute an operating system (OS) and one or more software applications executed on the operating system. In addition, the processing device may access, store, manipulate, process, and generate data in response to the execution of software. For the convenience of understanding, although it is sometimes described that one processing device is used, one of ordinary skill in the art, the processing device is a plurality of processing elements and/or a plurality of types of processing elements. It can be seen that it may include. For example, the processing device may include a plurality of processors or one processor and one controller. In addition, other processing configurations are possible, such as a parallel processor.
소프트웨어는 컴퓨터 프로그램(computer program), 코드(code), 명령(instruction), 또는 이들 중 하나 이상의 조합을 포함할 수 있으며, 원하는 대로 동작하도록 처리 장치를 구성하거나 독립적으로 또는 결합적으로 (collectively) 처리 장치를 명령할 수 있다. 소프트웨어 및/또는 데이터는, 처리 장치에 의하여 해석되거나 처리 장치에 명령 또는 데이터를 제공하기 위하여, 어떤 유형의 기계, 구성요소(component), 물리적 장치, 가상장치(virtual equipment), 컴퓨터 저장 매체 또는 장치, 또는 전송되는 신호 파(signal wave)에 영구적으로, 또는 일시적으로 구체화(embody)될 수 있다. 소프트웨어는 네트워크로 연결된 컴퓨팅 장치 상에 분산되어서, 분산된 방법으로 저장되거나 실행될 수도 있다. 소프트웨어 및 데이터는 하나 이상의 컴퓨터 판독 가능 기록 매체에 저장될 수 있다.The software may include a computer program, code, instructions, or a combination of one or more of these, configuring the processing unit to operate as desired or processed independently or collectively. You can command the device. Software and/or data may be interpreted by a processing device or to provide instructions or data to a processing device, of any type of machine, component, physical device, virtual equipment, computer storage medium or device. , Or may be permanently or temporarily embodyed in a transmitted signal wave. The software may be distributed over networked computing devices and stored or executed in a distributed manner. Software and data may be stored on one or more computer-readable recording media.
실시예에 따른 방법은 다양한 컴퓨터 수단을 통하여 수행될 수 있는 프로그램 명령 형태로 구현되어 컴퓨터 판독 가능 매체에 기록될 수 있다. 상기 컴퓨터 판독 가능 매체는 프로그램 명령, 데이터 파일, 데이터 구조 등을 단독으로 또는 조합하여 포함할 수 있다. 상기 매체에 기록되는 프로그램 명령은 실시예를 위하여 특별히 설계되고 구성된 것들이거나 컴퓨터 소프트웨어 당업자에게 공지되어 사용 가능한 것일 수도 있다. 컴퓨터 판독 가능 기록 매체의 예에는 하드 디스크, 플로피 디스크 및 자기 테이프와 같은 자기 매체(magnetic media), CD-ROM, DVD와 같은 광기록 매체(optical media), 플롭티컬 디스크(floptical disk)와 같은 자기-광 매체(magneto-optical media), 및 롬(ROM), 램(RAM), 플래시 메모리 등과 같은 프로그램 명령을 저장하고 수행하도록 특별히 구성된 하드웨어 장치가 포함된다. 프로그램 명령의 예에는 컴파일러에 의해 만들어지는 것과 같은 기계어 코드뿐만 아니라 인터프리터 등을 사용해서 컴퓨터에 의해서 실행될 수 있는 고급 언어 코드를 포함한다. 상기된 하드웨어 장치는 실시예의 동작을 수행하기 위해 하나 이상의 소프트웨어 모듈로서 작동하도록 구성될 수 있으며, 그 역도 마찬가지이다.The method according to the embodiment may be implemented in the form of program instructions that can be executed through various computer means and recorded in a computer-readable medium. The computer-readable medium may include program instructions, data files, data structures, and the like alone or in combination. The program instructions recorded on the medium may be specially designed and configured for the embodiment, or may be known and usable to those skilled in computer software. Examples of computer-readable recording media include magnetic media such as hard disks, floppy disks, and magnetic tapes, optical media such as CD-ROMs and DVDs, and magnetic media such as floptical disks. -A hardware device specially configured to store and execute program instructions such as magneto-optical media, and ROM, RAM, flash memory, and the like. Examples of program instructions include not only machine language codes such as those produced by a compiler but also high-level language codes that can be executed by a computer using an interpreter or the like. The hardware device described above may be configured to operate as one or more software modules to perform the operation of the embodiment, and vice versa.
이상과 같이 실시예들이 비록 한정된 실시예와 도면에 의해 설명되었으나, 해당 기술분야에서 통상의 지식을 가진 자라면 상기의 기재로부터 다양한 수정 및 변형이 가능하다. 예를 들어, 설명된 기술들이 설명된 방법과 다른 순서로 수행되거나, 및/또는 설명된 시스템, 구조, 장치, 회로 등의 구성요소들이 설명된 방법과 다른 형태로 결합 또는 조합되거나, 다른 구성요소 또는 균등물에 의하여 대치되거나 치환되더라도 적절한 결과가 달성될 수 있다. 그러므로, 다른 구현들, 다른 실시예들 및 특허청구범위와 균등한 것들도 후술하는 특허청구범위의 범위에 속한다.As described above, although the embodiments have been described by the limited embodiments and drawings, various modifications and variations are possible from the above description by those of ordinary skill in the art. For example, the described techniques are performed in a different order from the described method, and/or components such as a system, structure, device, circuit, etc. described are combined or combined in a form different from the described method, or other components Alternatively, even if substituted or substituted by an equivalent, an appropriate result can be achieved. Therefore, other implementations, other embodiments, and claims and equivalents fall within the scope of the claims to be described later.
Claims (10)
상기 허가형 블록체인 시스템은,
시스템 참여자인 노드가 상기 허가형 블록체인 시스템에 접근하기 위한 클라이언트 어플리케이션;
블록체인 네트워크상의 트랜잭션이 기록되는 분산원장; 및 상기 노드 개인만이 보유하고 있는 개인데이터베이스; 를 포함하는 분산데이터베이스; 및
상기 분산원장에 대한 액세스를 제어하는 스마트컨트랙트; 를 포함하고,
상기 분산원장은,
상기 허가형 블록체인 시스템의 모든 구성원이 공유하는 공개분산원장; 및
상기 허가형 블록체인 시스템의 특정 구성원만이 공유하는 1 이상의 비밀분산원장; 을 포함하고,
상기 데이터 분석 방법은,
클라이언트 어플리케이션이 스마트컨트랙트에 데이터분석질의함수를 호출하는 질의호출단계;
상기 스마트컨트랙트가 상기 데이터분석질의함수에 기초하여 상기 분산원장에 상기 데이터분석질의함수에 대한 응답 요청을 수행하는 질의응답요청단계;
상기 분산원장이 차분 프라이버시를 적용하여 상기 데이터분석질의함수에 대한 응답 값을 반환하는 질의응답반환단계; 및
상기 스마트컨트랙트가 상기 응답 값을 분석하여 반환하는 분석결과반환단계; 를 포함하고,
상기 공개분산원장은,
상기 데이터분석질의함수에 대해 응답 값을 반환하고,
상기 비밀분산원장 및 상기 개인데이터베이스는,
상기 데이터분석질의함수에 대해 차분 프라이버시 기반의 노이즈가 추가된 응답 값을 반환하는, 프라이버시 보존형 데이터 분석 방법.
As a privacy-preserving data analysis method on a permissioned blockchain system,
The permission type blockchain system,
A client application for a node that is a system participant to access the permission type blockchain system;
Distributed ledger in which transactions on the blockchain network are recorded; And a personal database held only by the individual node. Distributed database including a; And
A smart contract for controlling access to the distributed ledger; Including,
The distributed ledger,
A public distributed ledger shared by all members of the permission type blockchain system; And
One or more secret distributed ledgers shared only by specific members of the permission type blockchain system; Including,
The data analysis method,
A query calling step in which the client application calls a data analysis query function to the smart contract;
A query response request step of the smart contract performing a response request to the data analysis query function to the distributed ledger based on the data analysis query function;
A query response return step in which the distributed ledger returns a response value to the data analysis query function by applying differential privacy; And
An analysis result return step of analyzing and returning the response value by the smart contract; Including,
The public distributed ledger,
Returns the response value for the data analysis query function,
The secret distributed ledger and the personal database,
A privacy-preserving data analysis method for returning a response value to which noise based on differential privacy is added to the data analysis query function.
상기 질의응답요청단계는,
상기 공개분산원장에 데이터분석질의함수에 대한 응답 값을 요청하는 공개분산데이터응답요청단계; 및
상기 비밀분산원장에 차분 프라이버시를 적용한 데이터분석질의함수에 대한 응답 값을 요청하는 비밀분산데이터응답요청단계; 를 포함하는, 프라이버시 보존형 데이터 분석 방법.
The method of claim 3,
The question and answer request step,
A public distributed data response request step of requesting a response value for a data analysis query function from the public distributed ledger; And
A secret distributed data response request step of requesting a response value for a data analysis query function to which differential privacy is applied to the secret distributed ledger; Containing, privacy-preserving data analysis method.
상기 비밀분산원장이 2 이상 존재하는 경우,
2 이상의 상기 비밀분산원장은 독립적으로 상기 데이터분석질의함수에 대해 차분 프라이버시 기반의 노이즈가 추가된 응답 값을 각각 반환하는, 프라이버시 보존형 데이터 분석 방법.
The method of claim 3,
If there is more than one secret distributed ledger,
At least two secret distributed ledgers independently return response values to which noise based on differential privacy is added to the data analysis query function, respectively.
상기 분석결과반환단계는,
상기 공개분산원장 상기 비밀분산원장 및 상기 개인데이터베이스가 반환한 상기 응답 값을 통합하여 데이터분석질의함수에 기초한 분석을 수행하여 분석 결과를 반환하는, 프라이버시 보존형 데이터 분석 방법.
The method of claim 3,
The analysis result return step,
A privacy-preserving data analysis method for performing an analysis based on a data analysis query function by integrating the response value returned by the public distributed ledger and the private distributed ledger and the personal database to return an analysis result.
상기 허가형 블록체인 시스템은,
시스템 참여자인 노드가 상기 허가형 블록체인 시스템에 접근하기 위한 클라이언트 어플리케이션;
블록체인 네트워크상의 트랜잭션이 기록되는 분산원장; 및 상기 노드 개인만이 보유하고 있는 개인데이터베이스; 를 포함하는 분산데이터베이스; 및
상기 분산원장에 대한 액세스를 제어하는 스마트컨트랙트; 를 포함하고,
상기 분산원장은,
상기 허가형 블록체인 시스템의 모든 구성원이 공유하는 공개분산원장; 및
상기 허가형 블록체인 시스템의 특정 구성원만이 공유하는 1 이상의 비밀분산원장; 을 포함하고,
상기 데이터 분석 방법은,
클라이언트 어플리케이션이 스마트컨트랙트에 데이터분석질의함수를 호출하는 질의호출단계;
상기 스마트컨트랙트가 상기 데이터분석질의함수에 기초하여 상기 분산원장에 상기 데이터분석질의함수에 대한 응답 요청을 수행하는 질의응답요청단계;
상기 분산원장이 차분 프라이버시를 적용하여 상기 데이터분석질의함수에 대한 응답 값을 반환하는 질의응답반환단계; 및
상기 스마트컨트랙트가 상기 응답 값을 분석하여 반환하는 분석결과반환단계; 를 포함하고,
상기 공개분산원장은,
상기 허가형 블록체인 시스템에서 이루어지는 트랜잭션을 저장하는 데이터공개분산원장; 및
상기 허가형 블록체인 시스템에서 이루어지는 각 라운드 별 학습의 결과물 및 최종 분산 학습 모델을 저장하는 분산학습모델공유원장; 을 포함하는, 프라이버시 보존형 데이터 분석 방법.
As a privacy-preserving data analysis method on a permissioned blockchain system,
The permission type blockchain system,
A client application for a node that is a system participant to access the permission type blockchain system;
Distributed ledger in which transactions on the blockchain network are recorded; And a personal database held only by the individual node. Distributed database including a; And
A smart contract for controlling access to the distributed ledger; Including,
The distributed ledger,
A public distributed ledger shared by all members of the permission type blockchain system; And
One or more secret distributed ledgers shared only by specific members of the permission type blockchain system; Including,
The data analysis method,
A query calling step in which the client application calls a data analysis query function to the smart contract;
A query response request step of the smart contract performing a response request to the data analysis query function to the distributed ledger based on the data analysis query function;
A query response return step in which the distributed ledger returns a response value to the data analysis query function by applying differential privacy; And
An analysis result return step of the smart contract analyzing and returning the response value; Including,
The public distributed ledger,
A data disclosure and distribution ledger that stores transactions made in the permission type blockchain system; And
A distributed learning model sharing ledger for storing a result of learning for each round and a final distributed learning model in the permissioned blockchain system; Including, privacy-preserving data analysis method.
상기 데이터 분석 방법은,
오류로그에 기초하여 악의적인 공격자의 공격 행동을 사전 방지하는 오류기반감사수행단계를 더 포함하고,
상기 분석결과반환단계는,
상기 스마트컨트랙트가 상기 응답 값을 분석하여 계산된 분산학습모델을 저장하는 분산학습모델저장단계; 및
상기 스마트컨트랙트가 상기 응답 값을 분석하여 차후 오류기반감사를 위한 오류로그를 저장하는 오류로그저장단계; 를 더 포함하는, 프라이버시 보존형 데이터 분석 방법.
The method of claim 7,
The data analysis method,
Further comprising an error-based audit execution step to prevent malicious attacker's attack behavior based on the error log,
The analysis result return step,
A distributed learning model storing step of storing the distributed learning model calculated by analyzing the response value by the smart contract; And
An error log storage step in which the smart contract analyzes the response value and stores an error log for subsequent error-based auditing; Further comprising, privacy-preserving data analysis method.
상기 분산학습모델공유원장에는,
상기 분산학습모델저장단계에서 프라이버시 보존형 분산학습 모델이 저장될 수 있는, 프라이버시 보존형 데이터 분석 방법.
The method of claim 8,
In the distributed learning model sharing ledger,
In the distributed learning model storage step, a privacy-preserving distributed learning model may be stored.
상기 오류기반감사수행단계는,
상기 클라이언트가 향후 오류기반감사를 위해 저장된 상기 오류로그를 요청하는 오류로그요청단계;
상기 분산학습모델공유원장이 상기 오류로그요청에 대한 응답 값을 반환하는 오류로그반환단계; 및
상기 클라이언트가 상기 오류로그반환단계의 응답 값에 기초하여 오류기반감사를 수행하는 감사수행단계; 를 포함하는, 프라이버시 보존형 데이터 분석 방법.The method of claim 8,
The step of performing the error-based audit,
An error log request step in which the client requests the error log stored for future error-based auditing;
An error log return step in which the distributed learning model sharing ledger returns a response value to the error log request; And
An audit performing step in which the client performs an error-based audit based on a response value of the error log return step; Containing, privacy-preserving data analysis method.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
PCT/KR2019/006498 WO2020189846A1 (en) | 2018-12-20 | 2019-05-30 | Method for privacy-preserving data analysis in permissioned blockchain system |
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR20180165936 | 2018-12-20 | ||
KR1020180165936 | 2018-12-20 |
Publications (2)
Publication Number | Publication Date |
---|---|
KR20200077366A KR20200077366A (en) | 2020-06-30 |
KR102149900B1 true KR102149900B1 (en) | 2020-08-31 |
Family
ID=71121360
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020190032442A KR102149900B1 (en) | 2018-12-20 | 2019-03-21 | Privacy-preserving Data Analysis Method on Permissioned Blockchain System |
Country Status (2)
Country | Link |
---|---|
KR (1) | KR102149900B1 (en) |
WO (1) | WO2020189846A1 (en) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR102480890B1 (en) | 2022-06-03 | 2022-12-22 | 가천대학교 산학협력단 | The Method of Managing Health Care Information Using Permissioned Blockchain Technology |
KR102486447B1 (en) | 2021-12-07 | 2023-01-09 | 서울과학기술대학교 산학협력단 | Data obfuscation system and method using differential privacy |
Families Citing this family (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2022010297A1 (en) * | 2020-07-10 | 2022-01-13 | 주식회사 미디움 | Method for transmitting, by peer terminal, block data to client terminal in hyperledger fabric structure |
CN112699413B (en) * | 2021-01-20 | 2022-07-01 | 泉州华中科技大学智能制造研究院 | Block chain system capable of protecting data security and data processing method thereof |
CN113112354A (en) * | 2021-03-04 | 2021-07-13 | 卓尔智联(武汉)研究院有限公司 | Transaction processing method of block chain network, block chain network and storage medium |
WO2022260501A1 (en) * | 2021-06-11 | 2022-12-15 | 삼성전자 주식회사 | Electronic device having partial ledger in blockchain network and operation method thereof |
CN114531243B (en) * | 2022-01-04 | 2024-02-09 | 北京理工大学 | Alliance chain transaction privacy protection method based on label encryption and zero knowledge proof |
KR102541464B1 (en) * | 2022-03-28 | 2023-06-13 | 주식회사 소금광산 | Method and system for inquiring personal data necessary for target marketing and rewardging for the inquiring |
WO2024103394A1 (en) * | 2022-11-18 | 2024-05-23 | Ge Yang | Financial circuit and web3 tokenomics theory |
Family Cites Families (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7698250B2 (en) * | 2005-12-16 | 2010-04-13 | Microsoft Corporation | Differential data privacy |
US10242229B2 (en) * | 2013-12-20 | 2019-03-26 | Telefonaktiebolaget Lm Ericsson (Publ) | Method and apparatus for managing access to a database |
CN106911641A (en) * | 2015-12-23 | 2017-06-30 | 索尼公司 | For authorizing the client terminal device for accessing, server unit and access control system |
KR101946196B1 (en) * | 2018-03-26 | 2019-02-08 | 그래프 블록체인 리미티드 | Control system for controlling private block-chain system |
-
2019
- 2019-03-21 KR KR1020190032442A patent/KR102149900B1/en active IP Right Grant
- 2019-05-30 WO PCT/KR2019/006498 patent/WO2020189846A1/en active Application Filing
Non-Patent Citations (2)
Title |
---|
Yang, Mu, et al. "Differentially private data sharing in a cloud federation with blockchain." IEEE Cloud Computing 5.6 69-79 (2018.11.29. 공개)* |
Zyskind 외 2인. "Decentralizing privacy: Using blockchain to protect personal data." 2015 IEEE Security and Privacy Workshops. (2015.05.22. 공개)* |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR102486447B1 (en) | 2021-12-07 | 2023-01-09 | 서울과학기술대학교 산학협력단 | Data obfuscation system and method using differential privacy |
KR102480890B1 (en) | 2022-06-03 | 2022-12-22 | 가천대학교 산학협력단 | The Method of Managing Health Care Information Using Permissioned Blockchain Technology |
Also Published As
Publication number | Publication date |
---|---|
KR20200077366A (en) | 2020-06-30 |
WO2020189846A1 (en) | 2020-09-24 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
KR102149900B1 (en) | Privacy-preserving Data Analysis Method on Permissioned Blockchain System | |
US11451530B2 (en) | Systems, methods, and apparatuses for implementing super community and community sidechains with consent management for distributed ledger technologies in a cloud based computing environment | |
KR102414732B1 (en) | Method for managing Digital Identity based on Blockchain | |
US10868865B2 (en) | System and apparatus to manage data using a peer-to-peer network and the blockchain | |
US20190236562A1 (en) | Systems, methods, and apparatuses for implementing document interface and collaboration using quipchain in a cloud based computing environment | |
US11233660B2 (en) | Confidential blockchain transactions | |
CN107070848A (en) | For analytical web applications encryption data | |
US11386232B2 (en) | Distributed data management and verification | |
Galtier et al. | Substra: a framework for privacy-preserving, traceable and collaborative machine learning | |
US11663593B2 (en) | Hierarchy-based blockchain | |
Vegesna | Incorporating Data Mining Approaches and Knowledge Discovery Process to Cloud Computing for Maximizing Security | |
Praitheeshan et al. | Private and trustworthy distributed lending model using hyperledger Besu | |
Djeddai et al. | PrivyKG: Security and privacy preservation of knowledge graphs using blockchain technology | |
Han et al. | Differentially private top-k query over MapReduce | |
Sharma et al. | A Review on Secure Data access through Multi-Keyword Searching in Cloud Storage | |
Chhabra et al. | Blockchain, AI, and Data Protection in Healthcare: A Comparative Analysis of Two Blockchain Data Marketplaces in Relation to Fair Data Processing and the ‘Data Double-Spending’Problem | |
Lakshminarayana | Intrusion detection using machine learning algorithms | |
Malhotra et al. | An optimized solution for ranking based on data complexity | |
Areekijseree et al. | Secure and efficient multi-party directory publication for privacy-preserving data sharing | |
Chakraborty et al. | BASDB: Blockchain assisted secure outsourced database search | |
Koley | 6 Big data security issues with challenges and solutions | |
Sun et al. | A fast and accurate multi-keyword sorted searchable scheme based on blockchain | |
Przytarski et al. | Query Processing in Blockchain Systems: Current State and Future Challenges. Future Internet 2022, 14, 1 | |
Rajkumar | Dual Cloud Secure Keyword Search Scheme with Public Key Encryption | |
Gorman et al. | Encryption of Data |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
E902 | Notification of reason for refusal | ||
E701 | Decision to grant or registration of patent right | ||
GRNT | Written decision to grant |