KR101962289B1 - Distributed Ledger Device for Supporting Sharing Economy - Google Patents

Distributed Ledger Device for Supporting Sharing Economy Download PDF

Info

Publication number
KR101962289B1
KR101962289B1 KR1020180174304A KR20180174304A KR101962289B1 KR 101962289 B1 KR101962289 B1 KR 101962289B1 KR 1020180174304 A KR1020180174304 A KR 1020180174304A KR 20180174304 A KR20180174304 A KR 20180174304A KR 101962289 B1 KR101962289 B1 KR 101962289B1
Authority
KR
South Korea
Prior art keywords
shared
account
user
key
information
Prior art date
Application number
KR1020180174304A
Other languages
Korean (ko)
Inventor
김승연
임지순
Original Assignee
주식회사 미탭스플러스
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 주식회사 미탭스플러스 filed Critical 주식회사 미탭스플러스
Priority to KR1020180174304A priority Critical patent/KR101962289B1/en
Application granted granted Critical
Publication of KR101962289B1 publication Critical patent/KR101962289B1/en

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q20/00Payment architectures, schemes or protocols
    • G06Q20/38Payment protocols; Details thereof
    • G06Q20/382Payment protocols; Details thereof insuring higher security of transaction
    • G06Q20/3827Use of message hashing
    • 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/3829Payment protocols; Details thereof insuring higher security of transaction involving key management
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • H04L67/1097Protocols in which an application is distributed across nodes in the network for distributed storage of data in networks, e.g. transport arrangements for network file system [NFS], storage area networks [SAN] or network attached storage [NAS]

Landscapes

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

Abstract

The present invention relates to a distributed ledger apparatus which generates a key for a sharing economy based on a block chain, a distributed ledger method, a transaction information broadcast apparatus and a transaction information broadcast method. To this end, the present invention comprises: a storage request reception step of receiving a difficulty information storage request transaction including changed difficulty information on a specific user in a first account in the block chain; a storage step of storing the difficulty information based on the difficulty information storage request transaction; a difficulty information confirmation request step of receiving a difficulty information confirmation query which is a request for difficulty information confirmation in a second account in the block chain; and a difficulty information transmission step of transmitting the difficulty information to the second account.

Description

블록체인 기반의 공유경제를 위해 비대칭키 방식으로 이용자를 식별하는 분산 원장 장치{Distributed Ledger Device for Supporting Sharing Economy}[0001] The present invention relates to a Distributed Ledger Device for Supporting Sharing Economy, which identifies a user using an asymmetric key method for a shared-

본 발명은 블록체인 기반의 공유경제를 위해 키를 생성하는 분산 원장 장치 및 분산 원장 방법에 관한 것이다.The present invention relates to a distributed branching apparatus and a distributed branching method for generating a key for a block-chain-based shared economy.

공유경제는 상호소비의 경제로서 Airbnb, UBER, Zipcar 등을 통해 시작된 소비 트렌드이자 산업 트렌드이다. 2007년도에는 기업가치 상위권의 기업 중 공유경제를 도입한 기업이 하나도 없었으나, 공유경제는 2008년 Airbnb의 시작 이후는 10년 동안 대중의 삶에 매우 가까워지며 크게 부흥했다. 2018년 초에 마무리된 소프트뱅크의 UBER 지분 15% 인수 과정에서 책정된 UBER의 기업가치는 480억 달러로 평가된 바 있다. 코스피 2위의 대기업인 현대자동차의 2018년 초 시가총액이 40조원이므로 대표적인 공유경제 기업인 UBER의 기업가치가 얼마나 높게 평가되었는지 알 수 있다. 이러한 공유경제의 높은 기업가치는 결국 공유경제 생태계를 구성하는 공유경제의 이용자와 공유경제의 공급자에 의해 생산된 가치라고 볼 수 있다. Shared economy is consumption trend and industrial trend that started with Airbnb, UBER, Zipcar, etc. as the economy of mutual consumption. In 2007, none of the companies with the highest enterprise value introduced a shared economy, but the shared economy was greatly revived with the public life approaching the public life for 10 years after the start of the Airbnb in 2008. UBER's corporate value was estimated at $ 48 billion, as it was settled during the acquisition of 15 percent of UBER's stake in Softbank, which was completed in early 2018. The market cap of Hyundai Motor, the second largest company in the KOSPI, is worth W40trn in early 2018, so we can see how high the corporate value of UBER is. The high enterprise value of the shared economy can be regarded as the value produced by the users of the shared economy and the suppliers of the shared economy that constitute the shared economic ecosystem.

하지만, 현대의 공유경제에는 공유경제의 가치에 상당부분 기여한 공유경제의 이용자와 공급자에게 균등하게 배분되지 않는다는 문제가 있다. 모든 이익은 공유경제 플랫폼을 운영하는 운영자들이 취하게 된다. 예를 들어, UBER의 전 CEO인 트래비스 캘러닉은 올해 초에 진행된 소프트뱅크의 UBER 지분 인수 과정에서 자신의 보유 주식 중 29%를 소프트뱅크에 매각하였는데, 이는 14억 달러(한화 약 1조 5천억원)에 달한다. 반면에 UBER의 생태계를 구성하는 공급자인 운전기사의 연소득은 2016년 약 2만달러 수준(일주일 40시간 근무 기준, 예를 들어, 디트로이트 지역의 경우 시간당 평균 약 8.77달러)이었다. However, there is a problem in the modern shared economy that it is not evenly distributed to the users and suppliers of the shared economy that have contributed a great deal to the value of the shared economy. All profits are taken by operators who run a shared economic platform. For example, former UBER CEO Travis Calneric sold 29% of his shares to Softbank during the acquisition of Softbank's UBER stake earlier this year, including $ 1.4 billion (about $ 1.5 trillion) ). On the other hand, the annual income of drivers who make up the UBER ecosystem is about $ 20,000 (40 hours a week, for example, about $ 8.77 per hour in the Detroit area) in 2016.

대한민국 등록특허, 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

기존 공유경제의 위와 같은 문제를 해결하기 위해서는 공유경제에 블록체인을 도입하는 것이 바람직하다. 블록체인은 중개인 없이 안전하고 분권화된 방식으로 소프트웨어를 운영할 수 있는 기술이다. 블록체인을 이용하면 집중화된 서버 상에서 공유경제 플랫폼이 실행될 필요가 없다. 블록체인 기술 기반의 공유경제 플랫폼이 구현될 수 있다면, 공유경제가 어느 하나의 주체에 의해 통제되지 않고 개인 간 네트워크 상에서 운영될 수 있게 된다. In order to solve the above problems of the existing shared economy, it is desirable to introduce a block chain into the shared economy. Block chaining is a technology that can run software in a secure and decentralized way without intermediaries. With a block chain, a shared economic platform does not need to run on a centralized server. If a shared economic platform based on block-chain technology can be implemented, the shared economy can be operated on an inter-personal network without being controlled by any one entity.

하지만, 공유경제가 블록체인 위에서 운영되도록 만드는 것은 기술적인 어려움이 있다. 공유경제가 블록체인 위에서 운영되는 경우, UBER와 같이 생태계를 관리하는 운영주체가 부재하기 때문에 예약의 중첩 문제, 리스팅(listing) 문제, 에스크로 문제 등이 발생될 수 있다. 특히, 기존의 블록체인의 토큰 표준은 이더리움의 ERC20과 같이 대체가능한 토큰(Fungible Token)으로 구성되게 되는데, 이러한 대체 가능한 토큰들을 이용하여 공유경제의 다양한 공유재화들을 블록체인 내에서 관리하는 것은 매우 어려운 일이다. However, making the shared economy run on a block chain is technically difficult. When the shared economy is operated on a block chain, there may be an overlapping reservation problem, a listing problem, and an escrow problem because there is no operating entity for managing an ecosystem such as UBER. In particular, the token standard of the existing block chain is composed of replaceable tokens such as Etherium's ERC20. It is very difficult to manage various common goods of the shared economy in the block chain using these replaceable tokens It is difficult.

따라서, 본 발명의 목적은 위와 같은 문제를 해결하기 위해, 이용자와 공급자 사이의 중개자가 없으면서도 공유경제를 구축할 수 있는 공유경제를 위한, 공유경제의 공유재화를 블록체인 내에 등록하기 위한 분산 원장 장치 및 분산 원장 방법을 제공하는 데에 있다. SUMMARY OF THE INVENTION Accordingly, it is an object of the present invention to provide a distribution chain for registering shared goods in a shared economy in a block chain, for a shared economy in which a shared economy can be established without an intermediary between a user and a supplier, Apparatus and a distributed ledger method.

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

본 발명의 목적은, 특정 공유재화에 대한 계정인 공유재화 계정 및 복수의 스마트 계약 계정을 포함하는 블록체인을 저장하는 메모리 모듈; 및 상기 메모리 모듈과 동작 가능하도록 결합되고, 상기 공유재화 계정의 컴퓨터 판독 가능한 프로그램 코드를 실행하는 처리 모듈;을 포함하고, 상기 공유재화 계정의 상기 프로그램 코드는, 상기 블록체인 내의 상기 복수의 스마트 계약 계정 중 하나인 이용자 계정에서 특정 이용자의 이용 조건 정보 및 토큰 송금 정보를 포함한 조건부 토큰 송금 요청을 수신하는 조건부 토큰 송금 요청 수신 단계; 상기 조건부 토큰 송금 요청을 기초로 상기 이용 조건 정보 및 상기 토큰 송금 정보를 포함하는 조건부 토큰 송금 트랜잭션을 생성하여 상기 이용 조건 정보 및 상기 토큰 송금 정보를 상기 공유재화 계정에 저장하는 트랜잭션 생성 단계; 및 상기 조건부 토큰 송금 트랜잭션의 ID 또는 상기 조건부 토큰 송금 트랜잭션의 Hash 값을 기초로 키를 생성하여 상기 이용자 계정에 송신하는 키 생성 단계; 를 수행하는 컴퓨터 판독 가능한 프로그램 코드를 포함하며, 상기 조건부 토큰 송금 트랜잭션은 상기 이용자 계정에서 상기 블록체인 내의 상기 복수의 스마트 계약 계정 중 하나인 공급자 계정으로의 토큰 송금에 대한 정보인 상기 토큰 송금 정보 및 상기 특정 공유재화에 대한 정보인 특정 공유재화 정보를 포함하는 것을 특징으로 하는, 블록체인 기반의 공유경제를 위해 키를 생성하는 분산 원장 장치를 제공하여 달성될 수 있다. An object of the present invention is a memory module for storing a block chain including a shared goods account and a plurality of smart contract accounts which are accounts for a specific shared goods; And a processing module operatively coupled to the memory module, the processing module executing computer readable program code of the shared good account, wherein the program code of the shared good account comprises: Receiving a conditional token remittance request for receiving a conditional token remittance request including a use condition information of a specific user and token remittance information in a user account which is one of accounts; Generating a conditional token transfer transaction including the use condition information and the token transfer information based on the conditional token transfer request, and storing the use condition information and the token transfer information in the shared goods account; And generating a key based on the ID of the conditional token transfer transaction or the Hash value of the conditional token transfer transaction and transmitting the key to the user account; Wherein the conditional token remittance transaction is a token remittance transaction that is information on token transfer from the user account to a provider account that is one of the plurality of smart contract accounts in the block chain, And a distributed general ledger apparatus for generating a key for a block-chain-based shared economy, which includes specific shared asset information which is information on the specific shared asset.

또한, 생성된 상기 키는 Bar-code, QR Code, Color Code, RFID 또는 NFC의 식별자에 포함되어 상기 특정 공유재화를 이용하는 이용자의 식별에 이용되는 것을 특징으로 할 수 있다. The generated key may be included in an identifier of a bar code, a QR code, a color code, an RFID, or an NFC, and may be used for identifying a user using the specific common goods.

또한, 키 생성 단계는, 상기 공급자 계정으로 복호화 되도록 상기 조건부 토큰 송금 트랜잭션을 암호화하여 키를 생성하고 상기 이용자 계정에 송신하며, 생성된 상기 키는 Bar-code, QR Code, Color Code, RFID 또는 NFC의 식별자에 포함되어 상기 특정 공유재화를 이용하는 이용자의 식별에 이용될 수 있다. Also, the key generating step generates a key by encrypting the conditional token transfer transaction to be decrypted with the supplier account, and transmits the generated key to the user account, and the generated key is a bar code, a QR code, a color code, And can be used for identification of a user who uses the specific shared goods.

본 발명의 다른 목적은, 특정 공유재화에 대한 계정인 공유재화 계정 및 복수의 스마트 계약 계정을 포함하는 블록체인을 저장하는 분산 원장 장치가, 상기 블록체인 내의 상기 복수의 스마트 계약 계정 중 하나인 이용자 계정에서 특정 이용자의 이용 조건 정보 및 토큰 송금 정보를 포함한 조건부 토큰 송금 요청을 수신하는 조건부 토큰 송금 요청 수신 단계; 상기 분산 원장 장치가, 상기 조건부 토큰 송금 요청을 기초로 상기 이용 조건 정보 및 상기 토큰 송금 정보를 포함하는 조건부 토큰 송금 트랜잭션을 생성하여 상기 이용 조건 정보 및 상기 토큰 송금 정보를 상기 공유재화 계정에 저장하는 트랜잭션 생성 단계; 및 상기 분산 원장 장치가, 상기 조건부 토큰 송금 트랜잭션의 ID 또는 상기 조건부 토큰 송금 트랜잭션의 Hash 값을 기초로 키를 생성하여 상기 이용자 계정에 송신하는 키 생성 단계;를 포함하며, 상기 조건부 토큰 송금 트랜잭션은 상기 이용자 계정에서 상기 블록체인 내의 상기 복수의 스마트 계약 계정 중 하나인 공급자 계정으로의 토큰 송금에 대한 정보인 상기 토큰 송금 정보 및 상기 특정 공유재화에 대한 정보인 특정 공유재화 정보를 포함하는 것을 특징으로 하는, 블록체인 기반의 공유경제를 위해 키를 생성하는 분산 원장 방법을 제공하여 달성될 수 있다.It is another object of the present invention to provide a distributed ledger apparatus for storing a block chain including a shared goods account and a plurality of smart contract accounts which are accounts for specific shared goods, Receiving a conditional token remittance request for receiving a conditional token remittance request including a usage condition information of a specific user and token remittance information in an account; The distributed fund raising device generates a conditional token transfer transaction including the use condition information and the token transfer information based on the conditional token transfer request and stores the use condition information and the token transfer information in the shared goods account A transaction generation step; And generating a key based on the ID of the conditional token transfer transaction or the Hash value of the conditional token transfer transaction and transmitting the generated key to the user account, wherein the conditional token transfer transaction includes: The token transfer information and the specific shared goods information which are the information on the specific shared goods, which is information on the token transfer from the user account to the supplier account which is one of the plurality of smart contract accounts in the block chain, Based on shared block economy, which generates a key for a block chain-based shared economy.

또한, 생성된 상기 키는 Bar-code, QR Code, Color Code, RFID 또는 NFC의 식별자에 포함되어 상기 특정 공유재화를 이용하는 이용자와 상기 특정 공유재화를 공급하는 공급자의 상호 식별에 이용되는 것을 특징으로 할 수 있다. Also, the generated key is used for mutual identification between a user who uses the specific shared goods and a supplier that supplies the specific shared goods, which is included in an identifier of Bar-code, QR Code, Color Code, RFID or NFC can do.

또한, 상기 키 생성 단계는, 상기 공급자 계정으로 복호화 되도록 상기 조건부 토큰 송금 트랜잭션을 암호화하여 키를 생성하고 상기 이용자 계정에 송신하며, 생성된 상기 키는 Bar-code, QR Code, Color Code, RFID 또는 NFC의 식별자에 포함되어 상기 특정 공유재화를 이용하는 이용자의 식별에 이용될 수 있다. The key generation step may include generating a key by encrypting the conditional token transfer transaction to be decrypted by the supplier account, and transmitting the key to the user account, wherein the generated key is a bar code, a QR code, a color code, May be included in the identifier of the NFC and used for identifying the user using the specific shared goods.

또한, 상기 키 생성 단계는, 상기 공급자 계정의 Public Key 또는 Private Key로 복호화 되도록 상기 조건부 토큰 송금 트랜잭션을 암호화하여 상기 키를 생성하고 상기 이용자 계정에 송신하며, 생성된 상기 키는 식별코드 또는 근거리 통신의 식별자에 포함에 포함되어 상기 특정 공유재화를 이용하는 이용자의 식별에 이용될 수 있다. The generating of the key may include encrypting the conditional token transfer transaction so as to be decrypted with the public key or the private key of the provider account to generate the key and transmit the generated key to the user account, May be included in the identifier of the user and used to identify the user using the specific shared goods.

또한, 상기 키 생성 단계는, 상기 이용자 계정에서 상기 공급자 계정으로 확인 메시지를 송신하도록 요청하는 확인 메시지 요청을 상기 키로 생성하고, 생성된 상기 키는 식별코드 또는 근거리 통신의 식별자에 포함되어, 상기 이용자 계정에서 상기 공급자 계정으로 상기 확인 메시지를 송신하도록 구성되어 상기 특정 공유재화를 이용하는 이용자의 식별에 이용되며, 상기 확인 메시지는 쿼리 또는 메시지 트랜잭션인 것을 특징으로 할 수 있다.Also, the generating of the key may include generating a request message for requesting transmission of a confirmation message from the user account to the provider account using the key, the generated key being included in an identifier of the identification code or the short- Wherein the confirmation message is configured to transmit the confirmation message from the account to the provider account, and is used for identifying a user who uses the specific shared goods, and the confirmation message is a query or a message transaction.

본 발명의 다른 목적은, 특정 공유재화에 대한 계정인 공유재화 계정 및 복수의 스마트 계약 계정을 포함하는 블록체인을 저장하는 메모리 모듈; 및 상기 메모리 모듈과 동작 가능하도록 결합되고, 상기 공유재화 계정의 컴퓨터 판독 가능한 프로그램 코드를 실행하는 처리 모듈;을 포함하고, 상기 공유재화 계정의 상기 프로그램 코드는, 상기 블록체인 내의 상기 복수의 스마트 계약 계정 중 하나인 이용자 계정에서 특정 이용자의 이용 조건 정보 및 토큰 송금 정보를 포함한 조건부 토큰 송금 요청을 수신하는 조건부 토큰 송금 요청 수신 단계; 상기 조건부 토큰 송금 요청을 기초로 상기 이용 조건 정보 및 상기 토큰 송금 정보를 포함하는 조건부 토큰 송금 트랜잭션을 생성하여 상기 이용 조건 정보 및 상기 토큰 송금 정보를 상기 공유재화 계정에 저장하는 트랜잭션 생성 단계; 및 상기 조건부 토큰 송금 트랜잭션의 ID를 기초로 키를 생성하여 상기 이용자 계정에 송신하는 키 생성 단계; 를 수행하는 컴퓨터 판독 가능한 프로그램 코드를 포함하며, 상기 조건부 토큰 송금 트랜잭션은 상기 이용자 계정에서 상기 블록체인 내의 상기 복수의 스마트 계약 계정 중 하나인 공급자 계정으로의 토큰 송금에 대한 정보인 상기 토큰 송금 정보 및 상기 특정 공유재화에 대한 정보인 특정 공유재화 정보를 포함하고, 상기 이용자 계정의 클라이언트인 이용자 클라이언트에서 상기 키를 상기 이용자 계정의 개인키(Private Key)로 암호화하고 식별코드 또는 근거리 통신의 식별자에 포함하여 상기 특정 공유재화를 이용하는 이용자의 식별을 위해 상기 공급자 계정의 클라이언트인 공급자 클라이언트에 제공하고, 상기 공급자 클라이언트는 상기 이용자 계정의 공개키(Public Key)를 이용하여 상기 키를 복호화하여 상기 이용자를 식별하는 것을 특징으로 하는, 블록체인 기반의 공유경제를 위해 비대칭키 방식으로 이용자를 식별하는 분산 원장 장치를 제공하여 달성될 수 있다. Another object of the present invention is a memory module for storing a block chain including a shared goods account and a plurality of smart contract accounts which are accounts for a specific shared goods; And a processing module operatively coupled to the memory module, the processing module executing computer readable program code of the shared good account, wherein the program code of the shared good account comprises: Receiving a conditional token remittance request for receiving a conditional token remittance request including a use condition information of a specific user and token remittance information in a user account which is one of accounts; Generating a conditional token transfer transaction including the use condition information and the token transfer information based on the conditional token transfer request, and storing the use condition information and the token transfer information in the shared goods account; And generating a key based on the ID of the conditional token transfer transaction and transmitting the generated key to the user account; Wherein the conditional token remittance transaction is a token remittance transaction that is information on token transfer from the user account to a provider account that is one of the plurality of smart contract accounts in the block chain, The user client, which is a client of the user account, encrypts the key with the private key of the user account and includes the identification code or the identifier of the local communication in the user account of the user account To the provider client, which is a client of the supplier account, for identification of a user using the specific shared goods, and the provider client decrypts the key using the public key of the user account to identify the user And It can be achieved by providing a balancing ledger system to identify the user's asymmetric key method for sharing the economic blocks based chain.

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

첫째, 본 발명의 일실시예에 따르면, 운영주체와 같은 중개자 없이도 공유경제를 구축할 수 있는 효과가 발생된다.First, according to an embodiment of the present invention, it is possible to construct a shared economy without an intermediary such as an operating entity.

둘째, 본 발명의 일실시예에 따르면, 운영주체와 같은 중개자가 없으면서도 복수의 이용자에 의해 예약이 중첩되는 문제가 발생되지 않는 효과가 발생된다. Second, according to an embodiment of the present invention, there is no problem that the reservation is overlapped by a plurality of users without an intermediary such as an operating entity.

셋째, 본 발명의 일실시예에 따르면, 운영주체와 같은 중개자가 없으면서도 에스크로 기능이 가능해지는 효과가 발생된다.Third, according to an embodiment of the present invention, an escrow function can be performed without an intermediary such as an operating entity.

넷째, 본 발명의 일실시예에 따르면, 공유재화의 소유권이 변동되어도 공유경제의 전체 시스템에는 영향이 없는 효과가 발생된다. Fourth, according to one embodiment of the present invention, even if the ownership of the common good is changed, the entire system of the shared economy is not affected.

본 명세서에 첨부되는 다음의 도면들은 본 발명의 바람직한 실시예를 예시하는 것이며, 발명의 상세한 설명과 함께 본 발명의 기술사상을 더욱 이해시키는 것이므로, 본 발명은 그러한 도면에 기재된 사항에만 한정되어 해석되어서는 아니 된다.
도 1은 본 발명의 일실시예에 따른 분산 원장 장치를 도시한 모식도,
도 2는 다양한 노드의 형태를 도시한 모식도,
도 3은 본 발명의 일실시예에 따른 블록체인을 이용한 공유경제 시스템을 도시한 모식도,
도 4는 본 발명의 일실시예에 따른 데이터의 흐름을 도시한 흐름도,
도 5는 본 발명의 일실시예에 따른 공유재화 계정의 모식도,
도 6은 본 발명의 일실시예에 따른 공유재화 등록 트랜잭션 정보의 데이터 구조를 도시한 모식도,
도 7은 본 발명의 일실시에에 따른 공유재화 등록 방법을 도시한 흐름도,
도 8은 본 발명의 일실시예에 따른 조건부 토큰 송금 트랜잭션 정보의 데이터 구조를 도시한 모식도,
도 9는 본 발명의 일실시예에 따른 조건부 토큰 송금을 이용한 공유재화 이용 요청 방법을 도시한 것,
도 10은 본 발명의 일실시예에 따른 사용 승인을 특정 조건으로 하는 블록체인 기반의 공유경제를 위해 키를 생성하는 분산 원장 방법을 도시한 흐름도,
도 11은 본 발명의 트랜잭션 정보 송신 장치(2)와 분산 원장 장치(10)의 HTTP 통신을 도시한 모식도,
도 12는 본 발명의 일실시예에 따른 트랜잭션 정보 송신 장치가 특정 공유재화 사용 요청을 수신한 경우를 도시한 모식도,
도 13, 14는 본 발명의 일실시예에 따른 블록체인 기반의 공유경제를 위해 키를 생성하는 분산 원장 장치에 의해 적법 이용자가 식별되는 과정을 도시한 흐름도,
도 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 shared economic system using a block chain according to an embodiment of the present invention.
FIG. 4 is a flowchart showing a flow of data according to an embodiment of the present invention; FIG.
FIG. 5 is a schematic diagram of a shared goods account according to an embodiment of the present invention;
FIG. 6 is a schematic diagram illustrating a data structure of shared goods registration transaction information according to an embodiment of the present invention; FIG.
FIG. 7 is a flowchart showing a shared goods registration method according to an embodiment of the present invention;
FIG. 8 is a schematic diagram showing a data structure of conditional token transfer transaction information according to an embodiment of the present invention;
9 is a diagram illustrating a method of requesting the use of shared goods using conditional token remittance according to an embodiment of the present invention,
FIG. 10 is a flowchart illustrating a distributed ledger method for generating a key for a block-chain-based shared economy with specific conditions for use approval according to an exemplary embodiment of the present invention; FIG.
11 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.
FIG. 12 is a schematic diagram showing a case where a transaction information transmitting apparatus according to an embodiment of the present invention receives a request for using a specific shared material;
FIGS. 13 and 14 are flowcharts illustrating a process in which a legitimate user is identified by a distributed branching device that generates a key for a block-chain-based shared economy according to an embodiment of the present invention;
FIG. 15 is a flowchart illustrating a process in which a legitimate user is identified by a distributed branching device that generates a key for a block-chain-based shared economy according to another embodiment of the present invention.

이하 첨부된 도면을 참조하여 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자가 본 발명을 쉽게 실시할 수 있는 실시예를 상세히 설명한다. 다만, 본 발명의 바람직한 실시예에 대한 동작원리를 상세하게 설명함에 있어서 관련된 공지기능 또는 구성에 대한 구체적인 설명이 본 발명의 요지를 불필요하게 흐릴 수 있다고 판단되는 경우에는 그 상세한 설명을 생략한다.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 ledger generating key for shared chain-based economy

분산 원장 장치에 관하여, 도 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 a client together with the source code of a PC / mobile game 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)를 의미할 수 있다. 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은 본 발명의 일실시예에 따른 블록체인을 이용한 공유경제 시스템을 도시한 모식도이다. 도 3에 도시된 바와 같이, 본 발명의 일실시예에 따른 블록체인을 이용한 공유경제 시스템은 이용자 클라이언트(200), 공급자 클라이언트(320), Dapp(400), IPFS(410), 서버(420), DB(430), 블록체인(30)을 포함할 수 있다.3 is a schematic diagram illustrating a shared economic system using a block chain according to an embodiment of the present invention. 3, a shared economic system using a block chain according to an exemplary embodiment of the present invention includes a user client 200, a supplier client 320, a Dapp 400, an IPFS 410, a server 420, A DB 430, and a block chain 30.

이용자 클라이언트(200)는 공유경제의 공유재화 이용자가 Dapp(Decenteralized Application)을 이용하기 위한 스마트폰과 같은 클라이언트를 의미한다. The user client 200 means a client, such as a smart phone, for using the Denter (Decenteralized Application) by the users of the shared goods in the shared economy.

공급자 클라이언트(320)는 공유경제의 공유재화 공급자가 Dapp에 공유재화를 등록하고 공유재화의 사용을 허여하는 등의 공유경제 시스템을 이용하기 위한 스마트폰과 같은 클라이언트를 의미한다. Supplier client 320 refers to a client, such as a smartphone, for using a shared economic system, such as a shared goods supplier in a shared economy registering a shared item in Dapp and granting use of the shared item.

Dapp(400)은 공유경제 시스템의 Dapp과 같은 웹 프론트엔드(Web Frontend)를 의미하며, Dapp의 웹 프론트엔드는 HTML, CSS, 자바스크립트(web3js의 비중이 큼)의 조합으로 구성될 수 있다. 이용자 클라이언트(200)와 공급자 클라이언트(320)는 이 프론트엔드 애플리케이션을 통해 블록체인(30), IPFS(410), nodeJS 서버(420)와 상호작용하게 된다.Dapp (400) means a web frontend such as Dapp in a shared economy system, and Dapp's web front end can be composed of a combination of HTML, CSS, and JavaScript (a large proportion of web3js). The user client 200 and the supplier client 320 interact with the block chain 30, the IPFS 410, and the nodeJS server 420 through this front end application.

IPFS(410, InterPlanetary File System)는 모든 컴퓨팅 장치를 동일한 파일 시스템으로 연결하려고 하는 P2P 분산 파일 시스템이다. Git 레포지트리의 오브젝트를 교환하는 단일 비트토렌트 스웜 (파일의 고유 식별자와 파일을 소유하고 있는 피어 목록)으로도 볼 수 있다. 즉, IPFS는 Cotent의 해시값을 주소로 활용하는 content addressed 하이퍼 링크를 이용하여 높은 처리량을 가진 content addressed 블록 스토리지 모델을 제공한다. 이는 버전 관리되는 파일 시스템, 블록 체인, 영구적인 웹 페이지를 구축할 수 있는 자료 구조인 일반화된 Markle DAG의 형태를 가질 수 있다. IPFS는 분산 해시 테이블과 인센티브화된 블록 교환과 자체 인증 네임스페이스를 합친 것이다. IPFS를 활용하면 특정 노드의 예상치 못한 종료나 파괴에 의해서 단일 실패 지점이 발생되지 않으며, 각자의 노드들은 서로 신뢰할 필요가 없게 되는 효과가 발생된다. 본 발명의 일실시에에 따라 공급자가 공유경제 Dapp(400)에 상품을 올리면, 프론트엔드인 Dapp(400)은 상품 이미지 파일과 설명을 IPFS(410)에 업로드한 후 업로드된 파일의 해시를 블록체인(30) 및 DB(430)에 저장하게 된다. The InterPlanetary File System (IPFS) 410 is a P2P distributed file system that attempts to connect all computing devices to the same file system. It can also be viewed as a single bit torrent swarm (a unique identifier for a file and a list of peers that own the file) that exchanges objects in the Git repository. In other words, IPFS provides a high throughput content addressed block storage model using content addressed hyperlinks that utilize Cotent's hash value as an address. It can take the form of a generalized Markle DAG, a data structure that can build a versioned file system, a block chain, or a persistent web page. IPFS is a combination of a distributed hash table, an incentive block exchange, and a self-signed namespace. With IPFS, unexpected termination or destruction of a particular node will not cause a single point of failure, and each node will not need to trust each other. According to one embodiment of the present invention, when a supplier uploads a product to the shared economy Dapp 400, the front-end Dapp 400 uploads the product image file and the description to the IPFS 410, Chain 30 and DB 430, respectively.

서버(420)는 프론트엔드인 Dapp(400)이 DB(430)와 통신하기 위한 Off Chain의 백엔드 서버이다. API를 통해 프론트엔드에서 데이터베이스의 공유재화 정보를 쿼리하고 받을 수 있게 구성된다. 또한 DB(430)에서 다양한 조건으로 등록된 공유재화의 검색 및 리스팅(Listing)을 수행하는 구성이다. The server 420 is a back-end server of the Off Chain for communicating with the DB 430 by the front-end Dapp 400. The API is configured to allow the front end to query and receive shared material information from the database. In addition, the DB 430 performs a search and listing of shared goods registered under various conditions.

DB(430)는 서버(420)와 연결되어 공유재화의 정보를 저장하고 인덱싱하는 Off Chain 데이터베이스이다. 예를 들어, 몽고DB 등의 데이터베이스로 구성될 수 있다. 블록체인에 모든 공유재화를 올린다 해도, 공유재화를 Dapp(400) 상에서 디스플레이하고 다양한 필터를 적용할 때마다(특정 카테고리 상품만 보거나, 곧 마감되는 상품을 조회하는 등) 블록체인에 쿼리를 날리는 것은 비효율적이다. 따라서, 본 발명의 일실시예에서는 블록체인(30) 대신 Off Chain의 DB(430)를 사용해서 공유재화 정보를 저장하고 쿼리하게 된다. The DB 430 is an Off Chain database connected to the server 420 to store and index information on shared goods. For example, a database such as Mongolia DB. Displaying shared material on a Dapp (400), and querying the block chain every time you apply a variety of filters (such as viewing a specific category item, or viewing a deadline item, etc.) It is inefficient. Therefore, in an embodiment of the present invention, the DB 430 of the Off Chain is used instead of the block chain 30 to store and query the shared goods information.

블록체인(30)은 블록체인 기반의 공유경제를 위해 키를 생성하는 분산 원장 장치(1)의 메모리 모듈(12)에 저장되는 Linked List인 복수개의 블록으로 구성되어 있고, 특정 블록 이후부터는 공유재화 계정, 이용자 계정, 공급자 계정을 포함한다. 본 발명의 일실시예에 따른 블록체인(30)에 대해서는 이하에서 설명한다. The block chain 30 is composed of a plurality of blocks which are linked lists stored in the memory module 12 of the distributed general ledger device 1 for generating a key for a block economy based shared economy, Account, user account, supplier account. The block chain 30 according to an embodiment of the present invention will be described below.

도 4는 본 발명의 일실시예에 따른 데이터의 흐름을 도시한 흐름도이다. 도 4에 도시된 바와 같이, 블록체인(30)에는 이용자 계정(20), 공급자 계정(32)과 공유재화 계정(31)이 포함될 수 있다. 공유재화 계정(31)은 Smart Contract를 포함하는 CA(Contract Account)로 구성될 수 있고, 블록체인(30) 내에서 이용자 계정(20) 및 공급자 계정(32)에 연결되어 특정 공유재화에 대한 장부를 대표하고, 공유경제의 중재자 역할을 블록체인 내에서 수행하는 계정을 의미한다. 이용자 계정(20)은 EoA(External Owned Accouunt) 또는 CA(Contract Account)로 구성될 수 있고, 공유경제 서비스 이용자의 클라이언트와 연결되어 공유재화 계정(31)에 리스팅(Listing) 요청, 사용 요청(예약 요청을 포함), 조건부 토큰 송금, 이용자 평점 송신 등을 수행하는 계정을 의미한다. 공급자 계정(32)은 EoA(External Owned Accouunt) 또는 CA(Contract Account)로 구성될 수 있고, 공유경제 서비스 공급자의 클라이언트와 연결되어 공유재화 계정(31)에 공유재화를 등록하기 위한 공유재화 등록 요청, 공유재화의 사용을 승인하기 위한 사용 승인 요청, 이용자의 사용 시작을 기록하기 위한 사용 시작 확인, 이용자의 사용 종료를 기록하기 위한 사용 종료 확인, 토큰 수신, 공급자 평점 송신 등을 수행하는 계정을 의미한다. 4 is a flowchart illustrating a flow of data according to an embodiment of the present invention. As shown in FIG. 4, the block chain 30 may include a user account 20, a supplier account 32, and a shared goods account 31. The shared goods account 31 may be composed of a contract account (CA) including a Smart Contract and may be linked to the user account 20 and the supplier account 32 within the block chain 30, And an account that acts as a mediator in a shared economy within a block chain. The user account 20 can be composed of an EoA (External Owned Accouant) or a CA (Contract Account), and is connected to the client of the shared economic service user to request listing in the shared goods account 31, Request), conditional token remittance, user rating transmission, etc. The supplier account 32 may be comprised of an EoA (External Owned Accouant) or a CA (Contract Account), and may be connected to a client of the shared economic service provider to register a shared good in the shared good account 31 , An authorization request to approve the use of a shared item, an initiation confirmation to record the start of use by the user, an end-of-use confirmation to record the end-of-use of the user, a token reception, and a supplier rating transmission do.

도 5는 본 발명의 일실시예에 따른 공유재화 계정(31)의 모식도를 도시한 것이다. 도 5에 도시된 바와 같이, 공유재화 계정(31) 내에 포함되는 스마트 컨트랙트 프로그램 코드에는 토큰 수신 및 조건부 토큰 송금 함수를 포함한 조건부 토큰 모듈(312), 사용 요청 수신 및 승인 요청 함수를 포함한 사용 승인 모듈(313), 키 출력 함수를 포함한 키 출력 모듈(314), 사용 시작 확인 수신 함수를 포함한 사용 시작 확인 모듈(315), 사용 종료 확인 수신 함수를 포함한 사용 종료 확인 모듈(316), 이용자 평점 및 공급자 평점 수신 함수를 포함한 평점 수신 모듈(317) 등을 포함할 수 있다. FIG. 5 shows a schematic diagram of a shared goods account 31 according to an embodiment of the present invention. 5, the smart contract program code included in the shared goods account 31 includes a conditional token module 312 including a token receiving and conditional token transfer function, a usage approval module including a usage request reception and approval request function A key output module 314 including a key output function, a usage start confirmation module 315 including a usage start confirmation reception function, a usage end confirmation module 316 including a usage end confirmation reception function, a user rating and provider A rating receiving module 317 including a rating receiving function, and the like.

조건부 토큰 모듈(312)은 공유재화 계정(31) 내에 포함되고, 이용자 클라이언트(200)에서 이용자 계정(20)을 통해, 이용자 계정(20)에서 공급자 계정(32)으로의 특정 조건부의 토큰 송금 트랜잭션(tx, Transaction)이 생성되도록 요청(조건부 토큰 송금 요청)되는 경우, 특정 조건의 만족을 전제로 한 토큰 송금에 대한 트랜잭션을 공유재화 계정(31)에 생성 및 저장(메모리)하고 블록체인 분산 네트워크에 배포(Broadcast)하여 적어도 일부의 노드가 공유하게 하는 모듈을 의미한다. 특정 조건을 만족하는지 여부는 공유재화 계정(31)에서 판정하게 된다. 특정 조건이 만족되는 것으로 판정되는 경우, 특정 개수의 토큰을 이용자 계정(20)에서 삭제하고 특정 개수의 토큰을 공급자 계정(32)에 할당하게 된다. 특정 조건이 만족되는 경우의 토큰 상태 변경은 블록체인 분산 네트워크에 공유된다. 만일 특정 조건이 만족되지 않는 것으로 판정되는 경우, 토큰 송금 요청은 공유재화 계정(31)에 트랜잭션을 생성하지 못하고 이용자 계정(20)에 반환(Reject)될 수 있다. 특정 조건이 만족되지 않는 경우에는 블록체인 분산 네트워크에 공유될 토큰 상태 변경이 존재하지 않는다. 본 발명의 일실시예에 따르면, 토큰 송금 요청만으로 공유재화의 이용을 요청할 수 있게 되므로 중개인 역할을 수행하는 운영자 없이도 공유경제가 구동될 수 있는 효과가 발생된다. The conditional token module 312 is included in the shared goods account 31 and is used to send token transfer transactions of a particular condition from the user account 20 to the supplier account 32 via the user account 20 at the user client 200 (memorized) a transaction for token transfer based on the satisfaction of a specific condition in a shared commodity account 31 when a request for a conditional token transfer request (tx, Transaction) is generated (conditional token transfer request) To be shared by at least some of the nodes. Whether or not the specific condition is satisfied is judged by the shared goods account 31. [ If it is determined that certain conditions are met, then a certain number of tokens will be deleted from the user account 20 and a certain number of tokens will be assigned to the provider account 32. The token state changes when certain conditions are satisfied are shared among the block chain distributed networks. If it is determined that a certain condition is not satisfied, the token remittance request can not be created in the shared good account 31 and may be returned to the user account 20 (Reject). If certain conditions are not met, there is no token state change to be shared in the block-chain distributed network. According to the embodiment of the present invention, the use of the shared commodity can be requested only by the token remittance request, so that the shared economy can be driven without an operator performing the intermediary role.

본 발명의 일실시예에 따른 특정 조건은 이용자 적법 여부, 공유재화 가용성, 공유재화 DB정보 무결성, 공급자 사용 승인 여부 등의 조건을 포함할 수 있다. 이용자 적법 여부는 이용자 계정 주소에 대한 블랙 리스트(Black List), 화이트 리스트(White List) 또는 이용자 정보에 대한 별도의 조건이 존재하는 경우, 각 조건을 만족하는 이용자인지 여부를 판정하는 조건을 의미한다. 공유재화 가용성은 공유재화 계정(31)에 등록된 트랜잭션에 함께 저장된 공유재화 이용 정보에 기초하여 해당 공유재화가 이용 가능한 상태인지를 판정하는 조건을 의미한다. 공급자 사용 승인 여부는 공급자 클라이언트(320)가 해당 이용자 클라이언트(200)의 사용 요청(예를 들어, 토큰 송금 트랜잭션 요청이나 사용 요청)에 대하여 사용을 승인하는 트랜잭션이 공유재화 계정(31)에 생성되었는지 여부를 판정하는 조건을 의미한다. 이와 관련하여, 아래에서 사용 승인 모듈(313)에 대해 자세히 기술한다. The specific conditions according to an exemplary embodiment of the present invention may include conditions such as whether the user is legal, common goods availability, integrity of common goods DB information, approval of supplier use, and the like. Whether or not the user is legitimate means the condition for judging whether or not the user satisfies each condition when there is a black list, a white list or a separate condition for the user information for the user account address . The shared product availability means a condition for determining whether or not the shared goods are available based on the shared goods usage information stored together with the transaction registered in the shared goods account 31. [ Whether or not the use of the provider is approved may be determined by whether or not the transaction that the supplier client 320 approves use for the use request (for example, the token transfer transaction request or use request) of the corresponding user client 200 is created in the shared goods account 31 Quot; or " whether " In this regard, the use approval module 313 will be described in detail below.

사용 승인 모듈(313)은 공유재화 계정(31) 내에 포함되고, 본 발명의 일실시예에 따라 상기 특정 조건에 공급자의 사용 승인이 포함되는 경우에 이용된다. 사용 승인 모듈(313)은 이용자 계정(20) 또는 이용자 클라이언트(200)으로부터 사용 요청(예를 들어, 조건부 토큰 송금 요청)을 수신하면 공급자 계정(32) 또는 공급자 클라이언트(320)에 사용 승인 요청을 송신하고, 이후 공급자 계정(32)으로부터 사용 승인을 수신하는 모듈이다. 사용 승인 모듈(313)이 공급자 계정(32)으로부터 사용 승인을 수신하면, 공유재화 계정(31)은 수신된 토큰 송금 요청에 대응되는 트랜잭션 중 토큰 송금을 제외하고 사용 승인의 상태 변경에 대해서만 먼저 트랜잭션을 생성하고 메모리에 저장한 뒤 배포할 수 있다. 본 발명의 일 실시예에 따라 사용 승인에 대한 트랜잭션이 배포되면 Dapp(400)에서 해당 공유재화에 대해 특정 기간(공유재화 이용정보)에 특정 이용자에게 사용이 승인되었다는 업데이트가 가능해지는 효과가 발생된다. 이에 따라 공유재화의 중복 예약이 방지되는 효과가 발생된다. 본 발명의 일실시예에 따른 사용 승인 모듈(313)에 따르면, 중개 운영자가 없는 블록체인 공유경제 생태계에서도 이용자 및 공급자 평점 시스템이 구현될 수 있게 되는 효과가 발생된다. The use approval module 313 is included in the shared goods account 31 and is used when the use condition of the supplier is included in the specific condition according to an embodiment of the present invention. The use approval module 313 receives a usage approval request (for example, a conditional token transfer request) from the user account 20 or the user client 200 to the provider account 32 or the provider client 320 And then receives a usage authorization from the supplier account 32. [ When the use approval module 313 receives the use approval from the supplier account 32, the shared goods account 31 transfers only the change of status of use approval except the transfer of the token among the transactions corresponding to the received token transfer request, Can be created and stored in memory and distributed. According to an embodiment of the present invention, when a transaction for use approval is distributed, an effect that an update that a usage is approved for a specific user for a specific period (shared use information) for the shared product is enabled in the Dapp 400 . This results in an effect of preventing overlapping reservation of the shared goods. According to the use approval module 313 according to an embodiment of the present invention, the user and supplier rating system can be implemented even in a block-chain shared economic ecosystem without an intermediary operator.

키 출력 모듈(314)은 공유재화 계정(31) 내에 포함되고, 조건부 토큰 모듈(312)에서 상기 특정 조건이 만족되는 것으로 판정되거나, 만족되는 것으로 판정된 이후에 사용 승인 모듈(313)에서 공급자의 사용 승인까지 수신하는 경우, 동적으로 생성되는 키를 출력하여 이용자 클라이언트(200) 또는 공급자 클라이언트(320)에 송신하는 모듈이다. 본 발명의 일실시예에 따른 키는 조건부 토큰 송금 요청, 조건부 토큰 송금 트랜잭션의 ID나 Hash, 특정 조건(또는, 이용 조건 정보), 이용자 계정 주소 또는 공급자 계정 주소의 Hash 값을 기초로 생성될 수 있고, 이용자와 공급자는 이러한 키 값을 기초로 하여 Bar-code, QR Code, Color Code와 같은 식별 코드, RFID, NFC, BLE와 같은 근거리 통신 등의 구현에 식별자로서 이용될 수 있다. 또한, 공급자 계정의 개인키 또는 공개키로 복호화 되도록 상기 조건부 토큰 송금 트랜잭션(ID 또는 Hash 값)을 암호화하여 키를 생성하여 이용자 계정에 송신하고, 공급자는 공급자 계정의 개인키 또는 공개키로 이를 복호화하여 무결성을 확인할 수 있다. 본 발명의 일실시에에 따르면, 이용자가 특정 공유재화를 선택하여 토큰을 송금하고 키가 출력되면, 해당 키를 가지고 온라인/오프라인 식별/인증을 할 수 있게 되는 효과가 발생된다. 공급자도 해당 키를 통해 이용자를 식별하거나 인증할 수 있게 되는 효과가 발생된다. 본 발명의 일실시예에 따른 키에 의해 완전히 분산된 공유경제 시스템이 가능해지는 효과가 발생된다. The key output module 314 is included in the shared goods account 31 and is used by the use approval module 313 after the conditional token module 312 determines that the specific condition is satisfied or is satisfied, And outputs the dynamically generated key to the user client 200 or the provider client 320 when receiving the use approval. The key according to an embodiment of the present invention may be generated based on the conditional token transfer request, the ID or Hash of the conditional token transfer transaction, the specific condition (or usage condition information), the user account address, or the Hash value of the provider account address And the user and the supplier can be used as an identifier in the implementation of the identification code such as Bar-code, QR Code, Color Code, and short-distance communication such as RFID, NFC, and BLE based on the key value. Also, the conditional token transfer transaction (ID or Hash value) is encrypted so as to be decrypted with the private key or the public key of the provider account to generate a key and transmit it to the user account. The provider decrypts the transaction with the private key or the public key of the provider account, can confirm. According to one embodiment of the present invention, when a user selects a specific commodity and remits the token and outputs the key, online / offline identification / authentication can be performed with the corresponding key. The provider can also identify and authenticate the user through the corresponding key. The effect that the shared economic system, which is completely dispersed by the key according to the embodiment of the present invention, becomes possible.

또한, 본 발명의 일실시예에 따르면, 이용자 클라이언트(200)에는 이용자 키를 출력하고, 공급자 클라이언트(320)에는 공급자 키를 출력하도록 구성될 수 있다. 공급자 키와 이용자 키는 비대칭 키 시스템으로 구성될 수 있으며, 공급자 키는 공급자 계정 주소를 공개키(Public Key)로 구성될 수 있고, 이용자 키를 개인키(Private Key)로 구성할 수 있다. 본 발명의 일실시예에 따르면, 이용자가 공유재화의 사용을 위하여 공급자와 대면하고, 공급자 클라이언트가 이용자 키를 수신하면 조건부 토큰 송금 요청 및 특정 조건의 Hash 값을 공개키(Public Key)인 공급자 키로 암호화한 값을 개인키(Private Key)인 이용자 키로 복호화하여 조건부 토큰 송금 요청 및 특정 조건의 Hash 값이 맞는지 확인하는 방식으로 이용자 키를 검증할 수 있다. Also, according to an embodiment of the present invention, the user client 200 may be configured to output a user key and the supplier client 320 may output a supplier key. The supplier key and the user key can be configured as an asymmetric key system. The supplier key can be configured with a public key (a public key) and a user key with a private key. According to an embodiment of the present invention, when a user faces a provider for use of a shared item, and the provider client receives the user key, the conditional token transfer request and the hash value of the specific condition are transmitted as a provider key The user key can be verified by decrypting the encrypted value with a user key which is a private key (private key) and requesting a conditional token transfer and checking whether the hash value of the specific condition is correct.

또한, 본 발명의 다른 실시예에 다르면, 키 생성은, 상기 이용자 계정에서 상기 공급자 계정으로 서명된 확인 메시지를 송신하도록 요청하는 확인 메시지 요청을 키로 생성하도록 구성될 수 있다. 이에 따르면, 생성된 상기 키는 식별코드 또는 근거리 통신의 식별자에 포함되어, 상기 이용자 계정에서 상기 공급자 계정으로 상기 확인 메시지를 송신하도록 요청하는 명령이 블록체인 내에서 실행되도록 구성되어 상기 특정 공유재화를 이용하는 이용자의 식별에 이용되는 효과가 발생된다. 특히, 상기 확인 메시지는 쿼리 또는 메시지 트랜잭션으로 구성될 수 있다. 이에 따르면, 별도의 암호화 없이도 이용자의 식별이 검증될 수 있는 효과가 발생된다. Also, according to another embodiment of the present invention, the key generation can be configured to generate a confirmation message request as a key requesting to transmit a confirmation message signed with the provider account in the user account. According to this, the generated key is included in the identifier of the identification code or the short-range communication, and the command requesting to transmit the confirmation message from the user account to the provider account is configured to be executed in the block chain, An effect to be used for the identification of the user who uses it is generated. In particular, the confirmation message may comprise a query or message transaction. According to this, an effect that the identification of the user can be verified without additional encryption is generated.

또한, 본 발명의 다른 실시예에 따르면, 공유재화에도 동일한 블록체인 내의 계정이 각각 부여되어 공급자 계정과의 통신 없이도 공유재화 계정에서 이러한 적법 이용자의 식별이 가능해지도록 구성될수도 있다. According to another embodiment of the present invention, an account in the same block chain may also be assigned to the shared goods, so that the legitimate user can be identified in the shared goods account without communication with the supplier account.

본 발명의 일실시예에 따르면, 이용자의 공유재화에 대한 실제 사용 여부가 상기 토큰 송금에 대한 상기 특정 조건이 될 수 있다. 이와 관련하여, 이하에서 사용 시작 확인 모듈(315)과 사용 종료 확인 모듈(316)을 살펴본다.According to one embodiment of the present invention, the actual use of the user ' s shared goods may be the specific condition for the token transfer. In this regard, the use start confirmation module 315 and the use end confirmation module 316 will be described below.

사용 시작 확인 모듈(315)은 공유재화 계정(31) 내에 포함되고, 키가 출력된 이후에 이용자가 실제로 공유재화를 시작하였다는 점을 블록체인에 기록하는 트랜잭션을 생성하는 모듈이다. 본 발명의 일실시예에 따른 사용 시작 확인 모듈(315)은 공급자 클라이언트(320)에서 이용자 키의 검증이 완료된 시점을 사용 시작 시간으로 판정할 수 있다. 이에 따르면, 공급자가 자의적으로 공유재화 사용 시작을 블록체인에 기록하는 것이 불가능해지므로 보다 신뢰성 높은 블록체인 공유경제가 구현될 수 있는 효과가 발생된다. The use start confirmation module 315 is included in the shared goods account 31 and is a module for creating a transaction that records in the block chain that the user actually started the shared goods after the key is output. The use start confirmation module 315 according to an embodiment of the present invention may determine the time when the verification of the user key is completed in the supplier client 320 as the use start time. According to this, it becomes impossible for the supplier to record the commencement of the use of the commodities on the block chain, so that a more reliable block chain shared economy can be realized.

사용 종료 확인 모듈(316)은 공유재화 계정(31) 내에 포함되고, 이용자가 공유재화의 사용을 종료하였다는 점을 블록체인에 기록하는 트랜잭션을 생성하는 모듈이다. 본 발명의 일실시에에 따른 사용 종료 확인 모듈(316)은 공급자 계정(32) 또는 공급자 클라이언트(320)에서 공유재화 계정(31)으로 사용 종료 확인 모듈(316)을 호출하는 요청을 수신하여 사용 종료 확인 트랜잭션을 생성하도록 구성될 수 있다. 본 발명의 일실시예에 따라 이용자의 사용 시작 및 사용 종료를 조건으로 토큰 송금이 진행되게 되는 경우, 이용자의 공유재화 사용 이후에 토큰이 송금되게 되어, 실제로 이용자가 이용하지 않은 경우에 적어도 일부의 토큰이 반환되는 공유경제 시스템도 구현이 가능해지는 효과가 발생된다. 또한, 본 발명의 다른 실시예에 따르면, 조건부 토큰 송금 요청에서 공급자의 사용 승인의 수신 만으로 토큰 송금을 진행하고, 사용 시작과 사용 종료는 별도의 트랜잭션으로 저장할 수 있다. The use termination confirmation module 316 is a module that is included in the shared goods account 31 and generates a transaction that records in the block chain that the user has finished using the shared goods. The use termination confirmation module 316 according to an embodiment of the present invention receives a request to invoke the use termination confirmation module 316 from the supplier account 32 or the supplier client 320 to the shared commodity account 31 May be configured to generate a termination confirmation transaction. According to an embodiment of the present invention, when the token transfer proceeds on condition that the user starts using and terminating the use, the token is remitted after the user uses the common goods, so that at least a part The shared economic system in which tokens are returned can also be implemented. According to another embodiment of the present invention, in the conditional token transfer request, the token transfer may be performed only by receiving the use approval of the supplier, and the start and end of use may be stored as separate transactions.

평점 수신 모듈(317)은 이용자 및 공급자 중 적어도 하나의 상대방에 대한 평점을 수신하고 블록체인에 기록하는 트랜잭션을 생성하는 모듈이다. 본 발명의 일실시예에 따른 평점 수신 모듈(317)에 의해 블록체인 공유경제에 평점 시스템을 구현할 수 있게 되는 효과가 발생된다. 본 발명의 일실시예에 따른 평점 수신 모듈(317)은 사용 종료 확인 모듈(316)에서의 사용 종료 확인을 조건으로 이용자 및 공급자에게 평점을 요청/수신할 수 있다. The rating receiving module 317 is a module that receives a rating for at least one party of a user and a supplier and generates a transaction to record in a block chain. The rating receiving module 317 according to the embodiment of the present invention can implement the rating system in the block chain shared economy. The rating receiving module 317 according to an embodiment of the present invention can request / receive ratings from the user and the supplier on condition that the use end confirmation module 316 confirms the end of use.

이러한 스마트 계약의 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 ". These Smart Contract codes can be converted into Byte Code through the Compile process. Byte code can be 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.

FunctionSignature는 Contract 함수 호출 시 인터페이스로 이용되는 것이고, Contract 함수 이름을 SHA3 암호 해시 함수로 해시한 4바이트 값의 Hash값이다.FunctionSignature is used as an interface in the contract function call, and is a 4-byte Hash value hash of the contract function name as a 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]로 구분될 수 있다. 본 발명의 일실시예에 따른 공유재화 계정의 코드도 공유재화 계정 생성, 공유재화 등록 메시지 트랜잭션, 리스팅 요청(Query) 등으로 구분될 수 있다.The Smart Contract Code can be classified into [Creation / Deployment] [Invoke by Message] [Call]. The code of the shared commodity account according to an embodiment of the present invention can also be classified into a shared commodity account creation, a shared commodity registration message transaction, and a listing request (Query).

도 6은 본 발명의 일실시예에 따른 공유재화 계정 생성 트랜잭션 정보의 데이터 구조를 도시한 모식도이다. 도 6에 도시된 바와 같이, 본 발명의 일실시예에 따른 메모리 모듈(12)은 전부 또는 일부의 블록체인을 저장할 수 있고, 각 블록 헤더에는 앞 블록 헤더의 해시 값(hash), 해답 값(nonce), 트랜잭션 그룹의 해시 값과 그 밖에 생성된 시간에 대한 정보인 Timestamp, 채굴 난이도를 의미하는 Difficulty, 블록의 넘버를 의미하는 Block Number등이 포함될 수 있다. 각 블록 바디(Contents)에는 적어도 하나 이상의 트랜잭션 정보(예를 들어, 본 발명의 일실시예에 따른 공유재화 계정 생성 트랜잭션, 조건부 토큰 송금 트랜잭션)가 포함될 수 있다.FIG. 6 is a schematic diagram illustrating a data structure of shared goods account creation transaction information according to an embodiment of the present invention. 6, the memory module 12 according to an exemplary embodiment of the present invention may store all or part of a block chain. In each block header, a hash value (hash) of a previous block header, an answer value nonce), a hash value of a transaction group and other generated information such as a timestamp, Difficulty indicating difficulty of mining, and a block number indicating a number of a block. Each block body may include at least one transactional information (e.g., a shared good account creation transaction according to one embodiment of the present invention, a conditional token transfer transaction).

공유재화 계정(31)의 생성을 위한 공유재화 계정 생성 트랜잭션 정보에는, address는 포함되지 않을 수 있고, 본 발명의 일실시예에 따른 스마트 계약의 일종인 공유재화 계정의 코드(예를 들면, Byte code)를 포함할 수 있다. 공유재화 계정 생성 트랜잭션 정보를 블록에 저장하고 실행하게 되면, 해당 스마트 계약에 대한 계약 계정(Contract account)의 일종인 공유재화 계정의 주소가 생성되고 블록에 저장된다. 이때, 공유재화 계정에는 조건부 토큰 송금 요청에 대한 스마트 계약의 함수와 공유재화 정보(예를 들어, 공유재화가 저장되어 있는 IPFS의 해시 주소, 공유재화 정보 해시값), 공급자 정보(예를 들어, 공급자 계정 주소)와 같은 공유재화 정보가 포함될 수 있다. 생성된 공유재화 계정이 블록에 저장되면, 블록체인 분산 네트워크에 global 하게 배포되어 블록체인 분산 네트워크의 모든 노드가 새로운 공유재화 계정의 생성에 의한 상태변경을 공유할 수 있다. In the shared goods account creation transaction information for creation of the shared goods account 31, an address may not be included, and a code of a shared goods account (e.g., Byte), which is a type of smart contract according to an embodiment of the present invention code. Shared Goods Account Creation When transaction information is stored and executed in a block, the address of the shared goods account, which is a type of contract account for the smart contract, is created and stored in the block. At this time, the shared goods account includes a smart contract function for the conditional token transfer request and shared property information (for example, a hash address of the IPFS in which the shared goods are stored, a shared goods information hash value), supplier information (for example, Supplier account address). ≪ / RTI > If the created shared goods account is stored in a block, all the nodes in the distributed chain that are block-chained and distributed globally to the block-chain distributed network can share state changes due to the creation of the new shared goods account.

도 7은 본 발명의 일실시에에 따른 공유재화 계정 생성 방법을 도시한 흐름도이다. 도 7에 도시된 바와 같이, 본 발명의 일실시예에 따르면 아래의 단계로 공유재화 계정이 생성될 수 있다. 7 is a flowchart illustrating a method of generating a shared good account according to an embodiment of the present invention. As shown in FIG. 7, according to an embodiment of the present invention, a shared goods account can be created in the following steps.

(1) 공급자 클라이언트(320)에서 Dapp(400)으로 공유재화 정보(이미지, 설명, 공급자 정보)를 포함하는 공유재화 계정을 생성하는 요청을 송신(1) the supplier client 320 sends a request to the Dapp 400 to create a shared good account that contains shared good information (image, description, supplier information)

(2) Dapp(400)에서 IPFS(410)에 공유재화 정보의 이미지와 설명의 저장을 요청(2) the Dapp 400 requests the IPFS 410 to store images and descriptions of the shared good information

(3) IPFS(410)에서 Dapp(400)에 공유재화 정보의 해시값(이미지 해시값과 설명 해시값)을 반환(3) The IPFS 410 returns the hash value (image hash value and hash value) of the shared good information to the Dapp 400

(4) Dapp(400)에서 공유재화 정보를 데이터베이스에 저장하도록 서버(430)에 요청(4) requesting the server 430 to store the shared good information in the database at the Dapp 400

(5) 서버(420)에서 공유재화 정보를 DB(430)에 저장(5) The server 420 stores the shared goods information in the DB 430

(6) Dapp(400)에서 공유재화 정보의 해시값, 공급자 계정 정보, 공유재화 가용기간 정보, 가격 정보 등을 포함한 공유재화 계정 생성 트랜잭션을 블록체인(30)에 저장하도록 메시지 트랜잭션 송신(6) A message transaction is sent to the Dapp 400 to store the shared commodity account creation transaction including the hash value of the shared commodity information, supplier account information, shared commodity availability period information, price information,

위와 같은 단계에 의해 다양한 공유경제 시스템이 본 발명의 일실시예에 따른 공유재화 계정을 포함한 블록체인 위에 구현될 수 있는 효과가 발생된다. 이에 따르면, 특정 공유재화에 대해 소유자가 변경되더라도 새롭게 공유재화를 등록하지 않아도 전체적인 공유경제 시스템의 구동이 유지될 수 있는 효과가 발생된다. With the above steps, various shared economic systems can be implemented on a block chain including shared goods accounts according to an embodiment of the present invention. According to this, even if the owner is changed for the specific common goods, the entire shared economy system can be maintained without registering the new common goods.

*도 8은 본 발명의 일실시예에 따른 조건부 토큰 송금 트랜잭션 정보의 데이터 구조를 도시한 모식도이다. 도 8에 도시된 바와 같이, 본 발명의 일실시예에 따른 메모리 모듈(12)은 전부 또는 일부의 블록체인을 저장할 수 있고, 각 블록 헤더에는 앞 블록 헤더의 해시 값(hash), 해답 값(nonce), 트랜잭션 그룹의 해시 값과 그 밖에 생성된 시간에 대한 정보인 Timestamp(미도시), 채굴 난이도를 의미하는 Difficulty(미도시), 블록의 넘버를 의미하는 Block Number(미도시)등이 포함될 수 있다. 각 블록 바디(Contents)에는 적어도 하나 이상의 트랜잭션 정보(특히, 본 발명의 일실시예에 따른 조건부 토큰 송금 트랜잭션 정보)가 포함될 수 있다.8 is a schematic diagram showing a data structure of conditional token remittance transaction information according to an embodiment of the present invention. 8, the memory module 12 according to an exemplary embodiment of the present invention may store all or part of a block chain. In each block header, a hash value (hash) of a previous block header, an answer value 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) . Each block body may include at least one transaction information (in particular conditional token transfer transaction information according to an embodiment of the present invention).

이용자 계정(20)에서 공유재화 계정(31)에 특정 공유재화의 사용을 위해 조건부 토큰 송금 요청을 송신(메시지 트랜잭션)하면 조건부 토큰 송금 트랜잭션 정보가 생성 및 저장(메모리)되어 블록체인 내의 공유재화 계정(31)에 저장되게 된다. 도 8에 도시된 바와 같이, 조건부 토큰 송금 트랜잭션 정보에는, 공유재화 계정 주소 정보, 특정 조건에 대한 조건 정보(예를 들어, 이용자가 이용하고자 하는 이용 요청 날짜와 같은 이용 조건에 대한 정보), 해당 명령의 매개변수(parameter) 중 하나인 공유재화 정보(예를 들어, 공유재화가 저장되어 있는 IPFS의 해시 주소인 공유재화 정보 해시값), 이용자 정보(예를 들어, 이용자 계정 주소), 공급자 정보(예를 들어, 공급자 계정 주소), 토큰 정보(예를 들어, 토큰의 개수)를 포함할 수 있다. 공유재화 계정(31)이 조건부 토큰 송금 트랜잭션 정보를 생성하면 메모리에 저장하고 블록체인 분산 네트워크에 global 하게 배포하여 블록체인 분산 네트워크의 모든 노드에 조건부 토큰 송금 트랜잭션 정보 기록되면서 공유재화의 사용 승인에 의한 상태변경을 공유할 수 있다. The conditional token transfer transaction information is generated and stored (memorized) in the user account 20 when the conditional token transfer request is sent (message transaction) to the shared goods account 31 for use of the specific shared goods so that the shared goods account (31). As shown in FIG. 8, the conditional token transfer transaction information includes shared goods account address information, condition information on a specific condition (for example, information on a use condition such as a use request date that the user wants to use) (For example, a user account address), provider information (for example, a hash value of an IPFS in which a shared item is stored) that is one of parameters of an instruction, (E.g., provider account address), and token information (e.g., the number of tokens). When the shared goods account 31 generates the conditional token transfer transaction information, it stores it in the memory, and distributes the block chain to the distributed network globally, so that the conditional token transfer transaction information is recorded in all the nodes of the block chain distributed network. State changes can be shared.

도 9는 본 발명의 일실시예에 따른 조건부 토큰 송금을 이용한 공유재화 이용 요청 방법을 도시한 것이다. 도 9에 도시된 바와 같이, 본 발명의 일실시예에 따르면 아래의 단계로 공유재화의 사용이 신청될 수 있다. FIG. 9 illustrates a method of requesting use of shared goods using conditional token remittance according to an embodiment of the present invention. As shown in FIG. 9, according to an embodiment of the present invention, the use of shared goods can be applied to the following steps.

(1) 이용자 클라이언트(200)에서 Dapp(400)으로 특정 공유재화의 이용을 요청(이용자 계정에서 공유재화 계정으로의 조건부 토큰 송금 요청)(1) User client 200 requests Dapp (400) to use a specific shared item (requesting conditional token transfer from user account to shared goods account)

(2) Dapp(400)에서 해당 공유재화 이미지 정보 및 설명 정보를 서버(420)에서 수신한 뒤 Hash값(공유재화 정보 해시값)으로 변환(2) The server 420 receives the shared product image information and the description information from the Dapp 400, and converts the shared product image information and the description information into a Hash value (shared product information hash value)

(3) Dapp(400)에서 블록체인(30)의 공유재화 계정(Smart Contract)에 공유재화 정보 해시값을 포함한 조건부 토큰 송금 요청(메시지 트랜잭션의 형태)을 송신 (3) Dapp (400) sends a conditional token remittance request (in the form of a message transaction) including the shared goods information hash value to the shared goods account (Smart Contract) of the block chain (30)

(4) 공유재화 계정에서 공급자의 사용 승인 여부를 검증(특정 조건의 일실시예) (4) Verifying whether the use of the supplier is approved in the common goods account (one embodiment of a specific condition)

(5) 블록체인(30)에 저장된 스마트 컨트랙트인 공유재화 계정이 공유재화 정보 해시값으로 기존의 조건부 토큰 송금 트랜잭션을 검색(조건부 토큰 송금 트랜잭션의 경우, 공유재화의 사용이 종료되거나, 이용 요청의 기간이 과거인 경우에는 검색에서 제외할 수 있음. 또한, 공유재화 정보 해시값의 검색 가부를 통해 특정 공유재화 정보의 무결성을 검증)(5) Retrieves an existing conditional token transfer transaction with the shared goods information hash value stored in the block chain (30) (in the case of the conditional token transfer transaction, the use of the shared goods is terminated, If the period is past, it can be excluded from the search. Also, the integrity of the specific common goods information is verified through retrieval of the hash value of the common goods information)

(6) 공유재화 계정에서 검색된 기존의 조건부 토큰 송금 트랜잭션을 기초로 공유재화가 가용성 있는 공유재화인지 검증(특정 조건의 일실시예) (6) Verifying that the shared good is a common good that is available based on the existing conditional token transfer transaction retrieved from the shared good account (one embodiment of a specific condition)

(7) 공급자 사용 승인, 무결성 및 가용성의 검증이 만족된 경우, 조건부 토큰 송금 요청을 기초로 토큰 송금 트랜잭션을 생성한 뒤, 블록체인 분산 네트워크에 배포(7) If the validation of the supplier use approval, integrity and availability is satisfied, a token transfer transaction is created based on the conditional token transfer request, and then distributed to the block chain distributed network

공유경제 시스템을 블록체인으로 구현할 때 indexing을 위해 Off-Chain의 서버와 DB를 이용하게 되면 공유재화 시스템이 쉽게 변조될 수 있는 문제가 발생된다. 하지만, 본 발명의 일실시예에 따른 위의 각 단계에 따르면, DB, IPFS, 블록체인이 상호 의존관계를 갖게 되므로, DB의 변조가 발생되면 Dapp이 실행되지 않는 효과가 발생된다. When the off-chain servers and DBs are used for indexing when implementing the shared economic system as a block chain, the shared goods system can easily be modified. However, according to each of the above steps according to the embodiment of the present invention, the DB, the IPFS, and the block chain have mutual dependency, so that Dapp is not executed when the DB is modulated.

또한, 공유경제 시스템을 블록체인으로 구현하게 되면, 유효하지 않은 공유재화의 이용 요청이 이루어질 문제가 발생된다. 본 발명의 일실시예에 따른 위의 각 단계에 따르면 블록체인에 의해 공유재화의 최신성이 항상 업데이트되고 검증될 수 있으므로 유효하지 않은 공유재화의 이용 요청이 승인되고 블록체인에 기록되지 않는 효과가 발생된다. In addition, if the shared economic system is implemented as a block chain, a problem that an invalid shared resource use request is made occurs. According to each of the above steps according to the embodiment of the present invention, since the latestness of the shared goods can be always updated and verified by the block chain, the effect that the use request of the invalid shared goods is approved and not recorded in the block chain .

또한, 공유경제 시스템을 블록체인으로 구현할 때 이용자의 토큰을 송금받은 공급자가 공유경제 서비스를 제공하지 않는 경우, 특정 조건에 의해 환불조치가 필요한 경우, 이용자가 보유한 토큰의 양이 공유재화의 가격보다 적은 경우, 이용자가 적합하지 않은 토큰을 송금한 경우 등의 문제가 발생될 수 있다. 본 발명의 일실시예에 따른 위의 각 단계에 따르면 블록체인의 스마트 컨트랙트 상에서 에스크로 기능이 제공될 수 있는 효과가 발생된다.In addition, when a shared economic system is implemented in a block chain, if the provider who receives the user's token does not provide shared economic services, and if a refund is required under certain conditions, the amount of tokens held by the user is less than the price of the shared goods If the number is small, a problem such as a case where the user has sent an inappropriate token may occur. According to each of the above steps according to an embodiment of the present invention, an effect that an escrow function can be provided on the smart contract of the block chain is generated.

또한, 복수의 이용자가 동일한 공유재화에 대해 동일한 기간에 대하여 사용 요청을 하는 경우, 각 이용자의 조건부 토큰 송금 요청이 복수의 노드(분산 원장 장치)에 저장된 각각의 공유재화 계정에 송신되게 되는 문제가 발생된다. 하지만, 본 발명의 일실시예에 따른 위의 각 단계에 따르면 각각의 노드에서 공급자 클라이언트에 사용 승인을 각각 요청하게 되고 사용 승인이 진행되면 곧바로 전체 노드로 배포되게 되므로, 복수개의 조건부 토큰 송금 요청이 동시에 송신되어도 별도의 경로를 가지는 블록체인(하드포크)이 생성되지 않게 되는 효과가 발생된다. In addition, when a plurality of users make a use request for the same period of time for the same shared goods, the problem that the conditional token transfer request of each user is transmitted to each of the shared goods accounts stored in the plurality of nodes . However, according to each of the above steps according to the embodiment of the present invention, each node requests permission to use from the provider client and is distributed to all nodes as soon as the use approval is made. Therefore, a plurality of conditional token remittance requests An effect that a block chain (hard fork) having a separate path is not generated even if it is transmitted at the same time.

조건부 토큰 송금을 이용한 공유재화 이용 요청 방법의 (5), (6) 단계에서의 공유재화 가용성 검증은 아래의 단계로 진행될 수 있다. The verification of the availability of the common goods in steps (5) and (6) of the method of requesting the use of the common goods using the conditional token remittance can proceed to the following steps.

(1) 이용자가 공유재화를 이용하고자 하는 기간이 공유재화 계정에 저장된 가용기간 정보에서 공유재화의 이용이 가능하도록 설정된 기간인지 여부를 판정(1) judge whether or not the period for which the user wants to use the shared goods is a period set so as to enable the use of the shared goods in the available period information stored in the common goods account

(2) 다른 이용자가 해당 기간에 대해 먼저 이용을 요청한 것으로 기존의 조건부 토큰 송금 트랜잭션에 기록되어 있는지 여부를 판정(2) Determine whether another user has requested to use the period first and recorded in an existing conditional token transfer transaction

위의 단계에 의해 조건부 토큰 송금을 이용한 공유재화 이용 요청에서의 공유재화 가용성이 있는 것으로 판정되면 조건부 토큰 송금 요청의 특정 조건의 만족 여부를 판정하게 된다. 위의 단계에 의해 조건부 토큰 송금을 이용한 공유재화 이용 요청에서의 공유재화 가용성이 없는 것으로 판정되면, 공유재화 계정은 조건부 토큰 송금 요청을 이용자 계정에 반환하게 된다. If it is determined by the above step that the shared goods availability in the shared goods use request using the conditional token remittance is determined, the condition of the conditional token remittance request is satisfied or not. If it is determined by the above step that there is no shared commodity availability in the shared commodity use request using the conditional token remittance, the shared commodity account returns the conditional token remittance request to the user account.

또한, 복수의 이용자가 동일한 공유재화에 대해 동일한 기간에 대하여 사용 요청을 하는 경우 각 이용자의 조건부 토큰 송금 요청이 복수의 노드(분산 원장 장치)에 저장된 각각의 공유재화 계정에 송신되게 되는데, 공급자가 동일한 기간에 대한 조건부 토큰 송금 요청에 대해 사용 승인을 송신할 수 있게 되는 문제가 발생된다. 왜냐하면, 공급자 사용 승인의 수신은 트랜잭션 비용 때문에 전체 노드에 배포되어 진행되지 않고 조건부 토큰 송금 요청을 수신한 각각의 노드에 대해 진행되기 때문이다. 하지만, 본 발명의 일실시예에 따른 위의 (5) 단계에 따르면 사용 승인이 동일한 기간에 대해 중복되는지를 판정한 뒤에 조건부 토큰 송금 요청을 전체 노드로 배포되게 되므로, 공급자가 동일한 기간에 대해 사용 승인을 수행하더라도 복수개의 조건부 토큰 송금 요청이 동시에 송신되어도 별도의 경로를 가지는 블록체인(하드포크)이 생성되지 않게 되는 효과가 발생된다. Also, when a plurality of users make usage requests for the same period of time for the same shared goods, the conditional token transfer request of each user is transmitted to each of the shared goods accounts stored in the plurality of nodes (distributed languor apparatus) A problem arises that it is possible to send usage approvals for conditional token remittance requests for the same period. This is because receipt of the supplier use authorization proceeds for each node that received the conditional token transfer request rather than proceeding to the entire node because of transaction costs. However, according to the above step (5) according to the embodiment of the present invention, since the conditional token transfer request is distributed to all the nodes after determining whether the use approval is duplicated for the same period, Even if a plurality of conditional token remittance requests are transmitted at the same time, a block chain (hard fork) having a separate path is not generated.

도 10은 본 발명의 일실시예에 따른 사용 승인을 특정 조건으로 하는 블록체인 기반의 공유경제를 위해 키를 생성하는 분산 원장 방법을 도시한 흐름도이다. 도 10에 도시된 바와 같이, 본 발명의 일실시예에 따른 처리 모듈(11)의 블록체인 기반의 공유경제를 위해 키를 생성하는 분산 원장 방법은, 조건부 토큰 송금 요청 수신 단계(S10), 사용 승인 요청 단계(S11), 사용 승인 단계(S12), 조건부 토큰 송금 트랜잭션 생성 단계(S13), 배포 단계(S14)를 포함하여 트랜잭션 정보를 처리할 수 있다. 10 is a flowchart illustrating a distributed ledger method for generating a key for a block-chain-based shared economy with specific conditions for use approval according to an embodiment of the present invention. 10, a distributed ledger method for generating a key for a block-chain-based shared economy of the processing module 11 according to an embodiment of the present invention includes receiving a conditional token transfer request S10, The transaction information may be processed including the approval request step S11, the use approval step S12, the conditional token transfer transaction creation step S13, and the distribution step S14.

조건부 토큰 송금 요청 수신 단계(S10)는 공유재화 계정(31)이 이용자 계정(20)에서 조건부 토큰 송금 요청을 수신하는 단계이다. 조건부 토큰 송금 요청은 공유재화 계정(31)의 조건부 토큰 모듈(312)의 조건부 토큰 송금 함수를 호출하게 하는 요청을 의미한다. 본 발명의 일실시예에 따른 조건부 토큰 송금 요청 수신 단계(S10)에 의하면 특정 조건의 만족 이후에 공급자 계정(32)으로 토큰이 송금되게 되므로 중재 역할을 하는 운영 주체 없이도 에스크로가 가능해지는 효과가 발생된다. The conditional token transfer request receiving step S10 is a step in which the shared goods account 31 receives the conditional token transfer request from the user account 20. [ The conditional token remittance request is a request to cause the conditional token remitting function of the conditional token module 312 of the shared goods account 31 to be called. According to the step S10 of receiving the conditional token remittance request according to the embodiment of the present invention, since the token is remitted to the supplier account 32 after the satisfaction of the specific condition, the effect of escrowing becomes possible without the arbiter do.

사용 승인 요청 단계(S11) 및 사용 승인 단계(S12)는 조건부 토큰 송금 요청의 특정 조건 중 하나를 예시한 것이다.The use approval request step (S11) and the use approval step (S12) illustrate one of the specific conditions of the conditional token remittance request.

사용 승인 요청 단계(S11)는, 공유재화 계정(31)에서 공급자 계정(32) 또는 공급자 클라이언트(320)에 특정 공유재화에 대한 사용의 승인을 요청하는 단계이다. The use authorization request step S11 is a step of requesting the supplier account 32 or the supplier client 320 to approve the use of the specific common goods in the common goods account 31. [

사용 승인 단계(S12)는, 공급자 계정(32) 또는 공급자 클라이언트(320)에서 특정 공유재화에 대한 사용의 승인을 공유재화 계정(31)에 송신하는 단계이다. 사용 승인 단계(S12)에 의해 S10에서의 조건부 토큰 송금 요청의 특정 조건이 만족된다. The use approval step (S12) is a step of transmitting, in the supplier account (32) or the supplier client (320), approval of use for the specific common goods to the common goods account (31). The specific condition of the conditional token transfer request in S10 is satisfied by the use approval step (S12).

조건부 토큰 송금 트랜잭션 생성 단계(S13)는 공유재화 계정(31)에 조건부 토큰 송금 요청에 대한 트랜잭션을 생성하고 공유재화 계정(31)의 스토리지(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 (값)을 가질 수 있다. The conditional token transfer transaction creation step S13 is a step of creating a transaction for the conditional token transfer request in the shared goods account 31 and storing the transaction in the storage or memory of the shared goods account 31. [ 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 may not be able to read or write storage of contracts other than themselves. Memory can be configured as a space for getting the latest instance whenever Smart Contract has a 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, if a value of 1 is stored in a memory, it can be stored in a space of 32 bytes (256 bits). For example, the EVM contains a stack that can hold a total of 1024 instruction sets (OPCODEs) and can have a word value of 256 bits.

배포 단계(S14)는 조건부 토큰 송금 트랜잭션 생성 단계(S13)에 의해 변경된 상태(State)인 조건부 토큰 송금 트랜잭션 정보를 분산 원장 장치(1)가 블록체인 분산 네트워크(100)의 전체 노드로 배포하여 브로드캐스트하는 단계이다.The distributing step S14 distributes the conditional token transfer transaction information that is the state changed by the conditional token transfer transaction creating step S13 to all the nodes of the block chain distributed network 100 by the distributed general ledger 1, Casting.

본 발명의 일실시예에 따른 블록체인 기반의 공유경제를 위해 키를 생성하는 분산 원장 방법에 따르면, 조건부 토큰 송금 요청에 의해 적법하지 않은 공유재화 사용 요청, 가능하지 않은 공유재화 사용 요청에 대해 별도의 트랜잭션 생성, 저장 및 배포 비용없이 공유경제 생태계의 구현이 가능해지는 효과가 발생된다. According to the distributed ledger method for generating a key for a shared economy based on block chaining according to an embodiment of the present invention, a request for use of a shared good that is not illegal by a conditional token transfer request, The cost of creating a shared economic ecosystem without the cost of creating, storing, and distributing transactions.

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

본 발명의 일실시예에 따른 트랜잭션 정보 브로드캐스트 장치와 관련하여, 도 11은 본 발명의 트랜잭션 정보 송신 장치(2)와 분산 원장 장치(10)의 HTTP 통신을 도시한 모식도이다. 도 11에 도시된 바와 같이, 본 발명의 일실시예에 따른 트랜잭션 정보 브로드캐스트 장치는, 예를 들어, Solidity로 코딩되는 경우, JavaScript 기반의 Web3.Js API를 사용하고, 내부적으로는 JSON-RPC API를 사용할 수 있다. 이를 통해, Browser, Node.JS, Mist 등으로 트랜잭션 정보 송신 장치(2)를 구성할 수 있다. 트랜잭션 정보 송신 장치(2)의 주체는 EOA나 CA가 될 수 있다.11 is a schematic diagram showing HTTP communication between the transaction information transmitting apparatus 2 and the distributed general ledger 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. 11, 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.

도 11에 도시된 바와 같이, 본 발명의 일실시예에 따른 트랜잭션 정보 송신 장치(2)에서 공유재화 계정에 조건부 토큰 송금 트랜잭션을 저장하도록 조건부 토큰 송금 요청을 분산 원장 장치(1)에 JSON-RPC API를 이용하여 요청할 수 있다. 조건부 토큰 송금 요청(메시지 트랜잭션)을 수신한 분산 원장 장치(1)는 본 발명의 일실시예에 따른 블록체인 기반의 공유경제를 위해 키를 생성하는 분산 원장 방법에 따라 특정 조건의 만족 여부를 판정하여 조건이 만족되면 조건부 토큰 송금 트랜잭션을 공유재화 계정의 스토리지 또는 메모리에 난이도 정보로 저장한 뒤에 블록체인 분산 네트워크(100)에 배포(broadcast, propagation) 할 수 있다.11, a conditional token transfer request is sent to the distributed general ledger 1 to store a conditional token transfer transaction in the shared goods account in the transaction information transmitting apparatus 2 according to the embodiment of the present invention, It can be requested using API. Upon receiving the conditional token transfer request (message transaction), the distributed general ledger 1 judges whether the specific condition is satisfied or not according to the distributed ledger method of generating a key for a block economy based shared economy according to an embodiment of the present invention If the condition is satisfied, the conditional token transfer transaction can be stored in the storage or memory of the shared commodity account as difficulty information, and then broadcast and propagated to the block chain distributed network 100.

도 12는 본 발명의 일실시예에 따른 트랜잭션 정보 송신 장치가 특정 공유재화에 대한 이용 요청을 포함한 조건부 토큰 송금 요청을 수신한 경우를 도시한 모식도이다. 도 12에 도시된 바와 같이, 이용자 클라이언트에서 특정 공유재화에 대한 이용이 조건부 토큰 송금을 통해 요청되면, 사용자 클라이언트 및 서버를 통해 트랜잭션 정보 송신 장치(2)가 조건부 토큰 송금 요청을 블록체인 분산 네트워크(100)에 송신하도록 API가 구성되고, Core에서 조건부 토큰 송금 요청이 트랜잭션 정보로 생성된 뒤(트랜잭션 정보 생성 단계), 트랜잭션 정보 송신 장치의 비밀키로 서명된 트랜잭션 정보가 블록체인 분산 네트워크(100)의 특정 노드(분산 원장 장치,1)에 송신되게 된다(트랜잭션 정보 송신 단계). 이때, 특정 노드는 이용자 클라이언트 또는 공급자 클라이언트일 수 있다. FIG. 12 is a schematic diagram showing a case where a transaction information transmitting apparatus according to an embodiment of the present invention receives a conditional token transfer request including a use request for a specific shared item. As shown in FIG. 12, when the use of the specific shared goods by the user client is requested through the conditional token transfer, the transaction information transmitting device 2 transmits the conditional token transfer request to the block chain distributed network 100), and after the conditional token transfer request is generated as transaction information in the Core (transaction information generation step), transaction information signed with the secret key of the transaction information transmission apparatus is transmitted to the block chain distribution network 100 And is transmitted to a specific node (distributed resource device 1) (transaction information transmission step). At this time, the specific node may be a user client or a supplier client.

특정 노드(분산 원장 장치, 1)는 특정 조건을 만족하는 경우, 조건부 토큰 송금 트랜잭션을 블록체인에 저장해달라는 요청의 스마트 계약을 실행하게 된다(스마트 계약 실행 단계). 특정 노드에 저장된 조건부 토큰 송금 트랜잭션은 블록체인 분산 네트워크(100)로 배포되게 된다. A specific node (Distributed Ldap, 1) will execute a smart contract of the request to store the conditional token transfer transaction in the block chain (smart contract execution phase) if certain conditions are met. The conditional token transfer transaction stored at a specific node is distributed to the block-chain distributed network 100.

특정 노드에서 블록체인 분산 네트워크(100)로 배포된 조건부 토큰 송금 트랜잭션은 공유재화 계정의 메모리에 저장되어 있다가 해당 특정 노드 또는 다른 특정 노드가 새로운 블록(New block)을 마이닝(mining)하게 되면 해당 블록에 기록되게 된다.The conditional token transfer transaction distributed to the block chain distributed network 100 at a specific node is stored in the memory of the shared commodity account, and when the specific node or another specific node mining a new block, Block.

블록체인 기반의 공유경제를 위해 키를 생성하는 분산 원장 장치 및 방법Distributed ledger device and method for generating key for shared chain based economy

본 발명의 일실시예에 따른 분산 원장 장치는 키 출력 모듈(314)에 의해 생성된 키를 통해 해당 공유재화의 특정 이용 시간에 적법 이용자를 식별하도록 구성될 수 있다. The distributed scheduling device according to an embodiment of the present invention may be configured to identify a legitimate user at a particular usage time of the shared item via a key generated by the key output module 314. [

도 13, 14는 본 발명의 일실시예에 따른 블록체인 기반의 공유경제를 위해 키를 생성하는 분산 원장 장치에 의해 적법 이용자가 식별되는 과정을 도시한 흐름도이다. 도 13,14에 도시된 바와 같이, 이용자가 이용자의 클라이언트에 생성된 키를 보유한 채로 공유재화 또는 공급자에게 접근하게 되면 식별코드 또는 근거리 통신 등의 방식으로 공유재화의 클라이언트 또는 공급자의 클라이언트에 키가 송신될 수 있다. 송신된 키는 공유재화 클라이언트/공급자 클라이언트 상에서 공유재화 계정/공급자 계정의 Private Key(개인키 또는 비밀키)를 기초로 복호화 되어 피검증 트랜잭션 ID를 출력할 수 있다. 출력된 피검증 트랜잭션 ID는 이용자의 조건부 토큰 송금 트랜잭션에 의해 공유재화의 이용을 신청하며 생성된 기준 트랜잭션 ID와 비교되어 이용자의 적법 여부를 판정하도록 구성될 수 있다. 예를 들어, 도 13과 같이 적법 이용자로 판정되게 되는 경우, 공유재화 클라이언트에서 자동으로 공유재화의 이용이 가능하도록 unlock 제어가 될 수 있다. 또는 도 14와 같이 부적법 이용자로 판정되게 되는 경우, 공유재화 클라이언트에서 자동으로 공유재화의 이용이 불가능하도록 lock 제어가 될 수 있다. 이에 따르면, 중앙에서 관리하는 리소스 없이도 중앙집권화 되지 않은 공유경제 시스템이 구축될 수 있는 효과가 발생된다. 13 and 14 are flowcharts illustrating a process in which a legitimate user is identified by a distributed branching device that generates a key for a block-chain-based shared economy according to an embodiment of the present invention. As shown in FIGS. 13 and 14, when the user accesses the shared goods or the supplier while holding the generated key in the client of the user, the client or client of the shared goods is notified of the key Lt; / RTI > The transmitted key can be decrypted based on the private key (private key or secret key) of the shared commodity account / supplier account on the shared commodity client / supplier client to output the proof transaction ID. The outputted validated transaction ID can be configured to determine whether or not the user is legitimate by comparing it with the generated reference transaction ID by requesting the use of the shared goods by the user's conditional token remittance transaction. For example, as shown in FIG. 13, when it is determined to be a legitimate user, unlock control can be performed so that the shared goods can be automatically used by the shared goods client. Or if it is determined that the user is an improper user as shown in FIG. 14, the lock control may be performed such that the shared commodity can not be automatically used by the shared commodity client. According to this, there is an effect that a shared economic system without centralization can be constructed without a resource managed centrally.

도 15는 본 발명의 다른 실시예에 따른 블록체인 기반의 공유경제를 위해 키를 생성하는 분산 원장 장치에 의해 적법 이용자가 식별되는 과정을 도시한 흐름도이다. 도 15에 도시된 바와 같이, 이용자가 이용자의 클라이언트를 구비한 채 공유재화 클라이언트 또는 공급자 클라이언트에 접근하게 되면 식별코드 또는 근거리 통신 등의 방식으로 "이용자 계정에서 공급자 계정 또는 공유재화 계정으로 서명된 확인 메시지를 송신"해달라는 확인 메시지를 요청할 수 있다. 이용자의 클라이언트에서 확인 메시지의 요청이 수신되게 되면 이용자의 계정을 통해 공급자 계정 또는 공유재화 계정에 서명된 확인 메시지를 송신하여 이용자의 적법성을 식별할 수 있게 된다. 이에 따르면, 별도의 암호화 없이도 이용자의 적법성을 식별할 수 있게 되므로 보다 간단한 이용자 식별 기능이 가능해지는 효과가 발생된다. FIG. 15 is a flowchart illustrating a process in which a legitimate user is identified by a distributed branching device that generates a key for a block-chain-based shared economy according to another embodiment of the present invention. As shown in FIG. 15, when a user accesses a shared goods client or a supplier client while having a client of the user, the identification code or the local communication is used to confirm that the "Quot; send a message " When a request for a confirmation message is received from the client of the user, a confirmation message signed in the supplier account or the common good account is transmitted through the user's account, thereby identifying the legitimacy of the user. According to this, since the legitimacy of the user can be identified without any additional encryption, a simpler user identification function is enabled.

이상에서 설명한 바와 같이, 본 발명이 속하는 기술 분야의 통상의 기술자는 본 발명이 그 기술적 사상이나 필수적 특징을 변경하지 않고서 다른 구체적인 형태로 실시될 수 있다는 것을 이해할 수 있을 것이다. 그러므로 상술한 실시예들은 모든 면에서 예시적인 것이며 한정적인 것이 아닌 것으로서 이해해야만 한다. 본 발명의 범위는 상세한 설명보다는 후술하는 특허청구범위에 의하여 나타내어지며, 특허청구범위의 의미 및 범위 그리고 등가 개념으로부터 도출되는 모든 변경 또는 변형된 형태가 본 발명의 범위에 포함하는 것으로 해석되어야 한다.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: 메모리 모듈
20: 이용자 계정
30: 블록체인
31: 공유재화 계정
32: 공급자 계정
100: 블록체인 분산 네트워크
200: 이용자 클라이언트
310: 공유재화 등록 모듈
311: 리스트 출력 모듈
312: 조건부 토큰 모듈
313: 사용 승인 모듈
314: 키 출력 모듈
315: 사용 시작 확인 모듈
316: 사용 종료 확인 모듈
317: 평점 수신 모듈
320: 공급자 클라이언트
400: Dapp
410: IPFS
420: 서버
430: DB
1: Distributed Ledger
2: Transaction information transmitting apparatus
10: Communication module
11: Processing module
12: Memory module
20: User account
30: Block Chain
31: Shared Goods Account
32: Provider Account
100: Block Chain Distributed Network
200: User Client
310: shared goods registration module
311: List output module
312: Conditional Token Module
313: Use authorization module
314: Key Output Module
315: Start using confirmation module
316: Termination confirmation module
317: rating receiving module
320: Provider Client
400: Dapp
410: IPFS
420: server
430: DB

Claims (1)

특정 공유재화에 대한 계정인 공유재화 계정 및 복수의 스마트 계약 계정을 포함하는 블록체인을 저장하는 메모리 모듈; 및
상기 메모리 모듈과 동작 가능하도록 결합되고, 상기 공유재화 계정의 컴퓨터 판독 가능한 프로그램 코드를 실행하는 처리 모듈;
을 포함하고,
상기 공유재화 계정의 상기 프로그램 코드는,
상기 블록체인 내의 상기 복수의 스마트 계약 계정 중 하나인 이용자 계정에서 특정 이용자의 이용 조건 정보 및 토큰 송금 정보를 포함한 조건부 토큰 송금 요청을 수신하는 조건부 토큰 송금 요청 수신 단계;
상기 조건부 토큰 송금 요청을 기초로 상기 이용 조건 정보 및 상기 토큰 송금 정보를 포함하는 조건부 토큰 송금 트랜잭션을 생성하여 상기 이용 조건 정보 및 상기 토큰 송금 정보를 상기 공유재화 계정에 저장하는 트랜잭션 생성 단계; 및
상기 조건부 토큰 송금 트랜잭션의 ID를 기초로 키를 생성하여 상기 이용자 계정에 송신하는 키 생성 단계;
를 수행하는 컴퓨터 판독 가능한 프로그램 코드를 포함하며,
상기 조건부 토큰 송금 트랜잭션은 상기 이용자 계정에서 상기 블록체인 내의 상기 복수의 스마트 계약 계정 중 하나인 공급자 계정으로의 토큰 송금에 대한 정보인 상기 토큰 송금 정보 및 상기 특정 공유재화에 대한 정보인 특정 공유재화 정보를 포함하고,
상기 이용자 계정의 클라이언트인 이용자 클라이언트에서 상기 키를 상기 이용자 계정의 개인키(Private Key)로 암호화하고 식별코드 또는 근거리 통신의 식별자에 포함하여 상기 특정 공유재화를 이용하는 이용자의 식별을 위해 상기 공급자 계정의 클라이언트인 공급자 클라이언트에 제공하고, 상기 공급자 클라이언트는 상기 이용자 계정의 공개키(Public Key)를 이용하여 상기 키를 복호화하여 상기 이용자를 식별하는 것을 특징으로 하는,
블록체인 기반의 공유경제를 위해 비대칭키 방식으로 이용자를 식별하는 분산 원장 장치.
A memory module for storing a block chain including a shared good account and a plurality of smart contract accounts which are accounts for a specific shared good; And
A processing module operably coupled to the memory module, the processing module executing computer readable program code of the shared goods account;
/ RTI >
Wherein the program code of the shared goods account comprises:
Receiving a conditional token remittance request for receiving a conditional token remittance request including a usage condition information of a specific user and token remittance information in a user account which is one of the plurality of smart contract accounts in the block chain;
Generating a conditional token transfer transaction including the use condition information and the token transfer information based on the conditional token transfer request, and storing the use condition information and the token transfer information in the shared goods account; And
Generating a key based on the ID of the conditional token transfer transaction and transmitting the key to the user account;
Readable program code for performing the steps of:
Wherein the conditional token transfer transaction is a transfer of the token transfer from the user account to the provider account that is one of the plurality of smart contract accounts in the block chain, the token transfer information and the specific shared goods information Lt; / RTI >
The user client that is the client of the user account encrypts the key with the private key of the user account and includes the identification code or the identifier of the local communication in order to identify the user using the specific shared goods Wherein the provider client decrypts the key using a public key of the user account to identify the user.
A distributed lagging device that identifies a user with an asymmetric key scheme for a shared economy based on block chaining.
KR1020180174304A 2018-12-31 2018-12-31 Distributed Ledger Device for Supporting Sharing Economy KR101962289B1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020180174304A KR101962289B1 (en) 2018-12-31 2018-12-31 Distributed Ledger Device for Supporting Sharing Economy

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020180174304A KR101962289B1 (en) 2018-12-31 2018-12-31 Distributed Ledger Device for Supporting Sharing Economy

Related Parent Applications (1)

Application Number Title Priority Date Filing Date
KR1020180034123A Division KR101936757B1 (en) 2018-03-23 2018-03-23 Distributed Ledger Device and Distributed Ledger Method for Supporting Sharing Economy

Publications (1)

Publication Number Publication Date
KR101962289B1 true KR101962289B1 (en) 2019-03-26

Family

ID=65949804

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020180174304A KR101962289B1 (en) 2018-12-31 2018-12-31 Distributed Ledger Device for Supporting Sharing Economy

Country Status (1)

Country Link
KR (1) KR101962289B1 (en)

Cited By (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2020098843A2 (en) 2019-11-08 2020-05-22 Alipay (Hangzhou) Information Technology Co., Ltd. System and method for blockchain-based data synchronization
KR102163930B1 (en) * 2019-09-30 2020-10-12 넷마블 주식회사 Distributed compile system implementing blockchain rewards
KR20200141760A (en) * 2019-06-11 2020-12-21 대한민국(관리부서: 행정안전부 국립과학수사연구원장) Sales Information Management System Based on Block chain And Sales Information Management Method Based on Block chain
KR20210015196A (en) 2019-08-01 2021-02-10 주식회사 블룸테크놀로지 Ledger system of directed acyclic graph - account-wise transaction chain with byzantine fault tolerance
US20210049596A1 (en) * 2018-08-01 2021-02-18 Tencent Technology (Shenzhen) Company Limited Resource transfer data management method and apparatus, and storage medium
KR102227403B1 (en) * 2020-12-09 2021-03-12 넷마블 주식회사 Distributed compile system implementing blockchain rewards
US11086621B2 (en) 2019-11-08 2021-08-10 Alipay (Hangzhou) Information Technology Co., Ltd. System and method for blockchain-based decentralized application development

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20160095720A (en) * 2015-02-03 2016-08-12 한양대학교 에리카산학협력단 Method and apparatus for protecting transasction of encrypted currency
KR101661933B1 (en) * 2015-12-16 2016-10-05 주식회사 코인플러그 Ccertificate authentication system and method based on block chain

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20160095720A (en) * 2015-02-03 2016-08-12 한양대학교 에리카산학협력단 Method and apparatus for protecting transasction of encrypted currency
KR101661933B1 (en) * 2015-12-16 2016-10-05 주식회사 코인플러그 Ccertificate authentication system and method based on block chain

Non-Patent Citations (7)

* Cited by examiner, † Cited by third party
Title
'공유경제 인프라를 구현하는 블록체인 스타트업, Slock.it', Vertical Platform(2018.01.29. 게재) *
대한민국 등록특허, 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
'블록체인이 어떻게 여전히 핫한 O2O 서비스를 위협하는가', 네이버블로그(2018.02.28. 게재) *

Cited By (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20210049596A1 (en) * 2018-08-01 2021-02-18 Tencent Technology (Shenzhen) Company Limited Resource transfer data management method and apparatus, and storage medium
KR20200141760A (en) * 2019-06-11 2020-12-21 대한민국(관리부서: 행정안전부 국립과학수사연구원장) Sales Information Management System Based on Block chain And Sales Information Management Method Based on Block chain
KR102196574B1 (en) 2019-06-11 2020-12-30 대한민국 Sales Information Management System Based on Block chain And Sales Information Management Method Based on Block chain
KR20210015196A (en) 2019-08-01 2021-02-10 주식회사 블룸테크놀로지 Ledger system of directed acyclic graph - account-wise transaction chain with byzantine fault tolerance
KR102163930B1 (en) * 2019-09-30 2020-10-12 넷마블 주식회사 Distributed compile system implementing blockchain rewards
WO2020098843A2 (en) 2019-11-08 2020-05-22 Alipay (Hangzhou) Information Technology Co., Ltd. System and method for blockchain-based data synchronization
CN111527488A (en) * 2019-11-08 2020-08-11 支付宝(杭州)信息技术有限公司 System and method for data synchronization based on block chains
EP3799637A4 (en) * 2019-11-08 2021-07-07 Alipay (Hangzhou) Information Technology Co., Ltd. System and method for blockchain-based data synchronization
US11086621B2 (en) 2019-11-08 2021-08-10 Alipay (Hangzhou) Information Technology Co., Ltd. System and method for blockchain-based decentralized application development
US11163775B2 (en) 2019-11-08 2021-11-02 Alipay (Hangzhou) Information Technology Co., Ltd. System and method for implementing a blockchain-based decentralized application
US11429617B2 (en) 2019-11-08 2022-08-30 Alipay (Hangzhou) Information Technology Co., Ltd. System and method for blockchain-based data synchronization
CN111527488B (en) * 2019-11-08 2023-10-10 支付宝(杭州)信息技术有限公司 System and method for data synchronization based on blockchain
KR102227403B1 (en) * 2020-12-09 2021-03-12 넷마블 주식회사 Distributed compile system implementing blockchain rewards

Similar Documents

Publication Publication Date Title
KR101936756B1 (en) Apparatus for Supporting Sharing Economy using Blockchain
KR101936757B1 (en) Distributed Ledger Device and Distributed Ledger Method for Supporting Sharing Economy
KR101962290B1 (en) Distributed Ledger Device for Supporting Sharing Economy
KR101962289B1 (en) Distributed Ledger Device for Supporting Sharing Economy
US11615398B2 (en) Digital contracts in blockchain environments
KR101878869B1 (en) Distributed Ledger Device and Distributed Ledger Method for User Identification Management Based on Block Chain
US20200302410A1 (en) Virtual currency system
KR101932277B1 (en) Distributed Ledger Device and Distributed Ledger Method for Sharing User Information using Blockchain
KR101962288B1 (en) Apparatus for Sharing Economy using Blockchain
EP3702992A1 (en) Virtual currency system
KR101936759B1 (en) Apparatus and Method for KYC using KYC blockchain
KR101878870B1 (en) Distributed Ledger Device and Distributed Ledger Method for Token Issuance and User Identification Management Based on Block Chain
KR20190089506A (en) System and method for e-contract with shared and distributed ledger coupled with outer storage devices
KR101962285B1 (en) Distributed Ledger Device and Distributed Ledger Method for User Identification Management Based on Block Chain
KR101962287B1 (en) Apparatus for Sharing Economy using Blockchain
KR101962286B1 (en) Apparatus for Sharing Economy using Blockchain
KR102095046B1 (en) Distributed Ledger Device and Distributed Ledger Method for Sharing User Information using Blockchain
KR102096643B1 (en) Apparatus for KYC using KYC blockchain
KR20190076812A (en) Distributed Ledger Device and Distributed Ledger Method for Sharing User Information using Blockchain
KR20210061676A (en) Blockchain based advertisement apparatus and method using advertisement module included in application
KR20190076813A (en) Distributed Ledger Device and Distributed Ledger Method for Sharing User Information using Blockchain
US11757985B1 (en) Systems and methods for a blockchain interoperability platform
KR20190110399A (en) Alchcoin advertisement apparatus and method based on block chain
US20240070659A1 (en) Systems and methods for facilitating blockchain operations across multiple blockchain networks using a decentralized exchange
KR102096644B1 (en) Apparatus for KYC using KYC blockchain

Legal Events

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