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 PDF

Info

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
Application number
KR1020180148527A
Other languages
Korean (ko)
Other versions
KR20190008163A (en
Inventor
최준균
오현택
양진홍
안상홍
박효진
김나경
김민경
Original Assignee
한국과학기술원
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 한국과학기술원 filed Critical 한국과학기술원
Priority to KR1020180148527A priority Critical patent/KR102051231B1/en
Publication of KR20190008163A publication Critical patent/KR20190008163A/en
Application granted granted Critical
Publication of KR102051231B1 publication Critical patent/KR102051231B1/en

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q20/00Payment architectures, schemes or protocols
    • G06Q20/30Payment architectures, schemes or protocols characterised by the use of specific devices or networks
    • G06Q20/36Payment architectures, schemes or protocols characterised by the use of specific devices or networks using electronic wallets or electronic money safes
    • G06Q20/367Payment 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/3674Payment 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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q20/00Payment architectures, schemes or protocols
    • G06Q20/04Payment circuits
    • G06Q20/06Private payment circuits, e.g. involving electronic currency used among participants of a common payment scheme
    • G06Q20/065Private payment circuits, e.g. involving electronic currency used among participants of a common payment scheme using e-cash
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q20/00Payment architectures, schemes or protocols
    • G06Q20/38Payment protocols; Details thereof
    • G06Q20/382Payment protocols; Details thereof insuring higher security of transaction
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q30/00Commerce
    • G06Q30/02Marketing; Price estimation or determination; Fundraising
    • G06Q30/0201Market modelling; Market analysis; Collecting market data
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q30/00Commerce
    • G06Q30/06Buying, selling or leasing transactions
    • G06Q30/0601Electronic shopping [e-shopping]
    • G06Q30/0613Third-party assisted
    • G06Q30/0619Neutral 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

블록체인을 활용한 사용자 개인정보 활용 파악을 위한 방법 및 시스템{METHOD AND SYSTEM FOR TRACKING TRANSACTION OF THE USER PERSONAL INFORMATION BASED IN BLOCKCHAIN}METHOD AND SYSTEM FOR TRACKING TRANSACTION OF THE USER PERSONAL INFORMATION BASED IN BLOCKCHAIN}

본 발명의 실시예들은 인터넷 포털 사이트 가입, 신용카드, 보험, 채팅 서비스, 교육 서비스, 게임 서비스 등 다양한 서비스 이용을 위해 해당 웹사이트에 가입하거나, 전화 또는 서면으로 해당 서비스 신청 시에, 해당 서비스의 이용을 위해 동의한 사용자의 개인정보의 수집 및 이용 흐름을 파악/추적하는 기술에 관한 것이다.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 time 1 to time 2).

본 실시예들에서, '노드(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 network 100. Can be. For example, a transaction (transaction) may represent a transaction identifier including a block information, a hash value, and the like including transaction information and basic information related to personal information.

사용자 단말(즉, 개인정보 제공자, 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 network 100.

서버(즉, 서비스 제공자, 103)는 사용자 단말(101)에서 요청한 서비스를 상기 전용 어플리케이션 또는 프로그램 등을 통해 상기 사용자 단말(101)로 제공할 수 있다. 예컨대, 위치기반 검색 서비스가 요청된 경우, 사용자 단말(101)에서 위치 정보를 서버(103)로 제공하고, 서버(103)는 수신된 위치정보에 기초하는 게임 서비스, 맛집 정보 등을 어플리케이션을 통해 제공할 수 있다.The server (ie, the service provider 103) may provide the service requested by the user terminal 101 to the user terminal 101 through the dedicated application or program. For example, when a location-based search service is requested, the user terminal 101 provides location information to the server 103, and the server 103 provides a game service or restaurant information based on the received location information through an application. Can provide.

네트워크(110)는 하나 이상의 데이터 브로커들을 포함할 수 있으며, 데이터 브로커(102)는 특정 서비스를 제공받기 위해 사용자 단말(101)에서 서버(103)로 전달하는 개인정보(예컨대, 위치정보)를 수집하여 빅데이터를 처리하고, 상기 개인정보를 서버(103)로 전달하고, 상기 빅데이터를 다른 데이터 브로커에게 판매(즉, 전달)하는 서버 장치를 나타낼 수 있다.The network 110 may include one or more data brokers, and the data broker 102 collects personal information (eg, location information) transmitted from the user terminal 101 to the server 103 to receive a specific service. To process the big data, transfer the personal information to the server 103, and sell (ie, transfer) the big data to another data broker.

그리고, 적어도 하나의 데이터 브로커들(즉, 빅데이터 수집 서버 장치)은 사용자 단말(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 user terminal 101 is propagated to the network 100, Verification of the block may be verified based on a hash included in the received block. In addition, if valid, the block may be added to the blockchain, and the data may be transmitted to the network 100 and disclosed to the network 100 together with data verifying validity. In this case, the remaining data brokers may also verify the validity of the block added to the blockchain and, if valid, may add the added block to its blockchain. If it is not valid, the block can be discarded without adding it to its blockchain.

도 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 flow providing system 300 according to the present exemplary embodiment may include a processor 310, a bus 320, a network interface 330, and a memory 340. The memory 340 may include an operating system 341 and a service providing routine 342. The processor 310 may include a block generator 311, a block chain controller 312, a block propagation unit 313, and a block verification unit 314. In other embodiments, the personal information transaction flow providing system 300 may include more components than the components of FIG. 3. However, it is not necessary to clearly show most of the prior art components. For example, the personal information transaction flow providing system 300 may include other components such as a display or a transceiver, and a transaction flow tracking unit (not shown) for estimating a transaction flow of personal information through a blockchain. H) may be further included.

메모리(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 memory 340 is a computer-readable recording medium, and may include a permanent mass storage device such as random access memory (RAM), read only memory (ROM), and a disk drive. Also, program code for the operating system 341 and the service providing routine 342 may be stored in the memory 340. These software components may be loaded from a computer readable recording medium separate from the memory 340 using a drive mechanism (not shown). Such a separate computer-readable recording medium may include a computer-readable recording medium (not shown) such as a floppy drive, a disk, a tape, a DVD / CD-ROM drive, a memory card, and the like. In other embodiments, the software components may be loaded into the memory 340 via the network interface 330 rather than the computer readable recording medium.

버스(320)는 개인정보 거래 흐름 제공 시스템(300)의 구성요소들간의 통신 및 데이터 전송을 가능하게 할 수 있다. 버스(320)는 고속 시리얼 버스(high-speed serial bus), 병렬 버스(parallel bus), SAN(Storage Area Network) 및/또는 다른 적절한 통신 기술을 이용하여 구성될 수 있다.The bus 320 may enable communication and data transmission between components of the personal information transaction flow providing system 300. Bus 320 may be configured using a high-speed serial bus, a parallel bus, a storage area network (SAN) and / or other suitable communication technology.

네트워크 인터페이스(330)는 개인정보 거래 흐름 제공 시스템(300)을 컴퓨터 네트워크에 연결하기 위한 컴퓨터 하드웨어 구성요소일 수 있다. 네트워크 인터페이스(330)는 개인정보 거래 흐름 제공 시스템(300)을 무선 또는 유선 커넥션을 통해 컴퓨터 네트워크에 연결시킬 수 있다.The network interface 330 may be a computer hardware component for connecting the personal information transaction flow providing system 300 to a computer network. The network interface 330 may connect the personal information transaction flow providing system 300 to a computer network through a wireless or wired connection.

프로세서(310)는 기본적인 산술, 로직 및 개인정보 거래 흐름 제공 시스템(300)의 입출력 연산을 수행함으로써, 컴퓨터 프로그램의 명령을 처리하도록 구성될 수 있다. 명령은 메모리(340) 또는 네트워크 인터페이스(330)에 의해, 그리고 버스(320)를 통해 프로세서(310)로 제공될 수 있다. 프로세서(310)는 블록 생성부(311), 블록체인 제어부(312), 블록 전파부(313), 블록 검증부(314), 및 거래 흐름 추적부(미도시)를 위한 프로그램 코드를 실행하도록 구성될 수 있다. 이러한 프로그램 코드는 메모리(340)와 같은 기록 장치에 저장될 수 있다.The processor 310 may be configured to process instructions of a computer program by performing input / output operations of the basic arithmetic, logic, and personal information transaction flow providing system 300. The instructions may be provided to the processor 310 by the memory 340 or the network interface 330 and via the bus 320. The processor 310 is configured to execute program code for the block generation unit 311, the block chain control unit 312, the block propagation unit 313, the block verification unit 314, and the transaction flow tracking unit (not shown). Can be. Such program code may be stored in a recording device such as memory 340.

블록 생성부(311), 블록체인 제어부(312), 블록 전파부(313), 블록 검증부(314)는 도 2의 단계들(210 내지 260 단계)를 수행하기 위해 구성될 수 있다. 도 2 및 도 3에서는 사용자 단말(101) 또는 데이터 브로커의 서버(102)에서 개인정보관련 블록을 생성하여 블록체인에 추가 연결하는 동작을 예로 들어 설명하기로 한다. The block generator 311, the block chain controller 312, the block propagation unit 313, and the block verification unit 314 may be configured to perform the steps 210 to 260 of FIG. 2. 2 and 3, an operation of generating a personal information related block in the user terminal 101 or the server 102 of the data broker and additionally connecting the block to the blockchain will be described as an example.

210 단계에서, 블록 생성부(311)는 미리 정의된 일정 시간에 해당하는 사용자의 개인정보관련 거래내역을 포함하는 새로운 블록을 생성할 수 있다. 그리고, 블록 생성부(311)는 거래관련 기본정보가 함께 포함되도록 새로운 블록을 생성할 수 있다. 이때, 새로운 블록을 생성하는 동작은, 거래흐름 제공 시스템(300)이 사용자 단말(101)에 해당하는지, 데이터 브로커(102)에 해당하는지에 따라 상이할 수 있으며, 데이터 브로커(102)인 경우, 사용자 단말(101)로부터 수신된 블록을 가공하여 새로운 블록을 생성할 수 있다. 예컨대, 사용자 단말(101)로부터 수신된 블록에 포함된 거래내역을 변경하거나 다른 거래내역과 취합하는 등의 정보 가공이 수행될 수 있으며, 가공을 통해 상기 수신된 블록에 포함된 거래내역과는 다른 시간에 가공된 정보를 포함하는 블록(즉, 가공된 블록)이 블록체인에 연결될 수 있다. 사용자 단말(101) 및 데이터 브로커(102, 즉, 데이터 브로커의 서버)에서 새로운 블록을 생성하는 자세한 동작은 도 4 내지 도 6을 참고하여 후술하기로 한다.In operation 210, the block generator 311 may generate a new block including the transaction information related to the user's personal information corresponding to a predetermined time. In addition, the block generator 311 may generate a new block so that basic transaction related information is included. In this case, the operation of generating a new block may be different depending on whether the transaction flow providing system 300 corresponds to the user terminal 101 or the data broker 102, and in the case of the data broker 102, A block received from the user terminal 101 may be processed to generate a new block. For example, information processing, such as changing the transaction history included in the block received from the user terminal 101 or merging with other transaction details, may be performed, and the processing may be different from the transaction history included in the received block. Blocks containing processed information in time (ie, processed blocks) may be connected to the blockchain. Detailed operations of generating a new block in the user terminal 101 and the data broker 102 (that is, the server of the data broker) will be described later with reference to FIGS. 4 to 6.

여기서, 거래내역은 서비스 제공자의 서버(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 server 103 of the service provider, the owner of the personal information delivered. Identifier information (eg, identifier information of the user terminal), type of data (eg, identifier information indicating whether it is location information, personal information, financial information, shopping information, etc.), size information of the data included in the block, and the like. It may include.

그리고, 거래관련 기본정보는 개인정보를 전송하는 노드의 식별자 정보(예컨대, 사용자 단말의 식별자 정보), 상기 개인정보를 수신하는 노드의 식별자 정보(예컨대, 서비스 제공자의 서버의 식별자 정보), 거래내역의 식별자 정보, 및 시간 정보(예컨대, 타임스탬프(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 operation 220, when a new block is generated, the blockchain controller 312 may control the new block to be connected to its blockchain. That is, the blockchain controller 312 may control each block including personal information related transaction details to be additionally connected to a blockchain in which a blockchain is connected in a chain form.

230 단계에서, 블록 전파부(313)는 자신의 블록체인에 연결된 새로운 블록의 유효성(verify) 검증을 위해, 상기 새로운 블록을 네트워크로 전파(broadcasting)할 수 있다. 예를 들어, 블록 전파부(313)는 상기 새로운 블록을 네트워크에 포함된 적어도 하나의 노드(예컨대, 서비스 제공자의 서버, 데이터 브로커의 서버)로 전달할 수 있다. 그러면, 네트워크로 전파된 상기 새로운 블록은 새로운 블록을 수신한 노드(예컨대, 서비스 제공자의 서버, 데이터 브로커의 서버)에서 해당 블록의 유효성(verify)을 검증하고, 검증이 성공적으로 완료되면, 해당 노드의 블록체인에 추가 연결될 수 있다.In operation 230, the block propagation unit 313 may broadcast the new block to the network for verifying a new block connected to its blockchain. For example, the block propagation unit 313 may deliver the new block to at least one node (eg, a server of a service provider and a server of a data broker) included in the network. Then, the new block propagated to the network verifies the validity of the block at the node (eg, the service provider's server or the data broker's server) that has received the new block, and if the verification is successfully completed, the node. It can be further connected to the blockchain of.

240 단계에서, 블록 검증부(314)는 네트워크를 형성한 다른 노드(예컨대, 다른 사용자 단말, 데이터 브로커의 서버, 서비스 제공자의 서버 또는 다른 데이터 브로커 등)에서 생성된 블록을 수신할 수 있다.In operation 240, the block verification unit 314 may receive a block generated by another node (eg, another user terminal, a server of a data broker, a server of a service provider, or another data broker) that forms a network.

250 단계에서, 블록 검증부(314)는 수신된 블록에 대한 유효성을 검증할 수 있다. 예컨대, 해당 노드에서 디지털 서명된 블록을 대상으로 공개키 및 해시값에 기초하여 해당 블록의 유효성을 검증할 수 있다.In operation 250, the block validator 314 may verify validity of the received block. For example, the validity of the block may be validated based on the public key and the hash value for the block digitally signed by the node.

260 단계에서, 블록 제어부(312)는 유효성이 검증된 상기 블록(즉, 다른 노드에서 생성되어 수신된 블록)이 자신의 블록체인에 추가 연결되도록 제어할 수 있다. In operation 260, the block controller 312 may control the validated block (that is, a block generated and received by another node) to be additionally connected to its blockchain.

이처럼, 자신이 생성한 블록뿐만 아니라, 다른 노드에서 생성된 블록도 유효성 검증을 통해 자신의 블록체인에 추가 연결함으로써, 개인정보관련 거래가 발생할 때마다 블록체인이 업데이트될 수 있고, 업데이트를 통해 개인정보의 거래 흐름이 추적, 즉, 파악될 수 있다. 사용자 본인의 개인정보의 거래 흐름 추적은 사용자 단말의 요청에 대한 응답으로서 해당 어플리케이션을 통해 제공될 수 있으며, 프로세서(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 processor 310 is a transaction for providing a transaction flow tracking indicating the transaction flow of the personal information to the user It may further include a flow tracking unit (not shown).

도 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 block chain 400 may indicate that a plurality of blocks 410, 420, and 4430 in which transaction details and basic information related to personal information are recorded are connected in a chain form.

예를 들어, 거래흐름 제공 시스템(300)이 사용자 단말(101)에 해당하는 경우, 블록 생성부(311)는 미리 지정된 일정 시간동안 발생한 거래, 즉, 사용자 단말에서 서비스 제공자의 서버, 데이터 브로커의 서버 등으로 전달한 개인 정보를 모을 수 있다. 그리고, 일정 시간동안 모은 개인정보관련 거래내역 및 기본정보를 포함하는 하나의 블록을 새로운 블록으로 생성할 수 있다. 이때, 블록 11(420) 및 블록 12(430)가 새로운 블록인 블록 10(410) 이전에 생성된 블록인 경우, 블록들(420, 430, 440) 각각은 체인 형태로 연결되어 이전에 생성된 블록을 참고하고 있으므로, 개인정보에 대한 과거의 거래 내역에 접근 가능할 수 있다.For example, if the transaction flow providing system 300 corresponds to the user terminal 101, the block generation unit 311 is a transaction that occurs during a predetermined time, that is, the server of the service provider, the data broker of the user terminal Collect personal information sent to servers, etc. In addition, one block including the transaction information and basic information related to the personal information collected for a predetermined time may be generated as a new block. In this case, when blocks 11 420 and 12 430 are blocks generated before block 10 410, which is a new block, each of blocks 420, 430, and 440 is connected to each other in a chain form. Since the block is referenced, past transaction details for personal information may be accessible.

일례로, 블록 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 actual transaction history 421 collected for a predetermined time. For example, TX0 is location information of the user terminal corresponding to time 1 transmitted from the user terminal to the server, TX1 is location information of the user terminal corresponding to time 2, TX2 is location information of the user terminal corresponding to time 3, and TX3 is Location information of the user terminal corresponding to time 4 may be indicated. The transaction details may indicate information of other attributes (for example, identifier information of a game item) transmitted from the user terminal to the service provider server in addition to the location information. In addition, the block 11 420 may include a hash value corresponding to each of the transaction details 421 for verifying each of the transaction details 421 collected for a predetermined time. In this case, the block 11 420 may include a hash value for each transaction history 421 in a merkle tree structure 422 to enable verification of the transaction history without viewing the actual transaction history 421. As such, each of the blocks 410, 420, and 430 connected to the blockchain 400 includes the transaction history collected for a predetermined time until the corresponding block is generated, and the hash value corresponding to each transaction is stored in the Merkle Tree ( merkle tree, 422).

도 4에서 설명한 바와 같이, 거래 흐름 제공 시스템(300)이 사용자 단말(101)에 해당하는 경우, 블록 생성부(311)는 사용자 단말(101)에서 데이터 브로커의 서버(102) 및 서비스 제공자의 서버(즉, 서비스 서버, 103) 중 적어도 하나로 전달하고자 하는 개인정보를 생성할 수 있으며, 생성된 개인정보를 일정시간 동안 모아서 새로운 블록을 생성할 수 있다.As described in FIG. 4, when the transaction flow providing system 300 corresponds to the user terminal 101, the block generation unit 311 may use the server 102 of the data broker and the server of the service provider in the user terminal 101. The personal information to be delivered to at least one of the service servers 103 may be generated, and the generated personal information may be collected for a predetermined time to generate a new block.

한편, 거래 흐름 제공 시스템(300)이 데이터 브로커의 서버(102)에 해당하는 경우, 블록 생성부(311)는 사용자 단말(101)로부터 사용자 단말(101)에서 생성된 블록을 수신하여 가공함으로써 새로운 블록을 생성할 수 있다. 이때, 블록 생성부(311)는 사용자 단말(101)로부터 수신된 블록에 포함된 사용자의 개인정보관련 거래내역 및 거래관련 기본정보 중 적어도 하나를 가공하여 새로운 블록을 생성할 수 있다. 예컨대, 시간 정보, 해당 블록을 전송하는 노드의 식별자 정보, 해당 블록을 수신할 노드의 식별자 정보 등을 수정하는 가공을 수행함으로써 새로운 블록을 생성할 수 있다. 이처럼, 블록에 포함된 내용이 변경/변형이 발생하는 가공 작업이 발생할 때마다 블록체인은 분기될 수 있으며, 블록체인 분기는 아래의 도 5를 참고하여 설명하기로 한다. 예를 들어, 시간이 경과할 때 마다 서로 다른 시간에 사용자의 개인 정보와 관련하여 내용을 변경하거나 추가하는 등의 가공 작업이 발생할 수 있으며, 시간 t1에서의 블록, 시간 t2에서의 블록, 시간 t3 에서의 블록이 블록체인에 체인형태로 연결되는 구조를 가질 수 있다.On the other hand, when the transaction flow providing system 300 corresponds to the server 102 of the data broker, the block generation unit 311 receives a block generated in the user terminal 101 from the user terminal 101 and processes the new block. You can create a block. In this case, the block generation unit 311 may generate a new block by processing at least one of the user's personal information-related transaction history and transaction-related basic information included in the block received from the user terminal 101. For example, a new block can be generated by performing processing to modify time information, identifier information of a node transmitting the block, identifier information of a node to receive the block, and the like. As such, the blockchain may be branched every time a machining operation occurs in which the contents included in the block are changed / deformed, and the blockchain branch will be described with reference to FIG. 5 below. For example, each time elapses, processing operations such as changing or adding contents related to the user's personal information may occur at different times, such as blocks at time t 1 , blocks at time t 2 , A block at time t 3 may be connected to the block chain in a chain form.

도 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 server 102 of the data broker receives the specific block 510 from the user terminal 101, the processing is performed on the block 510 to generate a new block. Can be generated. Accordingly, the blockchain 500 may be divided into a block 520 and a one block 530 generated through processing based on the specific block 510. For example, a blockchain including a block containing the user's personal information at time t 1 may be branched to include the processed block as the transaction details included in the block are changed and processed at time t 2 . . At this time, two chains may be temporarily formed due to the branching, but if the branch is extended by two or more blocks (540), the block in which the next block is mined first may remain in the blockchain. For example, based on the second branched block 540 in the blockchain 500, the blocks 541 and 542 are disconnected and discarded, and the blocks 543, 544 and 545 are connected in a chain to block the blockchain 500. ) Can be maintained.

이처럼, 블록체인이 분기된 경우, 각 노드의 이익을 극대화하는 정책을 기반으로 하는 긴 블록 선호 정책을 이용함으로써, 블록체인의 분기 시 남겨둘 블록과 폐기할 블록이 결정될 수 있다. 즉, 체인으로 연결된 길이가 짧은 블록에 노력을 투자하면 손해이므로, 체인이 긴 블록들을 블록체인에 남겨둘 수 있다.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 user terminal 710, a server 720 of a data broker, a service server 730, and a server 740 of another data broker. can do. In FIG. 7, the blockchain manager 712 is included in the user terminal 710, but in addition to the user terminal 710, the server 720 of the data broker, the service server 730, and the server 740 of the other data broker are included. Each blockchain manager 712 may be included. In FIG. 7, t 1 , t 2 , and t 3 may represent time (ie, time information) that each block is responsible for.

사용자 단말(710)에서 일정시간 동안 모아진 단말의 위치정보 등을 나타내는 개인정보를 포함하는 거래내역 및 거래관련 기본정보가 기록된 새로운 블록(즉, 하나의 블록)이 생성될 수 있다. 예컨대, 시간 t1에 일정시간 모아진 개인 정보(711)를 포함하는 새로운 블록이 생성될 수 있다. 기본정보는 시간 t1에 해당하는 새로운 블록에 포함된 정보(711)를 전송하는 노드인 사용자 단말(710)의 식별자 정보, 상기 블록을 수신하는 노드인 데이터 브로커의 서버(720)의 식별자 정보, 데이터의 종류(예컨대, 위치정보를 나타내는 식별자 정보), 및 데이터의 크기를 포함할 수 있다. 이때, 필요에 따라, 거래내역 및 기본정보는 암호화되어 상기 시간 t1에 해당하는 블록에 기록될 수도 있다. In the user terminal 710, a new block (that is, one block) in which the transaction history and the basic information related to the transaction, including the personal information indicating the location information of the terminal collected for a predetermined time, is recorded, may be generated. For example, a new block containing personal information 711 collected at a certain time at time t 1 may be generated. The basic information includes identifier information of the user terminal 710, which is a node transmitting information 711 included in a new block corresponding to time t 1 , identifier information of the server 720 of the data broker, which receives the block, It may include the type of data (eg, identifier information indicating location information) and the size of the data. At this time, if necessary, transaction details and basic information may be encrypted and recorded in a block corresponding to the time t 1 .

데이터 브로커의 서버(720)는 사용자 단말(710)로부터 시간 t1에 해당하는 블록(즉, 시간 t1에 새로운 블록에 기록된 개인정보, 721)을 수신할 수 있으며, 수신된 블록을 대상으로, 포함된 정보(721)의 내용을 변경하는 가공을 통해 새로운 블록을 생성할 수 있다. 즉, 상기 시간 t1에 해당하는 블록에 상기 정보(721)와 함께 가공된 정보(722)가 포함됨으로써, 상기 새로운 블록이 생성될 수 있다. 그러면, 가공된 정보(722)를 포함하는 새로운 블록(즉, 가공된 블록)은 서비스 서버(730)로 전달될 수 있다. 즉, 시간 t2에 정보의 가공이 발생함에 따라 가공된 정보(722)를 포함하는 블록이 서비스 서버(730)로 전달될 수 있다. 데이터 브로커의 서버(720)에서 사용자 단말(710)로부터 수신된 정보(721)를 포함하는 블록은 다른 데이터 브로커의 서버(740)로 전달될 수 있다. The server 720 of the data broker may receive a block corresponding to time t 1 (ie, personal information written in a new block at time t 1 , 721) from the user terminal 710. In addition, a new block may be generated through a process of changing the content of the included information 721. That is, the new block may be generated by including the information 722 processed together with the information 721 in the block corresponding to the time t 1 . Then, a new block (ie, a processed block) containing the processed information 722 may be delivered to the service server 730. That is, as the processing of the information occurs at time t 2 , a block including the processed information 722 may be transferred to the service server 730. The block including the information 721 received from the user terminal 710 at the server 720 of the data broker may be transferred to the server 740 of another data broker.

그리고, 다른 데이터 브로커의 서버(740)는 데이터 브로커의 서버(720)로부터 수신된 블록, 즉 시간 t1에 해당하는 블록에 포함된 정보(741)을 가공하여 가공된 정보(742)를 포함하는 새로운 블록(즉, 가공된 블록)을 생성할 수 있다. 여기서, 상기 새로운 블록에 포함된 가공된 정보(742)는 시간 t3에 발생한 거래를 나타내는 것으로서, 상기 새로운 블록은 시간 t1에 발생한 정보(711)를 포함하는 블록, 시간 t2에 발생한 정보(722)를 포함하는 블록과 체인 형태로 블록체인에 연결될 수 있다.The server 740 of the other data broker includes information 742 processed by processing the information 741 included in the block received from the server 720 of the data broker, that is, the block corresponding to the time t 1 . It is possible to create new blocks (ie machined blocks). Herein, the processed information 742 included in the new block represents a transaction occurring at time t 3 , and the new block includes information 711 generated at time t 1 , and information generated at time t 2 ( 722 may be connected to the blockchain in the form of a block and a chain.

그리고, 서비스 서버(730)는 사용자 단말(710)에서 요청한 서비스의 제공을 위해 계약에 따라 제휴가 맺어진 사용자 단말(710)과의 중간에 데이터(개인정보)를 수집한 데이터 브로커의 서버(720) 및 다른 데이터 브로커의 서버(730) 중 적어도 하나로부터 사용자의 개인정보(예컨대, 위치정보)에 해당하는 블록을 수신할 수 있다. 그리고, 수신된 블록에 포함된 개인정보에 기초하여 해당 서비스를 사용자 단말(710)로 제공할 수 있다. 예컨대, 사용자 단말(710)에 설치된 서비스 어플리케이션을 통해 해당 서비스가 제공될 수 있다. In addition, the service server 730 collects data (personal information) in the middle of the partnership with the user terminal 710 in accordance with the contract to provide the service requested by the user terminal 710 server 720 And a block corresponding to user's personal information (eg, location information) from at least one of the servers 730 of another data broker. In addition, the service may be provided to the user terminal 710 based on the personal information included in the received block. For example, a corresponding service may be provided through a service application installed in the user terminal 710.

이처럼, 개인정보가 사용자 단말(710)에서 생성된 후, 개인정보관련 거래내역 및 기본정보를 포함하는 블록이 데이터 브로커의 서버(720), 다른 데이터 브로커의 서버(740) 및 서비스 서버(730) 각각으로 전달되는 일련의 과정을 나타내는 정보가 블록체인 형태로 기록되어 보관될 수 있으며, 상기 정보가 기록된 블록체인은 각 장치(710, 720, 730, 740)의 블록체인 관리자에서 보관 및 유지할 수 있다. 그러면, 해당 블록체인을 기반으로 사용자가 자신의 개인정보가 어떻게 거래되었는지를 나타내는 거래 흐름, 활용 정도를 추적 및 파악할 수 있다. 즉, 상기 블록체인에 연결된 시간이 경과함에 따라 시간 별로 사용자의 개인정보와 관련된 거래가 발생할 때마다 체인 형태로 연결된 블록들을 추적함으로써, 사용자가 자신의 개인정보가 어떻게 거래되었는지를 파악할 수 있다. 여기서, 개인정보가 기록된 블록을 블록체인 형태로 저장 및 유지하는 동작은 아래의 도 8을 참고하여 설명하기로 한다.As such, after the personal information is generated in the user terminal 710, a block including the transaction information and basic information related to the personal information is stored in the server 720 of the data broker, the server 740 of the other data broker, and the service server 730. Information representing a series of processes delivered to each can be recorded and stored in a blockchain form, and the blockchain in which the information is recorded can be stored and maintained by the blockchain manager of each device 710, 720, 730, 740. have. Then, based on the blockchain, the user can track and grasp the transaction flow and usage degree indicating how his personal information is traded. That is, as the time connected to the blockchain elapses, each time a transaction related to the user's personal information occurs, by tracking the blocks connected in a chain form, the user can determine how his personal information is traded. Here, the operation of storing and maintaining the block in which the personal information is recorded in the form of a block chain will be described with reference to FIG. 8 below.

도 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 block 810, 820, 830 for each time t 1 , t 2 , t 3 , and each block 810, 820, 830 may be Transaction information related to the user's personal information and transaction-related basic information (811, 812, 821, 822, 831, 832, 833) may be included.

도 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 block 810 corresponding to a time t 1 connected to the block chain in the user terminal 710 may be delivered to the server 720 of the data broker, and in the data broker server 720 Processing such as adding content to the block 810 or changing the included content may be performed. Here, the processing may include sending information to itself. Then, the block 810 corresponding to the time t 1 may include a transaction history 811 and a transaction history 812, and the information 822 generated by processing the information 811 occurs at time t 2 . As such, block 820 corresponding to time t 2 may include transaction history 821 and transaction history 822. Here, the transaction history 812 indicates that the transaction history 811 received from the user terminal 710 is processed in the server 720 of the data broker, and the transaction history 811 indicates that the user's personal information is displayed in the user terminal 710. From the data broker server 720 may indicate that a transaction has occurred.

마찬가지로, 시간 t2에 해당하는 블록(820)은 상기 거래내역(811)이 데이터 브로커의 서버(720)에서 다른 데이터 브로커의 서버(740)로 전달되었음을 나타내는 정보(821, 즉, 거래내역) 및 상기 거래내역(812)이 데이터 브로커의 서버(720)에서 서비스 서버(730)로 전달되었음을 나타내는 정보(822, 즉, 거래내역)을 포함할 수 있다. Similarly, block 820 corresponding to time t 2 includes information 821 indicating that transaction details 811 have been transferred from server 720 of data broker to server 740 of another data broker; The transaction history 812 may include information 822, that is, transaction history, indicating that the transaction history 812 is transmitted from the server 720 of the data broker to the service server 730.

시간 t3에 해당하는 블록(830)은 상기 거래내역(821)이 내용이 변경 또는 추가되는 등의 형태로 가공되었음을 나타내는 정보(831, 즉, 거래내역), 상기 거래내역(821)이 데이터 브로커의 서버(720)에서 서비스 서버(730)로 전달되었음을 나타내는 정보(832, 즉, 거래내역), 상기 거래내역(831)이 데이터 브로커의 서버(720)에서 서비스 서버(730)로 전달되었음을 나타내는 정보(833, 즉, 거래내역)을 포함할 수 있다.Block 830 corresponding to time t 3 includes information 831 indicating that the transaction history 821 has been processed in the form of contents being changed or added, that is, the transaction history, and the transaction history 821 is a data broker. Information 832 indicating that the server 720 is transmitted from the server 720 to the service server 730. (833, ie, transaction details).

도 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 user A 910 moves from the position information (transaction 1) at time 1, which is the current time, and the time information, and the position information (transaction 2) at time 2, which has elapsed for a predetermined time, for a predetermined time. You can collect while. Then, the current block 911 including the collected location information (ie, transaction 1 and transaction 2, that is, transaction details) may be generated. At this time, if there is a Pokémon caught at the location, the transaction may further include identifier information indicating the type of Pokémon caught. Then, the block 911 including the location information and the captured new Pokémon information may be transmitted to the service server (eg, Pokemon Go server 920).

이때, 블록(911)에 포함된 거래(예컨대, 거래 1, 거래 2 등) 별로, 시간 정보(timestamp), 해당 정보를 전송하는 송신 노드의 정보, 수신 노드의 정보, 거래내역의 식별자 정보(예컨대, E2DC3402A...) 등을 기본 정보(913)로서 포함하고, 해당 정보의 소유주 식별자 정보(예컨대, ID), 데이터의 종류(위치정보인지, 포켓몬 정보인지 등), 데이터 별 데이터의 크기, 및 데이터 내용 등을 거래내역(914)으로서 포함할 수 있다. At this time, for each transaction (eg, transaction 1, transaction 2, etc.) included in the block 911, time information (timestamp), information of the transmitting node transmitting the corresponding information, information of the receiving node, identifier information of the transaction history (for example, , E2DC3402A ...), etc. as basic information 913, and includes owner identifier information (e.g., ID) of the corresponding information, type of data (e.g., location information, Pokemon information, etc.), size of data for each data, and Data contents and the like may be included as the transaction history 914.

도 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 service server 970 may process information based on information (eg, basic information, transaction history, etc.) included in blocks received from the user A 980 and the user B 990. . For example, processing such as merging (or collecting) information received from User A 980 and User B 990 may be performed, and the new transaction 972 may be included in the current block 971 through the information processing. Can be. For example, if transaction 1 and transaction 2 were included in the previous block, current block 971 may include transaction 1, transaction 2, and transaction 3 (ie, a new transaction created as the information is processed). Herein, transaction 3 972 includes user A related information 974 (e.g., location information, user's identifier information, type of Pokémon, etc.) and user B related information 973 (e.g., location information, user's identifier information, Transaction information, basic information, and the like). In this case, the service server 970 may calculate, store, and maintain statistics of transactions 3 (972), that is, statistics of users who have previously designated a target, such as Pikachu, based on a block including the processed information.

도 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 server 1000 of a data broker, a user terminal 1050, a service server 1060, and a server 1070 of one or more other data brokers. In addition, all nodes forming the network (ie, 1000, 1050, 1060, and 1070) may include a blockchain manager (1010, 1051, 1061, 1071).

그리고, 블록 체인 관리자들(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 blockchain managers 1010, 1051, 1061, and 1071 includes a blockchain verifier 1011, a blockchain distributor 1012, a blockchain creator 1013, And blockchain storage 1014. In FIG. 10, the blockchain verifier 1011 corresponds to the block verifier 314 of FIG. 3, and the blockchain distributor 1012 corresponds to the block propagation unit 313. The blockchain creator 1013 may correspond to the block generator 311, and the blockchain storage 1014 may correspond to the blockchain controller 312. The visualization module 1015 may be implemented to be included in the blockchain manager 1010 or may be separately implemented. The visualization module 1015 may be implemented in the server 1000 of the data broker, It may be implemented to be included in the processor of the user terminal 1050 in addition to the server 1000 of the data broker. For example, a visualization module 1015 for visualizing transaction flow tracking for personal information may be included in both the server 1000 and the user terminal 1050 of the data broker, and any one of the server 1000 and the terminal 1050 may be included. The visualization module 1015 may be included.

도 10에서, 블록체인 생성부(blockchain creator, 1013)는 일정시간 동안 모아진 N개의 거래내역을 하나의 블록에 저장하여, 새로운 블록을 생성하는 것으로서, 도 3의 블록 생성부(311)에서 새로운 블록을 생성하는 동작은 자세히 설명하였으므로, 중복되는 설명은 생략하기로 한다.In FIG. 10, the blockchain creator 1013 stores N transactions collected for a predetermined time in one block to generate a new block, and the new block is generated in the block generator 311 of FIG. 3. Since the operation of generating is described in detail, duplicate description will be omitted.

블록체인 저장부(blockchain storage, 1014)는 생성된 블록을 블록체인에 추가 연결함으로써, 네트워크 내의 거래 내역을 저장하는 역할을 수행하며, 도 3의 블록체인 제어부(312)에 해당할 수 있다.The blockchain storage 1014 additionally connects the generated block to the blockchain to store transaction details in the network and may correspond to the blockchain controller 312 of FIG. 3.

블록체인 전파부(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 block propagation unit 313 of FIG. Here, the blockchain is authenticated by validating a block containing several transactions with other nodes in the network, and the authenticated block can be confirmed by additionally connecting to a blockchain stored in the existing blockchain storage unit 1014. have.

블록체인 검증부(blockchain verifier, 1011)는 외부의 블록체인 관리자들(1051, 1061, 1071)에서 생성한 새로운 거래 내역을 담은 블록을 검증하기 위해 이용되는 것으로서, 도 3의 블록 검증부(314)에 해당할 수 있다. 블록체인은 다른 노드에서 생성한 새로운 블록에 기록된 정보를 검증한 후, 해당 블록(즉, 해당 거래)를 확정하여 블록체인 저장부(1014)에 다른 노드에서 생성한 새로운 블록을 저장할 수 있다. 즉, 블록체인 저장부(1014)에 저장된 블록체인에 상기 새로운 블록이 체인 형태로 추가 연결될 수 있다.The blockchain verifier 1011 is used to verify a block containing new transaction details generated by external blockchain managers 1051, 1061, and 1071, and the block verifier 314 of FIG. 3. It may correspond to. After verifying the information recorded in the new block generated by another node, the blockchain may determine the block (ie, the corresponding transaction) and store the new block generated by another node in the blockchain storage unit 1014. That is, the new block may be additionally connected in a chain form to the blockchain stored in the blockchain storage unit 1014.

개인정보 관리자(personal Information manager, 1020)는 데이터 브로커의 서버(1000)에 포함되는 것으로서, 거래흐름 제공 시스템(300)이 데이터 브로커의 서버(1000)에 해당하는 경우, 사용자 단말로부터 수신한 블록을 가공하기 위해 이용될 수 있다. 도 10에서는 가공하는 동작이 블록체인 관리자(1010)와는 별도로 개인정보 관리자(1020)에서 수행하는 것을 예로 들어 설명하나, 단말로부터 수신된 블록을 가공하여 새로운 블록을 생성하는 동작은 블록체인 관리자(1010)에서 수행할 수도 있다. 즉, 개인정보 관리자(1020)에서 상기 가공에 해당하는 일부 프로세스는 블록체인 관리자(1010)에 통합되는 형태로 구현될 수도 있다.The personal information manager 1020 is included in the server 1000 of the data broker. When the transaction flow providing system 300 corresponds to the server 1000 of the data broker, a block received from the user terminal is received. Can be used for processing. In FIG. 10, the processing operation is performed by the personal information manager 1020 separately from the block chain manager 1010. For example, the operation of processing a block received from the terminal to generate a new block is performed by the block chain manager 1010. You can also run That is, some processes corresponding to the processing in the personal information manager 1020 may be implemented in the form of being integrated into the blockchain manager 1010.

개인정보 관리자(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 manager 1020 includes an open API connector, a personal information processor, a personal information aggregator, and a personal information storage. can do. The open API connector may provide an API function for delivering collected personal information to an external device (eg, another data broker's server, a service server, etc.). In addition, the open API connector may not only provide the raw data as a whole through the API, but may also provide characteristics or summaries (statistics, etc.) of the data.

개인 정보 수집부(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 processor 300 of FIG. 3 provides a transaction flow tracking unit in order to provide an operation of providing personal information usage, that is, a transaction flow (ie, to perform steps 1110 and 1120 of FIG. 11). It may further include (not shown). In addition, each of the steps 1110 and 1120 of FIG. 11 may be performed by a visualization module 1015.

1110 단계에서, 거래 흐름 추적부는 블록체인에 포함된 체인 형태로 연결된 블록들을 대상으로, 머클 트리(Merkle tree) 탐색을 통해 추적하고자 하는 사용자의 식별자 정보(예컨대, 개인정보 소유주의 ID 등)에 기초하여 해당 사용자의 개인 정보를 송신한 노드의 식별자 정보를 추출할 수 있다. 즉, 상기 사용자의 식별자 정보에 기초하여 네트워크 상에서 해당 사용자의 개인정보를 송수신한 모든 노드의 정보(예컨대, 데이터 브로커의 식별자 정보, 서비스 서버의 식별자 정보, 다른 브로커의 식별자 정보 등)이 추출될 수 있다. 이때, 상기 모든 노드의 식별자 정보를 추출 시, 기준점에 따라 추출되는 요소가 상이할 수 있다.In step 1110, the transaction flow tracking unit targets blocks connected in the form of a chain included in the blockchain, based on identifier information (eg, ID of a personal information owner) of a user to be tracked through a Merkle tree search. The identifier information of the node that transmits the personal information of the user can be extracted. That is, based on the identifier information of the user, the information (eg, data broker identifier information, service server identifier information, identifier information of another broker, etc.) of all nodes that have transmitted and received personal information of the user on the network may be extracted. have. In this case, when extracting the identifier information of all the nodes, the elements extracted according to the reference point may be different.

예를 들어, 개인정보로서 위치정보의 이용 현황(즉, 거래 흐름)을 추적하는 경우, 위치정보를 기준으로 송신 노드와 수신 노드의 한 쌍(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 operation 1120, the transaction flow tracking unit may visualize and provide a transaction flow for personal information to the user based on the extracted identifier information of the node. For example, when the transaction flow tracking unit is included in the user terminal, the transaction flow searched on the screen of the user terminal through the application may be provided by visualization. When the transaction flow tracking unit is included in the server of the data broker, chain information in which the identifier information of the extracted nodes is chained may be provided to the user terminal, and the information of the nodes that transmit / receive personal information based on the chain information may be visualized. It can be displayed on the screen of the user terminal.

일례로, 네트워크 형태로 구성된 각 노드들이 사용자 단말의 화면에 표시될 수 있다. 그리고, 화면에 표시된 네트워크를 형성하는 복수의 노드들 중 선택된 노드를 기준으로 송수신된 사용자의 개인정보에 해당하는 데이터 종류가 아이콘 형태로 선택된 노드 주변 영역에 함께 표시될 수 있다. 그리고, 실제 어느 정도의 양이 전달됐는지 여부가 오버레이(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 블록을 생성하는 단계는,
미리 정의된 일정 시간 동안의 상기 둘 이상의 거래내역을 포함하도록 상기 제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 노드가 상기 사용자의 요청에 대한 응답으로, 상기 제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.
제3항에 있어서,
상기 추적을 제공하는 단계는,
상기 제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 블록체인을 저장하는 블록체인 저장부;
제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.
제5항에 있어서,
상기 블록 생성부는,
미리 정의된 일정 시간 동안의 상기 둘 이상의 거래내역을 포함하도록 상기 제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.
제5항에 있어서,
상기 사용자의 요청에 대한 응답으로, 상기 제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.
제7항에 있어서,
상기 거래 흐름 추적부는,
상기 제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.
제9항에 있어서,
상기 사용자 개인정보에 대한 거래 흐름 제공 방법은,
상기 사용자의 요청에 대한 응답으로, 상기 제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.
KR1020180148527A 2018-11-27 2018-11-27 Method and system for tracking transaction of the user personal information based in blockchain KR102051231B1 (en)

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)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
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

Patent Citations (2)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
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