KR20190132054A - Method for Providing Cryptocurrency Trading Platform by using Smart Contract based on Blockchain - Google Patents
Method for Providing Cryptocurrency Trading Platform by using Smart Contract based on Blockchain Download PDFInfo
- Publication number
- KR20190132054A KR20190132054A KR1020180057250A KR20180057250A KR20190132054A KR 20190132054 A KR20190132054 A KR 20190132054A KR 1020180057250 A KR1020180057250 A KR 1020180057250A KR 20180057250 A KR20180057250 A KR 20180057250A KR 20190132054 A KR20190132054 A KR 20190132054A
- Authority
- KR
- South Korea
- Prior art keywords
- cryptocurrency
- user
- smart contract
- designated
- blockchain network
- Prior art date
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION 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/00—Payment architectures, schemes or protocols
- G06Q20/30—Payment architectures, schemes or protocols characterised by the use of specific devices or networks
- G06Q20/36—Payment architectures, schemes or protocols characterised by the use of specific devices or networks using electronic wallets or electronic money safes
- G06Q20/367—Payment architectures, schemes or protocols characterised by the use of specific devices or networks using electronic wallets or electronic money safes involving electronic purses or money safes
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION 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/00—Payment architectures, schemes or protocols
- G06Q20/04—Payment circuits
- G06Q20/06—Private payment circuits, e.g. involving electronic currency used among participants of a common payment scheme
- G06Q20/065—Private payment circuits, e.g. involving electronic currency used among participants of a common payment scheme using e-cash
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION 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/00—Payment architectures, schemes or protocols
- G06Q20/38—Payment protocols; Details thereof
- G06Q20/382—Payment protocols; Details thereof insuring higher security of transaction
- G06Q20/3821—Electronic credentials
- G06Q20/38215—Use of certificates or encrypted proofs of transaction rights
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION 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/00—Payment architectures, schemes or protocols
- G06Q20/38—Payment protocols; Details thereof
- G06Q20/382—Payment protocols; Details thereof insuring higher security of transaction
- G06Q20/3829—Payment protocols; Details thereof insuring higher security of transaction involving key management
Landscapes
- Business, Economics & Management (AREA)
- Accounting & Taxation (AREA)
- Engineering & Computer Science (AREA)
- Finance (AREA)
- Strategic Management (AREA)
- Physics & Mathematics (AREA)
- General Business, Economics & Management (AREA)
- General Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Computer Networks & Wireless Communication (AREA)
- Financial Or Insurance-Related Operations Such As Payment And Settlement (AREA)
Abstract
Description
본 발명은 지정된 외부 블록체인 네트워크 상의 스마트 컨트랙트(Smart Contract)에 사용자의 공개키를 기록하고, 상기 외부 블록체인 네트워크와 구별되는 별도의 지정된 내부 블록체인 네트워크를 통해 상기 스마트 컨트랙트에 예치된 암호화폐에 근거하는 암호화폐 거래를 제공하되, 상기 내부 블록체인 네트워크를 이용한 암호화폐 거래 결과의 적어도 일부에 대응하는 암호화폐를 상기 스마트 컨트랙트로부터 상기 외부 블록체인 네트워크 상의 사용자 전자지갑으로 인출 시 지정된 본인 인증 절차를 거쳐 인증된 사용자의 개인키를 통해 생성된 인증정보를 상기 스마트 컨트랙트를 통해 인증하여 안전하게 상기 스마트 컨트랙트에 예치된 암호화폐를 인출하는 암호화폐 거래 플랫폼을 제공하는 것이다.The present invention records a user's public key in a smart contract on a designated external blockchain network, and stores the public key of the user in a cryptocurrency deposited in the smart contract through a separate designated internal blockchain network distinct from the external blockchain network. Provide a cryptocurrency based transaction, and perform a designated identity authentication procedure when withdrawing a cryptocurrency corresponding to at least a portion of a cryptocurrency transaction result using the internal blockchain network from the smart contract to a user electronic wallet on the external blockchain network; It is to provide a cryptocurrency trading platform that withdraws the cryptocurrency deposited in the smart contract by authenticating the authentication information generated through the private key of the user authenticated through the smart contract.
스마트 컨트랙트(Smart Contract)는 1994년 닉 재보(Nick Szabo)에 의해 제안된 개념으로, 지정된 프로그래밍 언어를 통해 계약 조건과 계약 내용을 프로그래밍해 놓은 후 프로그래밍된 계약 조건이 만족되면 그에 따른 계약 내용을 자동으로 실행하는 기술이다. 다만 스마트 컨트랙트와 같은 디지털 자료는 네트워크 환경에서 조작이나 위변조가 용이하기 때문에, 한동안 스마트 컨트랙트는 개념으로만 존재하고 구체적인 서비스에 이용될 수 없었으나, 디지털 자료에 대한 신뢰 환경을 구현하는 블록체인 기술에 적용되면서 구체적인 서비스에 이용되게 되었다. Smart Contract is a concept proposed by Nick Szabo in 1994. After programming the terms and conditions of a contract using a designated programming language, the contract is automatically displayed when the terms are met. Is a technology to run with. However, since digital materials such as smart contracts can be easily manipulated or forged in a network environment, smart contracts existed only as concepts and could not be used for concrete services for some time. As it is applied, it is used for concrete services.
최초(또는 원시적인 형태)의 블록체인 기반 스마트 컨트랙트는 비트코인(Bitcoin)에 적용된 비트코인 스크립트이다. 그러나 비트코인 스크립트는 반복문을 사용할 수 없는 문제점과 비트코인 잔고 외의 다른 정보를 관리 할 수 없는 한계를 지니고 있었다. 이에 2015년07월30일 비탈릭 부테린(Vitalik Buterin)에 의해 반복문을 사용 가능하며 다양한 정보와 상태를 관리 가능한 스마트 컨트랙트를 지원하는 블록체인 플랫폼인 이더리움(Ethereum)이 개발되었으며, 이더리움 이후에 개발되거나 개발 중인 모든 블록체인 플랫폼은 기본적으로 스마트 컨트랙트를 지원한다. The first (or primitive) blockchain-based smart contract is a Bitcoin script applied to Bitcoin. However, Bitcoin scripts had limitations such as not being able to use loops and managing information other than Bitcoin balance. Therefore, on July 30, 2015, Ethereum, a blockchain platform supporting smart contracts that can use loops and manage various information and states, was developed by Vitalik Buterin. All blockchain platforms being developed or under development support smart contracts by default.
한편 블록체인을 통해 구현된 암호화폐를 획득하는 방식은, 외부 블록체인 네트워크 상의 유효한 전자지갑 사이의 P2P 기반 암호화폐 거래를 이용하는 방식(예컨대, 외부 블록체인 네트워크 상의 유효한 다른 전자지갑에 보관된 암호화폐를 상기 외부 블록체인 네트워크 상의 유효한 전자지갑으로 이전받는 방식 등)과, 암호화폐 거래소의 지정된 암호화폐 거래 절차에 따라 암호화폐를 거래하는 거래소 기반 암호화폐 거래를 이용하는 방식(예컨대, 사용자가 암호화폐 거래소에 회원 가입하여 본인 명의의 거래소지갑을 생성한 후 사용자가 소유한 실물화폐를 이용하여 해당 암호화폐 거래소 내에서 거래되는 암호화폐를 사용자 명의의 거래소지갑으로 매입하는 방식 등)과, 외부 블록체인 네트워크를 구현하는 노드장치(예컨대, 채굴기)를 구비하여 지정된 채굴 절차를 수행한 후 상기 채굴의 보상에 해당하는 암호화폐를 전자지갑으로 지급받는 채굴 방식 등이 존재하며, 암호화폐 거래소를 통해 거래된 암호화폐를 외부 블록체인 네트워크 상의 유효한 전자지갑으로 이전받는 거래소 기반 P2P 암호화폐 거래 방식이 존재한다. Meanwhile, a method of obtaining a cryptocurrency implemented through a blockchain uses a P2P-based cryptocurrency transaction between valid electronic wallets on an external blockchain network (e.g., a cryptocurrency stored in another valid electronic wallet on an external blockchain network). Is transferred to a valid electronic wallet on the external blockchain network, etc.), and a method of using an exchange-based cryptocurrency trading that exchanges cryptocurrencies according to a cryptocurrency exchange's designated cryptocurrency trading procedure (e.g., a user exchanges a cryptocurrency exchange). Create an exchange wallet under your name and purchase the cryptocurrency traded on the cryptocurrency exchange using the real currency owned by the user with the exchange wallet under the user's name), and the external blockchain network. It is equipped with a node device (for example, a miner) to implement the After performing the mining procedure, there is a mining method that receives cryptocurrency corresponding to the mining reward as an electronic wallet, and transfers the cryptocurrency traded through a cryptocurrency exchange to a valid electronic wallet on an external blockchain network. There is an exchange-based P2P cryptocurrency trading method.
한편 블록체인을 통해 구현된 암호화폐를 획득하는 방식은, 외부 블록체인 네트워크 상에 유효한 전자지갑을 생성한 후 해당 외부 블록체인 네트워크 상의 유효한 다른 전자지갑에 보관된 암호화폐를 이전받는 P2P 기반 암호화폐 거래 방식과, 사용자가 암호화폐 거래소에 회원 가입하여 본인 명의의 거래소지갑을 생성한 후 실물화폐를 이용하여 사용자 명의의 거래소지갑으로 해당 암호화폐 거래소 내에서 거래되는 암호화폐를 매입하는 거래소 기반 암호화폐 거래 방식과, 외부 블록체인 네트워크를 구현하는 노드장치(예컨대, 채굴기)를 구비하여 채굴 절차를 수행한 후 상기 채굴의 보상에 해당하는 암호화폐를 전자지갑으로 지급받는 채굴 방식 등이 존재하며, 암호화폐 거래소를 통해 거래된 암호화폐를 외부 블록체인 네트워크 상의 유효한 전자지갑으로 이전받는 거래소 기반 P2P 암호화폐 거래 방식이 존재한다. Meanwhile, the method of acquiring the cryptocurrency implemented through the blockchain is a P2P-based cryptocurrency that generates a valid electronic wallet on the external blockchain network and then transfers the cryptocurrency stored in another valid electronic wallet on the external blockchain network. An exchange-based cryptocurrency in which a user registers on a cryptocurrency exchange, creates an exchange wallet in his own name, and then purchases the cryptocurrency traded in the cryptocurrency exchange using the real wallet using the real currency. There is a mining method including a transaction method and a node device (for example, a miner) that implements an external blockchain network, and perform a mining procedure and receive a cryptocurrency corresponding to the mining reward with an electronic wallet. The cryptocurrency traded through the cryptocurrency exchange is a valid electronic device on the external blockchain network. There is an exchange-based P2P cryptocurrency trading method that is transferred to the wallet.
통상의 암호화폐 거래소는, 외부 블록체인 네트워크 상의 유효한 전자지갑 사이의 P2P 기반 암호화폐를 제공하는 것이 아니라, 외부 블록체인 네트워크 상에 하나 이상의 유효한 거래소 소유 전자지갑을 생성하고, 상기 P2P 기반 암호화폐 거래 방식을 통해 상기 거래소 소유 전자지갑에 지정된 단위의 암호화폐를 보관한 후, 상기 거래소 소유 전자지갑에 보관된 암호화폐 단위를 근거로 상기 암호화폐 거래소 내부의 거래소 원장을 이용하여 상기 암호화폐 거래소에 회원 가입한 각 회원 명의의 거래소지갑 사이에 실물화폐를 매개로 하는 매도/매입 기반의 거래소 기반 암호화폐 거래를 제공한다. A typical cryptocurrency exchange does not provide a P2P based cryptocurrency between valid electronic wallets on an external blockchain network, but creates one or more valid exchange-owned electronic wallets on an external blockchain network and trades the P2P based cryptocurrency. After storing the cryptocurrency of the designated unit in the exchange-owned electronic wallet through the method, based on the cryptocurrency unit stored in the exchange-owned electronic wallet, the member on the cryptocurrency exchange using the exchange ledger inside the cryptocurrency exchange. Provides exchange / purchase-based exchange-based cryptocurrency trading with real currency between exchange wallets of each member's name.
통상의 거래소 기반 암호화폐 거래는 실제 외부 블록체인 네트워크를 통해 수행되는 실제 암호화폐 거래가 아니라, 상기 암호화폐 거래소 내부의 거래소 원장을 통해 가상으로 구현되는 암호화폐 거래로서, 상기 거래소 기반 암호화폐 거래의 거래내역은 외부 블록체인 네트워크를 구현하는 노드장치의 분산 원장에 전혀 반영되지 않는다. 따라서 상기 암호화폐 거래소의 거래소 원장이나 각 회원의 거래소지갑이 해킹될 경우 상기 거래소 소유 전자지갑에 보관된 암호화폐가 도난되지는 않더라도 상기 거래소 소유 전자지갑에 보관된 암호화폐의 각 회원 별 소유권을 확인할 수 없는 문제점을 지니고 있다.Conventional exchange-based cryptocurrency trading is not a real cryptocurrency transaction performed through an actual external blockchain network, but a cryptocurrency transaction virtually implemented through an exchange ledger inside the cryptocurrency exchange. The details are not reflected at all in the distributed ledger of the node device implementing the external blockchain network. Therefore, when the exchange ledger of the cryptocurrency exchange or the exchange wallet of each member is hacked, even if the cryptocurrency stored in the electronic wallet owned by the exchange is not stolen, the ownership of each member of the cryptocurrency stored in the electronic wallet owned by the exchange is checked. I have a problem that I can't.
한편 사용자가 암호화폐 거래소에 생성된 본인 명의의 거래소지갑에서 외부 블록체인 네트워크 상의 유효한 수신 측 전자지갑으로 암호화폐의 송금을 요청하는 경우, 상기 암호화폐 거래소는 상기 사용자 명의의 거래소지갑과 연계된 외부 블록체인 네트워크 상의 거래소 소유 전자지갑을 확인하고 상기 외부 블록체인 네트워크를 통해 상기 거래소 소유 전자지갑에서 상기 수신 측 전자지갑으로 암호화폐를 송금하는 거래소 기반 P2P 암호화폐 거래를 수행할 수 있다. 이러한 거래소 기반 P2P 암호화폐 거래의 거래내역은 상기 외부 블록체인 네트워크 상의 분산 원장에 반영되기는 하지만, 상기 분산 원장에 반영되는 거래내역은 상기 암호화폐 거래소에 생성된 사용자 명의의 거래소지갑과 상기 외부 블록체인 네트워크 상의 수신 측 전자지갑 사이의 거래내역이 아니라, 상기 외부 블록체인 네트워크 상의 거래소 소유 전자지갑과 상기 수신 측 전자지갑 사이의 거래내역이다. On the other hand, when a user requests a transfer of cryptocurrency from a user's name exchange wallet created on a cryptocurrency exchange to a valid receiving electronic wallet on an external blockchain network, the cryptocurrency exchange is connected to an external wallet associated with the user's name. The exchange-owned electronic wallet on the blockchain network may be identified and exchange-based P2P cryptocurrency transactions may be performed to transfer cryptocurrency from the exchange-owned electronic wallet to the receiving electronic wallet through the external blockchain network. Although the transaction history of the exchange-based P2P cryptocurrency transaction is reflected in the distributed ledger on the external blockchain network, the transaction history reflected in the distributed ledger is the exchange wallet of the user name created on the cryptocurrency exchange and the external blockchain. It is not a transaction between the receiving electronic wallet on the network, but a transaction between the exchange-owned electronic wallet on the external blockchain network and the receiving electronic wallet.
한편 통상적으로 P2P 기반 암호화폐 거래를 위해서는 상술한 바와 같이 외부 블록체인 네트워크 상에 유효한 전자지갑을 생성하여야 하며, 상기 전자지갑을 생성하는 과정에서 공개키와 개인키의 키 쌍이 생성된다. 한편 외부 블록체인 네트워크를 통해 상기 전자지갑으로 암호화폐를 이전받기 위해서는 상기 전자지갑의 공개키만 공개되어 있으면 되지만, 상기 전자지갑에 보관된 암호화폐를 다른 전자지갑으로 송금하는 경우 상기 상기 전자지갑의 개인키를 이용한 서명을 수행해야 한다. 즉 외부 블록체인 네트워크 상에 생성된 전자지갑의 개인키만 있으면 언제든 외부 블록체인 네트워크를 통해 해당 전자지갑에 보관된 암호화폐를 다른 전자지갑으로 송금할 수 있다.In general, for P2P-based cryptocurrency transactions, a valid electronic wallet must be generated on an external blockchain network as described above, and a key pair of a public key and a private key is generated in the process of generating the electronic wallet. On the other hand, in order to transfer the cryptocurrency to the electronic wallet through an external blockchain network, only the public key of the electronic wallet needs to be disclosed, but when transferring the cryptocurrency stored in the electronic wallet to another electronic wallet, The signature must be performed using the private key. That is, if there is a private key of an electronic wallet created on an external blockchain network, the cryptocurrency stored in the electronic wallet can be transferred to another electronic wallet through the external blockchain network at any time.
한편 암호화폐 거래소의 거래소 기반 암호화폐 거래를 위한 거래소 소유 전자지갑도 외부 블록체인 네트워크 상에 생성된 전자지갑이므로, 상기 거래소 소유 전자지갑의 개인키를 탈취하기만 하면 상기 거래소 소유 전자지갑에 보관된 암호화폐를 언제든 외부 블록체인 네트워크를 통해 다른 전자지갑으로 송금할 수 있다. 설령 상기 거래소 소유 전자지갑의 개인키를 네트워크에 연결되지 않은 오프라인 상의 저장장치에 보관하더라도 개인키를 사용하는 과정까지 오프라인 상태로 진행하지 않을 경우 상기 거래소 소유 전자지갑의 개인키는 네트워크에 연결된 후에 언제든 탈취될 수 있으며, 이 경우 상기 암호화폐 거래소의 거래소 기반 암호화폐 거래를 위해 거래소 소유 전자지갑에 보관된 암호화폐가 모두 탈취되어 도난될 수 있는 치명적인 문제점을 지니고 있다. Meanwhile, since the exchange-owned electronic wallet for the exchange-based cryptocurrency trading of the cryptocurrency exchange is also an electronic wallet created on an external blockchain network, it is stored in the exchange-owned electronic wallet only by stealing the private key of the exchange-owned electronic wallet. Cryptocurrency can be sent to other electronic wallets at any time through an external blockchain network. Even if the private key of the exchange-owned electronic wallet is stored in an offline storage device that is not connected to the network, the private key of the exchange-owned electronic wallet is connected to the network at any time unless the offline state is performed until the process of using the private key. In this case, it has a fatal problem that all the cryptocurrencies stored in the exchange-owned electronic wallet for the exchange-based cryptocurrency trading of the cryptocurrency exchange can be stolen and stolen.
실제로 2018년01월26일 일본의 주요 암호화폐 거래소인 코인체크(Coincheck)는 거래소 소유 전자지갑의 개인키를 네트워크에 연결한 상태에서 사용하여 약 26만명 회원의 약 5700억 원 상당의 암호화폐를 도난당하는 해킹 사건이 발생하였다. 이러한 개인키 해킹 문제를 해소하는 방법 중 한가지 방법은 전자지갑의 개인키를 오프라인 상의 저장장치에 보관하고 개인키를 사용하는 과정까지 오프라인 상태로 진행한 후 온라인으로 전환하여 외부 블록체인 네트워크를 통해 개인키 사용 이후의 절차를 진행하는 것이다. 한편 이러한 방법은 거래 소요 시간이 제약되지 않는 단순 P2P 기반 암호화폐 거래에 유효하게 적용될 수 있기는 하지만, 각 블록 생성 주기 별로 수십 내지 수만 건의 거래소 기반 P2P 암호화폐 거래를 처리해야 하는 거래소 소유 전자지갑의 개인키에 적용하기에는 기술적으로 난해한 문제점을 지니고 있다.In fact, on January 26, 2018, Coincheck, Japan's major cryptocurrency exchange, used a private key of exchange-owned electronic wallet while connecting to the network, and used about 570 billion won worth of 260,000 members. A stolen hacking incident occurred. One of the ways to solve this private key hacking problem is to store the private key of the electronic wallet in an offline storage device, proceed offline until the process of using the private key, and then go online to the individual through the external blockchain network. The procedure after using the key is to proceed. While this method can be effectively applied to simple P2P-based cryptocurrency trading with no time limit, it is necessary to exchange exchange-owned electronic wallets that must handle tens or tens of thousands of exchange-based P2P cryptocurrency transactions in each block generation cycle. It is technically difficult to apply to private keys.
상기와 같은 문제점을 해소하기 위한 본 발명의 목적은, 지정된 외부 블록체인 네트워크 상에 유효 생성된 하나 이상의 전자지갑으로부터 지정된 암호화폐 단위를 스마트 컨트랙트로 예치받는 예치 기능부와, 지정된 암호화폐를 예치한 사용자의 공개키를 확인하여 지정된 저장영역에 저장하는 저장 기능부와, 스마트 컨트랙트에 예치된 암호화폐를 인출받을 사용자의 전자지갑 주소와 상기 인출될 암호화폐 단위 및 사용자의 개인키를 통해 생성된 인증정보를 포함하는 인출정보를 확인하는 확인 기능부와, 상기 사용자의 공개키를 이용하여 상기 인증정보의 유효성을 인증하는 인증 절차를 포함하는 하나 이상의 지정된 인증 절차를 수행하는 인증 기능부와, 상기 지정된 인증 절차의 인증 성공 시 상기 사용자의 전자지갑 주소로 상기 암호화폐 단위를 인출하는 인출 기능부를 구현하는 프로그램 코드를 포함하는 스마트 컨트랙트(Smart Contract)의 지정된 저장영역에 사용자의 공개키를 기록한 후, 상기 외부 블록체인 네트워크와 구별되는 별도의 지정된 내부 블록체인 네트워크를 통해 상기 스마트 컨트랙트에 예치된 암호화폐에 근거하는 암호화폐 거래를 제공하되, 상기 외부 블록체인 네트워크 상의 스마트 컨트랙트에 예치된 암호화폐 중 상기 내부 블록체인 네트워크를 통한 암호화폐 거래 결과의 적어도 일부에 대응하는 암호화폐를 상기 외부 블록체인 네트워크 상에 유효 생성된 사용자의 전자지갑으로 인출 시 지정된 본인 인증 절차를 수행하여 인증된 사용자의 전자지갑 주소와 상기 인출될 암호화폐 단위 및 상기 인증된 사용자의 개인키를 통해 생성된 인증정보를 포함하는 인출정보를 상기 외부 블록체인 네트워크 상의 스마트 컨트랙트로 전달하고, 상기 스마트 컨트랙트가 상기 사용자의 공개키를 통해 상기 인증정보의 유효성을 인증한 경우에 상기 스마트 컨트랙트에 예치된 암호화폐를 상기 사용자의 전자지갑으로 안전하게 인출하는 블록체인 기반 스마트 컨트랙트를 이용한 암호화폐 거래 플랫폼 제공 방법을 제공함에 있다.An object of the present invention for solving the above problems is a deposit function unit for depositing a designated cryptocurrency unit as a smart contract from one or more electronic wallets effectively created on a designated external blockchain network, and depositing a designated cryptocurrency. A storage function that checks a user's public key and stores it in a designated storage area, and an authentication generated through an electronic wallet address of the user who is to receive the cryptocurrency deposited in the smart contract, the cryptocurrency unit to be withdrawn, and the user's private key. A verification function unit for verifying the retrieval information including the information, an authentication function unit for performing one or more specified authentication procedures including an authentication procedure for authenticating the validity of the authentication information using the public key of the user, and the designated function If the authentication is successful, the cryptocurrency unit is used as the user's electronic wallet address. After recording the user's public key in a designated storage area of a smart contract including a program code for implementing a withdrawal function to withdraw the network through the designated internal blockchain network separate from the external blockchain network Provide a cryptocurrency transaction based on a cryptocurrency deposited in a smart contract, wherein the cryptocurrency corresponding to at least a portion of a cryptocurrency transaction result through the internal blockchain network among the cryptocurrencies deposited in the smart contract on the external blockchain network; Is generated from the electronic wallet address of the authenticated user, the cryptocurrency unit to be withdrawn, and the private key of the authenticated user by performing a designated identity authentication procedure when withdrawing the electronic wallet of a user effectively created on the external blockchain network. Withdrawal information, including When the smart contract is delivered to a smart contract on an external blockchain network and the smart contract authenticates the validity of the authentication information through the public key of the user, the cryptocurrency deposited in the smart contract is safely withdrawn by the electronic wallet of the user. The present invention provides a method for providing a cryptocurrency trading platform using a blockchain-based smart contract.
본 발명에 따른 블록체인 기반 스마트 컨트랙트를 이용한 암호화폐 거래 플랫폼 제공 방법은, 스마트 컨트랙트(Smart Contract)를 지원하는 B(B≥1)개의 외부 블록체인 네트워크와 연동 가능한 운영서버를 통해 실행되는 방법에 있어서, 지정된 외부 블록체인 네트워크 상에 유효 생성된 하나 이상의 전자지갑으로부터 지정된 암호화폐 단위를 스마트 컨트랙트로 예치받는 예치 기능부와, 지정된 암호화폐를 예치한 사용자의 공개키를 확인하여 지정된 저장영역에 저장하는 저장 기능부와, 스마트 컨트랙트에 예치된 암호화폐를 인출받을 사용자의 전자지갑 주소와 상기 인출될 암호화폐 단위 및 사용자의 개인키를 통해 생성된 인증정보를 포함하는 인출정보를 확인하는 확인 기능부와, 상기 사용자의 공개키를 이용하여 상기 인증정보의 유효성을 인증하는 인증 절차를 포함하는 하나 이상의 지정된 인증 절차를 수행하는 인증 기능부와, 상기 지정된 인증 절차의 인증 성공 시 상기 사용자의 전자지갑 주소로 상기 암호화폐 단위를 인출하는 인출 기능부를 구현하는 프로그램 코드를 포함하는 스마트 컨트랙트(Smart Contract)를 상기 외부 블록체인 네트워크 상에 구비된 M(M≥2)개의 노드장치에 등록하는 절차를 수행하는 제1 단계와, 상기 외부 블록체인 네트워크 상의 스마트 컨트랙트에 사용자의 공개키를 기록하는 절차와 상기 스마트 컨트랙트에 기록된 사용자의 공개키를 확인하는 절차 중 적어도 하나를 수행하는 제2 단계와, 상기 외부 블록체인 네트워크와 구별되는 별도의 지정된 내부 블록체인 네트워크를 통해 상기 스마트 컨트랙트에 예치된 암호화폐에 근거하는 지정된 암호화폐 거래를 처리하는 절차를 수행하는 제3 단계와, 상기 외부 블록체인 네트워크 상의 스마트 컨트랙트에 예치된 암호화폐 중 상기 내부 블록체인 네트워크를 통한 암호화폐 거래 결과의 적어도 일부에 대응하는 암호화폐를 상기 외부 블록체인 네트워크 상에 유효 생성된 사용자의 전자지갑으로 인출 시, 암호화폐 인출을 위한 본인 인증 절차를 수행하여 인증된 사용자의 전자지갑 주소와 상기 인출될 암호화폐 단위 및 상기 인증된 사용자의 개인키를 통해 생성된 인증정보를 확인하는 제4 단계와, 기 설정된 스마트 컨트랙트 동작 절차에 따라 상기 암호화폐를 인출받을 사용자의 전자지갑 주소와 상기 인출될 암호화폐 단위 및 상기 생성된 인증정보를 포함하는 인출정보를 상기 외부 블록체인 네트워크 상의 스마트 컨트랙트로 전달하기 위한 절차를 수행하는 제5 단계를 포함한다.A method for providing a cryptocurrency trading platform using a blockchain-based smart contract according to the present invention is provided in a method executed through an operation server interoperable with B (B≥1) external blockchain networks supporting a smart contract. The mobile terminal further includes: a deposit function for depositing a designated cryptocurrency unit as a smart contract from one or more electronic wallets validly created on a designated external blockchain network; A storage function unit for checking the withdrawal information including the electronic wallet address of the user who is to receive the cryptocurrency deposited in the smart contract and the authentication information generated through the cryptocurrency unit to be withdrawn and the user's private key; And authenticating the validity of the authentication information using the public key of the user. An authentication function for performing one or more specified authentication procedures including an authentication procedure, and program code for implementing a withdrawal function for withdrawing the cryptocurrency unit to the user's electronic wallet address upon successful authentication of the specified authentication procedure. A first step of registering a smart contract with M (M≥2) node devices provided on the external blockchain network; and a user's public key to the smart contract on the external blockchain network. A second step of performing at least one of a procedure of recording a message and a process of verifying a public key of a user recorded in the smart contract; and the smart contract through a separate designated internal blockchain network distinct from the external blockchain network. To handle specified cryptocurrency transactions based on cryptocurrencies deposited in A third step of performing a difference and a cryptocurrency corresponding to at least a portion of a cryptocurrency transaction result through the internal blockchain network among the cryptocurrencies deposited in the smart contract on the external blockchain network on the external blockchain network; When withdrawing to the electronic wallet of a validly created user, perform a user authentication procedure for withdrawing cryptocurrency, authentication information generated through the electronic wallet address of the authenticated user, the cryptocurrency unit to be withdrawn and the private key of the authenticated user The external blockchain includes a fourth step of verifying and withdrawing information including the electronic wallet address of the user who is to withdraw the cryptocurrency, the cryptocurrency unit to be withdrawn, and the generated authentication information according to a preset smart contract operation procedure. A fifth step of performing a procedure for delivery to a smart contract on the network Include.
본 발명에 따르면, 상기 사용자의 공개키는 상기 사용자의 전자지갑 생성 과정을 통해 생성된 공개키와 개인키의 키 쌍 중 상기 공개키를 포함할 수 있다. 한편 상기 사용자의 공개키는 상기 사용자의 전자지갑 주소로 이용될 수 있다. 한편 사용자단말을 통해 사용자의 전자지갑에 보유된 지정된 암호화폐 단위가 상기 외부 블록체인 네트워크 상의 스마트 컨트랙트에 예치된 경우, 상기 저장 기능부는 상기 스마트 컨트랙트에 상기 암호화폐를 예치한 사용자의 전자지갑 주소와 상기 예치된 암호화폐 단위를 포함하는 암호화폐 예치정보를 지정된 저장영역에 저장하는 기능을 포함하며, 상기 제2 단계는 상기 스마트 컨트랙트의 지정된 저장영역을 참조하여 상기 스마트 컨트랙트에 상기 암호화폐를 예치한 사용자의 전자지갑 주소와 상기 예치된 암호화폐 단위를 포함하는 암호화폐 예치정보를 확인하는 단계와, 상기 스마트 컨트랙트에 상기 암호화폐를 예치한 사용자의 전자지갑 주소와 상기 예치된 암호화폐 단위를 포함하는 암호화폐 예치정보를 지정된 데이터베이스에 저장하는 단계를 포함할 수 있다. 한편 상기 지정된 저장영역은 스마트 컨트랙트의 상태를 저장하는 저장영역, 또는 상기 암호화폐의 예치와 관련된 정보를 저장하기 위해 설정된 저장영역을 포함할 수 있다. 또는 상기 지정된 저장영역은 암호화폐의 거래를 저장하는 저장영역을 포함할 수 있다.According to the present invention, the public key of the user may include the public key of a key pair of a public key and a private key generated through the electronic wallet generation process of the user. The public key of the user may be used as the electronic wallet address of the user. On the other hand, if the designated cryptocurrency unit held in the user's electronic wallet through the user terminal is deposited in the smart contract on the external blockchain network, the storage function unit is connected to the electronic wallet address of the user who deposited the cryptocurrency in the smart contract. And storing the cryptocurrency deposit information including the deposited cryptocurrency unit in a designated storage area, wherein the second step refers to depositing the cryptocurrency in the smart contract with reference to a designated storage area of the smart contract. Checking cryptocurrency deposit information including the electronic wallet address of the user and the deposited cryptocurrency unit, and including the electronic wallet address of the user who deposited the cryptocurrency in the smart contract and the deposited cryptocurrency unit Stores cryptocurrency deposit information in a specified database It may include a step. The designated storage area may include a storage area for storing a state of a smart contract, or a storage area set for storing information related to deposit of the cryptocurrency. Alternatively, the designated storage area may include a storage area for storing transactions of cryptocurrency.
본 발명에 따르면, 상기 사용자의 공개키는 상기 사용자의 전자지갑 생성과 무관하게 별도 생성된 공개키와 개인키의 키 쌍 중 상기 공개키를 포함할 수 있다. 한편 상기 사용자의 공개키는 지정된 암호화폐를 예치한 사용자의 전자지갑 주소와 연계되어 지정된 저장영역에 저장될 수 있다. 한편 상기 사용자의 개인키는 상기 사용자의 공개키와 사용자의 전자지갑 주소를 연계하여 지정된 저장영역에 저장함에 의해 상기 사용자의 전자지갑과 연계될 수 있다. 한편 상기 제2 단계는 사용자단말을 통해 접속한 사용자에 대하여 지정된 본인 인증 절차를 수행하는 단계와, 사용자단말을 통해 사용자의 전자지갑에 보유된 지정된 암호화폐 단위가 상기 외부 블록체인 네트워크 상의 스마트 컨트랙트에 예치된 경우, 상기 별도 생성된 사용자의 공개키를 확인하고 기 설정된 스마트 컨트랙트 동작 절차에 따라 상기 사용자의 공개키와 사용자의 전자지갑 주소를 상기 외부 블록체인 네트워크 상의 스마트 컨트랙트로 제공하는 절차를 수행하는 단계를 포함하고, 상기 저장 기능부는 사용자의 전자지갑에 보유된 지정된 암호화폐 단위가 예치된 경우 상기 스마트 컨트랙트에 상기 암호화폐를 예치한 사용자의 전자지갑 주소와 상기 예치된 암호화폐 단위를 포함하는 암호화폐 예치정보를 지정된 저장영역에 저장하는 기능과, 기 설정된 스마트 컨트랙트 동작 절차를 통해 상기 스마트 컨트랙트로 제공된 사용자의 공개키와 사용자의 전자지갑 주소를 확인하고 지정된 저장영역에 상기 사용자의 공개키와 사용자의 전자지갑 주소를 연계 저장하는 기능을 포함할 수 있다.According to the present invention, the public key of the user may include the public key of a key pair of a public key and a private key generated separately regardless of the electronic wallet generation of the user. Meanwhile, the public key of the user may be stored in the designated storage area in association with the electronic wallet address of the user who deposited the designated cryptocurrency. On the other hand, the user's private key may be associated with the user's electronic wallet by storing the user's public key and the user's electronic wallet address in a designated storage area. Meanwhile, the second step includes performing a designated identity authentication procedure for a user connected through a user terminal, and assigning a designated cryptocurrency unit held in the user's electronic wallet to the smart contract on the external blockchain network through the user terminal. When the deposit is made, checking the separately generated user's public key and performing the procedure of providing the user's public key and the user's electronic wallet address to the smart contract on the external blockchain network according to a preset smart contract operation procedure. And the storage function unit includes an electronic wallet address of the user who deposited the cryptocurrency in the smart contract and the deposited cryptocurrency unit when the designated cryptocurrency unit held in the electronic wallet of the user is deposited. To store money deposit information in a designated storage area And a function of checking a user's public key provided to the smart contract and the user's electronic wallet address through a predetermined smart contract operation procedure and associating and storing the user's public key and the user's electronic wallet address in a designated storage area. It may include.
본 발명에 따르면, 상기 예치된 암호화폐 단위는 상기 인증된 사용자의 암호화폐 거래를 위해 사용자의 전자지갑으로부터 상기 스마트 컨트랙트로 예치되는 암호화폐 단위, 또는 상기 스마트 컨트랙트를 통해 상기 사용자의 전자지갑 주소를 저장 관리하기 위해 지정된 절차에 따라 상기 인증된 사용자의 전자지갑으로 지급된 후 상기 사용자의 전자지갑으로부터 상기 스마트 컨트랙트로 예치되는 암호화폐 단위를 포함할 수 있다.According to the present invention, the deposited cryptocurrency unit is a cryptocurrency unit deposited from the user's electronic wallet to the smart contract for the cryptocurrency transaction of the authenticated user, or the electronic wallet address of the user through the smart contract. It may include a cryptocurrency unit that is paid to the electronic wallet of the authenticated user according to a specified procedure for storage management and then deposited into the smart contract from the electronic wallet of the user.
본 발명에 따르면, 상기 암호화폐는 지정된 외부 블록체인 네트워크를 통해 발행되는 암호코인 형태의 암호화폐, 지정된 암호코인을 발행하는 지정된 외부 블록체인 네트워크를 기반으로 구현되는 암호토큰 형태의 암호화폐 중 적어도 하나를 포함할 수 있다.According to the present invention, the cryptocurrency is at least one of a cryptocurrency type cryptocurrency issued through a designated external blockchain network, and at least one of a cryptocurrency token type cryptocurrency implemented based on a designated external blockchain network that issues a designated cryptocoin. It may include.
본 발명에 따르면, 상기 제2 단계는 상기 스마트 컨트랙트의 지정된 저장영역에 저장된 사용자의 공개키에 대응하는 사용자를 상기 스마트 컨트랙트에 예치된 암호화폐를 인출 가능한 사용자로 설정하여 저장하는 단계를 더 포함할 수 있다.According to the present invention, the second step may further include setting and storing a user corresponding to the public key of the user stored in the designated storage area of the smart contract as a user withdrawable cryptocurrency deposited in the smart contract. Can be.
본 발명에 따르면, 상기 암호화폐 인출을 위한 본인 인증 절차는 상기 암호화폐를 인출할 사용자가 상기 스마트 컨트랙트의 지정된 저장영역에 본인의 공개키가 저장되어 상기 스마트 컨트랙트에 예치된 암호화폐를 인출 가능한 사용자인지 인증하는 단계를 포함할 수 있다.According to the present invention, the user authentication procedure for the withdrawal of the cryptocurrency is a user who can withdraw the cryptocurrency is stored in the designated storage area of the smart contract, the public key of the user who can withdraw the cryptocurrency deposited in the smart contract Recognition may include the step of authenticating.
본 발명에 따르면, 상기 제3 단계는 상기 외부 블록체인 네트워크 상의 스마트 컨트랙트에 사용자의 공개키를 저장한 경우, 상기 내부 블록체인 네트워크 상에 사용자의 내부지갑을 생성하거나 기 생성된 사용자의 내부지갑 주소를 확인하는 단계와, 상기 외부 블록체인 네트워크 상의 사용자 전자지갑을 통해 상기 외부 블록체인 네트워크 상의 스마트 컨트랙트에 예치된 암호화폐 단위를 확인하여 상기 내부 블록체인 네트워크 상에 생성된 사용자의 내부지갑에 적용하는 단계를 더 포함할 수 있다.According to the present invention, in the third step, when the user's public key is stored in a smart contract on the external blockchain network, the user's internal wallet address is generated or the user's internal wallet address is previously created on the internal blockchain network. And confirming the cryptocurrency units deposited in the smart contract on the external blockchain network through the user electronic wallet on the external blockchain network, and applying them to the internal wallet of the user created on the internal blockchain network. It may further comprise a step.
본 발명에 따르면, 상기 제3 단계는 상기 내부 블록체인 네트워크 상에 생성된 사용자의 내부지갑에 적용된 암호화폐를 다른 사용자의 내부지갑으로 이전하는 암호화폐 거래를 처리하는 단계를 더 포함할 수 있다.According to the present invention, the third step may further include a step of processing a cryptocurrency transaction for transferring the cryptocurrency applied to the user's internal wallet created on the internal blockchain network to another user's internal wallet.
본 발명에 따르면, 상기 제3 단계는 사용자단말로 상기 내부 블록체인 네트워크 상에 생성된 사용자의 내부지갑을 이용하여 거래소 기반 암호화폐 거래를 처리하기 위한 암호화폐 거래 환경을 제공하는 단계와, 사용자단말로부터 상기 암호화폐 거래 환경을 통해 요청되는 거래소 기반 암호화폐 거래를 처리하는 단계를 더 포함할 수 있다.According to the present invention, the third step includes providing a cryptocurrency trading environment for processing an exchange-based cryptocurrency transaction using an internal wallet of a user created on the internal blockchain network as a user terminal, and a user terminal. The method may further include processing an exchange-based cryptocurrency transaction requested through the cryptocurrency trading environment.
본 발명에 따르면, 상기 내부 블록체인 네트워크를 이용한 암호화폐 거래의 거래내역을 지정된 데이터베이스에 동기화하여 저장하는 단계를 더 포함할 수 있다.According to the present invention, the method may further include synchronizing and storing the transaction history of the cryptocurrency transaction using the internal blockchain network in a designated database.
본 발명에 따르면, 상기 내부 블록체인 네트워크는 B개의 외부 블록체인 네트워크를 통해 구현되는 C(C≥B)종의 암호화폐 중에서 지정된 c(1≤c≤C)종의 암호화폐에 대한 동종 간 암호화폐 거래와 이종 간 암호화폐 거래 중 하나 이상의 암호화폐 거래를 탈중앙화 방식 암호화폐 거래로 처리하기 위해 설계된 블록체인 네트워크를 포함할 수 있다.According to the present invention, the internal blockchain network is a homogeneous cryptocurrency for a specified c (1≤c≤C) cryptocurrency among C (C≥B) cryptocurrencies implemented through B external blockchain networks. It may include a blockchain network designed to process one or more cryptocurrency transactions between currency transactions and heterogeneous cryptocurrency transactions as decentralized cryptocurrency transactions.
본 발명에 따르면, 상기 내부 블록체인 네트워크는 B개의 외부 블록체인 네트워크와 망분리된 형태의 블록체인 네트워크를 포함할 수 있다.According to the present invention, the internal blockchain network may include a blockchain network in a form of a network separated from B external blockchain networks.
본 발명에 따르면, 상기 탈중앙화 방식 암호화폐 거래는 상기 내부 블록체인 네트워크를 이용한 암호화폐 거래의 중간 과정을 상기 외부 블록체인 네트워크에 반영하지 않을 수 있다.According to the present invention, the decentralized cryptocurrency transaction may not reflect the intermediate process of the cryptocurrency transaction using the internal blockchain network to the external blockchain network.
본 발명에 따르면, 상기 탈중앙화 방식 암호화폐 거래는 상기 외부 블록체인 네트워크 상의 스마트 컨트랙트에 예치된 암호화폐 단위를 사용자의 전자지갑으로 인출하는 과정을 통해서만 상기 인출 과정의 직전까지 상기 내부 블록체인 네트워크를 통해 수행된 암호화폐 거래 결과 중 적어도 일부가 상기 외부 블록체인 네트워크에 반영될 수 있다.According to the present invention, the decentralized cryptocurrency transaction uses the internal blockchain network until just before the withdrawal process only through the process of withdrawing the cryptocurrency unit deposited in the smart contract on the external blockchain network to the user's electronic wallet. At least a part of the result of the cryptocurrency transaction performed through may be reflected in the external blockchain network.
본 발명에 따르면, 상기 동종 간 암호화폐 거래는 송금 측 사용자의 내부지갑에서 제i(1≤i≤c)의 암호화폐를 인출하여 수취 측 사용자의 내부지갑으로 이전하는 암호화폐 거래를 포함할 수 있다. 한편 상기 송금 측 사용자는 상기 외부 블록체인 네트워크 상의 스마트 컨트랙트에 제i의 암호화폐를 예치한 사용자를 포함하고, 상기 수취 측 사용자는 상기 외부 블록체인 네트워크 상의 스마트 컨트랙트에 예치된 제i의 암호화폐를 인출하는 사용자를 포함할 수 있다.According to the present invention, the same type of cryptocurrency transaction may include a cryptocurrency transaction that withdraws the i-th (1≤i≤c) cryptocurrency from the internal wallet of the remitting user and transfers it to the internal wallet of the receiving user. have. On the other hand, the user on the remittance side includes a user who deposits the i-th cryptocurrency in the smart contract on the external blockchain network, and the recipient-side user includes the i-th cryptocurrency deposited in the smart contract on the external blockchain network. It may include a user to withdraw.
본 발명에 따르면, 상기 동종 간 암호화폐 거래는 실물화폐와 제i(1≤i≤c)의 암호화폐 간 환율을 기반으로 상기 실물화폐를 이용하여 매도 측 사용자의 내부지갑에서 제i의 암호화폐를 인출하여 매수 측 사용자의 내부지갑으로 이전하는 암호화폐 거래를 포함할 수 있다.According to the present invention, the cryptocurrency transaction between the same kind is based on the exchange rate between the real currency and the i-th (1 ≤ i ≤ c) cryptocurrency. It may include a cryptocurrency transaction to withdraw and transfer to the internal wallet of the purchase user.
본 발명에 따르면, 상기 동종 간 암호화폐 거래는 기 설정된 기준 암호화폐와 제i(1≤i≤c)의 암호화폐 간 환율을 기반으로 상기 기준 암호화폐를 이용하여 매도 측 사용자의 내부지갑에서 제i의 암호화폐를 인출하여 매수 측 사용자의 내부지갑으로 이전하는 암호화폐 거래를 포함할 수 있다.According to the present invention, the transaction between the same kind of cryptocurrency is based on the exchange rate between the predetermined reference cryptocurrency and the cryptocurrency of the i (1≤i≤c) using the reference cryptocurrency. It may include a cryptocurrency transaction that withdraws the cryptocurrency of i and transfers it to the internal wallet of the purchase user.
본 발명에 따르면, 상기 이종 간 암호화폐 거래는 송금 측 사용자의 내부지갑에서 제i(1≤i≤c)의 암호화폐를 인출하고 각 암호화폐 간 환율을 기반으로 상기 제i의 암호화폐를 지정된 제j(1≤j≤c, i≠j)의 암호화폐로 변환하여 수취 측 사용자의 내부지갑으로 이전하는 암호화폐 거래를 포함할 수 있다. 한편 상기 송금 측 사용자는 상기 외부 블록체인 네트워크 상의 스마트 컨트랙트에 제i의 암호화폐를 예치한 사용자를 포함하고, 상기 수취 측 사용자는 상기 외부 블록체인 네트워크 상의 스마트 컨트랙트에 예치된 제j의 암호화폐를 인출하는 사용자를 포함할 수 있다.According to the present invention, the heterogeneous cryptocurrency transaction withdraws the i-th (1 ≤ i ≤ c) cryptocurrency from the internal wallet of the user of the remittance side and designates the i-th cryptocurrency based on the exchange rate between each cryptocurrency. It may include a cryptocurrency transaction that converts the jth (1 ≦ j ≦ c, i ≠ j) to be transferred to the internal wallet of the receiving user. On the other hand, the user of the remittance side includes a user who deposits the i-th cryptocurrency in a smart contract on the external blockchain network, and the receiving-side user deposits the j-th cryptocurrency deposited in a smart contract on the external blockchain network. It may include a user to withdraw.
본 발명에 따르면, 상기 제4 단계는 사용자단말을 통해 접속한 사용자에 대하여 암호화폐의 인출을 위해 지정된 본인 인증 절차를 수행하는 단계와, 상기 사용자의 본인 인증 시 상기 사용자단말을 통해 상기 암호화폐가 인출될 사용자의 전자지갑 주소와 암호화폐 단위를 수신하거나 확인하고, 상기 본인 인증을 통해 인증된 사용자의 개인키를 통해 생성된 인증정보를 수신하거나 확인하는 단계를 포함할 수 있다. According to the present invention, the fourth step includes the step of performing a designated user authentication procedure for the withdrawal of cryptocurrency for a user connected through a user terminal, and when the user authenticates the user through the user terminal. Receiving or confirming the electronic wallet address and the cryptocurrency unit of the user to be withdrawn, and receiving or confirming the authentication information generated through the private key of the user authenticated through the user authentication.
본 발명에 따르면, 상기 인증정보는 상기 사용자의 개인키를 이용하여 상기 운영서버와 상기 스마트 컨트랙트 사이에 합의되거나 동기화되는 데이터를 기 설정된 암호 방식으로 암호화하여 생성한 인증정보를 포함할 수 있다.According to the present invention, the authentication information may include authentication information generated by encrypting data, which is agreed or synchronized between the operation server and the smart contract by using a predetermined encryption method, using the user's private key.
본 발명에 따르면, 상기 제4 단계는 각 사용자단말을 통해 접속한 적어도 i(i≥1)명의 사용자에 대하여 암호화폐의 인출을 위해 지정된 본인 인증 절차를 수행하는 단계와, 상기 i명의 사용자의 본인 인증 시 상기 사용자단말을 통해 상기 암호화폐가 인출될 i개의 사용자의 전자지갑 주소와 i개의 암호화폐 단위를 수신하거나 확인하고, 상기 본인 인증을 통해 인증된 i개의 사용자의 개인키를 통해 제각기 생성된 i개의 인증정보를 수신하거나 확인하는 단계를 포함할 수 있다.According to the present invention, the fourth step includes performing a designated user authentication procedure for withdrawal of cryptocurrency for at least i (i≥1) users connected through each user terminal, and the i-identities of the i users. Receive or confirm the electronic wallet addresses and i cryptocurrency units of the i user to which the cryptocurrency is to be withdrawn through the user terminal at the time of authentication, and are respectively generated through the private keys of the i users authenticated through the user authentication. Receiving or confirming the i authentication information may include.
본 발명에 따르면, 상기 인증정보는 i(i≥1)개의 사용자의 개인키를 이용하여 상기 운영서버와 상기 스마트 컨트랙트 사이에 합의되거나 동기화되는 데이터를 기 설정된 암호 방식으로 암호화하여 생성한 i개의 인증정보를 포함할 수 있다.According to the present invention, the authentication information is i authentications generated by encrypting the data agreed or synchronized between the operation server and the smart contract using a predetermined cipher method using i (i≥1) users' private keys. May contain information.
본 발명에 따르면, 상기 제5 단계는 기 설정된 스마트 컨트랙트 동작 절차에 따라 상기 외부 블록체인 네트워크 상의 기 설정된 특정 노드장치를 통해 상기 외부 블록체인 네트워크 상의 각 노드장치로 상기 인출정보를 포함하는 지정된 구조의 메시지를 방송하도록 처리하는 절차를 수행하는 단계를 포함할 수 있다.According to the present invention, the fifth step includes a designated structure including the withdrawal information to each node device on the external block chain network through a predetermined specific node device on the external block chain network according to a preset smart contract operation procedure. Performing a procedure of processing to broadcast the message.
본 발명에 따르면, 상기 스마트 컨트랙트 동작 절차는 상기 특정 노드장치의 개인키를 이용하여 상기 스마트 컨트랙트의 동작을 위한 지정된 구조의 메시지를 상기 외부 블록체인 네트워크 상의 각 노드장치로 방송하는 절차를 포함할 수 있다.According to the present invention, the smart contract operation procedure may include a procedure of broadcasting a message having a designated structure for the operation of the smart contract to each node device on the external blockchain network using the private key of the specific node device. have.
본 발명에 따르면, 상기 특정 노드장치는 상기 외부 블록체인 네트워크 상의 노드장치 중 상기 운영서버와 연동하는 노드장치, 또는 상기 외부 블록체인 네트워크 상의 노드장치 중 상기 운영서버가 상기 메시지의 방송을 위한 개인키를 관리하는 노드장치를 포함할 수 있다.According to the present invention, the specific node device is a node device interoperating with the operation server among the node devices on the external blockchain network, or a private key for the operation server to broadcast the message among the node devices on the external blockchain network. It may include a node device for managing.
본 발명에 따르면, 상기 메시지는 상기 인출정보를 파라미터로 포함할 수 있다.According to the present invention, the message may include the withdrawal information as a parameter.
본 발명에 따르면, 상기 메시지는 상기 메시지를 다른 노드장치로 방송하는 특정 노드장치의 지정된 주소를 포함할 수 있다.According to the present invention, the message may include a designated address of a specific node device that broadcasts the message to another node device.
본 발명에 따르면, 상기 메시지는 상기 블록체인 네트워크 상의 노드장치에 등록된 상기 스마트 컨트랙트의 지정된 주소와 상기 스마트 컨트랙트 상의 확인 기능부에 대응하는 함수의 주소 중 적어도 하나의 주소를 포함할 수 있다.According to the present invention, the message may include at least one address of the designated address of the smart contract registered in the node device on the blockchain network and the address of a function corresponding to the verification function on the smart contract.
본 발명에 따르면, 상기 인출정보는 암호화폐를 인출하기 위한 i(i≥1)개의 전자지갑 주소와 i개의 암호화폐 단위 및 i개의 인증정보를 포함하며, 상기 인출 기능부는 지정된 인증 절차의 인증 성공 시 상기 i개의 전자지갑 주소로 제각기 대응하는 i개의 암호화폐 단위를 인출하는 기능을 수행하는 것을 특징으로 하는 {방법}.According to the present invention, the withdrawal information includes i (i≥1) electronic wallet addresses, i cryptocurrency units, and i authentication information for withdrawing cryptocurrency, and the withdrawal function unit succeeds in authentication of a specified authentication procedure. And withdrawing i corresponding cryptocurrency units from the i electronic wallet addresses.
본 발명에 따르면, 상기 인증 기능부는 상기 인출정보에 포함된 사용자의 전자지갑 주소가 지정된 저장영역에 저장되어 있는지 인증하는 인증 절차를 수행하는 기능을 더 포함할 수 있다. 한편 상기 지정된 저장영역은 지정된 암호화폐를 예치한 사용자의 전자지갑 주소를 저장하는 저장영역, 지정된 암호화폐를 예치한 사용자의 전자지갑 주소에 대응하는 공개키를 저장하는 저장영역, 지정된 암호화폐를 예치한 사용자의 전자지갑 주소와 연계된 사용자의 공개키를 저장하는 저장영역 중 적어도 하나의 저장영역을 포함할 수 있다.According to the present invention, the authentication function unit may further include a function of performing an authentication procedure for authenticating whether the electronic wallet address of the user included in the withdrawal information is stored in a designated storage area. Meanwhile, the designated storage area includes a storage area for storing the electronic wallet address of the user who deposited the designated cryptocurrency, a storage area for storing a public key corresponding to the electronic wallet address of the user who deposited the designated cryptocurrency, and depositing the designated cryptocurrency. It may include at least one storage area of the storage area for storing the user's public key associated with the user's electronic wallet address.
본 발명에 따르면, 상기 인증정보는 지정된 운영서버와 상기 스마트 컨트랙드 사이에 합의된 문자열이나 바이너리코드를 포함하는 데이터를 상기 사용자의 개인키를 통해 지정된 암호화 방식으로 암호화하여 생성한 인증정보를 포함할 수 있다.According to the present invention, the authentication information includes authentication information generated by encrypting data including a string or binary code agreed between a designated operating server and the smart contract by a designated encryption method through the user's private key. can do.
본 발명에 따르면, 상기 인증정보는 지정된 운영서버와 상기 스마트 컨트랙드 사이에 합의된 복수의 문자열이나 복수의 바이너리코드 중 지정된 인덱스를 통해 상기 운영서버와 스마트 컨트랙트 사이에 동기화되는 문자열이나 바이너리코드를 포함하는 데이터를 상기 사용자의 개인키를 통해 지정된 암호화 방식으로 암호화하여 생성한 인증정보를 포함하며, 상기 인출정보는 상기 운영서버와 스마트 컨트랙드 사이에 상기 암호화된 문자열이나 바이너리코드를 동기화하기 위한 인덱스를 더 포함할 수 있다.According to the present invention, the authentication information is a string or binary code that is synchronized between the operating server and the smart contract through a specified index of a plurality of strings or a plurality of binary codes agreed between the designated operating server and the smart contract And authentication information generated by encrypting the data including the encrypted data using a private key of the user, wherein the withdrawal information is used to synchronize the encrypted string or binary code between the operation server and the smart contract. It may further include an index.
본 발명에 따르면, 상기 인증정보는 상기 인출정보에 포함되는 전자지갑 주소(또는 전자지갑 주소의 적어도 일부 영역)를 포함하는 데이터를 상기 사용자의 개인키를 통해 지정된 암호화 방식으로 암호화하여 생성한 인증정보를 포함할 수 있다.According to the present invention, the authentication information is authentication information generated by encrypting data including an electronic wallet address (or at least a partial region of the electronic wallet address) included in the withdrawal information by a designated encryption method through the private key of the user. It may include.
본 발명에 따르면, 상기 인증정보는 상기 인출정보에 포함되는 암호화폐 단위(또는 암호화폐 단위의 적어도 일부 영역)를 포함하는 데이터를 상기 사용자의 개인키를 통해 지정된 암호화 방식으로 암호화하여 생성한 인증정보를 포함할 수 있다.According to the present invention, the authentication information is authentication information generated by encrypting data including a cryptocurrency unit (or at least a partial region of a cryptocurrency unit) included in the withdrawal information by a designated encryption method through the user's private key. It may include.
본 발명에 따르면, 상기 인증정보는 상기 인출정보에 포함되는 전자지갑 주소(또는 전자지갑 주소의 적어도 일부 영역)과 암호화폐 단위(또는 암호화폐 단위의 적어도 일부 영역)를 포함하는 데이터를 상기 사용자의 개인키를 통해 지정된 암호화 방식으로 암호화하여 생성한 인증정보를 포함할 수 있다.According to the present invention, the authentication information may include data including an electronic wallet address (or at least a partial region of the electronic wallet address) and a cryptocurrency unit (or at least a partial region of a cryptocurrency unit) included in the withdrawal information. It may include authentication information generated by encrypting with a designated encryption method through a private key.
본 발명에 따르면, 상기 인증정보는 지정된 운영서버와 상기 스마트 컨트랙드가 기 설정된 규칙에 따라 지정된 블록체인 상의 특정 블록 내 특정 저장위치를 동기화하여 획득하는 데이터를 상기 사용자의 개인키를 통해 지정된 암호화 방식으로 암호화하여 생성한 인증정보를 포함할 수 있다.According to the present invention, the authentication information is a cryptographic scheme designated by the user's private key to obtain the data obtained by synchronizing the specified operating server and the specific storage location in a specific block on the designated block chain according to a predetermined rule of the smart contract May include authentication information generated by encryption.
본 발명에 따르면, 상기 인증 기능부는 지정된 저장영역에 저장된 사용자의 공개키를 통해 상기 인증정보를 복호화하여 지정된 운영서버와 합의되거나 동기화된 데이터와 매칭되는지 인증하는 인증 절차를 수행하는 기능을 포함할 수 있다.According to the present invention, the authentication function unit may include a function of performing an authentication procedure for decrypting the authentication information through a public key of a user stored in a designated storage area and authenticating whether it matches data agreed or synchronized with a designated operation server. have.
본 발명에 따르면, 상기 저장 기능부는 지정된 암화화폐를 인출받은 사용자의 전자지갑 주소와 상기 인출된 암호화폐 단위를 포함하는 암호화폐 인출정보를 지정된 저장영역에 저장하는 기능을 더 포함할 수 있다. 한편 상기 지정된 저장영역은 스마트 컨트랙트의 상태를 저장하는 저장영역, 또는 상기 암호화폐의 인출과 관련된 정보를 저장하기 위해 설정된 저장영역을 포함할 수 있다.According to the present invention, the storage function unit may further include a function of storing the cryptocurrency withdrawal information including the electronic wallet address of the user who received the designated cryptocurrency and the withdrawn cryptocurrency unit in a designated storage area. The designated storage area may include a storage area for storing a state of a smart contract or a storage area set for storing information related to the withdrawal of the cryptocurrency.
본 발명에 따르면, 상기 블록체인 기반 스마트 컨트랙트를 이용한 암호화폐 거래 플랫폼 제공 방법은, 상기 외부 블록체인 네트워크 상에 구비된 노드장치를 참조하여 상기 스마트 컨트랙트를 통해 지정된 사용자의 전자지갑으로 지정된 암호화폐 단위를 인출한 인출결과에 대응하는 암호화폐 인출정보를 확인하는 제6 단계와, 상기 암호화폐 인출정보를 확인한 경우 상기 사용자의 전자지갑으로 상기 암호화폐 단위를 인출한 거래정보를 생성하여 지정된 데이터베이스에 동기화하여 저장하는 제7 단계를 더 포함할 수 있다.According to the present invention, a method for providing a cryptocurrency trading platform using the blockchain-based smart contract includes a cryptocurrency unit designated as an electronic wallet of a user designated through the smart contract with reference to a node device provided on the external blockchain network. The sixth step of checking the cryptocurrency withdrawal information corresponding to the withdrawal result withdrawal, and if the cryptocurrency withdrawal information is confirmed, generates transaction information withdrawing the cryptocurrency unit with the user's electronic wallet to synchronize to the specified database The method may further include a seventh step of storing.
본 발명에 따르면, 암호화폐를 예치 가능하지만 미리 코딩된 규칙이나 기능에 의하지 아니하고는 암호화폐를 임의로 인출하는 것이 불가하며 상기 코딩된 규칙이나 기능의 위변조가 불가한 블록체인 기반 스마트 컨트랙트를 전자지갑 간 암호화폐 거래의 에스크로우 매체나 거래소 기반 암호화폐 거래의 매개체로 이용함으로써, 상기 스마트 컨트랙트를 전자지갑 간 암호화폐 거래의 에스크로우 매체나 거래소 기반 암호화폐 거래의 매개체로 이용하여 거래되는 암호화폐의 탈취를 원천 차단하여 안전하고 신뢰성있는 암호화폐 거래 플랫폼을 제공하는 이점이 있다.According to the present invention, it is possible to deposit cryptocurrency, but it is impossible to withdraw cryptocurrency arbitrarily except by pre-coded rules or functions, and between the electronic wallets and the blockchain-based smart contracts which cannot forgery the coded rules or functions. By using the media as an escrow medium or exchange-based cryptocurrency trading in cryptocurrency trading, the smart contract is used as an escrow medium for cryptocurrency trading between electronic wallets or as a medium for exchange-based cryptocurrency trading. Blocking has the advantage of providing a secure and reliable cryptocurrency trading platform.
본 발명에 따르면, 사용자의 전자지갑을 통해 외부 블록체인 네트워크 상의 컨트랙트에 소정의 암호화폐를 예치한 후, 상기 외부 블록체인 네트워크와 구별되는 별도의 지정된 내부 블록체인 네트워크를 통해 상기 스마트 컨트랙트에 예치된 암호화폐에 근거하는 탈중앙화 방식의 암호화폐 거래를 제공함으로써, 암호화폐 거래를 제공하는 서버를 해킹하더라도 상기 내부 블록체인 네트워크를 통해 탈중앙화 방식으로 수행된 암호화폐 거래의 거래내역이 안정하게 유지되도록 하는 이점이 있다.According to the present invention, a predetermined cryptocurrency is deposited in a contract on an external blockchain network through a user's electronic wallet, and then deposited in the smart contract through a separate designated internal blockchain network that is distinct from the external blockchain network. By providing a decentralized cryptocurrency transaction based on cryptocurrency, even if the server providing cryptocurrency transaction is hacked, the transaction history of the decentralized cryptocurrency transaction through the internal blockchain network is kept stable. This has the advantage.
본 발명에 따르면, 외부 블록체인 네트워크 상의 컨트랙트에 사용자의 공개키를 기록한 후, 상기 외부 블록체인 네트워크와 구별되는 별도의 지정된 내부 블록체인 네트워크를 통해 상기 스마트 컨트랙트에 예치된 암호화폐에 근거하는 탈중앙화 방식의 암호화폐 거래를 제공하되, 상기 내부 블록체인 네트워크를 이용한 암호화폐 거래 결과의 적어도 일부에 대응하는 암호화폐를 상기 스마트 컨트랙트로부터 사용자의 전자지갑으로 인출하는 경우 지정된 본인 인증 절차를 거쳐 인증된 사용자의 개인키를 통해 생성된 인증정보를 상기 스마트 컨트랙트를 통해 인증하는 절차를 수행하여 안전하게 상기 스마트 컨트랙트에 예치된 암호화폐를 인출하는 이점이 있다.According to the present invention, after recording a user's public key in a contract on an external blockchain network, decentralization based on cryptocurrency deposited in the smart contract through a separate designated internal blockchain network distinct from the external blockchain network A user authenticated through a designated identity authentication procedure when providing a cryptocurrency transaction of a scheme, and withdrawing a cryptocurrency corresponding to at least a part of a cryptocurrency transaction result using the internal blockchain network from the smart contract to the user's electronic wallet There is an advantage of securely withdrawing the cryptocurrency deposited in the smart contract by performing the procedure of authenticating the authentication information generated through the private key of the smart contract.
본 발명에 따르면, 외부 블록체인 네트워크 상의 스마트 컨트랙트에 지정된 암호화폐를 예치한 사용자의 공개키를 상기 스마트 컨트랙트에 내에 미리 기록해 놓은 후에, 상기 외부 블록체인 네트워크 상의 스마트 컨트랙트에 예치된 암호화폐를 사용자의 전자지갑으로 인출하기 위해 사용자의 전자지갑 주소와 상기 인출될 암호화폐 단위를 포함하는 인출정보를 기 설정된 동작 절차에 따라 상기 외부 블록체인 네트워크 상의 스마트 컨트랙트로 전달 시, 지정된 본인 인증 절차를 통해 인증된 사용자의 개인키를 이용하여 생성된 인증정보를 상기 인출정보에 포함시켜 스마트 컨트랙트로 제공하면, 상기 스마트 컨트랙트가 지정된 저장영역에 기 저장된 상기 사용자의 공개키를 통해 상기 인증정보의 유효성을 인증한 후 상기 인출정보의 인출 절차를 수행함으로써, 상기 인출정보를 스마트 컨트랙트로 전달하기 위해 이용되는 특정 노드장치의 개인키가 탈취되더라도 상기 인증정보를 생성하는데 이용되는 각 사용자의 개인키까지 동시에 탈취되지 않는 한 상기 스마트 컨트랙트에 예치된 암호화폐를 부정 인출할 수 없도록 차단하는 이점이 있다.According to the present invention, the public key of the user who deposits the cryptocurrency specified in the smart contract on the external blockchain network is recorded in advance in the smart contract, and then the cryptocurrency deposited in the smart contract on the external blockchain network is stored. When withdrawal information including the user's electronic wallet address and the cryptocurrency unit to be withdrawn to the electronic wallet to the smart contract on the external blockchain network according to a predetermined operation procedure, the authentication is authenticated through the designated identity authentication procedure. When the authentication information generated using the user's private key is included in the withdrawal information and provided to the smart contract, the smart contract authenticates the validity of the authentication information through the user's public key previously stored in the designated storage area. Withdrawal procedure of the withdrawal information By doing so, even if the private key of the specific node device used to transfer the withdrawal information to the smart contract is stolen, unless the private key of each user used to generate the authentication information is also stolen at the same time, the password deposited in the smart contract. There is an advantage of blocking money from being withdrawn.
도 1은 본 발명의 실시 방법에 따라 블록체인 기반 스마트 컨트랙트를 이용한 암호화폐 거래 플랫폼을 제공하는 시스템의 구성을 도시한 도면이다.
도 2는 본 발명의 실시 방법에 따라 암호화폐 거래 플랫폼을 제공하는 블록체인 기반 스마트 컨트랙트의 기능 구성을 도시한 도면이다.
도 3은 본 발명의 실시 방법에 따라 외부 블록체인 네트워크의 노드장치에 스마트 컨트랙트를 등록하는 과정을 도시한 도면이다.
도 4는 본 발명의 실시 방법에 따른 암호화폐 거래를 위한 정보 등록 과정을 도시한 도면이다.
도 5는 본 발명의 일 실시 방법에 따라 사용자의 공개키를 스마트 컨트랙트에 기록하는 과정을 도시한 도면이다.
도 6은 본 발명의 다른 일 실시 방법에 따라 사용자의 공개키를 스마트 컨트랙트에 기록하는 과정을 도시한 도면이다.
도 7은 본 발명의 일 실시 방법에 따라 내부 블록체인 네트워크를 통해 암호화폐 거래를 제공하는 과정을 도시한 도면이다.
도 8은 본 발명의 다른 일 실시 방법에 따라 내부 블록체인 네트워크를 통해 암호화폐 거래를 제공하는 과정을 도시한 도면이다.
도 9는 본 발명의 실시 방법에 따라 스마트 컨트랙트에 예치된 암호화폐를 인출하기 위한 정보를 구성하는 과정을 도시한 도면이다.
도 10은 본 발명의 실시 방법에 따라 스마트 컨트랙트에 예치된 암호화폐를 인출하는 과정을 도시한 도면이다.1 is a diagram showing the configuration of a system for providing a cryptocurrency trading platform using a blockchain based smart contract according to an embodiment of the present invention.
2 is a diagram illustrating a functional configuration of a blockchain based smart contract providing a cryptocurrency trading platform according to an embodiment of the present invention.
3 is a diagram illustrating a process of registering a smart contract with a node device of an external blockchain network according to an embodiment of the present invention.
4 is a diagram illustrating an information registration process for cryptocurrency transactions according to an embodiment of the present invention.
5 is a diagram illustrating a process of recording a public key of a user in a smart contract according to one embodiment of the present invention.
6 is a diagram illustrating a process of recording a public key of a user in a smart contract according to another embodiment of the present invention.
7 is a diagram illustrating a process of providing a cryptocurrency transaction through an internal blockchain network according to one embodiment of the present invention.
8 is a diagram illustrating a process of providing a cryptocurrency transaction through an internal blockchain network according to another embodiment of the present invention.
9 is a diagram illustrating a process of configuring information for withdrawing a cryptocurrency deposited in a smart contract according to an embodiment of the present invention.
10 is a diagram illustrating a process of withdrawing a cryptocurrency deposited in a smart contract according to an embodiment of the present invention.
이하 첨부된 도면과 설명을 참조하여 본 발명의 바람직한 실시예에 대한 동작 원리를 상세히 설명한다. 다만, 하기에 도시되는 도면과 후술되는 설명은 본 발명의 특징을 효과적으로 설명하기 위한 여러 가지 방법 중에서 바람직한 실시 방법에 대한 것이며, 본 발명이 하기의 도면과 설명만으로 한정되는 것은 아니다.Hereinafter, with reference to the accompanying drawings and description will be described in detail the operating principle of the preferred embodiment of the present invention. However, the drawings and the following description shown below are for the preferred method among various methods for effectively explaining the features of the present invention, the present invention is not limited only to the drawings and description below.
즉, 하기의 실시예는 본 발명의 수 많은 실시예 중에 바람직한 합집합 형태의 실시예 예에 해당하며, 하기의 실시예에서 특정 구성(또는 단계)를 생략하는 실시예, 또는 특정 구성(또는 단계)에 구현된 기능을 특정 구성(또는 단계)로 분할하는 실시예, 또는 둘 이상의 구성(또는 단계)에 구현된 기능을 어느 하나의 구성(또는 단계)에 통합하는 실시예, 특정 구성(또는 단계)의 동작 순서를 교체하는 실시예 등은, 하기의 실시예에서 별도로 언급하지 않더라도 모두 본 발명의 권리범위에 속함을 명백하게 밝혀두는 바이다. 따라서 하기의 실시예를 기준으로 부분집합 또는 여집합에 해당하는 다양한 실시예들이 본 발명의 출원일을 소급받아 분할될 수 있음을 분명하게 명기하는 바이다.That is, the following embodiments correspond to embodiments of the preferred union form among many embodiments of the present invention, and embodiments or omit specific configurations (or steps) in the following embodiments. An embodiment of dividing a function implemented in a specific configuration (or step), or an embodiment, a specific configuration (or step) incorporating a function implemented in two or more configurations (or steps) into one configuration (or step). Embodiments to replace the order of operation, etc., unless explicitly stated otherwise in the following examples will be apparent that all belong to the scope of the present invention. Therefore, it is to be noted that various embodiments corresponding to a subset or a filter based on the following examples may be divided retrospectively according to the filing date of the present invention.
또한, 하기에서 본 발명을 설명함에 있어 관련된 공지 기능 또는 구성에 대한 구체적인 설명이 본 발명의 요지를 불필요하게 흐릴 수 있다고 판단되는 경우에는 그 상세한 설명을 생략할 것이다. 그리고 후술되는 용어들은 본 발명에서의 기능을 고려하여 정의된 용어들로서, 이는 사용자, 운용자의 의도 또는 관례 등에 따라 달라질 수 있다. 그러므로 그 정의는 본 발명에서 전반에 걸친 내용을 토대로 내려져야 할 것이다. In addition, in the following description of the present invention, if it is determined that a detailed description of a related known function or configuration may unnecessarily obscure the subject matter of the present invention, the detailed description thereof will be omitted. Terms to be described later are terms defined in consideration of functions in the present invention, which may vary according to intentions or customs of users or operators. Therefore, the definition should be made based on the contents throughout the present invention.
결과적으로, 본 발명의 기술적 사상은 청구범위에 의해 결정되며, 이하 실시예는 진보적인 본 발명의 기술적 사상을 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자에게 효율적으로 설명하기 위한 일 수단일 뿐이다.As a result, the technical spirit of the present invention is determined by the claims, and the following examples are one means for efficiently explaining the technical spirit of the present invention to those skilled in the art to which the present invention pertains. It is only.
도면1은 본 발명의 실시 방법에 따라 블록체인 기반 스마트 컨트랙트(210)를 이용한 암호화폐 거래 플랫폼을 제공하는 시스템의 구성을 도시한 도면이다.1 is a diagram showing the configuration of a system for providing a cryptocurrency trading platform using a blockchain-based smart contract 210 according to an embodiment of the present invention.
보다 상세하게 본 도면1은 지정된 외부 블록체인 네트워크(200) 상에 구비된 M(M≥2)개의 노드장치(205)를 통해 탈중앙화 형태로 실행되며 상기 외부 블록체인 네트워크(200) 상의 유효한 전자지갑을 통해 암호화폐를 예치 가능하지만 미리 코딩된 규칙이나 기능에 의하지 아니하고는 상기 예치된 암호화폐를 임의로 인출하는 것이 불가한 스마트 컨트랙트(210)(Smart Contract)를 전자지갑 간 암호화폐 거래의 안전한 에스크로우 매체나 거래소 기반 암호화폐 거래의 안전한 매개체로 이용하기 위해 상기 스마트 컨트랙트(210)의 지정된 저장영역에 사용자의 공개키를 기록한 후, 상기 외부 블록체인 네트워크(200)와 구별되는 별도의 지정된 내부 블록체인 네트워크(130)를 통해 상기 스마트 컨트랙트(210)에 예치된 암호화폐에 근거하는 암호화폐 거래를 제공하되, 상기 내부 블록체인 네트워크(130)를 이용한 암호화폐 거래 결과의 적어도 일부에 대응하는 암호화폐를 상기 스마트 컨트랙트(210)로부터 사용자의 전자지갑으로 인출하는 경우 지정된 본인 인증 절차를 거쳐 인증된 사용자의 개인키를 통해 생성된 인증정보를 상기 스마트 컨트랙트(210)를 통해 인증하는 절차를 수행하여 안전하게 상기 스마트 컨트랙트(210)에 예치된 암호화폐를 인출하는 암호화폐 거래 플랫폼을 제공하는 시스템의 구성을 도시한 것으로서, 본 발명이 속한 기술분야에서 통상의 지식을 가진 자라면, 본 도면1을 참조 및/또는 변형하여 상기 시스템의 구성에 대한 다양한 실시 방법(예컨대, 일부 구성부가 생략되거나, 또는 세분화되거나, 또는 합쳐진 실시 방법)을 유추할 수 있을 것이나, 본 발명은 상기 유추되는 모든 실시 방법을 포함하여 이루어지며, 본 도면1에 도시된 실시 방법만으로 그 기술적 특징이 한정되지 아니한다.In more detail, FIG. 1 is executed in a decentralized manner through M (M≥2) node devices 205 provided on a designated external blockchain network 200, and valid electronics on the external blockchain network 200 are shown in FIG. Secure escrow of cryptocurrency transactions between electronic wallets through the smart contract 210 (Smart Contract), which is capable of depositing cryptocurrency through the wallet but is not able to withdraw the deposited cryptocurrency arbitrarily without pre-coded rules or functions. After recording the user's public key in the designated storage area of the smart contract 210 for use as a secure medium of media or exchange-based cryptocurrency transactions, a separate designated internal block chain that is distinct from the external block chain network 200 Providing a cryptocurrency transaction based on the cryptocurrency deposited in the smart contract 210 through the network 130, When withdrawing the cryptocurrency corresponding to at least a part of the cryptocurrency transaction result using the internal blockchain network 130 from the smart contract 210 to the user's electronic wallet, As the configuration of the system providing a cryptocurrency trading platform for performing the procedure of authenticating the authentication information generated through the smart contract 210 to securely withdraw the cryptocurrency deposited in the smart contract 210, Those skilled in the art to which the present invention pertains may refer to and / or modify this drawing to implement various methods of construction of the system (e.g., some components are omitted, subdivided, or combined). Method) may be inferred, but the present invention includes all implementation methods inferred above. It is made, the technical features are not limited only to the implementation method shown in FIG.
본 발명의 시스템은, 블록체인 기반의 암호화폐를 거래할 사용자가 이용하는 사용자단말(180)과, 스마트 컨트랙트(210)(Smart Contract)를 지원하는 B(B≥1)개의 외부 블록체인 네트워크(200) 상에 각기 구비된 각 외부 블록체인 네트워크(200) 별 M(M≥2)개의 노드장치(205)와, 상기 외부 블록체인 네트워크(200) 상에 구비된 노드장치(205)를 통해 탈중앙화 실행 가능한 프로그램 코드를 포함하여 구성되며 본 발명을 위한 하나 이상의 지정된 기능(Function)을 구현하는 스마트 컨트랙트(210)를 상기 외부 블록체인 네트워크(200) 상의 M개의 노드장치(205)에 등록 또는 배포한 후 상기 스마트 컨트랙트(210)와 연동하는 기능 구성부를 구비하는 운영서버(100)를 포함하며, 실시 방법에 따라 상기 스마트 컨트랙트(210)에 예치되는 암호화폐를 이용하여 지정된 블록체인 기반 서비스를 제공하는 서비스서버(170)를 더 포함할 수 있다. 한편 상기 운영서버(100)는 독립적으로 동작하는 별동의 서버 형태로 구현되거나, 지정된 블록체인 기반 서비스를 제공하는 서비스서버(170)와 연동하는 별도의 서버 형태로 구현되거나, 또는 지정된 블록체인 기반 서비스를 제공하는 서비스서버(170)의 내부 소프트웨어 형태로 구현되는 것이 모두 가능하며, 상기 운영서버(100)를 구현하는 실시예나 상기 운영서버(100)의 물리적 서버 구성 또는 명칭에 의해 본 발명이 한정되지 아니한다. 이하, 편의상 본 도면1은 상기 운영서버(100)를 상기 별도의 서버 형태로 도시하여 본 발명의 특징을 설명하기로 한다. The system of the present invention includes a user terminal 180 used by a user for trading a blockchain-based cryptocurrency, and B (B≥1) external blockchain networks 200 supporting a smart contract 210 (Smart Contract). Decentralized through M (M≥2) node devices 205 for each external blockchain network 200 provided on the external blockchain network 200 and node devices 205 provided on the external blockchain network 200. Registered or distributed to M node devices 205 on the external blockchain network 200 a smart contract 210 comprising executable program code and implementing one or more designated functions for the present invention. And then includes an operation server 100 having a functional component for interworking with the smart contract 210, according to the implementation method specified blockchain based service using the cryptocurrency deposited in the smart contract 210 It may further include a service server 170 for providing. Meanwhile, the operation server 100 may be implemented in a separate server form that operates independently, or may be implemented in a separate server form that interworks with a service server 170 that provides a designated blockchain based service, or a designated blockchain based service. It is possible to all be implemented in the internal software form of the service server 170 to provide a, the present invention is not limited by the embodiment of implementing the operating server 100 or the physical server configuration or name of the operating server 100 No. Hereinafter, for convenience of the present invention, FIG. 1 illustrates the operation server 100 in the form of a separate server to explain the features of the present invention.
상기 사용자단말(180)은 블록체인 기반의 암호화폐를 거래할 사용자가 이용하는 단말기의 총칭으로서, 유성망에 연결된 컴퓨터, 노트북 등의 유선단말과, 무선망에 연결된 휴대폰, 스마트폰, 태블릿PC, 노트북 등의 무선단말을 중 적어도 하나를 포함한다. 바람직하게, 상기 사용자단말(180)은 하나 이상의 암호화폐 거래를 제공하거나 및/또는 하나 이상의 암호화폐를 이용하여 지정된 블록체인 기반 서비스를 제공하기 위한 앱(Application)이 설치될 수 있으며, 실시 방법에 따라 일부의 구성은 웹 방식으로 구현될 수도 있다. 이하, 별도의 언급이 없더라도 상기 사용자단말(180)을 주체로 하여 설명하는 기능은 상기 사용자단말(180)에 설치된 앱이나 웹 방식을 통해 구현되는 것임을 명백하게 밝혀두는 바이다.The user terminal 180 is a generic term for a terminal used by a user to trade blockchain-based cryptocurrency, a wired terminal such as a computer and a laptop connected to a meteor network, a mobile phone, a smartphone, a tablet PC, a laptop connected to a wireless network. It includes at least one of the wireless terminal, such as. Preferably, the user terminal 180 may be provided with an application for providing one or more cryptocurrency transactions and / or to provide a designated blockchain-based service using one or more cryptocurrencies. Accordingly, some configurations may be implemented in a web manner. Hereinafter, even if not mentioned otherwise, it will be apparent that the functions mainly described by the user terminal 180 are implemented through an app or a web method installed in the user terminal 180.
상기 서비스서버(170)는 사용자단말(180)로 암호화폐 거래나 지정된 블록체인 기반 서비스를 제공하기 위해 구비되는 서버의 총칭으로서, 각각의 거래 대상 암호화폐를 구현하는 B(B≥1)개의 외부 블록체인 네트워크(200) 상에 구비된 각각의 노트장치와 연동할 수 있다. 예를들어, 상기 서비스서버(170)는 사용자단말(180)로 매도/매입 기반의 암호화폐 거래를 제공하기 위한 암호화폐 거래소 서비스를 제공할 수 있다. 또는 상기 서비스서버(170)는 각 사용자의 전자지갑 간 암호화폐 거래를 위한 에스크로우 서비스를 제공할 수 있다. 또는 상기 서비스서버(170)는 암호화폐를 이용한 결제를 구현하는 암호화폐 결제 서비스를 제공할 수 있다.The service server 170 is a general term for a server provided to provide a cryptocurrency transaction or a designated blockchain-based service to the user terminal 180, and the external B (B≥1) that implements each transaction target cryptocurrency. It can be linked with each note device provided on the blockchain network 200. For example, the service server 170 may provide a cryptocurrency exchange service for providing a sell / buy-based cryptocurrency transaction to the user terminal 180. Alternatively, the service server 170 may provide an escrow service for cryptocurrency transactions between electronic wallets of respective users. Alternatively, the service server 170 may provide a cryptocurrency payment service that implements payment using cryptocurrency.
상기 운영서버(100)는 지정된 외부 블록체인 네트워크(200) 상의 M개의 노드장치(205)에 등록 또는 배포된 지정된 스마트 컨트랙트(210)와 연동하는 기능 구성부를 구비한 서버의 총칭으로서, 바람직하게 도면2에 도시된 스마트 컨트랙트(210)를 지정된 외부 블록체인 네트워크(200) 상의 M개의 노드장치(205)에 등록 또는 배포하는 기능과, 상기 외부 블록체인 네트워크(200) 상의 스마트 컨트랙트(210)에 사용자의 공개키를 기록하기 위한 절차를 수행하는 기능과, 상기 외부 블록체인 네트워크(200)와 구별되는 별도의 지정된 내부 블록체인 네트워크(130)를 운영하거나 연동하는 기능과, 상기 내부 블록체인 네트워크(130)를 통해 상기 스마트 컨트랙트(210)에 예치된 암호화폐에 근거하는 지정된 암호화폐 거래를 구현하는 기능 중 하나 이상을 구비하고, 상기 외부 블록체인 네트워크(200) 상의 스마트 컨트랙트(210)에 예치된 암호화폐 중 상기 내부 블록체인 네트워크(130)를 통한 암호화폐 거래 결과의 적어도 일부에 대응하는 암호화폐를 상기 외부 블록체인 네트워크(200) 상에 유효 생성된 사용자의 전자지갑으로 인출 시 암호화폐 인출을 위한 본인 인증 절차를 수행하여 인증된 사용자의 전자지갑 주소와 상기 인출될 암호화폐 단위 및 상기 인증된 사용자의 개인키를 통해 생성된 인증정보를 확인하고, 기 설정된 스마트 컨트랙트 동작 절차에 따라 상기 암호화폐를 인출받을 사용자의 전자지갑 주소와 상기 인출될 암호화폐 단위 및 상기 생성된 인증정보를 포함하는 인출정보를 상기 외부 블록체인 네트워크(200) 상의 스마트 컨트랙트(210)로 전달하기 위한 절차를 수행할 수 있다.The operation server 100 is a generic term for a server having a functional configuration unit for interworking with a designated smart contract 210 registered or distributed in M node devices 205 on a designated external blockchain network 200, preferably a drawing. A function of registering or distributing the smart contract 210 shown in Fig. 2 to the M node devices 205 on the designated external blockchain network 200, and a user of the smart contract 210 on the external blockchain network 200. A function of performing a procedure for recording a public key of the public key, a function of operating or interworking a designated internal blockchain network 130 separate from the external blockchain network 200, and the internal blockchain network 130 And at least one of the functions of implementing a designated cryptocurrency transaction based on the cryptocurrency deposited in the smart contract 210 via Among the cryptocurrencies deposited in the smart contract 210 on the chain network 200, a cryptocurrency corresponding to at least a part of a cryptocurrency transaction result through the internal blockchain network 130 is placed on the external blockchain network 200. When withdrawing the electronic wallet of a validly created user, a user authentication procedure for withdrawing cryptocurrency is performed, and the authentication information generated through the electronic wallet address of the authenticated user, the cryptocurrency unit to be withdrawn and the private key of the authenticated user And withdrawal information including the electronic wallet address of the user who will withdraw the cryptocurrency, the cryptocurrency unit to be withdrawn, and the generated authentication information according to a pre-configured smart contract operation procedure on the external blockchain network 200. A procedure for delivering to the smart contract 210 may be performed.
본 발명의 실시 방법에 따르면, 상기 사용자단말(180)은 운영서버(100)나 서비스서버(170)의 회원으로 가입할 사용자정보를 입력하여 상기 운영서버(100)(또는 서비스서버(170))로 제공하며, 상기 운영서버(100)(또는 서비스서버(170))는 상기 사용자정보의 적어도 일부 정보를 근거로 하나 이상의 사용자단말(180)을 통해 사용자에 대한 본인 인증 절차를 수행하여 인증된 사용자정보를 지정된 데이터베이스에 저장하여 관리한다. According to an embodiment of the present invention, the user terminal 180 inputs user information to be registered as a member of the operation server 100 or the service server 170 by the operation server 100 (or the service server 170). In addition, the operation server 100 (or service server 170) is authenticated by performing an identity authentication procedure for the user through one or more user terminal 180 based on at least some information of the user information Store and manage information in a specified database.
한편 상기 운영서버(100)(또는 서비스서버(170))는 상기 사용자에 대한 본인 인증의 결과를 근거로 지정된 금융사서버(도시생략)와 연동하여 암호화폐 거래를 위한 사용자 명의의 거래계좌(예컨대, 암호화폐 거래를 위한 가상계좌 또는 실시 방법에 따라 실계좌 가능)를 개설하는 절차를 수행하며, 상기 사용자 명의의 거래계좌 개설 시 상기 사용자정보와 상기 개설된 사용자 명의의 거래계좌 정보를 연계하여 지정된 데이터베이스에 저장하여 관리한다. On the other hand, the operation server 100 (or service server 170) in conjunction with the designated financial company server (not shown) based on the result of the authentication of the user for the trading account of the user name for cryptocurrency trading (eg, A virtual account for cryptocurrency transactions or a real account according to the method of execution), and a database designated by linking the user information and the trading account information of the established user name when opening a trading account of the user name. Store in and manage.
본 발명의 실시 방법에 따르면, 지정된 외부 블록체인 네트워크(200) 상에 상기 회원 가입한 사용자의 암호화폐 보관 내지 거래를 위한 사용자의 전자지갑이 생성되지 않은 경우, 상기 사용자단말(180)은 저정된 절차에 따라 상기 외부 블록체인 네트워크(200) 상에 사용자의 전자지갑을 생성하는 과정을 수행할 수 있으며, 상기 사용자의 전자지갑을 생성하는 과정과 연동하여 상기 사용자의 전자지갑에 대응하는 공개키와 개인키의 키 쌍이 생성될 수 있다. 바람직하게, 상기 사용자단말(180)은 상기 외부 블록체인 네트워크(200)나 상기 운영서버(100)(또는 서비스서버(170))를 통해 상기 생성된 공개키를 공개하되, 상기 개인키를 안전한 저장용 매체나 네트워크와 분리된 저장장치에 안전하게 보관하는 것이 바람직하다. According to the exemplary embodiment of the present invention, when the electronic wallet of the user for storing or trading the cryptocurrency of the registered user is not generated on the designated external blockchain network 200, the user terminal 180 is stored. According to a procedure, a process of generating an electronic wallet of a user on the external blockchain network 200 may be performed, and a public key corresponding to the electronic wallet of the user may be linked with the process of generating the electronic wallet of the user. A key pair of private keys can be generated. Preferably, the user terminal 180 discloses the generated public key through the external blockchain network 200 or the operation server 100 (or service server 170), but securely stores the private key. It is a good idea to keep them safely in storage media or on separate storage devices from the network.
상기 사용자단말(180)을 통해 외부 블록체인 네트워크(200) 상에 유효하게 동작하는 유효한 사용자의 전자지갑이 생성되거나 또는 외부 블록체인 네트워크(200) 상에 유효 생성된 사용자의 전자지갑이 확인되면, 상기 사용자단말(180)은 상기 외부 블록체인 네트워크(200) 상에 유효 생성된 사용자의 전자지갑 주소를 운영서버(100)(또는 서비스서버(170))로 전송하며, 상기 운영서버(100)(또는 서비스서버(170))는 상기 사용자단말(180)을 통해 상기 외부 블록체인 네트워크(200) 상에 유효 생성된 사용자의 전자지갑 주소를 확인한다. 한편 실시 방법에 따라 상기 외부 블록체인 네트워크(200) 상에 사용자의 전자지갑을 생성하는 과정은 상기 운영서버(100)(또는 서비스서버(170))의 개입을 통해 수행될 수 있으며, 이 경우 상기 운영서버(100)(또는 서비스서버(170))는 상기 개입을 통해 생성된 사용자의 전자지갑 주소를 확인할 수 있다.When the electronic wallet of a valid user that is effectively operated on the external blockchain network 200 is generated through the user terminal 180 or when the electronic wallet of the user that is effectively created on the external blockchain network 200 is confirmed, The user terminal 180 transmits the electronic wallet address of the user effectively generated on the external blockchain network 200 to the operation server 100 (or the service server 170), and the operation server 100 ( Alternatively, the service server 170 checks the electronic wallet address of the user effectively created on the external blockchain network 200 through the user terminal 180. Meanwhile, the process of generating the electronic wallet of the user on the external blockchain network 200 may be performed through the intervention of the operation server 100 (or the service server 170). The operation server 100 (or the service server 170) may check the electronic wallet address of the user generated through the intervention.
본 발명의 실시 방법에 따르면, 상기 운영서버(100)(또는 서비스서버(170))는 상기 확인된 사용자의 전자지갑 주소에 대한 유효성을 검증하는 절차를 수행할 수 있다. 예를들어, 상기 운영서버(100)(또는 서비스서버(170))는 상기 사용자단말(180)을 통해 확인된 사용자의 전자지갑 주소에 대응하는 사용자의 전자지갑에 예치된 소정의 암호화폐를 상기 스마트 컨트랙트(210)로 예치 처리를 요청 및/또는 상기 예치 처리를 위해 지정된 절차를 수행하거나, 또는 상기 확인된 사용자의 전자지갑 주소에 대응하는 사용자의 전자지갑으로 소정의 암호화폐를 지급한 후 이를 상기 스마트 컨트랙트(210)로 예치 처리를 요청 및/또는 상기 예치 처리를 위해 지정된 절차를 수행할 수 있으며, 상기 스마트 컨트랙트(210)로 소정의 암호화폐를 예치한 사용자의 전자지갑에 대응하는 전자지갑 주소를 상기 외부 블록체인 네트워크(200) 상의 유효한 전자지갑으로 검증할 있다. According to an embodiment of the present invention, the operation server 100 (or the service server 170) may perform a procedure for validating the validity of the confirmed electronic wallet address of the user. For example, the operation server 100 (or the service server 170) the predetermined cryptocurrency deposited in the user's electronic wallet corresponding to the user's electronic wallet address identified through the user terminal 180 is The smart contract 210 requests the deposit processing and / or performs the designated procedure for the deposit processing, or after the predetermined cryptocurrency is paid to the user's electronic wallet corresponding to the confirmed user's electronic wallet address. An electronic wallet corresponding to an electronic wallet of a user who requests a deposit processing with the smart contract 210 and / or performs a designated procedure for the deposit processing and deposits a predetermined cryptocurrency with the smart contract 210. The address can be verified with a valid electronic wallet on the external blockchain network 200.
상기 운영서버(100)(또는 서비스서버(170))는 상기 검증된 사용자의 전자지갑 주소를 상기 사용자정보와 연계하여 데이터베이스에 저장할 수 있다. 한편 외부 블록체인 네트워크(200) 상에 생성된 전자지갑은 소유자를 식별 불가한 상태이지만, 상기 전자지갑 주소를 상기 운영서버(100)(또는 서비스서버(170))의 사용자정보와 연계 저장함으로써, 상기 전자지갑 주소가 상기 사용자의 명의로 실명 확인된 것으로 간주할 수 있다. The operation server 100 (or service server 170) may store the electronic wallet address of the verified user in a database in association with the user information. On the other hand, the electronic wallet generated on the external blockchain network 200 is in a state in which the owner cannot be identified, but by storing the electronic wallet address in association with user information of the operation server 100 (or service server 170), The electronic wallet address may be regarded as a real name confirmation in the name of the user.
도면1을 참조하면, 상기 운영서버(100)는, 스마트 컨트랙트(210)를 지원하며 지정된 블록체인 알고리즘에 따라 동작하는 B(B≥1)개의 외부 블록체인 네트워크(200)와 연동하는 블록체인 연동부(105)를 구비한다.Referring to FIG. 1, the operation server 100 supports a smart contract 210 and interlocks with B (B≥1) external blockchain networks 200 operating according to a specified blockchain algorithm. The unit 105 is provided.
상기 블록체인 연동부(105)는 스마트 컨트랙트(210)를 지원하며 지정된 블록체인 알고리즘에 따라 동작하는 B(B≥1)개의 외부 블록체인 네트워크(200)와 연동하며, 각 외부 블록체인 네트워크(200)는 분산형으로 해당 외부 블록체인 네트워크(200)를 구현하는 M(M≥2)개의 노드장치(205)가 구비된다. 상기 블록체인 연동부(105)는 각 외부 블록체인 네트워크(200)에 구비된 적어도 하나의 특정 노드장치(205)(예컨대, 상기 외부 블록체인 네트워크(200) 상의 노드장치(205) 중 상기 운영서버(100)와 연동하는 노드장치(205), 또는 상기 외부 블록체인 네트워크(200) 상의 노드장치(205) 중 상기 운영서버(100)가 상기 메시지의 방송을 위한 개인키를 관리하는 노드장치(205))를 통해 각 외부 블록체인 네트워크(200) 상에 구비된 M개의 노드장치(205)와 연동할 수 있다. The blockchain interworking unit 105 supports the smart contract 210 and interworks with B (B≥1) external blockchain networks 200 operating according to a specified blockchain algorithm, and each external blockchain network 200 ) Is distributed and is provided with M (M≥2) node devices 205 implementing the corresponding external blockchain network 200. The blockchain interworking unit 105 may include at least one specific node device 205 (eg, the operation server among the node devices 205 on the external blockchain network 200) provided in each external blockchain network 200. The node device 205 which interoperates with the node 100 or the node device 205 on the external blockchain network 200, in which the operation server 100 manages a private key for broadcasting the message. It is possible to interwork with the M node device 205 provided on each external blockchain network 200 through)).
도면1을 참조하면, 상기 운영서버(100)는, 지정된 외부 블록체인 네트워크(200) 상에 유효 생성된 하나 이상의 전자지갑으로부터 지정된 암호화폐 단위를 스마트 컨트랙트(210)로 예치받는 예치 기능부(215)와, 지정된 암호화폐를 예치한 사용자의 공개키를 확인하여 지정된 저장영역에 저장하는 저장 기능부(220)와, 스마트 컨트랙트(210)에 예치된 암호화폐를 인출받을 사용자의 전자지갑 주소와 상기 인출될 암호화폐 단위 및 사용자의 개인키를 통해 생성된 인증정보를 포함하는 인출정보를 확인하는 확인 기능부(225)와, 상기 사용자의 공개키를 이용하여 상기 인증정보의 유효성을 인증하는 인증 절차를 포함하는 하나 이상의 지정된 인증 절차를 수행하는 인증 기능부(230)와, 상기 지정된 인증 절차의 인증 성공 시 상기 사용자의 전자지갑 주소로 상기 암호화폐 단위를 인출하는 인출 기능부(235)를 구현하는 프로그램 코드를 포함하는 스마트 컨트랙트(210)를 상기 외부 블록체인 네트워크(200) 상에 구비된 M(M≥2)개의 노드장치(205)에 등록하는 절차를 수행하는 컨트랙트 등록부(110)를 구비한다.Referring to FIG. 1, the operation server 100 may deposit a designated cryptocurrency unit as a smart contract 210 from one or more electronic wallets effectively generated on a designated external blockchain network 200. ), A storage function unit 220 for checking the public key of the user who deposited the designated cryptocurrency and storing it in the designated storage area, and the electronic wallet address of the user who will be withdrawn the cryptocurrency deposited in the smart contract 210 and the above. A verification function unit 225 for checking the withdrawal information including the cryptographic unit to be withdrawn and the authentication information generated through the user's private key, and an authentication procedure for authenticating the validity of the authentication information using the public key of the user An authentication function unit 230 that performs one or more specified authentication procedures, including the authentication; The smart contract 210 including the program code for implementing the withdrawal function unit 235 for withdrawing money units is provided to the M (M≥2) node devices 205 provided on the external blockchain network 200. It is provided with a contract registration unit 110 for performing a registration procedure.
지정된 등록단말(도시생략)에서 지정된 외부 블록체인 네트워크(200) 상에 유효 생성된 하나 이상의 전자지갑으로부터 지정된 암호화폐 단위를 스마트 컨트랙트(210)로 예치받는 예치 기능부(215)와, 지정된 암호화폐를 예치한 사용자의 공개키를 확인하여 지정된 저장영역에 저장하는 저장 기능부(220)와, 스마트 컨트랙트(210)에 예치된 암호화폐를 인출받을 사용자의 전자지갑 주소와 상기 인출될 암호화폐 단위 및 사용자의 개인키를 통해 생성된 인증정보를 포함하는 인출정보를 확인하는 확인 기능부(225)와, 상기 사용자의 공개키를 이용하여 상기 인증정보의 유효성을 인증하는 인증 절차를 포함하는 하나 이상의 지정된 인증 절차를 수행하는 인증 기능부(230)와, 상기 지정된 인증 절차의 인증 성공 시 상기 사용자의 전자지갑 주소로 상기 암호화폐 단위를 인출하는 인출 기능부(235)를 구현하는 프로그램 코드를 포함하는 스마트 컨트랙트(210)를 생성하고 지정된 검증 절차를 거쳐 검증 후 등록 요청하면, 상기 컨트랙트 등록부(110)는 상기 등록단말로부터 상기 스마트 컨트랙트(210)를 수신하고, 상기 블록체인 연동부(105)와 연동하여 상기 외부 블록체인 네트워크(200) 상에 구비된 M개의 노드장치(205)에 상기 확인된 스마트 컨트랙트(210)를 배포하여 분산 등록하는 절차를 수행한다. 상기 외부 블록체인 네트워크(200) 상의 노드장치(205)에 등록된 스마트 컨트랙트(210)는 해당 스마트 컨트랙트(210) 내에 코딩된 규칙에 의하지 아니하고는 수정되지 않으며, M개의 노드장치(205)를 이용한 분산 저장에 의해 위변조되지 않는다. Deposit function unit 215 which deposits designated cryptocurrency unit as smart contract 210 from one or more electronic wallets effectively generated on designated external blockchain network 200 by designated registration terminal (not shown), and designated cryptocurrency A storage function unit 220 which checks the public key of the user who deposited the data and stores it in a designated storage area, an electronic wallet address of the user who is to receive the cryptocurrency deposited in the smart contract 210, the cryptocurrency unit to be withdrawn and At least one designated function including a verification function unit 225 for verifying retrieval information including authentication information generated through a user's private key, and an authentication procedure for authenticating the validity of the authentication information using the user's public key An authentication function unit 230 that performs an authentication procedure, and when the authentication is successful in the designated authentication procedure, the cryptocurrency When generating a smart contract 210 including a program code that implements the withdrawal function unit 235 to withdraw the above and requests registration after verification through a specified verification procedure, the contract registration unit 110 is the smart terminal from the registration terminal Receiving the contract 210, in cooperation with the blockchain interlocking unit 105 distributes the identified smart contract 210 to the M node device 205 provided on the external blockchain network 200 Perform the procedure of distributed registration. The smart contract 210 registered in the node device 205 on the external blockchain network 200 is not modified without the rules coded in the smart contract 210, and uses the M node devices 205. It is not forged by distributed storage.
도면1을 참조하면, 상기 운영서버(100)는, 상기 외부 블록체인 네트워크(200) 상의 스마트 컨트랙트(210)에 사용자의 공개키를 기록하는 절차와 상기 스마트 컨트랙트(210)에 기록된 사용자의 공개키를 확인하는 절차 중 적어도 하나의 절차를 수행하는 공개키 처리부(115)를 구비하며, 사용자에 대한 지정된 본인 인증 절차를 수행하는 사용자 인증부(120)를 구비할 수 있다. Referring to FIG. 1, the operation server 100 records a public key of a user in a smart contract 210 on the external blockchain network 200 and discloses a user recorded in the smart contract 210. A public key processing unit 115 may be provided to perform at least one of the procedures for verifying the key, and the user authentication unit 120 may perform a designated identity authentication procedure for the user.
본 발명의 제1 공개키 실시예에 따르면, 상기 사용자의 공개키는 외부 블록체인 네트워크(200) 상에 상기 사용자의 전자지갑을 생성하는 과정을 통해 생성된 공개키와 개인키의 키 쌍 중 상기 공개키를 포함할 수 있다. 바람직하게, 외부 블록체인 네트워크(200) 상에 유효한 전자지갑을 생성하는 과정에서 지정된 절차에 따라 지정된 씨드를 이용하여 공개키와 개인키의 키 쌍이 생성될 수 있는데, 상기 사용자의 공개키는 상기 사용자의 전자지갑을 생성하는 과정을 통해 생성된 공개키를 포함할 수 있다. 한편 상기 사용자의 전자지갑을 생성하는 과정을 통해 생성된 공개키는 상기 사용자의 전자지갑 주소로 이용될 수 있는데, 이 경우 상기 사용자의 공개키는 상기 사용자의 전자지갑에 대응하는 공개키라고 할 수 있으며, 상기 저장 기능부(220)는 지정된 암호화폐를 예치한 사용자의 전자지갑 주소에 대응하는 사용자의 공개키를 확인하여 지정된 저장영역에 저장하는 기능을 포함할 수 있다. According to the first public key embodiment of the present invention, the public key of the user is the key pair of the public key and the private key generated by generating the electronic wallet of the user on an external blockchain network 200. It may include a public key. Preferably, in the process of creating a valid electronic wallet on the external blockchain network 200, a key pair of a public key and a private key may be generated using a designated seed according to a specified procedure, wherein the user's public key is the user's public key. It may include a public key generated through the process of generating the electronic wallet of. Meanwhile, the public key generated through the process of generating the electronic wallet of the user may be used as the electronic wallet address of the user. In this case, the public key of the user may be called a public key corresponding to the electronic wallet of the user. The storage function unit 220 may include a function of checking a public key of the user corresponding to the electronic wallet address of the user who deposited the designated cryptocurrency and storing the stored public key in the designated storage area.
본 제1 공개키 실시예에서 사용자단말(180)을 통해 상기 외부 블록체인 네트워크(200) 상의 사용자의 전자지갑에 보유된 지정된 암호화폐 단위가 상기 외부 블록체인 네트워크(200) 상의 스마트 컨트랙트(210)에 예치된 경우, 상기 저장 기능부(220)는 상기 스마트 컨트랙트(210)에 상기 암호화폐를 예치한 사용자의 전자지갑 주소와 상기 예치된 암호화폐 단위를 포함하는 암호화폐 예치정보를 지정된 저장영역에 저장하는 기능을 포함하며, 이에 의해 상기 사용자의 전자지갑 주소에 대응하는 사용자의 공개키는 지정된 저장영역에 저장된다. 바람직하게, 상기 저장 기능부(220)는 각 노드장치(205)의 저장영역 중 스마트 컨트랙트(210)의 상태를 저장하는 저장영역, 또는 상기 암호화폐의 예치와 관련된 정보를 저장하기 위해 설정된 저장영역에 상기 암호화폐 예치정보를 저장하여 관리할 수 있다. 한편 실시 방법에 따라 상기 저장 기능부(220)는 각 노드장치(205)의 저장영역 중 암호화폐의 거래를 저장하는 저장영역(예컨대, 암호화폐의 거래블록을 저장하는 저장영역)에 상기 암호화폐 예치정보를 저장하여 관리할 수 있다. 한편 상기 예치된 암호화폐 단위는 상기 인증된 사용자의 암호화폐 거래를 위해 사용자의 전자지갑으로부터 상기 스마트 컨트랙트(210)로 예치되는 암호화폐 단위, 또는 상기 스마트 컨트랙트(210)를 통해 상기 사용자의 전자지갑 주소를 저장 관리하기 위해 지정된 절차에 따라 상기 인증된 사용자의 전자지갑으로 지급된 후 상기 사용자의 전자지갑으로부터 상기 스마트 컨트랙트(210)로 예치되는 암호화폐 단위를 포함할 수 있다.In the first public key embodiment, the designated cryptocurrency unit held in the electronic wallet of the user on the external blockchain network 200 via the user terminal 180 is the smart contract 210 on the external blockchain network 200. In the case of the deposit, the storage function 220 stores the electronic wallet address of the user who deposits the cryptocurrency in the smart contract 210 and the cryptocurrency deposit information including the deposited cryptocurrency unit in a designated storage area. And a public key of the user corresponding to the electronic wallet address of the user is stored in the designated storage area. Preferably, the storage function unit 220 is a storage area for storing the state of the smart contract 210 of the storage area of each node device 205, or a storage area set for storing information related to the deposit of the cryptocurrency. The cryptocurrency deposit information can be stored in and managed. According to an embodiment, the storage function unit 220 stores the cryptocurrency in a storage area (eg, a storage area for storing a transaction block of a cryptocurrency) among the storage areas of each node device 205. Deposit information can be stored and managed. Meanwhile, the deposited cryptocurrency unit is a cryptocurrency unit deposited from the user's electronic wallet to the smart contract 210 for the transaction of the authenticated user, or the user's electronic wallet through the smart contract 210. It may include a cryptocurrency unit that is paid to the electronic wallet of the authenticated user according to a specified procedure for storing and managing an address and then deposited into the smart contract 210 from the electronic wallet of the user.
한편 본 제1 공개키 실시예에서 사용자단말(180)을 통해 상기 외부 블록체인 네트워크(200) 상의 사용자의 전자지갑에 보유된 지정된 암호화폐 단위가 상기 외부 블록체인 네트워크(200) 상의 스마트 컨트랙트(210)에 예치된 경우, 상기 공개키 처리부(115)는 상기 외부 블록체인 네트워크(200) 상의 스마트 컨트랙트(210)의 지정된 저장영역을 참조하여 상기 스마트 컨트랙트(210)에 상기 암호화폐를 예치한 사용자의 전자지갑 주소와 상기 예치된 암호화폐 단위를 포함하는 암호화폐 예치정보를 확인하고, 상기 스마트 컨트랙트(210)에 상기 암호화폐를 예치한 사용자의 전자지갑 주소와 상기 예치된 암호화폐 단위를 포함하는 암호화폐 예치정보를 지정된 데이터베이스에 저장하여 관리할 수 있다.Meanwhile, in the first public key embodiment, the designated cryptocurrency unit held in the electronic wallet of the user on the external blockchain network 200 via the user terminal 180 is the smart contract 210 on the external blockchain network 200. ), The public key processing unit 115 refers to a designated storage area of the smart contract 210 on the external blockchain network 200 to determine the user's deposit of the cryptocurrency in the smart contract 210. Confirm cryptocurrency deposit information including an electronic wallet address and the deposited cryptocurrency unit, and encrypt the electronic wallet address of the user who deposits the cryptocurrency in the smart contract 210 and the cryptocurrency unit deposited. You can manage your money deposit information by storing it in a designated database.
본 발명의 실시 방법에 따르면, 상기 공개키 처리부(115)는 상기 스마트 컨트랙트(210)의 지정된 저장영역에 저장된 암호화폐 예치정보의 전자지갑 주소에 대응하는 사용자, 바람직하게 본 제1 공개키 실시예에서 상기 스마트 컨트랙트(210)의 지정된 저장영역에 저장된 사용자의 공개키에 대응하는 사용자를 상기 스마트 컨트랙트(210)에 예치된 암호화폐를 인출 가능한 사용자로 설정하여 사용자정보에 저장할 수 있다. 한편 이 경우 상기 스마트 컨트랙트(210)에 예치된 암호화폐를 상기 사용자의 전자지갑으로 인출하기 위해 수행되는 본인 인증 절차는 상기 암호화폐를 인출할 사용자가 상기 스마트 컨트랙트(210)의 지정된 저장영역에 본인의 공개키가 저장되어 상기 스마트 컨트랙트(210)에 예치된 암호화폐를 인출 가능한 사용자인지 인증하는 절차를 포함할 수 있다.According to an embodiment of the present invention, the public key processing unit 115 corresponds to a user corresponding to an electronic wallet address of cryptocurrency deposit information stored in a designated storage area of the smart contract 210, preferably the first public key embodiment. In FIG. 2, a user corresponding to a public key of a user stored in a designated storage area of the smart contract 210 may be set as a user withdrawable cryptocurrency deposited in the smart contract 210 and stored in user information. In this case, the user authentication procedure performed to withdraw the cryptocurrency deposited in the smart contract 210 to the electronic wallet of the user is performed by the user who withdraws the cryptocurrency into the designated storage area of the smart contract 210. The public key may be stored and may include a process of authenticating whether the user can withdraw the cryptocurrency deposited in the smart contract 210.
본 발명의 제2 공개키 실시예에 따르면, 상기 사용자의 공개키는 상기 사용자의 전자지갑 생성과 무관하게 별도 생성된 공개키와 개인키의 키 쌍 중 상기 공개키를 포함할 수 있다. 예를들어, 상기 사용자의 공개키는 사용자에게 발급된 인증서의 공개키를 포함하거나, 또는 외부 블록체인 네트워크(200) 상에 상기 사용자의 전자지갑을 생성하기 전이나 후에 상기 사용자의 전자지갑에 대응하는 공기키 이욍에 별도로 생성된 공개키와 개인키의 키 쌍 중 공개키를 포함하거나, 또는 상기 사용자의 회원 가입 과정과 연동하여 생성된 공개키와 개인키의 키 쌍 중 공개키를 포함할 수 있다. According to the second public key embodiment of the present invention, the public key of the user may include the public key among key pairs of a public key and a private key generated separately regardless of the electronic wallet generation of the user. For example, the public key of the user may include the public key of a certificate issued to the user or correspond to the electronic wallet of the user before or after generating the user's electronic wallet on the external blockchain network 200. The public key may include a public key of a key pair of a public key and a private key separately generated after the air key, or a public key of a key pair of a public key and a private key generated in association with a user registration process. have.
한편 본 제2 공개키 실시예에서 사용자의 전자지갑 생성과 무관하게 별도 생성된 공개키와 개인키의 키 쌍 중 공개키에 대응하는 사용자의 공개키는 지정된 암호화폐를 예치한 사용자의 전자지갑 주소와 연계되어 지정된 저장영역에 저장될 수 있으며, 이 경우 상기 사용자의 개인키는 상기 사용자의 공개키와 사용자의 전자지갑 주소를 연계하여 지정된 저장영역에 저장함에 의해 상기 사용자의 전자지갑과 연계되는 것으로 간주할 수 있다. Meanwhile, in the second public key embodiment, the public key of the user corresponding to the public key among the key pairs of the public key and the private key separately generated regardless of the user's electronic wallet generation is the electronic wallet address of the user who deposited the designated cryptocurrency. And the user's private key is associated with the user's electronic wallet by storing the user's public key and the user's electronic wallet address in a designated storage area. Can be considered.
본 제2 공개키 실시예에서 상기 사용자 인증부(120)는 사용자단말(180)을 통해 사용자의 전자지갑 생성과 무관하게 별도 생성된 공개키에 대응하는 사용자의 공개키를 등록하기 위해 접속한 사용자에 대하여 지정된 본인 인증 절차를 수행한다. 여기서, 상기 본인 인증 절차는 회원 가입 시 등록된 ID/PW를 인증하는 인증 절차, 공인인증서를 이용하는 인증 절차, OTP(One Time Password)를 이용하는 인증 절차, SMS/MMS 등의 무선메시지를 이용하는 인증 절차, 전화통화나 ARS를 이용하는 인증 절차, 사용자 무선단말에 설치된 앱을 이용하는 인증 절차, 금융사나 통신사 등의 지정된 기관을 이용하는 인증 절차, 지정된 실명인증기관을 인증 절차 중 지정된 적어도 하나 또는 둘 이상을 조합한 인증 절차를 포함할 수 있으며, 상기 본인 인증 절차의 종류나 방식에 의해 본 발명이 한정되지 아니한다.In the second public key embodiment, the user authentication unit 120 accesses a user terminal 180 to register the user's public key corresponding to the public key generated separately regardless of the user's electronic wallet generation. Perform the designated identity verification process for. Here, the authentication process is an authentication process for authenticating the registered ID / PW when registering as a member, an authentication process using a public certificate, an authentication process using an One Time Password (OTP), an authentication process using a wireless message such as SMS / MMS. , An authentication process using a telephone call or ARS, an authentication process using an app installed on a user's wireless terminal, an authentication process using a designated institution such as a financial company or a telecommunications company, or a combination of at least one or two specified combinations of a designated real name certification authority. An authentication procedure may be included, and the present invention is not limited by the type or method of the personal authentication procedure.
한편 본 제2 공개키 실시예에서 사용자단말(180)을 통해 상기 외부 블록체인 네트워크(200) 상의 사용자의 전자지갑에 보유된 지정된 암호화폐 단위가 상기 외부 블록체인 네트워크(200) 상의 스마트 컨트랙트(210)에 예치된 경우, 상기 저장 기능부(220)는 상기 스마트 컨트랙트(210)에 상기 암호화폐를 예치한 사용자의 전자지갑 주소와 상기 예치된 암호화폐 단위를 포함하는 암호화폐 예치정보를 지정된 저장영역에 저장한다. 바람직하게, 상기 저장 기능부(220)는 각 노드장치(205)의 저장영역 중 스마트 컨트랙트(210)의 상태를 저장하는 저장영역, 또는 상기 암호화폐의 예치와 관련된 정보를 저장하기 위해 설정된 저장영역에 상기 암호화폐 예치정보를 저장하여 관리할 수 있다. 한편 실시 방법에 따라 상기 저장 기능부(220)는 각 노드장치(205)의 저장영역 중 암호화폐의 거래를 저장하는 저장영역(예컨대, 암호화폐의 거래블록을 저장하는 저장영역)에 상기 암호화폐 예치정보를 저장하여 관리할 수 있다. 한편 상기 예치된 암호화폐 단위는 상기 인증된 사용자의 암호화폐 거래를 위해 사용자의 전자지갑으로부터 상기 스마트 컨트랙트(210)로 예치되는 암호화폐 단위, 또는 상기 스마트 컨트랙트(210)를 통해 상기 사용자의 전자지갑 주소를 저장 관리하기 위해 지정된 절차에 따라 상기 인증된 사용자의 전자지갑으로 지급된 후 상기 사용자의 전자지갑으로부터 상기 스마트 컨트랙트(210)로 예치되는 암호화폐 단위를 포함할 수 있다.Meanwhile, in the second public key embodiment, the designated cryptocurrency unit held in the electronic wallet of the user on the external blockchain network 200 via the user terminal 180 is the smart contract 210 on the external blockchain network 200. The storage function unit 220 stores the electronic wallet address of the user who deposited the cryptocurrency and the cryptocurrency deposit information including the deposited cryptocurrency unit in the smart contract 210. Store in Preferably, the storage function unit 220 is a storage area for storing the state of the smart contract 210 of the storage area of each node device 205, or a storage area set for storing information related to the deposit of the cryptocurrency. The cryptocurrency deposit information can be stored in and managed. According to an embodiment, the storage function unit 220 stores the cryptocurrency in a storage area (eg, a storage area for storing a transaction block of a cryptocurrency) among the storage areas of each node device 205. Deposit information can be stored and managed. Meanwhile, the deposited cryptocurrency unit is a cryptocurrency unit deposited from the user's electronic wallet to the smart contract 210 for the transaction of the authenticated user, or the user's electronic wallet through the smart contract 210. It may include a cryptocurrency unit that is paid to the electronic wallet of the authenticated user according to a specified procedure for storing and managing an address and then deposited into the smart contract 210 from the electronic wallet of the user.
한편 본 제2 공개키 실시예에서 사용자단말(180)을 통해 상기 외부 블록체인 네트워크(200) 상의 사용자의 전자지갑에 보유된 지정된 암호화폐 단위가 상기 외부 블록체인 네트워크(200) 상의 스마트 컨트랙트(210)에 예치된 경우, 상기 공개키 처리부(115)는 사용자단말(180)과 연동하여 사용자의 전자지갑 생성과 무관하게 별도 생성된 공개키에 대응하는 사용자의 공개키를 확인하고, 기 설정된 스마트 컨트랙트 동작 절차에 따라 상기 사용자의 공개키와 사용자의 전자지갑 주소를 외부 블록체인 네트워크(200) 상의 스마트 컨트랙트(210)로 제공하는 절차를 수행하며, 상기 저장 기능부(220)는 기 설정된 스마트 컨트랙트 동작 절차를 통해 상기 사용자의 공개키와 사용자의 전자지갑 주소를 확인하고, 상기 확인된 사용자의 공개키와 전자지갑 주소를 연계하여 지정된 저장영역에 저장할 수 있다. 한편 상기 저장 기능부(220)는 상기 사용자의 공개키와 사용자의 전자지갑 주소를 확인한 경우 지정된 저장영역(예컨대, 암호화폐 예치정보를 저장하는 저장영역)에 상기 확인된 전자지갑 주소와 매칭되는 전자지갑 주소가 저장되어 있는지 확인할 수 있으며, 상기 지정된 저장영역에 상기 확인된 전자지갑 주소와 매칭되는 전자지갑 주소가 저장된 경우 상기 지정된 저장영역에 상기 확인된 사용자의 공개키와 전자지갑 주소를 연계 저장할 수 있다.Meanwhile, in the second public key embodiment, the designated cryptocurrency unit held in the electronic wallet of the user on the external blockchain network 200 via the user terminal 180 is the smart contract 210 on the external blockchain network 200. ), The public key processing unit 115 checks the user's public key corresponding to the public key generated separately regardless of the user's electronic wallet creation in connection with the user terminal 180, and preset smart contract. According to an operation procedure, the public key of the user and the electronic wallet address of the user are provided to the smart contract 210 on the external blockchain network 200. The storage function unit 220 performs a preset smart contract operation. Checking the user's public key and the user's electronic wallet address through the procedure, by associating the identified user's public key with the electronic wallet address Can save to a specified storage area. On the other hand, when the storage function unit 220 checks the user's public key and the user's electronic wallet address, the storage function unit 220 matches the identified electronic wallet address in a designated storage area (eg, a storage area for storing cryptocurrency deposit information). It is possible to check whether a wallet address is stored, and if the electronic wallet address matching the checked electronic wallet address is stored in the designated storage area, the public key of the identified user and the electronic wallet address may be stored in the designated storage area. have.
본 발명의 실시 방법에 따르면, 상기 공개키 처리부(115)는 상기 스마트 컨트랙트(210)의 지정된 저장영역에 저장된 암호화폐 예치정보의 전자지갑 주소에 대응하거나 및/또는 상기 암호화폐 예치정보의 전자지갑 주소와 연계 저장된 공개키에 대응하는 사용자, 바람직하게 본 제2 공개키 실시예에서 상기 스마트 컨트랙트(210)의 지정된 저장영역에 저장된 사용자의 공개키에 대응하는 사용자를 상기 스마트 컨트랙트(210)에 예치된 암호화폐를 인출 가능한 사용자로 설정하여 사용자정보에 저장할 수 있다. 한편 이 경우 상기 스마트 컨트랙트(210)에 예치된 암호화폐를 상기 사용자의 전자지갑으로 인출하기 위해 수행되는 본인 인증 절차는 상기 암호화폐를 인출할 사용자가 상기 스마트 컨트랙트(210)의 지정된 저장영역에 본인의 공개키가 저장되어 상기 스마트 컨트랙트(210)에 예치된 암호화폐를 인출 가능한 사용자인지 인증하는 절차를 포함할 수 있다.According to an embodiment of the present invention, the public key processing unit 115 corresponds to the electronic wallet address of the cryptocurrency deposit information stored in the designated storage area of the smart contract 210 and / or the electronic wallet of the cryptocurrency deposit information. A user corresponding to the public key stored in association with the address, preferably a user corresponding to the public key of the user stored in the designated storage area of the smart contract 210 in the second public key embodiment, is deposited in the smart contract 210. The set cryptocurrency can be set as a user withdrawable and stored in the user information. In this case, the user authentication procedure performed to withdraw the cryptocurrency deposited in the smart contract 210 to the electronic wallet of the user is performed by the user who withdraws the cryptocurrency into the designated storage area of the smart contract 210. The public key may be stored and may include a process of authenticating whether the user can withdraw the cryptocurrency deposited in the smart contract 210.
한편 본 발명의 실시 방법에 따르면, 상기 제1 또는 제2 공개키 실시예에 따라 스마트 컨트랙트(210)에 사용자의 공개키가 기록된 후에 상기 사용자의 공개키를 이용하는 인증 절차를 거쳐 상기 스마트 컨트랙트(210)에 예치된 암호화폐 중 지정된 암호화폐 단위를 인출하는 절차를 수행할 수 있다. Meanwhile, according to the exemplary embodiment of the present invention, after the user's public key is recorded in the smart contract 210 according to the first or second public key embodiment, the smart contract (or the authentication method using the user's public key) is performed. The procedure for withdrawing the designated cryptocurrency unit among the cryptocurrencies deposited in 210 may be performed.
한편 스마트 컨트랙트(210)에 예치되거나 인출되는 암호화폐는 지정된 외부 블록체인 네트워크(200)를 통해 발행되는 암호코인 형태의 암호화폐, 지정된 암호코인을 발행하는 지정된 외부 블록체인 네트워크(200)를 기반으로 구현되는 암호토큰 형태의 암호화폐 중 적어도 하나를 포함할 수 있다.Meanwhile, the cryptocurrency deposited or withdrawn in the smart contract 210 is based on the cryptocurrency type cryptocurrency issued through the designated external blockchain network 200 and the designated external blockchain network 200 that issues the designated cryptocoin. It may include at least one of the cryptocurrency in the form of a crypto token to be implemented.
도면1을 참조하면, 상기 운영서버(100)는, 상기 외부 블록체인 네트워크(200)와 구별되는 별도의 지정된 내부 블록체인 네트워크(130)를 운영하거나 기 구현된 내부 블록체인 네트워크(130)와 연동하는 내부체인 운영부(125)를 구비한다. Referring to FIG. 1, the operation server 100 operates a separate designated internal blockchain network 130 that is distinct from the external blockchain network 200 or interworks with an internal blockchain network 130 that is already implemented. It is provided with an internal chain operator 125.
상기 외부 블록체인 네트워크(200)는 지정된 블록체인 알고리즘에 따라 동작하는 M(M≥2)개의 노드장치(205)를 통해 구현되고 지정된 블록체인 알고리즘에 따라 지정된 암호화폐를 발행하는 실제 블록체인 네트워크인 반면, 상기 내부 블록체인 네트워크(130)는 시간 지연 없이 신속하게 암호화폐 거래를 처리하기 위해 구현된 블록체인 네트워크를 포함한다. The external blockchain network 200 is an actual blockchain network implemented through M (M≥2) node devices 205 operating according to a designated blockchain algorithm and issuing a designated cryptocurrency according to a designated blockchain algorithm. On the other hand, the internal blockchain network 130 includes a blockchain network implemented to process cryptocurrency transactions quickly without time delay.
본 발명의 제1 내부 블록체인 네트워크(130) 실시예에 따르면, 상기 내부 블록체인 네트워크(130)는 상기 운영서버(100)의 운영사에서 지정 개수의 컴퓨터를 이용하여 구현한 지정 개수의 노드장치를 통해 구현되는 폐쇄형 블록체인 네트워크를 포함할 수 있다. 이 때 상기 지정 개수의 노드장치를 구현하는 지정 개수의 컴퓨터는 물리적으로 구별되는 복수의 컴퓨터를 포함하거나 공간적으로 분리된 장소에 분산된 복수의 컴퓨터를 포함하는 것이 바람직하나, 이에 의해 본 발명이 한정되지 아니한다. According to an embodiment of the first internal blockchain network 130 of the present invention, the internal blockchain network 130 uses a specified number of node devices implemented by the operator of the operation server 100 using a predetermined number of computers. It may include a closed blockchain network implemented through. In this case, it is preferable that the designated number of computers implementing the designated number of node devices include a plurality of computers physically distinguished or include a plurality of computers distributed in spatially separated places, but the present invention is limited thereto. Not.
본 발명의 제2 내부 블록체인 네트워크(130) 실시예에 따르면, 상기 내부 블록체인 네트워크(130)는 상기 운영서버(100)의 운영사와 제휴된 회사나 개인이 보유한 지정 개수의 컴퓨터를 이용하여 구현한 지정 개수의 노드장치를 통해 구현되는 폐쇄형 블록체인 네트워크를 포함할 수 있다. 이 때 상기 지정 개수의 노드장치를 구현하는 지정 개수의 컴퓨터는 물리적으로 구별되는 복수의 컴퓨터를 포함하거나 공간적으로 분리된 장소에 분산된 복수의 컴퓨터를 포함하는 것이 바람직하나, 이에 의해 본 발명이 한정되지 아니한다. According to an embodiment of the second internal blockchain network 130 of the present invention, the internal blockchain network 130 is implemented using a predetermined number of computers held by a company or an individual affiliated with an operator of the operation server 100. It may include a closed blockchain network implemented through a predetermined number of node devices. In this case, it is preferable that the designated number of computers implementing the designated number of node devices include a plurality of computers physically distinguished or include a plurality of computers distributed in spatially separated places, but the present invention is limited thereto. Not.
본 발명의 제3 내부 블록체인 네트워크(130) 실시예에 따르면, 상기 내부 블록체인 네트워크(130)는 상기 운영서버(100)나 지정된 서비스서버(170) 또는 별도의 지정된 서버를 포함하는 하나 이상의 서버를 통해 소프트웨어적으로 구현된 지정 개수의 가상 노드장치를 통해 구현되는 가상의 블록체인 네트워크를 포함할 수 있다. 이 때 상기 가상 노드장치를 구현하는 서버는 물리적으로 구별되는 복수의 서버를 포함하거나 공간적으로 분리된 장소에 분산된 복수의 서버를 포함하는 것이 바람직하나, 이에 의해 본 발명이 한정되지 아니한다. According to an embodiment of the third internal blockchain network 130 of the present invention, the internal blockchain network 130 may include one or more servers including the operation server 100, the designated service server 170, or a separate designated server. It may include a virtual blockchain network implemented through a specified number of virtual node devices implemented through software. In this case, the server implementing the virtual node device preferably includes a plurality of servers including a plurality of physically distinguished servers or distributed in a spatially separated place, but the present invention is not limited thereto.
본 발명의 제4 내부 블록체인 네트워크(130) 실시예에 따르면, 상기 내부 블록체인 네트워크(130)는 상기 제1 또는 제2 내부 블록체인 네트워크(130) 실시예의 컴퓨터를 통해 구현되는 지정 개수의 노드장치와 상기 제3 내부 블록체인 네트워크(130) 실시예의 서버를 통해 소프트웨어적으로 구현되는 지정 개수의 가상 노드장치를 조합하여 구현되는 하이브리드형 블록체인 네트워크를 포함할 수 있다. According to the fourth internal blockchain network 130 embodiment of the present invention, the internal blockchain network 130 is a specified number of nodes implemented through a computer of the first or second internal blockchain network 130 embodiment. It may include a hybrid blockchain network implemented by combining a device and a predetermined number of virtual node devices implemented in software through the server of the third internal blockchain network 130 embodiment.
상기 제1 내지 제4 내부 블록체인 네트워크(130) 실시예 중 적어도 하나의 실시예에 대응하는 내부 블록체인 네트워크(130)는 암호화폐 거래에 최적화된 블록체인 알고리즘을 적용한 블록체인 네트워크를 포함하는 것이 바람직하다. 예컨대, 외부 블록체인 네트워크(200)가 암호화폐의 발행과 운영에 최적화되어 있는 반면, 상기 내부 블록체인 네트워크(130)는 자체 암호화폐의 발행이나 운영보다 외부 블록체인 네트워크(200)를 통해 발행된 암호화폐에 대한 신속한 암호화폐 거래를 위한 블록체인 알고리즘을 적용한 블록체인 네트워크를 포함하는 것이 바람직하다. The internal blockchain network 130 corresponding to at least one of the first to fourth internal blockchain network 130 embodiments includes a blockchain network to which a blockchain algorithm optimized for cryptocurrency transactions is applied. desirable. For example, while the external blockchain network 200 is optimized for issuing and operating cryptocurrencies, the internal blockchain network 130 is issued through the external blockchain network 200 rather than issuing or operating its own cryptocurrency. It is preferable to include a blockchain network to which a blockchain algorithm for fast cryptocurrency transactions for cryptocurrencies is applied.
상기 내부체인 운영부(125)는 상기 제1 내지 제4 내부 블록체인 네트워크(130) 실시예 중 적어도 하나의 실시예에 대응하는 내부 블록체인 네트워크(130)를 운영하거나 상기 제1 내지 제4 내부 블록체인 네트워크(130) 실시예 중 적어도 하나의 실시예를 통해 구현된 내부 블록체인 네트워크(130)와 연동하는 절차를 수행한다. The internal chain operator 125 operates the internal blockchain network 130 corresponding to at least one of the first to fourth internal blockchain network 130 embodiments, or the first to fourth internal blocks. A procedure for interworking with an internal blockchain network 130 implemented through at least one of the chain network 130 embodiments is performed.
도면1을 참조하면, 상기 운영서버(100)는, 상기 외부 블록체인 네트워크(200)와 구별되는 별도의 지정된 내부 블록체인 네트워크(130)를 통해 상기 스마트 컨트랙트(210)에 예치된 암호화폐에 근거하는 지정된 암호화폐 거래를 처리하는 절차를 수행하는 거래 절차부(140)를 포함하며, 상기 외부 블록체인 네트워크(200) 상의 스마트 컨트랙트(210)에 사용자의 공개키를 저장한 경우 상기 내부 블록체인 네트워크(130) 상에 사용자의 내부지갑을 생성하거나 기 생성된 사용자의 내부지갑 주소를 확인하고, 상기 외부 블록체인 네트워크(200) 상의 사용자 전자지갑을 통해 상기 외부 블록체인 네트워크(200) 상의 스마트 컨트랙트(210)에 예치된 암호화폐 단위를 확인하여 상기 내부 블록체인 네트워크(130) 상에 생성된 사용자의 내부지갑에 적용하는 체인 연동부(135)를 포함한다.Referring to FIG. 1, the operation server 100 is based on a cryptocurrency deposited in the smart contract 210 through a separate designated internal blockchain network 130 that is distinct from the external blockchain network 200. And a transaction procedure unit 140 that performs a procedure for processing a designated cryptocurrency transaction, and when the user's public key is stored in the smart contract 210 on the external blockchain network 200, the internal blockchain network. Create an internal wallet of the user on the 130 or check the internal wallet address of the user, and the smart contract on the external blockchain network 200 through the user electronic wallet on the external blockchain network 200 ( The chain interlocking unit 135 is applied to the user's internal wallet created on the internal blockchain network 130 by identifying the cryptocurrency units deposited at 210. It should.
상기 공개키 처리부(115)를 통해 상기 외부 블록체인 네트워크(200) 상의 스마트 컨트랙트(210)에 상기 사용자의 공개키가 저장된 경우, 상기 체인 연동부(135)는 사용자단말(180)과 통신하거나 상기 내부체인 운영부(125)를 통해 내부 블록체인 네트워크(130)와 연동하여 지정된 내부 블록체인 네트워크(130) 상에 사용자의 내부지갑 주소를 생성하는 절차를 수행할 수 있다. 이 경우 상기 체인 연동부(135)는 상기 제1 또는 제2 내부지갑 실시예를 통해 상기 내부 블록체인 네트워크(130) 상에 생성된 사용자의 내부지갑 주소와 사용자정보를 연계 저장할 수 있다. 한편 상기 체인 연동부(135)는 사용자정보와 연계 저장된 내부지갑 주소를 조회하여 상기 내부 블록체인 네트워크(130) 상에 기 생성된 사용자의 내부지갑 주소를 확인할 수 있다.When the public key of the user is stored in the smart contract 210 on the external blockchain network 200 through the public key processing unit 115, the chain interworking unit 135 communicates with the user terminal 180 or The internal chain operation unit 125 may perform a procedure of generating an internal wallet address of the user on the designated internal blockchain network 130 in association with the internal blockchain network 130. In this case, the chain interworking unit 135 may associate and store the user's internal wallet address and the user information generated on the internal blockchain network 130 through the first or second internal wallet embodiment. Meanwhile, the chain interworking unit 135 may check an internal wallet address stored in association with user information to check an internal wallet address of a user previously created on the internal blockchain network 130.
본 발명의 제1 내부지갑 실시예에 따르면, 상기 내부 블록체인 네트워크(130) 상에 생성되는 사용자의 내부지갑은 특정한 외부 블록체인 네트워크(200) 상에 유효 생성된 사용자의 전자지갑을 상기 내부 블록체인 네트워크(130) 상의 암호화폐 거래에 이용하기 위해 가상화(또는 복사)한 전자지갑을 포함할 수 있다. According to the first internal wallet embodiment of the present invention, the internal wallet of the user created on the internal blockchain network 130 is the electronic wallet of the user effectively created on a specific external blockchain network 200 to the internal block. The electronic wallet may be virtualized (or copied) for use in cryptocurrency transactions on the chain network 130.
본 발명의 제2 내부지갑 실시예에 따르면, 상기 내부 블록체인 네트워크(130) 상에 생성되는 사용자의 내부지갑은 상기 내부 블록체인 네트워크(130) 상의 암호화폐 거래를 위해 별도 생성된 전자지갑을 포함할 수 있다. 이 경우 상기 별도 생성된 사용자의 내부지갑은 특정한 외부 블록체인 네트워크(200)를 통해 발행되는 특정한 암호화폐를 거래 가능한 구조로 생성된 전자지갑을 포함할 수 있으며, 또는 둘 이상의 외부 블록체인 네트워크(200)를 통해 발행되는 둘 이상의 이종의 암호화폐를 이용한 암호화폐 거래를 제공 가능한 구조로 생성된 통합 구조의 전자지갑을 포함할 수 있다. According to a second internal wallet embodiment of the present invention, the user's internal wallet created on the internal blockchain network 130 includes an electronic wallet separately generated for cryptocurrency transactions on the internal blockchain network 130. can do. In this case, the separately created user's internal wallet may include an electronic wallet created in a structure capable of trading a specific cryptocurrency issued through a specific external blockchain network 200, or two or more external blockchain networks 200. It may include an electronic wallet of an integrated structure generated in a structure capable of providing cryptocurrency transactions using two or more heterogeneous cryptocurrencies issued through).
한편 상기 내부 블록체인 네트워크(130) 상에 사용자의 내부지갑이 생성되거나 상기 내부 블록체인 네트워크(130) 상에 생성된 사용자의 내부지갑이 확인되면, 상기 체인 연동부(135)는 사용자정보를 근거로 외부 블록체인 네트워크(200) 상의 사용자 전자지갑을 통해 상기 외부 블록체인 네트워크(200) 상의 스마트 컨트랙트(210)에 예치된 암호화폐 단위를 확인하고, 상기 확인된 암호화폐 단위를 상기 내부 블록체인 네트워크(130) 상에 생성된 사용자의 내부지갑에 적용한다. 바람직하게, 상기 체인 연동부(135)는 상기 내부 블록체인 네트워크(130) 상에 상기 사용자의 내부지갑이 생성됨과 동시에 상기 사용자 전자지갑을 통해 상기 스마트 컨트랙트(210)에 예치된 암호화폐 단위를 상기 사용자의 내부지갑으로 동기화하는 것이 바람직하며, 이후 상기 사용자 전자지갑을 통해 상기 스마트 컨트랙트(210)에 소정의 암호화폐 단위가 추가로 예치되는 경우에 상기 스마트 컨트랙트(210)에 추가 예치된 암호화폐 단위를 상기 사용자의 내부지갑에 추가하는 것이 바람직하다. On the other hand, if the user's internal wallet is generated on the internal blockchain network 130 or the user's internal wallet generated on the internal blockchain network 130 is confirmed, the chain linkage 135 is based on the user information The cryptocurrency unit deposited in the smart contract 210 on the external blockchain network 200 is identified through a user electronic wallet on the external blockchain network 200, and the identified cryptocurrency unit is converted into the internal blockchain network. Applies to the internal wallet of the user created on (130). Preferably, the chain interworking unit 135 generates a cryptocurrency unit deposited in the smart contract 210 through the user electronic wallet while the internal wallet of the user is generated on the internal blockchain network 130. It is preferable to synchronize with the internal wallet of the user, and if a predetermined cryptocurrency unit is additionally deposited in the smart contract 210 through the user electronic wallet, the cryptocurrency unit additionally deposited in the smart contract 210. It is desirable to add to the inner wallet of the user.
상기 사용자 전자지갑을 통해 상기 스마트 컨트랙트(210)에 예치된 암호화폐 단위가 상기 사용자의 내부지갑에 적용된 후, 상기 거래 절차부(140)는 상기 사용자의 내부지갑을 이용한 암호화폐 거래를 제공할 수 있다.After the cryptocurrency unit deposited in the smart contract 210 is applied to the internal wallet of the user through the user electronic wallet, the transaction procedure unit 140 may provide a cryptocurrency transaction using the internal wallet of the user. have.
본 발명의 제1 암호화폐 거래 방식 실시예에 따르면, 상기 거래 절차부(140)는 상기 내부 블록체인 네트워크(130) 상에 생성된 사용자의 내부지갑에 적용된 암호화폐 중 지정된 암호화폐 단위를 다른 사용자의 내부지갑으로 이전하는 전자지갑 간 암호화폐 거래를 처리할 수 있다. 이 경우 상기 외부 블록체인 네트워크(200) 상의 스마트 컨트랙트(210)는 상기 외부 블록체인 네트워크(200) 상에 생성된 사용자의 전자지갑 간 암호화폐 거래를 위한 에스크로우 매체로 이용될 수 있다. 예를들어, 외부 블록체인 네트워크(200) 상의 사용자A의 전자지갑에서 사용자B의 전자지갑으로 암호화폐를 이전하는 경우, 상기 사용자A의 전자지갑에서 인출된 암호화폐는 지정된 전자지갑 간 거래 절차에 따라 상기 외부 블록체인 네트워크(200) 상의 스마트 컨트랙트(210)에 예치될 수 있으며, 이 경우 상기 스마트 컨트랙트(210)에 예치된 암호화폐는 상기 내부 블록체인 네트워크(130) 상에 생성된 사용자A의 내부지갑에 적용되며, 기 설정된 내부 거래 절차에 따라 상기 사용자A의 내부지갑에 적용된 암호화폐는 상기 내부 블록체인 네트워크(130) 상에 생성된 사용자B의 내부지갑으로 이전될 수 있다. 이후 사용자B는 지정된 본인 인증 절차를 수행(즉, 본 발명에 따른 전자지갑 간 암호화폐 거래의 경우 수취인도 본인 인증을 거쳐야만 스마트 컨트랙트(210)에 예치된 암호화폐를 인출하여 수취 가능함)한 후 본 발명에 따른 암호화폐 인출 과정을 통해 상기 외부 블록체인 네트워크(200) 상의 스마트 컨트랙트(210)에 예치된 암호화폐 중 상기 내부 블록체인 네트워크(130) 상에 생성된 사용자B의 내부지갑에 보유된 암호화폐에 대응하는 암호화폐를 인출 요청하여 상기 외부 블록체인 네트워크(200) 상에 생성된 사용자B의 전자지갑으로 인출하여 수취할 수 있다.According to an embodiment of the first cryptocurrency trading method of the present invention, the transaction procedure unit 140 is a user of the specified cryptocurrency unit among the cryptocurrency applied to the internal wallet of the user created on the internal blockchain network 130. It can handle cryptocurrency transactions between electronic wallets that are transferred to the internal wallet. In this case, the smart contract 210 on the external blockchain network 200 may be used as an escrow medium for cryptocurrency transactions between electronic wallets of users created on the external blockchain network 200. For example, when transferring a cryptocurrency from user A's electronic wallet on user's B wallet on the external blockchain network 200, the cryptocurrency withdrawn from the user's electronic wallet is transferred to the designated electronic wallet transaction procedure. Therefore, the smart contract 210 may be deposited on the external blockchain network 200. In this case, the cryptocurrency deposited on the smart contract 210 may be stored in the user A generated on the internal blockchain network 130. The cryptocurrency applied to the internal wallet and applied to the internal wallet of the user A according to a preset internal transaction procedure may be transferred to the internal wallet of the user B created on the internal blockchain network 130. Thereafter, User B performs the designated authentication process (that is, in the case of cryptocurrency transaction between electronic wallets according to the present invention, the payee can also withdraw and receive the cryptocurrency deposited in the smart contract 210 only through the authentication). A cryptocurrency held in an internal wallet of user B created on the internal blockchain network 130 among cryptocurrencies deposited on the smart contract 210 on the external blockchain network 200 through a cryptocurrency withdrawal process according to the present invention. By requesting the withdrawal of the cryptocurrency corresponding to the currency, it is possible to withdraw and receive it with the electronic wallet of the user B created on the external blockchain network 200.
본 발명의 제2 암호화폐 거래 방식 실시예에 따르면, 상기 거래 절차부(140)는 사용자단말(180)로 상기 내부 블록체인 네트워크(130) 상에 생성된 사용자의 내부지갑을 이용하여 거래소 기반의 암호화폐 거래를 처리하기 위한 암호화폐 거래 환경을 제공하고, 사용자단말(180)로부터 상기 암호화폐 거래 환경을 통해 요청되는 거래소 기반 암호화폐 거래를 처리할 수 있다. According to a second cryptocurrency trading method embodiment of the present invention, the transaction procedure unit 140 is based on an exchange based on an internal wallet of a user created on the internal blockchain network 130 as a user terminal 180. It is possible to provide a cryptocurrency trading environment for processing a cryptocurrency transaction, and process an exchange-based cryptocurrency transaction requested from the user terminal 180 through the cryptocurrency trading environment.
본 발명의 제3 암호화폐 거래 방식 실시예에 따르면, 상기 거래 절차부(140)는 상기 제1 암호화폐 거래 방식 실시예의 전자지갑 간 암호화폐 거래 요소의 적어도 일부와 상기 제2 암호화폐 거래 방식 실시예의 거래소 기반 암호화폐 거래 요소의 적어도 일부를 조합한 형태의 암호화폐 거래를 처리할 수 있으며, 이에 의해 본 발명이 한정되지 아니한다.According to a third cryptocurrency trading method embodiment of the present invention, the transaction procedure unit 140 implements the second cryptocurrency trading method and at least a part of cryptocurrency trading elements between electronic wallets of the first cryptocurrency trading method embodiment. A cryptocurrency transaction in the form of a combination of at least some of the example exchange-based cryptocurrency trading elements may be processed, whereby the present invention is not limited.
한편 본 발명의 실시 방법에 따르면, 상기 제2 내지 제3 암호화폐 거래 방식 실시예 중 적어도 하나의 실시예에 대응하는 암호화폐 거래에 대한 거래내역이 생성되어 상기 내부 블록체인 네트워크(130) 상의 블록에 기록되는 경우, 상기 거래 절차부(140)는 상기 내부 블록체인 네트워크(130)를 이용한 암호화폐 거래에 의해 상기 내부 블록체인 네트워크(130) 상의 블록에 기록된 거래내역을 확인하여 지정된 데이터베이스에 동기화하여 저장할 수 있다. Meanwhile, according to an embodiment of the present invention, a transaction history for a cryptocurrency transaction corresponding to at least one of the second to third cryptocurrency trading scheme embodiments is generated to block the block on the internal blockchain network 130. When recorded in the transaction procedure unit 140 checks the transaction history recorded in the block on the internal blockchain network 130 by the cryptocurrency transaction using the internal blockchain network 130 and synchronized to a specified database Can be stored.
//-//-
한편 본 발명의 실시 방법에 따르면, 상기 내부 블록체인 네트워크(130)는 B개의 외부 블록체인 네트워크(200)를 통해 구현되는 C(C≥B)종의 암호화폐 중에서 지정된 c(1≤c≤C)종의 암호화폐에 대한 동종 간 암호화폐 거래와 이종 간 암호화폐 거래 중 하나 이상의 암호화폐 거래를 탈중앙화 방식 암호화폐 거래로 처리하기 위해 설계된 블록체인 네트워크를 포함할 수 있다. Meanwhile, according to an exemplary embodiment of the present invention, the internal blockchain network 130 may be designated c (1≤c≤C) among C (C≥B) types of cryptocurrency implemented through B external blockchain networks 200. It may include a blockchain network designed to process one or more cryptocurrency transactions between homogeneous cryptocurrencies and heterogeneous cryptocurrencies for a variety of cryptocurrencies as decentralized cryptocurrency transactions.
한편 본 발명의 실시 방법에 따르면, 상기 내부 블록체인 네트워크(130)는 B개의 외부 블록체인 네트워크(200)와 망분리된 형태의 블록체인 네트워크를 포함할 수 있다. 이 경우 상기 내부 블록체인 네트워크(130)를 이용한 암호화폐 거래의 중간 과정은 상기 외부 블록체인 네트워크(200)에 반영하지 않으며, 다만 상기 외부 블록체인 네트워크(200) 상의 스마트 컨트랙트(210)에 예치된 암호화폐 단위를 사용자의 전자지갑으로 인출하는 과정을 통해서만 상기 인출 과정의 직전까지 상기 내부 블록체인 네트워크(130)를 통해 수행된 암호화폐 거래 결과 중 적어도 일부가 상기 외부 블록체인 네트워크(200)에 간접적으로 반영될 수 있다. Meanwhile, according to an exemplary embodiment of the present invention, the internal blockchain network 130 may include a blockchain network in a form of a network separated from the B external blockchain networks 200. In this case, an intermediate process of a cryptocurrency transaction using the internal blockchain network 130 is not reflected to the external blockchain network 200, but is deposited in the smart contract 210 on the external blockchain network 200. Only through the process of withdrawing the cryptocurrency unit to the user's electronic wallet, at least a part of the result of the cryptocurrency transaction performed through the internal blockchain network 130 until immediately before the withdrawal process is indirect to the external blockchain network 200. Can be reflected.
본 발명의 제1 암호화폐 거래 종류 실시예에 따르면, 상기 내부 블록체인 네트워크(130)를 통해 탈중앙화 방식으로 제공되는 동종 간 암호화폐 거래는, 송금 측 사용자의 내부지갑에서 제i(1≤i≤c)의 암호화폐를 인출하여 수취 측 사용자의 내부지갑으로 이전하는 전자지갑 간 동종의 암호화폐 거래를 포함할 수 있다. 여기서, 상기 송금 측 사용자는 상기 외부 블록체인 네트워크(200) 상의 스마트 컨트랙트(210)에 제i의 암호화폐를 예치한 사용자를 포함하고, 상기 수취 측 사용자는 상기 외부 블록체인 네트워크(200) 상의 스마트 컨트랙트(210)에 예치된 제i의 암호화폐를 인출하는 사용자를 포함할 수 있다.According to an embodiment of the first cryptocurrency transaction type of the present invention, a homogeneous cryptocurrency transaction provided in a decentralized manner through the internal blockchain network 130 may include i (1≤i) in an internal wallet of a remitting user. It may include the same kind of cryptocurrency transactions between electronic wallets to withdraw the cryptocurrency of ≤ c) and transfer it to the internal wallet of the receiving user. Here, the remittance side user includes a user who deposits the i-th cryptocurrency in the smart contract 210 on the external blockchain network 200, and the receiving side user is a smart on the external blockchain network 200. It may include a user withdrawing the i-th cryptocurrency deposited in the contract 210.
본 발명의 제2 암호화폐 거래 종류 실시예에 따르면, 상기 내부 블록체인 네트워크(130)를 통해 탈중앙화 방식으로 제공되는 동종 간 암호화폐 거래는, 실물화폐와 제i(1≤i≤c)의 암호화폐 간 환율을 기반으로 제i의 암호화폐의 매도/매수를 위한 암호화폐 거래 환경을 제공하고, 상기 암호화폐 거래 환경을 통해 매도 측 사용자와 매수 측 사용자가 거래가 성립된 경우에 상기 실물화폐를 이용하여 매도 측 사용자의 내부지갑에서 제i의 암호화폐를 인출하여 매수 측 사용자의 내부지갑으로 이전하는 거래소 기반 동종의 암호화폐 거래를 포함할 수 있다.According to an embodiment of the second cryptocurrency transaction type of the present invention, a peer-to-peer cryptocurrency transaction provided in a decentralized manner through the internal blockchain network 130 may include real currency and i (1≤i≤c). Provide a cryptocurrency trading environment for selling / purchasing the i-th cryptocurrency based on the exchange rate between cryptocurrencies, and when the selling side user and the buying side user establish a transaction through the cryptocurrency trading environment, It may include exchange-based cryptocurrency trading based on the exchange of withdrawing the i-th cryptocurrency from the inner wallet of the selling user and transferring to the inner wallet of the buying user.
본 발명의 제3 암호화폐 거래 종류 실시예에 따르면, 상기 내부 블록체인 네트워크(130)를 통해 탈중앙화 방식으로 제공되는 동종 간 암호화폐 거래는, 기 설정된 기준 암호화폐(예컨대, 비트코인, 이더리움 등)와 제i(1≤i≤c)의 암호화폐 간 환율을 기반으로 제i의 암호화폐의 매도/매수를 위한 암호화폐 거래 환경을 제공하고, 상기 암호화폐 거래 환경을 통해 매도 측 사용자와 매수 측 사용자가 거래가 성립된 경우에 상기 기준 암호화폐를 이용하여 매도 측 사용자의 내부지갑에서 제i의 암호화폐를 인출하여 매수 측 사용자의 내부지갑으로 이전하는 거래소 기반 동종의 암호화폐 거래를 포함할 수 있다.According to a third cryptocurrency transaction type embodiment of the present invention, a homogeneous cryptocurrency transaction provided in a decentralized manner through the internal blockchain network 130 may include a preset reference cryptocurrency (eg, Bitcoin, Ethereum). Etc.) and a cryptocurrency trading environment for selling / purchasing the i-th cryptocurrency based on the exchange rate between the cryptocurrency of i (1≤i≤c) and through the cryptocurrency trading environment. When the purchaser's user establishes a transaction, it may include an exchange-based cryptocurrency transaction that withdraws the i-th cryptocurrency from the seller's internal wallet and transfers it to the buyer's internal wallet using the reference cryptocurrency. Can be.
본 발명의 제4 암호화폐 거래 종류 실시예에 따르면, 상기 내부 블록체인 네트워크(130)를 통해 탈중앙화 방식으로 제공되는 이종 간 암호화폐 거래는, 송금 측 사용자의 내부지갑에서 제i(1≤i≤c)의 암호화폐를 인출하고 각 암호화폐 간 환율을 기반으로 상기 제i의 암호화폐를 지정된 제j(1≤j≤c, i≠j)의 암호화폐로 변환하여 수취 측 사용자의 내부지갑으로 이전하는 전자지갑 간 이종의 암호화폐 거래를 포함할 수 있다. 여기서, 상기 송금 측 사용자는 상기 외부 블록체인 네트워크(200) 상의 스마트 컨트랙트(210)에 제i의 암호화폐를 예치한 사용자를 포함하고, 상기 수취 측 사용자는 상기 외부 블록체인 네트워크(200) 상의 스마트 컨트랙트(210)에 예치된 제j의 암호화폐를 인출하는 사용자를 포함할 수 있다. According to an embodiment of the fourth cryptocurrency transaction type of the present invention, a heterogeneous cryptocurrency transaction provided in a decentralized manner through the internal blockchain network 130 may include i (1≤i) in an internal wallet of a user of a remittance side. Withdraw the cryptocurrency of ≤c) and convert the i-th cryptocurrency to a cryptocurrency of the specified jth (1≤j≤c, i ≠ j) based on the exchange rate between each cryptocurrency It may include heterogeneous cryptocurrency transactions between electronic wallets that are transferred to the wallet. Here, the remittance side user includes a user who deposits the i-th cryptocurrency in the smart contract 210 on the external blockchain network 200, and the receiving side user is a smart on the external blockchain network 200. It may include a user withdrawing the j-th cryptocurrency deposited in the contract 210.
도면1을 참조하면, 상기 운영서버(100)는, 상기 외부 블록체인 네트워크(200) 상의 스마트 컨트랙트(210)에 예치된 암호화폐 중 상기 내부 블록체인 네트워크(130)를 통한 암호화폐 거래 결과의 적어도 일부에 대응하는 암호화폐를 상기 외부 블록체인 네트워크(200) 상에 유효 생성된 사용자의 전자지갑으로 인출 시, 사용자단말(180)을 통해 접속한 사용자에 대하여 암호화폐의 인출을 위해 지정된 본인 인증 절차를 수행하는 사용자 인증부(120)와, 상기 사용자단말(180)을 통해 상기 암호화폐가 인출될 사용자의 전자지갑 주소와 암호화폐 단위를 수신하거나 확인하는 인출요청 확인부(145)와, 상기 본인 인증을 통해 인증된 사용자의 개인키를 통해 생성된 인증정보를 수신하거나 확인하는 인증정보 확인부(150)와, 기 설정된 스마트 컨트랙트 동작 절차에 따라 상기 암호화폐를 인출받을 사용자의 전자지갑 주소와 상기 인출될 암호화폐 단위 및 상기 생성된 인증정보를 포함하는 인출정보를 상기 외부 블록체인 네트워크(200) 상의 스마트 컨트랙트(210)로 전달하기 위한 절차를 수행하는 인출 절차부(155)를 포함한다.Referring to FIG. 1, the operation server 100 includes at least one of a result of a cryptocurrency transaction through the internal blockchain network 130 among cryptocurrencies deposited in the smart contract 210 on the external blockchain network 200. When withdrawing a cryptocurrency corresponding to a part with an electronic wallet of a user effectively created on the external blockchain network 200, a user authentication procedure designated for withdrawing a cryptocurrency for a user connected through the user terminal 180 The user authentication unit 120 for performing the operation, the withdrawal request confirmation unit 145 for receiving or confirming the electronic wallet address and the cryptocurrency unit of the user whose cryptocurrency is to be withdrawn via the user terminal 180, and the person. Authentication information verification unit 150 for receiving or verifying the authentication information generated through the private key of the user authenticated through authentication, and according to the pre-set smart contract operation procedure A procedure for transferring the withdrawal information including the electronic wallet address of the user to be withdrawn the cryptocurrency, the cryptocurrency unit to be withdrawn and the generated authentication information to the smart contract 210 on the external blockchain network 200 A withdrawal procedure unit 155 to perform.
상기 외부 블록체인 네트워크(200) 상의 스마트 컨트랙트(210)에 예치된 암호화폐 중 상기 내부 블록체인 네트워크(130)를 통한 암호화폐 거래 결과의 적어도 일부에 대응하는 암호화폐를 상기 외부 블록체인 네트워크(200) 상에 유효 생성된 사용자의 전자지갑으로 인출 시, 상기 사용자 인증부(120)는 사용자단말(180)을 이용하여 암호화폐의 인출을 위해 접속한 사용자에 대하여 상기 암호화폐의 인출을 위해 지정된 본인 인증 절차를 수행한다. 여기서, 상기 본인 인증 절차는 회원 가입 시 등록된 ID/PW를 인증하는 인증 절차, 공인인증서를 이용하는 인증 절차, OTP(One Time Password)를 이용하는 인증 절차, SMS/MMS 등의 무선메시지를 이용하는 인증 절차, 전화통화나 ARS를 이용하는 인증 절차, 사용자 무선단말에 설치된 앱을 이용하는 인증 절차, 금융사나 통신사 등의 지정된 기관을 이용하는 인증 절차, 지정된 실명인증기관을 인증 절차 중 지정된 적어도 하나 또는 둘 이상을 조합한 인증 절차를 포함할 수 있으며, 상기 본인 인증 절차의 종류나 방식에 의해 본 발명이 한정되지 아니한다.Among the cryptocurrencies deposited in the smart contract 210 on the external blockchain network 200, the cryptocurrency corresponding to at least a part of a cryptocurrency transaction result through the internal blockchain network 130 is transferred to the external blockchain network 200. When withdrawing the electronic wallet of the user effectively created on the), the user authentication unit 120 is a person designated for withdrawal of the cryptocurrency for the user connected for withdrawal of the cryptocurrency using the user terminal 180 Perform the authentication process. Here, the authentication process is an authentication process for authenticating the registered ID / PW when registering as a member, an authentication process using a public certificate, an authentication process using an One Time Password (OTP), an authentication process using a wireless message such as SMS / MMS. , An authentication process using a telephone call or ARS, an authentication process using an app installed on a user's wireless terminal, an authentication process using a designated institution such as a financial company or a telecommunications company, or a combination of at least one or two specified combinations of a designated real name certification authority. An authentication procedure may be included, and the present invention is not limited by the type or method of the personal authentication procedure.
한편 상기 공개키 처리부(115)를 통해 상기 스마트 컨트랙트(210)의 지정된 저장영역에 저장된 사용자의 공개키에 대응하는 사용자를 상기 스마트 컨트랙트(210)에 예치된 암호화폐를 인출 가능한 사용자로 설정하여 저장한 경우, 상기 사용자 인증부(120)는 상기 암호화폐를 인출할 사용자가 상기 스마트 컨트랙트(210)의 지정된 저장영역에 본인의 공개키가 저장되어 상기 스마트 컨트랙트(210)에 예치된 암호화폐를 인출 가능한 사용자인지 인증하는 인증 절차를 더 수행할 수 있으며, 이 경우 상기 스마트 컨트랙트(210)에 예치된 지정도니 암호화폐를 인출 가능한 사용자는 상기 스마트 컨트랙트(210)에 사용자의 공개키를 저장한 이력이 있는 사용자로만 제한될 수 있다.Meanwhile, the user corresponding to the public key of the user stored in the designated storage area of the smart contract 210 through the public key processing unit 115 is set and stored as a user withdrawable cryptocurrency deposited on the smart contract 210. In one case, the user authentication unit 120 stores the public key of the user to withdraw the cryptocurrency in the designated storage area of the smart contract 210 to withdraw the cryptocurrency deposited in the smart contract 210 An authentication procedure for authenticating whether a user is possible may be performed. In this case, a user who is able to withdraw a designated cryptocurrency deposited in the smart contract 210 may have a history of storing the user's public key in the smart contract 210. It can be limited to only users who are present.
한편 상기 사용자 인증부(120)를 통한 사용자의 본인 인증 전 또는 중 또는 후의 지정된 일 시점에, 상기 외부 블록체인 네트워크(200) 상의 스마트 컨트랙트(210)에 예치된 암호화폐를 인출할 사용자가 지정된 사용자단말(180)을 통해 상기 외부 블록체인 네트워크(200) 상에 유효 생성된 전자지갑 중 상기 암호화폐를 인출받을 사용자의 전자지갑 주소를 입력하거나 선택하고, 상기 내부 블록체인 네트워크(130)를 통한 암호화폐 거래 결과로서 상기 내부 블록체인 네트워크(130) 상에 생성된 사용자의 내부지갑에 보유된 암호화폐 중 상기 사용자의 전자지갑으로 인출할 암호화폐 단위를 입력하거나 선택하면, 상기 사용자단말(180)은 상기 암호화폐가 인출될 사용자의 전자지갑 주소와 암호화폐 단위를 상기 운영서버(100)로 전송하며, 상기 인출요청 확인부(145)는 상기 사용자단말(180)을 통해 상기 암호화폐가 인출될 사용자의 전자지갑 주소와 암호화폐 단위를 수신할 수 있다. 한편 상기 사용자단말(180)은 상기 암호화폐가 인출될 사용자의 전자지갑 주소를 미리 등록하고 상기 내부 블록체인 네트워크(130) 상에 생성된 사용자의 내부지갑에 보유된 암호화폐를 상기 외부 네트워크 상에 사용된 사용자의 전자지갑으로 인출할 조건(예컨대, 내부 블록체인 네트워크(130) 상에 생성된 사용자의 내부지갑에 지정된 기준값 이상의 암호화폐 보유 시 외부 블록체인 네트워크(200) 상에 생성된 사용자의 전자지갑으로 인출하는 조건 등)을 등록할 수 있으며, 상기 인출요청 확인부(145)는 상기 등록된 조건에 따라 암호화폐가 인출될 사용자의 전자지갑 주소와 암호화폐 단위를 확인할 수 있다. On the other hand, at a specified time point before, during, or after the user's identity authentication through the user authentication unit 120, a user to which the user who wants to withdraw the cryptocurrency deposited in the smart contract 210 on the external blockchain network 200 is designated. Input or select an electronic wallet address of a user who will withdraw the cryptocurrency among the electronic wallets effectively generated on the external blockchain network 200 through the terminal 180, and encrypt through the internal blockchain network 130 If a user enters or selects a cryptocurrency unit to be withdrawn from the user's electronic wallet, among the cryptocurrencies held in the user's internal wallet created on the internal blockchain network 130 as a result of a currency transaction, the user terminal 180 The electronic wallet address and the cryptocurrency unit of the user whose cryptocurrency is to be withdrawn are transmitted to the operation server 100, and the withdrawal request confirmation unit 145 is provided. The user terminal 180, the password is the money that can receive the user's e-wallet address and password pound be drawn through. Meanwhile, the user terminal 180 registers the electronic wallet address of the user whose cryptocurrency is to be withdrawn in advance, and stores the cryptocurrency held in the internal wallet of the user created on the internal blockchain network 130 on the external network. The conditions to be withdrawn to the user's electronic wallet used (e.g., the electronics of the user created on the external blockchain network 200 when the cryptocurrency is held above the reference value specified in the user's internal wallet created on the internal blockchain network 130 Conditions for withdrawing to a wallet, etc.), and the withdrawal request confirmation unit 145 may check the electronic wallet address and the cryptocurrency unit of the user whose cryptocurrency is to be withdrawn according to the registered condition.
한편 상기 사용자 인증부(120)를 통해 상기 암호화폐를 인출할 사용자의 본인 인증이 확인된 경우, 상기 인증정보 확인부(150)는 상기 사용자단말(180)로부터 상기 본인 인증을 통해 인증된 사용자의 개인키를 통해 생성된 인증정보를 수신하거나 또는 상기 본인 인증을 통해 인증된 사용자의 개인키를 통해 운영서버(100) 측에서 생성한 인증정보를 확인할 수 있다. On the other hand, if the user authentication of the user to withdraw the cryptocurrency is confirmed through the user authentication unit 120, the authentication information confirmation unit 150 is the user of the user authenticated through the user authentication from the user terminal 180 The authentication information generated through the private key may be received or the authentication information generated by the operation server 100 may be confirmed through the private key of the user authenticated through the personal authentication.
본 발명의 제1 인증정보 실시예에 따르면, 상기 인증정보는 지정된 운영서버(100)와 상기 스마트 컨트랙드 사이에 합의된 문자열이나 바이너리코드를 포함하는 데이터를 상기 사용자의 개인키를 통해 지정된 암호화 방식으로 암호화하여 생성한 인증정보를 포함할 수 있는데, 이 경우 상기 인증정보 확인부(150)는 상기 본인 인증을 통해 인증된 사용자의 개인키를 통해 상기 운영서버(100)와 스마트 컨트랙드 사이에 합의된 문자열이나 바이너리코드를 포함하는 데이터를 지정된 암호화 방식으로 암호화하여 생성한 인증정보를 수신하거나 확인할 수 있다.According to an embodiment of the first authentication information of the present invention, the authentication information is encrypted through the user's private key, the data including the string or binary code agreed between the designated operation server 100 and the smart contract It may include the authentication information generated by encrypting, in this case, the authentication information verification unit 150 is between the operating server 100 and the smart contract through the private key of the user authenticated through the identity authentication Receive or verify authentication information generated by encrypting data containing a string or binary code agreed upon by a specified encryption method.
본 발명의 제2 인증정보 실시예에 따르면, 상기 인증정보는 지정된 운영서버(100)와 상기 스마트 컨트랙드 사이에 합의된 복수의 문자열이나 복수의 바이너리코드 중 지정된 인덱스를 통해 상기 운영서버(100)와 스마트 컨트랙트(210) 사이에 동기화되는 문자열이나 바이너리코드를 포함하는 데이터를 상기 사용자의 개인키를 통해 지정된 암호화 방식으로 암호화하여 생성한 인증정보를 포함할 수 있으며, 이 경우 상기 인증정보 확인부(150)는 상기 본인 인증을 통해 인증된 사용자의 개인키를 통해 상기 운영서버(100)와 스마트 컨트랙드 사이에 합의된 복수의 문자열이나 복수의 바이너리코드 중 지정된 인덱스를 통해 상기 운영서버(100)와 스마트 컨트랙트(210) 사이에 동기화되는 문자열이나 바이너리코드를 포함하는 데이터를 지정된 암호화 방식으로 암호화하여 생성한 인증정보를 수신하거나 확인할 수 있다. 한편 이 경우 상기 인출정보는 상기 운영서버(100)와 스마트 컨트랙드 사이에 상기 암호화된 문자열이나 바이너리코드를 동기화하기 위한 인덱스를 더 포함할 수있다. According to a second embodiment of the authentication information of the present invention, the authentication information is the operating server 100 through a specified index of a plurality of strings or a plurality of binary codes agreed between the designated operating server 100 and the smart contract ) May include authentication information generated by encrypting data including a character string or binary code synchronized between the smart contract 210 and the encryption key specified by the user's private key. In this case, the authentication information verification unit The operation server 100 through the designated index of a plurality of strings or a plurality of binary codes agreed between the operation server 100 and the smart contract through the private key of the user authenticated through the user authentication (150) ) And the data containing the string or binary code synchronized between the smart contract 210 and the encryption method. Received or verified authentication information generated by luxury. In this case, the withdrawal information may further include an index for synchronizing the encrypted string or binary code between the operation server 100 and the smart contract.
본 발명의 제3 인증정보 실시예에 따르면, 상기 인증정보는 상기 인출정보에 포함되는 전자지갑 주소(또는 전자지갑 주소의 적어도 일부 영역)를 포함하는 데이터를 상기 사용자의 개인키를 통해 지정된 암호화 방식으로 암호화하여 생성한 거래연동 인증정보를 포함할 수 있으며, 이 경우 상기 인증정보 확인부(150)는 상기 본인 인증을 통해 인증된 사용자의 개인키를 통해 상기 인출정보에 포함되는 전자지갑 주소(또는 전자지갑 주소의 적어도 일부 영역)를 포함하는 데이터를 지정된 암호화 방식으로 암호화하여 생성한 인증정보를 수신하거나 확인할 수 있다.According to a third embodiment of the authentication information of the present invention, the authentication information is an encryption scheme designated by the user's private key for data including an electronic wallet address (or at least part of an electronic wallet address) included in the withdrawal information. It may include transaction authentication information generated by encrypting, and in this case, the authentication information verification unit 150 is an electronic wallet address (or included in the withdrawal information through the private key of the user authenticated through the authentication of the user (or The authentication information generated by encrypting data including at least a portion of an electronic wallet address) using a specified encryption method may be received or confirmed.
본 발명의 제4 인증정보 실시예에 따르면, 상기 인증정보는 상기 인출정보에 포함되는 암호화폐 단위(또는 암호화폐 단위의 적어도 일부 영역)를 포함하는 데이터를 상기 사용자의 개인키를 통해 지정된 암호화 방식으로 암호화하여 생성한 거래연동 인증정보를 포함할 수 있으며, 이 경우 상기 인증정보 확인부(150)는 상기 본인 인증을 통해 인증된 사용자의 개인키를 통해 상기 인출정보에 포함되는 암호화폐 단위(또는 암호화폐 단위의 적어도 일부 영역)를 포함하는 데이터를 지정된 암호화 방식으로 암호화하여 생성한 인증정보를 수신하거나 확인할 수 있다.According to a fourth embodiment of the authentication information of the present invention, the authentication information is a cryptographic scheme designated by the user's private key for data including a cryptocurrency unit (or at least a part of a cryptocurrency unit) included in the withdrawal information. It may include transaction authentication information generated by encryption, in this case, the authentication information verification unit 150 is a cryptocurrency unit (or included in the withdrawal information through the private key of the user authenticated through the user authentication) The authentication information generated by encrypting data including at least a portion of a cryptocurrency unit) may be received or confirmed.
본 발명의 제5 인증정보 실시예에 따르면, 상기 인증정보는 상기 인출정보에 포함되는 전자지갑 주소(또는 전자지갑 주소의 적어도 일부 영역)과 암호화폐 단위(또는 암호화폐 단위의 적어도 일부 영역)를 포함하는 데이터를 상기 사용자의 개인키를 통해 지정된 암호화 방식으로 암호화하여 생성한 거래연동 인증정보를 포함할 수 있으며, 이 경우 상기 인증정보 확인부(150)는 상기 본인 인증을 통해 인증된 사용자의 개인키를 통해 상기 인출정보에 포함되는 전자지갑 주소(또는 전자지갑 주소의 적어도 일부 영역)과 암호화폐 단위(또는 암호화폐 단위의 적어도 일부 영역)를 포함하는 데이터를 지정된 암호화 방식으로 암호화하여 생성한 인증정보를 수신하거나 확인할 수 있다.According to a fifth embodiment of the authentication information of the present invention, the authentication information includes an electronic wallet address (or at least a partial region of the electronic wallet address) and a cryptocurrency unit (or at least a partial region of the cryptocurrency unit) included in the withdrawal information. It may include a transaction interlocking authentication information generated by encrypting the data including the encryption method specified by the user's private key, in this case, the authentication information verification unit 150 is the individual of the user authenticated through the identity authentication Authentication generated by encrypting data including an electronic wallet address (or at least a partial region of the electronic wallet address) and a cryptocurrency unit (or at least a partial region of the cryptocurrency unit) included in the withdrawal information through a key using a specified encryption method Information can be received or verified.
본 발명의 제6 인증정보 실시예에 따르면, 상기 인증정보는 지정된 운영서버(100)와 상기 스마트 컨트랙드가 기 설정된 규칙에 따라 지정된 블록체인 상의 특정 블록(예컨대, 현재 시점에 기 체인 연결되어 불변의 기록으로 남은 블록 중 운영서버(100)와 스마트 컨트랙트(210) 사이에 기 설정된 규칙에 따라 합의되는 블록) 내 특정 저장위치(예컨대, 운영서버(100)와 스마트 컨트랙트(210) 사이에 기 설정된 규칙에 따라 합의되는 저장위치)를 동기화하여 획득하는 데이터를 상기 사용자의 개인키를 통해 지정된 암호화 방식으로 암호화하여 생성한 블록연동 인증정보를 포함할 수 있으며, 이 경우 상기 인증정보 확인부(150)는 상기 본인 인증을 통해 인증된 사용자의 개인키를 통해 상기 운영서버(100)와 스마트 컨트랙드가 기 설정된 규칙에 따라 지정된 블록체인 상의 특정 블록 내 특정 저장위치를 동기화하여 획득하는 데이터를 지정된 암호화 방식으로 암호화하여 생성한 인증정보를 수신하거나 확인할 수 있다.According to a sixth embodiment of the authentication information of the present invention, the authentication information is invariant in a specific block (for example, chained at a current time point) on a designated block chain according to a predetermined rule between the designated operation server 100 and the smart contract. Of the remaining blocks in the record of the block is agreed between the operation server 100 and the smart contract 210 according to a predetermined rule (for example, the predetermined setting between the operation server 100 and the smart contract 210) And the block interlocking authentication information generated by encrypting the data obtained by synchronizing the storage location agreed according to the rule by a designated encryption method through the user's private key. In this case, the authentication information confirming unit 150 Is a block body designated according to a predetermined rule between the operation server 100 and the smart contract through a private key of a user authenticated through the user authentication. Is on the data to obtain a particular block within a particular storage location to synchronize the number of receive or verify the authentication information generated by encrypting the specified encryption method.
본 발명의 제7 인증정보 실시예에 따르면, 상기 인증정보는 상기 제1 내지 제6 인증정보 실시예 중 적어도 둘 이상의 실시예를 적어도 부분적으로 조합한 형태의 인증정보를 포함할 수 있으며, 이 경우 상기 인증정보 확인부(150)는 상기 제1 내지 제6 인증정보 실시예 중 적어도 둘 이상의 실시예를 적어도 부분적으로 조합한 형태로 상기 본인 인증을 통해 인증된 사용자의 개인키를 통해 생성된 인증정보를 수신하거나 확인할 수 있다.According to the seventh authentication information embodiment of the present invention, the authentication information may include authentication information in a form in which at least two or more embodiments of the first to sixth authentication information embodiments are at least partially combined. The authentication information verification unit 150 is a combination of at least two or more embodiments of the first to sixth authentication information embodiments, the authentication information generated through the private key of the user authenticated through the user authentication Can be received or confirmed.
한편 발명의 실시 방법에 따르면, 상기 사용자 인증부(120)는 각 사용자단말(180)을 통해 접속한 복수의 사용자 중 암호화폐의 인출을 위해 접속한 적어도 i(i≥1)명의 사용자에 대하여 암호화폐의 인출을 위해 지정된 본인 인증 절차를 수행할 수 있다 이 경우 상기 i명의 사용자의 본인 인증 시, 상기 인출요청 확인부(145)는 상기 사용자단말(180)을 통해 상기 암호화폐가 인출될 i개의 사용자의 전자지갑 주소와 i개의 암호화폐 단위를 수신하거나 확인하고, 상기 인증정보 확인부(150)는 상기 본인 인증을 통해 인증된 i개의 사용자의 개인키를 통해 제각기 생성된 i개의 인증정보를 수신하거나 확인할 수 있다. 이 경우 상기 인증정보는 i(i≥1)개의 사용자의 개인키를 이용하여 상기 운영서버(100)와 상기 스마트 컨트랙트(210) 사이에 합의되거나 동기화되는 데이터를 기 설정된 암호 방식으로 암호화하여 생성한 i개의 인증정보를 포함할 수 있다.Meanwhile, according to an embodiment of the present invention, the user authentication unit 120 encrypts at least i (i≥1) users connected to withdraw cryptocurrency among a plurality of users connected through each user terminal 180. In this case, when the i-users authenticate themselves, the withdrawal request confirmation unit 145 performs i-thoughts with which the cryptocurrency is to be withdrawn through the user terminal 180. Receives or confirms the user's electronic wallet address and i cryptocurrency units, and the authentication information verification unit 150 receives i authentication information generated through the private keys of the i users authenticated through the user authentication, respectively. Can be confirmed. In this case, the authentication information is generated by encrypting data that is agreed or synchronized between the operation server 100 and the smart contract 210 by using a private key of i (i≥1) users by a predetermined encryption method. i authentication information may be included.
상기 인출 절차부(155)는 기 설정된 스마트 컨트랙트 동작 절차에 따라 상기 암호화폐를 인출받을 사용자의 전자지갑 주소와 상기 인출될 암호화폐 단위 및 상기 생성된 인증정보를 포함하는 인출정보를 상기 외부 블록체인 네트워크(200) 상의 스마트 컨트랙트(210)로 전달하기 위한 절차를 수행한다.The withdrawal procedure unit 155 may be configured to provide withdrawal information including the electronic wallet address of the user who will withdraw the cryptocurrency, the cryptocurrency unit to be withdrawn, and the generated authentication information according to a preset smart contract operation procedure. A procedure for transferring to the smart contract 210 on the network 200 is performed.
본 발명의 실시 방법에 따르면, 상기 인출 절차부(155)는 기 설정된 스마트 컨트랙트 동작 절차에 따라 상기 외부 블록체인 네트워크(200) 상의 기 설정된 특정 노드장치(205)를 통해 상기 외부 블록체인 네트워크(200) 상의 각 노드장치(205)로 상기 인출정보를 포함하는 지정된 구조의 메시지를 방송하도록 처리하는 절차를 수행할 수 있다. 여기서, 상기 스마트 컨트랙트 동작 절차는 상기 특정 노드장치(205)의 개인키를 이용하여 상기 스마트 컨트랙트(210)의 동작을 위한 지정된 구조의 메시지를 상기 외부 블록체인 네트워크(200) 상의 각 노드장치(205)로 방송하는 절차를 포함할 수 있으며, 상기 특정 노드장치(205)는 상기 외부 블록체인 네트워크(200) 상의 노드장치(205) 중 상기 운영서버(100)와 연동하는 노드장치(205), 또는 상기 외부 블록체인 네트워크(200) 상의 노드장치(205) 중 상기 운영서버(100)가 상기 메시지의 방송을 위한 개인키를 관리하는 노드장치(205)를 포함할 수 있다. According to the exemplary embodiment of the present invention, the withdrawal procedure unit 155 is configured to execute the external blockchain network 200 through a predetermined specific node device 205 on the external blockchain network 200 according to a preset smart contract operation procedure. A process of processing to broadcast a message of a designated structure including the retrieval information to each node device 205 on the (). Herein, the smart contract operation procedure uses a private key of the specific node device 205 to send a message of a designated structure for the operation of the smart contract 210 to each node device 205 on the external blockchain network 200. The specific node device 205 may be a node device 205 interoperating with the operation server 100 among the node devices 205 on the external blockchain network 200, or Among the node devices 205 on the external blockchain network 200, the operation server 100 may include a node device 205 that manages a private key for broadcasting the message.
본 발명의 실시 방법에 따르면, 상기 스마트 컨트랙트 동작 절차를 위한 메시지는 상기 인출정보(예컨대, 암호화폐를 인출받을 사용자의 전자지갑 주소와 상기 인출될 암호화폐 단위 및 사용자의 개인키를 통해 생성된 인증정보 등)를 지정된 구조에 포함되는 파라미터로 포함하며, 상기 메시지를 다른 노드장치(205)로 방송하는 특정 노드장치(205)의 지정된 주소를 포함할 수 있다. 한편 실시 방법에 따라 상기 메시지는 상기 외부 블록체인 네트워크(200) 상의 노드장치(205)에 등록된 상기 스마트 컨트랙트(210)의 지정된 주소와 상기 스마트 컨트랙트(210) 상의 확인 기능부(225)에 대응하는 함수의 주소 중 적어도 하나의 주소를 포함할 수 있다.According to an embodiment of the present invention, the message for the smart contract operation procedure is the authentication information generated through the withdrawal information (e.g., the electronic wallet address of the user who will withdraw the cryptocurrency, the cryptocurrency unit to be withdrawn and the user's private key). Information, etc.) as a parameter included in a designated structure, and may include a designated address of a specific node device 205 broadcasting the message to another node device 205. According to an embodiment, the message corresponds to a designated address of the smart contract 210 registered in the node device 205 on the external blockchain network 200 and a confirmation function unit 225 on the smart contract 210. It may include at least one address of the address of the function.
한편 본 발명의 실시 방법에 따르면, 상기 인출정보는 암호화폐를 인출하기 위한 i(i≥1)개의 전자지갑 주소와 i개의 암호화폐 단위 및 i개의 인증정보를 포함할 수 있으며, 이 경우 상기 인출 기능부(235)는 지정된 인증 절차의 인증 성공 시 상기 i개의 전자지갑 주소로 제각기 대응하는 i개의 암호화폐 단위를 인출할 수 있다. Meanwhile, according to the embodiment of the present invention, the withdrawal information may include i (i≥1) electronic wallet addresses, i cryptocurrency units and i authentication information for withdrawing cryptocurrency, in which case the withdrawal information The function unit 235 may withdraw i corresponding cryptocurrency units to the i wallet addresses upon successful authentication of the designated authentication procedure.
본 발명의 실시 방법에 따르면, 상기 인증 기능부(230)는 상기 인출정보에 포함된 사용자의 전자지갑 주소가 지정된 저장영역에 저장되어 있는지 인증하는 인증 절차를 수행할 수 있다. 여기서 상기 지정된 저장영역은 지정된 암호화폐를 예치한 사용자의 전자지갑 주소를 저장하는 저장영역, 지정된 암호화폐를 예치한 사용자의 전자지갑 주소에 대응하는 공개키를 저장하는 저장영역, 지정된 암호화폐를 예치한 사용자의 전자지갑 주소와 연계된 사용자의 공개키를 저장하는 저장영역 중 적어도 하나의 저장영역을 포함할 수 있다.According to the embodiment of the present invention, the authentication function unit 230 may perform an authentication procedure for authenticating whether the electronic wallet address of the user included in the withdrawal information is stored in the designated storage area. Wherein the designated storage area is a storage area for storing the electronic wallet address of the user who deposited the designated cryptocurrency, a storage area for storing a public key corresponding to the electronic wallet address of the user who deposited the specified cryptocurrency, and depositing the designated cryptocurrency. It may include at least one storage area of the storage area for storing the user's public key associated with the user's electronic wallet address.
한편 상기 인증 기능부(230)는 지정된 저장영역에 저장된 상기 사용자의 공개키를 이용하여 상기 인증정보의 유효성을 인증하는 인증 절차를 수행할 수 있다.Meanwhile, the authentication function unit 230 may perform an authentication procedure for authenticating the validity of the authentication information by using the public key of the user stored in the designated storage area.
본 발명의 제1 인증정보 실시예에 따르면, 상기 인증정보는 지정된 운영서버(100)와 상기 스마트 컨트랙드 사이에 합의된 문자열이나 바이너리코드를 포함하는 데이터를 상기 사용자의 개인키를 통해 지정된 암호화 방식으로 암호화하여 생성한 인증정보를 포함할 수 있는데, 이 경우 상기 인증 기능부(230)는 지정된 저장영역에 저장된 상기 사용자의 공개키를 통해 상기 인증정보를 복호화하여 상기 데이터를 복원한 후 상기 복원된 데이터가 상기 운영서버(100)와 스마트 컨트랙드 사이에 합의된 문자열이나 바이너리코드와 매칭되는지 인증하는 인증 절차를 수행할 수 있다. 한편 상기 인증정보가 복호화되지 않게 암호화(예컨대, 해시)되어 생성된 경우, 상기 인증 기능부(230)는 상기 사용자의 공개키를 통해 상기 운영서버(100)와 스마트 컨트랙드 사이에 합의된 문자열이나 바이너리코드를 포함하는 데이터를 동일한 암호화 방식으로 암호화하여 검증정보를 생성한 후 상기 인증정보와 비교하여 매칭되는지 인증하는 인증 절차를 수행할 수 있다.According to an embodiment of the first authentication information of the present invention, the authentication information is encrypted through the user's private key, the data including the string or binary code agreed between the designated operation server 100 and the smart contract And authentication information generated by encrypting the data. In this case, the authentication function unit 230 restores the data after decrypting the authentication information through the public key of the user stored in a designated storage area. An authentication procedure may be performed to authenticate whether the data is matched with the string or binary code agreed between the operation server 100 and the smart contract. Meanwhile, when the authentication information is generated by being encrypted (eg, hashed) so as not to be decrypted, the authentication function 230 is a string agreed between the operation server 100 and the smart contract through the public key of the user. Alternatively, the authentication procedure may be performed to encrypt the data including the binary code using the same encryption method, generate verification information, and compare the authentication information with the authentication information to verify that the data is matched.
본 발명의 제2 인증정보 실시예에 따르면, 상기 인증정보는 지정된 운영서버(100)와 상기 스마트 컨트랙드 사이에 합의된 복수의 문자열이나 복수의 바이너리코드 중 지정된 인덱스를 통해 상기 운영서버(100)와 스마트 컨트랙트(210) 사이에 동기화되는 문자열이나 바이너리코드를 포함하는 데이터를 상기 사용자의 개인키를 통해 지정된 암호화 방식으로 암호화하여 생성한 인증정보를 포함할 수 있으며, 이 경우 상기 인출정보는 상기 운영서버(100)와 스마트 컨트랙드 사이에 상기 암호화된 문자열이나 바이너리코드를 동기화하기 위한 인덱스를 더 포함할 수있다. 이 경우 상기 인증 기능부(230)는 지정된 저장영역에 저장된 상기 사용자의 공개키를 통해 상기 인증정보를 복호화하여 상기 데이터를 복원한 후 상기 복원된 데이터가 상기 운영서버(100)와 스마트 컨트랙드 사이에 합의된 복수의 문자열이나 복수의 바이너리코드 중 상기 인덱스를 통해 상기 운영서버(100)와 스마트 컨트랙트(210) 사이에 동기화되는 문자열이나 바이너리코드와 매칭되는지 인증하는 인증 절차를 수행할 수 있다. 한편 상기 인증정보가 복호화되지 않게 암호화(예컨대, 해시)되어 생성된 경우, 상기 인증 기능부(230)는 상기 사용자의 공개키를 통해 상기 운영서버(100)와 스마트 컨트랙드 사이에 합의된 복수의 문자열이나 복수의 바이너리코드 중 상기 인덱스를 통해 상기 운영서버(100)와 스마트 컨트랙트(210) 사이에 동기화되는 문자열이나 바이너리코드를 포함하는 데이터를 동일한 암호화 방식으로 암호화하여 검증정보를 생성한 후 상기 인증정보와 비교하여 매칭되는지 인증하는 인증 절차를 수행할 수 있다.According to a second embodiment of the authentication information of the present invention, the authentication information is the operating server 100 through a specified index of a plurality of strings or a plurality of binary codes agreed between the designated operating server 100 and the smart contract ) And authentication data generated by encrypting data including a character string or a binary code synchronized between the smart contract 210 and the encryption key specified by the user's private key. It may further include an index for synchronizing the encrypted string or binary code between the operating server 100 and the smart contract. In this case, the authentication function 230 restores the data by decrypting the authentication information through the user's public key stored in the designated storage area, and then the restored data is smart contracted with the operation server 100. An authentication procedure for authenticating whether a string or binary code synchronized between the operation server 100 and the smart contract 210 is matched through the index among a plurality of strings or a plurality of binary codes agreed upon may be performed. On the other hand, when the authentication information is generated by being encrypted (eg, hashed) so as not to be decrypted, the authentication function unit 230 has a plurality of agreements between the operation server 100 and the smart contract through the public key of the user. After generating the verification information by encrypting the data including the string or binary code synchronized between the operating server 100 and the smart contract 210 through the index of the string or a plurality of binary codes of the same encryption method; An authentication procedure for authenticating a match may be performed by comparing with the authentication information.
본 발명의 제3 인증정보 실시예에 따르면, 상기 인증정보는 상기 인출정보에 포함되는 전자지갑 주소(또는 전자지갑 주소의 적어도 일부 영역)를 포함하는 데이터를 상기 사용자의 개인키를 통해 지정된 암호화 방식으로 암호화하여 생성한 거래연동 인증정보를 포함할 수 있으며, 이 경우 상기 인증 기능부(230)는 지정된 저장영역에 저장된 상기 사용자의 공개키를 통해 상기 인증정보를 복호화하여 상기 데이터를 복원한 후 상기 복원된 데이터가 상기 인출정보에 포함되는 전자지갑 주소(또는 전자지갑 주소의 적어도 일부 영역)와 매칭되는지 인증하는 인증 절차를 수행할 수 있다. 한편 상기 인증정보가 복호화되지 않게 암호화(예컨대, 해시)되어 생성된 경우, 상기 인증 기능부(230)는 상기 사용자의 공개키를 통해 상기 인출정보에 포함되는 전자지갑 주소(또는 전자지갑 주소의 적어도 일부 영역)를 포함하는 데이터를 동일한 암호화 방식으로 암호화하여 검증정보를 생성한 후 상기 인증정보와 비교하여 매칭되는지 인증하는 인증 절차를 수행할 수 있다.According to a third embodiment of the authentication information of the present invention, the authentication information is an encryption scheme designated by the user's private key for data including an electronic wallet address (or at least part of an electronic wallet address) included in the withdrawal information. And transaction transaction authentication information generated by encryption. In this case, the authentication function unit 230 restores the data by decrypting the authentication information through the public key of the user stored in a designated storage area. An authentication procedure for authenticating whether the restored data matches the electronic wallet address (or at least a partial region of the electronic wallet address) included in the withdrawal information may be performed. Meanwhile, when the authentication information is generated by being encrypted (eg, hashed) so as not to be decrypted, the authentication function unit 230 may include at least one of the electronic wallet address (or electronic wallet address) included in the withdrawal information through the public key of the user. After generating the verification information by encrypting the data including the partial region) by the same encryption method, an authentication procedure for verifying matching with the authentication information may be performed.
본 발명의 제4 인증정보 실시예에 따르면, 상기 인증정보는 상기 인출정보에 포함되는 암호화폐 단위(또는 암호화폐 단위의 적어도 일부 영역)를 포함하는 데이터를 상기 사용자의 개인키를 통해 지정된 암호화 방식으로 암호화하여 생성한 거래연동 인증정보를 포함할 수 있으며, 이 경우 상기 인증 기능부(230)는 지정된 저장영역에 저장된 상기 사용자의 공개키를 통해 상기 인증정보를 복호화하여 상기 데이터를 복원한 후 상기 복원된 데이터가 상기 인출정보에 포함되는 암호화폐 단위(또는 암호화폐 단위의 적어도 일부 영역)와 매칭되는지 인증하는 인증 절차를 수행할 수 있다. 한편 상기 인증정보가 복호화되지 않게 암호화(예컨대, 해시)되어 생성된 경우, 상기 인증 기능부(230)는 상기 사용자의 공개키를 통해 상기 인출정보에 포함되는 암호화폐 단위(또는 암호화폐 단위의 적어도 일부 영역)를 포함하는 데이터를 동일한 암호화 방식으로 암호화하여 검증정보를 생성한 후 상기 인증정보와 비교하여 매칭되는지 인증하는 인증 절차를 수행할 수 있다.According to a fourth embodiment of the authentication information of the present invention, the authentication information is a cryptographic scheme designated by the user's private key for data including a cryptocurrency unit (or at least a part of a cryptocurrency unit) included in the withdrawal information. And transaction transaction authentication information generated by encryption. In this case, the authentication function unit 230 restores the data by decrypting the authentication information through the public key of the user stored in a designated storage area. An authentication procedure for authenticating whether the restored data matches a cryptocurrency unit (or at least a partial region of the cryptocurrency unit) included in the withdrawal information may be performed. On the other hand, when the authentication information is generated by being encrypted (eg, hashed) so as not to be decrypted, the authentication function unit 230 includes at least a cryptocurrency unit (or at least a cryptocurrency unit included in the withdrawal information through the public key of the user). After generating the verification information by encrypting the data including the partial region) by the same encryption method, an authentication procedure for verifying matching with the authentication information may be performed.
본 발명의 제5 인증정보 실시예에 따르면, 상기 인증정보는 상기 인출정보에 포함되는 전자지갑 주소(또는 전자지갑 주소의 적어도 일부 영역)과 암호화폐 단위(또는 암호화폐 단위의 적어도 일부 영역)를 포함하는 데이터를 상기 사용자의 개인키를 통해 지정된 암호화 방식으로 암호화하여 생성한 거래연동 인증정보를 포함할 수 있으며, 이 경우 상기 인증 기능부(230)는 지정된 저장영역에 저장된 상기 사용자의 공개키를 통해 상기 인증정보를 복호화하여 상기 데이터를 복원한 후 상기 복원된 데이터가 상기 인출정보에 포함되는 전자지갑 주소(또는 전자지갑 주소의 적어도 일부 영역)과 암호화폐 단위(또는 암호화폐 단위의 적어도 일부 영역)와 매칭되는지 인증하는 인증 절차를 수행할 수 있다. 한편 상기 인증정보가 복호화되지 않게 암호화(예컨대, 해시)되어 생성된 경우, 상기 인증 기능부(230)는 상기 사용자의 공개키를 통해 상기 인출정보에 포함되는 전자지갑 주소(또는 전자지갑 주소의 적어도 일부 영역)과 암호화폐 단위(또는 암호화폐 단위의 적어도 일부 영역)를 포함하는 데이터를 동일한 암호화 방식으로 암호화하여 검증정보를 생성한 후 상기 인증정보와 비교하여 매칭되는지 인증하는 인증 절차를 수행할 수 있다.According to a fifth embodiment of the authentication information of the present invention, the authentication information includes an electronic wallet address (or at least a partial region of the electronic wallet address) and a cryptocurrency unit (or at least a partial region of the cryptocurrency unit) included in the withdrawal information. It may include transaction interlocking authentication information generated by encrypting the data including the encryption key specified by the user's private key, in this case, the authentication function unit 230 stores the public key of the user stored in the designated storage area After recovering the data by decrypting the authentication information through the electronic wallet address (or at least part of the electronic wallet address) and the cryptocurrency unit (or at least part of the cryptocurrency unit) in which the restored data is included in the withdrawal information. ) May be authenticated. Meanwhile, when the authentication information is generated by being encrypted (eg, hashed) so as not to be decrypted, the authentication function unit 230 may include at least one of the electronic wallet address (or electronic wallet address) included in the withdrawal information through the public key of the user. To generate verification information by encrypting data including a partial region) and a cryptocurrency unit (or at least a partial region of the cryptocurrency unit) using the same encryption method, and then performing an authentication process of authenticating the matching information by comparing the authentication information. have.
본 발명의 제6 인증정보 실시예에 따르면, 상기 인증정보는 지정된 운영서버(100)와 상기 스마트 컨트랙드가 기 설정된 규칙에 따라 지정된 블록체인 상의 특정 블록(예컨대, 현재 시점에 기 체인 연결되어 불변의 기록으로 남은 블록 중 운영서버(100)와 스마트 컨트랙트(210) 사이에 기 설정된 규칙에 따라 합의되는 블록) 내 특정 저장위치(예컨대, 운영서버(100)와 스마트 컨트랙트(210) 사이에 기 설정된 규칙에 따라 합의되는 저장위치)를 동기화하여 획득하는 데이터를 상기 사용자의 개인키를 통해 지정된 암호화 방식으로 암호화하여 생성한 블록연동 인증정보를 포함할 수 있으며, 이 경우 상기 인증 기능부(230)는 지정된 저장영역에 저장된 상기 사용자의 공개키를 통해 상기 인증정보를 복호화하여 상기 데이터를 복원한 후 상기 복원된 데이터가 상기 운영서버(100)와 스마트 컨트랙드가 기 설정된 규칙에 따라 지정된 블록체인 상의 특정 블록 내 특정 저장위치를 동기화하여 획득하는 데이터와 매칭되는지 인증하는 인증 절차를 수행할 수 있다. 한편 상기 인증정보가 복호화되지 않게 암호화(예컨대, 해시)되어 생성된 경우, 상기 인증 기능부(230)는 상기 사용자의 공개키를 통해 상기 운영서버(100)와 스마트 컨트랙드가 기 설정된 규칙에 따라 지정된 블록체인 상의 특정 블록 내 특정 저장위치를 동기화하여 획득하는 데이터를 포함하는 데이터를 동일한 암호화 방식으로 암호화하여 검증정보를 생성한 후 상기 인증정보와 비교하여 매칭되는지 인증하는 인증 절차를 수행할 수 있다.According to a sixth embodiment of the authentication information of the present invention, the authentication information is invariant in a specific block (for example, at a present time by being connected to a specific block on the designated block chain according to a predetermined rule of the operation server 100 and the predetermined rule). Among the remaining blocks in the record, the predetermined storage location (for example, the block agreed upon according to a predetermined rule between the operation server 100 and the smart contract 210) is set in advance between the operation server 100 and the smart contract 210. And the block interlocking authentication information generated by encrypting the data obtained by synchronizing the storage location agreed according to the rule with a designated encryption method through the user's private key. In this case, the authentication function unit 230 After restoring the data by decrypting the authentication information through the user's public key stored in the designated storage area, the restored data An authentication procedure for authenticating whether the operation server 100 and the smart contract matches data obtained by synchronizing a specific storage location in a specific block on a designated blockchain according to a predetermined rule may be performed. On the other hand, when the authentication information is generated by being encrypted (eg, hashed) so as not to be decrypted, the authentication function unit 230 is configured according to a predetermined rule between the operation server 100 and the smart contract through the public key of the user. An authentication procedure may be performed to generate verification information by encrypting data including data obtained by synchronizing a specific storage location in a specific block on a designated blockchain with the same encryption method, and then verifying that the data is matched with the authentication information. .
본 발명의 제7 인증정보 실시예에 따르면, 상기 인증정보는 상기 제1 내지 제6 인증정보 실시예 중 적어도 둘 이상의 실시예를 적어도 부분적으로 조합한 형태의 인증정보를 포함할 수 있으며, 이 경우 상기 인증 기능부(230)는 상기 제1 내지 제6 인증정보 실시예 중 적어도 둘 이상의 실시예를 적어도 부분적으로 조합한 형태로 지정된 저장영역에 저장된 상기 사용자의 공개키를 통해 상기 인증정보의 유효성을 인증하는 인증 절차를 수행할 수 있으며, 이에 의해 본 발명이 한정되지 아니한다.According to the seventh authentication information embodiment of the present invention, the authentication information may include authentication information in the form of at least partially combining at least two or more embodiments of the first to sixth authentication information embodiments. The authentication function unit 230 validates the validity of the authentication information through the public key of the user stored in a designated storage area in at least a combination of at least two or more embodiments of the first to sixth authentication information embodiments. An authentication procedure for authenticating may be performed, whereby the present invention is not limited.
한편 본 발명의 실시 방법에 따르면, 운영서버(100)가 상기 사용자 인증부(120)를 통한 사용자 본인 인증 절차를 통해 인증된 사용자의 개인키를 이용하여 생성된 인증정보를 스마트 컨트랙트(210)로 제공하면, 상기 스마트 컨트랙트(210)가 지정된 저장영역에 기 저장된 사용자의 공개키를 통해 상기 인증정보를 인증함으로써, 설령 어떤 해커가 상기 특정 노드장치(205)의 개인키를 탈취하더라도 각 사용자 별 개인키를 탈취함과 동시에 상기 운영서버(100)와 스마트 컨트랙트(210) 사이에 합의되거나 동기화되는 데이터까지 실시간 편별하지 않는 이상 상기 스마트 컨트랙트(210)에 예치된 암호화폐를 부정 인출할 수 없도록 한다. Meanwhile, according to the embodiment of the present invention, the operation server 100 converts the authentication information generated by using the private key of the user authenticated through the user authentication process through the user authentication unit 120 to the smart contract 210. If provided, the smart contract 210 authenticates the authentication information through the public key of the user previously stored in the designated storage area, so that even if a hacker takes away the private key of the specific node device 205, each user is individual. The cryptocurrency deposited in the smart contract 210 cannot be withdrawn unless the key is seized and the data synchronized or synchronized between the operation server 100 and the smart contract 210 in real time.
상기 인증 기능부(230)를 통해 수행된 지정된 인증 절차의 인증이 성공한 경우, 상기 인출 기능부(235)는 상기 사용자의 전자지갑 주소로 상기 암호화폐 단위를 인출하고, 상기 저장 기능부(220)는 지정된 암화화폐를 인출받은 사용자의 전자지갑 주소와 상기 인출된 암호화폐 단위를 포함하는 암호화폐 인출정보를 지정된 저장영역에 저장할 수 있다. 여기서, 상기 암호화폐 인출정보를 저장하는 지정된 저장영역은 스마트 컨트랙트(210)의 상태를 저장하는 저장영역, 또는 상기 암호화폐의 인출과 관련된 정보를 저장하기 위해 설정된 저장영역을 포함할 수 있다.When the authentication of the designated authentication procedure performed through the authentication function unit 230 is successful, the withdrawal function unit 235 withdraws the cryptocurrency unit to the electronic wallet address of the user, and the storage function unit 220. May store the electronic wallet address of the user who received the designated cryptocurrency and the cryptocurrency withdrawal information including the withdrawn cryptocurrency unit in a designated storage area. Here, the designated storage area for storing the cryptocurrency withdrawal information may include a storage area for storing the state of the smart contract 210, or a storage area set for storing information related to the withdrawal of the cryptocurrency.
도면1을 참조하면, 상기 운영서버(100)는, 상기 외부 블록체인 네트워크(200) 상에 구비된 노드장치(205)를 참조하여 상기 스마트 컨트랙트(210)를 통해 지정된 사용자의 전자지갑으로 지정된 암호화폐 단위를 인출한 인출결과에 대응하는 암호화폐 인출정보를 확인하는 인출결과 확인부(160)와, 상기 암호화폐 인출정보를 확인한 경우, 상기 사용자의 전자지갑으로 상기 암호화폐 단위를 인출한 거래정보를 생성하여 지정된 데이터베이스에 동기화하여 저장하는 인출 관리부(165)를 더 포함한다.Referring to FIG. 1, the operation server 100 refers to a node device 205 provided on the external blockchain network 200, and a password designated as an electronic wallet of a user designated through the smart contract 210. Withdrawal result checking unit 160 for checking the cryptocurrency withdrawal information corresponding to the withdrawal result withdrawing the currency unit and the transaction information withdrawal of the cryptocurrency unit with the user's electronic wallet when the withdrawal information is confirmed It further includes a withdrawal management unit 165 for generating and synchronizing and storing in a specified database.
상기 인출 기능부(235)를 통해 지정된 사용자의 전자지갑으로 지정된 암호화폐 단위가 인출된 경우, 상기 인출결과 확인부(160)는 상기 외부 블록체인 네트워크(200) 상에 구비된 노드장치(205)를 참조하여 상기 스마트 컨트랙트(210)를 통해 지정된 사용자의 전자지갑으로 지정된 암호화폐 단위가 인출된 인출결과에 대응하는 암호화폐 인출정보를 확인하고, 상기 확인된 암호화폐 인출정보를 판독하여 지정된 사용자의 전자지갑으로 지정된 암호화폐 단위가 인출된 인출결과를 확인할 수 있다.When the cryptocurrency unit designated by the electronic wallet of the designated user is withdrawn through the withdrawal function unit 235, the withdrawal result checker 160 is a node device 205 provided on the external blockchain network 200. With reference to the check the cryptocurrency withdrawal information corresponding to the withdrawal result with the cryptocurrency unit designated by the designated user's electronic wallet through the smart contract 210, and read the identified cryptocurrency withdrawal information of the designated user The withdrawal result of the cryptocurrency unit designated as the electronic wallet can be checked.
만약 상기 인출결과 확인부(160)를 통해 지정된 사용자의 전자지갑으로 지정된 암호화폐 단위가 인출된 인출결과를 확인한 경우, 상기 인출 관리부(165)는 상기 사용자의 전자지갑으로 상기 암호화폐 단위가 인출된 인출결과에 대응하는 거래정보를 생성하여 지정된 데이터베이스에 동기화하여 저장할 수 있다.If the withdrawal result that the cryptocurrency unit designated by the designated user's electronic wallet is withdrawn is checked through the withdrawal result checker 160, the withdrawal management unit 165 withdraws the cryptocurrency unit with the user's electronic wallet. Transaction information corresponding to the withdrawal result can be generated and stored in synchronization with a designated database.
도면2는 본 발명의 실시 방법에 따라 암호화폐 거래 플랫폼을 제공하는 블록체인 기반 스마트 컨트랙트(210)의 기능 구성을 도시한 도면이다.2 is a diagram illustrating a functional configuration of a blockchain-based smart contract 210 that provides a cryptocurrency trading platform according to an embodiment of the present invention.
보다 상세하게 본 도면2는 지정된 외부 블록체인 네트워크(200) 상에 구비된 M(M≥2)개의 노드장치(205)를 통해 탈중앙화 형태로 실행되며 상기 외부 블록체인 네트워크(200) 상의 유효한 전자지갑을 통해 암호화폐를 예치 가능하지만 미리 코딩된 규칙이나 기능에 의하지 아니하고는 상기 예치된 암호화폐를 임의로 인출하는 것이 불가한 스마트 컨트랙트(210)(Smart Contract)를 통해 수행되는 인증 절차를 통해 안전한 암호화폐 거래를 제공하는 스마트 컨트랙트(210)의 기능 구성을 도시한 것으로서, 본 발명이 속한 기술분야에서 통상의 지식을 가진 자라면, 본 도면2를 참조 및/또는 변형하여 상기 스마트 컨트랙트(210)의 기능 구성에 대한 다양한 실시 방법(예컨대, 일부 구성부가 생략되거나, 또는 세분화되거나, 또는 합쳐진 실시 방법)을 유추할 수 있을 것이나, 본 발명은 상기 유추되는 모든 실시 방법을 포함하여 이루어지며, 본 도면2에 도시된 실시 방법만으로 그 기술적 특징이 한정되지 아니한다.In more detail, FIG. 2 is executed in a decentralized manner through M (M≥2) node devices 205 provided on a designated external blockchain network 200, and valid electronics on the external blockchain network 200 are shown in FIG. A secure password through an authentication process performed through a smart contract 210 that is capable of depositing cryptocurrency through a wallet but is not able to withdraw the deposited cryptocurrency arbitrarily without resorting to pre-coded rules or functions. A functional configuration of the smart contract 210 that provides currency trading, and those skilled in the art to which the present invention pertains, refer to and / or modify this figure 2 of the smart contract 210 It may be possible to infer various implementation methods for the functional configuration (eg, implementation methods in which some components are omitted, subdivided, or combined). The present invention is made, including any exemplary way in which the inference, to which the technical feature that is not limited to the exemplary method shown in the figure 2.
본 발명의 스마트 컨트랙트(210)(Smart Contract)는, 지정된 외부 블록체인 네트워크(200) 상에 구비된 M(M≥2)개의 노드장치(205)를 통해 탈중앙화 실행 가능한 프로그램 코드를 포함하여 구성되며 하나 이상의 지정된 기능(Function)을 구현한다. 외부 블록체인 네트워크(200) 상의 노드장치(205)에 등록된 스마트 컨트랙트(210)는 해당 스마트 컨트랙트(210) 내에 코딩된 규칙에 의하지 아니하고는 수정되지 않으며, M개의 노드장치(205)를 이용한 분산 저장에 의해 위변조되지 않는다. The smart contract 210 of the present invention comprises program code that can be decentralized and executed through M (M≥2) node devices 205 provided on a designated external blockchain network 200. It implements one or more specified functions. The smart contract 210 registered in the node device 205 on the external blockchain network 200 is not modified except by the rules coded in the smart contract 210, and is distributed using M node devices 205. It is not forged by storage.
도면2를 참조하면, 상기 스마트 컨트랙트(210)는, 상기 외부 블록체인 네트워크(200) 상에 유효 생성된 하나 이상의 전자지갑으로부터 지정된 암호화폐 단위를 스마트 컨트랙트(210)로 예치받는 기능을 구현하는 예치 기능부(215)와, 지정된 암호화폐를 예치한 사용자의 공개키를 확인하여 지정된 저장영역에 저장하는 기능을 구현하는 저장 기능부(220)와, 스마트 컨트랙트(210)에 예치된 암호화폐를 사용자의 전자지갑으로 인출 시 상기 암호화폐를 인출받을 사용자의 전자지갑 주소와 상기 인출될 암호화폐 단위 및 사용자의 개인키를 통해 생성된 인증정보를 포함하는 인출정보를 확인하는 기능을 구현하는 확인 기능부(225)와, 상기 사용자의 공개키를 이용하여 상기 인증정보의 유효성을 인증하는 인증 절차를 포함하는 하나 이상의 지정된 인증 절차를 수행하는 인증 기능부(230)와, 상기 지정된 인증 절차의 인증 성공 시 상기 사용자의 전자지갑 주소로 상기 암호화폐 단위를 인출하는 기능을 구현하는 인출 기능부(235) 중 하나 이상의 기능부를 포함한다. 한편 상기 스마트 컨트랙트(210)의 기능부 중 적어도 일부는 상기 스마트 컨트랙트(210) 내에 코딩된 프로그램 코드를 통해 구현되며, 다른 일부 기능을 스마트 컨트랙트(210)를 동작하는 절차와 연동하여 구현되거나 상기 스마트 컨트랙트(210)를 운영하는 블록체인 알고리즘을 통해 구현될 수 있다.Referring to FIG. 2, the smart contract 210 may be configured to implement a function of depositing a designated cryptocurrency unit into the smart contract 210 from one or more electronic wallets effectively generated on the external blockchain network 200. The storage unit 220 implements the function unit 215, a function of checking the public key of the user who deposited the designated cryptocurrency and storing the user in the designated storage area, and the cryptocurrency deposited in the smart contract 210. Confirmation function that implements a function for checking the withdrawal information including the electronic wallet address of the user to be withdrawn the cryptocurrency, the cryptocurrency unit to be withdrawn and the authentication information generated by the user's private key when withdrawing to the electronic wallet of (225) and one or more designated authentication procedures including an authentication procedure for authenticating the validity of the authentication information using the public key of the user. In which authentication function unit 230, electronic purse address of the user upon successful authentication of the designated authentication process comprises take-off function unit 235 one or more of the functions of the parts of implementing the function for extracting the encryption pound. Meanwhile, at least some of the functional units of the smart contract 210 are implemented through program codes coded in the smart contract 210, and some other functions are implemented in conjunction with a procedure of operating the smart contract 210 or the smart It may be implemented through a blockchain algorithm that operates the contract 210.
상기 예치 기능부(215)는 외부 블록체인 네트워크(200) 상의 유효한 복수의 전자지갑 중 적어도 하나의 전자지갑으로부터 지정된 암호화폐 단위를 예치받기 위한 컨트랙트 주소를 포함한다. 상기 스마트 컨트랙트(210)로 암호화폐를 예치하려는 단말은 상기 외부 블록체인 네트워크(200) 상에 생성된 유효한 전자지갑의 개인키를 이용하여 상기 전자지갑에 보관된 암호화폐 중 지정된 암호화폐 단위를 상기 컨트랙트 주소로 예치하기 위한 암호화폐 거래의 거래내역을 생성하여 지정된 경로를 통해 상기 외부 블록체인 네트워크(200)로 방송하고, 상기 외부 블록체인 네트워크(200) 상의 각 노드장치(205)는 지정된 블록체인 알고리즘에 따라 상기 암호화폐 단위를 상기 컨트랙트 주소에 대응하는 스마트 컨트랙트(210)로 예치하는 절차를 수행할 수 있는데, 상기 스마트 컨트랙트(210)의 예치 기능부(215)는 상기 외부 블록체인 네트워크(200) 상의 유효한 전자지갑으로부터 지정된 암호화폐 단위를 예치받는다. The deposit function unit 215 includes a contract address for depositing a designated cryptocurrency unit from at least one electronic wallet among a plurality of valid electronic wallets on the external blockchain network 200. The terminal intending to deposit the cryptocurrency with the smart contract 210 uses the private key of the valid electronic wallet generated on the external blockchain network 200 to select the designated cryptocurrency unit among the cryptocurrencies stored in the electronic wallet. Generate a transaction history of a cryptocurrency transaction to deposit to a contract address and broadcast it to the external blockchain network 200 through a designated path, and each node device 205 on the external blockchain network 200 is assigned a blockchain. According to an algorithm, the procedure for depositing the cryptocurrency unit into the smart contract 210 corresponding to the contract address may be performed. The deposit function unit 215 of the smart contract 210 may perform the external blockchain network 200. The designated cryptocurrency unit is deposited from a valid electronic wallet.
본 발명의 실시 방법에 따르면, 상기 예치 기능부(215)는 상기 외부 블록체인 네트워크(200) 상에 유효 생성된 사용자의 전자지갑으로부터 지정된 암호화폐 단위를 예치받을 수 있다. 사용자단말(180)은 사용자의 전자지갑을 생성하는 시점에 생성된 개인키를 이용하여 상기 사용자의 전자지갑에 보관된 암호화폐 중 지정된 암호화폐 단위를 상기 컨트랙트 주소로 예치하기 위한 암호화폐 거래의 거래내역을 생성하여 지정된 경로를 통해 상기 외부 블록체인 네트워크(200)로 방송하며, 상기 외부 블록체인 네트워크(200) 상의 각 노드장치(205)는 지정된 블록체인 알고리즘에 따라 상기 암호화폐 단위를 상기 컨트랙트 주소에 대응하는 스마트 컨트랙트(210)로 예치하는 절차를 수행할 수 있는데, 상기 스마트 컨트랙트(210)의 예치 기능부(215)는 상기 외부 블록체인 네트워크(200) 상에 유효 생성된 사용자의 전자지갑으로부터 지정된 암호화폐 단위를 예치받는다. According to the exemplary embodiment of the present invention, the deposit function unit 215 may receive a designated cryptocurrency unit from an electronic wallet of a user effectively created on the external blockchain network 200. The user terminal 180 uses a private key generated at the time of generating the user's electronic wallet to trade a cryptocurrency transaction for depositing a designated cryptocurrency unit among the cryptocurrencies stored in the user's electronic wallet to the contract address. Generates and broadcasts the details to the external blockchain network 200 through a designated path, and each node device 205 on the external blockchain network 200 transmits the cryptocurrency unit to the contract address according to a designated blockchain algorithm. The depositing function 215 of the smart contract 210 may be performed from the user's electronic wallet effectively generated on the external blockchain network 200. Receive the designated cryptocurrency unit.
본 발명의 실시 방법에 따르면, 상기 예치 기능부(215)는 상기 외부 블록체인 네트워크(200) 상에 유효 생성된 전자지갑 중 지정된 블록체인 기반 서비스를 운영하는 운영사(예컨대, 운영서버(100)를 운영하는 운영사 등)의 전자지갑으로부터 지정된 블록체인 기반 서비스를 운영하기 위해 필요한 지정된 암호화폐 단위를 예치받을 수 있으며, 이에 의해 본 발명이 한정되지 아니한다. 이하 편의상 사용자의 전자지갑으로부터 지정된 암호화폐 단위를 예치받는 실시예를 위주로 본 발명의 특징을 설명할 것이나, 본 발명의 권리범위가 이에 의해 한정되는 것은 아니며, 본 발명을 실시하는 예에 따라 외부 블록체인 네트워크(200) 상에 유효 생성된 어떠한 전자지갑으로부터 암호화폐 단위를 예치받더라도 본 발명의 권리범위에 속함을 명백하게 밝혀두는 바이다.According to an exemplary embodiment of the present invention, the deposit function unit 215 may be configured to operate an operator (eg, an operation server 100) operating a designated blockchain based service among electronic wallets effectively generated on the external blockchain network 200. The designated cryptocurrency unit required to operate the designated blockchain-based service can be deposited from the electronic wallet of the operating operator, etc., and thus the present invention is not limited thereto. Hereinafter, for convenience, a feature of the present invention will be described with reference to an embodiment in which a designated cryptocurrency unit is deposited from a user's electronic wallet, but the scope of the present invention is not limited thereto, and according to an embodiment of the present invention, an external block Even if the cryptocurrency unit is deposited from any electronic wallet that is effectively generated on the chain network 200, it will be clearly understood that it belongs to the scope of the present invention.
상기 예치 기능부(215)를 통해 상기 외부 블록체인 네트워크(200) 상의 유효한 전자지갑으로부터 상기 스마트 컨트랙트(210)로 지정된 암호화폐 단위가 예치되면, 상기 저장 기능부(220)는 상기 암호화폐 단위를 예치한 사용자의 전자지갑 주소와 상기 예치된 암호화폐 단위를 포함하는 암호화폐 예치정보를 확인하여 지정된 저장영역에 보관하는 기능을 수행한다. 바람직하게, 상기 저장 기능부(220)는 각 노드장치(205)의 저장영역 중 스마트 컨트랙트(210)의 상태를 저장하는 저장영역, 또는 상기 암호화폐의 예치와 관련된 정보를 저장하기 위해 설정된 저장영역에 상기 암호화폐 예치정보를 저장하여 관리할 수 있다. 한편 실시 방법에 따라 상기 저장 기능부(220)는 각 노드장치(205)의 저장영역 중 암호화폐의 거래를 저장하는 저장영역(예컨대, 암호화폐의 거래블록을 저장하는 저장영역)에 상기 암호화폐 예치정보를 저장하여 관리할 수 있다. When the cryptocurrency unit designated as the smart contract 210 is deposited from a valid electronic wallet on the external blockchain network 200 through the deposit function unit 215, the storage function unit 220 stores the cryptocurrency unit. The electronic wallet address of the deposited user and the cryptocurrency deposit information including the deposited cryptocurrency unit are checked and stored in a designated storage area. Preferably, the storage function unit 220 is a storage area for storing the state of the smart contract 210 of the storage area of each node device 205, or a storage area set for storing information related to the deposit of the cryptocurrency. The cryptocurrency deposit information can be stored in and managed. According to an embodiment, the storage function unit 220 stores the cryptocurrency in a storage area (eg, a storage area for storing a transaction block of a cryptocurrency) among the storage areas of each node device 205. Deposit information can be stored and managed.
본 발명의 실시 방법에 따르면, 상기 스마트 컨트랙트(210)는 암호화폐를 예치하기 위한 컨트랙트 주소는 존재하지만, 외부 블록체인 네트워크(200) 상의 전자지갑과 달리 암호화폐를 인출하는 거래를 개시하기 위한 개인키가 존재하지 않으므로, 개인키의 노출이나 해킹이 불가능한 특징으로 지닌다. 한편 상기 스마트 컨트랙트(210)에 예치된 암호화폐는 상기 스마트 컨트랙트(210)에 미리 코딩된 규칙이나 기능에 의해서만 인출될 수 있으며, 임의로 인출하는 것이 원천 차단된다.According to an embodiment of the present invention, the smart contract 210 has a contract address for depositing a cryptocurrency, but unlike an electronic wallet on an external blockchain network 200, an individual for initiating a transaction to withdraw a cryptocurrency. Since the key does not exist, the private key cannot be exposed or hacked. Meanwhile, the cryptocurrency deposited in the smart contract 210 may be withdrawn only by a rule or a function pre-coded in the smart contract 210, and the withdrawal is arbitrarily blocked.
본 발명의 실시 방법에 따르면, 상기 암호화폐는 지정된 외부 블록체인 네트워크(200)를 통해 발행되는 암호코인 형태의 암호화폐, 지정된 암호코인을 발행하는 지정된 외부 블록체인 네트워크(200)를 기반으로 구현되는 암호토큰 형태의 암호화폐 중 적어도 하나를 포함할 수 있으며, 상기 암호화폐의 종류나 구현 방식에 의해 본 발명이 한정되지 아니한다.According to an embodiment of the present invention, the cryptocurrency is implemented based on a cryptocurrency type cryptocurrency issued through a designated external blockchain network 200 and a designated external blockchain network 200 that issues a designated cryptocoin. It may include at least one of the cryptocurrency in the form of a crypto token, the present invention is not limited by the type or implementation manner of the cryptocurrency.
상기 저장 기능부(220)는 지정된 암호화폐를 예치한 사용자의 공개키를 확인하여 지정된 저장영역에 저장하는 기능을 구현한다. 여기서, 상기 사용자의 공개키를 저장하는 지정된 저장영역은 스마트 컨트랙트(210)의 상태를 저장하는 저장영역, 또는 사용자의 공개키를 저장하기 위해 설정된 저장영역을 포함할 수 있다.The storage function unit 220 implements a function of checking a public key of a user who deposits a designated cryptocurrency and storing it in a designated storage area. Here, the designated storage area for storing the user's public key may include a storage area for storing the state of the smart contract 210, or a storage area set for storing the user's public key.
본 발명의 제1 공개키 실시예에 따르면, 상기 사용자의 공개키는 외부 블록체인 네트워크(200) 상에 상기 사용자의 전자지갑을 생성하는 과정을 통해 생성된 공개키와 개인키의 키 쌍 중 상기 공개키를 포함할 수 있다. 바람직하게, 외부 블록체인 네트워크(200) 상에 유효한 전자지갑을 생성하는 과정에서 지정된 절차에 따라 지정된 씨드를 이용하여 공개키와 개인키의 키 쌍이 생성될 수 있는데, 상기 사용자의 공개키는 상기 사용자의 전자지갑을 생성하는 과정을 통해 생성된 공개키를 포함할 수 있다. 한편 상기 사용자의 전자지갑을 생성하는 과정을 통해 생성된 공개키는 상기 사용자의 전자지갑 주소로 이용될 수 있는데, 이 경우 상기 사용자의 공개키는 상기 사용자의 전자지갑에 대응하는 공개키라고 할 수 있으며, 상기 저장 기능부(220)는 지정된 암호화폐를 예치한 사용자의 전자지갑 주소에 대응하는 사용자의 공개키를 확인하여 지정된 저장영역에 저장하는 기능을 포함할 수 있다. According to the first public key embodiment of the present invention, the public key of the user is the key pair of the public key and the private key generated by generating the electronic wallet of the user on an external blockchain network 200. It may include a public key. Preferably, in the process of creating a valid electronic wallet on the external blockchain network 200, a key pair of a public key and a private key may be generated using a designated seed according to a specified procedure, wherein the user's public key is the user's public key. It may include a public key generated through the process of generating the electronic wallet of. Meanwhile, the public key generated through the process of generating the electronic wallet of the user may be used as the electronic wallet address of the user. In this case, the public key of the user may be called a public key corresponding to the electronic wallet of the user. The storage function unit 220 may include a function of checking a public key of the user corresponding to the electronic wallet address of the user who deposited the designated cryptocurrency and storing the stored public key in the designated storage area.
한편 본 제1 공개키 실시예에서 상기 사용자의 공개키는 지정된 암호화폐를 예치한 사용자의 전자지갑 주소와 상기 예치된 암호화폐 단위를 포함하는 암호화폐 예치정보를 지정된 저장영역에 보관함에 의해 상기 지정된 저장영역에 저장된 것으로 간주될 수 있다. Meanwhile, in the first public key embodiment, the user's public key is designated by storing the electronic wallet address of the user who deposited the designated cryptocurrency and the cryptographic deposit information including the deposited cryptocurrency unit in a designated storage area. Can be considered to be stored in a storage area.
본 발명의 제2 공개키 실시예에 따르면, 상기 사용자의 공개키는 상기 사용자의 전자지갑 생성과 무관하게 별도 생성된 공개키와 개인키의 키 쌍 중 상기 공개키를 포함할 수 있다. 예를들어, 상기 사용자의 공개키는 사용자에게 발급된 인증서의 공개키를 포함하거나, 또는 외부 블록체인 네트워크(200) 상에 상기 사용자의 전자지갑을 생성하기 전이나 후에 상기 사용자의 전자지갑에 대응하는 공기키 이욍에 별도로 생성된 공개키와 개인키의 키 쌍 중 공개키를 포함하거나, 또는 상기 사용자의 회원 가입 과정과 연동하여 생성된 공개키와 개인키의 키 쌍 중 공개키를 포함할 수 있다. According to the second public key embodiment of the present invention, the public key of the user may include the public key among key pairs of a public key and a private key generated separately regardless of the electronic wallet generation of the user. For example, the public key of the user may include the public key of a certificate issued to the user or correspond to the electronic wallet of the user before or after generating the user's electronic wallet on the external blockchain network 200. The public key may include a public key of a key pair of a public key and a private key separately generated after the air key, or a public key of a key pair of a public key and a private key generated in association with a user registration process. have.
한편 본 제2 공개키 실시예에서 사용자의 전자지갑 생성과 무관하게 별도 생성된 공개키와 개인키의 키 쌍 중 공개키에 대응하는 사용자의 공개키는 지정된 암호화폐를 예치한 사용자의 전자지갑 주소와 연계되어 지정된 저장영역에 저장될 수 있으며, 이 경우 상기 사용자의 개인키는 상기 사용자의 공개키와 사용자의 전자지갑 주소를 연계하여 지정된 저장영역에 저장함에 의해 상기 사용자의 전자지갑과 연계되는 것으로 간주할 수 있다. Meanwhile, in the second public key embodiment, the public key of the user corresponding to the public key among the key pairs of the public key and the private key separately generated regardless of the user's electronic wallet generation is the electronic wallet address of the user who deposited the designated cryptocurrency. And the user's private key is associated with the user's electronic wallet by storing the user's public key and the user's electronic wallet address in a designated storage area. Can be considered.
한편 본 제2 공개키 실시예에서 상기 별도 생성된 사용자의 공개키를 사용자의 전자지갑 주소와 연계 저장하기 위해, 지정된 운영서버(100)는 사용자단말(180)과 연동하여 사용자의 전자지갑 생성과 무관하게 별도 생성된 공개키에 대응하는 사용자의 공개키를 확인하고, 기 설정된 스마트 컨트랙트 동작 절차에 따라 상기 사용자의 공개키와 사용자의 전자지갑 주소를 외부 블록체인 네트워크(200) 상의 스마트 컨트랙트(210)로 제공하는 절차를 수행하며, 상기 저장 기능부(220)는 기 설정된 스마트 컨트랙트 동작 절차를 통해 상기 사용자의 공개키와 사용자의 전자지갑 주소를 확인하고, 상기 확인된 사용자의 공개키와 전자지갑 주소를 연계하여 지정된 저장영역에 저장할 수 있다. 한편 상기 저장 기능부(220)는 상기 사용자의 공개키와 사용자의 전자지갑 주소를 확인한 경우 지정된 저장영역(예컨대, 암호화폐 예치정보를 저장하는 저장영역)에 상기 확인된 전자지갑 주소와 매칭되는 전자지갑 주소가 저장되어 있는지 확인할 수 있으며, 상기 지정된 저장영역에 상기 확인된 전자지갑 주소와 매칭되는 전자지갑 주소가 저장된 경우 상기 지정된 저장영역에 상기 확인된 사용자의 공개키와 전자지갑 주소를 연계 저장할 수 있다.Meanwhile, in the second public key embodiment, in order to store and store the public key of the user separately generated in association with the electronic wallet address of the user, the designated operation server 100 is linked with the user terminal 180 and generates the electronic wallet of the user. Regardless of whether the user's public key corresponds to the public key generated separately, the public key of the user and the electronic wallet address of the user according to a predetermined smart contract operation procedure may be set up in the smart contract 210 on the external blockchain network 200. The storage function 220 confirms the public key of the user and the electronic wallet address of the user through a preset smart contract operation procedure, and confirms the public key and the electronic wallet of the identified user. You can associate the address and save it in the designated storage area. On the other hand, when the storage function unit 220 checks the user's public key and the user's electronic wallet address, the storage function unit 220 matches the identified electronic wallet address in a designated storage area (eg, a storage area for storing cryptocurrency deposit information). It is possible to check whether a wallet address is stored, and if the electronic wallet address matching the checked electronic wallet address is stored in the designated storage area, the public key of the identified user and the electronic wallet address may be stored in the designated storage area. have.
본 발명의 실시 방법에 따르면, 상기 제1 또는 제2 공개키 실시예에 따라 스마트 컨트랙트(210)에 사용자의 공개키가 기록된 후에 상기 사용자의 공개키를 이용하는 인증 절차를 거쳐 상기 스마트 컨트랙트(210)에 예치된 암호화폐 중 지정된 암호화폐 단위를 인출하는 절차를 수행할 수 있다. According to an embodiment of the present invention, after the user's public key is recorded in the smart contract 210 according to the first or second public key embodiment, the smart contract 210 undergoes an authentication procedure using the user's public key. ), You can perform the procedure to withdraw the designated cryptocurrency unit among the cryptocurrency deposited.
상기 스마트 컨트랙트(210)에 예치된 암호화폐를 상기 외부 블록체인 네트워크(200) 상에 유효 생성된 사용자의 전자지갑으로 인출 시, 지정된 운영서버(100)는 암호화폐 인출을 위한 본인 인증 절차를 수행하여 인증된 사용자의 전자지갑 주소와 상기 인출될 암호화폐 단위 및 상기 인증된 사용자의 개인키를 통해 생성된 인증정보를 확인하고, 기 설정된 스마트 컨트랙트 동작 절차에 따라 상기 암호화폐를 인출받을 사용자의 전자지갑 주소와 상기 인출될 암호화폐 단위 및 상기 생성된 인증정보를 포함하는 인출정보를 상기 외부 블록체인 네트워크(200) 상의 스마트 컨트랙트(210)로 전달하기 위한 절차를 수행하며, 상기 확인 기능부(225)는 기 설정된 스마트 컨트랙트 동작 절차를 통해 상기 암호화폐를 인출받을 사용자의 전자지갑 주소와 상기 인출될 암호화폐 단위 및 사용자의 개인키를 통해 생성된 인증정보를 포함하는 인출정보를 확인할 수 있다. When withdrawing the cryptocurrency deposited in the smart contract 210 to the electronic wallet of the user effectively created on the external blockchain network 200, the designated operating server 100 performs an authentication process for withdrawing the cryptocurrency Check the electronic wallet address of the authenticated user, the cryptocurrency unit to be withdrawn, and the authentication information generated through the private key of the authenticated user, and use the electronic contract of the user to withdraw the cryptocurrency according to a pre-set smart contract operation procedure. Performing a procedure for transferring the withdrawal information including a wallet address, the cryptocurrency unit to be withdrawn and the generated authentication information to the smart contract 210 on the external blockchain network 200, and the verification function unit 225 ) Is an e-wallet address of the user who will be withdrawn the cryptocurrency and the cancer to be withdrawn through a predetermined smart contract operation procedure. Withdrawal information including authentication information generated through the currency unit and the user's private key can be checked.
본 발명의 실시 방법에 따르면, 상기 운영서버(100)는 기 설정된 스마트 컨트랙트 동작 절차에 따라 상기 외부 블록체인 네트워크(200) 상의 기 설정된 특정 노드장치(205)를 통해 상기 외부 블록체인 네트워크(200) 상의 각 노드장치(205)로 상기 인출정보를 포함하는 지정된 구조의 메시지를 방송하도록 처리하는 절차를 수행할 수 있는데, 상기 확인 기능부(225)는 기 설정된 스마트 컨트랙트 동작 절차에 따라 상기 외부 블록체인 네트워크(200) 상의 기 설정된 특정 노드장치(205)를 통해 상기 외부 블록체인 네트워크(200) 상의 각 노드장치(205)로 방송되는 지정된 구조의 메시지를 통해 상기 인출정보를 확인할 수 있다. According to an exemplary embodiment of the present invention, the operation server 100 may be configured to execute the external blockchain network 200 through a predetermined specific node device 205 on the external blockchain network 200 according to a predetermined smart contract operation procedure. A process of broadcasting a message having a designated structure including the withdrawal information may be performed to each node device 205 on the screen, and the confirmation function unit 225 may perform the external blockchain according to a predetermined smart contract operation procedure. The withdrawal information may be confirmed through a message having a designated structure broadcasted to each node device 205 on the external blockchain network 200 through a predetermined specific node device 205 on the network 200.
본 발명의 실시 방법에 따르면, 상기 인출정보는 암호화폐가 인출될 하나의 전자지갑 주소와 하나의 암호화폐 단위 및 하나의 인증정보를 포함할 수 있으며, 실시 방법에 따라 상기 인출정보는 암호화폐가 인출될 i(i≥1)개의 전자지갑 주소와 i개의 암호화폐 단위 및 i개의 각 사용자의 개인키를 통해 각기 생성된 i개의 인증정보를 포함할 수 있다. 이 경우 상기 인출 기능부(235)는, 지정된 인증 절차의 인증 성공 시 상기 i개의 전자지갑 주소로 제각기 대응하는 i개의 암호화폐 단위를 인출하는 기능을 수행할 수 있다.According to the embodiment of the present invention, the withdrawal information may include one electronic wallet address, one cryptocurrency unit, and one authentication information from which the cryptocurrency is to be withdrawn. I (i ≧ 1) e-wallet addresses to be withdrawn, i cryptocurrency units and i authentication information generated through i private keys of each user may be included. In this case, the withdrawal function unit 235 may perform a function of withdrawing respective i cryptocurrency units to the i electronic wallet addresses upon successful authentication of a specified authentication procedure.
본 발명의 실시 방법에 따르면, 상기 스마트 컨트랙트 동작 절차는 상기 운영서버(100)가 특정 노드장치(205)의 개인키를 이용하여 상기 스마트 컨트랙트(210)의 동작을 위한 지정된 구조의 메시지를 상기 외부 블록체인 네트워크(200) 상의 각 노드장치(205)로 방송하도록 처리하는 절차를 포함할 수 있으며, 상기 특정 노드장치(205)는 상기 외부 블록체인 네트워크(200) 상의 노드장치(205) 중 지정된 운영서버(100)와 연동하는 노드장치(205), 또는 상기 외부 블록체인 네트워크(200) 상의 노드장치(205) 중 지정된 운영서버(100)가 상기 메시지의 방송을 위한 개인키를 관리하는 노드장치(205)를 포함할 수 있다. According to an embodiment of the present invention, the smart contract operation procedure may be performed by the operation server 100 using a private key of a specific node device 205 to send a message of a designated structure for the operation of the smart contract 210 to the external device. And processing to broadcast to each node device 205 on the blockchain network 200, wherein the specific node device 205 is designated among the node devices 205 on the external blockchain network 200. A node device 205 that interoperates with the server 100 or a node device 205 designated by the node device 205 on the external blockchain network 200 manages a private key for broadcasting the message ( 205).
본 발명의 실시 방법에 따르면, 상기 스마트 컨트랙트 동작 절차를 위한 메시지는 상기 인출정보(예컨대, 암호화폐를 인출받을 사용자의 전자지갑 주소와 상기 인출될 암호화폐 단위 및 사용자의 개인키를 통해 생성된 인증정보 등)를 지정된 구조에 포함되는 파라미터로 포함하며, 상기 메시지를 다른 노드장치(205)로 방송하는 특정 노드장치(205)의 지정된 주소를 포함할 수 있다. 한편 실시 방법에 따라 상기 메시지는 상기 외부 블록체인 네트워크(200) 상의 노드장치(205)에 등록된 상기 스마트 컨트랙트(210)의 지정된 주소와 상기 스마트 컨트랙트(210) 상의 확인 기능부(225)에 대응하는 함수의 주소 중 적어도 하나의 주소를 포함할 수 있다.According to an embodiment of the present invention, the message for the smart contract operation procedure is the authentication information generated through the withdrawal information (e.g., the electronic wallet address of the user who will withdraw the cryptocurrency, the cryptocurrency unit to be withdrawn and the user's private key). Information, etc.) as a parameter included in a designated structure, and may include a designated address of a specific node device 205 broadcasting the message to another node device 205. According to an embodiment, the message corresponds to a designated address of the smart contract 210 registered in the node device 205 on the external blockchain network 200 and a confirmation function unit 225 on the smart contract 210. It may include at least one address of the address of the function.
상기 확인 기능부(225)를 통해 상기 암호화폐를 인출받을 사용자의 전자지갑 주소와 상기 인출될 암호화폐 단위 및 사용자의 개인키를 통해 생성된 인증정보를 포함하는 인출정보를 확인한 경우, 상기 인증 기능부(230)는 지정된 저장영역에 저장된 상기 사용자의 공개키를 이용하여 상기 인증정보의 유효성을 인증하는 인증 절차를 포함하는 하나 이상의 지정된 인증 절차를 수행한다. When the withdrawal information including the electronic wallet address of the user who will withdraw the cryptocurrency, the cryptocurrency unit to be withdrawn, and the authentication information generated through the user's private key is confirmed through the verification function unit 225, the authentication function. The unit 230 performs one or more designated authentication procedures including an authentication procedure for authenticating the validity of the authentication information by using the public key of the user stored in the designated storage area.
본 발명의 실시 방법에 따르면, 상기 확인 기능부(225)를 통해 상기 암호화폐를 인출받을 사용자의 전자지갑 주소와 상기 인출될 암호화폐 단위 및 사용자의 개인키를 통해 생성된 인증정보를 포함하는 인출정보를 확인한 경우, 상기 인증 기능부(230)는 상기 인출정보에 포함된 사용자의 전자지갑 주소가 지정된 저장영역에 저장되어 있는지 인증하는 인증 절차를 수행할 수 있다. 여기서, 상기 지정된 저장영역은 지정된 암호화폐를 예치한 사용자의 전자지갑 주소를 저장하는 저장영역, 지정된 암호화폐를 예치한 사용자의 전자지갑 주소에 대응하는 공개키를 저장하는 저장영역, 지정된 암호화폐를 예치한 사용자의 전자지갑 주소와 연계된 사용자의 공개키를 저장하는 저장영역 중 적어도 하나의 저장영역을 포함할 수 있다.According to the embodiment of the present invention, the withdrawal including the electronic wallet address of the user to be withdrawn the cryptocurrency through the verification function unit 225, the authentication information generated through the cryptocurrency unit to be withdrawn and the user's private key When the information is confirmed, the authentication function unit 230 may perform an authentication procedure for authenticating whether the user's electronic wallet address included in the withdrawal information is stored in the designated storage area. Here, the designated storage area includes a storage area for storing the electronic wallet address of the user who deposited the designated cryptocurrency, a storage area for storing a public key corresponding to the electronic wallet address of the user who deposited the specified cryptocurrency, and the designated cryptocurrency. The storage device may include at least one storage area for storing the public key of the user associated with the electronic wallet address of the deposited user.
한편 상기 인출정보에 포함된 사용자의 전자지갑 주소가 지정된 저장영역에 저장된 경우, 상기 인증 기능부(230)는 지정된 저장영역에 저장된 상기 사용자의 공개키를 이용하여 상기 인증정보의 유효성을 인증하는 인증 절차를 수행할 수 있다.On the other hand, when the electronic wallet address of the user included in the withdrawal information is stored in the designated storage area, the authentication function unit 230 authenticates the validity of the authentication information by using the public key of the user stored in the designated storage area. The procedure can be performed.
본 발명의 제1 인증정보 실시예에 따르면, 상기 인증정보는 지정된 운영서버(100)와 상기 스마트 컨트랙드 사이에 합의된 문자열이나 바이너리코드를 포함하는 데이터를 상기 사용자의 개인키를 통해 지정된 암호화 방식으로 암호화하여 생성한 인증정보를 포함할 수 있는데, 이 경우 상기 인증 기능부(230)는 지정된 저장영역에 저장된 상기 사용자의 공개키를 통해 상기 인증정보를 복호화하여 상기 데이터를 복원한 후 상기 복원된 데이터가 상기 운영서버(100)와 스마트 컨트랙드 사이에 합의된 문자열이나 바이너리코드와 매칭되는지 인증하는 인증 절차를 수행할 수 있다. 한편 상기 인증정보가 복호화되지 않게 암호화(예컨대, 해시)되어 생성된 경우, 상기 인증 기능부(230)는 상기 사용자의 공개키를 통해 상기 운영서버(100)와 스마트 컨트랙드 사이에 합의된 문자열이나 바이너리코드를 포함하는 데이터를 동일한 암호화 방식으로 암호화하여 검증정보를 생성한 후 상기 인증정보와 비교하여 매칭되는지 인증하는 인증 절차를 수행할 수 있다.According to an embodiment of the first authentication information of the present invention, the authentication information is encrypted through the user's private key, the data including the string or binary code agreed between the designated operation server 100 and the smart contract And authentication information generated by encrypting the data. In this case, the authentication function unit 230 restores the data after decrypting the authentication information through the public key of the user stored in a designated storage area. An authentication procedure may be performed to authenticate whether the data is matched with the string or binary code agreed between the operation server 100 and the smart contract. Meanwhile, when the authentication information is generated by being encrypted (eg, hashed) so as not to be decrypted, the authentication function 230 is a string agreed between the operation server 100 and the smart contract through the public key of the user. Alternatively, the authentication procedure may be performed to encrypt the data including the binary code using the same encryption method, generate verification information, and compare the authentication information with the authentication information to verify that the data is matched.
본 발명의 제2 인증정보 실시예에 따르면, 상기 인증정보는 지정된 운영서버(100)와 상기 스마트 컨트랙드 사이에 합의된 복수의 문자열이나 복수의 바이너리코드 중 지정된 인덱스를 통해 상기 운영서버(100)와 스마트 컨트랙트(210) 사이에 동기화되는 문자열이나 바이너리코드를 포함하는 데이터를 상기 사용자의 개인키를 통해 지정된 암호화 방식으로 암호화하여 생성한 인증정보를 포함할 수 있으며, 이 경우 상기 인출정보는 상기 운영서버(100)와 스마트 컨트랙드 사이에 상기 암호화된 문자열이나 바이너리코드를 동기화하기 위한 인덱스를 더 포함할 수있다. 이 경우 상기 인증 기능부(230)는 지정된 저장영역에 저장된 상기 사용자의 공개키를 통해 상기 인증정보를 복호화하여 상기 데이터를 복원한 후 상기 복원된 데이터가 상기 운영서버(100)와 스마트 컨트랙드 사이에 합의된 복수의 문자열이나 복수의 바이너리코드 중 상기 인덱스를 통해 상기 운영서버(100)와 스마트 컨트랙트(210) 사이에 동기화되는 문자열이나 바이너리코드와 매칭되는지 인증하는 인증 절차를 수행할 수 있다. 한편 상기 인증정보가 복호화되지 않게 암호화(예컨대, 해시)되어 생성된 경우, 상기 인증 기능부(230)는 상기 사용자의 공개키를 통해 상기 운영서버(100)와 스마트 컨트랙드 사이에 합의된 복수의 문자열이나 복수의 바이너리코드 중 상기 인덱스를 통해 상기 운영서버(100)와 스마트 컨트랙트(210) 사이에 동기화되는 문자열이나 바이너리코드를 포함하는 데이터를 동일한 암호화 방식으로 암호화하여 검증정보를 생성한 후 상기 인증정보와 비교하여 매칭되는지 인증하는 인증 절차를 수행할 수 있다.According to a second embodiment of the authentication information of the present invention, the authentication information is the operating server 100 through a specified index of a plurality of strings or a plurality of binary codes agreed between the designated operating server 100 and the smart contract ) And authentication data generated by encrypting data including a character string or a binary code synchronized between the smart contract 210 and the encryption key specified by the user's private key. It may further include an index for synchronizing the encrypted string or binary code between the operating server 100 and the smart contract. In this case, the authentication function 230 restores the data by decrypting the authentication information through the user's public key stored in the designated storage area, and then the restored data is smart contracted with the operation server 100. An authentication procedure for authenticating whether a string or binary code synchronized between the operation server 100 and the smart contract 210 is matched through the index among a plurality of strings or a plurality of binary codes agreed upon may be performed. On the other hand, when the authentication information is generated by being encrypted (eg, hashed) so as not to be decrypted, the authentication function unit 230 has a plurality of agreements between the operation server 100 and the smart contract through the public key of the user. After generating the verification information by encrypting the data including the string or binary code synchronized between the operating server 100 and the smart contract 210 through the index of the string or a plurality of binary codes of the same encryption method; An authentication procedure for authenticating a match may be performed by comparing with the authentication information.
본 발명의 제3 인증정보 실시예에 따르면, 상기 인증정보는 상기 인출정보에 포함되는 전자지갑 주소(또는 전자지갑 주소의 적어도 일부 영역)를 포함하는 데이터를 상기 사용자의 개인키를 통해 지정된 암호화 방식으로 암호화하여 생성한 거래연동 인증정보를 포함할 수 있으며, 이 경우 상기 인증 기능부(230)는 지정된 저장영역에 저장된 상기 사용자의 공개키를 통해 상기 인증정보를 복호화하여 상기 데이터를 복원한 후 상기 복원된 데이터가 상기 인출정보에 포함되는 전자지갑 주소(또는 전자지갑 주소의 적어도 일부 영역)와 매칭되는지 인증하는 인증 절차를 수행할 수 있다. 한편 상기 인증정보가 복호화되지 않게 암호화(예컨대, 해시)되어 생성된 경우, 상기 인증 기능부(230)는 상기 사용자의 공개키를 통해 상기 인출정보에 포함되는 전자지갑 주소(또는 전자지갑 주소의 적어도 일부 영역)를 포함하는 데이터를 동일한 암호화 방식으로 암호화하여 검증정보를 생성한 후 상기 인증정보와 비교하여 매칭되는지 인증하는 인증 절차를 수행할 수 있다.According to a third embodiment of the authentication information of the present invention, the authentication information is an encryption scheme designated by the user's private key for data including an electronic wallet address (or at least part of an electronic wallet address) included in the withdrawal information. And transaction transaction authentication information generated by encryption. In this case, the authentication function unit 230 restores the data by decrypting the authentication information through the public key of the user stored in a designated storage area. An authentication procedure for authenticating whether the restored data matches the electronic wallet address (or at least a partial region of the electronic wallet address) included in the withdrawal information may be performed. Meanwhile, when the authentication information is generated by being encrypted (eg, hashed) so as not to be decrypted, the authentication function unit 230 may include at least one of the electronic wallet address (or electronic wallet address) included in the withdrawal information through the public key of the user. After generating the verification information by encrypting the data including the partial region) by the same encryption method, an authentication procedure for verifying matching with the authentication information may be performed.
본 발명의 제4 인증정보 실시예에 따르면, 상기 인증정보는 상기 인출정보에 포함되는 암호화폐 단위(또는 암호화폐 단위의 적어도 일부 영역)를 포함하는 데이터를 상기 사용자의 개인키를 통해 지정된 암호화 방식으로 암호화하여 생성한 거래연동 인증정보를 포함할 수 있으며, 이 경우 상기 인증 기능부(230)는 지정된 저장영역에 저장된 상기 사용자의 공개키를 통해 상기 인증정보를 복호화하여 상기 데이터를 복원한 후 상기 복원된 데이터가 상기 인출정보에 포함되는 암호화폐 단위(또는 암호화폐 단위의 적어도 일부 영역)와 매칭되는지 인증하는 인증 절차를 수행할 수 있다. 한편 상기 인증정보가 복호화되지 않게 암호화(예컨대, 해시)되어 생성된 경우, 상기 인증 기능부(230)는 상기 사용자의 공개키를 통해 상기 인출정보에 포함되는 암호화폐 단위(또는 암호화폐 단위의 적어도 일부 영역)를 포함하는 데이터를 동일한 암호화 방식으로 암호화하여 검증정보를 생성한 후 상기 인증정보와 비교하여 매칭되는지 인증하는 인증 절차를 수행할 수 있다.According to a fourth embodiment of the authentication information of the present invention, the authentication information is a cryptographic scheme designated by the user's private key for data including a cryptocurrency unit (or at least a part of a cryptocurrency unit) included in the withdrawal information. And transaction transaction authentication information generated by encryption. In this case, the authentication function unit 230 restores the data by decrypting the authentication information through the public key of the user stored in a designated storage area. An authentication procedure for authenticating whether the restored data matches a cryptocurrency unit (or at least a partial region of the cryptocurrency unit) included in the withdrawal information may be performed. On the other hand, when the authentication information is generated by being encrypted (eg, hashed) so as not to be decrypted, the authentication function unit 230 includes at least a cryptocurrency unit (or at least a cryptocurrency unit included in the withdrawal information through the public key of the user). After generating the verification information by encrypting the data including the partial region) by the same encryption method, an authentication procedure for verifying matching with the authentication information may be performed.
본 발명의 제5 인증정보 실시예에 따르면, 상기 인증정보는 상기 인출정보에 포함되는 전자지갑 주소(또는 전자지갑 주소의 적어도 일부 영역)과 암호화폐 단위(또는 암호화폐 단위의 적어도 일부 영역)를 포함하는 데이터를 상기 사용자의 개인키를 통해 지정된 암호화 방식으로 암호화하여 생성한 거래연동 인증정보를 포함할 수 있으며, 이 경우 상기 인증 기능부(230)는 지정된 저장영역에 저장된 상기 사용자의 공개키를 통해 상기 인증정보를 복호화하여 상기 데이터를 복원한 후 상기 복원된 데이터가 상기 인출정보에 포함되는 전자지갑 주소(또는 전자지갑 주소의 적어도 일부 영역)과 암호화폐 단위(또는 암호화폐 단위의 적어도 일부 영역)와 매칭되는지 인증하는 인증 절차를 수행할 수 있다. 한편 상기 인증정보가 복호화되지 않게 암호화(예컨대, 해시)되어 생성된 경우, 상기 인증 기능부(230)는 상기 사용자의 공개키를 통해 상기 인출정보에 포함되는 전자지갑 주소(또는 전자지갑 주소의 적어도 일부 영역)과 암호화폐 단위(또는 암호화폐 단위의 적어도 일부 영역)를 포함하는 데이터를 동일한 암호화 방식으로 암호화하여 검증정보를 생성한 후 상기 인증정보와 비교하여 매칭되는지 인증하는 인증 절차를 수행할 수 있다.According to a fifth embodiment of the authentication information of the present invention, the authentication information includes an electronic wallet address (or at least a partial region of the electronic wallet address) and a cryptocurrency unit (or at least a partial region of the cryptocurrency unit) included in the withdrawal information. It may include transaction interlocking authentication information generated by encrypting the data including the encryption key specified by the user's private key, in this case, the authentication function unit 230 stores the public key of the user stored in the designated storage area After recovering the data by decrypting the authentication information through the electronic wallet address (or at least part of the electronic wallet address) and the cryptocurrency unit (or at least part of the cryptocurrency unit) in which the restored data is included in the withdrawal information. ) May be authenticated. Meanwhile, when the authentication information is generated by being encrypted (eg, hashed) so as not to be decrypted, the authentication function unit 230 may include at least one of the electronic wallet address (or electronic wallet address) included in the withdrawal information through the public key of the user. To generate verification information by encrypting data including a partial region) and a cryptocurrency unit (or at least a partial region of the cryptocurrency unit) using the same encryption method, and then performing an authentication process of authenticating the matching information by comparing the authentication information. have.
본 발명의 제6 인증정보 실시예에 따르면, 상기 인증정보는 지정된 운영서버(100)와 상기 스마트 컨트랙드가 기 설정된 규칙에 따라 지정된 블록체인 상의 특정 블록(예컨대, 현재 시점에 기 체인 연결되어 불변의 기록으로 남은 블록 중 운영서버(100)와 스마트 컨트랙트(210) 사이에 기 설정된 규칙에 따라 합의되는 블록) 내 특정 저장위치(예컨대, 운영서버(100)와 스마트 컨트랙트(210) 사이에 기 설정된 규칙에 따라 합의되는 저장위치)를 동기화하여 획득하는 데이터를 상기 사용자의 개인키를 통해 지정된 암호화 방식으로 암호화하여 생성한 블록연동 인증정보를 포함할 수 있으며, 이 경우 상기 인증 기능부(230)는 지정된 저장영역에 저장된 상기 사용자의 공개키를 통해 상기 인증정보를 복호화하여 상기 데이터를 복원한 후 상기 복원된 데이터가 상기 운영서버(100)와 스마트 컨트랙드가 기 설정된 규칙에 따라 지정된 블록체인 상의 특정 블록 내 특정 저장위치를 동기화하여 획득하는 데이터와 매칭되는지 인증하는 인증 절차를 수행할 수 있다. 한편 상기 인증정보가 복호화되지 않게 암호화(예컨대, 해시)되어 생성된 경우, 상기 인증 기능부(230)는 상기 사용자의 공개키를 통해 상기 운영서버(100)와 스마트 컨트랙드가 기 설정된 규칙에 따라 지정된 블록체인 상의 특정 블록 내 특정 저장위치를 동기화하여 획득하는 데이터를 포함하는 데이터를 동일한 암호화 방식으로 암호화하여 검증정보를 생성한 후 상기 인증정보와 비교하여 매칭되는지 인증하는 인증 절차를 수행할 수 있다.According to a sixth embodiment of the authentication information of the present invention, the authentication information is invariant in a specific block (for example, at a present time by being connected to a specific block on the designated block chain according to a predetermined rule of the operation server 100 and the predetermined rule). Among the remaining blocks in the record, the predetermined storage location (for example, the block agreed upon according to a predetermined rule between the operation server 100 and the smart contract 210) is set in advance between the operation server 100 and the smart contract 210. And the block interlocking authentication information generated by encrypting the data obtained by synchronizing the storage location agreed according to the rule with a designated encryption method through the user's private key. In this case, the authentication function unit 230 After restoring the data by decrypting the authentication information through the user's public key stored in the designated storage area, the restored data An authentication procedure for authenticating whether the operation server 100 and the smart contract matches data obtained by synchronizing a specific storage location in a specific block on a designated blockchain according to a predetermined rule may be performed. On the other hand, when the authentication information is generated by being encrypted (eg, hashed) so as not to be decrypted, the authentication function unit 230 is configured according to a predetermined rule between the operation server 100 and the smart contract through the public key of the user. An authentication procedure may be performed to generate verification information by encrypting data including data obtained by synchronizing a specific storage location in a specific block on a designated blockchain with the same encryption method, and then verifying that the data is matched with the authentication information. .
본 발명의 제7 인증정보 실시예에 따르면, 상기 인증정보는 상기 제1 내지 제6 인증정보 실시예 중 적어도 둘 이상의 실시예를 적어도 부분적으로 조합한 형태의 인증정보를 포함할 수 있으며, 이 경우 상기 인증 기능부(230)는 상기 제1 내지 제6 인증정보 실시예 중 적어도 둘 이상의 실시예를 적어도 부분적으로 조합한 형태로 지정된 저장영역에 저장된 상기 사용자의 공개키를 통해 상기 인증정보의 유효성을 인증하는 인증 절차를 수행할 수 있으며, 이에 의해 본 발명이 한정되지 아니한다.According to the seventh authentication information embodiment of the present invention, the authentication information may include authentication information in the form of at least partially combining at least two or more embodiments of the first to sixth authentication information embodiments. The authentication function unit 230 validates the validity of the authentication information through the public key of the user stored in a designated storage area in at least a combination of at least two or more embodiments of the first to sixth authentication information embodiments. An authentication procedure for authenticating may be performed, whereby the present invention is not limited.
상기 인증 기능부(230)를 통해 수행된 지정된 인증 절차의 인증이 성공한 경우, 상기 저장 기능부(220)는 지정된 암화화폐를 인출받은 사용자의 전자지갑 주소와 상기 인출된 암호화폐 단위를 포함하는 암호화폐 인출정보를 지정된 저장영역에 저장할 수 있다. 여기서, 상기 암호화폐 인출정보를 저장하는 지정된 저장영역은 스마트 컨트랙트(210)의 상태를 저장하는 저장영역, 또는 상기 암호화폐의 인출과 관련된 정보를 저장하기 위해 설정된 저장영역을 포함할 수 있다.When the authentication of the designated authentication procedure performed through the authentication function unit 230 is successful, the storage function unit 220 encrypts the electronic wallet address of the user who has received the designated cryptocurrency and the cryptocurrency unit. Currency withdrawal information can be stored in the designated storage area. Here, the designated storage area for storing the cryptocurrency withdrawal information may include a storage area for storing the state of the smart contract 210, or a storage area set for storing information related to the withdrawal of the cryptocurrency.
도면3은 본 발명의 실시 방법에 따라 외부 블록체인 네트워크(200)의 노드장치(205)에 스마트 컨트랙트(210)를 등록하는 과정을 도시한 도면이다.3 is a diagram illustrating a process of registering a smart contract 210 with a node device 205 of an external blockchain network 200 according to an embodiment of the present invention.
보다 상세하게 본 도면3은 지정된 외부 블록체인 네트워크(200)의 노드장치(205)에 스마트 컨트랙트(210)를 등록하는 과정의 일 실시예를 도시한 도면으로서, 본 발명이 속한 기술분야에서 통상의 지식을 가진 자라면, 본 도면3을 참조 및/또는 변형하여 상기 과정에 대한 다양한 실시 방법(예컨대, 일부 단계가 생략되거나, 또는 순서가 변경된 실시 방법)을 유추할 수 있을 것이나, 본 발명은 상기 유추되는 모든 실시 방법을 포함하여 이루어지며, 본 도면3에 도시된 실시 방법만으로 그 기술적 특징이 한정되지 아니한다.In more detail, FIG. 3 is a diagram illustrating an embodiment of a process of registering a smart contract 210 in a node device 205 of a designated external blockchain network 200, which is common in the art. Those skilled in the art may refer to and / or modify this drawing 3 to infer various implementation methods (e.g., implementation steps in which some steps have been omitted or changed in order). It is made including all the inferred implementation method, the technical features are not limited only to the implementation method shown in FIG.
도면3을 참조하면, 운영서버(100)는 지정된 외부 블록체인 네트워크(200)의 노드장치(205)에 등록할 스마트 컨트랙트(210)를 확인하고(300), 상기 스마트 컨트랙트(210)를 지원하는 지정된 외부 블록체인 네트워크(200) 상에 구비된 M개의 노드장치(205)에 상기 스마트 컨트랙트(210)를 등록하는 등록 절차를 수행하며(305), 상기 외부 블록체인 네트워크(200) 상의 노드장치(205)는 상기 스마트 컨트랙트(210)를 제공받아 지정된 저장영역에 등록하는 절차를 수행한다(310). Referring to FIG. 3, the operation server 100 checks the smart contract 210 to be registered in the node device 205 of the designated external blockchain network 200 (300), and supports the smart contract 210. A registration procedure for registering the smart contract 210 with M node devices 205 provided on a designated external block chain network 200 is performed (305), and the node device on the external block chain network 200 ( 205 receives the smart contract 210 and performs a procedure of registering it in a designated storage area (310).
도면4는 본 발명의 실시 방법에 따른 암호화폐 거래를 위한 정보 등록 과정을 도시한 도면이다.4 is a diagram illustrating an information registration process for cryptocurrency transactions according to an embodiment of the present invention.
보다 상세하게 본 도면4는 사용자단말(180)을 통해 운영서버(100)(또는 서비스서버(170))에 사용자정보와 사용자의 전자지갑 주소를 등록하는 과정의 일 실시예를 도시한 도면으로서, 본 발명이 속한 기술분야에서 통상의 지식을 가진 자라면, 본 도면4를 참조 및/또는 변형하여 상기 과정에 대한 다양한 실시 방법(예컨대, 일부 단계가 생략되거나, 또는 순서가 변경된 실시 방법)을 유추할 수 있을 것이나, 본 발명은 상기 유추되는 모든 실시 방법을 포함하여 이루어지며, 본 도면4에 도시된 실시 방법만으로 그 기술적 특징이 한정되지 아니한다. In more detail, FIG. 4 is a diagram illustrating an embodiment of a process of registering user information and an electronic wallet address of a user in the operation server 100 (or service server 170) through the user terminal 180. Those skilled in the art to which the present invention pertains can refer to and / or modify this drawing to infer various implementation methods (e.g., implementation steps in which some steps are omitted or reordered). Although the present invention may be performed, the present invention includes all the inferred implementation methods, and the technical features are not limited to the implementation method illustrated in FIG.
도면4를 참조하면, 사용자단말(180)은 운영서버(100)(또는 서비스서버(170))에 회원으로 가입할 사용자정보를 입력받고(400), 상기 운영서버(100)(또는 서비스서버(170))로 상기 사용자정보를 등록 요청한다(405). Referring to FIG. 4, the user terminal 180 receives user information to be registered as a member of the operation server 100 (or the service server 170) (400), and the operation server 100 (or the service server ( 170) request to register the user information (405).
상기 운영서버(100)(또는 서비스서버(170))는 상기 사용자정보를 수신하고(410), 상기 사용자정보를 근거로 적어도 하나의 본인 인증 절차를 수행한다(415). 만약 상기 사용자의 본인 인증을 실패한 경우, 상기 운영서버(100)(또는 서비스서버(170))는 상기 사용자단말(180)을 통해 사용자의 본인 인증 오류를 출력한다(420). The operation server 100 (or service server 170) receives the user information (410), and performs at least one identity authentication procedure based on the user information (415). If the user authentication fails, the operation server 100 (or service server 170) outputs a user authentication error of the user through the user terminal 180 (420).
한편 상기 사용자의 본인 인증을 성공한 경우, 상기 운영서버(100)(또는 서비스서버(170))는 상기 사용자정보를 지정된 데이터베이스에 저장하고(425), 상기 사용자정보의 등록 결과를 사용자단말(180)로 제공하며(ㅌ30), 상기 사용자단말(180)은 상기 사용자정보의 등록 결과를 수신/출력한다(435). On the other hand, if the user's authentication is successful, the operation server 100 (or service server 170) stores the user information in the designated database (425), and the user terminal 180 to register the result of the user information (30), the user terminal 180 receives / outputs the registration result of the user information (435).
한편 상기 사용자단말(180)은 지정된 외부 블록체인 네트워크(200) 상에서 유효 동작하는 유효한 사용자의 전자지갑을 생성하는 절차를 수행하거나(440), 외부 블록체인 네트워크(200) 상에 유효 생성된 사용자의 전자지갑 주소를 확인하고(440), 상기 외부 블록체인 네트워크(200) 상에 유효 생성된 사용자의 전자지갑 주소를 등록 요청한다(445). 상기 운영서버(100)(또는 서비스서버(170))는 상기 외부 블록체인 네트워크(200) 상에 유효 생성된 사용자의 전자지갑 주소를 수신하고(450), 상기 사용자의 전자지갑 주소에 대한 유효성을 검증하는 절차를 수행한다(455). Meanwhile, the user terminal 180 performs a procedure for generating a valid electronic wallet of a valid user operating effectively on the designated external blockchain network 200 or the user terminal effectively created on the external blockchain network 200. The electronic wallet address is checked (440), and the user registers the electronic wallet address of the user effectively created on the external blockchain network 200 (445). The operation server 100 (or the service server 170) receives the user's electronic wallet address validly created on the external blockchain network 200 (450), and validates the user's electronic wallet address. A verification procedure is performed (455).
만약 상기 등록 요청된 사용자의 전자지갑 주소에 대한 유효성이 검증되면, 상기 운영서버(100)(또는 서비스서버(170))는 상기 사용자의 전자지갑 주소를 상기 사용자정보와 연계하여 저장하고(460), 상기 사용자의 전자지갑 주소의 등록 결과를 사용자단말(180)로 제공하며(465), 상기 사용자단말(180)은 상기 사용자의 전자지갑 주소의 등록 결과를 수신/출력한다(470). If the validity of the electronic wallet address of the requested user is verified, the operation server 100 (or the service server 170) stores the electronic wallet address of the user in association with the user information (460). The user's electronic wallet address registration result is provided to the user terminal 180 (465), and the user terminal 180 receives / outputs the registration result of the user's electronic wallet address (470).
도면5는 본 발명의 일 실시 방법에 따라 사용자의 공개키를 스마트 컨트랙트(210)에 기록하는 과정을 도시한 도면이다.5 is a diagram illustrating a process of recording a public key of a user in the smart contract 210 according to one embodiment of the present invention.
보다 상세하게 본 도면5는 외부 블록체인 네트워크(200) 상에 유효 생성된 사용자의 전자지갑에 보유된 암호화폐 단위를 상기 외부 블록체인 네트워크(200) 상의 스마트 컨트랙트(210)에 예치하는 과정을 통해 사용자의 공개키를 스마트 컨트랙트(210)에 기록하는 일 실시예를 도시한 도면으로서, 본 발명이 속한 기술분야에서 통상의 지식을 가진 자라면, 본 도면5를 참조 및/또는 변형하여 상기 과정에 대한 다양한 실시 방법(예컨대, 일부 단계가 생략되거나, 또는 순서가 변경된 실시 방법)을 유추할 수 있을 것이나, 본 발명은 상기 유추되는 모든 실시 방법을 포함하여 이루어지며, 본 도면5에 도시된 실시 방법만으로 그 기술적 특징이 한정되지 아니한다.In more detail, FIG. 5 illustrates a process of depositing a cryptocurrency unit held in an electronic wallet of a user effectively created on an external blockchain network 200 to a smart contract 210 on the external blockchain network 200. A diagram illustrating an embodiment of recording a public key of a user in a smart contract 210. If a person of ordinary skill in the art belongs to the present invention, the present invention may be referred to and / or modified by referring to FIG. Various implementation methods (e.g., implementation steps in which some steps are omitted or changed in order) may be inferred, but the present invention includes all the implementation methods inferred from the above, and is shown in FIG. The technical features are not limited only.
도면5를 참조하면, 사용자단말(180)은 외부 블록체인 네트워크(200) 상의 스마트 컨트랙트(210)로 지정된 암호화폐 단위를 예치하기 위해 상기 스마트 컨트랙트(210)의 컨트랙트 주소를 확인하고(500), 상기 외부 블록체인 네트워크(200) 상에 유효 생성된 사용자의 전자지갑에 대응하는 개인키를 이용하여 상기 사용자의 전자지갑에 예치된 지정된 암호화폐 단위를 상기 컨트랙트 주소에 대응하는 스마트 컨트랙트(210)로 예치하는 절차를 수행한다(505). 예를들어, 상기 사용자단말(180)은 상기 사용자의 전자지갑에 대응하는 개인키를 통해 상기 사용자의 전자지갑에 예치된 지정된 암호화폐 단위를 상기 컨트랙트 주소에 대응하는 스마트 컨트랙트(210)로 예치하는 거래내역을 생성하여 지정된 경로를 통해 상기 외부 블록체인 네트워크(200) 상의 노드장치(205)로 방송할 수 있다.Referring to FIG. 5, the user terminal 180 checks the contract address of the smart contract 210 in order to deposit the cryptocurrency unit designated as the smart contract 210 on the external blockchain network 200 (500). The designated cryptocurrency unit deposited in the electronic wallet of the user is transferred to the smart contract 210 corresponding to the contract address using the private key corresponding to the electronic wallet of the user effectively generated on the external blockchain network 200. The procedure for depositing is performed (505). For example, the user terminal 180 deposits a designated cryptocurrency unit deposited in the electronic wallet of the user to the smart contract 210 corresponding to the contract address through a private key corresponding to the electronic wallet of the user. The transaction history may be generated and broadcasted to the node device 205 on the external blockchain network 200 through a designated path.
상기 외부 블록체인 네트워크(200) 상의 노드장치(205)는 상기 외부 블록체인 네트워크(200) 상에 유효 생성된 사용자의 전자지갑에 보유된 암호화폐 단위를 상기 컨트랙트 주소에 대응하는 스마트 컨트랙트(210)로 예치하는 동작을 수행하고(510), 상기 스마트 컨트랙트(210)에 상기 암호화폐 단위를 예치하는 동작이 수행되어 각 노드장치(205) 사이에 합의/공유되는 경우 상기 스마트 컨트랙트(210)는 상기 암호화폐를 예치한 사용자의 전자지갑 주소와 상기 예치된 암호화폐 단위를 포함하는 암호화폐 예치정보를 지정된 저장영역에 저장하여 관리한다(515).The node device 205 on the external blockchain network 200 stores a cryptocurrency unit held in an electronic wallet of a user effectively created on the external blockchain network 200 corresponding to the contract address. The smart contract 210 performs an operation of depositing the cryptocurrency unit in the smart contract 210 when it is agreed and shared between each node device 205. The electronic wallet address of the user who deposits the cryptocurrency and the cryptocurrency deposit information including the deposited cryptocurrency unit are stored and managed in the designated storage area (515).
한편 상기 운영서버(100)는 외부 블록체인 네트워크(200) 상의 노드장치(205)를 참조하여 상기 스마트 컨트랙트(210)의 지정된 저장영역에 저장된 암호화폐 예치정보를 확인하고(520), 상기 확인된 암호화폐 예치정보를 지정된 데이터베이스에 저장하여 관리한다(525). 한편 상기 운영서버(100)는 상기 외부 블록체인 네트워크(200) 상의 노드장치(205)를 참조하여 확인된 상기 암호화폐 예치정보에 포함된 사용자의 전자지갑 주소와 상기 데이터베이스에 기 저장되어 있는 암호화폐 예치정보의 전자지갑 주소를 비교하여 상기 스마트 컨트랙트(210)의 지정된 저장영역에 신규 기록된 사용자의 전자지갑 주소에 대응하는 사용자의 공개키를 확인한다(530). Meanwhile, the operation server 100 checks the cryptocurrency deposit information stored in the designated storage area of the smart contract 210 with reference to the node device 205 on the external blockchain network 200 (520). Cryptocurrency deposit information is stored and managed in a designated database (525). On the other hand, the operation server 100 is a user's electronic wallet address included in the cryptocurrency deposit information confirmed with reference to the node device 205 on the external blockchain network 200 and the cryptocurrency previously stored in the database. The electronic wallet address of the deposit information is compared to determine the user's public key corresponding to the electronic wallet address of the user newly recorded in the designated storage area of the smart contract 210 (530).
만약 상기 스마트 컨트랙트(210)의 지정된 저장영역에 신규 기록된 사용자의 공개키가 확인되면, 상기 운영서버(100)는 상기 확인된 공개키에 대응하는 사용자를 상기 스마트 컨트랙트(210)에 예치된 암호화폐의 인출 가능한 사용자로 설정하여 저장할 수 있다(535).If the public key of the user newly recorded in the designated storage area of the smart contract 210 is confirmed, the operation server 100 encrypts the user corresponding to the identified public key in the smart contract 210. The user may set and store the money as a withdrawable user (535).
도면6은 본 발명의 다른 일 실시 방법에 따라 사용자의 공개키를 스마트 컨트랙트(210)에 기록하는 과정을 도시한 도면이다.FIG. 6 is a diagram illustrating a process of recording a public key of a user in the smart contract 210 according to another embodiment of the present invention.
보다 상세하게 본 도면6은 사용자의 전자지갑 생성과 무관하게 별도 생성된 사용자의 공개키를 스마트 컨트랙트(210)에 기록하는 과정을 통해 사용자의 공개키를 스마트 컨트랙트(210)에 기록하는 일 실시예를 도시한 도면으로서, 본 발명이 속한 기술분야에서 통상의 지식을 가진 자라면, 본 도면6을 참조 및/또는 변형하여 상기 과정에 대한 다양한 실시 방법(예컨대, 일부 단계가 생략되거나, 또는 순서가 변경된 실시 방법)을 유추할 수 있을 것이나, 본 발명은 상기 유추되는 모든 실시 방법을 포함하여 이루어지며, 본 도면6에 도시된 실시 방법만으로 그 기술적 특징이 한정되지 아니한다.In more detail, FIG. 6 illustrates an embodiment in which the user's public key is recorded in the smart contract 210 through the process of recording the user's public key separately generated in the smart contract 210 regardless of the user's electronic wallet creation. As illustrated in the drawings, a person skilled in the art may refer to and / or modify the present invention, and various implementation methods (for example, some steps may be omitted or may be omitted). It is possible to infer a modified implementation method), but the present invention includes all the implementation methods inferred above, and the technical features are not limited only to the implementation method shown in FIG.
도면6을 참조하면, 사용자 전자지갑에 보유된 암호화폐 단위를 외부 블록체인 네트워크(200) 상의 스마트 컨트랙트(210)에 예치하여 상기 스마트 컨트랙트(210)의 지정된 저장영역에 암호화폐를 예치한 사용자의 전자지갑 주소와 상기 예치된 암호화폐 단위를 포함하는 암호화폐 예치정보가 저장되기 전 또는 중 또는 후의 일 시점에, 상기 사용자단말(180)은 사용자의 전자지갑 생성과 무관하게 별도 생성된 사용자의 공개키를 등록하기 위해 접속하며(600), 상기 운영서버(100)는 기 등록된 사용자정보를 근거로 상기 사용자에 대한 지정된 본인 인증 절차를 수행한다(605). 만약 상기 사용자의 본인 인증을 실패한 경우, 상기 운영서버(100)는 상기 사용자단말(180)을 통해 사용자의 본인 인증 오류를 출력한다(610). Referring to FIG. 6, a cryptocurrency unit held in a user electronic wallet is deposited in a smart contract 210 on an external blockchain network 200 to deposit a cryptocurrency in a designated storage area of the smart contract 210. At one point before, during, or after the storage of cryptocurrency deposit information including an electronic wallet address and the deposited cryptocurrency unit, the user terminal 180 discloses a user generated separately regardless of the user's electronic wallet creation. In order to register the key (600), the operation server 100 performs a designated identity authentication procedure for the user based on the registered user information (605). If the user authentication fails, the operation server 100 outputs the user authentication error of the user through the user terminal 180 (610).
한편 상기 사용자의 본인 인증을 성공한 경우, 상기 운영서버(100)는 사용자의 전자지갑 생성과 무관하게 별도 생성된 사용자의 공개키를 확인(예컨대, 사용자 단말을 통해 수신하거나 또는 본인 인증된 사용자정보를 근거로 상기 사용자의 공개키를 저장 관리하는 관리서버나 상기 사용자의 공개키를 발행한 발행서버나 상기 사용자의 공개키를 이용한 지정된 인증 절차를 수행하는 인증서버 등을 통해 확인)한다. 한편 상기 운영서버(100)는 상기 사용자의 전자지갑 주소를 확인하고(620), 기 설정된 스마트 컨트랙트 동작 절차에 따라 상기 사용자의 공개키와 사용자의 전자지갑 주소를 상기 외부 블록체인 네트워크(200) 상의 스마트 컨트랙트(210)로 제공하는 절차를 수행한다(625). 바람직하게, 상기 스마트 컨트랙트 동작 절차는 상기 운영서버(100)가 지정된 특정 노드장치(205)(예컨대, 상기 외부 블록체인 네트워크(200) 상의 노드장치(205) 중 상기 운영서버(100)와 연동하는 노드장치(205), 또는 상기 외부 블록체인 네트워크(200) 상의 노드장치(205) 중 상기 운영서버(100)가 상기 메시지의 방송을 위한 개인키를 관리하는 노드장치(205))의 개인키를 이용하여 상기 스마트 컨트랙트(210)의 동작을 위한 지정된 구조의 메시지를 상기 외부 블록체인 네트워크(200) 상의 각 노드장치(205)로 방송하는 절차 내지 상기 외부 블록체인 네트워크(200) 상의 각 노드장치(205)의 스마트 컨트랙트(210)가 상기 메시지를 수신하여 판독하는 절차를 포함할 수 있다.On the other hand, if the user authentication of the user is successful, the operation server 100 checks the user's public key generated separately regardless of the user's electronic wallet generation (for example, received through the user terminal or authenticated user information Based on the management server that stores and manages the user's public key, the issuing server that issued the user's public key, or the authentication server performing a specified authentication procedure using the user's public key. On the other hand, the operation server 100 checks the user's electronic wallet address (620), and according to a pre-set smart contract operation procedure, the user's public key and the user's electronic wallet address on the external blockchain network 200 The procedure of providing the smart contract 210 is performed (625). Preferably, the smart contract operation procedure may be performed by the operation server 100 interworking with the operation server 100 of a specific node device 205 (for example, the node device 205 on the external blockchain network 200). The private key of the node device 205 or the node device 205 of the node device 205 on the external blockchain network 200 manages the private key for broadcasting the message. A procedure of broadcasting a message having a designated structure for the operation of the smart contract 210 to each node device 205 on the external blockchain network 200 to each node device on the external blockchain network 200 ( The smart contract 210 of 205 may include a procedure for receiving and reading the message.
상기 외부 블록체인 네트워크(200) 상의 스마트 컨트랙트(210)는 기 설정된 스마트 컨트랙트 동작 절차를 통해 상기 스마트 컨트랙트(210)로 제공된 사용자의 공개키와 사용자의 전자지갑 주소를 확인한다(630). 한편 상기 스마트 컨트랙트(210)는 상기 확인된 전자지갑 주소가 지정된 저장영역(예컨대, 암호화폐 예치정보를 저장하는 저장영역)에 저장되어 있는지 확인하는 절차를 수행할 수 있다(635). 예를들어, 상기 사용자의 전자지갑 주소는 상기 도면5의 암호화폐 예치 과정을 통해 스마트 컨트랙트(210)의 지정된 저장영역에 저장될 수 있다. 만약 상기 저장된 사용자의 전자지갑 주소가 확인되지 않는 경우, 상기 스마트 컨트랙트(210)는 동작을 중지할 수 있다(640). 상기 스마트 컨트랙트(210)는 상기 확인된 사용자의 공개키와 사용자의 전자지갑 주소를 지정된 저장영역에 연계 저장한다(645). The smart contract 210 on the external blockchain network 200 checks the public key of the user provided to the smart contract 210 and the electronic wallet address of the user through a preset smart contract operation procedure (630). Meanwhile, the smart contract 210 may perform a procedure of checking whether the checked electronic wallet address is stored in a designated storage area (eg, a storage area for storing cryptocurrency deposit information) (635). For example, the electronic wallet address of the user may be stored in a designated storage area of the smart contract 210 through the cryptocurrency depositing process of FIG. 5. If the stored electronic wallet address of the user is not confirmed, the smart contract 210 may stop the operation (640). The smart contract 210 associates and stores the identified public key of the user and the electronic wallet address of the user in a designated storage area (645).
한편 상기 운영서버(100)는 상기 외부 블록체인 네트워크(200) 상의 노드장치(205)를 참조하여 상기 스마트 컨트랙트(210)의 지정된 저장영역에 신규 기록된 사용자의 공개키를 확인한다(650). 만약 상기 스마트 컨트랙트(210)의 지정된 저장영역에 신규 기록된 사용자의 공개키가 확인되면, 상기 운영서버(100)는 상기 확인된 공개키에 대응하는 사용자를 상기 스마트 컨트랙트(210)에 예치된 암호화폐의 인출 가능 사용자로 설정하여 저장한다(655). Meanwhile, the operation server 100 checks the user's public key newly recorded in the designated storage area of the smart contract 210 with reference to the node device 205 on the external blockchain network 200 (650). If the public key of the user newly recorded in the designated storage area of the smart contract 210 is confirmed, the operation server 100 encrypts the user corresponding to the identified public key in the smart contract 210. The user sets and saves the money as a user withdrawable money (655).
한편 상기 스마트 컨트랙트(210)의 지정된 저장영역에 기록된 사용자의 공개키가 확인되지 않으면, 상기 운영서버(100)는 외부 블록체인 네트워크(200) 상의 노드장치(205)를 참조하여 상기 사용자의 공개키를 기록할 스마트 컨트랙트(210)의 중지를 확인할 수 있다(660). 만약 상기 스마트 컨트랙트(210)가 중지된 경우, 상기 운영서버(100)는 사용자의 공개키 등록 요청에 대한 오류정보를 생성하여 상기 사용자단말(180)로 제공하며(665), 상기 사용자단말(180)은 상기 사용자의 공개키 등록 요청에 대한 오류정보를 수신하여 출력할 수 있다(670).On the other hand, if the public key of the user recorded in the designated storage area of the smart contract 210 is not confirmed, the operation server 100 refers to the node device 205 on the external blockchain network 200 to disclose the user. The suspension of the smart contract 210 to record the key may be confirmed (660). If the smart contract 210 is stopped, the operation server 100 generates the error information for the user's public key registration request and provides it to the user terminal 180 (665), the user terminal 180 ) May receive and output error information about the public key registration request of the user (670).
도면7은 본 발명의 일 실시 방법에 따라 내부 블록체인 네트워크(130)를 통해 암호화폐 거래를 제공하는 과정을 도시한 도면이다.7 is a diagram illustrating a process of providing a cryptocurrency transaction through an internal blockchain network 130 according to one embodiment of the present invention.
보다 상세하게 본 도면7은 외부 블록체인 네트워크(200) 상의 스마트 컨트랙트(210)에 사용자의 공개키가 기록된 경우, 상기 외부 블록체인 네트워크(200)와 구별되는 별도의 지정된 내부 블록체인 네트워크(130) 상에 사용자의 내부지갑을 생성하고, 상기 내부 블록체인 네트워크(130) 상에 생성된 사용자의 내부지갑을 이용하여 상기 스마트 컨트랙트(210)에 예치된 암호화폐에 근거하는 전자지갑 간 암호화폐 거래를 처리하는 일 실시예를 도시한 도면으로서, 본 발명이 속한 기술분야에서 통상의 지식을 가진 자라면, 본 도면7을 참조 및/또는 변형하여 상기 과정에 대한 다양한 실시 방법(예컨대, 일부 단계가 생략되거나, 또는 순서가 변경된 실시 방법)을 유추할 수 있을 것이나, 본 발명은 상기 유추되는 모든 실시 방법을 포함하여 이루어지며, 본 도면7에 도시된 실시 방법만으로 그 기술적 특징이 한정되지 아니한다.In more detail, FIG. 7 illustrates a separate designated internal blockchain network 130 distinguished from the external blockchain network 200 when the user's public key is recorded in the smart contract 210 on the external blockchain network 200. Cryptocurrency transactions between electronic wallets based on cryptocurrencies deposited in the smart contract 210 by creating a user's internal wallet on the user and using the user's internal wallet created on the internal blockchain network 130. As an example of processing the present invention, a person having ordinary skill in the art to which the present invention pertains may refer to and / or modify the present invention, and various implementation methods (for example, some steps may be performed) with respect to the above process. May be inferred or changed in order, but the present invention includes all the inferred implementation methods, and Indicated only exemplary method is not limited that technical feature.
도면7을 참조하면, 운영서버(100)는 지정된 외부 블록체인 네트워크(200) 상의 노드장치(205)를 참조하여 상기 도면5 또는 도면6의 과정을 통해 외부 블록체인 네트워크(200) 상의 스마트 컨트랙트(210)에 사용자의 공개키가 기록되는지 확인한다(700). 만약 상기 외부 블록체인 네트워크(200) 상의 스마트 컨트랙트(210)에 사용자의 공개키가 기록된 경우, 상기 운영서버(100)는 상기 외부 블록체인 네트워크(200)와 구별되는 별도의 지정된 내부 블록체인 네트워크(130) 상에 사용자의 내부지갑을 생성하거나 기 생성된 사용자의 내부지갑을 확인한다(705). Referring to FIG. 7, the operation server 100 refers to the node device 205 on the designated external blockchain network 200 and performs smart contracts on the external blockchain network 200 through the process of FIG. 5 or 6. In step 210, the user's public key is recorded. If the public key of the user is recorded in the smart contract 210 on the external blockchain network 200, the operation server 100 is a separate designated internal blockchain network distinct from the external blockchain network 200. The internal wallet of the user is generated on the 130 or the internal wallet of the user that has been previously created is checked (705).
만약 상기 내부 블록체인 네트워크(130) 상에 사용자의 내부지갑이 생성되거나 확인되면, 상기 운영서버(100)는 상기 외부 블록체인 네트워크(200) 상에 생성된 사용자의 전자지갑을 통해 상기 외부 블록체인 네트워크(200) 상의 스마트 컨트랙트(210)에 예치된 암호화폐를 상기 내부 블록체인 네트워크(130) 상에 생성된 사용자의 내부지갑에 적용하는 절차를 수행한다(710).If the user's internal wallet is generated or confirmed on the internal blockchain network 130, the operation server 100 is the external blockchain through the electronic wallet of the user created on the external blockchain network 200 A procedure of applying the cryptocurrency deposited in the smart contract 210 on the network 200 to the internal wallet of the user created on the internal blockchain network 130 is performed (710).
한편 상기 외부 블록체인 네트워크(200) 상에 생성된 사용자의 전자지갑을 통해 상기 외부 블록체인 네트워크(200) 상의 스마트 컨트랙트(210)에 예치된 암호화폐가 전자지갑 간 암호화폐 거래를 위한 암호화폐인 경우, 상기 운영서버(100)는 상기 내부 블록체인 네트워크(130)를 통해 상기 사용자의 내부지갑에 적용된 암호화폐를 이용한 탈중앙화 방식의 전자지갑 간 암호화폐 거래를 처리하는 절차를 수행한다(715). Meanwhile, when the cryptocurrency deposited in the smart contract 210 on the external blockchain network 200 through the electronic wallet of the user created on the external blockchain network 200 is a cryptocurrency for cryptocurrency transaction between electronic wallets. In operation 715, the operation server 100 performs a process of processing a cryptocurrency transaction between electronic wallets of a decentralized manner using a cryptocurrency applied to an internal wallet of the user through the internal blockchain network 130.
만약 상기 내부 블록체인 네트워크(130)를 통해 상기 사용자의 내부지갑에 적용된 암호화폐를 이용한 탈중앙화 방식의 전자지갑 간 암호화폐 거래가 처리되면, 상기 운영서버(100)는 상기 내부 블록체인 네트워크(130)를 통해 처리된 전자지갑 간 암호화폐 거래의 거래내역을 지정된 데이터베이스에 동기화하여 저장한다(720).If the transaction of the decentralized electronic wallet using the cryptocurrency applied to the internal wallet of the user through the internal blockchain network 130 is processed, the operation server 100 is the internal blockchain network 130 The transaction history of the cryptocurrency transaction between electronic wallets processed through the synchronization is stored in a designated database (720).
도면8은 본 발명의 다른 일 실시 방법에 따라 내부 블록체인 네트워크(130)를 통해 암호화폐 거래를 제공하는 과정을 도시한 도면이다.8 is a diagram illustrating a process of providing a cryptocurrency transaction through an internal blockchain network 130 according to another embodiment of the present invention.
보다 상세하게 본 도면8은 외부 블록체인 네트워크(200) 상의 스마트 컨트랙트(210)에 사용자의 공개키가 기록된 경우, 상기 외부 블록체인 네트워크(200)와 구별되는 별도의 지정된 내부 블록체인 네트워크(130) 상에 사용자의 내부지갑을 생성하고, 상기 내부 블록체인 네트워크(130) 상에 생성된 사용자의 내부지갑을 이용하여 지정된 암호화폐 거래 환경을 이용한 거래소 기반 암호화폐 거래를 처리하는 일 실시예를 도시한 도면으로서, 본 발명이 속한 기술분야에서 통상의 지식을 가진 자라면, 본 도면8을 참조 및/또는 변형하여 상기 과정에 대한 다양한 실시 방법(예컨대, 일부 단계가 생략되거나, 또는 순서가 변경된 실시 방법)을 유추할 수 있을 것이나, 본 발명은 상기 유추되는 모든 실시 방법을 포함하여 이루어지며, 본 도면8에 도시된 실시 방법만으로 그 기술적 특징이 한정되지 아니한다.In more detail, FIG. 8 illustrates a separate designated internal blockchain network 130 that is distinguished from the external blockchain network 200 when the user's public key is recorded in the smart contract 210 on the external blockchain network 200. An embodiment of processing an exchange-based cryptocurrency transaction using a designated cryptocurrency trading environment using a user's internal wallet generated on the internal blockchain network 130 is illustrated. As one figure, a person skilled in the art to which the present invention pertains can refer to and / or modify this figure 8 to implement various methods of the process (e.g., some steps are omitted or the order is changed). Method) may be inferred, but the present invention includes all the implementation methods inferred, and only the implementation method shown in FIG. The technical features are not limited to.
도면8을 참조하면, 운영서버(100)는 지정된 외부 블록체인 네트워크(200) 상의 노드장치(205)를 참조하여 상기 도면5 또는 도면6의 과정을 통해 외부 블록체인 네트워크(200) 상의 스마트 컨트랙트(210)에 사용자의 공개키가 기록되는지 확인한다(800). 만약 상기 외부 블록체인 네트워크(200) 상의 스마트 컨트랙트(210)에 사용자의 공개키가 기록된 경우, 상기 운영서버(100)는 상기 외부 블록체인 네트워크(200)와 구별되는 별도의 지정된 내부 블록체인 네트워크(130) 상에 사용자의 내부지갑을 생성하거나 기 생성된 사용자의 내부지갑을 확인한다(805). Referring to FIG. 8, the operation server 100 refers to the node device 205 on the designated external blockchain network 200 and performs smart contracts on the external blockchain network 200 through the process of FIG. 5 or 6. In step 210, the user's public key is recorded. If the public key of the user is recorded in the smart contract 210 on the external blockchain network 200, the operation server 100 is a separate designated internal blockchain network distinct from the external blockchain network 200. The internal wallet of the user is generated on the 130 or the internal wallet of the user that is previously created is checked (805).
만약 상기 내부 블록체인 네트워크(130) 상에 사용자의 내부지갑이 생성되거나 확인되면, 상기 운영서버(100)는 상기 외부 블록체인 네트워크(200) 상에 생성된 사용자의 전자지갑을 통해 상기 외부 블록체인 네트워크(200) 상의 스마트 컨트랙트(210)에 예치된 암호화폐를 상기 내부 블록체인 네트워크(130) 상에 생성된 사용자의 내부지갑에 적용하는 절차를 수행한다(810).If the user's internal wallet is generated or confirmed on the internal blockchain network 130, the operation server 100 is the external blockchain through the electronic wallet of the user created on the external blockchain network 200 A process of applying the cryptocurrency deposited in the smart contract 210 on the network 200 to the internal wallet of the user created on the internal blockchain network 130 is performed (810).
한편 상기 내부 블록체인 네트워크(130) 상에 생성된 사용자의 내부지갑을 통해 거래소 기반 암호화폐 거래를 제공하는 경우, 상기 운영서버(100)는 상기 내부 블록체인 네트워크(130) 상에 생성된 사용자의 내부지갑을 이용하여 거래소 기반 암호화폐 거래를 운영하기 위한 암호화폐 거래 환경을 사용자단말(180)로 제공한다(815).On the other hand, when providing an exchange-based cryptocurrency transaction through an internal wallet of a user created on the internal blockchain network 130, the operation server 100 may determine the user of the user created on the internal blockchain network 130. In operation 815, an internal wallet provides a cryptocurrency trading environment for operating an exchange-based cryptocurrency transaction to the user terminal 180.
상기 사용자단말(180)은 상기 내부 블록체인 네트워크(130) 상에 생성된 사용자의 내부지갑을 통해 거래소 기반 암호화폐 거래를 제공하기 위한 암호화폐 거래 환경을 출력하고(820), 상기 출력된 암호화폐 거래 환경을 근거로 상기 내부 블록체인 네트워크(130) 상의 사용자 내부지갑을 이용한 거래소 기반 암호화폐 거래를 요청하며(825), 상기 운영서버(100)는 상기 내부 블록체인 네트워크(130)를 통해 상기 사용자의 내부지갑을 이용하여 상기 암호화폐 거래 환경을 통해 요청받은 탈중앙화 방식의 거래소 기반 암호화폐 거래를 처리하는 절차를 수행한다(830). The user terminal 180 outputs a cryptocurrency trading environment for providing an exchange-based cryptocurrency transaction through a user's internal wallet created on the internal blockchain network 130 (820), and outputs the cryptocurrency. Based on the trading environment, the user requests an exchange-based cryptocurrency transaction using the user's internal wallet on the internal blockchain network 130 (825), and the operation server 100 transmits the user through the internal blockchain network 130. In step 830, a process of processing a decentralized exchange-based cryptocurrency transaction requested through the cryptocurrency trading environment is performed using an internal wallet.
만약 상기 내부 블록체인 네트워크(130)를 통해 상기 사용자의 내부지갑에 적용된 암호화폐를 이용한 탈중앙화 방식의 거래소 기반 암호화폐 거래가 처리되면, 상기 운영서버(100)는 상기 내부 블록체인 네트워크(130)를 통해 처리된 거래소 기반 암호화폐 거래의 거래내역을 지정된 데이터베이스에 동기화하여 저장한다(820).If a decentralized exchange-based cryptocurrency transaction using a cryptocurrency applied to the internal wallet of the user is processed through the internal blockchain network 130, the operation server 100 connects the internal blockchain network 130. The transaction history of the exchange-based cryptocurrency transaction processed through the synchronization is stored in a specified database (820).
도면9는 본 발명의 실시 방법에 따라 스마트 컨트랙트(210)에 예치된 암호화폐를 인출하기 위한 정보를 구성하는 과정을 도시한 도면이다.FIG. 9 is a diagram illustrating a process of configuring information for withdrawing a cryptocurrency deposited in a smart contract 210 according to an embodiment of the present invention.
보다 상세하게 본 도면9는 지정된 내부 블록체인 네트워크(130)를 통한 암호화폐 거래 결과의 적어도 일부에 대응하는 암호화폐를 외부 블록체인 네트워크(200) 상의 사용자 전자지갑으로 인출으로 인출 시 암호화폐 인출을 위한 본인 인증 절차를 수행하여 인증된 사용자의 전자지갑 주소와 상기 인출될 암호화폐 단위 및 상기 인증된 사용자의 개인키를 통해 생성된 인증정보를 확인하는 일 실시예를 도시한 도면으로서, 본 발명이 속한 기술분야에서 통상의 지식을 가진 자라면, 본 도면9를 참조 및/또는 변형하여 상기 과정에 대한 다양한 실시 방법(예컨대, 일부 단계가 생략되거나, 또는 순서가 변경된 실시 방법)을 유추할 수 있을 것이나, 본 발명은 상기 유추되는 모든 실시 방법을 포함하여 이루어지며, 본 도면9에 도시된 실시 방법만으로 그 기술적 특징이 한정되지 아니한다.In more detail, FIG. 9 illustrates the withdrawal of cryptocurrency when withdrawing a cryptocurrency corresponding to at least a portion of a cryptocurrency transaction result through a designated internal blockchain network 130 to a user electronic wallet on an external blockchain network 200. According to an embodiment of the present invention, an electronic wallet address of an authenticated user and an authentication information generated through the cryptocurrency unit to be withdrawn and the private key of the authenticated user are verified by performing an authentication procedure for the user. Those skilled in the art may refer to and / or modify this drawing 9 to infer various implementation methods (e.g., implementation steps in which some steps are omitted or reordered). However, the present invention includes all the implementation methods inferred from the above, and only the implementation method shown in FIG. Features are not limited.
도면9를 참조하면, 사용자단말(180)은 외부 블록체인 네트워크(200) 상의 스마트 컨트랙트(210)에 예치된 암호화폐 중 상기 도면7 또는 도면8의 과정을 통해 수행된 내부 블록체인 네트워크(130)를 이용한 암호화폐 거래 결과의 적어도 일부에 대응하는 암호화폐를 외부 블록체인 네트워크(200) 상의 사용자 전자지갑으로 인출 요청하며(900), 운영서버(100)는 상기 외부 블록체인 네트워크(200) 상의 스마트 컨트랙트(210)에 예치된 암호화폐의 인출 요청을 확인하고(905), 기 등록된 사용자정보를 근거로 상기 사용자에 대하여 암호화폐 인출을 위해 지정된 본인 인증 절차를 수행한다(910). 만약 상기 사용자의 본인 인증을 실패한 경우, 상기 운영서버(100)는 상기 사용자단말(180)을 통해 사용자의 본인 인증 오류를 출력한다(915). Referring to FIG. 9, the user terminal 180 is an internal blockchain network 130 performed through the process of FIG. 7 or FIG. 8 among cryptocurrencies deposited in the smart contract 210 on the external blockchain network 200. Request the withdrawal of the cryptocurrency corresponding to at least a portion of the cryptocurrency transaction result to the user electronic wallet on the external blockchain network 200 (900), the operation server 100 is smart on the external blockchain network 200 The withdrawal request of the cryptocurrency deposited in the contract 210 is checked (905), and the user performs a designated authentication procedure for withdrawing the cryptocurrency for the user based on the registered user information (910). If the user authentication fails, the operation server 100 outputs a user authentication error of the user through the user terminal 180 (915).
한편 상기 사용자의 본인 인증을 성공한 경우, 상기 운영서버(100)는 상기 사용자의 본인 인증 결과를 상기 사용자 단말로 제공하며(920), 상기 사용자단말(180)은 상기 사용자의 본인 인증 결과를 확인하고(925), 지정된 암호화폐 인출 위한 사용자의 전자지갑 주소를 확인하거나 입력받고, 상기 사용자의 전자지갑으로 인출될 암호화폐 단위를 입력받으며(930), 상기 운영서버(100)와 상기 스마트 컨트랙트(210) 사이에 합의되거나 동기화되는 데이터를 확인한다(935). 한편 실시 방법에 따라 상기 운영서버(100)는 상기 스마트 컨트랙트(210) 사이에 합의되거나 동기화되는 데이터를 확인하여 상기 사용자단말(180)로 제공할 수 있다(935). 한편 본 발명의 다른 실시 방법에 따르면, 상기 운영서버(100)와 스마트 컨트랙트(210) 사이에 합의되거나 동기화되는 데이터는 상기 운영서버(100)를 통해 암호화될 수 있으며, 이에 의해 본 발명이 한정되지 아니한다.On the other hand, if the user authentication of the user is successful, the operation server 100 provides the user authentication result of the user to the user terminal (920), the user terminal 180 checks the user authentication result of the user and 925, confirm or receive the user's electronic wallet address for the designated cryptocurrency withdrawal, receives the cryptocurrency unit to be withdrawn to the user's electronic wallet (930), the operation server 100 and the smart contract 210 Check the data that is agreed or synchronized between Meanwhile, according to an implementation method, the operation server 100 may check the data agreed or synchronized between the smart contracts 210 and provide them to the user terminal 180 (935). Meanwhile, according to another exemplary embodiment of the present invention, data agreed or synchronized between the operation server 100 and the smart contract 210 may be encrypted through the operation server 100, whereby the present invention is not limited thereto. No.
만약 상기 운영서버(100)와 스마트 컨트랙트(210) 사이에 합의되거나 동기화되는 데이터가 확인되면, 상기 사용자단말(180)은 본인 인증된 사용자의 개인키를 이용하여 상기 운영서버(100)와 스마트 컨트랙트(210) 사이에 합의되거나 동기화되는 데이터를 기 설정된 암호 방식으로 암호화하여 인증정보를 생성하며(940), 상기 암호화폐의 인출을 위한 사용자의 전자지갑 주소와 상기 인출될 암호화폐 단위 및 상기 사용자의 개인키를 통해 생성된 인증정보를 상기 운영서버(100)로 제공하며(945), 상기 운영서버(100)는 상기 암호화폐의 인출을 위한 사용자의 전자지갑 주소와 암호화폐 단위 및 상기 사용자의 개인키를 통해 생성된 인증정보를 확인한다(950). 한편 본 발명의 다른 실시 방법에 따르면, 상기 운영서버(100)는 상기 사용자의 개인키를 통해 상기 운영서버(100)와 스마트 컨트랙트(210) 사이에 합의되거나 동기화되는 데이터를 암호화하여 인증정보를 생성할 수 있으며, 이에 의해 본 발명이 한정되지 아니한다.If the data that is agreed or synchronized between the operation server 100 and the smart contract 210 is confirmed, the user terminal 180 uses the private key of the user authenticated by the administration server 100 and the smart contract. (210) generates authentication information by encrypting data synchronized or synchronized between each other by a predetermined encryption method (940), and a user's electronic wallet address for the withdrawal of the cryptocurrency, the cryptocurrency unit to be withdrawn and the user's Provide the authentication information generated through the private key to the operation server 100 (945), the operation server 100 is the user's electronic wallet address and cryptocurrency unit for the withdrawal of the cryptocurrency and the user's personal The authentication information generated through the key is checked (950). Meanwhile, according to another exemplary embodiment of the present invention, the operation server 100 generates authentication information by encrypting data synchronized or synchronized between the operation server 100 and the smart contract 210 through the user's private key. In this regard, the present invention is not limited thereto.
도면10은 본 발명의 실시 방법에 따라 스마트 컨트랙트(210)에 예치된 암호화폐를 인출하는 과정을 도시한 도면이다.10 is a diagram illustrating a process of withdrawing a cryptocurrency deposited in the smart contract 210 according to the embodiment of the present invention.
보다 상세하게 본 도면10은 상기 도면9의 과정을 통해 확인된 사용자의 전자지갑 주소와 암호화폐 단위 및 상기 인증정보를 기 설정된 스마트 컨트랙트 동작 절차에 따라 지정된 외부 블록체인 네트워크(200) 상의 스마트 컨트랙트(210)로 제공하여 상기 스마트 컨트랙트(210)에 예치된 암호화폐를 인출하는 일 실시예를 도시한 도면으로서, 본 발명이 속한 기술분야에서 통상의 지식을 가진 자라면, 본 도면10을 참조 및/또는 변형하여 상기 과정에 대한 다양한 실시 방법(예컨대, 일부 단계가 생략되거나, 또는 순서가 변경된 실시 방법)을 유추할 수 있을 것이나, 본 발명은 상기 유추되는 모든 실시 방법을 포함하여 이루어지며, 본 도면10에 도시된 실시 방법만으로 그 기술적 특징이 한정되지 아니한다.In more detail, FIG. 10 illustrates a smart contract on an external blockchain network 200 in which a user's electronic wallet address, a cryptocurrency unit, and the authentication information identified through the process of FIG. 210 is a diagram showing an embodiment of withdrawing the cryptocurrency deposited in the smart contract 210, if one of ordinary skill in the art to which the present invention pertains, refer to this figure and / Or may be modified to infer various implementation methods (e.g., implementation steps in which some steps have been omitted or changed order), but the present invention includes all the implementation methods inferred, The technical features are not limited only to the implementation method shown in FIG.
도면10을 참조하면, 운영서버(100)는 상기 도면9의 과정을 통해 스마트 컨트랙트(210)에 예치된 암호화폐를 인출받을 사용자의 전자지갑 주소와 상기 인출될 암호화폐 단위 및 사용자의 개인키를 통해 생성된 인증정보를 포함하는 인출정보를 기 설정된 스마트 컨트랙트 동작 절차에 따라 외부 블록체인 네트워크(200) 상의 스마트 컨트랙트(210)로 전달하는 절차를 수행한다(1000). 바람직하게, 상기 스마트 컨트랙트 동작 절차는 상기 운영서버(100)가 지정된 특정 노드장치(205)(예컨대, 상기 외부 블록체인 네트워크(200) 상의 노드장치(205) 중 상기 운영서버(100)와 연동하는 노드장치(205), 또는 상기 외부 블록체인 네트워크(200) 상의 노드장치(205) 중 상기 운영서버(100)가 상기 메시지의 방송을 위한 개인키를 관리하는 노드장치(205))의 개인키를 이용하여 상기 스마트 컨트랙트(210)의 동작을 위한 지정된 구조의 메시지를 상기 외부 블록체인 네트워크(200) 상의 각 노드장치(205)로 방송하는 절차 내지 상기 외부 블록체인 네트워크(200) 상의 각 노드장치(205)의 스마트 컨트랙트(210)가 상기 메시지를 수신하여 판독하는 절차를 포함할 수 있다.Referring to FIG. 10, the operation server 100 stores the electronic wallet address of the user who will withdraw the cryptocurrency deposited in the smart contract 210, the cryptocurrency unit to be withdrawn and the user's private key through the process of FIG. 9. The drawing information including the authentication information generated through the procedure is transferred to the smart contract 210 on the external blockchain network 200 according to a preset smart contract operation procedure (1000). Preferably, the smart contract operation procedure may be performed by the operation server 100 interworking with the operation server 100 of a specific node device 205 (for example, the node device 205 on the external blockchain network 200). The private key of the node device 205 or the node device 205 of the node device 205 on the external blockchain network 200 manages the private key for broadcasting the message. A procedure of broadcasting a message having a designated structure for the operation of the smart contract 210 to each node device 205 on the external blockchain network 200 to each node device on the external blockchain network 200 ( The smart contract 210 of 205 may include a procedure for receiving and reading the message.
상기 외부 블록체인 네트워크(200) 상의 스마트 컨트랙트(210)는 기 설정된 스마트 컨트랙트 동작 절차를 통해 상기 스마트 컨트랙트(210)로 제공된 상기 인출정보를 확인하고(1005), 상기 스마트 컨트랙트(210)의 지정된 저장영역에 상기 인출정보의 전자지갑 주소가 저장되어 있는지 확인하거나 및/또는 상기 인출정보의 전자지갑 주소에 대응하거나 연계된 사용자의 공개키를 확인한다(1010). 만약 지정된 저장영역에 상기 인출정보의 전자지갑 주소가 저장되어 있지 않거나 상기 사용자의 공개키가 확인되지 않는 경우, 상기 스마트 컨트랙트(210)는 동작을 중지할 수 있다(1015).The smart contract 210 on the external blockchain network 200 confirms the withdrawal information provided to the smart contract 210 through a predetermined smart contract operation procedure (1005), and stores the designated smart contract 210 in a designated storage. The electronic wallet address of the withdrawal information is stored in the area and / or the public key of the user corresponding to or associated with the electronic wallet address of the withdrawal information is checked (1010). If the electronic wallet address of the withdrawal information is not stored in the designated storage area or if the public key of the user is not confirmed, the smart contract 210 may stop the operation (1015).
한편 지정된 저장영역에 상기 인출정보의 전자지갑 주소가 저장되어 있지 않거나 상기 사용자의 공개키가 확인된 경우, 상기 스마트 컨트랙트(210)는 상기 사용자의 공개키를 통해 상기 인출정보에 포함된 인증정보의 유효성을 인증한다(1020). 만약 상기 인증정보의 유효성이 인증되지 않으면, 상기 스마트 컨트랙트(210)는 동작을 중지할 수 있다(1015).On the other hand, if the electronic wallet address of the withdrawal information is not stored in the designated storage area or if the public key of the user is confirmed, the smart contract 210 stores the authentication information included in the withdrawal information through the public key of the user. Validate 1020. If the validity of the authentication information is not authenticated, the smart contract 210 may stop the operation (1015).
한편 상기 인증정보의 유효성이 인증되면, 상기 스마트 컨트랙트(210)는 상기 인출정보에 포함된 사용자의 전자지갑 주소로 상기 인출정보에 포함된 암호화폐 단위를 인출하는 절차를 수행하며(1025), 상기 암호화폐의 인출 시 상기 암호화폐를 인출받은 사용자의 전자지갑 주소와 상기 인출된 암호화폐 단위를 포함하는 암호화폐 인출정보를 지정된 저장영역에 저장한다(1030).On the other hand, if the validity of the authentication information is authenticated, the smart contract 210 performs a procedure for withdrawing the cryptocurrency unit included in the withdrawal information to the electronic wallet address of the user included in the withdrawal information (1025) When the cryptocurrency is withdrawn, the cryptocurrency withdrawal information including the electronic wallet address of the user who received the cryptocurrency and the withdrawn cryptocurrency unit is stored in a designated storage area (1030).
한편 상기 운영서버(100)는 상기 외부 블록체인 네트워크(200) 상의 노드장치(205)를 참조하여 상기 스마트 컨트랙트(210)를 통해 상기 인출정보에 포함된 사용자의 전자지갑 주소로 상기 암호화폐 단위를 인출한 암호화폐 인출정보를 확인한다(1035). 만약 상기 암호화폐 인출정보가 확인되면, 상기 운영서버(100)는 상기 확인된 암호화폐 인출정보를 근거로 지정된 사용자의 전자지갑으로 지정된 암호화폐 단위를 인출한 거래정보를 지정된 데이터베이스에 동기화하여 저장한다(1040). On the other hand, the operation server 100 refers to the node device 205 on the external blockchain network 200 to convert the cryptocurrency unit to the electronic wallet address of the user included in the withdrawal information through the smart contract 210. Check the withdrawn cryptocurrency withdrawal information (1035). If the cryptocurrency withdrawal information is confirmed, the operation server 100 synchronizes and stores the transaction information withdrawing the cryptocurrency unit designated by the designated user's electronic wallet based on the identified cryptocurrency withdrawal information in a designated database. (1040).
한편 상기 암호화폐 인출정보가 확인되지 않으면, 상기 운영서버(100)는 외부 블록체인 네트워크(200) 상의 노드장치(205)를 참조하여 상기 인출정보의 암호화폐를 인출할 스마트 컨트랙트(210)의 중지를 확인할 수 있다(1045). 만약 상기 스마트 컨트랙트(210)가 중지된 경우, 상기 운영서버(100)는 상기 암호화폐의 인출에 대한 오류정보를 생성하여 상기 사용자단말(180)로 제공하며(1050), 상기 사용자단말(180)은 상기 암호화폐의 인출에 대한 오류정보를 수신하여 출력할 수 있다(1055).On the other hand, if the cryptocurrency withdrawal information is not confirmed, the operation server 100 refers to the node device 205 on the external blockchain network 200 to stop the smart contract 210 to withdraw the cryptocurrency of the withdrawal information. It can be confirmed (1045). If the smart contract 210 is stopped, the operation server 100 generates error information for the withdrawal of the cryptocurrency and provides it to the user terminal 180 (1050), the user terminal 180 May receive and output the error information about the withdrawal of the cryptocurrency (1055).
100 : 운영서버
105 : 블록체인 연동부
110 : 컨트랙트 등록부
115 : 공개키 처리부
120 : 사용자 인증부
125 : 내부체인 운영부
130 : 내부 블록체인 네트워크
135 : 체인 연동부
140 : 거래 절차부
145 : 인출요청 확인부
150 : 인증정보 확인부
155 : 인출 절차부
160 : 인출결과 확인부
165 : 인출 관리부
200 : 외부 블록체인 네트워크
205 : 노드장치
210 : 스마트 컨트랙트
215 : 예치 기능부
220 : 저장 기능부
225 : 확인 기능부
230 : 인증 기능부
235 : 인출 기능부100: operation server 105: blockchain interworking unit
110: contract registration unit 115: public key processing unit
120: user authentication unit 125: internal chain operation unit
130: internal blockchain network 135: chain linkage
140: transaction procedure unit 145: withdrawal request confirmation unit
150: authentication information verification unit 155: withdrawal procedure unit
160: withdrawal result confirmation unit 165: withdrawal management unit
200: external blockchain network 205: node device
210: smart contract 215: with deposit function
220: storage function unit 225: confirmation function unit
230: authentication function unit 235: withdrawal function unit
Claims (51)
지정된 외부 블록체인 네트워크 상에 유효 생성된 하나 이상의 전자지갑으로부터 지정된 암호화폐 단위를 스마트 컨트랙트로 예치받는 예치 기능부와, 지정된 암호화폐를 예치한 사용자의 공개키를 확인하여 지정된 저장영역에 저장하는 저장 기능부와, 스마트 컨트랙트에 예치된 암호화폐를 인출받을 사용자의 전자지갑 주소와 상기 인출될 암호화폐 단위 및 사용자의 개인키를 통해 생성된 인증정보를 포함하는 인출정보를 확인하는 확인 기능부와, 상기 사용자의 공개키를 이용하여 상기 인증정보의 유효성을 인증하는 인증 절차를 포함하는 하나 이상의 지정된 인증 절차를 수행하는 인증 기능부와, 상기 지정된 인증 절차의 인증 성공 시 상기 사용자의 전자지갑 주소로 상기 암호화폐 단위를 인출하는 인출 기능부를 구현하는 프로그램 코드를 포함하는 스마트 컨트랙트(Smart Contract)를 상기 외부 블록체인 네트워크 상에 구비된 M(M≥2)개의 노드장치에 등록하는 절차를 수행하는 제1 단계;
상기 외부 블록체인 네트워크 상의 스마트 컨트랙트에 사용자의 공개키를 기록하는 절차와 상기 스마트 컨트랙트에 기록된 사용자의 공개키를 확인하는 절차 중 적어도 하나를 수행하는 제2 단계;
상기 외부 블록체인 네트워크와 구별되는 별도의 지정된 내부 블록체인 네트워크를 통해 상기 스마트 컨트랙트에 예치된 암호화폐에 근거하는 지정된 암호화폐 거래를 처리하는 절차를 수행하는 제3 단계;
상기 외부 블록체인 네트워크 상의 스마트 컨트랙트에 예치된 암호화폐 중 상기 내부 블록체인 네트워크를 통한 암호화폐 거래 결과의 적어도 일부에 대응하는 암호화폐를 상기 외부 블록체인 네트워크 상에 유효 생성된 사용자의 전자지갑으로 인출 시, 암호화폐 인출을 위한 본인 인증 절차를 수행하여 인증된 사용자의 전자지갑 주소와 상기 인출될 암호화폐 단위 및 상기 인증된 사용자의 개인키를 통해 생성된 인증정보를 확인하는 제4 단계; 및
기 설정된 스마트 컨트랙트 동작 절차에 따라 상기 암호화폐를 인출받을 사용자의 전자지갑 주소와 상기 인출될 암호화폐 단위 및 상기 생성된 인증정보를 포함하는 인출정보를 상기 외부 블록체인 네트워크 상의 스마트 컨트랙트로 전달하기 위한 절차를 수행하는 제5 단계;를 포함하는 블록체인 기반 스마트 컨트랙트를 이용한 암호화폐 거래 플랫폼 제공 방법.
In a method that is executed through an operation server that can interoperate with B (B≥1) external blockchain networks that support smart contracts,
A storage function that checks the deposit function unit for depositing a designated cryptocurrency unit as a smart contract from one or more electronic wallets effectively created on the designated external blockchain network, and stores the public key of the user who deposited the designated cryptocurrency in a designated storage area. A function unit, a confirmation function unit for checking the withdrawal information including the electronic wallet address of the user who is to withdraw the cryptocurrency deposited in the smart contract, the cryptographic unit to be withdrawn and the authentication information generated through the user's private key, An authentication function unit for performing one or more designated authentication procedures including an authentication procedure for authenticating the validity of the authentication information by using the public key of the user; and upon successful authentication of the specified authentication procedure, the electronic wallet address of the user. Program code that implements a withdrawal function to withdraw cryptocurrency units A first step of performing a smart also contract registration process of the M (M≥2) of the node device is provided on the external network, a chain block (Smart Contract) for;
Performing at least one of a procedure of recording a user's public key in a smart contract on the external blockchain network and a procedure of verifying a user's public key recorded in the smart contract;
Performing a procedure of processing a designated cryptocurrency transaction based on a cryptocurrency deposited in the smart contract via a separate designated internal blockchain network distinct from the external blockchain network;
Withdraw the cryptocurrency corresponding to at least a portion of the cryptocurrency transaction result through the internal blockchain network among the cryptocurrencies deposited in the smart contract on the external blockchain network to the electronic wallet of the user effectively created on the external blockchain network. A fourth step of verifying the electronic wallet address of the authenticated user, the cryptocurrency unit to be withdrawn, and the authentication information generated through the private key of the authenticated user by performing an identity authentication procedure for withdrawing a cryptocurrency; And
According to a pre-configured smart contract operation procedure, the electronic wallet address of the user who is to withdraw the cryptocurrency, the withdrawal information including the cryptocurrency unit to be withdrawn and the generated authentication information, is transferred to the smart contract on the external blockchain network. A method of providing a cryptocurrency trading platform using a blockchain-based smart contract, comprising: a fifth step of performing a procedure.
상기 사용자의 전자지갑 생성 과정을 통해 생성된 공개키와 개인키의 키 쌍 중 상기 공개키를 포함하여 이루어지는 것을 특징으로 하는 블록체인 기반 스마트 컨트랙트를 이용한 암호화폐 거래 플랫폼 제공 방법.
The method of claim 1, wherein the public key of the user,
Method of providing a cryptocurrency trading platform using a blockchain-based smart contract, characterized in that comprises the public key of the key pair of the public key and the private key generated by the user's electronic wallet generation process.
상기 사용자의 전자지갑 주소로 이용되는 것을 특징으로 하는 블록체인 기반 스마트 컨트랙트를 이용한 암호화폐 거래 플랫폼 제공 방법.
The public key of claim 2, wherein the public key of the user comprises:
Method of providing a cryptocurrency trading platform using a blockchain-based smart contract, characterized in that used as the user's electronic wallet address.
사용자단말을 통해 사용자의 전자지갑에 보유된 지정된 암호화폐 단위가 상기 외부 블록체인 네트워크 상의 스마트 컨트랙트에 예치된 경우,
상기 저장 기능부는, 상기 스마트 컨트랙트에 상기 암호화폐를 예치한 사용자의 전자지갑 주소와 상기 예치된 암호화폐 단위를 포함하는 암호화폐 예치정보를 지정된 저장영역에 저장하는 기능을 포함하며,
상기 제2 단계는,
상기 스마트 컨트랙트의 지정된 저장영역을 참조하여 상기 스마트 컨트랙트에 상기 암호화폐를 예치한 사용자의 전자지갑 주소와 상기 예치된 암호화폐 단위를 포함하는 암호화폐 예치정보를 확인하는 단계; 및
상기 스마트 컨트랙트에 상기 암호화폐를 예치한 사용자의 전자지갑 주소와 상기 예치된 암호화폐 단위를 포함하는 암호화폐 예치정보를 지정된 데이터베이스에 저장하는 단계;를 포함하여 이루어지는 것을 특징으로 하는 블록체인 기반 스마트 컨트랙트를 이용한 암호화폐 거래 플랫폼 제공 방법.
The method of claim 2,
If the designated cryptocurrency unit held in the user's electronic wallet through the user terminal is deposited in the smart contract on the external blockchain network,
The storage function unit includes a function of storing the cryptocurrency deposit information including the electronic wallet address of the user who deposited the cryptocurrency in the smart contract and the deposited cryptocurrency unit in a designated storage area,
The second step,
Identifying cryptocurrency deposit information including the electronic wallet address of the user who deposited the cryptocurrency in the smart contract and the deposited cryptocurrency unit by referring to a designated storage area of the smart contract; And
And storing the cryptocurrency deposit information including the electronic wallet address of the user who deposited the cryptocurrency in the smart contract and the deposited cryptocurrency unit in a designated database. Cryptocurrency trading platform providing method.
스마트 컨트랙트의 상태를 저장하는 저장영역, 또는
상기 암호화폐의 예치와 관련된 정보를 저장하기 위해 설정된 저장영역을 포함하여 이루어지는 것을 특징으로 하는 블록체인 기반 스마트 컨트랙트를 이용한 암호화폐 거래 플랫폼 제공 방법.
The method of claim 4, wherein the designated storage area,
Storage to store the state of the smart contract, or
Method for providing a cryptocurrency trading platform using a blockchain-based smart contract, characterized in that it comprises a storage area set for storing information related to the deposit of the cryptocurrency.
암호화폐의 거래를 저장하는 저장영역을 포함하여 이루어지는 것을 특징으로 하는 블록체인 기반 스마트 컨트랙트를 이용한 암호화폐 거래 플랫폼 제공 방법.
The method of claim 4, wherein the designated storage area,
Method for providing a cryptocurrency trading platform using a blockchain-based smart contract, characterized in that it comprises a storage area for storing transactions of cryptocurrency.
상기 사용자의 전자지갑 생성과 무관하게 별도 생성된 공개키와 개인키의 키 쌍 중 상기 공개키를 포함하여 이루어지는 것을 특징으로 하는 블록체인 기반 스마트 컨트랙트를 이용한 암호화폐 거래 플랫폼 제공 방법.
The method of claim 1, wherein the public key of the user,
A method for providing a cryptocurrency trading platform using a blockchain-based smart contract, characterized in that the public key is included among a pair of public and private keys generated independently of the user's electronic wallet creation.
지정된 암호화폐를 예치한 사용자의 전자지갑 주소와 연계되어 지정된 저장영역에 저장되는 것을 특징으로 하는 블록체인 기반 스마트 컨트랙트를 이용한 암호화폐 거래 플랫폼 제공 방법.
The method of claim 7, wherein the public key of the user,
A method for providing a cryptocurrency trading platform using a blockchain-based smart contract, which is stored in a designated storage area in association with an electronic wallet address of a user who deposits a designated cryptocurrency.
상기 사용자의 공개키와 사용자의 전자지갑 주소를 연계하여 지정된 저장영역에 저장함에 의해 상기 사용자의 전자지갑과 연계되는 것을 특징으로 하는 블록체인 기반 스마트 컨트랙트를 이용한 암호화폐 거래 플랫폼 제공 방법.
The method of claim 7, wherein the user's private key,
Method of providing a cryptocurrency trading platform using a blockchain-based smart contract, characterized in that associated with the user's electronic wallet by storing the user's public key and the user's electronic wallet address in a designated storage area.
사용자단말을 통해 접속한 사용자에 대하여 지정된 본인 인증 절차를 수행하는 단계; 및
사용자단말을 통해 사용자의 전자지갑에 보유된 지정된 암호화폐 단위가 상기 외부 블록체인 네트워크 상의 스마트 컨트랙트에 예치된 경우, 상기 별도 생성된 사용자의 공개키를 확인하고 기 설정된 스마트 컨트랙트 동작 절차에 따라 상기 사용자의 공개키와 사용자의 전자지갑 주소를 상기 외부 블록체인 네트워크 상의 스마트 컨트랙트로 제공하는 절차를 수행하는 단계;를 포함하고,
상기 저장 기능부는, 사용자의 전자지갑에 보유된 지정된 암호화폐 단위가 예치된 경우 상기 스마트 컨트랙트에 상기 암호화폐를 예치한 사용자의 전자지갑 주소와 상기 예치된 암호화폐 단위를 포함하는 암호화폐 예치정보를 지정된 저장영역에 저장하는 기능과, 기 설정된 스마트 컨트랙트 동작 절차를 통해 상기 스마트 컨트랙트로 제공된 사용자의 공개키와 사용자의 전자지갑 주소를 확인하고 지정된 저장영역에 상기 사용자의 공개키와 사용자의 전자지갑 주소를 연계 저장하는 기능을 포함하여 이루어지는 것을 특징으로 하는 블록체인 기반 스마트 컨트랙트를 이용한 암호화폐 거래 플랫폼 제공 방법.
The method of claim 7, wherein the second step,
Performing a designated identity authentication procedure for a user connected through a user terminal; And
When the designated cryptocurrency unit held in the user's electronic wallet through the user terminal is deposited in the smart contract on the external blockchain network, the public key of the separately generated user is checked and the user according to a preset smart contract operation procedure. And performing the procedure of providing the public key of the user and the electronic wallet address of the user to the smart contract on the external blockchain network.
The storage function, when the designated cryptocurrency unit held in the user's electronic wallet is deposited, the electronic wallet address of the user who deposited the cryptocurrency in the smart contract and the cryptocurrency deposit information including the deposited cryptocurrency unit. Checking the user's public key and the user's electronic wallet address provided to the smart contract through the function of storing in the designated storage area and a predetermined smart contract operation procedure, and the user's public key and the user's electronic wallet address in the designated storage area. Method of providing a cryptocurrency trading platform using a blockchain-based smart contract, characterized in that it comprises a function of linking and storing.
상기 인증된 사용자의 암호화폐 거래를 위해 사용자의 전자지갑으로부터 상기 스마트 컨트랙트로 예치되는 암호화폐 단위, 또는
상기 스마트 컨트랙트를 통해 상기 사용자의 전자지갑 주소를 저장 관리하기 위해 지정된 절차에 따라 상기 인증된 사용자의 전자지갑으로 지급된 후 상기 사용자의 전자지갑으로부터 상기 스마트 컨트랙트로 예치되는 암호화폐 단위를 포함하여 이루어지는 것을 특징으로 하는 블록체인 기반 스마트 컨트랙트를 이용한 암호화폐 거래 플랫폼 제공 방법.
The method of claim 4 or 10, wherein the deposited crypto currency unit,
Cryptocurrency unit deposited from the user's electronic wallet to the smart contract for cryptographic transaction of the authenticated user, or
And a cryptocurrency unit which is paid to the electronic wallet of the authenticated user and deposited from the electronic wallet of the user to the smart contract according to a specified procedure for storing and managing the electronic wallet address of the user through the smart contract. Method for providing a cryptocurrency trading platform using a blockchain-based smart contract, characterized in that.
지정된 외부 블록체인 네트워크를 통해 발행되는 암호코인 형태의 암호화폐,
지정된 암호코인을 발행하는 지정된 외부 블록체인 네트워크를 기반으로 구현되는 암호토큰 형태의 암호화폐 중 적어도 하나를 포함하여 이루어지는 것을 특징으로 하는 블록체인 기반 스마트 컨트랙트를 이용한 암호화폐 거래 플랫폼 제공 방법.
The method of claim 1, wherein the cryptocurrency,
Cryptocurrency type cryptocurrency issued through a designated external blockchain network,
A method for providing a cryptocurrency trading platform using a blockchain-based smart contract, characterized in that it comprises at least one of cryptocurrency in the form of a crypto token based on a designated external blockchain network that issues a designated cryptocoin.
상기 스마트 컨트랙트의 지정된 저장영역에 저장된 사용자의 공개키에 대응하는 사용자를 상기 스마트 컨트랙트에 예치된 암호화폐를 인출 가능한 사용자로 설정하여 저장하는 단계를 더 포함하여 이루어지는 것을 특징으로 하는 블록체인 기반 스마트 컨트랙트를 이용한 암호화폐 거래 플랫폼 제공 방법.
The method of claim 1, wherein the second step,
And setting and storing a user corresponding to the public key of the user stored in the designated storage area of the smart contract as a user withdrawable cryptocurrency, which is stored in the smart contract. Cryptocurrency trading platform providing method.
상기 암호화폐를 인출할 사용자가 상기 스마트 컨트랙트의 지정된 저장영역에 본인의 공개키가 저장되어 상기 스마트 컨트랙트에 예치된 암호화폐를 인출 가능한 사용자인지 인증하는 단계를 포함하여 이루어지는 것을 특징으로 하는 블록체인 기반 스마트 컨트랙트를 이용한 암호화폐 거래 플랫폼 제공 방법.
The method of claim 13, wherein the authentication process for withdrawing cryptocurrency,
And authenticating whether the user who wants to withdraw the cryptocurrency is a user who can withdraw the cryptocurrency deposited in the smart contract by storing his or her public key in a designated storage area of the smart contract. Method of providing a cryptocurrency trading platform using smart contract.
상기 외부 블록체인 네트워크 상의 스마트 컨트랙트에 사용자의 공개키를 저장한 경우,
상기 내부 블록체인 네트워크 상에 사용자의 내부지갑을 생성하거나 기 생성된 사용자의 내부지갑 주소를 확인하는 단계; 및
상기 외부 블록체인 네트워크 상의 사용자 전자지갑을 통해 상기 외부 블록체인 네트워크 상의 스마트 컨트랙트에 예치된 암호화폐 단위를 확인하여 상기 내부 블록체인 네트워크 상에 생성된 사용자의 내부지갑에 적용하는 단계;를 더 포함하여 이루어지는 것을 특징으로 하는 블록체인 기반 스마트 컨트랙트를 이용한 암호화폐 거래 플랫폼 제공 방법.
The method of claim 1, wherein the third step,
When the user's public key is stored in the smart contract on the external blockchain network,
Creating an internal wallet of the user on the internal blockchain network or confirming an internal wallet address of the previously created user; And
Identifying a cryptocurrency unit deposited in a smart contract on the external blockchain network through a user electronic wallet on the external blockchain network and applying it to an internal wallet of a user created on the internal blockchain network; Method for providing a cryptocurrency trading platform using a blockchain-based smart contract, characterized in that made.
상기 내부 블록체인 네트워크 상에 생성된 사용자의 내부지갑에 적용된 암호화폐를 다른 사용자의 내부지갑으로 이전하는 암호화폐 거래를 처리하는 단계를 더 포함하여 이루어지는 것을 특징으로 하는 블록체인 기반 스마트 컨트랙트를 이용한 암호화폐 거래 플랫폼 제공 방법.
The method of claim 15, wherein the third step,
Cryptocurrency using a blockchain-based smart contract further comprising the step of processing a cryptocurrency transaction for transferring the cryptocurrency applied to the user's internal wallet created on the internal blockchain network to another user's internal wallet. How to provide a currency trading platform.
사용자단말로 상기 내부 블록체인 네트워크 상에 생성된 사용자의 내부지갑을 이용하여 거래소 기반 암호화폐 거래를 처리하기 위한 암호화폐 거래 환경을 제공하는 단계; 및
사용자단말로부터 상기 암호화폐 거래 환경을 통해 요청되는 거래소 기반 암호화폐 거래를 처리하는 단계;를 더 포함하여 이루어지는 것을 특징으로 하는 블록체인 기반 스마트 컨트랙트를 이용한 암호화폐 거래 플랫폼 제공 방법.
The method of claim 15, wherein the third step,
Providing a cryptocurrency trading environment for processing an exchange-based cryptocurrency transaction using an internal wallet of a user created on the internal blockchain network as a user terminal; And
A method for providing a cryptocurrency trading platform using a blockchain-based smart contract, further comprising: processing an exchange-based cryptocurrency transaction requested through a cryptocurrency trading environment from a user terminal.
상기 내부 블록체인 네트워크를 이용한 암호화폐 거래의 거래내역을 지정된 데이터베이스에 동기화하여 저장하는 단계를 더 포함하여 이루어지는 것을 특징으로 하는 블록체인 기반 스마트 컨트랙트를 이용한 암호화폐 거래 플랫폼 제공 방법.
The method according to claim 15 or 17,
A method of providing a cryptocurrency trading platform using a blockchain-based smart contract, characterized by further comprising the step of synchronizing and storing the transaction details of the cryptocurrency transaction using the internal blockchain network in a designated database.
B개의 외부 블록체인 네트워크를 통해 구현되는 C(C≥B)종의 암호화폐 중에서 지정된 c(1≤c≤C)종의 암호화폐에 대한 동종 간 암호화폐 거래와 이종 간 암호화폐 거래 중 하나 이상의 암호화폐 거래를 탈중앙화 방식 암호화폐 거래로 처리하기 위해 설계된 블록체인 네트워크를 포함하여 이루어지는 것을 특징으로 하는 블록체인 기반 스마트 컨트랙트를 이용한 암호화폐 거래 플랫폼 제공 방법.
According to claim 1, The internal blockchain network,
One or more of the same type of cryptocurrency transactions and the cross-border cryptocurrency transactions for designated c (1≤c≤C) cryptocurrencies among C (C≥B) cryptocurrencies implemented through B external blockchain networks. A method for providing a cryptocurrency trading platform using a blockchain-based smart contract, comprising a blockchain network designed to process cryptocurrency transactions as a decentralized cryptocurrency transaction.
B개의 외부 블록체인 네트워크와 망분리된 형태의 블록체인 네트워크를 포함하여 이루어지는 것을 특징으로 하는 블록체인 기반 스마트 컨트랙트를 이용한 암호화폐 거래 플랫폼 제공 방법.
20. The method of claim 1 or 19, wherein the internal blockchain network,
A method for providing a cryptocurrency trading platform using a blockchain-based smart contract, comprising a blockchain network having a form of a network separated from the B external blockchain network.
상기 내부 블록체인 네트워크를 이용한 암호화폐 거래의 중간 과정을 상기 외부 블록체인 네트워크에 반영하지 않는 것을 특징으로 하는 블록체인 기반 스마트 컨트랙트를 이용한 암호화폐 거래 플랫폼 제공 방법.
The method of claim 19, wherein the decentralized cryptocurrency transaction,
Method of providing a cryptocurrency trading platform using a blockchain-based smart contract, characterized in that the intermediate process of the cryptocurrency transaction using the internal blockchain network is not reflected to the external blockchain network.
상기 외부 블록체인 네트워크 상의 스마트 컨트랙트에 예치된 암호화폐 단위를 사용자의 전자지갑으로 인출하는 과정을 통해서만 상기 인출 과정의 직전까지 상기 내부 블록체인 네트워크를 통해 수행된 암호화폐 거래 결과 중 적어도 일부가 상기 외부 블록체인 네트워크에 반영되는 것을 특징으로 하는 블록체인 기반 스마트 컨트랙트를 이용한 암호화폐 거래 플랫폼 제공 방법.
The method of claim 19, wherein the decentralized cryptocurrency transaction,
At least a part of the result of the cryptocurrency transaction performed through the internal blockchain network until just before the withdrawal process is only through the process of withdrawing the cryptocurrency unit deposited in the smart contract on the external blockchain network to the user's electronic wallet. Method for providing a cryptocurrency trading platform using a blockchain-based smart contract, which is reflected in the blockchain network.
송금 측 사용자의 내부지갑에서 제i(1≤i≤c)의 암호화폐를 인출하여 수취 측 사용자의 내부지갑으로 이전하는 암호화폐 거래를 포함하여 이루어지는 것을 특징으로 하는 블록체인 기반 스마트 컨트랙트를 이용한 암호화폐 거래 플랫폼 제공 방법.
20. The method of claim 19, wherein the cryptocurrency transactions between the same kind,
Cryptocurrency using a blockchain-based smart contract, comprising a cryptocurrency transaction that withdraws the i-th (1≤i≤c) cryptocurrency from the user's internal wallet and transfers it to the internal wallet of the receiving user How to provide a currency trading platform.
상기 송금 측 사용자는, 상기 외부 블록체인 네트워크 상의 스마트 컨트랙트에 제i의 암호화폐를 예치한 사용자를 포함하고,
상기 수취 측 사용자는, 상기 외부 블록체인 네트워크 상의 스마트 컨트랙트에 예치된 제i의 암호화폐를 인출하는 사용자를 포함하여 이루어지는 것을 특징으로 하는 블록체인 기반 스마트 컨트랙트를 이용한 암호화폐 거래 플랫폼 제공 방법.
The method of claim 23, wherein
The user of the remittance side includes a user who deposits the i-th cryptocurrency in a smart contract on the external blockchain network,
The receiving user comprises a user for withdrawing the i-th cryptocurrency deposited in the smart contract on the external blockchain network, the method for providing a cryptocurrency trading platform using a blockchain-based smart contract.
실물화폐와 제i(1≤i≤c)의 암호화폐 간 환율을 기반으로 상기 실물화폐를 이용하여 매도 측 사용자의 내부지갑에서 제i의 암호화폐를 인출하여 매수 측 사용자의 내부지갑으로 이전하는 암호화폐 거래를 포함하여 이루어지는 것을 특징으로 하는 블록체인 기반 스마트 컨트랙트를 이용한 암호화폐 거래 플랫폼 제공 방법.
20. The method of claim 19, wherein the cryptocurrency transactions between the same kind,
Based on the exchange rate between the real currency and the i-currency of i (1≤i≤c), the i-currency is withdrawn from the internal wallet of the selling-side user and transferred to the internal wallet of the buying-side user using the real currency. Method for providing a cryptocurrency trading platform using a blockchain-based smart contract, characterized in that it comprises a cryptocurrency transaction.
기 설정된 기준 암호화폐와 제i(1≤i≤c)의 암호화폐 간 환율을 기반으로 상기 기준 암호화폐를 이용하여 매도 측 사용자의 내부지갑에서 제i의 암호화폐를 인출하여 매수 측 사용자의 내부지갑으로 이전하는 암호화폐 거래를 포함하여 이루어지는 것을 특징으로 하는 블록체인 기반 스마트 컨트랙트를 이용한 암호화폐 거래 플랫폼 제공 방법.
20. The method of claim 19, wherein the cryptocurrency transactions between the same kind,
Based on the exchange rate between the preset reference cryptocurrency and the i-th (1≤i≤c) cryptocurrency, withdrawal of the i-th cryptocurrency from the internal wallet of the selling-side user using the reference cryptocurrency Method for providing a cryptocurrency trading platform using a blockchain-based smart contract, characterized in that it comprises a cryptocurrency transaction to the wallet.
송금 측 사용자의 내부지갑에서 제i(1≤i≤c)의 암호화폐를 인출하고 각 암호화폐 간 환율을 기반으로 상기 제i의 암호화폐를 지정된 제j(1≤j≤c, i≠j)의 암호화폐로 변환하여 수취 측 사용자의 내부지갑으로 이전하는 암호화폐 거래를 포함하여 이루어지는 것을 특징으로 하는 블록체인 기반 스마트 컨트랙트를 이용한 암호화폐 거래 플랫폼 제공 방법.
The method of claim 19, wherein the heterogeneous cryptocurrency transaction,
Withdrawal of the i-th (1≤i≤c) cryptocurrency from the internal wallet of the remitting user and assign the i-th cryptocurrency based on the exchange rate between each cryptocurrency to the specified jth (1≤j≤c, i ≠ j Method of providing a cryptocurrency trading platform using a blockchain-based smart contract, characterized in that it comprises a cryptocurrency transaction that converts into a cryptocurrency to transfer to the internal wallet of the receiving user.
상기 송금 측 사용자는, 상기 외부 블록체인 네트워크 상의 스마트 컨트랙트에 제i의 암호화폐를 예치한 사용자를 포함하고,
상기 수취 측 사용자는, 상기 외부 블록체인 네트워크 상의 스마트 컨트랙트에 예치된 제j의 암호화폐를 인출하는 사용자를 포함하여 이루어지는 것을 특징으로 하는 블록체인 기반 스마트 컨트랙트를 이용한 암호화폐 거래 플랫폼 제공 방법.
The method of claim 27,
The user of the remittance side includes a user who deposits the i-th cryptocurrency in a smart contract on the external blockchain network,
The receiving side user, the method for providing a cryptocurrency trading platform using a blockchain-based smart contract, characterized in that comprises a user withdrawing the j-th cryptocurrency deposited in the smart contract on the external blockchain network.
사용자단말을 통해 접속한 사용자에 대하여 암호화폐의 인출을 위해 지정된 본인 인증 절차를 수행하는 단계; 및
상기 사용자의 본인 인증 시 상기 사용자단말을 통해 상기 암호화폐가 인출될 사용자의 전자지갑 주소와 암호화폐 단위를 수신하거나 확인하고, 상기 본인 인증을 통해 인증된 사용자의 개인키를 통해 생성된 인증정보를 수신하거나 확인하는 단계;를 포함하여 이루어지는 것을 특징으로 하는 블록체인 기반 스마트 컨트랙트를 이용한 암호화폐 거래 플랫폼 제공 방법.
The method of claim 1, wherein the fourth step,
Performing a designated authentication procedure for the withdrawal of cryptocurrency for the user connected through the user terminal; And
Upon authentication of the user, the user terminal receives or confirms the electronic wallet address and the cryptocurrency unit of the user whose cryptocurrency is to be withdrawn through the user terminal, and authenticates the authentication information generated through the private key of the user authenticated through the user authentication. Method of providing a cryptocurrency trading platform using a blockchain-based smart contract, characterized in that it comprises a step of receiving or confirming.
상기 사용자의 개인키를 이용하여 상기 운영서버와 상기 스마트 컨트랙트 사이에 합의되거나 동기화되는 데이터를 기 설정된 암호 방식으로 암호화하여 생성한 인증정보를 포함하여 이루어지는 것을 특징으로 하는 블록체인 기반 스마트 컨트랙트를 이용한 암호화폐 거래 플랫폼 제공 방법.
The method of claim 1 or 29, wherein the authentication information,
Cipher using blockchain based smart contract, characterized in that the authentication information generated by encrypting the data agreed or synchronized between the operation server and the smart contract using a predetermined encryption method using the user's private key. How to provide a currency trading platform.
각 사용자단말을 통해 접속한 적어도 i(i≥1)명의 사용자에 대하여 암호화폐의 인출을 위해 지정된 본인 인증 절차를 수행하는 단계; 및
상기 i명의 사용자의 본인 인증 시 상기 사용자단말을 통해 상기 암호화폐가 인출될 i개의 사용자의 전자지갑 주소와 i개의 암호화폐 단위를 수신하거나 확인하고, 상기 본인 인증을 통해 인증된 i개의 사용자의 개인키를 통해 제각기 생성된 i개의 인증정보를 수신하거나 확인하는 단계;를 포함하여 이루어지는 것을 특징으로 하는 블록체인 기반 스마트 컨트랙트를 이용한 암호화폐 거래 플랫폼 제공 방법.
The method of claim 1, wherein the fourth step,
Performing a designated authentication procedure for the withdrawal of cryptocurrency for at least i (i≥1) users connected through each user terminal; And
Upon authenticating the i users, the i terminal receives or confirms the electronic wallet addresses and i cryptocurrency units of the i users from which the cryptocurrency is to be withdrawn through the user terminal, and the individual of the i users authenticated through the identity authentication. Receiving or verifying each of the i-authentication information generated through the key; providing a cryptocurrency trading platform using a blockchain-based smart contract, characterized in that it comprises a.
i(i≥1)개의 사용자의 개인키를 이용하여 상기 운영서버와 상기 스마트 컨트랙트 사이에 합의되거나 동기화되는 데이터를 기 설정된 암호 방식으로 암호화하여 생성한 i개의 인증정보를 포함하여 이루어지는 것을 특징으로 하는 블록체인 기반 스마트 컨트랙트를 이용한 암호화폐 거래 플랫폼 제공 방법.
The method of claim 1 or 31, wherein the authentication information,
i (i≥1) comprising i authentication information generated by encrypting data agreed or synchronized between the operation server and the smart contract using a predetermined encryption method using private keys of i (i≥1) users. How to provide a cryptocurrency trading platform using blockchain based smart contract.
기 설정된 스마트 컨트랙트 동작 절차에 따라 상기 외부 블록체인 네트워크 상의 기 설정된 특정 노드장치를 통해 상기 외부 블록체인 네트워크 상의 각 노드장치로 상기 인출정보를 포함하는 지정된 구조의 메시지를 방송하도록 처리하는 절차를 수행하는 단계를 포함하여 이루어지는 것을 특징으로 하는 블록체인 기반 스마트 컨트랙트를 이용한 암호화폐 거래 플랫폼 제공 방법.
The method of claim 1, wherein the fifth step is
Performing a process of broadcasting a message having a specified structure including the withdrawal information to each node device on the external blockchain network through a specific node device on the external blockchain network according to a preset smart contract operation procedure; Method for providing a cryptocurrency trading platform using a blockchain-based smart contract, characterized in that it comprises a step.
상기 특정 노드장치의 개인키를 이용하여 상기 스마트 컨트랙트의 동작을 위한 지정된 구조의 메시지를 상기 외부 블록체인 네트워크 상의 각 노드장치로 방송하는 절차를 포함하여 이루어지는 것을 특징으로 하는 블록체인 기반 스마트 컨트랙트를 이용한 암호화폐 거래 플랫폼 제공 방법.
34. The method of claim 33, wherein the smart contract operation procedure,
Using a blockchain-based smart contract, comprising a step of broadcasting a message having a specified structure for the operation of the smart contract to each node device on the external blockchain network using the private key of the specific node device. How to provide a cryptocurrency trading platform.
상기 외부 블록체인 네트워크 상의 노드장치 중 상기 운영서버와 연동하는 노드장치, 또는
상기 외부 블록체인 네트워크 상의 노드장치 중 상기 운영서버가 상기 메시지의 방송을 위한 개인키를 관리하는 노드장치를 포함하여 이루어지는 것을 특징으로 하는 블록체인 기반 스마트 컨트랙트를 이용한 암호화폐 거래 플랫폼 제공 방법.
The method of claim 34, wherein the specific node device,
A node device interoperating with the operation server among the node devices on the external blockchain network, or
Method of providing a cryptocurrency trading platform using a blockchain-based smart contract, characterized in that the operation server among the node devices on the external blockchain network comprises a node device for managing a private key for the broadcast of the message.
상기 인출정보를 파라미터로 포함하여 이루어지는 것을 특징으로 하는 블록체인 기반 스마트 컨트랙트를 이용한 암호화폐 거래 플랫폼 제공 방법.
The method of claim 33, wherein the message,
A method for providing a cryptocurrency trading platform using a blockchain-based smart contract, comprising the withdrawal information as a parameter.
상기 메시지를 다른 노드장치로 방송하는 특정 노드장치의 지정된 주소를 포함하여 이루어지는 것을 특징으로 하는 블록체인 기반 스마트 컨트랙트를 이용한 암호화폐 거래 플랫폼 제공 방법.
The method of claim 33, wherein the message,
A method for providing a cryptocurrency trading platform using a blockchain-based smart contract, comprising a specified address of a specific node device broadcasting the message to another node device.
상기 블록체인 네트워크 상의 노드장치에 등록된 상기 스마트 컨트랙트의 지정된 주소와 상기 스마트 컨트랙트 상의 확인 기능부에 대응하는 함수의 주소 중 적어도 하나의 주소를 포함하여 이루어지는 것을 특징으로 하는 블록체인 기반 스마트 컨트랙트를 이용한 암호화폐 거래 플랫폼 제공 방법.
The method of claim 37, wherein the message,
Using at least one of a specified address of the smart contract registered in the node device on the blockchain network and an address of a function corresponding to the verification function on the smart contract. How to provide a cryptocurrency trading platform.
상기 인출정보는, 암호화폐를 인출하기 위한 i(i≥1)개의 전자지갑 주소와 i개의 암호화폐 단위 및 i개의 인증정보를 포함하며,
상기 인출 기능부는, 지정된 인증 절차의 인증 성공 시 상기 i개의 전자지갑 주소로 제각기 대응하는 i개의 암호화폐 단위를 인출하는 기능을 수행하는 것을 특징으로 하는 블록체인 기반 스마트 컨트랙트를 이용한 암호화폐 거래 플랫폼 제공 방법.
The method of claim 1,
The withdrawal information includes i (i≥1) electronic wallet addresses, i cryptocurrency units and i authentication information for withdrawing cryptocurrency,
The withdrawal function unit provides a cryptocurrency trading platform using a blockchain-based smart contract, which performs a function of withdrawing i corresponding cryptocurrency units to the i wallet addresses upon successful authentication of a specified authentication procedure. Way.
상기 인출정보에 포함된 사용자의 전자지갑 주소가 지정된 저장영역에 저장되어 있는지 인증하는 인증 절차를 수행하는 기능을 더 포함하여 이루어지는 것을 특징으로 하는 블록체인 기반 스마트 컨트랙트를 이용한 암호화폐 거래 플랫폼 제공 방법.
The method of claim 1, wherein the authentication function unit,
A method for providing a cryptocurrency trading platform using a blockchain-based smart contract, further comprising a function of authenticating whether an electronic wallet address of the user included in the withdrawal information is stored in a designated storage area.
지정된 암호화폐를 예치한 사용자의 전자지갑 주소를 저장하는 저장영역,
지정된 암호화폐를 예치한 사용자의 전자지갑 주소에 대응하는 공개키를 저장하는 저장영역,
지정된 암호화폐를 예치한 사용자의 전자지갑 주소와 연계된 사용자의 공개키를 저장하는 저장영역 중 적어도 하나의 저장영역을 포함하여 이루어지는 것을 특징으로 하는 블록체인 기반 스마트 컨트랙트를 이용한 암호화폐 거래 플랫폼 제공 방법.
The method of claim 40, wherein the designated storage area,
A storage area for storing the electronic wallet address of the user who deposited the designated cryptocurrency,
A storage area for storing a public key corresponding to the electronic wallet address of the user who deposited the designated cryptocurrency,
Method for providing a cryptocurrency trading platform using a blockchain-based smart contract, characterized in that it comprises at least one storage area for storing the user's public key associated with the electronic wallet address of the user who deposited the specified cryptocurrency. .
지정된 운영서버와 상기 스마트 컨트랙드 사이에 합의된 문자열이나 바이너리코드를 포함하는 데이터를 상기 사용자의 개인키를 통해 지정된 암호화 방식으로 암호화하여 생성한 인증정보를 포함하여 이루어지는 것을 특징으로 하는 블록체인 기반 스마트 컨트랙트를 이용한 암호화폐 거래 플랫폼 제공 방법.
The method of claim 1, wherein the authentication information,
Blockchain-based, characterized in that it comprises authentication information generated by encrypting the data including the string or binary code agreed between the designated operation server and the smart contract by the designated encryption method through the user's private key. Method of providing a cryptocurrency trading platform using smart contract.
지정된 운영서버와 상기 스마트 컨트랙드 사이에 합의된 복수의 문자열이나 복수의 바이너리코드 중 지정된 인덱스를 통해 상기 운영서버와 스마트 컨트랙트 사이에 동기화되는 문자열이나 바이너리코드를 포함하는 데이터를 상기 사용자의 개인키를 통해 지정된 암호화 방식으로 암호화하여 생성한 인증정보를 포함하며,
상기 인출정보는, 상기 운영서버와 스마트 컨트랙드 사이에 상기 암호화된 문자열이나 바이너리코드를 동기화하기 위한 인덱스를 더 포함하여 이루어지는 것을 특징으로 하는 블록체인 기반 스마트 컨트랙트를 이용한 암호화폐 거래 플랫폼 제공 방법.
The method of claim 1, wherein the authentication information,
The user's private key stores data including a string or a binary code synchronized between the operating server and the smart contract through a specified index among a plurality of strings or binary codes agreed between a designated operating server and the smart contract. Contains authentication information generated by encrypting with the specified encryption method through
And the withdrawal information further comprises an index for synchronizing the encrypted string or the binary code between the operation server and the smart contract.
상기 인출정보에 포함되는 전자지갑 주소(또는 전자지갑 주소의 적어도 일부 영역)를 포함하는 데이터를 상기 사용자의 개인키를 통해 지정된 암호화 방식으로 암호화하여 생성한 인증정보를 포함하여 이루어지는 것을 특징으로 하는 블록체인 기반 스마트 컨트랙트를 이용한 암호화폐 거래 플랫폼 제공 방법.
The method of claim 1, wherein the authentication information,
A block comprising authentication information generated by encrypting data including an electronic wallet address (or at least part of an electronic wallet address) included in the withdrawal information by a designated encryption method through the user's private key; A method of providing a cryptocurrency trading platform using a chain-based smart contract.
상기 인출정보에 포함되는 암호화폐 단위(또는 암호화폐 단위의 적어도 일부 영역)를 포함하는 데이터를 상기 사용자의 개인키를 통해 지정된 암호화 방식으로 암호화하여 생성한 인증정보를 포함하여 이루어지는 것을 특징으로 하는 블록체인 기반 스마트 컨트랙트를 이용한 암호화폐 거래 플랫폼 제공 방법.
The method of claim 1, wherein the authentication information,
A block comprising authentication information generated by encrypting data including a cryptocurrency unit (or at least a partial region of a cryptocurrency unit) included in the withdrawal information by a designated encryption method through the user's private key; A method of providing a cryptocurrency trading platform using a chain-based smart contract.
상기 인출정보에 포함되는 전자지갑 주소(또는 전자지갑 주소의 적어도 일부 영역)과 암호화폐 단위(또는 암호화폐 단위의 적어도 일부 영역)를 포함하는 데이터를 상기 사용자의 개인키를 통해 지정된 암호화 방식으로 암호화하여 생성한 인증정보를 포함하여 이루어지는 것을 특징으로 하는 블록체인 기반 스마트 컨트랙트를 이용한 암호화폐 거래 플랫폼 제공 방법.
The method of claim 1, wherein the authentication information,
Encrypting data including an electronic wallet address (or at least a partial region of the electronic wallet address) and a cryptocurrency unit (or at least a partial region of the cryptocurrency unit) included in the withdrawal information by an encryption method designated through the user's private key A method of providing a cryptocurrency trading platform using a blockchain-based smart contract, characterized in that it comprises authentication information generated by using the same.
지정된 운영서버와 상기 스마트 컨트랙드가 기 설정된 규칙에 따라 지정된 블록체인 상의 특정 블록 내 특정 저장위치를 동기화하여 획득하는 데이터를 상기 사용자의 개인키를 통해 지정된 암호화 방식으로 암호화하여 생성한 인증정보를 포함하여 이루어지는 것을 특징으로 하는 블록체인 기반 스마트 컨트랙트를 이용한 암호화폐 거래 플랫폼 제공 방법.
The method of claim 1, wherein the authentication information,
Includes authentication information generated by encrypting the data obtained by synchronizing a specific storage location in a specific block on a designated blockchain with a specified operating server and the smart contract according to a predetermined rule by using a designated encryption method through the user's private key. Method for providing a cryptocurrency trading platform using a blockchain-based smart contract, characterized in that made.
지정된 저장영역에 저장된 사용자의 공개키를 통해 상기 인증정보를 복호화하여 지정된 운영서버와 합의되거나 동기화된 데이터와 매칭되는지 인증하는 인증 절차를 수행하는 기능을 포함하여 이루어지는 것을 특징으로 하는 블록체인 기반 스마트 컨트랙트를 이용한 암호화폐 거래 플랫폼 제공 방법.
The method of claim 1, wherein the authentication function unit,
Blockchain-based smart contract, characterized in that it comprises a function of performing an authentication process for decrypting the authentication information through a public key of a user stored in a designated storage area and authenticating whether it matches with data specified or synchronized with a designated operating server. Cryptocurrency trading platform providing method.
지정된 암화화폐를 인출받은 사용자의 전자지갑 주소와 상기 인출된 암호화폐 단위를 포함하는 암호화폐 인출정보를 지정된 저장영역에 저장하는 기능을 더 포함하여 이루어지는 것을 특징으로 하는 블록체인 기반 스마트 컨트랙트를 이용한 암호화폐 거래 플랫폼 제공 방법.
The method of claim 1, wherein the storage function unit,
Encryption using a blockchain-based smart contract, characterized in that it further comprises the function of storing the electronic wallet address of the user withdraws the specified cryptocurrency and cryptocurrency withdrawal information including the withdrawn cryptocurrency unit in the designated storage area How to provide a currency trading platform.
스마트 컨트랙트의 상태를 저장하는 저장영역, 또는
상기 암호화폐의 인출과 관련된 정보를 저장하기 위해 설정된 저장영역을 포함하여 이루어지는 것을 특징으로 하는 블록체인 기반 스마트 컨트랙트를 이용한 암호화폐 거래 플랫폼 제공 방법.
The method of claim 49, wherein the designated storage area,
Storage to store the state of the smart contract, or
Method for providing a cryptocurrency trading platform using a blockchain-based smart contract, characterized in that it comprises a storage area set for storing information related to the withdrawal of the cryptocurrency.
상기 외부 블록체인 네트워크 상에 구비된 노드장치를 참조하여 상기 스마트 컨트랙트를 통해 지정된 사용자의 전자지갑으로 지정된 암호화폐 단위를 인출한 인출결과에 대응하는 암호화폐 인출정보를 확인하는 제6 단계; 및
상기 암호화폐 인출정보를 확인한 경우, 상기 사용자의 전자지갑으로 상기 암호화폐 단위를 인출한 거래정보를 생성하여 지정된 데이터베이스에 동기화하여 저장하는 제7 단계;를 더 포함하여 이루어지는 것을 특징으로 하는 블록체인 기반 스마트 컨트랙트를 이용한 암호화폐 거래 플랫폼 제공 방법.
The method of claim 1,
A sixth step of identifying cryptocurrency withdrawal information corresponding to a withdrawal result of withdrawing the designated cryptocurrency unit with the electronic wallet of the designated user through the smart contract by referring to a node device provided on the external blockchain network; And
When the cryptocurrency withdrawal information is confirmed, a seventh step of generating transaction information withdrawing the cryptocurrency unit with the electronic wallet of the user and synchronizing and storing the transaction information in a designated database; Method of providing a cryptocurrency trading platform using smart contract.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020180057250A KR20190132054A (en) | 2018-05-18 | 2018-05-18 | Method for Providing Cryptocurrency Trading Platform by using Smart Contract based on Blockchain |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020180057250A KR20190132054A (en) | 2018-05-18 | 2018-05-18 | Method for Providing Cryptocurrency Trading Platform by using Smart Contract based on Blockchain |
Publications (1)
Publication Number | Publication Date |
---|---|
KR20190132054A true KR20190132054A (en) | 2019-11-27 |
Family
ID=68730159
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020180057250A KR20190132054A (en) | 2018-05-18 | 2018-05-18 | Method for Providing Cryptocurrency Trading Platform by using Smart Contract based on Blockchain |
Country Status (1)
Country | Link |
---|---|
KR (1) | KR20190132054A (en) |
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2021162341A1 (en) * | 2020-02-13 | 2021-08-19 | 주식회사 소버린월렛 | Operation method of blockchain remittance service system, and electronic wallet for remittance |
WO2022098015A1 (en) * | 2020-11-04 | 2022-05-12 | 삼성전자 주식회사 | Electronic device for generating transaction including internal data, and operating method thereof |
KR102523069B1 (en) * | 2022-12-19 | 2023-04-19 | (주)헥슬란트 | Method of use blockchain smart contract using API providing system |
WO2023191177A1 (en) * | 2022-03-31 | 2023-10-05 | 서울외국어대학원대학교 산학협력단 | Method of transferring virtual asset between heterogeneous blockchains |
EP4184403A4 (en) * | 2020-11-04 | 2024-01-17 | Samsung Electronics Co., Ltd. | Electronic device for generating transaction including internal data, and operating method thereof |
-
2018
- 2018-05-18 KR KR1020180057250A patent/KR20190132054A/en unknown
Cited By (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2021162341A1 (en) * | 2020-02-13 | 2021-08-19 | 주식회사 소버린월렛 | Operation method of blockchain remittance service system, and electronic wallet for remittance |
KR20210103227A (en) * | 2020-02-13 | 2021-08-23 | 주식회사 소버린월렛 | Operation method of blockchain currency remittance service system and electronic wallet for currency remittance |
WO2022098015A1 (en) * | 2020-11-04 | 2022-05-12 | 삼성전자 주식회사 | Electronic device for generating transaction including internal data, and operating method thereof |
EP4184403A4 (en) * | 2020-11-04 | 2024-01-17 | Samsung Electronics Co., Ltd. | Electronic device for generating transaction including internal data, and operating method thereof |
WO2023191177A1 (en) * | 2022-03-31 | 2023-10-05 | 서울외국어대학원대학교 산학협력단 | Method of transferring virtual asset between heterogeneous blockchains |
KR102523069B1 (en) * | 2022-12-19 | 2023-04-19 | (주)헥슬란트 | Method of use blockchain smart contract using API providing system |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
KR102044747B1 (en) | Method for providing user authentication service based on blockchain | |
US20210357915A1 (en) | Methods, devices, and systems for secure payments | |
CN103370688B (en) | A kind of system and method being generated multifactor personalization server strong encryption keys by ease of user password | |
US20230360040A1 (en) | Quantum-safe payment system | |
US20160162897A1 (en) | System and method for user authentication using crypto-currency transactions as access tokens | |
CN109478298A (en) | Method and system for realizing block chain | |
KR20190132159A (en) | Method for Providing Cryptocurrency Trading Platform based on Blockchain by using Smart Contract | |
CN109791660A (en) | Data protection system and method | |
KR20190132054A (en) | Method for Providing Cryptocurrency Trading Platform by using Smart Contract based on Blockchain | |
KR20190132047A (en) | Method for Providing Service Platform based on Blockchain by using Smart Contract | |
EP3867849B1 (en) | Secure digital wallet processing system | |
KR20190132052A (en) | Smart Contract based on Blockchain for Cryptocurrency Trading Platform | |
KR101923943B1 (en) | System and method for remitting crypto currency with enhanced security | |
JP7304963B2 (en) | Program, data authentication method, and computer device | |
KR20190115553A (en) | Method for Providing Cryptocurrency Trade based on Verification of Information by using Smart Contract based on Blockchain | |
KR20190132160A (en) | Method for Providing Cryptocurrency Trading Platform by using Smart Contract | |
KR101941625B1 (en) | System for SNS finetech using authentication based selecting and method for operating the same | |
JP7254954B2 (en) | Methods and systems for authenticating blockchain-generated data | |
KR102003731B1 (en) | System and method for protecting crypto currency using virtual machine | |
US20220078611A1 (en) | Secure offline mobile interactions | |
KR20190115552A (en) | Method for Providing Multiple Cryptocurrency Trade by using Smart Contract based on Blockchain | |
KR20190115555A (en) | Method for Providing Cryptocurrency Trade based on Certification of Connection Status between Wallet and User by using Smart Contract based on Blockchain | |
KR20190115551A (en) | Method for Providing Cryptocurrency Trade by using Smart Contract based on Blockchain | |
KR20190115554A (en) | Method for Providing Cryptocurrency Trade based on Certification of Connection Status between Wallet by using Smart Contract based on Blockchain | |
KR20190115556A (en) | Method for Providing Cryptocurrency Trade based on Certification of Balance by using Smart Contract based on Blockchain |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
N231 | Notification of change of applicant |