KR102294571B1 - Permissioned Block Chain System for Supporting Non Fungible Token - Google Patents

Permissioned Block Chain System for Supporting Non Fungible Token Download PDF

Info

Publication number
KR102294571B1
KR102294571B1 KR1020200045447A KR20200045447A KR102294571B1 KR 102294571 B1 KR102294571 B1 KR 102294571B1 KR 1020200045447 A KR1020200045447 A KR 1020200045447A KR 20200045447 A KR20200045447 A KR 20200045447A KR 102294571 B1 KR102294571 B1 KR 102294571B1
Authority
KR
South Korea
Prior art keywords
token
request
type
attribute
specific
Prior art date
Application number
KR1020200045447A
Other languages
Korean (ko)
Other versions
KR20210059589A (en
Inventor
김태석
이성훈
박찬익
홍상원
노융두
Original Assignee
주식회사 포스코아이씨티
포항공과대학교 산학협력단
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 주식회사 포스코아이씨티, 포항공과대학교 산학협력단 filed Critical 주식회사 포스코아이씨티
Publication of KR20210059589A publication Critical patent/KR20210059589A/en
Application granted granted Critical
Publication of KR102294571B1 publication Critical patent/KR102294571B1/en

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L69/00Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
    • H04L69/06Notations for structuring of protocol data, e.g. abstract syntax notation one [ASN.1]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/27Replication, distribution or synchronisation of data between databases or within a distributed database system; Distributed database system architectures therefor
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L69/00Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
    • H04L69/08Protocols for interworking; Protocol conversion
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/32Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
    • H04L9/321Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials involving a third party or a trusted authority
    • H04L9/3213Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials involving a third party or a trusted authority using tickets or tokens, e.g. Kerberos
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/50Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols using hash chains, e.g. blockchains or hash trees

Abstract

대체불가능 토큰을 지원할 수 있는 본 발명의 일 측면에 따른 대체불가능 토큰을 지원하는 허가형 블록체인 시스템은, 스마트 컨트랙트(Smart Contract)를 이용하여 블록체인 상에 유일성을 갖는 객체에 대한 대체불가능 토큰(Non-Fungible Token)을 생성하는 적어도 하나의 피어 서버를 포함하고, 상기 피어 서버는 탈중앙화 애플리케이션(dApp)을 통해 특정 객체에 대한 대체불가능 토큰의 발행이 요청되면, 토큰발행함수를 호출하여 토큰 식별자, 토큰타입, 및 소유자를 포함하는 기본속성과 상기 토큰타입 별로 설정되는 확장속성으로 구성된 데이터 구조를 갖는 대체불가능 토큰을 발행하는 토큰관리부; 및 상기 발행된 대체불가능 토큰의 현재상태(State)가 기록되는 데이터베이스를 포함하는 것을 특징으로 한다.A permission-type blockchain system supporting a non-fungible token according to an aspect of the present invention that can support a non-fungible token is a non-fungible token ( and at least one peer server that generates a Non-Fungible Token), wherein the peer server calls a token issuance function when the issuance of a non-fungible token for a specific object is requested through a decentralized application (dApp). a token management unit that issues a non-fungible token having a data structure consisting of basic attributes including , token type, and owner, and extended attributes set for each token type; and a database in which the current state of the issued non-fungible token is recorded.

Description

대체불가능 토큰을 지원하는 허가형 블록체인 시스템{Permissioned Block Chain System for Supporting Non Fungible Token}Permissioned Block Chain System for Supporting Non Fungible Token

본 발명은 블록체인에 관한 것으로서, 보다 구체적으로 허가형 블록체인에 관한 것이다.The present invention relates to a blockchain, and more particularly, to a permissioned blockchain.

블록체인(Block Chain)은 스마트 컨트랙트(Smart Contract)를 실행시킬 수 있는 분산원장(Distributed Ledger) 기반의 P2P(Peer-to-Peer) 시스템이다. 블록체인 기술은 일반적으로 디지털 자산의 트랜잭션(Transaction)을 기록하는데 사용된다.Blockchain (Block Chain) is a distributed ledger-based peer-to-peer (P2P) system that can execute smart contracts. Blockchain technology is generally used to record transactions of digital assets.

일반적으로 블록체인에서는 디지털 자산을 스마트 컨트랙트로 구현한 응용 프로그램인 토큰(Token) 형태로 관리한다. 이와 같이, 블록체인에서 디지털 자산을 토큰화하여 관리하면, 불변성, 빠른 접근성, 또는 높은 유동성 등의 이점을 가지게 된다. In general, in blockchain, digital assets are managed in the form of tokens, which are applications implemented as smart contracts. In this way, tokenizing and managing digital assets in a blockchain has advantages such as immutability, quick access, or high liquidity.

토큰은 크게 대체가능(Fungible) 토큰과 대체불가능(Non-Fungible) 토큰으로 분류된다. 대체가능 토큰은 동일한 타입의 다른 토큰과 교환이 가능하지만 대체불가능 토큰은 동일한 타입의 다른 토큰과 교환이 불가능하다는 특징이 있다.Tokens are broadly classified into fungible tokens and non-fungible tokens. Fungible tokens can be exchanged with other tokens of the same type, but non-fungible tokens cannot be exchanged for other tokens of the same type.

상술한 블록체인에서는 상호 운용성을 위해 표준화된 토큰 프로토콜을 이용하게 되는데, 누구나 참여할 수 있는 공개형(Public) 블록체인 중 하나인 이더리움은 상호 운용성을 위해 대체가능 토큰을 위한 표준 토큰 프로토콜과 대체불가능 토큰을 위한 표준 토큰 프로토콜이 존재한다.The above-mentioned block chain uses a standardized token protocol for interoperability. Ethereum, one of the public block chains that anyone can participate in, is non-fungible with the standard token protocol for interchangeable tokens for interoperability. A standard token protocol exists for tokens.

이에 반해, 허가된 사용자들만 참여할 수 있는 허가형(Permissioned) 블록체인에서는 대체가능 토큰을 지원하기 위한 프레임워크(Framework)에 대한 논의 및 개발은 진행 중이지만, 대체불가능 토큰을 지원하기 위한 프레임워크에 대해서 논의는 이루어지고 있으나 그 설계 및 개발이 공개되지 않고 있다.On the other hand, in a permissioned blockchain where only authorized users can participate, discussion and development of a framework to support a replaceable token is in progress, but about a framework to support a non-fungible token Discussion is taking place, but its design and development have not been made public.

이로 인해 허가형 블록체인에서는 유일성을 갖는 객체에 대한 자산화 자체가 어려울 뿐만 아니라 유일성을 갖는 객체의 거래가 불가능하다는 문제점이 있다.Due to this, in the permission-type blockchain, it is difficult to capitalize the unique object itself, and there is a problem that the transaction of the unique object is impossible.

본 발명은 상술한 문제점을 해결하기 위한 것으로서, 대체불가능 토큰을 지원할 수 있는 허가형 블록체인 시스템을 제공하는 것을 그 기술적 과제로 한다.The present invention is to solve the above-mentioned problems, and its technical task is to provide a permission-type blockchain system that can support non-fungible tokens.

또한, 본 발명은 다양한 타입의 대체불가능 토큰을 지원할 수 있도록 확장 가능한 허가형 블록체인 시스템을 제공하는 것을 다른 기술적 과제로 한다.Another technical task of the present invention is to provide a scalable permissioned blockchain system to support various types of non-fungible tokens.

상술한 목적을 달성하기 위한 본 발명의 일 측면에 따른 대체불가능 토큰을 지원하는 허가형 블록체인 시스템은, 스마트 컨트랙트(Smart Contract)를 이용하여 블록체인 상에 유일성을 갖는 객체에 대한 대체불가능 토큰(Non-Fungible Token)을 생성하는 적어도 하나의 피어 서버를 포함하고, 상기 피어 서버는 탈중앙화 애플리케이션(dApp)을 통해 특정 객체에 대한 대체불가능 토큰의 발행이 요청되면, 토큰발행함수를 호출하여 토큰 식별자, 토큰타입, 및 소유자를 포함하는 기본속성과 상기 토큰타입 별로 설정되는 확장속성으로 구성된 데이터 구조를 갖는 대체불가능 토큰을 발행하는 토큰관리부; 및 상기 발행된 대체불가능 토큰의 현재상태(State)가 기록되는 데이터베이스를 포함하는 것을 특징으로 한다.A permission-type blockchain system supporting a non-fungible token according to an aspect of the present invention for achieving the above object is a non-fungible token ( and at least one peer server that generates a Non-Fungible Token), wherein the peer server calls a token issuance function when the issuance of a non-fungible token for a specific object is requested through a decentralized application (dApp). a token management unit that issues a non-fungible token having a data structure consisting of basic attributes including , token type, and owner, and extended attributes set for each token type; and a database in which the current state of the issued non-fungible token is recorded.

상술한 바와 같이 본 발명에 따르면, 대체불가능 토큰의 데이터 구조 및 프로토콜을 포함하는 프레임워크를 통해 허가형 블록체인 시스템에서 대체 불가능 토큰을 발행 및 관리할 수 있기 때문에, 허가형 블록체인 시스템에서도 유일성을 갖는 객체를 디지털 자산화하여 거래할 수 있다는 효과가 있다.As described above, according to the present invention, the non-fungible token can be issued and managed in the permission-type blockchain system through the framework including the data structure and protocol of the non-fungible token, so that uniqueness can be achieved even in the permission-type blockchain system. It has the effect of being able to trade objects that you have as digital assets.

또한, 본 발명에 따르면 확장 가능한 데이터 구조 및 프로토콜을 통해 새로운 타입의 대체불가능 토큰을 발행할 수 있어 허가형 블록체인 시스템의 적용범위를 극대화시킬 수 있다는 효과가 있다.In addition, according to the present invention, a new type of non-fungible token can be issued through an extensible data structure and protocol, thereby maximizing the scope of application of the permission-type blockchain system.

도 1은 본 발명의 일 실시예에 따른 대체불가능 토큰을 지원하는 허가형 블록체인 시스템의 구성을 보여주는 도면이다.
도 2a는 본 발명에 따른 대체불가능 토큰의 데이터 구조를 보여주는 도면이다.
도 2b는 본 발명에 따른 대체불가능 토큰의 프로토콜에 정의된 함수들을 보여주는 도면이다.
도 3은 도 1에 도시된 스마트 컨트랙트 실행부의 구성을 보여주는 도면이다.
도 4a는 토큰타입이 계약서인 경우 대체불가능 토큰의 데이터 구조를 보여주는 도면이다.
도 4b는 토큰타입이 음원인 경우 대체불가능 토큰의 데이터 구조를 보여주는 도면이다.
1 is a diagram showing the configuration of a permission-type blockchain system supporting non-fungible tokens according to an embodiment of the present invention.
2A is a diagram showing a data structure of a non-fungible token according to the present invention.
2B is a diagram showing functions defined in a protocol of a non-fungible token according to the present invention.
3 is a diagram showing the configuration of the smart contract execution unit shown in FIG.
4A is a diagram showing a data structure of a non-fungible token when the token type is a contract.
4B is a diagram showing a data structure of a non-fungible token when the token type is a sound source.

명세서 전체에 걸쳐서 동일한 참조번호들은 실질적으로 동일한 구성요소들을 의미한다. 이하의 설명에서, 본 발명의 핵심 구성과 관련이 없는 경우 및 본 발명의 기술분야에 공지된 구성과 기능에 대한 상세한 설명은 생략될 수 있다. 본 명세서에서 서술되는 용어의 의미는 다음과 같이 이해되어야 할 것이다.Like reference numerals refer to substantially identical elements throughout. In the following description, detailed descriptions of configurations and functions known in the art and cases not related to the core configuration of the present invention may be omitted. The meaning of the terms described herein should be understood as follows.

본 발명의 이점 및 특징, 그리고 그것들을 달성하는 방법은 첨부되는 도면과 함께 상세하게 후술되어 있는 실시예들을 참조하면 명확해질 것이다. 그러나 본 발명은 이하에서 개시되는 실시예들에 한정되는 것이 아니라 서로 다른 다양한 형태로 구현될 것이며, 단지 본 실시예들은 본 발명의 개시가 완전하도록 하며, 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자에게 발명의 범주를 완전하게 알려주기 위해 제공되는 것이며, 본 발명은 청구항의 범주에 의해 정의될 뿐이다.Advantages and features of the present invention and methods of achieving them will become apparent with reference to the embodiments described below in detail in conjunction with the accompanying drawings. However, the present invention is not limited to the embodiments disclosed below, but will be embodied in various different forms, only these embodiments allow the disclosure of the present invention to be complete, and common knowledge in the technical field to which the present invention belongs It is provided to fully inform the possessor of the scope of the invention, and the present invention is only defined by the scope of the claims.

본 발명의 실시예를 설명하기 위한 도면에 개시된 형상, 크기, 비율, 각도, 개수 등은 예시적인 것이므로 본 발명이 도시된 사항에 한정되는 것은 아니다. 명세서 전체에 걸쳐 동일 참조 부호는 동일 구성 요소를 지칭한다. 또한, 본 발명을 설명함에 있어서, 관련된 공지 기술에 대한 구체적인 설명이 본 발명의 요지를 불필요하게 흐릴 수 있다고 판단되는 경우 그 상세한 설명은 생략한다.The shapes, sizes, proportions, angles, numbers, etc. disclosed in the drawings for explaining the embodiments of the present invention are exemplary, and thus the present invention is not limited to the illustrated matters. Like reference numerals refer to like elements throughout. In addition, in describing the present invention, if it is determined that a detailed description of a related known technology may unnecessarily obscure the subject matter of the present invention, the detailed description thereof will be omitted.

본 명세서에서 언급된 '포함한다', '갖는다', '이루어진다' 등이 사용되는 경우 '~만'이 사용되지 않는 이상 다른 부분이 추가될 수 있다. 구성 요소를 단수로 표현한 경우에 특별히 명시적인 기재 사항이 없는 한 복수를 포함하는 경우를 포함한다.When 'including', 'having', 'consisting', etc. mentioned in this specification are used, other parts may be added unless 'only' is used. When a component is expressed in the singular, the case in which the plural is included is included unless otherwise explicitly stated.

구성 요소를 해석함에 있어서, 별도의 명시적 기재가 없더라도 오차 범위를 포함하는 것으로 해석한다.In interpreting the components, it is interpreted as including an error range even if there is no separate explicit description.

위치 관계에 대한 설명일 경우, 예를 들어, '~상에', '~상부에', '~하부에', '~옆에' 등으로 두 부분의 위치 관계가 설명되는 경우, '바로' 또는 '직접'이 사용되지 않는 이상 두 부분 사이에 하나 이상의 다른 부분이 위치할 수도 있다.In the case of a description of the positional relationship, for example, when the positional relationship of two parts is described as 'on', 'on', 'on', 'beside', etc., 'right' Alternatively, one or more other parts may be positioned between the two parts unless 'directly' is used.

시간 관계에 대한 설명일 경우, 예를 들어, '~후에', '~에 이어서', '~다음에', '~전에' 등으로 시간적 선후 관계가 설명되는 경우, '바로' 또는 '직접'이 사용되지 않는 이상 연속적이지 않은 경우도 포함할 수 있다.In the case of a description of a temporal relationship, for example, 'immediately' or 'directly' when a temporal relationship is described with 'after', 'following', 'after', 'before', etc. It may include cases that are not continuous unless this is used.

제1, 제2 등이 다양한 구성요소들을 서술하기 위해서 사용되나, 이들 구성요소들은 이들 용어에 의해 제한되지 않는다. 이들 용어들은 단지 하나의 구성요소를 다른 구성요소와 구별하기 위하여 사용하는 것이다. 따라서, 이하에서 언급되는 제1 구성요소는 본 발명의 기술적 사상 내에서 제2 구성요소일 수도 있다.Although the first, second, etc. are used to describe various components, these components are not limited by these terms. These terms are only used to distinguish one component from another. Accordingly, the first component mentioned below may be the second component within the spirit of the present invention.

"적어도 하나"의 용어는 하나 이상의 관련 항목으로부터 제시 가능한 모든 조합을 포함하는 것으로 이해되어야 한다. 예를 들어, "제1 항목, 제2 항목 및 제 3 항목 중에서 적어도 하나"의 의미는 제1 항목, 제2 항목 또는 제3 항목 각각 뿐만 아니라 제1 항목, 제2 항목 및 제3 항목 중에서 2개 이상으로부터 제시될 수 있는 모든 항목의 조합을 의미할 수 있다. The term “at least one” should be understood to include all possible combinations from one or more related items. For example, the meaning of “at least one of the first, second, and third items” means each of the first, second, or third items as well as two of the first, second and third items. It may mean a combination of all items that can be presented from more than one.

본 발명의 여러 실시예들의 각각 특징들이 부분적으로 또는 전체적으로 서로 결합 또는 조합 가능하고, 기술적으로 다양한 연동 및 구동이 가능하며, 각 실시예들이 서로에 대하여 독립적으로 실시 가능할 수도 있고 연관 관계로 함께 실시할 수도 있다.Each feature of the various embodiments of the present invention may be partially or wholly combined or combined with each other, technically various interlocking and driving are possible, and each of the embodiments may be implemented independently of each other or may be implemented together in a related relationship. may be

이하, 첨부된 도면을 참조하여 본 발명에 따른 실시예를 구체적으로 설명한다.Hereinafter, an embodiment according to the present invention will be described in detail with reference to the accompanying drawings.

도 1은 본 발명의 일 실시예에 따른 대체불가능 토큰을 지원하는 허가형 블록체인 시스템의 구성을 보여주는 도면이다.1 is a diagram showing the configuration of a permission-type blockchain system supporting non-fungible tokens according to an embodiment of the present invention.

도 1에 도시된 바와 같이, 본 발명의 일 실시예에 따른 대체불가능 토큰(Non-Fungible Token)을 지원하는 허가형 블록체인 시스템(100, 이하 '블록체인 시스템'이라 함)은 적어도 하나의 피어 서버(110a~110n) 및 적어도 하나의 피어서버(110a~110n)와 연동하는 탈중앙화 애플리케이션(Decentralized Application: dApp, 120, 이하 'dApp'라 함)이 탑재되는 단말기(125)를 포함한다.As shown in FIG. 1 , a permissioned blockchain system (hereinafter referred to as a 'blockchain system') supporting a non-fungible token according to an embodiment of the present invention (hereinafter referred to as a 'blockchain system') includes at least one peer and a terminal 125 on which a decentralized application (Decentralized Application: dApp, 120, hereinafter referred to as 'dApp') interworking with the servers 110a to 110n and at least one peer server 110a to 110n is mounted.

각 피어 서버(110a~110n)들은 유일성을 갖는 객체에 대한 대체불가능 토큰을 블록체인 상에 생성하고, 생성된 토큰을 블록체인 상에서 관리한다. 대체불가능 토큰은 유일성을 갖는 객체를 디지털 자산화한 것으로서, 해당 객체가 유일성을 갖기 때문에 동일한 종류의 다른 토큰과도 교환이 불가능하다는 특징이 있다.Each peer server 110a to 110n generates a non-fungible token for an object with uniqueness on the blockchain, and manages the generated token on the blockchain. A non-fungible token is a digital asset of a unique object, and since the object has uniqueness, it is impossible to exchange with other tokens of the same type.

이때, 각 피어서버(110a~110n)들에 의해 이용되는 블록체인은 사전에 허가된 사용자들만이 이용할 수 있는 허가형 블록체인(Permission Block Chain)일 수 있다. 이에 따라, 도 1에 도시하지는 않았지만, 본 발명에 따른 블록체인 시스템(100)은 별도의 인증센터를 통해 인증서를 발급함으로써 블록체인 네트워크에 참여할 수 있는 사용자들을 관리할 수 있다.In this case, the block chain used by each of the peer servers 110a to 110n may be a permission block chain that can only be used by previously authorized users. Accordingly, although not shown in FIG. 1, the blockchain system 100 according to the present invention can manage users who can participate in the blockchain network by issuing a certificate through a separate authentication center.

일 실시예에 있어서, 본 발명에 따른 블록체인은 허가형 블록체인 중 하나인 하이퍼레저 패브릭(Hyperledger Fabric) 아키텍처를 갖는 블록체인일 수 있고, 멤버쉽 서비스(Membership Service)에 가입된 사용자들에 한하여 블록체인 네트워크에 참여 및 트랜잭션을 발생시킬 수 있다.In one embodiment, the block chain according to the present invention may be a block chain having a Hyperledger Fabric architecture, which is one of permission block chains, and blocks only for users subscribed to the Membership Service. Participation and transaction can be generated in the chain network.

각 피어서버(110a~110n)들은 도 1에 도시된 바와 같이 각 피어서버(110a~110n)에 탑재된 스마트 컨트랙트(Smart Contract, 112a~112n)를 실행시킴으로써 대체불가능 토큰의 생성 및 관리를 수행할 수 있다. 일 실시예에 있어서, 본 발명에 따른 블록체인이 하이퍼레저 패브릭 아키텍처로 구현되는 경우 스마트 컨트랙트는 체인코드로 구현될 수 있다.As shown in FIG. 1, each peer server (110a to 110n) executes smart contracts (Smart Contracts, 112a to 112n) mounted on each peer server (110a to 110n) to generate and manage non-fungible tokens. can In one embodiment, when the blockchain according to the present invention is implemented as a Hyperledger Fabric architecture, a smart contract may be implemented as a chaincode.

이러한 실시예에 따르는 경우, 각 피어 서버(110a~110n)들에 탑재된 스마트 컨트랙트(112a~112n)는 dApp(120) 내부에 포함된 SDK(Software Development Kit, 미도시)를 통해 dApp(120)에 연결된다. 이때, SDK는 dApp(120)을 스마트 컨트랙트(112a~112n)에 연결시키고, 대체불가능 토큰의 생성 및 관리를 위한 사용자의 요청에 해당하는 함수를 호출할 수 있도록 트랜잭션을 생성하여 스마트 컨트랙트(112a~112n)에 제출하는 기능을 수행한다. 이를 위해, 본 발명에서는 SDK에 구현된 함수와 스마트 컨트랙트(112a~112n)에 구현된 함수가 1:1로 매핑되어 있다.According to this embodiment, the smart contracts 112a to 112n mounted on each of the peer servers 110a to 110n are the dApp 120 through the SDK (Software Development Kit, not shown) included in the dApp 120 . is connected to At this time, the SDK connects the dApp 120 to the smart contracts 112a to 112n, and creates a transaction to call the function corresponding to the user's request for the generation and management of non-fungible tokens to create the smart contracts 112a to 112a. 112n). To this end, in the present invention, the functions implemented in the SDK and the functions implemented in the smart contracts 112a to 112n are mapped 1:1.

각 피어 서버(110a~110n)들은 도 1에 도시된 바와 같이 스마트 컨트랙트(112a~112n)을 실행시키는 스마트 컨트랙트 실행부(114a~114n) 및 스마트 컨트랙트(112a~112n)의 실행결과가 기록되는 데이터베이스(116a~116n)를 포함한다.Each peer server 110a to 110n is a database in which execution results of smart contract execution units 114a to 114n and smart contracts 112a to 112n that execute smart contracts 112a to 112n as shown in FIG. 1 are recorded. (116a-116n).

각 피어서버(110a~110n)에 설치된 스마트 컨트랙트(112a~112n), 스마트 컨트랙트 실행부(114a~114n), 및 데이터베이스(116a~116n)의 기능은 동일하므로, 이하에서는 제n 피어서버(110n)에 설치된 제n 스마트 컨트랙트(112n), 제n 스마트 컨트랙트 실행부(114n), 및 제n 데이터베이스(116n)를 기준으로 그 기능에 대해 설명하기로 한다.Since the functions of the smart contracts 112a to 112n, the smart contract execution units 114a to 114n, and the databases 116a to 116n installed in each peer server 110a to 110n are the same, below, the n-th peer server 110n The function will be described based on the n-th smart contract 112n, the n-th smart contract execution unit 114n, and the n-th database 116n installed in the .

이하에서는 설명의 편의를 위해 제n 피어서버(110n), 제n 스마트 컨트랙트(112n), 제n 스마트 컨트랙트 실행부(114n), 및 제n 데이터베이스(116n)를 피어서버(110), 스마트 컨트랙트(112), 스마트 컨트랙트 실행부(114), 및 데이터베이스(116)로 기재하기로 한다.Hereinafter, for convenience of explanation, the n-th peer server 110n, the n-th smart contract 112n, the n-th smart contract execution unit 114n, and the n-th database 116n are the peer server 110, the smart contract ( 112), the smart contract execution unit 114, and the database 116 will be described.

스마트 컨트랙트 실행부(114)는 사용자의 요청에 따라 dApp(120)에 의해 호출되는 함수들을 이용하여 블록체인 상에 대체불가능 토큰을 발행하여 관리한다. The smart contract execution unit 114 issues and manages non-fungible tokens on the blockchain using functions called by the dApp 120 according to the user's request.

일 실시예에 있어서, 본 발명에 따른 스마트 컨트랙트 실행부(114)에 의해 발행되는 대체불가능 토큰은 도 2a에 도시된 바와 같은 데이터 구조를 갖고 도 2b에 도시된 바와 같은 프로토콜에 정의된 함수들을 이용하여 대체불가능 토큰을 발행 및 관리한다.In one embodiment, the non-fungible token issued by the smart contract execution unit 114 according to the present invention has a data structure as shown in Fig. 2A and uses functions defined in the protocol as shown in Fig. 2B. to issue and manage non-fungible tokens.

구체적으로, 도 2a에 도시된 바와 같이, 본 발명에 따른 대체불가능 토큰의 데이터 구조는 기본속성과 확장속성으로 구성된다. 기본속성은 토큰 식별자(ID), 토큰타입(Type), 토큰 소유자(Owner), 운영자(Operator), 및 피승인자(Approvee) 중 적어도 하나를 포함할 수 있다. 이러한 기본속성 중 토큰 식별자(ID), 토큰타입(Type), 및 소유자(Owner)는 모든 토큰들이 공통적으로 포함하게 되는 필수 기본속성이고 운영자(Operator) 및 피승인자(Approvee)는 소유자의 선택에 따라 지정될 수 있는 선택 기본속성에 해당한다.Specifically, as shown in Fig. 2a, the data structure of the non-fungible token according to the present invention is composed of a basic attribute and an extended attribute. The basic attribute may include at least one of a token identifier (ID), a token type (Type), a token owner (Owner), an operator (Operator), and an approver (Approvee). Among these basic properties, token identifier (ID), token type (Type), and owner (Owner) are essential basic properties that all tokens have in common, and Operator and Approvee are optional according to the owner’s choice. Corresponds to the selection default attribute that can be specified.

확장속성은 온체인 확장속성(xattr: eXtended attribute)과 오프체인 확장속성(uri: universal resource identifier) 중 적어도 하나를 포함한다. 온체인 확장속성(xattr)은 토큰타입에 따라 설정되는 확장속성으로써 각 토큰타입 별로 블록체인에서 관리해야 하는 서브속성들을 포함한다. The extended attribute includes at least one of an on-chain extended attribute (xattr: eXtended attribute) and an off-chain extended attribute (uri: universal resource identifier). The on-chain extended attribute (xattr) is an extended attribute set according to the token type, and includes sub-attributes to be managed in the block chain for each token type.

오프체인 확장속성(uri)은 dApp(120)을 통해 온체인 상에 관리할 필요가 없는 속성들을 오프체인 상에서 관리할 때, 오프체인 스토리지를 대체불가능 토큰과 연결하기 위한 것으로서, 오프체인 스토리지 내에서 해당 객체가 저장되어 있는 경로정보(path)와 해당 객체의 메타 데이터에 대한 머클트리(Merkle Tree)의 머클루트(Merkle)의 해쉬정보(hash)를 포함한다.Off-chain extended attributes (uri) are for linking off-chain storage with non-fungible tokens when managing attributes that do not need to be managed on-chain through the dApp 120 on-chain. It includes the path information (path) where the corresponding object is stored and the hash information (hash) of the Merkle of the Merkle Tree for the metadata of the corresponding object.

한편, 본 발명에 따른 대체불가능 토큰을 발행 및 관리하기 위한 프로토콜에 정의된 함수들은 도 2b에 도시된 바와 같이, 토큰 관리함수, 사용자 관리함수, 및 토큰타입 관리함수를 포함한다.Meanwhile, the functions defined in the protocol for issuing and managing non-fungible tokens according to the present invention include a token management function, a user management function, and a token type management function, as shown in FIG. 2B.

일 실시예에 있어서, 토큰 관리함수는 토큰을 및 관리하기 위해 이용되는 함수로써, 토큰을 발행하는 토큰발행함수(mint), 기 등록된 토큰을 삭제하는 토큰삭제함수(burn), 특정 토큰의 토큰타입을 조회하는 토큰타입 조회함수(getType), 소유토큰 개수를 조회하는 토큰개수 조회함수(balanceOf), 토큰거래에 따라 소유자를 변경하는 토큰거래함수(transferFrom), 특정 토큰의 오프체인 확장속성에 포함된 서브속성 값을 갱신하는 오프체인 확장속성 갱신함수(setURI), 특정 토큰의 오프체인 확장속성에 포함된 서브속성 값을 조회하는 오프체인 확장속성 조회함수(getURI), 특정 토큰의 온체인 확장속성에 포함된 서브속성 값을 갱신하는 온체인 확장속성 갱신함수(setXAttr), 특정 토큰의 온체인 확장속성에 포함된 서브속성 값을 조회하는 온체인 확장속성 조회함수(getXAttr), 하나의 토큰을 복수개로 분할하는 토큰 분할함수(divide), 소유토큰의 토큰 식별자 목록을 조회하는 토큰 식별자 목록 조회함수(tokenIdsOf), 토큰을 비활성화시키는 토큰 비활성화 함수(deactivate), 토큰의 전체속성을 조회하는 토큰 속성 조회함수(query), 및 토큰의 수정이력을 조회하는 토큰 수정이력 조회함수(queryHistory) 중 적어도 하나를 포함할 수 있다.In one embodiment, the token management function is a function used to manage and manage tokens. A token issuance function (mint) that issues a token, a token deletion function (burn) that deletes a previously registered token, and a token of a specific token Token type inquiry function (getType) to inquire the type, token number inquiry function (balanceOf) to inquire the number of owned tokens, token transaction function (transferFrom) to change the owner according to the token transaction, included in the off-chain extended attribute of a specific token Off-chain extended attribute update function (setURI) that updates the sub-attribute value of a specific token, off-chain extended attribute inquiry function (getURI) that inquires the sub-attribute value included in the off-chain extended attribute of a specific token, on-chain extended attribute of a specific token The on-chain extended attribute update function (setXAttr) that updates the sub-attribute value included in the on-chain extended attribute search function (getXAttr) that inquires the sub-attribute value included in the on-chain extended attribute of a specific token Token split function (divide) that divides into tokens, token identifier list inquiry function (tokenIdsOf) that inquires token identifier list of owned tokens, token deactivation function (deactivate) that deactivates tokens, token attribute inquiry function that inquires all properties of tokens (query), and a token modification history inquiry function (queryHistory) for inquiring the modification history of the token may include at least one.

사용자 관리함수는 특정 소유자에 대한 운영자를 관리하거나 특정 토큰에 대한 피승인자를 관리하기 위해 이용되는 함수이다. 본 발명에 따른 허가형 블록체인 시스템에서 사용자는 크게 소유자, 운영자, 및 피승인자로 구성될 수 있다.The user management function is a function used to manage an operator for a specific owner or to manage an approver for a specific token. In the permission-type blockchain system according to the present invention, a user may be largely composed of an owner, an operator, and an authorized person.

소유자는 특정 토큰의 소유권을 갖고 있는 사용자를 의미하는 것으로서, 소유자는 특정 토큰에 대한 모든 권한을 갖는다. 따라서, 하나의 토큰에 대해서는 한 명의 소유자만이 존재할 수 있다. 토큰의 소유자 변경은 상술한 토큰거래함수를 이용한 토큰거래를 통해 수행될 수 있다.An owner means a user who has ownership of a specific token, and the owner has all rights to a specific token. Therefore, only one owner can exist for one token. Changing the owner of the token may be performed through token transaction using the above-described token transaction function.

운영자는 소유자의 모든 토큰을 관리할 수 있는 사용자를 의미하는 것으로서, 소유자에 의해 설정될 수 있다. 예컨대, 소유자 A가 자신을 위해 B를 자신의 운영자로 설정하면, B는 A가 소유한 모든 토큰을 관리할 수 있는 권한을 갖게 된다. 한 명의 소유자에 대해 복수명의 운영자가 설정될 수 있다.An operator means a user who can manage all tokens of the owner, and can be set by the owner. For example, if owner A sets B as his operator for him, B will have the authority to manage all tokens owned by A. A plurality of operators may be set for one owner.

피승인자는 특정 토큰을 관리할 수 있는 사용자를 의미하는 것으로서, 소유자 또는 운영자에 의해 설정될 수 있다. 예컨대, 소유자 A가 자신이 소유한 토큰들 중 1번 토큰에 대해 C를 피승인자로 설정하면, C는 A가 소유한 토큰들 중 1번 토큰을 관리할 수 있는 권한을 갖게 된다. 하나의 토큰에 대해 최대 한 명의 피승인자가 설정될 수 있다.An approver refers to a user who can manage a specific token, and may be set by an owner or operator. For example, if owner A sets C as an approver with respect to token 1 among tokens owned by owner A, C has the authority to manage token 1 among tokens owned by A. A maximum of one approver can be set for one token.

본 발명에 따를 때, 사용자 관리함수는 특정 토큰의 소유자를 조회하는 소유자 조회함수(ownerOf), 특정 토큰에 대한 피승인자를 설정하는 피승인자 설정함수(approve), 특정 토큰에 대해 설정된 피승인자를 조회하는 피승인자 조회함수(getApproved), 특정 소유자에 대한 운영자를 추가하거나 삭제하는 운영자 추가 및 삭제함수(setApprovalFolAll), 및 특정 소유자에 대한 운영자 여부를 조회하는 운영자 여부 조회함수(isApprovedForAll) 중 적어도 하나를 포함할 수 있다.According to the present invention, the user management function inquires the owner inquiry function (ownerOf) for inquiring the owner of a specific token, the approver setting function (approve) for setting the approveee for the specific token, and the approveee set for the specific token Includes at least one of a function to inquire about an approved person (getApproved), a function to add or delete an operator for a specific owner (setApprovalFolAll), and a function to query whether an operator is an operator for a specific owner (isApprovedForAll) can do.

토큰타입 관리함수는 토큰 타입을 등록하거나 기 등록된 토큰타입을 관리하기 위한 것으로서, 신규 토큰타입을 등록하는 토큰타입 등록함수(enrollTokenType), 토큰타입의 목록을 조회하는 토큰타입 목록 조회함수(tokenTypesOf), 토큰타입의 온체인 확장속성에 포함된 서브속성 맵을 갱신하는 서브속성 맵 갱신함수(updateTokenType), 토큰타입의 온체인 확장속성에 포함된 서브속성 맵을 조회하는 서브속성 맵 조회함수(retrieveTokenType), 토큰타입을 삭제하는 토큰타입 삭제함수(dropTokenType), 토큰타입의 온체인 확장속성에 포함될 신규 서브속성을 등록하는 서브속성 등록함수(enrollAttributeOfTokenType), 토큰타입의 온체인 확장속성에 포함된 서브속성의 데이터 타입 및 초기값을 갱신하는 서브속성 갱신함수(updateAttributeOfTokenType), 토큰타입의 온체인 확장속성에 포함된 서브속성의데이터 타입 및 초기값을 조회하는 서브속성 조회함수(retrieveAttributeOfTokenType), 및 토큰타입의 온체인 확장속성에 포함된 서브속성을 삭제하는 서브속성 삭제함수(dropAttributeTokenType) 중 적어도 하나를 포함할 수 있다.The token type management function is for registering a token type or managing a previously registered token type. , sub-attribute map update function that updates the sub-attribute map included in the on-chain extended attribute of token type (updateTokenType), and the sub-attribute map search function that retrieves the sub-attribute map included in the on-chain extended attribute of token type (retrieveTokenType) , the token type deletion function (dropTokenType) that deletes the token type, the sub-attribute registration function (enrollAttributeOfTokenType) that registers a new sub-attribute to be included in the on-chain extended attribute of the token type, and the sub-attribute included in the on-chain extended attribute of the token type. The sub-attribute update function (updateAttributeOfTokenType) for updating the data type and initial value, the sub-attribute inquiry function (retrieveAttributeOfTokenType) for inquiring the data type and initial value of the sub-attribute included in the on-chain extended attribute of the token type (retrieveAttributeOfTokenType), and the token type It may include at least one of a sub-attribute drop function (dropAttributeTokenType) that deletes a sub-attribute included in the chain extended attribute.

상술한 바와 같이, 본 발명에 따라 특정 객체가 인터넷 상에서 대체불가능 토큰으로 디지털화되면, 해당 객체의 거래는 물론 진위 확인, 소유권 증명, 및 저작권 추적 등을 수행할 수 있다. 이때, 디지털화된 객체는 유무형의 객체를 포함하고, 책, 음악 등을 포함할 수도 있다.As described above, according to the present invention, when a specific object is digitized as a non-fungible token on the Internet, transaction of the corresponding object as well as authenticity verification, proof of ownership, and copyright tracking can be performed. In this case, the digitized object includes tangible and intangible objects, and may include books, music, and the like.

이하, 도 2a에 도시된 데이터 구조를 갖는 대체 불가능 토큰을 도 2b에 도시된 프로토콜을 이용하여 발행 및 관리하는 본 발명에 따른 스마트 컨트랙트 실행부(114)의 구성을 도 3을 참조하여 보다 구체적으로 설명한다.Hereinafter, the configuration of the smart contract execution unit 114 according to the present invention that issues and manages the non-fungible token having the data structure shown in FIG. 2A using the protocol shown in FIG. 2B will be described in more detail with reference to FIG. 3 . Explain.

도 3은 본 발명의 일 실시예에 따른 스마트 컨트랙트 실행부의 구성을 보여주는 블록도이다. 도 3에 도시된 바와 같이, 본 발명의 일 실시예에 따른 스마트 컨트랙트 실행부(114)는 토큰 관리부(310), 사용자 관리부(320), 토큰 거래부(330), 및 토큰타입 관리부(340)를 포함한다.3 is a block diagram showing the configuration of a smart contract execution unit according to an embodiment of the present invention. As shown in FIG. 3 , the smart contract execution unit 114 according to an embodiment of the present invention includes a token management unit 310 , a user management unit 320 , a token transaction unit 330 , and a token type management unit 340 . includes

토큰 관리부(310)는 유일성을 갖는 특정 객체에 대한 대체불가능 토큰을 발행하고, 기 발행된 대체불가능 토큰을 관리한다. 구체적으로, 토큰 관리부(310)는 dApp(120)을 통해 특정 객체에 대한 토큰발행요청이 수신되면, 도 2b에 도시된 프로토콜 중 토큰발행함수를 호출하여 토큰발행요청에 포함된 파라미터들을 이용하여 스마트 컨트랙트(112)를 실행시킴으로써 도 2a에 도시된 바와 같은 데이터 구조를 갖는 대체불가능 토큰을 발행한다. 토큰 관리부(310)는 토큰의 발행이 완료되면 발행된 토큰의 현재상태를 데이터베이스(116)에 등록한다.The token management unit 310 issues a non-fungible token for a specific object having uniqueness, and manages the previously issued non-fungible token. Specifically, when a token issuance request for a specific object is received through the dApp 120 , the token management unit 310 calls a token issuance function in the protocol shown in FIG. 2b and uses the parameters included in the token issuance request to be smart By executing the contract 112, it issues a non-fungible token having a data structure as shown in Fig. 2a. When the token issuance is completed, the token management unit 310 registers the current state of the issued token in the database 116 .

이때, 토큰발행요청에는 토큰 식별자, 토큰타입, 소유자, 온체인 확장속성, 및 오프체인 확장속성이 파라미터로써 포함될 수 있다. 이때, 토큰발행요청에 포포함될 수 있는 토큰타입은 토큰타입 관리부(340)에 의해 미리 블록체인 상에 등록되어 있는 토큰타입들 중 하나여야 한다. 온체인 확장속성은 해당 토큰타입에 따라 정의되어 있는 온체인 확장속성에 포함된 모든 서브속성들(서브속성 맵)이 파라미터로써 포함되어야 하고, 오프체인 확장속성은 오프체인 확장속성에 포함된 경로정보와 해쉬정보가 포함되어 있어야 한다.In this case, the token issuance request may include a token identifier, token type, owner, on-chain extended attribute, and off-chain extended attribute as parameters. At this time, the token type that can be included in the token issuance request must be one of the token types previously registered on the block chain by the token type management unit 340 . All sub-properties (sub-property maps) included in the on-chain extended properties defined according to the token type must be included as parameters for the on-chain extended properties, and the off-chain extended properties include path information included in the off-chain extended properties. and hash information.

토큰 관리부(310)는 토큰발행이 성공적으로 완료되면 발행된 토큰의 정보를 데이터베이스(116)에 등록한다.When the token issuance is successfully completed, the token management unit 310 registers information on the issued token in the database 116 .

일 예로, 토큰타입이 "계약서"인 경우, 도 4a에 도시된 바와 같이, 토큰 관리부(310)는 기본속성으로써 토큰 식별자(id), 토큰타입(type), 소유자(owner), 운영자(operator), 및 피승인자(approvee)를 갖고 확장속성으로써 계약서 파일의 해쉬값(hash), 계약자(signers), 서명(signatures), 계약서 페이지수(pages), 및 계약일(date)을 서브속성으로 갖는 온체인 확장속성과 오프체인 스토리지 내에서 해당 계약서 파일 또는 서명 이미지가 저장된 경로정보(path) 및 해쉬정보(hash)를 포함하는 오프체인 확장속성을 갖는 토큰을 생성할 수 있다.For example, when the token type is “contract”, as shown in FIG. 4A , the token management unit 310 includes a token identifier (id), a token type (type), an owner, and an operator as basic properties. , and an on-chain having the hash value of the contract file, signers, signatures, number of contract pages, and contract date as sub-attributes as extended attributes A token with extended attributes and off-chain extended attributes including the path information (path) and hash information (hash) where the contract file or signature image is stored in the off-chain storage can be created.

이와 같이, 본 발명에 따르면 계약서와 같은 문서들을 대체불가능 토큰으로 생성할 수 있기 때문에, 본 발명에 따른 허가형 블록체인 시스템(100)은 비즈니스 문서 서명 서비스에 적용될 수 있다. 이러한 경우 분산 서명 서비스 또는 탈중앙화 서명 서비스를 제공할 수 있게 되어, 계약자들간의 대면 없이도, 이메일, SNS(Social Network System) 등을 통해 종이계약보다 쉽고 빠르게 간편하게 계약업무를 진행할 수 있게 된다.As such, according to the present invention, since documents such as contracts can be generated as non-fungible tokens, the permission-type blockchain system 100 according to the present invention can be applied to a business document signing service. In this case, it is possible to provide a distributed signature service or a decentralized signature service, so that contract work can be performed more easily and quickly than paper contracts through e-mail or SNS (Social Network System) without face-to-face between contractors.

다른 예로, 토큰타입이 "음원"인 경우 도 4b에 도시된 바와 같이, 토큰 관리부(310)는 기본속성으로써 토큰 식별자(id), 토큰타입(type), 소유자(owner), 운영자(operator), 및 피승인자(approvee)를 갖고 확장속성으로써 음원에 해당하는 MP3파일의 해쉬값(hash), 해당 음원의 가수(singers), 해당 음원의 편곡자(arrangers), 해당 음원의 작사가(lyricists)를 서브속성으로 갖는 온체인 확장속성과 경로정보(path) 및 해쉬정보(hash)를 포함하는 오프체인 확장속성을 갖는 토큰을 생성할 수 있다. As another example, when the token type is “sound source”, as shown in FIG. 4B , the token management unit 310 includes a token identifier (id), a token type (type), an owner, an operator, and a token identifier (id) as basic properties. And with an approvee, serve as an extended attribute the hash value of the MP3 file corresponding to the sound source, the singers of the sound source, the arrangers of the sound source, and the lyricists of the sound source. It is possible to create a token having on-chain extended attributes as attributes and off-chain extended attributes including path information (path) and hash information (hash).

토큰 관리부(310)는 토큰발행이 성공적으로 완료되면 dApp(120)로 true를 리턴하고, 토큰발행 실패시 false를 리턴한다.The token management unit 310 returns true to the dApp 120 when the token issuance is successfully completed, and returns false when the token issuance fails.

한편, 본 발명에 따른 토큰 관리부(310)는 dApp(120)을 통해 기 발행된 토큰에 대한 토큰관리요청이 수신되면, 도 2b에 도시된 프로토콜 중 해당요청을 처리하기 위한 함수를 호출하여 토큰관리요청에 포함된 파라미터들을 이용하여 스마트 컨트랙트(112)를 실행시킴으로써 해당 토큰을 관리한다. 토큰 관리부(310)는 토큰의 관리가 완료되면 해당 토큰의 현재상태를 데이터베이스(116)에 등록한다.On the other hand, when a token management request for a token issued through the dApp 120 is received, the token management unit 310 according to the present invention calls a function for processing the request in the protocol shown in FIG. 2B to manage the token. The corresponding token is managed by executing the smart contract 112 using the parameters included in the request. When the token management is completed, the token management unit 310 registers the current state of the corresponding token in the database 116 .

예컨대, 토큰 관리부(310)는 기 등록된 토큰의 삭제가 요청되면 토큰삭제함수를 호출하여 해당요청을 처리하고, 특정 소유자가 소유한 소유토큰 개수 조회가 요청되면 토큰개수 조회함수를 호출하여 해당요청을 처리한다. 이때, 토큰의 개수는 활성화(activated)되어 있는 토큰들의 개수를 의미하는 것으로서, 해당 요청에 토큰타입이 파라미터로써 포함되어 있으면 토큰 관리부(310)는 해당 소유자가 소유한 해당 토큰타입에 해당하는 토큰의 개수를 리턴하고, 토큰타입이 미리 정해진 형태의 파라미터(예컨대, "-")로 포함되어 있으면 토큰 관리부(310)는 해당 소유자가 소유한 모든 토큰의 개수를 리턴한다. For example, the token management unit 310 processes the request by calling the token deletion function when deletion of a previously registered token is requested. to process At this time, the number of tokens means the number of activated tokens. If the token type is included in the request as a parameter, the token management unit 310 determines the number of tokens corresponding to the corresponding token type owned by the owner. The number is returned, and if the token type is included as a parameter (eg, "-") in a predetermined form, the token management unit 310 returns the number of all tokens owned by the corresponding owner.

또한, 토큰 관리부(310)는 특정 토큰의 오프체인 확장속성에 포함된 서브속성 값의 갱신이 요청되면, 오프체인 확장속성 갱신함수를 호출하여 해당 요청을 처리하고, 특정 토큰의 오프체인 확장속성에 포함된 서브속성 값의 조회가 요청되면 오프체인 확장속성 조회함수를 호출하여 해당 요청을 처리하며, 특정 토큰의 온체인 확장속성에 포함된 서브속성 값의 갱신이 요청되면 온체인 확장속성 갱신함수를 호출하여 해당요청을 처리하고, 특정 토큰의 온체인 확장속성에 포함된 서브속성 값의 조회가 요청되면 온체인 확장속성 조회함수를 호출하여 해당요청을 처리한다.In addition, when the update of the sub-attribute value included in the off-chain extended attribute of a specific token is requested, the token management unit 310 processes the request by calling the off-chain extended attribute update function, and sets the off-chain extended attribute of the specific token. When an inquiry of the included sub-attribute value is requested, the request is processed by calling the off-chain extended attribute inquiry function. The request is processed by calling, and when the sub-attribute value included in the on-chain extended attribute of a specific token is requested, the on-chain extended attribute inquiry function is called to process the request.

또한, 토큰 관리부(310)는 소유토큰의 토큰 식별자 목록의 조회가 요청되면 토큰 식별자 목록 조회함수를 호출하여 해당 요청을 처리하고, 특정 토큰의 비활성화가 요청되면 토큰 비활성화 함수를 호출하여 해당요청을 처리하며, 특정 토큰의 전체속성 조회가 요청되면 토큰 속성 조회함수를 호출하여 해당 요청을 처리하고, 토큰의 수정이력 조회가 요청되면 토큰 수정이력 조회함수를 호출하여 해당요청을 처리한다.In addition, the token management unit 310 processes the request by calling the token identifier list inquiry function when the inquiry of the token identifier list of the owned token is requested. In addition, when a query of all properties of a specific token is requested, the request is processed by calling the token property search function.

한편, 본 발명에 따른 토큰 관리부(310)는 기 발행된 하나의 대체불가능 토큰을 복수개의 대체불가능 토큰으로 분할 수 있다. 일 예로, 하나의 철강제품에 대해 대체 불가능 토큰이 발행된 경우, 해당 철강제품이 2개의 제품으로 분할되면, 분할이전의 철강제품에 대해 발행된 대체 불가능 토큰이 부모토큰이 되고, 부모토큰을 분할함으로써 분할 이후의 2개의 철강제품에 대해 2개의 자식토큰이 발행된다.Meanwhile, the token management unit 310 according to the present invention may divide one non-fungible token that has been previously issued into a plurality of non-fungible tokens. For example, if a non-fungible token is issued for one steel product, if the steel product is divided into two products, the non-fungible token issued for the steel product before the division becomes the parent token, and the parent token is divided By doing so, two child tokens are issued for the two steel products after the split.

구체적으로, 토큰 관리부(310)는 dApp(120)을 통해 토큰분할요청이 수신되면 도 2b에 도시된 프로토콜 중 토큰분할함수를 호출하여 토큰분할요청에 포함된 파라미터들을 이용하여 스마트 컨트랙트(112)를 실행시킴으로써 분할대상이 되는 토큰을 부모토큰으로 하는 복수개의 자식토큰을 발행한다. Specifically, when a token split request is received through the dApp 120, the token manager 310 calls a token split function among the protocol shown in FIG. By executing it, a plurality of child tokens with the token to be split as the parent token is issued.

이때, 토큰분할요청에는 분할 대상이 되는 부모토큰의 토큰 식별자, 새롭게 생성될 자식토큰의 토큰 식별자들, 분할기점이 되는 서브속성의 명칭 및 서브속성의 값이 파라미터로써 포함될 수 있다. 이에 따라, 토큰분할요청에 포함된 서브속성이 분할기점이 되어 부모토큰이 자식토큰들로 분할되고, 부모토큰의 온체인 확장속성에 포함된 자식속성(children)에 새롭게 발생된 자식토큰들의 식별자가 추가되고, 온체인 확장속성에 포함된 활성화 속성(activate)이 false로 되어 부모토큰은 비활성화된다. 한편, 새롭게 발행된 자식토큰들의 경우 분할기점이 된 서브속성에 대한 값이 토큰분할요청에 포함된 서브속성값으로 설정되고, 온체인 확장속성에 포함된 부모속성(parent)에 부모토큰의 식별자가 기록된다. 자식토큰의 속성들 중 나머지 속성들은 부모토큰의 속성들을 그대로 상속받게 된다.In this case, the token split request may include, as parameters, a token identifier of a parent token to be split, token identifiers of a newly created child token, a name of a sub-attribute serving as a split-start point, and a value of the sub-attribute. Accordingly, the sub-property included in the token split request becomes the starting point for splitting the parent token into child tokens, and the identifiers of newly generated child tokens are added to the child properties included in the on-chain extended property of the parent token. and the activation property included in the on-chain extended property becomes false, and the parent token is deactivated. On the other hand, in the case of newly issued child tokens, the value of the sub-attribute that became the starting point of division is set as the sub-attribute value included in the token split request, and the identifier of the parent token is recorded in the parent attribute included in the on-chain extended attribute. do. Among the properties of the child token, the rest of the properties inherit the properties of the parent token.

사용자 관리부(320)는 dApp(120)을 통해 특정 토큰의 소유자에 대한 조회가 요청되면 소유자 조회함수를 호출하여 해당 요청을 처리하고, 특정 토큰에 대한 피승인자 설정이 요청되면 피승인자 설정함수를 호출하여 해당 요청을 처리하며, 특정 토큰에 대해 설정된 피승인자의 조회가 요청되면 피승인자 조회함수를 호출하여 해당 요청을 처리한다. 또한, 사용자 관리부(220)는 dApp(120)을 통해 특정 소유자에 대한 운영자의 추가나 삭제가 요청되면 운영자 추가 및 삭제함수를 호출하여 해당요청을 처리하고, 특정 소유자에 대한 운영자 조회가 요청되면 운영자 조회함수를 호출하여 해당 요청을 처리한다.When an inquiry for the owner of a specific token is requested through the dApp 120, the user management unit 320 processes the request by calling the owner inquiry function. to process the request, and when an inquiry of the approved person set for a specific token is requested, the request is processed by calling the approver inquiry function. In addition, when an operator addition or deletion for a specific owner is requested through the dApp 120 , the user management unit 220 processes the request by calling the operator addition and deletion functions, and when an operator inquiry for a specific owner is requested, the operator inquiry Process the request by calling the function.

사용자 관리부(320)는 각 요청의 처리로 인해 토큰의 데이터 구조에 변경이 발생되면 해당 토큰에 대해 변경된 데이터구조를 데이터베이스(116)에 기록한다.When a change occurs in the data structure of the token due to processing of each request, the user management unit 320 records the changed data structure for the corresponding token in the database 116 .

토큰 거래부(330)는 dApp(120)을 통해 특정 토큰에 대한 거래가 요청되는 경우, 해당 토큰의 거래를 위해 설정되어 있는 거래조건의 달성이 완료되면 토큰거래함수를 호출함으로써 해당 토큰의 소유자를 양수인으로 변경한다. 이때, 토큰거래함수는 토큰 소유자, 운영자, 및 피승인자 중 어느 하나의 사용자에 의해 호출될 수 있다.When a transaction for a specific token is requested through the dApp 120, the token transaction unit 330 calls the token transaction function when the transaction conditions set for the transaction of the corresponding token are completed, thereby transferring the owner of the corresponding token to the assignee. change to In this case, the token transaction function may be called by any one of a token owner, an operator, and an authorized person.

토큰타입 관리부(340)는 신규 객체에 대한 신규 토큰타입을 등록하거나, 기 등록되어 있는 토큰타입을 관리한다. 구체적으로, 토큰타입 관리부(340)는 dApp(120)을 통해 신규 토큰타입의 등록이 요청되면, 도 2b에 도시된 프로토콜 중 토큰타입 등록함수를 호출하여 토큰타입 등록요청에 포함된 파라미터들을 이용하여 스마트 컨트랙트(112)를 실행시킴으로써 블록체인 상에 신규 토큰타입을 등록한다.The token type management unit 340 registers a new token type for a new object or manages a previously registered token type. Specifically, when the registration of a new token type is requested through the dApp 120, the token type management unit 340 calls the token type registration function of the protocol shown in FIG. 2B and uses the parameters included in the token type registration request. By executing the smart contract 112, a new token type is registered on the block chain.

이때, 토큰타입 등록요청에는 신규 토큰타입의 등록을 요청하는 토큰타입 관리자, 등록될 신규토큰 타입의 명칭, 및 신규토큰 타입에 따라 설정되어야 하는 온체인 확장속성의 서브속성 맵이 파라미터로써 포함될 수 있다. 이때, 서브속성 맵은 각 서브속성들의 명칭, 각 서브속성들의 데이터 타입, 및 각 서브속성들의 초기값으로 구성될 수 있다.In this case, the token type registration request may include, as parameters, a token type manager requesting registration of a new token type, a name of a new token type to be registered, and a sub-attribute map of on-chain extended properties to be set according to the new token type. . In this case, the sub-attribute map may be composed of a name of each sub-attribute, a data type of each sub-attribute, and an initial value of each sub-attribute.

토큰타입 관리부(340)는 토큰타입 등록요청에 포함되어 있는 파라미터들 이외에 모든 토큰타입에 공통으로 설정되어 있는 기본 서브속성들을 추가함으로써 신규 토큰타입을 블록체인 상에 등록한다. 이때, 기본 서브속성들은 토큰타입 등록을 요청하는 관리자의 식별정보, 부모속성, 자식속성, 및 활성화 속성을 포함할 수 있다.The token type management unit 340 registers a new token type on the block chain by adding basic sub-properties commonly set to all token types in addition to the parameters included in the token type registration request. In this case, the basic sub-properties may include identification information of an administrator requesting token type registration, parent properties, child properties, and activation properties.

이와 같이, 본 발명에 따르면 토큰타입 관리부(340)를 통해 신규객체에 해당하는 토큰타입을 새롭게 등록할 수 있기 때문에 허가형 블록체인 시스템의 적용범위를 확장시킬 수 있게 된다.As described above, according to the present invention, since a token type corresponding to a new object can be newly registered through the token type management unit 340, the scope of application of the permission-type block chain system can be expanded.

한편, 본 발명에 따른 토큰타입 관리부(340)는 dApp(120)의 요청에 따라 기 등록되어 있는 토큰타입을 관리할 수도 있다. 구체적으로, 토큰타입 관리부(340)는 dApp(120)으로부터 특정 토큰의 토큰타입 조회가 요청되면 토큰타입 조회함수를 호출하여 해당요청을 처리하고, 토큰타입의 목록 조회가 요청되면 토큰타입 목록 조회함수를 호출하여 해당요청을 처리한다.Meanwhile, the token type management unit 340 according to the present invention may manage a pre-registered token type according to the request of the dApp 120 . Specifically, when a token type inquiry of a specific token is requested from the dApp 120 , the token type management unit 340 processes the request by calling a token type inquiry function, and when a token type list inquiry is requested, the token type list inquiry function to process the request.

또한, 토큰타입 관리부(340)는 dApp(120)으로부터 토큰타입의 온체인 확장속성에 포함된 서브속성 맵의 갱신이 요청되면 서브속성 맵 갱신함수를 호출하여 해당요청을 처리하고, 토큰타입의 온체인 확장속성에 포함된 서브속성 맵의 조회가 요청되면 서브속성 맵 조회함수를 호출하여 해당요청을 처리하며, 토큰타입의 삭제가 요청되면 토크타입 삭제함수를 호출하여 해당요청을 처리하고, 토큰타입의 온체인 확장속성에 신규 서브속성의 등록이 요청되면 서브속성 등록함수를 호출하여 해당요청을 처리한다.In addition, when the dApp 120 requests to update the sub-attribute map included in the on-chain extended attribute of the token type, the token type management unit 340 calls the sub-attribute map update function to process the request, and When the query of the sub-property map included in the chain extended property is requested, the request is processed by calling the sub-property map search function. When registration of a new sub-attribute is requested in the on-chain extended attribute of , the sub-attribute registration function is called to process the request.

또한, 토큰타입 관리부(340)는 dApp(120)으로부터 토큰타입의 온체인 확장속성에 포함된 서브속성의 데이터 타입 및 초기값 갱신이 요청되면 서브속성 갱신함수를 호출하여 해당요청을 처리하고, 토큰타입의 온체인 확장속성에 포함된 서브속성의 데이터 타입 및 초기값의 조회가 요청되면 서브속성 조회함수를 호출하여 해당요청을 처리하며, 토큰타입의 온체인 확장속성에 포함된 서브속성의 삭제가 요청되면 확장속성 삭제함수를 호출하여 해당요청을 처리할 수 있다.In addition, when a request for updating the data type and initial value of the sub-attribute included in the on-chain extended attribute of the token type from the dApp 120 is requested, the token type manager 340 calls the sub-attribute update function to process the request, and the token When a query of the data type and initial value of a sub-property included in the on-chain extended property of the type is requested, the request is processed by calling the sub-property search function, and the deletion of the sub-property included in the on-chain extended property of the token type is not possible. If requested, the request can be processed by calling the extended attribute deletion function.

다시 도 1을 참조하면, dApp(120)는 인증센터와의 연동을 통해 사용자에 대한 인증을 수행하고, 인증된 사용자로부터 대체불가능 토큰의 생성 및 관리가 요청되면 내부에 포함된 SDK를 통해 해당 요청에 대한 트랜잭션을 생성하여 각 피어 서버(110a~110n)의 스마트 컨트랙트 실행부(114a~114n)로 전달한다. 이때, 상술한 바와 같이 SDK가 트랜잭션을 생성하기 위해 이용하는 함수는 스마트 컨트랙트(112a~112n)에서 사용되는 함수와 1:1로 매핑되어 있다.Referring back to FIG. 1 , the dApp 120 performs authentication for the user through interworking with the authentication center, and when generation and management of a non-fungible token is requested from the authenticated user, the request is made through the SDK included therein. Creates a transaction for , and transmits it to the smart contract execution units 114a to 114n of each peer server 110a to 110n. At this time, as described above, the function used by the SDK to generate a transaction is mapped 1:1 with the function used in the smart contracts 112a to 112n.

단말기(125)는 dApp(120)이 설치되는 것으로서, 스마트폰(Smartphone), 태블릿 PC (Tablet Personal Computer), 이동전화기(Mobile Phone), 노트북 컴퓨터(Netbook Computer), MP3 플레이어, 카메라(Camera), 및 다양한 웨어러블 기기 중 적어도 하나를 포함할 수 있다.The terminal 125 is installed with the dApp 120, and includes a smartphone, a tablet personal computer, a mobile phone, a netbook computer, an MP3 player, a camera, and at least one of various wearable devices.

다른 실시예에 있어서, 단말기(125)는 통신 기능을 갖춘 스마트 가전제품(Smart Home Appliance)일 수 있다. 스마트 가전제품은, 텔레비전, DVD(Digital Video Disk) 플레이어, 스마트 조명, 오디오, 냉장고, 에어컨, 청소기, 오븐, 전자레인지, 세탁기, 공기 청정기, 셋톱 박스, 게임 콘솔, 또는 도어락 중 적어도 하나를 포함할 수 있다.In another embodiment, the terminal 125 may be a smart home appliance having a communication function. The smart home appliance may include at least one of a television, a DVD (Digital Video Disk) player, smart lighting, audio, refrigerator, air conditioner, vacuum cleaner, oven, microwave oven, washing machine, air purifier, set-top box, game console, or door lock. can

본 발명이 속하는 기술분야의 당업자는 상술한 본 발명이 그 기술적 사상이나 필수적 특징을 변경하지 않고서 다른 구체적인 형태로 실시될 수 있다는 것을 이해할 수 있을 것이다.Those skilled in the art to which the present invention pertains will understand that the above-described present invention may be embodied in other specific forms without changing the technical spirit or essential characteristics thereof.

그러므로, 이상에서 기술한 실시예들은 모든 면에서 예시적인 것이며 한정적인 것이 아닌 것으로 이해해야만 한다. 본 발명의 범위는 상기 상세한 설명보다는 후술하는 특허청구범위에 의하여 나타내어지며, 특허청구범위의 의미 및 범위 그리고 그 등가 개념으로부터 도출되는 모든 변경 또는 변형된 형태가 본 발명의 범위에 포함되는 것으로 해석되어야 한다.Therefore, it should be understood that the embodiments described above are illustrative in all respects and not restrictive. The scope of the present invention is indicated by the following claims rather than the above detailed description, and all changes or modifications derived from the meaning and scope of the claims and their equivalent concepts should be interpreted as being included in the scope of the present invention. do.

100: 허가형 블록체인 시스템 110a~110n: 피어 서버
112a~112n: 스마트 컨트랙트 114a~114n: 스마트 컨트랙트 실행부
116a~116n: 데이터베이스 120: dApp
310: 토큰 관리부 320: 사용자 관리부
330: 토큰 거래부 340: 토큰타입 관리부
100: permissioned blockchain system 110a~110n: peer server
112a~112n: smart contract 114a~114n: smart contract execution unit
116a~116n: Database 120: dApp
310: token management unit 320: user management unit
330: token transaction unit 340: token type management unit

Claims (11)

스마트 컨트랙트(Smart Contract)를 이용하여 블록체인 상에 유일성을 갖는 객체에 대한 대체불가능 토큰(Non-Fungible Token)을 생성하는 적어도 하나의 피어 서버를 포함하고,
상기 피어 서버는,
탈중앙화 애플리케이션(dApp)을 통해 특정 객체에 대한 대체불가능 토큰의 발행이 요청되면, 토큰발행함수를 호출하여 토큰 식별자, 토큰타입, 및 소유자를 포함하는 기본속성과 상기 토큰타입 별로 설정되는 확장속성으로 구성된 데이터 구조를 갖는 대체불가능 토큰을 발행하는 토큰관리부; 및
상기 발행된 대체불가능 토큰의 현재상태(State)가 기록되는 데이터베이스를 포함하고,
상기 확장속성은 상기 블록체인 상에 등록되는 온체인(On-Chain) 확장속성 및 오프체인 스토리지에 저장되는 오프체인(Off-Chain) 확장속성을 포함하고,
상기 온체인 확장속성은 상기 토큰타입 별로 상기 블록체인 상에서 관리되어야 하는 미리 정해진 적어도 하나의 서브속성을 포함하는 것을 특징으로 하는 대체불가능 토큰을 지원하는 허가형 블록체인 시스템.
It includes at least one peer server that generates a non-fungible token for an object with uniqueness on a block chain using a smart contract,
The peer server,
When the issuance of a non-fungible token for a specific object is requested through a decentralized application (dApp), the token issuance function is called and the basic properties including the token identifier, token type, and owner and extended properties set for each token type are used. a token management unit that issues a non-fungible token having a configured data structure; and
Including a database in which the current state (State) of the issued non-fungible token is recorded,
The extended attributes include on-chain extended attributes registered on the block chain and off-chain extended attributes stored in off-chain storage,
The on-chain extended attribute includes at least one predetermined sub-attribute to be managed on the blockchain for each token type.
삭제delete 제1항에 있어서,
상기 오프체인 속성은 상기 오프체인 스토리지 내에서 상기 객체가 저장된 경로에 대한 경로정보 및 상기 객체의 메타 데이터에 대한 머클트리의 머클루트의 해쉬정보를 포함하는 것을 특징으로 하는 대체불가능 토큰을 지원하는 허가형 블록체인 시스템.
According to claim 1,
The off-chain property includes path information on the path where the object is stored in the off-chain storage and hash information of the Merkle root of the Merkle tree for the metadata of the object. Permission to support a non-fungible token type blockchain system.
제1항에 있어서,
상기 피어 서버는,
상기 탈중앙화 애플리케이션을 통해 신규 객체에 대한 신규 토큰타입의 등록이 요청되면, 토큰타입 등록함수를 호출하여 상기 블록체인 상에 상기 신규 토큰타입의 명칭과 상기 신규 토큰타입에 따라 요구되는 확장속성을 매칭시킨 신규 토큰타입을 등록하는 토큰타입 관리부를 더 포함하는 것을 특징으로 하는 대체불가능 토큰을 지원하는 허가형 블록체인 시스템.
According to claim 1,
The peer server,
When registration of a new token type for a new object is requested through the decentralized application, a token type registration function is called to match the name of the new token type with the extension properties required according to the new token type on the block chain. Permission-type blockchain system supporting non-fungible tokens, characterized in that it further comprises a token type management unit that registers a new token type.
제4항에 있어서,
상기 토큰타입 관리부는,
상기 탈중앙화 애플리케이션을 통해 토큰타입의 목록 조회요청, 토큰타입의 온체인 확장속성에 포함된 서브속성 맵의 갱신요청, 토큰타입의 온체인 확장속성에 포함된 서브속성 맵의 조회요청, 토큰타입의 삭제요청, 토큰타입의 온체인 확장속성에 포함될 신규 서브속성 등록요청, 토큰타입의 온체인 확장속성에 포함된 서브속성의 데이터 타입 및 초기값 갱신요청, 토큰타입의 온체인 확장속성에 포함된 서브속성의 데이터 타입 및 초기값 조회요청, 및 토큰타입의 온체인 확장속성에 포함된 서브속성의 삭제요청 중 적어도 하나를 포함하는 토큰타입 관리요청이 수신되면, 각 요청에 상응하는 토큰타입 관리함수를 호출하여 해당 요청을 처리하는 것을 특징으로 하는 대체불가능 토큰을 지원하는 허가형 블록체인 시스템.
5. The method of claim 4,
The token type management unit,
Through the decentralized application, a request for a list of token types, a request to update the sub-attribute map included in the on-chain extended attribute of the token type, a request to query the sub-attribute map included in the on-chain extended attribute of the token type, and the token type Delete request, new sub-property registration request to be included in on-chain extended attribute of token type, data type and initial value update request of sub-attribute included in on-chain extended attribute of token type, sub included in on-chain extended attribute of token type When a token type management request including at least one of a data type and initial value inquiry request of an attribute, and a request to delete a sub attribute included in the on-chain extended attribute of the token type is received, a token type management function corresponding to each request is received A permissioned blockchain system that supports non-fungible tokens, characterized by calling and processing the request.
제1항에 있어서,
상기 피어 서버는,
상기 탈중앙화 애플리케이션을 통해 특정 소유자를 위한 운영자 관리요청 또는 특정 토큰에 대한 피승인자 관리요청을 포함하는 사용자 관리요청이 수신되면 사용자 관리함수를 호출하여 해당 요청을 처리하는 사용자 관리부를 더 포함하는 것을 특징으로 하는 대체불가능 토큰을 지원하는 허가형 블록체인 시스템.
According to claim 1,
The peer server,
When a user management request including an operator management request for a specific owner or an approved person management request for a specific token is received through the decentralized application, it further comprises a user management unit that calls a user management function to process the request A permissioned blockchain system that supports non-fungible tokens.
제6항에 있어서,
상기 사용자 관리요청은 특정 토큰의 소유자 조회요청, 특정 소유자에 대한 운영자 추가 또는 삭제요청, 특정 소유자에 대한 운영자 여부 조회요청, 특정 토큰에 대한 피승인자 설정요청, 및 특정 토큰에 대해 설정된 피승인자 조회요청 중 적어도 하나를 포함하는 것을 특징으로 하는 대체불가능 토큰을 지원하는 허가형 블록체인 시스템.
7. The method of claim 6,
The user management request includes an owner inquiry request for a specific token, an operator addition or deletion request for a specific owner, an operator status inquiry request for a specific owner, an approved person setting request for a specific token, and an approved person inquiry request set for a specific token A permissioned blockchain system that supports non-fungible tokens, characterized in that it includes at least one of.
제1항에 있어서,
상기 피어 서버는,
상기 탈중앙화 애플리케이션을 통해 특정 토큰의 거래요청이 수신되면, 상기 특정 토큰의 거래를 위한 조건 성립시 토큰거래 함수를 호출하여 상기 특정 토큰의 데이터 구조에서 상기 특정 토큰의 소유자를 양수인으로 갱신하는 토큰 거래부를 더 포함하는 것을 특징으로 하는 대체불가능 토큰을 지원하는 허가형 블록체인 시스템.
According to claim 1,
The peer server,
When a transaction request for a specific token is received through the decentralized application, a token transaction that calls a token transaction function when the conditions for the transaction of the specific token are established and updates the owner of the specific token as an assignee in the data structure of the specific token A permissioned blockchain system supporting non-fungible tokens, characterized in that it further comprises wealth.
제1항에 있어서,
상기 토큰관리부는,
상기 탈중앙화 애플리케이션을 통해 특정 토큰의 분할요청이 수신되면, 토큰분할함수를 호출하여 상기 특정 토큰을 부모토큰으로 하여 상기 부모토큰의 데이터 구조에 포함된 속성들 중 적어도 일부를 상속하는 복수 개의 자식토큰들을 발행하고, 상기 부모토큰을 비활성화시키는 것을 특징으로 하는 대체불가능 토큰을 지원하는 허가형 블록체인 시스템.
According to claim 1,
The token management unit,
When a request for splitting a specific token is received through the decentralized application, a plurality of child tokens inheriting at least some of the properties included in the data structure of the parent token by calling a token splitting function and using the specific token as a parent token A permission-type blockchain system that supports non-fungible tokens, characterized in that they are issued and the parent token is deactivated.
제1항에 있어서,
상기 토큰관리부는,
상기 탈중앙화 애플리케이션으로부터 기 등록된 토큰의 삭제요청, 특정 토큰의 토큰타입을 조회하는 토큰타입 조회요청, 특정 소유주가 소유한 토큰개수 조회요청, 특정 토큰의 오프체인 확장속성에 포함된 서브속성 값 갱신요청, 특정 토큰의 오프체인 확장속성에 포함된 서브속성 값 조회 요청, 특정 토큰의 온체인 확장속성에 포함된 서브속성 값 갱신요청, 특정 토큰의 온체인 확장속성에 포함된 서브속성 값 조회 요청, 특정 소유주가 소유한 토큰의 토큰 식별자 목록 조회 요청, 토큰 비활성화 요청, 토큰의 전체속성 조회 요청, 및 토큰의 수정이력 조회 요청 중 적어도 하나를 포함하는 토큰관리요청이 수신되면, 각 요청에 상응하는 토큰관리함수를 호출하여 해당 토큰을 관리하는 것을 특징으로 하는 대체불가능 토큰을 지원하는 허가형 블록체인 시스템.
According to claim 1,
The token management unit,
A request to delete a token already registered from the decentralized application, a token type inquiry request to inquire the token type of a specific token, a request to inquire the number of tokens owned by a specific owner, update sub-attribute values included in the off-chain extended attribute of a specific token Request, request to inquire sub-attribute value included in off-chain extended attribute of a specific token, request to update sub-attribute value included in on-chain extended attribute of specific token, request to inquire sub-attribute value included in on-chain extended attribute of specific token, When a token management request including at least one of a token identifier list inquiry request, token deactivation request, token attribute inquiry request, and token modification history inquiry request is received, a token corresponding to each request is received A permission-type blockchain system that supports non-fungible tokens, characterized in that the corresponding token is managed by calling a management function.
제1항에 있어서,
상기 블록체인은 멤버쉽 서비스(Membership Service)에 가입된 사용자들의 접속만이 허가되는 하이퍼레저 패브릭(Hyperledger Fabric) 아키텍처인 것을 특징으로 하는 대체불가능 토큰을 지원하는 허가형 블록체인 시스템.
According to claim 1,
The block chain is a permissioned block chain system supporting non-fungible tokens, characterized in that it is a Hyperledger Fabric architecture in which only access of users subscribed to the membership service is permitted.
KR1020200045447A 2019-11-15 2020-04-14 Permissioned Block Chain System for Supporting Non Fungible Token KR102294571B1 (en)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
KR1020190146456 2019-11-15
KR20190146456 2019-11-15

Publications (2)

Publication Number Publication Date
KR20210059589A KR20210059589A (en) 2021-05-25
KR102294571B1 true KR102294571B1 (en) 2021-08-27

Family

ID=76145702

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020200045447A KR102294571B1 (en) 2019-11-15 2020-04-14 Permissioned Block Chain System for Supporting Non Fungible Token

Country Status (1)

Country Link
KR (1) KR102294571B1 (en)

Cited By (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102325686B1 (en) * 2021-09-09 2021-11-12 윤서진 System for acting memorial service using ancestral rites hall
KR20230102673A (en) 2021-12-30 2023-07-07 박재홍 Synchronized system and method between real world and metaverse
KR20230102674A (en) 2021-12-30 2023-07-07 박재홍 Ynchronized system and method using nfc tag
KR20230109037A (en) 2022-01-12 2023-07-19 주식회사 카르마랩 Metaverse system using nft which includes specific infomation of body and object
US11775965B2 (en) 2021-09-02 2023-10-03 Han Jo Kim Service providing method performed by server of music platform using blockchain-based NFT
KR20230139003A (en) 2022-03-25 2023-10-05 논스랩 주식회사 NFT digital contents access control system and method thereof
KR20240018794A (en) 2022-08-03 2024-02-14 메타박스 가부시키가이샤 Device and method for processing electronic document nft

Families Citing this family (20)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102546100B1 (en) * 2021-07-28 2023-06-21 김현주 System and method for sharing digital asset profit using nft
KR102578855B1 (en) * 2021-08-26 2023-09-14 에이디에프랩스 주식회사 Operating server of nft trading service which enables modification of storage route information, included in nft, and the operating method thereof
KR102388233B1 (en) * 2021-09-02 2022-04-18 김한조 Service providing method performing server of music platform using nft based on blockchain
KR102625053B1 (en) * 2021-10-13 2024-01-15 (주)데이터리퍼블릭 Token verification system and method listed on decentralized exchanges
KR20230052782A (en) 2021-10-13 2023-04-20 두나무 주식회사 Method and apparatus for managing digital object ownership
KR102381499B1 (en) * 2021-11-12 2022-04-01 주식회사 블록오디세이 Method for product information management using private blockchain and public blockchain and apparatus for performing the method
KR102501319B1 (en) * 2021-12-08 2023-02-17 주식회사 디자인방위대 Managing system for registering and transacting data of beverage and food recipe using digital asset trading market and method thereof
KR102482462B1 (en) * 2021-12-10 2022-12-27 김민수 Metabus-based star sales system
WO2023120895A1 (en) * 2021-12-24 2023-06-29 삼성전자주식회사 Electronic device and control method therefor
KR102471465B1 (en) 2022-03-14 2022-11-25 이우석 Seed value preservation system using non-fungible token and method performing thereof
KR102486563B1 (en) * 2022-04-15 2023-01-10 주식회사 에스더블유지 System and method for providing a voice data management platform with nft technology applied
KR102514893B1 (en) * 2022-04-28 2023-03-29 주식회사 스카이플레이 Method for operating of server node based on NFT in non-mining blockchain network system for ESG and blockchain network system including the server node
KR102467901B1 (en) * 2022-05-12 2022-11-17 주식회사 작은히어로 Integrated management system for nft-basedd consumer and manufacturer collaboration products
KR102647908B1 (en) * 2022-05-30 2024-03-15 주식회사 펜타브리드 A method for nft authentication-based integrated membership platform service and an apparatus and a system thereof
KR102550754B1 (en) * 2022-05-31 2023-07-04 주식회사 나노브릭 NFT issuance system and method, and NFT issuance label
KR20240008981A (en) 2022-07-06 2024-01-22 김성하 Nft-based metabus agency system and service method using the same
CN115423471A (en) * 2022-08-31 2022-12-02 三星电子(中国)研发中心 Safety protection method and device for NFT digital assets
KR102485722B1 (en) * 2022-09-15 2023-01-09 동국대학교 와이즈캠퍼스 산학협력단 Apparatus, method and system for providing adaptive streaming service based on a distributed storage
KR102516729B1 (en) * 2022-12-01 2023-03-31 (주)엠나인파이브 NFT issuance system
KR102544012B1 (en) * 2022-12-01 2023-06-15 주식회사 엔터프라이즈블록체인 Nft issuance system and method using the same

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2009176108A (en) * 2008-01-25 2009-08-06 Nec Corp Apparatus, method and program for detecting program source difference
US20190220836A1 (en) * 2018-01-14 2019-07-18 Robot Cache, Inc. Methods and Systems for Media Distribution Employing Contracts Implemented in a Distributed Ledger
KR102002509B1 (en) * 2019-04-04 2019-07-22 주식회사 한국정보보호경영연구소 Privite blockchain system including notarizing center and notarial method thereof

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2009176108A (en) * 2008-01-25 2009-08-06 Nec Corp Apparatus, method and program for detecting program source difference
US20190220836A1 (en) * 2018-01-14 2019-07-18 Robot Cache, Inc. Methods and Systems for Media Distribution Employing Contracts Implemented in a Distributed Ledger
KR102002509B1 (en) * 2019-04-04 2019-07-22 주식회사 한국정보보호경영연구소 Privite blockchain system including notarizing center and notarial method thereof

Cited By (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11775965B2 (en) 2021-09-02 2023-10-03 Han Jo Kim Service providing method performed by server of music platform using blockchain-based NFT
KR102325686B1 (en) * 2021-09-09 2021-11-12 윤서진 System for acting memorial service using ancestral rites hall
KR20230102673A (en) 2021-12-30 2023-07-07 박재홍 Synchronized system and method between real world and metaverse
KR20230102674A (en) 2021-12-30 2023-07-07 박재홍 Ynchronized system and method using nfc tag
KR20230109037A (en) 2022-01-12 2023-07-19 주식회사 카르마랩 Metaverse system using nft which includes specific infomation of body and object
KR20230139003A (en) 2022-03-25 2023-10-05 논스랩 주식회사 NFT digital contents access control system and method thereof
KR20240018794A (en) 2022-08-03 2024-02-14 메타박스 가부시키가이샤 Device and method for processing electronic document nft

Also Published As

Publication number Publication date
KR20210059589A (en) 2021-05-25

Similar Documents

Publication Publication Date Title
KR102294571B1 (en) Permissioned Block Chain System for Supporting Non Fungible Token
US11651109B2 (en) Permission management method, permission verification method, and related apparatus
US10708070B2 (en) System and method for utilizing connected devices to enable secure and anonymous electronic interaction in a decentralized manner
CN109522735B (en) Data permission verification method and device based on intelligent contract
US10938548B2 (en) Blockchain object deployment and synchronization across blockchains
CN110958117B (en) Block chain interoperability with support for zero knowledge proof
AU2020261982B2 (en) Extracting data from a blockchain network
CN110602050B (en) Authentication method and device for block chain access, storage medium and electronic device
EP2585970B1 (en) Online service access controls using scale out directory features
US10523526B2 (en) System and method for managing services and licenses using a blockchain network
CN112005264A (en) Blockchain implementing cross-chain transactions
TW202025045A (en) Invoice reimbursement method and device based on block chain and electronic device
CN110620810A (en) Non-linked ownership of continuous asset transfer over blockchain
WO2011130711A2 (en) Cross-domain identity management for a whitelist-based online secure device privisioning framework
CN113806699B (en) Cross-blockchain identity verification method and system in inter-cloud computing environment
CN114547636A (en) Distributed account book system
JP2023544518A (en) Blockchain-based systems and methods for exposing operating systems
TWI818209B (en) Distributed ledger-based methods and systems for certificate authentication
CN111698198A (en) Secret generation and share distribution
US11880372B2 (en) Distributed metadata definition and storage in a database system for public trust ledger smart contracts
EP4227820A1 (en) System for managing data
US20230394481A1 (en) Authorizing public trust ledger actions via a database system
US11985252B1 (en) Resolving and managing blockchain domains
CN113536342B (en) Block chain-based certificate management method, system, program product and storage medium
CN111414412B (en) Video compression based on machine learning

Legal Events

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