KR102227442B1 - Method for the settlement of personal information - Google Patents

Method for the settlement of personal information Download PDF

Info

Publication number
KR102227442B1
KR102227442B1 KR1020190036204A KR20190036204A KR102227442B1 KR 102227442 B1 KR102227442 B1 KR 102227442B1 KR 1020190036204 A KR1020190036204 A KR 1020190036204A KR 20190036204 A KR20190036204 A KR 20190036204A KR 102227442 B1 KR102227442 B1 KR 102227442B1
Authority
KR
South Korea
Prior art keywords
node
sales
information
transaction
smart contract
Prior art date
Application number
KR1020190036204A
Other languages
Korean (ko)
Other versions
KR20200114434A (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 KR1020190036204A priority Critical patent/KR102227442B1/en
Publication of KR20200114434A publication Critical patent/KR20200114434A/en
Application granted granted Critical
Publication of KR102227442B1 publication Critical patent/KR102227442B1/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
    • G06Q30/00Commerce
    • G06Q30/02Marketing; Price estimation or determination; Fundraising
    • G06Q30/0207Discounts or incentives, e.g. coupons or rebates
    • G06Q30/0217Discounts or incentives, e.g. coupons or rebates involving input on products or services in exchange for incentives or rewards
    • 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/0283Price estimation or determination

Abstract

본 발명은 개인의 정보를 판매한 대금을 정산하는 방법에 관한 것으로, 구체적으로 블록체인을 기반한 본인 정보 판매 및 대금 정산 방법에 관한 것이다. 본 발명의 블록체인 네트워크를 이용한 본인정보 판매대금 정산 방법은 사업자 노드가 사용자 단말로부터 본인정보의 판매 정책 등록 요청을 수신하는 단계, 사업자 노드에 의해, 판매 정책 등록 요청에 응답하여 판매 정책에 대응하는 제1 트랜잭션을 배포하는 단계, 사업자 노드에 의해, 제1 트랜잭션에 대응하는 제1 스마트 컨트랙트를 생성하는 단계, 사업자 노드에 의해 본인정보 판매에 대응하는 제2 트랜잭션을 배포하고, 구매자 노드에 의해 본인정보 구매에 대응하는 제3 트랜잭션을 배포하는 단계 및 제2 트랜잭션 및 제3 트랜잭션의 배포에 따른 제1 스마트 컨트랙트의 이행에 응답하여, 사업자 노드에 의해 사용자 단말 및 구매자 노드에 본인정보 판매대금을 정산하는 단계를 포함할 수 있다.The present invention relates to a method of settling the price of selling personal information, and more specifically, to a method of selling personal information and settling the price based on a block chain. In the method of calculating the sales price of the self-information using the blockchain network of the present invention, the step of receiving a request for registration of a sales policy of the user's information by a business node from a user terminal, and responding to the sales policy in response to a request for registration of sales policy The step of distributing the first transaction, the step of creating a first smart contract corresponding to the first transaction by the operator node, the step of distributing a second transaction corresponding to the sale of personal information by the operator node, and the user by the purchaser node In response to the step of distributing a third transaction corresponding to the purchase of information and the implementation of the first smart contract according to the distribution of the second and third transactions, the sales price of the personal information is settled by the operator node to the user terminal and the purchaser node. It may include the step of.

Figure R1020190036204
Figure R1020190036204

Description

본인정보 판매대금 정산 방법{Method for the settlement of personal information}Method for the settlement of personal information

본 발명은 개인의 정보를 판매한 대금을 정산하는 방법에 관한 것으로, 구체적으로 블록체인을 기반한 본인 정보 판매 및 대금 정산 방법에 관한 것이다.The present invention relates to a method of settling the price of selling personal information, and more specifically, to a method of selling personal information and settling the price based on a block chain.

현대 사회에서 개인의 데이터 또는 본인정보(mydata)는 병원, 은행, 통신사, 전력기관, SNS 등의 국가 및 기업에 파편화되어 활용되고 있다. 구체적으로, 정부 및 기업은 본인정보에 대하여 빅데이터 분석 및 마케팅 등에 활용한다. In the modern society, personal data or mydata is fragmented and used by countries and companies such as hospitals, banks, telecommunications companies, power agencies, and SNS. Specifically, the government and companies use their own information for big data analysis and marketing.

한편, 본인정보는 개인 당사자에 대한 정보임에도 불구하고, 본인 스스로 본인정보에 활용에 대한 자기결정권이 없는 실정이다. 아이러니하게도 본인정보는 개인 당사자가 아닌 정부 및 기업이 주도적으로 활용하고 있음에도, 개인정보보호의 영역에 있다는 점에서 정부 및 기업 간 활발히 공유되기가 어렵다. 즉, 국가 및 기업이 파편화된 본인정보를 보관하고 있음에도, 본인정보는 필요한 시점에 충분히 공유하여 활용되지 못하고 있다. On the other hand, despite the fact that the personal information is information about the individual party, there is no self-determination right to use the personal information by himself. Ironically, it is difficult to actively share personal information between governments and companies in that it is in the area of personal information protection, even though it is being used by the government and companies, not by individual parties. In other words, even though the country and companies keep fragmented personal information, the personal information is not sufficiently shared and utilized when necessary.

또한, 기존의 중앙화된 시스템에서 보관 및 관리되는 본인정보는 해커의 공격 또는 의도치 않은 유출 등의 위험이 있을 수 있다. In addition, personal information stored and managed in an existing centralized system may pose a risk of hacker attack or unintended leakage.

이에 따라, 개인 당사자가 주도적으로 본인정보에 대한 통제권을 가지면서도, 중앙화된 시스템에 비하여 보안을 강화할 필요성이 제고되고 있다. Accordingly, the necessity of strengthening security compared to a centralized system while individual parties take the initiative in controlling their own information is increasing.

이와 같이 본인 주도의 통제권 활용 및 보안의 강화를 위하여, 신뢰성과 탈중앙화를 특징으로 하는 블록체인(block chain)이 본인정보 활용에 적용될 수 있다. 특히, 블록체인 네트워크 중 스마트 컨트랙트를 통한 데이터 트랜잭션을 구현할 수 있다. In this way, in order to utilize self-directed control and strengthen security, a block chain characterized by reliability and decentralization can be applied to the use of self-information. In particular, it is possible to implement data transactions through smart contracts among blockchain networks.

블록체인은 정보가 기록된 블록(block)을 사슬처럼 연결(chain)한 것으로, 네트워크에 참여하는 모든 주체들이 관리 대상이 되는 블록체인을 분산하여 저장하는 데이터 분산 처리 기술을 의미한다.Blockchain is a chain of blocks on which information is recorded, and refers to a data distribution processing technology that distributes and stores the block chain, which is the subject of management by all subjects participating in the network.

한국등록특허 제10-1784197(2017.09.27)호는 블록체인의 암호화 기술로 인해 디지털 가상 화폐를 포함하는 자산을 이용하여 수혜자에게 직접 기부를 하도록 구성함으로써, 기부 단체의 인증과정을 통하지 않고서도 직접 수혜자에게 기부를 하여 자신의 기부금이 원하는 곳에 투명하게 사용되도록 할 수 있다.Korean Patent Registration No. 10-1784197 (2017.09.27) consists of making donations directly to beneficiaries using assets including digital virtual currency due to the encryption technology of the blockchain. Donations can be made to beneficiaries so that their donations are transparently used wherever they want.

본 발명은 상술한 필요성에 따른 것으로, 개인 당사자가 주도적으로 본인정보에 대한 통제권을 가지면서도, 보안이 강화된 본인정보 활용 방법을 제공하는 것을 목적으로 한다.The present invention is in accordance with the above-described necessity, and an object of the present invention is to provide a method of utilizing personal information with enhanced security while an individual party has the right to control his or her own information.

또한, 본 발명은 본인정보 활용에 있어서 투명화 및 자동화된 정보 거래 방법을 제공하는 것을 목적으로 한다. In addition, an object of the present invention is to provide a transparent and automated information transaction method in utilizing personal information.

그러나 이러한 과제는 예시적인 것으로, 이에 의해 본 발명의 범위가 한정되는 것은 아니다. However, these problems are exemplary, and the scope of the present invention is not limited thereby.

본 발명의 일 실시 예에 따른 블록체인 네트워크를 이용한 본인정보 판매대금 정산 방법은 사업자 노드가 사용자 단말로부터 본인정보의 판매 정책 등록 요청을 수신하는 단계; 상기 사업자 노드에 의해, 상기 판매 정책 등록 요청에 응답하여 상기 판매 정책에 대응하는 제1 트랜잭션을 배포하는 단계; 상기 사업자 노드에 의해, 상기 제1 트랜잭션에 대응하는 제1 스마트 컨트랙트를 생성하는 단계; 상기 사업자 노드에 의해 상기 본인정보 판매에 대응하는 제2 트랜잭션을 배포하고, 구매자 노드에 의해 상기 본인정보 구매에 대응하는 제3 트랜잭션을 배포하는 단계; 및 상기 제2 트랜잭션 및 상기 제3 트랜잭션의 배포에 따른 상기 제1 스마트 컨트랙트의 이행에 응답하여, 상기 사업자 노드에 의해 상기 사용자 단말 및 상기 구매자 노드에 상기 본인정보 판매대금을 정산하는 단계; 를 포함할 수 있다. In accordance with an embodiment of the present invention, a method for calculating a sales price for personal information using a block chain network includes the steps of, by a business node, receiving a request for registration of a sales policy for the user information from a user terminal; Distributing, by the operator node, a first transaction corresponding to the sales policy in response to the sales policy registration request; Generating, by the operator node, a first smart contract corresponding to the first transaction; Distributing a second transaction corresponding to the self-information sale by the operator node, and distributing a third transaction corresponding to the self-information purchase by the purchaser node; And in response to the execution of the first smart contract according to the distribution of the second transaction and the third transaction, calculating the sales price of the personal information to the user terminal and the purchaser node by the operator node. It may include.

또한, 상기 판매 정책은 판매 기간, 판매 금액 및 판매 범위 중 적어도 하나를 포함할 수 있다.In addition, the sales policy may include at least one of a sales period, a sales amount, and a sales range.

또한, 상기 제1 스마트 컨트랙트는 상기 제2 트랜잭션 및 상기 제3 트랜잭션이 배포되는 경우 이행되는 것을 특징으로 할 수 있다.In addition, the first smart contract may be implemented when the second transaction and the third transaction are distributed.

또한, 상기 제1 스마트 컨트랙트는 상기 사업자 노드의 판매 정책에 대하여 상기 구매자 노드의 승인이 발생하는 경우, 상기 사업자 노드로부터 상기 본인정보를 상기 구매자 노드로 전송하는 것을 포함하며, 상기 사업자 노드에 의해 상기 본인정보 판매에 대응하는 제2 트랜잭션을 배포하고, 구매자 노드에 의해 상기 본인정보 구매에 대응하는 제3 트랜잭션을 배포하는 단계는, 상기 구매자 노드에 의해, 상기 제1 스마트 컨트랙트의 상태(state)를 조회하는 단계; 및 상기 제1 스마트 컨트랙트의 상태와 상기 구매자 노드의 구매 조건이 일치하는 경우, 상기 승인이 발생하고 상기 제1 스마트 컨트랙트의 이행에 응답하여 상기 사업자 노드에 의해 상기 본인정보가 상기 구매자 노드로 전송되는 단계;를 더 포함할 수 있다. In addition, the first smart contract includes transmitting the identity information from the operator node to the purchaser node when approval of the purchaser node occurs with respect to the sales policy of the operator node, and the operator node transmits the identity information to the purchaser node. Distributing a second transaction corresponding to the sale of personal information, and distributing a third transaction corresponding to the purchase of the personal information by a purchaser node, may include, by the purchaser node, a state of the first smart contract. Querying; And when the state of the first smart contract matches the purchase condition of the purchaser node, the approval occurs and the identity information is transmitted to the purchaser node by the operator node in response to the implementation of the first smart contract. Step; may further include.

또한, 상기 본인정보는 보관기관 노드로부터 전송된 것이고, 상기 사용자 노드의 판매대금 정산 조건에 대한 제2 스마트 컨트랙트의 이행을 통해 상기 보관기관 노드로부터 수신될 수 있다. In addition, the personal information may be transmitted from the storage institution node, and may be received from the storage institution node through the execution of a second smart contract with respect to the sales price settlement condition of the user node.

또한, 상기 제2 스마트 컨트랙트는 상기 사용자 노드의 판매대금 정산 조건과 상기 보관기관 노드의 판매대금 정산 조건이 일치하는 경우, 상기 보관기관 노드에 의해 상기 본인정보가 상기 사용자 노드로 전송되는 것일 수 있다. In addition, the second smart contract may be that when the sales price settlement condition of the user node and the sales price settlement condition of the storage institution node are identical, the identity information is transmitted to the user node by the storage institution node. .

또한, 상기 판매 정책은 상기 본인정보 종류 및 판매량에 따른 판매대금 정산에 대한 정보를 포함하고, 상기 판매대금을 정산하는 단계는 상기 판매 정책에 대응하여 생성된 상기 제1 스마트 컨트랙트에 따라 정산을 수행하는 것일 수 있다.In addition, the sales policy includes information on settlement of the sales price according to the type of personal information and sales volume, and the step of calculating the sales price performs settlement according to the first smart contract generated in response to the sales policy. It can be.

전술한 것 외의 다른 측면, 특징, 이점은 이하의 발명을 실시하기 위한 구체적인 내용, 청구범위 및 도면으로부터 명확해질 것이다.Other aspects, features, and advantages other than those described above will become apparent from the detailed contents, claims, and drawings for carrying out the following invention.

상기한 바와 같이 이루어진 본 발명의 일 실시예에 따르면, 본인정보에 대한 활용 통제권을 개인 당사자가 행사할 수 있다. According to an embodiment of the present invention made as described above, an individual party may exercise the right to control the use of personal information.

또한, 본 발명은 데이터의 판매에 따른 트랜잭션이 발생함에 따른 스마트 컨트랙트 이행을 통해 판매대금 정산의 자동화 및 투명화가 가능할 수 있다. In addition, according to the present invention, it is possible to automate and transparentize the settlement of the sales price through the implementation of a smart contract when a transaction occurs according to the sale of data.

물론 이러한 효과에 의해 본 발명의 범위가 한정되는 것은 아니다.Of course, the scope of the present invention is not limited by these effects.

도 1은 본 발명의 일 실시예예 따른 블록체인에 기반한 본인정보(mydata) 관리 및 판매 환경을 설명하기 위한 도면이다.
도 2는 본 발명의 일 실시예에 따른 본인정보 판매 및 판매대금 정산을 수행하는 방법을 설명하기 위한 간단한 블록도이다.
도 3은 본 발명의 일 실시예에 따른 본인정보 판매 및 판매대금 정산을 수행하는 방법을 설명하기 위한 스퀀스도이다.
1 is a view for explaining a personal information (mydata) management and sales environment based on a block chain according to an embodiment of the present invention.
2 is a simple block diagram illustrating a method of selling personal information and calculating a sales price according to an embodiment of the present invention.
3 is a sequence diagram illustrating a method of selling personal information and calculating a sales price according to an embodiment of the present invention.

이하, 본 개시의 다양한 실시예가 첨부된 도면과 연관되어 기재된다. 본 개시의 다양한 실시예는 다양한 변경을 가할 수 있고 여러 가지 실시예를 가질 수 있는바, 특정 실시예들이 도면에 예시되고 관련된 상세한 설명이 기재되어 있다. 그러나 이는 본 개시의 다양한 실시예를 특정한 실시 형태에 대해 한정하려는 것이 아니며, 본 개시의 다양한 실시예의 사상 및 기술 범위에 포함되는 모든 변경 및/또는 균등물 내지 대체물을 포함하는 것으로 이해되어야 한다. 도면의 설명과 관련하여, 유사한 구성요소에 대해서는 유사한 참조 부호가 사용되었다.Hereinafter, various embodiments of the present disclosure will be described in connection with the accompanying drawings. Various embodiments of the present disclosure may be subjected to various changes and may have various embodiments, and specific embodiments are illustrated in the drawings and related detailed descriptions are described. However, this is not intended to limit the various embodiments of the present disclosure to specific embodiments, and it should be understood that all changes and/or equivalents or substitutes included in the spirit and scope of the various embodiments of the present disclosure are included. In connection with the description of the drawings, similar reference numerals have been used for similar elements.

본 개시의 다양한 실시예에서 사용될 수 있는 "포함한다." 또는 "포함할 수 있다." 등의 표현은 개시(disclosure)된 해당 기능, 동작 또는 구성요소 등의 존재를 가리키며, 추가적인 하나 이상의 기능, 동작 또는 구성요소 등을 제한하지 않는다. 또한, 본 개시의 다양한 실시예에서, "포함하다." 또는 "가지다." 등의 용어는 명세서상에 기재된 특징, 숫자, 단계, 동작, 구성요소, 부품 또는 이들을 조합한 것이 존재함을 지정하려는 것이지, 하나 또는 그 이상의 다른 특징들이나 숫자, 단계, 동작, 구성요소, 부품 또는 이들을 조합한 것들의 존재 또는 부가 가능성을 미리 배제하지 않는 것으로 이해되어야 한다."Includes", which may be used in various embodiments of the present disclosure. Or "may include." The expression, etc. indicates the existence of a corresponding function, operation, or component that has been disclosed, and does not limit one or more additional functions, operations, or components. Also, in various embodiments of the present disclosure, "includes." Or "have." The terms such as, etc. are intended to designate the existence of features, numbers, steps, actions, components, parts, or a combination of them described in the specification, and one or more other features or numbers, steps, actions, components, parts, or It is to be understood that the possibility of the presence or addition of those combinations thereof is not preliminarily excluded.

본 개시의 다양한 실시예에서 "또는" 등의 표현은 함께 나열된 단어들의 어떠한, 그리고 모든 조합을 포함한다. 예를 들어, "A 또는 B"는, A를 포함할 수도, B를 포함할 수도, 또는 A 와 B 모두를 포함할 수도 있다.In various embodiments of the present disclosure, expressions such as "or" include any and all combinations of words listed together. For example, "A or B" may include A, may include B, or may include both A and B.

본 개시의 다양한 실시예에서 사용된 "제1", "제2", "첫째", 또는 "둘째" 등의 표현들은 다양한 실시예들의 다양한 구성요소들을 수식할 수 있지만, 해당 구성요소들을 한정하지 않는다. 예를 들어, 상기 표현들은 해당 구성요소들의 순서 및/또는 중요도 등을 한정하지 않는다. 상기 표현들은 한 구성요소를 다른 구성요소와 구분하기 위해 사용될 수 있다. 예를 들어, 제1 사용자 기기와 제2 사용자 기기는 모두 사용자 기기이며, 서로 다른 사용자 기기를 나타낸다. 예를 들어, 본 개시의 다양한 실시예의 권리 범위를 벗어나지 않으면서 제1 구성요소는 제2 구성요소로 명명될 수 있고, 유사하게 제2 구성요소도 제1 구성요소로 명명될 수 있다.Expressions such as "first", "second", "first", or "second" used in various embodiments of the present disclosure may modify various elements of various embodiments, but do not limit the corresponding elements. Does not. For example, the expressions do not limit the order and/or importance of corresponding elements. The above expressions may be used to distinguish one component from another component. For example, a first user device and a second user device are both user devices and represent different user devices. For example, without departing from the scope of the rights of various embodiments of the present disclosure, a first component may be referred to as a second component, and similarly, a second component may be referred to as a first component.

어떤 구성요소가 다른 구성요소에 "연결되어" 있다거나 "접속되어" 있다고 언급된 때에는, 상기 어떤 구성요소가 상기 다른 구성요소에 직접적으로 연결되어 있거나 또는 접속되어 있을 수도 있지만, 상기 어떤 구성요소와 상기 다른 구성요소 사이에 새로운 다른 구성요소가 존재할 수도 있다고 이해되어야 할 것이다. 반면에, 어떤 구성요소가 다른 구성요소에 "직접 연결되어" 있다거나 "직접 접속되어" 있다고 언급된 때에는, 상기 어떤 구성요소와 상기 다른 구성요소 사이에 새로운 다른 구성요소가 존재하지 않는 것으로 이해될 수 있어야 할 것이다.When a component is referred to as being "connected" or "connected" to another component, the component is directly connected to or may be connected to the other component, but the component and It should be understood that new other components may exist between the other components. On the other hand, when a component is referred to as being "directly connected" or "directly connected" to another component, it will be understood that no new other component exists between the component and the other component. Should be able to.

본 개시의 다양한 실시예에서 사용한 용어는 단지 특정일 실시예를 설명하기 위해 사용된 것으로, 본 개시의 다양한 실시예를 한정하려는 의도가 아니다. 단수의 표현은 문맥상 명백하게 다르게 뜻하지 않는 한, 복수의 표현을 포함한다.The terms used in various embodiments of the present disclosure are only used to describe a specific embodiment, and are not intended to limit the various embodiments of the present disclosure. Singular expressions include plural expressions unless the context clearly indicates otherwise.

다르게 정의되지 않는 한, 기술적이거나 과학적인 용어를 포함해서 여기서 사용되는 모든 용어들은 본 개시의 다양한 실시예가 속하는 기술 분야에서 통상의 지식을 가진 자에 의해 일반적으로 이해되는 것과 동일한 의미를 가지고 있다.Unless otherwise defined, all terms including technical or scientific terms used herein have the same meaning as commonly understood by one of ordinary skill in the art to which various embodiments of the present disclosure belong.

일반적으로 사용되는 사전에 정의되어 있는 것과 같은 용어들은 관련 기술의 문맥상 가지는 의미와 일치하는 의미를 가지는 것으로 해석되어야 하며, 본 개시의 다양한 실시예에서 명백하게 정의되지 않는 한, 이상적이거나 과도하게 형식적인 의미로 해석되지 않는다.Terms as defined in a commonly used dictionary should be interpreted as having a meaning consistent with the meaning in the context of the related technology, and ideal or excessively formal unless explicitly defined in various embodiments of the present disclosure. It is not interpreted in meaning.

블록체인 네트워크는 노드와 클라이언트를 포함할 수 있다. 노드는 트랜잭션 내역을 보관하고 트랜잭션을 승인하며 분산합의를 수행할 수 있다. 클라이언트는 트랜잭션을 생성하고, 거래 내역을 확인할 수 있는 기능을 수행할 수 있다. 사용자 관점에서 블록체인의 노드는 일반적인 서비스의 백엔드(Backend) 역할을 수행하고, 클라이언트는 클라이언트 역할을 수행할 수 있다.Blockchain networks can include nodes and clients. Nodes can store transaction details, approve transactions, and perform distributed agreements. The client can create a transaction and perform the function of checking the transaction details. From the user's point of view, the nodes of the blockchain can serve as the backend of general services, and the client can serve as a client.

블록체인의 노드는 두 가지 종류의 데이터베이스를 가지고 있다. 트랜잭션 데이터베이스는 올바른 트랜잭션에 관한 모든 기록을 보관할 수 있고, 어플리케이션 데이터베이스는 저장된 트랜잭션을 어플리케이션에 적용할 수 있다. 트랜잭션 데이터베이스는 블록체인이라고 하는 블록이 연결된 구조를 통해 구성될 수 있다. 각 블록은 순서가 정해진 트랜잭션 리스트를 포함할 수 있고 시간의 순서에 따라 연결될 수 있다.Blockchain nodes have two types of databases. The transaction database can keep all records of the correct transaction, and the application database can apply the stored transaction to the application. The transaction database can be configured through a structure in which blocks called a blockchain are connected. Each block may contain an ordered list of transactions and may be linked according to time order.

블록체인을 통한 트랜잭션의 대표적인 예는 가상화폐 거래에 해당할 수 있다. 블록체인을 통해 이루어지는 가상화폐의 거래는 노드들의 네트워크 위상(Topology)이 전부 같은 P2P(Peer-to-Peer) 네트워크 상에서 노드들이 보관하는 데이터베이스를 갱신하는 방식으로 동작할 수 있다. 예를 들어, 가상화폐 송금의 경우 트랜잭션을 생성하여 블록체인 네트워크에 전파하면 블록을 생성하는 노드는 트랜잭션을 모아 블록에 저장할 수 있다. 해당 트랜잭션들을 적용해 자신의 잔액 데이터베이스를 갱신하고 다른 노드들에 블록을 전파할 수 있다. 다른 노드들은 전파된 블록 데이터에 따라 자신의 잔액 데이터베이스를 갱신하고 블록을 저장할 수 있다. 모든 노드의 잔액 데이터베이스와 트랜잭션 데이터베이스가 갱신됨으로써 가상화폐 송금은 완료될 수 있다.A representative example of a transaction through a blockchain can be a cryptocurrency transaction. Cryptocurrency transactions made through the blockchain can be operated by updating the database stored by nodes on a peer-to-peer (P2P) network where all nodes have the same network topology. For example, in the case of virtual currency remittance, when a transaction is created and propagated to the blockchain network, the node generating the block can collect the transaction and store it in the block. You can apply these transactions to update your balance database and propagate the block to other nodes. Other nodes can update their balance database and store blocks according to the propagated block data. Remittance of virtual currency can be completed by updating the balance database and transaction database of all nodes.

스마트 컨트랙트(Contract)는 블록체인을 다양한 서비스에 적용할 수 있게 확장한 개념이다. 스마트 컨트랙트는 디지털 명령어로 계약을 작성하여 조건에 따라 계약 내용을 자동으로 실행할 수 있다. 스마트 컨트랙트 블록체인은 트랜잭션(Transaction)과 쿼리(Query)의 두 가지 인터페이스를 포함할 수 있다. 트랜잭션을 통한 인터페이스는 트랜잭션 데이터베이스에 저장되고 스마트 컨트랙트의 상태를 변경시키는 접근방법에 해당할 수 있다. 쿼리는 트랜잭션 데이터베이스에 기록이 남지 않으면서 스마트 컨트랙트의 상태를 읽는 작업에 해당할 수 있다. 예를 들어, 트랜잭션이 쓰기(Write), 삭제(Delete) 및 수정(Modify)을 실행할 수 있다면 쿼리는 읽기(Read)만을 실행할 수 있다.A smart contract is a concept that extends the blockchain so that it can be applied to various services. Smart contracts can create contracts with digital instructions and automatically execute contract contents according to conditions. The smart contract blockchain can include two interfaces: transaction and query. The interface through the transaction is stored in the transaction database and can correspond to an approach that changes the state of the smart contract. A query can correspond to reading the state of a smart contract without leaving a record in the transaction database. For example, if a transaction can write, delete, and modify, a query can only execute read.

도 1은 본 발명의 일 실시예예 따른 블록체인에 기반한 본인정보(mydata) 관리 및 판매 환경을 설명하기 위한 도면이다.FIG. 1 is a diagram for explaining an environment for managing and selling mydata based on a block chain according to an embodiment of the present invention.

도 1을 참조하면, 본 발명의 일 실시예에 따른 블록체인에 기반한 본인정보 관리 및 판매 환경은 사용자 단말(100), 사업자 서버(200), 보관기관 노드(300), 사업자 노드(400) 및 구매자 노드(500)를 포함할 수 있다. 이하에서는 기재의 편의를 위하여 노드와 수행 단말 및 수행 장치를 혼용하였다.Referring to FIG. 1, the user terminal 100, a business server 200, a storage institution node 300, a business node 400 and a user terminal 100, a business server 200, a storage organization node 300, and a block chain-based personal information management and sales environment according to an embodiment of the present invention. It may include a buyer node 500. Hereinafter, for convenience of description, a node, an execution terminal, and an execution device are mixed.

사용자 단말(100)은 사업자 서버(200)와 통신할 수 있다. 예를 들어, 사용자 단말(100)은 사업자 서버(200)로부터 다운로드한 어플리케이션을 통해 외부 서버 및 블록체인 네트워크상의 노드와 통신할 수 있다. 사용자 단말(100)은 스마트폰, 데스크 탑 등 다양한 전자장치로 구현될 수 있으며, 이에 한정하지 않고 통신 수단을 구비한 모든 종류의 전자장치로 구현될 수 있다. The user terminal 100 may communicate with the operator server 200. For example, the user terminal 100 may communicate with an external server and a node on a blockchain network through an application downloaded from the operator server 200. The user terminal 100 may be implemented with various electronic devices such as a smart phone and a desktop, but is not limited thereto, and may be implemented with any type of electronic device having a communication means.

사업자 서버(200)는 사용자 단말(100)과 블록체인 네트워크상의 노드 간 데이터 처리를 수행할 수 있는 컴퓨터 또는 프로그램에 해당하는 서버로 구현될 수 있다. 구체적으로, 사업자 서버(200)는 사용자 단말(100)로부터 수신한 본인정보 이동 요청을 보관기관 노드(300)로 전송할 수 있고, 사용자 단말(100)로부터 수신한 본인정보 판매 정책에 대한 등록 요청을 사업자 노드(400)로 전송할 수 있다. 사업자 서버(200)는 사용자 단말(100)과 블루투스, WiFi 등을 통해 무선으로 연결될 수 있고, 네트워크를 통해 사용자 단말(100)과 데이터를 주고 받을 수 있다. The operator server 200 may be implemented as a server corresponding to a computer or program capable of performing data processing between the user terminal 100 and nodes on the blockchain network. Specifically, the operator server 200 may transmit the request for moving the personal information received from the user terminal 100 to the storage institution node 300, and the registration request for the personal information sales policy received from the user terminal 100 It can be transmitted to the operator node 400. The operator server 200 may be wirelessly connected to the user terminal 100 through Bluetooth, WiFi, or the like, and may exchange data with the user terminal 100 through a network.

사업자 서버(200)는 사용자 단말(100)에 매도하는 본인정보에 관한 설명과 판매 조건을 포함하는 판매 정책을 입력할 수 있는 인터페이스(interface)를 포함하는 어플리케이션을 제공할 수 있다. 이는 일 실시예에 불과하며, 사업자 서버(200)는 판매대금 정산에 대한 정책, 판매대금 정산이 수행될 조건에 대하여 입력하기 위한 인터페이스를 포함하는 어플리케이션을 제공할 수 있다. The operator server 200 may provide an application including an interface for inputting a sales policy including a description of personal information to be sold and sales conditions to the user terminal 100. This is only an exemplary embodiment, and the operator server 200 may provide an application including an interface for inputting a policy for settlement of sales price and a condition under which the settlement of sales price is to be performed.

한편, 도 1에서는 사업자 서버(200)와 사업자 노드(400)가 별개의 구성으로 구현된 것으로 도시하였으나, 본 발명의 일 실시예에 따르면, 사업자 서버(200)는 사업자 노드(400)를 포함한 구성으로 구현될 수 있다. 사업자 서버(200)와 사업자 노드(400)가 독립적으로 구현된 경우, 사업자 서버(200)는 사업자 노드(400)와 유선 또는 무선으로 연결되어 데이터를 주고 받을 수 있다.Meanwhile, in FIG. 1, the operator server 200 and the operator node 400 are illustrated as being implemented in separate configurations, but according to an embodiment of the present invention, the operator server 200 includes a operator node 400. It can be implemented as When the operator server 200 and the operator node 400 are implemented independently, the operator server 200 may be connected to the operator node 400 by wire or wirelessly to exchange data.

보관기관 노드(300), 사업자 노드(400) 및 구매자 노드(500)는 본 발명의 블록체인 시스템을 구성한다. 노드(300, 400, 500)는 블록체인 네트워크를 구성하는 복수개의 노드 중 사업자 서버(200)와 연결된 노드일 수 있고, 사업자 서버(200)에서 블록체인 네트워크에 특정 사용자 정보의 상태 변경을 요청하는 하는 경우, 블록체인 네트워크에 메시지 트랜잭션을 송신하여 트랜잭션을 생성하고 기록하여 배포하는 구성이다. The storage institution node 300, the operator node 400, and the purchaser node 500 constitute the blockchain system of the present invention. Nodes (300, 400, 500) may be a node connected to the operator server 200 among a plurality of nodes constituting the blockchain network, and the operator server 200 requests the blockchain network to change the state of specific user information. In this case, it is a configuration that creates, records, and distributes a transaction by sending a message transaction to the blockchain network.

노드(300, 400, 500)는 분산 원장 장치로서 블록체인 분산 네트워크의 노드 중 하나를 의미할 수 있고, 각각 통신 모듈(미도시), 처리 모듈(미도시), 메모리 모듈(미도시)을 포함할 수 있다. Nodes (300, 400, 500) are distributed ledger devices and may mean one of the nodes of a blockchain distributed network, and each includes a communication module (not shown), a processing module (not shown), and a memory module (not shown). can do.

또한, 블록체인 네트워크의 노드 역할 뿐만 아니라 퍼블릭 블록체인의 네트워크를 구성하는 복수 개의 노드 중 하나의 노드 역할을 수행할 수 있고, 퍼블릭 블록체인에서 특정 계정 정보와 직간접적으로 거래가 수행된 계정인 관계 계정을 인덱싱하고 관계 계정 정보를 생성할 수 있다. 특히, 노드(300, 400, 500)는 블록체인에 대해서는 트랜잭션의 기록이 가능하도록 구성되지만, 퍼블릭 블록체인에 대해서는 트랜잭션의 인덱싱만 가능하도록 구성될 수 있다.In addition, it can play not only the role of a node in the blockchain network, but also as one node among a plurality of nodes that make up the network of the public blockchain, and the relational account, which is an account that directly or indirectly transacts with specific account information in the public blockchain. Index and create relationship account information. In particular, the nodes 300, 400, and 500 are configured to be able to record transactions for the blockchain, but may be configured to allow only indexing of transactions for the public blockchain.

노드의 종류와 관련하여, 레퍼런스 클라이언트(Reference client)는 사용자들의 디지털 지갑 관리 모듈, 합의 알고리즘이 작업 증명(POW, Proof of Work)인 경우 블록 채굴(Block Mining)을 위한 마이닝 모듈(Mining Module), 전체 블록체인 중 전부 또는 적어도 일부의 블록을 저장하는 블록체인 데이터베이스(Blockchain Database), 트랜잭션(Transaction)을 블록체인 분산 네트워크에 브로드캐스트(Broadcast)하는 네트워크 라우팅 모듈(Network Routing Module)을 포함하는 노드를 의미할 수 있고, 예를 들어 Bitcoin Core의 Client 등을 의미할 수 있다. 풀노드(Full Node)는 블록체인 데이터베이스, 네트워크 라우팅 모듈을 포함하는 노드를 의미할 수 있다. 솔로 마이너 노드(Solo Miner Node)는, 마이닝 모듈, 블록체인 데이터베이스, 네트워크 라우팅 모듈을 포함하는 노드를 의미할 수 있다. 마이닝 노드(Mining Node)는, 마이닝 풀(Mining Pool)의 노드를 의미하는 풀 마이닝 노드(Pool Mining Node)에 연결되는 게이트웨이 라우터(Gateway Router)와 마이닝 모듈을 포함하는 가벼운 노드를 의미할 수 있다. 라이트웨이트 월렛 노드(Lightweight Wallet Node)는 일반적으로 블록체인의 헤더 정보만 저장하고, 디지털 지갑 관리 모듈을 보유하여 사용자의 디지털 지갑을 저장하며, 네트워크 라우팅 모듈을 포함하긴 하지만 블록체인 데이터베이스를 포함하지 않아 트랜잭션 생성이나 블록체인 분산 네트워크에 접근하기 위해서는 제3자가 소유한 서버에 의존하는 가벼운 노드를 의미할 수 있다. Regarding the type of node, the reference client is a digital wallet management module for users, a mining module for block mining when the consensus algorithm is Proof of Work (POW), A node that includes a Blockchain Database that stores all or at least some of the blocks of the entire blockchain, and a Network Routing Module that broadcasts transactions to the blockchain distributed network. It can mean, for example, a client of Bitcoin Core. A full node may mean a node including a blockchain database and a network routing module. The Solo Miner Node may mean a node including a mining module, a blockchain database, and a network routing module. The mining node may mean a light node including a gateway router and a mining module connected to a pool mining node, which means a node of a mining pool. The Lightweight Wallet Node generally stores only the header information of the blockchain, has a digital wallet management module to store the user's digital wallet, and includes a network routing module, but does not include a blockchain database. It can mean a lightweight node that relies on a server owned by a third party to create transactions or access a blockchain distributed network.

본 발명의 일실시예에 따른 블록체인 네트워크에서 노드(300, 400, 500)는 위의 노드들 중 적어도 블록체인 데이터베이스와 네트워크 라우팅 모듈을 포함하는 노드들을 의미할 수 있다. 퍼블릭 블록체인에 대해서 본 발명의 일실시예에 따른 노드(300, 400, 500)는 적어도 게이트웨이 라우터 모듈을 포함하는 노드들을 의미할 수 있다. 즉, 본 발명의 일실시예에 따른 노드(300, 400, 500)에는 본 발명의 블록체인 네트워크 및 퍼블릭 블록체인이 메모리 모듈이 저장되거나, 메모리 모듈에 저장된 다른 노드와 연결되도록 구성될 수 있다.In the blockchain network according to an embodiment of the present invention, nodes 300, 400, and 500 may mean nodes including at least a blockchain database and a network routing module among the above nodes. For the public blockchain, nodes 300, 400, and 500 according to an embodiment of the present invention may mean nodes including at least a gateway router module. That is, in the nodes 300, 400, and 500 according to an embodiment of the present invention, the block chain network and the public block chain of the present invention may be configured to store a memory module or to be connected to other nodes stored in the memory module.

노드(300, 400, 500)의 통신 모듈은 트랜잭션(Transaction)을 블록체인 분산 네트워크에 브로드캐스트(Broadcast)하는 네트워크 라우팅 모듈(Network Routing Module)이나 풀 마이닝 노드(Pool Mining Node)에 연결되는 게이트웨이 라우터(Gateway Router) 등을 의미할 수 있다.The communication module of nodes (300, 400, 500) is a network routing module that broadcasts a transaction to a blockchain distributed network or a gateway router connected to a pool mining node. It may mean (Gateway Router), etc.

노드(300, 400, 500)의 처리 모듈은 메모리 모듈에 저장된 분산 원장인 블록체인의 블록에 저장되어 있는 트랜잭션의 내용을 처리하는 모듈이다. 본 발명의 일실시예에 따른 처리 모듈은 Ethereum Virtual Machine과 같은 가상 머신(VM)으로 구성되어 블록체인 네트워크의 스마트 컨트랙트(Smart Contract)를 처리하도록 구성될 수 있다. 이러한 가상 머신은 예를 들어, Mutan, LLL, Serpent, Solidity 등과 같은 상위 레벨 언어로 만들어진 코드(스마트 계약, Smart Contract)가 컴파일되어 생성되는 Byte Code를 실행하기 위한 Runtime이고, OPCODE 및 Stack 외에 Memory 및 Storage를 사용하는 주체이기도 하다.The processing module of nodes 300, 400, 500 is a module that processes the contents of transactions stored in blocks of the blockchain, which are distributed ledgers stored in the memory module. The processing module according to an embodiment of the present invention may be configured as a virtual machine (VM) such as an Ethereum Virtual Machine to process a smart contract of a blockchain network. This virtual machine is, for example, a runtime for executing byte codes generated by compiling codes (smart contracts, smart contracts) made in high-level languages such as Mutan, LLL, Serpent, and Solidity, and memory and memory in addition to OPCODE and Stack. It is also the subject of using storage.

노드(300, 400, 500)의 메모리 모듈은 분산 원장인 블록체인을 저장하는 모듈로서, 전체 블록체인 중 전부 또는 일부의 블록을 저장하는 블록체인 데이터베이스(DB)를 의미할 수 있다. 메모리 모듈은 전부 또는 일부의 블록체인을 저장할 수 있고, 각 블록 헤더에는 앞 블록 헤더의 해시 값(hash), 해답 값(nonce), 트랜잭션 그룹의 해시 값과 그 밖에 생성된 시간에 대한 정보인 Timestamp, 채굴 난이도를 의미하는 Difficulty, 블록의 넘버를 의미하는 Block Number 등이 포함될 수 있다. 각 블록 바디(Contents)에는 적어도 하나 이상의 트랜잭션 정보(예를 들면, 본 발명의 일실시예에 따른 본인정보 전달 트랜잭션)가 포함될 수 있다.The memory module of the nodes 300, 400, 500 is a module that stores a block chain, which is a distributed ledger, and may refer to a block chain database (DB) that stores all or some blocks of the entire block chain. The memory module can store all or part of the blockchain, and in each block header, the hash value (hash) of the previous block header, the answer value (nonce), the hash value of the transaction group, and other information about the generated time are Timestamp. , Difficulty, which means mining difficulty, and Block Number, which means the number of blocks, may be included. Each block body (Contents) may include at least one or more transaction information (for example, a self-information transfer transaction according to an embodiment of the present invention).

트랜잭션 정보에는, 서비스 계정 주소 정보, 사용자 계정 정보, 식별 정보 해시 값, 관계 계정 정보 등을 포함할 수 있다. 트랜잭션 정보를 블록에 저장하고 실행하게 되면, 이러한 서비스 계정 주소 정보, 계정 정보, 식별 정보 해시 값, 관계 계정 정보 등을 서비스 계정의 스토리지(Storage)나 메모리(memory) 내에 포함하는 등의 방법으로 블록에 저장할 수 있다.The transaction information may include service account address information, user account information, identification information hash value, relationship account information, and the like. When transaction information is stored and executed in a block, such service account address information, account information, identification information hash value, relationship account information, etc. are included in the storage or memory of the service account. Can be saved on.

보관기관 노드(300)는 사용자의 본인정보를 이동할 것을 요청 받으면, 사업자 노드(400)로 본인정보를 전달하는 구성이다. 이때, 보관기관 노드(300)는 본인정보 전달에 대한 트랜잭션을 생성하고, 블록에 기록하여 블록체인 네트워크상의 노드들로 배포할 수 있다. 이때, 보관기관은 통계청, 병원 등 사용자의 본인정보(mydata)를 보관하고 있는 기관 및 기업일 수 있으나 이에 한정하지 않는다. When the storage organization node 300 receives a request to move the user's personal information, the storage organization node 300 transmits the user information to the operator node 400. At this time, the storage institution node 300 may generate a transaction for the transfer of personal information, record it in a block, and distribute it to nodes on the blockchain network. In this case, the storage institution may be an institution or a company that stores the user's mydata, such as the National Statistical Office or hospital, but is not limited thereto.

본 발명의 일 실시예에 따르면, 보관기관 노드(300)의 사업자 노드(400)로 본인정보를 전달은 판매대금 정산에 대한 스마트 컨트랙트 활성화를 통해 자동으로 수행될 수 있다. 이때, 판매대금 정산에 대한 정책은 사용자 단말(100)에서 보관기관 노드(300)로 본인정보(mydata) 전송을 요청할 때 합의된 것일 수 있다. 본 발명의 일 실시예에 따르면, 사용자 단말(100)은 판매대금 정산에 대한 조건에 대응하는 트랜잭션을 사업자 노드(400)를 통해 블록체인 DB에 배포할 수 있다. 사용자 단말(100)은 본인정보의 종류, 판매량 등에 따라 판매정산 조건을 상이하게 할 수 있다. According to an embodiment of the present invention, the transfer of personal information to the operator node 400 of the storage institution node 300 may be automatically performed through activation of a smart contract for settlement of sales price. In this case, the policy for the settlement of the sales price may be agreed upon when the user terminal 100 requests to transmit the personal information (mydata) to the storage institution node 300. According to an embodiment of the present invention, the user terminal 100 may distribute a transaction corresponding to a condition for settlement of sales price to the blockchain DB through the operator node 400. The user terminal 100 may have different sales settlement conditions depending on the type of personal information, sales volume, and the like.

사업자 노드(400)는 사용자 단말(100)로부터 다양한 지시를 수신하고 이에 대응하는 트랜잭션을 생성하기 위한 구성이다. 구체적으로, 사업자 노드(400)는 사용자 단말(100)로부터 본인정보(mydata)에 대한 설명과 본인정보 판매 조건을 포함하는 본인정보 판매정책 디스크립션(description)을 수신할 수 있다. The operator node 400 is a component for receiving various instructions from the user terminal 100 and generating a transaction corresponding thereto. Specifically, the operator node 400 may receive a description of the personal information (mydata) from the user terminal 100 and a description of the personal information sales policy including the conditions for selling the personal information.

이때, 본인정보에 대한 설명은 본인정보 종류, 본인정보 명칭, 본인정보 생성일자 중 적어도 하나를 포함할 수 있으나, 이에 한정되지 않고, 데이터의 유형에 따라 본인정보 판매를 위해 제공할 수 있는 다양한 형태의 정보를 포함할 수 있다.At this time, the description of the personal information may include at least one of the type of personal information, the name of the personal information, and the date of creation of the personal information, but is not limited thereto, and various forms that can be provided for the sale of personal information according to the type of data May include information of.

판매 조건은 본인정보를 판매하기 위한 조건에 해당할 수 있다. 본 발명의 일 실시예에 따르면, 스마트 컨트랙트를 통해 구매자 노드(500)가 승인하면 자동으로 거래가 이루어질 수 있도록 사전에 설정될 필요가 있는 정보에 해당할 수 있다. 판매 조건은 판매 기간, 판매 금액 및 판매 범위 등을 포함하여 사용자가 원하는 판매 대가에 대한 내용을 포함할 수 있다. Sales conditions may correspond to conditions for selling personal information. According to an embodiment of the present invention, if the purchaser node 500 approves it through a smart contract, it may correspond to information that needs to be set in advance so that a transaction can be automatically performed. The sales condition may include the contents of the sales consideration desired by the user, including a sales period, a sales amount, and a sales range.

예를 들면, 사용자 단말(100)은 3년의 판매 기간, x-ray 정보를 제외한 본인정보 등의 조건을 판매정책으로 할 수 있다. 사업자 노드(400)는 3년 동안 정보 사용 허용 및 x-ray 정보 사용 금지 정책에 해당하는 트랜잭션을 통해 스마트 컨트랙트 데이터베이스를 갱신할 수 있고, 구매자 노드(500)가 해당 조건에 대한 승인이 있는 경우 스마트 컨트랙트가 활성화될 수 있다. 다만, 이는 일 실시예에 불과하며, 다양한 조건의 판매정책을 통해 스마트 컨트랙트가 활성화될 수 있다.For example, the user terminal 100 may set a sales policy under conditions such as a sales period of 3 years and personal information excluding x-ray information. The operator node 400 may update the smart contract database through a transaction corresponding to the policy to allow information use and prohibit the use of x-ray information for 3 years, and if the purchaser node 500 has approval for the condition, the smart contract The contract can be activated. However, this is only an example, and a smart contract may be activated through a sales policy of various conditions.

이는 일 실시예에 불과하며, 사업자 노드(400)는 본인정보 판매 및 매도에 대한 정책 외에, 판매대금 정산에 대한 정책, 판매대금 정산을 위한 스마트 컨트랙트 수행 조건에 대한 요청을 수신하여 트랜잭션을 생성할 수 있다. This is only an embodiment, and the operator node 400 generates a transaction by receiving a request for a policy for the settlement of sales price and a condition for performing a smart contract for settlement of the sales price, in addition to the policy for the sale and sale of self-information. I can.

한편, 사업자 노드(400)는 매도 디스크립션을 통하거나 또는 별개로 본인정보 매도용 가상화폐 계좌를 수신할 수 있다. 사업자 서버(200)는 사용자 단말(100)에 본인정보 매도용 가상화폐 계좌를 입력할 수 있는 인터페이스를 포함하는 어플리케이션을 제공할 수 있다. 사업자 노드(400)는 매도 데이터 디스크립션을 구성하는 정보를 입력하기 위한 인터페이스를 통해 가상화폐 계좌를 수신할 수 있고, 별도의 인터페이스를 통해 가상화폐 계좌 만을 수신할 수 있다.Meanwhile, the operator node 400 may receive a virtual currency account for selling personal information through the sale description or separately. The operator server 200 may provide an application including an interface for inputting a virtual currency account for selling personal information to the user terminal 100. The operator node 400 may receive a virtual currency account through an interface for inputting information constituting the sell data description, and may receive only a virtual currency account through a separate interface.

구매자 노드(500)는 사용자 단말(100)에 의해 입력된 판매 본인정보의 설명에 관하여 검색하고 데이터를 매수할 수 있는 컴퓨팅 장치에 해당할 수 있고, 스마트폰, 노트북 또는 컴퓨터로 구현될 수 있으며, 반드시 이에 한정되지 않고, 태블릿 PC 등 다양한 디바이스로도 구현될 수 있다. 복수의 구매자 노드(500)는 사업자 노드(400)와 동시에 연결될 수 있다.The purchaser node 500 may correspond to a computing device capable of searching for the description of the seller's personal information inputted by the user terminal 100 and purchasing data, and may be implemented as a smartphone, a laptop computer, or a computer. It is not limited thereto, and may be implemented in various devices such as a tablet PC. The plurality of purchaser nodes 500 may be connected to the operator node 400 at the same time.

구매자 노드(500)는 쿼리를 통해 블록체인 DB(예를 들어 퍼블릭 블록체인)에 기록된 스마트 컨트랙트 상태(state)를 조회할 수 있고, 구매 정책과 일치하는 조건인 경우, 스마트 컨트랙트를 통해 본인정보를 구매할 수 있다. The buyer node 500 can query the smart contract state recorded in the blockchain DB (for example, a public blockchain) through a query, and if the condition matches the purchase policy, the user information through the smart contract Can be purchased.

한편, 본 발명의 블록체인 DB 또는 블록체인 네트워크는 노드(300, 400, 500)에 의해 각 노드에 포함된 데이터베이스(310, 410, 510)에 트랜잭션이 각각의 블록에 연결되어 기록된 데이터베이스를 의미한다. 블록체인 DB는 사용자 단말(100)에 의해 지정된 본인정보 소스를 확인할 수 있다. 구체적으로, 블록체인 DB는 사업자 노드(200)가 판매하려는 매도 본인정보에 대해 사전에 확인하는 절차를 수행할 수 있다. 예를 들어, 매도 본인정보 소스를 확인하여 사용자 단말(100)이 입력한 데이터 설명 또는 판매 조건을 포함하는 매도 디스크립션에 일치되는지 여부를 검사할 수 있다.Meanwhile, the blockchain DB or blockchain network of the present invention refers to a database in which transactions are connected to each block and recorded in databases 310, 410, 510 included in each node by nodes 300, 400, 500. do. The blockchain DB can check the source of personal information designated by the user terminal 100. Specifically, the blockchain DB may perform a procedure for confirming in advance information on the person who sells and sells that the operator node 200 intends to sell. For example, it is possible to check whether the source of information about the person who sells is consistent with the description of the data input by the user terminal 100 or the description of the sale including the terms of sale.

블록체인 DB에 저장되는 스마트 컨트랙트(Smart Contract)는 트랜잭션의 검증, 기록, 배포 등을 수행할 수 있다. 이러한 스마트 컨트랙트의 코드는 예를 들어, Ethereum의 경우, Solidity, Serpent, LLL, Mutan의 언어로 쓰여질 수 있는데, 현재는 Solidity가 주로 사용되고 있으며 문법은 JavaScript와 유사하다. 스마트 컨트랙트는 "변수", "구조체" 및 "함수"를 포함하여 처리 모듈에 의해 처리되는 프로그램 코드이다. 이러한 스마트 컨트랙트 코드는 컴파일 과정을 거쳐 바이트 코드(Byte Code)로 변환될 수 있다. 바이트 코드는 Solidity Realtime Compiler를 통해 컴파일된다. Solidity의 바이트 코드는 모두 16진수로 된 코드이며, Solidity에서 이 바이트 코드를 수신 주소 없이 Payload (data: )로 할당하여 블록체인에 트랜잭션을 배포하면, 채굴자에 의해 블록이 생성되고, 이러한 트랜잭션은 계약 생성 트랜잭션으로 간주되어, ontractAddress: 필드에 생성(배포)된 컨트랙트의 주소를 넣어서 리턴해주게 된다.Smart contracts stored in the blockchain DB can verify, record, and distribute transactions. For example, in the case of Ethereum, the code of such a smart contract can be written in the languages of Solidity, Serpent, LLL, and Mutan. Currently, Solidity is mainly used, and the syntax is similar to JavaScript. Smart contracts are program code processed by processing modules, including "variables", "structures" and "functions". Such smart contract code can be converted into byte code through a compilation process. The bytecode is compiled through the Solidity Realtime Compiler. Solidity's bytecodes are all hexadecimal codes, and if Solidity allocates this bytecode as Payload (data:) without a destination address and distributes a transaction to the blockchain, a block is created by the miner, and these transactions are It is regarded as a contract creation transaction, and is returned by putting the address of the created (distributed) contract in the ontractAddress: field.

스마트 컨트랙트는 로직만을 갖고 있고, 사용자나 외부 시스템과의 상호작용을 위해서는 어플리케이션이 필요하다. HTML+CSS+JavaScript, Application Server, Wallet 등의 어플리케이션은 예를 들어, Ethereum과의 인터페이스를 통해 스마트 컨트랙트와 상호작용하는 구성이다. 스마트 컨트랙트 코드는 크게 [Creation/Deployment] [Invoke by Message] [Call]로 구분될 수 있다. Smart contracts have only logic, and applications are required to interact with users or external systems. Applications such as HTML+CSS+JavaScript, Application Server, and Wallet are components that interact with smart contracts, for example, through an interface with Ethereum. Smart contract codes can be largely divided into [Creation/Deployment] [Invoke by Message] [Call].

데이터베이스(310, 410, 510)는 사용자 단말(100) 및 복수의 노드(300, 400, 500) 간의 데이터 트랜잭션 처리를 위해 필요한 다양한 정보들을 저장할 수 있다. 데이터베이스(310, 410, 510)는 사업자 노드(400)와 구매자 노드(500) 간의 데이터 거래 기록, 데이터 거래를 위해 양 노드 간에 이루어진 스마트 컨트랙트 정보, 양 노드의 계좌 정보를 저장할 수 있다. The databases 310, 410, and 510 may store various pieces of information necessary for data transaction processing between the user terminal 100 and the plurality of nodes 300, 400, and 500. The databases 310, 410, and 510 may store data transaction records between the operator node 400 and the purchaser node 500, smart contract information made between both nodes for data transaction, and account information of both nodes.

본 발명의 일 실시예에 따르면, 각각의 데이터베이스(300, 400, 500)는 각각 트랜잭션 데이터베이스와 스마트 컨트랙트 데이터베이스를 포함하여 구현될 수 있다. 트랜잭션 데이터베이스는 데이터 트랜잭션과 관련된 정보를 저장할 수 있고, 트랜잭션 관련 정보는 스마트 컨트랙트의 상태를 변경하기 위한 입력 값을 저장할 수 있다. 스마트 컨트랙트 데이터베이스는 스마트 컨트랙트의 최신 상태를 저장할 수 있고, 해당 스마트 컨트랙트와 연관된 어플리케이션은 트랜잭션에 포함된 입력 값을 이용하여 스마트 컨트랙트의 상태를 변경할 수 있다.According to an embodiment of the present invention, each of the databases 300, 400, and 500 may be implemented including a transaction database and a smart contract database, respectively. The transaction database may store information related to data transactions, and the transaction related information may store input values for changing the state of the smart contract. The smart contract database can store the latest state of the smart contract, and the application associated with the smart contract can change the state of the smart contract using the input value included in the transaction.

즉, 데이터베이스(300, 400, 500)는 독립적으로 구현된 트랜잭션 데이터베이스와 스마트 컨트랙트 데이터베이스를 포함할 수 있고, 트랜잭션 데이터베이스와 스마트 컨트랙트 데이터베이스를 하나의 구성으로 구현될 수 있다.That is, the databases 300, 400, and 500 may include an independently implemented transaction database and a smart contract database, and may be implemented with a transaction database and a smart contract database in one configuration.

또한, 데이터베이스(300, 400, 500)는 특정 범위에 속하는 정보들을 저장하는 적어도 하나의 독립된 서브-데이터베이스들로 구성될 수 있고, 적어도 하나의 독립된 서브-데이터베이스들이 하나로 통합된 통합 데이터베이스로 구성될 수 있다.In addition, the databases 300, 400, 500 may be composed of at least one independent sub-database that stores information belonging to a specific range, and at least one independent sub-database may be composed of an integrated database in which one is integrated. have.

적어도 하나의 독립된 서브-데이터베이스들로 구성되는 경우에는 각각의 서브-데이터베이스들은 블루투스, WiFi 등을 통해 무선으로 연결될 수 있고, 네트워크를 통해 상호 간의 데이터를 주고 받을 수 있다. When configured with at least one independent sub-database, each of the sub-databases may be wirelessly connected through Bluetooth, WiFi, or the like, and data may be exchanged with each other through a network.

본 발명의 일 실시예에 따르면, 블록체인 DB는 구매자 노드(500)에 의한 판매 조건의 승인에 따라 사업자 노드(400)와 구매자 노드(500) 간의 블록체인 기반의 컨트랙트를 통해 매도 본인정보에 관한 트랜잭션을 자동으로 수행할 수 있다. 여기에서 블록체인 기반의 컨트랙트는 블록체인 기반의 스마트 컨트랙트(smart contract)에 해당할 수 있다.According to an embodiment of the present invention, the blockchain DB relates to self-selling information through a blockchain-based contract between the operator node 400 and the purchaser node 500 according to the approval of the sale conditions by the purchaser node 500. Transactions can be performed automatically. Here, a blockchain-based contract can correspond to a blockchain-based smart contract.

판매 조건의 승인이 있으면 사업자 노드(400)와 구매자 노드(500) 간의 계약이 자동으로 체결되는 스마트 컨트랙트가 성립되었음을 전제로, 블록체인 DB는 이와 연관된 트랜잭션을 각각의 DB의 블록에 배포하고 공유할 수 있다. 즉, 블록체인 DB는 블록체인 네트워크상의 모든 노드에 존재하는 데이터베이스에 대해 해당 트랜잭션의 판매 결과를 갱신함으로써 트랜잭션 처리를 수행할 수 있다.Assuming that a smart contract in which a contract between the operator node 400 and the purchaser node 500 is automatically concluded has been established if the sale conditions are approved, the blockchain DB distributes and shares the related transaction in each DB block. I can. In other words, the blockchain DB can perform transaction processing by updating the sales result of the transaction for the database existing in all nodes on the blockchain network.

본 발명의 일 실시예에 따르면, 블록체인 DB는 블록체인 기반의 컨트랙트에 따라 매도 데이터 디스크립션과 연관된 매도 본인정보의 제공 및 가상화폐 계좌로의 가상화폐의 제공을 제어할 수 있다. 사업자 노드(400)는 블록체인 기반의 컨트랙트가 성립하면 데이터베이스에 저장된 본인정보를 구매자 노드(500)에 제공할 수 있고, 구매자 노드(500)와 연관된 가상화폐 계좌에서 사용자 단말(100)과 연관된 가상화폐 계좌로 판매 금액에 해당하는 가상화폐를 제공할 수 있다.According to an embodiment of the present invention, the blockchain DB may control the provision of personal information related to the sale data description and the provision of virtual currency to a virtual currency account according to a blockchain-based contract. When a blockchain-based contract is established, the operator node 400 can provide the user information stored in the database to the purchaser node 500, and the virtual currency account associated with the user terminal 100 in the virtual currency account associated with the purchaser node 500 You can provide cryptocurrency corresponding to the sales amount with a currency account.

본 발명의 일 실시예에서, 블록체인 DB는 블록체인 기반의 컨트랙트가 성립되면 사업자 노드(400)가 매도 디스크립션과 연관된 본인정보를 구매자 노드(500)에 먼저 제공하도록 할 수 있다. 블록체인 기반의 컨트랙이 성립되면 사용자 단말(100)과 연관된 가상화폐 계좌로의 판매 금액 송금 여부에 상관없이 본인정보를 구매자 노드(500)에 먼저 제공할 수 있다. 다만, 이는 일 실시예에 불과하며, 판매 금액 송금에 대한 트랜잭션을 수신하는 단계를 스마트 컨트랙트에 포함하는 경우, 판매 금액이 송금되어야 본인정보를 전송할 수 있다. In an embodiment of the present invention, the block chain DB may allow the operator node 400 to first provide the purchaser node 500 with personal information related to the sale description when a block chain-based contract is established. When a block-chain-based contract is established, personal information may be first provided to the purchaser node 500 regardless of whether the sales amount is remitted to the virtual currency account associated with the user terminal 100. However, this is only an embodiment, and when the step of receiving a transaction for remittance of the sales amount is included in the smart contract, the personal information can be transmitted only when the sales amount is remitted.

본 발명의 일 실시예에서, 블록체인 DB는 본인정보의 제공이 완료되면 블록체인 기반의 스마트 컨트랙트에 따라 가상화폐 계좌로 가상화폐 제공자에 의해 소유된 가상화폐를 송금하도록 할 수 있다. 이때, 가상화폐 제공자는 구매자 노드(500)의 사용자에 해당할 수 있고, 구매자 노드(500)의 사용자가 아닌 제3자에 해당할 수 있다. 블록체인 DB는 블록체인 네트워크상에 존재하는 모든 노드들에 존재하는 가상 화폐 계좌에 대한 데이터베이스를 갱신함으로써 가상화폐의 송금을 완료할 수 있다.In an embodiment of the present invention, the blockchain DB may allow the virtual currency owned by the virtual currency provider to be remitted to the virtual currency account according to the blockchain-based smart contract when the personal information is provided. In this case, the virtual currency provider may correspond to a user of the purchaser node 500 and may correspond to a third party other than the user of the purchaser node 500. Blockchain DB can complete the remittance of virtual currency by updating the database of virtual currency accounts that exist in all nodes on the blockchain network.

블록체인 DB는 판매 조건이 승인되면 사업자 노드(400)에 설치된 분산 어플리케이션(decentralized application)이 블록체인 기반의 컨트랙트를 수행하도록 할 수 있다. 분산 어플리케이션은 블록체인 네트워크 상에서 동작하는 백엔드(backend) 코드를 포함할 수 있고, 백엔드 코드를 호출할 수 있는 프론트엔드(frontend) 코드와 인터페이스를 포함할 수 있다.Blockchain DB may allow a decentralized application installed on the operator node 400 to perform a blockchain-based contract when the sales conditions are approved. Distributed applications may include backend code running on a blockchain network, and may include frontend code and interfaces that can call backend code.

블록체인 DB는 사업자 노드(400)에 설치된 분산 어플리케이션을 통해 구매자 노드(500)로의 본인정보 송신을 수행할 수 있고, 구매자 노드(500)에 설치된 분산 어플리케이션을 통해 본인정보의 수신을 수행할 수 있다. 각 노드에 설치된 분산 어플리케이션은 실행 여부와 상관없이 백엔드 프로세스에 의해 P2P 네트워크에 해당하는 블록체인 네트워크를 구성할 수 있다. The blockchain DB may transmit personal information to the purchaser node 500 through a distributed application installed in the operator node 400, and receive personal information through a distributed application installed in the purchaser node 500. . Distributed applications installed on each node can form a blockchain network corresponding to a P2P network by a backend process regardless of whether they are running or not.

분산 어플리케이션은 본인정보의 송신이나 수신이 완료된 경우 또는 블록체인 기반의 컨트랙트가 완료된 경우 블록체인 네트워크상에 존재하는 모든 노드에 해당 완료를 통보할 수 있다.Distributed applications can notify all nodes in the blockchain network of the completion when transmission or reception of their own information is completed or when a blockchain-based contract is completed.

본 발명의 일 실시예에 따르면, 블록체인 DB의 스마트 컨트랙트 데이터베이스에는 본인정보 판매 트랜잭션 및 본인정보 구매 트랜잭션이 배포되는 것을 조건으로 스마트 컨트랙트가 수행되도록 저장되어 있을 수 있다.According to an embodiment of the present invention, a smart contract database of a blockchain DB may be stored so that a smart contract is executed under the condition that the self-information sales transaction and the self-information purchase transaction are distributed.

구체적으로, 사업자 노드(400)는 본인정보를 판매한 것에 대응하는 트랜잭션을 블록체인 DB에 기록하여 배포할 수 있고, 구매자 노드(500)는 본인정보를 구매한 것에 대응하는 트랜잭션을 블록체인 DB에 기록하여 배포할 수 있다. 각각의 트랜잭션이 기록되면, 블록체인 DB의 스마트 컨트랙트는 활성화되어 사업자 노드(400)로 하여간 판매대금을 정산하도록 제어할 수 있다.Specifically, the operator node 400 may record and distribute a transaction corresponding to the sale of the personal information in the blockchain DB, and the purchaser node 500 may transmit a transaction corresponding to the purchase of the personal information to the blockchain DB. Can be recorded and distributed. When each transaction is recorded, the smart contract of the blockchain DB is activated and the operator node 400 can be controlled to settle the sales price.

더욱 구체적으로, 스마트 컨트랙트 활성화에 대응되는 트랜잭션의 수신이 확인되면, 블록체인 DB는 사업자 노드(400)와 연관된 가상화폐 계좌에서 사용자 단말(100)과 연관된 가상화폐 계좌 및 보관기관 노드(300)와 연관된 가상화폐 계좌로 가상화폐를 제공하여 판매대금을 자동 정산할 수 있다. More specifically, when the receipt of the transaction corresponding to the activation of the smart contract is confirmed, the blockchain DB and the virtual currency account and storage institution node 300 associated with the user terminal 100 in the virtual currency account associated with the operator node 400 It is possible to automatically settle the sales price by providing virtual currency to the associated virtual currency account.

이때, 판매대금 정산에 대한 정책은 사용자 단말(100)에서 보관기관 노드(300)로 본인정보(mydata) 전송을 요청할 때 합의된 것일 수 있다. 본 발명의 일 실시예에 따르면, 사용자 단말(100)은 판매대금 정산에 대한 조건에 대응하는 트랜잭션을 사업자 노드(400)를 통해 블록체인 DB에 배포할 수 있다. 사용자 단말(100)은 본인정보의 종류, 판매량 등에 따라 판매정산 조건을 상이하게 할 수 있다. In this case, the policy for the settlement of the sales price may be agreed upon when the user terminal 100 requests to transmit the personal information (mydata) to the storage institution node 300. According to an embodiment of the present invention, the user terminal 100 may distribute a transaction corresponding to a condition for settlement of sales price to the blockchain DB through the operator node 400. The user terminal 100 may have different sales settlement conditions depending on the type of personal information, sales volume, and the like.

한편, 배포되는 블록체인 DB는 퍼블릭 블록체인일 수 있고, 보관기업 노드(300)는 쿼리 인터페이스를 통해 본인정보에 대한 판매대금 정산 정책을 조회할 수 있다. 블록체인 DB는 사용자 단말(100)의 판매대금 정산 정책과 보관기업 노드(300)의 본인정보 전송 조건이 일치하여, 보관기업 노드(300)의 승인에 따른 트랜잭션을 스마트 컨트랙트 활성화 조건으로 할 수 있다. Meanwhile, the distributed blockchain DB may be a public blockchain, and the storage company node 300 may query the sales price settlement policy for the user information through a query interface. The blockchain DB can make a transaction according to the approval of the storage company node 300 as a condition for activating the smart contract because the sales price settlement policy of the user terminal 100 and the storage company node 300's personal information transmission condition are identical. .

예를 들어, 사용자 단말(100)은 본인정보의 종류에 대하여 중요도 별로 분류하여 1등급부터 5등급으로 분류할 수 있고, 중요도가 높은 1등급 본인정보일수록 보관기관 노드(300)가 더 높은 수익을 정산 받도록 사업자 노드(400)를 통해 스마트 컨트랙트를 생성할 수 있다. 또 다른 예로, 사용자 단말(100)은 본인정보의 판매량이 기설정된 양 이상 판매되는 경우 보관기관 노드(300)가 더 높은 수익을 정산 받도록 사업자 노드(400)를 통해 스마트 컨트랙트를 생성할 수 있다. 다만, 이는 일 실시예에 불과하며, 사용자 단말(100)은 다양한 판매대금 정산 조건으로 스마트 컨트랙트를 생성할 수 있다. For example, the user terminal 100 may classify the type of personal information according to importance and classify it into grades 1 to 5, and the storage institution node 300 generates higher profits as the level 1 personal information with higher importance. A smart contract may be created through the operator node 400 so as to be settled. As another example, the user terminal 100 may generate a smart contract through the operator node 400 so that the storage institution node 300 receives higher profits when the sales amount of the user's information is sold more than a preset amount. However, this is only an exemplary embodiment, and the user terminal 100 may generate a smart contract under various conditions for settlement of sales price.

이를 통해, 본 발명은 더 중요도가 높은 본인정보에 대하여 보관기관이 능동적으로 사업자 노드(400)로 제공함으로써 사용자 주도적인 활용이 가능한 효과가 있다. Through this, the present invention has the effect of enabling user-led utilization by actively providing personal information of higher importance to the operator node 400 by the storage institution.

즉, 본 발명에 따르면, 보관기관 노드(300)에서 사업자 노드(400)로 본인정보를 전송하는 과정, 사업자 노드(400)에서 구매자 노드(500)로 본인정보를 판매하는 과정 및 사업자 노드(400)에서 사용자 단말(100) 및 보관기관 노드(300)로 판매대금을 정산하는 과정에 대하여 모두 스마트 컨트랙트를 통해 수행할 수 있다.That is, according to the present invention, the process of transmitting self-information from the storage institution node 300 to the operator node 400, the process of selling self-information from the operator node 400 to the purchaser node 500, and the operator node 400 ) To the user terminal 100 and the storage institution node 300 can be performed through a smart contract.

이를 통해, 본 발명은 사용자 단말(100)에서 판매대금 정산 정책, 본인정보 판매 정책에 대한 스마트 컨트랙트 생성만으로 본인정보에 대한 활용 통제권을 행사할 수 있고, 판매대금 정산의 자동화 및 투명화가 가능할 수 있다. Through this, in the present invention, the user terminal 100 can exercise the right to control the use of personal information only by creating a smart contract for the sales price settlement policy and the personal information sales policy, and automation and transparency of the sales price settlement may be possible.

도 2는 본 발명의 일 실시예에 따른 본인정보 판매 및 판매대금 정산을 수행하는 방법을 설명하기 위한 간단한 블록도이다. 2 is a simple block diagram illustrating a method of selling personal information and calculating a sales price according to an embodiment of the present invention.

도 2를 참조하면, 사업자 노드(400)가 사용자 단말(100)로부터 본인정보의 판매 정책 등록 요청을 수신할 수 있다(S210). 이때, 본인정보 판매 정책은 사업자 노드(400)가 보관기관 노드(300)로부터 미리 전송 받아 보관 및 관리하고 있는 본인정보일 수 있다. 본 발명의 일 실시예에 따르면, 보관기관 노드(300)로부터 수신된 본인정보는 사용자 단말(100)의 판매대금 정산 정책에 따라 생성한 스마트 컨트랙트에 의해 수신된 것일 수 있다. Referring to FIG. 2, the operator node 400 may receive a request for registration of a sales policy of the user information from the user terminal 100 (S210). In this case, the self-information sales policy may be the self-information that the operator node 400 receives in advance from the storage institution node 300 and is stored and managed. According to an embodiment of the present invention, the personal information received from the storage institution node 300 may be received by a smart contract generated according to the sales price settlement policy of the user terminal 100.

사업자 노드(400)는 판매 정책 등록 요청에 응답하여 판매 정책에 대응하는 제1 트랜잭션을 배포할 수 있다(S220). 또한, 사업자 노드(400)는 제1 트랜잭션에 대응하는 스마트 컨트랙트를 생성할 수 있다(S230). 구체적으로 사업자 노드(400)는 판매 정책에 대응하여 생성된 제1 트랜잭션을 블록에 기록하여, 블록체인 DB 내의 다른 노드로 배포할 수 있다. 이에, 각 노드는 스마트 컨트랙트 데이터 베이스를 갱신하여 스마트 컨트랙트 상태를 변경할 수 있다. The operator node 400 may distribute a first transaction corresponding to the sales policy in response to the sales policy registration request (S220). In addition, the operator node 400 may generate a smart contract corresponding to the first transaction (S230). Specifically, the operator node 400 may record the first transaction generated in response to the sales policy in a block and distribute it to other nodes in the blockchain DB. Accordingly, each node can change the smart contract state by updating the smart contract database.

사업자 노드(400)는 본인정보 판매에 대응하는 제2 트랜잭션을 배포하고, 구매자 노드(500)에 의해 본인정보 구매에 대응하는 제3 트랜잭션을 배포할 수 있다(S240). The operator node 400 may distribute a second transaction corresponding to the sale of the personal information, and distribute a third transaction corresponding to the purchase of the personal information by the purchaser node 500 (S240).

본 발명의 일 실시예에 따르면, 본인정보 판매는 사용자 단말(100)로부터 수신한 판매 정책에 승인한 구매자 노드(500)로부터 스마트 컨트랙트를 통해 자동으로 수행될 수 있다. According to an embodiment of the present invention, the sale of personal information may be automatically performed through a smart contract from the purchaser node 500 that has approved the sale policy received from the user terminal 100.

제2 트랜잭션 및 제3 트랜잭션의 배포에 따른 스마트 컨트랙트의 이행에 응답하여, 사업자 노드(400)는 사용자 단말(100) 및 구매자 노드(500)로 본인정보 판매대금을 정산할 수 있다(S250). In response to the execution of the smart contract according to the distribution of the second transaction and the third transaction, the operator node 400 may settle the sales price of the user information to the user terminal 100 and the purchaser node 500 (S250).

본 발명의 일 실시예에 따르면, 판매대금의 정산은 본인정보의 종류, 판매량 등에 따라 상이할 수 있다. 이러한 판매대금의 정산 내용은 사용자 단말(100)과 구매자 노드(500)에 의해 기합의된 것일 수 있다. 구체적으로, 사용자 단말(100)은 판매대금 정산에 대한 정책을 사업자 노드(300)를 통해 스마트 컨트랙트를 생성할 수 있고, 구매자 노드(500)는 조건을 승인하여 자동으로 조건에 맞는 본인정보를 전송한 것일 수 있다. According to an embodiment of the present invention, the settlement of the sales price may be different depending on the type of personal information, sales volume, and the like. The contents of the sale price may be agreed upon by the user terminal 100 and the purchaser node 500. Specifically, the user terminal 100 can create a smart contract through the operator node 300 with a policy for settlement of sales price, and the purchaser node 500 automatically transmits personal information that meets the condition by approving the condition. It can be one.

도 3은 본 발명의 일 실시예에 따른 본인정보 판매 및 판매대금 정산을 수행하는 방법을 설명하기 위한 스퀀스도이다.3 is a sequence diagram illustrating a method of selling personal information and calculating a sales price according to an embodiment of the present invention.

도 3을 참조하면, 사용자 단말(100)은 본인정보를 이동할 것을 보관기관 노드(300)로 요청할 수 있다(S300). 이때, 사용자 단말(100)은 사업자 서버(200)로부터 다운로드한 어플리케이션을 이용하여 사업자 노드(400)를 통해 보관기관 노드(300)로 이동을 요청할 수 있다. Referring to FIG. 3, the user terminal 100 may request the storage institution node 300 to move his/her information (S300). In this case, the user terminal 100 may request to move to the storage institution node 300 through the operator node 400 using an application downloaded from the operator server 200.

보관기관 노드(300)는 본인정보 이동 요청에 응답하여 사업자 노드(400)로 사용자의 본인정보를 전송할 수 있다(S310). 본 발명의 일 실시예에 따르면, 도 3에는 도시하지 않았지만, 보관기관 노드(300)는 판매대금 정산 정책에 대한 스마트 컨트랙트를 통해 사업자 노드(400)로 본인정보를 전송할 수 있다. The storage institution node 300 may transmit the user's personal information to the operator node 400 in response to a request for moving the user information (S310). According to an embodiment of the present invention, although not shown in FIG. 3, the storage institution node 300 may transmit the identity information to the operator node 400 through a smart contract for the sales price settlement policy.

이후 보관기관 노드(300)는 본인정보를 전달한 것에 대한 트랜잭션을 생성하여 블록체인 DB에 전송 및 배포할 수 있다(S320). 즉, 블록체인 DB는 블록을 생성하여 전송된 트랜잭션을 블록에 기록할 수 있다.Thereafter, the storage institution node 300 may generate a transaction for transmitting the personal information, and transmit and distribute it to the blockchain DB (S320). In other words, the blockchain DB can create a block and record the transmitted transaction in the block.

한편, 사용자 단말(100)은 본인정보 판매 정책에 대하여 등록할 것을 사업자 노드(200)로 요청할 수 있다(S330). 사업자 노드(400)는 판매 정책에 대응하는 트랜잭션을 생성할 수 있고, 블록체인 DB에 배포할 수 있다(S340). 이에 따라, 블록체인 DB를 통해서 사용자 단말(100)이 요청한 스마트 컨트랙트가 생성될 수 있다(S350). Meanwhile, the user terminal 100 may request the operator node 200 to register the self-information sales policy (S330). The operator node 400 may generate a transaction corresponding to the sales policy and distribute it to a blockchain DB (S340). Accordingly, a smart contract requested by the user terminal 100 may be generated through the blockchain DB (S350).

한편, 사업자 노드(400)가 본인정보를 구매자 노드(500)로 판매하여 전송하면(S360), 사업자 노드(400)는 판매 사실에 대응되는 트랜잭션을 블록체인 DB로 전송할 수 있고(S370), 구매자 노드(500)는 구매 사실에 대응되는 트랜잭션을 블록체인 DB로 전송할 수 있다(S380). 즉, 블록체인 DB는 블록을 생성하여 전송된 트랜잭션을 블록에 기록할 수 있다.On the other hand, when the operator node 400 sells and transmits its own information to the buyer node 500 (S360), the operator node 400 may transmit a transaction corresponding to the fact of sale to the blockchain DB (S370), and the buyer The node 500 may transmit a transaction corresponding to the purchase fact to the blockchain DB (S380). In other words, the blockchain DB can create a block and record the transmitted transaction in the block.

한편, 사업자 노드(400) 및 구매자 노드(500)로부터 수신한 트랜잭션에 따라, 스마트 컨트랙트가 이행될 수 있다(S390). 이에 따라서, 사업자 노드(400)는 판매대금을 사용자 단말(100) 및 보관기관 노드(300)로 정산할 수 있다(S391). On the other hand, according to the transaction received from the operator node 400 and the purchaser node 500, the smart contract may be implemented (S390). Accordingly, the operator node 400 may settle the sales price to the user terminal 100 and the storage institution node 300 (S391).

이때, 사업자 노드(400)를 통한 판매대금 정산은 사용자 단말(100)과 구매자 노드(500) 간에 기합의된 정산 정책에 따라 상이할 수 있다. 본 발명의 일 실시예에 따르면, 본인정보의 종류 및 판매량에 따라 판매대금 정산 비율이 상이해질 수 있다. In this case, the settlement of the sales price through the operator node 400 may be different according to the settlement policy agreed between the user terminal 100 and the purchaser node 500. According to an embodiment of the present invention, the sales price settlement ratio may be different according to the type of personal information and the amount of sales.

한편, 상술한 본 발명의 다양한 실시 예들에 따른 방법들은, 기존 전자 장치에 설치 가능한 어플리케이션 형태로 구현될 수 있다. Meanwhile, the methods according to various embodiments of the present invention described above may be implemented in the form of an application that can be installed in an existing electronic device.

또한, 상술한 본 발명의 다양한 실시 예들에 따른 방법들은, 기존 전자 장치에 대한 소프트웨어 업그레이드, 또는 하드웨어 업그레이드 만으로도 구현될 수 있다. In addition, the above-described methods according to various embodiments of the present disclosure may be implemented only by software upgrade or hardware upgrade of an existing electronic device.

또한, 상술한 본 발명의 다양한 실시예들은 전자 장치에 구비된 임베디드 서버, 또는 전자장치의 외부 서버를 통해 수행되는 것도 가능하다. In addition, various embodiments of the present invention described above may be performed through an embedded server provided in an electronic device or an external server of the electronic device.

한편, 본 발명의 일 실시예에 따르면, 이상에서 설명된 다양한 실시예들은 소프트웨어(software), 하드웨어(hardware) 또는 이들의 조합을 이용하여 컴퓨터(computer) 또는 이와 유사한 장치로 읽을 수 있는 기록매체(computer readable recording medium)에 저장된 명령어를 포함하는 소프트웨어로 구현될 수 있다. 일부 경우에 있어 본 명세서에서 설명되는 실시예들이 프로세서 자체로 구현될 수 있다. 소프트웨어적인 구현에 의하면, 본 명세서에서 설명되는 절차 및 기능과 같은 실시 예들은 별도의 소프트웨어 모듈들로 구현될 수 있다. 소프트웨어 모듈들 각각은 본 명세서에서 설명되는 하나 이상의 기능 및 동작을 수행할 수 있다. Meanwhile, according to an embodiment of the present invention, various embodiments described above are a recording medium that can be read by a computer or a similar device using software, hardware, or a combination thereof. computer readable recording medium). In some cases, the embodiments described herein may be implemented by the processor itself. According to software implementation, embodiments such as procedures and functions described in the present specification may be implemented as separate software modules. Each of the software modules may perform one or more functions and operations described herein.

한편, 컴퓨터(computer) 또는 이와 유사한 장치는, 저장 매체로부터 저장된 명령어를 호출하고, 호출된 명령어에 따라 동작할 수 있는 장치로서, 개시된 실시 예들에 따른 장치를 포함할 수 있다. 상기 명령이 프로세서에 의해 실행될 경우, 프로세서가 직접, 또는 상기 프로세서의 제어 하에 다른 구성요소들을 이용하여 상기 명령에 해당하는 기능을 수행할 수 있다. 명령은 컴파일러 또는 인터프리터에 의해 생성 또는 실행되는 코드를 포함할 수 있다. Meanwhile, a computer or a similar device is a device capable of calling a stored command from a storage medium and operating according to the called command, and may include a device according to the disclosed embodiments. When the command is executed by the processor, the processor may perform a function corresponding to the command directly or by using other components under the control of the processor. Instructions may include code generated or executed by a compiler or interpreter.

기기로 읽을 수 있는 기록매체는, 비일시적 기록매체(non-transitory computer readable recording medium)의 형태로 제공될 수 있다. 여기서, '비일시적'은 저장매체가 신호(signal)를 포함하지 않으며 실재(tangible)한다는 것을 의미할 뿐 데이터가 저장매체에 반영구적 또는 임시적으로 저장됨을 구분하지 않는다. 이때 비일시적 컴퓨터 판독 가능 매체란 레지스터, 캐쉬, 메모리 등과 같이 짧은 순간 동안 데이터를 저장하는 매체가 아니라 반영구적으로 데이터를 저장하며, 기기에 의해 판독(reading)이 가능한 매체를 의미한다. 비일시적 컴퓨터 판독 가능 매체의 구체적인 예로는, CD, DVD, 하드 디스크, 블루레이 디스크, USB, 메모리카드, ROM 등이 있을 수 있다.The recording medium that can be read by the device may be provided in the form of a non-transitory computer readable recording medium. Here,'non-transient' means that the storage medium does not contain a signal and is tangible, but does not distinguish between semi-permanent or temporary storage of data in the storage medium. In this case, the non-transitory computer-readable medium refers to a medium that stores data semi-permanently and can be read by a device, rather than a medium that stores data for a short moment, such as a register, a cache, and a memory. Specific examples of the non-transitory computer-readable medium may include CD, DVD, hard disk, Blu-ray disk, USB, memory card, ROM, and the like.

이와 같이 본 발명은 도면에 도시된 실시예를 참고로 설명되었으나 이는 예시적인 것에 불과하며, 당해 기술분야에서 통상의 지식을 가진 자라면 이로부터 다양한 변형 및 균등한 다른 실시예가 가능하다는 점을 이해할 것이다. 따라서 본 발명의 진정한 기술적 보호 범위는 첨부된 청구범위의 기술적 사상에 의하여 정해져야 할 것이다.As described above, the present invention has been described with reference to the embodiments shown in the drawings, but these are only exemplary, and those of ordinary skill in the art will appreciate that various modifications and equivalent other embodiments are possible therefrom. . Therefore, the true technical protection scope of the present invention should be determined by the technical spirit of the appended claims.

100: 사용자 단말
200: 사업자 서버
300: 보관기관 노드
400: 사업자 노드
500: 구매자 노드
100: user terminal
200: operator server
300: Archive node
400: operator node
500: buyer node

Claims (8)

블록체인 네트워크를 이용한 본인정보 판매대금 정산 방법에 있어서,
사업자 노드가 사용자 단말로부터 본인정보의 판매 정책 등록 요청을 수신하는 단계;
상기 사업자 노드에 의해, 상기 판매 정책 등록 요청에 응답하여 상기 판매 정책에 대응하는 제1 트랜잭션을 배포하는 단계;
상기 사업자 노드에 의해, 상기 제1 트랜잭션에 대응하는 제1 스마트 컨트랙트를 생성하는 단계;
상기 사업자 노드에 의해 상기 본인정보 판매에 대응하는 제2 트랜잭션을 배포하고, 구매자 노드에 의해 상기 본인정보 구매에 대응하는 제3 트랜잭션을 배포하는 단계; 및
상기 제2 트랜잭션 및 상기 제3 트랜잭션의 배포에 따른 상기 제1 스마트 컨트랙트의 이행에 응답하여, 상기 사업자 노드에 의해 상기 사용자 단말 및 상기 구매자 노드에 상기 본인정보 판매대금을 정산하는 단계;
를 포함하고,
상기 제1 스마트 컨트랙트는 상기 제2 트랜잭션 및 상기 제3 트랜잭션이 배포되는 경우 이행되되, 상기 제2 및 제3 트랜잭션은 상기 사업자 노드의 판매 정책에 대하여 상기 구매자 노드의 승인이 발생하는 경우 배포되고,
상기 판매 정책은 상기 본인정보 종류, 판매량 및 판매 기간 중 적어도 하나에 따라 결정되는 판매대금 정산 조건을 포함하고, 상기 판매대금 정산 조건은 상기 사용자 단말과 상기 구매자 노드에 의해 사전 합의된 것을 특징으로 하는 판매대금 정산 방법.
In the method of settlement of personal information sales price using a blockchain network,
Receiving, by the operator node, a request for registration of a sales policy of the user information from the user terminal;
Distributing, by the operator node, a first transaction corresponding to the sales policy in response to the sales policy registration request;
Generating, by the operator node, a first smart contract corresponding to the first transaction;
Distributing a second transaction corresponding to the self-information sale by the operator node, and distributing a third transaction corresponding to the self-information purchase by the purchaser node; And
In response to the execution of the first smart contract according to the distribution of the second transaction and the third transaction, calculating the sales price of the personal information to the user terminal and the purchaser node by the operator node;
Including,
The first smart contract is executed when the second transaction and the third transaction are distributed, and the second and third transactions are distributed when approval of the purchaser node occurs with respect to the sales policy of the operator node,
The sales policy includes a sales price settlement condition determined according to at least one of the type of personal information, a sales volume, and a sales period, and the sales price settlement condition is agreed in advance by the user terminal and the purchaser node. How to settle the sale price.
제1항에 있어서,
상기 판매 정책은 판매 금액 및 판매 범위 중 적어도 하나를 더 포함하는 판매대금 정산 방법.
The method of claim 1,
The sales policy further includes at least one of a sales amount and a sales range.
삭제delete 제1항에 있어서,
상기 제1 스마트 컨트랙트는 상기 사업자 노드의 판매 정책에 대하여 상기 구매자 노드의 승인이 발생하는 경우, 상기 사업자 노드로부터 상기 본인정보를 상기 구매자 노드로 전송하는 것을 포함하며,
상기 사업자 노드에 의해 상기 본인정보 판매에 대응하는 제2 트랜잭션을 배포하고, 구매자 노드에 의해 상기 본인정보 구매에 대응하는 제3 트랜잭션을 배포하는 단계는,
상기 구매자 노드에 의해, 상기 제1 스마트 컨트랙트의 상태(state)를 조회하는 단계; 및
상기 제1 스마트 컨트랙트의 상태와 상기 구매자 노드의 구매 조건이 일치하는 경우, 상기 승인이 발생하고 상기 제1 스마트 컨트랙트의 이행에 응답하여 상기 사업자 노드에 의해 상기 본인정보가 상기 구매자 노드로 전송되는 단계;를 더 포함하는 판매대금 정산 방법.
The method of claim 1,
The first smart contract includes transmitting the identity information from the operator node to the buyer node when approval of the purchaser node occurs with respect to the sales policy of the operator node,
Distributing a second transaction corresponding to the self-information sale by the operator node, and distributing a third transaction corresponding to the self-information purchase by the purchaser node,
Inquiring, by the purchaser node, a state of the first smart contract; And
If the state of the first smart contract and the purchase condition of the purchaser node match, the approval occurs and the identity information is transmitted to the purchaser node by the operator node in response to the implementation of the first smart contract The sales price settlement method further including;
제1항에 있어서,
상기 본인정보는 보관기관 노드로부터 전송된 것이고, 상기 사업자 노드의 판매대금 정산 조건에 대한 제2 스마트 컨트랙트의 이행을 통해 상기 보관기관 노드로부터 수신된 것을 특징으로 하고,
상기 판매대금 정산 조건은 상기 사용자 단말과 상기 구매자 노드에 의해 사전 합의된 것을 특징으로 하는, 판매대금 정산 방법.
The method of claim 1,
The self-information is transmitted from the storage institution node, and is received from the storage institution node through the implementation of a second smart contract with respect to the sales price settlement condition of the operator node,
The sales price settlement conditions, characterized in that the pre-agreement between the user terminal and the purchaser node, sales price settlement method.
제5항에 있어서,
상기 제2 스마트 컨트랙트는 상기 사업자 노드의 판매대금 정산 조건과 상기 보관기관 노드의 판매대금 정산 조건이 일치하는 경우, 상기 보관기관 노드에 의해 상기 본인정보가 상기 사업자 노드로 전송되는 것인 판매대금 정산 방법.
The method of claim 5,
In the second smart contract, when the sales price settlement condition of the operator node and the sales price settlement condition of the storage institution node match, the self-information is transmitted to the operator node by the storage institution node. Way.
제1항에 있어서,
상기 판매대금을 정산하는 단계는 상기 판매 정책에 대응하여 생성된 상기 제1 스마트 컨트랙트에 따라 정산을 수행하는 판매대금 정산 방법.
The method of claim 1,
In the step of calculating the sales price, a sales price settlement method of performing settlement according to the first smart contract generated in response to the sales policy.
제5항에 있어서,
상기 판매대금 정산 방법은,
상기 보관기관 노드가 상기 사용자 단말로부터 상기 본인정보의 이동 요청을 수신하는 단계; 및
상기 사업자 노드가 상기 보관기관 노드로부터 상기 본인정보를 수신하는 단계;를 더 포함하고,
상기 판매대금 정산 조건은, 상기 보관기관 노드가 상기 사용자 단말로부터 상기 본인정보 이동 요청을 수신하는 단계에서, 상기 사용자 단말과 상기 구매자 노드에 의해 사전 합의된 것을 특징으로 하는, 판매대금 정산 방법.
The method of claim 5,
The above sales price settlement method is:
Receiving, by the storage organization node, a request to move the personal information from the user terminal; And
The operator node receiving the identity information from the storage institution node; further comprising,
The sales price settlement condition, characterized in that in the step of receiving the request for moving the personal information from the user terminal by the storage institution node, a pre-agreement between the user terminal and the purchaser node.
KR1020190036204A 2019-03-28 2019-03-28 Method for the settlement of personal information KR102227442B1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020190036204A KR102227442B1 (en) 2019-03-28 2019-03-28 Method for the settlement of personal information

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020190036204A KR102227442B1 (en) 2019-03-28 2019-03-28 Method for the settlement of personal information

Publications (2)

Publication Number Publication Date
KR20200114434A KR20200114434A (en) 2020-10-07
KR102227442B1 true KR102227442B1 (en) 2021-03-15

Family

ID=72884186

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020190036204A KR102227442B1 (en) 2019-03-28 2019-03-28 Method for the settlement of personal information

Country Status (1)

Country Link
KR (1) KR102227442B1 (en)

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101954268B1 (en) * 2017-10-24 2019-03-05 한국조폐공사 Method for managing electronic document based on blockchain, and electronic document management server using the same

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20090103413A (en) * 2008-03-28 2009-10-01 (주)로키이마케팅 System and method for transaction in personal information
KR20140096226A (en) * 2013-01-25 2014-08-05 한국전자통신연구원 System and method for transaction of personal information

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101954268B1 (en) * 2017-10-24 2019-03-05 한국조폐공사 Method for managing electronic document based on blockchain, and electronic document management server using the same

Also Published As

Publication number Publication date
KR20200114434A (en) 2020-10-07

Similar Documents

Publication Publication Date Title
US11880809B2 (en) Blockchain cross-chain non-fungible token exchange
US11734675B2 (en) Systems and methods of blockchain transaction recordation
US11410159B2 (en) Upgradeable security token
KR101936756B1 (en) Apparatus for Supporting Sharing Economy using Blockchain
KR101936757B1 (en) Distributed Ledger Device and Distributed Ledger Method for Supporting Sharing Economy
US11636537B2 (en) System and methods of providing point-of-need financing
US20240013173A1 (en) Systems and methods for blockchain-based payment transactions, alerts, and dispute settlement, using a blockchain interface server
CN110020948B (en) Asset tracing method and device based on block chain and electronic equipment
KR102313675B1 (en) Block chain-based crytography donation server and donation method without limitation to donation target
KR101962290B1 (en) Distributed Ledger Device for Supporting Sharing Economy
JP2020528178A (en) Systems and methods for blockchain-dependent behavior sets
KR101962289B1 (en) Distributed Ledger Device for Supporting Sharing Economy
KR101962288B1 (en) Apparatus for Sharing Economy using Blockchain
AU2018277270A1 (en) Smart contract for copy trading
CN109785145B (en) Fixed-point drugstore financing method based on block chain, storage medium and computer equipment
US11270292B2 (en) Key pair authentication in a label tracking system
CN110580624B (en) Chain code upgrading method and device
KR102227442B1 (en) Method for the settlement of personal information
WO2023091082A1 (en) Methods and systems for transaction processing using a blockchain
KR101962287B1 (en) Apparatus for Sharing Economy using Blockchain
KR102095046B1 (en) Distributed Ledger Device and Distributed Ledger Method for Sharing User Information using Blockchain
KR20190076812A (en) Distributed Ledger Device and Distributed Ledger Method for Sharing User Information using Blockchain
KR20200140094A (en) Delivery system based on blockchain and the operation method thereof
KR101962286B1 (en) Apparatus for Sharing Economy using Blockchain
KR20200012688A (en) Apparatus for KYC using KYC blockchain

Legal Events

Date Code Title Description
E701 Decision to grant or registration of patent right
GRNT Written decision to grant