KR20190076837A - Distributed Ledger Device and Distributed Ledger Method for Sharing User Information using Blockchain - Google Patents

Distributed Ledger Device and Distributed Ledger Method for Sharing User Information using Blockchain Download PDF

Info

Publication number
KR20190076837A
KR20190076837A KR1020180130063A KR20180130063A KR20190076837A KR 20190076837 A KR20190076837 A KR 20190076837A KR 1020180130063 A KR1020180130063 A KR 1020180130063A KR 20180130063 A KR20180130063 A KR 20180130063A KR 20190076837 A KR20190076837 A KR 20190076837A
Authority
KR
South Korea
Prior art keywords
user information
information
account
user
block chain
Prior art date
Application number
KR1020180130063A
Other languages
Korean (ko)
Other versions
KR102095046B1 (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 KR1020180130063A priority Critical patent/KR102095046B1/en
Publication of KR20190076837A publication Critical patent/KR20190076837A/en
Application granted granted Critical
Publication of KR102095046B1 publication Critical patent/KR102095046B1/en

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q30/00Commerce
    • G06Q30/02Marketing; Price estimation or determination; Fundraising
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q20/00Payment architectures, schemes or protocols
    • G06Q20/38Payment protocols; Details thereof
    • G06Q20/382Payment protocols; Details thereof insuring higher security of transaction
    • G06Q20/3827Use of message hashing

Abstract

The present invention relates to a distributed ledger device for sharing user information based on a blockchain, a distributed ledger method thereof, a transaction information broadcast device and a method thereof. To this end, the distributed ledger method comprises: a storage request receiving step of receiving a user information storage request transaction including user information which is changed with regard to a specific user at a first account in a blockchain; a storage step of storing the user information based on the user information storage request transaction; a user information check request step of receiving a user information check query which is a request related to user information check at a second account in the blockchain; and a user information transmitting step of transmitting the user information from the second account.

Description

블록체인 기반의 사용자 정보 공유를 위한 분산 원장 장치 및 분산 원장 방법{Distributed Ledger Device and Distributed Ledger Method for Sharing User Information using Blockchain}Technical Field [0001] The present invention relates to a Distributed Ledger Device and a Distributed Ledger Method for sharing user information based on a block chain,

본 발명은 블록체인 기반의 사용자 정보 공유를 위한 분산 원장 장치, 분산 원장 방법, 트랜잭션 정보 브로드캐스트 장치 및 방법에 관한 것이다.The present invention relates to a distributed branching device, a distributed branching method, and a transaction information broadcasting device and method for user information sharing based on a block chain.

최근 게임, 온라인 커머스 및 각종 정보제공 서비스 등과 같은 PC/모바일 애플리케이션의 경우, 사용자에게 포인트를 제공하거나, 사용자의 서비스 사용 상태를 수집하는 등 각각의 사용자들에게 상태 정보(유입, 이탈, 콘텐츠 평가, 콘텐츠 소비 지속시간 등)를 부여하여 각종 CRM(Customer Relation Management)을 수행하고 있다. 애플리케이션이나 웹사이트에 대해 사용자들의 상태 정보를 통해 CRM을 수행하는 대표적인 솔루션으로는 Google의 Analytics가 있고, 대표적인 CRM 전문 기업으로는 Salesforce가 있다. In the case of PC / mobile applications such as games, online commerce and various information providing services, status information (incoming, outgoing, contents evaluation, etc.) is provided to each user such as providing points to users, Content consumption duration, etc.) to perform various CRM (Customer Relation Management). A typical solution for implementing CRM through users' status information on an application or website is Google's Analytics, and Salesforce is a representative CRM specialist.

이때, 복수개의 PC/모바일 애플리케이션에 대해 사용자 정보를 연결하게 되면, 보다 사용자의 상황에 최적화된 맞춤형 서비스가 가능하게 된다. 예를 들어, 복수개의 PC/모바일 애플리케이션에 대해 포인트 제도를 통합하는 등의 전략이다. 이를 위해서는 DB의 미러링이 필요하다. 하지만, 서로 사용자 정보를 연결하려는 시도가 복수의 주체(entity)에 의해 수행되는 경우, DB의 미러링은 매우 어려운 문제가 있었다. At this time, if the user information is connected to a plurality of PC / mobile applications, customized services optimized for the user's situation can be realized. For example, it is a strategy to integrate a point system for multiple PC / mobile applications. This requires DB mirroring. However, when an attempt to link user information with each other is performed by a plurality of entities, mirroring of the DB has been a very difficult problem.

위와 같은 문제를 해결하기 위해, A사의 서버와 B사의 서버를 미러링 할 수 있지만, 완전히 미러링하는 것은 서비스의 안정성을 해치게 되므로 실질적으로 불가능하다고 할 수 있다. 또한, 전용선을 설치하는 방식도 가능하나, 인프라 비용이 상당한 문제가 발생된다.In order to solve the above problem, it is possible to mirror the server of the company A and the server of the company B, but it is practically impossible to completely mirror the server because the stability of the service is deteriorated. In addition, it is possible to install a dedicated line, but the infrastructure cost is considerable.

대한민국 등록특허, 10-1751025, 블록체인 기반의 스마트 증권업무 처리 시스템(Smart system for trading stock based blockchain), 주식회사 온더Korean Patent No. 10-1751025, a smart system for trading stock based blockchain based on block chain, 대한민국 등록특허, 10-1758870, 마이닝 관리 시스템 및 이를 이용한 마이닝 관리 방법(Mining Rig Monitoring System And Mining Rig Monitoring Method In Using Same), 주식회사 온더Korean Patent Registration No. 10-1758870, Mining Management System and Mining Management Method Thereof (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 IncorporatedU.S. Published Patent Application No. US 2016/0342989 A1, Method and system for processing blockage-based transactions on existing payment networks, Mastercard International Incorporated 미국 공개특허, US 2016/0292672 A1, Systems and methods of blockchain transaction recordation, Nasdaq, Inc.U.S. Published Patent, US 2016/0292672 A1, Systems and methods of blockchain transaction recordation, Nasdaq, Inc. 미국 공개특허, US 20170132615 A1, Block chain alias for person-to-person payments, Bank Of America CorporationU.S. Published Patent, US 20170132615 A1, Block chain alias for person-to-person payments, Bank Of America Corporation

따라서, 본 발명의 목적은 위와 같은 문제를 해결하기 위해, 기존의 네트워크 형태를 유지하면서도 블록체인 기반의 사용자 정보 공유를 위한 분산 원장 장치, 분산 원장 방법, 트랜잭션 정보 브로드캐스트 장치 및 방법을 제공하는 데에 있다. Accordingly, an object of the present invention is to provide a distributed ledger device, a distributed ledger method, a transaction information broadcast device, and a method for sharing user information based on a block chain while maintaining the existing network form in order to solve the above problems .

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

본 발명의 목적은, 사용자 정보 관리 계정, 제1계정, 제2계정을 포함하는 적어도 일부의 블록체인을 저장하고, 상기 사용자 정보 관리 계정에 기저장된 사용자 정보를 포함하는 분산 원장이 저장된 메모리 모듈; 및 상기 메모리 모듈과 동작 가능하도록 결합되고, 상기 사용자 정보 관리 계정의 컴퓨터 판독 가능한 프로그램 코드를 실행하는 처리 모듈;을 포함하고, 상기 사용자 정보 관리 계정의 상기 프로그램 코드는, 특정 사용자에 대하여 변경된 사용자 정보를 포함하는 사용자 정보 저장 요청 트랜잭션(Transaction)을 상기 블록체인 내의 상기 제1계정에서 수신하는 저장 요청 수신 단계; 상기 사용자 정보 저장 요청 트랜잭션을 토대로 상기 사용자 정보를 저장하는 저장 단계; 상기 블록체인 내의 상기 제2계정에서의 사용자 정보 확인에 관한 요청인 사용자 정보 확인 쿼리를 수신하는 사용자 정보 확인 요청 단계; 및 상기 제2계정에 상기 사용자 정보를 송신하는 사용자 정보 송신 단계;를 포함하며, 상기 제1계정은 제1애플리케이션을 서비스하는 제1서버와 연결되고, 제2계정은 제2애플리케이션을 서비스하는 제2서버와 연결되며, 상기 블록체인 내의 복수개의 계정을 이용하여, 복수개의 애플리케이션에 대해 상기 사용자 정보를 공유하는 것을 특징으로 하는, 블록체인 기반의 사용자 정보 공유를 위한 분산 원장 장치를 제공하여 달성될 수 있다. An object of the present invention is to provide a memory module in which a distributed ledger storing at least a block chain including a user information management account, a first account, and a second account and containing user information pre-stored in the user information management account is stored; And a processing module operatively coupled to the memory module for executing computer readable program code of the user information management account, wherein the program code of the user information management account comprises: A store request reception step of receiving a user information storage request transaction in the first account in the block chain; Storing the user information based on the user information storage request transaction; A user information confirmation request step of receiving a user information confirmation query which is a request related to user information confirmation in the second account in the block chain; And a user information transmission step of transmitting the user information to the second account, wherein the first account is connected to a first server that serves a first application, and the second account is connected to a second service, And distributing the user information to a plurality of applications using a plurality of accounts in the block chain, wherein the user information is shared by the plurality of applications in the block chain. .

또한, 상기 사용자 정보는 포인트 정보를 의미하고, 상기 사용자 정보 송신 단계에서는, 기설정된 비율로 상기 사용자 정보를 환전하고, 상기 제2계정에 환전된 상기 사용자 정보를 송신할 수 있다. The user information may be point information. In the user information transmission step, the user information may be exchanged at a predetermined ratio, and the changed user information may be transmitted to the second account.

또한, 메모리 모듈과 상기 처리 모듈은 상기 특정 사용자의 클라이언트에 저장되고, 상기 분산 원장은 상기 제1서버와 상기 제2서버를 미러링하도록 구성될 수 있다.In addition, the memory module and the processing module are stored in the client of the specific user, and the distributed ledger can be configured to mirror the first server and the second server.

또한, 사용자 정보는 상기 특정 사용자의 식별에 관한 정보인 식별 정보 및 상기 사용자 정보의 정량값에 대한 정보인 상태 정보로 구성되고, 상기 사용자 정보에서 상기 식별 정보는 상기 상태 정보의 해시값을 기초로 암호화되어 저장될 수 있다.In addition, the user information may be composed of identification information, which is identification information of the specific user, and status information, which is information on a quantitative value of the user information. In the user information, the identification information is based on a hash value of the status information Encrypted and stored.

본 발명의 다른 목적은, 사용자 정보 관리 계정, 제1계정, 제2계정을 포함하는 적어도 일부의 블록체인을 저장하고, 상기 사용자 정보 관리 계정에 기저장된 사용자 정보를 포함하는 분산 원장이 저장된 메모리 모듈; 및 상기 메모리 모듈과 동작 가능하도록 결합되고, 상기 사용자 정보 관리 계정의 컴퓨터 판독 가능한 프로그램 코드를 실행하는 처리 모듈;을 포함하고, 상기 사용자 정보 관리 계정의 상기 프로그램 코드는, 상기 블록체인 내의 상기 제2계정에서의 사용자 정보 확인에 관한 요청인 사용자 정보 확인 쿼리를 수신하는 사용자 정보 확인 요청 단계; 및 상기 제1계정에서 수신되어 기저장된 상기 사용자 정보를 상기 제2계정에 송신하는 사용자 정보 송신 단계;를 포함하며, 상기 제1계정은 제1애플리케이션을 서비스하는 제1서버와 연결되고, 제2계정은 제2애플리케이션을 서비스하는 제2서버와 연결되며, 상기 블록체인 내의 복수개의 계정을 이용하여, 복수개의 애플리케이션에 대해 상기 사용자 정보를 공유하는 것을 특징으로 하는, 블록체인 기반의 사용자 정보 공유를 위한 분산 원장 장치를 제공하여 달성될 수 있다.Another object of the present invention is to provide a method and apparatus for storing a block chain including at least a block chain including a user information management account, a first account and a second account, ; And a processing module, operatively coupled to the memory module, for executing computer readable program code of the user information management account, wherein the program code of the user information management account comprises: A user information confirmation request step of receiving a user information confirmation query, which is a request for confirming user information in the account; And a user information transmission step of transmitting the user information received in the first account and previously stored in the second account, wherein the first account is connected to a first server serving a first application, Wherein the account is connected to a second server serving a second application and shares the user information with a plurality of applications using a plurality of accounts in the block chain. The present invention can be achieved by providing a distributed general ledger apparatus.

본 발명의 다른 목적은, 사용자 정보 관리 계정, 제1계정, 제2계정을 포함하는 적어도 일부의 블록체인을 저장하고, 상기 사용자 정보 관리 계정에 기저장된 사용자 정보를 포함하는 분산 원장이 저장된 메모리 모듈; 및 상기 메모리 모듈과 동작 가능하도록 결합되고, 상기 사용자 정보 관리 계정의 컴퓨터 판독 가능한 프로그램 코드를 실행하는 처리 모듈;에 의해 수행되는 분산 원장 방법에 있어서, 상기 사용자 정보 관리 계정이, 상기 블록체인 내의 상기 제2계정에서의 사용자 정보 확인에 관한 요청인 사용자 정보 확인 쿼리를 수신하는 사용자 정보 확인 요청 단계; 및 상기 사용자 정보 관리 계정이, 상기 제1계정에서 수신되어 기저장된 상기 사용자 정보를 상기 제2계정에 송신하는 사용자 정보 송신 단계;를 포함하며, 상기 제1계정은 제1애플리케이션을 서비스하는 제1서버와 연결되고, 제2계정은 제2애플리케이션을 서비스하는 제2서버와 연결되며, 상기 블록체인 내의 복수개의 계정을 이용하여, 복수개의 애플리케이션에 대해 상기 사용자 정보를 공유하는 것을 특징으로 하는, 블록체인 기반의 사용자 정보 공유를 위한 분산 원장 방법을 제공하여 달성될 수 있다. Another object of the present invention is to provide a method and apparatus for storing a block chain including at least a block chain including a user information management account, a first account and a second account, ; And a processing module operatively coupled to the memory module, the processing module executing computer readable program code of the user information management account, wherein the user information management account comprises: A user information confirmation request step of receiving a user information confirmation query which is a request related to user information confirmation in a second account; And a user information transmission step in which the user information management account transmits the user information received in the first account and previously stored in the second account, And the second account is connected to a second server that serves a second application and shares the user information with a plurality of applications using a plurality of accounts in the block chain. And a distributed general ledger method for sharing chain-based user information.

본 발명의 다른 목적은, 블록체인에 저장되고 사용자 정보를 저장하는 사용자 정보 관리 계정이, 상기 블록체인 내의 제2계정에서의 상기 사용자 정보의 확인에 관한 요청인 사용자 정보 확인 쿼리를 수신하는 사용자 정보 확인 요청 단계; 및 상기 사용자 정보 관리 계정이, 상기 블록체인 내의 제1계정에서 수신되어 기저장된 상기 사용자 정보를 상기 제2계정에 송신하는 사용자 정보 송신 단계;를 포함하며, 상기 제1계정은 제1애플리케이션을 서비스하는 제1서버와 연결되고, 제2계정은 제2애플리케이션을 서비스하는 제2서버와 연결되며, 상기 블록체인 내의 복수개의 계정을 이용하여, 복수개의 애플리케이션에 대해 상기 사용자 정보를 공유하는 것을 특징으로 하는 블록체인 기반의 사용자 정보 공유를 위한 분산 원장 방법을 수행하기 위한 프로그램이 기록되어 있는 기록매체를 제공하여 달성될 수 있다.Another object of the present invention is to provide a method and system for managing a user information management system in which a user information management account stored in a block chain and storing user information includes user information for receiving a user information confirmation query which is a request for confirmation of the user information in a second account in the block chain Confirmation request step; And a user information transmission step in which the user information management account transmits the user information received in the first account in the block chain and the previously stored user information to the second account, And the second account is connected to a second server that serves a second application and shares the user information with a plurality of applications using a plurality of accounts in the block chain. The present invention can be achieved by providing a recording medium on which a program for performing a distributed scheduling method for sharing user information based on a block chain is recorded.

본 발명의 다른 목적은, 사용자의 클라이언트에서 상기 사용자의 사용자 정보를 수신하는 사용자 정보 수신 모듈; 및 수신된 상기 사용자 정보를 특정 서비스 계정에 대한 트랜잭션 정보에 포함시키고, 상기 사용자 정보가 포함된 상기 트랜잭션 정보를 분산 원장에 저장한 뒤, 블록체인 분산 네트워크를 통해 적어도 일부의 노드에 브로드캐스트(Broadcast)하는 브로드캐스트 모듈;을 포함하고, 상기 특정 서비스 계정은, 상기 사용자 정보를 포함하는 상기 트랜잭션 정보를 수신하는 트랜잭션 정보 수신 단계; 및 기저장된 사용자 정보를 포함하는 사용자 정보 관리 계정에 상기 사용자 정보를 포함하는 사용자 정보 저장 트랜잭션(transaction)을 송신하는 트랜잭션 송신 단계;를 수행하는 컴퓨터 판독 가능한 프로그램 코드를 포함하며, 상기 사용자 정보 관리 계정에 기저장된 상기 사용자 정보를 이용하여 복수개의 상기 특정 서비스 계정이 상기 사용자 정보를 공유하도록 관리하는 것을 특징으로 하는, 트랜잭션 정보 브로드캐스트 장치를 제공하여 달성될 수 있다.Another object of the present invention is to provide a user information receiving module for receiving user information of a user from a user's client; And storing the received transaction information in the transaction information for a specific service account, storing the transaction information including the user information in a distribution ledger, and transmitting the transaction information to at least some of the nodes through a block- A transaction information receiving step of receiving the transaction information including the user information; And a transaction transmission step of transmitting a user information storage transaction including the user information to a user information management account including pre-stored user information, wherein the user information management account comprises: And the plurality of specific service accounts are managed to share the user information using the user information previously stored in the transaction information broadcasting apparatus.

본 발명의 다른 목적은, 사용자의 클라이언트에서 상기 사용자의 사용자 정보를 수신하는 사용자 정보 수신 모듈; 및 수신된 상기 사용자 정보를 특정 서비스 계정에 대한 트랜잭션 정보에 포함시키고, 상기 사용자 정보가 포함된 상기 트랜잭션 정보를 분산 원장에 저장한 뒤, 블록체인 분산 네트워크를 통해 적어도 일부의 노드에 브로드캐스트(Broadcast)하는 브로드캐스트 모듈;에 의해 수행되는 트랜잭션 정보 브로드캐스트 방법에 있어서, 상기 특정 서비스 계정이, 상기 사용자 정보를 포함하는 상기 트랜잭션 정보를 수신하는 트랜잭션 정보 수신 단계; 및 상기 특정 서비스 계정이, 기저장된 사용자 정보를 포함하는 사용자 정보 관리 계정에 상기 사용자 정보를 포함하는 사용자 정보 저장 트랜잭션(transaction)을 송신하는 트랜잭션 송신 단계;를 포함하고, 상기 사용자 정보 관리 계정에 기저장된 상기 사용자 정보를 이용하여 복수개의 상기 특정 서비스 계정이 상기 사용자 정보를 공유하도록 관리하는 것을 특징으로 하는, 트랜잭션 정보 브로드캐스트 방법을 제공하여 달성될 수 있다.Another object of the present invention is to provide a user information receiving module for receiving user information of a user from a user's client; And storing the received transaction information in the transaction information for a specific service account, storing the transaction information including the user information in a distribution ledger, and transmitting the transaction information to at least some of the nodes through a block- The method comprising the steps of: receiving transaction information including the user information; receiving transaction information including the user information; And a transaction transmitting step of transmitting the user information storing transaction including the user information to a user information management account including the pre-stored user information, And managing a plurality of the specific service accounts to share the user information using the stored user information.

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

첫째, 본 발명의 일실시예에 따르면, 기존의 네트워크를 그대로 유지하면서도 복수의 주체(entity)들의 PC/모바일 애플리케이션의 사용자 정보를 통합할 수 있는 효과가 발생된다. First, according to an embodiment of the present invention, user information of a PC / mobile application of a plurality of entities can be integrated while maintaining the existing network.

둘째, 본 발명의 일실시예에 따르면, 게임과 같은 PC/모바일 어플리케이션에서 난이도, 포인트 등의 측면에서 사용자에게 연속적인(Seamless) 사용자 경험을 부여할 수 있게 되는 효과가 발생된다. Second, according to an embodiment of the present invention, a seamless user experience can be given to a user in terms of difficulty and points in a PC / mobile application such as a game.

셋째, 본 발명의 일실시예에 따르면, PC/모바일 어플리케이션 제작자가 사용자의 특성을 다양하게 분석할 수 있는 효과가 발생된다. Third, according to an embodiment of the present invention, a PC / mobile application maker can analyze various characteristics of a user.

본 명세서에 첨부되는 다음의 도면들은 본 발명의 바람직한 실시예를 예시하는 것이며, 발명의 상세한 설명과 함께 본 발명의 기술사상을 더욱 이해시키는 것이므로, 본 발명은 그러한 도면에 기재된 사항에만 한정되어 해석되어서는 아니 된다.
도 1은 본 발명의 일실시예에 따른 분산 원장 장치를 도시한 모식도,
도 2는 다양한 노드의 형태를 도시한 모식도,
도 3은 본 발명의 일실시예에 따른 메모리 모듈의 데이터 구조를 도시한 모식도,
도 4는 본 발명의 일실시예에 따른, 특정 서비스 서버와 블록체인 관계를 도시한 모식도,
도 5는 본 발명의 일실시예에 따른 사용자 정보 확인 쿼리를 도시한 모식도,
도 6은 본 발명의 일실시예에 ㄷㅗ따른 미러링 메시지 트랜잭션(Tx, Transaction)과 응답 트랜잭션(Tx, Transaction) 정보를 도시한 모식도,
도 7은 본 발명의 일실시예에 따른 사용자 정보의 데이터 구조를 도시한 모식도,
도 8은 본 발명의 일실시예에 따른 식별 정보의 암호화를 도시한 모식도,
도 9는 특정 사용자 클라이언트에서 특정 서비스의 애플리케이션이 종료되어 변경된 사용자 정보의 저장이 요청될 때, 본 발명의 일실시예에 따른 분산 원장 장치의 블록체인 내에서의 토큰 흐름을 도시한 모식도,
도 10은 변경된 사용자 정보의 저장이 요청될 때, 본 발명의 일실시예에 따른 분산 원장 장치(1)의 처리 모듈(11)의 처리 단계(사용자 정보 저장 방법)를 도시한 흐름도,
도 11은 사용자 정보의 확인이 요청될 때, 본 발명의 일실시예에 따른 분산 원장 장치(1) 내에서의 토큰 흐름을 도시한 모식도,
도 12는 특정 서비스 계정에서 사용자 정보의 확인이 요청될 때(특정 애플리케이션을 실행할 때), 본 발명의 일실시예에 따른 분산 원장 장치(1)의 처리 모듈(11)의 처리 단계(사용자 정보 확인 방법)를 도시한 흐름도,
도 13은 본 발명의 트랜잭션 정보 송신 장치(2)와 분산 원장 장치(10)의 HTTP 통신을 도시한 모식도,
도 14는 본 발명의 일실시예에 따른 트랜잭션 정보 송신 장치(2)가 사용자 정보 저장 요청을 수신한 경우를 도시한 모식도,
도 15는 본 발명의 일실시예에 따른 트랜잭션 정보 송신 장치가 사용자 정보 저장 요청을 수신한 경우를 도시한 흐름도이다.
BRIEF DESCRIPTION OF THE DRAWINGS The accompanying drawings, which are incorporated in and constitute a part of the specification, illustrate preferred embodiments of the invention and together with the description, serve to explain the principles of the invention. .
BRIEF DESCRIPTION OF THE DRAWINGS FIG. 1 is a schematic diagram showing a dispersion laydown device according to an embodiment of the present invention;
FIG. 2 is a schematic diagram showing the form of various nodes,
3 is a schematic diagram illustrating a data structure of a memory module according to an embodiment of the present invention;
4 is a schematic diagram showing a block chain relationship with a specific service server according to an embodiment of the present invention;
5 is a schematic diagram illustrating a user information confirmation query according to an embodiment of the present invention.
6 is a schematic diagram showing mirroring message transaction (Tx, Transaction) and response transaction (Tx, Transaction) information according to an embodiment of the present invention,
FIG. 7 is a schematic diagram showing a data structure of user information according to an embodiment of the present invention; FIG.
8 is a schematic diagram showing encryption of identification information according to an embodiment of the present invention;
9 is a schematic diagram showing a token flow in a block chain of the distributed LAN device according to an embodiment of the present invention when a specific user client is requested to store changed user information after an application of a specific service is terminated;
10 is a flowchart showing a processing step (user information storing method) of the processing module 11 of the distributed general ledger 1 according to an embodiment of the present invention when storage of changed user information is requested,
11 is a schematic diagram showing a token flow in the distributed general ledger 1 according to an embodiment of the present invention when confirmation of user information is requested;
12 is a flowchart showing the processing steps of the processing module 11 of the distributed general ledger 1 according to an embodiment of the present invention Method)
13 is a schematic diagram showing HTTP communication between the transaction information transmitting apparatus 2 and the distributed general ledger 10 of the present invention,
FIG. 14 is a schematic diagram showing a case where the transaction information transmitting apparatus 2 according to the embodiment of the present invention receives a user information storing request,
FIG. 15 is a flowchart illustrating a case where a transaction information transmitting apparatus according to an embodiment of the present invention receives a user information storing request.

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

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

블록체인 기반의 사용자 정보 공유를 위한 분산 원장 장치Distributed Genetic Algorithm for User Information Sharing Based on Block Chain

분산 원장 장치에 관하여, 도 1은 본 발명의 일실시예에 따른 분산 원장 장치를 도시한 모식도이다. 도 1에 도시된 바와 같이, 본 발명의 일실시예에 따른 분산 원장 장치(1)는 블록체인 분산 네트워크(100)의 노드 중 하나를 의미할 수 있고, 통신 모듈(10), 처리 모듈(11), 메모리 모듈(12)을 포함할 수 있다. 1 is a schematic diagram showing a distributed general ledger according to an embodiment of the present invention. 1, a distributed branching library apparatus 1 according to an embodiment of the present invention may mean one of nodes of a block-chain distributed network 100 and includes a communication module 10, a processing module 11 ), And a memory module 12.

블록체인 분산 네트워크(100)는 블록체인의 분산 원장을 저장하고 있는 복수대의 노드로 구성된 P2P 분산 네트워크를 의미한다. 블록체인 분산 네트워크(100)는 적어도 일부의 노드가 동일한 처리를 할 수 있도록 구성되기 때문에 일부의 노드가 Shut down 되거나 변조되더라도 시스템 전체에는 영향을 주지 않는 특징을 가진다. 노드는 블록체인 분산 네트워크(100)에 연결된 모든 컴퓨팅 장치를 의미할 수 있다. 이러한 노드는 디지털 지갑, 블록체인 복사본, 검증 엔진, 채굴 엔진, P2P 네트워크 배포 기능(브로드캐스트) 등을 포함할 수 있으며, 조금 더 Light한 기능들로만 구성된 클라이언트들도 포함될 수 있다. 본 발명의 일실시예에 따른 블록체인 분산 네트워크(100)는 Pure P2P와 슈퍼 노드(Super Node)를 포함하는 Hybrid P2P를 포함할 수 있다. 특히 본 발명의 일실시예에 따른 노드는 PC/모바일 애플리케이션의 소스코드와 함께 클라이언트에 설치될 수 있다. The block chain distributed network 100 refers to a P2P distributed network composed of a plurality of nodes storing the distributed origin of a block chain. Since the block chain distributed network 100 is configured such that at least some of the nodes can perform the same processing, even if some of the nodes are shut down or modulated, the block chain distributed network 100 has no effect on the entire system. A node may refer to any computing device connected to the block-chain distributed network 100. These nodes may include digital wallets, block-chain copies, verification engines, mining engines, P2P network distribution functions (broadcasts), and may include clients that are made up of slightly more lightweight features. The block-chain distribution network 100 according to an exemplary embodiment of the present invention may include a hybrid P2P including a pure P2P and a super node. In particular, a node according to an embodiment of the present invention may be installed in the client together with the source code of the PC / mobile application.

노드와 관련하여, 도 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)는 위의 노드들 중 블록체인 데이터베이스와 네트워크 라우팅 모듈을 포함하는 노드들을 의미할 수 있다. 또한, 본 발명의 일실시예에 따른 노드가 마이닝 모듈을 포함하는 경우에는 POW(Proof of Work) 또는 POS(Proof of Stake) 방식으로 사용자 클라이언트가 마이닝을 수행하도록 구성할 수 있다. With regard to the node, FIG. 2 is a schematic diagram showing the form of various nodes. As shown in FIG. 2, the reference client includes a digital wallet management module for users, a mining module for block mining when the agreement algorithm is a proof of work (POW) A block chain database for storing all or at least a part of the entire block chain, a network routing module for broadcasting a transaction to a block chain distributed network, For example, a client of Bitcoin Core, or the like. A Full Node may refer to a node including a block chain database, a network routing module. The Solo Miner Node may refer to a node including a mining module, a block chain database, and a network routing module. A mining node may be a light node including a gateway router connected to a pool mining node, which means a node of a mining pool, and a mining module. A lightweight wallet node typically stores only the header information of a block chain, holds a digital wallet management module to store the user's digital wallet, and includes a network routing module, but does not include a block chain database To create a transaction or access a block-chain distributed network, it may refer to a light node that depends on a server owned by a third party. The distributed general ledger 1 according to an embodiment of the present invention may mean nodes including a block chain database and a network routing module among the above nodes. In addition, when the node according to an embodiment of the present invention includes a mining module, the user client can perform mining using a Proof of Work (POW) or POS (Proof of Stake) method.

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

처리 모듈(11)은 메모리 모듈(12)에 저장된 분산 원장인 블록체인의 블록에 저장되어 있는 트랜잭션의 내용을 처리하는 모듈이다. 본 발명의 일실시예에 따른 처리 모듈(11)은 Ethereum Virtual Machine과 같은 가상 머신(VM)으로 구성될 수 있다. 이러한 가상 머신은 예를 들어, Mutan, LLL, Serpent, Solidity 등과 같은 상위 레벨 언어로 만들어진 코드(스마트 계약, Smart Contract)가 컴파일되어 생성되는 Byte Code를 실행하기 위한 Runtime이고, OPCODE 및 Stack 외에 Memory 및 Storage를 사용하는 주체이기도 하다. The processing module 11 is a module for processing contents of a transaction stored in a block of a block chain which is a distributed ledger stored in the memory module 12. [ The processing module 11 according to an embodiment of the present invention may be configured as a virtual machine (VM) such as an Ethereum Virtual Machine. This virtual machine is a runtime for executing Byte Code that is generated by compiling code (Smart Contract, Smart Contract) created in a high level language such as Mutan, LLL, Serpent, Solidity and the like. In addition to OPCODE and Stack, It is also the subject of using Storage.

메모리 모듈(12)은 분산 원장을 저장하는 모듈로서, 전체 블록체인 중 전부 또는 일부의 블록을 저장하는 블록체인 데이터베이스(Blockchain Database)를 의미할 수 있다. 도 3은 본 발명의 일실시예에 따른 메모리 모듈의 데이터 구조를 도시한 모식도이다. 도 3에 도시된 바와 같이, 본 발명의 일실시예에 따른 메모리 모듈(12)은 전부 또는 일부의 블록체인을 저장할 수 있고, 각 블록 헤더에는 앞 블록 헤더의 해시 값(hash), 해답 값(nonce), 트랜잭션 그룹의 해시 값과 그 밖에 생성된 시간에 대한 정보인 Timestamp(미도시), 채굴 난이도를 의미하는 Difficulty(미도시), 블록의 넘버를 의미하는 Block Number(미도시) 등이 포함될 수 있다. 각 블록 바디(Contents)에는 적어도 하나 이상의 트랜잭션 정보(특히, 본 발명의 일실시예에 따른 사용자 정보 저장 트랜잭션 정보)가 포함될 수 있다.The memory module 12 is a module for storing a distributed ledger, and may mean a block chain database that stores all or a part of the entire block chain. 3 is a schematic diagram showing a data structure of a memory module according to an embodiment of the present invention. As shown in FIG. 3, the memory module 12 according to an embodiment of the present invention may store all or part of a block chain. In each block header, a hash value (hash) nonce), Timestamp (not shown), which is information about the hash value of the transaction group and other generated time, Difficulty (not shown) indicating the difficulty of the digestion, and Block Number (not shown) . At least one transaction information (in particular, user information storage transaction information according to an embodiment of the present invention) may be included in each block body.

또한, 블록에는 특정 서비스 계정과 사용자 정보 관리 계정이 포함될 수 있다. 도 4는 본 발명의 일실시예에 따른, 특정 서비스 서버와 블록체인 관계를 도시한 모식도이다. 도 4에 도시된 바와 같이, 특정 서비스 계정은 EOA(Externel Owned Account) 또는 CA(Contract Account)로 구성될 수 있고, 특정 PC/모바일 애플리케이션의 서버에 연결되어 특정 서비스의 사용자 정보와 특정 서비스 계정의 사용자 정보가 페어링(pairing)되도록 구성되고, 사용자 정보 관리 계정의 사용자 정보와 미러링(mirroring) 되도록 구성될 수 있다. 사용자 정보 관리 계정은 EOA(Externel Owned Account) 또는 CA(Contract Account)로 구성될 수 있고, 복수개의 서비스 계정과 연결되어 변경된 사용자 정보를 수신하고, 사용자 정보를 통해 복수개의 서비스 계정의 사용자 정보와 미러링(mirroring) 되도록 구성될 수 있다.Blocks may also include specific service accounts and user information management accounts. 4 is a schematic diagram showing a block chain relationship with a specific service server according to an embodiment of the present invention. As shown in FIG. 4, the specific service account may be configured as an EOA (Externally Owned Account) or a CA (Contract Account), and may be connected to a server of a specific PC / mobile application, The user information is configured to be paired and configured to be mirrored with user information of the user information management account. The user information management account may be composed of an EOA (Externally Owned Account) or a CA (Contract Account). The user information management account is connected to a plurality of service accounts to receive changed user information, (not shown).

사용자 정보 관리 계정의 생성을 위한 사용자 정보 관리 계정 생성 트랜잭션 정보에는, address는 포함되지 않을 수 있고, 본 발명의 일실시예에 따른 스마트 계약의 일종인 사용자 정보 관리 계정의 코드(예를 들면, Byte code)를 포함할 수 있다. 사용자 정보 관리 계정 생성 트랜잭션 정보를 블록에 저장하고 실행하게 되면, 해당 스마트 계약에 대한 계약 계정(Contract account)의 일종인 사용자 정보 관리 계정의 주소가 생성되고 블록에 저장된다. 본 발명의 일실시예에 따른 사용자 정보 관리 계정을 생성한 뒤에 사용자 정보 관리 계정을 조건부로 이용하는 특정 서비스 계정인 특정 서비스 계정을 생성하거나, 기존의 특정 서비스 계정을 수정하여 배포할 수 있다.The user information management account creation transaction information for creating the user information management account may not include the address and may include code of the user information management account (e.g., Byte code. When the user information management account creation transaction information is stored in the block and executed, the address of the user information management account, which is a type of contract account for the smart contract, is generated and stored in the block. After creating the user information management account according to an embodiment of the present invention, a specific service account which is a specific service account for conditionally using the user information management account may be created or an existing specific service account may be modified and distributed.

특정 사용자의 클라이언트에서 특정 서비스의 애플리케이션(PC 또는 모바일)이 종료되면, 특정 서비스에서 변경된 사용자 정보는 사용자 정보 관리 계정에 저장되게 된다. 도 3에 도시된 바와 같이, 사용자 정보 저장 트랜잭션 정보에는, 사용자 정보 관리 계정 주소 정보, 사용자 정보 저장 실행 명령, 해당 명령의 매개변수(parameter) 중 하나인 변경된 사용자 정보(변경을 요청하는 사용자 정보), 기타 전달하고자 하는 가치 정보(Value) 또는 매개변수(예를 들어, 카테고리 정보)를 포함할 수 있다. 사용자 정보 저장 트랜잭션 정보를 블록에 저장하고 실행하게 되면, 사용자 정보 관리 계정은 변경된 사용자 정보의 저장 여부를 판정하고, 저장이 필요한 경우 기저장된 사용자 정보를 변경된 사용자 정보로 업데이트 할 수 있다. 업데이트된 사용자 정보는 사용자 정보 관리 계정의 스토리지(Storage)나 메모리(memory) 내에 포함하는 등의 방법으로 블록에 저장할 수 있다. When an application (PC or mobile) of a specific service is terminated by a client of a specific user, changed user information in a specific service is stored in the user information management account. As shown in FIG. 3, the user information storage transaction information includes user information management account address information, a user information storage execution command, changed user information (user information for requesting change), which is one of parameters of the command, , And other values or parameters (e.g., category information) to be delivered. When the user information storage transaction information is stored in the block and executed, the user information management account determines whether to store the changed user information, and may update the stored user information with the changed user information when storing is required. The updated user information can be stored in a block in a manner such as by storing it in the storage or memory of the user information management account.

본 발명의 일실시예에 따른 사용자 정보(사용자 정보, 변경된 사용자 정보)는, 사용자의 특정 서비스에서의 포인트 정보, 사용자의 유입 정보, 사용자의 이탈 정보, 사용자의 지속시간 정보, 사용자의 레벨 정보, 현재 난이도 정보, 사용자의 퀘스트 해결 정보, 사용자의 콘텐츠 업로드 정보, 사용자의 평가 참여 정보 등을 포함할 수 있다. 사용자 정보는 사용자에 대한 식별 정보, 위와 같은 카테고리에 대한 카테고리 정보, 해당 카테고리에 대한 사용자 정보의 정량적 크기인 상태 정보 등으로 구성될 수 있다. The user information (user information, changed user information) according to an exemplary embodiment of the present invention includes point information in a user's specific service, user's inflow information, user's departure information, user's duration information, Current difficulty information, user's quest resolution information, user's content upload information, user's evaluation participation information, and the like. The user information may be composed of identification information for the user, category information for the above category, status information which is a quantitative size of the user information for the category, and the like.

특정 사용자의 클라이언트(PC 또는 모바일)에서 특정 서비스의 애플리케이션이 실행되면, 사용자 정보 관리 계정에 기저장된 사용자 정보가 특정 서비스 계정을 통해 특정 서비스에 적용되게 된다. 도 5는 본 발명의 일실시예에 따른 사용자 정보 확인 쿼리를 도시한 모식도이다. 도 5에 도시된 바와 같이, 본 발명의 일실시예에 따라 특정 서비스 계정은 해당 특정 서비스가 로드될 때, 사용자 정보 관리 계정의 기저장된 사용자 정보에서 사용자 정보를 로드하기 위해, 사용자 정보 관리 계정에 사용자 정보 확인 쿼리(Query)를 송신할 수 있다. 사용자 정보 확인 쿼리에는, 사용자 정보 관리 계정 주소 정보, 사용자 정보 확인 명령, 해당 명령의 매개변수 중 하나인 카테고리 정보, 기타 확인하고자 하는 가치 정보(Value) 또는 매개변수를 포함할 수 있다. 사용자 정보 확인 쿼리는 Local(해당 사용자의 클라이언트 또는 해당 서비스사의 노드)의 분산 원장 장치(1)에만 요청되고, 블록체인 분산 네트워크 전체의 상태를 변경하지 않는다. 본 발명의 일실시예에 따른 사용자 정보 관리 계정이 사용자 정보 확인 쿼리를 수신하게 되면, 사용자 정보가 사용자 정보 관리 계정의 스토리지(Storage)나 메모리(memory) 내에 저장된 사용자 정보를 특정 서비스 계정에 송신(리턴)하여 특정 서비스 계정의 스마트 계약이 이후 알고리즘을 수행하도록 구성될 수 있다. When an application of a specific service is executed in a client (PC or mobile) of a specific user, user information previously stored in the user information management account is applied to a specific service through a specific service account. 5 is a schematic diagram illustrating a user information confirmation query according to an embodiment of the present invention. As shown in FIG. 5, according to an exemplary embodiment of the present invention, when a specific service is loaded, a specific service account is loaded into the user information management account in order to load user information from pre- A user information confirmation query can be transmitted. The user information confirmation query may include user information management account address information, user information confirmation command, category information which is one of the parameters of the command, and other values or parameters to be checked. The user information confirmation query is requested only in the distributed policy device 1 of Local (the client of the user or the node of the corresponding service provider), and does not change the state of the block chain distributed network as a whole. When the user information management query according to the embodiment of the present invention receives the user information confirmation query, the user information is transmitted to the storage of the user information management account or the user information stored in the memory to the specific service account Return) to allow the smart contract of the particular service account to be configured to perform the following algorithm.

또한, 사용자 정보의 로드(load)는 메시지 트랜잭션을 통해서도 가능하다. 도 6은 본 발명의 일실시예에 따른 미러링 메시지 트랜잭션(Tx, Transaction)과 응답 트랜잭션(Tx, Transaction) 정보를 도시한 모식도이다. 도 6에 도시된 바와 같이, 특정 서비스 계정에서는 사용자 정보의 미러링을 위하여 사용자 정보 관리 계정에 미러링 메시지 트랜잭션을 송신할 수 있고, 사용자 정보 관리 계정에서 사용자 정보를 로드(load)하여 특정 서비스 계정에 사용자 정보를 포함한 응답 메시지 트랜잭션 정보를 송신하여 특정 서비스 계정의 스마트 계약의 이후 절차가 수행되도록 구성될 수 있다. 이러한 응답 메시지 트랜잭션 정보에는, 특정 서비스 계정 주소 정보, 사용자 정보 미러링 명령, 해당 명령의 매개변수 중 하나인 사용자 정보, 기타 가치 정보(Value) 또는 매개변수(예를 들면, 카테고리 정보)를 포함할 수 있다. 본 발명의 일실시예에 따른 응답 메시지 트랜잭션 정보는 검증이 완료되면 블록체인 분산 네트워크(100) 내에 배포(브로드캐스트)되어 전체 노드에서 특정 서비스 계정의 스마트 계약이 수행되도록 구성될 수 있다.The loading of user information is also possible through message transactions. 6 is a schematic diagram showing mirroring message transaction (Tx, Transaction) and response transaction (Tx, Transaction) information according to an embodiment of the present invention. As shown in FIG. 6, in a specific service account, a mirroring message transaction may be transmitted to a user information management account for mirroring of user information, a user information may be loaded in a user information management account, Information may be sent to send a response message transaction information to perform subsequent processing of the smart contract of the particular service account. Such response message transaction information may include specific service account address information, user information mirroring instructions, user information that is one of the parameters of the command, other value information or parameters (e.g., category information) have. The response message transaction information according to an embodiment of the present invention may be configured such that a smart contract of a specific service account is performed in all nodes by being distributed (broadcast) within the block network 100 when the verification is completed.

이러한 스마트 계약의 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의 주소를 넣어서 리턴해주게 된다.For example, in the case of Ethereum, the code for this smart contract can be written in the languages Solidity, Serpent, LLL, and Mutan. Currently, Solidity is mainly used and the syntax is similar to JavaScript. Smart Contract is program code that is processed by processing module 11, including "variable "," structure ", and "function ". The Smart Contract Code is converted into Byte Code through Compile process. The Byte code is compiled through the Solidity Realtime Compiler. The Byte code of Solidity is all hexadecimal code. In Solidity, if this Byte code is assigned to Payload (data:) without paying the receiving address and a transaction is distributed to Blockchain, Block is created by Miner. Transaction, and returns the contract address of the Contract created (distributed) in the contractAddress: field of the Transaction Receipt.

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

Byte Code는 이미 위에서 설명한 것과 같이, Smart Contract Code를 컴파일 한 결과이며, Blockchain에 Contract Creation Transaction을 발생시켜 배포하는 경우, Contract로의 Message Tx(Transaction의 줄임말)이 발생되는 경우, Contract로의 Call/Query가 발생되는 경우를 통해 분산 원장 장치(1, 이더리움의 경우 EVM) 위에서 실행된다.The Byte Code is the result of compiling Smart Contract Code as described above. In case of generating the Contract Creation Transaction in Blockchain and distributing Message Tx (Transaction abbreviation) to Contract, call / query to contract (1, EVM in the case of a dielectric) through the case where it occurs.

Function Signature는 Contract 함수 호출 시 인터페이스로 이용되는 것이고, Contract 함수 이름을 SHA3 암호 해시 함수로 해시한 4바이트 값의 Hash값이다.. Function Signature is a 4-byte hash value that has been used as an interface in the contract function call and hashes the contract function name into the SHA3 cryptographic hash function.

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

이러한 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 위에 구성되어 있다.Such a Smart Contract development environment can be connected to the Block Chain Engine to deliver Contract Creation / Deployment, Message Tx, and Call / Query. This Block Chain Engine means the distributed branching machine 1 according to an embodiment of the present invention, In the example of Leuim, it means Ethereum Node such as geth, parity, eth. As a result, a virtual machine such as EVM for transaction processing and contract execution related to all Smart Contracts is configured on the same node as Distributed Ledger (1).

이러한 Smart Contract 개발 환경에서 ABI는 Applications와 연결될 수 있다. Smart Contract는 Logic만을 갖고 있고, 사용자나 외부 시스템과의 상호작용을 위해서는 Application이 필요하다. HTML+CSS+JavaScript, Application Server, Wallet 등의 Application은 예를 들어, Ethereum과의 Interface를 통해 Smart Contract와 상호작용하는 구성이다. In this Smart Contract development environment, ABI can be connected with Applications. Smart Contract has only Logic, and application is needed to interact with user or external system. Applications such as HTML + CSS + JavaScript, Application Server, and Wallet are configured to interact with Smart Contracts, for example, through an interface with Ethereum.

Smart Contract Code는 크게 [Creation/Deployment] [Invoke by Message] [Call]로 구분될 수 있다. 본 발명의 일실시예에 따른 사용자 정보 관리 계정의 코드도 크게 계약 계정 생성, 메시지 트랜잭션에 의한 사용자 정보 저장, 쿼리에 의한 사용자 정보 확인, 트랜잭션에 의한 사용자 정보 미러링으로 구분될 수 있다.The Smart Contract Code can be classified into [Creation / Deployment] [Invoke by Message] [Call]. The code of the user information management account according to an embodiment of the present invention can be roughly divided into contract account creation, user information storage by message transaction, user information verification by query, and user information mirroring by transaction.

본 발명의 일실시예에 따른 사용자 정보(사용자 정보 및 변경된 사용자 정보)는 디지털 지갑 정보, e-mail 정보, 소셜 네트워크 ID, 디바이스 uuid 정보 등의 사용자 식별과 관련된 식별 정보에 사용자의 특정 서비스에서의 포인트 정보, 사용자의 유입 정보, 사용자의 이탈 정보, 사용자의 지속시간 정보, 사용자의 레벨 정보, 현재 난이도 정보 등과 관련된 카테고리 정보와 해당 카테고리에 대한 정량적인 상태 정보를 결합하여 생성된 정보를 의미할 수 있다. 도 7은 본 발명의 일실시예에 따른 사용자 정보의 데이터 구조를 도시한 모식도이다. 도 7에 도시된 바와 같이, 사용자 정보는 식별 정보, 카테고리 정보, 상태 정보를 포함할 수 있으며, 식별 정보는 지갑 정보, ID 정보, 디바이스 식별 정보 등을 포함할 수 있고, 카테고리 정보는 포인트 정보, 레벨 정보 등을 포함할 수 있으며, 상태 정보는 해당 카테고리에 대한 정량적 상태를 나타낼 수 있다. The user information (user information and changed user information) according to an exemplary embodiment of the present invention includes identification information related to the user identification such as digital wallet information, e-mail information, social network ID, device uuid information, May refer to information generated by combining category information related to point information, user input information, user's departure information, user's duration information, user's level information, current difficulty information, and the like, and quantitative status information about the category have. 7 is a schematic diagram illustrating a data structure of user information according to an embodiment of the present invention. 7, the user information may include identification information, category information, and status information. The identification information may include wallet information, ID information, device identification information, and the like. The category information may include point information, Level information, and the like, and the status information may indicate a quantitative status for the category.

본 발명의 일실시예에 따른 메모리 모듈(12)에 따라 사용자 정보가 트랜잭션 정보의 형태로 블록에 저장되게 되므로, 사용자 정보에 대해 위변조가 어려운 점, 사용자 정보 기록 시점을 명확하게 알 수 있는 점, 해당 블록체인과 연결된 모든 PC/모바일 애플리케이션에 대해 사용자 정보를 공유할 수 있는 점, 새로운 PC/모바일 애플리케이션에 대해 쉽게 사용자 정보의 공유를 적용하는 것이 가능한 점이 효과로 발생된다.Since the user information is stored in the block in the form of the transaction information according to the memory module 12 according to the embodiment of the present invention, it is difficult to forge or falsify the user information, It is possible to share user information for all PC / mobile applications connected to that block chain and to easily apply sharing of user information to new PC / mobile applications.

상태 정보의 변조 방지와 관련하여, 본 발명의 일실시예에 따르면, 사용자 정보에서 식별 정보는 상태 정보의 해시값으로 암호화되어 저장되도록 구성될 수 있다. 이때 해시의 함수로는, 예를 들어, SHA256 등이 이용될 수 있다. 도 8은 본 발명의 일실시예에 따른 식별 정보의 암호화를 도시한 모식도이다. 도 8에 도시된 바와 같이, 사용자 정보에서 식별 정보는 암호화되어 저장될 수 있으며, 이때 식별 정보의 암호화는 상태 정보의 해시값을 이용하여 암호화될 수 있다. Regarding the prevention of the tampering of the status information, according to an embodiment of the present invention, the identification information in the user information can be configured to be encrypted and stored with the hash value of the status information. At this time, as a function of the hash, for example, SHA256 or the like can be used. 8 is a schematic diagram showing encryption of identification information according to an embodiment of the present invention. As shown in FIG. 8, the identification information may be encrypted and stored in the user information, and the encryption of the identification information may be encrypted using the hash value of the status information.

본 발명의 일실시예에 따라 식별 정보가 상태 정보의 해시값으로 암호화되어 저장되는 경우, 상태 정보가 변조되지 않은 경우에는 상태 정보의 해시값으로 암호화 된 식별 정보가 제대로 복호화될 수 있다. 하지만, 상태 정보가 변조되는 경우에는 상태 정보의 해시값으로 암호화 된 식별 정보를 제대로 복호화할 수 없게 된다. 따라서, 상태 정보를 변조하게 되면 해당 상태 정보가 어떤 사용자의 정보인지를 식별할 수 없게 되는 효과가 발생된다. According to an embodiment of the present invention, when the identification information is encrypted with the hash value of the status information and the status information is not modulated, the identification information encrypted with the hash value of the status information can be decrypted properly. However, when the state information is modulated, the identification information encrypted with the hash value of the state information can not be properly decoded. Therefore, when the state information is modulated, it is impossible to identify which user information the corresponding state information is.

또한, 상태 정보의 변조 방지와 관련하여, 본 발명의 일실시예에 따르면, 도 3에서의 "트랜잭션 그룹의 해시 값"이 다음 블록의 "앞 블록 헤더의 해시 값"에 포함되어 링크드 리스트(linked list)를 형성하게 되므로, 상태 정보가 변조되면 변조된 블록을 포함한 이후 블록의 해시 값이 전부 달라지게 되는 효과가 발생된다. 이에 따라, 상태 정보가 변조되면 새로운 블록체인이 형성되게 되고, 블록체인이 분기되게 된다. 이때 분기된 블록체인은 원래의 블록체인에 비해 더 적은 증명(POW, POS 등 포함)이 수행되어 있을 수밖에 없으므로, 기설정된 특정 기간 이후에 소멸되도록 구성될 수 있다. 따라서, 본 발명의 일실시예에 따르면, 상태 정보가 변조되어 새로운 블록체인이 형성되더라도 변조된 새로운 블록체인이 폐기되는 효과가 발생된다.3, the hash value of the transaction group is included in the "hash value of the previous block header" of the next block, Therefore, if the state information is modulated, the hash value of the block including the modulated block is completely changed. Accordingly, when the status information is modulated, a new block chain is formed, and the block chain is branched. At this time, the branched block chain can be configured to be extinguished after a predetermined period of time because it is forced to perform less proof (including POW, POS, etc.) than the original block chain. Therefore, according to the embodiment of the present invention, even if a new block chain is formed by modulating the status information, a new modulated block chain is discarded.

또한, 상태 정보의 변조 방지와 관련하여, 블록의 증명 방법으로서 기존의 POW(작업 증명, Proof of Work)를 수행하게 되면, 노드가 PC/모바일 애플리케이션을 실행하기 위한 사용자의 클라이언트인 경우 지나치게 많은 컴퓨팅 파워가 요구되는 문제가 발생된다. 이러한 문제를 해결하기 위해, 본 발명의 일실시예에 따르면, 특정 사용자가 특정 PC/모바일 애플리케이션에서 기설정된 조건(예를 들어, 애플리케이션 사용 시간, 레벨 상승, 퀘스트 해결, 콘텐츠 업로드 등)을 만족하면 새롭게 생성된 블록을 증명하도록 구성될 수 있다. 애플리케이션 사용자의 사용 정도, 노력, 서비스 참여도에 기반한 이러한 증명 방법을 통해 특정 시간 간격으로 생성되는 블록을 증명하게 되는 경우, 컴퓨팅 파워를 남용하지 않으면서도 변조되어 새롭게 형성된 블록체인을 폐기할 수 있게 되는 효과가 발생된다. Further, with respect to the prevention of the tampering of the state information, if the existing POW (Proof of Work) is performed as a proof method of the block, if the node is the user's client for executing the PC / mobile application, A problem that requires power is generated. In order to solve this problem, according to an embodiment of the present invention, when a specific user satisfies predetermined conditions (for example, application usage time, level rise, quest resolution, content upload, etc.) in a specific PC / mobile application And may be configured to prove the newly created block. In the case of proving a block generated at a specific time interval through this proof method based on the degree of use, effort and service participation of an application user, it is possible to discard a newly formed block chain without modifying the computing power without abusing computing power Effect is generated.

도 9는 특정 사용자 클라이언트에서 특정 서비스의 애플리케이션이 종료되어 변경된 사용자 정보의 저장이 요청될 때, 본 발명의 일실시예에 따른 분산 원장 장치의 블록체인 내에서의 토큰 흐름을 도시한 모식도이다. 도 9에 도시된 바와 같이, 본 발명의 일실시예에 따른 분산 원장 장치(1)는 메모리 모듈(12)의 블록체인 내에 계약 계정(CA, Contract Account)의 일종으로 특정 서비스에 대한 계약 계정(특정 서비스 계정)과 사용자 정보 관리 계정을 포함할 수 있다. 사용자 정보 관리 계정은 스마트 계약의 일종이며, 메모리 모듈(12)의 블록체인에 저장되고 처리 모듈(11)에 의해 수행되는 프로그램 코드를 의미할 수 있다. 본 발명의 일실시예에 따른 분산 원장 장치(1)에 변경된 사용자 정보의 저장이 Global State의 변경을 야기하는 메시지 트랜잭션(Message Transaction)의 형태로 요청될 때, 이러한 트랜잭션은 특정 서비스 계정에서 사용자 정보 관리 계정의 주소로 도 3에 도시된 사용자 정보 관리 계정 주소 정보, 사용자 정보 저장 실행 명령, 해당 명령의 매개변수(parameter) 중 하나인 변경된 사용자 정보, 기타 전달하고자 하는 가치 정보(Value) 또는 매개변수 등을 포함하여 전달될 수 있다. 9 is a schematic diagram illustrating a token flow in a block chain of the distributed LAN device according to an exemplary embodiment of the present invention when an application of a specific service is terminated at a specific user client and storage of changed user information is requested. 9, the distributed general ledger 1 according to an embodiment of the present invention may include a contract account (CA, Contract Account) for a specific service in a block chain of the memory module 12 Specific service accounts) and user information management accounts. The user information management account is a kind of smart contract and can mean program codes stored in a block chain of the memory module 12 and executed by the processing module 11. [ When the storage of changed user information in the distributed general ledger 1 according to the embodiment of the present invention is requested in the form of a message transaction causing a change in the global state, The address information of the user information management account shown in FIG. 3, the user information storing execution command, the changed user information which is one of the parameters of the command, the value information or the value Etc. < / RTI >

도 10은 변경된 사용자 정보의 저장이 요청될 때, 본 발명의 일실시예에 따른 분산 원장 장치(1)의 처리 모듈(11)의 처리 단계(사용자 정보 저장 방법)를 도시한 흐름도이다. 도 10에 도시된 바와 같이, 본 발명의 일실시예에 따른 처리 모듈(11)은, 사용자 정보 저장 요청(메시지 트랜잭션)을 수신하면, 주소 호출 단계(S10), 저장 명령 단계(S11), 저장 단계(S12), 배포 단계(S13)를 포함하여 트랜잭션 정보를 처리할 수 있다. 10 is a flowchart showing a processing step (user information storing method) of the processing module 11 of the distributed general ledger device 1 according to an embodiment of the present invention when storage of changed user information is requested. 10, the processing module 11 according to an embodiment of the present invention, when receiving a user information storage request (message transaction), performs an address calling step S10, a storing instruction step S11, , Step S12, and distribution step S13.

주소 호출 단계(S10)는 처리 모듈(11)이 사용자 정보 요청(메시지 트랜잭션)에 저장된 사용자 정보 관리 계정의 주소를 호출하는 단계이다. 주소 호출 단계(S10)에 의해 가상 머신인 분산 원장 장치(1)에서 스마트 계약의 일종인 사용자 정보 관리 계정의 코드가 실행될 수 있도록 활성화되게 된다. The address calling step S10 is a step in which the processing module 11 calls the address of the user information management account stored in the user information request (message transaction). In the address calling step S10, a code of a user information management account, which is a type of smart contract, is activated in the distributed general ledger 1 as a virtual machine.

저장 명령 단계(S11)는 사용자 정보 저장 요청의 사용자 정보 저장 실행 명령에 의해 사용자 정보 관리 계정의 코드 중 일부인 사용자 정보 저장 코드를 실행하는 단계이다. The storing instruction step S11 is a step of executing a user information storing code which is a part of codes of the user information managing account by a user information storing execution command of the user information storing request.

저장 단계(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 (값)을 갖는다. In the storing step S12, a user information storing transaction is created including the changed user information, which is a parameter included in the user information storing request, by the user information storing code which is a part of the code of the user information managing account, Storing the user information storage transaction in the storage or memory of the user information management account. A contract account can contain a persistent store called Storage. In storage, a 32-byte key is mapped to a 32-byte value in a key-value map structure. Certain Smart Contracts can not read or write storage of contracts other than themselves. Memory is a space where Smart Contract can get the latest Instance whenever there is Message Call. In memory, it can be read and written at byte level, but it can be stored in 32 byte unit chunk. That is, when the value of 1 is stored in the memory, it is stored in the space of 32 bytes (256 bits). For example, the EVM contains a stack containing a total of 1024 instruction sets (OPCODEs) and has a word value of 256 bits.

배포 단계(S13)는 저장 단계(S12)에 의해 변경된 상태(State)를 분산 원장 장치(1)가 블록체인 분산 네트워크(100)의 전체 노드로 배포하여 브로드캐스트하는 단계이다.The distribution step S13 is a step of distributing the state changed by the storage step S12 to all the nodes of the block chain distributed network 100 by the distributed general ledger 1 and broadcasting the changed state.

본 발명의 일실시예에 따른 사용자 정보 저장 트랜잭션 정보에 의하면 처리 모듈(11)에 의해 사용자 정보 관리 계정의 스토리지 또는 메모리에 변경된 사용자 정보가 사용자 정보로 저장되고 전체 노드로 이러한 상태 변경이 배포(Global State의 변경)되므로, 향후 적어도 하나 이상의 특정 애플리케이션에 대해 통합적으로 사용자 정보 관리를 수행할 수 있게 되는 효과가 발생된다. According to the user information storage transaction information according to the embodiment of the present invention, the changed user information is stored in the storage or memory of the user information management account by the processing module 11 as user information, State), so that the user information management can be integrally performed for at least one specific application in the future.

도 11은 사용자 정보의 확인이 요청될 때, 본 발명의 일실시예에 따른 분산 원장 장치(1) 내에서의 토큰 흐름을 도시한 모식도이다. 도 11에 도시된 바와 같이, 본 발명의 일실시예에 따른 분산 원장 장치(1)에 사용자 정보의 확인이 쿼리의 형태로 요청될 때, 이러한 쿼리는 적어도 하나 이상의 특정 서비스 계정에서 사용자 정보 관리 계정의 주소로 도 5에 도시된 사용자 정보 관리 계정 주소 정보, 사용자 정보 확인 명령, 특정 서비스 계정 정보, 기타 확인하고자 하는 가치 정보(Value) 또는 매개변수 등을 포함하여 전달될 수 있다. 해당 특정 서비스 계정은 특정 EOA/CA에서 사용자 정보를 포함한 특정 스마트 계약 실행 요청(트랜잭션 정보의 형태)을 수신하고, 해당 사용자 정보의 확인을 사용자 정보 관리 계정에 요청(쿼리의 형태)하게 된다. 그 후, 특정 서비스 계정은 사용자 정보 관리 계정에서 사용자 정보를 리턴 받게 된다. 11 is a schematic diagram showing a token flow in the distributed general ledger 1 according to an embodiment of the present invention when confirmation of user information is requested. 11, when confirmation of the user information is requested in the form of a query in the distributed general ledger 1 according to an embodiment of the present invention, such a query may include a user information management account The user information management account address information, the user information confirmation command, the specific service account information, and the value or parameter to be confirmed, as shown in FIG. The specific service account receives a specific smart contract execution request (in the form of transaction information) including user information at a specific EOA / CA, and requests the user information management account to confirm the user information in the form of a query. After that, the specific service account receives user information from the user information management account.

도 12는 특정 서비스 계정에서 사용자 정보의 확인이 요청될 때(특정 애플리케이션을 실행할 때), 본 발명의 일실시예에 따른 분산 원장 장치(1)의 처리 모듈(11)의 처리 단계(사용자 정보 확인 방법)를 도시한 흐름도이다. 도 12에 도시된 바와 같이, 본 발명의 일실시예에 따른 처리 모듈(11)은, 사용자 정보 확인 쿼리를 수신하면, 주소 호출 단계(S20), 검색 명령 단계(S21), 확인 단계(S22), 리턴 단계(S23)를 포함하여 트랜잭션 정보를 처리할 수 있다. 12 is a flowchart showing the processing steps of the processing module 11 of the distributed general ledger 1 according to an embodiment of the present invention Fig. As shown in FIG. 12, the processing module 11 according to an embodiment of the present invention, when receiving the user information confirmation query, performs an address call step S20, a search command step S21, an authentication step S22, , And a returning step S23.

주소 호출 단계(S20)는 처리 모듈(11)이 사용자 정보 확인 쿼리에 포함된 사용자 정보 관리 계정의 주소를 호출하는 단계이다. 주소 호출 단계(S20)에 의해 가상 머신인 분산 원장 장치(1)에서 스마트 계약의 일종인 사용자 정보 관리 계정의 스토리지 또는 메모리의 검색이 실행되게 된다. The address calling step S20 is a step in which the processing module 11 calls the address of the user information management account included in the user information confirmation query. In the address calling step (S20), the storage system or the memory of the user information management account, which is a type of smart contract, is executed in the distributed general ledger device 1 as a virtual machine.

검색 명령 단계(S21)는 사용자 정보 확인 쿼리의 사용자 정보 검색 명령에 의해 사용자 정보의 검색을 실행하는 단계이다. 사용자 정보의 검색은 식별 정보를 통해 진행될 수 있다. The search command step S21 is a step of searching for user information by a user information search command of the user information confirmation query. The retrieval of the user information can proceed through the identification information.

확인 단계(S22)는 사용자 정보 확인 쿼리에 포함되어 있는 매개변수(parameter)인 식별 정보를 사용자 정보 관리 계정의 스토리지(Storage) 또는 메모리(Memory)에 저장되어 있는 사용자 정보와 비교하여, 해당 식별 정보를 포함하는 사용자 정보가 사용자 정보 관리 계정의 스토리지 또는 메모리에 저장되어 있는지 확인하는 단계이다. 본 발명의 일실시예에 따라 식별 정보가 암호화 된 경우, 상태 정보의 해시 값을 통해 복호화한 뒤 식별 정보의 검색을 진행할 수 있다.The checking step S22 compares the identification information, which is a parameter included in the user information check query, with the user information stored in the storage or memory of the user information management account, Is stored in the storage or memory of the user information management account. According to an embodiment of the present invention, when the identification information is encrypted, the identification information can be retrieved after decoding through the hash value of the status information.

리턴 단계(S23)는 사용자 정보 관리 계정이 수신한 식별 정보가 기저장되어 있는 사용자 정보를 특정 서비스 계정에 리턴하는 단계이다.The returning step S23 is a step in which the user information managing account returns the user information in which the identification information received is stored to the specific service account.

본 발명의 일실시예에 따른 사용자 정보 확인 쿼리에 의하면 적어도 하나 이상의 특정 스마트 계약에 대해 통합적으로 사용자 정보 관리를 수행할 수 있게 되는 효과가 발생된다. According to the user information confirmation query according to the embodiment of the present invention, user information management can be integrally performed for at least one specific smart contract.

트랜잭션 정보 브로드캐스트 장치 Transaction information broadcast device

본 발명의 일실시예에 따른 트랜잭션 정보 브로드캐스트 장치와 관련하여, 도 13은 본 발명의 트랜잭션 정보 송신 장치(2)와 분산 원장 장치(10)의 HTTP 통신을 도시한 모식도이다. 도 13에 도시된 바와 같이, 본 발명의 일실시예에 따른 트랜잭션 정보 브로드캐스트 장치는, 예를 들어, Solidity로 코딩되는 경우, JavaScript 기반의 Web3.Js API를 사용하고, 내부적으로는 JSON-RPC API를 사용할 수 있다. 이를 통해, Browser, Node.JS, Mist 등으로 트랜잭션 정보 송신 장치(2)를 구성할 수 있다. 트랜잭션 정보 송신 장치(2)의 주체는 EOA나 CA가 될 수 있다.13 is a schematic diagram showing the HTTP communication between the transaction information transmitting apparatus 2 and the distributed branch machine 10 of the present invention in connection with the transaction information broadcasting apparatus according to an embodiment of the present invention. As shown in FIG. 13, the transaction information broadcasting apparatus according to an embodiment of the present invention uses, for example, a JavaScript-based Web 3. Js API when it is coded with solidity, and internally uses a JSON-RPC You can use the API. Thus, the transaction information transmitting apparatus 2 can be configured with a browser, Node.JS, Mist, or the like. The subject of the transaction information transmitting apparatus 2 may be EOA or CA.

도 13에 도시된 바와 같이, 본 발명의 일실시예에 따른 트랜잭션 정보 송신 장치(2)에서 사용자 정보 관리 계정에 특정 변경된 사용자 정보를 저장하도록 사용자 정보 저장 요청(메시지 트랜잭션 정보)를 분산 원장 장치(1)에 JSON-RPC API를 이용하여 요청할 수 있다. 사용자 정보 저장 요청(메치시 트랜잭션 정보)을 수신한 분산 원장 장치(1)는 도 10의 사용자 정보 저장 방법에 따라 변경된 사용자 정보를 사용자 정보 관리 계정의 스토리지 또는 메모리에 사용자 정보를 포함한 사용자 정보 저장 트랜잭션을 생성한 뒤, 생성된 사용자 정보 저장 트랜잭션을 저장한 뒤에 블록체인 분산 네트워크(100)에 배포(broadcast, propagation) 할 수 있다.As shown in FIG. 13, in the transaction information transmitting apparatus 2 according to the embodiment of the present invention, a user information storage request (message transaction information) is stored in the distributed general ledger device 1) using the JSON-RPC API. The distributed general ledger 1 that has received the user information storage request (message transaction information) transfers the changed user information according to the user information storage method of FIG. 10 to the storage of the user information management account or the user information storage transaction And stores the generated user information storage transaction, and then broadcasts and propagates the generated user information storage transaction to the block chain distributed network 100. [

도 14는 본 발명의 일실시예에 따른 트랜잭션 정보 송신 장치(2)가 사용자 정보 저장 요청(사용자 정보를 포함함)을 수신한 경우를 도시한 모식도, 도 15는 본 발명의 일실시예에 따른 트랜잭션 정보 송신 장치가 사용자 정보 저장 요청을 수신한 경우를 도시한 흐름도이다. 도 14, 15에 도시된 바와 같이, 사용자 클라이언트에서 A 서비스의 애플리케이션(A 애플리케이션)이 실행된 뒤 사용자 정보가 변경된 채로 종료되면, 사용자 클라이언트 및 서버를 통해 트랜잭션 정보 송신 장치(2)가 사용자 정보가 포함된 사용자 정보 저장 요청을 블록체인 분산 네트워크(100)에 송신하도록 API가 구성되고, Core에서 사용자 정보 저장 요청이 트랜잭션 정보로 생성된 뒤(S30, 트랜잭션 정보 생성 단계), 트랜잭션 정보 송신 장치의 비밀키로 서명된 트랜잭션 정보가 블록체인 분산 네트워크(100)의 특정 노드(분산 원장 장치,1)에 송신되게 된다(S31, 트랜잭션 정보 송신 단계). 이때, 특정 노드는 사용자 클라이언트 또는 A 서비스 주체의 클라이언트일 수 있다. FIG. 14 is a schematic diagram showing a case where the transaction information transmitting apparatus 2 according to the embodiment of the present invention receives a user information storing request (including user information). FIG. And a transaction information transmission apparatus receives a user information storage request. As shown in FIGS. 14 and 15, when the user information is changed and terminated after the application (application A) of the service A is executed in the user client, the transaction information transmitting apparatus 2 transmits the user information The API is configured to transmit the stored user information storage request to the block chain distribution network 100. After the user information storage request is generated in the Core as transaction information (S30, transaction information generation step), the transaction information transmission device secret The transaction information signed with the key is transmitted to a specific node (distributed resource device 1) of the block chain distribution network 100 (S31, transaction information transmission step). At this time, the specific node may be a user client or a client of the A service principal.

A 애플리케이션과 블록체인으로 사용자 정보를 공유하는 애플리케이션 중 하나인 B 서비스의 애플리케이션(B 애플리케이션)이 사용자 클라이언트에서 실행되게 되면, 특정 노드(분산 원장 장치, 1)는 B 서비스 계정의 스마트 계약을 실행하게 되고(S32, 스마트 계약 실행 단계), B 서비스 계정은 사용자에 대한 정보인 식별 정보에 대응되는 기저장된 사용자 정보를 사용자 정보 관리 계정에 확인해달라는 사용자 정보 확인 쿼리를 송신할 수 있다(S33, 쿼리 송신 단계). 그 뒤, 해당 쿼리에 대한 리턴으로서 B 서비스 계정은 사용자 정보 관리 계정에서 기저장된 사용자 정보를 수신할 수 있다(S34, 쿼리 리턴 단계). B 애플리케이션에 대응되는 B 서비스 계정은 B 애플리케이션의 서버와 페어링되도록 구성되므로, B 애플리케이션 내의 사용자 정보는 B 서비스 계정에 수신된 사용자 정보에 대응되게 된다.When the application of the service B (application B), which is one of the applications sharing the user information with the application A and the block chain, is executed at the user client, the specific node (the distributed learner 1) executes the smart contract of the service B (Step S32, smart contract execution step), the B service account can transmit a user information confirmation query to confirm the previously stored user information corresponding to the identification information, which is information on the user, to the user information management account (S33, step). Thereafter, as a return to the query, the B service account can receive the user information previously stored in the user information management account (S34, query returning step). The B service account corresponding to the B application is configured to be paired with the server of the B application, so that the user information in the B application corresponds to the user information received in the B service account.

특정 노드에서 블록체인 분산 네트워크(100)로 배포된 사용자 정보는 사용자 정보 관리 계정의 메모리에 저장되어 있다가 해당 특정 노드 또는 다른 특정 노드가 새로운 블록(New block)을 마이닝(mining)하게 되면 해당 블록에 기록되게 된다.User information distributed to a block-chain distributed network 100 at a specific node is stored in a memory of a user information management account. When a specific node or another specific node mining a new block, As shown in FIG.

본 발명의 일실시예에 따라, 각 애플리케이션에서의 포인트 정보가 사용자 정보로 공유되는 경우, A 애플리케이션에서의 포인트 가치와 B 애플리케이션에서의 포인트 가치가 상이할 수 있으므로, 쿼리 리턴 단계(S34)에서는 사용자 정보 관리 계정이 기설정된 비율로 사용자 정보를 환전하여 B 서비스 계정에 송신하도록 구성될 수 있다. According to an embodiment of the present invention, when the point information in each application is shared with user information, the point value in the A application may differ from the point value in the B application. Therefore, in the query returning step S34, The information management account can be configured to exchange user information at a predetermined rate and send it to the B service account.

본 발명의 일실시예에 따라, 각 애플리케이션은 게임 어플리케이션을 의미하고, 공유되는 사용자 정보가 난이도 정보인 경우, A 게임 애플리케이션에서 a%의 이탈률을 갖는 난이도의 게임 환경에서 사용자가 이탈하게 된 이후, 사용자가 B 게임 애플리케이션으로 유입 시 a%보다 낮은 b%의 이탈률 또는 a%보다 높은 c%의 이탈률을 갖는 난이도를 제공하도록, 쿼리 리턴 단계(S34)에서는 사용자 정보 관리 계정이 기설정된 비율로 사용자 정보를 조절하여 B 서비스 계정에 송신하도록 구성될 수 있다. 사용자가 A 게임 애플리케이션에서의 a%의 이탈률을 갖는 난이도의 게임 환경에서 연속적으로 실패하는 경우, 난이도가 높은 것으로 가정하여 B 게임 애플리케이션에서는 a%보다 낮은 b%의 이탈률을 갖는 난이도를 제공할 수 있다. 사용자가 A 게임 애플리케이션에서의 a%의 이탈률을 갖는 난이도의 게임 환경에서 연속적으로 성공하는 경우, 난이도가 낮은 것으로 가정하여 B 게임 애플리케이션에서는 a%보다 높은 c%의 이탈률을 갖는 난이도를 제공할 수 있다.According to an embodiment of the present invention, each application is a game application, and when the shared user information is difficulty information, after the user leaves the game environment at a difficulty level having a bounce rate of a% in the A game application, In the query return step S34, the user information management account is provided with a predetermined percentage of the user information to provide the degree of difficulty with a b% bounce rate lower than a% or a c% bounce rate higher than a% To the B service account. If the user fails consecutively in a game environment of difficulty level having a bounce rate of a% in the A game application, it is assumed that the degree of difficulty is high and the B game application can provide difficulty with b% bounce rate lower than a% . If the user succeeds successively in a game environment of difficulty level having a bounce rate of a% in the A game application, it is assumed that the difficulty level is low and the B game application can provide difficulty with a bounce rate of c% higher than a% .

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

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

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

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

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

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

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

그러므로 본 발명의 범위는 상세한 설명에 의해 한정되지 않고, 이를 기반으로 하는 출원의 임의의 청구항들에 의해 한정된다. 따라서, 본 발명의 실시예들의 개시는 예시적인 것이며, 이하의 청구항에 기재된 본 발명의 범위를 제한하는 것은 아니다.The scope of the invention is, therefore, not to be limited by the Detailed Description, but is to be defined by the claims of any application based thereon. Accordingly, the disclosure of embodiments of the invention is illustrative and not restrictive of the scope of the invention, which is set forth in the following claims.

1: 분산 원장 장치
2: 트랜잭션 정보 송신 장치
10: 통신 모듈
11: 처리 모듈
12: 메모리 모듈
100: 블록체인 분산 네트워크
1: Distributed Ledger
2: Transaction information transmitting apparatus
10: Communication module
11: Processing module
12: Memory module
100: Block Chain Distributed Network

Claims (2)

사용자 정보 관리 계정 및 복수의 스마트 계약 계정을 포함하는 블록체인을 저장하고, 상기 사용자 정보 관리 계정에 기저장된 사용자 정보를 포함하는 분산 원장이 저장된 메모리 모듈; 및
상기 메모리 모듈과 동작 가능하도록 결합되고, 상기 사용자 정보 관리 계정 및 상기 복수의 스마트 계약 계정의 컴퓨터 판독 가능한 프로그램 코드를 실행하는 처리 모듈;
을 포함하고,
상기 사용자 정보 관리 계정의 상기 프로그램 코드는,
특정 사용자의 식별에 관한 정보인 식별 정보 및 상기 특정 사용자의 포인트 정보를 포함하는 사용자 정보의 저장에 대한 사용자 정보 저장 요청을 상기 블록체인 내의 상기 복수의 스마트 계약 계정 중 하나인 제1계정에서 수신하는 저장 요청 수신 단계;
상기 식별 정보를 상기 포인트 정보의 해시값을 기초로 암호화한 뒤, 상기 사용자 정보 저장 요청을 기초로 상기 사용자 정보를 포함하는 사용자 정보 저장 트랜잭션을 생성하여 상기 사용자 정보 관리 계정에 상기 사용자 정보를 저장하는 저장 단계;
상기 블록체인 내의 상기 제1계정 또는 상기 복수의 스마트 계약 계정 중 다른 하나인 제2계정에서의 기저장된 상기 사용자 정보의 확인에 관한 요청인 사용자 정보 확인 쿼리를 수신하는 사용자 정보 확인 요청 단계; 및
상기 제1계정과 상기 제2계정에 대해 기설정된 비율로 상기 포인트 정보를 환전하고, 상기 제2계정에 상기 식별 정보 및 환전된 상기 포인트 정보를 포함한 상기 사용자 정보를 송신하는 사용자 정보 송신 단계;
를 포함하며,
상기 사용자 정보 저장 트랜잭션 정보가 포함된 블록이 증명되면, 상기 사용자 정보 저장 트랜잭션 정보를 상기 블록체인이 포함되는 블록체인 분산 네트워크에 브로드캐스트 하고,
상기 복수의 스마트 계약 계정 각각은 서로 다른 주체가 서비스하는 애플리케이션의 서버와 연결되며,
상기 블록체인 내의 상기 복수의 스마트 계약 계정을 이용하여 복수의 애플리케이션에 대해 상기 사용자 정보를 공유하여 통합 관리하는 것을 특징으로 하는, 블록체인 기반의 사용자 정보 공유를 위한 분산 원장 장치.
A memory module storing a block chain including a user information management account and a plurality of smart contract accounts, and a distributed ledger including user information pre-stored in the user information management account; And
A processing module operatively coupled to the memory module, the processing module executing computer-readable program code of the user information management account and the plurality of smart contract accounts;
/ RTI >
Wherein the program code of the user information management account comprises:
Receiving a user information storage request for storing user information including identification information as identification information of a specific user and point information of the specific user in a first account which is one of the plurality of smart contract accounts in the block chain Receiving a storage request;
Encrypts the identification information based on the hash value of the point information, generates a user information storage transaction including the user information based on the user information storage request, and stores the user information in the user information management account A storage step;
A user information confirmation request step of receiving a user information confirmation query which is a request relating to confirmation of the user information stored in the first account in the block chain or in the second account which is another one of the plurality of smart contract accounts; And
A user information transmitting step of exchanging the point information with the first account and the second account at a predetermined ratio and transmitting the user information including the identification information and the exchanged point information to the second account;
/ RTI >
If the block including the user information storage transaction information is proved, broadcasts the user information storage transaction information to the distributed chain including the block chain,
Wherein each of the plurality of smart contract accounts is connected to a server of an application served by different subjects,
Wherein the plurality of smart contract accounts in the block chain are used to share and manage the user information for a plurality of applications.
특정 사용자의 식별에 관한 정보인 식별 정보 및 상기 특정 사용자의 포인트 정보를 포함하는 사용자 정보를 저장하는 사용자 정보 관리 계정 및 복수의 스마트 계약 계정을 포함한 블록체인이 저장된 분산 원장 장치가, 상기 사용자 정보의 저장에 대한 사용자 정보 저장 요청을 상기 블록체인 내의 상기 복수의 스마트 계약 계정 중 하나인 제1계정에서 상기 사용자 정보 관리 계정으로 송신하는 저장 요청 송신 단계;
상기 분산 원장 장치가, 상기 식별 정보를 상기 포인트 정보의 해시값을 기초로 암호화한 뒤, 상기 사용자 정보 저장 요청을 기초로 상기 사용자 정보를 포함하는 사용자 정보 저장 트랜잭션을 생성하여 상기 사용자 정보 관리 계정에 상기 사용자 정보를 저장하는 저장 단계;
상기 분산 원장 장치가, 기저장된 상기 사용자 정보의 확인에 관한 요청인 사용자 정보 확인 쿼리를 상기 블록체인 내의 상기 제1계정 또는 상기 복수의 스마트 계약 계정 중 다른 하나인 제2계정에서 상기 사용자 정보 관리 계정으로 송신하는 사용자 정보 확인 요청 단계; 및
상기 분산 원장 장치가, 상기 제1계정과 상기 제2계정에 대해 기설정된 비율로 상기 포인트 정보를 환전하고, 상기 제2계정에 상기 식별 정보 및 환전된 상기 포인트 정보를 포함한 상기 사용자 정보를 송신하는 사용자 정보 송신 단계;
를 포함하며,
상기 사용자 정보 저장 트랜잭션 정보가 포함된 블록이 증명되면, 상기 사용자 정보 저장 트랜잭션 정보를 상기 블록체인이 포함되는 블록체인 분산 네트워크에 브로드캐스트 하고,
상기 복수의 스마트 계약 계정 각각은 서로 다른 주체가 서비스하는 애플리케이션의 서버와 연결되며,
상기 블록체인 내의 상기 복수의 스마트 계약 계정을 이용하여 복수의 애플리케이션에 대해 상기 사용자 정보를 공유하여 통합 관리하는, 블록체인 기반의 사용자 정보 공유를 위한 분산 원장 방법.
A distributed information storage device storing a block chain including a user information management account and a plurality of smart contract accounts for storing user information including identification information as identification information of a specific user and point information of the specific user, A storage request transmission step of transmitting a user information storage request for storage from the first account, which is one of the plurality of smart contract accounts in the block chain, to the user information management account;
The distributed general ledger encrypts the identification information based on the hash value of the point information and generates a user information storage transaction including the user information based on the user information storage request, A storing step of storing the user information;
Wherein the distributed scheduling device transmits a user information confirmation query, which is a request for confirmation of the previously stored user information, to the first account in the block chain or the second account, which is another one of the plurality of smart contract accounts, A step of requesting confirmation of user information; And
The distributed fund raising device exchanges the point information at a predetermined ratio with respect to the first account and the second account and transmits the user information including the identification information and the exchanged point information to the second account A user information transmission step;
/ RTI >
If the block including the user information storage transaction information is proved, broadcasts the user information storage transaction information to the distributed chain including the block chain,
Wherein each of the plurality of smart contract accounts is connected to a server of an application served by different subjects,
And distributing and managing the user information to a plurality of applications using the plurality of smart contract accounts in the block chain.
KR1020180130063A 2018-10-29 2018-10-29 Distributed Ledger Device and Distributed Ledger Method for Sharing User Information using Blockchain KR102095046B1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020180130063A KR102095046B1 (en) 2018-10-29 2018-10-29 Distributed Ledger Device and Distributed Ledger Method for Sharing User Information using Blockchain

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020180130063A KR102095046B1 (en) 2018-10-29 2018-10-29 Distributed Ledger Device and Distributed Ledger Method for Sharing User Information using Blockchain

Related Parent Applications (1)

Application Number Title Priority Date Filing Date
KR1020170178228A Division KR101932277B1 (en) 2017-12-22 2017-12-22 Distributed Ledger Device and Distributed Ledger Method for Sharing User Information using Blockchain

Publications (2)

Publication Number Publication Date
KR20190076837A true KR20190076837A (en) 2019-07-02
KR102095046B1 KR102095046B1 (en) 2020-03-30

Family

ID=67258179

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020180130063A KR102095046B1 (en) 2018-10-29 2018-10-29 Distributed Ledger Device and Distributed Ledger Method for Sharing User Information using Blockchain

Country Status (1)

Country Link
KR (1) KR102095046B1 (en)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111861482A (en) * 2020-09-22 2020-10-30 支付宝(杭州)信息技术有限公司 Block chain account checking method and system

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2009175874A (en) * 2008-01-22 2009-08-06 Nippon Telegraph & Telephone West Corp Point management device and method, and computer program
KR100921171B1 (en) * 2008-12-26 2009-10-13 (주)이바이언 Method for providing on-line service to unregistered customer using personal identification code, the system thereof, and computer-readable recoding medium for recoding program executing the same method
KR101591244B1 (en) * 2014-11-06 2016-02-05 주식회사 코인플러그 Apparatus for converting membership point and cybermoney into digital virtual currency with block chain
KR101628009B1 (en) * 2015-04-20 2016-06-13 주식회사 코인플러그 System for dealing a digital currency with block chain
KR20170123290A (en) * 2017-07-31 2017-11-07 임종범 System and method for transaction of electronic currency

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2009175874A (en) * 2008-01-22 2009-08-06 Nippon Telegraph & Telephone West Corp Point management device and method, and computer program
KR100921171B1 (en) * 2008-12-26 2009-10-13 (주)이바이언 Method for providing on-line service to unregistered customer using personal identification code, the system thereof, and computer-readable recoding medium for recoding program executing the same method
KR101591244B1 (en) * 2014-11-06 2016-02-05 주식회사 코인플러그 Apparatus for converting membership point and cybermoney into digital virtual currency with block chain
KR101628009B1 (en) * 2015-04-20 2016-06-13 주식회사 코인플러그 System for dealing a digital currency with block chain
KR20170123290A (en) * 2017-07-31 2017-11-07 임종범 System and method for transaction of electronic currency

Non-Patent Citations (5)

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

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111861482A (en) * 2020-09-22 2020-10-30 支付宝(杭州)信息技术有限公司 Block chain account checking method and system

Also Published As

Publication number Publication date
KR102095046B1 (en) 2020-03-30

Similar Documents

Publication Publication Date Title
KR101932277B1 (en) Distributed Ledger Device and Distributed Ledger Method for Sharing User Information using Blockchain
KR101878869B1 (en) Distributed Ledger Device and Distributed Ledger Method for User Identification Management Based on Block Chain
KR101936756B1 (en) Apparatus for Supporting Sharing Economy using Blockchain
Pustišek et al. Approaches to front-end IoT application development for the ethereum blockchain
KR101936757B1 (en) Distributed Ledger Device and Distributed Ledger Method for Supporting Sharing Economy
KR101962290B1 (en) Distributed Ledger Device for Supporting Sharing Economy
WO2020028589A1 (en) Techniques for expediting processing of blockchain transactions
KR101878870B1 (en) Distributed Ledger Device and Distributed Ledger Method for Token Issuance and User Identification Management Based on Block Chain
KR101962289B1 (en) Distributed Ledger Device for Supporting Sharing Economy
KR101962288B1 (en) Apparatus for Sharing Economy using Blockchain
CN111813441B (en) Intelligent contract issuing method and device, computer readable medium and electronic equipment
CN113422733B (en) Service processing method and device of block chain, computer equipment and storage medium
KR20180102269A (en) System and method for supporting external interface based on block chain
CN114567643B (en) Cross-blockchain data transfer method, device and related equipment
CN111178840A (en) Service processing method, device, system, electronic equipment and storage medium
CN117321619A (en) System and method for performing electronic transactions and tokenization using a distributed settlement platform
KR101962285B1 (en) Distributed Ledger Device and Distributed Ledger Method for User Identification Management Based on Block Chain
Leinweber et al. TEE-based distributed watchtowers for fraud protection in the lightning network
KR102095046B1 (en) Distributed Ledger Device and Distributed Ledger Method for Sharing User Information using Blockchain
KR20190076812A (en) Distributed Ledger Device and Distributed Ledger Method for Sharing User Information using Blockchain
KR20190076813A (en) Distributed Ledger Device and Distributed Ledger Method for Sharing User Information using Blockchain
US20230412404A1 (en) Systems and methods for mitigating network congestion on blockchain networks by supporting blockchain operations through off-chain interactions
KR101962287B1 (en) Apparatus for Sharing Economy using Blockchain
KR20230101442A (en) System of Blockchain Framework for 5G Mobile Edge Computing, Device and Management Method thereof
KR101962286B1 (en) Apparatus for Sharing Economy using Blockchain

Legal Events

Date Code Title Description
A107 Divisional application of patent
A201 Request for examination
E701 Decision to grant or registration of patent right
GRNT Written decision to grant