KR102051231B1 - Method and system for tracking transaction of the user personal information based in blockchain - Google Patents
Method and system for tracking transaction of the user personal information based in blockchain Download PDFInfo
- Publication number
- KR102051231B1 KR102051231B1 KR1020180148527A KR20180148527A KR102051231B1 KR 102051231 B1 KR102051231 B1 KR 102051231B1 KR 1020180148527 A KR1020180148527 A KR 1020180148527A KR 20180148527 A KR20180148527 A KR 20180148527A KR 102051231 B1 KR102051231 B1 KR 102051231B1
- Authority
- KR
- South Korea
- Prior art keywords
- transaction
- block
- personal information
- user
- information
- Prior art date
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
- G06Q20/00—Payment architectures, schemes or protocols
- G06Q20/30—Payment architectures, schemes or protocols characterised by the use of specific devices or networks
- G06Q20/36—Payment architectures, schemes or protocols characterised by the use of specific devices or networks using electronic wallets or electronic money safes
- G06Q20/367—Payment architectures, schemes or protocols characterised by the use of specific devices or networks using electronic wallets or electronic money safes involving electronic purses or money safes
- G06Q20/3674—Payment architectures, schemes or protocols characterised by the use of specific devices or networks using electronic wallets or electronic money safes involving electronic purses or money safes involving authentication
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
- G06Q20/00—Payment architectures, schemes or protocols
- G06Q20/04—Payment circuits
- G06Q20/06—Private payment circuits, e.g. involving electronic currency used among participants of a common payment scheme
- G06Q20/065—Private payment circuits, e.g. involving electronic currency used among participants of a common payment scheme using e-cash
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
- G06Q20/00—Payment architectures, schemes or protocols
- G06Q20/38—Payment protocols; Details thereof
- G06Q20/382—Payment protocols; Details thereof insuring higher security of transaction
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
- G06Q30/00—Commerce
- G06Q30/02—Marketing; Price estimation or determination; Fundraising
- G06Q30/0201—Market modelling; Market analysis; Collecting market data
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
- G06Q30/00—Commerce
- G06Q30/06—Buying, selling or leasing transactions
- G06Q30/0601—Electronic shopping [e-shopping]
- G06Q30/0613—Third-party assisted
- G06Q30/0619—Neutral agent
Landscapes
- Business, Economics & Management (AREA)
- Accounting & Taxation (AREA)
- Engineering & Computer Science (AREA)
- Finance (AREA)
- Strategic Management (AREA)
- Theoretical Computer Science (AREA)
- General Physics & Mathematics (AREA)
- General Business, Economics & Management (AREA)
- Physics & Mathematics (AREA)
- Development Economics (AREA)
- Entrepreneurship & Innovation (AREA)
- Economics (AREA)
- Marketing (AREA)
- Computer Networks & Wireless Communication (AREA)
- Data Mining & Analysis (AREA)
- Game Theory and Decision Science (AREA)
- Computer Security & Cryptography (AREA)
- Financial Or Insurance-Related Operations Such As Payment And Settlement (AREA)
Abstract
블록체인을 활용한 사용자 개인정보 활용 파악을 위한 방법 및 시스템이 개시된다. 사용자 개인정보에 대한 거래 흐름 제공 방법에 있어서, 미리 정의된 일정 시간에 해당하는 사용자의 개인정보관련 거래내역을 포함하는 새로운 블록을 생성하는 단계, 상기 개인정보관련 거래내역을 포함하는 각각의 블록들을 체인(chain) 형태로 연결하는 블록체인(blockchain)에 상기 새로운 블록을 추가 연결하는 단계, 상 블록체인에 연결된 새로운 블록을 네트워크를 형성한 노드로 전파하는 단계, 기 노드에서 생성된 블록을 수신하는 단계, 수신된 상기 블록에 대한 유효성을 검증하는 단계, 및 검증된 상기 블록을 상기 블록체인에 추가 연결하는 단계를 포함할 수 있다.Disclosed are a method and system for grasping user personal information utilizing a blockchain. A method of providing a transaction flow for user personal information, the method comprising: generating a new block including a user's personal information related transaction details corresponding to a predetermined time, and each block including the personal information related transaction details; Connecting the new block to a blockchain that is connected in a chain form, propagating a new block connected to the blockchain to a node that forms a network, receiving a block generated in a previous node The method may include verifying validity of the received block, and additionally connecting the verified block to the blockchain.
Description
본 발명의 실시예들은 인터넷 포털 사이트 가입, 신용카드, 보험, 채팅 서비스, 교육 서비스, 게임 서비스 등 다양한 서비스 이용을 위해 해당 웹사이트에 가입하거나, 전화 또는 서면으로 해당 서비스 신청 시에, 해당 서비스의 이용을 위해 동의한 사용자의 개인정보의 수집 및 이용 흐름을 파악/추적하는 기술에 관한 것이다.Embodiments of the present invention, when subscribing to the website for the use of various services, such as subscription to the Internet portal site, credit card, insurance, chat service, education service, game service, telephone or in writing, the service of the service, The present invention relates to a technology for identifying / tracking a collection and use flow of personal information of a user who has agreed to use.
네트워크가 발달함에 따라, 여러 정보를 모아 빅데이터(big data) 처리를 한 후에 빅데이터를 되팔거나 활용하여 수익을 얻고 있는 데이터 브로커(data broker) 업체들이 증가하고 있으며, 빅데이터를 거래하는 시장의 규모도 점차 성장하고 있는 추세이다.As the network develops, a growing number of data broker companies are gathering various information and processing big data, and then profiting from selling or using big data. The scale is also growing.
데이터 브로커(data broker)는 개인정보 제공자로부터 데이터를 모아 빅데이터 분석을 통해 개인의 특징을 알아내고, 알아낸 정보들을 서비스 제공자에게 판매한다. 예를 들어, 상기 정보들은 광고, 추천, 정책 추진 등의 여러 분야의 서비스 제공자에게 판매되어, 해당 정보들을 기반으로 광고 마케팅, 부동산 정책, 여행/의류 등의 상품 추천에 이용될 수 있다.A data broker collects data from a personal information provider to find out characteristics of an individual through big data analysis and sells the information to a service provider. For example, the information may be sold to service providers in various fields such as advertisement, recommendation, policy promotion, and the like, and may be used for product marketing such as advertisement marketing, real estate policy, and travel / clothing based on the information.
그러나, 특정 서비스를 이용하기 위해 해당 서비스를 제공하는 웹사이트에 가입하거나, 어플리케이션을 다운로드받거나, 보험, 신용카드, 전자금융 서비스 등에 가입한 사용자들(즉, 개인정보 제공자들)은 자신의 개인정보가 어떻게 수집되어 계약에 따라 활용되는지 알지 못하는 경우가 대부분이며, 개인정보 제공자에게 불안을 심어주고 있다. 예컨대, 세계 경제 포럼 2014년 보고서에 따르면, 사용자들(즉, 개인정보 제공자들)이 느끼는 개인정보 침해에 관한 불안감은 높고, 개인정보를 이용하는 온/오프라인 사업자들(즉, 서비스 제공자들)에 대한 신뢰도는 낮은 것으로 조사된 바 있다.However, users who subscribe to websites that provide such services, download applications, subscribe to insurance, credit cards, e-financial services, etc. to use a particular service (ie, personal information providers) must Most people do not know how data is collected and used under a contract, which causes anxiety in the privacy provider. For example, according to the 2014 World Economic Forum's report, users (ie, privacy providers) have a high level of anxiety about privacy violations, and they are concerned with on / offline providers (ie service providers) who use personal information. Reliability was found to be low.
이처럼, 개인정보를 이용하는 주도권이 개인정보의 소유자인 사용자 개인에게 있는 것이 아니라, 개인정보를 수집하는 쪽에 있어 개인정보의 유출 및 부정 사용에 대한 문제들이 지속되고 있다. 다시 말해, 빅데이터 수집자의 이해관계 갈등 문제가 존재한다. 대표적인 갈등으로서 옵트인(Opt-in) 방식에 대한 이해관계 갈등이 존재한다. 개인정보(privacy) 침해 이슈에 관련된 지난 몇 년간 분쟁 사례들을 보면, 특히 빅데이터 수집자들(즉, 데이터 브로커)의 개인 위치 정보 무단 수집이 갈등의 이슈(issue)가 되었다. As such, the initiative to use personal information does not belong to individual users who are the owners of personal information, but problems related to the leakage and misuse of personal information continue to be collected in terms of collecting personal information. In other words, there is a conflict of interest problem for big data collectors. As a representative conflict, there is a conflict of interest about the opt-in method. In the past few years of disputes involving privacy infringement issues, the unauthorized collection of personal location information from big data collectors (ie data brokers) has become an issue.
위치 정보와 관련해서 미국에서 이미 채택 중인 옵트아웃(Optout) 방식에 대한 문제가 제기되고 있다. 옵트아웃 방식은 수신을 거부해야만 서비스를 사후 차단토록 하는 방식으로서, 미국은 근본적으로 산업 진흥을 우선시하고, '프라이버시 비즈니스'의 구조화를 도모하기 때문에 옵트아웃 방식을 지지해오고 있다.In relation to location information, there is a question about the optout method already adopted in the United States. The opt-out method allows the service to be blocked after rejecting the service. The US has supported the opt-out method because it basically prioritizes the industry and promotes the structure of the 'privacy business'.
그러나, 구글(google)의 2010년 스트리트 튜(street view) 사건 이후, 안드로이드 기반 위치 정보에 대해 구글은 옵트인 방식을 적용하고 있다. 그리고, 미국과 달리, 유럽 연합(EU)은 옵트인 방식을 원칙으로 고수하고 있다. 유럽 연합의 경우, '데이터 보호 규칙' 원안을 2012년 1월 공개하면서, 사전 신청 위반 시 전 세계 연매출 중 최대 0.5%를 징수하는 등 개인정보의 수집, 유출 및 부정을 엄격하게 규제하고 있다. However, after Google's 2010 Street View incident, Google has opted in to Android-based location information. And unlike the United States, the EU adheres to the opt-in principle. In the European Union, the draft of the Data Protection Rules was released in January 2012, strictly restricting the collection, disclosure and fraud of personal information, including the collection of up to 0.5% of global annual sales for violations of prior applications.
이러한 배경을 바탕으로 미래의 빅데이터 관련 시장은 빅트러스트의 파괴적 특징들로 인해 빅 트러스트(Big Trust)관련 시장으로 변할 것으로 전망되고 있다. 예컨대, 빅트러스트의 파괴적 특징들은 사용자의 통제 기반, 관계성 우선 기반, 프라이버시 방어를 통한 잇점들, 사용자의 선거권자화, 개인경제 방어 및 확대, 투명한 수집 및 이용, 옵트인 권장, 자기분석 기반의 자가 증명된 소비자 프로파일, 한 개인의 하나의 모습, 싱글사인온, 이해관계의 시너지, 이해관계의 재균형, 신뢰구축, 인터넷 메이저의 시장지배력 파괴 등을 포함한다.Based on this background, the big data market in the future is expected to become a big trust market due to the destructive features of big trust. For example, the destructive features of Big Trust include: user control base, relationship priority base, benefits through privacy defense, user electoralization, personal economy defense and expansion, transparent collection and use, opt-in recommendation, self-analysis self It includes a proven consumer profile, an individual's appearance, single sign-on, synergy in interests, rebalancing interests, building trust, and breaking the market power of the Internet majors.
이처럼, 유선 인터넷뿐만 아니라 모바일 인터넷이 발달함에 따라 빅데이터 수집 및 활용이 증가하고 있으며, 수집된 빅데이터의 거래에 대한 사용자의 불안감이 증가하고, 부정 역시 증가하고 있는 바, 개인정보를 사용자의 통제 기반으로 제공 및 활용하도록 하는 기술이 요구된다. 즉, 개인정보의 소유권(즉, 주도권)을 데이터를 수집하는 측(예컨대, 빅데이터 수집장치 또는 데이터 브로커)에서 데이터를 제공하는 측(예컨대, 개인정보의 소유주인 사용자)으로 옮기는 사용자 통제 기반의 개인정보 활용 기술이 요구된다. As the mobile Internet as well as the wired Internet are developed, the collection and utilization of big data is increasing, the user's anxiety about the transaction of the collected big data is increasing, and the denial is also increasing. There is a need for a technology that provides and utilizes the foundation. That is, based on user control that transfers ownership (i.e. initiative) of personal information from the data collecting side (e.g., big data collection device or data broker) to the data providing side (e.g. user who is the owner of the personal information). Personal information utilization skills are required.
한국공개특허 제10-2013-0142863호는 개인정보 관리 방법 및 장치에 관한 것으로, 위탁기관 시스템으로부터 개인 정보 및 개인정보에 대응하는 전화번호를 포함하는 위탁 요청을 수신하고, 수신된 개인 정보를 암호화하여 저장함으로써, 개인정보를 보호하는 기술을 개시하고 있다.Korean Patent Laid-Open No. 10-2013-0142863 relates to a method and device for managing personal information, and receives a consignment request including personal information and a telephone number corresponding to the personal information from a consignment agency system, and encrypts the received personal information. To protect personal information.
본 발명의 일실시예는 개인정보 활용관련 주요 이슈(issue) 중 하나인 사용자의 통제 기반(즉, 이용자의 통제 기반)으로 개인정보가 활용되도록 하는 방법 및 시스템을 제공하기 위한 것이다. 즉, 개인정보의 소유권/주도권을 개인정보를 수집하는 데이터 브로커 측에서 개인정보를 제공하는 개인정보 제공자(즉, 사용자 단말)로 이동하여 개인정보가 활용되도록 하는 기술을 제공하기 위한 것이다.One embodiment of the present invention is to provide a method and system for allowing personal information to be utilized on a user's control basis (that is, a user's control basis), which is one of the main issues related to the use of personal information. That is, to provide a technology for the personal information is utilized by moving the ownership / control of the personal information to the personal information provider (that is, the user terminal) that provides the personal information from the data broker side collecting the personal information.
또한, 본 발명의 일실시예는 비트코인 등의 암호화 화폐 거래에 이용되는 블록체인(blockchain)을 이용하여 개인정보가 거래되는 흐름을 나타냄으로써, 사용자 통제 기반(즉, 이용자 통제 기반)에 필요한 요소 중 하나인 개인정보 이용내역의 확인을 개인정보의 소유주인 사용자 개인이 가능하도록 하는 기술을 제공하기 위한 것이다.In addition, an embodiment of the present invention represents the flow of personal information transactions using a blockchain used for cryptocurrency transactions, such as Bitcoin, thereby requiring elements necessary for a user control base (ie, a user control base). One of the purposes of the present invention is to provide a technology for enabling a user to personally check the use of personal information.
사용자 개인정보에 대한 거래 흐름 제공 방법에 있어서, 미리 정의된 일정 시간에 해당하는 사용자의 개인정보관련 거래내역을 포함하는 새로운 블록을 생성하는 단계, 상기 개인정보관련 거래내역을 포함하는 각각의 블록들을 체인(chain) 형태로 연결하는 블록체인(blockchain)에 상기 새로운 블록을 추가 연결하는 단계, 상기 블록체인에 연결된 새로운 블록을 네트워크를 형성한 노드로 전파하는 단계, 상기 노드에서 생성된 블록을 수신하는 단계, 수신된 상기 블록에 대한 유효성을 검증하는 단계, 및 검증된 상기 블록을 상기 블록체인에 추가 연결하는 단계를 포함할 수 있다.A method of providing a transaction flow for user personal information, the method comprising: generating a new block including a user's personal information related transaction details corresponding to a predetermined time, and each block including the personal information related transaction details; Connecting the new block to a blockchain connected in a chain form, propagating a new block connected to the blockchain to a node forming a network, receiving a block generated in the node The method may include verifying validity of the received block, and additionally connecting the verified block to the blockchain.
일측면에 따르면, 상기 블록체인은 시간 별로 서로 다른 하나의 블록이 체인형태로 연결된 구조로 구성되고, 상기 하나의 블록은 사용자의 개인정보와 관련된 복수개의 거래내역을 포함할 수 있다.According to one aspect, the blockchain has a structure in which one block is connected to each other in a chain form for each time, the one block may include a plurality of transactions associated with the user's personal information.
다른 측면에 따르면, 상기 새로운 블록을 생성하는 단계는, 상기 개인정보를 전송하는 노드의 식별자 정보, 상기 개인정보를 수신하는 노드의 식별자 정보, 거래내역의 식별자 정보 및 시간 정보를 포함하는 거래관련 기본정보가 상기 개인정보관련 거래내역과 함께 포함되도록 상기 새로운 블록을 생성하고, 상기 사용자의 개인정보관련 거래내역은, 상기 새로운 블록에 포함된 개인정보에 해당하는 사용자의 식별자 정보, 사용자의 개인정보, 데이터의 종류, 및 데이터 크기를 포함할 수 있다.According to another aspect, the step of generating the new block, the transaction-related basics including the identifier information of the node transmitting the personal information, the identifier information of the node receiving the personal information, the identifier information and time information of the transaction history The new block is generated such that the information is included with the transaction information related to the personal information, and the transaction information related to the user's personal information includes: identifier information of the user corresponding to the personal information included in the new block, personal information of the user, Type of data, and data size.
또 다른 측면에 따르면, 상기 새로운 블록을 생성하는 단계는, 상기 거래 흐름 제공 방법이 사용자 단말에 의해 수행되는 경우, 사용자 단말에서 데이터 브로커 서버 및 서비스 서버 중 적어도 하나로 전달하고자 하는 상기 개인정보를 생성하는 단계, 및 생성된 적어도 하나의 개인정보를 상기 일정시간 동안 모아서 상기 새로운 블록을 생성하는 단계를 포함할 수 있다.According to another aspect, generating the new block, when the transaction flow providing method is performed by a user terminal, generating the personal information to be delivered to at least one of a data broker server and a service server in the user terminal And generating the new block by collecting the generated at least one personal information for the predetermined time.
또 다른 측면에 따르면, 상기 새로운 블록을 생성하는 단계는, 사용자 단말로부터 상기 새로운 블록이 수신된 경우, 상기 새로운 블록에 포함된 사용자의 개인정보관련 거래내역 및 거래관련 기본정보 중 적어도 하나를 가공하는 단계를 포함할 수 있다.According to another aspect, the step of generating the new block, when the new block is received from the user terminal, processing at least one of the user-related transaction history and transaction-related basic information of the user included in the new block It may include a step.
또 다른 측면에 따르면, 상기 가공을 통해 상기 거래내역 및 상기 기본정보 중 적어도 하나가 변경이 발생할 때마다, 상기 블록체인에 연결된 새로운 블록에 상기 가공을 통해 변경된 거래내역이 포함되거나 또는 상기 새로운 블록에 가공된 블록이 체인 형태로 연결될 수 있다.According to another aspect, whenever a change occurs in at least one of the transaction details and the basic information through the processing, the new block connected to the block chain includes the transaction details changed through the processing or in the new block. The machined blocks can be connected in chain form.
또 다른 측면에 따르면, 사용자의 요청에 대한 응답으로, 상기 블록체인에 기초하여 사용자의 개인정보와 관련된 거래 흐름의 추적을 제공하는 단계를 더 포함할 수 있다.According to another aspect, the method may further include providing, in response to the request of the user, tracking of a transaction flow related to the personal information of the user based on the blockchain.
또 다른 측면에 따르면, 상기 사용자의 개인정보와 관련된 거래 흐름을 제공하는 단계는, 상기 블록체인에 포함된 블록들을 대상으로, 머클 트리(Merkle tree) 탐색에 기초하여 탐색하고자 하는 사용자의 식별자 정보에 기초하여, 해당 사용자의 개인정보를 송수신한 노드의 식별자 정보를 추출하는 단계, 및 추출된 노드의 식별자 정보에 기초하여 거래 흐름을 시각화하여 제공하는 단계를 포함할 수 있다.According to another aspect, the step of providing a transaction flow associated with the user's personal information, the block information included in the blockchain, based on the identification information of the user to search based on the Merkle tree (Merkle tree) search And extracting identifier information of the node that has transmitted and received the personal information of the corresponding user, and visualizing and providing a transaction flow based on the extracted identifier information of the node.
또 다른 측면에 따르면, 상기 새로운 블록은, 상기 노드를 통해 유효성 검증이 완료되면 상기 블록체인에 추가 연결될 수 있다.According to another aspect, the new block may be further connected to the blockchain when validation is completed through the node.
사용자 개인정보에 대한 거래 흐름 제공 시스템은, 미리 정의된 일정 시간에 해당하는 사용자의 개인정보관련 거래내역을 포함하는 새로운 블록을 생성하는 블록 생성부, 상기 개인정보관련 거래내역을 포함하는 각각의 블록들을 체인(chain) 형태로 연결하는 블록체인(blockchain)에 상기 새로운 블록을 추가 연결하는 블록체인 제어부, 상기 블록체인에 연결된 새로운 블록을 네트워크를 형성한 노드로 전파하는 블록 전파부, 및 상기 노드에서 생성된 블록을 수신하고, 수신된 블록에 대한 유효성을 검증하는 블록 검증부를 포함하고, 상기 블록체인 제어부는, 검증된 상기 블록을 상기 블록체인에 추가 연결할 수 있다.The transaction flow providing system for user personal information may include: a block generation unit generating a new block including a user's personal information related transaction details corresponding to a predetermined time, and each block including the personal information related transaction details; A blockchain control unit for additionally connecting the new block to a blockchain that connects them in a chain form, a block propagation unit for propagating the new block connected to the blockchain to a node forming a network, and at the node And a block verification unit configured to receive the generated block and to verify the validity of the received block, wherein the blockchain controller may further connect the verified block to the blockchain.
일측면에 따르면, 상기 블록체인은 시간 별로 서로 다른 하나의 블록이 체인형태로 연결된 구조로 구성되고, 상기 하나의 블록은 사용자의 개인정보와 관련하여 생성된 복수개의 거래내역을 포함할 수 있다.According to an aspect, the blockchain may be configured in a structure in which different blocks are connected in a chain form for each time, and the one block may include a plurality of transactions generated in association with a user's personal information.
다른 측면에 따르면, 상기 블록 생성부는, 상기 개인정보를 전송하는 노드의 식별자 정보, 상기 개인정보를 수신하는 노드의 식별자 정보, 거래내역의 식별자 정보, 및 시간 정보를 포함하는 거래관련 기본정보가 상기 개인정보관련 거래내역과 함께 포함되도록 상기 새로운 블록을 생성하고, 상기 사용자의 개인정보관련 거래내역은, 상기 새로운 블록에 포함된 개인정보에 해당하는 사용자의 식별자 정보, 사용자의 개인정보, 데이터의 종류, 및 데이터 크기를 포함할 수 있다.According to another aspect, the block generation unit, the transaction-related basic information including the identifier information of the node for transmitting the personal information, the identifier information of the node for receiving the personal information, the identifier information of the transaction history, and the time information; The new block is generated to be included with the transaction information related to personal information, and the transaction information related to the user's personal information includes user's identifier information, user's personal information, and type of data corresponding to personal information included in the new block. , And data size.
또 다른 측면에 따르면, 상기 블록 생성부는, 상기 거래 흐름 제공 시스템이 사용자 단말인 경우, 사용자 단말에서 데이터 브로커 서버 및 서비스 서버 중 적어도 하나로 전달하고자 하는 상기 개인정보를 생성하고, 생성된 적어도 하나의 개인정보를 상기 일정시간 동안 모아서 상기 새로운 블록을 생성할 수 있다.According to another aspect, when the transaction flow providing system is a user terminal, the block generation unit generates the personal information to be transmitted from the user terminal to at least one of a data broker server and a service server, the at least one individual The new block may be generated by collecting information for the predetermined time.
또 다른 측면에 따르면, 상기 블록 생성부는, 사용자 단말로부터 상기 새로운 블록이 수신된 경우, 상기 새로운 블록에 포함된 사용자의 개인정보관련 거래내역 및 거래관련 기본정보 중 적어도 하나를 가공할 수 있다.According to another aspect, when the new block is received from the user terminal, the block generation unit may process at least one of a user's personal information related transaction details and transaction related basic information included in the new block.
또 다른 측면에 따르면, 상기 가공을 통해 상기 거래내역 및 상기 기본정보 중 적어도 하나가 변경이 발생할 때마다, 상기 블록체인에 연결된 새로운 블록에 상기 가공을 통해 변경된 거래내역이 포함되거나 또는 상기 새로운 블록에 가공된 블록이 체인 형태로 연결될 수 있다.According to another aspect, whenever a change occurs in at least one of the transaction details and the basic information through the processing, the new block connected to the block chain includes the transaction details changed through the processing or in the new block. The machined blocks can be connected in chain form.
또 다른 측면에 따르면, 사용자의 요청에 대한 응답으로, 상기 블록체인에 기초하여 사용자의 개인정보와 관련된 거래 흐름의 추적을 제공하는 거래 흐름 추적부를 더 포함할 수 있다.According to another aspect, in response to the user's request, it may further include a transaction flow tracking unit for providing a trace of the transaction flow associated with the user's personal information based on the blockchain.
또 다른 측면에 따르면, 상기 거래 흐름 추적부는, 상기 블록체인에 포함된 블록들을 대상으로, 머클 트리(Merkle tree) 탐색에 기초하여 탐색하고자 하는 사용자의 식별자 정보에 기초하여, 해당 사용자의 개인정보를 송수신한 노드의 식별자 정보를 추출하고, 추출된 노드의 식별자 정보에 기초하여 거래 흐름을 시각화하여 제공할 수 있다.According to another aspect, the transaction flow tracking unit, based on the identifier information of the user to search based on the Merkle tree search for the blocks included in the blockchain, the user's personal information Identifier information of the transmitted / received nodes may be extracted, and the transaction flow may be visualized and provided based on the extracted identifier information of the node.
또 다른 측면에 따르면, 상기 새로운 블록은, 상기 노드를 통해 유효성 검증이 완료되면, 상기 블록체인에 추가 연결될 수 있다.According to another aspect, the new block may be additionally connected to the blockchain when validation is completed through the node.
컴퓨터로 구현되는 전자 기기와 결합되어 사용자 개인정보에 대한 거래 흐름 제공 방법을 실행시키기 위해 기록매체에 저장된 컴퓨터 프로그램에 있어서, 상기 사용자 개인정보에 대한 거래 흐름 제공 방법은, 미리 정의된 일정 시간에 해당하는 사용자의 개인정보관련 거래내역을 포함하는 새로운 블록을 생성하는 단계, 상기 개인정보관련 거래내역을 포함하는 각각의 블록들을 체인(chain) 형태로 연결하는 블록체인(blockchain)에 상기 새로운 블록을 추가 연결하는 단계, 상기 블록체인에 연결된 새로운 블록을 네트워크를 형성한 노드로의 전파를 제어하는 단계, 상기 노드에서 생성된 블록을 수신하는 단계, 수신된 상기 블록에 대한 유효성을 검증하는 단계, 및 검증된 상기 블록을 상기 블록체인에 추가 연결하는 단계를 포함할 수 있다.In a computer program stored in a recording medium in order to execute a method of providing a transaction flow for user personal information in combination with a computer-implemented electronic device, the method of providing a transaction flow for the user personal information corresponds to a predetermined time. Generating a new block including a user's personal information related transaction, and adding the new block to a blockchain that connects each block including the personal information related transaction in a chain form; Connecting, controlling propagation of a new block connected to the blockchain to nodes forming a network, receiving a block generated at the node, validating the received block, and verifying The method may further include connecting the block to the blockchain.
개인정보 활용관련 주요 이슈(issue) 중 하나인 사용자의 통제 기반(즉, 이용자의 통제 기반)으로 개인정보가 활용되도록 함으로써, 개인정보의 소유권/주도권을 개인정보를 수집하는 데이터 브로커 측에서 개인정보를 제공하는 개인정보 제공자(즉, 사용자 단말)로 이동시킬 수 있다.One of the main issues related to the use of personal information is to use the personal information as the control base of the user (ie, based on the user's control). It can be moved to the personal information provider (that is, the user terminal) that provides.
또한, 비트코인 등의 암호화 화폐 거래에 이용되는 블록체인(blockchain)을 이용하여 개인정보가 거래되는 흐름을 나타냄으로써, 사용자 통제 기반(즉, 이용자 통제 기반)에 필요한 요소 중 하나인 개인정보가 거래된 내역(또는 개인정보의 이용내역)을 해당정보의 소유주인 사용자 개인이 확인 가능하도록 할 수 있다.In addition, by representing the flow of personal information using a blockchain used for cryptocurrency trading such as Bitcoin, personal information, which is one of the elements necessary for the user control base (ie, the user control base), is traded. The details (or details of use of personal information) may be made available to the individual user who is the owner of the information.
도 1은 본 발명의 일실시예에 있어서, 사용자의 개인정보가 전파되는 P2P 기반의 네트워크의 개략적인 구조를 도시한 도면이다.
도 2는 본 발명의 일실시예에 있어서, 블록체인을 이용하여 사용자의 개인정보에 대한 거래 흐름을 제공하는 방법을 설명하기 위해 제공되는 흐름도이다.
도 3은 본 발명의 일실시예에 있어서, 사용자의 개인정보에 대한 거래 흐름을 제공 시스템의 내부 구성을 도시한 블록도이다.
도 4는 본 발명의 일실시예에 있어서, 사용자의 개인정보의 거래 흐름을 나타내는 블록체인의 구조를 도시한 도면이다.
도 5는 본 발명의 일실시예에 있어서, 블록체인이 분기되는 구조를 도시한 도면이다.
도 6은 본 발명의 일실시예에 있어서, 개인정보관련 모든 거래를 하나의 블록체인에 생성하는 구조를 도시한 도면이다.
도 7은 본 발명의 일실시예에 있어서, 데이터 브로커의 서버에서 사용자의 개인 정보를 가공하는 동작을 도시한 네트워크 구조이다.
도 8은 본 발명의 일실시예에 있어서, 블록체인 형태로 개인정보를 저장 및 유지하는 블록체인 관리자의 구조를 도시한 도면이다.
도 9a 및 도 9b는 본 발명의 일실시예에 있어서, 하나의 블록에 기록되는 거래 내역의 구조를 도시한 도면이다.
도 10은 본 발명의 일실시예에 있어서, 블록체인을 관리 및 제어하는 블록체인 관리자를 모든 노드들이 구비하고 있는 네트워크 구조를 도시한 도면이다.
도 11은 본 발명의 일실시예에 있어서, 개인정보 이용 내역 추적 프로세스를 도시한 흐름도이다.1 is a diagram illustrating a schematic structure of a P2P-based network in which user's personal information is propagated according to an embodiment of the present invention.
2 is a flowchart provided to explain a method of providing a transaction flow for a user's personal information using a blockchain according to an embodiment of the present invention.
3 is a block diagram illustrating an internal configuration of a system for providing a transaction flow for a user's personal information according to one embodiment of the present invention.
4 is a diagram illustrating a blockchain structure showing a transaction flow of a user's personal information according to one embodiment of the present invention.
FIG. 5 is a diagram illustrating a structure in which a blockchain branches according to an embodiment of the present invention.
6 is a diagram illustrating a structure for generating all transactions related to personal information in one blockchain according to one embodiment of the present invention.
7 is a network structure illustrating an operation of processing personal information of a user in a server of a data broker according to an embodiment of the present invention.
FIG. 8 is a diagram illustrating a structure of a blockchain manager for storing and maintaining personal information in a blockchain form according to an embodiment of the present invention.
9A and 9B illustrate a structure of transaction details recorded in one block according to one embodiment of the present invention.
FIG. 10 is a diagram illustrating a network structure in which all nodes have a blockchain manager for managing and controlling a blockchain according to an embodiment of the present invention.
11 is a flowchart illustrating a process of tracking personal information usage history according to an embodiment of the present invention.
본 실시예들은 분산형 네트워크 시스템에서 사용자의 이름, 나이, 성별, 주소, 전화번호, 직업, 취미, 관심분야, 자산정보, 결혼여부, 위치정보 등의 사용자의 개인정보에 대한 거래 흐름을 제공하는 기술에 관한 것이다. 특히, 데이터 브로커(data broker)가 사용자의 개인정보를 수집하여 서비스 제공자 또는 다른 서비스 제공자에게 제공하는 것을 거래(transaction)로 정의하고, 비트코인(Bitcoin: BTC) 등의 암호화 화폐 거래에 이용되는 블록체인(blockchain)을 이용하여 사용자의 개인정보가 제공된 거래내역, 즉, 사용자의 개인정보관련 거래 흐름을 개인정보의 소유주인 사용자 본인이 확인 가능하도록 제공하는 기술에 관한 것이다.The present embodiments provide a transaction flow for a user's personal information such as a user's name, age, gender, address, phone number, job, hobby, interest, asset information, marital status, location information, etc. in a distributed network system. It's about technology. In particular, a transaction is defined as a transaction in which a data broker collects user's personal information and provides it to a service provider or another service provider, and is a block used for cryptocurrency trading such as Bitcoin (BTC). By using a blockchain (blockchain) relates to a technology that provides the transaction history of the user's personal information, that is, the user's personal information as a flow of transactions related to the user's personal information can be identified.
본 실시예들에서, 블록체인(blockchain)은 분산형 데이터베이스 구조에 기반한 거래 장부를 나타내는 것으로서, 사용자의 개인정보를 외부 장치(예컨대, 데이터 브로커, 서버)와 주고받는 동작을 거래(transaction)로 보면, 개인정보의 주고받음 또한 블록체인 형태로 저장될 수 있다. 예를 들어, 거래는 사용자 단말에서 사용자의 개인정보 중 하나인 사용자 단말의 위치 정보(예컨대, GPS 정보)를 해당 서비스를 제공하는 서버(즉, 서비스 제공자)로 전달하는 동작을 나타낼 수 있으며, 상기 위치 정보가 사용자 단말에서 중간의 데이터 브로커에 해당하는 장치들을 통해 서버에 전달될 때까지의 흐름을 나타내는 정보가 블록체인 형태로 저장될 수 있다. 즉, 블록 체인은, P2P로 사용자 단말, 서버, 데이터 브로커 간에 이루어진 개인정보 거래(트랜잭션)와 관련된 모든 내역이 기록된 블록들이 발생 시간 순으로 체인 형태로 묶인 것으로서, 네트워크에 참여한 모든 사용자 단말들, 서버, 데이터 브로커에게 공개 및 공유될 수 있다.In the present embodiments, a blockchain represents a transaction ledger based on a distributed database structure. The blockchain refers to an operation of exchanging user's personal information with an external device (eg, a data broker or a server) as a transaction. In addition, the exchange of personal information can also be stored in the form of blockchain. For example, a transaction may refer to an operation of transmitting location information (eg, GPS information) of a user terminal, which is one of user's personal information, to a server (ie, a service provider) providing a corresponding service. Information indicating the flow of the location information from the user terminal to the server through the devices corresponding to the intermediate data broker may be stored in the form of a block chain. In other words, the block chain is a block in which all details related to a personal information transaction (transaction) made between a user terminal, a server, and a data broker are recorded in a chain form in the order of occurrence time, and all user terminals participating in the network, Can be published and shared to servers, data brokers.
본 실시예들에서, '블록'은 동일 시간대에 발생한 사용자의 개인정보관련 거래들을 모은 하나의 단위를 나타낼 수 있다. 예컨대, 미리 지정된 일정 시간(예컨대, 시간 1부터 시간 2까지 지정된 일정 시간)동안 모아서 하나의 블록에 기록하고자 하는 거래들을 나타내는 단위에 해당할 수 있다. In the present embodiments, the 'block' may represent one unit for collecting personal information related transactions of the user occurring at the same time. For example, it may correspond to a unit representing transactions to be collected and recorded in one block for a predetermined predetermined time (eg, a predetermined time designated from
본 실시예들에서, '노드(node)'는 사용자의 개인정보의 송수신과 관련하여 피어-투-피어(peer-to-peer) 네트워크를 형성하고 있는 참여자들의 장치를 나타내는 것으로서, 예컨대, 사용자 단말, 서비스 제공자의 서버(즉, 서비스 서버), 사용자 단말로부터 사용자의 개인정보를 수집하는 데이터 브로커(data broker)를 나타낼 수 있다. 여기서, '데이터 브로커'는 서비스 제공자의 서버(즉, 서비스 서버)와 구분되며, 빅데이터 수집에 이용되는 빅데이터 수집 서버를 나타낼 수 있다.In the present embodiments, a 'node' represents a device of a participant who forms a peer-to-peer network in connection with transmitting and receiving personal information of a user, for example, a user terminal. It may represent a server (ie, a service server) of a service provider and a data broker collecting personal information of a user from a user terminal. Here, the 'data broker' may be distinguished from a server of a service provider (that is, a service server) and may represent a big data collection server used for big data collection.
본 실시예들에서, 개인정보(예컨대, 위치 정보 등)를 제공하는 사용자 단말은 블록체인 기반 네트워크에서 송신 노드에 해당하고, 개인정보(예컨대, 위치 정보)를 제공받아 해당 서비스를 제공하는 서버는 상기 네트워크에서 수신 노드에 해당하고, 상기 개인정보(예컨대, 위치 정보)를 수집하여 상기 서버로 전달하는 데이터 브로커(data broker)는 비트코인 등의 암호화 화폐 거래를 위해 블록체인을 형성하는 마이너(miner) 단말에 해당할 수 있다.In the present embodiments, a user terminal providing personal information (eg, location information, etc.) corresponds to a transmitting node in a blockchain-based network, and a server providing the corresponding service by receiving personal information (eg, location information) is provided. A data broker, which corresponds to a receiving node in the network, collects and transmits the personal information (eg, location information) to the server, and forms a block chain for cryptocurrency transactions such as bitcoin. It may correspond to the terminal.
본 실시예들에서, 거래(즉, 트랜잭션)이 정상적으로 처리되었음을 나타내는 인증된 블록들은 묶여져서 체인으로 연결될 수 있으며, 사용자 단말들은, 새롭게 공개된 블록들에 대해, 그것들이 현존의 체인과 일관된 것인지의 여부를 계산하고, 만약 긍정적이라면, 상기 블록은 블록체인의 일부가 됨으로써 유효성이 인증될 수 있다. 다시 말해, 상기 블록이 유효한 것으로 검증한 사용자 단말은, 자신의 블록 체인에 상기 블록을 추가할 수 있다. 그리고, 상기 블록과 현존하는 체인 간에 모순이 존재한다면, 상기 블록은 거절되고, 블록에 포함된 거래(즉, 트랜잭션)이 나타내는 전송이 무효화될 수 있다.In the present embodiments, authenticated blocks that indicate that a transaction (ie, a transaction) has been processed normally may be bundled and chained, and user terminals may, for newly published blocks, determine whether they are consistent with an existing chain. Calculate whether or not, and if positive, the block can be validated by being part of the blockchain. In other words, a user terminal which has verified that the block is valid may add the block to its blockchain. And, if there is a contradiction between the block and the existing chain, the block may be rejected and the transmission indicated by the transaction (ie, transaction) included in the block may be invalidated.
본 실시예들에서, 개인정보관련 거래 내역을 포함하는 블록과, 상기 블록에 포함된 내용을 변경하거나 새로운 정보를 추가하는 등의 가공을 통해 생성된 블록은 모두 하나의 블록 형태의 구조를 가질 수 있다. 이때, 상기 블록과 가공된 블록이 서로 다른 시간에 생성된 경우, 시간 별로 상기 블록 및 가공된 블록이 체인(chain) 형태로 블록체인에 연결될 수 있다.In the present exemplary embodiment, the block including the transaction information related to personal information and the block generated through processing such as changing contents included in the block or adding new information may all have one block structure. have. In this case, when the block and the processed block are generated at different times, the block and the processed block may be connected to the block chain in a chain form for each time.
도 1은 본 발명의 일실시예에 있어서, 사용자의 개인정보가 전파되는 P2P 기반의 네트워크의 개략적인 구조를 도시한 도면이다.1 is a diagram illustrating a schematic structure of a P2P-based network in which personal information of a user is propagated according to an embodiment of the present invention.
도 1에 따르면, 네트워크(100)에 사용자의 개인정보를 생성(즉, 발행), 수집 및 전파하는 등의 거래(transaction, 트랜잭션)을 처리하기 위해 사용자 단말, 서버, 하나 이상의 데이터 브로커 등이 참여할 수 있다. 예를 들어, 거래(트랜잭션)는, 개인정보관련 거래내역 및 거래관련 기본정보를 포함하는 블록 정보, 해시값 등을 포함하는 거래 식별자(transaction identifier)를 나타낼 수 있다.According to FIG. 1, a user terminal, a server, one or more data brokers, etc. may participate to process a transaction such as generating (ie, issuing), collecting and propagating user's personal information in the
사용자 단말(즉, 개인정보 제공자, 101)은, 데스크탑 PC, 노트북, 스마트폰, 태블릿 등이 이용되며, 네트워크(100)에 참여하기 위해 전용 어플리케이션 또는 웹 기반의 프로그램을 설치할 수 있다. The user terminal (ie, the personal information provider 101) may use a desktop PC, a laptop, a smartphone, a tablet, or the like, and may install a dedicated application or a web-based program to participate in the
서버(즉, 서비스 제공자, 103)는 사용자 단말(101)에서 요청한 서비스를 상기 전용 어플리케이션 또는 프로그램 등을 통해 상기 사용자 단말(101)로 제공할 수 있다. 예컨대, 위치기반 검색 서비스가 요청된 경우, 사용자 단말(101)에서 위치 정보를 서버(103)로 제공하고, 서버(103)는 수신된 위치정보에 기초하는 게임 서비스, 맛집 정보 등을 어플리케이션을 통해 제공할 수 있다.The server (ie, the service provider 103) may provide the service requested by the
네트워크(110)는 하나 이상의 데이터 브로커들을 포함할 수 있으며, 데이터 브로커(102)는 특정 서비스를 제공받기 위해 사용자 단말(101)에서 서버(103)로 전달하는 개인정보(예컨대, 위치정보)를 수집하여 빅데이터를 처리하고, 상기 개인정보를 서버(103)로 전달하고, 상기 빅데이터를 다른 데이터 브로커에게 판매(즉, 전달)하는 서버 장치를 나타낼 수 있다.The network 110 may include one or more data brokers, and the
그리고, 적어도 하나의 데이터 브로커들(즉, 빅데이터 수집 서버 장치)은 사용자 단말(101)에서 생성된 개인정보관련 거래내역을 포함하는 블록이 네트워크(100)로 전파됨에 따라 해당 블록을 수신하고, 수신된 블록에 포함된 해시값(hash)에 기초하여 상기 블록의 유효성(verify)을 검증할 수 있다. 그리고, 유효한 경우, 상기 블록을 블록체인에 추가하고, 유효성을 입증하는 자료와 함께 상기 블록이 유효함을 네트워크(100)에 전송하여 공개할 수 있다. 이때, 나머지 데이터 브로커들 역시, 상기 블록체인에 추가된 블록의 유효성을 검증하고, 유효한 경우, 자신의 블록체인에 상기 추가된 블록을 추가할 수 있다. 유효하지 않은 경우, 상기 블록을 자신의 블록체인에 추가하지 않고 폐기할 수 있다.The at least one data broker (ie, the big data collection server device) receives the block as the block including the transaction information related to personal information generated in the
도 2는 본 발명의 일실시예에 있어서, 블록체인을 이용하여 사용자의 개인정보에 대한 거래 흐름을 제공하는 방법을 설명하기 위해 제공되는 흐름도이고, 도 3은 본 발명의 일실시예에 있어서, 사용자의 개인정보에 대한 거래 흐름을 제공 시스템의 내부 구성을 도시한 블록도이다.2 is a flowchart provided to explain a method for providing a transaction flow for a user's personal information using a blockchain according to an embodiment of the present invention, and FIG. 3 is an embodiment of the present invention. A block diagram showing an internal configuration of a system that provides a transaction flow for a user's personal information.
도 3에서, 사용자의 개인정보에 대한 거래 흐름을 제공하는 시스템은 사용자 단말, 데이터 브로커의 서버, 서비스 제공자의 서버 각각에 포함된 블록체인 관리자(blockchain manager)를 나타낼 수 있다.In FIG. 3, a system that provides a transaction flow for a user's personal information may represent a blockchain manager included in each of a user terminal, a server of a data broker, and a server of a service provider.
본 실시예에 따른 개인정보 거래흐름 제공 시스템(300)은 프로세서(310), 버스(320), 네트워크 인터페이스(330), 및 메모리(340)를 포함할 수 있다. 메모리(340)는 운영체제(341) 및 서비스 제공 루틴(342)을 포함할 수 있다. 프로세서(310)는 블록 생성부(311), 블록체인 제어부(312), 블록 전파부(313), 및 블록 검증부(314)를 포함할 수 있다. 다른 실시예들에서 개인정보 거래흐름 제공 시스템(300)은 도 3의 구성요소들보다 더 많은 구성요소들을 포함할 수도 있다. 그러나, 대부분의 종래기술적 구성요소들을 명확하게 도시할 필요성은 없다. 예를 들어, 개인정보 거래흐름 제공 시스템(300)은 디스플레이나 트랜시버(transceiver)와 같은 다른 구성요소들을 포함할 수도 있고, 블록체인을 통해 개인정보의 거래 흐름을 추정하기 위한 거래 흐름 추적부(미도시)를 더 포함할 수도 있다.The personal information transaction
메모리(340)는 컴퓨터에서 판독 가능한 기록 매체로서, RAM(random access memory), ROM(read only memory) 및 디스크 드라이브와 같은 비소멸성 대용량 기록장치(permanent mass storage device)를 포함할 수 있다. 또한, 메모리(340)에는 운영체제(341)와 서비스 제공 루틴(342)을 위한 프로그램 코드가 저장될 수 있다. 이러한 소프트웨어 구성요소들은 드라이브 메커니즘(drive mechanism, 미도시)을 이용하여 메모리(340)와는 별도의 컴퓨터에서 판독 가능한 기록 매체로부터 로딩될 수 있다. 이러한 별도의 컴퓨터에서 판독 가능한 기록 매체는 플로피 드라이브, 디스크, 테이프, DVD/CD-ROM 드라이브, 메모리 카드 등의 컴퓨터에서 판독 가능한 기록 매체(미도시)를 포함할 수 있다. 다른 실시예에서 소프트웨어 구성요소들은 컴퓨터에서 판독 가능한 기록 매체가 아닌 네트워크 인터페이스(330)를 통해 메모리(340)에 로딩될 수도 있다.The
버스(320)는 개인정보 거래 흐름 제공 시스템(300)의 구성요소들간의 통신 및 데이터 전송을 가능하게 할 수 있다. 버스(320)는 고속 시리얼 버스(high-speed serial bus), 병렬 버스(parallel bus), SAN(Storage Area Network) 및/또는 다른 적절한 통신 기술을 이용하여 구성될 수 있다.The
네트워크 인터페이스(330)는 개인정보 거래 흐름 제공 시스템(300)을 컴퓨터 네트워크에 연결하기 위한 컴퓨터 하드웨어 구성요소일 수 있다. 네트워크 인터페이스(330)는 개인정보 거래 흐름 제공 시스템(300)을 무선 또는 유선 커넥션을 통해 컴퓨터 네트워크에 연결시킬 수 있다.The
프로세서(310)는 기본적인 산술, 로직 및 개인정보 거래 흐름 제공 시스템(300)의 입출력 연산을 수행함으로써, 컴퓨터 프로그램의 명령을 처리하도록 구성될 수 있다. 명령은 메모리(340) 또는 네트워크 인터페이스(330)에 의해, 그리고 버스(320)를 통해 프로세서(310)로 제공될 수 있다. 프로세서(310)는 블록 생성부(311), 블록체인 제어부(312), 블록 전파부(313), 블록 검증부(314), 및 거래 흐름 추적부(미도시)를 위한 프로그램 코드를 실행하도록 구성될 수 있다. 이러한 프로그램 코드는 메모리(340)와 같은 기록 장치에 저장될 수 있다.The
블록 생성부(311), 블록체인 제어부(312), 블록 전파부(313), 블록 검증부(314)는 도 2의 단계들(210 내지 260 단계)를 수행하기 위해 구성될 수 있다. 도 2 및 도 3에서는 사용자 단말(101) 또는 데이터 브로커의 서버(102)에서 개인정보관련 블록을 생성하여 블록체인에 추가 연결하는 동작을 예로 들어 설명하기로 한다. The
210 단계에서, 블록 생성부(311)는 미리 정의된 일정 시간에 해당하는 사용자의 개인정보관련 거래내역을 포함하는 새로운 블록을 생성할 수 있다. 그리고, 블록 생성부(311)는 거래관련 기본정보가 함께 포함되도록 새로운 블록을 생성할 수 있다. 이때, 새로운 블록을 생성하는 동작은, 거래흐름 제공 시스템(300)이 사용자 단말(101)에 해당하는지, 데이터 브로커(102)에 해당하는지에 따라 상이할 수 있으며, 데이터 브로커(102)인 경우, 사용자 단말(101)로부터 수신된 블록을 가공하여 새로운 블록을 생성할 수 있다. 예컨대, 사용자 단말(101)로부터 수신된 블록에 포함된 거래내역을 변경하거나 다른 거래내역과 취합하는 등의 정보 가공이 수행될 수 있으며, 가공을 통해 상기 수신된 블록에 포함된 거래내역과는 다른 시간에 가공된 정보를 포함하는 블록(즉, 가공된 블록)이 블록체인에 연결될 수 있다. 사용자 단말(101) 및 데이터 브로커(102, 즉, 데이터 브로커의 서버)에서 새로운 블록을 생성하는 자세한 동작은 도 4 내지 도 6을 참고하여 후술하기로 한다.In
여기서, 거래내역은 서비스 제공자의 서버(103)로 전달되는 개인정보내용(예컨대, 위치정보인지, 신상정보인지, 금융정보인지, 쇼핑정보인지, 결제정보인지 등), 전달되는 상기 개인정보의 소유주 식별자 정보(예컨대, 사용자 단말의 식별자 정보), 및 데이터의 종류(예컨대, 위치정보인지, 신상정보인지, 금융정보인지, 쇼핑정보인지 등을 나타내는 식별자 정보), 블록에 포함된 데이터의 크기정보 등을 포함할 수 있다.Here, the transaction details are the personal information contents (for example, location information, personal information, financial information, shopping information, payment information, payment information, etc.) transmitted to the
그리고, 거래관련 기본정보는 개인정보를 전송하는 노드의 식별자 정보(예컨대, 사용자 단말의 식별자 정보), 상기 개인정보를 수신하는 노드의 식별자 정보(예컨대, 서비스 제공자의 서버의 식별자 정보), 거래내역의 식별자 정보, 및 시간 정보(예컨대, 타임스탬프(timestamp))를 포함할 수 있다.The transaction-related basic information may include identifier information (eg, identifier information of a user terminal) of a node transmitting personal information, identifier information (eg, identifier information of a server of a service provider) of a node receiving the personal information, and transaction details. May include identifier information, and time information (eg, a timestamp).
220 단계에서, 새로운 블록이 생성되면, 블록체인 제어부(312)는 새로운 블록이 자신의 블록체인(blockchain)에 연결되도록 제어할 수 있다. 즉, 블록체인 제어부(312)는 개인정보관련 거래내역을 포함하는 각각의 블록들이 체인(chain) 형태로 연결된 블록체인(blockchain)에 새로운 블록이 추가 연결되도록 제어할 수 있다. In
230 단계에서, 블록 전파부(313)는 자신의 블록체인에 연결된 새로운 블록의 유효성(verify) 검증을 위해, 상기 새로운 블록을 네트워크로 전파(broadcasting)할 수 있다. 예를 들어, 블록 전파부(313)는 상기 새로운 블록을 네트워크에 포함된 적어도 하나의 노드(예컨대, 서비스 제공자의 서버, 데이터 브로커의 서버)로 전달할 수 있다. 그러면, 네트워크로 전파된 상기 새로운 블록은 새로운 블록을 수신한 노드(예컨대, 서비스 제공자의 서버, 데이터 브로커의 서버)에서 해당 블록의 유효성(verify)을 검증하고, 검증이 성공적으로 완료되면, 해당 노드의 블록체인에 추가 연결될 수 있다.In
240 단계에서, 블록 검증부(314)는 네트워크를 형성한 다른 노드(예컨대, 다른 사용자 단말, 데이터 브로커의 서버, 서비스 제공자의 서버 또는 다른 데이터 브로커 등)에서 생성된 블록을 수신할 수 있다.In
250 단계에서, 블록 검증부(314)는 수신된 블록에 대한 유효성을 검증할 수 있다. 예컨대, 해당 노드에서 디지털 서명된 블록을 대상으로 공개키 및 해시값에 기초하여 해당 블록의 유효성을 검증할 수 있다.In
260 단계에서, 블록 제어부(312)는 유효성이 검증된 상기 블록(즉, 다른 노드에서 생성되어 수신된 블록)이 자신의 블록체인에 추가 연결되도록 제어할 수 있다. In
이처럼, 자신이 생성한 블록뿐만 아니라, 다른 노드에서 생성된 블록도 유효성 검증을 통해 자신의 블록체인에 추가 연결함으로써, 개인정보관련 거래가 발생할 때마다 블록체인이 업데이트될 수 있고, 업데이트를 통해 개인정보의 거래 흐름이 추적, 즉, 파악될 수 있다. 사용자 본인의 개인정보의 거래 흐름 추적은 사용자 단말의 요청에 대한 응답으로서 해당 어플리케이션을 통해 제공될 수 있으며, 프로세서(310)는 상기 개인정보의 거래 흐름을 나타내는 거래 흐름 추적을 사용자에게 제공하기 위한 거래 흐름 추적부(미도시)를 더 포함할 수 있다. In this way, not only the blocks created by themselves, but also blocks created by other nodes can be additionally connected to their blockchain through validation, so that the blockchain can be updated whenever a transaction related to personal information occurs, and the personal information through the update Transaction flow can be tracked, i.e. identified. Transaction flow tracking of the user's personal information may be provided through the corresponding application in response to a request of the user terminal, the
도 4는 본 발명의 일실시예에 있어서, 사용자의 개인정보의 거래 흐름을 나타내는 블록체인의 구조를 도시한 도면이다.4 is a diagram illustrating a blockchain structure showing a transaction flow of personal information of a user according to one embodiment of the present invention.
도 4에 따르면, 블록 체인(400)은 개인정보와 관련된 거래내역 및 거래관련 기본정보가 기록된 복수의 블록들(410, 420, 4430)이 체인(chain) 형태로 연결된 것을 나타낼 수 있다.According to FIG. 4, the
예를 들어, 거래흐름 제공 시스템(300)이 사용자 단말(101)에 해당하는 경우, 블록 생성부(311)는 미리 지정된 일정 시간동안 발생한 거래, 즉, 사용자 단말에서 서비스 제공자의 서버, 데이터 브로커의 서버 등으로 전달한 개인 정보를 모을 수 있다. 그리고, 일정 시간동안 모은 개인정보관련 거래내역 및 기본정보를 포함하는 하나의 블록을 새로운 블록으로 생성할 수 있다. 이때, 블록 11(420) 및 블록 12(430)가 새로운 블록인 블록 10(410) 이전에 생성된 블록인 경우, 블록들(420, 430, 440) 각각은 체인 형태로 연결되어 이전에 생성된 블록을 참고하고 있으므로, 개인정보에 대한 과거의 거래 내역에 접근 가능할 수 있다.For example, if the transaction
일례로, 블록 11(420)을 참고하면, 블록 11(420)은 일정 시간 동안 모인 실제 거래내역(421)을 나타내는(TX0, TX1, TX2, TX3)을 포함할 수 있다. 예컨대, TX0는 사용자 단말에서 서버로 전송된 시간 1에 해당하는 사용자 단말의 위치 정보, TX1은 시간 2에 해당하는 사용자 단말의 위치 정보, TX2는 시간 3에 해당하는 사용자 단말의 위치 정보, TX3은 시간 4에 해당하는 사용자 단말의 위치 정보를 나타낼 수 있다. 상기 거래내역은 위치정보 이외에 사용자 단말에서 서비스 제공자의 서버로 전달되는 다른 속성의 정보(예컨대, 게임 아이템의 식별자 정보 등)을 나타낼 수도 있다. 그리고, 상기 블록 11(420)은 일정 시간 동안 모아진 거래 내역(421) 각각을 검증하기 위한 각각의 거래내역(421)에 해당하는 해시값(hash)을 포함할 수 있다. 이때, 블록 11(420)은 실제 거래 내역(421)을 보지 않고도 해당 거래내역의 검증이 가능하도록 머클 트리(merkle tree, 422) 구조로 거래내역(421) 별 해시값을 포함하고 있을 수 있다. 이처럼, 블록체인(400)에 연결된 모든 블록들(410, 420, 430) 각각은 해당 블록이 생성될 때까지 일정시간 동안 모아진 거래내역을 포함하고, 각 거래내역에 해당하는 해시값을 머클 트리(merkle tree, 422) 구조로 포함할 수 있다. For example, referring to block 11 420, block 11 420 may include (TX0, TX1, TX2, TX3) representing the
도 4에서 설명한 바와 같이, 거래 흐름 제공 시스템(300)이 사용자 단말(101)에 해당하는 경우, 블록 생성부(311)는 사용자 단말(101)에서 데이터 브로커의 서버(102) 및 서비스 제공자의 서버(즉, 서비스 서버, 103) 중 적어도 하나로 전달하고자 하는 개인정보를 생성할 수 있으며, 생성된 개인정보를 일정시간 동안 모아서 새로운 블록을 생성할 수 있다.As described in FIG. 4, when the transaction
한편, 거래 흐름 제공 시스템(300)이 데이터 브로커의 서버(102)에 해당하는 경우, 블록 생성부(311)는 사용자 단말(101)로부터 사용자 단말(101)에서 생성된 블록을 수신하여 가공함으로써 새로운 블록을 생성할 수 있다. 이때, 블록 생성부(311)는 사용자 단말(101)로부터 수신된 블록에 포함된 사용자의 개인정보관련 거래내역 및 거래관련 기본정보 중 적어도 하나를 가공하여 새로운 블록을 생성할 수 있다. 예컨대, 시간 정보, 해당 블록을 전송하는 노드의 식별자 정보, 해당 블록을 수신할 노드의 식별자 정보 등을 수정하는 가공을 수행함으로써 새로운 블록을 생성할 수 있다. 이처럼, 블록에 포함된 내용이 변경/변형이 발생하는 가공 작업이 발생할 때마다 블록체인은 분기될 수 있으며, 블록체인 분기는 아래의 도 5를 참고하여 설명하기로 한다. 예를 들어, 시간이 경과할 때 마다 서로 다른 시간에 사용자의 개인 정보와 관련하여 내용을 변경하거나 추가하는 등의 가공 작업이 발생할 수 있으며, 시간 t1에서의 블록, 시간 t2에서의 블록, 시간 t3 에서의 블록이 블록체인에 체인형태로 연결되는 구조를 가질 수 있다.On the other hand, when the transaction
도 5는 본 발명의 일실시예에 있어서, 블록체인이 분기되는 구조를 도시한 도면이다.FIG. 5 is a diagram illustrating a structure in which a blockchain branches according to an embodiment of the present invention.
도 5에 따르면, 사용자의 개인정보가 기록된 블록이 사용자 단말로부터 다른 외부 장치들(예컨대, 서비스 서버, 데이터 브로커의 서버, 다른 데이터 브로커의 서버 등)로 전달됨에 따라 생성된 블록들이 연결된 블록체인(500)에서, 해칭무늬가 있는 블록들은 메인 블록(main block)에 해당할 수 있다. 각 노드는 채굴(mining)에서 긴 블록을 선호하므로, 가장 긴 블록으로 수렴될 수 있다.According to FIG. 5, a blockchain in which blocks generated as a block in which personal information of a user is recorded is transferred from a user terminal to other external devices (eg, a service server, a server of a data broker, a server of another data broker, etc.) are connected. In 500, blocks with hatched patterns may correspond to a main block. Each node prefers long blocks in mining, so it can converge to the longest block.
이때, 특정 블록(510)을 대상으로, 데이터 브로커의 서버(102)가 사용자 단말(101)로부터 상기 특정 블록(510)을 수신한 경우, 블록(510)을 대상으로 가공이 수행되어 새로운 블록이 생성될 수 있다. 이에 따라, 블록체인(500)은 상기 특정 블록(510)을 기준으로 가공을 통해 생성된 블록(520)과 원블록(530)으로 분기될 수 있다. 예를 들어, 시간 t1에 사용자의 개인정보를 포함하는 블록을 포함하는 블록체인이 시간 t2에서 상기 블록에 포함된 거래내역 등이 변경되어 가공됨에 따라 가공된 블록을 포함하도록 분기될 수 있다. 이때, 분기로 인해 일시적으로 두 개의 체인이 형성될 수 있으나, 분기가 두 블록 이상 연장된 경우(540), 다음 블록이 먼저 채굴(mining)된 블록이 블록체인에 남을 수 있다. 예컨대, 블록체인(500)에서 두 번째 분기된 블록(540)을 기준으로 블록(541, 542)는 연결 해지 및 폐기되고, 블록(543, 544, 545)가 체인 형태로 연결되어 블록체인(500)을 유지할 수 있다. In this case, when the
이처럼, 블록체인이 분기된 경우, 각 노드의 이익을 극대화하는 정책을 기반으로 하는 긴 블록 선호 정책을 이용함으로써, 블록체인의 분기 시 남겨둘 블록과 폐기할 블록이 결정될 수 있다. 즉, 체인으로 연결된 길이가 짧은 블록에 노력을 투자하면 손해이므로, 체인이 긴 블록들을 블록체인에 남겨둘 수 있다.As such, when the blockchain is branched, by using a long block preference policy based on a policy that maximizes the profit of each node, blocks to be left and blocks to be discarded at the time of branching of the blockchain can be determined. In other words, investing effort in short-length blocks connected by a chain is a disadvantage, so that blocks with long chains can be left on the blockchain.
도 6은 본 발명의 일실시예에 있어서, 개인정보관련 모든 거래를 하나의 블록체인에 생성하는 구조를 도시한 도면이다.FIG. 6 is a diagram illustrating a structure for generating all transactions related to personal information in one blockchain according to one embodiment of the present invention.
도 6의 610을 참고하면, 개인정보는 화폐와 다르게 여러 복사본이 발생할 수 있다. 예를 들어, 개인정보 활용동의 등의 절차를 통해 동일한 정보(즉, 동일한 개인정보)를 대상으로 서비스 서버, 다른 데이터 브로커의 서버 등으로 해당 정보를 거래하는 여러 거래가 생성될 수 있다. 이때, 블록체인이 분기되지 않고 개인정보관련 모든 거래(즉, 동일한 정보에 대한 복수개의 거래)가 하나의 블록체인에 생성될 수 있다. 즉, 개인정보는 동일 정보를 여러 사람들에게 전달할 수 있으므로 이중 지불의 문제가 원천적으로 차단되어 블록체인의 분기가 생길 필요가 없다. 이처럼, 이중 지불이 불가능한 구조로 인해, 하나의 블록에 중복 거래가 포함되지 않을 수 있다.Referring to 610 of FIG. 6, different copies of personal information may be generated, unlike money. For example, various transactions may be generated that deal with the same information (ie, the same personal information) to the service server, a server of another data broker, or the like through a procedure of using personal information. In this case, all transactions related to personal information (that is, a plurality of transactions for the same information) may be generated in one block chain without branching the block chain. In other words, since personal information can transmit the same information to multiple people, the problem of double payment is fundamentally blocked, and there is no need for branching of the blockchain. As such, due to the structure in which double payment is impossible, duplicate transactions may not be included in one block.
도 6의 620을 참고하면, 화폐는 가공이 불가능하지만, 개인정보는 가공하여 새로운 정보를 생성하기 위해 이용될 수 있다.Referring to 620 of FIG. 6, money cannot be processed, but personal information may be processed to generate new information.
예를 들어, 블록체인 기반 화폐 거래에서는 거스름돈이란 개념을 통해 자기 자신에게 돈을 보내는 개념이 존재하지만, 해당 거래는 제로섬 형태로 나타나는 것으로서 화폐 자체를 활용해서 추가 재화가 생성되지 않는다. 그리고, 작업증명 등을 통한 코인채굴 또한 새로운 입력으로 적용될 수 있다. 즉, 입금 개념으로 적용될 수 있다. 620을 참고하면, 개인정보의 경우, 개인정보에 포함되는 데이터(즉, 개인정보로서 입력되는 정보)를 기반으로 가공을 통해 새로운 정보가 생성될 수 있다. 이때, 가공의 형태 또한 기록 및 추적이 가능할 수 있으며, 가공 전 개인정보 소유주들의 정보가 기록되어 투명한 개인정보의 사용이 보장될 수 있다.For example, in blockchain-based currency trading, there is a concept of sending money to yourself through the concept of change, but the transaction appears in the form of zero sum and no additional goods are generated using the currency itself. Coin mining through proof of work can also be applied as a new input. That is, it can be applied as a deposit concept. Referring to 620, in the case of personal information, new information may be generated through processing based on data included in the personal information (that is, information input as personal information). In this case, the form of processing may also be recorded and tracked, and information of the owners of personal information before processing may be recorded to ensure the use of transparent personal information.
도 7은 본 발명의 일실시예에 있어서, 데이터 브로커의 서버에서 사용자의 개인 정보를 가공하는 동작을 도시한 네트워크 구조이다.7 is a network structure illustrating an operation of processing personal information of a user in a server of a data broker according to an embodiment of the present invention.
도 7에 따르면, 사용자의 개인정보의 거래 흐름을 블록체인 형태로 나타내는 네트워크는 사용자 단말(710), 데이터 브로커의 서버(720), 서비스 서버(730) 및 다른 데이터 브로커의 서버(740)를 포함할 수 있다. 도 7에서는, 사용자 단말(710)에 블록체인 관리자(712)가 포함되는 것으로 도시하였으나, 사용자 단말(710) 이외에 데이터 브로커의 서버(720), 서비스 서버(730) 및 다른 데이터 브로커의 서버(740) 각각에 블록체인 관리자(712)가 포함될 수 있다. 도 7에서, t1, t2, t3는 각 블록이 담당하는 시간(즉, 시간 정보)를 나타낼 수 있다. According to FIG. 7, a network representing a transaction flow of a user's personal information in the form of a blockchain includes a
사용자 단말(710)에서 일정시간 동안 모아진 단말의 위치정보 등을 나타내는 개인정보를 포함하는 거래내역 및 거래관련 기본정보가 기록된 새로운 블록(즉, 하나의 블록)이 생성될 수 있다. 예컨대, 시간 t1에 일정시간 모아진 개인 정보(711)를 포함하는 새로운 블록이 생성될 수 있다. 기본정보는 시간 t1에 해당하는 새로운 블록에 포함된 정보(711)를 전송하는 노드인 사용자 단말(710)의 식별자 정보, 상기 블록을 수신하는 노드인 데이터 브로커의 서버(720)의 식별자 정보, 데이터의 종류(예컨대, 위치정보를 나타내는 식별자 정보), 및 데이터의 크기를 포함할 수 있다. 이때, 필요에 따라, 거래내역 및 기본정보는 암호화되어 상기 시간 t1에 해당하는 블록에 기록될 수도 있다. In the
데이터 브로커의 서버(720)는 사용자 단말(710)로부터 시간 t1에 해당하는 블록(즉, 시간 t1에 새로운 블록에 기록된 개인정보, 721)을 수신할 수 있으며, 수신된 블록을 대상으로, 포함된 정보(721)의 내용을 변경하는 가공을 통해 새로운 블록을 생성할 수 있다. 즉, 상기 시간 t1에 해당하는 블록에 상기 정보(721)와 함께 가공된 정보(722)가 포함됨으로써, 상기 새로운 블록이 생성될 수 있다. 그러면, 가공된 정보(722)를 포함하는 새로운 블록(즉, 가공된 블록)은 서비스 서버(730)로 전달될 수 있다. 즉, 시간 t2에 정보의 가공이 발생함에 따라 가공된 정보(722)를 포함하는 블록이 서비스 서버(730)로 전달될 수 있다. 데이터 브로커의 서버(720)에서 사용자 단말(710)로부터 수신된 정보(721)를 포함하는 블록은 다른 데이터 브로커의 서버(740)로 전달될 수 있다. The
그리고, 다른 데이터 브로커의 서버(740)는 데이터 브로커의 서버(720)로부터 수신된 블록, 즉 시간 t1에 해당하는 블록에 포함된 정보(741)을 가공하여 가공된 정보(742)를 포함하는 새로운 블록(즉, 가공된 블록)을 생성할 수 있다. 여기서, 상기 새로운 블록에 포함된 가공된 정보(742)는 시간 t3에 발생한 거래를 나타내는 것으로서, 상기 새로운 블록은 시간 t1에 발생한 정보(711)를 포함하는 블록, 시간 t2에 발생한 정보(722)를 포함하는 블록과 체인 형태로 블록체인에 연결될 수 있다.The
그리고, 서비스 서버(730)는 사용자 단말(710)에서 요청한 서비스의 제공을 위해 계약에 따라 제휴가 맺어진 사용자 단말(710)과의 중간에 데이터(개인정보)를 수집한 데이터 브로커의 서버(720) 및 다른 데이터 브로커의 서버(730) 중 적어도 하나로부터 사용자의 개인정보(예컨대, 위치정보)에 해당하는 블록을 수신할 수 있다. 그리고, 수신된 블록에 포함된 개인정보에 기초하여 해당 서비스를 사용자 단말(710)로 제공할 수 있다. 예컨대, 사용자 단말(710)에 설치된 서비스 어플리케이션을 통해 해당 서비스가 제공될 수 있다. In addition, the
이처럼, 개인정보가 사용자 단말(710)에서 생성된 후, 개인정보관련 거래내역 및 기본정보를 포함하는 블록이 데이터 브로커의 서버(720), 다른 데이터 브로커의 서버(740) 및 서비스 서버(730) 각각으로 전달되는 일련의 과정을 나타내는 정보가 블록체인 형태로 기록되어 보관될 수 있으며, 상기 정보가 기록된 블록체인은 각 장치(710, 720, 730, 740)의 블록체인 관리자에서 보관 및 유지할 수 있다. 그러면, 해당 블록체인을 기반으로 사용자가 자신의 개인정보가 어떻게 거래되었는지를 나타내는 거래 흐름, 활용 정도를 추적 및 파악할 수 있다. 즉, 상기 블록체인에 연결된 시간이 경과함에 따라 시간 별로 사용자의 개인정보와 관련된 거래가 발생할 때마다 체인 형태로 연결된 블록들을 추적함으로써, 사용자가 자신의 개인정보가 어떻게 거래되었는지를 파악할 수 있다. 여기서, 개인정보가 기록된 블록을 블록체인 형태로 저장 및 유지하는 동작은 아래의 도 8을 참고하여 설명하기로 한다.As such, after the personal information is generated in the
도 8은 본 발명의 일실시예에 있어서, 블록체인 형태로 개인정보를 저장 및 유지하는 블록체인 관리자의 구조를 도시한 도면이다.FIG. 8 is a diagram illustrating a structure of a blockchain manager for storing and maintaining personal information in a blockchain form according to an embodiment of the present invention.
도 8은 개인정보의 생성, 흐름 및 이용 추적을 위한 블록체인 저장방법을 설명하는 블록체인 관리자의 구조를 나타낼 수 있다. 도 8에서, 블록체인 관리자(800)는 시간(t1, t2, t3) 별로 하나의 블록(810, 820, 830)을 저장 및 유지할 수 있으며, 각 블록(810, 820, 830)은 사용자의 개인정보관련 거래내역 및 거래관련 기본정보(811, 812, 821, 822, 831, 832, 833)을 포함할 수 있다.8 illustrates the structure of a blockchain manager describing a blockchain storage method for tracking the generation, flow and use of personal information. In FIG. 8, the blockchain manager 800 may store and maintain one
도 7 및 도 8을 참고하면, 사용자 단말(710)에서 블록체인에 연결된 시간 t1에 해당하는 블록(810)이 데이터 브로커의 서버(720)로 전달될 수 있으며, 데이터 브로커 서버(720)에서는 상기 블록(810)에 내용을 추가하거나 포함된 내용을 변경하는 등의 가공을 수행할 수 있다. 여기서, 가공은 자기가 자기 자신에게 정보를 보내는 것을 포함할 수 있다. 그러면, 시간 t1에 해당하는 블록(810)은 거래내역(811) 및 거래내역(812)을 포함할 수 있으며, 상기 정보(811)를 가공하여 생성된 정보(822)는 시간 t2에 발생함에 따라, 시간 t2에 해당하는 블록(820)은 거래내역(821) 및 거래내역(822)을 포함할 수 있다. 여기서, 거래내역(812)는 사용자 단말(710)로부터 수신된 거래내역(811)이 데이터 브로커의 서버(720)에서 가공되었음을 나타내고, 거래내역(811)은 사용자의 개인정보가 사용자 단말(710)로부터 데이터 브로커의 서버(720)로 전달되는 등의 거래가 발생하였음을 나타낼 수 있다.Referring to FIGS. 7 and 8, a
마찬가지로, 시간 t2에 해당하는 블록(820)은 상기 거래내역(811)이 데이터 브로커의 서버(720)에서 다른 데이터 브로커의 서버(740)로 전달되었음을 나타내는 정보(821, 즉, 거래내역) 및 상기 거래내역(812)이 데이터 브로커의 서버(720)에서 서비스 서버(730)로 전달되었음을 나타내는 정보(822, 즉, 거래내역)을 포함할 수 있다. Similarly, block 820 corresponding to time t 2 includes
시간 t3에 해당하는 블록(830)은 상기 거래내역(821)이 내용이 변경 또는 추가되는 등의 형태로 가공되었음을 나타내는 정보(831, 즉, 거래내역), 상기 거래내역(821)이 데이터 브로커의 서버(720)에서 서비스 서버(730)로 전달되었음을 나타내는 정보(832, 즉, 거래내역), 상기 거래내역(831)이 데이터 브로커의 서버(720)에서 서비스 서버(730)로 전달되었음을 나타내는 정보(833, 즉, 거래내역)을 포함할 수 있다.
도 9a 및 도 9b는 본 발명의 일실시예에 있어서, 하나의 블록에 기록되는 거래 내역의 구조를 도시한 도면이다.9A and 9B illustrate a structure of transaction details recorded in one block according to one embodiment of the present invention.
도 9a 및 도 9b에서는 포켓몬 고 등과 같이 사용자의 개인정보(예컨대, 위치정보 등)를 서비스 서버로 지속적으로 전달해야지만 해당 서비스를 제공받을 수 있는 경우, 일정 시간동안 사용자의 개인정보를 모아 하나의 블록에 기록하고, 상기 블록을 서비스 서버로 제공하는 경우에, 하나의 블록에 기록되는 개인정보, 즉, 개인정보를 포함하는 거래내역의 구조에 대해 설명하고자 한다.In FIGS. 9A and 9B, the user's personal information (for example, location information, etc.) must be continuously delivered to the service server such as Pokemon Go, but when the corresponding service can be provided, the user's personal information is collected for a predetermined time. When writing to a block and providing the block to the service server, the structure of the transaction history including the personal information recorded in one block, that is, the personal information will be described.
도 9a를 참고하면, 사용자 A(즉, 사용자 A가 소지한 사용자 단말)는 도보 또는 차량을 이용하여 이동하면서 포켓몬 고 등의 게임 서비스를 제공받을 수 있다. 그러면, 사용자 A(910)는 일정시간 동안 현재 시간인 시간 1에서의 위치 정보(거래 1) 및 시간 1에서 이동하며 일정 시간이 경과한 시간 2에서의 위치 정보(거래 2)를 미리 지정된 일정시간 동안 모을 수 있다. 그리고, 모아진 위치정보(즉, 거래 1 및 거래 2, 즉, 거래내역)을 포함하는 현재블록(911)을 생성할 수 있다. 이때, 해당 위치에서 잡은 포켓몬이 존재하는 경우, 상기 거래내역은 잡은 포켓몬의 종류를 나타내는 식별자 정보를 더 포함할 수 있다. 그러면, 위치정보 및 잡은 새 포켓몬 정보를 포함하는 블록(911)이 서비스 서버(예컨대, 포켓몬 고 서버, 920)로 전달될 수 있다.Referring to FIG. 9A, the user A (ie, the user terminal possessed by the user A) may be provided with a game service such as Pokemon Go while moving by walking or using a vehicle. Then, the
이때, 블록(911)에 포함된 거래(예컨대, 거래 1, 거래 2 등) 별로, 시간 정보(timestamp), 해당 정보를 전송하는 송신 노드의 정보, 수신 노드의 정보, 거래내역의 식별자 정보(예컨대, E2DC3402A...) 등을 기본 정보(913)로서 포함하고, 해당 정보의 소유주 식별자 정보(예컨대, ID), 데이터의 종류(위치정보인지, 포켓몬 정보인지 등), 데이터 별 데이터의 크기, 및 데이터 내용 등을 거래내역(914)으로서 포함할 수 있다. At this time, for each transaction (eg,
도 9b를 참고하면, 서비스 서버(970)는 사용자 A(980) 및 사용자 B(990)로부터 전달받은 블록에 포함된 정보(예컨대, 기본정보, 거래내역 등)을 기반으로 정보를 가공할 수 있다. 예컨대, 사용자 A(980) 및 사용자 B(990)로부터 전달받은 정보를 병합(또는 취합)하는 등의 가공이 수행될 수 있으며, 정보 가공을 통해 새로운 거래(972)가 현재 블록(971)에 포함될 수 있다. 예컨대, 이전 블록에는 거래 1 및 거래 2가 포함되었다면, 현재 블록(971)은 거래 1, 거래 2 및 거래 3(즉, 정보가 가공됨에 따라 생성된 새로운 거래)을 포함할 수 있다. 여기서, 거래 3(972)은 사용자 A관련 정보(974, 예컨대, 위치정보, 사용자의 식별자 정보, 잡은 포켓몬의 종류 등) 및 사용자 B관련 정보(973, 예컨대, 위치정보, 사용자의 식별자 정보, 잡은 포켓몬의 종류 등) 등의 거래내역, 기본정보 등을 포함할 수 있다. 이때, 서비스 서버(970)는 거래 3(972), 즉, 가공된 정보를 포함하는 블록에 기초하여 피카츄 등과 같이 미리 지정된 타겟을 잡은 사용자들의 통계를 계산하여 저장 및 유지할 수 있다.Referring to FIG. 9B, the
도 10은 본 발명의 일실시예에 있어서, 블록체인을 관리 및 제어하는 블록체인 관리자를 모든 노드들이 구비하고 있는 네트워크 구조를 도시한 도면이다.FIG. 10 is a diagram illustrating a network structure in which all nodes have a blockchain manager for managing and controlling a blockchain according to an embodiment of the present invention.
도 10에 따르면, 네트워크는 데이터 브로커의 서버(1000), 사용자 단말(1050), 서비스 서버(1060) 및 하나 이상의 다른 데이터 브로커의 서버(1070)를 포함할 수 있다. 그리고, 네트워크를 형성한 모든 노드들(즉, 1000, 1050, 1060, 1070)은 블록체인 관리자(blockchain manager, 1010, 1051, 1061, 1071)를 포함할 수 있다.According to FIG. 10, a network may include a
그리고, 블록 체인 관리자들(1010, 1051, 1061, 1071) 각각은 블록체인 검증부(blockchain verifier, 1011), 블록체인 전파부(blockchain distributor, 1012), 블록체인 생성부(blockchain creator, 1013), 및 블록체인 저장부(blockchain storage, 1014)를 포함할 수 있다. 도 10에서, 블록체인 검증부(blockchain verifier, 1011)는 도 3의 블록 검증부(314)에 해당하고, 블록체인 전파부(blockchain distributor, 1012)는 블록 전파부(313)에 해당하고, 블록체인 생성부(blockchain creator, 1013)는 블록 생성부(311)에 해당하고, 블록체인 저장부(blockchain storage, 1014)는 블록체인 제어부(312)에 해당할 수 있다. 시각화 모듈(visualization module, 1015)은 블록체인 관리자(1010)에 포함되도록 구현될 수도 있고, 별도로 구현될 수도 있으며, 시각화 모듈(1015)은 데이터 브로커의 서버(1000)에 구현될 수 있을 뿐만 아니라, 데이터 브로커의 서버(1000) 이외에 사용자 단말(1050)의 프로세서에 포함되도록 구현될 수도 있다. 예컨대, 데이터 브로커의 서버(1000) 및 사용자 단말(1050) 모두에 개인정보에 대한 거래 흐름 추적을 시각화하는 시각화 모듈(1015)이 포함될 수도 있고, 상기 서버(1000) 및 단말(1050) 중 어느 하나에 시각화 모듈(1015)이 포함될 수도 있다.Each of the
도 10에서, 블록체인 생성부(blockchain creator, 1013)는 일정시간 동안 모아진 N개의 거래내역을 하나의 블록에 저장하여, 새로운 블록을 생성하는 것으로서, 도 3의 블록 생성부(311)에서 새로운 블록을 생성하는 동작은 자세히 설명하였으므로, 중복되는 설명은 생략하기로 한다.In FIG. 10, the
블록체인 저장부(blockchain storage, 1014)는 생성된 블록을 블록체인에 추가 연결함으로써, 네트워크 내의 거래 내역을 저장하는 역할을 수행하며, 도 3의 블록체인 제어부(312)에 해당할 수 있다.The
블록체인 전파부(blockchain distributor, 1012)는 블록체인 생성부(blockchain creator, 1013)에서 생성된 새로운 블록을 실제 거래 내역으로 인정받기 위해 외부에 존재하는 다른 블록체인 관리자들(1051, 1061, 1071)로 전달할 수 있으며, 도 3의 블록 전파부(313)에 해당할 수 있다. 여기서, 블록체인은 여러 거래내역을 담을 블록을 네트워크 내에 존재하는 다른 노드들이 유효성을 검증함으로써 인증되고, 인증된 블록은 기존의 블록체인 저장부(1014)에 저장된 블록체인에 추가 연결됨으로써 확정될 수 있다.The blockchain distributor (1012) is another blockchain manager (1051, 1061, 1071) that exists outside to be recognized as the actual transaction history of the new block created by the blockchain creator (1013) It may be transmitted to, and may correspond to the
블록체인 검증부(blockchain verifier, 1011)는 외부의 블록체인 관리자들(1051, 1061, 1071)에서 생성한 새로운 거래 내역을 담은 블록을 검증하기 위해 이용되는 것으로서, 도 3의 블록 검증부(314)에 해당할 수 있다. 블록체인은 다른 노드에서 생성한 새로운 블록에 기록된 정보를 검증한 후, 해당 블록(즉, 해당 거래)를 확정하여 블록체인 저장부(1014)에 다른 노드에서 생성한 새로운 블록을 저장할 수 있다. 즉, 블록체인 저장부(1014)에 저장된 블록체인에 상기 새로운 블록이 체인 형태로 추가 연결될 수 있다.The
개인정보 관리자(personal Information manager, 1020)는 데이터 브로커의 서버(1000)에 포함되는 것으로서, 거래흐름 제공 시스템(300)이 데이터 브로커의 서버(1000)에 해당하는 경우, 사용자 단말로부터 수신한 블록을 가공하기 위해 이용될 수 있다. 도 10에서는 가공하는 동작이 블록체인 관리자(1010)와는 별도로 개인정보 관리자(1020)에서 수행하는 것을 예로 들어 설명하나, 단말로부터 수신된 블록을 가공하여 새로운 블록을 생성하는 동작은 블록체인 관리자(1010)에서 수행할 수도 있다. 즉, 개인정보 관리자(1020)에서 상기 가공에 해당하는 일부 프로세스는 블록체인 관리자(1010)에 통합되는 형태로 구현될 수도 있다.The
개인정보 관리자(personal Information manager, 1020)는 오픈 API 커넥터(open API connector), 개인정보 프로세서(personal information processor), 개인 정보 수집부(personal information aggregator), 개인 정보 저장부(personal information storage)를 포함할 수 있다. 오픈 API 커넥터(open API connector)는 수집된 개인 정보를 외부 장치(예컨대, 다른 데이터 브로커의 서버, 서비스 서버 등)으로 전달하기 위한 API 기능을 제공할 수 있다. 그리고, 오픈 API 커넥터(open API connector)는 API를 통해 로우 데이터(Raw data) 전체를 제공하는 것뿐만 아니라, 데이터의 특성이나 요약(통계수치 등)을 제공할 수도 있다.The
개인 정보 수집부(personal information aggregator)는 사용자 단말로부터 사용자의 개인 정보를 수집하는 모듈로서, 사용자가 정보 제공을 동의한 범위 내에서 해당 사용자의 개인정보를 수집할 수 있다.The personal information aggregator is a module that collects personal information of a user from a user terminal. The personal information aggregator may collect personal information of a corresponding user within a range in which the user agrees to provide the information.
개인정보 프로세서(personal information processor)는 수집된 사용자의 개인정보에 기초하여 새로운 정보나 가치를 얻기 위한 일련의 처리를 수행할 수 있다. 이때, 개인정보 프로세서(personal information processor)는 하나의 사용자 단말로부터 수집된 개인 정보 이외에 여러 다른 사용자 단말로부터 개인 정보를 수신할 수 있으며, 수신된 서로 다른 사용자 단말들의 개인 정보를 취합하여 새로운 정보 또는 새로운 가치를 위한 처리를 수행할 수 있다. 예컨대, 연령 별로 선호하는 화장품 종류를 알아내기 위한 가치 생성을 위해, 다양한 연령대의 여러 사용자들이 소지한 단말로부터 수집된 개인정보(예컨대, 연령, 성별, 구입한 화장품의 종류, 구매 가격, 선호 브랜드 등)을 취합할 수 있다.The personal information processor may perform a series of processing to obtain new information or value based on the collected personal information of the user. In this case, the personal information processor may receive personal information from various other user terminals in addition to the personal information collected from one user terminal, and collect new information or new personal information by collecting the received personal information of different user terminals. You can do the processing for value. For example, in order to generate value to find out the kind of cosmetics preferred by age, personal information collected from terminals possessed by various users of various ages (eg, age, gender, type of cosmetics purchased, purchase price, preferred brand, etc.). ) Can be collected.
개인 정보 저장부(personal information storage)는 취득한 개인정보를 보관하는 모듈로서, 개인정보는 사용자 단말의 식별자 정보에 따라 사용자(즉, 개인정보의 제공자) 별로 구분되거나, 데이터 종류 별로 구분되어 저장될 수 있다. 데이터 종류 별로 구분되는 경우, 데이터를 종류 별로 구분한 후 해당 데이터에 각 데이터의 제공자 정보(예컨대, 사용자 단말의 식별자 정보, 데이터 소유주의 ID 등)을 함께 연관시켜 저장 및 유지할 수도 있다.The personal information storage unit is a module for storing the acquired personal information. The personal information may be classified according to the user information (ie, the provider of the personal information) according to the identifier information of the user terminal or may be classified and stored according to the data type. have. If the data is classified by data type, the data may be classified by type and then stored and maintained in association with the provider data (eg, identifier information of the user terminal, ID of the data owner, etc.) of the data.
도 11은 본 발명의 일실시예에 있어서, 개인정보 이용 내역 추적 프로세스를 도시한 흐름도이다.11 is a flowchart illustrating a process of tracking personal information usage history according to an embodiment of the present invention.
도 11에서, 개인정보 이용 내역, 즉, 거래 흐름을 제공하는 동작을 제공하기 위해(즉, 도 11의 각 단계들 1110 및 1120을 수행하기 위해) 도 3의 프로세서(300)는 거래 흐름 추적부(미도시)를 더 포함할 수 있다. 이외에, 도 11의 각 단계들(1110 및 1120)은 시각화 모듈(visualization module, 1015)에 의해 수행될 수도 있다.In FIG. 11, the
1110 단계에서, 거래 흐름 추적부는 블록체인에 포함된 체인 형태로 연결된 블록들을 대상으로, 머클 트리(Merkle tree) 탐색을 통해 추적하고자 하는 사용자의 식별자 정보(예컨대, 개인정보 소유주의 ID 등)에 기초하여 해당 사용자의 개인 정보를 송신한 노드의 식별자 정보를 추출할 수 있다. 즉, 상기 사용자의 식별자 정보에 기초하여 네트워크 상에서 해당 사용자의 개인정보를 송수신한 모든 노드의 정보(예컨대, 데이터 브로커의 식별자 정보, 서비스 서버의 식별자 정보, 다른 브로커의 식별자 정보 등)이 추출될 수 있다. 이때, 상기 모든 노드의 식별자 정보를 추출 시, 기준점에 따라 추출되는 요소가 상이할 수 있다.In
예를 들어, 개인정보로서 위치정보의 이용 현황(즉, 거래 흐름)을 추적하는 경우, 위치정보를 기준으로 송신 노드와 수신 노드의 한 쌍(pair)이 체인 형태로 연결된 체인 정보가 생성될 수 있다. 그리고, 상기 위치정보 등의 개인정보를 송수신한 모든 노드의 식별자 정보는 해당 노드가 무엇인지를 사용자가 바로 인지하도록 하기 위해 상호명, 사업자 정보 등과 연관하여 저장 및 유지될 수 있다. 그리고, 블록 내 탐색이 끝나면 다음 블록(즉, 시간 상 이전 블록)으로 넘어가 탐색이 계속 수행될 수 있다.For example, when tracking the usage status (ie, transaction flow) of location information as personal information, chain information in which a pair of a transmitting node and a receiving node are chained based on the location information may be generated. have. In addition, identifier information of all nodes that have transmitted and received personal information such as location information may be stored and maintained in association with a company name, business information, etc. so that a user may immediately recognize what the corresponding node is. When the search in the block is completed, the search may continue to the next block (that is, the previous block in time).
1120 단계에서, 거래 흐름 추적부는 추출된 노드의 식별자 정보에 기초하여 개인 정보에 대한 거래 흐름을 시각화하여 사용자에게 제공할 수 있다. 예컨대, 사용자 단말에 거래 흐름 추적부가 포함된 경우, 어플리케이션을 통해 사용자 단말의 화면에 탐색된 거래 흐름을 시각화하여 제공될 수 있다. 데이터 브로커의 서버에 거래 흐름 추적부가 포함된 경우, 추출된 노드의 식별자 정보들이 체인 형태로 연결된 체인 정보가 사용자 단말로 제공될 수 있으며, 체인 정보에 기초하여 개인정보를 송수신한 노드들의 정보가 시각화되어 사용자 단말의 화면에 표시될 수 있다.In
일례로, 네트워크 형태로 구성된 각 노드들이 사용자 단말의 화면에 표시될 수 있다. 그리고, 화면에 표시된 네트워크를 형성하는 복수의 노드들 중 선택된 노드를 기준으로 송수신된 사용자의 개인정보에 해당하는 데이터 종류가 아이콘 형태로 선택된 노드 주변 영역에 함께 표시될 수 있다. 그리고, 실제 어느 정도의 양이 전달됐는지 여부가 오버레이(overlay) 화살표 형태로 사용자 단말의 화면에 표시될 수 있다.For example, each node configured in the form of a network may be displayed on the screen of the user terminal. The data type corresponding to the user's personal information transmitted / received based on the selected node among the plurality of nodes forming the network displayed on the screen may be displayed together in the area around the selected node in the form of an icon. In addition, whether the amount is actually transmitted may be displayed on the screen of the user terminal in the form of an overlay arrow.
이상에서 설명된 블록체인을 활용한 사용자 개인정보 활용 파악을 위한 방법 및 시스템은 하드웨어 구성요소, 소프트웨어 구성요소, 및/또는 하드웨어 구성요소 및 소프트웨어 구성요소의 조합으로 구현될 수 있다. 예를 들어, 실시예들에서 설명된 시스템 및 시스템의 구성요소들은, 예를 들어, 프로세서, 콘트롤러, ALU(arithmetic logic unit), 디지털 신호 프로세서(digital signal processor), 마이크로컴퓨터, FPA(field programmable array), PLU(programmable logic unit), 마이크로프로세서, 또는 명령(instruction)을 실행하고 응답할 수 있는 다른 어떠한 장치와 같이, 하나 이상의 범용 컴퓨터 또는 특수 목적 컴퓨터를 이용하여 구현될 수 있다. 처리 장치는 운영 체제(OS) 및 상기 운영 체제 상에서 수행되는 하나 이상의 소프트웨어 애플리케이션을 수행할 수 있다. 또한, 처리 장치는 소프트웨어의 실행에 응답하여, 데이터를 접근, 저장, 조작, 처리 및 생성할 수도 있다. 이해의 편의를 위하여, 처리 장치는 하나가 사용되는 것으로 설명된 경우도 있지만, 해당 기술분야에서 통상의 지식을 가진 자는, 처리 장치가 복수 개의 처리 요소(processing element) 및/또는 복수 유형의 처리 요소를 포함할 수 있음을 알 수 있다. 예를 들어, 처리 장치는 복수 개의 프로세서 또는 하나의 프로세서 및 하나의 콘트롤러를 포함할 수 있다. 또한, 병렬 프로세서(parallel processor)와 같은, 다른 처리 구성(processing configuration)도 가능하다.The method and system for grasping the utilization of user personal information using the blockchain described above may be implemented as a hardware component, a software component, and / or a combination of hardware components and software components. For example, the system and components of the system 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 array ), A programmable logic unit (PLU), a microprocessor, or any other device capable of executing and responding to instructions, may be implemented using one or more general purpose or special purpose computers. The processing device may execute an operating system (OS) and one or more software applications running on the operating system. The processing device may also access, store, manipulate, process, and generate data in response to the execution of the software. For convenience of explanation, one processing device may be described as being used, but one of ordinary skill in the art will appreciate that the processing device includes 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 parallel processors.
소프트웨어는 컴퓨터 프로그램(computer program), 코드(code), 명령(instruction), 또는 이들 중 하나 이상의 조합을 포함할 수 있으며, 원하는 대로 동작하도록 처리 장치를 구성하거나 독립적으로 또는 결합적으로(collectively) 처리 장치를 명령할 수 있다. 소프트웨어는 네트워크로 연결된 컴퓨터 시스템 상에 분산되어서, 분산된 방법으로 저장되거나 실행될 수도 있다. 소프트웨어 및 데이터는 하나 이상의 컴퓨터 판독 가능 기록 매체에 저장될 수 있다.The software may include a computer program, code, instructions, or a combination of one or more of the above, and configure the processing device to operate as desired, or process it independently or collectively. You can command the device. The software may be distributed over networked computer systems so that they may be 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 embodied in the form of program instructions that can be executed by various computer means and recorded in a computer readable medium. The computer readable medium may include program instructions, data files, data structures, etc. alone or in combination. The program instructions recorded on the media may be those specially designed and constructed for the purposes of the embodiments, or they may be of the kind well-known and available to those having skill in the computer software arts. Examples of computer-readable recording media include magnetic media such as hard disks, floppy disks, and magnetic tape, optical media such as CD-ROMs, DVDs, and magnetic disks, such as floppy disks. Magneto-optical media, and hardware devices specifically configured to store and execute program instructions, such as ROM, RAM, flash memory, and the like. Examples of program instructions include not only machine code generated by a compiler, but also high-level language code that can be executed by a computer using an interpreter or the like.
이상과 같이 실시예들이 비록 한정된 실시예와 도면에 의해 설명되었으나, 해당 기술분야에서 통상의 지식을 가진 자라면 상기의 기재로부터 다양한 수정 및 변형이 가능하다. 예를 들어, 설명된 기술들이 설명된 방법과 다른 순서로 수행되거나, 및/또는 설명된 시스템, 구조, 장치, 회로 등의 구성요소들이 설명된 방법과 다른 형태로 결합 또는 조합되거나, 다른 구성요소 또는 균등물에 의하여 대치되거나 치환되더라도 적절한 결과가 달성될 수 있다.Although the embodiments have been described by the limited embodiments and the drawings as described above, various modifications and variations are possible to those skilled in the art from the above description. For example, the described techniques may be performed in a different order than the described method, and / or components of the described systems, structures, devices, circuits, etc. may be combined or combined in a different form than the described method, or other components. Or even if replaced or substituted by equivalents, an appropriate result can be achieved.
그러므로, 다른 구현들, 다른 실시예들 및 특허청구범위와 균등한 것들도 후술하는 특허청구범위의 범위에 속한다.Therefore, other implementations, other embodiments, and equivalents to the claims are within the scope of the claims that follow.
Claims (10)
제1 노드가, 사용자의 개인정보의 거래에 대한 거래내역을 포함하도록 생성된 다수의 블록들을 체인 형태로 연결하는 제1 블록체인을 저장하는 단계;
상기 제1 노드가, 상기 제1 노드와 제2 노드간의 사용자의 개인정보의 거래에 대한 제1 거래내역, 상기 제1 노드에서 상기 사용자의 개인정보를 기반으로 상기 제1 거래내역에 대한 가공을 통해 새로운 정보를 생성함에 대한 제2 거래내역 및 상기 제1 노드와 상기 제2 노드간의 또는 상기 제1 노드와 제3 노드간의 상기 새로운 정보의 거래에 대한 제3 거래내역 중 둘 이상의 거래내역을 포함하는 제1 블록을 생성하는 단계;
상기 제1 노드가 상기 제1 블록의 유효성이 검증되는 경우, 상기 저장된 제1 블록체인에 상기 제1 블록을 추가하여 연결하는 단계; 및
상기 제1 블록이 상기 네트워크의 적어도 하나의 다른 노드에 저장된 제2 블록체인에 업데이트되도록 상기 제1 블록을 상기 네트워크를 통해 적어도 하나의 다른 노드로 전달하는 단계
를 포함하는 것을 특징으로 하는 사용자 개인정보에 대한 거래 흐름 제공 방법.A method of providing a transaction flow for user personal information in a network including a plurality of nodes, the method comprising:
Storing, by the first node, a first blockchain that connects a plurality of blocks generated in a chain form to include transaction details of a transaction of a user's personal information;
The first node processes the first transaction on the basis of the first transaction history of the transaction of the user's personal information between the first node and the second node, and the personal information of the user at the first node. A second transaction history for generating new information and a third transaction history for the transaction of the new information between the first node and the second node or between the first node and the third node. Generating a first block to make;
Adding and connecting the first block to the stored first blockchain when the first node is validated of the first block; And
Forwarding the first block through the network to at least one other node such that the first block is updated in a second blockchain stored at at least one other node in the network.
Transaction flow providing method for the user personal information comprising a.
상기 제1 블록을 생성하는 단계는,
미리 정의된 일정 시간 동안의 상기 둘 이상의 거래내역을 포함하도록 상기 제1 블록을 생성하는 것
을 특징으로 하는 사용자 개인정보에 대한 거래 흐름 제공 방법.The method of claim 1,
Generating the first block,
Generating the first block to include the two or more transactions for a predefined time period
Transaction flow providing method for the user personal information, characterized in that.
상기 제1 노드가 상기 사용자의 요청에 대한 응답으로, 상기 제1 블록체인에 저장된 상기 둘 이상의 거래내역에 기초하여 상기 사용자의 개인정보와 관련된 거래 흐름, 상기 사용자의 개인정보를 기반으로 한 새로운 정보의 가공 및 상기 새로운 정보와 관련된 거래 흐름 및 둘 이상에 대한 추적을 제공하는 단계
를 더 포함하는 사용자 개인정보에 대한 거래 흐름 제공 방법.The method of claim 1,
In response to the user's request, the first node, a transaction flow related to the user's personal information based on the two or more transactions stored in the first blockchain, and new information based on the user's personal information. Providing tracking of the processing and more than one transaction associated with the new information
Transaction flow providing method for the user personal information further comprising.
상기 추적을 제공하는 단계는,
상기 제1 블록체인에 포함된 블록들을 대상으로, 머클 트리(Merkle tree) 탐색에 기초하여 탐색하고자 하는 사용자의 식별자 정보에 기초하여, 해당 사용자의 개인정보 또는 상기 새로운 정보를 송수신한 노드의 식별자 정보를 추출하는 단계; 및
상기 추출된 노드의 식별자 정보에 기초하여 상기 개인정보 또는 상기 새로운 정보의 거래 흐름을 시각화하여 제공하는 단계
를 포함하는 사용자 개인정보에 대한 거래 흐름 제공 방법.The method of claim 3,
Providing the trace,
Based on identifier information of a user who wants to search based on a Merkle tree search for the blocks included in the first blockchain, personal information of the user or identifier information of a node that has transmitted / received the new information. Extracting; And
Visualizing and providing a transaction flow of the personal information or the new information based on the identifier information of the extracted node
Transaction flow providing method for the user personal information comprising a.
제1 노드와 제2 노드간의 사용자의 개인정보의 거래에 대한 제1 거래내역, 상기 제1 노드에서 상기 사용자의 개인정보를 기반으로 상기 제1 거래내역에 대한 가공을 통해 새로운 정보를 생성함에 대한 제2 거래내역 및 상기 제1 노드와 상기 제2 노드간의 또는 상기 제1 노드와 제3 노드간의 상기 새로운 정보의 거래에 대한 제3 거래내역 중 둘 이상의 거래내역을 포함하는 제1 블록을 생성하는 블록 생성부;
상기 제1 블록의 유효성이 검증되는 경우, 상기 저장된 제1 블록체인에 상기 제1 블록을 추가하여 연결하는 블록체인 제어부; 및
상기 제1 블록이 네트워크의 적어도 하나의 다른 노드에 저장된 제2 블록체인에 업데이트되도록 상기 제1 블록을 네트워크를 통해 적어도 하나의 다른 노드로 전달하는 블록 전파부
를 포함하는 사용자 개인정보에 대한 거래 흐름 제공 시스템.A blockchain storage unit for storing a first blockchain for connecting a plurality of blocks generated in a chain form to include transaction details of a transaction of a user's personal information;
The first transaction for the transaction of the user's personal information between the first node and the second node, for generating new information through the processing of the first transaction on the basis of the user's personal information in the first node Generating a first block comprising two or more of a second transaction and a third transaction for the transaction of the new information between the first node and the second node or between the first node and the third node; Block generation unit;
A block chain controller configured to add the first block to the stored first block chain when the first block is validated; And
Block propagation unit for transmitting the first block to at least one other node through the network so that the first block is updated in the second block chain stored in at least one other node of the network
Transaction flow providing system for user personal information comprising a.
상기 블록 생성부는,
미리 정의된 일정 시간 동안의 상기 둘 이상의 거래내역을 포함하도록 상기 제1 블록을 생성하는 것
을 특징으로 하는 사용자 개인정보에 대한 거래 흐름 제공 시스템.The method of claim 5,
The block generation unit,
Generating the first block to include the two or more transactions for a predefined time period
Transaction flow providing system for the user personal information, characterized in that.
상기 사용자의 요청에 대한 응답으로, 상기 제1 블록체인에 저장된 상기 둘 이상의 거래내역에 기초하여 상기 사용자의 개인정보와 관련된 거래 흐름, 상기 사용자의 개인정보를 기반으로 한 새로운 정보의 가공 및 상기 새로운 정보와 관련된 거래 흐름 및 둘 이상에 대한 추적을 제공하는 거래 흐름 추적부
를 더 포함하는 사용자 개인정보에 대한 거래 흐름 제공 시스템.The method of claim 5,
In response to the user's request, a transaction flow associated with the user's personal information based on the two or more transaction histories stored in the first blockchain, processing new information based on the user's personal information, and the new Transaction flow tracker that provides tracking of the transaction flow and more than one associated with the information
Transaction flow providing system for the user personal information further comprising.
상기 거래 흐름 추적부는,
상기 제1 블록체인에 포함된 블록들을 대상으로, 머클 트리(Merkle tree) 탐색에 기초하여 탐색하고자 하는 사용자의 식별자 정보에 기초하여, 해당 사용자의 개인정보 또는 상기 새로운 정보를 송수신한 노드의 식별자 정보를 추출하고, 상기 추출된 노드의 식별자 정보에 기초하여 상기 개인정보 또는 상기 새로운 정보의 거래 흐름을 시각화하여 제공하는 것
을 특징으로 하는 사용자 개인정보에 대한 거래 흐름 제공 시스템.The method of claim 7, wherein
The transaction flow tracking unit,
Based on identifier information of a user who wants to search based on a Merkle tree search for the blocks included in the first blockchain, personal information of the user or identifier information of a node that has transmitted / received the new information. Extract and visualize and provide a transaction flow of the personal information or the new information based on the extracted identifier information of the node.
Transaction flow providing system for the user personal information, characterized in that.
상기 사용자 개인정보에 대한 거래 흐름 제공 방법은,
사용자의 개인정보의 거래에 대한 거래내역을 포함하도록 생성된 다수의 블록들을 체인 형태로 연결하는 제1 블록체인을 저장하는 단계;
제1 노드와 제2 노드간의 사용자의 개인정보의 거래에 대한 제1 거래내역, 상기 제1 노드에서 상기 사용자의 개인정보를 기반으로 상기 제1 거래내역에 대한 가공을 통해 새로운 정보를 생성함에 대한 제2 거래내역 및 상기 제1 노드와 상기 제2 노드간의 또는 상기 제1 노드와 제3 노드간의 상기 새로운 정보의 거래에 대한 제3 거래내역 중 둘 이상의 거래내역을 포함하는 제1 블록을 생성하는 단계;
상기 제1 블록의 유효성이 검증되는 경우, 상기 저장된 제1 블록체인에 상기 제1 블록을 추가하여 연결하는 단계; 및
상기 제1 블록이 네트워크의 적어도 하나의 다른 노드에 저장된 제2 블록체인에 업데이트되도록 상기 제1 블록을 네트워크를 통해 적어도 하나의 다른 노드로 전달하는 단계
를 포함하는 것을 특징으로 하는 컴퓨터 프로그램.A computer program stored in a recording medium for executing a method of providing a transaction flow for user personal information in combination with a computer-implemented electronic device,
The transaction flow providing method for the user personal information,
Storing a first blockchain for connecting a plurality of blocks generated in a chain form to include transaction details of a transaction of a user's personal information;
The first transaction for the transaction of the user's personal information between the first node and the second node, for generating new information through the processing of the first transaction on the basis of the user's personal information in the first node Generating a first block comprising two or more of a second transaction and a third transaction for the transaction of the new information between the first node and the second node or between the first node and the third node; step;
When the validity of the first block is verified, adding and connecting the first block to the stored first blockchain; And
Forwarding the first block through the network to at least one other node such that the first block is updated in a second blockchain stored at at least one other node in the network.
Computer program comprising a.
상기 사용자 개인정보에 대한 거래 흐름 제공 방법은,
상기 사용자의 요청에 대한 응답으로, 상기 제1 블록체인에 저장된 상기 둘 이상의 거래내역에 기초하여 상기 사용자의 개인정보와 관련된 거래 흐름, 상기 사용자의 개인정보를 기반으로 한 새로운 정보의 가공 및 상기 새로운 정보와 관련된 거래 흐름 및 둘 이상에 대한 추적을 제공하는 단계
를 더 포함하는 것을 특징으로 하는 컴퓨터 프로그램.The method of claim 9,
The transaction flow providing method for the user personal information,
In response to the user's request, a transaction flow associated with the user's personal information based on the two or more transaction histories stored in the first blockchain, processing new information based on the user's personal information, and the new Providing tracking of the transaction flow and more than one associated with the information
Computer program characterized in that it further comprises.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020180148527A KR102051231B1 (en) | 2018-11-27 | 2018-11-27 | Method and system for tracking transaction of the user personal information based in blockchain |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020180148527A KR102051231B1 (en) | 2018-11-27 | 2018-11-27 | Method and system for tracking transaction of the user personal information based in blockchain |
Related Parent Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020170089616 Division | 2017-07-14 | 2017-07-14 |
Publications (2)
Publication Number | Publication Date |
---|---|
KR20190008163A KR20190008163A (en) | 2019-01-23 |
KR102051231B1 true KR102051231B1 (en) | 2020-01-08 |
Family
ID=65324026
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020180148527A KR102051231B1 (en) | 2018-11-27 | 2018-11-27 | Method and system for tracking transaction of the user personal information based in blockchain |
Country Status (1)
Country | Link |
---|---|
KR (1) | KR102051231B1 (en) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20210096780A (en) * | 2020-01-29 | 2021-08-06 | 주식회사 버블콘 | Method and system for certification of on-line learning completion using Experience Application Programming Interface(xAPI) based on block chain network |
US11475141B1 (en) | 2022-03-15 | 2022-10-18 | My Job Matcher, Inc. | Apparatus and methods for verifying lost user data |
Families Citing this family (20)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR102243193B1 (en) * | 2019-01-29 | 2021-04-22 | (주)티비스톰 | Platform of smart contracts for providing digital information transaction |
KR102010438B1 (en) * | 2019-03-20 | 2019-10-21 | (주)진주소프트 | Locking system for cargo transportation using block chain and system therefor |
KR102024155B1 (en) * | 2019-03-20 | 2019-09-23 | 주식회사 래몬 | Weighing information collection system using block chain |
WO2020213763A1 (en) * | 2019-04-18 | 2020-10-22 | 라인플러스 주식회사 | Method and system for verifying block-chain data stored in storage having different format from block-chain |
KR102192335B1 (en) * | 2019-05-02 | 2020-12-17 | 한국과학기술원 | Method and System for Personal Data Trading with data provider's incentive |
KR102586824B1 (en) * | 2019-05-15 | 2023-10-10 | 에스케이플래닛 주식회사 | Service apparatus, and control method thereof |
KR102586823B1 (en) * | 2019-05-15 | 2023-10-10 | 에스케이플래닛 주식회사 | Service apparatus, and control method thereof |
WO2020231223A1 (en) * | 2019-05-15 | 2020-11-19 | 에스케이플래닛 주식회사 | Electronic commerce service device and operating method therefor, and service device |
US10897348B2 (en) | 2019-06-17 | 2021-01-19 | Piamond Corp. | Method and system for managing consent and utilization of information using blockchain |
KR102185656B1 (en) * | 2019-06-21 | 2020-12-02 | 숭실대학교산학협력단 | Block chain based blood donation management method |
CN110471982B (en) * | 2019-07-09 | 2020-11-17 | 创新先进技术有限公司 | Data processing method and device based on block chain |
KR102275657B1 (en) * | 2019-09-03 | 2021-07-09 | 주식회사 아롬정보기술 | Medical data service management device and management method of medical data using block chain |
KR102272021B1 (en) * | 2019-09-26 | 2021-07-02 | 비스냅(주) | Bigdata collecting system |
CN110597864B (en) * | 2019-09-26 | 2024-09-24 | 腾讯科技(深圳)有限公司 | Personal information management method and device based on blockchain |
KR102124942B1 (en) * | 2019-10-07 | 2020-06-19 | 신호열 | Blockchain data search method |
KR102181009B1 (en) * | 2019-11-29 | 2020-11-19 | 이승훈 | Method for providing blockchain basesd financial activity management service for supervising negotiorum gestio in contractual guardianship |
KR102174375B1 (en) * | 2020-02-19 | 2020-11-04 | (주)미디어스퀘어 | Private blockchain system including dual blockchain structure and method of operation thereof |
KR102615244B1 (en) | 2020-04-07 | 2023-12-19 | 한국전자통신연구원 | Apparatus and method for recommending user's privacy control |
KR102564106B1 (en) | 2020-10-16 | 2023-08-07 | 중앙대학교 산학협력단 | System and Method for Intelligent mediating based enhanced smart contract for privacy protection |
KR20240081831A (en) | 2022-12-01 | 2024-06-10 | 주식회사 사각 | Personal data brokerage service method and system |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2007213373A (en) * | 2006-02-10 | 2007-08-23 | Nhk Engineering Services Inc | Personal information disclosure route browsing system and personal information disclosure route verifying method |
KR101727525B1 (en) * | 2016-09-05 | 2017-04-17 | 주식회사 스케일체인 | Block chain based distributed storage method and device thereof |
Family Cites Families (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR101660627B1 (en) * | 2015-02-03 | 2016-09-28 | 한양대학교 에리카산학협력단 | Method and apparatus for protecting transasction of encrypted currency |
KR101672627B1 (en) * | 2015-03-04 | 2016-11-17 | 주식회사 엠드림커뮤니케이션 | User individual information providing method and system using verifying personal identity |
-
2018
- 2018-11-27 KR KR1020180148527A patent/KR102051231B1/en active IP Right Grant
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2007213373A (en) * | 2006-02-10 | 2007-08-23 | Nhk Engineering Services Inc | Personal information disclosure route browsing system and personal information disclosure route verifying method |
KR101727525B1 (en) * | 2016-09-05 | 2017-04-17 | 주식회사 스케일체인 | Block chain based distributed storage method and device thereof |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20210096780A (en) * | 2020-01-29 | 2021-08-06 | 주식회사 버블콘 | Method and system for certification of on-line learning completion using Experience Application Programming Interface(xAPI) based on block chain network |
KR102366383B1 (en) * | 2020-01-29 | 2022-02-23 | 주식회사 버블콘 | Method and system for certification of on-line learning completion using Experience Application Programming Interface(xAPI) based on block chain network |
US11475141B1 (en) | 2022-03-15 | 2022-10-18 | My Job Matcher, Inc. | Apparatus and methods for verifying lost user data |
Also Published As
Publication number | Publication date |
---|---|
KR20190008163A (en) | 2019-01-23 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
KR102051231B1 (en) | Method and system for tracking transaction of the user personal information based in blockchain | |
US20210119801A1 (en) | Method and system for processing personal database on block chain | |
US11151607B2 (en) | Blockchain-enabled targeted content system | |
JP7385706B2 (en) | Method of distributing digital assets registered on blockchain and autonomous computing agent | |
JP7529372B2 (en) | COMPUTER-IMPLEMENTED SYSTEM AND METHOD FOR GENERATING AND EXTRACTION OF USER-RELATED DATA STORED ON A BLOCKCHAIN | |
JP6939791B2 (en) | Bulletin board information management system | |
Liu et al. | Distributed ledger technology | |
US20190279241A1 (en) | Content-based mining via blockchain | |
Preibusch et al. | Shopping for privacy: Purchase details leaked to PayPal | |
CN112534774A (en) | Decentralized fraud prevention security | |
US20200058055A1 (en) | Blockchain for the common good: digital currency for citizen philanthropy and social entrepreneurship | |
US11880882B2 (en) | Computer-controlled marketplace network for digital transactions | |
US20230185996A1 (en) | Framework for blockchain development | |
CN115809909A (en) | Block chain network congestion adaptive digital asset event handling system and method | |
KR20200139960A (en) | A Platform System for Influencer Based Marketing Using Block Chain | |
CN111161006A (en) | Block chain credit service method, system and storage medium | |
Dash et al. | Artificial intelligence models for blockchain-based intelligent networks systems: Concepts, methodologies, tools, and applications | |
CN115705605A (en) | Method and system for trading digital assets and computer readable recording medium | |
WO2019013413A1 (en) | Method and system for identifying user's personal information use by using block chain | |
KR20200139939A (en) | A method for providing marketing services based on influencers using blockchains | |
Wang et al. | Arbitrage attack: Miners of the world, unite! | |
Amarasekara et al. | Stuffing, sniffing, squatting, and stalking: Sham activities in affiliate marketing | |
Sutopo | Blockchain Programming Smart Contract on Polygon | |
Bel Hadj Youssef et al. | A Robust and Efficient Micropayment Infrastructure Using Blockchain for E-Commerce | |
Doshi et al. | Enhancing marketing capabilities using blockchain |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A107 | Divisional application of patent | ||
A201 | Request for examination | ||
E902 | Notification of reason for refusal | ||
E701 | Decision to grant or registration of patent right | ||
GRNT | Written decision to grant |