KR101878870B1 - 블록체인 기반의 사용자 식별 관리 및 토큰 발행 관리를 위한 분산 원장 장치 및 분산 원장 방법 - Google Patents

블록체인 기반의 사용자 식별 관리 및 토큰 발행 관리를 위한 분산 원장 장치 및 분산 원장 방법 Download PDF

Info

Publication number
KR101878870B1
KR101878870B1 KR1020180031166A KR20180031166A KR101878870B1 KR 101878870 B1 KR101878870 B1 KR 101878870B1 KR 1020180031166 A KR1020180031166 A KR 1020180031166A KR 20180031166 A KR20180031166 A KR 20180031166A KR 101878870 B1 KR101878870 B1 KR 101878870B1
Authority
KR
South Korea
Prior art keywords
identification information
information
token
contract account
identification
Prior art date
Application number
KR1020180031166A
Other languages
English (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 KR1020180031166A priority Critical patent/KR101878870B1/ko
Application granted granted Critical
Publication of KR101878870B1 publication Critical patent/KR101878870B1/ko

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/32Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
    • H04L9/3236Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials using cryptographic hash functions
    • H04L9/3239Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials using cryptographic hash functions involving non-keyed hash functions, e.g. modification detection codes [MDCs], MD5, SHA or RIPEMD
    • 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/3676Balancing accounts
    • 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/363Payment architectures, schemes or protocols characterised by the use of specific devices or networks using electronic wallets or electronic money safes with the personal data of a user
    • 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
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/50Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols using hash chains, e.g. blockchains or hash trees
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L2209/00Additional information or applications relating to cryptographic mechanisms or cryptographic arrangements for secret or secure communication H04L9/00
    • H04L2209/56Financial cryptography, e.g. electronic payment or e-cash

Landscapes

  • Business, Economics & Management (AREA)
  • Accounting & Taxation (AREA)
  • Engineering & Computer Science (AREA)
  • Finance (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • General Business, Economics & Management (AREA)
  • Strategic Management (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Economics (AREA)
  • Development Economics (AREA)
  • Signal Processing (AREA)
  • Financial Or Insurance-Related Operations Such As Payment And Settlement (AREA)

Abstract

본 발명은 사용자의 식별을 관리하여 블록체인 내 토큰 흐름을 제어하기 위한 블록체인 기반의 사용자 식별 관리를 위해 토큰 발행량 조건 정보를 이용한 분산 원장 장치, 분산 원장 방법, 트랜잭션 정보 브로드캐스트 장치 및 방법에 관한 것이다. 이를 위하여, 식별 정보 관리 계약 계정을 포함하는 적어도 일부의 블록체인을 저장하고, 식별 정보 관리 계약 계정에 적어도 하나의 기저장된 기준 식별 정보를 포함하는 분산 원장이 저장된 메모리 모듈; 및 메모리 모듈과 동작 가능하도록 결합되고, 식별 정보 관리 계약 계정의 컴퓨터 판독 가능한 프로그램 코드를 실행하는 처리 모듈;이 제공될 수 있다.

Description

블록체인 기반의 사용자 식별 관리 및 토큰 발행 관리를 위한 분산 원장 장치 및 분산 원장 방법{Distributed Ledger Device and Distributed Ledger Method for Token Issuance and User Identification Management Based on Block Chain}
본 발명은 사용자의 식별을 관리하여 블록체인 내 토큰 흐름을 제어하기 위한 분산 원장 장치, 분산 원장 방법, 트랜잭션 정보 브로드캐스트 장치 및 방법에 관한 것이다.
블록체인은 다양한 기술분야에 적용될 수 있지만, ICO(Initial Coin Offering)에 의해 Fundraising이 용이해지면서 암호화 화폐(혹은, 가상 화폐)를 구현하기 위한 기술로써 발전했다. 예를 들어, 비트코인도 블록체인 기술을 이용함으로써 일반 통화와는 달리 중앙은행과 같은 제3자가 가치를 담보하지 않아도 통화와 같은 가치를 갖는 것을 달성해가고 있다. 블록체인 발명 이전에는 화폐를 대체할 전자 화폐를 만들기 위해서 그 가치를 보장하거나 화폐의 거래 기록을 관리하는 '미들맨'이 반드시 필요했다. 하지만, 블록체인을 이용하면 다음과 같은 구조로 제3자 기관이 없이도 특정 암호화 화폐가 실제 화폐로서 기능할 수 있게 된다.
(1) 블록이 시간별로 정렬되어 있고, 블록에 거래기록과 앞의 블록에 대한 연결 정보가 포함되어 위조 및 변조가 어려움.
(2) 분산형 원장 구조를 취함으로써 거래의 투명성이 높고 이중 지급이 어려움.
위와 같은 이유로 암호화 화폐는 화폐로서의 기능을 담보할 수 있게 되었다. 이와 같은 속성을 가진 암호화 화폐는 Bitcoin, Litecoin, Ripple, Etherium, Dash, Monero 등 여러가지가 퍼블릭하게 발행되어 있다. 특히, ICO(Initial Coin Offering)을 통해 특정 토큰에 대해 큰 규모의 Fundraising이 이루어지고 있는 실정이다. 이처럼 다양한 암호화 화폐가 발행되어 있지만, 네트워크 효과로 인해 주로 사용되는 것과 그렇지 않은 것으로 나뉘어 있는 상태이다.
또한, 블록체인을 이용한 다양한 어플리케이션들이 시도되고 있다. 예를 들어, Sentbe, Align Commerce, Moin 등의 국제 송금 서비스, Bank of America와 HSBC 홀딩스 등에서 검증한 신용장 거래 서비스, 각종 자금 조달, 전력 판매 서비스, Steemit, Streamium과 같은 콘텐츠 서비스, Nem과 같은 공증 서비스, Blockai 등과 같은 저작권 관리 서비스, Everledger와 같은 물품 거래 추적 서비스, Visa와 Docusign의 계약 관리 및 실행 서비스 등이 널리 시도되고 있다.
대한민국 등록특허, 10-1751025, 블록체인 기반의 스마트 증권업무 처리 시스템(Smart system for trading stock based blockchain), 주식회사 온더 대한민국 등록특허, 10-1758870, 마이닝 관리 시스템 및 이를 이용한 마이닝 관리 방법(Mining Rig Monitoring System And Mining Rig Monitoring Method In Using Same), 주식회사 온더 미국 공개특허, US 2016/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. 미국 공개특허, US 20170132615 A1, Block chain alias for person-to-person payments, Bank Of America Corporation
기존의 블록체인을 이용한 다양한 서비스들과 ICO(Initial Coin Offering)을 이용하여 공모되는 다양한 암호화 화폐들은 '개인의 식별'이라는 문제에 당면하고 있다. 기존에는 블록체인을 이용한 특정 서비스를 수행하거나 ICO 등을 통해 자금을 공모할 때, 개인을 식별하기 위해 이메일 주소, 연락처, 기타 소셜 네트워크의 ID를 이용하는 것 이외에 여권 사본, 신분증 사본, 통장사본, 고지서 사본 등의 개인 식별 정보를 추가적으로 이용하거나, 이메일을 통한 인증코드 발급, 휴대폰을 통한 인증코드 발급 등을 이용하고 있다. 개인 식별 정보를 이용하여 개인을 식별하는 것은 Human Resource가 더 필요하기 때문에 상당한 비용과 처리시간이 소요되는 문제가 발생되고, 인증코드 발급을 이용한 식별은 인증코드 푸시(Push)에 비용이 발생되고 사용자의 UX(User Experience)를 해치는 문제가 있었다.
따라서, 본 발명의 목적은 위와 같은 문제를 해결하기 위해, 사용자의 디지털 지갑 주소를 통해 사용자의 식별을 관리하여 블록체인 내 토큰 흐름을 제어하기 위한 분산 원장 장치, 분산 원장 방법, 트랜잭션 정보 브로드캐스트 장치 및 방법을 제공하는 데에 있다.
이하 본 발명의 목적을 달성하기 위한 구체적 수단에 대하여 설명한다.
본 발명의 목적은, 식별 정보 관리 계약 계정을 포함하는 적어도 일부의 블록체인을 저장하고, 상기 식별 정보 관리 계약 계정에 적어도 하나의 기저장된 기준 식별 정보를 포함하는 분산 원장이 저장된 메모리 모듈; 및 상기 메모리 모듈과 동작 가능하도록 결합되고, 상기 식별 정보 관리 계약 계정의 컴퓨터 판독 가능한 프로그램 코드를 실행하는 처리 모듈;을 포함하고, 상기 식별 정보 관리 계약 계정의 상기 프로그램 코드는, 확인 식별 정보를 포함하는 식별 정보 확인 쿼리(Query)를 상기 블록체인 내의 특정 계정에서 수신하는 쿼리 수신 단계; 상기 식별 정보 확인 쿼리를 토대로 상기 기준 식별 정보 내에서 상기 확인 식별 정보를 검색하는 식별 정보 검색 단계; 및 상기 기준 식별 정보 내에서 상기 확인 식별 정보가 검색되는지 여부의 트랜잭션 정보의 형태인 확인 응답 트랜잭션 정보를 생성하고, 상기 확인 응답 트랜잭션 정보를 상기 특정 계정에 응답하는 응답 단계;를 포함하며, 상기 분산 원장의 상기 식별 정보 관리 계약 계정에 기저장된 상기 기준 식별 정보를 이용하여 상기 특정 계정을 관리하는 것을 특징으로 하는, 분산 원장 장치를 제공하여 달성될 수 있다.
또한, 식별 정보 관리 계약 계정은, 상기 기준 식별 정보에 대응되어 블랙 리스팅(Black listing) 여부 또는 화이트 리스팅(White listing) 여부를 결정하는 리스팅 정보를 더 포함하고, 상기 확인 응답 트랜잭션 정보는, 상기 기준 식별 정보 내에서 상기 확인 식별 정보가 검색되는 경우 상기 리스팅 정보를 포함하여 상기 특정 계정에 응답되며, 상기 블랙 리스팅은, 상기 쿼리 수신 단계에서 수신된 상기 확인 식별 정보가 상기 기준 식별 정보 중 적어도 하나에 대응되면 상기 특정 계정에 대해 상기 사용자에 의해 제공되는 요청이 상기 사용자의 디지털 지갑 주소에 반환되는 것을 의미하며, 상기 화이트 리스팅은, 상기 쿼리 수신 단계에서 수신된 상기 확인 식별 정보가 상기 기준 식별 정보 중 적어도 하나에 대응되면 상기 특정 계정의 스마트 계약 코드가 수행되어 발생된 상태 변화가 상기 분산 원장에 저장되고 블록체인 분산 네트워크에 배포되는 것을 의미할 수 있다.
또한, 상기 식별 정보 관리 계약 계정은, 상기 기준 식별 정보에 대응하여 토큰 발행량 조건 정보를 더 포함하고, 상기 확인 응답 트랜잭션 정보는, 상기 토큰 발행량 조건 정보를 포함하여 상기 특정 계정에 응답할 수 있다.
본 발명의 다른 목적은, 식별 정보 관리 계약 계정을 포함하는 적어도 일부의 블록체인을 저장하고, 상기 식별 정보 관리 계약 계정에 적어도 하나의 기저장된 기준 식별 정보를 포함하는 분산 원장이 저장된 메모리 모듈; 및 상기 메모리 모듈과 동작 가능하도록 결합되고, 상기 식별 정보 관리 계약 계정의 컴퓨터 판독 가능한 프로그램 코드를 실행하는 처리 모듈;에 의해 수행되는 분산 원장 방법에 있어서, 상기 식별 정보 관리 계약 계정이, 확인 식별 정보를 포함하는 식별 정보 확인 쿼리(Query)를 상기 블록체인 내의 특정 계정에서 수신하는 쿼리 수신 단계; 상기 식별 정보 관리 계약 계정이, 상기 식별 정보 확인 쿼리를 토대로 상기 기준 식별 정보 내에서 상기 확인 식별 정보를 검색하는 식별 정보 검색 단계; 및 상기 식별 정보 관리 계약 계정이, 상기 기준 식별 정보 내에서 상기 확인 식별 정보가 검색되는지 여부의 트랜잭션 정보의 형태인 확인 응답 트랜잭션 정보를 생성하고, 상기 확인 응답 트랜잭션 정보를 상기 특정 계정에 응답하는 응답 단계;를 포함하며, 상기 분산 원장의 상기 식별 정보 관리 계약 계정에 기저장된 상기 기준 식별 정보를 이용하여 상기 특정 계정을 관리하는 것을 특징으로 하는, 분산 원장 방법을 제공하여 달성될 수 있다.
또한, 상기 식별 정보 관리 계약 계정은, 상기 기준 식별 정보에 대응되어 블랙 리스팅(Black listing) 여부 또는 화이트 리스팅(White listing) 여부를 결정하는 리스팅 정보를 더 포함하고, 상기 확인 응답 트랜잭션 정보는, 상기 기준 식별 정보 내에서 상기 확인 식별 정보가 검색되는 경우 상기 리스팅 정보를 포함하여 상기 특정 계정에 응답되며, 상기 블랙 리스팅은, 상기 쿼리 수신 단계에서 수신된 상기 확인 식별 정보가 상기 기준 식별 정보 중 적어도 하나에 대응되면 상기 특정 계정에 대해 상기 사용자에 의해 제공되는 요청이 상기 사용자의 디지털 지갑 주소에 반환되는 것을 의미하며, 상기 화이트 리스팅은, 상기 쿼리 수신 단계에서 수신된 상기 확인 식별 정보가 상기 기준 식별 정보 중 적어도 하나에 대응되면 상기 특정 계정의 스마트 계약 코드가 수행되어 발생된 상태 변화가 상기 분산 원장에 저장되고 블록체인 분산 네트워크에 배포되는 것을 의미할 수 있다.
또한, 상기 식별 정보 관리 계약 계정은, 상기 기준 식별 정보에 대응하여 토큰 발행량 조건 정보를 더 포함하고, 상기 확인 응답 트랜잭션 정보는, 상기 토큰 발행량 조건 정보를 포함하여 상기 특정 계정에 응답할 수 있다.
본 발명의 다른 목적은, 식별 정보 관리 계약 계정을 포함하는 적어도 일부의 블록체인을 저장하는 분산 원장이 저장된 메모리 모듈; 및 상기 메모리 모듈과 동작 가능하도록 결합되고, 상기 식별 정보 관리 계약 계정의 컴퓨터 판독 가능한 프로그램 코드를 실행하는 처리 모듈;을 포함하고, 상기 식별 정보 관리 계약 계정의 상기 프로그램 코드는, 기준 식별 정보를 포함하는 식별 정보 저장 트랜잭션 정보를 상기 블록체인 내의 특정 계정에서 수신하는 트랜잭션 정보 수신 단계; 상기 식별 정보 저장 트랜잭션 정보를 토대로 상기 기준 식별 정보를 저장하는 식별 정보 저장 단계; 및 상기 기준 식별 정보의 저장에 의한 상태 변화를 블록체인 분산 네트워크에 브로드캐스트하는 배포 단계;를 포함하며, 상기 분산 원장의 상기 식별 정보 관리 계약 계정에 상기 특정 계정을 관리하기 위한 상기 기준 식별 정보를 저장하는 것을 특징으로 하는, 분산 원장 장치를 제공하여 달성될 수 있다.
본 발명의 다른 목적은, 식별 정보 관리 계약 계정을 포함하는 적어도 일부의 블록체인을 저장하는 분산 원장이 저장된 메모리 모듈; 및 상기 메모리 모듈과 동작 가능하도록 결합되고, 상기 식별 정보 관리 계약 계정의 컴퓨터 판독 가능한 프로그램 코드를 실행하는 처리 모듈;이 수행하는 분산 원장 방법에 있어서, 상기 식별 정보 관리 계약 계정이, 상기 기준 식별 정보를 포함하는 식별 정보 저장 트랜잭션 정보를 상기 블록체인 내의 특정 계정에서 수신하는 트랜잭션 정보 수신 단계; 상기 식별 정보 관리 계약 계정이, 상기 식별 정보 저장 트랜잭션 정보를 토대로 상기 기준 식별 정보를 저장하는 식별 정보 저장 단계; 및 상기 식별 정보 관리 계약 계정이, 상기 기준 식별 정보의 저장에 의한 상태 변화를 블록체인 분산 네트워크에 브로드캐스트하는 배포 단계;를 포함하며, 상기 분산 원장의 상기 식별 정보 관리 계약 계정에 상기 특정 계정을 관리하기 위한 상기 기준 식별 정보를 저장하는 것을 특징으로 하는, 분산 원장 방법을 제공하여 달성될 수 있다.
본 발명의 다른 목적은, 특정 스마트 계약 계정 및 식별 정보 관리 계약 계정을 포함하는 적어도 일부의 블록체인을 저장하고, 상기 식별 정보 관리 계약 계정에 적어도 하나의 기저장된 기준 식별 정보를 포함하는 분산 원장이 저장된 메모리 모듈; 및 상기 메모리 모듈과 동작 가능하도록 결합되고, 상기 특정 스마트 계약 계정 및 상기 식별 정보 관리 계약 계정의 컴퓨터 판독 가능한 프로그램 코드를 실행하는 처리 모듈;을 포함하고, 상기 특정 스마트 계약 계정의 상기 프로그램 코드는, 특정 계정에서 확인 식별 정보를 포함하며 특정 코드 실행 명령을 요청하는 트랜잭션 정보를 수신하는 트랜잭션 정보 수신 단계; 상기 식별 정보 관리 계약 계정에 상기 확인 식별 정보를 포함하는 식별 정보 확인 쿼리(Query)를 송신하는 쿼리 송신 단계; 상기 기준 식별 정보 내에서 상기 확인 식별 정보가 검색되는지 여부의 트랜잭션 정보의 형태인 확인 응답 트랜잭션 정보를 상기 식별 정보 관리 계약 계정에서 응답받는 응답 수신 단계; 및 상기 확인 응답 트랜잭션 정보에 따라 상기 특정 코드 실행 명령의 이후 코드를 수행하는 이후 절차 단계;를 포함하며, 상기 분산 원장의 상기 식별 정보 관리 계약 계정에 기저장된 상기 기준 식별 정보를 이용하여 상기 특정 스마트 계약 계정을 관리하는 것을 특징으로 하는, 분산 원장 장치를 제공하여 달성될 수 있다.
본 발명의 다른 목적은, 특정 스마트 계약 계정 및 식별 정보 관리 계약 계정을 포함하는 적어도 일부의 블록체인을 저장하고, 상기 식별 정보 관리 계약 계정에 적어도 하나의 기저장된 기준 식별 정보를 포함하는 분산 원장이 저장된 메모리 모듈; 및 상기 메모리 모듈과 동작 가능하도록 결합되고, 상기 특정 스마트 계약 계정 및 상기 식별 정보 관리 계약 계정의 컴퓨터 판독 가능한 프로그램 코드를 실행하는 처리 모듈;에 의해 수행되는 분산 원장 방법에 있어서, 상기 특정 스마트 계약 계정이, 특정 계정에서 확인 식별 정보를 포함하며 특정 코드 실행 명령을 요청하는 트랜잭션 정보를 수신하는 트랜잭션 정보 수신 단계; 상기 특정 스마트 계약 계정이, 상기 식별 정보 관리 계약 계정에 상기 확인 식별 정보를 포함하는 식별 정보 확인 쿼리(Query)를 송신하는 쿼리 송신 단계; 상기 특정 스마트 계약 계정이, 상기 기준 식별 정보 내에서 상기 확인 식별 정보가 검색되는지 여부의 트랜잭션 정보의 형태인 확인 응답 트랜잭션 정보를 상기 식별 정보 관리 계약 계정에서 응답받는 응답 수신 단계; 및 상기 특정 스마트 계약 계정이, 상기 확인 응답 트랜잭션 정보에 따라 상기 특정 코드 실행 명령의 이후 코드를 수행하는 이후 절차 단계;를 포함하며, 상기 분산 원장의 상기 식별 정보 관리 계약 계정에 기저장된 상기 기준 식별 정보를 이용하여 상기 특정 스마트 계약 계정을 관리하는 것을 특징으로 하는, 분산 원장 방법을 제공하여 달성될 수 있다.
본 발명의 다른 목적은, 사용자의 클라이언트에서 상기 사용자의 확인 식별 정보를 수신하는 식별 정보 수신 모듈; 및 수신된 상기 확인 식별 정보를 특정 스마트 계약 계정에 대한 트랜잭션 정보에 포함시키고, 상기 식별 정보가 포함된 상기 트랜잭션 정보를 분산 원장에 저장한 뒤, 블록체인 분산 네트워크를 통해 적어도 일부의 노드에 브로드캐스트(Broadcast)하는 브로드캐스트 모듈;을 포함하고, 상기 특정 스마트 계약 계정은, 상기 확인 식별 정보를 포함하는 상기 트랜잭션 정보를 수신하는 트랜잭션 정보 수신 단계; 기저장된 기준 식별 정보를 포함하는 식별 정보 관리 계약 계정에 상기 확인 식별 정보를 포함하는 식별 정보 확인 쿼리(Query)를 송신하는 쿼리 송신 단계; 상기 기준 식별 정보 내에서 상기 확인 식별 정보가 검색되는지 여부에 관한 트랜잭션 정보인 확인 응답 트랜잭션 정보를 상기 식별 정보 관리 계약 계정에서 응답받는 응답 수신 단계; 및 상기 확인 응답 트랜잭션 정보에 따라 상기 특정 코드 실행 명령의 이후 코드를 수행하는 이후 절차 단계;를 수행하는 컴퓨터 판독 가능한 프로그램 코드를 포함하며, 상기 식별 정보 관리 계약 계정에 기저장된 상기 기준 식별 정보를 이용하여 상기 특정 스마트 계약 계정을 관리하는 것을 특징으로 하는, 트랜잭션 정보 브로드캐스트 장치를 제공하여 달성될 수 있다.
본 발명의 다른 목적은, 사용자의 클라이언트에서 상기 사용자의 확인 식별 정보를 수신하는 식별 정보 수신 모듈; 및 수신된 상기 확인 식별 정보를 특정 스마트 계약 계정에 대한 트랜잭션 정보에 포함시키고, 상기 식별 정보가 포함된 상기 트랜잭션 정보를 분산 원장에 저장한 뒤, 블록체인 분산 네트워크를 통해 적어도 일부의 노드에 브로드캐스트(Broadcast)하는 브로드캐스트 모듈;에 의해 수행되는 트랜잭션 정보 브로드캐스트 방법에 있어서, 상기 특정 스마트 계약 계정이, 상기 확인 식별 정보를 포함하는 상기 트랜잭션 정보를 수신하는 트랜잭션 정보 수신 단계; 상기 특정 스마트 계약 계정이, 기저장된 기준 식별 정보를 포함하는 식별 정보 관리 계약 계정에 상기 확인 식별 정보를 포함하는 식별 정보 확인 쿼리(Query)를 송신하는 쿼리 송신 단계; 상기 특정 스마트 계약 계정이, 상기 기준 식별 정보 내에서 상기 확인 식별 정보가 검색되는지 여부에 관한 트랜잭션 정보인 확인 응답 트랜잭션 정보를 상기 식별 정보 관리 계약 계정에서 응답받는 응답 수신 단계; 및 상기 특정 스마트 계약 계정이, 상기 확인 응답 트랜잭션 정보에 따라 상기 특정 코드 실행 명령의 이후 코드를 수행하는 이후 절차 단계;를 포함하고, 상기 식별 정보 관리 계약 계정에 기저장된 상기 기준 식별 정보를 이용하여 상기 특정 스마트 계약 계정을 관리하는 것을 특징으로 하는, 트랜잭션 정보 브로드캐스트 방법을 제공하여 달성될 수 있다.
본 발명의 다른 목적은, 블록체인 내의 식별 정보 관리 계약 계정과 연결된 특정 스마트 계약 계정이 생성되도록 계약 생성 트랜잭션 정보를 생성하는 계약 생성 모듈; 및 생성된 상기 계약 생성 트랜잭션 정보를 분산 원장에 저장한 뒤, 블록체인 분산 네트워크를 통해 적어도 일부의 노드에 브로드캐스트(Broadcast)하는 브로드캐스트 모듈;을 포함하고, 상기 특정 스마트 계약 계정은, 상기 확인 식별 정보를 포함하는 상기 트랜잭션 정보를 수신하는 트랜잭션 정보 수신 단계; 기저장된 기준 식별 정보를 포함하는 상기 식별 정보 관리 계약 계정에 상기 확인 식별 정보를 포함하는 식별 정보 확인 쿼리(Query)를 송신하는 쿼리 송신 단계; 상기 기준 식별 정보 내에서 상기 확인 식별 정보가 검색되는지 여부에 관한 트랜잭션 정보인 확인 응답 트랜잭션 정보를 상기 식별 정보 관리 계약 계정에서 응답받는 응답 수신 단계; 및 상기 확인 응답 트랜잭션 정보에 따라 상기 특정 코드 실행 명령의 이후 코드를 수행하는 이후 절차 단계;를 수행하는 컴퓨터 판독 가능한 프로그램 코드를 포함하며, 상기 식별 정보 관리 계약 계정에 기저장된 상기 기준 식별 정보를 이용하여 상기 특정 스마트 계약 계정을 관리하는 것을 특징으로 하는, 트랜잭션 정보 브로드캐스트 장치를 제공하여 달성될 수 있다.
상기한 바와 같이, 본 발명에 의하면 이하와 같은 효과가 있다.
첫째, 본 발명의 일실시예에 따르면, 블록체인을 이용한 서비스나 자금 공모를 하는 경우, 복잡한 개인 식별 절차가 별도로 이루어지지 않아도 되는 효과가 발생된다.
둘째, 본 발명의 일실시예에 따르면, 사용자의 블랙리스팅(Black listing)이나 화이트리스팅(White Listing)이 쉽게 전환될 수 있는 효과가 발생된다.
본 명세서에 첨부되는 다음의 도면들은 본 발명의 바람직한 실시예를 예시하는 것이며, 발명의 상세한 설명과 함께 본 발명의 기술사상을 더욱 이해시키는 역할을 하는 것이므로, 본 발명은 그러한 도면에 기재된 사항에만 한정되어 해석되어서는 아니 된다.
도 1은 본 발명의 일실시예에 따른 분산 원장 장치를 도시한 모식도,
도 2는 다양한 노드의 형태를 도시한 모식도,
도 3,4는 본 발명의 일실시예에 따른 메모리 모듈의 데이터 구조를 도시한 모식도,
도 5는 본 발명의 일실시예에 따른 식별 정보 확인 쿼리를 도시한 모식도,
도 6은 본 발명의 일실시예에 따른 확인 응답 트랜잭션(Tx, Transaction) 정보를 도시한 모식도,
도 7은 기준 식별 정보의 저장이 요청될 때, 본 발명의 일실시예에 따른 분산 원장 장치 내에서의 토큰 흐름을 도시한 모식도,
도 8은 기준 식별 정보의 저장이 요청될 때, 본 발명의 일실시예에 따른 분산 원장 장치의 처리 모듈의 처리 단계(식별 정보 저장 방법)를 도시한 흐름도,
도 9는 확인 식별 정보의 확인이 요청될 때, 본 발명의 일실시예에 따른 분산 원장 장치 내에서의 토큰 흐름을 도시한 모식도,
도 10은 특정 스마트 계약 계정에서 확인 식별 정보의 확인이 요청될 때, 본 발명의 일실시예에 따른 분산 원장 장치의 처리 모듈의 처리 단계(식별 정보 확인 방법)를 도시한 흐름도,
도 11은 본 발명의 트랜잭션 정보 송신 장치와 분산 원장 장치의 HTTP 통신을 도시한 모식도,
도 13은 본 발명의 일실시예에 따른 트랜잭션 정보 송신 장치가 특정 스마트 계약 실행 요청(사용자의 확인 식별 정보를 포함함)을 수신한 경우를 도시한 모식도,
도 13은 본 발명의 일실시예에 따른 트랜잭션 정보 송신 장치가 특정 스마트 계약 실행 요청(사용자의 확인 식별 정보를 포함함)을 수신한 경우를 도시한 흐름도이다.
이하 첨부된 도면을 참조하여 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자가 본 발명을 쉽게 실시할 수 있는 실시예를 상세히 설명한다. 다만, 본 발명의 바람직한 실시예에 대한 동작원리를 상세하게 설명함에 있어서 관련된 공지기능 또는 구성에 대한 구체적인 설명이 본 발명의 요지를 불필요하게 흐릴 수 있다고 판단되는 경우에는 그 상세한 설명을 생략한다.
또한, 도면 전체에 걸쳐 유사한 기능 및 작용을 하는 부분에 대해서는 동일한 도면 부호를 사용한다. 명세서 전체에서, 특정 부분이 다른 부분과 연결되어 있다고 할 때, 이는 직접적으로 연결되어 있는 경우뿐만 아니라, 그 중간에 다른 소자를 사이에 두고, 간접적으로 연결되어 있는 경우도 포함한다. 또한, 특정 구성요소를 포함한다는 것은 특별히 반대되는 기재가 없는 한 다른 구성요소를 제외하는 것이 아니라, 다른 구성요소를 더 포함할 수 있는 것을 의미한다.
블록체인 기반의 사용자 식별 관리를 위한 분산 원장 장치
블록체인 기반의 사용자 식별 관리를 위한 분산 원장 장치에 관하여, 도 1은 본 발명의 일실시예에 따른 분산 원장 장치를 도시한 모식도이다. 도 1에 도시된 바와 같이, 본 발명의 일실시예에 따른 분산 원장 장치(1)는 블록체인 분산 네트워크(100)의 노드 중 하나를 의미할 수 있고, 통신 모듈(10), 처리 모듈(11), 메모리 모듈(12)을 포함할 수 있다.
블록체인 분산 네트워크(100)는 블록체인의 분산 원장을 저장하고 있는 복수대의 노드로 구성된 P2P 분산 네트워크를 의미한다. 블록체인 분산 네트워크(100)는 적어도 일부의 노드가 동일한 처리를 할 수 있도록 구성되기 때문에 일부의 노드가 Shut down 되거나 변조되더라도 시스템 전체에는 영향을 주지 않는 특징을 가진다. 노드는 블록체인 분산 네트워크(100)에 연결된 모든 컴퓨팅 장치를 의미할 수 있다. 이러한 노드는 디지털 지갑, 블록체인 복사본, 검증 엔진, 채굴 엔진, P2P 네트워크 배포 기능(브로드캐스트) 등을 포함할 수 있으며, 조금 더 Light한 기능들로만 구성된 클라이언트들도 포함될 수 있다. 본 발명의 일실시예에 따른 블록체인 분산 네트워크(100)는 Pure P2P와 슈퍼 노드(Super Node)를 포함하는 Hybrid P2P를 포함할 수 있다.
노드와 관련하여, 도 2는 다양한 노드의 형태를 도시한 모식도이다. 도 2에 도시된 바와 같이, 레퍼런스 클라이언트(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자가 소유한 서버에 의존하는 가벼운 노드를 의미할 수 있다. 본 발명의 일실시예에 따른 분산 원장 장치(1)는 위의 노드들 중 블록체인 데이터베이스와 네트워크 라우팅 모듈을 포함하는 노드들을 의미할 수 있다.
통신 모듈(10)은 트랜잭션(Transaction)을 블록체인 분산 네트워크에 브로드캐스트(Broadcast)하는 네트워크 라우팅 모듈(Network Routing Module)이나 풀 마이닝 노드(Pool Mining Node)에 연결되는 게이트웨이 라우터(Gateway Router) 등을 의미할 수 있다.
처리 모듈(11)은 메모리 모듈(12)에 저장된 분산 원장인 블록체인의 블록에 저장되어 있는 트랜잭션의 내용을 처리하는 모듈이다. 본 발명의 일실시예에 따른 처리 모듈(11)은 Ethereum Virtual Machine과 같은 가상 머신(VM)으로 구성될 수 있다. 이러한 가상 머신은 예를 들어, Mutan, LLL, Serpent, Solidity 등과 같은 상위 레벨 언어로 만들어진 코드(스마트 계약, Smart Contract)가 컴파일되어 생성되는 Byte Code를 실행하기 위한 Runtime이고, OPCODE 및 Stack 외에 Memory 및 Storage를 사용하는 주체이기도 하다.
메모리 모듈(12)은 분산 원장을 저장하는 모듈로서, 전체 블록체인 중 전부 또는 일부의 블록을 저장하는 블록체인 데이터베이스(Blockchain Database)를 의미할 수 있다. 도 3,4는 본 발명의 일실시예에 따른 메모리 모듈의 데이터 구조를 도시한 모식도이다. 도 3,4에 도시된 바와 같이, 본 발명의 일실시예에 따른 메모리 모듈(12)은 전부 또는 일부의 블록체인을 저장할 수 있고, 각 블록 헤더에는 앞 블록 헤더의 해시 값(hash), 해답 값(nonce), 트랜잭션 그룹의 해시 값과 그 밖에 생성된 시간에 대한 정보인 Timestamp(미도시), 채굴 난이도를 의미하는 Difficulty(미도시), 블록의 넘버를 의미하는 Block Number(미도시) 등이 포함될 수 있다. 각 블록 바디(Contents)에는 적어도 하나 이상의 트랜잭션 정보(특히, 본 발명의 일실시예에 따른 식별 정보 관리 계약 생성 트랜잭션 정보, 식별 정보 저장 트랜잭션 정보)가 포함될 수 있다.
도 3에 도시된 바와 같이, 식별 정보 관리 계약 생성 트랜잭션 정보에는, address는 포함되지 않을 수 있고, 본 발명의 일실시예에 따른 스마트 계약의 일종인 식별 정보 관리 계약의 코드(예를 들면, Byte code)를 포함할 수 있다. 식별 정보 관리 계약 생성 트랜잭션 정보를 블록에 저장하고 실행하게 되면, 해당 스마트 계약에 대한 계약 계정(Contract account)의 일종인 식별 정보 관리 계약 계정의 주소가 생성되고 블록에 저장된다. 도 3에 도시된 바와 같이, 본 발명의 일실시예에 따른 식별 정보 관리 계약 계정을 생성한 뒤에 식별 정보 관리 계약을 조건부로 이용하는 특정 스마트 계약 계정을 생성하거나, 기존의 특정 스마트 계약 계정을 수정하여 배포할 수 있다.
도 4에 도시된 바와 같이, 식별 정보 저장 트랜잭션 정보에는, 식별 정보 관리 계약 계정 주소 정보, 식별 정보 저장 실행 명령, 해당 명령의 매개변수(parameter) 중 하나인 기준 식별 정보, 기타 전달하고자 하는 가치 정보(Value) 또는 매개변수를 포함할 수 있다. 식별 정보 저장 트랜잭션 정보를 블록에 저장하고 실행하게 되면, 기준 식별 정보를 식별 정보 관리 계약 계정의 스토리지(Storage)나 메모리(memory) 내에 포함하는 등의 방법으로 블록에 저장할 수 있다.
도 5는 본 발명의 일실시예에 따른 식별 정보 확인 쿼리를 도시한 모식도이다. 도 5에 도시된 바와 같이, 본 발명의 일실시예에 따라 특정 스마트 계약 계정은 기저장된 기준 식별 정보에 사용자의 확인 식별 정보가 포함되어 있는지를 확인하기 위해 식별 정보 관리 계약 계정에 식별 정보 확인 쿼리(Query)를 이용할 수 있다. 식별 정보 확인 쿼리에는, 식별 정보 관리 계약 계정 주소 정보, 식별 정보 검색 명령, 해당 명령의 매개변수 중 하나인 확인 식별 정보, 기타 확인하고자 하는 가치 정보(Value) 또는 매개변수를 포함할 수 있다. 식별 정보 확인 쿼리는 Local의 분산 원장 장치(1)에만 요청되고, 블록체인 분산 네트워크 전체의 상태를 변경하지 않는다. 본 발명의 일실시예에 따른 식별 정보 관리 계약 계정이 식별 정보 확인 쿼리를 수신하게 되면, 확인 식별 정보가 식별 정보 관리 계약 계정의 스토리지(Storage)나 메모리(memory) 내에 저장된 기준 식별 정보에 포함되어 있는지를 확인하고, 포함 여부에 대한 정보를 특정 스마트 계약 계정에 송신하여 특정 스마트 계약이 이후 알고리즘을 수행하도록 구성될 수 있다.
도 6은 본 발명의 일실시예에 따른 확인 응답 트랜잭션(Tx, Transaction) 정보를 도시한 모식도이다. 도 6에 도시된 바와 같이, 식별 정보 관리 계약 계정에서 식별 정보의 확인이 종료된 이후, 특정 스마트 계약 계정에 확인 응답 메시지 트랜잭션 정보를 송신하여 특정 스마트 계약의 이후 절차가 수행되도록 구성될 수 있다. 이러한 확인 응답 메시지 트랜잭션 정보에는, 특정 스마트 계약 계정 주소 정보, 식별 정보 검색 명령, 해당 명령의 매개변수 중 하나인 확인 식별 정보, 기타 가치 정보(Value) 또는 매개변수를 포함할 수 있다. 본 발명의 일실시예에 따른 확인 응답 메시지 트랜잭션 정보는 검증이 완료되면 블록체인 분산 네트워크(100) 내에 배포(브로드캐스트)되어 전체 노드에서 특정 스마트 계약이 수행되도록 구성될 수 있다.
이러한 스마트 계약의 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의 주소를 넣어서 리턴해주게 된다.
Smart Contract 개발환경은 개발도구와 Compiler 까지를 포함한 범위를 포함할 수 있다. 예를 들어, Solidity의 경우, Code를 작성하고 컴파일하면 모든 컴파일러는 [Byte Code] 와 [Function Signature], [ABI]를 출력하게 된다.
Byte Code는 이미 위에서 설명한 것과 같이, Smart Contract Code를 컴파일 한 결과이며, Blockchain에 Contract Creation Transaction을 발생시켜 배포하는 경우, Contract로의 Message Tx(Transaction의 줄임말)이 발생되는 경우, Contract로의 Call/Query가 발생되는 경우를 통해 분산 원장 장치(1, 이더리움의 경우 EVM) 위에서 실행된다.
Function Signature는 Contract 내의 함수 이름의 SHA3 한 Hash 값의 4바이트 값으로, Contract의 함수를 실행시킬 때 Transaction의 to: 주소에는 Contract Address를, data: 부분에는 이 method signature 4바이트와 함께 파라미터 값이 payload 로 들어간다.
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을 제공하고 있다.
이러한 Smart Contract 개발 환경은 Blockchain Engine과 연결되어 Contract Creation/Deployment, Message Tx, Call/Query를 전달할 수 있는데, 이러한 Blockchain Engine은 본 발명의 일실시예에 따른 분산 원장 장치(1)를 의미하고, 이더리움의 예에서는 geth나 parity, eth와 같은 Ethereum Node를 의미한다. 결국 모든 Smart Contract 와 관련한 Transaction 처리와 Contract 실행을 위한 EVM과 같은 가상 머신은 분산 원장 장치(1)와 같은 Node 위에 구성되어 있다.
이러한 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]로 구분될 수 있다. 본 발명의 일실시예에 따른 식별 정보 관리 계약 계정의 코드도 크게 계약 계정 생성, 메시지 트랜잭션에 의한 식별 정보 저장, 쿼리에 의한 식별 정보 확인으로 구분 될 수 있다.
본 발명의 일실시예에 따른 식별 정보(기준 식별 정보 및 확인 식별 정보)는 디지털 지갑 정보, e-mail 정보, 소셜 네트워크 ID 등의 사용자 식별과 관련된 정보 등을 의미할 수 있다. 본 발명의 일실시예에 따른 메모리 모듈(12)에 따라 식별 정보가 트랜잭션 정보의 형태로 블록에 저장되게 되므로, 식별 정보에 대해 위변조가 어려운 점, 식별 정보 기록 시점을 명확하게 알 수 있는 점, 사용자 식별을 통해 자동으로 토큰의 흐름을 제어할 수 있는 점이 효과로 발생된다.
도 7은 기준 식별 정보의 저장이 요청될 때, 본 발명의 일실시예에 따른 분산 원장 장치(1) 내에서의 토큰 흐름을 도시한 모식도이다. 도 7에 도시된 바와 같이, 본 발명의 일실시예에 따른 분산 원장 장치(1)는 메모리 모듈(12)의 블록체인 내에 계약 계정(CA, Contract Account)의 일종으로 특정 스마트 계약에 대한 계약 계정과 식별 정보 관리 계약에 대한 계약 계정을 포함할 수 있다. 식별 정보 관리 계약은 스마트 계약의 일종이며, 메모리 모듈(12)의 블록체인에 저장되고 처리 모듈(11)에 의해 수행되는 프로그램 코드를 의미할 수 있다. 본 발명의 일실시예에 따른 분산 원장 장치(1)에 기준 식별 정보의 저장이 Global State의 변경을 야기하는 메시지 트랜잭션(Message Transaction)의 형태로 요청될 때, 이러한 트랜잭션은 특정 EOA(Externally Owned Account) 또는 특정 CA(Contract Account)에서 식별 정보 관리 계약 계정의 주소로 도 4에 도시된 식별 정보 관리 계약 계정 주소 정보, 식별 정보 저장 실행 명령, 해당 명령의 매개변수(parameter) 중 하나인 기준 식별 정보, 기타 전달하고자 하는 가치 정보(Value) 또는 매개변수 등을 포함하여 전달될 수 있다.
본 발명의 일실시예에 따른 식별 정보 저장 트랜잭션 정보에 포함되는 가치 정보 또는 매개변수는 해당 식별 정보를 Black listing할지, Whight listing할지에 대한 변수를 포함할 수 있다. 상기 블랙 리스팅은, 상기 쿼리 수신 단계에서 수신된 상기 확인 식별 정보가 상기 기준 식별 정보 중 적어도 하나에 대응되면 상기 특정 계정에 대해 상기 사용자에 의해 제공되는 요청이 상기 사용자의 디지털 지갑 주소에 반환되는 것을 의미할 수 있다. 상기 화이트 리스팅은, 상기 쿼리 수신 단계에서 수신된 상기 확인 식별 정보가 상기 기준 식별 정보 중 적어도 하나에 대응되면 상기 특정 계정의 스마트 계약 코드가 수행되어 발생된 상태 변화가 상기 분산 원장에 저장되고 블록체인 분산 네트워크에 배포되는 것을 의미할 수 있다.
본 발명의 일실시예에 따른 식별 정보 저장 트랜잭션 정보에 포함되는 가치 정보 또는 매개변수는 상기 기준 식별 정보에 대응하여 토큰 발행량 조건 정보를 더 포함할 수 있다. 이러한 토큰 발행량 조건 정보의 사용은 특정 코인을 공개적으로 ICO(Initial Coin Offering)할 때를 예로 들 수 있다. 예를 들어, 특정 사용자에게 ICO에서 구매할 수 있는 Coin의 한계(최소 또는 최대)를 지정하고 싶은 경우, 본 발명의 일실시예에 따른 식별 정보 저장 트랜잭션 정보에 해당 식별 정보에 대응하도록 토큰 발행량 조건 정보를 더 입력할 수 있다. 이러한 조건 정보를 벗어나는 경우, 트랜잭션이 반환되도록 설계될 수 있다.
도 8은 기준 식별 정보의 저장이 요청될 때, 본 발명의 일실시예에 따른 분산 원장 장치(1)의 처리 모듈(11)의 처리 단계(식별 정보 저장 방법)를 도시한 흐름도이다. 도 8에 도시된 바와 같이, 본 발명의 일실시예에 따른 처리 모듈(11)은, 식별 정보 저장 요청(메시지 트랜잭션의 형태)을 수신하면, 주소 호출 단계(S10), 저장 명령 단계(S11), 저장 단계(S12)를 포함하여 트랜잭션 정보를 처리할 수 있다.
주소 호출 단계(S10)는 처리 모듈(11)이 식별 정보 저장 요청(메시지 트랜잭션)에 저장된 식별 정보 관리 계약 계정의 주소를 호출하는 단계이다. 주소 호출 단계(S10)에 의해 가상 머신인 분산 원장 장치(1)에서 스마트 계약의 일종인 식별 정보 관리 계약 계정의 코드가 실행될 수 있도록 활성화되게 된다.
저장 명령 단계(S11)는 식별 정보 저장 요청(메시지 트랜잭션)의 식별 정보 저장 실행 명령에 의해 식별 정보 관리 계약 계정의 코드 중 일부인 식별 정보 저장 코드를 실행하는 단계이다.
저장 단계(S12)는 식별 정보 관리 계약 계정의 코드 중 일부인 식별 정보 저장 코드에 의해 식별 정보 저장 요청에 포함되어 있는 매개변수(parameter)인 기준 식별 정보를 포함하여 식별 정보 저장 트랜잭션을 생성하고, 생성된 식별 정보 저장 트랜잭션을 식별 정보 관리 계약 계정의 스토리지(Storage) 또는 메모리(Memory)에 저장하는 단계이다. Contract Account 는 Storage라고 불리는 Persistent 저장소를 포함할 수 있다. 스토리지(Storage)에서는 Key-Value 맵 구조로 32바이트 키를 32바이트 값으로 맵핑하도록 되어있다. 특정 Smart Contract는 자기 자신 이외의 Contract의 Storage를 읽거나 쓸 수 없다. Memory는 Smart Contract가 Message Call이 있을 때마다 최신의 Instance를 얻을 수 있는 공간이다. 메모리(Memory)에서는 Byte 레벨로 읽고 쓸 수 있으나 32바이트 단위 Chunk로 저장될 수 있다. 즉, 메모리(Memory)에서는 1이라는 값을 저장하면 32바이트 (256비트) 공간에 저장된다. 예를 들어, EVM은 총 1024개의 Instruction Set (OPCODE) 를 담을 수 있는 Stack을 포함하며, 256비트의 word (값)을 갖는다.
배포 단계(S13)는 저장 단계(S12)에 의해 변경된 상태(State)를 분산 원장 장치(1)가 블록체인 분산 네트워크(100)의 전체 노드로 배포하여 브로드캐스트하는 단계이다.
본 발명의 일실시예에 따른 식별 정보 저장 트랜잭션 정보에 의하면 처리 모듈(11)에 의해 식별 정보 관리 계약 계정의 스토리지 또는 메모리에 기준 식별 정보가 저장되고 전체 노드로 이러한 상태 변경이 배포(Global State의 변경)되므로, 향후 적어도 하나 이상의 특정 스마트 계약에 대해 통합적으로 식별 정보 관리를 수행할 수 있게 되는 효과가 발생된다.
도 9는 확인 식별 정보의 확인이 요청될 때, 본 발명의 일실시예에 따른 분산 원장 장치(1) 내에서의 토큰 흐름을 도시한 모식도이다. 도 9에 도시된 바와 같이, 본 발명의 일실시예에 따른 분산 원장 장치(1)는 메모리 모듈(12)의 블록체인 내에 계약 계정(CA, Contract Account)의 일종으로 특정 스마트 계약에 대한 계약 계정과 식별 정보 관리 계약에 대한 계약 계정을 포함할 수 있다. 식별 정보 관리 계약은 스마트 계약의 일종이며, 메모리 모듈(12)의 트랜잭션 정보에 저장되고 처리 모듈(11)에 의해 수행되는 프로그램 코드를 의미할 수 있다. 본 발명의 일실시예에 따른 분산 원장 장치(1)에 확인 식별 정보의 확인이 쿼리의 형태로 요청될 때, 이러한 쿼리는 적어도 하나 이상의 특정 스마트 계약 계정인 CA(Contract Account)에서 식별 정보 관리 계약 계정의 주소로 도 5에 도시된 식별 정보 관리 계약 계정 주소 정보, 식별 정보 검색 명령, 해당 명령의 매개변수(parameter) 중 하나인 확인 식별 정보, 기타 확인하고자 하는 가치 정보(Value) 또는 매개변수 등을 포함하여 전달될 수 있다. 해당 특정 스마트 계약 계정은 특정 EOA/CA에서 확인 식별 정보를 포함한 특정 스마트 계약 실행 요청(트랜잭션 정보의 형태)을 수신하고, 해당 확인 식별 정보의 확인을 식별 정보 관리 계약 계정에 요청(쿼리의 형태)하게 된다. 그 후, 식별 정보 관리 계약 계정에서 식별 정보의 유무에 대한 확인을 수행한 뒤 특정 스마트 계약 계정에 확인 응답 메시지 트랜잭션 정보(트랜잭션 정보의 형태)를 송신하게 된다.
본 발명의 일실시예에 따른 식별 정보 확인 쿼리에 포함되는 가치 정보 또는 매개변수는 해당 식별 정보를 Black listing할지, Whight listing할지에 대한 변수를 포함할 수 있다. 상기 블랙 리스팅은, 상기 쿼리 수신 단계에서 수신된 상기 확인 식별 정보가 상기 기준 식별 정보 중 적어도 하나에 대응되면 상기 특정 계정에 대해 상기 사용자에 의해 제공되는 요청이 상기 사용자의 디지털 지갑 주소에 반환되는 것을 의미할 수 있다. 상기 화이트 리스팅은, 상기 쿼리 수신 단계에서 수신된 상기 확인 식별 정보가 상기 기준 식별 정보 중 적어도 하나에 대응되면 상기 특정 계정의 스마트 계약 코드가 수행되어 발생된 상태 변화가 상기 분산 원장에 저장되고 블록체인 분산 네트워크에 배포되는 것을 의미할 수 있다.
도 10은 특정 스마트 계약 계정에서 확인 식별 정보의 확인이 요청될 때, 본 발명의 일실시예에 따른 분산 원장 장치(1)의 처리 모듈(11)의 처리 단계(식별 정보 확인 방법)를 도시한 흐름도이다. 도 10에 도시된 바와 같이, 본 발명의 일실시예에 따른 처리 모듈(11)은, 식별 정보 확인 쿼리를 수신하면, 주소 호출 단계(S20), 검색 명령 단계(S21), 확인 단계(S22), 응답 단계(S23a, S23b)를 포함하여 트랜잭션 정보를 처리할 수 있다.
주소 호출 단계(S20)는 처리 모듈(11)이 식별 정보 확인 쿼리에 포함된 식별 정보 관리 계약 계정의 주소를 호출하는 단계이다. 주소 호출 단계(S20)에 의해 가상 머신인 분산 원장 장치(1)에서 스마트 계약의 일종인 식별 정보 관리 계약 계정의 스토리지 또는 메모리의 검색이 실행되게 된다.
검색 명령 단계(S21)는 식별 정보 확인 쿼리의 식별 정보 검색 명령에 의해 식별 정보의 검색을 실행하는 단계이다.
확인 단계(S22)는 식별 정보 관리 계약 계정의 스토리지 또는 메모리 검색에 의해 식별 정보 확인 쿼리에 포함되어 있는 매개변수(parameter)인 확인 식별 정보를 식별 정보 관리 계약 계정의 스토리지(Storage) 또는 메모리(Memory)에 저장되어 있는 기준 식별 정보와 비교하여, 해당 확인 식별 정보가 기준 식별 정보로서 식별 정보 관리 계약 계정의 스토리지 또는 메모리에 저장되어 있는지 확인하는 단계이다.
응답 단계(S23a,S23b)는 식별 정보 관리 계약 계정이 수신한 확인 식별 정보가 기저장되어 있는 기준 식별 정보에 대응되는 경우 확인 식별 정보가 확인된다는 확인 응답 트랜잭션 정보를 특정 스마트 계약 계정에 송신하거나(S23a), 식별 정보 관리 계약 계정이 수신한 확인 식별 정보가 기저장되어 있는 기준 식별 정보에 대응되지 않는 경우 확인 식별 정보가 확인되지 않는다는 확인 응답 트랜잭션 정보를 특정 스마트 계약 계정에 송신하는(S23b) 단계이다.
본 발명의 일실시예에 따른 식별 정보 확인 쿼리에 의하면 적어도 하나 이상의 특정 스마트 계약에 대해 통합적으로 식별 정보 관리를 수행할 수 있게 되는 효과가 발생된다. 이에 따라 특정 스마트 계약 내에서 식별 정보 유무에 따라 Black listing이나 White listing, 토큰 발행량 조건문과 같은 다양한 토큰 흐름을 구현하는 것이 가능해지는 효과가 발생된다.
트랜잭션 정보 브로드캐스트 장치
본 발명의 일실시예에 따른 트랜잭션 정보 브로드캐스트 장치와 관련하여, 도 11은 본 발명의 트랜잭션 정보 송신 장치(2)와 분산 원장 장치(10)의 HTTP 통신을 도시한 모식도이다. 도 11에 도시된 바와 같이, 본 발명의 일실시예에 따른 트랜잭션 정보 브로드캐스트 장치는, 예를 들어, Solidity로 코딩되는 경우, JavaScript 기반의 Web3.Js API를 사용하고, 내부적으로는 JSON-RPC API를 사용할 수 있다. 이를 통해, Browser, Node.JS, Mist 등으로 트랜잭션 정보 송신 장치(2)를 구성할 수 있다. 트랜잭션 정보 송신 장치(2)의 주체는 EOA나 CA가 될 수 있다.
도 11에 도시된 바와 같이, 본 발명의 일실시예에 따른 트랜잭션 정보 송신 장치(2)에서 식별 정보 관리 계약 계정에 특정 기준 식별 정보를 저장하도록 식별 정보 저장 트랜잭션 정보를 분산 원장 장치(1)에 JSON-RPC API를 이용하여 요청할 수 있다. 식별 정보 저장 트랜잭션 정보를 수신한 분산 원장 장치(1)는 도 8의 식별 정보 저장 방법에 따라 기준 식별 정보를 식별 정보 관리 계약 계정의 스토리지 또는 메모리에 저장한 뒤에 블록체인 분산 네트워크(100)에 배포(broadcast, propagation) 할 수 있다.
도 12는 본 발명의 일실시예에 따른 트랜잭션 정보 송신 장치(2)가 특정 스마트 계약 실행 요청(사용자의 확인 식별 정보를 포함함)을 수신한 경우를 도시한 모식도, 도 13은 본 발명의 일실시에에 따른 트랜잭션 정보 송신 장치가 특정 스마트 계약 실행 요청을 수신한 경우를 도시한 흐름도이다. 도 12,13에 도시된 바와 같이, 사용자 클라이언트 및 서버를 통해 트랜잭션 정보 송신 장치(2)가 확인 식별 정보가 포함된 특정 스마트 계약 실행 요청을 블록체인 분산 네트워크(100)에 송신하도록 API가 구성되고, Core에서 특정 스마트 계약 실행 요청이 트랜잭션 정보로 생성된 뒤(S30, 트랜잭션 정보 생성 단계), 트랜잭션 정보 송신 장치의 비밀키로 서명된 트랜잭션 정보가 블록체인 분산 네트워크(100)의 특정 노드(분산 원장 장치,1)에 송신되게 된다(S31, 트랜잭션 정보 송신 단계).
그 뒤, 특정 노드(분산 원장 장치, 1)는 특정 스마트 계약을 실행하게 되고(S32, 스마트 계약 실행 단계), 특정 스마트 계약 계정은 특정 스마트 계약 실행 요청의 트랜잭션 정보에 포함된 확인 식별 정보를 식별 정보 관리 계약 계정에 확인해달라는 식별 정보 확인 쿼리를 송신할 수 있다(S33, 쿼리 송신 단계).
그 뒤, 특정 스마트 계약 계정은 식별 정보 관리 계약 계정에서 확인 응답 트랜잭션 정보를 수신할 수 있다. 본 발명의 일실시예에 따른 특정 스마트 계약 계정은 확인 응답 트랜잭션 정보에 따라 코드를 수행하여 상태 변화를 발생시키고, 발생된 상태 변화를 브로드캐스트하거나 특정 스마트 계약 실행 요청을 리젝션(Rejection) 할 수 있다(S34, 코드 수행 단계).
특정 노드에서 블록체인 분산 네트워크(100)로 배포된 상태 변화 정보는 특정 스마트 계약 계정의 메모리에 저장되어 있다가 해당 특정 노드 또는 다른 특정 노드가 새로운 블록(New block)을 마이닝하게 되면 해당 블록에 기록되게 된다.
이상에서 설명한 바와 같이, 본 발명이 속하는 기술 분야의 통상의 기술자는 본 발명이 그 기술적 사상이나 필수적 특징을 변경하지 않고서 다른 구체적인 형태로 실시될 수 있다는 것을 이해할 수 있을 것이다. 그러므로 상술한 실시예들은 모든 면에서 예시적인 것이며 한정적인 것이 아닌 것으로서 이해해야만 한다. 본 발명의 범위는 상세한 설명보다는 후술하는 특허청구범위에 의하여 나타내어지며, 특허청구범위의 의미 및 범위 그리고 등가 개념으로부터 도출되는 모든 변경 또는 변형된 형태가 본 발명의 범위에 포함하는 것으로 해석되어야 한다.
본 명세서 내에 기술된 특징들 및 장점들은 모두를 포함하지 않으며, 특히 많은 추가적인 특징들 및 장점들이 도면들, 명세서, 및 청구항들을 고려하여 당업자에게 명백해질 것이다. 더욱이, 본 명세서에 사용된 언어는 주로 읽기 쉽도록 그리고 교시의 목적으로 선택되었고, 본 발명의 주제를 묘사하거나 제한하기 위해 선택되지 않을 수도 있다는 것을 주의해야 한다.
본 발명의 실시예들의 상기한 설명은 예시의 목적으로 제시되었다; 이는 개시된 정확한 형태로 본 발명을 제한하거나, 빠뜨리는 것 없이 만들려고 의도한 것이 아니다. 당업자는 상기한 개시에 비추어 많은 수정 및 변형이 가능하다는 것을 이해할 수 있다.
본 설명의 일부는 정보 상 연산의 기호 표현 및 알고리즘에 관한 본 발명의 실시예들을 기술한다. 이러한 알고리즘적 설명 및 표현은, 일반적으로 그들의 작업의 핵심을 효율적으로 다른 당업자에게 전달하기 위해 데이터 처리 분야의 당업자에 의해 사용된다. 이러한 동작은 기능적, 연산적, 또는 논리적으로 설명되지만, 컴퓨터나 이와 동등한 전기 회로, 마이크로코드 등에 의해 구현될 것으로 이해된다. 나아가, 또한 이것은 모듈로서의 이러한 동작의 배열을 나타내기 위해, 때때로 일반성의 상실 없이 편리하게 입증된다. 상기 기술된 동작 및 그들의 연관된 모듈은 소프트웨어, 펌웨어, 하드웨어, 또는 이들의 임의의 조합 내에서 구현될 수 있다.
여기서 기술된 임의의 단계, 동작, 또는 프로세스는, 하나 이상의 하드웨어 또는 소프트웨어 모듈과 함께 단독으로 또는 다른 장치와 조합하여 수행되거나 구현될 수 있다. 일 실시예에서, 소프트웨어 모듈은 컴퓨터 프로그램 코드를 포함하는 컴퓨터-판독 가능 매체로 구성되는 컴퓨터 프로그램 제품과 함께 구현되고, 컴퓨터 프로그램 코드는 기술된 임의의 또는 모든 공정, 단계, 또는 동작을 수행하기 위한 컴퓨터 프로세서에 의해 실행될 수 있다.
또한, 본 발명의 실시예들은, 여기서의 동작을 수행하기 위한 장치와 관련될 수 있다. 이들 장치는 요구되는 목적을 위해 특별히 제작될 수 있고/있거나, 컴퓨터 내에 저장된 컴퓨터 프로그램에 의해 선택적으로 활성화되거나 재구성되는 일반적-목적의 연산 장치를 포함할 수 있다. 이러한 컴퓨터 프로그램은, 유형의 컴퓨터 판독가능 저장 매체 또는 전자 명령어를 저장하기 위해 적합한 임의의 유형의 미디어 내에 저장될 수 있고, 컴퓨터 시스템 버스에 결합될 수 있다. 나아가, 본 명세서에 참조되는 임의의 연산 시스템은 단일 프로세서를 포함할 수 있거나, 증가한 연산 능력을 위한 다중 프로세서 디자인을 채택한 구조가 될 수 있다.
마지막으로, 본 명세서에 사용된 언어는 주로 읽기 쉽도록 그리고 교시의 목적으로 선택되었고, 본 발명의 주제를 묘사하거나 제한하기 위해 선택되지 않을 수 있다.
그러므로 본 발명의 범위는 상세한 설명에 의해 한정되지 않고, 이를 기반으로 하는 출원의 임의의 청구항들에 의해 한정된다. 따라서, 본 발명의 실시예들의 개시는 예시적인 것이며, 이하의 청구항에 기재된 본 발명의 범위를 제한하는 것은 아니다.
1: 분산원장 장치
2: 트랜잭션 정보 송신 장치
10: 통신 모듈
11: 처리 모듈
12: 메모리 모듈
100: 블록체인 분산 네트워크

Claims (2)

  1. 특정 스마트 계약 계정 및 식별 정보를 관리하는 스마트 계약 계정인 식별 정보 관리 계약 계정을 포함하는 블록체인을 저장하고, 상기 식별 정보 관리 계약 계정에 적어도 하나의 기저장된 기준 식별 정보를 포함하는 분산 원장이 저장된 메모리 모듈; 및
    상기 메모리 모듈과 동작 가능하도록 결합되고, 상기 특정 스마트 계약 계정 및 상기 식별 정보 관리 계약 계정의 컴퓨터 판독 가능한 프로그램 코드를 실행하는 처리 모듈;
    을 포함하고,
    상기 특정 스마트 계약 계정의 상기 프로그램 코드는,
    상기 블록체인 내의 특정 계정으로의 발행을 요청하는 토큰에 대한 정보인 토큰 정보를 포함하는 토큰 발행 명령을 수신하는 명령 수신 단계;
    상기 토큰 정보 및 확인 식별 정보를 포함하는 식별 정보 확인 메시지 트랜잭션을 상기 블록체인 내의 상기 식별 정보 관리 계약 계정에 송신하는 메시지 송신 단계;
    상기 식별 정보 관리 계약 계정에서 상기 확인 식별 정보가 검색되고 상기 토큰 정보가 토큰 발행량 조건 정보를 만족하는 경우 생성되는 트랜잭션 정보의 형태인 확인 응답 트랜잭션 정보를 수신하는 확인 응답 수신 단계; 및
    수신된 상기 확인 응답 트랜잭션 정보를 기초로 상기 토큰 발행 명령을 수행하여 상기 토큰 정보에 대응되는 토큰을 상기 특정 계정에 발행하는 토큰 발행 단계;
    를 수행하는 컴퓨터 판독 가능한 프로그램 코드를 포함하며,
    상기 식별 정보 관리 계약 계정의 상기 프로그램 코드는,
    상기 토큰 정보 및 상기 확인 식별 정보를 포함하는 상기 식별 정보 확인 메시지 트랜잭션을 상기 블록체인 내의 특정 스마트 계약 계정에서 수신하는 메시지 수신 단계;
    상기 식별 정보 확인 메시지 트랜잭션을 토대로 상기 기준 식별 정보 내에서 상기 확인 식별 정보를 검색하는 식별 정보 검색 단계; 및
    상기 기준 식별 정보 내에서 상기 확인 식별 정보가 검색되고 상기 토큰 정보가 상기 토큰 발행량 조건 정보를 만족하는 경우 트랜잭션 정보의 형태인 상기 확인 응답 트랜잭션 정보를 생성하고, 상기 확인 응답 트랜잭션 정보를 상기 특정 스마트 계약 계정에 응답하는 응답 단계;
    를 수행하는 컴퓨터 판독 가능한 프로그램 코드를 포함하며,
    상기 토큰 발행량 정보는 특정 기준 식별 정보에 대해 발행될 수 있는 최대 토큰 발행량에 대한 정보를 의미하고,
    상기 확인 응답 트랜잭션 정보가 포함된 블록이 증명되면, 상기 확인 응답 트랜잭션 정보를 상기 블록체인이 포함되는 블록체인 분산 네트워크에 브로드캐스트 하며,
    상기 식별 정보 관리 계약 계정에 기저장된 상기 기준 식별 정보 및 상기 토큰 발행량 정보를 이용하여 복수의 스마트 계약 계정에 대해 통합적으로 식별 정보 관리 및 토큰 발행 관리를 수행하는 것을 특징으로 하는,
    블록체인 기반의 사용자 식별 관리 및 토큰 발행 관리를 위한 분산 원장 장치.
  2. 기준 식별 정보가 기저장된 스마트 계약 계정인 식별 정보 관리 계약 계정 및 특정 스마트 계약 계정을 포함한 블록체인을 저장하는 분산 원장 장치가, 특정 스마트 계약 계정에 대한 상기 블록체인 내의 특정 계정으로의 토큰 발행 요청에 관한 정보인 토큰 정보를 포함하는 토큰 발행 명령을 수신하는 명령 수신 단계;
    상기 분산 원장 장치가, 확인 식별 정보를 포함하는 식별 정보 확인 메시지 트랜잭션을 상기 블록체인 내의 상기 특정 스마트 계약 계정에서 상기 식별 정보 관리 계약 계정으로 송신하는 메시지 송신 단계;
    상기 분산 원장 장치가, 상기 식별 정보 확인 메시지 트랜잭션을 토대로 상기 기준 식별 정보 내에서 상기 확인 식별 정보를 검색하는 식별 정보 검색 단계;
    상기 분산 원장 장치가, 상기 기준 식별 정보 내에서 상기 확인 식별 정보가 검색되고 상기 토큰 정보가 상기 토큰 발행량 조건 정보를 만족하는 경우 트랜잭션 정보의 형태인 상기 확인 응답 트랜잭션 정보를 생성하고, 상기 확인 응답 트랜잭션 정보를 상기 특정 스마트 계약 계정에 응답하는 응답 단계; 및
    상기 분산 원장 장치가, 수신된 상기 확인 응답 트랜잭션 정보를 기초로 상기 토큰 발행 명령을 수행하여 상기 토큰 정보에 대응되는 토큰을 상기 특정 계정에 발행하는 토큰 발행 단계;
    를 포함하며,
    상기 토큰 발행량 정보는 특정 기준 식별 정보에 대해 발행될 수 있는 최대 토큰 발행량에 대한 정보를 의미하고,
    상기 확인 응답 트랜잭션 정보가 포함된 블록이 증명되면, 상기 확인 응답 트랜잭션 정보를 상기 블록체인이 포함되는 블록체인 분산 네트워크에 브로드캐스트 하며,
    상기 식별 정보 관리 계약 계정에 기저장된 상기 기준 식별 정보 및 상기 토큰 발행량 정보를 이용하여 복수의 스마트 계약 계정에 대해 통합적으로 식별 정보 관리 및 토큰 발행 관리를 수행하는 것을 특징으로 하는,
    블록체인 기반의 사용자 식별 관리 및 토큰 발행 관리를 위한 분산 원장 방법.


    복수의 스마트 계약 계정 및 식별 정보 관리 계약 계정을 포함하는 적어도 일부의 블록체인을 저장하고, 상기 식별 정보 관리 계약 계정에 적어도 하나의 기저장된 기준 식별 정보를 포함하는 분산 원장이 저장된 메모리 모듈; 및
    상기 메모리 모듈과 동작 가능하도록 결합되고, 상기 복수의 스마트 계약 계정 및 상기 식별 정보 관리 계약 계정의 컴퓨터 판독 가능한 프로그램 코드를 실행하는 처리 모듈;
    을 포함하고,
    상기 식별 정보 관리 계약 계정의 상기 프로그램 코드는,
    확인 식별 정보를 포함하는 식별 정보 확인 쿼리(Query)를 상기 블록체인 내의 특정 스마트 계약 계정에서 수신하는 쿼리 수신 단계;
    상기 식별 정보 확인 쿼리를 토대로 상기 기준 식별 정보 내에서 상기 확인 식별 정보를 검색하는 식별 정보 검색 단계; 및
    상기 기준 식별 정보 내에서 상기 확인 식별 정보가 검색되는지 여부의 트랜잭션 정보의 형태인 확인 응답 트랜잭션 정보를 생성하고, 상기 확인 응답 트랜잭션 정보를 상기 특정 스마트 계약 계정에 응답하는 응답 단계;
    를 수행하는 컴퓨터 판독 가능한 프로그램 코드를 포함하며,
    상기 식별 정보 관리 계약 계정은 상기 기준 식별 정보에 대응되는 토큰 발행량 조건 정보를 더 포함하고, 상기 응답 단계에서 생성되는 상기 확인 응답 트랜잭션 정보에는 상기 토큰 발행량 조건 정보가 포함되며,
    상기 식별 정보 관리 계약 계정에 기저장된 상기 기준 식별 정보 및 상기 토큰 발행량 조건 정보를 이용하여 상기 복수의 스마트 계약 계정에 대해 통합적으로 식별 정보 관리를 수행하는 것을 특징으로 하는,
    블록체인 기반의 사용자 식별 관리를 위해 토큰 발행량 조건 정보를 이용한 분산 원장 장치.
KR1020180031166A 2018-03-16 2018-03-16 블록체인 기반의 사용자 식별 관리 및 토큰 발행 관리를 위한 분산 원장 장치 및 분산 원장 방법 KR101878870B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020180031166A KR101878870B1 (ko) 2018-03-16 2018-03-16 블록체인 기반의 사용자 식별 관리 및 토큰 발행 관리를 위한 분산 원장 장치 및 분산 원장 방법

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020180031166A KR101878870B1 (ko) 2018-03-16 2018-03-16 블록체인 기반의 사용자 식별 관리 및 토큰 발행 관리를 위한 분산 원장 장치 및 분산 원장 방법

Related Parent Applications (1)

Application Number Title Priority Date Filing Date
KR1020170153953A Division KR101878869B1 (ko) 2017-11-17 2017-11-17 블록체인 기반의 사용자 식별 관리를 위한 분산 원장 장치 및 분산 원장 방법

Publications (1)

Publication Number Publication Date
KR101878870B1 true KR101878870B1 (ko) 2018-08-16

Family

ID=63443604

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020180031166A KR101878870B1 (ko) 2018-03-16 2018-03-16 블록체인 기반의 사용자 식별 관리 및 토큰 발행 관리를 위한 분산 원장 장치 및 분산 원장 방법

Country Status (1)

Country Link
KR (1) KR101878870B1 (ko)

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110135804A (zh) * 2019-04-29 2019-08-16 深圳市元征科技股份有限公司 数据处理方法及装置
KR102014655B1 (ko) * 2018-09-25 2019-08-26 김수완 핀테크와 블록체인의 통합플랫폼을 이용한 마일리지의 통합 및 실물자산화 방법
KR102030371B1 (ko) * 2018-12-07 2019-10-10 주식회사 디에스와이 전력 운영 시스템
KR20200041163A (ko) * 2018-10-11 2020-04-21 주식회사 디지털존 통합 인증을 위한 블록체인 시스템 및 그것의 제어 방법
KR20210150024A (ko) * 2020-06-03 2021-12-10 주식회사 소버린월렛 전자 지갑, 이를 실행하는 서버, 및 상기 서버를 이용한 블록체인 토큰들의 원자성 교환 방법
CN117726344A (zh) * 2024-02-06 2024-03-19 中国信息通信研究院 区块链中智能合约的创建方法、装置、设备和介质

Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101628009B1 (ko) * 2015-04-20 2016-06-13 주식회사 코인플러그 당사자간 블록체인을 갖는 디지털 가상화폐의 거래시스템
US20160292672A1 (en) 2015-03-31 2016-10-06 Nasdaq, Inc. Systems and methods of blockchain transaction recordation
US20160342989A1 (en) 2015-05-21 2016-11-24 Mastercard International Incorporated Method and system for processing blockchain-based transactions on existing payment networks
US20170132615A1 (en) 2015-11-11 2017-05-11 Bank Of America Corporation Block chain alias for person-to-person payments
KR101758870B1 (ko) 2017-02-13 2017-07-18 주식회사 온더 마이닝 관리 시스템 및 이를 이용한 마이닝 관리 방법
KR20170093859A (ko) * 2014-11-25 2017-08-16 이이노베이션즈 홀딩즈 피티이 리미티드 거래 시스템 및 방법
KR101773074B1 (ko) * 2016-04-19 2017-08-31 주식회사 코인플러그 거래를 지원하기 위한 방법 및 이를 사용한 인증 지원 서버
KR101780634B1 (ko) * 2016-02-23 2017-09-21 주식회사 코인플러그 가상 화폐를 이용하여 주식을 발행하여 분배하고 발행된 주식의 소유권을 이전하는 방법 및 서버

Patent Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20170093859A (ko) * 2014-11-25 2017-08-16 이이노베이션즈 홀딩즈 피티이 리미티드 거래 시스템 및 방법
US20160292672A1 (en) 2015-03-31 2016-10-06 Nasdaq, Inc. Systems and methods of blockchain transaction recordation
KR101628009B1 (ko) * 2015-04-20 2016-06-13 주식회사 코인플러그 당사자간 블록체인을 갖는 디지털 가상화폐의 거래시스템
US20160342989A1 (en) 2015-05-21 2016-11-24 Mastercard International Incorporated Method and system for processing blockchain-based transactions on existing payment networks
US20170132615A1 (en) 2015-11-11 2017-05-11 Bank Of America Corporation Block chain alias for person-to-person payments
KR101780634B1 (ko) * 2016-02-23 2017-09-21 주식회사 코인플러그 가상 화폐를 이용하여 주식을 발행하여 분배하고 발행된 주식의 소유권을 이전하는 방법 및 서버
KR101773074B1 (ko) * 2016-04-19 2017-08-31 주식회사 코인플러그 거래를 지원하기 위한 방법 및 이를 사용한 인증 지원 서버
KR101758870B1 (ko) 2017-02-13 2017-07-18 주식회사 온더 마이닝 관리 시스템 및 이를 이용한 마이닝 관리 방법

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
대한민국 등록특허, 10-1751025, 블록체인 기반의 스마트 증권업무 처리 시스템(Smart system for trading stock based blockchain), 주식회사 온더

Cited By (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102014655B1 (ko) * 2018-09-25 2019-08-26 김수완 핀테크와 블록체인의 통합플랫폼을 이용한 마일리지의 통합 및 실물자산화 방법
KR20200041163A (ko) * 2018-10-11 2020-04-21 주식회사 디지털존 통합 인증을 위한 블록체인 시스템 및 그것의 제어 방법
KR102220599B1 (ko) 2018-10-11 2021-02-26 주식회사 디지털존 통합 인증을 위한 블록체인 시스템 및 그것의 제어 방법
KR102030371B1 (ko) * 2018-12-07 2019-10-10 주식회사 디에스와이 전력 운영 시스템
CN110135804A (zh) * 2019-04-29 2019-08-16 深圳市元征科技股份有限公司 数据处理方法及装置
CN110135804B (zh) * 2019-04-29 2024-03-29 深圳市元征科技股份有限公司 数据处理方法及装置
KR20210150024A (ko) * 2020-06-03 2021-12-10 주식회사 소버린월렛 전자 지갑, 이를 실행하는 서버, 및 상기 서버를 이용한 블록체인 토큰들의 원자성 교환 방법
KR102442127B1 (ko) 2020-06-03 2022-09-08 주식회사 소버린월렛 전자 지갑, 이를 실행하는 서버, 및 상기 서버를 이용한 블록체인 토큰들의 원자성 교환 방법
CN117726344A (zh) * 2024-02-06 2024-03-19 中国信息通信研究院 区块链中智能合约的创建方法、装置、设备和介质
CN117726344B (zh) * 2024-02-06 2024-06-04 中国信息通信研究院 区块链中智能合约的创建方法、装置、设备和介质

Similar Documents

Publication Publication Date Title
KR101878869B1 (ko) 블록체인 기반의 사용자 식별 관리를 위한 분산 원장 장치 및 분산 원장 방법
KR101878870B1 (ko) 블록체인 기반의 사용자 식별 관리 및 토큰 발행 관리를 위한 분산 원장 장치 및 분산 원장 방법
KR101936756B1 (ko) 블록체인을 이용한 공유경제 관리 장치
KR101932277B1 (ko) 블록체인 기반의 사용자 정보 공유를 위한 분산 원장 장치 및 분산 원장 방법
KR102316858B1 (ko) 블록체인 시스템을 위한 암호화 애플리케이션
US20210065293A1 (en) Distributed ledger lending
CN110009489B (zh) 基于区块链的资产转移方法及装置、电子设备
KR101936759B1 (ko) Kyc 블록체인을 이용한 kyc 수행 장치 및 방법
KR101962289B1 (ko) 블록체인 기반의 공유경제를 위해 비대칭키 방식으로 이용자를 식별하는 분산 원장 장치
KR101962290B1 (ko) 블록체인 기반의 공유경제를 위해 공유재화의 unlock 및 lock을 제어하는 분산 원장 장치
KR101962285B1 (ko) 블록체인 기반의 사용자 식별 관리를 위한 분산 원장 장치 및 분산 원장 방법
KR101962288B1 (ko) 블록체인을 이용해 공유재화의 가용성을 검증하는 공유경제 관리 장치
CN111667270A (zh) 基于区域的数字货币使用方法、装置及电子设备
Khandelwal et al. Blockchain technology based smart contract agreement on remix ide
CN111667271A (zh) 基于区域与时间的数字货币使用方法、装置及电子设备
KR102096643B1 (ko) 입출금 허용여부 정보의 등록에 보상을 수행하는 kyc 블록체인을 이용한 kyc 수행 장치
KR101962287B1 (ko) 블록체인을 이용하여 공유재화를 등록하는 공유경제 관리 장치
KR102095046B1 (ko) 블록체인 기반의 사용자 정보 공유를 위한 분산 원장 장치 및 분산 원장 방법
KR102096640B1 (ko) Kyc 블록체인에서의 토큰 보유량을 이용한 kyc 수행 장치
KR102096644B1 (ko) 퍼블릭 블록체인 인덱싱에 보상을 수행하는 kyc 블록체인을 이용한 kyc 수행 장치
KR102096642B1 (ko) Kyc 블록체인에서의 블록 증명 및 토큰 보유량을 이용한 kyc 수행 장치
KR102096641B1 (ko) Kyc 블록체인의 블록 증명을 이용한 kyc 수행 장치
KR102096645B1 (ko) 식별 정보의 정보량을 기초로 보상을 수행하는 kyc 블록체인을 이용한 kyc 수행 장치
KR102096646B1 (ko) 얼굴 이미지의 관계 정보를 기록하는 kyc 블록체인을 이용한 kyc 수행 장치
KR20190076812A (ko) 블록체인 기반의 포인트 정보 공유를 위한 분산 원장 장치 및 분산 원장 방법

Legal Events

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