KR101857223B1 - Method and system for user identification based block chain token - Google Patents

Method and system for user identification based block chain token Download PDF

Info

Publication number
KR101857223B1
KR101857223B1 KR1020170150467A KR20170150467A KR101857223B1 KR 101857223 B1 KR101857223 B1 KR 101857223B1 KR 1020170150467 A KR1020170150467 A KR 1020170150467A KR 20170150467 A KR20170150467 A KR 20170150467A KR 101857223 B1 KR101857223 B1 KR 101857223B1
Authority
KR
South Korea
Prior art keywords
token
user
balance
transaction
node
Prior art date
Application number
KR1020170150467A
Other languages
Korean (ko)
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 KR1020170150467A priority Critical patent/KR101857223B1/en
Application granted granted Critical
Publication of KR101857223B1 publication Critical patent/KR101857223B1/en

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q20/00Payment architectures, schemes or protocols
    • G06Q20/30Payment architectures, schemes or protocols characterised by the use of specific devices or networks
    • G06Q20/36Payment architectures, schemes or protocols characterised by the use of specific devices or networks using electronic wallets or electronic money safes
    • G06Q20/367Payment architectures, schemes or protocols characterised by the use of specific devices or networks using electronic wallets or electronic money safes involving electronic purses or money safes
    • G06Q20/3672Payment architectures, schemes or protocols characterised by the use of specific devices or networks using electronic wallets or electronic money safes involving electronic purses or money safes initialising or reloading thereof
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q20/00Payment architectures, schemes or protocols
    • G06Q20/30Payment architectures, schemes or protocols characterised by the use of specific devices or networks
    • G06Q20/36Payment architectures, schemes or protocols characterised by the use of specific devices or networks using electronic wallets or electronic money safes
    • G06Q20/367Payment architectures, schemes or protocols characterised by the use of specific devices or networks using electronic wallets or electronic money safes involving electronic purses or money safes
    • G06Q20/3674Payment architectures, schemes or protocols characterised by the use of specific devices or networks using electronic wallets or electronic money safes involving electronic purses or money safes involving authentication
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q20/00Payment architectures, schemes or protocols
    • G06Q20/30Payment architectures, schemes or protocols characterised by the use of specific devices or networks
    • G06Q20/36Payment architectures, schemes or protocols characterised by the use of specific devices or networks using electronic wallets or electronic money safes
    • G06Q20/367Payment architectures, schemes or protocols characterised by the use of specific devices or networks using electronic wallets or electronic money safes involving electronic purses or money safes
    • G06Q20/3678Payment architectures, schemes or protocols characterised by the use of specific devices or networks using electronic wallets or electronic money safes involving electronic purses or money safes e-cash details, e.g. blinded, divisible or detecting double spending

Abstract

The present invention relates to a method for identifying a user based on a block chain token and a system thereof, which can identify a user based on a block chain token. According to an embodiment of the present invention, the method for identifying a user based on a block chain token comprises: a project request process of enabling a user node to request a project after user authentication through signing up or login to a user identification web server; a transaction request process of enabling the user identification web server to request a transaction for issuing a token used for the project requested from the user node to an ethereum node; a token balance management process of enabling the ethereum node to determine a token balance to record the token balance in an ethereum state conversion function based on a block chain when receiving the transaction; and a token issuing process of enabling the ethereum node to issue the token, in which the token balance is recorded, to provide the token to the user node.

Description

블록체인 토큰 기반의 사용자 식별 방법 및 시스템{Method and system for user identification based block chain token}[0001] The present invention relates to a block-chain token-based user identification method and system,

본 발명은 블록체인 토큰 기반의 사용자 식별 방법 및 시스템으로서, 블록체인 토큰 기반으로 사용자를 식별할 수 있는 블록체인 토큰 기반의 사용자 식별 방법 및 시스템에 관한 것이다.The present invention relates to a block-chain token-based user identification method and system, and more particularly, to a block-chain token-based user identification method and system capable of identifying a user on a block-chain token basis.

블록체인은 분산화된 P2P 구조로 이루어진 공공거래장부이다. 2008년 사토시나카모토라는 필명으로 <비트코인:개인간 전자 화폐 시스템> 이라는 보고서가 발간된 이후로 블록 체인산업은 비트코인과 이더리움 중심으로 급격히 성장하고 있다. The block chain is a public transaction book with a decentralized P2P structure. Since the publication "Bitcoin: Interpersonal Electronic Money System" was published in 2008 under the name of Nakamoto Satoshi, the blockbuster industry has been growing rapidly, centering on Bitcoin and Etherium.

비탈릭뷰테린이 제안한 이더리움은 스마트계약을 쉽게 코드로 구현할 수 있고 튜링 완전하다. 비탈릭뷰테린이 제안한 이더리움은 비트코인 거래에서 에스크로 계약 등에 쓰이던 비트코인 스크립트 언어가 가진 튜링 불완전함을 극복하고자 제안되었다. 비트코인의 트랜잭션이란 오직 계정의 밸런스 항목의 변화로만 사용되고, 트랜잭션에 사용된 스크립트언어는 에스크로 계약 등 제한적으로만 활용될 뿐이다. 이더리움은 이 계정의 상태를 밸런스뿐 아니라 데이터, 코드까지 확장하고, 트랜잭션을 통해 계정에 기록된 일련의 코드가 실행되게 함으로써, 계정의 상태변환조건을 튜링 완전에 가깝도록 만들어 대규모의 분산 어플리케이션(Decentralized Application; DApp) 제작을 위한 손쉬운 툴을 제공했다. 따라서 쉽게 구현 가능한 스마트 계약으로 이더리움 블록체인을 이용한 분산 어플리케이션(Decentralized Application; DApp)들이 활발히 개발되고 있다.Etherium, proposed by Vitaly Vytheraine, can easily implement smart contracts in code and Turing is complete. It was proposed to overcome the Turing imperfection of the bit coin scripting language used for escrow contracts in bit coin transactions. Bit-coin transactions are used only as a change in account balance items, and the scripting language used in transactions is limited to escrow contracts. It expands the state of this account to not only the balance but also the data and code, allowing transactions to execute a series of code written in the account, thereby making the state transition condition of the account close to Turing perfection, Decentralized Application (DApp). Therefore, distributed applications (DAPPs) using Ethernet block chains are being actively developed as smart contracts that can be easily implemented.

분산 어플리케이션 프로젝트들이 초기 자금을 모으기 위해 코인을 발행하여 크라우드 펀딩을 받는 형식, ICO(Initial Coin Offering)이 보편적으로 사용되어 왔다.Distributed application projects have been widely used in the form of Initial Coin Offering (ICO), in which coins are issued and crowded to collect initial funds.

ICO가 광범위하게 이루어짐에 따라 블록체인이 갖는 익명성으로 투자를 진행하게 되어, 법적 보호 장치가 없어 미국, 중국 등 주요나라에서 금지되었다.As ICO has become widespread, investment has been made with the anonymity of the block chain, and it has been forbidden in major countries such as the US and China due to lack of legal protection.

KYC(Know Your Customer)는 이러한 배경에서 금융 규제에 부담을 느껴 일반적인 금융거래와 마찬가지로 거래, 투자하는 사람의 신원을 알기 위해 등장하였다.KYC (Know Your Customer) has come to know the identity of the person who invests and invests in the same way as the general financial transaction because of feeling the burden on financial regulation in this background.

DApp 프로젝트팀 KyberNetwork, plus-coin 등은 ICO의 KYC를 고객(투자자)들의 정보를 받아서 이더리움 지갑 주소와 투자량을 이더리움 스마트 계약에 담는 whitelisting 방식으로 KYC를 진행하였다. 이러한 방식은 각자가 KYC 시스템을 구현해서, 중복된 작업을 하고 있다. 따라서, 통합된 형태의 탈중앙화된 KYC센터의 필요성이 대두되었다.  The DApp project team KyberNetwork, plus-coin and KYC conducted ICY's KYC as a whitelisting method that received information from customers (investors) and put the Etherium wallet address and investment amount into Etherium Smart contract. Each of these approaches implements the KYC system and is doing redundant tasks. Thus, the need for an integrated, decentralized KYC center has emerged.

한국공개특허 10-2017-0089795Korean Patent Publication No. 10-2017-0089795

본 발명의 기술적 과제는 비탈릭뷰탈린이 제안한 튜링완전한 블록체인 이더리움(Ethereum)의 스마트계약으로 발행한(ERC20) 토큰을 통해 블록체인 DApp의 KYC를 제안하는데 있다.The technical problem of the present invention is to propose the KYC of the block chain DApp through an (ERC20) token issued by Ethereum's smart contract of the Turing complete block chain proposed by Vitaly Vital Tallinn.

본 발명의 실시 형태는 사용자 노드가, 사용자 식별 웹서버에 회원가입 또는 로그인을 통한 사용자 인증을 거친 후 프로젝트를 요청하는 프로젝트 요청 과정; 상기 사용자 식별 웹서버가, 상기 사용자 노드로부터 요청된 프로젝트에 사용되는 토큰을 발행하기 위한 트랜잭션을 이더리움 노드에 요청하는 트랜잭션 요청 과정; 상기 이더리움 노드가, 상기 트랜잭션을 수신하는 경우, 토큰 밸런스를 결정하여 블록체인에 기반한 이리더움 상태 변환 함수에 기록하는 토큰 밸런스 관리 과정; 및 상기 이더리움 노드가, 상기 토큰 밸런스가 기록된 토큰을 발행하여 사용자 노드에 제공하는 토큰 발행 과정;를 포함할 수 있다.The embodiment of the present invention is a project request process in which a user node requests a project after a user authentication through a user subscription or login to a user identification web server; A transaction requesting step of the user identifying web server requesting a transaction for issuing a token to be used in a requested project from the user node to the Ethernet node; A token balance management step of, when the Ethernet node receives the transaction, determining a token balance and recording the token balance in a block chain based forwarding state conversion function; And a token issuance process in which the Ethernet node issues the token to which the token balance is recorded and provides the token to the user node.

상기 이리더움 상태 변환 함수를 가지는 블록체인상의 계약이 이루어질 때 토큰 밸런스를 확인하여 사용자 식별을 할 수 있다.When the contract on the block chain having the iridium state conversion function is made, the token balance can be confirmed and the user can be identified.

상기 토큰 밸런스는, 상기 이리더움 상태 변환 함수를 가지는 블록체인상의 계약이 이루어질 때 상기 토큰 밸런스를 확인하여 사용자가 참여하고자 하는 프로젝트를 식별을 할 수 있다.The token balance may identify the project the user is willing to participate by checking the token balance when a contract on the block chain with the iteration state conversion function is made.

상기 프로젝트 요청 과정은, 사용자 식별 웹서버에 회원가입하는 경우, 로그인 정보, 이더리움 주소, 이메일, 사용자 이름, 및 생년월일을 입력받아 사용자 식별 웹서버에 제공할 수 있다.In the case of joining the user identification web server, the project request process may include login information, Ethernet address, e-mail, user name, and birth date, and provide the user identification web server.

상기 사용자 식별 웹서버가, 상기 사용자 식별 웹서버가, 수신한 로그인 정보, 사용자의 이더리움 주소, 이메일, 사용자 이름, 및 생년월일을 DB에 저장할 수 있다.The user identification web server may store the received login information, the user's e-mail address, e-mail, user name, and date of birth in the DB by the user identification web server.

상기 트랜잭션 요청 과정은 프로젝트를 식별할 수 있는 밸런스 크기만큼의 토큰 발행량, 사용자의 이더리움 주소가 포함된 트랜잭션을 이더리움 노드에 요청할 수 있다.The transaction request process may request the Ethernet node to transmit a transaction including the token amount of the balance size that can identify the project and the user's Ethernet address.

상기 토큰 밸런스 관리 과정은, 트랜잭션의 구조를 체크하여, 서명이 유효한지, 개별 트랜잭션이 한 번만 처리되게 하는 카운터와 발신처의 카운터의 일치 여부를 확인하고, 서명이 유효하지 않거나 카운터가 일치하지 않는 경우 반환 처리할 수 있다.The token balance management process checks the structure of the transaction to check whether the signature is valid or not and whether the counter of the source counter is matched with the counter that causes the individual transaction to be processed only once. If the signature is invalid or the counter does not match Can be returned.

상기 토큰 밸런스 관리 과정은 인증이 잘못되었거나 끝났을 경우 밸런스의 상태를 변경할 수 있다.The token balance management process may change the balance state when the authentication is wrong or ended.

상기 토큰 발행 과정은, 상기 트랜잭션의 구조를 체크하여, 반환 처리되지 않고 인증이 성공된 경우에만 토큰이 발행됨을 특징으로 하는 블록체인 토큰 기반의 사용자 식별 방법.Wherein the token issuing process checks the structure of the transaction to issue a token only when the authentication is successful without return processing.

또한 본 발명은, 사용자 식별 웹서버에 회원가입 또는 로그인을 통한 사용자 인증을 거친 후 프로젝트를 요청하는 사용자 노드; 상기 사용자 노드로부터 요청된 프로젝트에 사용되는 토큰을 발행하기 위한 트랜잭션을 이더리움 노드에 요청하는 사용자 식별 웹서버; 및 상기 이더리움 노드가, 상기 트랜잭션을 수신하는 경우, 토큰 밸런스를 결정하여 블록체인에 기반한 이리더움 상태 변환 함수에 기록하며, 상기 토큰 밸런스가 기록된 토큰을 발행하여 사용자 노드에 제공하는 이더리움 노드;를 포함하며, 상기 이리더움 상태 변환 함수를 가지는 블록체인상의 계약이 이루어질 때 토큰 밸런스를 확인하여 사용자 식별을 하며, 상기 토큰 밸런스를 확인하여 사용자가 참여하고자 하는 프로젝트를 식별을 할 수 있다.The present invention also provides a user node for requesting a project after a user authentication through a user subscription or login to a user identification web server; A user identification web server for requesting from the user node a transaction for issuing a token to be used in a requested project; And when the Ethernet node receives the transaction, it determines a token balance and writes the token balance in a carry chain based based on the state transition function based on the block chain. The ether node issues an token balance to the user node When the contract on the block chain having the iteration state conversion function is made, the token balance is confirmed to identify the user, and the token balance can be confirmed to identify the project the user wants to participate.

본 발명의 실시 형태에 따르면 토큰 기반 인증을 위해 한 번 사용자 정보를 입력하면 다른 프로젝트들의 스마트계약에서도 사용자 정보 인증을 중복하여 진행하지 않아도 된다는 장점이 있다. 사용자가 요청할 경우 사용자의 토큰 밸런스를 조정하여 프로젝트들을 식별할 수 있어 향후 많은 프로젝트들에 적용을 기대할 수 있다.According to the embodiment of the present invention, when the user information is input once for the token-based authentication, it is not necessary to duplicate the user information authentication in the smart contract of other projects. If the user requests it, the user can identify the projects by adjusting the token balance so that they can be applied to many projects in the future.

도 1은 본 발명의 실시예에 따른 토큰 기반의 사용자 식별이 이루어지는 예시 그림.
도 2는 본 발명의 실시예에 따른 블록체인 토큰 기반의 사용자 식별 시스템을 도시한 구성도.
도 3은 본 발명의 실시예에 따라 토큰을 통한 전자화폐 프로젝트를 식별하는 예시 그림.
도 4는 본 발명의 실시예에 따른 블록체인 토큰 기반의 사용자 식별 방법을 도시한 플로차트.
도 5는 본 발명의 실시예에 따른 이더리움 블록체인 토큰 스마트 콘트랙트 기능 요구 사항을 도시한 도표.
FIG. 1 illustrates an example of a token-based user identification according to an embodiment of the present invention.
FIG. 2 is a block diagram illustrating a block-chain token-based user identification system according to an embodiment of the present invention; FIG.
Figure 3 is an illustration of an electronic money project through a token in accordance with an embodiment of the present invention;
4 is a flowchart illustrating a block-chain token-based user identification method according to an embodiment of the present invention.
Figure 5 is a diagram depicting an Ethernet block chain token smart contract functional requirement in accordance with an embodiment of the present invention.

이하, 본 발명의 장점 및 특징, 그리고 그것들을 달성하는 방법은 첨부되는 도면과 함께 상세하게 후술되어 있는 실시예들을 참조하면 명확해질 것이다. 그러나 본 발명은, 이하에서 개시되는 실시예들에 한정되는 것이 아니라 서로 다른 다양한 형태로 구현될 것이며, 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자에게 발명의 범주를 완전하게 알려주기 위해 제공되는 것으로, 본 발명은 청구항의 범주에 의해 정의될 뿐이다. 또한, 본 발명을 설명함에 있어 관련된 공지 기술 등이 본 발명의 요지를 흐리게 할 수 있다고 판단되는 경우 그에 관한 자세한 설명은 생략하기로 한다.BRIEF DESCRIPTION OF THE DRAWINGS The advantages and features of the present invention, and how to achieve them, will be apparent from the following detailed description of embodiments thereof taken in conjunction with the accompanying drawings. The present invention may, however, be embodied in many different forms and should not be construed as being limited to the exemplary embodiments set forth herein. Rather, these embodiments are provided so that this disclosure will be thorough and complete and will fully convey the concept of the invention to those skilled in the art. And the present invention is only defined by the scope of the claims. In the following description, well-known functions or constructions are not described in detail since they would obscure the invention in unnecessary detail.

본 발명의 설명에 앞서 이더리움 이해를 돕기 위하여, 이더리움 주소, 메시지와 트랜잭션, 콘트랙트에 대하여 먼저 설명한다.Prior to the description of the present invention, the etherium address, the message, the transaction, and the contract will be described first in order to facilitate understanding of etherium.

1. 이더리움 주소1. Etherium address

이더리움에서 상태는 계정이라 불리우는 객체들로 구성되어 있다. 각각의 계정의 이더리움 잔고, 20 바이트의 주소와 데이터값과 정보를 직접적으로 전달해주는 상태 변환 코드를 가지고 있다.In etherium, the state consists of objects called accounts. Each account has an Ethernet balance, a 20-byte address, a data value, and a status conversion code that directly communicates the information.

구체적인 항목은 다음과 같다. The specific items are as follows.

(1)넌스(nonce):개별 트랜잭션이 한 번만 처리되게 하는 카운터(1) nonce: a counter that allows individual transactions to be processed only once

(2)계정의 현재 이더(ether) 잔고(2) Current account's ether balance

(3)계정의 계약코드(선택적) (3) Contract code for the account (optional)

(4)계정의 저장 공간(초기에는 비어있음)(4) Account storage space (initially empty)

이더리움은 비트코인과 같은 원리의 암호화 화폐로써 트랜잭션 수수료를 지불하는데 사용된다. 두 가지의 계정이 존재하는데, 개인키가 통제하는 외부 소유 계정(Externally Owned Accounts)과 콘트랙트 코드에 의해 통제되는 콘트랙트 계정(Contract Accounts)이 있다. Etherium is used to pay transaction fees as an encrypted currency on the same principle as bit coin. There are two accounts: Externally Owned Accounts controlled by the private key and Contract Accounts controlled by the contract code.

외부 소유 계정은 코드를 가지고 있지 않으며, 이 계정에서 메시지를 전송하려면 새로운 트랜잭션을 하나 만들고 서명(signing)을 하는데, 이는 비트코인과 동일한다. 콘트랙트 계정은 메시지를 받을 때마다, 자신의 코드를 활성화시키고 이에 따라 메시지를 읽거나 내부 저장 공간에 기록하고, 다른 메시지들을 보내거나, 콘트랙트를 차례로 생성하게 된다. 이더리움에서 콘트랙트는 이더리움의 실행 환경안에 존재하는 자율 에이전트(actonomous agents)로 파악할 수 있고, 콘트랙트에 메시지나 트랜잭션이 도착하면 항상 특정한 코드를 실행하는 과정에서 콘트랙트의 잔고와 블록체인에 기록된 변수 추적을 위해 자신의 키값 저장소를 직접적으로 통제하는 역할을 한다.An externally owned account does not have code, and to send a message from this account, it creates a new transaction and signs it, which is the same as a bit coin. Each time a contract account receives a message, it activates its code and either reads the message, writes it to internal storage, sends other messages, or creates a contract in turn. In Etherium, a contract can be identified as an actonomous agent in the execution environment of Etherium. When a message or transaction arrives at the contract, the contract's balance and variables recorded in the block chain It controls the key value store directly for tracking.

2. 메시지와 트랜잭션2. Messages and Transactions

이더리움에서 쓰이는 트랜잭션(transaction)이란 용어는, 외부 소유 계정이 네트워크에 보낼 메시지를 만들어 서명한 데이터를 말한다. 이 트랜잭션은 다음을 포함하고 있다.The term transaction in etherium refers to the data that an externally-owned account creates and signs a message to send to the network. This transaction includes:

(1) 메시지 수신처(1) Message destination

(2) 발신처를 확인할 수 있는 서명(2) Signature to identify the sender

(3) 발신처를 수신처로 보내는 이더의 양(3) Amount of the sender of the sender to the destination

(4) 데이터 필드(선택적)(4) Data field (optional)

(5) STARTGAS, 트랜잭션에 허용된 최대 계산 단계(5) STARTGAS, the maximum calculation step allowed for a transaction

(6) GASPRICE, 매단계에서 발신처가 지불하는 수수료(6) GASPRICE, the fee paid by the originator at each stage

처음 세 항목은 암호 화폐에서는 거의 표준처럼 사용되는 값이다. 데이터필드에 초기함수가 정의되어 있지는 않지만, 가상머신(virtual machine)은 콘트랙트가 데이터필드에 접근할 때 사용할 코드(opcode)를 가지고 있다.The first three items are almost always used as standard in cryptography. Although the initial function is not defined in the data field, the virtual machine has a code (opcode) that the contract will use to access the data field.

예를 들어, 블록체인 위에 도메인 등록 서비스 기능이 있는 콘트랙트가 있을 경우, 이 콘트랙트로 보내지는 데이터는 하나의 키-값쌍을 가지고 있는 것으로 해석할 수 있다. 키는 등록하고자 하는 도메인이고, 값은 IP 주소다. 콘트랙트는 메시지 데이터로부터 이 값들을 읽은 후 저장소에 저장한다. STARTGAS와 GASPRICE 필드는 이더리움의 서비스 거부공격을 막는 과정에서 중요한 역할을 한다.For example, if there is a contract with domain registration service capability on a block chain, the data sent to this contract can be interpreted as having one key-value pair. The key is the domain you want to register, and the value is the IP address. The contract reads these values from the message data and stores them in the repository. The STARTGAS and GASPRICE fields play an important role in preventing Etherium denial of service attacks.

코드 안에서 악의적인 무한루프나 과도한 연산을 막기 위해 개별 트랜잭션은 코드의 수를 제한하는 것이다. 계산의 단위는 gas이고 한 단계는 1 gas의 비용이 소요되며, 저장되어야 하는데, 데이터의 양이 많으면 더 큰 gas 비용이 필요하게 된다. 또한 트랜색션 데이터 실행을 위해서는 바이트당 5gas의 수수료를 내야 한다. 이러한 수수료 시스템의 의도는 어떤 공격자가 계산, 대역, 저장소 등을 포함하여 공격자들이 소비하는 모든 자원에 비례하여 강제로 수수료를 지불하게 만드는데 있다.To prevent malicious infinite loops or excessive operations within the code, individual transactions limit the number of codes. The unit of calculation is gas, one step costs one gas, and it needs to be stored. If the amount of data is large, more gas cost is needed. In addition, commission of 5gas per byte is required to execute transaction data. The intent of such a fee system is to force an attacker to pay a commission in proportion to all resources consumed by attackers, including computation, bandwidth, storage, and so on.

3. 콘트랙트(이더리움 상태 변환 변수)3. Contract (Ethernet state transition variable)

이더리움내에서 트랜잭션이 블록에 포함되기 위해서는 다음의 조건을 만족해야 한다. 여기서 gas란 이더리움 트랜잭션이 블록에 포함되기 위해 지불하는 수수료 단위로서 1gas는 1/(1018) 이더리움이다.In order for transaction to be included in the ether, the following condition must be satisfied. Where gas is the commission unit that the etheric transaction pays to be included in the block, and 1gas is 1 / (10 18 ) inertia.

(1) 트랜잭션의 구조를 체크하고, 서명이 유효한지, 전달된 넌스(nonce)와 발신처의 넌스(nonce)의 일치여부를 확인한다. 일치하지 않으면 오류를 반환한다. (1) Check the structure of the transaction and check whether the signature is valid and whether the transmitted nonce and source are nonce. If it does not match, it returns an error.

(2) STARTGAS * GASPRICE로 트랜잭션 수수료를 계산하고, 서명으로부터 발신처주소를 결정한다. 발신처 계정잔액에서 수수료를 제하고 발신자 넌스값을 증가시킨다. 잔고가 부족하면 오류를 리턴한다. (2) Calculate the transaction fee with STARTGAS * GASPRICE, and determine the source address from the signature. It deducts the commission from the source account balance and increases the outgoing value. If there is insufficient funds, an error is returned.

(3) GAS = STARTGAS로 초기화 한 후, 포함된 바이트에 비례하여 gas를 차감한다.(3) After initializing GAS = STARTGAS, subtract gas proportionally to the included bytes.

발신 계정에서 수신계정으로 트랜잭션을 보내고 수신계정의 상태를 변화시키고, 만일 수신계정이 콘트랙트이면, 콘트랙트가 더 이상 나타나지 않거나 gas가 모두 소모될 때까지 트랜잭션이 수행된다. 발신처의 이더리움이 부족하여 자금 이전에 실패하거나, 코드 수행과정에서 gas가 모두 소모되면, 모든 상태변경내역은 원상태로 돌아간다. 단, 이미 지불된 수수료는 제외된 후채굴자의 계정으로 더해진다. 남아있는 gas에 대한 수수료는 발신처에게 돌려주고, 소모된 gas와 지불한 수수료를 채굴자에게 보낸다. 메시지 실행시 gas가 부족하면, 그 메시지에 관련된 모든 상태변화는 원래대로 되돌아가지만, 그 부모실행은 돌아갈 필요가 없다. 이것은 콘트랙트가 다른 콘트랙트를 호출하는데 아무런 문제가 없다는 것을 의미하는데, A계정이 G 만큼의 gas를 가지고 B를 호출할 경우, A 계정의 실행은 최대 G만큼의 gas를 소비하게 된다.Transactions are sent from the originating account to the receiving account, changing the status of the receiving account, and if the receiving account is a contract, the transaction is performed until the contract no longer appears or the gas is exhausted. If the sender fails to transfer funds due to insufficient funds, or if the gas is exhausted during the code execution, all state changes are undone. However, the fee already paid is excluded and added to the miner's account. The fee for the remaining gas is returned to the originator, and the spent gas and the commission paid are sent to the miners. When the message runs out of gas, all state changes associated with the message are returned to their original state, but the parent execution does not need to return. This means that the contract does not have any problems calling other contracts. If the A account calls B with as much gas as G, the execution of the A account consumes up to G of gas.

한편, 많은 Dapp 프로젝트들이 ICO를 진행함에 있어서 사용자(user)의 이더리움 지갑주소와 투자량을 이더리움 계약에 담는 whitelisting 방식으로 KYC를 진행하였다. 이러한 방식은 각자가 KYC 시스템을 구현해서 중복된 작업을 하고 있다. 따라서 통합된 형태의 탈중앙화된 KYC 센터의 필요성이 대두되었다.On the other hand, many Dapp projects have conducted KYC in the whitelisting method of incorporating the user 's Ethernet wallet address and investment amount into the Etherium Agreement when proceeding with ICO. Each of these approaches is duplicated by implementing the KYC system. Therefore, the need for an integrated, decentralized KYC center has emerged.

이에 본 발명은 비탈릭뷰탈린이 제안하 튜링 완전한 블록체인 이더리움(Ethereum)의 스마트 계약으로 발행한 토큰을 통해 블록 체인 DApp의 KYC를 제안한다. 토큰기반 인증은 한번 KYC 정보를 입력하면 다른 프로젝트들의 계약에서도 KYC를 중복하여 진행하지 않아도 된다는 장점이 있다. 사용자가 요청할 겨우 사용자의 토큰 밸런스를 조정하여 프로젝트들을 식별할 수 있도록 한다. 이하 상술한다.Accordingly, the present invention proposes a block chain DApp KYC through a token issued by Vitaly Tallinn's proposed Smart Tactical Complete Block Chain Ethierum. Token-based authentication is advantageous in that once KYC information is input, KYC does not need to be duplicated in contracts of other projects. Allows users to identify their projects by adjusting the user's token balance only when requested. This will be described in detail below.

도 1은 본 발명의 실시예에 따른 토큰 기반의 사용자 식별이 이루어지는 예시 그림이며, 도 2는 본 발명의 실시예에 따른 블록체인 토큰 기반의 사용자 식별 시스템을 도시한 구성도이며, 도 3은 본 발명의 실시예에 따라 토큰을 통한 전자화폐 프로젝트를 식별하는 예시 그림이다.2 is a block diagram illustrating a block-chain token-based user identification system according to an exemplary embodiment of the present invention. FIG. 3 is a block diagram illustrating a token-based user identification system according to an embodiment of the present invention. FIG. 4 is an exemplary diagram illustrating an electronic money project through a token according to an embodiment of the present invention. FIG.

본 발명에서 제안하고자 하는 이더리움 상에서 동작하는 전자화폐 계약(스마트 계약)으로 발행한 토큰 기반의 사용자 식별(KYC;Know Your Customer) 구조를 단순화하면 도 1과 같다.FIG. 1 is a simplified diagram of a token-based user identity (KYC) structure issued in an electronic money contract (smart contract) operating on Ethernet to be proposed in the present invention.

예를 들어, 'alice'(사용자 노드(100))가 개인 정보(personal information)을 'bob'(이더리움 노드(300))에게 제공하면, 'bob'은 정보를 확인한 뒤 'alice'에게 전자화폐 계약을 위한 토큰을 발행한다.For example, if 'alice' (user node 100) provides personal information to 'bob' (ether node 300), 'bob' Issue tokens for currency contracts.

그 후, 'alice'가 'bob'의 이더리움 위에서 동작하는 ICO(Initial Coin Offering) 전자화폐 계약에서는 'alice'가 사용자 식별(KYC;Know Your Customer) 완료되었는지 확인하기 위해 'bob'이 발행한 토큰 밸런스(balance)를 확인하게 된다.Then, in the ICO (Initial Coin Offering) electronic money contract, in which 'alice' operates on the ether of 'bob', 'alice' is issued by 'bob' The token balance is checked.

결국, 본 발명은, 블록체인상의 전자화폐 계약이 이루어질 때 토큰 밸런스를 확인하여 사용자 식별을 한다. 또한 이러한 토큰 밸런스를 확인하여 사용자가 참여하고자 하는 프로젝트를 식별을 할 수 있게 된다.As a result, the present invention confirms the user identity by checking the token balance when an electronic money contract is made on the block chain. Also, by checking the token balance, the user can identify the project to participate.

이를 위하여 본 발명의 블록체인 토큰 기반의 사용자 식별 시스템은, 도 2에 도시한 바와 같이 사용자 노드(100), 사용자 식별 웹서버(200), 및 이더리움 노드(300)를 포함한다.To this end, the block-chain token-based user identification system of the present invention includes a user node 100, a user identification web server 200, and an Ethernet node 300, as shown in FIG.

사용자 노드(100)는, 프로젝트에 참여하려는 자가 사용하는 단말기로서, 상기 도 1의 'alice'가 사용하는 단말기가 해당될 수 있다. 이러한 사용자 노드(100)로는, 스마트폰(smart phone), 데스크탑 PC(desktop PC), 태블릿 PC(tablet PC), 슬레이트 PC(slate PC), 노트북 컴퓨터(notebook computer)등이 해당될 수 있다. 물론, 본 발명이 적용 가능한 단말기는 상술한 종류에 한정되지 않고, 외부 장치와 통신이 가능한 단말기를 모두 포함할 수 있음은 당연하다.The user node 100 may be a terminal used by a person who wants to participate in a project, and a terminal used by 'alice' in FIG. The user node 100 may be a smart phone, a desktop PC, a tablet PC, a slate PC, a notebook computer, or the like. Of course, it is needless to say that the terminal to which the present invention is applicable is not limited to the above-described type, but may include both terminals capable of communicating with external devices.

사용자 노드(100)는, 사용자 식별 웹서버(200)에 회원가입 또는 로그인을 통한 사용자 인증을 거친 후 프로젝트를 요청한다. 프로젝트는, 예컨대, 분산 어플리케이션 프로젝트들이 코인을 발행하여 크라우드 펀딩을 받는 형식, ICO(Initial Coin Offering) 프로젝트일 수 있다.The user node 100 requests the user after authenticating the user to the user identification web server 200 through subscription or login. A project may be, for example, an Initial Coin Offering (ICO) project in which distributed application projects issue coins and receive crowdfunding.

사용자 식별 웹서버(200)는, 사용자 노드(100)로부터 요청된 프로젝트에 사용되는 토큰을 발행하기 위한 트랜잭션을 이더리움 노드(300)에 요청하는 웹서버이다. 여기서 트랜잭션은, 메시지 수신처, 발신처를 확인할 수 있는 서명, 발신처를 수신처로 보내는 이더리움의 양, 데이터 필드(선택적), 트랜잭션에 허용된 최대 계산 단계인 STARTGAS, 매단계에서 발신처가 지불하는 수수료인 GASPRICE를 포함할 수 있다.The user identification web server 200 is a web server that requests the intermittent node 300 to make a transaction for issuing a token used for a requested project from the user node 100. [ Here, the transaction consists of a message originator, a signature identifying the originator, an amount of data to send the originator to the destination, a data field (optional), STARTGAS, the maximum computation step permitted for the transaction, GASPRICE . &Lt; / RTI &gt;

이더리움 노드(300)는, 이더리움 블록체인에 참여한 단말기이다. 이더리움 노드(300)는, 트랜잭션을 수신하는 경우, 토큰 밸런스를 결정하여 블록체인에 기반한 이리더움 상태 변환 함수에 기록하며, 토큰 밸런스가 기록된 토큰을 발행하여 사용자 노드(100)에 제공한다.The Ethernet node 300 is a terminal participating in the Ethernet block chain. When receiving the transaction, the Ethernet node 300 determines the token balance and records it in a carry chain based based on the state transition function based on the block chain. The token balance issues a recorded token to the user node 100.

이리더움 상태 변환 함수를 가지는 블록체인상의 계약이 이루어질 때 토큰 밸런스를 확인하여 사용자 식별을 할 수 있게 된다. 예를 들어, 도 1에 도시한 바와 같이, 'alice'가 'bob'으로부터 발행받은 토큰을 이용하여 이더리움 투자 펀딩과 같은 블록체인상의 계약이 이루어질 때, 'alice'에게 발행된 토큰의 밸런스(balance)를 확인하여 사용자 정보 유효성을 확인한다.When a contract on a block chain with a warm-up state conversion function is made, the token balance can be checked to identify the user. For example, as shown in FIG. 1, when a contract is made on a block chain such as etherium investment funding using a token issued by 'alice' from 'bob', the balance of the token issued to 'alice' balance) to check the validity of user information.

또한, 이리더움 상태 변환 함수를 가지는 블록체인상의 계약이 이루어질 때 토큰 밸런스를 확인하여 사용자가 참여하고자 하는 프로젝트를 식별을 할 수 있게 된다. Also, when a contract is made on a block chain having an iterative state conversion function, the user can identify the project to which the user wants to participate by confirming the token balance.

예를 들어, 도 3에 도시한 바와 같이, A, B 프로젝트의 ICO((Initial Coin Offering))가 존재할 때, 사용자는 프로젝트 B에 참여하기 위해 사용자 식별 웹서버(200)에 회원 가입을 하게 되면 DB에 사용자 정보가 저장되고 프로젝트 B의 식별정보인 사용자에게 토큰 밸런스 2개가 발행이 된다. 프로젝트 B 스마트 계약은 사용자의 토큰 밸런스가 '2'인지 확인하고 자신의 ICO에 참여할 수 있도록 한다.For example, as shown in FIG. 3, when the ICO (Initial Coin Offering) of the A and B projects exists, when the user joins the user identification web server 200 to participate in the project B User information is stored in the DB and two token balances are issued to the user, which is the identification information of the project B. The Project B smart contract ensures that the user's token balance is '2' and allows them to participate in their ICO.

또한 위의 프로젝트 B의 ICO에 참여했던 사용자가 프로젝트 A의 ICO에 참여하고자 할 때, 사용자는 프로젝트 A에 참여하고 싶다는요청을 사용자 식별 웹서버(200)에 전송하면, 사용자 식별 웹서버(200)는 이더리움 노드(300)(Ethereum node)를 통해 Token Smart Contract에 트랜잭션을 전송한다. Token 스마트계약은 사용자의 토큰 밸런스를 1로 조정한다. Project A ICO 스마트 계약은 사용자가 자신의 스마트 계약에 참여할 경우 사용자의 토큰 밸런스가 1인지 확인하고 자신의 ICO에 참여할 수 있도록 한다.In addition, when a user participating in ICO of Project B above tries to participate in ICO of Project A, the user transmits a request to participate in Project A to user identification web server 200, Transmits a transaction to the Token Smart Contract through the Ethernet node 300 (Ethereum node). The Token smart contract adjusts the user's token balance to one. Project A The ICO Smart Agreement allows a user to participate in his or her ICO by ensuring that the user's token balance is 1 when participating in his or her Smart Contract.

도 4는 본 발명의 실시예에 따른 블록체인 토큰 기반의 사용자 식별 방법을 도시한 플로차트이며, 도 5는 본 발명의 실시예에 따른 이더리움 블록체인 토큰 스마트 콘트랙트 기능 요구 사항을 도시한 도표이다.FIG. 4 is a flow chart illustrating a block-chain token-based user identification method according to an embodiment of the present invention, and FIG. 5 is a diagram illustrating an Ethernet block-chain token smart contract functional requirement according to an embodiment of the present invention.

본 발명의 토큰 기반의 사용자 식별 방법은, 프로젝트 요청 과정(S410), 트랜잭션 요청 과정(S420), 토큰 밸런스 관리 과정(S430), 및 토큰 발행 과정(S440)을 가질 수 있다.The token-based user identification method of the present invention may have a project request process (S410), a transaction request process (S420), a token balance management process (S430), and a token issuing process (S440).

프로젝트 요청 과정(S410)은, 사용자 노드(100)가, 사용자 식별 웹서버(200)에 회원가입 또는 로그인을 통한 사용자 인증을 거친 후 펀딩 프로젝트를 요청하는 과정이다. 이를 위해 사용자 노드(100)는, 사용자가 실질적으로 정보와 요청을 입력하는 곳으로 UI(User Interface)를 제공한다. The project request process (S410) is a process in which the user node 100 requests a funding project after user authentication through user subscription or login to the user identification web server 200. To this end, the user node 100 provides a user interface (UI) to a place where a user actually inputs information and a request.

사용자가 회원가입을 할 경우 로그인 정보, 이더리움 주소, 이메일(e-mail), 사용자 이름, 생년월일과 같은 식별 가능한 사용자 정보를 받아 인증을 완료 후, 사용자 식별 웹서버(200)에 정보를 넘겨준다. 또한 사용자가 기존 회원일 경우 로그인 후, 인증을 원하는 프로젝트를 선택해 프로젝트 요청을 사용자 식별 웹서버(200)에 보낸다.When the user joins the membership, the user receives the identifiable user information such as the login information, the e-mail address, the e-mail, the user name, and the date of birth, and then passes the information to the user identification web server 200 . If the user is an existing member, the user selects a desired project to be authenticated, and sends a project request to the user identification web server 200 after login.

트랜잭션 요청 과정(S420)은, DB 저장 및 트랜잭션 요청이 이루어진다. 즉, 사용자가 회원 가입을 할 경우, 사용자 식별 웹서버(200)는, 회원 가입이 완료된 사용자(User)의 정보를 DB에 안전하게 저장한다. 즉, 사용자 식별 웹서버(200)는, 사용자 노드(100)로부터 회원가입을 통해 수신되는 로그인 정보, 사용자의 이더리움 주소, 이메일, 사용자 이름, 생년월일을 DB에 저장한다.In the transaction request process (S420), DB storage and transaction requests are made. That is, when the user joins the membership, the user identification web server 200 safely stores the information of the user who has completed membership registration in the DB. That is, the user identification web server 200 stores login information received through subscription from the user node 100, the user's address, e-mail, user name, and date of birth in the DB.

또한 트랜잭션 요청 과정(S420)은, 사용자 식별 웹서버(200)가, 사용자 노드(100)로부터 요청된 펀딩 프로젝트에 사용되는 토큰을 발행하기 위한 트랜잭션을 이더리움 노드(300)에 요청한다. 즉, 펀딩 프로젝트를 식별할 수 있는 밸런스 크기만큼의 토큰 발행량, 사용자의 이더리움 주소가 포함된 트랜잭션을 이더리움 노드(300)에 요청한다. In addition, the transaction requesting step (S420) requests the intermittent node 300 for a transaction to issue a token used for the funding project requested from the user node 100 by the user identifying web server 200. [ That is, it requests the Ethernet node 300 for a transaction including the token issuance amount corresponding to the balance size that can identify the funding project, and the user's Ethernet address.

토큰 밸런스 관리 과정(S430)은, 이더리움 노드(300)가, 상기 트랜잭션을 수신하는 경우, 토큰 밸런스를 결정하여 블록체인에 기반한 이리더움 상태 변환 함수에 기록하는 과정이다.In the token balance management process S430, when the Ethernet node 300 receives the transaction, it determines the token balance and writes the token balance in a block chain-based iteration state conversion function.

참고로 이더리움에는 두 가지의 계정이 존재하는데, 개인키가 통제하는 외부 소유 계정(Externally Owned Accounts)과 콘트랙트 코드에 의해 통제되는 콘트랙트 계정(Contract Accounts)이 있다. 여기서 콘트랙트 계정은 메시지를 받을 때마다, 자신의 코드를 활성화시키고 이에 따라 메시지를 읽거나 내부 저장 공간에 기록하고, 다른 메시지들을 보내거나, 콘트랙트를 차례로 생성하게 된다. 이더리움에서 콘트랙트는 이더리움의 실행 환경안에 존재하는 자율 에이전트(actonomous agents)로 파악할 수 있고, 콘트랙트에 메시지나 트랜잭션이 도착하면 항상 특정한 코드를 실행하는 과정에서 콘트랙트의 잔고와 블록체인에 기록된 변수 추적을 위해 자신의 키값 저장소를 직접적으로 통제하는 역할을 한다.There are two accounts in Etherium: Externally Owned Accounts controlled by the private key and Contract Accounts controlled by the Contract Code. Each time a contract account receives a message, it activates its code and either reads the message, writes it to internal storage, sends other messages, or creates the contract in turn. In Etherium, a contract can be identified as an actonomous agent in the execution environment of Etherium. When a message or transaction arrives at the contract, the contract's balance and variables recorded in the block chain It controls the key value store directly for tracking.

이러한 밸런스 관리를 위한 콘트랙트 기능 요구 사항을 도 5에 도시하였다.The contract function requirements for such balance management are shown in Fig.

토큰 밸런스 관리 과정(S430)은, 트랜잭션의 구조를 체크하여, 서명이 유효한지, 개별 트랜잭션이 한 번만 처리되게 하는 카운터와 발신처의 카운터의 일치 여부를 확인하고, 서명이 유효하지 않거나 카운터가 일치하지 않는 경우 반환 처리한다. 또한 토큰 밸런스 관리 과정(S430)은, 인증이 잘못되었거나 끝났을 경우 밸런스의 상태를 변경한다.In the token balance management process (S430), the structure of the transaction is checked to check whether the signature is valid or whether the counters that cause the individual transactions to be processed only once and the counters of the origin are matched. If the signatures are invalid or the counters do not match If not, it handles the return. Also, the token balance management process (S430) changes the balance state when the authentication is wrong or ended.

한편, 토큰 발행 과정(S440)은, 이더리움 노드(300)가, 토큰 밸런스가 기록된 토큰을 발행하여 사용자 노드(100)에 제공하는 과정이다. 트랜잭션의 구조를 체크하여, 반환 처리되지 않고 인증이 성공된 경우에만 토큰이 발행되도록 한다.Meanwhile, the token issuing process (S440) is a process in which the ether node 300 issues a token in which the token balance is recorded and provides the token to the user node 100. The structure of the transaction is checked to ensure that the token is issued only if the authentication is successful without return processing.

이와 같이 발행되는 토큰을 확인하여 블록체인상의 스마트 계약이 이루어질 때 사용자 식별이 가능해진다. 예를 들어, 도 1에 도시한 바와 같이, 'alice'가 'bob'으로부터 발행받은 토큰을 이용하여 이더리움 투자 펀딩과 같은 블록체인상의 계약이 이루어질 때, 'alice'에게 발행된 토큰의 밸런스(balance)를 확인하여 사용자 정보 유효성을 확인한다.By identifying the token that is issued in this manner, the user can be identified when a smart contract is made on the block chain. For example, as shown in FIG. 1, when a contract is made on a block chain such as etherium investment funding using a token issued by 'alice' from 'bob', the balance of the token issued to 'alice' balance) to check the validity of user information.

또한, 이리더움 상태 변환 함수를 가지는 블록체인상의 계약이 이루어질 때 토큰 밸런스를 확인하여 사용자가 참여하고자 하는 프로젝트를 식별을 할 수 있게 된다. Also, when a contract is made on a block chain having an iterative state conversion function, the user can identify the project to which the user wants to participate by confirming the token balance.

예를 들어, 도 3에 도시한 바와 같이, A, B 프로젝트의 ICO((Initial Coin Offering))가 존재할 때, 사용자는 프로젝트 B에 참여하기 위해 사용자 식별 웹서버(200)에 회원 가입을 하게 되면 DB에 사용자 정보가 저장되고 프로젝트 B의 식별정보인 사용자에게 토큰 밸런스 2개가 발행이 된다. 프로젝트 B 스마트 계약은 사용자의 토큰 밸런스가 '2'인지 확인하고 자신의 ICO에 참여할 수 있도록 한다.For example, as shown in FIG. 3, when the ICO (Initial Coin Offering) of the A and B projects exists, when the user joins the user identification web server 200 to participate in the project B User information is stored in the DB and two token balances are issued to the user, which is the identification information of the project B. The Project B smart contract ensures that the user's token balance is '2' and allows them to participate in their ICO.

또한 위의 프로젝트 B의 ICO에 참여했던 사용자가 프로젝트 A의 ICO에 참여하고자 할 때, 사용자는 프로젝트 A에 참여하고 싶다는요청을 사용자 식별 웹서버(200)에 전송하면, 사용자 식별 웹서버(200)는 이더리움 노드(300)(Ethereum node)를 통해 Token Smart Contract에 트랜잭션을 전송한다. Token 스마트계약은 사용자의 토큰 밸런스를 1로 조정한다. Project A ICO 스마트 계약은 사용자가 자신의 스마트 계약에 참여할 경우 사용자의 토큰 밸런스가 1인지 확인하고 자신의 ICO에 참여할 수 있도록 한다.In addition, when a user participating in ICO of Project B above tries to participate in ICO of Project A, the user transmits a request to participate in Project A to user identification web server 200, Transmits a transaction to the Token Smart Contract through the Ethernet node 300 (Ethereum node). The Token smart contract adjusts the user's token balance to one. Project A The ICO Smart Agreement allows a user to participate in his or her ICO by ensuring that the user's token balance is 1 when participating in his or her Smart Contract.

상술한 본 발명의 설명에서의 실시예는 여러가지 실시가능한 예중에서 당업자의 이해를 돕기 위하여 가장 바람직한 예를 선정하여 제시한 것으로, 이 발명의 기술적 사상이 반드시 이 실시예만 의해서 한정되거나 제한되는 것은 아니고, 본 발명의 기술적 사상을 벗어나지 않는 범위내에서 다양한 변화와 변경 및 균등한 타의 실시예가 가능한 것이다.The embodiments of the present invention described above are selected and presented in order to assist those of ordinary skill in the art from among various possible examples. The technical idea of the present invention is not necessarily limited to or limited to these embodiments Various changes, modifications, and other equivalent embodiments are possible without departing from the spirit of the present invention.

100:사용자 노드
200:사용자 식별 웹서버
300:이더리움 노드
100: User node
200: User identification web server
300:

Claims (10)

사용자 노드가, 사용자 식별 웹서버에 회원가입 또는 로그인을 통한 사용자 인증을 거친 후 프로젝트를 요청하는 프로젝트 요청 과정;
상기 사용자 식별 웹서버가, 상기 사용자 노드로부터 요청된 프로젝트에 사용되는 토큰을 발행하기 위한 트랜잭션을 이더리움 노드에 요청하는 트랜잭션 요청 과정;
상기 이더리움 노드가, 상기 트랜잭션을 수신하는 경우, 토큰 밸런스를 결정하여 블록체인에 기반한 이리더움 상태 변환 함수에 기록하는 토큰 밸런스 관리 과정; 및
상기 이더리움 노드가, 상기 토큰 밸런스가 기록된 토큰을 발행하여 사용자 노드에 제공하는 토큰 발행 과정을 포함하고,
상기 토큰 발행 과정은,
상기 이리더움 상태 변환 함수를 통해 상기 트랜잭션의 구조를 체크하여, 오류가 반환 처리되지 않고 사용자 식별(Know Your Customer)인증이 성공된 경우에만 토큰이 발행하고,
상기 토큰 밸런스 관리 과정은,
사용자 식별(Know Your Customer) 인증이 잘못되었거나 끝났을 경우 상기 이리더움 상태 변환 함수를 통해 토큰 잔액 상태를 조정하여 토큰 밸런스의 상태를 변경하는 블록체인 토큰 기반의 사용자 식별 방법.
A project request process in which a user node requests a project after a user authentication through a user subscription or login to a user identification web server;
A transaction requesting step of the user identifying web server requesting a transaction for issuing a token to be used in a requested project from the user node to the Ethernet node;
A token balance management step of, when the Ethernet node receives the transaction, determining a token balance and recording the token balance in a block chain based forwarding state conversion function; And
And a token issuing step in which the Ethernet node issues a token to which the token balance is recorded and provides the token to the user node,
The token issuing process includes:
Checking the structure of the transaction through the intermittent state transition function, issuing a token only if the error is not returned and the Know Your Customer authentication is successful,
The token balance management process includes:
A method of identifying a user based on a block chain token based on a change in the state of the token balance by adjusting the state of the token balance through the above-mentioned idle state transition function when the Know Your Customer authentication is invalid or ended.
청구항 1에 있어서,
상기 이리더움 상태 변환 함수를 가지는 블록체인상의 계약이 이루어질 때 토큰 밸런스를 확인하여 사용자 식별을 하는 블록체인 토큰 기반의 사용자 식별 방법.
The method according to claim 1,
Token-based user identification method for identifying a user by identifying a token balance when a contract on a block chain having the iteration state conversion function is made.
청구항 1에 있어서, 상기 토큰 밸런스는,
상기 이리더움 상태 변환 함수를 가지는 블록체인상의 계약이 이루어질 때 상기 토큰 밸런스를 확인하여 사용자가 참여하고자 하는 프로젝트를 식별을 하는 블록체인 토큰 기반의 사용자 식별 방법.
The method of claim 1,
Wherein the token balance is verified when a contract on the block chain having the iridium state transformation function is made, thereby identifying a project the user intends to participate in.
청구항 1에 있어서, 상기 프로젝트 요청 과정은,
사용자 식별 웹서버에 회원가입하는 경우, 로그인 정보, 이더리움 주소, 이메일, 사용자 이름, 및 생년월일을 입력받아 사용자 식별 웹서버에 제공하는 블록체인 토큰 기반의 사용자 식별 방법.
The method according to claim 1,
User identification A block chain token-based user identification method that receives login information, an e-mail address, an e-mail address, a user name, and a date of birth,
청구항 4에 있어서, 상기 사용자 식별 웹서버가,
상기 사용자 식별 웹서버가, 수신한 로그인 정보, 사용자의 이더리움 주소, 이메일, 사용자 이름, 및 생년월일을 DB에 저장하는 블록체인 토큰 기반의 사용자 식별 방법.
5. The method of claim 4,
Wherein the user identification web server stores the received login information, the user's address, e-mail, user name, and date of birth in a DB.
청구항 5에 있어서, 상기 트랜잭션 요청 과정은,
프로젝트를 식별할 수 있는 밸런스 크기만큼의 토큰 발행량, 사용자의 이더리움 주소가 포함된 트랜잭션을 이더리움 노드에 요청하는 블록체인 토큰 기반의 사용자 식별 방법.
The method of claim 5,
A block-chain token-based user identification method that asks the Ether- net node for a transaction that contains the user's Ether address, as well as a token issue amount equal to the balance size that identifies the project.
청구항 1에 있어서, 상기 토큰 밸런스 관리 과정은,
트랜잭션의 구조를 체크하여, 서명이 유효한지, 개별 트랜잭션이 한 번만 처리되게 하는 카운터와 발신처의 카운터의 일치 여부를 확인하고, 서명이 유효하지 않거나 카운터가 일치하지 않는 경우 반환 처리하는 블록체인 토큰 기반의 사용자 식별 방법.
The method of claim 1, wherein the token balance management comprises:
Check the structure of the transaction to determine if the signature is valid, whether the counter that makes the individual transactions are processed only once, and the counter at the source match, and if the signatures are invalid or if the counters do not match, / RTI &gt;
삭제delete 삭제delete 사용자 식별 웹서버에 회원가입 또는 로그인을 통한 사용자 인증을 거친 후 프로젝트를 요청하는 사용자 노드;
상기 사용자 노드로부터 요청된 프로젝트에 사용되는 토큰을 발행하기 위한 트랜잭션을 이더리움 노드에 요청하는 사용자 식별 웹서버; 및
상기 이더리움 노드가, 상기 트랜잭션을 수신하는 경우, 토큰 밸런스를 결정하여 블록체인에 기반한 이리더움 상태 변환 함수에 기록하며, 상기 토큰 밸런스가 기록된 토큰을 발행하여 사용자 노드에 제공하는 이더리움 노드를 포함하며,
상기 토큰 밸런스는,
상기 이리더움 상태 변환 함수를 가지는 블록체인상의 계약이 이루어질 때 토큰 밸런스를 확인하여 사용자 식별(Know Your Customer)을 하며, 상기 토큰 밸런스를 확인하여 사용자가 참여하고자 하는 프로젝트를 식별을 하고,
상기 이리더움 노드는,
상기 이리더움 상태 변환 함수를 통해 상기 트랜잭션의 구조를 체크하여, 오류가 반환 처리되지 않고 사용자 식별(Know Your Customer)인증이 성공된 경우에만 토큰이 발행하고,
상기 이리더움 상태 변환 함수는,
사용자 식별(Know Your Customer) 인증이 잘못되었거나 끝났을 경우 상기 이리더움 상태 변환 함수를 통해 토큰 잔액 상태를 조정하여 토큰 밸런스의 상태를 변경하는 블록체인 토큰 기반의 사용자 식별 시스템.
A user node for requesting a project after authenticating a user through a member registration or login through a web server;
A user identification web server for requesting from the user node a transaction for issuing a token to be used in a requested project; And
When the Ethernet node receives the transaction, determines the token balance and writes the token balance in a carry chain state based transition function based on the block chain, and transmits the token balance to the user node by issuing the recorded token to the user node &Lt; / RTI &
The token balance,
When the contract on the block chain having the iterative state conversion function is made, the user confirms the token balance to perform a user identification (Know Your Customer), confirms the token balance, identifies a project the user wants to participate in,
The idle-
Checking the structure of the transaction through the intermittent state transition function, issuing a token only if the error is not returned and the Know Your Customer authentication is successful,
Wherein the initial state transition function comprises:
Know Your Customer A block-chain token-based user identification system that changes the state of the token balance by adjusting the state of the token balance through the idle state transition function when the authentication is incorrect or ended.
KR1020170150467A 2017-11-13 2017-11-13 Method and system for user identification based block chain token KR101857223B1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020170150467A KR101857223B1 (en) 2017-11-13 2017-11-13 Method and system for user identification based block chain token

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020170150467A KR101857223B1 (en) 2017-11-13 2017-11-13 Method and system for user identification based block chain token

Publications (1)

Publication Number Publication Date
KR101857223B1 true KR101857223B1 (en) 2018-05-11

Family

ID=62185761

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020170150467A KR101857223B1 (en) 2017-11-13 2017-11-13 Method and system for user identification based block chain token

Country Status (1)

Country Link
KR (1) KR101857223B1 (en)

Cited By (32)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108900562A (en) * 2018-10-11 2018-11-27 北京京东尚科信息技术有限公司 Sharing method, device, electronic equipment and the medium of logging state
KR101949711B1 (en) * 2018-06-29 2019-02-19 (주) 와이즈엠글로벌 A Method to Unify Multiple Tokens to A Single Token by Using Multiple Block Chains
CN109450910A (en) * 2018-11-26 2019-03-08 远光软件股份有限公司 Data sharing method, data sharing network and electronic equipment based on block chain
KR20200012685A (en) 2018-12-31 2020-02-05 주식회사 미탭스플러스 Apparatus for KYC using Token Balance within KYC blockchain
KR20200012686A (en) 2018-12-31 2020-02-05 주식회사 미탭스플러스 Apparatus and Method for KYC using KYC blockchain
KR20200012688A (en) 2018-12-31 2020-02-05 주식회사 미탭스플러스 Apparatus for KYC using KYC blockchain
KR20200012691A (en) 2018-12-31 2020-02-05 주식회사 미탭스플러스 Apparatus for KYC using KYC blockchain
KR20200012687A (en) 2018-12-31 2020-02-05 주식회사 미탭스플러스 Apparatus for KYC using KYC blockchain
KR20200012690A (en) 2018-12-31 2020-02-05 주식회사 미탭스플러스 Apparatus for KYC using KYC blockchain
KR20200012689A (en) 2018-12-31 2020-02-05 주식회사 미탭스플러스 Apparatus for KYC using KYC blockchain
KR20200018967A (en) * 2018-08-13 2020-02-21 포항공과대학교 산학협력단 Method and apparatus for authenticating user based on blockchain
KR20200048458A (en) * 2018-10-30 2020-05-08 서강대학교산학협력단 Method for managing wallet address of blockchain system and processing transaction based on domain
KR20200048691A (en) 2018-10-30 2020-05-08 강원대학교산학협력단 Blockchain analysising apparatus for intrusion detection in bitcoin exchange
KR20200051252A (en) * 2018-11-05 2020-05-13 주식회사 홈앤체인 Smart transaction system using proptech blockchain and operating method thereof
TWI694398B (en) * 2018-07-04 2020-05-21 綠界科技股份有限公司 Blockchain-based systems and methods for transactions of digital tokens
KR20200060971A (en) * 2018-11-23 2020-06-02 크루이슬러(주) Crowd funding system based on block chain and method for controlling the same
KR102132118B1 (en) * 2019-03-21 2020-07-08 울산대학교 산학협력단 Apparatus and method for supporting workspace based on blockchain
CN112166578A (en) * 2018-05-14 2021-01-01 区块链控股有限公司 Improved system and method for storage, generation and verification of tokens for controlling access to resources
JP2021504813A (en) * 2018-05-17 2021-02-15 バイドゥ オンライン ネットワーク テクノロジー (ベイジン) カンパニー リミテッド Blockchain network transaction processing methods, devices, equipment and storage media
KR20210017964A (en) * 2019-08-05 2021-02-17 주식회사 인터리핀 Method and apparatus for autonomous guarantee verification for p2p loan service based on blockchain
CN112613875A (en) * 2019-10-04 2021-04-06 游戏橘子数位科技股份有限公司 Method for establishing public fund
KR20210041980A (en) 2019-10-08 2021-04-16 주식회사 블록체인기술연구소 The block chain private key generation system using smart devices with KYC data and biometric information
KR20210041984A (en) 2019-10-08 2021-04-16 주식회사 블록체인기술연구소 The block chain private key generation method using smart devices with KYC data and biometric information
KR20210043278A (en) * 2019-10-11 2021-04-21 삼정데이타서비스 주식회사 Method of contract management based on block cahin
KR102354044B1 (en) 2020-07-24 2022-01-20 주식회사 블록체인기술연구소 The method of recovering private key using mnemonic code
JP2022511623A (en) * 2018-10-23 2022-02-01 ギオブ バク Blockchain-based content sharing creation server, content distribution server and systems including this
KR20220120062A (en) 2021-02-22 2022-08-30 주식회사 블록체인기술연구소 The decentralized user data storage and sharing system based on DID
KR20220120059A (en) 2021-02-22 2022-08-30 주식회사 블록체인기술연구소 The private key management and recovery system that storing distributed the key backup data
KR20220122418A (en) 2021-02-26 2022-09-02 주식회사 알이스탠다드 The real estate contract and post management system based on blockchain technology
KR20220122416A (en) 2021-02-26 2022-09-02 주식회사 알이스탠다드 The false real estate property registration prevention system based on blockchain technology
KR20220122419A (en) 2021-02-26 2022-09-02 주식회사 알이스탠다드 The false real estate property registration prevention system based on blockchain technology
KR20230015809A (en) 2021-07-23 2023-01-31 주식회사 카루스웍스 The blockchain-based DeFi system based on credit card use

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2013518348A (en) * 2010-01-27 2013-05-20 オーセンティファイ・インク New methods for secure user and transaction authentication and risk management

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2013518348A (en) * 2010-01-27 2013-05-20 オーセンティファイ・インク New methods for secure user and transaction authentication and risk management

Non-Patent Citations (8)

* Cited by examiner, † Cited by third party
Title
[오마이뉴스 2017.06.13.] *
[체인톡 2017.07.08.] *
[체인톡 2017.08.31.] *
‘솔리디티 명령문 질문’, 체인톡(2017.07.08. 게재) 1부. *
‘전자화폐 '이더리움' 가격 급상승, 왜 그런가 했더니’, 오마이뉴스(2017.06.12. 게재) *
‘전자화폐 '이더리움' 가격 급상승, 왜 그런가 했더니’, 오마이뉴스(2017.06.12. 게재) 1부. *
‘전자화폐 '이더리움' 가격 급상승, 왜 그런가 했더니’, 오마이뉴스(2017.06.12. 게재)*
일본 공표특허공보 특표2013-518348호(2013.05.20.) 1부. *

Cited By (41)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112166578A (en) * 2018-05-14 2021-01-01 区块链控股有限公司 Improved system and method for storage, generation and verification of tokens for controlling access to resources
US11875171B2 (en) 2018-05-17 2024-01-16 Baidu Online Network Technology (Beijing) Co., Ltd. Blockchain network transaction processing method, apparatus, device, and storage medium
JP2021504813A (en) * 2018-05-17 2021-02-15 バイドゥ オンライン ネットワーク テクノロジー (ベイジン) カンパニー リミテッド Blockchain network transaction processing methods, devices, equipment and storage media
KR101949711B1 (en) * 2018-06-29 2019-02-19 (주) 와이즈엠글로벌 A Method to Unify Multiple Tokens to A Single Token by Using Multiple Block Chains
TWI694398B (en) * 2018-07-04 2020-05-21 綠界科技股份有限公司 Blockchain-based systems and methods for transactions of digital tokens
KR20200018967A (en) * 2018-08-13 2020-02-21 포항공과대학교 산학협력단 Method and apparatus for authenticating user based on blockchain
KR102130651B1 (en) * 2018-08-13 2020-07-06 포항공과대학교 산학협력단 Method and apparatus for authenticating user based on blockchain
CN108900562A (en) * 2018-10-11 2018-11-27 北京京东尚科信息技术有限公司 Sharing method, device, electronic equipment and the medium of logging state
JP2022511623A (en) * 2018-10-23 2022-02-01 ギオブ バク Blockchain-based content sharing creation server, content distribution server and systems including this
KR20200048458A (en) * 2018-10-30 2020-05-08 서강대학교산학협력단 Method for managing wallet address of blockchain system and processing transaction based on domain
KR20200048691A (en) 2018-10-30 2020-05-08 강원대학교산학협력단 Blockchain analysising apparatus for intrusion detection in bitcoin exchange
KR102631875B1 (en) * 2018-10-30 2024-02-01 서강대학교산학협력단 Method for managing wallet address of blockchain system and processing transaction based on domain
KR102155571B1 (en) 2018-11-05 2020-09-14 김지현 Smart transaction system using proptech blockchain and operating method thereof
KR20200051252A (en) * 2018-11-05 2020-05-13 주식회사 홈앤체인 Smart transaction system using proptech blockchain and operating method thereof
KR20200060971A (en) * 2018-11-23 2020-06-02 크루이슬러(주) Crowd funding system based on block chain and method for controlling the same
KR102180854B1 (en) * 2018-11-23 2020-12-14 크루이슬러(주) Crowd funding system based on block chain and method for controlling the same
CN109450910A (en) * 2018-11-26 2019-03-08 远光软件股份有限公司 Data sharing method, data sharing network and electronic equipment based on block chain
CN109450910B (en) * 2018-11-26 2021-03-30 远光软件股份有限公司 Data sharing method based on block chain, data sharing network and electronic equipment
KR20200012688A (en) 2018-12-31 2020-02-05 주식회사 미탭스플러스 Apparatus for KYC using KYC blockchain
KR20200012686A (en) 2018-12-31 2020-02-05 주식회사 미탭스플러스 Apparatus and Method for KYC using KYC blockchain
KR20200012685A (en) 2018-12-31 2020-02-05 주식회사 미탭스플러스 Apparatus for KYC using Token Balance within KYC blockchain
KR20200012691A (en) 2018-12-31 2020-02-05 주식회사 미탭스플러스 Apparatus for KYC using KYC blockchain
KR20200012687A (en) 2018-12-31 2020-02-05 주식회사 미탭스플러스 Apparatus for KYC using KYC blockchain
KR20200012689A (en) 2018-12-31 2020-02-05 주식회사 미탭스플러스 Apparatus for KYC using KYC blockchain
KR20200012690A (en) 2018-12-31 2020-02-05 주식회사 미탭스플러스 Apparatus for KYC using KYC blockchain
KR102132118B1 (en) * 2019-03-21 2020-07-08 울산대학교 산학협력단 Apparatus and method for supporting workspace based on blockchain
KR20210017964A (en) * 2019-08-05 2021-02-17 주식회사 인터리핀 Method and apparatus for autonomous guarantee verification for p2p loan service based on blockchain
KR102324155B1 (en) * 2019-08-05 2021-11-10 주식회사 인터리핀 Method and apparatus for autonomous guarantee verification for p2p loan service based on blockchain
CN112613875A (en) * 2019-10-04 2021-04-06 游戏橘子数位科技股份有限公司 Method for establishing public fund
KR20210041980A (en) 2019-10-08 2021-04-16 주식회사 블록체인기술연구소 The block chain private key generation system using smart devices with KYC data and biometric information
KR20210041984A (en) 2019-10-08 2021-04-16 주식회사 블록체인기술연구소 The block chain private key generation method using smart devices with KYC data and biometric information
KR102314573B1 (en) * 2019-10-11 2021-10-19 삼정데이타서비스 주식회사 Method of contract management based on block cahin
KR20210043278A (en) * 2019-10-11 2021-04-21 삼정데이타서비스 주식회사 Method of contract management based on block cahin
KR102354044B1 (en) 2020-07-24 2022-01-20 주식회사 블록체인기술연구소 The method of recovering private key using mnemonic code
KR20220120059A (en) 2021-02-22 2022-08-30 주식회사 블록체인기술연구소 The private key management and recovery system that storing distributed the key backup data
KR20220143625A (en) 2021-02-22 2022-10-25 주식회사 블록체인기술연구소 The user data storage and sharing system based on DID
KR20220120062A (en) 2021-02-22 2022-08-30 주식회사 블록체인기술연구소 The decentralized user data storage and sharing system based on DID
KR20220122416A (en) 2021-02-26 2022-09-02 주식회사 알이스탠다드 The false real estate property registration prevention system based on blockchain technology
KR20220122419A (en) 2021-02-26 2022-09-02 주식회사 알이스탠다드 The false real estate property registration prevention system based on blockchain technology
KR20220122418A (en) 2021-02-26 2022-09-02 주식회사 알이스탠다드 The real estate contract and post management system based on blockchain technology
KR20230015809A (en) 2021-07-23 2023-01-31 주식회사 카루스웍스 The blockchain-based DeFi system based on credit card use

Similar Documents

Publication Publication Date Title
KR101857223B1 (en) Method and system for user identification based block chain token
Tikhomirov Ethereum: state of knowledge and research perspectives
JP6794527B2 (en) Computer system using secure ledger distribution method and secure distributed ledger technology
Li et al. CrowdBC: A blockchain-based decentralized framework for crowdsourcing
CN108335207B (en) Asset management method and device and electronic equipment
CN108492180B (en) Asset management method and device and electronic equipment
TWI814706B (en) Blockchain-implemented method and system
CA3011600C (en) Information transaction infrastructure
KR102589475B1 (en) Computer-implemented system and method for performing transaction mixing on a blockchain
US20220129888A1 (en) Computer-implemented systems and methods for implementing transfers over a blockchain network
TW201935384A (en) Asset management method and device, and electronic equipment
JP2019511150A (en) System and method for controlling asset related activities via blockchain
EP3433830A1 (en) Business process execution on a blockchain platform
AU2019378253B2 (en) Distributed ledger systems, methods and devices
Yadav Blockchain Security
KR20220093198A (en) Execution of transactions using dedicated and open blockchains
Biryukov et al. Privacy-preserving KYC on Ethereum
Al-Bassam et al. Airtnt: Fair exchange payment for outsourced secure enclave computations
Yu et al. Impsuic: a quality updating rule in mixing coins with maximum utilities
Kumar et al. The blockchain technology for secure and smart applications across industry verticals
Zhang et al. Boros: Secure and efficient off-blockchain transactions via payment channel hub
Kamidoi et al. A protocol for preventing transaction commitment without recipient’s authorization on Blockchain and it’s implementation
US20200364699A1 (en) Method and System for Usage of Cryptocurrency, Preventing Financial Crime
JP2023502057A (en) Identity verification protocol using blockchain transactions
JP2020109617A (en) Transaction processing system and method for enabling extention of block chain

Legal Events

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