KR20200031264A - 블록체인을 이용한 자산 거래 장치 및 방법 - Google Patents

블록체인을 이용한 자산 거래 장치 및 방법 Download PDF

Info

Publication number
KR20200031264A
KR20200031264A KR1020180110045A KR20180110045A KR20200031264A KR 20200031264 A KR20200031264 A KR 20200031264A KR 1020180110045 A KR1020180110045 A KR 1020180110045A KR 20180110045 A KR20180110045 A KR 20180110045A KR 20200031264 A KR20200031264 A KR 20200031264A
Authority
KR
South Korea
Prior art keywords
asset
order
information
transaction
account
Prior art date
Application number
KR1020180110045A
Other languages
English (en)
Other versions
KR102096660B1 (ko
Inventor
임지순
이일영
김승연
Original Assignee
주식회사 미탭스플러스
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 주식회사 미탭스플러스 filed Critical 주식회사 미탭스플러스
Priority to KR1020180110045A priority Critical patent/KR102096660B1/ko
Publication of KR20200031264A publication Critical patent/KR20200031264A/ko
Application granted granted Critical
Publication of KR102096660B1 publication Critical patent/KR102096660B1/ko

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
    • G06Q40/00Finance; Insurance; Tax strategies; Processing of corporate or income taxes
    • G06Q40/04Trading; Exchange, e.g. stocks, commodities, derivatives or currency exchange
    • 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

Landscapes

  • Business, Economics & Management (AREA)
  • Accounting & Taxation (AREA)
  • Finance (AREA)
  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Strategic Management (AREA)
  • General Business, Economics & Management (AREA)
  • General Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Economics (AREA)
  • Marketing (AREA)
  • Technology Law (AREA)
  • Development Economics (AREA)
  • Financial Or Insurance-Related Operations Such As Payment And Settlement (AREA)

Abstract

본 발명은 블록체인을 이용한 자산 거래 장치 및 방법에 관한 것이다. 이를 위하여, 제1계정의 자산 거래 장치가, 특정 자산 토큰의 매매 수량에 대해 특정 거래 토큰의 특정 수량인 호가로 매도 또는 매수의 신규 주문 정보를 생성하는 신규 주문 정보 생성 단계; 자산 거래 장치가, 생성된 신규 주문 정보와 자산 거래 장치에 저장된 주문 블록체인에 기저장된 제2계정의 체결 대기 주문 정보와의 주문 체결을 기초로 주문 블록체인에 대한 트랜잭션 정보인 주문 트랜잭션 정보를 생성하는 주문 트랜잭션 정보 생성 단계; 및 자산 거래 장치가, 주문 트랜잭션 정보의 해시값, 제1계정의 자산 상태 변경 정보 및 제2계정의 자산 상태 변경 정보를 포함하여 자산 거래 장치에 저장된 자산 상태 블록체인에 대한 트랜잭션 정보인 자산 상태 트랜잭션 정보를 생성하는 자산 상태 트랜잭션 정보 생성 단계;가 제공될 수 있다.

Description

블록체인을 이용한 자산 거래 장치 및 방법{Apparatus and Method for Asset trading using Blockchain}
본 발명은 블록체인을 이용한 자산 거래 장치 및 방법에 관한 것이다.
블록체인은 다양한 기술분야에 적용될 수 있지만, ICO(Initial Coin Offering)에 의해 Fundraising이 용이해지면서 암호화 화폐(혹은, 가상 화폐)를 구현하기 위한 기술로써 발전했다. 예를 들어, 비트코인도 블록체인 기술을 이용함으로써 일반 통화와는 달리 중앙은행과 같은 제3자가 가치를 담보하지 않아도 통화와 같은 가치를 갖는 것을 달성해가고 있다. 블록체인 발명 이전에는 화폐를 대체할 전자 화폐를 만들기 위해서 그 가치를 보장하거나 화폐의 거래 기록을 관리하는 '미들맨'이 반드시 필요했다. 하지만, 블록체인을 이용하면 다음과 같은 구조로 제3자 기관이 없이도 특정 암호화 화폐가 실제 화폐로서 기능할 수 있게 된다.
(1) 블록이 시간별로 정렬되어 있고, 블록에 거래기록과 앞의 블록에 대한 연결 정보가 포함되어 위조 및 변조가 어려움.
(2) 분산형 원장 구조를 취함으로써 거래의 투명성이 높고 이중 지급이 어려움.
위와 같은 이유로 암호화 화폐는 화폐로서의 기능을 담보할 수 있게 되었다. 이와 같은 속성을 가진 암호화 화폐는 Bitcoin, Litecoin, Ripple, Etherium, Dash, Monero 등 여러가지가 퍼블릭하게 발행되어 있다. 특히, ICO(Initial Coin Offering)을 통해 특정 토큰에 대해 큰 규모의 Fundraising이 이루어지고 있는 실정이다. 이처럼 다양한 암호화 화폐가 발행되어 있지만, 네트워크 효과로 인해 주로 사용되는 것과 그렇지 않은 것으로 나뉘어 있는 상태이다.
대한민국 등록특허, 10-1751025, 블록체인 기반의 스마트 증권업무 처리 시스템(Smart system for trading stock based blockchain), 주식회사 온더 대한민국 등록특허, 10-1758870, 마이닝 관리 시스템 및 이를 이용한 마이닝 관리 방법(Mining Rig Monitoring System And Mining Rig Monitoring Method In Using Same), 주식회사 온더 미국 공개특허, US 2016/0342989 A1, Method and system for processing blockchain-based transactions on existing payment networks, Mastercard International Incorporated 미국 공개특허, US 2016/0292672 A1, Systems and methods of blockchain transaction recordation, Nasdaq, Inc. 미국 공개특허, US 20170132615 A1, Block chain alias for person-to-person payments, Bank Of America Corporation
위와 같은 블록체인 기술은 기존의 인터넷에서 해결하지 못하던 '자산의 이중 지불 문제'를 해결할 수 있게 해준다. 자산의 이중 지불 문제가 해결되게 되는 경우, 돈이나 주식과 채권 같은 금융자산, 적립 포인트, 지적 재산, 음악, 예술, 투표, 탄소 배출권 같은 자산의 유동화가 가능해지는 효과가 발생된다.
하지만 기존의 블록체인 기술을 자산의 매수나 매도와 같은 거래에 이용하는 경우에는 모든 자산의 데이터를 모든 노드가 구비해야 하는 문제, 자산의 상태변화가 블록체인에 기록되는 경우 무결성은 인정될 수 있으나 해당 자산에 대한 신뢰성을 확보하기가 어려운 문제(오라클 문제), 채굴을 통해서 노드의 유지가 유도되어 에너지 낭비가 극심한 문제 등이 존재하고 있었다.
따라서, 본 발명의 목적은 위와 같은 문제를 해결하여, 토큰을 이용한 각종 자산의 유동화(일명, Tokenization)를 달성하기 위한 블록체인을 이용한 자산 거래 장치 및 방법을 제공하는 데에 있다.
이하 본 발명의 목적을 달성하기 위한 구체적 수단에 대하여 설명한다.
본 발명의 목적은, 제1계정의 자산 거래 장치가, 특정 자산 토큰의 매매 수량에 대해 특정 거래 토큰의 특정 수량인 호가로 매도 또는 매수의 신규 주문 정보를 생성하는 신규 주문 정보 생성 단계; 상기 자산 거래 장치가, 생성된 상기 신규 주문 정보와 상기 자산 거래 장치에 저장된 블록체인에 기저장된 제2계정의 체결 대기 주문 정보와의 주문 체결을 기초로 상기 블록체인에 대한 트랜잭션 정보인 주문 트랜잭션 정보를 생성하는 주문 트랜잭션 정보 생성 단계; 및 상기 자산 거래 장치가, 상기 주문 트랜잭션 정보의 해시값, 상기 제1계정의 자산 상태 변경 정보 및 상기 제2계정의 자산 상태 변경 정보를 포함하여 상기 블록체인에 대한 트랜잭션 정보인 자산 상태 트랜잭션 정보를 생성하는 자산 상태 트랜잭션 정보 생성 단계;를 포함하고, 상기 자산 상태 변경 정보는 상기 제1계정 및 상기 제2계정을 포함하는 특정 계정의 상기 자산 토큰의 보유량 및 상기 거래 토큰의 보유량의 상태 변경에 관한 정보를 의미하며, 상기 제2계정의 상기 체결 대기 주문 정보는 상기 신규 주문 정보와 동일한 상기 특정 자산 토큰 및 상기 특정 거래 토큰의 동일한 수량에 관한 반대 주문인 주문 정보를 의미하고, 상기 주문 체결에 의한 상기 주문 트랜잭션 정보는 상기 신규 주문 정보의 상기 특정 자산 토큰의 매매 수량에 대응되는 상기 체결 대기 주문 정보의 상기 특정 자산 토큰의 수량을 삭제하는 상태 변경을 포함하며, 상기 자산 거래 장치는, 생성된 상기 주문 트랜잭션 정보 및 상기 자산 상태 트랜잭션 정보를 상기 블록체인에 기록 및 상기 블록체인의 전체 분산 네트워크에 배포하는 것을 특징으로 하는, 블록체인을 이용한 자산 거래 방법을 제공하여 달성될 수 있다.
또한, 상기 블록체인은, 상기 특정 자산 토큰에 대해 주문 체결 대기 중인 적어도 하나의 상기 체결 대기 주문 정보에 관한 계정인 상기 특정 자산 토큰의 자산 계정을 포함하고, 상기 제1계정 및 상기 제2계정을 포함하는 복수의 매매 주체 계정을 포함하며, 상기 주문 트랜잭션 정보는, 상기 자산 계정의 상기 체결 대기 주문 정보에 대한 상태 변경, 상기 제1계정의 주소 정보 및 상기 제2계정의 주소 정보를 포함하고, 상기 블록체인에 복수의 자산 토큰에 대한 상기 체결 대기 주문 정보가 기록되고, 상기 자산 계정은 자산 토큰 별로 각각 구성되는 것을 특징으로 할 수 있다.
또한, 상기 블록체인은 체결 대기 주문을 수신하는 체결 대기 주문 계정을 더 포함하고, 상기 주문 트랜잭션 정보 생성 단계에서 상기 신규 주문 정보에 의해 상기 주문 체결이 발생되지 않는 경우, 상기 주문 트랜잭션 정보는 상기 신규 주문 정보를 체결 대기 주문에 추가하는 상태 변경을 포함하며, 상기 체결 대기 주문 계정 및 상기 제1계정의 상기 자산 토큰의 보유량 또는 상기 거래 토큰의 보유량의 상태 변경이 상기 자산 상태 트랜잭션 정보에 포함되는 것을 특징으로 할 수 있다.
또한, 상기 주문 트랜잭션 정보 생성 단계에서, 상기 자산 거래 장치가 상기 제2계정의 노드 유지를 확인하고, 상기 노드 유지가 확인되는 경우에 상기 주문 체결을 기초로 상기 주문 트랜잭션 정보를 생성하는 것을 특징으로 할 수 있다.
본 발명의 다른 목적은, 제1계정의 자산 거래 장치가, 특정 자산 토큰의 매매 수량에 대해 특정 거래 토큰의 특정 수량인 호가로 매도 또는 매수의 신규 주문 정보를 생성하는 신규 주문 정보 생성 단계; 상기 자산 거래 장치가, 생성된 상기 신규 주문 정보와 상기 자산 거래 장치에 저장된 주문 블록체인에 기저장된 제2계정의 체결 대기 주문 정보와의 주문 체결을 기초로 상기 주문 블록체인에 대한 트랜잭션 정보인 주문 트랜잭션 정보를 생성하는 주문 트랜잭션 정보 생성 단계; 상기 자산 거래 장치가, 상기 주문 트랜잭션 정보의 해시값, 상기 제1계정의 자산 상태 변경 정보 및 상기 제2계정의 자산 상태 변경 정보를 포함하여 상기 자산 거래 장치에 저장된 자산 상태 블록체인에 대한 트랜잭션 정보인 자산 상태 트랜잭션 정보를 생성하는 자산 상태 트랜잭션 정보 생성 단계; 및 상기 자산 거래 장치가, 자산 정보 분산 스토리지의 전체 분산 네트워크 중 적어도 일부에서 상기 자산 토큰에 관한 정보인 자산 정보를 수신하고, 상기 자산 거래 장치에 저장된 상기 제1계정의 자산 정보 분산 스토리지에 상기 자산 정보의 해시값을 주소값으로 하여 저장하는 자산 정보 수신 단계; 를 포함하고, 상기 자산 상태 변경 정보는 상기 제1계정 및 상기 제2계정을 포함하는 특정 계정의 상기 자산 토큰의 보유량 및 상기 거래 토큰의 보유량의 상태 변경에 관한 정보를 의미하며, 상기 제2계정의 상기 체결 대기 주문 정보는 상기 신규 주문 정보와 동일한 상기 특정 자산 토큰 및 상기 특정 거래 토큰의 동일한 수량에 관한 반대 주문인 주문 정보를 의미하고, 상기 주문 체결에 의한 상기 주문 트랜잭션 정보는 상기 신규 주문 정보의 상기 특정 자산 토큰의 매매 수량에 대응되는 상기 체결 대기 주문 정보의 상기 특정 자산 토큰의 수량을 삭제하는 상태 변경 및 상기 자산 정보의 해시값을 포함하며, 상기 자산 거래 장치는, 생성된 상기 주문 트랜잭션 정보를 상기 주문 블록체인에 기록 및 상기 주문 블록체인의 전체 분산 네트워크에 배포하고, 생성된 상기 자산 상태 트랜잭션 정보를 상기 자산 상태 블록체인에 기록 및 상기 자산 상태 블록체인의 전체 분산 네트워크에 배포하는 것을 특징으로 하는, 블록체인을 이용한 자산 거래 방법을 제공하여 달성될 수 있다.
또한, 상기 주문 트랜잭션 정보 생성 단계에서, 상기 자산 거래 장치가 상기 제2계정의 노드 유지를 확인하고, 상기 노드 유지가 확인되는 경우에 상기 주문 체결을 기초로 상기 주문 트랜잭션 정보를 생성하고, 상기 자산 정보 수신 단계에서, 상기 자산 거래 장치는 상기 자산 정보 분산 스토리지의 전체 분산 네트워크 중 노드 유지가 확인되는 계정의 상기 자산 정보 분산 스토리지 중 적어도 일부에서 상기 자산 정보를 수신하는 것을 특징으로 할 수 있다.
또한, 상기 자산 정보 수신 단계에서, 상기 자산 거래 장치는 상기 자산 정보 분산 스토리지의 전체 분산 네트워크 중 상기 제2계정의 상기 자산 정보 분산 스토리지에서 최우선으로 상기 자산 정보를 수신하는 것을 특징으로 할 수 있다.
본 발명의 다른 목적은, 제1계정의 자산 거래 장치가, 특정 자산 토큰의 매매 수량에 대해 특정 거래 토큰의 특정 수량인 호가로 매도 또는 매수의 신규 주문 정보를 생성하는 신규 주문 정보 생성 단계; 상기 자산 거래 장치가, 생성된 상기 신규 주문 정보와 상기 자산 거래 장치에 저장된 블록체인에 기저장된 제2계정의 체결 대기 주문 정보와의 주문 체결을 기초로 상기 블록체인에 대한 트랜잭션 정보인 주문 트랜잭션 정보를 생성하는 주문 트랜잭션 정보 생성 단계; 상기 자산 거래 장치가, 상기 주문 트랜잭션 정보의 해시값, 상기 제1계정의 자산 상태 변경 정보 및 상기 제2계정의 자산 상태 변경 정보를 포함하여 상기 블록체인에 대한 트랜잭션 정보인 자산 상태 트랜잭션 정보를 생성하는 자산 상태 트랜잭션 정보 생성 단계; 및 상기 자산 거래 장치가, 자산 정보 분산 스토리지의 전체 분산 네트워크 중 적어도 일부에서 상기 자산 토큰에 관한 정보인 자산 정보를 수신하고, 상기 자산 거래 장치에 저장된 상기 제1계정의 자산 정보 분산 스토리지에 상기 자산 정보의 해시값을 주소값으로 하여 저장하는 자산 정보 수신 단계;를 포함하고, 상기 자산 상태 변경 정보는 상기 제1계정 및 상기 제2계정을 포함하는 특정 계정의 상기 자산 토큰의 보유량 및 상기 거래 토큰의 보유량의 상태 변경에 관한 정보를 의미하며, 상기 제2계정의 상기 체결 대기 주문 정보는 상기 신규 주문 정보와 동일한 상기 특정 자산 토큰 및 상기 특정 거래 토큰의 동일한 수량에 관한 반대 주문인 주문 정보를 의미하고, 상기 주문 체결에 의한 상기 주문 트랜잭션 정보는 상기 신규 주문 정보의 상기 특정 자산 토큰의 매매 수량에 대응되는 상기 체결 대기 주문 정보의 상기 특정 자산 토큰의 수량을 삭제하는 상태 변경 및 상기 자산 정보의 해시값을 포함하며, 상기 자산 거래 장치는, 생성된 상기 주문 트랜잭션 정보 및 생성된 상기 자산 상태 트랜잭션 정보를 상기 블록체인에 기록 및 상기 블록체인의 전체 분산 네트워크에 배포하는 것을 특징으로 하는, 블록체인을 이용한 자산 거래 방법을 제공하여 달성될 수 있다.
본 발명의 다른 목적은, 자산 상태 블록체인이 구성된 자산 거래 장치가, 공모 자산 토큰을 발행하려는 수량인 자산 토큰 발행 수량 정보를 포함하는 상기 자산 상태 블록체인의 신규 계정인 제1계정을 생성하는 자산 토큰 발행 단계; 상기 자산 거래 장치가, 상기 공모 자산 토큰에 대한 정보인 자산 정보를 수신하고, 상기 자산 거래 장치에 구성되는 자산 정보 분산 스토리지에 상기 자산 정보를 저장하는 자산 정보 저장 단계; 및 상기 자산 거래 장치가, 상기 자산 거래 장치에 구성되는 주문 블록체인의 신규 계정인 자산 계정을 생성하며, 상기 공모 자산 토큰의 상기 자산 토큰 발행 수량 정보를 기초로 상기 공모 자산 토큰의 공모 수량을 특정 거래 토큰의 수량인 공모가에 매도하는 주문을 체결 대기 주문 정보로 하는 공모 주문 트랜잭션 정보를 생성하고, 상기 주문 블록체인에 기록하며, 상기 주문 블록체인의 전체 분산 네트워크에 배포하는 토큰 공모 단계; 를 포함하는, 블록체인을 이용한 자산 공모 방법을 제공하여 달성될 수 있다.
또한, 상기 자산 계정의 비밀키는 상기 제1계정의 비밀키와 동일하고, 상기 제1계정의 공개키가 상기 자산 정보 분산 스토리지의 주소로 이용되 것을 특징으로 할 수 있다.
또한, 상기 자산 정보의 해시값이 상기 자산 정보 분산 스토리지에서 상기 자산 정보의 주소값으로 이용되는 것을 특징으로 할 수 있다.
또한, 상기 토큰 공모 단계 이후, 상기 자산 거래 장치가, 제2계정의 자산 거래 장치에서 배포된 상기 공모 자산 토큰의 매매 수량에 대해 상기 공모가로 매수의 주문 정보와 상기 주문 블록체인에 기저장된 상기 체결 대기 주문 정보와의 주문 체결을 기초로 상기 체결 대기 주문 정보의 상태 변경에 대한 상기 공모 주문 트랜잭션 정보를 생성하는 공모 주문 트랜잭션 정보 생성 단계; 및 상기 자산 거래 장치가, 상기 공모 주문 트랜잭션 정보의 해시값, 상기 제1계정의 자산 상태 변경 정보 및 상기 제2계정의 자산 상태 변경 정보를 포함하여 상기 자산 상태 블록체인에 대한 트랜잭션 정보인 자산 상태 트랜잭션 정보를 생성하는 자산 상태 트랜잭션 정보 생성 단계; 를 더 포함하고, 상기 자산 상태 변경 정보는 상기 제1계정 및 상기 제2계정을 포함하는 특정 계정의 상기 공모 자산 토큰의 보유량 및 상기 거래 토큰의 보유량의 상태 변경에 관한 정보를 의미하며, 상기 자산 상태 트랜잭션 정보 생성 단계에서 상기 자산 상태 트랜잭션 정보의 생성은, 상기 공모 주문 트랜잭션 정보의 상기 체결 대기 주문 정보에 포함된 상기 공모 자산 토큰의 총 수량이 특정 수량 이하가 되는 경우에 진행되는 것을 특징으로 할 수 있다.
또한, 상기 자산 상태 블록체인 및 상기 주문 블록체인의 합의는 상기 제2계정에 의해 수행되는 것을 특징으로 할 수 있다.
본 발명의 다른 목적은, 제1계정의 자산 거래 장치가, 특정 자산 토큰의 매매 수량에 대해 특정 거래 토큰의 특정 수량인 호가로 매도 또는 매수의 신규 주문 정보를 생성하는 신규 주문 정보 생성 단계; 상기 자산 거래 장치가, 생성된 상기 신규 주문 정보와 상기 자산 거래 장치에 저장된 주문 블록체인에 기저장된 제2계정의 체결 대기 주문 정보와의 주문 체결을 기초로 상기 주문 블록체인에 대한 트랜잭션 정보인 주문 트랜잭션 정보를 생성하는 주문 트랜잭션 정보 생성 단계; 및 상기 자산 거래 장치가, 상기 주문 트랜잭션 정보의 해시값, 상기 제1계정의 자산 상태 변경 정보 및 상기 제2계정의 자산 상태 변경 정보를 포함하여 상기 자산 거래 장치에 저장된 자산 상태 블록체인에 대한 트랜잭션 정보인 자산 상태 트랜잭션 정보를 생성하는 자산 상태 트랜잭션 정보 생성 단계;를 포함하고, 상기 자산 상태 변경 정보는 상기 제1계정 및 상기 제2계정을 포함하는 특정 계정의 상기 자산 토큰의 보유량 및 상기 거래 토큰의 보유량의 상태 변경에 관한 정보를 의미하며, 상기 제2계정의 상기 체결 대기 주문 정보는 상기 신규 주문 정보와 동일한 상기 특정 자산 토큰 및 상기 특정 거래 토큰의 동일한 수량에 관한 반대 주문인 주문 정보를 의미하고, 상기 주문 체결에 의한 상기 주문 트랜잭션 정보는 상기 신규 주문 정보의 상기 특정 자산 토큰의 매매 수량에 대응되는 상기 체결 대기 주문 정보의 상기 특정 자산 토큰의 수량을 삭제하는 상태 변경을 포함하며, 상기 자산 거래 장치는, 생성된 상기 주문 트랜잭션 정보를 상기 주문 블록체인에 기록 및 상기 주문 블록체인의 전체 분산 네트워크에 배포하고, 생성된 상기 자산 상태 트랜잭션 정보를 상기 자산 상태 블록체인에 기록 및 상기 자산 상태 블록체인의 전체 분산 네트워크에 배포하는 것을 특징으로 하는, 블록체인을 이용한 자산 거래 방법을 제공하여 달성될 수 있다.
또한, 상기 주문 블록체인은, 상기 특정 자산 토큰에 대해 주문 체결 대기 중인 적어도 하나의 상기 체결 대기 주문 정보에 관한 계정인 상기 특정 자산 토큰의 자산 계정을 포함하고, 상기 자산 상태 블록체인은, 상기 제1계정 및 상기 제2계정을 포함하는 복수의 매매 주체 계정을 포함하며, 상기 주문 트랜잭션 정보는, 상기 자산 계정의 상기 체결 대기 주문 정보에 대한 상태 변경, 상기 제1계정의 주소 정보 및 상기 제2계정의 주소 정보를 포함하고, 상기 주문 블록체인에 복수의 자산 토큰에 대한 상기 체결 대기 주문 정보가 기록되고, 상기 자산 계정은 자산 토큰 별로 각각 구성되는 것을 특징으로 할 수 있다.
또한, 상기 자산 상태 블록체인은 체결 대기 주문을 수신하는 체결 대기 주문 계정을 더 포함하고, 상기 주문 트랜잭션 정보 생성 단계에서 상기 신규 주문 정보에 의해 상기 주문 체결이 발생되지 않는 경우, 상기 주문 트랜잭션 정보는 상기 신규 주문 정보를 체결 대기 주문에 추가하는 상태 변경을 포함하며, 상기 체결 대기 주문 계정의 상기 자산 토큰의 보유량 및 상기 거래 토큰의 보유량의 상태 변경이 상기 자산 상태 트랜잭션 정보에 포함되는 것을 특징으로 할 수 있다.
또한, 상기 주문 트랜잭션 정보 생성 단계에서, 상기 자산 거래 장치가 상기 제2계정의 노드 유지를 확인하고, 상기 노드 유지가 확인되는 경우에 상기 주문 체결을 기초로 상기 주문 트랜잭션 정보를 생성하는 것을 특징으로 할 수 있다.
본 발명의 다른 목적은, 자산 거래 프로그램 코드, 자산 상태 블록체인 및 주문 블록체인을 저장하는 메모리 모듈; 및 상기 자산 거래 프로그램 코드를 처리하는 처리 모듈; 을 포함하고, 상기 자산 거래 프로그램 코드는, 특정 자산 토큰의 매매 수량에 대해 특정 거래 토큰의 특정 수량인 호가로 매도 또는 매수의 제1계정의 신규 주문 정보를 생성하는 신규 주문 정보 생성 단계; 생성된 상기 신규 주문 정보와 상기 주문 블록체인에 기저장된 제2계정의 체결 대기 주문 정보와의 주문 체결을 기초로 상기 주문 블록체인에 대한 트랜잭션 정보인 주문 트랜잭션 정보를 생성하는 주문 트랜잭션 정보 생성 단계; 및 상기 주문 트랜잭션 정보의 해시값, 상기 제1계정의 자산 상태 변경 정보 및 상기 제2계정의 자산 상태 변경 정보를 포함하여 상기 자산 상태 블록체인에 대한 트랜잭션 정보인 자산 상태 트랜잭션 정보를 생성하는 자산 상태 트랜잭션 정보 생성 단계;를 컴퓨터 상에서 수행시키는 프로그램 코드를 포함하며, 상기 자산 상태 변경 정보는 상기 제1계정 및 상기 제2계정을 포함하는 특정 계정의 상기 자산 토큰의 보유량 및 상기 거래 토큰의 보유량의 상태 변경에 관한 정보를 의미하며, 상기 제2계정의 상기 체결 대기 주문 정보는 상기 신규 주문 정보와 동일한 상기 특정 자산 토큰 및 상기 특정 거래 토큰의 동일한 수량에 관한 반대 주문인 주문 정보를 의미하고, 상기 주문 체결에 의한 상기 주문 트랜잭션 정보는 상기 신규 주문 정보의 상기 특정 자산 토큰의 매매 수량에 대응되는 상기 체결 대기 주문 정보의 상기 특정 자산 토큰의 수량을 삭제하는 상태 변경을 포함하며, 생성된 상기 주문 트랜잭션 정보를 상기 주문 블록체인에 기록 및 상기 주문 블록체인의 전체 분산 네트워크에 배포하고, 생성된 상기 자산 상태 트랜잭션 정보를 상기 자산 상태 블록체인에 기록 및 상기 자산 상태 블록체인의 전체 분산 네트워크에 배포하는 것을 특징으로 하는, 블록체인을 이용한 자산 거래 장치를 제공하여 달성될 수 있다.
상기한 바와 같이, 본 발명에 의하면 이하와 같은 효과가 있다.
첫째, 본 발명의 일실시예에 따르면, 모든 노드가 모든 자산의 데이터를 모두 구비해야할 필요 없이, 특정 노드에 대응되는 계정이 확보하고 있는 지분에 대해서만 자산의 데이터를 구비할 수 있게 되는 효과가 발생된다.
둘째, 본 발명의 일실시예에 따르면, 합의되지 않은 해당 자산의 추가 발행(예를 들어, 증자) 등이 불가능하여 자산에 대한 신뢰성이 확보되는 효과가 발생된다.
셋째, 본 발명의 일실시예에 따르면, 채굴이 없이도 노드가 유지될 수 있는 동인이 발생되는 효과가 있다.
넷째, 본 발명의 일실시예에 따르면, 자산의 유동화를 달성할 수 있게 되는 효과가 발생된다.
다섯째, 본 발명의 일실시예에 따르면, 지역에 관계 없이 자산 거래 서비스를 원활히 이용할 수 있게 되는 효과가 발생된다. 기존의 거래소 서비스는 각 지역에 데이터센터를 두지 않는 이상 지역별로 서비스 속도와 정확도에 큰 차이가 났었다.
여섯째, 본 발명의 일실시예에 따르면, 기존의 거래소 서비스의 마스터 DB와 레플리카 DB 사이의 갭에 의해 발생되던 오더 순서 문제, 오더 누락 문제 등이 블록체인을 이용하면서도 해결될 수 있는 효과가 발생된다.
본 명세서에 첨부되는 다음의 도면들은 본 발명의 바람직한 실시예를 예시하는 것이며, 발명의 상세한 설명과 함께 본 발명의 기술사상을 더욱 이해시키는 것이므로, 본 발명은 그러한 도면에 기재된 사항에만 한정되어 해석되어서는 아니 된다.
도 1은 본 발명의 일실시예에 따른 블록체인을 이용한 자산 거래 장치의 자산 유동화 개념을 도시한 모식도,
도 2는 본 발명의 일실시예에 따른 블록체인을 이용한 자산 거래 장치가 포함된 블록체인 분산 네트워크를 도시한 것,
도 3은 본 발명의 일실시예에 따른 자산 상태 트랜잭션 정보를 도시한 모식도,
도 4는 본 발명의 일실시예에 따른 주문 트랜잭션 정보를 도시한 모식도,
도 5는 주문 체결에 의한 자산 상태 변경 시, 본 발명의 일실시예에 따른 자산 상태 블록체인(100)의 상태 변경 흐름도를 도시한 모식도,
도 6은 체결 대기 주문 추가에 의한 자산 상태 변경 시, 본 발명의 일실시예에 따른 자산 상태 블록체인(100)의 상태 변경 흐름도를 도시한 모식도,
도 7은 본 발명의 일실시예에 따른 주문 블록체인(101)의 상태 변경 흐름도를 도시한 모식도,
도 8은 본 발명의 일실시예에 따른 자산 거래 장치(1)의 분산 네트워크를 도시한 모식도,
도 9는 본 발명의 일실시예에 따른 블록체인을 이용한 자산 거래 방법을 도시한 흐름도,
도 10은 본 발명의 일실시예에 따른 자산 거래 장치를 이용한 신규 자산 발행 및 공모 방법을 도시한 흐름도이다.
이하 첨부된 도면을 참조하여 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자가 본 발명을 쉽게 실시할 수 있는 실시예를 상세히 설명한다. 다만, 본 발명의 바람직한 실시예에 대한 동작원리를 상세하게 설명함에 있어서 관련된 공지기능 또는 구성에 대한 구체적인 설명이 본 발명의 요지를 불필요하게 흐릴 수 있다고 판단되는 경우에는 그 상세한 설명을 생략한다.
또한, 도면 전체에 걸쳐 유사한 기능 및 작용을 하는 부분에 대해서는 동일한 도면 부호를 사용한다. 명세서 전체에서, 특정 부분이 다른 부분과 연결되어 있다고 할 때, 이는 직접적으로 연결되어 있는 경우뿐만 아니라, 그 중간에 다른 소자를 사이에 두고, 간접적으로 연결되어 있는 경우도 포함한다. 또한, 특정 구성요소를 포함한다는 것은 특별히 반대되는 기재가 없는 한 다른 구성요소를 제외하는 것이 아니라, 다른 구성요소를 더 포함할 수 있는 것을 의미한다.
블록체인을 이용한 자산 거래 장치
도 1은 본 발명의 일실시예에 따른 블록체인을 이용한 자산 거래 장치의 자산 유동화 개념을 도시한 모식도이다. 도 1에 도시된 바와 같이, 본 발명의 일실시예에 따른 자산 거래 장치는 돈이나 주식과 채권 같은 금융자산, 적립 포인트, 지적 재산, 음악, 예술, 투표, 탄소 배출권 등의 자산에 대해 토큰(TKN, Token)을 이용한 자산의 유동화(일명 자산의 토큰화, Tokenization)를 달성할 수 있게 되는 효과가 발생된다. 이러한 자산의 토큰화를 통해 투자자들은 법적으로 규격화 된 자산의 일부만 보유하거나 거래하는 것이 가능해지고, 국가 간 거래 장벽이 제거될 수 있으며, 미들맨 없이 즉각적인 거래가 가능해지므로 유동성이 급격하게 향상되는 효과가 발생된다.
도 2는 본 발명의 일실시예에 따른 블록체인을 이용한 자산 거래 장치가 포함된 블록체인 분산 네트워크를 도시한 것이다. 도 2에 도시된 바와 같이, 본 발명의 일실시예에 따른 블록체인을 이용한 자산 거래 장치(1)는 분산 원장 장치로서 자산 상태 블록체인(100)의 분산 네트워크의 노드 중 하나, 주문 블록체인(101)의 분산 네트워크의 노드 중 하나 및 특정 자산에 대한 분산 스토리지(102)의 노드 중 하나를 의미할 수 있고, 통신 모듈(10), 처리 모듈(11), 메모리 모듈(12)을 포함할 수 있다.
블록체인 분산 네트워크는 블록체인의 분산 원장을 저장하고 있는 복수대의 노드로 구성된 P2P 분산 네트워크를 의미하고, 이는 자산 상태 블록체인(100)과 주문 블록체인(101)이 동일하다. 블록체인 분산 네트워크는 적어도 일부의 노드가 동일한 처리를 할 수 있도록 구성되기 때문에 일부의 노드가 Shut down 되거나 변조되더라도 시스템 전체에는 영향을 주지 않는 특징을 가진다. 노드는 블록체인 분산 네트워크에 연결된 모든 컴퓨팅 장치를 의미할 수 있다. 이러한 노드는 디지털 지갑, 블록체인 복사본, 검증 엔진, 채굴 엔진, P2P 네트워크 배포 기능(브로드캐스트) 등을 포함할 수 있으며, 조금 더 Light한 기능들로만 구성된 클라이언트들도 포함될 수 있다. 본 발명의 일실시예에 따른 블록체인 분산 네트워크는 Pure P2P와 슈퍼 노드(Super Node)를 포함하는 Hybrid P2P를 포함할 수 있다.
노드의 종류와 관련하여, 레퍼런스 클라이언트(Reference client)는 사용자들의 디지털 지갑 관리 모듈, 합의 알고리즘이 작업 증명(POW, Proof of Work)인 경우 블록 채굴(Block Mining)을 위한 마이닝 모듈(Mining Module), 전체 블록체인 중 전부 또는 적어도 일부의 블록을 저장하는 블록체인 데이터베이스(Blockchain Database), 트랜잭션(Transaction)을 블록체인 분산 네트워크에 브로드캐스트(Broadcast)하는 네트워크 라우팅 모듈(Network Routing Module)을 포함하는 노드를 의미할 수 있고, 예를 들어 Bitcoin Core의 Client 등을 의미할 수 있다. 풀노드(Full Node)는 블록체인 데이터베이스, 네트워크 라우팅 모듈을 포함하는 노드를 의미할 수 있다. 솔로 마이너 노드(Solo Miner Node)는, 마이닝 모듈, 블록체인 데이터베이스, 네트워크 라우팅 모듈을 포함하는 노드를 의미할 수 있다. 마이닝 노드(Mining Node)는, 마이닝 풀(Mining Pool)의 노드를 의미하는 풀 마이닝 노드(Pool Mining Node)에 연결되는 게이트웨이 라우터(Gateway Router)와 마이닝 모듈을 포함하는 가벼운 노드를 의미할 수 있다. 라이트웨이트 월렛 노드(Lightweight Wallet Node)는 일반적으로 블록체인의 헤더 정보만 저장하고, 디지털 지갑 관리 모듈을 보유하여 사용자의 디지털 지갑을 저장하며, 네트워크 라우팅 모듈을 포함하긴 하지만 블록체인 데이터베이스를 포함하지 않아 트랜잭션 생성이나 블록체인 분산 네트워크에 접근하기 위해서는 제3자가 소유한 서버에 의존하는 가벼운 노드를 의미할 수 있다. 자산 상태 블록체인(100)에 대해, 본 발명의 일실시예에 따른 자산 거래 장치(1)는 위의 노드들 중 적어도 블록체인 데이터베이스와 네트워크 라우팅 모듈을 포함하는 노드들을 의미할 수 있다. 퍼블릭 블록체인에 대해서 본 발명의 일실시예에 따른 자산 거래 장치(1)는 적어도 게이트웨이 라우터 모듈을 포함하는 노드들을 의미할 수 있다. 즉, 본 발명의 일실시예에 따른 자산 거래 장치(1)에는 자산 상태 블록체인(100) 및 주문 블록체인(101)이 메모리 모듈이 저장되거나, 적어도 자산 상태 블록체인(100) 및 주문 블록체인(101)이 메모리 모듈에 저장된 다른 노드와 연결되도록 구성될 수 있다.
자산 거래 장치(1)의 통신 모듈은 트랜잭션(Transaction)을 블록체인 분산 네트워크에 브로드캐스트(Broadcast)하는 네트워크 라우팅 모듈(Network Routing Module)이나 풀 마이닝 노드(Pool Mining Node)에 연결되는 게이트웨이 라우터(Gateway Router) 등을 의미할 수 있다.
자산 거래 장치(1)의 처리 모듈은 메모리 모듈에 저장된 분산 원장인 블록체인의 블록에 저장되어 있는 트랜잭션의 내용을 처리하는 모듈이다. 본 발명의 일실시예에 따른 처리 모듈은 Ethereum Virtual Machine과 같은 가상 머신(VM)으로 구성되어 자산 상태 블록체인(100)이나 주문 블록체인(101)의 스마트 컨트랙트(Smart Contract)를 처리하도록 구성될 수 있다. 이러한 가상 머신은 예를 들어, Mutan, LLL, Serpent, Solidity 등과 같은 상위 레벨 언어로 만들어진 코드(스마트 계약, Smart Contract)가 컴파일되어 생성되는 Byte Code를 실행하기 위한 Runtime이고, OPCODE 및 Stack 외에 Memory 및 Storage를 사용하는 주체이기도 하다.
자산 거래 장치(1)의 메모리 모듈은 분산 원장인 자산 상태 블록체인(100), 주문 블록체인(101) 및 자산 정보 분산 스토리지(102)를 저장하는 모듈로서, 전체 블록체인 중 전부 또는 일부의 블록을 저장하는 블록체인 데이터베이스(Blockchain Database)를 의미할 수 있다. 메모리 모듈은 전부 또는 일부의 블록체인을 저장할 수 있고, 각 블록 헤더에는 앞 블록 헤더의 해시 값(hash), 해답 값(nonce), 트랜잭션 그룹의 해시 값과 그 밖에 생성된 시간에 대한 정보인 Timestamp, 채굴 난이도를 의미하는 Difficulty, 블록의 넘버를 의미하는 Block Number 등이 포함될 수 있다. 각 블록 바디(Contents)에는 적어도 하나 이상의 트랜잭션 정보(특히, 본 발명의 일실시예에 따른 자산 상태 트랜잭션, 주문 트랜잭션)가 포함될 수 있다.
자산 상태 트랜잭션 정보와 관련하여, 도 3은 본 발명의 일실시예에 따른 자산 상태 트랜잭션 정보를 도시한 모식도이다. 도 3에 도시된 바와 같이, 자산 상태 트랜잭션 정보에는 체결 대기 주문 계정(기존 블록체인과 달리, 자산 상태 블록체인에는 체결 대기 주문 계정이 존재), 매수자 및 매도자의 계정 주소 정보, 자산 정보의 해시값(공시 데이터 등 자산 정보의 해시값으로 자산 정보 분산 스토리지의 주소값이 됨), 체결 정보(자산 토큰 수량, 가격을 의미하는 1 자산 토큰 당 거래 토큰 수량), 자산 상태 정보(매수자의 자산 토큰 보유량 상태 정보, 매도자의 자산 토큰 보유량 상태정보), 주문 트랜잭션 정보의 해시값 등을 포함할 수 있다. 자산 상태 트랜잭션 정보를 블록에 저장하고 실행하게 되면, 이러한 매수자 및 매도자의 계정 주소 정보, 자산 정보, 체결 정보, 자산 상태 정보, 주문 트랜잭션 정보의 해시값 등을 매수자 및 매도자 계정의 스토리지(Storage)나 메모리(memory) 내에 포함하는 등의 방법으로 블록에 저장할 수 있다. 본 발명의 일실시예에 따른 매수자 및 매도자의 계정 주소 정보는 매수자 및 매도자의 자산 상태 블록체인(100)에 대한 공개키, 자산 정보의 해시값은 공시 데이터 등 자산 정보의 해시값으로 자산 정보 분산 스토리지의 주소값, 체결 정보는 예를 들어, A 회사의 유통주식에 대응되는 A 토큰에 대해 체결된 자산 토큰 수량, 1 A 토큰 당 체결된 가격을 의미하는 1 자산 토큰 당 거래 토큰 수량), 자산 상태 정보는 주문 체결에 의해 상태 변경된 매수자의 자산 토큰 보유량 상태 정보 또는 매도자의 자산 토큰 보유량 상태 정보, 주문 트랜잭션 정보의 해시값은 주문 체결에 의해 생성된 신규 주문 트랜잭션 정보의 해시값을 의미할 수 있다.
이때, 본 발명의 일실시예에 따른 거래 토큰은 이더리움(ETH)와 같은 퍼블릭 블록체인의 코인일수도 있고, 법정화폐와 테더링 된 USDT와 같은 테더 토큰일수도 있다. 나아가, 거래 토큰은 다른 자산 토큰으로 구성될수도 있다. 본 발명의 일실시예에 따른 자산 토큰은 예를 들어, 삼성전자의 유통주식에 대응되는 토큰, 역삼동 GFC 빌딩의 유통자산에 대응되는 토큰 등이 될 수 있다.
주문 체결에 의한 자산 상태 변경이 아닌 체결 대기 주문 추가에 의한 자산 상태 변경의 경우, 체결 대기 주문 계정 주소 정보가 자산 상태 트랜잭션 정보에 추가될 수 있다. 즉, 본 발명의 일실시예에 따르면 자산 상태 블록체인(100)에 체결 대기 주문 계정이 구성될 수 있고, 체결 대기 주문 추가에 의한 자산 상태 변경의 경우 자산 상태 블록체인의 체결 대기 주문 계정이 자산 토큰 또는 거래 토큰의 수신자가 되어 자산 상태 변경을 수행할 수 있다. 이에 따르면, 중복 주문이 방지되어 주문 정보의 무결성이 확부되는 효과가 발생된다.
주문 트랜잭션 정보와 관련하여, 도 4는 본 발명의 일실시예에 따른 주문 트랜잭션 정보를 도시한 모식도이다. 도 4에 도시된 바와 같이, 주문 트랜잭션 정보는 특정 자산에 대해 체결 대기 중인 주문의 정보를 의미하고, 주문 트랜잭션 정보에는 복수개의 주문 정보가 포함되며, 주문 정보에는 특정 자산의 계정 주소 정보(기존 블록체인과 달리, 주문 블록체인에는 각 자산에 대한 계정인 자산 계정이 구성될 수 있음), 매수자 또는 매도자의 계정 주소 정보, 자산 정보의 해시값, 자산 토큰 수량, 가격을 의미하는 1 자산 토큰 당 거래 토큰 수량, 주문 분류(매도 주문인지, 매수 주문인지) 등이 포함될 수 있다. 본 발명의 일실시예에 따른 복수개의 주문 정보는 도 4에 도시된 바와 같이, 주문 정보 1~n 으로 구성될 수 있다. 또한, 도 4의 우측 상단의 호가창 예시에 도시된 바와 같이, 본 발명의 일실시예에 따른 복수개의 주문 정보는 매도자나 매수자 클라이언트에서 호가창으로 표시될 수 있다.
주문 트랜잭션 정보는 주문 블록체인(101)에 기록되고, 특정 자산에 대한 주문 블록체인(101)은 해당 자산 토큰을 보유 중인 계정의 자산 거래 장치(1)에 구성될 수 있다. 특히, 해당 자산 토큰을 보유하고 있지 않은 매수자 계정의 자산 거래 장치(1)가 해당 자산 토큰에 대한 매수 주문을 분산 네트워크에 송신하는 경우에는, 해당 자산 토큰을 보유하고 있지 않은 매수자 계정의 자산 거래 장치(1)가 Light-weight node와 같이 해당 자산 토큰에 대한 주문 블록체인(101)을 보유하지 않으면서, 해당 자산에 대한 주문 블록체인(101)을 보유하고 있는 다른 계정의 자산 거래 장치(1)를 이용하여 주문을 분산 네트워크에 송신하도록 구성될 수 있다.
자산 상태 블록체인(100)은, 자산 거래 장치(1)의 메모리 모듈(12)에 저장되어 매수자 또는 매도자의 자산 상태 변경을 기록하는 블록체인이다. 주문 블록체인(101)에 기록된 매도 주문 또는 매수 주문에 대해 거래가 체결(주문 체결에 의한 자산 상태 변경)되는 경우, 해당 주문 트랜잭션의 해시값과 함께 매수자와 매도자 사이의 자산 상태 변경를 자산 상태 트랜잭션의 형태로 기록하게 된다. 도 5는 주문 체결에 의한 자산 상태 변경 시, 본 발명의 일실시예에 따른 자산 상태 블록체인(100)의 상태 변경 흐름도를 도시한 모식도이다. 도 5에 도시된 바와 같이, 본 발명의 일실시예에 따른 자산 상태 블록체인(100)은 주문 블록체인(101)에서 체결이 확정된 트랜잭션이 발생하는 경우에 자산 거래 장치(1)에 의해 생성되는 자산 상태 트랜잭션을 기록하는 블록체인인 것이다. 이때 매수자 또는 매도자의 자산 상태 변경은 자산 토큰의 상태 변경 및 거래 토큰의 상태 변경을 포함할 수 있다. 도 5에 도시된 바와 같이, 자산 상태 블록체인(100)에 자산 상태 트랜잭션 정보가 기록되기 위하여 먼저, 자산 거래 장치(1)에서 특정 매도/매수 주문에 의한 자산 상태의 변경에 관한 트랜잭션인 자산 상태 트랜잭션 정보를 생성하게 된다(도 5의 1 단계). 예를 들어, 매도자가 특정 자산 토큰 100개를 매수자에게 거래 토큰 100개/1 자산 토큰의 가격으로 매매한 경우, 매도자 계정에서 자산 토큰 -100, 거래 토큰 +10000, 매수자 계정에서 자산 토큰 +100, 거래 토큰 -10000으로 자산 상태 트랜잭션 정보가 생성될 수 있다. 도 5의 2 단계를 참고하면, 블록(예를 들어, 128182번째 블록)이 생성되고, 생성된 블록에 해당 자산 상태 트랜잭션 정보가 추가될 수 있다. 하나의 블록에는 여러개의 자산 상태 트랜잭션 정보가 포함될 수 있다. 도 5의 3단계를 참고하면, 생성된 블록은 다른 노드들(다른 계정들의 자산 거래 장치들)에 의해 검증 또는 합의될 수 있으며, 검증 또는 합의 된 블록은 자산 상태 블록체인(100)에 추가(chaining)되어 전체 분산 네트워크에 배포될 수 있다.
주문 체결에 의한 자산 상태 변경이 아닌 체결 대기 주문 추가에 의한 자산 상태 변경의 경우와 관련하여, 도 6은 체결 대기 주문 추가에 의한 자산 상태 변경 시, 본 발명의 일실시예에 따른 자산 상태 블록체인(100)의 상태 변경 흐름도를 도시한 모식도이다. 도 6에 도시된 바와 같이, 본 발명의 일실시예에 따른 자산 상태 블록체인(100)은 주문 블록체인(101)에서 체결 대기 주문의 추가에 의한 주문 정보의 상태 변경 관련 트랜잭션이 발생하는 경우에 자산 거래 장치(1)에 의해 생성되는 자산 상태 트랜잭션을 기록하도록 구성될 수 있다. 이때 매수자 또는 매도자의 자산 상태 변경은 자산 토큰의 상태 변경 또는 거래 토큰의 상태 변경을 포함할 수 있고, 체결 대기 주문 계정의 자산 상태 변경을 포함할 수 있다. 도 6에 도시된 바와 같이, 매도자 계정에서 자산 토큰 100개를 매도하는 주문에 대해 체결 대기 주문의 추가에 관한 주문 트랜잭션 정보가 발생하는 경우, 자산 거래 장치(1)는 매도자 계정에서 자산 토큰을 -100개 하는 상태 변경, 체결 대기 주문 계정에서 자산 토큰을 +100개 하는 상태 변경에 관한 자산 상태 트랜잭션 정보를 생성, 기록 및 배포할 수 있다. 이에 따르면, 이에 따르면, 중복 주문이 방지되어 주문 정보의 무결성이 확부되는 효과가 발생된다.
주문 블록체인(101)은, 특정 자산 토큰에 따라 별도로 자산 계정이 구성될 수 있고, 특정 자산 토큰을 보유 중인 계정의 자산 거래 장치(1)의 메모리 모듈(12)에 저장되어 해당 자산 토큰에 대한 매수자 또는 매도자의 주문을 기록하는 블록체인이다. 도 7은 본 발명의 일실시예에 따른 주문 블록체인(101)의 상태 변경 흐름도를 도시한 모식도이다. 도 7의 1 단계를 참고하면, 특정 자산 계정에 대해 특정 매수자 계정/매도자 계정의 주문 정보(몇 개의 자산 토큰을 몇 개의 거래 토큰으로 매매할 것인지)를 생성할 수 있다. 이후, 도 7의 2 단계와 같이, 해당 주문 정보에 의해 기존의 복수개의 주문 정보의 그룹인 전체 주문 호가에 상태 변경가 발생되고, 이에 따른 전체 주문 호가의 상태 변경를 주문 트랜잭션 정보로 생성할 수 있다. 도 7의 2 단계에서는 A 자산 계정에 대해 10,000개의 거래 토큰의 가격으로 100개의 자산 토큰을 매수하겠다는 사용자 a 계정의 매수 주문에 의해, 호가 10,000개의 거래 토큰의 가격에 100개의 A 자산 토큰에 대한 매수 주문이 추가(상태 변경)된 것을 확인할 수 있다. 즉, 본 발명의 일실시예에 따른 주문 트랜잭션 정보는 특정 자산 계정에 대한 복수개의 주문 정보를 포함할 수 있다. 이후, 도 7의 3 단계를 참고하면, 블록(예를 들어, 128182번째 블록)이 생성되고, 생성된 블록에 해당 주문 트랜잭션 정보가 추가될 수 있다. 하나의 블록에는 여러개의 주문 트랜잭션 정보가 포함될 수 있다. 도 7의 4단계를 참고하면, 생성된 블록은 다른 노드들(다른 계정들의 자산 거래 장치들)에 의해 검증 또는 합의될 수 있으며, 검증 또는 합의 된 블록은 주문 블록체인(101)에 추가(chaining)되어 전체 분산 네트워크에 배포될 수 있다.
주문 블록체인(101)에 자산 계정이 구성되는 것 및 하나의 자산 토큰에 대한 복수개의 주문 정보가 하나의 주문 트랜잭션 정보를 구성하는 것에 의해, 기존의 거래소 데이터 구조나 기존의 블록체인 구조보다 훨씬 복잡도가 낮아지며, 주문 누락의 가능성이 최소화되는 효과가 발생된다. 기존의 거래소 데이터 구조나 기존의 블록체인 구조를 따르면 각 주문 별로 별도의 트랜잭션을 생성하고 이를 업데이트 하게 되는데, 이러한 방식을 블록체인에 그대로 적용했을 때는 상당한 부하가 발생되며, 주문의 체결에 의해 체결 대기 중인 주문의 상태변경을 하는 것이 불가능해진다. 즉, 기존의 거래소 데이터 구조나 기존의 블록체인 구조를 따르면 본 발명과 같은 효율적인 자산 거래 시스템을 구축하는 것이 거의 불가능하였다. 기존의 거래소 시스템은 주문 정보를 하나 하나 밀어 넣는 마스터 큐 모듈, 주문의 체결을 위한 매칭 엔진 모듈, 호가창을 출력하는 마켓 모듈을 포함하는데, 데이터의 무결성의 관점에서 이러한 거래소 시스템의 서버가 죽어버리거나 알고리즘 상의 문제가 발생되면 특정 주문 정보가 처리되지 않는 문제점들이 있었다. 이러한 문제는 성능이 좋은 기존의 거래소 시스템에서도 발생하는 것들이었는데, 기존의 블록체인 구조로는 이러한 문제를 해결하는 것이 매우 난이도 높고 도전적인 과제였다. 본 발명의 일실시예에 따르면, 거래되는 자산을 블록체인 상의 토큰으로 토큰화 하여 자산 토큰을 이용하고, 주문 블록체인에서 해당 자산에 대해 체결 대기 중인 복수개의 주문 정보를 통합한 주문 트랜잭션 정보를 이용하며, 주문 트랜잭션 정보의 상태 변경을 업데이트 하면서 주문을 처리해나가기 때문에 기존의 거래소 시스템보다 개개 노드의 성능이 좋지 않을 가능성이 높은 블록체인 시스템에서 원활한 자산 거래 서비스가 가능하게 되는 효과가 발생된다.
또한, 자산 상태 블록체인(100)과 주문 블록체인(101)이 별도로 구성되는 것에 의해 자산의 보유와 거래가 별개로 수행될 수 있으며, 자산을 보유하는 유저의 노드는 반드시 주문 블록체인을 보유할 필요가 없어지기 때문에 노드가 가벼워지는 효과가 발생된다. 자산을 보유하는 유저가 거래를 시작할 때 다른 노드로부터 주문 블록체인을 다운로드 받도록 구성될 수 있다.
특히, 본 발명의 일실시예에 따른 자산 거래 장치(1)는 자산 토큰을 보유하는 경우에만 주문 블록체인(101)을 포함하도록 구성될 수 있다. 자산 토큰을 보유하고 있지 않은 매수자 계정의 자산 거래 장치(1)가 특정 자산 토큰에 대한 매수 주문을 분산 네트워크에 송신하는 경우에는, 자산 토큰을 보유하고 있지 않은 매수자 계정의 자산 거래 장치(1)가 Light-weight node와 같이 자산 토큰에 대한 주문 블록체인(101)을 보유하지 않으면서, 자산 토큰에 대한 주문 블록체인(101)을 보유하고 있는 다른 계정의 자산 거래 장치(1)를 이용하여 주문을 분산 네트워크에 송신하도록 구성될 수 있다. 도 8은 본 발명의 일실시예에 따른 자산 거래 장치(1)의 분산 네트워크를 도시한 모식도이다. 도 8에 도시된 바와 같이, 자산 토큰을 보유하지 않은 매수자 계정의 자산 거래 장치(1)는 주문 블록체인(101)을 보유하지 않으면서, 자산 토큰을 보유하여 주문 블록체인(101)이 구성된 매도자 계정의 자산 거래 장치(1)에 주문 정보를 송신하고 해당 매도자 계정의 자산 거래 장치(1)를 통하여 주문 블록체인(101)의 분산 네트워크에 주문 트랜잭션 정보를 배포할 수 있다. 이에 따르면, 분산 네트워크를 구성하는 노드인 모든 자산 거래 장치(1)가 모두 주문 블록체인(101)을 보유할 필요가 없어지므로, 자산 거래 장치(1)의 크기가 가벼워지고 클라이언트에 메모리 및 통신 부하가 저감되는 효과가 발생된다.
또한, 본 발명의 다른 실시예에 따르면, 자산 별 별도의 주문 블록체인(101)이 구성될 수 있다. 이 경우, 특정 자산 토큰을 보유하고 있는 계정의 자산 거래 장치(1)에 해당 자산 토큰에 대한 주문 블록체인(101)이 구성될 수 있다. A 자산 토큰을 보유하고 있지 않은 매수자 계정의 자산 거래 장치(1)가 A 자산 토큰에 대한 매수 주문을 분산 네트워크에 송신하는 경우에는, A 자산 토큰을 보유하고 있지 않은 매수자 계정의 자산 거래 장치(1)가 Light-weight node와 같이 A 자산 토큰에 대한 주문 블록체인(101)을 보유하지 않으면서, A 자산 토큰에 대한 주문 블록체인(101)을 보유하고 있는 다른 계정의 자산 거래 장치(1)를 이용하여 주문을 분산 네트워크에 송신하도록 구성될 수 있다. 이에 따르면, 분산 네트워크를 구성하는 노드인 모든 자산 거래 장치(1)가 모든 자산 토큰에 대한 주문 블록체인(101)을 보유할 필요가 없어지므로, 자산 거래 장치(1)의 크기가 가벼워지고 클라이언트에 메모리 및 통신 부하가 저감되는 효과가 발생된다. 또한, 본 발명의 다른 실시예에 따라 자산 별로 별도의 주문 블록체인(101)이 구성되는 경우, 특정 자산 토큰을 보유한 경우에만 특정 자산에 대한 주문 블록체인을 보유할 필요가 발생하게 되므로, 노드의 크기가 매우 가벼워지는 효과가 발생된다. 게다가, 이에 따르면, 최대한 모든 거래가 분산화 되므로, 모든 자산 토큰의 유동성, 유연성이 향상될 수 있다.
또한, 본 발명의 일실시예에 따르면, 체결 대기 중인 매수/매도 주문을 송신한 계정의 자산 거래 장치(1)가 노드를 유지해야 동호가 반대 주문이 발생하였을 때 주문이 체결될 수 있도록 구성될 수 있다. 이를 위하여, 자산 거래 장치(1)는 주문 트랜잭션 정보에서 특정 주문 정보를 대응되는 체결 대기 중인 주문 정보와 주문 체결 처리하기 전에 해당 체결 대기 중인 주문 정보의 해당 계정의 자산 거래 장치(1)가 노드를 유지하고 있는지 확인할 수 있다. 즉, 본 발명의 일실시예에 따르면, 동호가 체결 대기 주문의 계정의 자산 거래 장치(1)가 분산 네트워크에 온라인으로 노드를 유지하는 것이 확인되는 경우에는 주문 체결을 진행하여 주문 트랜잭션 정보를 생성하고, 노드 유지가 확인되지 않는 경우에는 해당 체결 대기 주문과의 주문 체결을 진행하지 않는 것을 특징으로 할 수 있다. 이에 따르면, 별도의 보상 없이도 자산 상태 블록체인(100), 주문 블록체인(101), 자산 정보 분산 스토리지(102)의 노드 유지의 동인이 발생되는 효과가 있다. 이때, 노드 역할을 수행하지 않던 자산 거래 장치(1)가 특정 자산에 대한 주문 송신으로 노드 역할을 수행하게 되는 경우, 다른 계정의 자산 거래 장치(1)로부터 최신의 자산 상태 블록체인(100), 주문 블록체인(101), 자산 정보 분산 스토리지(102)를 업데이트 받을 수 있다.
특히, 자산 거래 장치(1)는 특정 자산 토큰의 특정 가격(거래 토큰의 수량)에 대해 매도/매수 주문이 입력되는 경우, 주문 트랜잭션 정보를 생성하기 전에 자산 상태 블록체인(100)에서 아래의 유효성 조건을 선행적으로 확인하도록 구성될 수 있다.
1) 매도 주문의 경우 해당 자산 토큰을 주문 수량 만큼 보유하고 있는지
2) 매수 주문의 경우 해당 거래 토큰을 주문 수량 만큼 보유하고 있는지
위 두 가지 유효성 조건 중 어느 하나가 만족되지 않으면 자산 거래 장치(1)는 매도자/매수자의 주문을 거부하고 주문 트랜잭션 정보를 생성하지 않게 된다. 위 두 가지 조건 중 적어도 하나가 만족되는 경우 자산 거래 장치(1)는 매도자/매수자의 주문을 승인하고 주문 정보를 생성한 뒤, 매도자/매수자의 비밀키로 전자서명된 매도 주문 트랜잭션 정보를 생성하여 주문 블록체인(101)에 배포 및 기록하게 된다. 이에 따라, 합의되지 않은 해당 자산 토큰의 추가 발행(예를 들어, 증자) 등이 불가능하여 자산 토큰에 대한 신뢰성이 확보되는 효과가 발생된다(오라클의 달성).
이때, 해당 주문 정보에 의해 특정 호가에 체결 대기 주문을 더 추가하게 되는 주문 정보의 상태 변경은 그대로 주문 정보를 추가하여 주문 트랜잭션 정보를 생성하게 된다. 하지만, 해당 주문 정보에 의해 특정 호가에 체결 대기 주문을 체결하여 상계하는 주문 정보의 상태 변경이 발생되는 경우, 먼저 체결 대기 주문의 계정의 자산 거래 장치(1)가 온라인(노드 유지 중)인지를 판정한 뒤, 해당 자산 거래 장치(1)가 노드 유지 중이라면 체결 대기 주문을 체결하여 상계하는 주문 정보의 상태 변경에 대해 주문 트랜잭션 정보를 생성하고, 해당 자산 거래 장치(1)가 노드 유지 중이 아니라면 해당 체결 대기 주문에 대한 주문 체결은 보류하는 주문 트랜잭션 정보를 생성하게 된다.
결국, 주문 블록체인(101)은 자산 거래 장치(1)에 의해 체결 대기 중인 적어도 하나 이상의 매도 또는 매수의 주문 정보의 상태 변경(호가창의 변경)을 기록하게 된다. 새로운 주문 정보가 입력되면 해당 계정의 자산 거래 장치(1)가 해당 주문 정보의 유효성 조건의 만족 여부를 판정한 뒤, 새로운 주문 정보를 체결 대기 중인 주문 정보에 추가할 지 또는 새로운 주문 정보를 상기 새로운 주문 정보에 대응되는 체결 대기 중인 주문 정보와 상계할 지를 결정하게 된다. 위와 같은 새로운 주문 정보의 처리 방법은 해당 계정의 자산 거래 장치(1)가 새로운 주문 정보의 체결 대기 중인 주문 정보에의 대응 여부를 판정하여 진행된다. 해당 계정의 자산 거래 장치(1)가 새로운 주문 정보의 처리 방법을 결정한 뒤에 주문 정보를 업데이트하여 주문 정보의 상태 변경에 대한 주문 트랜잭션 정보를 생성하게 된다. 생성된 주문 트랜잭션 정보는 해당 계정의 비밀키(또는, 자산 토큰을 보유하고 있지 않아서 매도자 계정의 자산 거래 장치를 노드로 이용하는 매수자 계정의 비밀키)로 서명되어 자산 거래 장치(1)의 주문 블록체인(101)에 기록되고, 해당 계정의 자산 거래 장치(1)에 의해 전체 분산 네트워크로 배포된다.
또한, 주문 블록체인(101)은 각각의 자산 토큰에 대해 별개로 구성될 수 있고, 특정 자산 토큰에 대한 주문 블록체인(101)은 해당 자산 토큰을 보유하고 있는 계정의 자산 거래 장치(1)에 구성될 수 있다. 즉, 해당 자산 토큰을 보유하고 있는 계정의 자산 거래 장치(1)가 해당 자산 토큰에 대한 주문 블록체인(101)의 노드 역할을 수행할 수 있다. 특정 자산 토큰을 거래하는 매수자가 해당 자산 토큰을 보유하고 있지 않은 경우 상기 매수자의 계정의 자산 거래 장치(1)에는 해당 자산 토큰에 대한 주문 블록체인(101)이 없으므로, 매도자 계정의 자산 거래 장치(1)를 노드로 이용하여 주문 트랜잭션 정보를 생성할 수 있다. 이 경우, 주문 트랜잭션 정보의 서명은 매수자 계정의 비밀키 또는 매수자 계정 및 매도자 계정의 비밀키가 이용될 수 있다.
자산 상태 블록체인(100)과 주문 블록체인(101)은 기존의 블록체인과 동일한 POW(Proof of work) 방식, POS(Proof of stake) 방식, BFT(Byzantine Fault Tolerance) 방식 등이 활용될 수 있다.
본 발명의 일실시예에 따라 자산 상태 블록체인(100)과 주문 블록체인(101)이 별도로 존재하게 되는 경우, 주문도 트랜잭션의 형태로 기록되게 되므로 매도 주문과 매수 주문의 체결 순서가 확정 된 뒤에 거래 체결이 진행되어 자산 거래의 신뢰성이 더 확보되게 되는 효과가 발생된다. 기존의 블록체인 기술에 따르면, 각 노드별로 트랜잭션 생성의 time stamp가 달라지는 문제가 발생되기 때문에 각 노드별로 주문의 순서가 상이할 수 있어서 자산 거래의 신뢰성을 확보하기 문제가 있었다.
또한, 본 발명의 일실시예에 따라 자산 상태 블록체인(100)과 주문 블록체인(101)이 별도로 존재하게 되고, 특히 주문 블록체인(101)은 체결 대기 중인 주문 정보의 상태 변경을 저장하는 블록체인으로서 각 자산 별로 계정이 각각 구성되거나 블록체인 자체가 각각 구성되게 되는 경우, 거래 토큰의 수량(가격)이 동일한 동호가 주문에 대해 거래하려는 수량(특정 자산 토큰의 수량)이 상호 상이하더라도 주문 체결이 가능해지는 효과가 발생된다. 기존의 블록체인 기술을 이용하여 탈중앙화 거래소를 개발하는 경우, 각각의 주문들이 별개의 트랜잭션을 구성하게 되므로 분할하여 거래하는 것이 기술적으로 어려운 문제가 있었다. 따라서, 기존의 블록체인 기술에 따르면, 예를 들어, A 회사의 주식 토큰에 대해 a 계정이 "100원에 100주"라는 매도 주문을 업로드 하였을 때, 매수 의사가 있는 b 계정은 동호가에 동수량을 구매할 수 밖에 없었다.
자산 상태 블록체인(100) 및 주문 블록체인(101)에 저장되는 스마트 계약(Smart Contract)는 자산 상태 트랜잭션 및 주문 트랜잭션의 검증, 기록, 배포 등을 수행할 수 있다. 이러한 스마트 계약의 Code는 예를 들어, Ethereum 의 경우, Solidity, Serpent, LLL, Mutan의 언어로 쓰여질 수 있는데, 현재는 Solidity가 주로 사용되고 있으며 문법은 JavaScript와 유사하다. Smart Contract 는 "변수", "구조체" 및 "함수"를 포함하여 처리 모듈(11)에 의해 처리되는 프로그램 코드이다. 이러한 Smart Contract Code 는 Compile 과정을 거쳐 Byte Code로 변환된다. Byte code는 Solidity Realtime Compiler를 통해 컴파일된다. Solidity의 Byte code는 모두 16진수로 된 코드이며, Solidity에서 이 Byte code를 수신 주소 없이 Payload (data: ) 로 할당하여 Blockchain에 Transaction을 배포하면, Miner에 의해 Block이 생성되고, 이러한 Transaction은 Contract Creation Transaction으로 간주되어, Transaction Receipt의 contractAddress: 필드에 생성(배포)된 Contract의 주소를 넣어서 리턴해주게 된다.
Smart Contract 개발환경은 개발도구와 Compiler 까지를 포함한 범위를 포함할 수 있다. 예를 들어, Solidity의 경우, Code를 작성하고 컴파일하면 모든 컴파일러는 [Byte Code] 와 [Function Signature], [ABI]를 출력하게 된다.
Byte Code는 이미 위에서 설명한 것과 같이, Smart Contract Code를 컴파일 한 결과이며, Blockchain에 Contract Creation Transaction을 발생시켜 배포하는 경우, Contract로의 Message Tx(Transaction의 줄임말)이 발생되는 경우, Contract로의 Call/Query가 발생되는 경우를 통해 KYC 노드(400, 이더리움의 경우 EVM) 위에서 실행된다.
Function Signature는 Contract 내의 함수 이름의 SHA3 한 Hash 값의 4바이트 값으로, Contract의 함수를 실행시킬 때 Transaction의 to: 주소에는 Contract Address를, data: 부분에는 이 method signature 4바이트와 함께 파라미터 값이 payload 로 들어간다.
ABI(Application Binary Interface)는 특정 언어나 플랫폼에 종속되지 않은 방식으로 기술된 Application Interface를 의미한다. ABI 정의를 컴파일러 혹은 ABI Generator가 출력해내는데, ABI 에는 Smart Contract의 함수와 Parameter에 대한 Meta data가 정의되어있다. ABI 를 갖고 JavaScript 언어 기반의 어플리케이션을 만들 때 객체를 만들게 할 수 있고, 쉽게 그 객체의 Method를 호출하는것 만으로 Contract의 함수가 호출되도록 할 수 있는 것이다. 현재 Ethereum 은 web3.js와 함께 JavaScript 응용에서 쉽게 ABI 로 객체를 만들어 사용하도록 지원하며, 1.4.0 이후의 go-ethereum 에서는 Go Native 언어 기반의 응용에서 Smart Contract 를 쉽게 Binding 가능하도록, ABI 기반으로 Go Code를 생성해주는 ABIGen을 제공하고 있다.
이러한 Smart Contract 개발 환경은 Blockchain Engine과 연결되어 Contract Creation/Deployment, Message Tx, Call/Query를 전달할 수 있는데, 이러한 Blockchain Engine은 본 발명의 일실시예에 따른 자산 거래 장치(1)를 의미하고, 이더리움의 예에서는 geth나 parity, eth와 같은 Ethereum Node를 의미한다. 결국 모든 Smart Contract 와 관련한 Transaction 처리와 Contract 실행을 위한 EVM과 같은 가상 머신은 자산 거래 장치(1)와 같은 Node 위에 구성되어 있다.
이러한 Smart Contract 개발 환경에서 ABI는 Applications와 연결될 수 있다. Smart Contract는 Logic만을 갖고 있고, 사용자나 외부 시스템과의 상호작용을 위해서는 Application이 필요하다. HTML+CSS+JavaScript, Application Server, Wallet 등의 Application은 예를 들어, Ethereum과의 Interface를 통해 Smart Contract와 상호작용하는 구성이다. Smart Contract Code는 크게 [Creation/Deployment] [Invoke by Message] [Call]로 구분될 수 있다. 본 발명의 일실시예에 따라 자산 상태 블록체인(100)에서 특정 계정 주소가 인덱싱 되는 경우 Call이 이용될 수 있고, 특정 계정 주소에 대한 자산 상태 정보가 상태 변경되는 경우 Message Tx이 이용될 수 있다.
자산 정보 분산 스토리지(102)는, 자산 거래 장치(1)의 메모리 모듈(12)에 저장되어 특정 자산의 정보에 대해 분산 스토리지이다. 즉, 자산 정보 분산 스토리지(102)는 자산 정보를 동일한 파일 시스템으로 연결하기 위한 P2P 분산 파일 시스템을 의미할 수 있다. 본 발명의 일실시예에 따른 자산 정보는 특정 자산의 카테고리(돈이나 주식과 채권 같은 금융자산, 적립 포인트, 지적 재산, 음악, 예술, 투표, 탄소 배출권 등), 해당 자산의 등기부등본 등 행정 정보, 해당 자산의 공시자료 등을 의미할 수 있다.
특히, 본 발명의 일실시예에 따른 자산 정보 분산 스토리지(102)는 자산 정보의 해시값을 주소값으로 이용한다. 본 발명의 일실시예에 따라 자산 정보의 해시값을 자산 정보의 주소값으로 이용하는 경우, 특정 자산 거래 장치(1)가 특정 자산의 자산 정보를 조회할 때 자산 정보 분산 스토리지(102)의 전체 네트워크에 자산 정보의 해시값을 이용하여 인덱싱하게 되므로 HTTP 보다 더 빠른 라우팅이 가능해지는 효과가 발생된다. 또한, 본 발명의 일실시예에 따라 자산 정보의 해시값을 자산 정보의 주소값으로 이용하는 경우, 각 자산 정보별로 단 하나의 주소값이 존재하게 되므로 복수개의 자산 거래 장치(1)에 대해 동일한 주소값으로 이용될 수 있는 효과가 발생된다.
또한, 본 발명의 일실시예에 따른 자산 정보 분산 스토리지(102)는 각각의 자산 정보가 해당 자산 토큰의 적어도 일부 지분을 보유하고 있는 계정의 자산 거래 장치(1)에 분산 저장 되도록 구성될 수 있다. 예를 들어, 토큰화 된 A 회사의 유통주식 중 적어도 일부를 투자자 a, 투자자 b, 투자자 c가 각각 보유하고 있는 경우, 투자자 a의 계정, 투자자 b의 계정, 투자자 c의 계정의 각 자산 거래 장치(1)에 A 회사의 자산 정보가 분산 저장되어 자산 정보 분산 스토리지(102)를 구성할 수 있다. 이에 따르면, 모든 노드가 모든 자산의 데이터를 모두 구비해야할 필요 없이, 특정 노드에 대응되는 계정이 확보하고 있는 지분에 대해서만 자산의 데이터를 구비할 수 있게 되는 효과가 발생된다. 또한, 별도의 채굴에 의한 토큰 보상 없이도 매도자 계정이 해당 자산 토큰을 매도하기 위해서는 자산 정보 분산 스토리지(102)의 시딩(seeding)을 유지하여야 하므로, 노드인 자산 거래 장치(1)의 유지가 자연스럽게 이루어지는 효과가 발생된다.
예를 들어, a 계정이 토큰화 된 A 회사의 유통주식(A 자산 토큰) 중 0.15%인 1.5 주를 보유하고 있다면 a 계정의 자산 거래 장치(1)의 자산 정보 분산 스토리지(102)에 A 회사의 전체 자산 정보의 적어도 일부에 해당하는 자산 정보가 자산 정보의 해시값을 자산 정보의 주소값으로 하여 저장되게 된다. a 계정이 b 계정에 A 자산 토큰 전부 또는 일부를 매도하는 경우, a 계정의 자산 거래 장치(1)의 자산 정보 분산 스토리지(102)에 저장되어 있던 A 회사의 자산 정보의 전부 또는 일부가 b 계정의 자산 거래 장치(1)의 자산 정보 분산 스토리지(102)에 송신되게 된다. 또한, b 계정이 A 회사의 공시자료를 검토하기 위하여 자산 정보를 요청하는 경우, 매도자 계정인 a 계정의 자산 거래 장치(1)의 자산 정보 분산 스토리지(102)가 시드(seed) 역할을 수행하여 A 회사의 자산 정보를 b 계정의 자산 거래 장치(1)로 송신할 수 있다.
본 발명의 일실시예에 따라 자산 상태 블록체인(100)과 자산 정보 분산 스토리지(102)가 분리되어 존재하게 되고, 자산 정보 분산 스토리지(102)는 해당 자산 토큰을 보유 중인 계정의 노드에 구성되게 되는 경우, 모든 노드가 모든 자산의 데이터를 모두 구비해야할 필요 없이, 특정 노드에 대응되는 계정이 확보하고 있는 특정 자산 토큰의 지분에 대해서만 자산의 데이터를 구비할 수 있게 되는 효과가 발생된다. 또한, 자산의 매도나 매수를 위해서는 자산 정보 분산 스토리지를 유지해야 하므로, 채굴이 없이도 노드가 유지될 수 있는 동인이 발생되는 효과가 있다.
본 발명의 일실시예에 따른 자산 정보 분산 스토리지(102)의 프로토콜 예시는 다음과 같다.
Identity는 자산 정보 분산 스토리지(102)의 노드의 ID 생성 및 검증을 관리하는데 이용되는 프로토콜이다. 자산 정보 분산 스토리지(102)의 노드는 S / Kademlia의 정적 암호화 퍼즐로 생성 된 공개 키의 암호화 해시인 노드 아이디(NodeID)로 식별된다. 자산 정보 분산 스토리지(102)의 노드는 공개 키와 개인 키를 저장하고, 사용자는 매번 실행 시 새로운 노드 ID를 제공받을 수 있다. 이하표 1은 이를 위한 코드 예시이다.
type NodeId Multihash
type Multihash []byte
// self-describing cryptographic hash digest
type PublicKey []byte
type PrivateKey []byte
// self-describing keys
type Node struct {
NodeId NodeID
PubKey PublicKey
PriKey PrivateKey
}

difficulty = <integer parameter>
n = Node{}
do {
n.PubKey, n.PrivKey = PKI.genKeyPair()
n.NodeId = hash(n.PubKey)
p = count_preceding_zero_bits(hash(n.NodeId))
} while (p < difficulty)
Identity protocol 코드 예시
또한, 본 발명의 다른 실시예에 따르면, 해당 계정의 자산 상태 블록체인(100)에 대한 공개 키가 NodeID로 이용될 수 있다. 이에 따르면, 사용자가 매번 새로운 NodeID를 부여 받을 필요 없이, 자산 거래 장치(1)가 보유하고 있는 자산 상태 블록체인(100)의 공개 키와 개인 키를 그대로 이용할 수 있게 되므로, 네트워크의 이점을 그대로 유지할 수 있게 되는 효과가 발생된다.
Network는 다른 피어와의 연결을 관리하는데 이용되는 프로토콜이다. 전송과 관련하여, 본 발명의 일실시예에 따른 자산 정보 분산 스토리지(102)는 모든 전송 프로토콜을 사용할 수 있으며 WebRTC DataChannel 또는 uTP(LEDBAT)가 이용될 수 있다. 신뢰성(Reliability)과 관련하여, uTP 또는 SCTP를 사용하여 신뢰성(Reliability)을 제공할 수 있다. 연결성과 관련하여,ICE NAT traversal 기법이 이용될 수 있다. 무결성과 관련하여, 해시 체크섬을 사용하여 메시지 무결성을 검증할 수 있다. 인증과 관련하여, 발신자의 공개 키를 이용한 HMAC를 사용하여 메시지의 진성 여부를 확인할 수 있다.
Routing은 특정 피어 및 자산 정보의 개체를 찾기 위한 정보를 유지 관리하는 프로토콜이다. 로컬 쿼리와 원격 쿼리 모두에 응답할 수 있으며, 기본값은 DHT이지만 스왑 가능하다. 자산 정보 분산 스토리지(102)의 노드는 (a)다른 피어의 네트워크 주소와 (b)특정 자산 정보의 개체를 제공 할 수 있는 피어를 찾을 수 있는 라우팅 시스템이 필요하다. 자산 정보 분산 스토리지(102)는 S / Kademlia와 Coral을 기반으로하는 DSHT를 사용하여 이를 달성할 수 있다. 자산 정보 분산 스토리지(102)의 객체 및 사용 패턴의 크기는 Coral 및 Mainline과 유사하므로 자산 정보 분산 스토리지(102)의 DHT는 크기에 따라 저장된 값을 구별할 수 있다. 1KB 이하의 자산 정보는 DHT에 직접 저장될 수 있다. 더 큰 크기의 자산 정보의 경우 DHT는 블록을 제공 할 수 있는 피어의 NodeId 인 참조를 저장할 수 있다. 이 DSHT의 인터페이스의 예시는 다음 표 2와 같다.
type IPFSRouting interface {
FindPeer(node NodeId)
// gets a particular peer’s network address
SetValue(key []bytes, value []bytes)
// stores a small metadata value in DHT
GetValue(key []bytes)
// retrieves small metadata value from DHT
ProvideValue(key Multihash)
// announces this node can serve a large value
FindValuePeers(key Multihash, min int)
// gets a number of peers serving a large value
}
자산 정보 분산 스토리지의 DSHT 인터페이스 예시
Block Exchange는 효율적인 블록 분배를 제어하는 블록 교환 프로토콜(BitSwap)이 이용될 수 있다. 또한, 본 발명의 다른 실시예에서는, 매도자 계정이 매도 주문을 올리는 경우 거래를 위하여 자산 정보 분산 스토리지(102)의 시드를 유지하게 되는데, 이에 따르면 기존의 BitSwap에서 이용되던 일명 "준결승 전략(Tit-for-tat strategy)"이 없이도 자산 정보의 원활한 시딩이 가능해지는 효과가 발생된다. 팃포탯(Tit-for-tat)은 게임이론에서 나온 반복되는 죄수의 딜레마의 전략으로, 처음에는 협력관계였지만 그 이후에는 상대의 전략에 반응하는 것을 의미한다. 즉 공헌하는 노드는 계속 보상을 받고, 계속 리소스만 사용하는 노드는 보상이 없는 것을 의미한다. 본 발명의 다른 실시예에 따라 매도자 계정이 매도 주문을 올리는 경우 거래를 위하여 자산 정보 분산 스토리지(102)의 시드를 유지하게 되는 경우에는, 공헌하는 노드의 보상이 없이도 시드를 유지해야 할 동인이 발생되게 되는 효과가 발생된다.
Object는 링크가 있는 콘텐츠로 주소가 지정된 불변 개체의 Merkle DAG 임의의 데이터 구조를 나타 내기 위해 사용되는 프로토콜이다. 파일 계층 구조 및 통신 시스템을 관리한다. Merkle DAG는 자산 정보 분산 스토리지(102)에 다음과 같은 속성을 제공할 수 있다.
(1) 주소 지정 : 모든 자산 정보는 링크를 포함하여 다중 해시 체크섬으로 고유하게 식별될 수 있다.
(2) 변조 방지 : 모든 자산 정보가 체크섬으로 확인된다. 데이터가 훼손되거나 손상되면 자산 정보 분산 스토리지(102)가 이를 탐지할 수 있다.
(3) 중복 제거 : 정확히 동일한 자산 정보를 담고있는 모든 객체는 동일하며 한 번만 저장된다. 이것은 특히 GIT 트리 및 커밋(Commit) 또는 공통 데이터 부분과 같은 인덱스 객체에 유용할 수 있다.
자산 정보 분산 스토리지(102)의 객체 형식의 예시는 다음 표 3과 같다.
type IPFSLink struct {
Name string
// name or alias of this link
Hash Multihash
// cryptographic hash of target
Size int
// total size of target
}
type IPFSObject struct {
links []IPFSLink
// array of links
data []byte
// opaque content data
}
자산 정보 분산 스토리지의 객체 형식의 예시
자산 정보 분산 스토리지(102)의 객체 경로의 예시는 다음 표 4와 같다.
# format
//<hash-of-object>/<name-path-to-object>
# example
//XLYkgq61DYaQ8NhkcqyU7rLcnSa7dSHQ16x/foo.txt
자산 정보 분산 스토리지(102)의 객체 경로의 예시
위와 같이 자산 정보 분산 스토리지(102)의 객체 경로는 자산 정보의 해시값을 기초로 구성될 수 있으므로, 하나의 자산 정보에 대해 모든 자산 정보 분산 스토리지(102)가 같은 주소값을 갖게 되어 효율적인 라우팅이 가능해지는 효과가 발생된다.
Files은 파일 시스템 계층 관리를 위한 프로토콜이다. Files 프로토콜 또한 block, list, tree, commit 등의 복수개의 객체들로 정의될 수 있다. 블록(block)은 가변 크기의 데이터 블록을 의미할 수 있고, 리스트(list)는 블록의 모음을 의미할 수 있으며, 트리(tree)는 블록, 리스트 또는 다른 트리들의 집합을 의미할 수 있으며, 커밋(commit)은 트리의 버전 히스토리에 있는 스냅 샷을 의미할 수 있다.
블록체인을 이용한 자산 거래 방법
도 9는 본 발명의 일실시예에 따른 블록체인을 이용한 자산 거래 방법을 도시한 흐름도이다. 도 9에 도시된 바와 같이, 본 발명의 일실시예에 따른 블록체인을 이용한 자산 거래 방법은, 주문 정보 생성 단계(S10), 주문 트랜잭션 생성 단계(S11), 자산 상태 트랜잭션 생성 단계(S12), 자산 정보 분배 단계(S13)를 포함할 수 있다.
주문 정보 생성 단계(S10)는 매수자 계정 또는 매도자 계정의 자산 거래 장치(1)에서 특정 수량의 자산 토큰에 대해 특정 수량의 거래 토큰의 가격으로 매수 또는 매도의 주문 정보(신규 주문 정보)를 생성하는 단계이다. S10에서는 해당 주문 정보가 유효한지 여부를 판정하고, 유효하지 않은 경우 해당 신규 주문 정보를 생성하지 않을 수 있다. S10에서 주문 정보의 유효성은, 매도 주문의 경우 해당 자산 토큰을 주문 수량 만큼 보유하고 있는지, 매수 주문의 경우 해당 거래 토큰을 주문 수량 만큼 보유하고 있는지를 기초로 한정하게 된다.
주문 트랜잭션 생성 단계(S11)는 S10에서 생성된 신규 주문 정보와 주문 블록체인(101)의 가장 최근의 주문 트랜잭션 정보를 기초로 주문 트랜잭션 정보에 기록된 기존 주문 정보들의 상태가 변경된 신규 주문 트랜잭션 정보를 생성하는 단계이다. S11에서의 기존 주문 정보들의 상태 변경과 관련하여, S10에서 생성된 신규 주문 정보와 주문 블록체인(101)에 기록된 가장 최근의 주문 트랜잭션 정보에 포함된 적어도 하나 이상의 기존 주문 정보 중 적어도 하나가 동호가에서 매칭되는 경우, S10에서 생성된 신규 주문 정보와 기존 주문 정보 중 동호가에서 매칭되는 반대 주문 정보의 계정의 자산 거래 장치(1)가 분산 네트워크에 온라인으로 노드 유지를 하고 있는 것으로 확인되면 S10에서 생성된 신규 주문 정보와 동호가에서 매칭되는 반대 주문 정보를 상계(주문 체결)하는 상태 변경을 수행하여 신규 주문 트랜잭션 정보를 생성하게 된다. 즉, 본 발명의 일실시예에 따른 자산 거래 장치(1)는 S11에서 기존 주문 정보들의 상태 변경을 기초로 신규 주문 트랜잭션 정보를 생성할 때, 기존 주문 정보들 중 계정의 자산 거래 장치(1)가 분산 네트워크에 온라인으로 노드 유지를 하고 있는 것으로 확인되는 주문 정보들만을 기초로 상태 변경을 계산하게 된다. S11에서, S10에서 생성된 신규 주문 정보와 기존 주문 정보 중 적어도 하나가 동호가에서 매칭되지 않는 경우(반대 주문 정보가 존재하지 않는 경우)에는 S10에서 생성된 신규 주문 정보가 단순히 추가(체결 대기 주문 추가)되는 상태 변경을 기초로 신규 주문 트랜잭션 정보를 생성할 수 있다. S11에서 생성된 신규 주문 트랜잭션 정보는 매도자 또는 매수자 계정의 자산 거래 장치(1)에 의해 주문 블록체인(101)에 기록 및 배포될 수 있다.
자산 상태 트랜잭션 정보 생성 단계(S12)는 S11에 의해 신규 주문 트랜잭션 정보가 생성, 기록 및 배포되는 경우, 매도자 계정 또는 매수자 계정의 자산 거래 장치(1)가 신규 주문 트랜잭션 정보의 해시값, 매도자/매수자 계정의 자산 상태 변경 정보 등을 포함하여 자산 상태 블록체인(100)에 대한 트랜잭션인 자산 상태 트랜잭션 정보를 생성하는 단계이다. S12에서 매도자 계정 또는 매수자 계정의 자산 거래 장치(1)는 S10에서 생성된 신규 주문 정보와 동호가에서 매칭되는 반대 주문 정보를 상계하는 상태 변경인 주문 체결의 상태 변경의 경우, 매도자 계정과 매수자 계정의 자산 토큰 및 거래 토큰의 보유 수량에 대한 상태 변경을 자산 상태 트랜잭션 정보로 생성하게 된다. 또한, S12에서 매도자 계정 또는 매수자 계정의 자산 거래 장치(1)는 S10에서 생성된 신규 주문 정보를 체결 대기 주문에 단순히 추가하는 상태 변경인 체결 대기 주문 추가의 상태 변경의 경우, 매도자 계정/매수자 계정/체결 대기 주문 계정의 자산 토큰 또는 거래 토큰의 보유 수량에 대한 상태 변경을 자산 상태 트랜잭션 정보로 생성하게 된다. S12에서 생성된 자산 상태 트랜잭션 정보는 매도자 또는 매수자 계정의 자산 거래 장치(1)에 의해 자산 상태 블록체인(100)에 기록 및 배포될 수 있다.
자산 정보 송신 단계(S13)는 S12에서 주문 체결의 상태 변경의 경우, 매수자 계정의 자산 정보 분산 스토리지(102)에 주문 체결된 자산 토큰의 자산 정보가 분산 네트워크의 각 노드에서 P2P 송신되는 단계이다. 이 경우, 매도자 계정의 자산 정보 분산 스토리지(102)가 가장 높은 우선순위로 라우팅 되어 P2P 송신의 효율성을 극대화 할 수 있다.
신규 자산 발행 및 공모 시와 관련하여, 도 10은 본 발명의 일실시예에 따른 자산 거래 장치를 이용한 신규 자산 발행 및 공모 방법을 도시한 흐름도이다. 도 10에 도시된 바와 같이, 본 발명의 일실시예에 따른 자산 거래 장치를 이용한 신규 자산 발행 및 공모 방법은 자산 토큰 발행 단계(S20), 자산 정보 입력 단계(S21), 자산 토큰 공모 단계(S22)를 포함할 수 있다.
자산 토큰 발행 단계(S20)는 공모 자산 토큰을 발행하려는 주체가 자산 거래 장치(1)의 자산 상태 블록체인(100)에 공모 자산 토큰의 이니셜 정보, 자산 토큰 발행 수량 정보 등을 기초로 신규 계정인 자산 발행 계정을 생성하는 단계이다. 즉, 자산 상태 블록체인이 구성된 자산 거래 장치가, 공모 자산 토큰을 발행하려는 수량인 자산 토큰 발행 수량 정보를 포함하는 상기 자산 상태 블록체인의 신규 계정인 제1계정을 생성하는 단계이다. 예를 들어, 공모 자산 토큰의 이니셜 정보는 PLC, ETH, BTC 등의 Ticker simbol을 의미한다. 자산 토큰 발행 수량 정보는 자산의 종류가 주식인 경우 유통 주식수, 자산의 종류가 부동산인 경우 m2가 그 단위가 될 수 있다.
자산 정보 입력 단계(S21)는 자산 발행 계정의 자산 거래 장치(1)의 자산 정보 분산 스토리지(102)에 자산 정보가 입력되는 단계이다. 즉, 상기 자산 거래 장치가, 상기 공모 자산 토큰에 대한 정보인 자산 정보를 수신하고, 상기 자산 거래 장치에 구성되는 자산 정보 분산 스토리지에 상기 자산 정보를 저장하는 단계이다. 자산 상태 블록체인(100)의 자산 발행 계정의 공개키가 자산 정보 분산 스토리지(102)의 주소로 이용될 수 있고, 자산 정보의 해시값이 해당 자산 정보의 주소값으로 이용될 수 있다.
자산 토큰 공모 단계(S22)는 자산 발행 계정의 자산 거래 장치(1)가 분산 네트워크의 다른 노드로부터 주문 블록체인(102)을 수신하고, 자산 발행 계정의 비밀키를 기초로 자산 토큰의 주문에 대한 계정인 자산 계정을 생성한 뒤, 자산 발행 계정이 보유한 공모 자산 토큰의 공모 수량을 특정 거래 토큰의 수량인 가격에 매도하는 주문 트랜잭션 정보를 생성, 기록 배포하는 단계이다. 즉, 상기 자산 거래 장치가, 상기 자산 거래 장치에 구성되는 주문 블록체인의 신규 계정인 자산 계정을 생성하며, 상기 공모 자산 토큰의 상기 자산 토큰 발행 수량 정보를 기초로 상기 공모 자산 토큰의 공모 수량을 특정 거래 토큰의 수량인 공모가에 매도하는 주문을 체결 대기 주문 정보로 하는 공모 주문 트랜잭션 정보를 생성하고, 상기 주문 블록체인에 기록하며, 상기 주문 블록체인의 전체 분산 네트워크에 배포하는 단계이다. 본 발명의 일실시예에 따르면, 특정 조건(매매된 자산 토큰 수량, 매수자 계정의 수 등) 이상의 공모 달성이 되면 하나의 블록에 공모된 주문 정보들을 포함한 주문 트랜잭션 정보를 기록하여 자산 상태 변경이 되도록 구성될 수 있다. 본 발명의 일실시예에 따라, 매수인 계정의 자산 토큰 매입을 자산 상태 블록체인(100)의 합의 조건으로 구성하게 되면, 자산 토큰 공모에 대해 각 매수자 계정의 노드들이 검증 및 합의하게 되는 효과가 발생된다.
본 발명의 일실시예에 따라 자산 발행 계정의 비밀키를 기초로 자산 토큰의 주문에 대한 계정인 자산 계정을 생성하게 되는 경우, 자산 상태 블록체인, 주문 블록체인, 자산 정보 분산 스토리지 각각에 대해 별도로 로그인 할 필요가 없어지는 효과, fraud를 방지할 수 있게 되는 효과가 발생된다. 또한, 공모자들은 자산 정보와 발행된 공모 자산 토큰을 기초로 분석하여 공모에 참여(공모 자산 토큰의 매수)하게 되고 공모에 참가한 매수자들의 주문이 공개되므로 허위 공모에 대해 각 매수자 계정의 노드들이 검증 및 합의하게 되는 효과가 발생된다.
본 발명의 일실시예에 따르면, 유상증자, 무상증자, 액면분할 등의 절차 모두 공모 자산 토큰 발행과 유사한 방법으로 진행될 수 있다. 이에 따르면, 합의되지 않은 해당 자산 토큰의 추가 발행(예를 들어, 증자) 등이 불가능하여 자산 토큰에 대한 신뢰성이 확보되는 효과가 발생된다.
이상에서 설명한 바와 같이, 본 발명이 속하는 기술 분야의 통상의 기술자는 본 발명이 그 기술적 사상이나 필수적 특징을 변경하지 않고서 다른 구체적인 형태로 실시될 수 있다는 것을 이해할 수 있을 것이다. 그러므로 상술한 실시예들은 모든 면에서 예시적인 것이며 한정적인 것이 아닌 것으로서 이해해야만 한다. 본 발명의 범위는 상세한 설명보다는 후술하는 특허청구범위에 의하여 나타내어지며, 특허청구범위의 의미 및 범위 그리고 등가 개념으로부터 도출되는 모든 변경 또는 변형된 형태가 본 발명의 범위에 포함하는 것으로 해석되어야 한다.
본 명세서 내에 기술된 특징들 및 장점들은 모두를 포함하지 않으며, 특히 많은 추가적인 특징들 및 장점들이 도면들, 명세서, 및 청구항들을 고려하여 당업자에게 명백해질 것이다. 더욱이, 본 명세서에 사용된 언어는 주로 읽기 쉽도록 그리고 교시의 목적으로 선택되었고, 본 발명의 주제를 묘사하거나 제한하기 위해 선택되지 않을 수도 있다는 것을 주의해야 한다.
본 발명의 실시예들의 상기한 설명은 예시의 목적으로 제시되었다; 이는 개시된 정확한 형태로 본 발명을 제한하거나, 빠뜨리는 것 없이 만들려고 의도한 것이 아니다. 당업자는 상기한 개시에 비추어 많은 수정 및 변형이 가능하다는 것을 이해할 수 있다.
본 설명의 일부는 연산의 기호 표현 및 알고리즘에 관한 본 발명의 실시예들을 기술한다. 이러한 알고리즘적 설명 및 표현은, 일반적으로 그들의 작업의 핵심을 효율적으로 다른 당업자에게 전달하기 위해 데이터 처리 분야의 당업자에 의해 사용된다. 이러한 동작은 기능적, 연산적, 또는 논리적으로 설명되지만, 컴퓨터나 이와 동등한 전기 회로, 마이크로코드 등에 의해 구현될 것으로 이해된다. 나아가, 또한 이것은 모듈로서의 이러한 동작의 배열을 나타내기 위해, 때때로 일반성의 상실 없이 편리하게 입증된다. 상기 기술된 동작 및 그들의 연관된 모듈은 소프트웨어, 펌웨어, 하드웨어, 또는 이들의 임의의 조합 내에서 구현될 수 있다.
여기서 기술된 임의의 단계, 동작, 또는 프로세스는, 하나 이상의 하드웨어 또는 소프트웨어 모듈과 함께 단독으로 또는 다른 장치와 조합하여 수행되거나 구현될 수 있다. 일 실시예에서, 소프트웨어 모듈은 컴퓨터 프로그램 코드를 포함하는 컴퓨터-판독 가능 매체로 구성되는 컴퓨터 프로그램 제품과 함께 구현되고, 컴퓨터 프로그램 코드는 기술된 임의의 또는 모든 공정, 단계, 또는 동작을 수행하기 위한 컴퓨터 프로세서에 의해 실행될 수 있다.
또한, 본 발명의 실시예들은, 여기서의 동작을 수행하기 위한 장치와 관련될 수 있다. 이들 장치는 요구되는 목적을 위해 특별히 제작될 수 있고/있거나, 컴퓨터 내에 저장된 컴퓨터 프로그램에 의해 선택적으로 활성화되거나 재구성되는 일반적-목적의 연산 장치를 포함할 수 있다. 이러한 컴퓨터 프로그램은, 유형의 컴퓨터 판독가능 저장 매체 또는 전자 명령어를 저장하기 위해 적합한 임의의 유형의 미디어 내에 저장될 수 있고, 컴퓨터 시스템 버스에 결합될 수 있다. 나아가, 본 명세서에 참조되는 임의의 연산 시스템은 단일 프로세서를 포함할 수 있거나, 증가한 연산 능력을 위한 다중 프로세서 디자인을 채택한 구조가 될 수 있다.
마지막으로, 본 명세서에 사용된 언어는 주로 읽기 쉽도록 그리고 교시의 목적으로 선택되었고, 본 발명의 주제를 묘사하거나 제한하기 위해 선택되지 않을 수 있다.
그러므로 본 발명의 범위는 상세한 설명에 의해 한정되지 않고, 이를 기반으로 하는 출원의 임의의 청구항들에 의해 한정된다. 따라서, 본 발명의 실시예들의 개시는 예시적인 것이며, 이하의 청구항에 기재된 본 발명의 범위를 제한하는 것은 아니다.
1: 자산 거래 장치
10: 통신 모듈
11: 처리 모듈
12: 메모리 모듈
100: 자산 상태 블록체인
101: 주문 블록체인
102: 자산 정보 분산 스토리지

Claims (5)

  1. 제1계정의 자산 거래 장치가, 특정 자산 토큰의 매매 수량에 대해 특정 거래 토큰의 특정 수량인 호가로 매도 또는 매수의 신규 주문 정보를 생성하는 신규 주문 정보 생성 단계;
    상기 자산 거래 장치가, 생성된 상기 신규 주문 정보와 상기 자산 거래 장치에 저장된 주문 블록체인에 기저장된 제2계정의 체결 대기 주문 정보와의 주문 체결을 기초로 상기 주문 블록체인에 대한 트랜잭션 정보인 주문 트랜잭션 정보를 생성하는 주문 트랜잭션 정보 생성 단계; 및
    상기 자산 거래 장치가, 상기 주문 트랜잭션 정보의 해시값, 상기 제1계정의 자산 상태 변경 정보 및 상기 제2계정의 자산 상태 변경 정보를 포함하여 상기 자산 거래 장치에 저장된 자산 상태 블록체인에 대한 트랜잭션 정보인 자산 상태 트랜잭션 정보를 생성하는 자산 상태 트랜잭션 정보 생성 단계;
    를 포함하고,
    상기 자산 상태 변경 정보는 상기 제1계정 및 상기 제2계정을 포함하는 특정 계정의 상기 자산 토큰의 보유량 및 상기 거래 토큰의 보유량의 상태 변경에 관한 정보를 의미하며,
    상기 제2계정의 상기 체결 대기 주문 정보는 상기 신규 주문 정보와 동일한 상기 특정 자산 토큰 및 상기 특정 거래 토큰의 동일한 수량에 관한 반대 주문인 주문 정보를 의미하고,
    상기 주문 체결에 의한 상기 주문 트랜잭션 정보는 상기 신규 주문 정보의 상기 특정 자산 토큰의 매매 수량에 대응되는 상기 체결 대기 주문 정보의 상기 특정 자산 토큰의 수량을 삭제하는 상태 변경을 포함하며,
    상기 자산 거래 장치는, 생성된 상기 주문 트랜잭션 정보를 상기 주문 블록체인에 기록 및 상기 주문 블록체인의 전체 분산 네트워크에 배포하고, 생성된 상기 자산 상태 트랜잭션 정보를 상기 자산 상태 블록체인에 기록 및 상기 자산 상태 블록체인의 전체 분산 네트워크에 배포하는 것을 특징으로 하는,
    블록체인을 이용한 자산 거래 방법.
  2. 제1항에 있어서,
    상기 주문 블록체인은, 상기 특정 자산 토큰에 대해 주문 체결 대기 중인 적어도 하나의 상기 체결 대기 주문 정보에 관한 계정인 상기 특정 자산 토큰의 자산 계정을 포함하고,
    상기 자산 상태 블록체인은, 상기 제1계정 및 상기 제2계정을 포함하는 복수의 매매 주체 계정을 포함하며,
    상기 주문 트랜잭션 정보는, 상기 자산 계정의 상기 체결 대기 주문 정보에 대한 상태 변경, 상기 제1계정의 주소 정보 및 상기 제2계정의 주소 정보를 포함하고,
    상기 주문 블록체인에 복수의 자산 토큰에 대한 상기 체결 대기 주문 정보가 기록되고, 상기 자산 계정은 자산 토큰 별로 각각 구성되는 것을 특징으로 하는,
    블록체인을 이용한 자산 거래 방법.
  3. 제1항에 있어서,
    상기 자산 상태 블록체인은 체결 대기 주문을 수신하는 체결 대기 주문 계정을 더 포함하고,
    상기 주문 트랜잭션 정보 생성 단계에서 상기 신규 주문 정보에 의해 상기 주문 체결이 발생되지 않는 경우, 상기 주문 트랜잭션 정보는 상기 신규 주문 정보를 체결 대기 주문에 추가하는 상태 변경을 포함하며,
    상기 체결 대기 주문 계정의 상기 자산 토큰의 보유량 및 상기 거래 토큰의 보유량의 상태 변경이 상기 자산 상태 트랜잭션 정보에 포함되는 것을 특징으로 하는,
    블록체인을 이용한 자산 거래 방법.
  4. 제1항에 있어서,
    상기 주문 트랜잭션 정보 생성 단계에서, 상기 자산 거래 장치가 상기 제2계정의 노드 유지를 확인하고, 상기 노드 유지가 확인되는 경우에 상기 주문 체결을 기초로 상기 주문 트랜잭션 정보를 생성하는 것을 특징으로 하는,
    블록체인을 이용한 자산 거래 방법.
  5. 자산 거래 프로그램 코드, 자산 상태 블록체인 및 주문 블록체인을 저장하는 메모리 모듈; 및
    상기 자산 거래 프로그램 코드를 처리하는 처리 모듈;
    을 포함하고,
    상기 자산 거래 프로그램 코드는,
    특정 자산 토큰의 매매 수량에 대해 특정 거래 토큰의 특정 수량인 호가로 매도 또는 매수의 제1계정의 신규 주문 정보를 생성하는 신규 주문 정보 생성 단계;
    생성된 상기 신규 주문 정보와 상기 주문 블록체인에 기저장된 제2계정의 체결 대기 주문 정보와의 주문 체결을 기초로 상기 주문 블록체인에 대한 트랜잭션 정보인 주문 트랜잭션 정보를 생성하는 주문 트랜잭션 정보 생성 단계; 및
    상기 주문 트랜잭션 정보의 해시값, 상기 제1계정의 자산 상태 변경 정보 및 상기 제2계정의 자산 상태 변경 정보를 포함하여 상기 자산 상태 블록체인에 대한 트랜잭션 정보인 자산 상태 트랜잭션 정보를 생성하는 자산 상태 트랜잭션 정보 생성 단계;
    를 컴퓨터 상에서 수행시키는 프로그램 코드를 포함하며,
    상기 자산 상태 변경 정보는 상기 제1계정 및 상기 제2계정을 포함하는 특정 계정의 상기 자산 토큰의 보유량 및 상기 거래 토큰의 보유량의 상태 변경에 관한 정보를 의미하며,
    상기 제2계정의 상기 체결 대기 주문 정보는 상기 신규 주문 정보와 동일한 상기 특정 자산 토큰 및 상기 특정 거래 토큰의 동일한 수량에 관한 반대 주문인 주문 정보를 의미하고,
    상기 주문 체결에 의한 상기 주문 트랜잭션 정보는 상기 신규 주문 정보의 상기 특정 자산 토큰의 매매 수량에 대응되는 상기 체결 대기 주문 정보의 상기 특정 자산 토큰의 수량을 삭제하는 상태 변경을 포함하며,
    생성된 상기 주문 트랜잭션 정보를 상기 주문 블록체인에 기록 및 상기 주문 블록체인의 전체 분산 네트워크에 배포하고, 생성된 상기 자산 상태 트랜잭션 정보를 상기 자산 상태 블록체인에 기록 및 상기 자산 상태 블록체인의 전체 분산 네트워크에 배포하는 것을 특징으로 하는,
    블록체인을 이용한 자산 거래 장치.
KR1020180110045A 2018-09-14 2018-09-14 블록체인을 이용한 자산 거래 장치 및 방법 KR102096660B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020180110045A KR102096660B1 (ko) 2018-09-14 2018-09-14 블록체인을 이용한 자산 거래 장치 및 방법

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020180110045A KR102096660B1 (ko) 2018-09-14 2018-09-14 블록체인을 이용한 자산 거래 장치 및 방법

Publications (2)

Publication Number Publication Date
KR20200031264A true KR20200031264A (ko) 2020-03-24
KR102096660B1 KR102096660B1 (ko) 2020-04-02

Family

ID=70004491

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020180110045A KR102096660B1 (ko) 2018-09-14 2018-09-14 블록체인을 이용한 자산 거래 장치 및 방법

Country Status (1)

Country Link
KR (1) KR102096660B1 (ko)

Cited By (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102157171B1 (ko) * 2020-04-07 2020-09-17 송은하 소유권자 불특정 공동자산에 대한 블록체인기반 지분 실거래 시스템 및 그 방법
KR102302955B1 (ko) * 2020-04-21 2021-09-16 주식회사 한컴위드 자산의 토큰화를 통해 현물 자산 거래를 가능하게 하는 블록체인 및 클라우드 기반의 자산 거래 플랫폼 서버 및 그 동작 방법
WO2021206433A1 (ko) * 2020-04-07 2021-10-14 송은하 소유권자를 특정할 수 없거나 소유권이 존재하지 않는 자산의 지분에 대한 등기 시스템 및 그 방법
CN113538149A (zh) * 2021-07-28 2021-10-22 浙江数秦科技有限公司 一种基于区块链的多源数据融合平台
KR20220021363A (ko) * 2020-08-13 2022-02-22 주식회사 한컴위드 금과 디지털 골드 토큰을 기초로 오프라인 상거래를 가능하게 하는 클라우드 기반의 오프라인 상거래 플랫폼 서버 및 그 동작 방법
KR20220021359A (ko) * 2020-08-13 2022-02-22 주식회사 한컴위드 금과 디지털 골드 토큰을 기초로 전자 상거래를 가능하게 하는 클라우드 기반의 전자 상거래 플랫폼 서버 및 그 동작 방법
KR20220021357A (ko) 2020-08-13 2022-02-22 주식회사 한컴위드 디지털 골드 토큰을 기초로 금 거래를 가능하게 하는 클라우드 기반의 금 거래 플랫폼 서버 및 그 동작 방법
CN114298701A (zh) * 2021-12-29 2022-04-08 中国科学技术大学先进技术研究院 交易中虚拟资源的补偿方法、装置、设备以及存储介质
KR102639198B1 (ko) * 2023-09-04 2024-02-21 해피블록 주식회사 가상 자산 거래 및 투자 전략 추천 서비스를 제공하는 방법 및 시스템
KR102640986B1 (ko) * 2023-09-07 2024-02-27 주식회사 보난자팩토리 블록체인 네트워크 상의 트랜잭션 정보에 기반한 가상자산 거래분석 데이터베이스 생성 시스템 및 방법

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20230018294A (ko) 2021-07-29 2023-02-07 주식회사 핀텍 블록체인 기반으로 신재생에너지 실물자산 유동화 증권 거래 서비스 제공 시스템 및 그 방법
KR102675433B1 (ko) * 2021-09-16 2024-06-14 주식회사 펀블 분산 컴퓨팅을 활용하여 디지털 증권의 거래를 수행하는 방법 및 장치

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20160114749A (ko) * 2015-02-25 2016-10-06 이진희 블록체인 구조를 사용하는 암호화화폐 거래방법
KR101694455B1 (ko) * 2016-03-14 2017-01-17 주식회사 스트리미 블록체인 기반의 디지털 가상화폐를 환전 또는 송금하기 위한 방법 및 장치
KR20180072029A (ko) * 2016-12-20 2018-06-29 (주)한국거래소 장외주식 거래 지원시스템

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20160114749A (ko) * 2015-02-25 2016-10-06 이진희 블록체인 구조를 사용하는 암호화화폐 거래방법
KR101694455B1 (ko) * 2016-03-14 2017-01-17 주식회사 스트리미 블록체인 기반의 디지털 가상화폐를 환전 또는 송금하기 위한 방법 및 장치
KR20180072029A (ko) * 2016-12-20 2018-06-29 (주)한국거래소 장외주식 거래 지원시스템

Non-Patent Citations (5)

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

Cited By (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102157171B1 (ko) * 2020-04-07 2020-09-17 송은하 소유권자 불특정 공동자산에 대한 블록체인기반 지분 실거래 시스템 및 그 방법
WO2021206424A1 (ko) * 2020-04-07 2021-10-14 송은하 소유권자 불특정 공동자산에 대한 블록체인기반 지분 실거래 시스템 및 그 방법
WO2021206433A1 (ko) * 2020-04-07 2021-10-14 송은하 소유권자를 특정할 수 없거나 소유권이 존재하지 않는 자산의 지분에 대한 등기 시스템 및 그 방법
KR102302955B1 (ko) * 2020-04-21 2021-09-16 주식회사 한컴위드 자산의 토큰화를 통해 현물 자산 거래를 가능하게 하는 블록체인 및 클라우드 기반의 자산 거래 플랫폼 서버 및 그 동작 방법
KR20220021363A (ko) * 2020-08-13 2022-02-22 주식회사 한컴위드 금과 디지털 골드 토큰을 기초로 오프라인 상거래를 가능하게 하는 클라우드 기반의 오프라인 상거래 플랫폼 서버 및 그 동작 방법
KR20220021359A (ko) * 2020-08-13 2022-02-22 주식회사 한컴위드 금과 디지털 골드 토큰을 기초로 전자 상거래를 가능하게 하는 클라우드 기반의 전자 상거래 플랫폼 서버 및 그 동작 방법
KR20220021357A (ko) 2020-08-13 2022-02-22 주식회사 한컴위드 디지털 골드 토큰을 기초로 금 거래를 가능하게 하는 클라우드 기반의 금 거래 플랫폼 서버 및 그 동작 방법
CN113538149A (zh) * 2021-07-28 2021-10-22 浙江数秦科技有限公司 一种基于区块链的多源数据融合平台
CN113538149B (zh) * 2021-07-28 2024-02-27 浙江数秦科技有限公司 一种基于区块链的多源数据融合平台
CN114298701A (zh) * 2021-12-29 2022-04-08 中国科学技术大学先进技术研究院 交易中虚拟资源的补偿方法、装置、设备以及存储介质
KR102639198B1 (ko) * 2023-09-04 2024-02-21 해피블록 주식회사 가상 자산 거래 및 투자 전략 추천 서비스를 제공하는 방법 및 시스템
KR102640986B1 (ko) * 2023-09-07 2024-02-27 주식회사 보난자팩토리 블록체인 네트워크 상의 트랜잭션 정보에 기반한 가상자산 거래분석 데이터베이스 생성 시스템 및 방법

Also Published As

Publication number Publication date
KR102096660B1 (ko) 2020-04-02

Similar Documents

Publication Publication Date Title
KR102096660B1 (ko) 블록체인을 이용한 자산 거래 장치 및 방법
JP7429281B2 (ja) ブロックチェーン上で匿名で保持されるトークンに関連付けられた交換を指示する方法及びシステム
Sunyaev et al. Distributed ledger technology
Prusty Building blockchain projects
Raval Decentralized applications: harnessing Bitcoin's blockchain technology
US11188977B2 (en) Method for creating commodity assets from unrefined commodity reserves utilizing blockchain and distributed ledger technology
Vujičić et al. Blockchain technology, bitcoin, and Ethereum: A brief overview
Crosby et al. Blockchain technology: Beyond bitcoin
JP6532930B1 (ja) ブロックチェーンベースのユーザ識別管理用の分散型台帳装置、分散型台帳方法
US20220327529A1 (en) Advanced Transactional Protocols And Ecosystem For Smart Contract Authoring And Deployment
US20190303892A1 (en) Digital asset exchange
KR101936756B1 (ko) 블록체인을 이용한 공유경제 관리 장치
Komalavalli et al. Overview of blockchain technology concepts
EP3494535A1 (en) Systems and methods for blockchain rule synchronization
TW202040457A (zh) 在區塊鏈網路上實施轉移之電腦實施系統及方法
KR101962288B1 (ko) 블록체인을 이용해 공유재화의 가용성을 검증하는 공유경제 관리 장치
CN113706313A (zh) 基于区块链的融资方法、系统及计算机可读存储介质
Cai et al. Introduction to blockchain basics
Fikri et al. A blockchain architecture for trusted sub-ledger operations and financial audit using decentralized microservices
Wu et al. Blockchain Quick Start Guide: A beginner's guide to developing enterprise-grade decentralized applications
CN110852891B (zh) 基于轧差的数据处理方法、装置以及可读存储介质
KR101962287B1 (ko) 블록체인을 이용하여 공유재화를 등록하는 공유경제 관리 장치
KR102096643B1 (ko) 입출금 허용여부 정보의 등록에 보상을 수행하는 kyc 블록체인을 이용한 kyc 수행 장치
Hermansson Real Estate Transactions using Blockchain Technology
Sutopo Blockchain Programming Smart Contract on Polygon

Legal Events

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