KR20200012686A - Apparatus and Method for KYC using KYC blockchain - Google Patents

Apparatus and Method for KYC using KYC blockchain Download PDF

Info

Publication number
KR20200012686A
KR20200012686A KR1020180174315A KR20180174315A KR20200012686A KR 20200012686 A KR20200012686 A KR 20200012686A KR 1020180174315 A KR1020180174315 A KR 1020180174315A KR 20180174315 A KR20180174315 A KR 20180174315A KR 20200012686 A KR20200012686 A KR 20200012686A
Authority
KR
South Korea
Prior art keywords
kyc
information
account
blockchain
deposit
Prior art date
Application number
KR1020180174315A
Other languages
Korean (ko)
Other versions
KR102096641B1 (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 KR1020180174315A priority Critical patent/KR102096641B1/en
Publication of KR20200012686A publication Critical patent/KR20200012686A/en
Application granted granted Critical
Publication of KR102096641B1 publication Critical patent/KR102096641B1/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/38Payment protocols; Details thereof
    • G06Q20/40Authorisation, e.g. identification of payer or payee, verification of customer or shop credentials; Review and approval of payers, e.g. check credit lines or negative lists
    • G06Q20/401Transaction verification
    • G06Q20/4016Transaction verification involving fraud or risk level assessment in transaction processing
    • 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/0609Buyer or seller confidence or verification

Abstract

The present invention relates to an apparatus and a method for performing a KYC using a block chain. To this end, the method of the present invention comprises: a deposit and withdrawal allowance request step of receiving, by a KYC node, a request of deposit and withdrawal allowance information with respect to account information and identification information from a service server; a primary indexing step of indexing, by the KYC node, the account information or identification information in a KYC block chain stored in a memory module of the KYC node; a secondary indexing step of indexing, by the KYC node, a relationship account which is an account in which a transaction is directly or indirectly performed with the account information in a public block chain including an account of the account information, and generating relationship account information when the deposit and withdrawal allowance information is not pre-stored in the primary indexing step; a relationship account information transmitting step of transmitting, by the KYC node, the relationship account information to a service server; a deposit and withdrawal allowance information receiving step of receiving, by the KYC node, the deposit and withdrawal allowance information with respect to the account information and the identification information from the service server; and a block chain recording step of generating and distributing, by the KYC node, a KYC transaction, which is a transaction for the account information, the identification information, and the deposit and withdrawal allowance information in the KYC block chain.

Description

KYC 블록체인의 블록 증명을 이용한 KYC 수행 장치{Apparatus and Method for KYC using KYC blockchain}Apparatus and Method for KYC using KYC blockchain}

본 발명은 블록체인을 이용한 KYC 수행 장치 및 방법에 관한 것이다.The present invention relates to an apparatus and method for performing KYC using a blockchain.

블록체인은 다양한 기술분야에 적용될 수 있지만, ICO(Initial Coin Offering)에 의해 Fundraising이 용이해지면서 암호화 화폐(혹은, 가상 화폐)를 구현하기 위한 기술로써 발전했다. 예를 들어, 비트코인도 블록체인 기술을 이용함으로써 일반 통화와는 달리 중앙은행과 같은 제3자가 가치를 담보하지 않아도 통화와 같은 가치를 갖는 것을 달성해가고 있다. 블록체인 발명 이전에는 화폐를 대체할 전자 화폐를 만들기 위해서 그 가치를 보장하거나 화폐의 거래 기록을 관리하는 '미들맨'이 반드시 필요했다. 하지만, 블록체인을 이용하면 다음과 같은 구조로 제3자 기관이 없이도 특정 암호화 화폐가 실제 화폐로서 기능할 수 있게 된다.Blockchain can be applied to various technical fields, but as Fundraising is facilitated by ICO (Initial Coin Offering), it has evolved as a technology for implementing cryptocurrency (or virtual currency). For example, Bitcoin is also using blockchain technology to achieve the same value as a currency even if a third party, such as a central bank, does not guarantee value, unlike a general currency. Prior to the blockchain invention, 'Middleman' was necessary to guarantee the value or to manage the transaction records of money in order to create electronic money to replace money. However, using blockchain allows certain cryptocurrencies to function as real currencies without the need for third-party organizations.

(1) 블록이 시간별로 정렬되어 있고, 블록에 거래기록과 앞의 블록에 대한 연결 정보가 포함되어 위조 및 변조가 어려움. (1) Blocks are sorted by time, and the block contains transaction records and connection information for the previous block, making it difficult to forge and alter.

(2) 분산형 원장 구조를 취함으로써 거래의 투명성이 높고 이중 지급이 어려움.(2) Decentralized ledger structure makes transactions more transparent and difficult to pay double.

위와 같은 이유로 암호화 화폐는 화폐로서의 기능을 담보할 수 있게 되었다. 이와 같은 속성을 가진 암호화 화폐는 Bitcoin, Litecoin, Ripple, Etherium, Dash, Monero 등 여러가지가 퍼블릭하게 발행되어 있다. 특히, ICO(Initial Coin Offering)을 통해 특정 토큰에 대해 큰 규모의 Fundraising이 이루어지고 있는 실정이다. 이처럼 다양한 암호화 화폐가 발행되어 있지만, 네트워크 효과로 인해 주로 사용되는 것과 그렇지 않은 것으로 나뉘어 있는 상태이다. For the above reasons, cryptocurrency can secure its function as a currency. Cryptocurrencies with these attributes are publicly issued, including Bitcoin, Litecoin, Ripple, Etherium, Dash, and Monero. In particular, large-scale fundraising is being performed on specific tokens through ICO (Initial Coin Offering). Various cryptocurrencies have been issued, but due to the network effect, they are divided into the main ones and the ones that are not used.

또한, 블록체인을 이용한 다양한 어플리케이션(Dapp)들이 시도되고 있다. 예를 들어, Sentbe, Align Commerce, Moin 등의 국제 송금 서비스, Bank of America와 HSBC 홀딩스 등에서 검증한 신용장 거래 서비스, 각종 자금 조달, 전력 판매 서비스, Steemit, Streamium과 같은 콘텐츠 서비스, Nem과 같은 공증 서비스, Blockai 등과 같은 저작권 관리 서비스, Everledger와 같은 물품 거래 추적 서비스, Visa와 Docusign의 계약 관리 및 실행 서비스 등이 널리 시도되고 있다.In addition, various applications (Dapps) using a blockchain have been attempted. For example, international money transfer services such as Sentbe, Align Commerce, Moin, letter of credit transactions verified by Bank of America and HSBC Holdings, financing, power sales services, content services such as Steemit, Streamium, and notary services such as Nem. , Copyright management services such as Blockai, goods transaction tracking services such as Everledger, and contract management and execution services of Visa and Docusign.

Bitrex, Bithumb, Bitfinex 등의 거래소에서의 암호화 화폐 거래가 일반 대중들에게까지 확장되고, ICO를 이용하여 Fundraising 하는 사례가 늘어나게 되면서 기존의 금융 거래와 마찬가지로 거래자, 투자자, 구매자, 사용자의 신원을 알기 위하여 KYC(Know Your Customer) 절차가 이용되기 시작하였다. As cryptocurrency trading on exchanges such as Bitrex, Bithumb, Bitfinex, etc. has been extended to the general public, and the number of cases of Fundraising using ICO has increased, KYC to know the identity of traders, investors, buyers and users as well as conventional financial transactions. The Know Your Customer procedure has begun to be used.

사용자들(거래자, 투자자, 구매자 등 포함)이 각종 ICO, 거래소, Dapp 등을 이용하기 위해서는 항상 KYC(Know Your Customer) 절차의 수행이 선행되어야 하는 실정이다. ICO의 KYC 절차는 일반적으로 다음과 같이 진행된다. In order for users (including traders, investors, buyers, etc.) to use various ICOs, exchanges, and dapps, KYC (Know Your Customer) procedures should always be performed. The KYC process of ICOs generally proceeds as follows.

(1) 토큰 구매자가 구매자 정보(사용언어, 성명, 이메일 등 연락처, 암호화 화폐 지갑 주소, 토큰 구매를 원하는 수량, 신분증을 들고 얼굴 인식이 가능하도록 찍은 본인 사진)를 입력하고, 약관에 동의(1) Token buyer enters buyer information (language, name, e-mail, contact information, cryptocurrency wallet address, quantity to purchase token, photo of himself with ID and face recognition) and agrees to terms

(2) 토큰 판매자가 구매자 정보를 기초로 White List에 등록할지 여부를 결정하고, White List에 등록된 토큰 구매자의 구매자 정보 중 암호화 화폐 지갑 주소(예를 들면, ETH 지갑 주소)와 토큰 구매를 원하는 수량(예를 들면, 100ETH 만큼의 토큰 구매)을 ICO의 스마트 계약에 기록(2) The token seller decides whether or not to register on the White List based on the buyer information, and among the buyer information of the token buyer registered on the White List, he wants to purchase a cryptocurrency wallet address (for example, an ETH wallet address) and a token purchase. Record quantity (e.g. 100ETH token purchases) in ICO's smart contract

위의 2번 단계에서 토큰 판매자는 다음과 같은 토큰 구매자를 ICO 스마트 계약의 White List에 등록하지 않게 된다. In step 2 above, the token seller will not register the following token buyers in the White List of the ICO smart contract.

(1) ICO 금지 국가의 국민(예를 들어, 미국, 중국, 싱가포르 등)(1) Citizens of ICO-banned countries (for example, the United States, China, Singapore, etc.)

(2) KYC 절차에 요구되는 정보와 서류를 제출하지 않은 경우(2) fails to submit the information and documents required for the KYC process;

(3) 부적절한 계정(예를 들어, 불법 자금 세탁, 테러 관련 자금 등)(3) improper accounts (eg, illegal money laundering, terrorism-related funds, etc.)

ICO 스마트 계약의 White List에 등록되지 않은 지갑 주소에서 송금되는 토큰은 곧바로 반환되거나 ICO 토큰의 교환이 이루어지지 않게 된다. Tokens sent from wallet addresses that are not registered in the ICO smart contract's White List will not be immediately returned or exchanged for ICO tokens.

위와 같은 복잡한 KYC 절차는 매번 모든 ICO, 거래소 가입, Dapp 이용 시에 매번 중복적으로 발생되고 있다. 이는 사용자(토큰 구매자, 투자자, Dapp 사용자 등)에게 블록체인 서비스를 이용하게 하는 진입장벽이 되고 있고, 서비스 제공자(토큰 판매자, 거래소 운영자, Dapp 운영자 등)에게도 블록체인 제품이나 서비스 자체에 리소스를 집중하기 어렵게 만드는 문제가 발생되고 있다. Such complex KYC procedures are duplicated every time every ICO, exchange signup, and dapp usage. This is a barrier to entry for users (token buyers, investors, Dapp users, etc.) to use the blockchain service, and service providers (token sellers, exchange operators, dapp operators, etc.) also focus resources on the blockchain products or services themselves. There is a problem that makes it difficult to do.

대한민국 등록특허, 10-1751025, 블록체인 기반의 스마트 증권업무 처리 시스템(Smart system for trading stock based blockchain), 주식회사 온더Korea Patent Registration, 10-1751025, Smart system for trading stock based blockchain, On The Co., Ltd. 대한민국 등록특허, 10-1758870, 마이닝 관리 시스템 및 이를 이용한 마이닝 관리 방법(Mining Rig Monitoring System And Mining Rig Monitoring Method In Using Same), 주식회사 온더Republic of Korea Patent No. 10-1758870, Mining Rig Monitoring System And Mining Rig Monitoring Method In Using Same, On The Co., Ltd. 미국 공개특허, US 2016/0342989 A1, Method and system for processing blockchain-based transactions on existing payment networks, Mastercard International IncorporatedU.S. Patent Application, US 2016/0342989 A1, Method and system for processing blockchain-based transactions on existing payment networks, Mastercard International Incorporated 미국 공개특허, US 2016/0292672 A1, Systems and methods of blockchain transaction recordation, Nasdaq, Inc.U.S. Patent Application, US 2016/0292672 A1, Systems and methods of blockchain transaction recordation, Nasdaq, Inc. 미국 공개특허, US 20170132615 A1, Block chain alias for person-to-person payments, Bank Of America CorporationU.S. Patent Application, US 20170132615 A1, Block chain alias for person-to-person payments, Bank Of America Corporation 대한민국 등록특허, 10-1857223, 블록체인 토큰 기반의 사용자 식별 방법 및 시스템, 주식회사 온더Republic of Korea Patent Registration, 10-1857223, Blockchain token-based user identification method and system, On The Co., Ltd.

따라서, 본 발명의 목적은 위와 같은 문제를 해결하기 위해, 복수의 서비스 주체에 의해 KYC 절차가 수행될 수 있도록 하는 블록체인을 이용한 KYC 수행 장치 및 방법을 제공하는 데에 있다. Accordingly, an object of the present invention is to provide an apparatus and method for performing KYC using a blockchain to allow the KYC procedure to be performed by a plurality of service subjects in order to solve the above problems.

이하 본 발명의 목적을 달성하기 위한 구체적 수단에 대하여 설명한다.Hereinafter, specific means for achieving the object of the present invention will be described.

본 발명의 목적은, KYC 노드가 서비스 서버에서 계정 정보 및 식별 정보에 대한 입출금 허용여부 정보의 요청을 수신하는 입출금 허용여부 요청 단계; 상기 KYC 노드가 상기 KYC 노드의 메모리 모듈에 저장된 KYC 블록체인에서 상기 계정 정보 또는 상기 식별 정보를 인덱싱하는 제1차 인덱싱 단계; 상기 제1차 인덱싱 단계에서 상기 입출금 허용여부 정보가 기저장되어 있지 않은 경우에는 상기 KYC 노드가 상기 계정 정보의 계정을 포함하는 퍼블릭 블록체인에서 상기 계정 정보와 직간접적으로 거래가 수행된 계정인 관계 계정을 인덱싱하고 관계 계정 정보를 생성하는 제2차 인덱싱 단계; 상기 KYC 노드가 상기 관계 계정 정보를 상기 서비스 서버로 송신하는 관계 계정 정보 송신 단계; 상기 KYC 노드가 상기 서비스 서버에서 상기 계정 정보 및 상기 식별 정보에 대한 상기 입출금 허용여부 정보를 수신하는 입출금 허용여부 정보 수신 단계; 및 상기 KYC 노드가 상기 KYC 블록체인에 상기 계정 정보, 상기 식별 정보 및 상기 입출금 허용여부 정보에 대한 트랜잭션인 KYC 트랜잭션을 생성하고 배포하는 블록체인 기록 단계;를 포함하며, 상기 제1차 인덱싱 단계에서 상기 입출금 허용여부 정보가 기저장되어 있는 경우에는 상기 KYC 노드가 상기 서비스 서버로 기저장된 상기 입출금 허용여부 정보를 송신하고, 상기 관계 계정 정보는, 상기 관계 계정의 주소, 상기 관계 계정과 상기 계정 사이의 거래관계 거리 정보 및 상기 관계 계정의 입출금 허용여부 정보를 포함하는 것을 특징으로 하는, 블록체인을 이용한 KYC 수행 방법을 제공하여 달성될 수 있다. An object of the present invention, the KYC node, the deposit and withdrawal request request step of receiving a request for deposit and withdrawal information for account information and identification information in the service server; A first indexing step in which the KYC node indexes the account information or the identification information in a KYC blockchain stored in a memory module of the KYC node; In the first indexing step, when the deposit and withdrawal allowance information is not stored in advance, the KYC node is an account in which a transaction is performed directly or indirectly with the account information in a public blockchain including an account of the account information. Indexing a second index and generating relationship accounting information; Transmitting relationship account information by the KYC node to transmit the relationship account information to the service server; Deposit or withdrawal allowance information receiving step for the KYC node to receive the withdrawal or not allowance information for the account information and the identification information at the service server; And a blockchain recording step in which the KYC node creates and distributes a KYC transaction, which is a transaction for the account information, the identification information, and the deposit and withdrawal allowance information, in the KYC blockchain. If the deposit and withdrawal allowance information is pre-stored, the KYC node transmits the withdrawal and withdrawal allowance information previously stored to the service server, and the relationship account information is the address of the relationship account, between the relationship account and the account. It can be achieved by providing a method of performing KYC using a blockchain, characterized in that it comprises the transaction distance of the information and whether the deposit or withdrawal information of the relationship account.

또한, KYC 노드가 서비스 서버에서 계정 정보 및 식별 정보에 대한 입출금 허용여부 정보의 요청을 수신하는 입출금 허용여부 요청 단계; 상기 KYC 노드가 상기 KYC 노드의 메모리 모듈에 저장된 KYC 블록체인에서 상기 계정 정보 또는 상기 식별 정보를 인덱싱하는 제1차 인덱싱 단계; 상기 제1차 인덱싱 단계에서 상기 입출금 허용여부 정보가 기저장되어 있지 않은 경우에는 상기 KYC 노드가 상기 KYC 블록체인에 새로운 블록을 생성하고, 상기 KYC 블록체인의 전체 블록체인 네트워크에 상기 계정 정보를 배포하는 계정 정보 배포 단계; 상기 KYC 노드가 상기 계정 정보의 계정을 포함하는 퍼블릭 블록체인에서 상기 계정 정보와 직간접적으로 거래가 수행된 계정인 관계 계정을 인덱싱하고 관계 계정 정보를 생성하는 제2차 인덱싱 단계; 상기 KYC 노드가 인덱싱한 상기 관계 계정에 대한 특정 조건을 만족하여 상기 블록을 증명하는 증명 단계; 상기 KYC 노드가 상기 관계 계정 정보를 상기 서비스 서버로 송신하는 관계 계정 정보 송신 단계; 상기 KYC 노드가 상기 서비스 서버에서 상기 계정 정보 및 상기 식별 정보에 대한 상기 입출금 허용여부 정보를 수신하는 입출금 허용여부 정보 수신 단계; 및 상기 KYC 노드가 상기 KYC 블록체인에 상기 계정 정보, 상기 식별 정보 및 상기 입출금 허용여부 정보에 대한 트랜잭션인 KYC 트랜잭션을 생성하고 배포하는 블록체인 기록 단계;를 포함하며, 상기 제1차 인덱싱 단계에서 상기 입출금 허용여부 정보가 기저장되어 있는 경우에는 상기 KYC 노드가 상기 서비스 서버로 기저장된 상기 입출금 허용여부 정보를 송신하고, 상기 관계 계정 정보는, 상기 관계 계정의 주소, 상기 관계 계정과 상기 계정 사이의 거래관계 거리 정보 및 상기 관계 계정의 입출금 허용여부 정보를 포함하는 것을 특징으로 하는, 블록체인을 이용한 KYC 수행 방법을 제공하여 달성될 수 있다. In addition, the deposit or withdrawal request request step that the KYC node receives a request for deposit and withdrawal information on the account information and identification information in the service server; A first indexing step in which the KYC node indexes the account information or the identification information in a KYC blockchain stored in a memory module of the KYC node; If the deposit and withdrawal allowance information is not stored in the first indexing step, the KYC node creates a new block in the KYC blockchain and distributes the account information to the entire blockchain network of the KYC blockchain. Distributing account information; A second indexing step in which the KYC node indexes a relational account which is an account in which transactions are directly or indirectly performed with the account information in a public blockchain including an account of the account information and generates relation account information; A proof step of proving the block by satisfying a specific condition for the relationship account indexed by the KYC node; Transmitting relationship account information by the KYC node to transmit the relationship account information to the service server; Deposit or withdrawal allowance information receiving step for the KYC node to receive the withdrawal or not allowance information for the account information and the identification information at the service server; And a blockchain recording step in which the KYC node creates and distributes a KYC transaction, which is a transaction for the account information, the identification information, and the deposit and withdrawal allowance information, in the KYC blockchain. If the deposit and withdrawal allowance information is pre-stored, the KYC node transmits the withdrawal and withdrawal allowance information previously stored to the service server, and the relationship account information is the address of the relationship account, between the relationship account and the account. It can be achieved by providing a method of performing KYC using a blockchain, characterized in that it comprises the transaction distance of the information and whether the deposit or withdrawal information of the relationship account.

본 발명의 다른 목적은, KYC 프로그램 코드 및 KYC 블록체인을 저장하는 메모리 모듈; 및 상기 KYC 프로그램 코드를 처리하는 처리 모듈;을 포함하고, 상기 KYC 프로그램 코드는, 서비스 서버에서 계정 정보 및 식별 정보에 대한 입출금 허용여부 정보의 요청을 수신하는 입출금 허용여부 요청 단계; 상기 메모리 모듈에 저장된 상기 KYC 블록체인에서 상기 계정 정보 또는 상기 식별 정보를 인덱싱하는 제1차 인덱싱 단계; 상기 제1차 인덱싱 단계에서 상기 입출금 허용여부 정보가 기저장되어 있지 않은 경우, 상기 계정 정보의 계정을 포함하는 퍼블릭 블록체인에서 상기 계정 정보와 직간접적으로 거래가 수행된 계정인 관계 계정을 인덱싱하고 관계 계정 정보를 생성하는 제2차 인덱싱 단계; 상기 관계 계정 정보를 상기 서비스 서버로 송신하는 관계 계정 정보 송신 단계; 상기 서비스 서버에서 상기 계정 정보 및 상기 식별 정보에 대한 상기 입출금 허용여부 정보를 수신하는 입출금 허용여부 정보 수신 단계; 및 상기 KYC 블록체인에 상기 계정 정보, 상기 식별 정보 및 상기 입출금 허용여부 정보에 대한 트랜잭션인 KYC 트랜잭션을 생성하고 배포하는 블록체인 기록 단계;를 컴퓨터 상에서 수행시키는 프로그램 코드를 포함하며, 상기 제1차 인덱싱 단계에서 상기 입출금 허용여부 정보가 기저장되어 있는 경우에는 상기 서비스 서버로 기저장된 상기 입출금 허용여부 정보를 송신하고, 상기 관계 계정 정보는, 상기 관계 계정의 주소, 상기 관계 계정과 상기 계정 사이의 거래관계 거리 정보 및 상기 관계 계정의 입출금 허용여부 정보를 포함하는 것을 특징으로 하는, 블록체인을 이용한 KYC 수행 장치를 제공하여 달성될 수 있다. Another object of the present invention, a memory module for storing KYC program code and KYC blockchain; And a processing module for processing the KYC program code, wherein the KYC program code includes: a deposit and withdrawal permission request step of receiving a request for deposit and withdrawal permission information for account information and identification information from a service server; A first indexing step of indexing the account information or the identification information in the KYC blockchain stored in the memory module; In the first indexing step, when the deposit and withdrawal allowance information is not stored in advance, index the relation account, which is an account that is directly or indirectly transactions with the account information, in the public blockchain including the account of the account information. A second indexing step of generating account information; Transmitting relationship account information to the service server; Deposit and withdrawal allowance information receiving step for receiving the withdrawal and withdrawal permission information for the account information and the identification information at the service server; And a blockchain recording step of generating and distributing a KYC transaction, which is a transaction for the account information, the identification information, and the deposit and withdrawal allowance information, on the KYC blockchain. When the deposit and withdrawal allowance information is pre-stored in the indexing step, the pre-stored and withdrawal allowance information is transmitted to the service server, and the relationship account information is the address of the relationship account, between the relationship account and the account. It can be achieved by providing a device for performing KYC using a blockchain, characterized in that it includes transaction distance information and information on whether the deposit and withdrawal of the relationship account.

본 발명의 다른 목적은, KYC 프로그램 코드 및 KYC 블록체인을 저장하는 메모리 모듈; 및 상기 KYC 프로그램 코드를 처리하는 처리 모듈;을 포함하고, 상기 KYC 프로그램 코드는, 서비스 서버에서 계정 정보 및 식별 정보에 대한 입출금 허용여부 정보의 요청을 수신하는 입출금 허용여부 요청 단계; 상기 메모리 모듈에 저장된 상기 KYC 블록체인에서 상기 계정 정보 또는 상기 식별 정보를 인덱싱하는 제1차 인덱싱 단계; 상기 제1차 인덱싱 단계에서 상기 입출금 허용여부 정보가 기저장되어 있지 않은 경우, 상기 KYC 블록체인에 새로운 블록을 생성하고, 상기 KYC 블록체인의 전체 블록체인 네트워크에 상기 계정 정보를 배포하는 계정 정보 배포 단계; 상기 계정 정보의 계정을 포함하는 퍼블릭 블록체인에서 상기 계정 정보와 직간접적으로 거래가 수행된 계정인 관계 계정을 인덱싱하고 관계 계정 정보를 생성하는 제2차 인덱싱 단계; 인덱싱한 상기 관계 계정에 대한 특정 조건을 만족하여 상기 블록을 증명하는 증명 단계; 상기 관계 계정 정보를 상기 서비스 서버로 송신하는 관계 계정 정보 송신 단계; 상기 서비스 서버에서 상기 계정 정보 및 상기 식별 정보에 대한 상기 입출금 허용여부 정보를 수신하는 입출금 허용여부 정보 수신 단계; 및 상기 KYC 블록체인에 상기 계정 정보, 상기 식별 정보 및 상기 입출금 허용여부 정보에 대한 트랜잭션인 KYC 트랜잭션을 생성하고 배포하는 블록체인 기록 단계;를 컴퓨터 상에서 수행시키는 프로그램 코드를 포함하며, 상기 제1차 인덱싱 단계에서 상기 입출금 허용여부 정보가 기저장되어 있는 경우에는 상기 서비스 서버로 기저장된 상기 입출금 허용여부 정보를 송신하고, 상기 관계 계정 정보는, 상기 관계 계정의 주소, 상기 관계 계정과 상기 계정 사이의 거래관계 거리 정보 및 상기 관계 계정의 입출금 허용여부 정보를 포함하는 것을 특징으로 하는, 블록체인을 이용한 KYC 수행 장치를 제공하여 달성될 수 있다. Another object of the present invention, a memory module for storing KYC program code and KYC blockchain; And a processing module for processing the KYC program code, wherein the KYC program code includes: a deposit and withdrawal permission request step of receiving a request for deposit and withdrawal permission information for account information and identification information from a service server; A first indexing step of indexing the account information or the identification information in the KYC blockchain stored in the memory module; In the first indexing step, if the deposit and withdrawal allowance information is not stored in advance, create a new block in the KYC blockchain and distribute account information for distributing the account information to the entire blockchain network of the KYC blockchain. step; A second indexing step of indexing a relational account which is an account in which transactions are directly or indirectly performed with the account information in a public blockchain including the account of the account information and generating relational account information; A proof step of proving the block by satisfying a specific condition for the indexed relationship account; Transmitting relationship account information to the service server; Deposit and withdrawal allowance information receiving step for receiving the withdrawal and withdrawal permission information for the account information and the identification information at the service server; And a blockchain recording step of generating and distributing a KYC transaction, which is a transaction for the account information, the identification information, and the deposit and withdrawal allowance information, on the KYC blockchain. When the deposit and withdrawal allowance information is pre-stored in the indexing step, the pre-stored and withdrawal allowance information is transmitted to the service server, and the relationship account information is the address of the relationship account, between the relationship account and the account. It can be achieved by providing a device for performing KYC using a blockchain, characterized in that it includes transaction distance information and information on whether the deposit and withdrawal of the relationship account.

본 발명의 다른 목적은, 특정 계정에 대한 입출금 허용여부 정보를 기록하는 KYC(Know Your Customer) 블록체인을 저장하고 상기 KYC 블록체인의 블록체인 분산 네트워크의 적어도 일부를 구성하는, 상기 KYC 블록체인을 이용한 KYC 수행 장치에 있어서, KYC 프로그램 코드 및 상기 KYC 블록체인을 저장하는 메모리 모듈; 및 상기 KYC 프로그램 코드를 처리하는 처리 모듈; 을 포함하고, 상기 KYC 프로그램 코드는, 서비스 서버에서 계정 정보 및 식별 정보에 대한 입출금 허용여부 정보의 요청을 수신하는 입출금 허용여부 요청 단계; 상기 메모리 모듈에 저장된 상기 KYC 블록체인에서 상기 계정 정보를 인덱싱하는 제1차 인덱싱 단계; 상기 제1차 인덱싱 단계에서 상기 입출금 허용여부 정보가 기저장되어 있지 않은 경우, 상기 KYC 블록체인에 새로운 블록을 생성하고 상기 KYC 블록체인의 상기 블록체인 분산 네트워크에 상기 계정 정보를 배포하는 계정 정보 배포 단계; 상기 계정 정보의 계정을 포함하는 퍼블릭 블록체인에서 상기 계정 정보와 직간접적으로 거래가 수행된 계정인 관계 계정을 인덱싱하고 관계 계정 정보를 생성하는 제2차 인덱싱 단계; 상기 관계 계정 정보에 대한 특정 인덱싱 조건을 만족하는 경우, 상기 새로운 블록을 증명한 것으로 설정되는 블록 증명 단계; 상기 관계 계정 정보를 상기 서비스 서버로 송신하는 관계 계정 정보 송신 단계; 상기 서비스 서버에서 상기 계정 정보에 대한 상기 입출금 허용여부 정보를 수신하는 입출금 허용여부 정보 수신 단계; 및 상기 KYC 블록체인에 상기 계정 정보 및 상기 입출금 허용여부 정보에 대한 트랜잭션인 KYC 트랜잭션을 생성하고 배포하는 블록체인 기록 단계;를 컴퓨터 상에서 수행시키는 프로그램 코드를 포함하며, 상기 제1차 인덱싱 단계에서 상기 입출금 허용여부 정보가 기저장되어 있는 경우에는 상기 서비스 서버로 기저장된 상기 입출금 허용여부 정보를 송신하는 것을 특징으로 하는, KYC 블록체인의 블록 증명을 이용한 KYC 수행 장치를 제공하여 달성될 수 있다. Another object of the present invention is to store the KYC (Know Your Customer) blockchain, which records the deposit and withdrawal allowance information for a specific account, and constitutes at least a part of the blockchain distributed network of the KYC blockchain. An apparatus for performing KYC, comprising: a memory module for storing a KYC program code and the KYC blockchain; And a processing module for processing the KYC program code. The KYC program code includes: a deposit / withdrawal request request step of receiving a request for deposit / withdrawal allowance information for account information and identification information at a service server; A first indexing step of indexing the account information in the KYC blockchain stored in the memory module; If the deposit and withdrawal allowance information is not stored in the first indexing step, account information distribution for creating a new block in the KYC blockchain and distributing the account information to the blockchain distributed network of the KYC blockchain. step; A second indexing step of indexing a relational account which is an account in which transactions are directly or indirectly performed with the account information in a public blockchain including the account of the account information and generating relational account information; A block verification step of setting the new block as proof when a specific indexing condition for the relationship account information is satisfied; Transmitting relationship account information to the service server; Deposit or withdrawal allowance information receiving step for receiving the withdrawal or not allowance information on the account information in the service server; And a blockchain recording step of creating and distributing a KYC transaction, which is a transaction for the account information and the deposit and withdrawal allowance information, on the KYC blockchain; and including program code for executing the program on a computer. When deposit and withdrawal allowance information is pre-stored, it is possible to achieve by providing a device for performing KYC using block proof of the KYC blockchain, characterized in that the pre-stored and withdrawal allowance information is transmitted to the service server.

상기한 바와 같이, 본 발명에 의하면 이하와 같은 효과가 있다.As described above, the present invention has the following effects.

첫째, 본 발명의 일실시예에 따르면, KYC 절차에 이용되던 리소스의 중복이 저감되는 효과가 발생된다. First, according to one embodiment of the present invention, the effect of reducing the duplication of resources used in the KYC procedure occurs.

둘째, 본 발명의 일실시예에 따르면, 개인정보 보호법 상 위법이 발생되지 않으면서도 복수의 주체에 의해 KYC 절차가 수행될 수 있게 되는 효과가 발생된다. Second, according to an embodiment of the present invention, the KYC procedure can be performed by a plurality of subjects without violating the law on personal information protection.

셋째, 본 발명의 일실시예에 따르면, White List의 등록에 실패한 사용자의 차명계좌 검증 등, AML(Anti-Money Laundering)의 검증이 용이해지는 효과가 발생된다. Third, according to one embodiment of the present invention, verification of AML (Anti-Money Laundering), such as verification of a name account of a user who fails to register a white list, is made easy.

본 명세서에 첨부되는 다음의 도면들은 본 발명의 바람직한 실시예를 예시하는 것이며, 발명의 상세한 설명과 함께 본 발명의 기술사상을 더욱 이해시키는 것이므로, 본 발명은 그러한 도면에 기재된 사항에만 한정되어 해석되어서는 아니 된다.
도 1은 본 발명의 일실시예에 따른 블록체인을 이용한 KYC 수행 시스템을 도시한 모식도,
도 2는 본 발명의 일실시예에 따른 블록체인을 이용한 KYC 수행 방법을 도시한 흐름도,
도 3은 본 발명의 일실시예에 따른 KYC 블록체인의 구조를 도시한 모식도,
도 4는 본 발명의 일실시예에 따른 관계 계정 정보의 데이터 구조를 도시한 모식도,
도 5는 본 발명의 일실시예에 따른 변형된 POW 합의 방식을 포함한 블록체인을 이용한 KYC 수행 방법을 도시한 흐름도이다.
The following drawings, which are attached to this specification, illustrate exemplary embodiments of the present invention, and together with the detailed description of the present invention, further understand the technical spirit of the present invention. Is not.
1 is a schematic diagram showing a KYC performing system using a blockchain according to an embodiment of the present invention,
2 is a flowchart illustrating a method of performing KYC using a blockchain according to an embodiment of the present invention;
Figure 3 is a schematic diagram showing the structure of the KYC blockchain according to an embodiment of the present invention,
4 is a schematic diagram showing a data structure of relationship account information according to an embodiment of the present invention;
5 is a flowchart illustrating a method of performing KYC using a blockchain including a modified POW consensus method according to an embodiment of the present invention.

이하 첨부된 도면을 참조하여 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자가 본 발명을 쉽게 실시할 수 있는 실시예를 상세히 설명한다. 다만, 본 발명의 바람직한 실시예에 대한 동작원리를 상세하게 설명함에 있어서 관련된 공지기능 또는 구성에 대한 구체적인 설명이 본 발명의 요지를 불필요하게 흐릴 수 있다고 판단되는 경우에는 그 상세한 설명을 생략한다.DETAILED DESCRIPTION Hereinafter, exemplary embodiments of the present invention will be described in detail with reference to the accompanying drawings. However, in describing in detail the operating principle of the preferred embodiment of the present invention, if it is determined that the detailed description of the related known function or configuration may unnecessarily obscure the subject matter of the present invention, the detailed description thereof will be omitted.

또한, 도면 전체에 걸쳐 유사한 기능 및 작용을 하는 부분에 대해서는 동일한 도면 부호를 사용한다. 명세서 전체에서, 특정 부분이 다른 부분과 연결되어 있다고 할 때, 이는 직접적으로 연결되어 있는 경우뿐만 아니라, 그 중간에 다른 소자를 사이에 두고, 간접적으로 연결되어 있는 경우도 포함한다. 또한, 특정 구성요소를 포함한다는 것은 특별히 반대되는 기재가 없는 한 다른 구성요소를 제외하는 것이 아니라, 다른 구성요소를 더 포함할 수 있는 것을 의미한다.In addition, the same reference numerals are used for parts having similar functions and functions throughout the drawings. Throughout the specification, when a particular part is connected to another part, this includes not only the case where it is directly connected, but also the case where it is indirectly connected with another element in between. In addition, the inclusion of a specific component does not exclude other components unless specifically stated otherwise, it means that may further include other components.

블록체인을 이용한 KYC 수행 장치KYC Execution Device Using Blockchain

도 1은 본 발명의 일실시예에 따른 블록체인을 이용한 KYC 수행 시스템을 도시한 모식도이다. 도 1에 도시된 바와 같이, 서비스 서버(200), KYC 노드(KYC 수행 장치, 400), 퍼블릭 블록체인(500), KYC 블록체인(30)을 포함할 수 있다. 이하에서는 기재의 편의를 위하여 KYC 노드와 KYC 수행 장치를 혼용하였다. 1 is a schematic diagram showing a KYC performance system using a blockchain according to an embodiment of the present invention. As shown in FIG. 1, a service server 200, a KYC node (KYC performing apparatus 400), a public blockchain 500, and a KYC blockchain 30 may be included. Hereinafter, for convenience of description, a KYC node and a KYC performing apparatus are mixed.

서비스 서버(200)는 ICO, 암호화 화폐 거래소, 각종 Dapp(Decentralized Application)을 서비스하는 웹서버 등의 구성이다. 예를 들어, 특정 ICO 프로젝트에 특정 사용자가 토큰 구매를 하려는 경우, 서비스 서버(200)를 통해 사용자의 클라이언트에 출력되는 웹 페이지에 사용자가 식별 정보(사용언어, 성명, 이메일 등 연락처, 암호화 화폐 지갑 주소(계정 정보), 토큰 구매를 원하는 수량, 신분증을 들고 얼굴 인식이 가능하도록 찍은 본인 사진)를 입력하고 KYC 등록(White List 등록)을 요청하게 된다. 또한, 서비스 서버(200)는 KYC 노드(400)와 연결되어 KYC 블록체인(30)에 특정 사용자 정보의 상태 변경에 대한 트랜잭션을 요청하거나 트랜잭션의 검색에 대한 쿼리를 요청하도록 구성될 수 있다. 또한, 서비스 서버(200)는 특정 사용자의 계정 정보 및 식별 정보에 대해 입출금 허용여부 정보를 KYC 블록체인(30)에 기록하도록 KYC 노드(400)에 요청하도록 구성될 수 있다. The service server 200 is a configuration of a web server serving ICOs, cryptocurrency exchanges, and various Dapps (Decentralized Applications). For example, when a specific user wants to purchase a token for a specific ICO project, the user may identify information (language, name, contact information such as language, name, e-mail, cryptocurrency wallet, etc.) on a web page outputted to the user's client through the service server 200. You will be asked to enter your address (account information), the number of tokens you want to purchase, a photo of yourself holding your ID and face recognition, and request KYC registration (white list registration). In addition, the service server 200 may be connected to the KYC node 400 may be configured to request a transaction for the state change of the specific user information or a query for the search of the transaction to the KYC blockchain 30. In addition, the service server 200 may be configured to request the KYC node 400 to record the deposit and withdrawal allowance information on the KYC blockchain 30 for account information and identification information of a specific user.

KYC 노드(400)는 KYC 블록체인(30)의 네트워크를 구성하는 복수개의 노드 중 서비스 서버(200)와 연결된 하나의 노드를 의미하고, 서비스 서버(200)에서 KYC 블록체인(30)에 특정 사용자 정보의 상태 변경을 요청하는 하는 경우, KYC 블록체인(30)에 메시지 트랜잭션을 송신하여 트랜잭션을 생성하고 기록하여 배포하는 구성이다. 또한, KYC 노드(400)는 KYC 블록체인(30)의 노드 역할 뿐만 아니라 퍼블릭 블록체인(500)의 네트워크를 구성하는 복수개의 노드 중 하나의 노드 역할을 수행할 수 있고, 퍼블릭 블록체인(500)에서 특정 계정 정보와 직간접적으로 거래가 수행된 계정인 관계 계정을 인덱싱하고 관계 계정 정보를 생성할 수 있다. The KYC node 400 refers to one node connected to the service server 200 among a plurality of nodes constituting the network of the KYC blockchain 30, and a specific user in the KYC blockchain 30 in the service server 200. When requesting a state change of information, the KYC blockchain 30 is configured to send a message transaction to generate, record and distribute the transaction. In addition, the KYC node 400 may perform a role of one of a plurality of nodes constituting the network of the public blockchain 500 as well as a node of the KYC blockchain 30, and the public blockchain 500. Can index the relational account and generate the relational account information.

KYC 노드(400)는 분산 원장 장치로서 KYC 블록체인 분산 네트워크의 노드 중 하나 및 퍼블릭 블록체인 분산 네트워크의 노드 중 하나를 의미할 수 있고, 통신 모듈(10), 처리 모듈(11), 메모리 모듈(12)을 포함할 수 있다. 특히, KYC 노드(400)는 KYC 블록체인에 대해서는 트랜잭션의 기록이 가능하도록 구성되지만, 퍼블릭 블록체인에 대해서는 트랜잭션의 인덱싱만 가능하도록 구성될 수 있다. The KYC node 400 may refer to one of the nodes of the KYC blockchain distributed network and one of the nodes of the public blockchain distributed network as a distributed ledger device, and includes a communication module 10, a processing module 11, and a memory module ( 12). In particular, the KYC node 400 may be configured to enable recording of transactions for the KYC blockchain, but may be configured to only index transactions for the public blockchain.

블록체인 분산 네트워크는 블록체인의 분산 원장을 저장하고 있는 복수대의 노드로 구성된 P2P 분산 네트워크를 의미하고, 이는 KYC 블록체인(30)과 퍼블릭 블록체인(500)이 동일하다. 블록체인 분산 네트워크는 적어도 일부의 노드가 동일한 처리를 할 수 있도록 구성되기 때문에 일부의 노드가 Shut down 되거나 변조되더라도 시스템 전체에는 영향을 주지 않는 특징을 가진다. 노드는 블록체인 분산 네트워크에 연결된 모든 컴퓨팅 장치를 의미할 수 있다. 이러한 노드는 디지털 지갑, 블록체인 복사본, 검증 엔진, 채굴 엔진, P2P 네트워크 배포 기능(브로드캐스트) 등을 포함할 수 있으며, 조금 더 Light한 기능들로만 구성된 클라이언트들도 포함될 수 있다. 본 발명의 일실시예에 따른 블록체인 분산 네트워크는 Pure P2P와 슈퍼 노드(Super Node)를 포함하는 Hybrid P2P를 포함할 수 있다.The blockchain distributed network refers to a P2P distributed network composed of a plurality of nodes that store the distributed ledger of the blockchain, which is identical to the KYC blockchain 30 and the public blockchain 500. The blockchain distributed network is configured to allow at least some nodes to perform the same processing, so that even if some nodes are shut down or modulated, they do not affect the entire system. A node may mean any computing device connected to a blockchain distributed network. These nodes can include digital wallets, blockchain copies, verification engines, mining engines, peer-to-peer network distribution capabilities (broadcasts), and even clients that consist only of lighter features. The blockchain distributed network according to an embodiment of the present invention may include a hybrid P2P including a pure P2P and a super node.

노드의 종류와 관련하여, 레퍼런스 클라이언트(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자가 소유한 서버에 의존하는 가벼운 노드를 의미할 수 있다. KYC 블록체인(30)에 대해, 본 발명의 일실시예에 따른 KYC 노드(400)는 위의 노드들 중 적어도 블록체인 데이터베이스와 네트워크 라우팅 모듈을 포함하는 노드들을 의미할 수 있다. 퍼블릭 블록체인에 대해서 본 발명의 일실시예에 따른 KYC 노드(400)는 적어도 게이트웨이 라우터 모듈을 포함하는 노드들을 의미할 수 있다. 즉, 본 발명의 일실시예에 따른 KYC 노드(400)에는 KYC 블록체인(30) 및 퍼블릭 블록체인(500)이 메모리 모듈이 저장되거나, 적어도 KYC 블록체인(30) 및 퍼블릭 블록체인(500)이 메모리 모듈에 저장된 다른 노드와 연결되도록 구성될 수 있다. In relation to the type of node, a 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 blockchain database that stores all or at least some blocks of the entire blockchain, and a node including a network routing module that broadcasts transactions to the blockchain distributed network. It may mean, for example, it may mean a Client of Bitcoin Core. Full node may mean a node including a blockchain database and a network routing module. A 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. Lightweight Wallet Nodes generally store only the header information of the blockchain, hold the digital wallet management module to store the user's digital wallet, and include the network routing module but do not include the blockchain database. It can mean a lightweight node that depends on a server owned by a third party for transaction creation or access to a blockchain distributed network. For the KYC blockchain 30, the KYC node 400 according to an embodiment of the present invention may mean nodes including at least a blockchain database and a network routing module among the above nodes. For the public blockchain, the KYC node 400 according to an embodiment of the present invention may mean nodes including at least a gateway router module. That is, a KYC blockchain 30 and a public blockchain 500 store memory modules in the KYC node 400 according to an embodiment of the present invention, or at least the KYC blockchain 30 and the public blockchain 500. It may be configured to be connected to another node stored in this memory module.

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

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

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

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

퍼블릭 블록체인(500)은 이더리움, 이오스, 스팀 등의 퍼블릭한 블록체인을 의미하고, 사용자의 암호화 화폐 지갑 주소인 계정 정보의 계정을 포함하는 퍼블릭 블록체인을 의미한다. KYC 노드(400)는 퍼블릭 블록체인(500)에의 쿼리(Query)를 통해 서비스 서버(200)에서 요청되는 특정 사용자의 계정 주소와 직간접적으로 거래가 수행된 계정인 관계 계정을 인덱싱하게 된다. 본 발명의 일실시예에 따른 관계 계정에 대한 정보인 관계 계정 정보는, 관계 계정의 주소, 관계 계정과 특정 사용자의 계정 사이의 거래관계 거리 정보(예를 들어, 특정 사용자의 계정이 A, 직접 거래한 계정이 B, B와 직접 거래한 계정이 C라면, B의 거래관계 거리 정보는 1, C의 거래관계 거리 정보는 2가 될 수 있다), 관계 계정의 입출금 허용여부 정보(예를 들어, B라는 관계 계정이 서비스 서버 a에 의해 White List로 지정되어 거래가 허용되는 경우 a1, 서비스 서버 b에 의해 Black List로 지정되어 거래가 불허되는 경우 b2, 아직 확인되지 않은 경우 0으로 설정될 수 있다)를 포함할 수 있다. The public blockchain 500 refers to a public blockchain such as Ethereum, EOS, Steam, etc., and means a public blockchain including an account of account information which is a user's cryptocurrency wallet address. The KYC node 400 indexes a relational account, which is an account in which a transaction is performed directly or indirectly with an account address of a specific user requested by the service server 200 through a query to the public blockchain 500. The relationship account information, which is information about the relationship account according to an embodiment of the present invention, may include address of the relationship account, transaction distance information between the relationship account and the specific user's account (for example, the specific user's account is A, directly If the account traded is B, the account directly dealt with B is C, the transaction distance information of B may be 1, and the transaction distance information of C may be 2), and information on whether to deposit or withdraw the money of a related account (for example, , B may be set to a1 if the transaction is allowed because the relation account named B is designated as the white list by the service server a, b2 if the transaction is not allowed because the transaction is allowed as the black list by the service server b) and 0 if not yet confirmed. It may include.

KYC 블록체인(30)은 KYC 노드(400)에 의해 특정 계정 정보 및 특정 식별 정보에 대한 입출금 허용여부 정보에 대한 트랜잭션인 KYC 트랜잭션이 기록되는 블록체인을 의미한다. KYC 블록체인(30)에 저장되는 스마트 계약(Smart Contract)는 KYC 트랜잭션의 검증, 기록, 배포 등을 수행할 수 있다. 이러한 스마트 계약의 Code는 예를 들어, Ethereum 의 경우, Solidity, Serpent, LLL, Mutan의 언어로 쓰여질 수 있는데, 현재는 Solidity가 주로 사용되고 있으며 문법은 JavaScript와 유사하다. Smart Contract 는 "변수", "구조체" 및 "함수"를 포함하여 처리 모듈(11)에 의해 처리되는 프로그램 코드이다. 이러한 Smart Contract Code 는 Compile 과정을 거쳐 Byte Code로 변환된다. Byte code는 Solidity Realtime Compiler를 통해 컴파일된다. Solidity의 Byte code는 모두 16진수로 된 코드이며, Solidity에서 이 Byte code를 수신 주소 없이 Payload (data: ) 로 할당하여 Blockchain에 Transaction을 배포하면, Miner에 의해 Block이 생성되고, 이러한 Transaction은 Contract Creation Transaction으로 간주되어, Transaction Receipt의 contractAddress: 필드에 생성(배포)된 Contract의 주소를 넣어서 리턴해주게 된다.The KYC blockchain 30 refers to a blockchain in which a KYC transaction, which is a transaction for deposit / withdrawal allowance information for specific account information and specific identification information, is recorded by the KYC node 400. The smart contract stored in the KYC blockchain 30 may perform verification, recording, and distribution of KYC transactions. The code of this smart contract can be written in the languages of Solidity, Serpent, LLL, and Mutan, for example, in Ethereum. Currently, Solidity is mainly used and the syntax is similar to JavaScript. Smart Contract is program code processed by the processing module 11 including "variables", "structures" and "functions". Such Smart Contract Code is converted into Byte Code through Compile process. Byte code is compiled with Solidity Realtime Compiler. Solidity's Byte code is all hexadecimal code, and when Solidity allocates this Byte code as Payload (data:) without receiving address and distributes Transaction in Blockchain, Block is created by Miner, and such Transaction is Contract Creation It is regarded as a transaction and returned by inserting the address of the contract created (distributed) in the contractAddress: field of the Transaction Receipt.

Smart Contract 개발환경은 개발도구와 Compiler 까지를 포함한 범위를 포함할 수 있다. 예를 들어, Solidity의 경우, Code를 작성하고 컴파일하면 모든 컴파일러는 [Byte Code] 와 [Function Signature], [ABI]를 출력하게 된다. The Smart Contract development environment can include a range of development tools and compilers. For example, in Solidity, if you write and compile code, all compilers will print [Byte Code], [Function Signature], and [ABI].

Byte Code는 이미 위에서 설명한 것과 같이, Smart Contract Code를 컴파일 한 결과이며, Blockchain에 Contract Creation Transaction을 발생시켜 배포하는 경우, Contract로의 Message Tx(Transaction의 줄임말)이 발생되는 경우, Contract로의 Call/Query가 발생되는 경우를 통해 KYC 노드(400, 이더리움의 경우 EVM) 위에서 실행된다.Byte Code is the result of compiling Smart Contract Code as described above.In case of creating and distributing Contract Creation Transaction in Blockchain, when Message Tx (short for transaction) occurs to Contract, Call / Query to Contract If it occurs, it runs on the KYC node 400 (EVM in the case of Ethereum).

Function Signature는 Contract 내의 함수 이름의 SHA3 한 Hash 값의 4바이트 값으로, Contract의 함수를 실행시킬 때 Transaction의 to: 주소에는 Contract Address를, data: 부분에는 이 method signature 4바이트와 함께 파라미터 값이 payload 로 들어간다. Function Signature is the 4-byte value of the SHA3 hash value of the function name in the Contract.When executing the Contract function, the contract value is included in the to: address of the transaction and the 4-byte value of this method signature in the data: part. Enter

ABI(Application Binary Interface)는 특정 언어나 플랫폼에 종속되지 않은 방식으로 기술된 Application Interface를 의미한다. ABI 정의를 컴파일러 혹은 ABI Generator가 출력해내는데, ABI 에는 Smart Contract의 함수와 Parameter에 대한 Meta data가 정의되어있다. ABI 를 갖고 JavaScript 언어 기반의 어플리케이션을 만들 때 객체를 만들게 할 수 있고, 쉽게 그 객체의 Method를 호출하는것 만으로 Contract의 함수가 호출되도록 할 수 있는 것이다. 현재 Ethereum 은 web3.js와 함께 JavaScript 응용에서 쉽게 ABI 로 객체를 만들어 사용하도록 지원하며, 1.4.0 이후의 go-ethereum 에서는 Go Native 언어 기반의 응용에서 Smart Contract 를 쉽게 Binding 가능하도록, ABI 기반으로 Go Code를 생성해주는 ABIGen을 제공하고 있다.Application Binary Interface (ABI) refers to an application interface described in a manner that is not dependent on a specific language or platform. The ABI definition is output by the compiler or ABI Generator. Meta data about the functions and parameters of the Smart Contract is defined in ABI. When you create an application based on the JavaScript language with ABI, you can create an object, and you can easily call a Contract's function by simply calling its method. Currently, Ethereum supports creating and using objects with ABI easily in JavaScript applications with web3.js.Go-ethereum after 1.4.0 enables easy binding of Smart Contracts in Go Native language-based applications. ABIGen is provided to generate code.

이러한 Smart Contract 개발 환경은 Blockchain Engine과 연결되어 Contract Creation/Deployment, Message Tx, Call/Query를 전달할 수 있는데, 이러한 Blockchain Engine은 본 발명의 일실시예에 따른 KYC 노드(400)를 의미하고, 이더리움의 예에서는 geth나 parity, eth와 같은 Ethereum Node를 의미한다. 결국 모든 Smart Contract 와 관련한 Transaction 처리와 Contract 실행을 위한 EVM과 같은 가상 머신은 KYC 노드(400)와 같은 Node 위에 구성되어 있다.Such a smart contract development environment may be connected to a blockchain engine to deliver contract creation / deployment, message tx, call / query, and such a blockchain engine means a KYC node 400 according to an embodiment of the present invention, and ether In the example, it means Ethereum Node such as geth, parity, and eth. As a result, virtual machines such as EVM for transaction processing and contract execution related to all smart contracts are configured on the same node as KYC node 400.

이러한 Smart Contract 개발 환경에서 ABI는 Applications와 연결될 수 있다. Smart Contract는 Logic만을 갖고 있고, 사용자나 외부 시스템과의 상호작용을 위해서는 Application이 필요하다. HTML+CSS+JavaScript, Application Server, Wallet 등의 Application은 예를 들어, Ethereum과의 Interface를 통해 Smart Contract와 상호작용하는 구성이다. Smart Contract Code는 크게 [Creation/Deployment] [Invoke by Message] [Call]로 구분될 수 있다. 본 발명의 일실시예에 따라 KYC 블록체인(30)에서 특정 계정 주소가 인덱싱 되는 경우 Call이 이용될 수 있고, 특정 계정 주소에 대한 입출금 허용여부 정보가 상태 변경되는 경우 Message Tx이 이용될 수 있다. In this Smart Contract development environment, ABI can be linked to Applications. Smart Contract has Logic only and needs Application to interact with user or external system. Applications such as HTML + CSS + JavaScript, Application Server, and Wallet are for example configured to interact with Smart Contract through an interface with Ethereum. Smart Contract Code can be largely classified into [Creation / Deployment] [Invoke by Message] [Call]. According to an embodiment of the present invention, a call may be used when a specific account address is indexed in the KYC blockchain 30, and a message Tx may be used when a deposit or withdrawal information for a specific account address is changed. .

블록체인을 이용한 KYC 수행 방법How to perform KYC using blockchain

도 2는 본 발명의 일실시예에 따른 블록체인을 이용한 KYC 수행 방법을 도시한 흐름도이다. 도 2에 도시된 바와 같이, 본 발명의 일실시예에 따른 블록체인을 이용한 KYC 수행 방법은, 입출금 허용여부 요청 단계(S10), 제1차 인덱싱 단계(S11), 제2차 인덱싱 단계(S12b), 관계 계정 정보 송신 단계(S13), 입출금 허용여부 정보 수신 단계(S14), 블록체인 기록 단계(S15)를 포함할 수 있다. 2 is a flowchart illustrating a method of performing KYC using a blockchain according to an embodiment of the present invention. As shown in FIG. 2, in the method of performing KYC using the blockchain according to an embodiment of the present invention, the request for deposit or withdrawal is allowed (S10), the first indexing step (S11), and the second indexing step (S12b). ), The relationship account information transmission step (S13), deposit and withdrawal allowance information receiving step (S14), and blockchain recording step (S15).

입출금 허용여부 요청 단계(S10)는 KYC 노드(400)가 서비스 서버(200)에서 특정 사용자에 대한 계정 정보 및 식별 정보에 대한 입출금 허용여부 정보의 요청을 수신하는 단계이다. The deposit and withdrawal permission request step S10 is a step in which the KYC node 400 receives a request for deposit and withdrawal allowance information for account information and identification information for a specific user in the service server 200.

제1차 인덱싱 단계(S11)는 KYC 노드(400)가 KYC 블록체인(30)에서 상기 계정 정보 또는 상기 식별 정보를 인덱싱하는 단계이다. S11 단계에 의해 기존에 블록체인에 입출금 허용여부 정보가 기록된 계정 정보나 식별 정보는 적은 리소스로 효율적으로 검색되는 효과가 발생된다. S11 단계에서 입출금 허용여부 정보가 기저장되어 있는 경우에는, KYC 노드(400)가 서비스 서버(200)로 기저장된 입출금 허용여부 정보를 송신하게 된다(S12a). The first indexing step S11 is a step in which the KYC node 400 indexes the account information or the identification information in the KYC blockchain 30. By the step S11, the account information or identification information previously recorded in the blockchain with or without the allowance information is efficiently found with a small resource. When deposit and withdrawal allowance information is pre-stored in step S11, the KYC node 400 transmits pre-stored and withdrawal allowance information to the service server 200 (S12a).

제2차 인덱싱 단계(S12b)는 S11 단계에서 상기 계정 정보 또는 상기 식별 정보에 대응되는 입출금 허용여부 정보가 기저장되어 있지 않은 경우, KYC 노드(400)가 상기 계정 정보의 계정을 포함하는 퍼블릭 블록체인(500)에서 상기 계정 정보와 직간접적으로 거래가 수행된 계정인 관계 계정을 인덱싱하고 관계 계정 정보를 생성하는 단계이다. In the second indexing step (S12b), if no deposit or withdrawal allowance information corresponding to the account information or the identification information is previously stored in step S11, the KYC node 400 includes a public block including the account of the account information. In the chain 500, a step of indexing a relationship account, which is an account in which a transaction is performed directly or indirectly with the account information, and generating relationship account information.

관계 계정 정보 송신 단계(S13)는 KYC 노드(400)가 상기 관계 계정 정보를 서비스 서버(200)로 송신하는 단계이다. The relationship account information transmitting step (S13) is a step in which the KYC node 400 transmits the relationship account information to the service server 200.

입출금 허용여부 정보 수신 단계(S14)는 KYC 노드(400)가 상기 서비스 서버(200)로부터 상기 계정 정보 및 상기 식별 정보에 대한 입출금 허용여부 정보를 수신하는 단계이다. Receiving money withdrawal information reception step (S14) is a step in which the KYC node 400 receives the withdrawal allowance information on the account information and the identification information from the service server 200.

블록체인 기록 단계(S15)는 KYC 노드(400)가 KYC 블록체인(30)에 상기 계정 정보, 상기 식별 정보 및 상기 입출금 허용여부 정보에 대한 트랜잭션인 KYC 트랜잭션을 생성하고 배포하는 단계이다.The blockchain recording step (S15) is a step in which the KYC node 400 generates and distributes a KYC transaction, which is a transaction for the account information, the identification information, and the deposit and withdrawal allowance information, on the KYC blockchain 30.

**

도 3은 본 발명의 일실시예에 따른 KYC 블록체인의 구조를 도시한 모식도이다. 도 3에 도시된 바와 같이, 본 발명의 일실시예에 따른 KYC 노드(400)의 메모리 모듈(12)은 전부 또는 일부의 KYC 블록체인(30)을 저장할 수 있고, 각 블록 헤더에는 앞 블록 헤더의 해시 값(hash), 해답 값(nonce), 트랜잭션 그룹의 해시 값과 그 밖에 생성된 시간에 대한 정보인 Timestamp(미도시), 채굴 난이도를 의미하는 Difficulty(미도시), 블록의 넘버를 의미하는 Block Number(미도시) 등이 포함될 수 있다. 각 블록 바디(Contents)에는 적어도 하나 이상의 트랜잭션 정보(특히, 본 발명의 일실시예에 따른 KYC 트랜잭션 정보)가 포함될 수 있다. 도 3에 도시된 바와 같이, 본 발명의 일실시예에 따른 KYC 트랜잭션은, 서비스 서버가 보유한 계정 주소인 서비스 계정 주소 정보(예를 들어, 특정 ICO 주체의 KYC 토큰 지갑 주소), 입출금 허용여부 기록의 대상이 되는 특정 사용자의 계정 정보(예를 들어, 특정 사용자의 이더리움 지갑 주소), 식별 정보의 해시 값(예를 들어, 특정 사용자의 주민번호의 해시 값), 계정 정보에 포함된 주소와 직간접적으로 거래가 수행된 계정인 관계 계정에 대한 정보인 관계 계정 정보(예를 들어, 관계 계정의 주소, 트랜잭션 정보, 토큰 볼륨, 직접 관계인지 간접 관계인지 여부, 몇 차 간접 관계인지 여부 등), 특정 사용자의 입출금 허용여부에 대하여 서비스 서버에서 입력되는 입출금 허용여부 정보 등을 포함할 수 있다. 3 is a schematic diagram showing the structure of the KYC blockchain according to an embodiment of the present invention. As shown in FIG. 3, the memory module 12 of the KYC node 400 according to an embodiment of the present invention may store all or part of the KYC blockchain 30, and each block header includes a preceding block header. The hash value of the hash, the answer value, the hash value of the transaction group, and other information such as Timestamp (not shown), Difficulty (not shown), which means mining difficulty, and the block number. Block Number (not shown) may be included. Each block body (Contents) may include at least one or more transaction information (in particular, KYC transaction information according to an embodiment of the present invention). As shown in Figure 3, the KYC transaction according to an embodiment of the present invention, the service account address information (for example, the KYC token wallet address of a specific ICO subject), the account address held by the service server, deposit and withdrawal allowance record Account information (e.g., the Ethereum wallet address of a particular user) that is the target of the, the hash value of the identifying information (e.g., the hash value of the social security number of the particular user), the address contained in the account information, Relationship account information (for example, the relationship account's address, transaction information, token volume, whether it is a direct or indirect relationship, how many indirect relationships, etc.) It may include information about whether to withdraw or withdraw money from the service server regarding whether to allow or withdraw money from a specific user.

도 4는 본 발명의 일실시예에 따른 관계 계정 정보의 데이터 구조를 도시한 모식도이다. 도 4에 도시된 바와 같이, 본 발명의 일실시예에 따른 관계 계정 정보는, 관계 계정 주소, 트랜잭션 정보, 관계 정보, 입출금 허용여부 정보를 포함할 수 있다. 본 발명의 일실시예에 따른 관계 계정이란, KYC 대상이 되는 계정 정보의 계정 주소와 직간접적으로 거래 관계에 있는 계정을 의미할 수 있다. 관계 계정 주소는 예를 들어, 관계 계정의 이더리움 지갑 주소를 의미할 수 있다. 트랜잭션 정보는 예를 들어, 관계 계정의 트랜잭션 중 계정 정보와 직간접적으로 거래 관계에 있는 트랜잭션의 정보를 의미할 수 있다. 4 is a schematic diagram showing a data structure of relationship account information according to an embodiment of the present invention. As shown in FIG. 4, the relationship account information according to an embodiment of the present invention may include a relationship account address, transaction information, relationship information, and information on whether to deposit or withdraw money. The relational account according to an embodiment of the present invention may mean an account that is in direct or indirect transaction relationship with an account address of account information subject to KYC. The relationship account address may mean, for example, the Ethereum wallet address of the relationship account. For example, the transaction information may refer to information of a transaction that is in direct or indirect transactional relationship with account information among transactions of the relationship account.

관계 정보는 계정 정보와 거래 관계의 거리를 의미하는 정보이고, 직접 거래 관계, 제1...n간접 거래 관계로 분류될 수 있다. 직접 거래 관계는, 해당 트랜잭션 정보가 계정 정보와 관계 계정 정보에 대해 직접적으로 거래가 이루어진 트랜잭션 정보인 경우를 의미하고, 예를 들면 도 4와 같이 '0'이라는 dummy value로 표현될 수 있다. 제1간접 거래 관계는, 해당 트랜잭션 정보가 계정 정보와 직접 거래 관계에 있는 관계 계정 정보와 다른 관계 계정 정보에 대해 직접적으로 거래가 이루어진 트랜잭션 정보인 경우, 다른 관계 계정 정보가 계정 정보와 제1간접 거래 관계에 있다고 정의하고 예를 들면 도 4와 같이 '1'이라는 dummy value로 표현될 수 있다. 제n간접 거래 관계는, 해당 트랜잭션 정보가 계정 정보와 제n-1간접 거래 관계에 있는 관계 계정 정보와 다른 관계 계정 정보에 대해 직접적으로 거래가 이루어진 트랜잭션 정보인 경우, 다른 관계 계정 정보가 계정 정보와 제n간접 거래 관계에 있다고 정의하고 예를 들면 'n'이라는 dummy value로 표현될 수 있다. The relationship information is information representing a distance between account information and a transaction relationship, and may be classified into a direct transaction relationship and a first ... n indirect transaction relationship. The direct transaction relationship refers to a case in which the corresponding transaction information is transaction information directly dealt with the account information and the relationship account information. For example, the transaction information may be expressed as a dummy value of '0' as shown in FIG. 4. The first indirect transaction relationship is a transaction information in which the transaction information is directly traded with relationship account information different from the relationship account information that is in direct transaction relationship with the account information. Defined as being a relationship, for example, it can be represented by a dummy value of '1' as shown in FIG. The nth indirect transaction relationship is the transaction information in which the transaction information is directly traded with the account information and the relationship account information that is different from the relationship account information in the n-1 indirect transaction relationship. It may be defined as being in the nth indirect transaction relationship and may be expressed as, for example, a dummy value of 'n'.

입출금 허용여부 정보는 기존에 해당 관계 계정 주소에 대해 기저장된 입출금 허용 여부를 의미하는 정보이고, 입출금 허용, 입출금 불허, 내역 없음으로 분류될 수 있다. 예를 들면, 도 4와 같이, 입출금 허용의 경우 '0'이라는 dummy value로 표현될 수 있고, 입출금 불허의 경우 '1'이라는 dummy value, 입출금 허용 여부에 대한 정보가 없는 경우에는 '2'라는 dummy value로 기저장 또는 기설정 될 수 있다. 또한, 본 발명의 일실시예에 따르면, 입출금 허용여부 정보는 이를 등록 요청한 서비스 계정 정보 및 해당 서비스 계정의 등록 당시 KYC 토큰 보유량(Balance) 정보를 포함할 수 있다. 이에 따르면, 하나의 계정 정보 또는 하나의 식별 정보에 대해 복수의 서비스 계정이 서로 다른 입출금 허용여부 정보를 입력하게 되는 경우, 상기 입출금 허용여부 정보가 각 서비스 계정의 KYC 토큰 보유량을 기준으로 확률적인 값 또는 불연속적인 값을 갖는 정보로 KYC 블록체인에 기록되는 효과가 발생된다. Withdrawal allowance information is information indicating whether or not previously stored withdrawal allowance for the relevant account address, and can be classified as withdrawal allowance, withdrawal allowance, no details. For example, as shown in FIG. 4, in the case of deposit and withdrawal allowance, a dummy value of '0' may be expressed. In the case of no deposit and withdrawal allowance, a dummy value of '1' and '2' if there is no information on whether withdrawal or withdrawal are allowed. It can be pre-stored or preset as a dummy value. In addition, according to an embodiment of the present invention, the deposit or withdrawal allowance information may include the service account information that requested the registration and the KYC token balance (Balance) information at the time of registration of the service account. According to this, when a plurality of service accounts input different deposit or withdrawal allowance information for one account information or one identification information, the withdrawal allowance information is a probabilistic value based on the amount of KYC tokens held in each service account. Alternatively, the effect of writing on the KYC blockchain as information with discontinuous values occurs.

본 발명의 일실시예에 따라 퍼블릭 블록체인과 별도로 KYC 블록체인이 구성되면 KYC 블록체인을 이용하여 KYC를 진행하더라도 퍼블릭 블록체인의 리소스를 사용하지 않게 되고, 퍼블릭 블록체인의 트랜잭션 비용, 거래속도, 하드포크 이슈 등의 네트워크 안전성 등의 제한을 받지 않게 되는 효과가 발생된다. 예를 들어, KYC 블록체인을 별도로 이용하지 않고, 퍼블릭 블록체인 중 하나인 이더리움 블록체인 만으로 본 발명의 기술 사상을 수행하게 되는 경우, 입출금 허용여부 정보의 상태 변경과 관련된 모든 트랜잭션에 대해 막대한 GAS가 소모되게 되는 문제가 발생된다. If the KYC blockchain is configured separately from the public blockchain according to an embodiment of the present invention, even if KYC is performed using the KYC blockchain, the resources of the public blockchain are not used, and the transaction cost, transaction speed, There is an effect of not being restricted by network safety such as hard fork issues. For example, if the KYC blockchain is not used separately and the technical idea of the present invention is carried out using only the Ethereum blockchain, which is one of the public blockchains, a huge GAS for all transactions related to the change of the state of the deposit or withdrawal information is possible. Problem arises.

또한, KYC 블록체인에서 먼저 계정 정보 또는 식별 정보를 인덱싱하기 때문에 특정 계정 또는 특정 식별 정보의 KYC를 위해 퍼블릭 블록체인의 전체 트랜잭션을 항상 인덱싱하지 않아도 되는 효과가 발생된다. In addition, since the KYC blockchain indexes the account information or the identification information first, there is an effect that it is not necessary to always index the entire transaction of the public blockchain for the KYC of the specific account or the specific identification information.

또한, KYC 노드가 퍼블릭 블록체인에서 해당 계정 주소와 직간접적 거래관계가 존재하는 계정인 관계 계정을 인덱싱하기 때문에 입출금이 불허된 자가 다른 계정으로 입출금을 시도하는 등의 불법 자금 세탁의 가능성이 감소하게 되는 효과가 발생된다.In addition, the KYC node indexes the relational account, which is an account in which there is a direct or indirect transactional relationship with the corresponding account address on the public blockchain, thereby reducing the possibility of illegal money laundering, such as attempting to withdraw money from another person. Effect is generated.

또한, 특정 계정 주소에 대해 입출금 허용여부 정보가 KYC 블록체인 내의 트랜잭션으로 무결성이 유지된 상태에서 탈중앙화되어 기록되기 때문에 어떤 서비스 서버의 요청으로 입출금이 불허되었는지, 어떤 이유로 입출금이 불허되었는지, 언제 입출금이 불허되었는지 등이 다양한 서비스 플레이어들에게 접근 가능해지는 효과가 발생된다.In addition, the deposit or withdrawal information for a specific account address is decentralized and recorded while maintaining the integrity of the transaction in the KYC blockchain, which service server requests and withdrawals were not allowed, for what reason and withdrawal and withdrawal The effect of this being made accessible to various service players is made.

[KYC 블록체인의 합의 방식][Consensus Method of KYC Blockchain]

KYC 블록체인의 합의 방식은 기존의 블록체인과 동일한 POW(Proof of work) 방식, POS(Proof of stake) 방식, BFT(Byzantine Fault Tolerance) 방식 등이 활용될 수 있다. 하지만, 본 발명의 일실시예에 따른 KYC 블록체인에서는 변형된 POW 및 변형된 POS 중 적어도 하나를 적용함으로써 기존의 합의 방식의 문제점을 해소하고, KYC의 탈중앙화에 긍정적인 영향을 주는 효과가 발생된다. As a consensus method of KYC blockchain, the same POW (Proof of work) method, Proof of stake (POS) method, Byzantine Fault Tolerance (BFT) method, etc. can be used. However, in the KYC blockchain according to an embodiment of the present invention, by applying at least one of the modified POW and the modified POS, the problem of the existing consensus method is solved, and an effect that has a positive effect on the decentralization of KYC occurs. do.

변형된 POW 방식과 관련하여, 도 5는 본 발명의 일실시예에 따른 변형된 POW 합의 방식을 포함한 블록체인을 이용한 KYC 수행 방법을 도시한 흐름도이다. 도 5에 도시된 바와 같이, 본 발명의 일실시예에 따른 POW 합의 방식을 포함한 블록체인을 이용한 KYC 수행 방법은 S11 이후에 KYC 블록체인에 계정 정보 또는 식별 정보에 대해 입출금 허용여부가 기저장되어 있지 않은 경우, 계정 정보 배포 단계(S20), 퍼블릭 블록체인 인덱싱 단계(S21), 블록 증명 단계(S22)를 더 포함할 수 있다. Regarding the modified POW method, FIG. 5 is a flowchart illustrating a KYC performing method using a blockchain including a modified POW consensus method according to an embodiment of the present invention. As shown in FIG. 5, in the method of performing KYC using a blockchain including a POW consensus method according to an embodiment of the present invention, whether or not to allow deposit and withdrawal for account information or identification information is previously stored in the KYC blockchain after S11. If not, it may further include an account information distribution step (S20), a public blockchain indexing step (S21), a block attestation step (S22).

계정 정보 배포 단계(S20)는 KYC 노드가 KYC 블록체인에 새로운 블록을 생성하고, 각각의 KYC 노드가 퍼블릭 블록체인에서 해당 계정 정보를 경쟁적으로 인덱싱할 수 있도록 전체 KYC 블록체인 네트워크에 계정 정보를 배포하는 단계이다. S20에 따르면, 기존의 블록체인과 달리 하나의 계정 정보에 대한 요청을 수신할 때 마다 KYC 블록체인에서 새로운 블록이 형성되게 되고, 하나의 블록당 하나의 계정 정보에 대한 트랜잭션이 기록되게 되므로 트랜잭션이 확정되는 속도(TPS)가 매우 빨라지고 블록체인 데이터 구조가 간명해지는 효과가 발생된다. The account information distribution step (S20) is to distribute account information to the entire KYC blockchain network so that KYC nodes can create new blocks on the KYC blockchain and each KYC node can competitively index its account information in the public blockchain. It's a step. According to S20, unlike the existing blockchain, each time a request for one account information is received, a new block is formed in the KYC blockchain, and a transaction is recorded for one account information per block. The speed of confirmation (TPS) is very fast and the blockchain data structure is simplified.

퍼블릭 블록체인 인덱싱 단계(S21)는 S20에서 배포된 계정 정보를 KYC 블록체인의 각 KYC 노드가 수신하고, 각 KYC 노드가 계정 정보와 직간접적으로 거래가 수행된 계정인 관계 계정을 퍼블릭 블록체인에서 인덱싱하여 관계 계정 정보를 생성하는 단계이다. In the public blockchain indexing step (S21), each KYC node in the KYC blockchain receives the account information distributed in S20, and each KYC node indexes the relational account in the public blockchain, in which the account is directly or indirectly traded with the account information. To generate the relationship account information.

블록 증명 단계(S22)는 각 KYC 노드 중 특정 인덱싱 조건을 만족하는 관계 계정을 인덱싱 한 KYC 노드가 해당 블록을 증명한 것으로 설정되는 단계이다. 특정 인덱싱 조건은, 예를 들어, 인덱싱 된 관계 계정의 수, 인덱싱 된 관계 계정과 KYC 요청 대상인 특정 계정의 거래 관계의 거리(직접 거래인지, 간접 거래인지) 등으로 구성된 특정 인덱싱 조건의 이상 또는 초과를 의미할 수 있다. 또한, 블록 생성 이후 기설정된 특정 시간 이내에 인덱싱 된 관계 계정의 수, 인덱싱 된 관계 계정과 KYC 요청 대상인 특정 계정의 거래 관계의 거리(직접 거래인지, 간접 거래인지) 등으로 구성된 특정 인덱싱 조건을 가장 많이 달성하였는지 여부를 의미할 수 있다.The block proof step (S22) is a step in which a KYC node indexing a relationship account that satisfies a specific indexing condition among each KYC node is set to prove the block. Specific indexing conditions are, for example, above or above a certain indexing condition, which consists of the number of indexed relationship accounts, the distance between the indexed relationship account and the transaction relationship of the specific account subject to the KYC request (either direct or indirect). It may mean. In addition, the most specific indexing conditions consist of the number of relationship accounts indexed within a predetermined time period after the block is created, and the distance (direct or indirect) between the indexed relationship account and the transaction account of the KYC request target. It may mean whether it has achieved.

변형된 POW 방식에 따르면, KYC 노드의 관계 계정 인덱싱의 경쟁적 유도가 가능해지는 효과가 발생된다. 기존의 POW 방식에서는 KYC 노드들이 굳이 컴퓨팅 리소스를 투입하여 퍼블릭 블록체인에서 관계 계정 인덱싱을 수행할 이유가 제공되지 않는다. According to the modified POW method, the competitive induction of the relational account indexing of the KYC node becomes possible. In the conventional POW method, there is no reason for KYC nodes to inject relational resources and perform relational account indexing in the public blockchain.

또한, S20 내지 S22에 따르면 기존의 블록체인과 달리 블록체인 분기 문제가 확률적으로 개선되는 효과가 발생된다. 본 발명의 일실시예에 따른 계정 정보 배포 단계(S20)에서 latency에 의해 서로 다른 KYC 노드(KYC 노드 a, KYC 노드 b)에 대해 블록 순서가 다른 블록체인이 생성된 경우의 예시를 상정해볼 수 있다. 블록체인에는 배포의 latency에 의해 일부 노드에 대해 블록체인의 블록 순서가 상이해지는 문제가 높은 확률로 발생한다. 이것은 블록체인 업계의 통상의 기술자들에게 포크(fork)로 불리우며, 포크는 2개의 블록체인이 임의로 발생된다는 점에서 블록체인의 가장 큰 효과인 무결성을 악화시키는 심각한 문제로 남아있었다. 비트코인이나 이더리움과 같은 기존의 퍼블릭 블록체인에서는 일정 시간 뒤에 어떤 블록체인이 더 길게 구성되었는지를 판정하여 길지 않은 한쪽을 일방적으로 삭제하는 방법으로 이러한 문제를 해결하고 있었는데, 이러한 기존의 해결방법은 항상 블록체인이 2개 이상으로 구성될 수 있다는 가능성에 휩싸이게 되어 완전한 해결책은 되지 못하는 실정이었다. 하지만, 본 발명의 일실시예에 따른 S20 내지 S22에 따르면, 생성된 블록의 순서가 다른 각각의 노드들이 스스로 생성한 블록을 증명하게 될 확률이 낮게 유지되기 때문에 포크가 발생될 확률이 저감되는 효과가 발생된다. In addition, according to S20 to S22, unlike the existing blockchain, the blockchain branching problem is probabilistically improved. In the step of distributing account information according to an embodiment of the present invention (S20), an example of a case in which blockchains having different block orders are generated for different KYC nodes (KYC node a, KYC node b) by latency can be assumed. have. The blockchain has a high probability that the block order of the blockchain is different for some nodes due to the latency of the distribution. This is called a fork to those skilled in the blockchain industry, and the fork has remained a serious problem that worsens the integrity, the greatest effect of the blockchain, in that two blockchains are randomly generated. Existing public blockchains such as Bitcoin and Ethereum solved this problem by determining which blockchain was configured longer after a certain time and unilaterally deleting one of the non-long ones. There was always a possibility that the blockchain could be composed of two or more, so it was not a complete solution. However, according to S20 to S22 according to an embodiment of the present invention, the probability that a fork is generated is reduced because the probability that each node having a different order of generated blocks proves a generated block is low. Is generated.

*변형된 POS 방식과 관련하여, 본 발명의 일실시예에 따른 S14 단계에서, 입출금 허용여부 정보는 이를 등록 요청한 서비스 계정 정보 및 해당 서비스 계정의 등록 당시 KYC 토큰 보유량(Balance) 정보를 포함할 수 있다. 이에 따르면, 하나의 계정 정보 또는 하나의 식별 정보에 대해 복수의 서비스 계정이 각각 입출금 허용여부 정보를 입력하게 되는 경우, 그 시간 차이(Gap)이 있다고 하더라도 상기 입출금 허용여부 정보가 각 서비스 계정의 KYC 토큰 보유량을 기준으로 확률적인 값 또는 불연속적인 값을 갖는 정보로 KYC 블록체인에 기록되고, 하나의 계정 정보 또는 하나의 식별 정보에 대해 복수의 서비스 계정이 블록 기록 당시의 KYC 토큰 보유량의 비율로 해당 블록을 증명하게 되는 효과가 발생된다. 이에 따르면, 각 서비스 계정의 정보 및 KYC 토큰 보유량의 비율의 hash 값이 블록 헤더에 저장되고, Linked list가 구성될 수 있다. 본 발명의 일실시예에 따른 변형된 POS 방식에 따르면, 기존의 POS 방식에 비해 KYC 탈중앙화에 더 적합해지는 효과가 발생된다. 변형된 POS 방식에 따르면 더 많은 KYC 토큰을 보유하고 있는 서비스 계정이 특정 계정 또는 특정 식별 정보에 대해 입출력 허부 정보를 등록하여 KYC 블록체인의 생태계에 일조하였을 경우 더 많은 보상이 지급되도록 구성되어 KYC 토큰 자체에 대한 수요도 상승되는 추가 효과가 발생된다. 기존의 POS 방식은 각 validator인 노드들이 현재 보유하고 있는 자산(stake)의 양에 비례해서 데이터의 업데이트 권한을 획득하는 방식으로 KYC 탈중앙화와 관련도가 낮았다. 또한, 변형된 POS 방식에 따르면, 복수개의 체인으로 포킹(Forking)이 일어나게 되더라도 더 많은 KYC 토큰을 증명(보유)하는 체인이 살아남게 되므로 체인의 포크를 빠르게 복구할 수 있는 효과가 발생된다. 또한, 변형된 POS 방식에 따라 특정 계정 정보 또는 특정 식별 정보에 대한 복수의 서비스 계정들의 다양한 의견(입출금 허용여부)이 크라우드 소싱되게 되는 효과가 발생된다. * Regarding the modified POS method, in step S14 according to an embodiment of the present invention, the deposit or withdrawal allowance information may include service account information requesting registration and KYC token balance information at the time of registration of the service account. have. According to this, when a plurality of service accounts respectively input or withdraw allowance information for one account information or one identification information, even if there is a gap, the withdrawal allowance information is KYC of each service account. Probability or discontinuous value based on the token holding amount is recorded in the KYC blockchain, and a plurality of service accounts for one account information or one identification information correspond to the ratio of the KYC token holding amount at the time of block recording. The effect of proving the block is generated. According to this, the hash value of the information of each service account and the ratio of the KYC token holding amount may be stored in the block header, and a linked list may be configured. According to the modified POS method according to an embodiment of the present invention, an effect of becoming more suitable for KYC decentralization is generated as compared to the existing POS method. According to the modified POS method, more rewards are paid when the service account with more KYC tokens contributes to the ecosystem of KYC blockchain by registering I / O information on specific account or specific identification information. There is an additional effect of rising demand for itself. The conventional POS method has a low relation with KYC decentralization by acquiring the right to update data in proportion to the amount of assets currently held by each validator node. In addition, according to the modified POS method, even if forking occurs in a plurality of chains, a chain for proving (retaining) more KYC tokens survives, so that the fork of the chain can be quickly recovered. In addition, according to the modified POS method, various opinions (eg, withdrawal or withdrawal) of a plurality of service accounts with respect to specific account information or specific identification information may be crowdsourced.

본 발명의 범위는, 위의 변형된 POS 방식과 변형된 POW 방식이 통합된 블록 증명(합의) 방식을 포함할 수 있다. The scope of the present invention may include a block proof (consensus) method in which the modified POS method and the modified POW method are integrated.

[토큰 보상 방식][Token Reward]

이때, 본 발명의 일실시예에 따르면, KYC의 완전한 탈중앙화를 위해 보상 토큰을 특정 조건을 만족하는 KYC 노드의 계정에 배부할 수 있다. 토큰 보상의 방식은 특정 KYC 노드에서 KYC 블록체인으로 특정 계정에 대한 KYC를 요청할 때 특정 수의 토큰(KYC 토큰)을 Deposit하고, 해당 계정에 대한 입출금 허용여부 정보를 KYC 블록체인에 기저장한 KYC 노드에 Deposit된 토큰의 적어도 일부를 배부하도록 구성될 수 있다. 이를 위해서, 각 서비스 서버를 대표하는 각 KYC 노드에 대해 KYC 블록체인의 계정(서비스 계정)이 구성 또는 할당될 수 있다. 이하에서는 설명의 편의와 퍼블릭 블록체인의 코인 또는 토큰과의 구별을 위해 보상으로 지급될 토큰인 보상 토큰을 KYC 토큰으로 명명한다. In this case, according to an embodiment of the present invention, a reward token may be distributed to an account of a KYC node that satisfies a specific condition for the complete decentralization of KYC. The token reward method is KYC which deposits a certain number of tokens (KYC tokens) when requesting a KYC for a specific account from a specific KYC node to the KYC blockchain, and saves the deposit and withdrawal information for the account in the KYC blockchain. It may be configured to distribute at least a portion of the token deposited to the node. To this end, an account (service account) of the KYC blockchain may be configured or assigned to each KYC node representing each service server. Hereinafter, a reward token, which is a token to be paid as a reward, is referred to as a KYC token for convenience of explanation and to distinguish it from coins or tokens of the public blockchain.

보상 토큰인 KYC 토큰 생성 방식과 관련하여, 본 발명의 일실시예에 따르면 S10 단계에서 특정 서비스 서버가 특정 KYC 노드에 KYC 요청의 대상인 특정 사용자의 특정 계정 정보 및 특정 식별 정보에 대한 입출금 허용여부 정보를 요청할 때, 해당 KYC 노드의 계정인 서비스 계정을 토큰 송신자로 하는 특정 수의 KYC 토큰 상태변화에 대한 트랜잭션을 생성할 수 있다. 이 경우, KYC 블록체인을 이용하여 KYC를 수행하려는 서비스 주체들이 KYC 토큰을 항상 구매하여야 하므로, KYC 토큰에 대한 지속적인 수요가 발생하게 되는 효과가 있다. 또는, 기존의 퍼블릭 블록체인과 같이, 매 블록의 생성 및 증명 시 마다 KYC 토큰을 생성할 수 있다. In relation to the KYC token generation method, which is a reward token, according to an embodiment of the present invention, in step S10, information regarding whether to allow deposit or withdrawal of specific account information and specific identification information of a specific user who is a target of a KYC request to a specific KYC node to a specific KYC node When the request is made, a transaction for a specific number of KYC token state changes can be created using the service account, which is the account of the KYC node, as the token sender. In this case, since service principals who want to perform KYC using the KYC blockchain must always purchase KYC tokens, there is an effect that a continuous demand for KYC tokens occurs. Or, like the existing public blockchain, KYC tokens can be generated for each block creation and verification.

KYC 토큰의 보상 방식과 관련하여, 첫 번째 실시예로 본 발명의 일실시예에 따르면 S11 단계에서 KYC 블록체인에 서비스 서버가 요청한 특정 계정 정보 또는 특정 식별 정보에 대해 입출금 허용여부 정보가 기저장되어 있는 경우, 해당 특정 계정 정보 또는 특정 식별 정보에 대해 입출금 허용여부 정보를 등록한 서비스 계정에 KYC 토큰을 보상하도록 구성될 수 있다. 이러한 경우, 특정 계정 정보 또는 특정 식별 정보에 대한 입출금 허용여부 정보의 등록이 유도되는 효과가 발생된다. Regarding the compensation method of the KYC token, according to an embodiment of the present invention as the first embodiment, the deposit or withdrawal allowance information for the specific account information or the specific identification information requested by the service server is previously stored in the KYC blockchain in step S11. If there is, it may be configured to compensate the KYC token to the service account that registered the withdrawal allowance information for the specific account information or the specific identification information. In this case, there is an effect that registration of deposit or withdrawal allowance information for specific account information or specific identification information is induced.

KYC 토큰의 보상 방식의 두 번째 실시예로 본 발명의 일실시예에 따르면 도 2의 12b 또는 도 5의 S21에서, KYC 노드에 의해 퍼블릭 블록체인에서 관계 계정이 인덱싱 될 때, 인덱싱 된 관계 계정의 수, 인덱싱 된 관계 계정과 KYC 요청 대상인 특정 계정의 거래 관계의 거리(직접 거래인지, 간접 거래인지) 등으로 구성된 특정 인덱싱 조건의 이상 또는 초과를 특정 KYC 노드에 의해 인덱싱된 관계 계정 정보가 만족하는 경우, 해당 특정 KYC 노드의 서비스 계정에 KYC 토큰을 보상하는 방식이 이용될 수 있다. 이러한 경우, 복수개의 KYC 노드들이 퍼블릭 블록체인의 인덱싱을 상호 경쟁적으로 진행하게 되므로, 특정 인덱싱 조건 이상 또는 초과의 관계 계정 정보의 hash 값을 이용해서 POW(Proof of Work)의 블록 증명 및 합의 방식을 구축할 수 있게 되는 효과가 발생된다. 즉, KYC 토큰의 보상 방식의 두 번째 실시예에 따르면 컴퓨팅 리소스가 이용되는 퍼블릭 블록체인의 인덱싱이 복수개의 KYC 노드에 의해 경쟁적으로 진행되면서 KYC 요청 대상인 특정 계정의 관계 계정이 충분히 인덱싱 되는 생태계가 형성되는 효과가 발생된다. 이 경우, 특정 인덱싱 조건 이상 또는 초과의 관계 계정 정보의 hash 값이 블록 헤더에 저장되어 Linked list를 구성할 수 있게 된다. KYC 토큰의 보상 방식의 두 번째 실시예의 변형예로는 블록 생성 이후 기설정된 특정 시간 이내에 인덱싱 된 관계 계정의 수, 인덱싱 된 관계 계정과 KYC 요청 대상인 특정 계정의 거래 관계의 거리(직접 거래인지, 간접 거래인지) 등으로 구성된 특정 인덱싱 조건을 가장 많이 달성한 KYC 노드의 서비스 계정에 KYC 토큰을 보상하는 방식도 적용될 수 있고, 이러한 변형예는 본 발명의 범위에 포함된다. As a second embodiment of the reward scheme of the KYC token, according to an embodiment of the present invention, in the case of 12b of FIG. 2 or S21 of FIG. 5, when the relationship account is indexed in the public blockchain by the KYC node, the index of the relationship account is indexed. The number of relationship account information indexed by a particular KYC node satisfies the exceeding or exceeding a specific indexing condition consisting of the number, the distance between the indexed relationship account and the transaction relationship of the specific account that is the KYC request target (either direct or indirect). In this case, a scheme of rewarding the KYC token to the service account of the specific KYC node may be used. In this case, since a plurality of KYC nodes are competitively indexed by the public blockchain, the hash value of relational account information above or above a specific indexing condition is used to establish a block proof and consensus method of POW (Proof of Work). The effect of being able to build is generated. That is, according to the second embodiment of the reward method of the KYC token, the indexing of the public blockchain in which the computing resources are used is competitively performed by a plurality of KYC nodes, thereby forming an ecosystem in which the relational account of the specific account that is the target of the KYC request is sufficiently indexed. Effect is generated. In this case, a hash value of relation account information above or above a specific indexing condition is stored in a block header to form a linked list. Variations of the second embodiment of the compensation scheme of KYC tokens include the number of relationship accounts indexed within a predetermined time period after the block is generated, and the distance between the indexed relationship account and the transaction relationship of the specific account targeted for KYC request (direct or indirect). It is also possible to apply a scheme of rewarding the KYC token to the service account of the KYC node which has achieved the most specific indexing conditions, such as whether it is a transaction, and such modifications are included in the scope of the present invention.

KYC 토큰의 보상 방식의 세 번째 실시예로 본 발명의 일실시예에 따르면, 도 2의 12b 또는 도 5의 S21에서 KYC 노드에 의해 퍼블릭 블록체인에서 관계 계정이 인덱싱 될 때, 인덱싱 된 관계 계정에 대해 KYC 블록체인에 입출금 허용여부 정보를 등록한 서비스 계정에 KYC 토큰을 보상하도록 구성될 수 있다. 이러한 경우, 특정 계정 정보 또는 특정 식별 정보에 대한 입출금 허용여부 정보의 등록이 유도되는 효과가 발생된다.According to an embodiment of the present invention as a third embodiment of the compensation scheme of the KYC token, when the relationship account is indexed in the public blockchain by the KYC node in FIG. 2B of FIG. 2 or S21 of FIG. It can be configured to reward the KYC token to the service account registered with the KYC blockchain whether to deposit or withdraw. In this case, there is an effect that registration of deposit or withdrawal allowance information for specific account information or specific identification information is induced.

KYC 토큰의 보상 방식의 네 번째 실시예로 서비스 계정에서 KYC 블록체인에 기록하는 식별 정보의 정보량이 많을수록 더 많은 보상을 받도록 보상 가중치를 설정할 수 있다. 이에 따르면, 각 서비스 계정들이 특정 사용자에 대해 더 많은 정보를 축적하는 것이 유도되게 된다. As a fourth embodiment of the reward method of the KYC token, a reward weight may be set to receive more reward as the amount of information of identification information recorded in the KYC blockchain in the service account increases. According to this, each service account is induced to accumulate more information about a specific user.

[식별 정보][Identification information]

본 발명의 일실시예에 따른 식별 정보는, 서비스 서버로 사용자 또는 서비스 주체가 입력하는 주민번호, 성명, Facial data, UUID 등의 Hash 값을 의미할 수 있다. Hash 값 저장으로 개인을 식별할 수 없도록 KYC 블록체인에 기록될 수 있다. 본 발명의 일실시예에 따라 UUID가 식별 정보로 KYC 블록체인에 기록되는 경우, 동일한 디바이스에서 여러 계정을 운영하는 사용자에 대한 블랙리스트 관리도 가능해지는 효과가 발생된다. The identification information according to an embodiment of the present invention may mean a hash value such as a social security number, a name, facial data, and a UUID input by a user or a service principal to a service server. Hash value storage can be written to the KYC blockchain so that individuals cannot be identified. According to an embodiment of the present invention, when the UUID is recorded in the KYC blockchain as identification information, blacklist management for users who operate multiple accounts on the same device is also possible.

본 발명의 일실시예에 따라 Facial data가 식별 정보로 KYC 블록체인에 기록되는 경우에는, KYC 노드에서 전처리 후 규격이 표준화된 Facial image에 대해 특정 랜드마크를 추출하여 랜드마크 사이의 관계 정보를 추출하고, 추출된 랜드마크 정보의 Hash 값을 KYC 블록체인에 식별 정보로 기록하도록 구성될 수 있다. 이에 따르면, KYC 노드가 Facial data를 인덱싱하는 것이 가능하면서도 개인정보의 보호가 가능해지는 효과가 발생된다. 랜드마크 사이의 관계 정보란 예를 들어, 눈동자와 눈동자 사이의 거리와 얼굴 너비의 비율 등을 의미할 수 있다. According to an embodiment of the present invention, when facial data is recorded in the KYC blockchain as identification information, the KYC node extracts specific landmarks for the facial image whose standard is standardized after preprocessing, and extracts relationship information between the landmarks. And, it may be configured to record the hash value of the extracted landmark information as identification information on the KYC blockchain. According to this, it is possible for the KYC node to index the facial data while protecting the personal information. The relationship information between the landmarks may mean, for example, the ratio of the distance between the pupil and the pupil and the face width.

본 발명의 일실시예에 따르면, KYC의 탈중앙화가 가능해지고, 별도의 플레이어가 KYC 인증 사업을 수행하지 않더라도 복수의 사용자에 대한 계정 정보, 식별 정보 및 입출금 허용여부 정보가 축적되는 효과가 발생된다. 이때, 본 발명의 일실시예와 같이 블록체인을 활용하지 않는 경우에는 개인정보의 문제, 서버 미러링의 문제, 신뢰의 문제, 정보 수집 어려움의 문제 등이 발생되게 된다. According to an embodiment of the present invention, decentralization of KYC is possible, and even if a separate player does not perform a KYC certification business, account information, identification information, and deposit / withdrawal allowance information for a plurality of users are accumulated. . In this case, when the blockchain is not used as in an embodiment of the present invention, a problem of personal information, a problem of server mirroring, a problem of trust, a problem of difficulty in collecting information, and the like occur.

본 발명의 일실시예에 따르면, 예를 들어, 법적인 이슈 때문에 ICO를 참여할 수 없는 a라는 미국 국민이 A라는 ICO에 참여하려 해서 A 서비스 계정에 의해 a가 입출금 불허로 KYC 블록체인에 기록된 경우, a는 다른 계정을 만들어서 b라는 명의로 A라는 ICO에 참여하려 할 수 있다. 기존의 방식으로는 a의 이러한 차명계좌, 명의대여 행위를 막을 수 없는 문제가 있었다. 하지만, 본 발명의 일실시예에 따르면, A 서비스 서버에서 b의 입출금 허용여부 정보 요청을 KYC 노드를 통해 수행하게 된다(S10). KYC 노드는 b의 계정 정보에 대해 퍼블릭 블록체인에서 관계 계정을 인덱싱하게 되어 a 계정과의 관계를 발견하게 되고(S12b, S21), A 서비스 서버에서는 a 계정이 b 계정의 관계 계정이라는 정보를 KYC 노드를 통해 수신하게 된다(S13). 이후 A 서비스 서버에서는 b 계정의 입출금 불허를 처리하고, b 계정에 대한 입출금 불허를 KYC 노드를 통해 KYC 블록체인에 기록하게 된다(S14, S15). According to an embodiment of the present invention, for example, if a US citizen, a, who cannot participate in an ICO due to a legal issue, attempts to participate in an ICO, A is recorded in the KYC blockchain by the A service account with no deposit or withdrawal For example, a may create another account and attempt to participate in an ICO named A under the name b. In the conventional way, there is a problem that can not prevent such a loan account, lending behavior of a. However, according to an embodiment of the present invention, the A service server performs the request for the withdrawal allowance information of b through the KYC node (S10). The KYC node indexes the relational account on the public blockchain with respect to the account information of b and discovers the relationship with the account a (S12b, S21) .In the service server, the account a indicates that the account a is the relational account of account b. Received through the node (S13). Thereafter, the A service server handles the deposit and withdrawal of account b, and records the withdrawal and withdrawal of the account b in the KYC blockchain through the KYC node (S14, S15).

이상에서 설명한 바와 같이, 본 발명이 속하는 기술 분야의 통상의 기술자는 본 발명이 그 기술적 사상이나 필수적 특징을 변경하지 않고서 다른 구체적인 형태로 실시될 수 있다는 것을 이해할 수 있을 것이다. 그러므로 상술한 실시예들은 모든 면에서 예시적인 것이며 한정적인 것이 아닌 것으로서 이해해야만 한다. 본 발명의 범위는 상세한 설명보다는 후술하는 특허청구범위에 의하여 나타내어지며, 특허청구범위의 의미 및 범위 그리고 등가 개념으로부터 도출되는 모든 변경 또는 변형된 형태가 본 발명의 범위에 포함하는 것으로 해석되어야 한다.As described above, those skilled in the art will understand that the present invention can be implemented in other specific forms without changing the technical spirit or essential features. Therefore, the above-described embodiments are to be understood in all respects as illustrative and not restrictive. The scope of the present invention is shown by the following claims rather than the detailed description, and all changes or modifications derived from the meaning and scope of the claims and equivalent concepts should be construed as being included in the scope of the present invention.

본 명세서 내에 기술된 특징들 및 장점들은 모두를 포함하지 않으며, 특히 많은 추가적인 특징들 및 장점들이 도면들, 명세서, 및 청구항들을 고려하여 당업자에게 명백해질 것이다. 더욱이, 본 명세서에 사용된 언어는 주로 읽기 쉽도록 그리고 교시의 목적으로 선택되었고, 본 발명의 주제를 묘사하거나 제한하기 위해 선택되지 않을 수도 있다는 것을 주의해야 한다.The features and advantages described herein do not include all, and in particular many additional features and advantages will become apparent to those skilled in the art in view of the drawings, specification, and claims. Moreover, it should be noted that the language used herein has been chosen primarily for ease of reading and for teaching purposes, and may not be selected to describe or limit the subject matter of the present invention.

본 발명의 실시예들의 상기한 설명은 예시의 목적으로 제시되었다; 이는 개시된 정확한 형태로 본 발명을 제한하거나, 빠뜨리는 것 없이 만들려고 의도한 것이 아니다. 당업자는 상기한 개시에 비추어 많은 수정 및 변형이 가능하다는 것을 이해할 수 있다.The foregoing description of the embodiments of the invention has been presented for the purpose of illustration; It is not intended to be exhaustive or to limit the invention to the precise form disclosed. Those skilled in the art can appreciate that many modifications and variations are possible in light of the above disclosure.

본 설명의 일부는 연산의 기호 표현 및 알고리즘에 관한 본 발명의 실시예들을 기술한다. 이러한 알고리즘적 설명 및 표현은, 일반적으로 그들의 작업의 핵심을 효율적으로 다른 당업자에게 전달하기 위해 데이터 처리 분야의 당업자에 의해 사용된다. 이러한 동작은 기능적, 연산적, 또는 논리적으로 설명되지만, 컴퓨터나 이와 동등한 전기 회로, 마이크로코드 등에 의해 구현될 것으로 이해된다. 나아가, 또한 이것은 모듈로서의 이러한 동작의 배열을 나타내기 위해, 때때로 일반성의 상실 없이 편리하게 입증된다. 상기 기술된 동작 및 그들의 연관된 모듈은 소프트웨어, 펌웨어, 하드웨어, 또는 이들의 임의의 조합 내에서 구현될 수 있다.Some portions of this description describe embodiments of the invention with respect to algorithms and symbolic representations of operations. Such algorithmic descriptions and representations are generally used by those skilled in the data processing arts to effectively convey the substance of their work to others skilled in the art. Such operations are described functionally, computationally, or logically, but are understood to be implemented by a computer or equivalent electrical circuit, microcode, or the like. Furthermore, this also proves convenient, sometimes without loss of generality, to represent this arrangement of operations as a module. The operations described above and their associated modules may be implemented in software, firmware, hardware, or any combination thereof.

여기서 기술된 임의의 단계, 동작, 또는 프로세스는, 하나 이상의 하드웨어 또는 소프트웨어 모듈과 함께 단독으로 또는 다른 장치와 조합하여 수행되거나 구현될 수 있다. 일 실시예에서, 소프트웨어 모듈은 컴퓨터 프로그램 코드를 포함하는 컴퓨터-판독 가능 매체로 구성되는 컴퓨터 프로그램 제품과 함께 구현되고, 컴퓨터 프로그램 코드는 기술된 임의의 또는 모든 공정, 단계, 또는 동작을 수행하기 위한 컴퓨터 프로세서에 의해 실행될 수 있다.Any step, operation, or process described herein may be performed or implemented alone or in combination with other devices with one or more hardware or software modules. In one embodiment, the software module is implemented with a computer program product comprised of a computer-readable medium containing computer program code, the computer program code being configured to perform any or all of the processes, steps, or operations described. It can be executed by a computer processor.

또한, 본 발명의 실시예들은, 여기서의 동작을 수행하기 위한 장치와 관련될 수 있다. 이들 장치는 요구되는 목적을 위해 특별히 제작될 수 있고/있거나, 컴퓨터 내에 저장된 컴퓨터 프로그램에 의해 선택적으로 활성화되거나 재구성되는 일반적-목적의 연산 장치를 포함할 수 있다. 이러한 컴퓨터 프로그램은, 유형의 컴퓨터 판독가능 저장 매체 또는 전자 명령어를 저장하기 위해 적합한 임의의 유형의 미디어 내에 저장될 수 있고, 컴퓨터 시스템 버스에 결합될 수 있다. 나아가, 본 명세서에 참조되는 임의의 연산 시스템은 단일 프로세서를 포함할 수 있거나, 증가한 연산 능력을 위한 다중 프로세서 디자인을 채택한 구조가 될 수 있다.In addition, embodiments of the present invention may relate to an apparatus for performing an operation herein. These devices may be specially designed for the required purpose and / or may include general-purpose computing devices which are selectively activated or reconfigured by a computer program stored in the computer. Such computer programs may be stored in tangible computer readable storage media or any type of media suitable for storing electronic instructions and coupled to a computer system bus. Further, any computing system referenced herein may include a single processor or may be structured to employ a multiprocessor design for increased computing power.

마지막으로, 본 명세서에 사용된 언어는 주로 읽기 쉽도록 그리고 교시의 목적으로 선택되었고, 본 발명의 주제를 묘사하거나 제한하기 위해 선택되지 않을 수 있다.Finally, the language used herein has been selected primarily for readability and for teaching purposes, and may not be selected to describe or limit the subject matter of the present invention.

그러므로 본 발명의 범위는 상세한 설명에 의해 한정되지 않고, 이를 기반으로 하는 출원의 임의의 청구항들에 의해 한정된다. 따라서, 본 발명의 실시예들의 개시는 예시적인 것이며, 이하의 청구항에 기재된 본 발명의 범위를 제한하는 것은 아니다.Therefore, the scope of the present invention is not limited by the detailed description, but is defined by any claims of the application on which it is based. Accordingly, the disclosure of the embodiments of the present invention is illustrative and does not limit the scope of the invention described in the claims below.

30: KYC 블록체인
200: 서비스 서버
400: KYC 노드
500: 퍼블릭 블록체인
30: KYC Blockchain
200: service server
400: KYC Node
500: public blockchain

Claims (1)

특정 계정에 대한 입출금 허용여부 정보를 기록하는 KYC(Know Your Customer) 블록체인을 저장하고 상기 KYC 블록체인의 블록체인 분산 네트워크의 적어도 일부를 구성하는, 상기 KYC 블록체인을 이용한 KYC 수행 장치에 있어서,
KYC 프로그램 코드 및 상기 KYC 블록체인을 저장하는 메모리 모듈; 및
상기 KYC 프로그램 코드를 처리하는 처리 모듈;
을 포함하고,
상기 KYC 프로그램 코드는,
서비스 서버에서 계정 정보 및 식별 정보에 대한 입출금 허용여부 정보의 요청을 수신하는 입출금 허용여부 요청 단계;
상기 메모리 모듈에 저장된 상기 KYC 블록체인에서 상기 계정 정보를 인덱싱하는 제1차 인덱싱 단계;
상기 제1차 인덱싱 단계에서 상기 입출금 허용여부 정보가 기저장되어 있지 않은 경우, 상기 KYC 블록체인에 새로운 블록을 생성하고 상기 KYC 블록체인의 상기 블록체인 분산 네트워크에 상기 계정 정보를 배포하는 계정 정보 배포 단계;
상기 계정 정보의 계정을 포함하는 퍼블릭 블록체인에서 상기 계정 정보와 직간접적으로 거래가 수행된 계정인 관계 계정을 인덱싱하고 관계 계정 정보를 생성하는 제2차 인덱싱 단계;
상기 관계 계정 정보에 대한 특정 인덱싱 조건을 만족하는 경우, 상기 새로운 블록을 증명한 것으로 설정되는 블록 증명 단계;
상기 관계 계정 정보를 상기 서비스 서버로 송신하는 관계 계정 정보 송신 단계;
상기 서비스 서버에서 상기 계정 정보에 대한 상기 입출금 허용여부 정보를 수신하는 입출금 허용여부 정보 수신 단계; 및
상기 KYC 블록체인에 상기 계정 정보 및 상기 입출금 허용여부 정보에 대한 트랜잭션인 KYC 트랜잭션을 생성하고 배포하는 블록체인 기록 단계;
를 컴퓨터 상에서 수행시키는 프로그램 코드를 포함하며,
상기 특정 인덱싱 조건은, 인덱싱 된 상기 관계 계정의 수 또는 인덱싱 된 상기 관계 계정과 상기 특정 계정의 거래 관계의 거리이고,
상기 제1차 인덱싱 단계에서 상기 입출금 허용여부 정보가 기저장되어 있는 경우에는 상기 서비스 서버로 기저장된 상기 입출금 허용여부 정보를 송신하는 것을 특징으로 하는,
KYC 블록체인의 블록 증명을 이용한 KYC 수행 장치.
In the KYC performing apparatus using the KYC blockchain, storing a KYC (Know Your Customer) blockchain for recording the deposit and withdrawal allowance information for a specific account and constituting at least part of the blockchain distributed network of the KYC blockchain,
A memory module for storing a KYC program code and the KYC blockchain; And
A processing module for processing the KYC program code;
Including,
The KYC program code is,
A deposit / withdrawal request request step of receiving a request for deposit / withdrawal allowance information for the account information and the identification information at the service server;
A first indexing step of indexing the account information in the KYC blockchain stored in the memory module;
If the deposit and withdrawal allowance information is not stored in the first indexing step, account information distribution for creating a new block in the KYC blockchain and distributing the account information to the blockchain distributed network of the KYC blockchain. step;
A second indexing step of indexing a relational account which is an account in which transactions are directly or indirectly performed with the account information in a public blockchain including the account of the account information and generating relational account information;
A block verification step of setting the new block as proof when a specific indexing condition for the relationship account information is satisfied;
Transmitting relationship account information to the service server;
Deposit or withdrawal allowance information receiving step for receiving the withdrawal or not allowance information on the account information in the service server; And
A blockchain recording step of creating and distributing a KYC transaction which is a transaction for the account information and the deposit and withdrawal allowance information in the KYC blockchain;
Containing program code for executing on a computer,
The specific indexing condition is the number of the relationship accounts indexed or the distance between the indexed relationship account and the transaction relationship of the specific account,
When the deposit and withdrawal allowance information is pre-stored in the first indexing step, the pre-stored and withdrawal allowance information is transmitted to the service server.
KYC execution device using block proof of KYC blockchain.
KR1020180174315A 2018-12-31 2018-12-31 Apparatus and Method for KYC using KYC blockchain KR102096641B1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020180174315A KR102096641B1 (en) 2018-12-31 2018-12-31 Apparatus and Method for KYC using KYC blockchain

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020180174315A KR102096641B1 (en) 2018-12-31 2018-12-31 Apparatus and Method for KYC using KYC blockchain

Related Parent Applications (1)

Application Number Title Priority Date Filing Date
KR1020180088210A Division KR101936759B1 (en) 2018-07-27 2018-07-27 Apparatus and Method for KYC using KYC blockchain

Publications (2)

Publication Number Publication Date
KR20200012686A true KR20200012686A (en) 2020-02-05
KR102096641B1 KR102096641B1 (en) 2020-04-02

Family

ID=69515141

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020180174315A KR102096641B1 (en) 2018-12-31 2018-12-31 Apparatus and Method for KYC using KYC blockchain

Country Status (1)

Country Link
KR (1) KR102096641B1 (en)

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2003162633A (en) * 2001-11-22 2003-06-06 Hachijuni Bank Ltd Personal authentication data management method and accounting system
KR20120003512A (en) * 2010-07-03 2012-01-11 주식회사 비즈모델라인 System for remitting money between mobile device using authority control of virtual account, mobile device
KR101852077B1 (en) * 2018-01-16 2018-04-27 주식회사 미탭스플러스 Distributed Ledger Device and Distributed Ledger Method for Game Difficulty Control based on Block Chain
KR101857223B1 (en) 2017-11-13 2018-05-11 주식회사 온더 Method and system for user identification based block chain token
KR20180079847A (en) * 2017-01-03 2018-07-11 아주대학교산학협력단 Person to person trading method and apparatus by using blockchain and distributed hash table

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2003162633A (en) * 2001-11-22 2003-06-06 Hachijuni Bank Ltd Personal authentication data management method and accounting system
KR20120003512A (en) * 2010-07-03 2012-01-11 주식회사 비즈모델라인 System for remitting money between mobile device using authority control of virtual account, mobile device
KR20180079847A (en) * 2017-01-03 2018-07-11 아주대학교산학협력단 Person to person trading method and apparatus by using blockchain and distributed hash table
KR101857223B1 (en) 2017-11-13 2018-05-11 주식회사 온더 Method and system for user identification based block chain token
KR101852077B1 (en) * 2018-01-16 2018-04-27 주식회사 미탭스플러스 Distributed Ledger Device and Distributed Ledger Method for Game Difficulty Control based on Block Chain

Non-Patent Citations (5)

* Cited by examiner, † Cited by third party
Title
대한민국 등록특허, 10-1751025, 블록체인 기반의 스마트 증권업무 처리 시스템(Smart system for trading stock based blockchain), 주식회사 온더
대한민국 등록특허, 10-1758870, 마이닝 관리 시스템 및 이를 이용한 마이닝 관리 방법(Mining Rig Monitoring System And Mining Rig Monitoring Method In Using Same), 주식회사 온더
미국 공개특허, US 2016/0292672 A1, Systems and methods of blockchain transaction recordation, Nasdaq, Inc.
미국 공개특허, US 2016/0342989 A1, Method and system for processing blockchain-based transactions on existing payment networks, Mastercard International Incorporated
미국 공개특허, US 20170132615 A1, Block chain alias for person-to-person payments, Bank Of America Corporation

Also Published As

Publication number Publication date
KR102096641B1 (en) 2020-04-02

Similar Documents

Publication Publication Date Title
KR101878869B1 (en) Distributed Ledger Device and Distributed Ledger Method for User Identification Management Based on Block Chain
KR101936759B1 (en) Apparatus and Method for KYC using KYC blockchain
KR101936756B1 (en) Apparatus for Supporting Sharing Economy using Blockchain
JP7128111B2 (en) Systems and methods for controlling asset-related activities via blockchain
KR101936757B1 (en) Distributed Ledger Device and Distributed Ledger Method for Supporting Sharing Economy
EP3702992A1 (en) Virtual currency system
KR101878870B1 (en) Distributed Ledger Device and Distributed Ledger Method for Token Issuance and User Identification Management Based on Block Chain
KR101962290B1 (en) Distributed Ledger Device for Supporting Sharing Economy
KR101962289B1 (en) Distributed Ledger Device for Supporting Sharing Economy
KR101962288B1 (en) Apparatus for Sharing Economy using Blockchain
CN111738724B (en) Cross-border resource transfer authenticity auditing method and device, and electronic equipment
TWI646487B (en) Smart contract executing system with permission rating and avoid duplication and method thereof
KR101962285B1 (en) Distributed Ledger Device and Distributed Ledger Method for User Identification Management Based on Block Chain
EP3907644B1 (en) Blockchain
Cai et al. Introduction to blockchain basics
KR102096643B1 (en) Apparatus for KYC using KYC blockchain
Masseport et al. Proof of usage: User-centric consensus for data provision and exchange
KR102096646B1 (en) Apparatus for KYC using KYC blockchain
KR102096645B1 (en) Apparatus for KYC using KYC blockchain
KR102096644B1 (en) Apparatus for KYC using KYC blockchain
KR102096642B1 (en) Apparatus for KYC using KYC blockchain
KR102096640B1 (en) Apparatus for KYC using Token Balance within KYC blockchain
KR102096641B1 (en) Apparatus and Method for KYC using KYC blockchain
KR101962287B1 (en) Apparatus for Sharing Economy using Blockchain
Ghosh Adoption of blockchain in financial services

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