KR20200129073A - The trading system and the method based on a blockchain - Google Patents

The trading system and the method based on a blockchain Download PDF

Info

Publication number
KR20200129073A
KR20200129073A KR1020200146111A KR20200146111A KR20200129073A KR 20200129073 A KR20200129073 A KR 20200129073A KR 1020200146111 A KR1020200146111 A KR 1020200146111A KR 20200146111 A KR20200146111 A KR 20200146111A KR 20200129073 A KR20200129073 A KR 20200129073A
Authority
KR
South Korea
Prior art keywords
transaction
token
asset
blockchain
transactions
Prior art date
Application number
KR1020200146111A
Other languages
Korean (ko)
Other versions
KR102309819B1 (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 KR20200129073A publication Critical patent/KR20200129073A/en
Application granted granted Critical
Publication of KR102309819B1 publication Critical patent/KR102309819B1/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
    • 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/381Currency conversion
    • 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/385Payment protocols; Details thereof using an alias or single-use codes

Abstract

Disclosed is a system providing an asset trading service processing transactions for asset trading. The system includes a distributed storage, a blockchain network including computing devices, and a server including at least one second processor and a second network interface set to communicate with the blockchain network operably connected to at least one blockchain-storable first memory and at least one first processor included in the computing devices through a first network interface. The at least one first processor is set to receive a withdrawal confirmation transaction or a deposit transaction cryptographically signed by an account registered in the blockchain network through the asset trading service, process the deposit request transaction or the withdrawal confirmation transaction, and perform recording in the blockchain. The at least one second processor is set to generate or receive a trading transaction that is cryptographically signed by the account and is not the deposit transaction and the withdrawal confirmation transaction among the transactions through the asset trading service, and process the received or generated trading transaction. The distributed storage is set to store the received or generated trading transaction. Various other embodiments identified through the specification are also possible.

Description

블록체인 기반의 거래 시스템 및 그 방법{THE TRADING SYSTEM AND THE METHOD BASED ON A BLOCKCHAIN}Blockchain-based transaction system and its method {THE TRADING SYSTEM AND THE METHOD BASED ON A BLOCKCHAIN}

본 문서에서 개시되는 실시 예들은, 블록체인에 기초하여 자산 거래 서비스를 제공하는 기술과 관련된다.The embodiments disclosed in this document relate to a technology for providing an asset transaction service based on a blockchain.

현재 널리 사용되는 거래 시스템(trading system)은 중앙화된 거래 시스템(centralized trading system)이다. 거래 시스템에서 발생되는 거래들은 중앙 서버에 의하여 처리되고, 처리된 거래 내역들은 중앙 데이터베이스에 저장될 수 있다. 거래 시스템의 운영자만이 거래 내역에 대한 읽기, 쓰기 등의 억세스 권한을 가질 수 있다. 이에 따라 거래 내역이 사용자에게 투명하게 공개되지 않고, 거래 내역에 대한 조작 가능성이 존재하게 된다. 즉, 중앙화된 거래 시스템은 거래 내역에 대한 투명성(transparency) 및 불변성(immutability)을 보장하지 않는다.Currently, a widely used trading system is a centralized trading system. Transactions occurring in the transaction system are processed by a central server, and processed transaction details can be stored in a central database. Only the operator of the transaction system can have read, write, etc. access to transaction details. Accordingly, the transaction details are not transparently disclosed to the user, and there is a possibility of manipulation of the transaction details. In other words, the centralized transaction system does not guarantee transparency and immutability of transaction details.

거래 내역의 불변성 및 투명성을 제공하기 위하여 거래 시스템은 블록체인 기술을 통하여 구현될 수 있다. 예를 들어, 스마트컨트랙트 기술을 제공하는 블록체인(예: 이더리움)을 통하여 분산화된 거래 시스템(decentralized trading system)이 구현될 수 있다. 모든 거래 내역은 블록체인에 기록될 수 있다. 블록체인은 블록체인에 기록된 데이터에 대한 불변성 및 투명성을 보증할 수 있다. 누구나 모든 거래 내역을 감시할 수 있고(auditable), 거래 내역에 대한 조작이 불가능해진다.In order to provide immutability and transparency of transaction details, a transaction system can be implemented through blockchain technology. For example, a decentralized trading system can be implemented through a block chain (eg, Ethereum) that provides smart contract technology. All transaction details can be recorded on the blockchain. Blockchain can guarantee the immutability and transparency of the data recorded on the blockchain. Anyone can monitor all transaction details (auditable), and manipulation of transaction details becomes impossible.

USUS 2017010338520170103385 A1A1

거래 내역에 대한 투명성 및 불변성을 보장하기 위하여, 거래 서비스는 블록체인 네트워크를 통하여 제공될 수 있다. 그러나 블록체인의 종류에 따라 거래가 수행될 때 많은 트랜잭션 수수료(transaction fee)가 부과될 수 있다.In order to ensure transparency and immutability of transaction details, transaction services can be provided through a blockchain network. However, depending on the type of blockchain, a large transaction fee may be charged when a transaction is performed.

트랜잭션 수수료를 부과하는 블록체인 기반의 거래 시스템에서, 예를 들어 주문(예: 구매 주문(buy order), 판매 주문(sell order))을 생성하는 트랜잭션, 주문을 취소하는 트랜잭션과 같이 거래가 아직 성사되기 전에 발생하는 트랜잭션들에도 트랜잭션 수수료가 부과될 수 있다. 따라서 모든 트랜잭션이 블록체인 네트워크를 통해 처리된다면, 거래 서비스의 제공자 또는 사용자는 과도한 트랜잭션 수수료를 부담해야 할 수 있다.In a blockchain-based transaction system that charges a transaction fee, transactions are still completed, such as transactions that create orders (e.g., buy orders, sell orders), transactions that cancel orders, etc. Transaction fees may also be charged for transactions that occur before. Therefore, if all transactions are processed through the blockchain network, the provider or user of the transaction service may have to bear excessive transaction fees.

트랜잭션 수수료는 그 블록체인의 네이티브 통화(native currency)로 지불 되어야 한다. 사용자는 거래 시스템을 이용하기 위하여 네이티브 통화를 직접 구매하고, 구매한 네이티브 통화를 통하여 트랜잭션 수수료를 지불해야 한다. 이는 사용자에게 큰 불편을 줄 수 있다.Transaction fees must be paid in the blockchain's native currency. In order to use the transaction system, users must directly purchase native currency and pay transaction fees through the purchased native currency. This can cause great inconvenience to the user.

트랜잭션 처리 속도는 블록체인의 블록 생성 주기에 영향을 받을 수 있다. 일반적인 블록체인에서의 블록 생성 시간(예: 이더리움: 14초, 비트코인: 10분)은 중앙 서버에서 거래가 이루어지는 중앙화 거래소에 비해 매우 길다. 이처럼 블록체인 네트워크의 트랜잭션 처리 속도가 느린 경우, 그 블록체인 기반의 거래 시스템은 상용화되기 어렵다.The transaction processing speed can be affected by the block generation cycle of the blockchain. Block creation time in a typical blockchain (e.g. Ethereum: 14 seconds, Bitcoin: 10 minutes) is very long compared to centralized exchanges where transactions are conducted on a central server. When the transaction processing speed of the blockchain network is slow, the blockchain-based transaction system is difficult to commercialize.

본 문서에서 개시되는 다양한 실시 예들은, 블록체인 기반으로 거래 내역의 불변성 및 투명성을 제공하면서도, 상술한 문제점을 해결할 수 있는 거래 시스템을 제공하고자 한다.Various embodiments disclosed in this document are intended to provide a transaction system capable of solving the above-described problems while providing immutability and transparency of transaction details based on a block chain.

본 문서에 개시되는 일 실시 예에 따른 시스템은 자산 거래를 위한 복수의 트랜잭션들을 처리하는 자산 거래 서비스를 제공할 수 있다. 시스템은 복수의 컴퓨팅 장치를 포함하는 블록체인 네트워크, 상기 블록체인 네트워크는 제1 네트워크 인터페이스를 통하여 상기 복수의 컴퓨팅 장치에 포함되는 적어도 하나의 제1 프로세서, 및 적어도 하나의 제1 메모리와 동작 가능하도록 연결되고, 상기 적어도 하나의 제1 메모리에 블록체인이 저장될 수 있고, 상기 블록체인 네트워크와 통신하도록 설정된 제2 네트워크 인터페이스, 및 적어도 하나의 제2 프로세서를 포함하는 서버, 및 분산 저장소를 포함하고, 상기 적어도 하나의 제1 프로세서는, 상기 자산 거래 서비스를 통하여 상기 블록체인 네트워크에 등록된 계좌에 의하여 암호화 서명된 입금 트랜잭션 또는 출금 확인 트랜잭션을 수신하고, 상기 입금 요청 트랜잭션 또는 상기 출금확인 트랜잭션을 처리하고, 상기 블록체인에 기록하도록 설정되고, 상기 적어도 하나의 제2 프로세서는, 상기 계좌에 의하여 암호화 서명되고, 상기 복수의 트랜잭션들 중 상기 입금 트랜잭션 및 상기 출금 확인 트랜잭션이 아닌 거래 트랜잭션을 상기 자산 거래 서비스를 통하여 수신하거나, 생성하고, 상기 수신되거나 생성된 거래 트랜잭션을 처리하도록 설정되고, 상기 분산 저장소는 상기 수신되거나 생성된 거래 트랜잭션을 저장하도록 설정될 수 있다.The system according to an embodiment disclosed in this document may provide an asset transaction service that processes a plurality of transactions for asset transaction. The system is a blockchain network including a plurality of computing devices, and the blockchain network is operable with at least one first processor included in the plurality of computing devices and at least one first memory through a first network interface. A second network interface that is connected and capable of storing a blockchain in the at least one first memory, and configured to communicate with the blockchain network, and a server including at least one second processor, and a distributed storage, , The at least one first processor receives a deposit transaction or withdrawal confirmation transaction encrypted by an account registered in the blockchain network through the asset transaction service, and processes the deposit request transaction or the withdrawal confirmation transaction And, it is set to record in the block chain, the at least one second processor is cryptographically signed by the account, the asset transaction is a transaction transaction other than the deposit transaction and the withdrawal confirmation transaction among the plurality of transactions It is configured to receive or generate through a service, and to process the received or generated transactional transaction, and the distributed storage may be configured to store the received or generated transactional transaction.

본 문서에 개시되는 실시 예들에 따른 거래 시스템은 일부 트랜잭션을 블록체인 밖에서 처리함으로써, 트랜잭션 수수료를 줄이고 트랜잭션의 처리 속도를 증가시킬 수 있다. 동시에 거래 시스템은 블록체인 밖에서 처리되는 트랜잭션의 데이터에 대하여 불변성 및 투명성을 보장할 수 있다.The transaction system according to the embodiments disclosed in this document may reduce transaction fees and increase transaction processing speed by processing some transactions outside the blockchain. At the same time, the transaction system can guarantee immutability and transparency for the data of transactions processed outside the blockchain.

본 문서에 개시되는 실시 예들에 따른 거래 시스템은 그 자체의 통화 토큰을 발행함으로써 사용자의 편의를 제공할 수 있다. 사용자는 원화, 달러 등의 각 나라의 화폐로서 통화 토큰을 구매하고 거래 시스템을 이용할 수 있다. 사용자는 네이티브 통화를 구매할 필요가 없다.The transaction system according to the embodiments disclosed in this document may provide user convenience by issuing its own currency token. Users can purchase currency tokens and use the transaction system as currency of each country, such as won and dollar. Users don't need to buy native currency.

이 외에, 본 문서를 통해 직접적 또는 간접적으로 파악되는 다양한 효과들이 제공될 수 있다.In addition to this, various effects that are directly or indirectly identified through this document can be provided.

도 1a는 일 실시 예에 따른 블록체인 기반의 거래 시스템을 나타낸다.
도 1b는 다양한 실시 예에 따른 블록체인 기반의 거래 시스템을 설명하기 위한 도면이다.
도 1c는 다양한 실시 예에 따른 블록체인 네트워크의 구조를 설명하기 위한 도면이다.
도 1d는 일 실시 예에 따른 거래소 서버의 블록도이다.
도 2는 일 실시 예에 따른 거래 시스템에서 발생하는 거래 트랜잭션의 시퀀스의 일 예시와, 출금 요청 발생에 따라 수행되는 정산 절차를 설명하기 위한 도면이다.
도 3은 일 실시 예에 따라 분산 저장소에 저장되는 거래 내역에 대한 불변성과 투명성을 보장하는 거래 내역 저장 방법을 설명하기 위한 도면이다.
도 4는 다양한 실시 예에 따른 거래 시스템으로의 입금 방법의 시퀀스도이다.
도 5는 다양한 실시 예에 따른 자산 거래 방법의 시퀀스도이다.
도 6은 다양한 실시 예에 따른 거래 시스템으로부터의 출금 방법의 시퀀스도이다.
도 7은 다양한 실시 예에서 초기에 자산 지분 토큰을 분배하는 방법을 설명하기 위한 도면이다.
도 8은 다양한 실시 예에서 자산 인수(acquisition) 및 지분홀더(shareholder)의 투표 시스템을 설명하기 위한 도면이다.
도면의 설명과 관련하여, 동일 또는 유사한 구성요소에 대해서는 동일 또는 유사한 참조 부호가 사용될 수 있다.
1A shows a block chain-based transaction system according to an embodiment.
1B is a diagram illustrating a block chain-based transaction system according to various embodiments of the present disclosure.
1C is a diagram illustrating a structure of a block chain network according to various embodiments.
1D is a block diagram of an exchange server according to an embodiment.
FIG. 2 is a diagram illustrating an example of a sequence of a transaction transaction occurring in a transaction system according to an embodiment, and a settlement procedure performed according to an occurrence of a withdrawal request.
FIG. 3 is a diagram for explaining a method of storing transaction details to ensure immutability and transparency of transaction details stored in a distributed storage according to an embodiment.
4 is a sequence diagram of a method for depositing money into a transaction system according to various embodiments of the present disclosure.
5 is a sequence diagram of an asset transaction method according to various embodiments of the present disclosure.
6 is a sequence diagram of a withdrawal method from a transaction system according to various embodiments of the present disclosure.
7 is a diagram illustrating a method of initially distributing an asset equity token in various embodiments.
8 is a diagram illustrating a voting system for asset acquisition and shareholders in various embodiments.
In connection with the description of the drawings, the same or similar reference numerals may be used for the same or similar components.

이하, 본 발명의 다양한 실시 예가 첨부된 도면을 참조하여 기재된다. 그러나, 이는 본 발명을 특정한 실시 형태에 대해 한정하려는 것이 아니며, 본 발명의 실시 예의 다양한 변경(modification), 균등물(equivalent), 및/또는 대체물(alternative)을 포함하는 것으로 이해되어야 한다. Hereinafter, various embodiments of the present invention will be described with reference to the accompanying drawings. However, this is not intended to limit the present invention to a specific embodiment, it should be understood to include various modifications, equivalents, and/or alternatives of the embodiments of the present invention.

도 1a은 일 실시 예에 따른 블록체인 기반의 거래 시스템을 나타낸다. 도 1b는 다양한 실시 예에 따른 블록체인 기반의 거래 시스템을 설명하기 위한 도면이다. 도 1c는 다양한 실시 예에 따른 블록체인 네트워크의 구조를 설명하기 위한 도면이다. 도 1d는 일 실시 예에 따른 거래소 서버의 블록도이다. 1A shows a block chain-based transaction system according to an embodiment. 1B is a diagram illustrating a block chain-based transaction system according to various embodiments of the present disclosure. 1C is a diagram illustrating a structure of a block chain network according to various embodiments. 1D is a block diagram of an exchange server according to an embodiment.

이하, 도 1a 내지 도 1d를 참조하여 본 발명의 일 실시 예에 따른 거래 시스템이 설명된다.Hereinafter, a transaction system according to an embodiment of the present invention will be described with reference to FIGS. 1A to 1D.

도 1a를 참조하면, 일 실시 예에 따른 자산 거래 서비스를 제공하는 거래 시스템(10)은 블록체인 네트워크(100), 거래 서버(200), 분산 저장소(distributed storage)(300)를 포함할 수 있다.Referring to FIG. 1A, a transaction system 10 providing an asset transaction service according to an embodiment may include a blockchain network 100, a transaction server 200, and a distributed storage 300. .

거래 시스템(10)은 디앱(Dapp, decentralized application)(70)을 통하여 사용자에게 자산 거래 서비스를 제공할 수 있다. 사용자는 예를 들어, 사용자의 단말(예: PC, 스마트폰 등의 전자 장치)의 디앱(70)을 실행하고 자산 거래 서비스를 이용할 수 있다.The transaction system 10 may provide an asset transaction service to a user through a decentralized application (Dapp) 70. The user may, for example, run the DApp 70 on the user's terminal (eg, an electronic device such as a PC or a smartphone) and use an asset transaction service.

자산 거래 서비스란, 부동산, 미술 작품과 같은 자산에 대한 교환 거래를 제공하는 서비스로 참조될 수 있다. 예를 들어, 거래 시스템(10)은 자산을 토큰화하고, 그 토큰을 발행하고 관리함으로써 자산에 대한 교환 거래 서비스를 제공할 수 있다.The asset transaction service may be referred to as a service that provides an exchange transaction for assets such as real estate and artwork. For example, the trading system 10 may tokenize an asset and provide an exchange transaction service for an asset by issuing and managing the token.

다양한 실시 예에서, 거래 시스템(10)에 의하여 제공되는 거래 서비스는 서로 다른 종류의 토큰 간의 교환 거래로 확장될 수 있다. 예를 들어, 서로 다른 스마트컨트랙트를 통하여 발행되는 서로 다른 토큰 간의 교환 거래 서비스는 본 발명에 따른 거래 시스템(10)에 의하여 제공될 수 있다.In various embodiments, the transaction service provided by the transaction system 10 may be extended to exchange transactions between different types of tokens. For example, an exchange transaction service between different tokens issued through different smart contracts may be provided by the transaction system 10 according to the present invention.

다양한 실시 예에서, 본 문서에서 개시되는 거래 시스템(10)은 통상의 기술자에 의하여 자산 외의 다른 재화에 대한 교환 서비스에도 확장되어 적용될 수 있다. 예를 들어, 거래 시스템(10)은 서로 다른 암호화 통화 자체 사이의 상호 교환 거래 서비스를 제공할 수 있다. 서로 다른 토큰간의 교환 거래는 서로 다른 암호화 통화간의 교환 거래에 마찬가지로 적용될 수 있다. 다른 예에서, 거래 시스템(10)은 채권, 증권, 특허권, 상표권 등의 채권적 권리를 토큰화하고, 그 토큰을 발행하고 관리함으로써 상기 권리들에 대한 교환 거래 서비스를 제공할 수 있다.In various embodiments, the transaction system 10 disclosed in this document may be extended and applied to an exchange service for goods other than assets by a skilled person. For example, the transaction system 10 may provide an interchange transaction service between different cryptocurrencies themselves. Exchange transactions between different tokens can be applied to exchange transactions between different cryptocurrencies as well. In another example, the trading system 10 may tokenize bond rights such as bonds, securities, patent rights, trademark rights, etc., and issue and manage the tokens to provide exchange trading services for the rights.

일 실시 예에서, 거래 시스템(10)은 자산에 대응되는 토큰을 발행할 수 있다. 부동산, 미술 작품과 같은 자산은 토큰화 되어 거래 시스템(10)에 의하여 거래될 수 있다. 이하, 토큰화된 자산은 자산 지분 토큰(asset share token)으로 참조될 수 있다. 예를 들어, 사용자는 팔고자 하는 자산을 등록하고, 상기 자산에 대응되는 자산 지분 토큰들을 받을 수 있다.In one embodiment, the transaction system 10 may issue a token corresponding to an asset. Assets such as real estate and artwork can be tokenized and traded by the transaction system 10. Hereinafter, the tokenized asset may be referred to as an asset share token. For example, a user may register an asset to sell and receive asset equity tokens corresponding to the asset.

거래 시스템(10)은 거래 서비스에서 이용되는 통화에 대응되는 토큰을 발행할 수 있다. 이하, 상기 토큰은 통화 토큰(currency token)으로 참조될 수 있다. 사용자는 거래 시스템(10)에 원화를 입금하고, 입금된 원화 양에 대응되는 통화 토큰을 받을 수 있다. 사용자는 통화 토큰을 이용하여 자산 지분 토큰을 구매할 수 있다.The transaction system 10 may issue a token corresponding to a currency used in a transaction service. Hereinafter, the token may be referred to as a currency token. The user may deposit KRW in the transaction system 10 and receive a currency token corresponding to the deposited KRW amount. Users can use currency tokens to purchase asset equity tokens.

거래 시스템(10)은 자산 교환 거래를 지원할 수 있다. 예를 들어, 사용자는 통화 토큰을 이용하여 자산 지분 토큰을 구매함으로써, 자산 지분 토큰에 대응되는 자산의 일부 또는 전부를 구매할 수 있다. 사용자는 자산 지분 토큰을 이용하여 통화 토큰을 구매함으로써, 소유한 자산의 일부 또는 전부를 판매할 수 있다The transaction system 10 may support asset exchange transactions. For example, the user may purchase a part or all of an asset corresponding to the asset equity token by purchasing an asset equity token using a currency token. Users can sell some or all of the assets they own by purchasing currency tokens using asset equity tokens.

일 실시 예에서, 거래 시스템(10)은 블록체인 네트워크(100)의 계좌 자체를 거래 시스템(10)의 사용자 계좌로 사용할 수 있다. 따라서 거래 시스템(10)의 사용자 계좌는 클라이언트 측에서 거래서 서버(200)의 간섭(intervention) 없이 독립적으로 생성할 수 있다. 기존의 중앙화된 거래 시스템에서는 사용자가 가입하고 로그인 (sign-up/ sign-in)하고, 중앙화된 데이터베이스에 관련 정보를 저장한다. 이에 따라 사용자의 계좌를 포함한 관련 정보는 중앙화된 서버에 의하여 제어 및 관리되게 된다. 그러나 분산화된 거래 시스템에서 사용자의 계좌는 사용자에 의하여 완전히 제어될 수 있다.In one embodiment, the transaction system 10 may use the account of the blockchain network 100 itself as a user account of the transaction system 10. Therefore, the user account of the transaction system 10 can be independently created without interference from the transaction server 200 on the client side. In the existing centralized transaction system, users sign up and log in (sign-up/sign-in) and store related information in a centralized database. Accordingly, related information including the user's account is controlled and managed by a centralized server. However, in a decentralized trading system, the user's account can be completely controlled by the user.

도 1b를 참조하면, 일 실시 예에 따른 거래 시스템(10)은 블록체인 네트워크(100)를 통하여 거래 서비스가 구현된 적어도 하나의 스마트컨트랙트를 제공할 수 있다. 상기 스마트컨트랙트는 거래 서비스를 제공할 수 있도록 구현될 수 있고, 구현된 스마트컨트랙트는 블록체인 네트워크(100)에 배포될 수 있다.Referring to FIG. 1B, the transaction system 10 according to an embodiment may provide at least one smart contract in which a transaction service is implemented through a block chain network 100. The smart contract may be implemented to provide a transaction service, and the implemented smart contract may be distributed to the blockchain network 100.

예를 들어, 거래 시스템(10)은 공유 자산을 생성하는 자산 지분 스마트컨트랙트(1), 통화 토큰을 관리하는 통화 토큰 스마트컨트랙트(2), 및 자산 거래를 위한 거래소 스마트컨트랙트(3)를 제공할 수 있다. 예를 들어, 거래 시스템(10)이 이더리움 네트워크를 기반으로 구현된 경우, 스마트컨트랙트는 ERC 20 토큰 및 ERC 223 토큰에 호환 가능하도록 구현될 수 있다.For example, the trading system 10 will provide an asset equity smart contract (1) that creates shared assets, a currency token smart contract (2) that manages currency tokens, and an exchange smart contract (3) for asset trading. I can. For example, when the transaction system 10 is implemented based on the Ethereum network, the smart contract may be implemented to be compatible with the ERC 20 token and the ERC 223 token.

자산 지분 스마트컨트랙트(1)는 자산 지분 스마트컨트랙트(1)의 자산 지분 토큰 계정의 잔액 장부, 자산 지분 토큰의 이동(예: 자산 지분 토큰 입금 및 거래소 스마트컨트랙트(3)로의 출금), 초기의 자산 지분 토큰 발행을 위한 기능을 제공할 수 있다. Asset equity smart contract (1) is an asset equity smart contract (1)'s asset equity token account balance book, asset equity token transfer (e.g. asset equity token deposit and withdrawal to exchange smart contract (3)), initial assets It can provide a function for issuing equity tokens.

통화 토큰 스마트컨트랙트(2)는 통화 토큰 스마트컨트랙트(2)의 통화 토큰 계정의 잔액 장부, 통화 토큰의 이동(예: 통화 토큰의 입금 및 거래소 스마트컨트랙트(3)로의 출금), 통화 토큰의 발행 및 교환(redeeming)을 위한 기능을 제공할 수 있다.The currency token smart contract (2) includes the balance book of the currency token account of the currency token smart contract (2), the movement of currency tokens (e.g., deposit of currency tokens and withdrawal to the exchange smart contract (3)), issuance of currency tokens, and It can provide a function for redeeming.

다양한 실시 예에서, 통화 토큰 스마트컨트랙트(2)에 의하여 발행되는 통화 토큰은 거래 시스템(10)이 운영되는 나라의 화폐에 대응되도록 구현될 수 있다. 예를 들어, 한국에서 발행되는 원화에 대응되는 dKRW 토큰은 한국에서 운영되는 은행의 은행 계좌의 잔고에 비례하여 발행될 수 있다. 별도의 서버(예: 도 1d의 dKRW 서버)는 은행과 블록체인 네트워크(100)사이에서 중개 동작, 예를 들면 은행으로부터 원화 입금 여부 확인, 은행 계좌의 잔고 확인, 통화 토튼 스마트컨트랙트(2)로의 입금 트랜잭션 전달 등의 동작을 수행할 수 있다.In various embodiments, the currency token issued by the currency token smart contract 2 may be implemented to correspond to the currency of the country in which the transaction system 10 is operated. For example, dKRW tokens corresponding to KRW issued in Korea can be issued in proportion to the balance of the bank account of a bank operating in Korea. A separate server (e.g., dKRW server in Fig. 1D) is a brokerage operation between the bank and the blockchain network 100, e.g., checks whether Korean won is deposited from the bank, checks the balance of the bank account, and transfers currency to the Toton smart contract (2) You can perform operations such as transfer of deposit transactions.

거래소 스마트컨트랙트(3)는 거래를 위하여 자산 지분 스마트컨트랙트(1)로부터 자산 지분 토큰을 이전(transfer) 받을 수 있고, 통화 토큰 스마트컨트랙트(2)로부터 통화 토큰을 이전(transfer) 받을 수 있다. 또한 거래소 스마트컨트랙트(3)는 자산 지분 토큰 및 통화 토큰의 출금 기능을 제공할 수 있다.The exchange smart contract 3 can transfer the asset equity token from the asset equity smart contract 1 for trading, and can transfer the currency token from the currency token smart contract 2. In addition, the exchange smart contract (3) can provide withdrawal functions of asset equity tokens and currency tokens.

다양한 실시 예에서, 자산 거래 서비스의 사용자는 자산 지분 토큰 또는 통화 토큰을 입금(deposit)하고, 입금된 토큰의 한도 내에서 자산 교환 거래를 수행할 수 있다. 자산 지분 토큰과 통화 토큰은 거래소 스마트컨트랙트(3)로 입금될 수 있고, 입금 내역은 블록체인 네트워크(100)에 기록된다. 거래소 스마트컨트랙트(3)에 대한 입금 내역은 거래소 서버(200)에게 제공될 수 있다. 예를 들어 거래소 스마트컨트랙트(3)는 입금에 대한 로그 데이터를 생성하고, 블록체인(55)에 기록할 수 있다. 거래소 서버(200)는 기록된 로그 데이터를 참조할 수 있다. 이로서, 거래소 스마트컨트랙트(3) 상의 토큰의 잔액과 거래소 서버(200) 상의 거래소 계좌 사이의 동기화가 이루어질 수 있다. 거래소 서버(200)는 거래소 계좌에 입금된 토큰들의 잔고를 기준으로 사용자의 거래 관련 요청을 처리할 수 있다. 거래소 서버(200)는 출금 요청이 발생되면, 출금 요청이 발생된 양의 토큰을 거래소 계좌에서 출금할 수 있다. 출금 과정에 대한 구체적 내용은 도 2를 통화여 후술된다.In various embodiments, a user of an asset transaction service may deposit an asset equity token or a currency token, and perform an asset exchange transaction within the limit of the deposited token. Asset stake tokens and currency tokens can be deposited into an exchange smart contract (3), and the deposit details are recorded in the blockchain network (100). Deposit details for the exchange smart contract 3 may be provided to the exchange server 200. For example, the exchange smart contract (3) can generate log data on the deposit and record it in the blockchain (55). The exchange server 200 may refer to the recorded log data. As a result, synchronization between the balance of the token on the exchange smart contract 3 and the exchange account on the exchange server 200 can be achieved. The exchange server 200 may process a transaction-related request from a user based on the balance of tokens deposited in an exchange account. When a withdrawal request is generated, the exchange server 200 may withdraw the amount of tokens for which the withdrawal request is generated from the exchange account. Details of the withdrawal process will be described later by calling FIG. 2.

거래 시스템(10)에서 이루어지는 모든 거래들은 거래 당사자의 블록체인 네트워크(100) 계정(예: 이더리움 계정)의 개인 키(private key)에 의하여 암호화 서명될 수 있다(cryptographically signed). 암호화 서명을 통해, 특정 블록체인 네트워크(100) 계좌의 소유자에 의하여 발생된 거래들이 식별될 수 있다. 예를 들어 블록체인 네트워크(100)의 계정은 이미 공개된 암호화 알고리즘(예: secp256k 타원 곡선 암호화 알고리즘)에 의하여 생성된 공개키 및 일반 키로 참조될 수 있다. 이하, 특정 계좌에 의하여 서명된 트랜잭션들은 상기 특정 계좌에 맵핑된 트랜잭션들로 참조될 수 있다.All transactions made in the transaction system 10 can be cryptographically signed by the private key of the transaction party's blockchain network 100 account (eg, Ethereum account). Through the cryptographic signature, transactions generated by the owner of a specific blockchain network 100 account can be identified. For example, the account of the blockchain network 100 may be referred to as a public key and a general key generated by an encryption algorithm that has already been disclosed (eg, secp256k elliptic curve encryption algorithm). Hereinafter, transactions signed by a specific account may be referred to as transactions mapped to the specific account.

사용자가 특정 거래를 요청하면, 상기 사용자의 개인 키에 의하여 암호되고 상기 요청된 거래에 대응되는 트랜잭션이 발생될 수 있다. 거래 시스템(10)은 상기 트랜잭션을 처리하고, 기록할 수 있다.When a user requests a specific transaction, it is encrypted by the user's private key and a transaction corresponding to the requested transaction may be generated. The transaction system 10 can process and record the transaction.

일 실시 예에서, 거래 시스템(10)에서 발생하는 트랜잭션들의 일부는 블록체인 네트워크(100)를 통하여 블록체인 상(on blockchain)에서 처리될 수 있고, 나머지 일부는 거래소 서버(200)를 통하여 블록체인 밖(off block chain)에서 처리될 수 있다. 모든 트랜잭션이 블록체인 상에서 처리되면 과도한 트랜잭션 수수료가 발생할 수 있고, 처리 지연이 발생할 수 있다. 따라서 본 문서에서 개시되는 거래 시스템(10)은 일부 트랜잭션을 블록체인 밖에서 처리함으로써 수수료를 감소시키고, 빠른 처리를 수행할 수 있다.In one embodiment, some of the transactions occurring in the transaction system 10 may be processed on the blockchain through the blockchain network 100, and the remaining part may be processed in the blockchain through the exchange server 200. It can be handled outside (off block chain). When all transactions are processed on the blockchain, excessive transaction fees may occur and processing delays may occur. Accordingly, the transaction system 10 disclosed in this document can reduce fees and perform fast processing by processing some transactions outside the blockchain.

도 1c를 참조하면, 블록체인 네트워크(100)는 네트워크를 통하여 서로 연결된 복수 개의 컴퓨팅 장치들(50)(피어 또는 노드)을 포함하는 피어 투 피어 네트워크로 참조될 수 있다. 상기 복수 개의 컴퓨팅 장치들(50)은 하나의 공공 원장(public ledger)을 가질 수 있다. 블록체인 네트워크(100)는 하나의 공공 원장(public ledger)이 복수 개의 컴퓨팅 장치들(50) 각각에 의하여 생성되는 점에서 분산 네트워크로 참조될 수 있다. 상기 하나의 공공 원장은 블록체인(55)으로 참조될 수 있다. 블록체인 네트워크(100)는 트랜잭션을 처리하고 블록체인(55)에 기록할 수 있다. 예를 들어, 블록체인 네트워크(100)는 자산 지분 스마트컨트랙트(1), 통화 토큰 스마트컨트랙트(2), 및 교환(exchange) 스마트컨트랙트(3)에서 정의된 트랜잭션들을 처리하고 블록체인(55)에 기록할 수 있다.Referring to FIG. 1C, the blockchain network 100 may be referred to as a peer-to-peer network including a plurality of computing devices 50 (peers or nodes) connected to each other through a network. The plurality of computing devices 50 may have one public ledger. The blockchain network 100 may be referred to as a distributed network in that one public ledger is generated by each of the plurality of computing devices 50. The single public ledger may be referred to as the blockchain 55. The blockchain network 100 can process transactions and write them to the blockchain 55. For example, the blockchain network 100 processes transactions defined in an asset equity smart contract (1), a currency token smart contract (2), and an exchange smart contract (3) and transfers the transaction to the blockchain 55. Can be recorded.

도 1d를 참조하면, 일 실시 예에 따른 거래소 서버(200)는 프로세서(210), 메모리(220), 및 통신 인터페이스(230)를 포함할 수 있다. 프로세서(210)는 거래소 서버(200)의 전반적인 동작을 제어할 수 있다. 프로세서(210)는 트랜잭션 처리 모듈(215)을 포함할 수 있다. 예를 들어, 프로세서(210)는 메모리(140)에 저장된 명령어들을 실행하여 트랜잭션 처리 모듈(215)을 구동시킬 수 있다. 트랜잭션 처리 모듈(215)에 의하여 수행되는 동작은 프로세서(210)에 의하여 수행되는 동작으로 이해될 수 있다. 거래소 서버(200)는 통신 인터페이스(230)를 통하여 블록체인 네트워크(100) 및 분산 저장소(300)와 통신을 수행할 수 있다. 거래소 서버(200)의 프로세서(210)는 발생된 트랜잭션을 처리하고, 상기 트랜잭션 또는 상기 트랜잭션의 처리 결과를 통신 인터페이스(230)를 통하여 분산 저장소(300)로 송신할 수 있다. 분산 저장소(300)는 수신한 트랜잭션을 저장할 수 있다.Referring to FIG. 1D, the exchange server 200 according to an embodiment may include a processor 210, a memory 220, and a communication interface 230. The processor 210 may control the overall operation of the exchange server 200. The processor 210 may include a transaction processing module 215. For example, the processor 210 may drive the transaction processing module 215 by executing instructions stored in the memory 140. An operation performed by the transaction processing module 215 may be understood as an operation performed by the processor 210. The exchange server 200 may communicate with the blockchain network 100 and the distributed storage 300 through the communication interface 230. The processor 210 of the exchange server 200 may process the generated transaction and transmit the transaction or the processing result of the transaction to the distributed storage 300 through the communication interface 230. The distributed storage 300 may store the received transaction.

상술한 바와 같이, 블록체인 네트워크(100)에 의하여 처리된 트랜잭션은 블록체인(55)에 저장될 수 있고, 거래소 서버(200)에 의하여 처리된 트랜잭션은 분산 저장소(300)에 저장될 수 있다. 블록체인 네트워크(100) 또는 분산 저장소(300)에 저장된 트랜잭션들은 불변성과 투명성을 가질 수 있다.As described above, transactions processed by the blockchain network 100 may be stored in the blockchain 55, and transactions processed by the exchange server 200 may be stored in the distributed storage 300. Transactions stored in the blockchain network 100 or the distributed storage 300 may have immutability and transparency.

분산 저장소(300)는 저장된 데이터들에 대한 불변성 및 투명성을 보장할 수 있다. 분산 저장소(300)는 예를 들어, IPFS(InterPlanetary File System)으로 참조될 수 있다. IPFS에 게재된(published) 데이터에 대한 불변성은 merkle directed acyclic graph (DAG) 구조에 의하여 보장될 수 있다. 누구나 저장된 데이터들의 주소 값(예: 해시 주소 값)을 통하여 상기 저장된 데이터들에 접근할 수 있다. 사용자들은 분산 저장소(300)에 저장된 모든 거래 내역을 확인하고 감시할 수 있다. 이와 관련된 구체적 내용은 도 4를 참조하여 후술된다.The distributed storage 300 may guarantee immutability and transparency of stored data. The distributed storage 300 may be referred to as, for example, an InterPlanetary File System (IPFS). The immutability of published data in IPFS can be guaranteed by the merkle directed acyclic graph (DAG) structure. Anyone can access the stored data through the address values of the stored data (eg, hash address values). Users can check and monitor all transaction details stored in the distributed storage 300. Details related to this will be described later with reference to FIG. 4.

거래 시스템(10)은 분산 저장소(300)에 모든 거래 내역을 저장함으로써, 거래소 서버(200)에 의하여 처리되는 트랜잭션들에 대하여도 투명성과 불변성을 보장할 수 있다.The transaction system 10 stores all transaction details in the distributed storage 300, thereby ensuring transparency and immutability even for transactions processed by the exchange server 200.

도 2는 일 실시 예에 따른 거래 시스템에서 발생하는 거래 트랜잭션의 시퀀스의 일 예시와, 출금 요청 발생에 따라 수행되는 정산 절차를 설명하기 위한 도면이다.FIG. 2 is a diagram illustrating an example of a sequence of a transaction transaction occurring in a transaction system according to an embodiment, and a settlement procedure performed according to an occurrence of a withdrawal request.

일 실시 예에 따른 거래 시스템(10)은 다양한 트랜잭션들을 제공할 수 있다. 예를 들어, 트랜잭션들은 구매 주문(buy order), 판매 주문(sell order), 교환 구매(trade buy), 교환 판매(trade sell), 구매 주문 취소(cancel buy order), 판매 주문 취소(cancel sell order), 입금(deposit), 출금 요청(withdrawal request), 출금 요청 취소(cancel withdrawal request), 출금 확인(withdrawal confirm)을 포함할 수 있다. 그러나 상술된 트랜잭션들은 예시적이며, 상기 트랜잭션들의 일부는 통합되어 하나의 트랜잭션으로 구현되거나, 하나의 트랜잭션이 여러 트랜잭션으로 분리되어 구현될 수 있다. The transaction system 10 according to an embodiment may provide various transactions. For example, transactions include a buy order, a sell order, a trade buy, a trade sell, a cancel buy order, and a cancel sell order. ), deposit, withdrawal request, cancel withdrawal request, and withdrawal confirm. However, the above-described transactions are exemplary, and some of the transactions may be integrated and implemented as a single transaction, or a single transaction may be divided into several transactions and implemented.

모든 트랜잭션들은 순차적으로 발생될 수 있다. 순차적으로 발생된 모든 트랜잭션들은 블록체인 네트워크(100) 또는 거래소 서버(200)에 의하여 처리될 수 있고, 블록체인(55) 및/또는 분산 저장소(300)에 저장될 수 있다.All transactions can occur sequentially. All transactions sequentially generated may be processed by the blockchain network 100 or the exchange server 200, and may be stored in the blockchain 55 and/or the distributed storage 300.

도 2의 (1)을 참조하면, 예를 들어 사용자 A의 자산 지분 토큰 입금 트랜잭션, 사용자 B의 통화 토큰의 입금 트랜잭션, 사용자 B의 구매 주문 트랜잭션, 사용자 A의 판매 주문 트랜잭션, 사용자 A와 사용자 B의 교환 트랜잭션, 사용자 C의 취소 요청 트랜잭션, 사용자 A의 출금 요청 트랜잭션, 사용자 A의 출금 확인 트랜잭션이 순차적으로 발생되었다. 거래 시스템(10)은 상기 트랜잭션들을 순차적으로 처리할 수 있다.Referring to Figure 2(1), for example, User A's asset share token deposit transaction, User B's currency token deposit transaction, User B's purchase order transaction, User A's sales order transaction, User A and User B The exchange transaction of, User C's cancellation request transaction, User A's withdrawal request transaction, and User A's withdrawal confirmation transaction occurred in sequence. The transaction system 10 may sequentially process the transactions.

구매 주문 및 판매 주문 트랜잭션Purchase order and sales order transactions

일 실시 예에서, 구매 주문 및 판매 주문은 사용자에 의하여 만들어질 수 있다. 암호화 서명된 구매 주문 트랜잭션 및 판매 주문 트랜잭션은 거래소 서버(200)에 의하여 처리될 수 있고, 분산 저장소(300)에 게재될 수 있다(published).In one embodiment, purchase orders and sales orders may be made by a user. The cryptographically signed purchase order transaction and sales order transaction may be processed by the exchange server 200 and may be published in the distributed storage 300 (published).

거래 트랜잭션Transaction transaction

일 실시 예에서, 거래소 서버(200)는 사용자들의 구매 주문 및 판매 주문을 수집하고 매칭할 수 있다. 매칭된 구매 주문 및 판매 주문은 유효한 거래 트랜잭션을 발생시킬 수 있다. 거래소 서버(200)는 거래 트랜잭션에 암호화 서명하고, 분산 저장소(300)로 송신할 수 있다.In one embodiment, the exchange server 200 may collect and match purchase orders and sales orders of users. Matched purchase orders and sales orders can generate valid transactional transactions. The exchange server 200 may encrypt and sign the transaction transaction and transmit it to the distributed storage 300.

*예를 들어 도 2의 (1)에서, 거래소 서버(200)는 사용자 A의 판매 주문 트랜잭션과 사용자 B의 구매 주문 트랜잭션을 매칭하여 자산 지분 토큰과 통화 토큰을 이동하도록 하는 거래(Trade) 트랜잭션을 발생시킬 수 있다. 거래소 서버(200)는 거래 트랜잭션 데이터를 거래소 서버(200)의 개인 키로 암호화 서명하여 분산 저장소(300)에 거래 트랜잭션을 저장할 수 있다. 이러한 거래는 블록체인 밖에서 이루어지므로, 사용자 A와 사용자 B 모두 블록체인 트랜잭션 수수료를 부담할 필요가 없다.* For example, in (1) of FIG. 2, the exchange server 200 matches the transaction of the sales order of user A and the transaction of purchase order of user B to transfer the asset equity token and the currency token. Can occur. The exchange server 200 may encrypt and sign the transaction transaction data with the private key of the exchange server 200 and store the transaction transaction in the distributed storage 300. Since these transactions take place outside the blockchain, neither user A nor user B need to bear the blockchain transaction fee.

구매 주문 취소 및 판매 주문 취소 트랜잭션Purchase order cancellation and sales order cancellation transactions

일 실시 예에서, 사용자는 구매 주문 취소 및 판매 주문 취소를 통하여 오픈된 구매 주문 및 판매 주문을 취소할 수 있다. 암호화 서명된 구매 주문 취소 트랜잭션 또는 판매 주문 취소 트랜잭션은 거래소 서버(200)에 의하여 처리되고, 분산 저장소(300)에 게재될 수 있다.In an embodiment, a user may cancel an opened purchase order and a sales order through purchase order cancellation and sales order cancellation. The cryptographically signed purchase order cancellation transaction or sales order cancellation transaction may be processed by the exchange server 200 and published in the distributed storage 300.

입금 트랜잭션Deposit transaction

일 실시 예에서, 사용자는 사용자의 통화 토큰 또는 자산 지분 토큰을 자산 거래를 위하여 입금할 수 있다. 예를 들어, 사용자가 디앱(70)을 통하여 통화 토큰 또는 자산 지분 토큰의 입금을 요청하면, 거래 시스템(10)은 입금 트랜잭션을 포함하는 메시지를 수신할 수 있다. In one embodiment, the user may deposit the user's currency token or asset equity token for asset transaction. For example, when a user requests a deposit of a currency token or an asset equity token through the dapp 70, the transaction system 10 may receive a message including a deposit transaction.

예를 들어, 사용자는 자산 지분 스마트컨트랙트(1)를 통하여 발행된 자산 지분 토큰을 거래소 스마트컨트랙트(3)로 입금할 수 있다. 또는 사용자는 통화 토큰 스마트컨트랙트(2)를 통하여 발행된 통화 토큰을 거래소 스마트컨트랙트(3)로 입금할 수 있다. 토큰이 이전될 때마다, 거래소 스마트컨트랙트(3)는 입금 이벤트 로그를 생성할 수 있다. 거래소 서버(200)는 모든 입금 트랜잭션을 모니터링 할 수 있다. 입금 트랜잭션은 스마트컨트랙트를 통하여 수행될 수 있다. 따라서 입금 트랜잭션은 블록체인 네트워크(100)를 통하여 수행되고, 블록체인(55)에 기록될 수 있다. 이때, 트랜잭션 수수료가 발생된다. 입금 트랜잭션과 관련된 내용은 도 4를 참조하여 후술된다.For example, a user can deposit an asset equity token issued through the asset equity smart contract 1 to the exchange smart contract 3. Alternatively, the user can deposit the currency token issued through the currency token smart contract (2) to the exchange smart contract (3). Whenever a token is transferred, the exchange smart contract 3 can generate a deposit event log. The exchange server 200 may monitor all deposit transactions. Deposit transactions can be performed through smart contracts. Therefore, the deposit transaction can be performed through the blockchain network 100 and recorded in the blockchain 55. At this time, a transaction fee is incurred. Details related to the deposit transaction will be described later with reference to FIG. 4.

다양한 실시 예에서, 거래소 서버(200)는 트랜잭션 수수료를 위한 네이티브 통화를 보유할 수 있다. 거래소 서버(200)는 보유한 네이티브 통화로 트랜잭션 수수료를 지불할 수 있다. 거래소 서버(200)는 사용자가 가진 통화 토큰으로부터 지불한 수수료를 보상받을 수 있다. 사용자는 블록체인 네트워크(100)의 네이티브 통화를 소유하지 않더라도 블록체인 네트워크(100)를 통해 이루어지는 입금 트랜잭션을 수행할 수 있다.In various embodiments, the exchange server 200 may hold a native currency for transaction fees. The exchange server 200 may pay a transaction fee in its native currency. The exchange server 200 may be compensated for a fee paid from a currency token held by a user. Even if the user does not own the native currency of the blockchain network 100, the user can perform a deposit transaction made through the blockchain network 100.

출금 요청 트랜잭션Withdrawal request transaction

일 실시 예에서, 사용자는 거래소 계좌의 통화 토큰 또는 자산 지분 토큰에 대한 출금을 요청할 수 있다. 예를 들어, 사용자가 디앱(70)을 통하여 통화 토큰 또는 자산 지분 토큰의 출금을 요청하면, 거래 시스템(100)은 출금 요청 트랜잭션을 포함하는 메시지를 수신할 수 있다. 출금 요청이 수신되면, 거래소 계좌는 잠길 수 있다(locked).In one embodiment, the user may request withdrawal for a currency token or an asset equity token in an exchange account. For example, when a user requests withdrawal of a currency token or an asset equity token through the dapp 70, the transaction system 100 may receive a message including a withdrawal request transaction. When a withdrawal request is received, the exchange account can be locked.

예를 들어, 사용자는 거래소 스마트컨트랙트(3)상의 토큰들에 대하여 출금을 요청할 수 있다. 사용자는 통화 토큰의 양, 또는 자산 지분 토큰의 양, 그리고 출금을 위하여 필요한 트랜잭션 수수료를 명시하고, 출금을 요청할 수 있다.For example, the user can request withdrawal for tokens on the exchange smart contract (3). The user can specify the amount of currency tokens, the amount of equity tokens in the asset, and the transaction fee required for withdrawal, and request withdrawal.

출금 요청 트랜잭션이 발생되면, 계좌 잔고 정산 절차(account balance settlement procedure)가 실행될 수 있다. 출금 요청 트랜잭션은 암호화 서명되고 분산 저장소(300)에 저장될 수 있다. 도 2의 (1)을 참조하면 사용자 A의 출금 요청 트랜잭션이 발생되었을 때, 사용자 A와 거래소 서버(200)사이의 계좌 잔액 정산 절차가 개시될 수 있다.When a withdrawal request transaction occurs, an account balance settlement procedure may be executed. The withdrawal request transaction may be cryptographically signed and stored in the distributed storage 300. Referring to (1) of FIG. 2, when a withdrawal request transaction of user A occurs, a procedure for calculating the account balance between user A and the exchange server 200 may be started.

출금 확인 트랜잭션Withdrawal confirmation transaction

계좌 잔고 정산 절차는 사용자의 거래소 계좌의 현재 토큰 잔고에 대한 동의와 확인을 위하여 거래소 서버(200)와 사용자 사이에서 수행될 수 있다. 거래소 서버(200)는 정산을 수행하고, 정산 결과 계산된 현재 잔액에 대하여 출금 확인 트랜잭션을 발생시킬 수 있다. 출금 확인 트랜잭션은 블록체인 네트워크(100)에 의하여 처리될 수 있다.The account balance settlement procedure may be performed between the exchange server 200 and the user in order to agree and confirm the current token balance of the user's exchange account. The exchange server 200 may perform settlement and generate a withdrawal confirmation transaction for the current balance calculated as a result of the settlement. The withdrawal confirmation transaction may be processed by the blockchain network 100.

일 실시 예에서, 거래소 서버(200)는 정산 절차를 수행하고 정산 데이터 파일을 생성할 수 있다. 생성된 정산 데이터 파일은 분산 저장소(300)에 저장될 수 있다. 거래소 서버(200)는 분산 저장소(300) 상의 정산 데이터 파일의 주소 값을 블록체인(55)에 기록할 수 있다. In an embodiment, the exchange server 200 may perform a settlement procedure and generate a settlement data file. The generated settlement data file may be stored in the distributed storage 300. The exchange server 200 may record the address value of the settlement data file on the distributed storage 300 in the blockchain 55.

도 2의 (2)를 참조하면, 출금 요청 트랜잭션(25)이 발생하면, 거래소 서버(200)는 정산 절차를 수행할 수 있다. 출금 요청 트랜잭션(25)에 따라 생성되는 정산 데이터 파일(33)은 분산 저장소(300)에 저장될 수 있다.Referring to (2) of FIG. 2, when a withdrawal request transaction 25 occurs, the exchange server 200 may perform a settlement procedure. The settlement data file 33 generated according to the withdrawal request transaction 25 may be stored in the distributed storage 300.

예를 들어, 분산 저장소(300)의 정산 데이터 파일(31)은 출금 요청 트랜잭션(21)의 발생에 응답하여 생성된 것으로 참조될 수 있다. 거래소 서버(200)는 이전의 정산 데이터 파일(31), 출금 요청 트랜잭션(21) 이후에 발생된 트랜잭션들, 출금 확인 트랜잭션(23)의 발생시의 거래소 계좌의 잔액 등을 참조하여, 정산 데이터 파일(33)을 생성하고 분산 저장소(300)에 저장할 수 있다. 정산 데이터 파일(33)이 저장된 주소 값은 블록체인(55)에 기록될 수 있다.For example, the settlement data file 31 of the distributed storage 300 may be referred to as being generated in response to the occurrence of the withdrawal request transaction 21. The exchange server 200 refers to the previous settlement data file 31, transactions generated after the withdrawal request transaction 21, and the balance of the exchange account at the time of the withdrawal confirmation transaction 23, and the settlement data file ( 33) can be created and stored in the distributed storage 300. The address value in which the settlement data file 33 is stored may be recorded in the blockchain 55.

예를 들어, 정산 데이터 파일(31, 33)은 출금이 요청된 토큰 타입과 개수, 트랜잭션 수수료, 출금 요청 아이디를 포함하는 출금 요청 데이터를 포함할 수 있다. 또한 정산 데이터 파일(31, 33)은 현재 거래소 계좌의 통화 토큰 또는 자산 지분 토큰의 잔고, 사용자의 현재 오픈된 구매/판매 주문, 최근의 계좌 잔고 정산 절차 이후의 모든 트랜잭션들, 최근의 계좌 잔고 정산시의 잔고, 최근의 계좌 잔고 정산 데이터의 분산 저장소(300) 내의 어드레스, 거래소 서버(200)의 암호화 서명을 포함할 수 있다.For example, the settlement data files 31 and 33 may include withdrawal request data including the type and number of tokens requested for withdrawal, transaction fees, and withdrawal request ID. In addition, settlement data files (31, 33) include the balance of currency tokens or asset equity tokens in the current exchange account, the user's currently open purchase/sell orders, all transactions after the latest account balance settlement procedure, and the latest account balance settlement. It may include a city balance, an address in the distributed storage 300 of the latest account balance settlement data, and an encryption signature of the exchange server 200.

일 실시 예에서, 거래소 서버(200)는 계좌 잔고 정산 절차를 수행하고, 최종 계좌 잔고에 대하여 사용자로부터 확인 및 동의를 요구할 수 있다. 거래소 서버(200)는 정산 결과 거래소 계좌의 잔액을 디앱(70)을 통하여 표시하고, 상기 표시에 응답하여 사용자로부터 확인 입력을 수신할 수 있다. 이때, 암호화 서명된 출금 확인 트랜잭션이 발생될 수 있다. 블록체인 네트워크(100)는 출금 확인 트랜잭션을 처리하고, 블록체인(55)에 기록할 수 있다.In an embodiment, the exchange server 200 may perform an account balance settlement procedure and request confirmation and consent from a user for the final account balance. The exchange server 200 may display the balance of the exchange account as a result of the settlement through the dapp 70, and receive a confirmation input from the user in response to the display. At this time, a cryptographically signed withdrawal confirmation transaction may occur. The blockchain network 100 may process a withdrawal confirmation transaction and record it in the blockchain 55.

다양한 실시 예에서, 사용자는 직접 블록체인 네트워크(100) 및 분산 저장소(300)를 참조하여 정신 결과를 인증할 수도 있다(validate). 또는, 정산 데이터를 확인하는 절차는 제3 자(3rd party)에 의하여 제공될 수 있다.In various embodiments, the user may directly refer to the blockchain network 100 and the distributed storage 300 to authenticate the mental result (validate). Alternatively, the procedure for checking the adjustment data can be provided by a third party (3 rd party).

다양한 실시 예에서, 거래소 서버(200)는 보유한 네이티브 통화로 출금 확인 트랜잭션에 대한 수수료를 지불할 수 있다. 거래소 서버(200)는 사용자가 가진 통화 토큰으로부터 지불한 수수료를 보상받을 수 있다. 사용자는 블록체인 네트워크(100)의 네이티브 통화를 소유하지 않더라도 블록체인 네트워크(100)를 통해 이루어지는 출금 확인 트랜잭션을 수행할 수 있다. In various embodiments, the exchange server 200 may pay a fee for a withdrawal confirmation transaction in the owned native currency. The exchange server 200 may be compensated for a fee paid from a currency token held by a user. Even if the user does not own the native currency of the blockchain network 100, a withdrawal confirmation transaction can be performed through the blockchain network 100.

출금 요청 취소 트랜잭션Withdrawal request cancellation transaction

다양한 실시 예에서, 사용자는 계좌 잔고 정산 절차의 실행이 완료되기 전에 출금 요청을 취소할 수 있다. 출금 요청이 취소되면, 거래소 서버(200)는 출금 취소 요청 트랜잭션을 처리하고, 분산 저장소(300)에 저장할 수 있다.In various embodiments, the user may cancel the withdrawal request before the execution of the account balance settlement procedure is completed. When the withdrawal request is canceled, the exchange server 200 may process the withdrawal cancellation request transaction and store it in the distributed storage 300.

도 3은 일 실시 예에 따라 분산 저장소에 저장되는 거래 내역에 대한 불변성과 투명성을 보장하는 거래 내역 저장 방법을 설명하기 위한 도면이다.FIG. 3 is a diagram for explaining a method of storing transaction details to ensure immutability and transparency of transaction details stored in a distributed storage according to an exemplary embodiment.

도 3을 참조하면, 거래 시스템(10)에서 발생되는 트랜잭션들은 분산 저장소(300)에 저장될 수 있고, 분산 저장소(300)에 저장된 여러 트랜잭션들은 미리 정해진 주기마다 그룹화되어 분산 저장소(300)에 저장될 수 있다. 그룹 파일(301, 303)은 일정 시간 동안 발생한 복수의 트랜잭션들을 포함할 수 있다. 그룹 파일(301, 303)은 각각의 그룹 파일(301, 303)에 포함된 복수의 트랜잭션들의 주소 값 리스트(예: 해시 값 리스트)를 저장할 수 있다.3, transactions generated in the transaction system 10 may be stored in the distributed storage 300, and several transactions stored in the distributed storage 300 are grouped at predetermined periods and stored in the distributed storage 300. Can be. The group files 301 and 303 may include a plurality of transactions occurring during a predetermined time. The group files 301 and 303 may store a list of address values (eg, a hash value list) of a plurality of transactions included in each of the group files 301 and 303.

분산 저장소(300)에 저장되는 그룹 파일(301, 303)은 일정한 해시 알고리즘(예: SHA-1)에 의해 산출되는 고유의 해시 값을 가질 수 있다. 그룹 파일(301, 303)의 해시 값은 그룹 파일(301, 303)에 포함되는 데이터들에 대응되는 고유한 값으로 참조될 수 있다. 따라서 그룹 파일(301, 303)에 포함되는 데이터들의 일부가 변조되면, 그룹 파일(301, 303)에 대한 해시 값도 상이해질 수 있다.The group files 301 and 303 stored in the distributed storage 300 may have a unique hash value calculated by a certain hash algorithm (eg, SHA-1). The hash values of the group files 301 and 303 may be referred to as unique values corresponding to data included in the group files 301 and 303. Therefore, when some of the data included in the group files 301 and 303 are altered, the hash values for the group files 301 and 303 may be different.

일 실시 예에서, 분산 저장소(300)에 저장된 거래 내역의 불변성은, 각 그룹 파일(301, 303)의 해시 값을 이용하여 각 그룹 파일(301, 303)을 체인화함으로써 달성될 수 있다.In one embodiment, the immutability of the transaction details stored in the distributed storage 300 may be achieved by chaining each group file 301, 303 using the hash value of each group file 301, 303.

예를 들어, 각각의 그룹 파일들(301, 303)이 저장된 분산 저장소(300)내의 주소는 해시 값으로 표현될 수 있다. 그룹 파일들(301, 303)은 각각 선행하는 그룹 파일의 해시 값을 가질 수 있다. 이에 따라, 그룹 파일들(301, 303)은 해시 링크를 통하여 체인화될 수 있다. 예를 들어, 그룹 파일(303)는 그룹 파일(301)의 해시 값을 가짐으로써 그룹 파일(301)을 가리키게 되고, 그룹 파일(301)과 체인을 형성할 수 있다. 이에 따라 분산 저장소(200)의 그룹 파일들(301, 303)은 블록체인(55)의 블록들과 유사한 구조를 형성할 수 있다.For example, an address in the distributed storage 300 in which each of the group files 301 and 303 is stored may be expressed as a hash value. Each of the group files 301 and 303 may have a hash value of a preceding group file. Accordingly, the group files 301 and 303 may be chained through a hash link. For example, the group file 303 points to the group file 301 by having a hash value of the group file 301 and may form a chain with the group file 301. Accordingly, the group files 301 and 303 of the distributed storage 200 may form a structure similar to the blocks of the block chain 55.

만약 특정 그룹 파일이 위, 변조되어 다른 해시 값을 가지게 되면, 위, 변조된 특정 그룹 파일의 후속 그룹 파일이 가지는 해시 값은 더 이상 유효한 주소 값을 나타낼 수 없다. 따라서 위, 변조된 그룹 파일과 그 후속 그룹 파일은 더 이상 체인을 구성할 수 없게 된다. 분산 저장소(300)에 저장된 그룹 파일들(301, 303)이 체인을 구성하지 않게 되면, 사용자는 분산 저장소(300)의 데이터에 위조, 변조가 일어났음을 인식할 수 있다.If a specific group file is forged or altered to have a different hash value, the hash value of the subsequent group file of the forged or altered specific group file can no longer represent a valid address value. Therefore, the group file that has been altered and its subsequent group file can no longer form a chain. When the group files 301 and 303 stored in the distributed storage 300 do not form a chain, the user may recognize that the data of the distributed storage 300 has been forged or altered.

일 실시 예에서, 분산 저장소(300)에 저장된 거래 내역의 불변성은, 그룹 파일(301, 303)의 해시 값을 블록체인 네트워크(100)의 블록체인(55)에 저장함으로써 달성될 수 있다.In one embodiment, the immutability of the transaction details stored in the distributed storage 300 may be achieved by storing the hash values of the group files 301 and 303 in the blockchain 55 of the blockchain network 100.

예를 들어, 그룹 파일(301, 303)의 해시 값은 블록체인(55)에 저장될 수 있다. 그룹 파일(301, 303)의 해시 값이 블록체인 네트워크(100)에 저장되면, 누구나 블록체인 네트워크(100)에 접근하고, 해시 값을 확인할 수 있다. 예를 들어 사용자는 블록체인(55)에 저장된 해시 값과 분산 저장소(300)에 저장된 그룹 파일(301, 303)의 해시 값을 비교함으로써, 그룹 파일(301, 303)의 조작 여부를 검증할 수 있다. 만약 그룹 파일(301, 303)에 포함된 데이터가 조작된 경우라면, 블록체인(55)에 저장된 해시 값은 더 이상 유효한 주소 값을 나타낼 수 없다. 분산 저장소(300)는 블록체인(55)에 기록된 해시 값을 통하여 분산 저장소(300)에 저장된 데이터들의 불변성을 보장할 수 있다.For example, the hash values of the group files 301 and 303 may be stored in the blockchain 55. When the hash value of the group files 301 and 303 is stored in the blockchain network 100, anyone can access the blockchain network 100 and check the hash value. For example, a user can verify whether the group files 301 and 303 are manipulated by comparing the hash value stored in the blockchain 55 with the hash values of the group files 301 and 303 stored in the distributed storage 300. have. If data included in the group files 301 and 303 has been manipulated, the hash value stored in the blockchain 55 can no longer represent a valid address value. The distributed storage 300 may guarantee immutability of data stored in the distributed storage 300 through a hash value recorded in the blockchain 55.

다양한 실시 예에서, 사용자 또는 제3 자는 블록체인(55)에 기록된 해시 값이 나타내는 분산 저장소(300)의 특정 주소에 액세스함으로써, 분산 거래 시스템(10)에서 발생하는 모든 트랜잭션들의 확인할 수 있다. 이에 따라 분산 저장소(300)에 저장된 거래 내역들에 대하여 투명성을 제공할 수 있다.In various embodiments, a user or a third party can check all transactions occurring in the distributed transaction system 10 by accessing a specific address of the distributed storage 300 indicated by the hash value recorded in the blockchain 55. Accordingly, it is possible to provide transparency with respect to transaction details stored in the distributed storage 300.

다양한 실시 예에서, 사용자나 제3 자는 블록체인(55)에 기록된 해시 값을 이용하여 분산 저장소(300)에 액세스하고, 기 발생된 모든 트랜잭션들의 히스토리를 재구성할 수 있다. 이에 따라 거래소 서버(200)가 해킹에 의하여 손상되더라도 거래 내역 전부가 재구성될 수 있어 거래 시스템(10)은 기존의 중앙화된 거래 시스템에 비하여 높은 안전성을 가질 수 있다.In various embodiments, a user or a third party may access the distributed storage 300 by using the hash value recorded in the blockchain 55 and reconstruct the history of all previously generated transactions. Accordingly, even if the exchange server 200 is damaged by hacking, all of the transaction details can be reconstructed, so that the transaction system 10 can have higher safety compared to the existing centralized transaction system.

도 4는 다양한 실시 예에 따른 거래 시스템으로의 입금 방법의 시퀀스도이다. 도 5는 다양한 실시 예에 따른 자산 거래 방법의 시퀀스도이다. 도 6은 다양한 실시 예에 따른 거래 시스템으로부터의 출금 방법의 시퀀스도이다. 이하, 도 4 내지 도 6을 참조하여 거래 시스템(10)에서 수행되는 입금 절차, 거래 절차, 및 출금 절차를 시퀀스 도로서 설명한다.4 is a sequence diagram of a method for depositing money into a transaction system according to various embodiments of the present disclosure. 5 is a sequence diagram of an asset transaction method according to various embodiments of the present disclosure. 6 is a sequence diagram of a withdrawal method from a transaction system according to various embodiments of the present disclosure. Hereinafter, a deposit procedure, a transaction procedure, and a withdrawal procedure performed in the transaction system 10 will be described as a sequence diagram with reference to FIGS. 4 to 6.

다양한 실시 예에서, 사용자는 클라이언트 단말(75)(예: PC, 스마트폰, 태블릿 PC 등을 포함하는 전자 장치)에 자산 거래 서비스를 제공하는 디앱(70)을 설치하고, 상기 자산 거래 서비스를 통해 자산 교환 거래를 수행할 수 있다.In various embodiments, a user installs a dapp 70 that provides an asset transaction service on a client terminal 75 (eg, an electronic device including a PC, a smartphone, a tablet PC, etc.), and through the asset transaction service. Asset exchange transactions can be carried out.

입금 절차Deposit procedure

도 4를 참조하면, 클라이언트 단말(75)은 자산 지분 토큰 입금 요청이 발생하면(401), 사용자의 개인 키에 의하여 암호화 서명된 자산 지분 토큰 입금 트랜잭션을 블록체인 네트워크(100)의 자산 지분 스마트컨트랙트(1)에 송신할 수 있다(403). 예를 들어, 사용자가 디앱(70)을 통하여 자산 지분 토큰 입금을 요청할 수 있다. 자산 지분 토큰은 사용자의 자산 등록에 따라 블록체인 네트워크(100)의 자산 지분 스마트컨트랙트(1)에 의하여 발행될 수 있다. 자산 지분 스마트컨트랙트(1)는 자산 지분 토큰 입금 트랙잭션에 응답하여 자산 지분 토큰을 거래 스마트컨트랙트(3)로 이동시킬 수 있다(405). 거래 스마트컨트랙트(3)는 입금 이벤트 로그를 생성하고, 블록체인(55)에 저장할 수 있다(407).Referring to FIG. 4, when a request for depositing an asset share token occurs (401), the client terminal 75 performs a cryptographically signed asset share token deposit transaction using the user's private key as an asset share smart contract of the blockchain network 100. (1) can be sent to (403). For example, a user may request the deposit of an asset equity token through the dapp 70. The asset equity token may be issued by the asset equity smart contract 1 of the blockchain network 100 according to the user's asset registration. The asset equity smart contract 1 may move the asset equity token to the transaction smart contract 3 in response to an asset equity token deposit transaction (405). The transaction smart contract 3 may generate a deposit event log and store it in the blockchain 55 (407).

클라이언트 단말(75)은 통화 토큰 입금 요청이 발생하면(409), 사용자의 개인 키에 의하여 암호화 서명된 통화 토큰 입금 트랜잭션을 블록체인 네트워크(100)의 통화 토큰 스마트컨트랙트(2)에 송신할 수 있다(411). 예를 들어 사용자가 디앱(70)을 통하여 통화 토큰 입금을 요청할 수 있다. 통화 토큰은 사용자의 원화 입금에 따라 통화 토큰 스마트컨트랙트(2)에 의하여 발행될 수 있다. 통화 토큰 스마트컨트랙트(2)는 통화 토큰 입금 트랜잭션에 응답하여 통화 토큰을 거래 스마트컨트랙트(3)로 이동시킬 수 있다(413). 거래 스마트컨트랙트(3)는 입금 이벤트 로그를 생성하고, 블록체인(55)에 저장할 수 있다(415).When the request for depositing a currency token occurs (409), the client terminal 75 may transmit a cryptographically signed currency token deposit transaction to the currency token smart contract 2 of the blockchain network 100. (411). For example, a user may request a currency token deposit through the dapp 70. The currency token can be issued by the currency token smart contract 2 according to the user's deposit in won. The currency token smart contract 2 may move the currency token to the transaction smart contract 3 in response to the currency token deposit transaction (413). The transaction smart contract 3 may generate a deposit event log and store it in the blockchain 55 (415).

거래 스마트컨트랙트(3)에 입금된 통화 토큰의 잔고 정보 및 자산 지분 토큰의 잔고 정보는 블록체인 네트워크(100)와 거래소 서버(200) 사이에서 동기화될 수 있다(417). 예를 들어, 거래소 서버(200)는 미리 정해진 주기마다, 또는 입금 트랜잭션이 발생될 때마다 블록체인(55)에 기록된 입금 이벤트 로그를 참조할 수 있다. 거래소 서버(200)는 거래소 계좌의 잔고를 입금 이벤트 로그에 따라 업데이트하고, 업데이트된 잔고를 기준으로 트랜잭션들을 처리할 수 있다. 예를 들어, 거래소 서버(200)는 거래소 계좌의 잔고에 대한 정보를 포함하는 거래소 계좌 데이터를 포함할 수 있다. 거래소 서버(200)는 입금 이벤트 로그에 따라서 상기 거래소 계좌 데이터를 갱신할 수 있다.The balance information of the currency token deposited in the transaction smart contract 3 and the balance information of the asset equity token may be synchronized between the blockchain network 100 and the exchange server 200 (417). For example, the exchange server 200 may refer to the deposit event log recorded in the blockchain 55 at each predetermined period or every time a deposit transaction occurs. The exchange server 200 may update the balance of the exchange account according to the deposit event log, and process transactions based on the updated balance. For example, the exchange server 200 may include exchange account data including information on the balance of the exchange account. The exchange server 200 may update the exchange account data according to the deposit event log.

거래 절차Transaction procedure

도 5를 참조하면, 클라이언트 단말(75)은 사용자의 개인 키에 의하여 암호화 서명된 거래 요청을 거래소 서버(200) 및 분산 저장소(300)로 송신할 수 있다(501, 503). 예를 들어 거래 요청은 구매 주문 트랜잭션, 판매 주문 트랜잭션, 출금 요청 트랜잭션, 또는 출금 요청 취소 트랜잭션을 포함하는 메시지로 참조될 수 있다. 거래소 서버(200)는 거래 요청에 대응되는 트랜잭션을 처리할 수 있다(506). 분산 저장소(300)는 거래 요청에 대응되는 암호화 서명된 트랜잭션을 저장할 수 있다(507).Referring to FIG. 5, the client terminal 75 may transmit a transaction request encrypted and signed by the user's private key to the exchange server 200 and the distributed storage 300 (501, 503). For example, the transaction request may be referred to as a message including a purchase order transaction, a sales order transaction, a withdrawal request transaction, or a withdrawal request cancellation transaction. The exchange server 200 may process a transaction corresponding to the transaction request (506). The distributed storage 300 may store an encryption signed transaction corresponding to the transaction request (507).

거래소 서버(200)는 사용자의 구매 주문 및 판매 주문이 매칭됨에 따라 거래(trade) 트랜잭션을 발생시킬 수 있다. 이 과정은 도 2를 통하여 전술되었다. 이때 거래소 서버(200)는 발생된 거래 트랜잭션을 거래소 서버(200)의 개인 키로 암호화 서명하고 분산 저장소(300)로 송신할 수 있다. 분산 저장소(300)는 수신된 거래 트랜잭션을 저장할 수 있다.The exchange server 200 may generate a trade transaction according to a match between the user's purchase order and the sales order. This process has been described above with reference to FIG. 2. At this time, the exchange server 200 may encrypt and sign the generated transaction transaction with the private key of the exchange server 200 and transmit it to the distributed storage 300. The distributed storage 300 may store received transaction transactions.

분산 저장소(300)는 미리 정해진 주기마다 복수의 트랜잭션들을 포함하는 그룹 파일을 생성할 수 있다(509). 분산 저장소(300)는 그룹 파일의 주소 값을 블록체인 네트워크(100)로 송신할 수 있다(511). 블록체인 네트워크(100)는 블록체인(55)에 수신된 그룹 파일의 주소 값을 기록할 수 있다(517). 또는 분산 저장소(300)는 그룹 파일의 주소 값을 거래소 서버(200)로 송신할 수 있다(513). 거래소 서버(200)는 수신된 그룹 파일의 주소 값을 블록체인 네트워크(100)로 송신할 수 있다(517). 동작 511과 동작 513 내지 동작 515는 택일적으로 수행될 수 있다.The distributed storage 300 may generate a group file including a plurality of transactions every predetermined period (509). The distributed storage 300 may transmit the address value of the group file to the blockchain network 100 (511). The blockchain network 100 may record the address value of the group file received in the blockchain 55 (517). Alternatively, the distributed storage 300 may transmit the address value of the group file to the exchange server 200 (513). The exchange server 200 may transmit the received address value of the group file to the blockchain network 100 (517). Operation 511 and operations 513 to 515 may be performed alternatively.

상술된 동작(501) 내지 동작(511)은 반복하여 수행될 수 있다. 반복되어 수행되는 동작(501) 내지 동작(511)에 따라 거래 시스템(10)에서 자산 거래가 이루어질 수 있다.Operations 501 to 511 described above may be repeatedly performed. Asset transactions may be made in the transaction system 10 according to the repeated operations 501 to 511.

출금 절차Withdrawal procedure

도 6을 참조하면, 클라이언트 단말(75)은 통화 토큰 또는 자산 지분 토큰에 대한 출금 요청이 발생하면, 개인 키에 의하여 암호화 서명된 출금 요청을 거래소 서버(200)로 송신할 수 있다(601). 거래소 서버(200)는 상기 개인 키에 대응되는 특정 사용자의 출금 요청을 수신하게 된다. 거래소 서버(200)는 출금 요청의 수신에 응답하여, 상기 특정 사용자에 대한 정산 절차를 수행할 수 있다(603 내지 613)Referring to FIG. 6, when a withdrawal request for a currency token or an asset equity token occurs, the client terminal 75 may transmit a withdrawal request encrypted by the private key to the exchange server 200 (601). The exchange server 200 receives a withdrawal request from a specific user corresponding to the private key. The exchange server 200 may perform a settlement procedure for the specific user in response to receiving a withdrawal request (603 to 613).

거래소 서버(200)는 분산 저장소(300)로부터 상기 특정 사용자의 트랜잭션 내역을 획득할 수 있다(603). 예를 들어, 상기 트랜잭션 내역은 특정 사용자의 이전 출금 요청 이후에 발생한 트랜잭션들의 목록으로 참조될 수 있다. 도 2의 (2)를 통하여 전술된 바와 같이, 거래소 서버(200)는 분산 저장소(300)로부터 특정 사용자의 이전의 정산 데이터 파일, 이전 출금 요청 트랜잭션 이후에 발생된 트랜잭션들에 대한 데이터 등을 획득하고, 정산 데이터 파일(예: 도 2의 정산 데이터 파일(31, 33))을 생성할 수 있다(605). 거래소 서버(200)는 생성된 정산 데이터 파일을 분산 저장소(300)로 송신할 수 있고(607), 분산 저장소(300)는 정산 데이터 파일을 저장할 수 있다(609).The exchange server 200 may obtain the transaction details of the specific user from the distributed storage 300 (603). For example, the transaction details may be referred to as a list of transactions that occurred after a specific user's previous withdrawal request. As described above through (2) of FIG. 2, the exchange server 200 acquires a specific user's previous settlement data file from the distributed storage 300, data on transactions that occurred after the previous withdrawal request transaction, etc. Then, a settlement data file (eg, settlement data files 31 and 33 of FIG. 2) may be generated (605 ). The exchange server 200 may transmit the generated settlement data file to the distributed storage 300 (607 ), and the distributed storage 300 may store the settlement data file (609 ).

정산 절차가 완료되면, 거래소 서버(200)는 정산 결과를 클라이언트 단말(75)로 송신할 수 있다(611). 정산 결과는 정산 데이터 파일에 포함된 정보를 포함할 수 있다. 클라이언트 단말(75)은 수신된 정산 결과에 대한 확인을 거래소 서버(200)로 송신할 수 있다(613). 거래소 서버(200)는 정산 결과에 대한 확인을 수신하면, 블록체인 네트워크(100)로 상기 특정 사용자의 개인 키로 암호화 서명된 출금 확인 트랜잭션을 송신할 수 있다(615). 블록체인 네트워크(100)는 출금 확인 트랜잭션을 처리하고, 블록체인(55)에 기록할 수 있다(617).When the settlement procedure is completed, the exchange server 200 may transmit the settlement result to the client terminal 75 (611). The settlement result may include information included in the settlement data file. The client terminal 75 may transmit a confirmation of the received settlement result to the exchange server 200 (613). Upon receiving the confirmation of the settlement result, the exchange server 200 may transmit a cryptographically signed withdrawal confirmation transaction with the private key of the specific user to the blockchain network 100 (615). The blockchain network 100 may process a withdrawal confirmation transaction and record it in the blockchain 55 (617).

거래 시스템(10)에서, 입금 요청 트랜잭션 및 출금 확인 트랜잭션을 제외한 나머지 트랜잭션들을 거래소 서버(200)에 의하여 처리하여, 블록체인 네트워크(100)에 지불하는 수수료를 줄일 수 있다. 거래소 서버(200)에 의하여 처리되는 트랜잭션들은 분산 저장소(300)에 저장되고, 트랜잭션들이 저장된 분산 저장소(300)내의 주소 값은 블록체인 네트워크(100)에 기록될 수 있다. 따라서 모든 거래 내역은 블록체인(55) 및 분산 저장소(300)를 통하여 재구성 될 수 있고, 사용자에 의하여 감시될 수 있다.In the transaction system 10, other transactions other than the deposit request transaction and the withdrawal confirmation transaction are processed by the exchange server 200, thereby reducing the fee paid to the blockchain network 100. Transactions processed by the exchange server 200 are stored in the distributed storage 300, and an address value in the distributed storage 300 in which the transactions are stored may be recorded in the blockchain network 100. Therefore, all transaction details can be reconstructed through the blockchain 55 and distributed storage 300, and can be monitored by the user.

도 7은 다양한 실시 예에서 초기에 자산 지분 토큰을 분배하는 방법을 설명하기 위한 도면이다.7 is a diagram illustrating a method of initially distributing an asset equity token in various embodiments.

다양한 실시 예에서, 초기에 거래 시스템(10)은 자산 지분 토큰들은 지분 가입 요청 메시지(share subscription request message)를 보낸 사용자들에게 분배할 수 있다. 지분 가입 요청 메시는 사용자가 구입하고자 하는 자산 지분 토큰의 양에 대한 정보를 포함할 수 있고, 초기 제공을 위한 통화 토큰의 양을 에스크로잉(escrowing)할 수 있다. 만약에 사용자의 거래소 계좌에 충분한 통화 토큰을 가지고 있지 않으면, 사용자는 거래 스마트컨트랙트(3)로 적절한 통화 토큰을 입금할 필요가 있다(703).In various embodiments, initially, the transaction system 10 may distribute asset stake tokens to users who send a share subscription request message. The stake subscription request mesh may contain information on the amount of asset stake tokens the user wants to purchase, and may escrow the amount of currency tokens for initial provision. If the user does not have enough currency tokens in the exchange account, the user needs to deposit an appropriate currency token into the transaction smart contract (3) (703).

지분 가입 요청 메시지는 사용자의 블록체인 네트워크(100)의 계좌에 의하여 암호화 서명될 수 있다. 암호화 서명된 지분 가입 요청 메시지는 분산 저장소(300) 및 거래소 서버(200)로 송신될 수 있다(703).The stake subscription request message may be cryptographically signed by the user's account of the blockchain network 100. The encrypted signed stake subscription request message may be transmitted to the distributed storage 300 and the exchange server 200 (703).

초기의 지분 가입 기간이 끝나면, 거래소 서버(200)는 자산 지분 스마트컨트랙트(1)상에서 최종적으로 초기 분배를 요청 및 기록하기 위한 트랜잭션들을 수행할 수 있다(709). 상기 트랜잭션들은 사용자의 서명과 분산 거래소(300)에 저장된 통화 토큰의 현재 잔고를 증명하는 데이터(proof data)포함할 수 있다. 누적된 통화 토큰은 자산 목록 계좌에 의하여 출금이 가능하다. 사용자들은 초기 분배에 참여하기 위한 트랜잭션 수수료를 부담할 필요가 없다.When the initial stake subscription period ends, the exchange server 200 may perform transactions for finally requesting and recording the initial distribution on the asset stake smart contract 1 (709). The transactions may include the user's signature and proof data that proves the current balance of the currency token stored in the distributed exchange 300. Accumulated currency tokens can be withdrawn from an asset listing account. Users do not have to pay transaction fees to participate in the initial distribution.

초과 가입(oversubscription)의 경우에는, 공정하고 투명하게 자산 지분 토큰이 임의 분배될 수 있다. 거래소 서버(200)는 블록체인 네트워크(100)로부터 시드 난수를 가져올 수 있다(fetch)(705). 예를 들어 시드 난수는 가입 종료 시점의 블록체인(55)의 블록 해시 값으로 참조될 수 있다. 시드 난수는 우승한 계정(winning account)과 할당된 지분의 양을 결정하기 위한 난수의 시퀀스를 생성하는데 이용될 수 있다.In the case of oversubscription, asset equity tokens can be distributed fairly and transparently. The exchange server 200 may fetch a seed random number from the blockchain network 100 (fetch) 705. For example, the seed random number may be referred to as a block hash value of the blockchain 55 at the time of subscription termination. The seed random number can be used to generate a sequence of random numbers to determine the winning account and the amount of stake allocated.

거래소 서버(200)는 사용자 계정들 사이의 할당된 지분을 결정한 최종 결과를 생성하고 분산 거래소(300)에 저장할 수 있다(707). 분산 거래소(300)상의 최종 결과와 연관된 데이터의 주소 값(해시 값)은 자산 지분 스마트컨트랙트(1)에 기록될 수 있다(709). 초기 분배는 외부의 제3 자에 의하여 확인가능하고 감시될 수 있다.The exchange server 200 may generate the final result of determining the allocated shares among user accounts and store it in the distributed exchange 300 (707). The address value (hash value) of data associated with the final result on the distributed exchange 300 may be recorded in the asset equity smart contract 1 (709). The initial distribution can be identifiable and monitored by an external third party.

도 8은 다양한 실시 예에서 자산 인수(acquisition) 및 지분홀더(shareholder)의 투표 시스템을 설명하기 위한 도면이다.8 is a diagram illustrating a voting system for asset acquisition and shareholders in various embodiments.

다양한 실시 예에서, 거래 시스템(10)에 등록된 특정 자산은 전부 구매될 수 있고, 그 후에 거래 시스템(10)에서 등록 해제(delisted)될 수 있다. 특정 자산에 대한 구매를 원하는 구매자는 자산 지분 스마트컨트랙트(1)에 에스크로(escrow)로서 통화 토큰을 입금시키고 그 특정 자산에 대한 인수를 제안할 수 있다(801). 제안된 가격(호가, bid price)은 거래소에서 거래되는 자산의 현재 시가 총액보다 커야 한다. 거래소 서버(200)가 유효한 인수 제안을 블록체인 네트워크(100)으로부터 인지하면(perceive), 상기 인수 제안은 모든 지분홀더들에게 공표될 수 있다. 모든 지분홀더 계좌는 수락(accept) 또는 거절(reject)하기 위한 투표를 할 수 있다. 각각의 지분홀더는 블록체인 네트워크(100)의 계좌로 암호화 서명하여 투표 메시지를 거래소 서버(200) 및 분산 저장소(300)에 송신할 수 있다(803).In various embodiments, certain assets registered in the trading system 10 may be all purchased, and then delisted in the trading system 10. A buyer who wants to purchase a specific asset may deposit a currency token as an escrow into the asset equity smart contract 1 and propose an acquisition for the specific asset (801). The proposed price (a bid price) must be greater than the current market cap of the asset traded on the exchange. When the exchange server 200 recognizes a valid takeover offer from the blockchain network 100, the takeover offer can be published to all stakeholders. All equity holder accounts can vote to accept or reject. Each stake holder may encrypt and sign an account of the blockchain network 100 and transmit a voting message to the exchange server 200 and the distributed storage 300 (803).

투표 기간이 끝나기 전에 잠재적인 다른 구매자는 현재 제안된 가격을 초과하는 가격으로 인수를 제안할 수 있다. 추가 인수 제안이 발생하면, 이전의 투표는 취소되고 새로운 투표 기간이 시작될 수 있다. 최종 투표 기간이 끝나면, 거래소 서버(200)는 투표 결과를 집계하고(tallies up) 투표 결과와 관련된 데이터를 분산 저장소(300)에 저장할 수 있다(805). 분산 저장소(300)상의 주소 값은 자산 지분 컨트랙트(1)에 저장될 수 있다(807).Prior to the end of the voting period, other potential buyers may offer an acquisition at a price in excess of the current proposed price. If a further takeover proposal occurs, previous voting may be canceled and a new voting period may begin. When the final voting period ends, the exchange server 200 may aggregate the voting results (tallies up) and store data related to the voting results in the distributed storage 300 (805). The address value on the distributed storage 300 may be stored in the asset equity contract 1 (807).

제안된 인수가 수락되면 모든 토큰홀더들은 제안된 가격 중 자신의 지분에 해당하는 자산 지분 토큰을 자산 지분 컨트랙트(1)로부터 인출할 수 있고(809), 판매된 자산은 거래 시스템(100)의 목록에서 등록 해제될 수 있다.If the proposed acquisition is accepted, all token holders can withdraw the asset share token corresponding to their share among the proposed price from the asset share contract (1) (809), and the sold assets are listed in the trading system (100). Can be deregistered from

본 문서의 다양한 실시 예들 및 이에 사용된 용어들은 본 문서에 기재된 기술을 특정한 실시 형태에 대해 한정하려는 것이 아니며, 해당 실시 예의 다양한 변경, 균등물, 및/또는 대체물을 포함하는 것으로 이해되어야 한다. 도면의 설명과 관련하여, 유사한 구성요소에 대해서는 유사한 참조 부호가 사용될 수 있다. 단수의 표현은 문맥상 명백하게 다르게 뜻하지 않는 한, 복수의 표현을 포함할 수 있다. 본 문서에서, "A 또는 B", "A 및/또는 B 중 적어도 하나", "A, B 또는 C" 또는 "A, B 및/또는 C 중 적어도 하나" 등의 표현은 함께 나열된 항목들의 모든 가능한 조합을 포함할 수 있다. "제1," "제2," "첫째," 또는 "둘째,"등의 표현들은 해당 구성요소들을, 순서 또는 중요도에 상관없이 수식할 수 있고, 한 구성요소를 다른 구성요소와 구분하기 위해 사용될 뿐 해당 구성요소들을 한정하지 않는다. 어떤(예: 제1) 구성요소가 다른(예: 제2) 구성요소에 "(기능적으로 또는 통신적으로) 연결되어" 있다거나 "접속되어" 있다고 언급된 때에는, 상기 어떤 구성요소가 상기 다른 구성요소에 직접적으로 연결되거나, 다른 구성요소(예: 제 3 구성요소)를 통하여 연결될 수 있다.Various embodiments of the present document and terms used therein are not intended to limit the technology described in this document to a specific embodiment, and should be understood to include various modifications, equivalents, and/or substitutes of the corresponding embodiment. In connection with the description of the drawings, similar reference numerals may be used for similar elements. Singular expressions may include plural expressions unless the context clearly indicates otherwise. In this document, expressions such as "A or B", "at least one of A and/or B", "A, B or C" or "at least one of A, B and/or C" are all of the items listed together. It can include possible combinations. Expressions such as "first," "second," "first," or "second," can modify the corresponding elements regardless of their order or importance, and to distinguish one element from another It is used only and does not limit the components. When it is stated that a certain (eg, first) component is “(functionally or communicatively) connected” or “connected” to another (eg, second) component, the certain component is It may be directly connected to the component, or may be connected through another component (eg, a third component).

본 문서에서, "~하도록 설정된(adapted to or configured to)"은 상황에 따라, 예를 들면, 하드웨어적 또는 소프트웨어적으로 "~에 적합한," "~하는 능력을 가지는," "~하도록 변경된," "~하도록 만들어진," "~를 할 수 있는," 또는 "~하도록 설계된"과 상호 호환적으로(interchangeably) 사용될 수 있다. 어떤 상황에서는, "~하도록 구성된 장치"라는 표현은, 그 장치가 다른 장치 또는 부품들과 함께 "~할 수 있는" 것을 의미할 수 있다. 예를 들면, 문구 "A, B, 및 C를 수행하도록 설정된 (또는 구성된) 프로세서"는 해당 동작들을 수행하기 위한 전용 프로세서(예: 임베디드 프로세서), 또는 메모리 장치에 저장된 하나 이상의 프로그램들을 실행함으로써, 해당 동작들을 수행할 수 있는 범용 프로세서(예: CPU 또는 AP)를 의미할 수 있다.In this document, "adapted to or configured to" is changed to "adapted to or configured to" depending on the situation, for example, in hardware or software, "suitable for," "have the ability to," It may be used interchangeably with ""made to," "can do," or "designed to". In some situations, the expression "a device configured to" may mean that the device "can" along with other devices or parts. For example, the phrase “a processor configured (or configured) to perform A, B, and C” means a dedicated processor (eg, an embedded processor) for performing the corresponding operations, or by executing one or more programs stored in a memory device, It may refer to a general-purpose processor (eg, CPU or AP) capable of performing corresponding operations.

본 문서에서 사용된 용어 "모듈"은 하드웨어, 소프트웨어 또는 펌웨어(firmware)로 구성된 유닛(unit)을 포함하며, 예를 들면, 로직, 논리 블록, 부품, 또는 회로 등의 용어와 상호 호환적으로 사용될 수 있다. "모듈"은, 일체로 구성된 부품 또는 하나 또는 그 이상의 기능을 수행하는 최소 단위 또는 그 일부가 될 수 있다. "모듈"은 기계적으로 또는 전자적으로 구현될 수 있으며, 예를 들면, 어떤 동작들을 수행하는, 알려졌거나 앞으로 개발될, ASIC(application-specific integrated circuit) 칩, FPGAs(field-programmable gate arrays), 또는 프로그램 가능 논리 장치를 포함할 수 있다.The term "module" used in this document includes a unit composed of hardware, software, or firmware, and is used interchangeably with terms such as logic, logic blocks, parts, or circuits. I can. The "module" may be an integrally configured component or a minimum unit that performs one or more functions, or a part thereof. "Modules" can be implemented mechanically or electronically, for example, known or future development, application-specific integrated circuit (ASIC) chips, field-programmable gate arrays (FPGAs), or It may include a programmable logic device.

다양한 실시 예들에 따른 장치(예: 모듈들 또는 그 기능들) 또는 방법(예: 동작들)의 적어도 일부는 프로그램 모듈의 형태로 컴퓨터로 판독 가능한 저장 매체에 저장된 명령어로 구현될 수 있다. 상기 명령어가 프로세서에 의해 실행될 경우, 프로세서가 상기 명령어에 해당하는 기능을 수행할 수 있다. 컴퓨터로 판독 가능한 기록 매체는, 하드디스크, 플로피디스크, 마그네틱 매체(예: 자기테이프), 광기록 매체(예: CD-ROM, DVD, 자기-광 매체(예: 플롭티컬 디스크), 내장 메모리 등을 포함할 수 있다. 명령어는 컴파일러에 의해 만들어지는 코드 또는 인터프리터에 의해 실행될 수 있는 코드를 포함할 수 있다.At least a part of an apparatus (eg, modules or functions thereof) or a method (eg, operations) according to various embodiments may be implemented as instructions stored in a computer-readable storage medium in the form of a program module. When the instruction is executed by a processor, the processor may perform a function corresponding to the instruction. Computer-readable recording media include hard disks, floppy disks, magnetic media (e.g. magnetic tape), optical recording media (e.g. CD-ROM, DVD, magnetic-optical media (e.g. floppy disk)), internal memory, etc. The instruction may include code generated by a compiler or code that can be executed by an interpreter.

다양한 실시 예들에 따른 구성 요소(예: 모듈 또는 프로그램 모듈) 각각은 단수 또는 복수의 개체로 구성될 수 있으며, 전술한 해당 서브 구성 요소들 중 일부 서브 구성 요소가 생략되거나, 또는 다른 서브 구성 요소를 더 포함할 수 있다. 대체적으로 또는 추가적으로, 일부 구성 요소들(예: 모듈 또는 프로그램 모듈)은 하나의 개체로 통합되어, 통합되기 이전의 각각의 해당 구성 요소에 의해 수행되는 기능을 동일 또는 유사하게 수행할 수 있다. 다양한 실시 예들에 따른 모듈, 프로그램 모듈 또는 다른 구성 요소에 의해 수행되는 동작들은 순차적, 병렬적, 반복적 또는 휴리스틱(heuristic)하게 실행되거나, 적어도 일부 동작이 다른 순서로 실행되거나, 생략되거나, 또는 다른 동작이 추가될 수 있다.Each of the constituent elements (eg, a module or a program module) according to various embodiments may be composed of a singular or a plurality of entities, and some of the aforementioned sub-elements may be omitted, or other sub-elements may be omitted. It may contain more. Alternatively or additionally, some constituent elements (eg, a module or a program module) may be integrated into a single entity to perform the same or similar functions performed by each corresponding constituent element before the consolidation. Operations performed by modules, program modules, or other components according to various embodiments may be sequentially, parallel, repetitively or heuristically executed, or at least some operations may be executed in a different order, omitted, or other operations. Can be added.

Claims (3)

자산 거래를 위한 복수의 트랜잭션들을 처리하는 자산 거래 서비스를 제공하는 시스템에 있어서,
각각이 블록체인을 저장하는 복수의 컴퓨팅 장치들을 포함하고, 상기 복수의 트랜잭션들 중 제1 토큰 또는 제2 토큰의 입금을 위한 입금 트랜잭션, 및 상기 제1 토큰 또는 상기 제2 토큰의 잔액에 대한 출금 확인 트랜잭션을 처리하고, 상기 입금 트랜잭션 및 상기 출금 확인 트랜잭션을 상기 블록체인에 저장하는 블록체인 네트워크;
상기 블록체인 네트워크 외부의 오프 체인(off-chain)에 포함되는 분산 저장소; 및
상기 복수의 트랜잭션들 중 상기 입금 트랜잭션과 상기 출금확인 트랜잭션을 제외한 상기 제1 토큰 및 상기 제2 토큰 사이의 거래 트랜잭션 및, 상기 제1 토큰 및 상기 제2 토큰에 대한 출금 요청 트랜잭션을 처리하고, 상기 거래 트랜잭션 및 상기 출금 요청 트랜잭션을 상기 분산 저장소에 저장하는 서버를 포함하고,
상기 거래 트랜잭션은 상기 제1 토큰 및 상기 제2 토큰 사이의 구매 주문, 판매 주문 및 주문 취소를 포함하는 교환 거래에 대한 트랜잭션이고,
상기 서버는 제1 사용자의 개인키로 서명된 판매 주문 트랜잭션과 제2 사용자의 개인키로 서명된 구매 주문 트랜잭션을 매칭하여 상기 제1 사용자와 상기 제2 사용자 사이에서 상기 제1 토큰과 상기 제2 토큰이 이동되도록 하는 상기 거래 트랜잭션을 생성하고,
상기 서버는 상기 거래 트랜잭션을 상기 서버의 개인 키로 암호화 서명하여 상기 분산 저장소에 저장하고,
상기 블록체인 네트워크에 등록된 제1 계좌에 대한 출금 요청 트랜잭션이 발생되면, 상기 서버는 상기 제1 계좌에 맵핑되어 상기 분산 저장소에 저장된 상기 복수의 트랜잭션들 중 최근 정산 이후의 트랜잭션들을 기초로 정산 데이터 파일을 생성하고 상기 분산 저장소에 상기 정산 데이터 파일을 저장하고,
상기 서버는, 상기 정산 데이터 파일의 적어도 일부를 상기 제1 계좌에 대응되는 컴퓨팅 장치로 송신하고, 상기 컴퓨팅 장치로부터 상기 제1 계좌의 개인키로 서명된 확인 응답을 수신하면, 상기 출금 요청 트랜잭션에 대응하는 출금 확인 트랜잭션을 상기 블록체인 네트워크로 송신하여 출금 요청된 상기 제1 토큰 또는 상기 제2 토큰이 상기 제1 계좌에 대응하는 상기 블록체인 네트워크의 계좌로 출금 전송되도록 하고,
상기 제1 토큰은 상기 자산 거래 서비스를 통해 거래될 수 있도록 자산이 토큰화되어 발행된 자산 지분 토큰이고,
상기 제2 토큰은 상기 제1 토큰의 구매 및 판매에 이용되는 통화 토큰인 시스템.
In a system that provides an asset transaction service that processes a plurality of transactions for asset transaction,
Each includes a plurality of computing devices storing a blockchain, a deposit transaction for depositing a first token or a second token among the plurality of transactions, and a withdrawal for the balance of the first token or the second token A blockchain network that processes a confirmation transaction and stores the deposit transaction and the withdrawal confirmation transaction in the blockchain;
Distributed storage included in an off-chain outside the blockchain network; And
Process a transaction transaction between the first token and the second token excluding the deposit transaction and the withdrawal confirmation transaction among the plurality of transactions, and a withdrawal request transaction for the first token and the second token, and the Including a server for storing the transaction transaction and the withdrawal request transaction in the distributed storage,
The transaction transaction is a transaction for an exchange transaction including a purchase order, a sales order, and an order cancellation between the first token and the second token,
The server matches the sales order transaction signed with the private key of the first user and the purchase order transaction signed with the private key of the second user, so that the first token and the second token are between the first user and the second user. Create the transaction transaction to be moved,
The server encrypts and signs the transaction transaction with the server's private key and stores it in the distributed storage,
When a withdrawal request transaction occurs for the first account registered in the blockchain network, the server is mapped to the first account and settled data based on the transactions after the latest settlement among the plurality of transactions stored in the distributed storage. Create a file and store the settlement data file in the distributed storage,
The server transmits at least a portion of the settlement data file to a computing device corresponding to the first account, and when receiving a confirmation response signed with the private key of the first account from the computing device, responds to the withdrawal request transaction Sending a withdrawal confirmation transaction to the blockchain network so that the first token or the second token requested withdrawal is transferred to an account of the blockchain network corresponding to the first account,
The first token is an asset equity token issued by tokenizing an asset so that it can be traded through the asset transaction service,
The second token is a currency token used to purchase and sell the first token.
제1항에 있어서,
상기 서버는 상기 서버가 보유한 상기 블록체인 네트워크의 네이티브 통화로 상기 출금 확인 트랜잭션에 대한 수수료를 지불하고,
상기 서버는 상기 제1 계좌의 제2 토큰으로부터 상기 지불한 수수료에 대한 보상을 지급받는 시스템.
The method of claim 1,
The server pays a fee for the withdrawal confirmation transaction in the native currency of the blockchain network held by the server,
The server receives a reward for the paid fee from the second token of the first account.
제1항에 있어서,
상기 정산 데이터 파일의 해시 값은 상기 블록체인 네트워크에 저장되어 상기 정산 데이터 파일에 대응하는 정산 결과의 인증에 이용되는 시스템.
The method of claim 1,
The hash value of the settlement data file is stored in the blockchain network and used for authentication of a settlement result corresponding to the settlement data file.
KR1020200146111A 2017-08-16 2020-11-04 The trading system and the method based on a blockchain KR102309819B1 (en)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US201762546289P 2017-08-16 2017-08-16
US62/546,289 2017-08-16
KR1020180069643A KR20190019004A (en) 2017-08-16 2018-06-18 The trading system and the method based on a blockchain

Related Parent Applications (1)

Application Number Title Priority Date Filing Date
KR1020180069643A Division KR20190019004A (en) 2017-08-16 2018-06-18 The trading system and the method based on a blockchain

Publications (2)

Publication Number Publication Date
KR20200129073A true KR20200129073A (en) 2020-11-17
KR102309819B1 KR102309819B1 (en) 2021-10-08

Family

ID=65562757

Family Applications (2)

Application Number Title Priority Date Filing Date
KR1020180069643A KR20190019004A (en) 2017-08-16 2018-06-18 The trading system and the method based on a blockchain
KR1020200146111A KR102309819B1 (en) 2017-08-16 2020-11-04 The trading system and the method based on a blockchain

Family Applications Before (1)

Application Number Title Priority Date Filing Date
KR1020180069643A KR20190019004A (en) 2017-08-16 2018-06-18 The trading system and the method based on a blockchain

Country Status (1)

Country Link
KR (2) KR20190019004A (en)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102389139B1 (en) 2021-02-17 2022-04-22 유비콘 주식회사 Space improvement solution system with blockchain-based distributed storage
KR102494106B1 (en) * 2021-09-13 2023-02-06 이민형 System and Method for Providing distributing profit service based on Blockchain
WO2023106630A1 (en) * 2021-12-08 2023-06-15 고려대학교 산학협력단 Method for controlling blockchain-based shared asset transaction system, and recording medium and system for performing same

Families Citing this family (42)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20200116042A (en) * 2019-03-25 2020-10-08 (주)링카코리아 A payment agent system that supports providing the service based on the second payment means based on non-virtual asset in connection with a service providing system that provides a service to the user based on the first payment means based on the virtual asset and a payment agency method using the same
KR20200119496A (en) 2019-04-10 2020-10-20 주식회사 엘비엑스씨 Apparatus and method for compensating health care service sale profit based on block chain
KR20200120989A (en) 2019-04-10 2020-10-23 주식회사 엘비엑스씨 Apparatus and method of detecting anomaly for health care service based on block chain
KR20200119492A (en) 2019-04-10 2020-10-20 주식회사 엘비엑스씨 Computer program for recommending service based on block chain
KR20200119482A (en) 2019-04-10 2020-10-20 주식회사 엘비엑스씨 Computer program for providing transaction services for cryptocurrency linked with actual economic values
KR20200119497A (en) 2019-04-10 2020-10-20 주식회사 엘비엑스씨 Computer program for compensating service sale profit based on block chain
KR20200119500A (en) 2019-04-10 2020-10-20 주식회사 엘비엑스씨 Computer program for detecting anomaly based on block chain
KR20200119484A (en) 2019-04-10 2020-10-20 주식회사 엘비엑스씨 Apparatus and method of managing personal medical information for anti-aging service based on block chain
KR20200119494A (en) 2019-04-10 2020-10-20 주식회사 엘비엑스씨 Apparatus and method for compensating anti-aging service sale profit based on block chain
KR20200119480A (en) 2019-04-10 2020-10-20 주식회사 엘비엑스씨 Apparatus and method for providing transaction services for cryptocurrency linked with health care service values
KR20200119493A (en) 2019-04-10 2020-10-20 주식회사 엘비엑스씨 Apparatus and method for compensating service sale profit based on block chain
KR20200119486A (en) 2019-04-10 2020-10-20 주식회사 엘비엑스씨 Apparatus and method of managing personal medical information for cosmetic service based on block chain
KR20200119499A (en) 2019-04-10 2020-10-20 주식회사 엘비엑스씨 Apparatus and method of detecting anomaly for anti-aging service based on block chain
KR20200119487A (en) 2019-04-10 2020-10-20 주식회사 엘비엑스씨 Computer program for managing personal medical information based on block chain
KR20200119481A (en) 2019-04-10 2020-10-20 주식회사 엘비엑스씨 Apparatus and method for providing transaction services for cryptocurrency linked with cosmetic service values
KR20200119491A (en) 2019-04-10 2020-10-20 주식회사 엘비엑스씨 Apparatus and method for recommending cosmetic service based on block chain
KR20200119485A (en) 2019-04-10 2020-10-20 주식회사 엘비엑스씨 Apparatus and method of managing personal medical information for health care service based on block chain
KR20200119495A (en) 2019-04-10 2020-10-20 주식회사 엘비엑스씨 Apparatus and method for compensating health care service sale profit based on block chain
KR20200119489A (en) 2019-04-10 2020-10-20 주식회사 엘비엑스씨 Apparatus and method for recommending anti-aging service based on block chain
KR20200120990A (en) 2019-04-10 2020-10-23 주식회사 엘비엑스씨 Apparatus and method of detecting anomaly for health care service based on block chain
KR20200119488A (en) 2019-04-10 2020-10-20 주식회사 엘비엑스씨 Apparatus and method for recommending service based on block chain
KR20200119498A (en) 2019-04-10 2020-10-20 주식회사 엘비엑스씨 Apparatus and method for detecting anomaly based on block chain
KR20200119478A (en) 2019-04-10 2020-10-20 주식회사 엘비엑스씨 Apparatus and method for providing transaction services for cryptocurrency linked with actual economic values
KR20200119490A (en) 2019-04-10 2020-10-20 주식회사 엘비엑스씨 Apparatus and method for recommending health care service based on block chain
KR20200119483A (en) 2019-04-10 2020-10-20 주식회사 엘비엑스씨 Apparatus and method for managing personal medical information based on block chain
KR20200119479A (en) 2019-04-10 2020-10-20 주식회사 엘비엑스씨 Apparatus and method for providing transaction services for cryptocurrency linked with anti-aging service values
KR102217776B1 (en) 2019-06-25 2021-02-19 에스케이텔레콤 주식회사 Method and apparatus for processing transaction based on block chain
KR102243737B1 (en) * 2019-07-15 2021-04-23 넷마블 주식회사 Method for alarming an automatic transmission
KR102281901B1 (en) * 2019-08-13 2021-07-23 건국대학교 산학협력단 Apparatus and method for managing data using blockchain
CN110472977B (en) * 2019-08-20 2023-09-19 深圳市迅雷网络技术有限公司 Transaction record generation method of blockchain and related equipment
CN110599146B (en) * 2019-09-16 2023-12-19 腾讯科技(深圳)有限公司 Data processing method, device, terminal, node equipment and storage medium
KR102245929B1 (en) * 2020-01-29 2021-04-29 (주)소셜인프라테크 Method of transaction charge for user of decentralized application by depositing virtual asset
KR102245928B1 (en) * 2020-02-06 2021-04-29 (주)소셜인프라테크 Method for transacting of transaction charge by using mediation point
KR102209852B1 (en) * 2020-02-12 2021-01-29 현수영 Transaction transfer realy method between compatible blockchain networks
KR102415026B1 (en) 2020-02-28 2022-06-30 스마트쿱(주) System for transaction a deposit and withdrawal based a block chain
KR102422651B1 (en) * 2020-07-10 2022-07-19 주식회사 수호아이오 Method and apparatus for managing stake-based token over blockchain system
KR102334931B1 (en) * 2020-11-16 2021-12-06 두나무 주식회사 Method and system for assiting token swapping across blockchains
KR102509596B1 (en) 2020-12-21 2023-03-14 단국대학교 산학협력단 Apparatus and method for managing transport using token based on blockchain
KR102634677B1 (en) * 2021-01-27 2024-02-08 임도형 Method for exchanging asset between compatible blockchain networks
KR102544899B1 (en) * 2021-06-16 2023-06-16 계명대학교 산학협력단 Embedding blockchain method and system using external storage media
KR20230120331A (en) 2022-02-09 2023-08-17 권혁선 System for transacting intellectual property right
KR102623047B1 (en) * 2022-12-02 2024-01-10 (주)유미테크 Research histroy management method based on blockchain and smart contracts program performing the same

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101628009B1 (en) * 2015-04-20 2016-06-13 주식회사 코인플러그 System for dealing a digital currency with block chain
KR101701131B1 (en) * 2016-04-28 2017-02-13 주식회사 라피 Data recording and validation methods and systems using the connecting of blockchain between different type
US20170103385A1 (en) 2015-04-05 2017-04-13 Digital Asset Holdings Digital asset intermediary electronic settlement platform
US20170213289A1 (en) * 2016-01-27 2017-07-27 George Daniel Doney Dividend Yielding Digital Currency through Elastic Securitization, High Frequency Cross Exchange Trading, and Smart Contracts

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20170103385A1 (en) 2015-04-05 2017-04-13 Digital Asset Holdings Digital asset intermediary electronic settlement platform
KR101628009B1 (en) * 2015-04-20 2016-06-13 주식회사 코인플러그 System for dealing a digital currency with block chain
US20170213289A1 (en) * 2016-01-27 2017-07-27 George Daniel Doney Dividend Yielding Digital Currency through Elastic Securitization, High Frequency Cross Exchange Trading, and Smart Contracts
KR101701131B1 (en) * 2016-04-28 2017-02-13 주식회사 라피 Data recording and validation methods and systems using the connecting of blockchain between different type

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102389139B1 (en) 2021-02-17 2022-04-22 유비콘 주식회사 Space improvement solution system with blockchain-based distributed storage
KR102494106B1 (en) * 2021-09-13 2023-02-06 이민형 System and Method for Providing distributing profit service based on Blockchain
WO2023106630A1 (en) * 2021-12-08 2023-06-15 고려대학교 산학협력단 Method for controlling blockchain-based shared asset transaction system, and recording medium and system for performing same

Also Published As

Publication number Publication date
KR102309819B1 (en) 2021-10-08
KR20190019004A (en) 2019-02-26

Similar Documents

Publication Publication Date Title
KR102309819B1 (en) The trading system and the method based on a blockchain
US11720887B1 (en) System, method and program product for depositing and withdrawing stable value digital assets in exchange for fiat
US11727401B1 (en) System, method and program product for generating and utilizing stable value digital assets
US11562333B1 (en) System, method and program product for generating and utilizing stable value digital assets
JP7429281B2 (en) Methods and systems for directing exchanges associated with tokens held anonymously on a blockchain
CN108885745B (en) Blockchain-based exchange with tokenization
JP6957482B2 (en) Methods and systems for secure transfer of entities on a blockchain basis
JP7128111B2 (en) Systems and methods for controlling asset-related activities via blockchain
US6938019B1 (en) Method and apparatus for making secure electronic payments
RU2145439C1 (en) Trusted agents for open distribution of electronic cash
CN113728351A (en) Trusted certification transactions in blockchain systems
KR20200106130A (en) Method and device for protecting sensitive data of transaction activity based on smart contract in blockchain
JP2019160316A (en) System, method and computer program for resource equity for blockchain
WO2018060951A1 (en) A system for trading in a contract-free manner
US11475420B2 (en) System and method for true peer-to-peer automatic teller machine transactions using mobile device payment systems
CN111899001A (en) Remittance method and device based on block chain
WO2019035573A1 (en) Blockchain-based trading system and method therefor
US20220138748A1 (en) Method and system for settling a blockchain transaction
CN113283957B (en) Entity product transaction method based on blockchain
EP3496027A1 (en) Method for settling a blockchain asset
CN111429134A (en) Data transaction method and device based on block chain
CN107852333A (en) System and method for the mandate of sharable content object
JP7317118B2 (en) Blockchain-based merger and acquisition service provision system and its operation method
WO2021060340A1 (en) Transaction information processing system
KR20220120144A (en) Technology to provide asset trading services based on blockchain

Legal Events

Date Code Title Description
A107 Divisional application of patent
E902 Notification of reason for refusal
E701 Decision to grant or registration of patent right