KR102096642B1 - Apparatus for KYC using KYC blockchain - Google Patents

Apparatus for KYC using KYC blockchain Download PDF

Info

Publication number
KR102096642B1
KR102096642B1 KR1020180174316A KR20180174316A KR102096642B1 KR 102096642 B1 KR102096642 B1 KR 102096642B1 KR 1020180174316 A KR1020180174316 A KR 1020180174316A KR 20180174316 A KR20180174316 A KR 20180174316A KR 102096642 B1 KR102096642 B1 KR 102096642B1
Authority
KR
South Korea
Prior art keywords
kyc
information
account
blockchain
withdrawal
Prior art date
Application number
KR1020180174316A
Other languages
Korean (ko)
Other versions
KR20200012687A (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 KR1020180174316A priority Critical patent/KR102096642B1/en
Publication of KR20200012687A publication Critical patent/KR20200012687A/en
Application granted granted Critical
Publication of KR102096642B1 publication Critical patent/KR102096642B1/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

본 발명은 블록체인을 이용한 KYC 수행 장치 및 방법에 관한 것이다. 이를 위하여, KYC 노드가 서비스 서버에서 계정 정보 및 식별 정보에 대한 입출금 허용여부 정보의 요청을 수신하는 입출금 허용여부 요청 단계; KYC 노드가 KYC 노드의 메모리 모듈에 저장된 KYC 블록체인에서 계정 정보 또는 식별 정보를 인덱싱하는 제1차 인덱싱 단계; 제1차 인덱싱 단계에서 입출금 허용여부 정보가 기저장되어 있지 않은 경우에는 KYC 노드가 계정 정보의 계정을 포함하는 퍼블릭 블록체인에서 계정 정보와 직간접적으로 거래가 수행된 계정인 관계 계정을 인덱싱하고 관계 계정 정보를 생성하는 제2차 인덱싱 단계; KYC 노드가 관계 계정 정보를 서비스 서버로 송신하는 관계 계정 정보 송신 단계; KYC 노드가 서비스 서버에서 계정 정보 및 식별 정보에 대한 입출금 허용여부 정보를 수신하는 입출금 허용여부 정보 수신 단계; 및 KYC 노드가 KYC 블록체인에 계정 정보, 식별 정보 및 입출금 허용여부 정보 대한 트랜잭션인 KYC 트랜잭션을 생성하고 배포하는 블록체인 기록 단계;를 제공할 수 있다.
The present invention relates to an apparatus and method for performing KYC using a blockchain. To this end, the KYC node requesting the deposit / withdrawal permission step of receiving the request for the withdrawal / withdrawal permission information for the account information and the identification information from the service server; A first indexing step in which the KYC node indexes account information or identification information in the KYC blockchain stored in the memory module of the KYC node; In the first indexing step, if the deposit / withdrawal allowance information is not already stored, the KYC node indexes the relationship account, which is the account in which the transaction was performed directly or indirectly with the account information in the public blockchain containing the account of the account information, and the relationship account. A second indexing step of generating information; A step of transmitting relationship account information, wherein the KYC node sends the relationship account information to the service server; A KYC node receiving / withdrawal allowance information receiving step of receiving / withdrawal allowance information for account information and identification information from the service server; And a blockchain recording step in which the KYC node creates and distributes a KYC transaction, which is a transaction for account information, identification information, and withdrawal allowance information to the KYC blockchain.

Description

KYC 블록체인에서의 블록 증명 및 토큰 보유량을 이용한 KYC 수행 장치{Apparatus for KYC using KYC blockchain}Device for performing KYC using block proof and token holding amount in KYC blockchain {Apparatus 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 has been developed as a technology to realize cryptocurrency (or virtual currency) as fundraising becomes easier by ICO (Initial Coin Offering). Bitcoin, for example, 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 secure the value, unlike ordinary currencies. Prior to the invention of the blockchain, in order to create an electronic currency to replace the currency, the 'middle man', which guarantees its value or manages the transaction record of the currency, was necessary. However, with the following structure, a certain cryptocurrency can function as a real currency without a third party institution with the following structure.

(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 falsify.

(2) 분산형 원장 구조를 취함으로써 거래의 투명성이 높고 이중 지급이 어려움.(2) By adopting a distributed ledger structure, transaction transparency is high and double payment is difficult.

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

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

Bitrex, Bithumb, Bitfinex 등의 거래소에서의 암호화 화폐 거래가 일반 대중들에게까지 확장되고, ICO를 이용하여 Fundraising 하는 사례가 늘어나게 되면서 기존의 금융 거래와 마찬가지로 거래자, 투자자, 구매자, 사용자의 신원을 알기 위하여 KYC(Know Your Customer) 절차가 이용되기 시작하였다. As cryptocurrency transactions on exchanges such as Bitrex, Bithumb, and Bitfinex have expanded to the general public, and the number of cases of fundraising using ICOs has increased, KYC is used to know the identity of traders, investors, buyers, and users as in the case of existing financial transactions. (Know Your Customer) procedures began 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, Dapps, etc., the execution of the KYC (Know Your Customer) procedure must always be preceded. ICO's KYC process generally proceeds as follows.

(1) 토큰 구매자가 구매자 정보(사용언어, 성명, 이메일 등 연락처, 암호화 화폐 지갑 주소, 토큰 구매를 원하는 수량, 신분증을 들고 얼굴 인식이 가능하도록 찍은 본인 사진)를 입력하고, 약관에 동의(1) The token purchaser enters the buyer information (language, name, email, contact information, cryptocurrency wallet address, quantity desired to purchase the token, and a photo of himself / herself to be able to recognize the face with an identification card) and agree to the terms and conditions

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

위의 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 countries where ICO is prohibited (for example, the United States, China, Singapore, etc.)

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

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

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

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

대한민국 등록특허, 10-1751025, 블록체인 기반의 스마트 증권업무 처리 시스템(Smart system for trading stock based blockchain), 주식회사 온더Registered patent in Korea, 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 Registered Patent, 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 Publication, 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 Publication, 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 Publication, US 20170132615 A1, Block chain alias for person-to-person payments, Bank Of America Corporation 대한민국 등록특허, 10-1857223, 블록체인 토큰 기반의 사용자 식별 방법 및 시스템, 주식회사 온더Republic of Korea registered patent, 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 a device and method for performing KYC using a blockchain that enables a KYC procedure to be performed by a plurality of service entities 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 deposit or withdrawal permission request step of receiving a request for the withdrawal allowance 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 the memory module of the KYC node; In the first indexing step, if the deposit / withdrawal permission 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 the public blockchain including the account information. A second indexing step of indexing and generating relationship account information; A step of transmitting relation account information, wherein the KYC node transmits the relation account information to the service server; A deposit / withdrawal information receiving step wherein the KYC node receives the deposit / withdrawal permission information for the account information and the identification information from the service server; And a block chain recording step in which the KYC node creates and distributes a transaction for the account information, the identification information, and the withdrawal allowance information on the KYC blockchain, and includes a blockchain recording step. When the deposit / withdrawal permission information is pre-stored, the KYC node transmits the pre-stored deposit / withdrawal information 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 includes the transaction relationship distance information and whether to allow the deposit and withdrawal of the account.

또한, KYC 노드가 서비스 서버에서 계정 정보 및 식별 정보에 대한 입출금 허용여부 정보의 요청을 수신하는 입출금 허용여부 요청 단계; 상기 KYC 노드가 상기 KYC 노드의 메모리 모듈에 저장된 KYC 블록체인에서 상기 계정 정보 또는 상기 식별 정보를 인덱싱하는 제1차 인덱싱 단계; 상기 제1차 인덱싱 단계에서 상기 입출금 허용여부 정보가 기저장되어 있지 않은 경우에는 상기 KYC 노드가 상기 KYC 블록체인에 새로운 블록을 생성하고, 상기 KYC 블록체인의 전체 블록체인 네트워크에 상기 계정 정보를 배포하는 계정 정보 배포 단계; 상기 KYC 노드가 상기 계정 정보의 계정을 포함하는 퍼블릭 블록체인에서 상기 계정 정보와 직간접적으로 거래가 수행된 계정인 관계 계정을 인덱싱하고 관계 계정 정보를 생성하는 제2차 인덱싱 단계; 상기 KYC 노드가 인덱싱한 상기 관계 계정에 대한 특정 조건을 만족하여 상기 블록을 증명하는 증명 단계; 상기 KYC 노드가 상기 관계 계정 정보를 상기 서비스 서버로 송신하는 관계 계정 정보 송신 단계; 상기 KYC 노드가 상기 서비스 서버에서 상기 계정 정보 및 상기 식별 정보에 대한 상기 입출금 허용여부 정보를 수신하는 입출금 허용여부 정보 수신 단계; 및 상기 KYC 노드가 상기 KYC 블록체인에 상기 계정 정보, 상기 식별 정보 및 상기 입출금 허용여부 정보에 대한 트랜잭션인 KYC 트랜잭션을 생성하고 배포하는 블록체인 기록 단계;를 포함하며, 상기 제1차 인덱싱 단계에서 상기 입출금 허용여부 정보가 기저장되어 있는 경우에는 상기 KYC 노드가 상기 서비스 서버로 기저장된 상기 입출금 허용여부 정보를 송신하고, 상기 관계 계정 정보는, 상기 관계 계정의 주소, 상기 관계 계정과 상기 계정 사이의 거래관계 거리 정보 및 상기 관계 계정의 입출금 허용여부 정보를 포함하는 것을 특징으로 하는, 블록체인을 이용한 KYC 수행 방법을 제공하여 달성될 수 있다. In addition, the KYC node requesting whether the deposit and withdrawal is allowed, the service server receives a request for information about whether to allow deposit and withdrawal of account information and identification information; A first indexing step in which the KYC node indexes the account information or the identification information in a KYC blockchain stored in the memory module of the KYC node; In the first indexing step, if the deposit / withdrawal permission information is not already stored, 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 to; A second indexing step in which the KYC node indexes a relational account which is an account in which transactions are performed directly or indirectly with the account information in a public blockchain including the account of the account information and generates relational account information; A proof step of proving the block by satisfying a specific condition for the relationship account indexed by the KYC node; A step of transmitting relation account information, wherein the KYC node transmits the relation account information to the service server; A deposit / withdrawal information receiving step wherein the KYC node receives the deposit / withdrawal permission information for the account information and the identification information from the service server; And a block chain recording step in which the KYC node creates and distributes a transaction for the account information, the identification information, and the withdrawal allowance information on the KYC blockchain, and includes a blockchain recording step. When the deposit / withdrawal permission information is pre-stored, the KYC node transmits the pre-stored deposit / withdrawal information 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 includes the transaction relationship distance information and whether to allow the deposit and withdrawal of the account.

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

본 발명의 다른 목적은, KYC 프로그램 코드 및 KYC 블록체인을 저장하는 메모리 모듈; 및 상기 KYC 프로그램 코드를 처리하는 처리 모듈;을 포함하고, 상기 KYC 프로그램 코드는, 서비스 서버에서 계정 정보 및 식별 정보에 대한 입출금 허용여부 정보의 요청을 수신하는 입출금 허용여부 요청 단계; 상기 메모리 모듈에 저장된 상기 KYC 블록체인에서 상기 계정 정보 또는 상기 식별 정보를 인덱싱하는 제1차 인덱싱 단계; 상기 제1차 인덱싱 단계에서 상기 입출금 허용여부 정보가 기저장되어 있지 않은 경우, 상기 KYC 블록체인에 새로운 블록을 생성하고, 상기 KYC 블록체인의 전체 블록체인 네트워크에 상기 계정 정보를 배포하는 계정 정보 배포 단계; 상기 계정 정보의 계정을 포함하는 퍼블릭 블록체인에서 상기 계정 정보와 직간접적으로 거래가 수행된 계정인 관계 계정을 인덱싱하고 관계 계정 정보를 생성하는 제2차 인덱싱 단계; 인덱싱한 상기 관계 계정에 대한 특정 조건을 만족하여 상기 블록을 증명하는 증명 단계; 상기 관계 계정 정보를 상기 서비스 서버로 송신하는 관계 계정 정보 송신 단계; 상기 서비스 서버에서 상기 계정 정보 및 상기 식별 정보에 대한 상기 입출금 허용여부 정보를 수신하는 입출금 허용여부 정보 수신 단계; 및 상기 KYC 블록체인에 상기 계정 정보, 상기 식별 정보 및 상기 입출금 허용여부 정보에 대한 트랜잭션인 KYC 트랜잭션을 생성하고 배포하는 블록체인 기록 단계;를 컴퓨터 상에서 수행시키는 프로그램 코드를 포함하며, 상기 제1차 인덱싱 단계에서 상기 입출금 허용여부 정보가 기저장되어 있는 경우에는 상기 서비스 서버로 기저장된 상기 입출금 허용여부 정보를 송신하고, 상기 입출금 허용여부 정보 수신 단계에서 상기 입출금 허용여부 정보는, 상기 서비스 서버의 계정에 대한 정보인 서비스 계정 정보 및 상기 서비스 계정의 KYC 토큰 보유량(Balance) 정보를 더 포함하는 것을 특징으로 하는, 블록체인을 이용한 KYC 수행 장치를 제공하여 달성될 수 있다. Another object of the present invention, a memory module for storing the KYC program code and KYC blockchain; And a processing module for processing the KYC program code, wherein the KYC program code comprises: a deposit / withdrawal permission request step of receiving a request for deposit / 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 / withdrawal permission information is not already stored, account information distribution that creates a new block in the KYC blockchain and distributes the account information to the entire blockchain network of the KYC blockchain step; A second indexing step of indexing a relational account that is an account in which transactions are performed directly or indirectly 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; A step of transmitting relationship account information to transmit the relationship account information to the service server; A deposit / withdrawal permission information receiving step of receiving the deposit / withdrawal permission information for the account information and the identification information from the service server; And a block chain recording step of generating and distributing a KYC transaction, which is a transaction for the account information, the identification information, and the deposit / withdrawal permission information, to the KYC blockchain. When the deposit / withdrawal permission information is pre-stored in the indexing step, the pre-stored deposit / withdrawal allowance information is transmitted to the service server. It can be achieved by providing a device for performing KYC using a blockchain, characterized in that it further comprises service account information that is information about and KYC token balance information of the service account.

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

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

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

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

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

이하 첨부된 도면을 참조하여 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자가 본 발명을 쉽게 실시할 수 있는 실시예를 상세히 설명한다. 다만, 본 발명의 바람직한 실시예에 대한 동작원리를 상세하게 설명함에 있어서 관련된 공지기능 또는 구성에 대한 구체적인 설명이 본 발명의 요지를 불필요하게 흐릴 수 있다고 판단되는 경우에는 그 상세한 설명을 생략한다.Hereinafter, exemplary embodiments in which a person having ordinary skill in the art to which the present invention pertains may easily implement the present invention will be described in detail with reference to the accompanying drawings. However, in the detailed description of the operation principle for the preferred embodiment of the present invention, if it is determined that a detailed description of related known functions or configurations may unnecessarily obscure the subject matter of the present invention, the detailed description 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 it is said that a specific part is connected to another part, this includes not only the case of being directly connected, but also the case of being connected indirectly with another element in between. In addition, the inclusion of specific components does not exclude other components unless specifically stated otherwise, and means that other components may be further included.

블록체인을 이용한 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 system for performing KYC using a blockchain according to an embodiment of the present invention. As shown in FIG. 1, the service server 200, a KYC node (KYC performing device, 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 device 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 component such as an ICO, cryptocurrency exchange, and a web server that serves various decentralized applications (Dapps). For example, when a specific user wants to purchase a token in a specific ICO project, the user identifies information (a language, name, email, contact information, cryptocurrency wallet, etc.) on a web page output to the user's client through the service server 200 Enter the address (account information), the quantity you want to purchase the token, and your photo taken to enable face recognition with an identification card and request KYC registration (White List registration). In addition, the service server 200 may be configured to be connected to the KYC node 400 to request a transaction for the status change of specific user information to the KYC blockchain 30 or to request a query for the search of the transaction. In addition, the service server 200 may be configured to request the KYC node 400 to record the allowable deposit and withdrawal 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 means 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 to change the status of information, it is a configuration that sends a message transaction to the KYC blockchain 30 to create, record, and distribute the transaction. In addition, the KYC node 400 can serve as a node of the KYC blockchain 30 as well as a node among a plurality of nodes constituting the network of the public blockchain 500, and the public blockchain 500 In the above, it is possible to index a relationship account, which is an account in which transactions are performed directly or indirectly with specific account information, and generate relationship account information.

KYC 노드(400)는 분산 원장 장치로서 KYC 블록체인 분산 네트워크의 노드 중 하나 및 퍼블릭 블록체인 분산 네트워크의 노드 중 하나를 의미할 수 있고, 통신 모듈(10), 처리 모듈(11), 메모리 모듈(12)을 포함할 수 있다. 특히, KYC 노드(400)는 KYC 블록체인에 대해서는 트랜잭션의 기록이 가능하도록 구성되지만, 퍼블릭 블록체인에 대해서는 트랜잭션의 인덱싱만 가능하도록 구성될 수 있다. The KYC node 400 is a distributed ledger device and may mean one of the nodes of the KYC blockchain distributed network and one of the nodes of the public blockchain distributed network, and the communication module 10, the processing module 11, and the memory module ( 12). In particular, the KYC node 400 may be configured to record 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 means a P2P distributed network consisting of a plurality of nodes that store the distributed ledger of the blockchain, which is the same for the KYC blockchain 30 and the public blockchain 500. Since the blockchain distributed network is configured so that at least some nodes can perform the same processing, even if some nodes are shut down or falsified, it has a feature that does not affect the entire system. A node can mean any computing device connected to a blockchain distributed network. Such a node may include a digital wallet, a blockchain copy, a verification engine, a mining engine, a P2P network distribution function (broadcast), etc., and clients composed only of slightly lighter functions. 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)이 메모리 모듈에 저장된 다른 노드와 연결되도록 구성될 수 있다. Regarding the type of node, the reference client is a user's digital wallet management module, a mining module for block mining when the consensus algorithm is a proof of work (POW), Node including a blockchain database that stores all or at least a part of the entire blockchain, and a network routing module that broadcasts a transaction to a blockchain distributed network. It can mean, for example, Bitcoin Core's Client. Full node may refer to a node including a blockchain database and a network routing module. The solo miner node may mean a node including a mining module, a blockchain database, and a network routing module. A mining node may refer to a light node including a gateway router and a mining module connected to a pool mining node, which means a node of a mining pool. The Lightweight Wallet Node generally stores only the header information of the blockchain, holds the digital wallet management module to store the user's digital wallet, and includes the network routing module, but does not include the blockchain database. In order to create a transaction or access a blockchain distributed network, it may mean a light node that relies on a server owned by a third party. 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, in the KYC node 400 according to an embodiment of the present invention, the KYC blockchain 30 and the public blockchain 500 have memory modules stored therein, or at least the KYC blockchain 30 and the public blockchain 500 It can be configured to connect to other nodes stored in the memory module.

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

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, a distributed ledger stored in a memory module. The processing module according to an embodiment of the present invention is configured with a virtual machine (VM), such as an Ethereum Virtual Machine, to be configured to process a smart contract of the KYC blockchain 30 or the public blockchain 500. have. Such a virtual machine is, for example, a runtime for executing Byte Code generated by compiling codes (smart contracts) created in high-level languages such as Mutan, LLL, Serpent, Solidity, etc., in addition to OPCODE and Stack, Memory and 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 that stores the KYC blockchain 30 or the public blockchain 500, which is a distributed ledger, and a blockchain database that stores all or part of the entire blockchain. Can mean The memory module can store all or part of the blockchain, and in each block header, the hash value of the previous block header (hash), the answer value (nonce), the hash value of the transaction group, and other times, Timestamp , Difficulty for mining difficulty, Block Number for block number, etc. may be included. Each block body (Contents) may include at least one or more transaction information (in particular, a 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, and withdrawal allowance information. When KYC transaction information is stored and executed in a block, such service account address information, account information, hash value of identification information, relationship account information, and withdrawal allowance information are included in the storage or memory of the service account. You can store it in a block in a way like that.

퍼블릭 블록체인(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 public blockchains such as Ethereum, EOS, and Steam, and refers to a public blockchain including an account of account information that is a user's cryptocurrency wallet address. The KYC node 400 indexes a relational account, which is an account in which transactions are performed directly or indirectly with an account address of a specific user requested from 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, includes the address of the relationship account, transaction relationship distance information between the relationship account and the account of a specific user (eg, the account of the specific user is A, directly If the account that traded is B and B, the transaction distance information of B can be 1 and the transaction distance information of C can be 2), and information on whether to allow deposit and withdrawal of related accounts (for example, A, if the related account B is designated as a White List by the service server a, and transaction is allowed, a1, b2 if it is specified as a Black List by the service server b, and if transaction is not allowed, it can be set to 0) 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 KYC transactions, which are transactions for whether to allow deposit and withdrawal of specific account information and specific identification information, are recorded by the KYC node 400. The smart contract stored in the KYC blockchain 30 can 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 the case of 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". These Smart Contract Codes are converted into Byte Codes through the Compile process. Byte code is compiled through 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 the transaction on the Blockchain, a block is created by Miner, and these transactions are created by Contract Creation It is regarded as Transaction, and returns the address of the created (distributed) Contract in the contract Address: field of Transaction Receipt.

Smart Contract 개발환경은 개발도구와 Compiler 까지를 포함한 범위를 포함할 수 있다. 예를 들어, Solidity의 경우, Code를 작성하고 컴파일하면 모든 컴파일러는 [Byte Code] 와 [Function Signature], [ABI]를 출력하게 된다. The smart contract development environment can include a range including development tools and compilers. For example, in the case of Solidity, if you write and compile Code, all compilers output [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 the Smart Contract Code as described above, and when creating and distributing a Contract Creation Transaction on the Blockchain, when Message Tx (short for Transaction) to the Contract occurs, Call / Query to the Contract It runs on the KYC node (400, EVM for Ethereum) through the occurrence.

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

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을 제공하고 있다.ABI (Application Binary Interface) means an application interface described in a way that is not dependent on a specific language or platform. The ABI definition is output by the compiler or the ABI Generator, and the ABI defines the Meta Data for the functions and parameters of the Smart Contract. When creating an application based on the JavaScript language with the ABI, you can create an object and easily call the method of the object so that the contract function can be called. Currently, Ethereum supports easy creation and use of objects in ABI in JavaScript applications with web3.js, and in Go-ethereum after 1.4.0, it is possible to easily bind Smart Contract in Go Native language-based applications. It provides ABIGen that generates codes.

이러한 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 위에 구성되어 있다.This Smart Contract development environment is connected to Blockchain Engine and can deliver Contract Creation / Deployment, Message Tx, Call / Query, and such Blockchain Engine means KYC node 400 according to an embodiment of the present invention, and Ethereum In the example, it means Ethereum Node such as geth, parity, and eth. After all, virtual machines such as EVM for transaction processing and contract execution related to all smart contracts are configured on the same node as the 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 connected to Applications. Smart Contract has only Logic and requires Application for interaction with users or external systems. Applications such as HTML + CSS + JavaScript, Application Server, Wallet, etc. are components that interact with Smart Contracts through an interface with Ethereum, for example. Smart Contract Code can be largely divided into [Creation / Deployment] [Invoke by Message] [Call]. According to an embodiment of the present invention, when a specific account address is indexed in the KYC blockchain 30, a call may be used, and when information regarding whether to allow deposit / withdrawal for a specific account address is changed, Message Tx may be used. .

블록체인을 이용한 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 for performing KYC using a blockchain according to an embodiment of the present invention. As illustrated in FIG. 2, the method for performing KYC using a blockchain according to an embodiment of the present invention includes: request request for deposit / withdrawal (S10), first indexing step (S11), and second indexing step (S12b). ), Relation account information transmission step (S13), deposit and withdrawal permission information reception step (S14), may include a block chain recording step (S15).

입출금 허용여부 요청 단계(S10)는 KYC 노드(400)가 서비스 서버(200)에서 특정 사용자에 대한 계정 정보 및 식별 정보에 대한 입출금 허용여부 정보의 요청을 수신하는 단계이다. In the deposit / withdrawal permission request step S10, the KYC node 400 receives a request for deposit / withdrawal permission information for account information and identification information for a specific user from 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. In step S11, the account information or identification information in which the deposit / withdrawal allowance information has been previously recorded on the blockchain is efficiently searched with less resources. When the deposit / withdrawal permission information is pre-stored in step S11, the KYC node 400 transmits pre-stored deposit / withdrawal allowance information to the service server 200 (S12a).

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

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

입출금 허용여부 정보 수신 단계(S14)는 KYC 노드(400)가 상기 서비스 서버(200)로부터 상기 계정 정보 및 상기 식별 정보에 대한 입출금 허용여부 정보를 수신하는 단계이다. In the step S14 of receiving deposit / withdrawal permission information, the KYC node 400 receives the deposit / withdrawal permission information for the account information and the identification information from the service server 200.

블록체인 기록 단계(S15)는 KYC 노드(400)가 KYC 블록체인(30)에 상기 계정 정보, 상기 식별 정보 및 상기 입출금 허용여부 정보에 대한 트랜잭션인 KYC 트랜잭션을 생성하고 배포하는 단계이다.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 withdrawal allowance information on the KYC blockchain 30.

삭제delete

도 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 a 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 front block header The hash value of (hash), the answer value (nonce), the hash value of the transaction group and other generated time information, Timestamp (not shown), Difficulty (not shown) for mining difficulty, and the number of blocks 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 FIG. 3, in the KYC transaction according to an embodiment of the present invention, service account address information (for example, a KYC token wallet address of a specific ICO subject), which is an account address held by the service server, records whether deposit and withdrawal is allowed The specific user's account information (e.g., the Ethereum wallet address of a specific user), the hash value of the identification information (e.g., the hash value of the specific user's social security number), the address included in the account information, and Relationship account information (for example, address of the relationship account, transaction information, token volume, whether it is a direct relationship or an indirect relationship, whether it is an indirect relationship, etc.), which is information about the relationship account, which is the account in which the transaction was performed directly or indirectly, It may include information such as whether to allow the deposit and withdrawal that is input from the service server with respect to whether or not to allow the withdrawal of 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 illustrated in FIG. 4, the relationship account information according to an embodiment of the present invention may include relationship account address, transaction information, relationship information, and withdrawal allowance information. The relationship account according to an embodiment of the present invention may mean an account directly or indirectly in a transaction relationship with an account address of account information that is a target of KYC. The relationship account address may mean, for example, the address of the Ethereum wallet of the relationship account. The transaction information may mean, for example, information of a transaction in a transaction relationship directly or indirectly with the account information among transactions of the related 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 that means the distance between the account information and the transaction relationship, and may be classified into a direct transaction relationship and a first ... n indirect transaction relationship. The direct transaction relationship means a case in which the corresponding transaction information is transaction information in which a transaction is directly made for the account information and the relationship account information, and may be expressed as a dummy value of '0' as shown in FIG. 4, for example. In the first indirect transaction relationship, when the corresponding transaction information is transaction information in which a transaction is directly made for relationship account information different from the relationship account information in direct transaction relationship with the account information, the other indirect transaction information is the first indirect transaction with the account information. It can be defined as a relationship and can be expressed as a dummy value of '1', for example, as shown in FIG. 4. In the n-th indirect transaction relationship, when the transaction information is transaction information in which a transaction is directly made for the relationship information different from the account information in relation to the account information and the n-1 indirect transaction relationship, the other relationship account information is related to the account information. It can be defined as the nth indirect transaction relationship and expressed as a dummy value of 'n', for example.

입출금 허용여부 정보는 기존에 해당 관계 계정 주소에 대해 기저장된 입출금 허용 여부를 의미하는 정보이고, 입출금 허용, 입출금 불허, 내역 없음으로 분류될 수 있다. 예를 들면, 도 4와 같이, 입출금 허용의 경우 '0'이라는 dummy value로 표현될 수 있고, 입출금 불허의 경우 '1'이라는 dummy value, 입출금 허용 여부에 대한 정보가 없는 경우에는 '2'라는 dummy value로 기저장 또는 기설정 될 수 있다. 또한, 본 발명의 일실시예에 따르면, 입출금 허용여부 정보는 이를 등록 요청한 서비스 계정 정보 및 해당 서비스 계정의 등록 당시 KYC 토큰 보유량(Balance) 정보를 포함할 수 있다. 이에 따르면, 하나의 계정 정보 또는 하나의 식별 정보에 대해 복수의 서비스 계정이 서로 다른 입출금 허용여부 정보를 입력하게 되는 경우, 상기 입출금 허용여부 정보가 각 서비스 계정의 KYC 토큰 보유량을 기준으로 확률적인 값 또는 불연속적인 값을 갖는 정보로 KYC 블록체인에 기록되는 효과가 발생된다. The withdrawal allowance information is information that indicates whether or not a pre-stored deposit and withdrawal is permitted for the related account address, and can be classified into allowable withdrawal, withdrawal, and no history. For example, as shown in FIG. 4, in the case of allowing deposit and withdrawal, it may be expressed as a dummy value of '0'. It can be pre-stored or pre-set as a dummy value. In addition, according to an embodiment of the present invention, the withdrawal allowance information may include service account information requested to register it and KYC token balance information at the time of registration of the service account. According to this, when a plurality of service accounts input different withdrawal allowance information for one account information or one identification information, the allowable withdrawal allowance information is a probabilistic value based on the amount of KYC tokens held in each service account. Alternatively, an effect that is recorded in the KYC blockchain with information having a discontinuous value 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 of the public blockchain, This has the effect of not being limited by network safety such as hard fork issues. For example, if the technical idea of the present invention is performed only with the Ethereum blockchain, which is one of the public blockchains, without using the KYC blockchain separately, enormous GAS for all transactions related to the state change of the withdrawal and withdrawal permission information There is a problem that is consumed.

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

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

또한, 특정 계정 주소에 대해 입출금 허용여부 정보가 KYC 블록체인 내의 트랜잭션으로 무결성이 유지된 상태에서 탈중앙화되어 기록되기 때문에 어떤 서비스 서버의 요청으로 입출금이 불허되었는지, 어떤 이유로 입출금이 불허되었는지, 언제 입출금이 불허되었는지 등이 다양한 서비스 플레이어들에게 접근 가능해지는 효과가 발생된다.In addition, since the information on whether to allow deposit and withdrawal for a specific account address is recorded in a decentralized state with integrity maintained in a transaction within the KYC blockchain, the withdrawal of the withdrawal is not permitted at the request of the service server, for what reason is the withdrawal of the withdrawal, when and withdrawal This has the effect of making it accessible to various service players, such as whether it is disallowed.

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

KYC 블록체인의 합의 방식은 기존의 블록체인과 동일한 POW(Proof of work) 방식, POS(Proof of stake) 방식, BFT(Byzantine Fault Tolerance) 방식 등이 활용될 수 있다. 하지만, 본 발명의 일실시예에 따른 KYC 블록체인에서는 변형된 POW 및 변형된 POS 중 적어도 하나를 적용함으로써 기존의 합의 방식의 문제점을 해소하고, KYC의 탈중앙화에 긍정적인 영향을 주는 효과가 발생된다. The consensus method of the KYC blockchain can be the same Proof of Work (POW) method, Proof of stake (POS) method, and Byzantine Fault Tolerance (BFT) method. 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 of positively affecting the decentralization of KYC occurs. do.

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

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

퍼블릭 블록체인 인덱싱 단계(S21)는 S20에서 배포된 계정 정보를 KYC 블록체인의 각 KYC 노드가 수신하고, 각 KYC 노드가 계정 정보와 직간접적으로 거래가 수행된 계정인 관계 계정을 퍼블릭 블록체인에서 인덱싱하여 관계 계정 정보를 생성하는 단계이다. In the public blockchain indexing step (S21), each KYC node of the KYC blockchain receives the account information distributed in S20, and each KYC node indexes the relationship account, which is an account in which transactions were performed directly or indirectly with the account information in the public blockchain. This is the step of generating 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 corresponding block. Certain indexing conditions exceed or exceed certain indexing conditions, such as the number of indexed relationship accounts, the distance between the indexed relationship account and the transaction relationship of the specific account to which the KYC request is made (either direct or indirect). Can mean In addition, the most specific indexing conditions consisting of the number of relationship accounts indexed within a predetermined time after block creation, the distance between the indexed relationship account and the transaction relationship between the specific account to which KYC is requested (direct or indirect transaction), etc. It can mean whether you have achieved.

변형된 POW 방식에 따르면, KYC 노드의 관계 계정 인덱싱의 경쟁적 유도가 가능해지는 효과가 발생된다. 기존의 POW 방식에서는 KYC 노드들이 굳이 컴퓨팅 리소스를 투입하여 퍼블릭 블록체인에서 관계 계정 인덱싱을 수행할 이유가 제공되지 않는다. According to the modified POW method, there is an effect that enables competitive induction of indexing of relationship accounts of KYC nodes. In the existing POW method, there is no reason for KYC nodes to inject computing resources to perform relationship 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, an effect of probably improving the blockchain branching problem occurs. In the account information distribution step (S20) according to an embodiment of the present invention, it is possible to suppose an example in which a block chain having a different block order is generated for different KYC nodes (KYC nodes a and KYC nodes b) due to latency. have. There is a high probability that the block order of the blockchain differs for some nodes due to the latency of distribution in the blockchain. This is called a fork to ordinary engineers in the blockchain industry, and the fork has remained a serious problem that deteriorates the integrity, the biggest effect of the blockchain, in that two blockchains are randomly generated. In existing public blockchains such as Bitcoin and Ethereum, these problems have been solved by deciding which blockchain is configured longer after a certain period of time and unilaterally deleting one that is not long. The possibility that a blockchain could be composed of two or more at all times was not always a complete solution. However, according to S20 to S22 according to an embodiment of the present invention, since the probability that each node having a different order of generated blocks will prove the blocks generated by itself is kept low, the probability of fork generation is reduced. Is generated.

삭제delete

변형된 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 방식에 따라 특정 계정 정보 또는 특정 식별 정보에 대한 복수의 서비스 계정들의 다양한 의견(입출금 허용여부)이 크라우드 소싱되게 되는 효과가 발생된다. With regard to the modified POS method, in step S14 according to an embodiment of the present invention, the deposit / withdrawal permission information may include service account information requested to register it and KYC token balance information at the time of registration of the service account. . According to this, if a plurality of service accounts input or withdrawal allowance information for one account information or one identification information, even if there is a time difference (Gap), the withdrawal allowance information is KYC of each service account Based on the amount of tokens held, it is recorded on the KYC blockchain as information having a stochastic or discontinuous value, and multiple service accounts are accounted for as a percentage of the amount of KYC tokens held at the time of block recording for one account information or one identification information. The effect is to prove the block. According to this, the hash value of the information of each service account and the ratio of the KYC token holding amount is stored in the block header, and a linked list can be configured. According to the modified POS method according to an embodiment of the present invention, an effect that is more suitable for KYC decentralization occurs than the existing POS method. According to the modified POS method, KYC tokens are configured so that more rewards are paid when service accounts that have more KYC tokens contribute to the ecosystem of the KYC blockchain by registering I / O information for specific accounts or specific identification information. There is an additional effect of increasing demand for itself. The existing POS method is a method in which each validator node acquires the right to update data in proportion to the amount of stakes currently held, and has a low relationship with KYC decentralization. In addition, according to the modified POS method, even if forking occurs with a plurality of chains, the chain that proves (holds) more KYC tokens survives, so that the fork of the chain can be quickly recovered. In addition, according to the modified POS method, a variety of opinions (whether or not allowed) are crowdsourced for a plurality of service accounts for specific account information or specific identification information.

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

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

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

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

KYC 토큰의 보상 방식과 관련하여, 첫 번째 실시예로 본 발명의 일실시예에 따르면 S11 단계에서 KYC 블록체인에 서비스 서버가 요청한 특정 계정 정보 또는 특정 식별 정보에 대해 입출금 허용여부 정보가 기저장되어 있는 경우, 해당 특정 계정 정보 또는 특정 식별 정보에 대해 입출금 허용여부 정보를 등록한 서비스 계정에 KYC 토큰을 보상하도록 구성될 수 있다. 이러한 경우, 특정 계정 정보 또는 특정 식별 정보에 대한 입출금 허용여부 정보의 등록이 유도되는 효과가 발생된다. With regard to the reward method of the KYC token, according to an embodiment of the present invention as the first embodiment, information regarding whether to allow deposit and withdrawal of the specific account information or specific identification information requested by the service server to the KYC blockchain in step S11 is pre-stored. If there is, it may be configured to compensate for the KYC token to the service account that has registered the withdrawal and withdrawal permission information for the specific account information or specific identification information. In this case, the effect of inducing registration of whether to allow deposit / withdrawal of 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 토큰을 보상하는 방식도 적용될 수 있고, 이러한 변형예는 본 발명의 범위에 포함된다. According to an embodiment of the present invention as a second embodiment of the reward method of the KYC token, when the relationship account is indexed in the public blockchain by the KYC node in 12B of FIG. 2 or S21 of FIG. 5, the indexed relationship account The relationship account information indexed by a specific KYC node satisfies an abnormality or exceedance of a specific indexing condition, which consists of the number of indexed relationship accounts and the distance (direct or indirect transaction) of the transaction relationship of the specific account to which KYC is requested. In this case, a method of rewarding KYC tokens to the service account of the specific KYC node may be used. In such a case, since multiple KYC nodes are competitively indexing the public blockchain, block proof and consensus method of Proof of Work (POW) is used by using the hash value of the account information related to or exceeding a specific indexing condition. 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 using the computing resource is competitively performed by a plurality of KYC nodes, thereby creating an ecosystem in which the relational accounts of a specific account subject to the KYC request are sufficiently indexed. Effect. In this case, a hash value of relationship account information that is greater than or equal to a specific indexing condition is stored in the block header, so that a linked list can be constructed. As a variation of the second embodiment of the reward method of KYC tokens, the number of relationship accounts indexed within a predetermined time after block creation, the distance between the indexed relationship account and the transaction relationship between the specific account subject to the KYC request (direct or indirect) Transaction recognition) may be applied to a method of rewarding KYC tokens to a service account of a KYC node that has achieved the most specific indexing conditions, such as, 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 reward method of the KYC token, when the relationship account is indexed in the public blockchain by the KYC node in S21 of FIG. 2B or FIG. 5, the indexed relationship account For the KYC token, it can be configured to compensate the KYC token to the service account that registered the allowance of withdrawal. In this case, the effect of inducing registration of whether to allow deposit / withdrawal of specific account information or specific identification information is induced.

KYC 토큰의 보상 방식의 네 번째 실시예로 서비스 계정에서 KYC 블록체인에 기록하는 식별 정보의 정보량이 많을수록 더 많은 보상을 받도록 보상 가중치를 설정할 수 있다. 이에 따르면, 각 서비스 계정들이 특정 사용자에 대해 더 많은 정보를 축적하는 것이 유도되게 된다. As a fourth embodiment of the reward method of the KYC token, the reward weight may be set to receive more rewards as the amount 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 resident number, name, facial data, UUID, etc. input by a user or a service entity to the service server. It can be recorded in the KYC blockchain so that individuals cannot be identified by storing the Hash value. According to an embodiment of the present invention, when the UUID is recorded on the KYC blockchain as identification information, the effect of enabling blacklist management for users who operate multiple accounts on the same device is also generated.

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

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

본 발명의 일실시예에 따르면, 예를 들어, 법적인 이슈 때문에 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 named a who cannot participate in an ICO due to legal issues attempts to participate in an ICO called A, a is recorded in the KYC blockchain by the A service account without allowing deposits and withdrawals. , a may create another account and try to participate in the ICO named A under the name b. In the conventional method, there was a problem that could not prevent such a borrowing account of a, name lending. However, according to an embodiment of the present invention, the A service server performs a request for information on whether to allow deposit and withdrawal of b through the KYC node (S10). The KYC node indexes the relational account in the public blockchain for the account information of b, thereby discovering the relationship with account a (S12b, S21), and in the A service server, the information that account a is the account of account b is KYC It is received through the node (S13). Subsequently, the A service server processes the disallowance of deposit and withdrawal of the account b, and records the disallowance of the withdrawal of the account b to the KYC blockchain through the KYC node (S14, S15).

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

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

본 발명의 실시예들의 상기한 설명은 예시의 목적으로 제시되었다; 이는 개시된 정확한 형태로 본 발명을 제한하거나, 빠뜨리는 것 없이 만들려고 의도한 것이 아니다. 당업자는 상기한 개시에 비추어 많은 수정 및 변형이 가능하다는 것을 이해할 수 있다.The above description of embodiments of the invention has been presented for purposes 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 understand that many modifications and variations are possible in light of the above disclosure.

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

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

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

마지막으로, 본 명세서에 사용된 언어는 주로 읽기 쉽도록 그리고 교시의 목적으로 선택되었고, 본 발명의 주제를 묘사하거나 제한하기 위해 선택되지 않을 수 있다.Finally, the language used herein has been chosen 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 invention is not limited by the detailed description, but by any claims in the application based thereon. Accordingly, the disclosure of the embodiments of the present invention is exemplary and does not limit the scope of the present invention as set forth 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 블록체인에서 상기 계정 정보에 대응되는 상기 입출금 허용여부 정보를 인덱싱하고, 상기 입출금 허용여부 정보가 상기 KYC 블록체인에 기저장되어 있는 경우에는 상기 서비스 서버로 기저장된 상기 입출금 허용여부 정보를 송신하는 제1차 인덱싱 단계;
상기 제1차 인덱싱 단계에서 상기 입출금 허용여부 정보가 기저장되어 있지 않은 경우, 상기 KYC 블록체인에 새로운 블록을 생성하고 상기 KYC 블록체인의 상기 블록체인 분산 네트워크에 상기 계정 정보를 배포하는 계정 정보 배포 단계;
상기 계정 정보의 계정을 포함하는 퍼블릭 블록체인에서 상기 계정 정보와 직간접적으로 거래가 수행된 계정인 관계 계정을 인덱싱하고 관계 계정 정보를 생성하는 제2차 인덱싱 단계;
상기 관계 계정 정보에 대한 특정 인덱싱 조건을 만족하는 경우, 상기 KYC 수행 장치의 계정인 서비스 계정이 상기 KYC 블록체인의 상기 새로운 블록을 증명한 것으로 상기 KYC 블록체인에 기록하는 블록 증명 단계;
상기 관계 계정 정보를 상기 서비스 서버로 송신하는 관계 계정 정보 송신 단계;
상기 서비스 서버에서 상기 계정 정보에 대응되는 상기 입출금 허용여부 정보를 수신하는 입출금 허용여부 정보 수신 단계; 및
상기 KYC 블록체인에 상기 계정 정보 및 상기 입출금 허용여부 정보에 대한 트랜잭션인 KYC 트랜잭션을 생성하고 배포하는 블록체인 기록 단계;
를 컴퓨터 상에서 수행시키는 프로그램 코드를 포함하며,
상기 입출금 허용여부 정보 수신 단계에서 상기 입출금 허용여부 정보는, 상기 서비스 계정의 정보인 서비스 계정 정보 및 상기 서비스 계정의 KYC 토큰 보유량(Balance) 정보를 더 포함하고, 상기 입출금 허용여부 정보는 상기 서비스 계정의 상기 KYC 토큰 보유량 정보를 가중치로 하여 상기 KYC 블록체인에 기록되며,
상기 특정 인덱싱 조건은, 인덱싱 된 상기 관계 계정의 수 또는 인덱싱 된 상기 관계 계정과 상기 특정 계정의 거래 관계의 거리를 기초로 한 조건인 것을 특징으로 하는,
KYC 블록체인에서의 블록 증명 및 토큰 보유량을 이용한 KYC 수행 장치.
Stores the KYC (Know Your Customer) blockchain that records account information for a specific account and whether to allow deposit and withdrawal for the specific account, and at least a part of the blockchain distribution network of the KYC blockchain In the KYC performing apparatus using the KYC blockchain, comprising:
A memory module that stores a KYC program code and the KYC blockchain; And
A processing module for processing the KYC program code;
Including,
The KYC program code,
A deposit / withdrawal permission request step of receiving a request for the deposit / withdrawal permission information corresponding to the account information of the specific account from a service server;
The KYC blockchain stored in the memory module indexes the deposit / withdrawal permission information corresponding to the account information, and when the deposit / withdrawal permission information is pre-stored in the KYC blockchain, the deposit / withdrawal pre-stored to the service server A first indexing step of transmitting permission information;
Distributing account information to create a new block in the KYC blockchain and distribute the account information to the blockchain distributed network of the KYC blockchain when the information regarding whether the deposit and withdrawal is allowed is not stored in the first indexing step. step;
A second indexing step of indexing a relational account that is an account in which transactions are performed directly or indirectly with the account information in a public blockchain including the account of the account information and generating relational account information;
A block proof step of recording in the KYC blockchain as a service account, which is an account of the KYC execution device, as proving the new block of the KYC blockchain, when a specific indexing condition for the relationship account information is satisfied;
A step of transmitting relationship account information to transmit the relationship account information to the service server;
A step of receiving deposit / withdrawal information, wherein the deposit / withdrawal permission information corresponding to the account information is received from the service server; And
A block chain recording step of creating and distributing a KYC transaction, which is a transaction for the account information and the withdrawal and withdrawal permission information, on the KYC blockchain;
It contains the program code to run on the computer,
In the step of receiving the deposit / withdrawal permission information, the deposit / withdrawal permission information further includes service account information, which is information of the service account, and KYC token balance information of the service account, and the deposit / withdrawal permission information is the service account It is recorded on the KYC blockchain by taking the KYC token holding information of the weight as a weight,
The specific indexing condition is a condition based on the number of the indexed relationship accounts or the distance between the indexed relationship accounts and the transaction relationship between the specific accounts,
A device for performing KYC using block proof and token holdings in the KYC blockchain.
KR1020180174316A 2018-12-31 2018-12-31 Apparatus for KYC using KYC blockchain KR102096642B1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020180174316A KR102096642B1 (en) 2018-12-31 2018-12-31 Apparatus for KYC using KYC blockchain

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020180174316A KR102096642B1 (en) 2018-12-31 2018-12-31 Apparatus 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
KR20200012687A KR20200012687A (en) 2020-02-05
KR102096642B1 true KR102096642B1 (en) 2020-04-02

Family

ID=69515143

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020180174316A KR102096642B1 (en) 2018-12-31 2018-12-31 Apparatus for KYC using KYC blockchain

Country Status (1)

Country Link
KR (1) KR102096642B1 (en)

Citations (2)

* 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
KR101852077B1 (en) 2018-01-16 2018-04-27 주식회사 미탭스플러스 Distributed Ledger Device and Distributed Ledger Method for Game Difficulty Control based on Block Chain

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20120003512A (en) * 2010-07-03 2012-01-11 주식회사 비즈모델라인 System for remitting money between mobile device using authority control of virtual account, mobile device
KR101964254B1 (en) * 2017-01-03 2019-04-01 아주대학교산학협력단 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

Patent Citations (2)

* 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
KR101852077B1 (en) 2018-01-16 2018-04-27 주식회사 미탭스플러스 Distributed Ledger Device and Distributed Ledger Method for Game Difficulty Control based on Block Chain

Also Published As

Publication number Publication date
KR20200012687A (en) 2020-02-05

Similar Documents

Publication Publication Date Title
KR101878869B1 (en) Distributed Ledger Device and Distributed Ledger Method for User Identification Management Based on Block Chain
Ghosh et al. Security of Cryptocurrencies in blockchain technology: State-of-art, challenges and future prospects
KR101936759B1 (en) Apparatus and Method for KYC using KYC blockchain
Wang et al. Towards a first step to understand flash loan and its applications in defi ecosystem
JP7128111B2 (en) Systems and methods for controlling asset-related activities via blockchain
Dilley et al. Strong federations: An interoperable blockchain solution to centralized third-party risks
US20210065293A1 (en) Distributed ledger lending
KR101878870B1 (en) Distributed Ledger Device and Distributed Ledger Method for Token Issuance and User Identification Management Based on Block Chain
EP3702992A1 (en) Virtual currency system
CN113409143A (en) Asset transfer method and device based on block chain and electronic equipment
CN111738724B (en) Cross-border resource transfer authenticity auditing method and device, and electronic equipment
US20220172198A1 (en) Real-time blockchain settlement network
KR101962285B1 (en) Distributed Ledger Device and Distributed Ledger Method for User Identification Management Based on Block Chain
Khandelwal et al. Blockchain technology based smart contract agreement on remix ide
EP3907644B1 (en) Blockchain
KR102096643B1 (en) Apparatus for KYC using KYC blockchain
KR102096642B1 (en) Apparatus for KYC using KYC blockchain
KR102096646B1 (en) Apparatus for KYC using KYC blockchain
KR102096640B1 (en) Apparatus for KYC using Token Balance within KYC blockchain
KR102096644B1 (en) Apparatus for KYC using KYC blockchain
KR102096645B1 (en) Apparatus for KYC using KYC blockchain
KR102096641B1 (en) Apparatus and Method for KYC using KYC blockchain
Masseport et al. Proof of usage: User-centric consensus for data provision and exchange
Ghosh Adoption of blockchain in financial services
JP7316921B2 (en) Electronic asset management method and electronic asset management device

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