KR20190132160A - 스마트 컨트랙트를 이용한 암호화폐 거래 플랫폼 제공 방법 - Google Patents

스마트 컨트랙트를 이용한 암호화폐 거래 플랫폼 제공 방법 Download PDF

Info

Publication number
KR20190132160A
KR20190132160A KR1020180057494A KR20180057494A KR20190132160A KR 20190132160 A KR20190132160 A KR 20190132160A KR 1020180057494 A KR1020180057494 A KR 1020180057494A KR 20180057494 A KR20180057494 A KR 20180057494A KR 20190132160 A KR20190132160 A KR 20190132160A
Authority
KR
South Korea
Prior art keywords
cryptocurrency
user
smart contract
blockchain network
designated
Prior art date
Application number
KR1020180057494A
Other languages
English (en)
Inventor
박상우
김재형
권봉기
Original Assignee
주식회사 비즈모델라인
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 주식회사 비즈모델라인 filed Critical 주식회사 비즈모델라인
Priority to KR1020180057494A priority Critical patent/KR20190132160A/ko
Publication of KR20190132160A publication Critical patent/KR20190132160A/ko

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q20/00Payment architectures, schemes or protocols
    • G06Q20/04Payment circuits
    • G06Q20/06Private payment circuits, e.g. involving electronic currency used among participants of a common payment scheme
    • G06Q20/065Private payment circuits, e.g. involving electronic currency used among participants of a common payment scheme using e-cash
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q20/00Payment architectures, schemes or protocols
    • G06Q20/30Payment architectures, schemes or protocols characterised by the use of specific devices or networks
    • G06Q20/36Payment architectures, schemes or protocols characterised by the use of specific devices or networks using electronic wallets or electronic money safes
    • G06Q20/367Payment 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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q20/00Payment architectures, schemes or protocols
    • G06Q20/38Payment protocols; Details thereof
    • G06Q20/382Payment protocols; Details thereof insuring higher security of transaction
    • G06Q20/3821Electronic credentials
    • G06Q20/38215Use of certificates or encrypted proofs of transaction rights
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q20/00Payment architectures, schemes or protocols
    • G06Q20/38Payment protocols; Details thereof
    • G06Q20/382Payment protocols; Details thereof insuring higher security of transaction
    • G06Q20/3829Payment protocols; Details thereof insuring higher security of transaction involving key management

Abstract

본 발명은 스마트 컨트랙트를 이용한 암호화폐 거래 플랫폼 제공 방법에 관한 것으로, 본 발명에 따른 스마트 컨트랙트를 이용한 암호화폐 거래 플랫폼 제공 방법은, 스마트 컨트랙트(Smart Contract)를 지원하는 B(B≥1)개의 외부 블록체인 네트워크와 연동 가능한 운영서버를 통해 실행되는 방법에 있어서, 지정된 외부 블록체인 네트워크 상에 유효 생성된 하나 이상의 전자지갑으로부터 지정된 암호화폐 단위를 스마트 컨트랙트로 예치받는 예치 기능부와, 지정된 암호화폐를 예치한 사용자의 전자지갑 주소와 상기 예치된 암호화폐 단위를 포함하는 암호화폐 예치정보를 지정된 저장영역에 저장하거나 기 설정된 스마트 컨트랙트 동작 절차를 통해 제공받은 사용자의 공개키와 사용자의 전자지갑 주소를 확인하여 지정된 저장영역에 연계 저장하는 저장 기능부와, 스마트 컨트랙트에 예치된 암호화폐를 인출받을 사용자의 전자지갑 주소와 상기 인출될 암호화폐 단위 및 사용자의 개인키를 통해 생성된 인증정보를 포함하는 인출정보를 확인하는 확인 기능부와, 상기 사용자의 공개키를 이용하여 상기 인증정보의 유효성을 인증하는 인증 절차를 포함하는 하나 이상의 지정된 인증 절차를 수행하는 인증 기능부와, 상기 지정된 인증 절차의 인증 성공 시 상기 사용자의 전자지갑 주소로 상기 암호화폐 단위를 인출하는 인출 기능부를 구현하는 프로그램 코드를 포함하는 스마트 컨트랙트(Smart Contract)를 상기 외부 블록체인 네트워크 상에 구비된 M(M≥2)개의 노드장치에 등록하는 절차를 수행하는 제1 단계와, 사용자의 전자지갑에 보유된 지정된 암호화폐 단위가 상기 외부 블록체인 네트워크 상의 스마트 컨트랙트에 예치된 경우, 상기 사용자의 전자지갑과 무관하게 별도 생성된 사용자의 공개키를 확인하고, 기 설정된 스마트 컨트랙트 동작 절차에 따라 상기 사용자의 공개키와 사용자의 전자지갑 주소를 상기 외부 블록체인 네트워크 상의 스마트 컨트랙트로 제공하는 절차를 수행하는 제2 단계와, 상기 외부 블록체인 네트워크와 구별되는 별도의 지정된 내부 블록체인 네트워크를 통해 상기 스마트 컨트랙트에 예치된 암호화폐에 근거하는 지정된 암호화폐 거래를 처리하는 절차를 수행하는 제3 단계와, 상기 외부 블록체인 네트워크 상의 스마트 컨트랙트에 예치된 암호화폐 중 상기 내부 블록체인 네트워크를 통한 암호화폐 거래 결과의 적어도 일부에 대응하는 암호화폐를 상기 외부 블록체인 네트워크 상에 유효 생성된 사용자의 전자지갑으로 인출 시, 암호화폐 인출을 위한 본인 인증 절차를 수행하여 인증된 사용자의 전자지갑 주소와 상기 인출될 암호화폐 단위 및 상기 인증된 사용자의 개인키를 통해 생성된 인증정보를 확인하는 제4 단계와, 기 설정된 스마트 컨트랙트 동작 절차에 따라 상기 암호화폐를 인출받을 사용자의 전자지갑 주소와 상기 인출될 암호화폐 단위 및 상기 생성된 인증정보를 포함하는 인출정보를 상기 외부 블록체인 네트워크 상의 스마트 컨트랙트로 전달하기 위한 절차를 수행하는 제5 단계를 포함한다.

Description

스마트 컨트랙트를 이용한 암호화폐 거래 플랫폼 제공 방법{Method for Providing Cryptocurrency Trading Platform by using Smart Contract}
본 발명은 지정된 외부 블록체인 네트워크 상의 스마트 컨트랙트(Smart Contract)에 사용자의 공개키와 사용자의 전자지갑 주소를 연계 기록하고, 상기 외부 블록체인 네트워크와 구별되는 별도의 지정된 내부 블록체인 네트워크를 통해 상기 스마트 컨트랙트에 예치된 암호화폐에 근거하는 암호화폐 거래를 제공하되, 상기 내부 블록체인 네트워크를 이용한 암호화폐 거래 결과의 적어도 일부에 대응하는 암호화폐를 상기 스마트 컨트랙트로부터 상기 외부 블록체인 네트워크 상의 사용자 전자지갑으로 인출 시 지정된 본인 인증 절차를 거쳐 인증된 사용자의 개인키를 통해 생성된 인증정보를 상기 스마트 컨트랙트를 통해 인증하여 안전하게 상기 스마트 컨트랙트에 예치된 암호화폐를 인출하는 암호화폐 거래 플랫폼을 제공하는 것이다.
스마트 컨트랙트(Smart Contract)는 1994년 닉 재보(Nick Szabo)에 의해 제안된 개념으로, 지정된 프로그래밍 언어를 통해 계약 조건과 계약 내용을 프로그래밍해 놓은 후 프로그래밍된 계약 조건이 만족되면 그에 따른 계약 내용을 자동으로 실행하는 기술이다. 다만 스마트 컨트랙트와 같은 디지털 자료는 네트워크 환경에서 조작이나 위변조가 용이하기 때문에, 한동안 스마트 컨트랙트는 개념으로만 존재하고 구체적인 서비스에 이용될 수 없었으나, 디지털 자료에 대한 신뢰 환경을 구현하는 블록체인 기술에 적용되면서 구체적인 서비스에 이용되게 되었다.
최초(또는 원시적인 형태)의 블록체인 기반 스마트 컨트랙트는 비트코인(Bitcoin)에 적용된 비트코인 스크립트이다. 그러나 비트코인 스크립트는 반복문을 사용할 수 없는 문제점과 비트코인 잔고 외의 다른 정보를 관리 할 수 없는 한계를 지니고 있었다. 이에 2015년07월30일 비탈릭 부테린(Vitalik Buterin)에 의해 반복문을 사용 가능하며 다양한 정보와 상태를 관리 가능한 스마트 컨트랙트를 지원하는 블록체인 플랫폼인 이더리움(Ethereum)이 개발되었으며, 이더리움 이후에 개발되거나 개발 중인 모든 블록체인 플랫폼은 기본적으로 스마트 컨트랙트를 지원한다.
한편 블록체인을 통해 구현된 암호화폐를 획득하는 방식은, 외부 블록체인 네트워크 상의 유효한 전자지갑 사이의 P2P 기반 암호화폐 거래를 이용하는 방식(예컨대, 외부 블록체인 네트워크 상의 유효한 다른 전자지갑에 보관된 암호화폐를 상기 외부 블록체인 네트워크 상의 유효한 전자지갑으로 이전받는 방식 등)과, 암호화폐 거래소의 지정된 암호화폐 거래 절차에 따라 암호화폐를 거래하는 거래소 기반 암호화폐 거래를 이용하는 방식(예컨대, 사용자가 암호화폐 거래소에 회원 가입하여 본인 명의의 거래소지갑을 생성한 후 사용자가 소유한 실물화폐를 이용하여 해당 암호화폐 거래소 내에서 거래되는 암호화폐를 사용자 명의의 거래소지갑으로 매입하는 방식 등)과, 외부 블록체인 네트워크를 구현하는 노드장치(예컨대, 채굴기)를 구비하여 지정된 채굴 절차를 수행한 후 상기 채굴의 보상에 해당하는 암호화폐를 전자지갑으로 지급받는 채굴 방식 등이 존재하며, 암호화폐 거래소를 통해 거래된 암호화폐를 외부 블록체인 네트워크 상의 유효한 전자지갑으로 이전받는 거래소 기반 P2P 암호화폐 거래 방식이 존재한다.
한편 블록체인을 통해 구현된 암호화폐를 획득하는 방식은, 외부 블록체인 네트워크 상에 유효한 전자지갑을 생성한 후 해당 외부 블록체인 네트워크 상의 유효한 다른 전자지갑에 보관된 암호화폐를 이전받는 P2P 기반 암호화폐 거래 방식과, 사용자가 암호화폐 거래소에 회원 가입하여 본인 명의의 거래소지갑을 생성한 후 실물화폐를 이용하여 사용자 명의의 거래소지갑으로 해당 암호화폐 거래소 내에서 거래되는 암호화폐를 매입하는 거래소 기반 암호화폐 거래 방식과, 외부 블록체인 네트워크를 구현하는 노드장치(예컨대, 채굴기)를 구비하여 채굴 절차를 수행한 후 상기 채굴의 보상에 해당하는 암호화폐를 전자지갑으로 지급받는 채굴 방식 등이 존재하며, 암호화폐 거래소를 통해 거래된 암호화폐를 외부 블록체인 네트워크 상의 유효한 전자지갑으로 이전받는 거래소 기반 P2P 암호화폐 거래 방식이 존재한다.
통상의 암호화폐 거래소는, 외부 블록체인 네트워크 상의 유효한 전자지갑 사이의 P2P 기반 암호화폐를 제공하는 것이 아니라, 외부 블록체인 네트워크 상에 하나 이상의 유효한 거래소 소유 전자지갑을 생성하고, 상기 P2P 기반 암호화폐 거래 방식을 통해 상기 거래소 소유 전자지갑에 지정된 단위의 암호화폐를 보관한 후, 상기 거래소 소유 전자지갑에 보관된 암호화폐 단위를 근거로 상기 암호화폐 거래소 내부의 거래소 원장을 이용하여 상기 암호화폐 거래소에 회원 가입한 각 회원 명의의 거래소지갑 사이에 실물화폐를 매개로 하는 매도/매입 기반의 거래소 기반 암호화폐 거래를 제공한다.
통상의 거래소 기반 암호화폐 거래는 실제 외부 블록체인 네트워크를 통해 수행되는 실제 암호화폐 거래가 아니라, 상기 암호화폐 거래소 내부의 거래소 원장을 통해 가상으로 구현되는 암호화폐 거래로서, 상기 거래소 기반 암호화폐 거래의 거래내역은 외부 블록체인 네트워크를 구현하는 노드장치의 분산 원장에 전혀 반영되지 않는다. 따라서 상기 암호화폐 거래소의 거래소 원장이나 각 회원의 거래소지갑이 해킹될 경우 상기 거래소 소유 전자지갑에 보관된 암호화폐가 도난되지는 않더라도 상기 거래소 소유 전자지갑에 보관된 암호화폐의 각 회원 별 소유권을 확인할 수 없는 문제점을 지니고 있다.
한편 사용자가 암호화폐 거래소에 생성된 본인 명의의 거래소지갑에서 외부 블록체인 네트워크 상의 유효한 수신 측 전자지갑으로 암호화폐의 송금을 요청하는 경우, 상기 암호화폐 거래소는 상기 사용자 명의의 거래소지갑과 연계된 외부 블록체인 네트워크 상의 거래소 소유 전자지갑을 확인하고 상기 외부 블록체인 네트워크를 통해 상기 거래소 소유 전자지갑에서 상기 수신 측 전자지갑으로 암호화폐를 송금하는 거래소 기반 P2P 암호화폐 거래를 수행할 수 있다. 이러한 거래소 기반 P2P 암호화폐 거래의 거래내역은 상기 외부 블록체인 네트워크 상의 분산 원장에 반영되기는 하지만, 상기 분산 원장에 반영되는 거래내역은 상기 암호화폐 거래소에 생성된 사용자 명의의 거래소지갑과 상기 외부 블록체인 네트워크 상의 수신 측 전자지갑 사이의 거래내역이 아니라, 상기 외부 블록체인 네트워크 상의 거래소 소유 전자지갑과 상기 수신 측 전자지갑 사이의 거래내역이다.
한편 통상적으로 P2P 기반 암호화폐 거래를 위해서는 상술한 바와 같이 외부 블록체인 네트워크 상에 유효한 전자지갑을 생성하여야 하며, 상기 전자지갑을 생성하는 과정에서 공개키와 개인키의 키 쌍이 생성된다. 한편 외부 블록체인 네트워크를 통해 상기 전자지갑으로 암호화폐를 이전받기 위해서는 상기 전자지갑의 공개키만 공개되어 있으면 되지만, 상기 전자지갑에 보관된 암호화폐를 다른 전자지갑으로 송금하는 경우 상기 상기 전자지갑의 개인키를 이용한 서명을 수행해야 한다. 즉 외부 블록체인 네트워크 상에 생성된 전자지갑의 개인키만 있으면 언제든 외부 블록체인 네트워크를 통해 해당 전자지갑에 보관된 암호화폐를 다른 전자지갑으로 송금할 수 있다.
한편 암호화폐 거래소의 거래소 기반 암호화폐 거래를 위한 거래소 소유 전자지갑도 외부 블록체인 네트워크 상에 생성된 전자지갑이므로, 상기 거래소 소유 전자지갑의 개인키를 탈취하기만 하면 상기 거래소 소유 전자지갑에 보관된 암호화폐를 언제든 외부 블록체인 네트워크를 통해 다른 전자지갑으로 송금할 수 있다. 설령 상기 거래소 소유 전자지갑의 개인키를 네트워크에 연결되지 않은 오프라인 상의 저장장치에 보관하더라도 개인키를 사용하는 과정까지 오프라인 상태로 진행하지 않을 경우 상기 거래소 소유 전자지갑의 개인키는 네트워크에 연결된 후에 언제든 탈취될 수 있으며, 이 경우 상기 암호화폐 거래소의 거래소 기반 암호화폐 거래를 위해 거래소 소유 전자지갑에 보관된 암호화폐가 모두 탈취되어 도난될 수 있는 치명적인 문제점을 지니고 있다.
실제로 2018년01월26일 일본의 주요 암호화폐 거래소인 코인체크(Coincheck)는 거래소 소유 전자지갑의 개인키를 네트워크에 연결한 상태에서 사용하여 약 26만명 회원의 약 5700억 원 상당의 암호화폐를 도난당하는 해킹 사건이 발생하였다. 이러한 개인키 해킹 문제를 해소하는 방법 중 한가지 방법은 전자지갑의 개인키를 오프라인 상의 저장장치에 보관하고 개인키를 사용하는 과정까지 오프라인 상태로 진행한 후 온라인으로 전환하여 외부 블록체인 네트워크를 통해 개인키 사용 이후의 절차를 진행하는 것이다. 한편 이러한 방법은 거래 소요 시간이 제약되지 않는 단순 P2P 기반 암호화폐 거래에 유효하게 적용될 수 있기는 하지만, 각 블록 생성 주기 별로 수십 내지 수만 건의 거래소 기반 P2P 암호화폐 거래를 처리해야 하는 거래소 소유 전자지갑의 개인키에 적용하기에는 기술적으로 난해한 문제점을 지니고 있다.
상기와 같은 문제점을 해소하기 위한 본 발명의 목적은, 지정된 외부 블록체인 네트워크 상에 유효 생성된 하나 이상의 전자지갑으로부터 지정된 암호화폐 단위를 스마트 컨트랙트로 예치받는 예치 기능부와, 지정된 암호화폐를 예치한 사용자의 전자지갑 주소와 상기 예치된 암호화폐 단위를 포함하는 암호화폐 예치정보를 지정된 저장영역에 저장하거나 기 설정된 스마트 컨트랙트 동작 절차를 통해 제공받은 사용자의 공개키와 사용자의 전자지갑 주소를 확인하여 지정된 저장영역에 연계 저장하는 저장 기능부와, 스마트 컨트랙트에 예치된 암호화폐를 인출받을 사용자의 전자지갑 주소와 상기 인출될 암호화폐 단위 및 사용자의 개인키를 통해 생성된 인증정보를 포함하는 인출정보를 확인하는 확인 기능부와, 상기 사용자의 공개키를 이용하여 상기 인증정보의 유효성을 인증하는 인증 절차를 포함하는 하나 이상의 지정된 인증 절차를 수행하는 인증 기능부와, 상기 지정된 인증 절차의 인증 성공 시 상기 사용자의 전자지갑 주소로 상기 암호화폐 단위를 인출하는 인출 기능부를 구현하는 프로그램 코드를 포함하는 스마트 컨트랙트(Smart Contract)의 지정된 저장영역에 사용자의 전자지갑과 무관하게 별도 생성된 사용자의 공개키와 상기 암호화폐를 예치한 사용자의 전자지갑 주소를 연계시켜 기록한 후, 상기 외부 블록체인 네트워크와 구별되는 별도의 지정된 내부 블록체인 네트워크를 통해 상기 스마트 컨트랙트에 예치된 암호화폐에 근거하는 암호화폐 거래를 제공하되, 상기 외부 블록체인 네트워크 상의 스마트 컨트랙트에 예치된 암호화폐 중 상기 내부 블록체인 네트워크를 통한 암호화폐 거래 결과의 적어도 일부에 대응하는 암호화폐를 상기 외부 블록체인 네트워크 상에 유효 생성된 사용자의 전자지갑으로 인출 시 지정된 본인 인증 절차를 수행하여 인증된 사용자의 전자지갑 주소와 상기 인출될 암호화폐 단위 및 상기 인증된 사용자의 개인키를 통해 생성된 인증정보를 포함하는 인출정보를 상기 외부 블록체인 네트워크 상의 스마트 컨트랙트로 전달하고, 상기 스마트 컨트랙트가 상기 사용자의 공개키를 통해 상기 인증정보의 유효성을 인증한 경우에 상기 스마트 컨트랙트에 예치된 암호화폐를 상기 사용자의 전자지갑으로 안전하게 인출하는 스마트 컨트랙트를 이용한 암호화폐 거래 플랫폼 제공 방법을 제공함에 있다.
본 발명에 따른 스마트 컨트랙트를 이용한 암호화폐 거래 플랫폼 제공 방법은, 스마트 컨트랙트(Smart Contract)를 지원하는 B(B≥1)개의 외부 블록체인 네트워크와 연동 가능한 운영서버를 통해 실행되는 방법에 있어서, 지정된 외부 블록체인 네트워크 상에 유효 생성된 하나 이상의 전자지갑으로부터 지정된 암호화폐 단위를 스마트 컨트랙트로 예치받는 예치 기능부와, 지정된 암호화폐를 예치한 사용자의 전자지갑 주소와 상기 예치된 암호화폐 단위를 포함하는 암호화폐 예치정보를 지정된 저장영역에 저장하거나 기 설정된 스마트 컨트랙트 동작 절차를 통해 제공받은 사용자의 공개키와 사용자의 전자지갑 주소를 확인하여 지정된 저장영역에 연계 저장하는 저장 기능부와, 스마트 컨트랙트에 예치된 암호화폐를 인출받을 사용자의 전자지갑 주소와 상기 인출될 암호화폐 단위 및 사용자의 개인키를 통해 생성된 인증정보를 포함하는 인출정보를 확인하는 확인 기능부와, 상기 사용자의 공개키를 이용하여 상기 인증정보의 유효성을 인증하는 인증 절차를 포함하는 하나 이상의 지정된 인증 절차를 수행하는 인증 기능부와, 상기 지정된 인증 절차의 인증 성공 시 상기 사용자의 전자지갑 주소로 상기 암호화폐 단위를 인출하는 인출 기능부를 구현하는 프로그램 코드를 포함하는 스마트 컨트랙트(Smart Contract)를 상기 외부 블록체인 네트워크 상에 구비된 M(M≥2)개의 노드장치에 등록하는 절차를 수행하는 제1 단계와, 사용자의 전자지갑에 보유된 지정된 암호화폐 단위가 상기 외부 블록체인 네트워크 상의 스마트 컨트랙트에 예치된 경우, 상기 사용자의 전자지갑과 무관하게 별도 생성된 사용자의 공개키를 확인하고, 기 설정된 스마트 컨트랙트 동작 절차에 따라 상기 사용자의 공개키와 사용자의 전자지갑 주소를 상기 외부 블록체인 네트워크 상의 스마트 컨트랙트로 제공하는 절차를 수행하는 제2 단계와, 상기 외부 블록체인 네트워크와 구별되는 별도의 지정된 내부 블록체인 네트워크를 통해 상기 스마트 컨트랙트에 예치된 암호화폐에 근거하는 지정된 암호화폐 거래를 처리하는 절차를 수행하는 제3 단계와, 상기 외부 블록체인 네트워크 상의 스마트 컨트랙트에 예치된 암호화폐 중 상기 내부 블록체인 네트워크를 통한 암호화폐 거래 결과의 적어도 일부에 대응하는 암호화폐를 상기 외부 블록체인 네트워크 상에 유효 생성된 사용자의 전자지갑으로 인출 시, 암호화폐 인출을 위한 본인 인증 절차를 수행하여 인증된 사용자의 전자지갑 주소와 상기 인출될 암호화폐 단위 및 상기 인증된 사용자의 개인키를 통해 생성된 인증정보를 확인하는 제4 단계와, 기 설정된 스마트 컨트랙트 동작 절차에 따라 상기 암호화폐를 인출받을 사용자의 전자지갑 주소와 상기 인출될 암호화폐 단위 및 상기 생성된 인증정보를 포함하는 인출정보를 상기 외부 블록체인 네트워크 상의 스마트 컨트랙트로 전달하기 위한 절차를 수행하는 제5 단계를 포함한다.
본 발명에 따르면, 상기 스마트 컨트랙트를 이용한 암호화폐 거래 플랫폼 제공 방법은, 사용자의 공개키를 등록하기 위해 사용자단말을 통해 접속한 사용자에 대한 지정된 본인 인증 절차를 수행하는 단계를 더 포함하며, 상기 제2 단계는 상기 본인 인증된 사용자의 공개키를 확인하고, 기 설정된 스마트 컨트랙트 동작 절차에 따라 상기 사용자의 공개키와 사용자의 전자지갑 주소를 상기 외부 블록체인 네트워크 상의 스마트 컨트랙트로 제공하는 절차를 수행하는 단계를 포함할 수 있다.
본 발명에 따르면, 상기 예치된 암호화폐 단위는 상기 인증된 사용자의 암호화폐 거래를 위해 사용자의 전자지갑으로부터 상기 스마트 컨트랙트로 예치되는 암호화폐 단위, 또는 상기 스마트 컨트랙트를 통해 상기 사용자의 전자지갑 주소를 저장 관리하기 위해 지정된 절차에 따라 상기 인증된 사용자의 전자지갑으로 지급된 후 상기 사용자의 전자지갑으로부터 상기 스마트 컨트랙트로 예치되는 암호화폐 단위를 포함할 수 있다.
본 발명에 따르면, 상기 암호화폐는 지정된 외부 블록체인 네트워크를 통해 발행되는 암호코인 형태의 암호화폐, 지정된 암호코인을 발행하는 지정된 외부 블록체인 네트워크를 기반으로 구현되는 암호토큰 형태의 암호화폐 중 적어도 하나를 포함할 수 있다.
본 발명에 따르면, 상기 제2 단계는 상기 스마트 컨트랙트의 지정된 저장영역에 저장된 사용자의 공개키에 대응하는 사용자를 상기 스마트 컨트랙트에 예치된 암호화폐를 인출 가능한 사용자로 설정하여 저장하는 단계를 더 포함할 수 있다.
본 발명에 따르면, 상기 암호화폐 인출을 위한 본인 인증 절차는 상기 암호화폐를 인출할 사용자가 상기 스마트 컨트랙트의 지정된 저장영역에 본인의 공개키가 저장되어 상기 스마트 컨트랙트에 예치된 암호화폐를 인출 가능한 사용자인지 인증하는 단계를 포함할 수 있다.
본 발명에 따르면, 상기 제3 단계는 상기 외부 블록체인 네트워크 상의 스마트 컨트랙트에 사용자의 공개키를 저장한 경우, 상기 내부 블록체인 네트워크 상에 사용자의 내부지갑을 생성하거나 기 생성된 사용자의 내부지갑 주소를 확인하는 단계와, 상기 외부 블록체인 네트워크 상의 사용자 전자지갑을 통해 상기 외부 블록체인 네트워크 상의 스마트 컨트랙트에 예치된 암호화폐 단위를 확인하여 상기 내부 블록체인 네트워크 상에 생성된 사용자의 내부지갑에 적용하는 단계를 더 포함할 수 있다.
본 발명에 따르면, 상기 제3 단계는 상기 내부 블록체인 네트워크 상에 생성된 사용자의 내부지갑에 적용된 암호화폐를 다른 사용자의 내부지갑으로 이전하는 암호화폐 거래를 처리하는 단계를 더 포함할 수 있다.
본 발명에 따르면, 상기 제3 단계는 사용자단말로 상기 내부 블록체인 네트워크 상에 생성된 사용자의 내부지갑을 이용하여 거래소 기반 암호화폐 거래를 처리하기 위한 암호화폐 거래 환경을 제공하는 단계와, 사용자단말로부터 상기 암호화폐 거래 환경을 통해 요청되는 거래소 기반 암호화폐 거래를 처리하는 단계를 더 포함할 수 있다.
본 발명에 따르면, 상기 내부 블록체인 네트워크를 이용한 암호화폐 거래의 거래내역을 지정된 데이터베이스에 동기화하여 저장하는 단계를 더 포함할 수 있다.
본 발명에 따르면, 상기 내부 블록체인 네트워크는 B개의 외부 블록체인 네트워크를 통해 구현되는 C(C≥B)종의 암호화폐 중에서 지정된 c(1≤c≤C)종의 암호화폐에 대한 동종 간 암호화폐 거래와 이종 간 암호화폐 거래 중 하나 이상의 암호화폐 거래를 탈중앙화 방식 암호화폐 거래로 처리하기 위해 설계된 블록체인 네트워크를 포함할 수 있다.
본 발명에 따르면, 상기 내부 블록체인 네트워크는 B개의 외부 블록체인 네트워크와 망분리된 형태의 블록체인 네트워크를 포함할 수 있다.
본 발명에 따르면, 상기 탈중앙화 방식 암호화폐 거래는 상기 내부 블록체인 네트워크를 이용한 암호화폐 거래의 중간 과정을 상기 외부 블록체인 네트워크에 반영하지 않을 수 있다.
본 발명에 따르면, 상기 탈중앙화 방식 암호화폐 거래는 상기 외부 블록체인 네트워크 상의 스마트 컨트랙트에 예치된 암호화폐 단위를 사용자의 전자지갑으로 인출하는 과정을 통해서만 상기 인출 과정의 직전까지 상기 내부 블록체인 네트워크를 통해 수행된 암호화폐 거래 결과 중 적어도 일부가 상기 외부 블록체인 네트워크에 반영될 수 있다.
본 발명에 따르면, 상기 동종 간 암호화폐 거래는 송금 측 사용자의 내부지갑에서 제i(1≤i≤c)의 암호화폐를 인출하여 수취 측 사용자의 내부지갑으로 이전하는 암호화폐 거래를 포함할 수 있다. 한편 상기 송금 측 사용자는 상기 외부 블록체인 네트워크 상의 스마트 컨트랙트에 제i의 암호화폐를 예치한 사용자를 포함하고, 상기 수취 측 사용자는 상기 외부 블록체인 네트워크 상의 스마트 컨트랙트에 예치된 제i의 암호화폐를 인출하는 사용자를 포함할 수 있다.
본 발명에 따르면, 상기 동종 간 암호화폐 거래는 실물화폐와 제i(1≤i≤c)의 암호화폐 간 환율을 기반으로 상기 실물화폐를 이용하여 매도 측 사용자의 내부지갑에서 제i의 암호화폐를 인출하여 매수 측 사용자의 내부지갑으로 이전하는 암호화폐 거래를 포함할 수 있다.
본 발명에 따르면, 상기 동종 간 암호화폐 거래는 기 설정된 기준 암호화폐와 제i(1≤i≤c)의 암호화폐 간 환율을 기반으로 상기 기준 암호화폐를 이용하여 매도 측 사용자의 내부지갑에서 제i의 암호화폐를 인출하여 매수 측 사용자의 내부지갑으로 이전하는 암호화폐 거래를 포함할 수 있다.
본 발명에 따르면, 상기 이종 간 암호화폐 거래는 송금 측 사용자의 내부지갑에서 제i(1≤i≤c)의 암호화폐를 인출하고 각 암호화폐 간 환율을 기반으로 상기 제i의 암호화폐를 지정된 제j(1≤j≤c, i≠j)의 암호화폐로 변환하여 수취 측 사용자의 내부지갑으로 이전하는 암호화폐 거래를 포함할 수 있다. 한편 상기 송금 측 사용자는 상기 외부 블록체인 네트워크 상의 스마트 컨트랙트에 제i의 암호화폐를 예치한 사용자를 포함하고, 상기 수취 측 사용자는 상기 외부 블록체인 네트워크 상의 스마트 컨트랙트에 예치된 제j의 암호화폐를 인출하는 사용자를 포함할 수 있다.
본 발명에 따르면, 상기 제4 단계는 사용자단말을 통해 접속한 사용자에 대하여 암호화폐의 인출을 위해 지정된 본인 인증 절차를 수행하는 단계와, 상기 사용자의 본인 인증 시 상기 사용자단말을 통해 상기 암호화폐가 인출될 사용자의 전자지갑 주소와 암호화폐 단위를 수신하거나 확인하고, 상기 본인 인증을 통해 인증된 사용자의 개인키를 통해 생성된 인증정보를 수신하거나 확인하는 단계를 포함할 수 있다.
본 발명에 따르면, 상기 인증정보는 상기 사용자의 개인키를 이용하여 상기 운영서버와 상기 스마트 컨트랙트 사이에 합의되거나 동기화되는 데이터를 기 설정된 암호 방식으로 암호화하여 생성한 인증정보를 포함할 수 있다.
본 발명에 따르면, 상기 제4 단계는 각 사용자단말을 통해 접속한 적어도 i(i≥1)명의 사용자에 대하여 암호화폐의 인출을 위해 지정된 본인 인증 절차를 수행하는 단계와, 상기 i명의 사용자의 본인 인증 시 상기 사용자단말을 통해 상기 암호화폐가 인출될 i개의 사용자의 전자지갑 주소와 i개의 암호화폐 단위를 수신하거나 확인하고, 상기 본인 인증을 통해 인증된 i개의 사용자의 개인키를 통해 제각기 생성된 i개의 인증정보를 수신하거나 확인하는 단계를 포함할 수 있다.
본 발명에 따르면, 상기 인증정보는 i(i≥1)개의 사용자의 개인키를 이용하여 상기 운영서버와 상기 스마트 컨트랙트 사이에 합의되거나 동기화되는 데이터를 기 설정된 암호 방식으로 암호화하여 생성한 i개의 인증정보를 포함할 수 있다.
본 발명에 따르면, 상기 제5 단계는 기 설정된 스마트 컨트랙트 동작 절차에 따라 상기 외부 블록체인 네트워크 상의 기 설정된 특정 노드장치를 통해 상기 외부 블록체인 네트워크 상의 각 노드장치로 상기 인출정보를 포함하는 지정된 구조의 메시지를 방송하도록 처리하는 절차를 수행하는 단계를 포함할 수 있다.
본 발명에 따르면, 상기 스마트 컨트랙트 동작 절차는 상기 특정 노드장치의 개인키를 이용하여 상기 스마트 컨트랙트의 동작을 위한 지정된 구조의 메시지를 상기 외부 블록체인 네트워크 상의 각 노드장치로 방송하는 절차를 포함할 수 있다.
본 발명에 따르면, 상기 특정 노드장치는 상기 외부 블록체인 네트워크 상의 노드장치 중 상기 운영서버와 연동하는 노드장치, 또는 상기 외부 블록체인 네트워크 상의 노드장치 중 상기 운영서버가 상기 메시지의 방송을 위한 개인키를 관리하는 노드장치를 포함할 수 있다.
본 발명에 따르면, 상기 메시지는 상기 인출정보를 파라미터로 포함할 수 있다.
본 발명에 따르면, 상기 메시지는 상기 메시지를 다른 노드장치로 방송하는 특정 노드장치의 지정된 주소를 포함할 수 있다.
본 발명에 따르면, 상기 메시지는 상기 블록체인 네트워크 상의 노드장치에 등록된 상기 스마트 컨트랙트의 지정된 주소와 상기 스마트 컨트랙트 상의 확인 기능부에 대응하는 함수의 주소 중 적어도 하나의 주소를 포함할 수 있다.
본 발명에 따르면, 상기 인출정보는 암호화폐를 인출하기 위한 i(i≥1)개의 전자지갑 주소와 i개의 암호화폐 단위 및 i개의 인증정보를 포함하며, 상기 인출 기능부는 지정된 인증 절차의 인증 성공 시 상기 i개의 전자지갑 주소로 제각기 대응하는 i개의 암호화폐 단위를 인출하는 기능을 수행하는 것을 특징으로 하는 {방법}.
본 발명에 따르면, 상기 인증 기능부는 상기 인출정보에 포함된 사용자의 전자지갑 주소가 지정된 저장영역에 저장되어 있는지 인증하는 인증 절차를 수행하는 기능을 더 포함할 수 있다. 한편 상기 지정된 저장영역은 지정된 암호화폐를 예치한 사용자의 전자지갑 주소를 저장하는 저장영역, 지정된 암호화폐를 예치한 사용자의 전자지갑 주소에 대응하는 공개키를 저장하는 저장영역, 지정된 암호화폐를 예치한 사용자의 전자지갑 주소와 연계된 사용자의 공개키를 저장하는 저장영역 중 적어도 하나의 저장영역을 포함할 수 있다.
본 발명에 따르면, 상기 인증정보는 지정된 운영서버와 상기 스마트 컨트랙드 사이에 합의된 문자열이나 바이너리코드를 포함하는 데이터를 상기 사용자의 개인키를 통해 지정된 암호화 방식으로 암호화하여 생성한 인증정보를 포함할 수 있다.
본 발명에 따르면, 상기 인증정보는 지정된 운영서버와 상기 스마트 컨트랙드 사이에 합의된 복수의 문자열이나 복수의 바이너리코드 중 지정된 인덱스를 통해 상기 운영서버와 스마트 컨트랙트 사이에 동기화되는 문자열이나 바이너리코드를 포함하는 데이터를 상기 사용자의 개인키를 통해 지정된 암호화 방식으로 암호화하여 생성한 인증정보를 포함하며, 상기 인출정보는 상기 운영서버와 스마트 컨트랙드 사이에 상기 암호화된 문자열이나 바이너리코드를 동기화하기 위한 인덱스를 더 포함할 수 있다.
본 발명에 따르면, 상기 인증정보는 상기 인출정보에 포함되는 전자지갑 주소(또는 전자지갑 주소의 적어도 일부 영역)를 포함하는 데이터를 상기 사용자의 개인키를 통해 지정된 암호화 방식으로 암호화하여 생성한 인증정보를 포함할 수 있다.
본 발명에 따르면, 상기 인증정보는 상기 인출정보에 포함되는 암호화폐 단위(또는 암호화폐 단위의 적어도 일부 영역)를 포함하는 데이터를 상기 사용자의 개인키를 통해 지정된 암호화 방식으로 암호화하여 생성한 인증정보를 포함할 수 있다.
본 발명에 따르면, 상기 인증정보는 상기 인출정보에 포함되는 전자지갑 주소(또는 전자지갑 주소의 적어도 일부 영역)과 암호화폐 단위(또는 암호화폐 단위의 적어도 일부 영역)를 포함하는 데이터를 상기 사용자의 개인키를 통해 지정된 암호화 방식으로 암호화하여 생성한 인증정보를 포함할 수 있다.
본 발명에 따르면, 상기 인증정보는 지정된 운영서버와 상기 스마트 컨트랙드가 기 설정된 규칙에 따라 지정된 블록체인 상의 특정 블록 내 특정 저장위치를 동기화하여 획득하는 데이터를 상기 사용자의 개인키를 통해 지정된 암호화 방식으로 암호화하여 생성한 인증정보를 포함할 수 있다.
본 발명에 따르면, 상기 인증 기능부는 지정된 저장영역에 저장된 사용자의 공개키를 통해 상기 인증정보를 복호화하여 지정된 운영서버와 합의되거나 동기화된 데이터와 매칭되는지 인증하는 인증 절차를 수행하는 기능을 포함할 수 있다.
본 발명에 따르면, 상기 저장 기능부는 지정된 암화화폐를 인출받은 사용자의 전자지갑 주소와 상기 인출된 암호화폐 단위를 포함하는 암호화폐 인출정보를 지정된 저장영역에 저장하는 기능을 더 포함할 수 있다. 한편 상기 지정된 저장영역은 스마트 컨트랙트의 상태를 저장하는 저장영역, 또는 상기 암호화폐의 인출과 관련된 정보를 저장하기 위해 설정된 저장영역을 포함할 수 있다.
본 발명에 따르면, 상기 블록체인 기반 스마트 컨트랙트를 이용한 암호화폐 거래 플랫폼 제공 방법은, 상기 외부 블록체인 네트워크 상에 구비된 노드장치를 참조하여 상기 스마트 컨트랙트를 통해 지정된 사용자의 전자지갑으로 지정된 암호화폐 단위를 인출한 인출결과에 대응하는 암호화폐 인출정보를 확인하는 제6 단계와, 상기 암호화폐 인출정보를 확인한 경우 상기 사용자의 전자지갑으로 상기 암호화폐 단위를 인출한 거래정보를 생성하여 지정된 데이터베이스에 동기화하여 저장하는 제7 단계를 더 포함할 수 있다.
본 발명에 따르면, 암호화폐를 예치 가능하지만 미리 코딩된 규칙이나 기능에 의하지 아니하고는 암호화폐를 임의로 인출하는 것이 불가하며 상기 코딩된 규칙이나 기능의 위변조가 불가한 블록체인 기반 스마트 컨트랙트를 전자지갑 간 암호화폐 거래의 에스크로우 매체나 거래소 기반 암호화폐 거래의 매개체로 이용함으로써, 상기 스마트 컨트랙트를 전자지갑 간 암호화폐 거래의 에스크로우 매체나 거래소 기반 암호화폐 거래의 매개체로 이용하여 거래되는 암호화폐의 탈취를 원천 차단하여 안전하고 신뢰성있는 암호화폐 거래 플랫폼을 제공하는 이점이 있다.
본 발명에 따르면, 사용자의 전자지갑을 통해 외부 블록체인 네트워크 상의 컨트랙트에 소정의 암호화폐를 예치한 후, 상기 외부 블록체인 네트워크와 구별되는 별도의 지정된 내부 블록체인 네트워크를 통해 상기 스마트 컨트랙트에 예치된 암호화폐에 근거하는 탈중앙화 방식의 암호화폐 거래를 제공함으로써, 암호화폐 거래를 제공하는 서버를 해킹하더라도 상기 내부 블록체인 네트워크를 통해 탈중앙화 방식으로 수행된 암호화폐 거래의 거래내역이 안정하게 유지되도록 하는 이점이 있다.
본 발명에 따르면, 외부 블록체인 네트워크 상의 컨트랙트에 사용자의 공개키를 기록한 후, 상기 외부 블록체인 네트워크와 구별되는 별도의 지정된 내부 블록체인 네트워크를 통해 상기 스마트 컨트랙트에 예치된 암호화폐에 근거하는 탈중앙화 방식의 암호화폐 거래를 제공하되, 상기 내부 블록체인 네트워크를 이용한 암호화폐 거래 결과의 적어도 일부에 대응하는 암호화폐를 상기 스마트 컨트랙트로부터 사용자의 전자지갑으로 인출하는 경우 지정된 본인 인증 절차를 거쳐 인증된 사용자의 개인키를 통해 생성된 인증정보를 상기 스마트 컨트랙트를 통해 인증하는 절차를 수행하여 안전하게 상기 스마트 컨트랙트에 예치된 암호화폐를 인출하는 이점이 있다.
본 발명에 따르면, 외부 블록체인 네트워크 상의 스마트 컨트랙트에 지정된 암호화폐를 예치한 사용자의 공개키를 상기 스마트 컨트랙트에 내에 미리 기록해 놓은 후에, 상기 외부 블록체인 네트워크 상의 스마트 컨트랙트에 예치된 암호화폐를 사용자의 전자지갑으로 인출하기 위해 사용자의 전자지갑 주소와 상기 인출될 암호화폐 단위를 포함하는 인출정보를 기 설정된 동작 절차에 따라 상기 외부 블록체인 네트워크 상의 스마트 컨트랙트로 전달 시, 지정된 본인 인증 절차를 통해 인증된 사용자의 개인키를 이용하여 생성된 인증정보를 상기 인출정보에 포함시켜 스마트 컨트랙트로 제공하면, 상기 스마트 컨트랙트가 지정된 저장영역에 기 저장된 상기 사용자의 공개키를 통해 상기 인증정보의 유효성을 인증한 후 상기 인출정보의 인출 절차를 수행함으로써, 상기 인출정보를 스마트 컨트랙트로 전달하기 위해 이용되는 특정 노드장치의 개인키가 탈취되더라도 상기 인증정보를 생성하는데 이용되는 각 사용자의 개인키까지 동시에 탈취되지 않는 한 상기 스마트 컨트랙트에 예치된 암호화폐를 부정 인출할 수 없도록 차단하는 이점이 있다.
도 1은 본 발명의 실시 방법에 따라 블록체인 기반 스마트 컨트랙트를 이용한 암호화폐 거래 플랫폼을 제공하는 시스템의 구성을 도시한 도면이다.
도 2는 본 발명의 실시 방법에 따라 암호화폐 거래 플랫폼을 제공하는 블록체인 기반 스마트 컨트랙트의 기능 구성을 도시한 도면이다.
도 3은 본 발명의 실시 방법에 따라 외부 블록체인 네트워크의 노드장치에 스마트 컨트랙트를 등록하는 과정을 도시한 도면이다.
도 4는 본 발명의 실시 방법에 따른 암호화폐 거래를 위한 정보 등록 과정을 도시한 도면이다.
도 5는 본 발명의 일 실시 방법에 따라 사용자의 공개키를 스마트 컨트랙트에 기록하는 과정을 도시한 도면이다.
도 6은 본 발명의 다른 일 실시 방법에 따라 사용자의 공개키를 스마트 컨트랙트에 기록하는 과정을 도시한 도면이다.
도 7은 본 발명의 일 실시 방법에 따라 내부 블록체인 네트워크를 통해 암호화폐 거래를 제공하는 과정을 도시한 도면이다.
도 8은 본 발명의 다른 일 실시 방법에 따라 내부 블록체인 네트워크를 통해 암호화폐 거래를 제공하는 과정을 도시한 도면이다.
도 9는 본 발명의 실시 방법에 따라 스마트 컨트랙트에 예치된 암호화폐를 인출하기 위한 정보를 구성하는 과정을 도시한 도면이다.
도 10은 본 발명의 실시 방법에 따라 스마트 컨트랙트에 예치된 암호화폐를 인출하는 과정을 도시한 도면이다.
이하 첨부된 도면과 설명을 참조하여 본 발명의 바람직한 실시예에 대한 동작 원리를 상세히 설명한다. 다만, 하기에 도시되는 도면과 후술되는 설명은 본 발명의 특징을 효과적으로 설명하기 위한 여러 가지 방법 중에서 바람직한 실시 방법에 대한 것이며, 본 발명이 하기의 도면과 설명만으로 한정되는 것은 아니다.
즉, 하기의 실시예는 본 발명의 수 많은 실시예 중에 바람직한 합집합 형태의 실시예 예에 해당하며, 하기의 실시예에서 특정 구성(또는 단계)를 생략하는 실시예, 또는 특정 구성(또는 단계)에 구현된 기능을 특정 구성(또는 단계)로 분할하는 실시예, 또는 둘 이상의 구성(또는 단계)에 구현된 기능을 어느 하나의 구성(또는 단계)에 통합하는 실시예, 특정 구성(또는 단계)의 동작 순서를 교체하는 실시예 등은, 하기의 실시예에서 별도로 언급하지 않더라도 모두 본 발명의 권리범위에 속함을 명백하게 밝혀두는 바이다. 따라서 하기의 실시예를 기준으로 부분집합 또는 여집합에 해당하는 다양한 실시예들이 본 발명의 출원일을 소급받아 분할될 수 있음을 분명하게 명기하는 바이다.
또한, 하기에서 본 발명을 설명함에 있어 관련된 공지 기능 또는 구성에 대한 구체적인 설명이 본 발명의 요지를 불필요하게 흐릴 수 있다고 판단되는 경우에는 그 상세한 설명을 생략할 것이다. 그리고 후술되는 용어들은 본 발명에서의 기능을 고려하여 정의된 용어들로서, 이는 사용자, 운용자의 의도 또는 관례 등에 따라 달라질 수 있다. 그러므로 그 정의는 본 발명에서 전반에 걸친 내용을 토대로 내려져야 할 것이다.
결과적으로, 본 발명의 기술적 사상은 청구범위에 의해 결정되며, 이하 실시예는 진보적인 본 발명의 기술적 사상을 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자에게 효율적으로 설명하기 위한 일 수단일 뿐이다.
도면1은 본 발명의 실시 방법에 따라 블록체인 기반 스마트 컨트랙트(210)를 이용한 암호화폐 거래 플랫폼을 제공하는 시스템의 구성을 도시한 도면이다.
보다 상세하게 본 도면1은 지정된 외부 블록체인 네트워크(200) 상에 구비된 M(M≥2)개의 노드장치(205)를 통해 탈중앙화 형태로 실행되며 상기 외부 블록체인 네트워크(200) 상의 유효한 전자지갑을 통해 암호화폐를 예치 가능하지만 미리 코딩된 규칙이나 기능에 의하지 아니하고는 상기 예치된 암호화폐를 임의로 인출하는 것이 불가한 스마트 컨트랙트(210)(Smart Contract)를 전자지갑 간 암호화폐 거래의 안전한 에스크로우 매체나 거래소 기반 암호화폐 거래의 안전한 매개체로 이용하기 위해 상기 스마트 컨트랙트(210)의 지정된 저장영역에 사용자의 공개키를 기록한 후, 상기 외부 블록체인 네트워크(200)와 구별되는 별도의 지정된 내부 블록체인 네트워크(130)를 통해 상기 스마트 컨트랙트(210)에 예치된 암호화폐에 근거하는 암호화폐 거래를 제공하되, 상기 내부 블록체인 네트워크(130)를 이용한 암호화폐 거래 결과의 적어도 일부에 대응하는 암호화폐를 상기 스마트 컨트랙트(210)로부터 사용자의 전자지갑으로 인출하는 경우 지정된 본인 인증 절차를 거쳐 인증된 사용자의 개인키를 통해 생성된 인증정보를 상기 스마트 컨트랙트(210)를 통해 인증하는 절차를 수행하여 안전하게 상기 스마트 컨트랙트(210)에 예치된 암호화폐를 인출하는 암호화폐 거래 플랫폼을 제공하는 시스템의 구성을 도시한 것으로서, 본 발명이 속한 기술분야에서 통상의 지식을 가진 자라면, 본 도면1을 참조 및/또는 변형하여 상기 시스템의 구성에 대한 다양한 실시 방법(예컨대, 일부 구성부가 생략되거나, 또는 세분화되거나, 또는 합쳐진 실시 방법)을 유추할 수 있을 것이나, 본 발명은 상기 유추되는 모든 실시 방법을 포함하여 이루어지며, 본 도면1에 도시된 실시 방법만으로 그 기술적 특징이 한정되지 아니한다.
본 발명의 시스템은, 블록체인 기반의 암호화폐를 거래할 사용자가 이용하는 사용자단말(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)를 상기 별도의 서버 형태로 도시하여 본 발명의 특징을 설명하기로 한다.
상기 사용자단말(180)은 블록체인 기반의 암호화폐를 거래할 사용자가 이용하는 단말기의 총칭으로서, 유성망에 연결된 컴퓨터, 노트북 등의 유선단말과, 무선망에 연결된 휴대폰, 스마트폰, 태블릿PC, 노트북 등의 무선단말을 중 적어도 하나를 포함한다. 바람직하게, 상기 사용자단말(180)은 하나 이상의 암호화폐 거래를 제공하거나 및/또는 하나 이상의 암호화폐를 이용하여 지정된 블록체인 기반 서비스를 제공하기 위한 앱(Application)이 설치될 수 있으며, 실시 방법에 따라 일부의 구성은 웹 방식으로 구현될 수도 있다. 이하, 별도의 언급이 없더라도 상기 사용자단말(180)을 주체로 하여 설명하는 기능은 상기 사용자단말(180)에 설치된 앱이나 웹 방식을 통해 구현되는 것임을 명백하게 밝혀두는 바이다.
상기 서비스서버(170)는 사용자단말(180)로 암호화폐 거래나 지정된 블록체인 기반 서비스를 제공하기 위해 구비되는 서버의 총칭으로서, 각각의 거래 대상 암호화폐를 구현하는 B(B≥1)개의 외부 블록체인 네트워크(200) 상에 구비된 각각의 노트장치와 연동할 수 있다. 예를들어, 상기 서비스서버(170)는 사용자단말(180)로 매도/매입 기반의 암호화폐 거래를 제공하기 위한 암호화폐 거래소 서비스를 제공할 수 있다. 또는 상기 서비스서버(170)는 각 사용자의 전자지갑 간 암호화폐 거래를 위한 에스크로우 서비스를 제공할 수 있다. 또는 상기 서비스서버(170)는 암호화폐를 이용한 결제를 구현하는 암호화폐 결제 서비스를 제공할 수 있다.
상기 운영서버(100)는 지정된 외부 블록체인 네트워크(200) 상의 M개의 노드장치(205)에 등록 또는 배포된 지정된 스마트 컨트랙트(210)와 연동하는 기능 구성부를 구비한 서버의 총칭으로서, 바람직하게 도면2에 도시된 스마트 컨트랙트(210)를 지정된 외부 블록체인 네트워크(200) 상의 M개의 노드장치(205)에 등록 또는 배포하는 기능과, 상기 외부 블록체인 네트워크(200) 상의 스마트 컨트랙트(210)에 사용자의 공개키를 기록하기 위한 절차를 수행하는 기능과, 상기 외부 블록체인 네트워크(200)와 구별되는 별도의 지정된 내부 블록체인 네트워크(130)를 운영하거나 연동하는 기능과, 상기 내부 블록체인 네트워크(130)를 통해 상기 스마트 컨트랙트(210)에 예치된 암호화폐에 근거하는 지정된 암호화폐 거래를 구현하는 기능 중 하나 이상을 구비하고, 상기 외부 블록체인 네트워크(200) 상의 스마트 컨트랙트(210)에 예치된 암호화폐 중 상기 내부 블록체인 네트워크(130)를 통한 암호화폐 거래 결과의 적어도 일부에 대응하는 암호화폐를 상기 외부 블록체인 네트워크(200) 상에 유효 생성된 사용자의 전자지갑으로 인출 시 암호화폐 인출을 위한 본인 인증 절차를 수행하여 인증된 사용자의 전자지갑 주소와 상기 인출될 암호화폐 단위 및 상기 인증된 사용자의 개인키를 통해 생성된 인증정보를 확인하고, 기 설정된 스마트 컨트랙트 동작 절차에 따라 상기 암호화폐를 인출받을 사용자의 전자지갑 주소와 상기 인출될 암호화폐 단위 및 상기 생성된 인증정보를 포함하는 인출정보를 상기 외부 블록체인 네트워크(200) 상의 스마트 컨트랙트(210)로 전달하기 위한 절차를 수행할 수 있다.
본 발명의 실시 방법에 따르면, 상기 사용자단말(180)은 운영서버(100)나 서비스서버(170)의 회원으로 가입할 사용자정보를 입력하여 상기 운영서버(100)(또는 서비스서버(170))로 제공하며, 상기 운영서버(100)(또는 서비스서버(170))는 상기 사용자정보의 적어도 일부 정보를 근거로 하나 이상의 사용자단말(180)을 통해 사용자에 대한 본인 인증 절차를 수행하여 인증된 사용자정보를 지정된 데이터베이스에 저장하여 관리한다.
한편 상기 운영서버(100)(또는 서비스서버(170))는 상기 사용자에 대한 본인 인증의 결과를 근거로 지정된 금융사서버(도시생략)와 연동하여 암호화폐 거래를 위한 사용자 명의의 거래계좌(예컨대, 암호화폐 거래를 위한 가상계좌 또는 실시 방법에 따라 실계좌 가능)를 개설하는 절차를 수행하며, 상기 사용자 명의의 거래계좌 개설 시 상기 사용자정보와 상기 개설된 사용자 명의의 거래계좌 정보를 연계하여 지정된 데이터베이스에 저장하여 관리한다.
본 발명의 실시 방법에 따르면, 지정된 외부 블록체인 네트워크(200) 상에 상기 회원 가입한 사용자의 암호화폐 보관 내지 거래를 위한 사용자의 전자지갑이 생성되지 않은 경우, 상기 사용자단말(180)은 저정된 절차에 따라 상기 외부 블록체인 네트워크(200) 상에 사용자의 전자지갑을 생성하는 과정을 수행할 수 있으며, 상기 사용자의 전자지갑을 생성하는 과정과 연동하여 상기 사용자의 전자지갑에 대응하는 공개키와 개인키의 키 쌍이 생성될 수 있다. 바람직하게, 상기 사용자단말(180)은 상기 외부 블록체인 네트워크(200)나 상기 운영서버(100)(또는 서비스서버(170))를 통해 상기 생성된 공개키를 공개하되, 상기 개인키를 안전한 저장용 매체나 네트워크와 분리된 저장장치에 안전하게 보관하는 것이 바람직하다.
상기 사용자단말(180)을 통해 외부 블록체인 네트워크(200) 상에 유효하게 동작하는 유효한 사용자의 전자지갑이 생성되거나 또는 외부 블록체인 네트워크(200) 상에 유효 생성된 사용자의 전자지갑이 확인되면, 상기 사용자단말(180)은 상기 외부 블록체인 네트워크(200) 상에 유효 생성된 사용자의 전자지갑 주소를 운영서버(100)(또는 서비스서버(170))로 전송하며, 상기 운영서버(100)(또는 서비스서버(170))는 상기 사용자단말(180)을 통해 상기 외부 블록체인 네트워크(200) 상에 유효 생성된 사용자의 전자지갑 주소를 확인한다. 한편 실시 방법에 따라 상기 외부 블록체인 네트워크(200) 상에 사용자의 전자지갑을 생성하는 과정은 상기 운영서버(100)(또는 서비스서버(170))의 개입을 통해 수행될 수 있으며, 이 경우 상기 운영서버(100)(또는 서비스서버(170))는 상기 개입을 통해 생성된 사용자의 전자지갑 주소를 확인할 수 있다.
본 발명의 실시 방법에 따르면, 상기 운영서버(100)(또는 서비스서버(170))는 상기 확인된 사용자의 전자지갑 주소에 대한 유효성을 검증하는 절차를 수행할 수 있다. 예를들어, 상기 운영서버(100)(또는 서비스서버(170))는 상기 사용자단말(180)을 통해 확인된 사용자의 전자지갑 주소에 대응하는 사용자의 전자지갑에 예치된 소정의 암호화폐를 상기 스마트 컨트랙트(210)로 예치 처리를 요청 및/또는 상기 예치 처리를 위해 지정된 절차를 수행하거나, 또는 상기 확인된 사용자의 전자지갑 주소에 대응하는 사용자의 전자지갑으로 소정의 암호화폐를 지급한 후 이를 상기 스마트 컨트랙트(210)로 예치 처리를 요청 및/또는 상기 예치 처리를 위해 지정된 절차를 수행할 수 있으며, 상기 스마트 컨트랙트(210)로 소정의 암호화폐를 예치한 사용자의 전자지갑에 대응하는 전자지갑 주소를 상기 외부 블록체인 네트워크(200) 상의 유효한 전자지갑으로 검증할 있다.
상기 운영서버(100)(또는 서비스서버(170))는 상기 검증된 사용자의 전자지갑 주소를 상기 사용자정보와 연계하여 데이터베이스에 저장할 수 있다. 한편 외부 블록체인 네트워크(200) 상에 생성된 전자지갑은 소유자를 식별 불가한 상태이지만, 상기 전자지갑 주소를 상기 운영서버(100)(또는 서비스서버(170))의 사용자정보와 연계 저장함으로써, 상기 전자지갑 주소가 상기 사용자의 명의로 실명 확인된 것으로 간주할 수 있다.
도면1을 참조하면, 상기 운영서버(100)는, 스마트 컨트랙트(210)를 지원하며 지정된 블록체인 알고리즘에 따라 동작하는 B(B≥1)개의 외부 블록체인 네트워크(200)와 연동하는 블록체인 연동부(105)를 구비한다.
상기 블록체인 연동부(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)와 연동할 수 있다.
도면1을 참조하면, 상기 운영서버(100)는, 지정된 외부 블록체인 네트워크(200) 상에 유효 생성된 하나 이상의 전자지갑으로부터 지정된 암호화폐 단위를 스마트 컨트랙트(210)로 예치받는 예치 기능부(215)와, 지정된 암호화폐를 예치한 사용자의 공개키를 확인하여 지정된 저장영역에 저장하는 저장 기능부(220)와, 스마트 컨트랙트(210)에 예치된 암호화폐를 인출받을 사용자의 전자지갑 주소와 상기 인출될 암호화폐 단위 및 사용자의 개인키를 통해 생성된 인증정보를 포함하는 인출정보를 확인하는 확인 기능부(225)와, 상기 사용자의 공개키를 이용하여 상기 인증정보의 유효성을 인증하는 인증 절차를 포함하는 하나 이상의 지정된 인증 절차를 수행하는 인증 기능부(230)와, 상기 지정된 인증 절차의 인증 성공 시 상기 사용자의 전자지갑 주소로 상기 암호화폐 단위를 인출하는 인출 기능부(235)를 구현하는 프로그램 코드를 포함하는 스마트 컨트랙트(210)를 상기 외부 블록체인 네트워크(200) 상에 구비된 M(M≥2)개의 노드장치(205)에 등록하는 절차를 수행하는 컨트랙트 등록부(110)를 구비한다.
지정된 등록단말(도시생략)에서 지정된 외부 블록체인 네트워크(200) 상에 유효 생성된 하나 이상의 전자지갑으로부터 지정된 암호화폐 단위를 스마트 컨트랙트(210)로 예치받는 예치 기능부(215)와, 지정된 암호화폐를 예치한 사용자의 공개키를 확인하여 지정된 저장영역에 저장하는 저장 기능부(220)와, 스마트 컨트랙트(210)에 예치된 암호화폐를 인출받을 사용자의 전자지갑 주소와 상기 인출될 암호화폐 단위 및 사용자의 개인키를 통해 생성된 인증정보를 포함하는 인출정보를 확인하는 확인 기능부(225)와, 상기 사용자의 공개키를 이용하여 상기 인증정보의 유효성을 인증하는 인증 절차를 포함하는 하나 이상의 지정된 인증 절차를 수행하는 인증 기능부(230)와, 상기 지정된 인증 절차의 인증 성공 시 상기 사용자의 전자지갑 주소로 상기 암호화폐 단위를 인출하는 인출 기능부(235)를 구현하는 프로그램 코드를 포함하는 스마트 컨트랙트(210)를 생성하고 지정된 검증 절차를 거쳐 검증 후 등록 요청하면, 상기 컨트랙트 등록부(110)는 상기 등록단말로부터 상기 스마트 컨트랙트(210)를 수신하고, 상기 블록체인 연동부(105)와 연동하여 상기 외부 블록체인 네트워크(200) 상에 구비된 M개의 노드장치(205)에 상기 확인된 스마트 컨트랙트(210)를 배포하여 분산 등록하는 절차를 수행한다. 상기 외부 블록체인 네트워크(200) 상의 노드장치(205)에 등록된 스마트 컨트랙트(210)는 해당 스마트 컨트랙트(210) 내에 코딩된 규칙에 의하지 아니하고는 수정되지 않으며, M개의 노드장치(205)를 이용한 분산 저장에 의해 위변조되지 않는다.
도면1을 참조하면, 상기 운영서버(100)는, 상기 외부 블록체인 네트워크(200) 상의 스마트 컨트랙트(210)에 사용자의 공개키를 기록하는 절차와 상기 스마트 컨트랙트(210)에 기록된 사용자의 공개키를 확인하는 절차 중 적어도 하나의 절차를 수행하는 공개키 처리부(115)를 구비하며, 사용자에 대한 지정된 본인 인증 절차를 수행하는 사용자 인증부(120)를 구비할 수 있다.
본 발명의 제1 공개키 실시예에 따르면, 상기 사용자의 공개키는 외부 블록체인 네트워크(200) 상에 상기 사용자의 전자지갑을 생성하는 과정을 통해 생성된 공개키와 개인키의 키 쌍 중 상기 공개키를 포함할 수 있다. 바람직하게, 외부 블록체인 네트워크(200) 상에 유효한 전자지갑을 생성하는 과정에서 지정된 절차에 따라 지정된 씨드를 이용하여 공개키와 개인키의 키 쌍이 생성될 수 있는데, 상기 사용자의 공개키는 상기 사용자의 전자지갑을 생성하는 과정을 통해 생성된 공개키를 포함할 수 있다. 한편 상기 사용자의 전자지갑을 생성하는 과정을 통해 생성된 공개키는 상기 사용자의 전자지갑 주소로 이용될 수 있는데, 이 경우 상기 사용자의 공개키는 상기 사용자의 전자지갑에 대응하는 공개키라고 할 수 있으며, 상기 저장 기능부(220)는 지정된 암호화폐를 예치한 사용자의 전자지갑 주소에 대응하는 사용자의 공개키를 확인하여 지정된 저장영역에 저장하는 기능을 포함할 수 있다.
본 제1 공개키 실시예에서 사용자단말(180)을 통해 상기 외부 블록체인 네트워크(200) 상의 사용자의 전자지갑에 보유된 지정된 암호화폐 단위가 상기 외부 블록체인 네트워크(200) 상의 스마트 컨트랙트(210)에 예치된 경우, 상기 저장 기능부(220)는 상기 스마트 컨트랙트(210)에 상기 암호화폐를 예치한 사용자의 전자지갑 주소와 상기 예치된 암호화폐 단위를 포함하는 암호화폐 예치정보를 지정된 저장영역에 저장하는 기능을 포함하며, 이에 의해 상기 사용자의 전자지갑 주소에 대응하는 사용자의 공개키는 지정된 저장영역에 저장된다. 바람직하게, 상기 저장 기능부(220)는 각 노드장치(205)의 저장영역 중 스마트 컨트랙트(210)의 상태를 저장하는 저장영역, 또는 상기 암호화폐의 예치와 관련된 정보를 저장하기 위해 설정된 저장영역에 상기 암호화폐 예치정보를 저장하여 관리할 수 있다. 한편 실시 방법에 따라 상기 저장 기능부(220)는 각 노드장치(205)의 저장영역 중 암호화폐의 거래를 저장하는 저장영역(예컨대, 암호화폐의 거래블록을 저장하는 저장영역)에 상기 암호화폐 예치정보를 저장하여 관리할 수 있다. 한편 상기 예치된 암호화폐 단위는 상기 인증된 사용자의 암호화폐 거래를 위해 사용자의 전자지갑으로부터 상기 스마트 컨트랙트(210)로 예치되는 암호화폐 단위, 또는 상기 스마트 컨트랙트(210)를 통해 상기 사용자의 전자지갑 주소를 저장 관리하기 위해 지정된 절차에 따라 상기 인증된 사용자의 전자지갑으로 지급된 후 상기 사용자의 전자지갑으로부터 상기 스마트 컨트랙트(210)로 예치되는 암호화폐 단위를 포함할 수 있다.
한편 본 제1 공개키 실시예에서 사용자단말(180)을 통해 상기 외부 블록체인 네트워크(200) 상의 사용자의 전자지갑에 보유된 지정된 암호화폐 단위가 상기 외부 블록체인 네트워크(200) 상의 스마트 컨트랙트(210)에 예치된 경우, 상기 공개키 처리부(115)는 상기 외부 블록체인 네트워크(200) 상의 스마트 컨트랙트(210)의 지정된 저장영역을 참조하여 상기 스마트 컨트랙트(210)에 상기 암호화폐를 예치한 사용자의 전자지갑 주소와 상기 예치된 암호화폐 단위를 포함하는 암호화폐 예치정보를 확인하고, 상기 스마트 컨트랙트(210)에 상기 암호화폐를 예치한 사용자의 전자지갑 주소와 상기 예치된 암호화폐 단위를 포함하는 암호화폐 예치정보를 지정된 데이터베이스에 저장하여 관리할 수 있다.
본 발명의 실시 방법에 따르면, 상기 공개키 처리부(115)는 상기 스마트 컨트랙트(210)의 지정된 저장영역에 저장된 암호화폐 예치정보의 전자지갑 주소에 대응하는 사용자, 바람직하게 본 제1 공개키 실시예에서 상기 스마트 컨트랙트(210)의 지정된 저장영역에 저장된 사용자의 공개키에 대응하는 사용자를 상기 스마트 컨트랙트(210)에 예치된 암호화폐를 인출 가능한 사용자로 설정하여 사용자정보에 저장할 수 있다. 한편 이 경우 상기 스마트 컨트랙트(210)에 예치된 암호화폐를 상기 사용자의 전자지갑으로 인출하기 위해 수행되는 본인 인증 절차는 상기 암호화폐를 인출할 사용자가 상기 스마트 컨트랙트(210)의 지정된 저장영역에 본인의 공개키가 저장되어 상기 스마트 컨트랙트(210)에 예치된 암호화폐를 인출 가능한 사용자인지 인증하는 절차를 포함할 수 있다.
본 발명의 제2 공개키 실시예에 따르면, 상기 사용자의 공개키는 상기 사용자의 전자지갑 생성과 무관하게 별도 생성된 공개키와 개인키의 키 쌍 중 상기 공개키를 포함할 수 있다. 예를들어, 상기 사용자의 공개키는 사용자에게 발급된 인증서의 공개키를 포함하거나, 또는 외부 블록체인 네트워크(200) 상에 상기 사용자의 전자지갑을 생성하기 전이나 후에 상기 사용자의 전자지갑에 대응하는 공기키 이욍에 별도로 생성된 공개키와 개인키의 키 쌍 중 공개키를 포함하거나, 또는 상기 사용자의 회원 가입 과정과 연동하여 생성된 공개키와 개인키의 키 쌍 중 공개키를 포함할 수 있다.
한편 본 제2 공개키 실시예에서 사용자의 전자지갑 생성과 무관하게 별도 생성된 공개키와 개인키의 키 쌍 중 공개키에 대응하는 사용자의 공개키는 지정된 암호화폐를 예치한 사용자의 전자지갑 주소와 연계되어 지정된 저장영역에 저장될 수 있으며, 이 경우 상기 사용자의 개인키는 상기 사용자의 공개키와 사용자의 전자지갑 주소를 연계하여 지정된 저장영역에 저장함에 의해 상기 사용자의 전자지갑과 연계되는 것으로 간주할 수 있다.
본 제2 공개키 실시예에서 상기 사용자 인증부(120)는 사용자단말(180)을 통해 사용자의 전자지갑 생성과 무관하게 별도 생성된 공개키에 대응하는 사용자의 공개키를 등록하기 위해 접속한 사용자에 대하여 지정된 본인 인증 절차를 수행한다. 여기서, 상기 본인 인증 절차는 회원 가입 시 등록된 ID/PW를 인증하는 인증 절차, 공인인증서를 이용하는 인증 절차, OTP(One Time Password)를 이용하는 인증 절차, SMS/MMS 등의 무선메시지를 이용하는 인증 절차, 전화통화나 ARS를 이용하는 인증 절차, 사용자 무선단말에 설치된 앱을 이용하는 인증 절차, 금융사나 통신사 등의 지정된 기관을 이용하는 인증 절차, 지정된 실명인증기관을 인증 절차 중 지정된 적어도 하나 또는 둘 이상을 조합한 인증 절차를 포함할 수 있으며, 상기 본인 인증 절차의 종류나 방식에 의해 본 발명이 한정되지 아니한다.
한편 본 제2 공개키 실시예에서 사용자단말(180)을 통해 상기 외부 블록체인 네트워크(200) 상의 사용자의 전자지갑에 보유된 지정된 암호화폐 단위가 상기 외부 블록체인 네트워크(200) 상의 스마트 컨트랙트(210)에 예치된 경우, 상기 저장 기능부(220)는 상기 스마트 컨트랙트(210)에 상기 암호화폐를 예치한 사용자의 전자지갑 주소와 상기 예치된 암호화폐 단위를 포함하는 암호화폐 예치정보를 지정된 저장영역에 저장한다. 바람직하게, 상기 저장 기능부(220)는 각 노드장치(205)의 저장영역 중 스마트 컨트랙트(210)의 상태를 저장하는 저장영역, 또는 상기 암호화폐의 예치와 관련된 정보를 저장하기 위해 설정된 저장영역에 상기 암호화폐 예치정보를 저장하여 관리할 수 있다. 한편 실시 방법에 따라 상기 저장 기능부(220)는 각 노드장치(205)의 저장영역 중 암호화폐의 거래를 저장하는 저장영역(예컨대, 암호화폐의 거래블록을 저장하는 저장영역)에 상기 암호화폐 예치정보를 저장하여 관리할 수 있다. 한편 상기 예치된 암호화폐 단위는 상기 인증된 사용자의 암호화폐 거래를 위해 사용자의 전자지갑으로부터 상기 스마트 컨트랙트(210)로 예치되는 암호화폐 단위, 또는 상기 스마트 컨트랙트(210)를 통해 상기 사용자의 전자지갑 주소를 저장 관리하기 위해 지정된 절차에 따라 상기 인증된 사용자의 전자지갑으로 지급된 후 상기 사용자의 전자지갑으로부터 상기 스마트 컨트랙트(210)로 예치되는 암호화폐 단위를 포함할 수 있다.
한편 본 제2 공개키 실시예에서 사용자단말(180)을 통해 상기 외부 블록체인 네트워크(200) 상의 사용자의 전자지갑에 보유된 지정된 암호화폐 단위가 상기 외부 블록체인 네트워크(200) 상의 스마트 컨트랙트(210)에 예치된 경우, 상기 공개키 처리부(115)는 사용자단말(180)과 연동하여 사용자의 전자지갑 생성과 무관하게 별도 생성된 공개키에 대응하는 사용자의 공개키를 확인하고, 기 설정된 스마트 컨트랙트 동작 절차에 따라 상기 사용자의 공개키와 사용자의 전자지갑 주소를 외부 블록체인 네트워크(200) 상의 스마트 컨트랙트(210)로 제공하는 절차를 수행하며, 상기 저장 기능부(220)는 기 설정된 스마트 컨트랙트 동작 절차를 통해 상기 사용자의 공개키와 사용자의 전자지갑 주소를 확인하고, 상기 확인된 사용자의 공개키와 전자지갑 주소를 연계하여 지정된 저장영역에 저장할 수 있다. 한편 상기 저장 기능부(220)는 상기 사용자의 공개키와 사용자의 전자지갑 주소를 확인한 경우 지정된 저장영역(예컨대, 암호화폐 예치정보를 저장하는 저장영역)에 상기 확인된 전자지갑 주소와 매칭되는 전자지갑 주소가 저장되어 있는지 확인할 수 있으며, 상기 지정된 저장영역에 상기 확인된 전자지갑 주소와 매칭되는 전자지갑 주소가 저장된 경우 상기 지정된 저장영역에 상기 확인된 사용자의 공개키와 전자지갑 주소를 연계 저장할 수 있다.
본 발명의 실시 방법에 따르면, 상기 공개키 처리부(115)는 상기 스마트 컨트랙트(210)의 지정된 저장영역에 저장된 암호화폐 예치정보의 전자지갑 주소에 대응하거나 및/또는 상기 암호화폐 예치정보의 전자지갑 주소와 연계 저장된 공개키에 대응하는 사용자, 바람직하게 본 제2 공개키 실시예에서 상기 스마트 컨트랙트(210)의 지정된 저장영역에 저장된 사용자의 공개키에 대응하는 사용자를 상기 스마트 컨트랙트(210)에 예치된 암호화폐를 인출 가능한 사용자로 설정하여 사용자정보에 저장할 수 있다. 한편 이 경우 상기 스마트 컨트랙트(210)에 예치된 암호화폐를 상기 사용자의 전자지갑으로 인출하기 위해 수행되는 본인 인증 절차는 상기 암호화폐를 인출할 사용자가 상기 스마트 컨트랙트(210)의 지정된 저장영역에 본인의 공개키가 저장되어 상기 스마트 컨트랙트(210)에 예치된 암호화폐를 인출 가능한 사용자인지 인증하는 절차를 포함할 수 있다.
한편 본 발명의 실시 방법에 따르면, 상기 제1 또는 제2 공개키 실시예에 따라 스마트 컨트랙트(210)에 사용자의 공개키가 기록된 후에 상기 사용자의 공개키를 이용하는 인증 절차를 거쳐 상기 스마트 컨트랙트(210)에 예치된 암호화폐 중 지정된 암호화폐 단위를 인출하는 절차를 수행할 수 있다.
한편 스마트 컨트랙트(210)에 예치되거나 인출되는 암호화폐는 지정된 외부 블록체인 네트워크(200)를 통해 발행되는 암호코인 형태의 암호화폐, 지정된 암호코인을 발행하는 지정된 외부 블록체인 네트워크(200)를 기반으로 구현되는 암호토큰 형태의 암호화폐 중 적어도 하나를 포함할 수 있다.
도면1을 참조하면, 상기 운영서버(100)는, 상기 외부 블록체인 네트워크(200)와 구별되는 별도의 지정된 내부 블록체인 네트워크(130)를 운영하거나 기 구현된 내부 블록체인 네트워크(130)와 연동하는 내부체인 운영부(125)를 구비한다.
상기 외부 블록체인 네트워크(200)는 지정된 블록체인 알고리즘에 따라 동작하는 M(M≥2)개의 노드장치(205)를 통해 구현되고 지정된 블록체인 알고리즘에 따라 지정된 암호화폐를 발행하는 실제 블록체인 네트워크인 반면, 상기 내부 블록체인 네트워크(130)는 시간 지연 없이 신속하게 암호화폐 거래를 처리하기 위해 구현된 블록체인 네트워크를 포함한다.
본 발명의 제1 내부 블록체인 네트워크(130) 실시예에 따르면, 상기 내부 블록체인 네트워크(130)는 상기 운영서버(100)의 운영사에서 지정 개수의 컴퓨터를 이용하여 구현한 지정 개수의 노드장치를 통해 구현되는 폐쇄형 블록체인 네트워크를 포함할 수 있다. 이 때 상기 지정 개수의 노드장치를 구현하는 지정 개수의 컴퓨터는 물리적으로 구별되는 복수의 컴퓨터를 포함하거나 공간적으로 분리된 장소에 분산된 복수의 컴퓨터를 포함하는 것이 바람직하나, 이에 의해 본 발명이 한정되지 아니한다.
본 발명의 제2 내부 블록체인 네트워크(130) 실시예에 따르면, 상기 내부 블록체인 네트워크(130)는 상기 운영서버(100)의 운영사와 제휴된 회사나 개인이 보유한 지정 개수의 컴퓨터를 이용하여 구현한 지정 개수의 노드장치를 통해 구현되는 폐쇄형 블록체인 네트워크를 포함할 수 있다. 이 때 상기 지정 개수의 노드장치를 구현하는 지정 개수의 컴퓨터는 물리적으로 구별되는 복수의 컴퓨터를 포함하거나 공간적으로 분리된 장소에 분산된 복수의 컴퓨터를 포함하는 것이 바람직하나, 이에 의해 본 발명이 한정되지 아니한다.
본 발명의 제3 내부 블록체인 네트워크(130) 실시예에 따르면, 상기 내부 블록체인 네트워크(130)는 상기 운영서버(100)나 지정된 서비스서버(170) 또는 별도의 지정된 서버를 포함하는 하나 이상의 서버를 통해 소프트웨어적으로 구현된 지정 개수의 가상 노드장치를 통해 구현되는 가상의 블록체인 네트워크를 포함할 수 있다. 이 때 상기 가상 노드장치를 구현하는 서버는 물리적으로 구별되는 복수의 서버를 포함하거나 공간적으로 분리된 장소에 분산된 복수의 서버를 포함하는 것이 바람직하나, 이에 의해 본 발명이 한정되지 아니한다.
본 발명의 제4 내부 블록체인 네트워크(130) 실시예에 따르면, 상기 내부 블록체인 네트워크(130)는 상기 제1 또는 제2 내부 블록체인 네트워크(130) 실시예의 컴퓨터를 통해 구현되는 지정 개수의 노드장치와 상기 제3 내부 블록체인 네트워크(130) 실시예의 서버를 통해 소프트웨어적으로 구현되는 지정 개수의 가상 노드장치를 조합하여 구현되는 하이브리드형 블록체인 네트워크를 포함할 수 있다.
상기 제1 내지 제4 내부 블록체인 네트워크(130) 실시예 중 적어도 하나의 실시예에 대응하는 내부 블록체인 네트워크(130)는 암호화폐 거래에 최적화된 블록체인 알고리즘을 적용한 블록체인 네트워크를 포함하는 것이 바람직하다. 예컨대, 외부 블록체인 네트워크(200)가 암호화폐의 발행과 운영에 최적화되어 있는 반면, 상기 내부 블록체인 네트워크(130)는 자체 암호화폐의 발행이나 운영보다 외부 블록체인 네트워크(200)를 통해 발행된 암호화폐에 대한 신속한 암호화폐 거래를 위한 블록체인 알고리즘을 적용한 블록체인 네트워크를 포함하는 것이 바람직하다.
상기 내부체인 운영부(125)는 상기 제1 내지 제4 내부 블록체인 네트워크(130) 실시예 중 적어도 하나의 실시예에 대응하는 내부 블록체인 네트워크(130)를 운영하거나 상기 제1 내지 제4 내부 블록체인 네트워크(130) 실시예 중 적어도 하나의 실시예를 통해 구현된 내부 블록체인 네트워크(130)와 연동하는 절차를 수행한다.
도면1을 참조하면, 상기 운영서버(100)는, 상기 외부 블록체인 네트워크(200)와 구별되는 별도의 지정된 내부 블록체인 네트워크(130)를 통해 상기 스마트 컨트랙트(210)에 예치된 암호화폐에 근거하는 지정된 암호화폐 거래를 처리하는 절차를 수행하는 거래 절차부(140)를 포함하며, 상기 외부 블록체인 네트워크(200) 상의 스마트 컨트랙트(210)에 사용자의 공개키를 저장한 경우 상기 내부 블록체인 네트워크(130) 상에 사용자의 내부지갑을 생성하거나 기 생성된 사용자의 내부지갑 주소를 확인하고, 상기 외부 블록체인 네트워크(200) 상의 사용자 전자지갑을 통해 상기 외부 블록체인 네트워크(200) 상의 스마트 컨트랙트(210)에 예치된 암호화폐 단위를 확인하여 상기 내부 블록체인 네트워크(130) 상에 생성된 사용자의 내부지갑에 적용하는 체인 연동부(135)를 포함한다.
상기 공개키 처리부(115)를 통해 상기 외부 블록체인 네트워크(200) 상의 스마트 컨트랙트(210)에 상기 사용자의 공개키가 저장된 경우, 상기 체인 연동부(135)는 사용자단말(180)과 통신하거나 상기 내부체인 운영부(125)를 통해 내부 블록체인 네트워크(130)와 연동하여 지정된 내부 블록체인 네트워크(130) 상에 사용자의 내부지갑 주소를 생성하는 절차를 수행할 수 있다. 이 경우 상기 체인 연동부(135)는 상기 제1 또는 제2 내부지갑 실시예를 통해 상기 내부 블록체인 네트워크(130) 상에 생성된 사용자의 내부지갑 주소와 사용자정보를 연계 저장할 수 있다. 한편 상기 체인 연동부(135)는 사용자정보와 연계 저장된 내부지갑 주소를 조회하여 상기 내부 블록체인 네트워크(130) 상에 기 생성된 사용자의 내부지갑 주소를 확인할 수 있다.
본 발명의 제1 내부지갑 실시예에 따르면, 상기 내부 블록체인 네트워크(130) 상에 생성되는 사용자의 내부지갑은 특정한 외부 블록체인 네트워크(200) 상에 유효 생성된 사용자의 전자지갑을 상기 내부 블록체인 네트워크(130) 상의 암호화폐 거래에 이용하기 위해 가상화(또는 복사)한 전자지갑을 포함할 수 있다.
본 발명의 제2 내부지갑 실시예에 따르면, 상기 내부 블록체인 네트워크(130) 상에 생성되는 사용자의 내부지갑은 상기 내부 블록체인 네트워크(130) 상의 암호화폐 거래를 위해 별도 생성된 전자지갑을 포함할 수 있다. 이 경우 상기 별도 생성된 사용자의 내부지갑은 특정한 외부 블록체인 네트워크(200)를 통해 발행되는 특정한 암호화폐를 거래 가능한 구조로 생성된 전자지갑을 포함할 수 있으며, 또는 둘 이상의 외부 블록체인 네트워크(200)를 통해 발행되는 둘 이상의 이종의 암호화폐를 이용한 암호화폐 거래를 제공 가능한 구조로 생성된 통합 구조의 전자지갑을 포함할 수 있다.
한편 상기 내부 블록체인 네트워크(130) 상에 사용자의 내부지갑이 생성되거나 상기 내부 블록체인 네트워크(130) 상에 생성된 사용자의 내부지갑이 확인되면, 상기 체인 연동부(135)는 사용자정보를 근거로 외부 블록체인 네트워크(200) 상의 사용자 전자지갑을 통해 상기 외부 블록체인 네트워크(200) 상의 스마트 컨트랙트(210)에 예치된 암호화폐 단위를 확인하고, 상기 확인된 암호화폐 단위를 상기 내부 블록체인 네트워크(130) 상에 생성된 사용자의 내부지갑에 적용한다. 바람직하게, 상기 체인 연동부(135)는 상기 내부 블록체인 네트워크(130) 상에 상기 사용자의 내부지갑이 생성됨과 동시에 상기 사용자 전자지갑을 통해 상기 스마트 컨트랙트(210)에 예치된 암호화폐 단위를 상기 사용자의 내부지갑으로 동기화하는 것이 바람직하며, 이후 상기 사용자 전자지갑을 통해 상기 스마트 컨트랙트(210)에 소정의 암호화폐 단위가 추가로 예치되는 경우에 상기 스마트 컨트랙트(210)에 추가 예치된 암호화폐 단위를 상기 사용자의 내부지갑에 추가하는 것이 바람직하다.
상기 사용자 전자지갑을 통해 상기 스마트 컨트랙트(210)에 예치된 암호화폐 단위가 상기 사용자의 내부지갑에 적용된 후, 상기 거래 절차부(140)는 상기 사용자의 내부지갑을 이용한 암호화폐 거래를 제공할 수 있다.
본 발명의 제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의 전자지갑으로 인출하여 수취할 수 있다.
본 발명의 제2 암호화폐 거래 방식 실시예에 따르면, 상기 거래 절차부(140)는 사용자단말(180)로 상기 내부 블록체인 네트워크(130) 상에 생성된 사용자의 내부지갑을 이용하여 거래소 기반의 암호화폐 거래를 처리하기 위한 암호화폐 거래 환경을 제공하고, 사용자단말(180)로부터 상기 암호화폐 거래 환경을 통해 요청되는 거래소 기반 암호화폐 거래를 처리할 수 있다.
본 발명의 제3 암호화폐 거래 방식 실시예에 따르면, 상기 거래 절차부(140)는 상기 제1 암호화폐 거래 방식 실시예의 전자지갑 간 암호화폐 거래 요소의 적어도 일부와 상기 제2 암호화폐 거래 방식 실시예의 거래소 기반 암호화폐 거래 요소의 적어도 일부를 조합한 형태의 암호화폐 거래를 처리할 수 있으며, 이에 의해 본 발명이 한정되지 아니한다.
한편 본 발명의 실시 방법에 따르면, 상기 제2 내지 제3 암호화폐 거래 방식 실시예 중 적어도 하나의 실시예에 대응하는 암호화폐 거래에 대한 거래내역이 생성되어 상기 내부 블록체인 네트워크(130) 상의 블록에 기록되는 경우, 상기 거래 절차부(140)는 상기 내부 블록체인 네트워크(130)를 이용한 암호화폐 거래에 의해 상기 내부 블록체인 네트워크(130) 상의 블록에 기록된 거래내역을 확인하여 지정된 데이터베이스에 동기화하여 저장할 수 있다.
//-
한편 본 발명의 실시 방법에 따르면, 상기 내부 블록체인 네트워크(130)는 B개의 외부 블록체인 네트워크(200)를 통해 구현되는 C(C≥B)종의 암호화폐 중에서 지정된 c(1≤c≤C)종의 암호화폐에 대한 동종 간 암호화폐 거래와 이종 간 암호화폐 거래 중 하나 이상의 암호화폐 거래를 탈중앙화 방식 암호화폐 거래로 처리하기 위해 설계된 블록체인 네트워크를 포함할 수 있다.
한편 본 발명의 실시 방법에 따르면, 상기 내부 블록체인 네트워크(130)는 B개의 외부 블록체인 네트워크(200)와 망분리된 형태의 블록체인 네트워크를 포함할 수 있다. 이 경우 상기 내부 블록체인 네트워크(130)를 이용한 암호화폐 거래의 중간 과정은 상기 외부 블록체인 네트워크(200)에 반영하지 않으며, 다만 상기 외부 블록체인 네트워크(200) 상의 스마트 컨트랙트(210)에 예치된 암호화폐 단위를 사용자의 전자지갑으로 인출하는 과정을 통해서만 상기 인출 과정의 직전까지 상기 내부 블록체인 네트워크(130)를 통해 수행된 암호화폐 거래 결과 중 적어도 일부가 상기 외부 블록체인 네트워크(200)에 간접적으로 반영될 수 있다.
본 발명의 제1 암호화폐 거래 종류 실시예에 따르면, 상기 내부 블록체인 네트워크(130)를 통해 탈중앙화 방식으로 제공되는 동종 간 암호화폐 거래는, 송금 측 사용자의 내부지갑에서 제i(1≤i≤c)의 암호화폐를 인출하여 수취 측 사용자의 내부지갑으로 이전하는 전자지갑 간 동종의 암호화폐 거래를 포함할 수 있다. 여기서, 상기 송금 측 사용자는 상기 외부 블록체인 네트워크(200) 상의 스마트 컨트랙트(210)에 제i의 암호화폐를 예치한 사용자를 포함하고, 상기 수취 측 사용자는 상기 외부 블록체인 네트워크(200) 상의 스마트 컨트랙트(210)에 예치된 제i의 암호화폐를 인출하는 사용자를 포함할 수 있다.
본 발명의 제2 암호화폐 거래 종류 실시예에 따르면, 상기 내부 블록체인 네트워크(130)를 통해 탈중앙화 방식으로 제공되는 동종 간 암호화폐 거래는, 실물화폐와 제i(1≤i≤c)의 암호화폐 간 환율을 기반으로 제i의 암호화폐의 매도/매수를 위한 암호화폐 거래 환경을 제공하고, 상기 암호화폐 거래 환경을 통해 매도 측 사용자와 매수 측 사용자가 거래가 성립된 경우에 상기 실물화폐를 이용하여 매도 측 사용자의 내부지갑에서 제i의 암호화폐를 인출하여 매수 측 사용자의 내부지갑으로 이전하는 거래소 기반 동종의 암호화폐 거래를 포함할 수 있다.
본 발명의 제3 암호화폐 거래 종류 실시예에 따르면, 상기 내부 블록체인 네트워크(130)를 통해 탈중앙화 방식으로 제공되는 동종 간 암호화폐 거래는, 기 설정된 기준 암호화폐(예컨대, 비트코인, 이더리움 등)와 제i(1≤i≤c)의 암호화폐 간 환율을 기반으로 제i의 암호화폐의 매도/매수를 위한 암호화폐 거래 환경을 제공하고, 상기 암호화폐 거래 환경을 통해 매도 측 사용자와 매수 측 사용자가 거래가 성립된 경우에 상기 기준 암호화폐를 이용하여 매도 측 사용자의 내부지갑에서 제i의 암호화폐를 인출하여 매수 측 사용자의 내부지갑으로 이전하는 거래소 기반 동종의 암호화폐 거래를 포함할 수 있다.
본 발명의 제4 암호화폐 거래 종류 실시예에 따르면, 상기 내부 블록체인 네트워크(130)를 통해 탈중앙화 방식으로 제공되는 이종 간 암호화폐 거래는, 송금 측 사용자의 내부지갑에서 제i(1≤i≤c)의 암호화폐를 인출하고 각 암호화폐 간 환율을 기반으로 상기 제i의 암호화폐를 지정된 제j(1≤j≤c, i≠j)의 암호화폐로 변환하여 수취 측 사용자의 내부지갑으로 이전하는 전자지갑 간 이종의 암호화폐 거래를 포함할 수 있다. 여기서, 상기 송금 측 사용자는 상기 외부 블록체인 네트워크(200) 상의 스마트 컨트랙트(210)에 제i의 암호화폐를 예치한 사용자를 포함하고, 상기 수취 측 사용자는 상기 외부 블록체인 네트워크(200) 상의 스마트 컨트랙트(210)에 예치된 제j의 암호화폐를 인출하는 사용자를 포함할 수 있다.
도면1을 참조하면, 상기 운영서버(100)는, 상기 외부 블록체인 네트워크(200) 상의 스마트 컨트랙트(210)에 예치된 암호화폐 중 상기 내부 블록체인 네트워크(130)를 통한 암호화폐 거래 결과의 적어도 일부에 대응하는 암호화폐를 상기 외부 블록체인 네트워크(200) 상에 유효 생성된 사용자의 전자지갑으로 인출 시, 사용자단말(180)을 통해 접속한 사용자에 대하여 암호화폐의 인출을 위해 지정된 본인 인증 절차를 수행하는 사용자 인증부(120)와, 상기 사용자단말(180)을 통해 상기 암호화폐가 인출될 사용자의 전자지갑 주소와 암호화폐 단위를 수신하거나 확인하는 인출요청 확인부(145)와, 상기 본인 인증을 통해 인증된 사용자의 개인키를 통해 생성된 인증정보를 수신하거나 확인하는 인증정보 확인부(150)와, 기 설정된 스마트 컨트랙트 동작 절차에 따라 상기 암호화폐를 인출받을 사용자의 전자지갑 주소와 상기 인출될 암호화폐 단위 및 상기 생성된 인증정보를 포함하는 인출정보를 상기 외부 블록체인 네트워크(200) 상의 스마트 컨트랙트(210)로 전달하기 위한 절차를 수행하는 인출 절차부(155)를 포함한다.
상기 외부 블록체인 네트워크(200) 상의 스마트 컨트랙트(210)에 예치된 암호화폐 중 상기 내부 블록체인 네트워크(130)를 통한 암호화폐 거래 결과의 적어도 일부에 대응하는 암호화폐를 상기 외부 블록체인 네트워크(200) 상에 유효 생성된 사용자의 전자지갑으로 인출 시, 상기 사용자 인증부(120)는 사용자단말(180)을 이용하여 암호화폐의 인출을 위해 접속한 사용자에 대하여 상기 암호화폐의 인출을 위해 지정된 본인 인증 절차를 수행한다. 여기서, 상기 본인 인증 절차는 회원 가입 시 등록된 ID/PW를 인증하는 인증 절차, 공인인증서를 이용하는 인증 절차, OTP(One Time Password)를 이용하는 인증 절차, SMS/MMS 등의 무선메시지를 이용하는 인증 절차, 전화통화나 ARS를 이용하는 인증 절차, 사용자 무선단말에 설치된 앱을 이용하는 인증 절차, 금융사나 통신사 등의 지정된 기관을 이용하는 인증 절차, 지정된 실명인증기관을 인증 절차 중 지정된 적어도 하나 또는 둘 이상을 조합한 인증 절차를 포함할 수 있으며, 상기 본인 인증 절차의 종류나 방식에 의해 본 발명이 한정되지 아니한다.
한편 상기 공개키 처리부(115)를 통해 상기 스마트 컨트랙트(210)의 지정된 저장영역에 저장된 사용자의 공개키에 대응하는 사용자를 상기 스마트 컨트랙트(210)에 예치된 암호화폐를 인출 가능한 사용자로 설정하여 저장한 경우, 상기 사용자 인증부(120)는 상기 암호화폐를 인출할 사용자가 상기 스마트 컨트랙트(210)의 지정된 저장영역에 본인의 공개키가 저장되어 상기 스마트 컨트랙트(210)에 예치된 암호화폐를 인출 가능한 사용자인지 인증하는 인증 절차를 더 수행할 수 있으며, 이 경우 상기 스마트 컨트랙트(210)에 예치된 지정도니 암호화폐를 인출 가능한 사용자는 상기 스마트 컨트랙트(210)에 사용자의 공개키를 저장한 이력이 있는 사용자로만 제한될 수 있다.
한편 상기 사용자 인증부(120)를 통한 사용자의 본인 인증 전 또는 중 또는 후의 지정된 일 시점에, 상기 외부 블록체인 네트워크(200) 상의 스마트 컨트랙트(210)에 예치된 암호화폐를 인출할 사용자가 지정된 사용자단말(180)을 통해 상기 외부 블록체인 네트워크(200) 상에 유효 생성된 전자지갑 중 상기 암호화폐를 인출받을 사용자의 전자지갑 주소를 입력하거나 선택하고, 상기 내부 블록체인 네트워크(130)를 통한 암호화폐 거래 결과로서 상기 내부 블록체인 네트워크(130) 상에 생성된 사용자의 내부지갑에 보유된 암호화폐 중 상기 사용자의 전자지갑으로 인출할 암호화폐 단위를 입력하거나 선택하면, 상기 사용자단말(180)은 상기 암호화폐가 인출될 사용자의 전자지갑 주소와 암호화폐 단위를 상기 운영서버(100)로 전송하며, 상기 인출요청 확인부(145)는 상기 사용자단말(180)을 통해 상기 암호화폐가 인출될 사용자의 전자지갑 주소와 암호화폐 단위를 수신할 수 있다. 한편 상기 사용자단말(180)은 상기 암호화폐가 인출될 사용자의 전자지갑 주소를 미리 등록하고 상기 내부 블록체인 네트워크(130) 상에 생성된 사용자의 내부지갑에 보유된 암호화폐를 상기 외부 네트워크 상에 사용된 사용자의 전자지갑으로 인출할 조건(예컨대, 내부 블록체인 네트워크(130) 상에 생성된 사용자의 내부지갑에 지정된 기준값 이상의 암호화폐 보유 시 외부 블록체인 네트워크(200) 상에 생성된 사용자의 전자지갑으로 인출하는 조건 등)을 등록할 수 있으며, 상기 인출요청 확인부(145)는 상기 등록된 조건에 따라 암호화폐가 인출될 사용자의 전자지갑 주소와 암호화폐 단위를 확인할 수 있다.
한편 상기 사용자 인증부(120)를 통해 상기 암호화폐를 인출할 사용자의 본인 인증이 확인된 경우, 상기 인증정보 확인부(150)는 상기 사용자단말(180)로부터 상기 본인 인증을 통해 인증된 사용자의 개인키를 통해 생성된 인증정보를 수신하거나 또는 상기 본인 인증을 통해 인증된 사용자의 개인키를 통해 운영서버(100) 측에서 생성한 인증정보를 확인할 수 있다.
본 발명의 제1 인증정보 실시예에 따르면, 상기 인증정보는 지정된 운영서버(100)와 상기 스마트 컨트랙드 사이에 합의된 문자열이나 바이너리코드를 포함하는 데이터를 상기 사용자의 개인키를 통해 지정된 암호화 방식으로 암호화하여 생성한 인증정보를 포함할 수 있는데, 이 경우 상기 인증정보 확인부(150)는 상기 본인 인증을 통해 인증된 사용자의 개인키를 통해 상기 운영서버(100)와 스마트 컨트랙드 사이에 합의된 문자열이나 바이너리코드를 포함하는 데이터를 지정된 암호화 방식으로 암호화하여 생성한 인증정보를 수신하거나 확인할 수 있다.
본 발명의 제2 인증정보 실시예에 따르면, 상기 인증정보는 지정된 운영서버(100)와 상기 스마트 컨트랙드 사이에 합의된 복수의 문자열이나 복수의 바이너리코드 중 지정된 인덱스를 통해 상기 운영서버(100)와 스마트 컨트랙트(210) 사이에 동기화되는 문자열이나 바이너리코드를 포함하는 데이터를 상기 사용자의 개인키를 통해 지정된 암호화 방식으로 암호화하여 생성한 인증정보를 포함할 수 있으며, 이 경우 상기 인증정보 확인부(150)는 상기 본인 인증을 통해 인증된 사용자의 개인키를 통해 상기 운영서버(100)와 스마트 컨트랙드 사이에 합의된 복수의 문자열이나 복수의 바이너리코드 중 지정된 인덱스를 통해 상기 운영서버(100)와 스마트 컨트랙트(210) 사이에 동기화되는 문자열이나 바이너리코드를 포함하는 데이터를 지정된 암호화 방식으로 암호화하여 생성한 인증정보를 수신하거나 확인할 수 있다. 한편 이 경우 상기 인출정보는 상기 운영서버(100)와 스마트 컨트랙드 사이에 상기 암호화된 문자열이나 바이너리코드를 동기화하기 위한 인덱스를 더 포함할 수있다.
본 발명의 제3 인증정보 실시예에 따르면, 상기 인증정보는 상기 인출정보에 포함되는 전자지갑 주소(또는 전자지갑 주소의 적어도 일부 영역)를 포함하는 데이터를 상기 사용자의 개인키를 통해 지정된 암호화 방식으로 암호화하여 생성한 거래연동 인증정보를 포함할 수 있으며, 이 경우 상기 인증정보 확인부(150)는 상기 본인 인증을 통해 인증된 사용자의 개인키를 통해 상기 인출정보에 포함되는 전자지갑 주소(또는 전자지갑 주소의 적어도 일부 영역)를 포함하는 데이터를 지정된 암호화 방식으로 암호화하여 생성한 인증정보를 수신하거나 확인할 수 있다.
본 발명의 제4 인증정보 실시예에 따르면, 상기 인증정보는 상기 인출정보에 포함되는 암호화폐 단위(또는 암호화폐 단위의 적어도 일부 영역)를 포함하는 데이터를 상기 사용자의 개인키를 통해 지정된 암호화 방식으로 암호화하여 생성한 거래연동 인증정보를 포함할 수 있으며, 이 경우 상기 인증정보 확인부(150)는 상기 본인 인증을 통해 인증된 사용자의 개인키를 통해 상기 인출정보에 포함되는 암호화폐 단위(또는 암호화폐 단위의 적어도 일부 영역)를 포함하는 데이터를 지정된 암호화 방식으로 암호화하여 생성한 인증정보를 수신하거나 확인할 수 있다.
본 발명의 제5 인증정보 실시예에 따르면, 상기 인증정보는 상기 인출정보에 포함되는 전자지갑 주소(또는 전자지갑 주소의 적어도 일부 영역)과 암호화폐 단위(또는 암호화폐 단위의 적어도 일부 영역)를 포함하는 데이터를 상기 사용자의 개인키를 통해 지정된 암호화 방식으로 암호화하여 생성한 거래연동 인증정보를 포함할 수 있으며, 이 경우 상기 인증정보 확인부(150)는 상기 본인 인증을 통해 인증된 사용자의 개인키를 통해 상기 인출정보에 포함되는 전자지갑 주소(또는 전자지갑 주소의 적어도 일부 영역)과 암호화폐 단위(또는 암호화폐 단위의 적어도 일부 영역)를 포함하는 데이터를 지정된 암호화 방식으로 암호화하여 생성한 인증정보를 수신하거나 확인할 수 있다.
본 발명의 제6 인증정보 실시예에 따르면, 상기 인증정보는 지정된 운영서버(100)와 상기 스마트 컨트랙드가 기 설정된 규칙에 따라 지정된 블록체인 상의 특정 블록(예컨대, 현재 시점에 기 체인 연결되어 불변의 기록으로 남은 블록 중 운영서버(100)와 스마트 컨트랙트(210) 사이에 기 설정된 규칙에 따라 합의되는 블록) 내 특정 저장위치(예컨대, 운영서버(100)와 스마트 컨트랙트(210) 사이에 기 설정된 규칙에 따라 합의되는 저장위치)를 동기화하여 획득하는 데이터를 상기 사용자의 개인키를 통해 지정된 암호화 방식으로 암호화하여 생성한 블록연동 인증정보를 포함할 수 있으며, 이 경우 상기 인증정보 확인부(150)는 상기 본인 인증을 통해 인증된 사용자의 개인키를 통해 상기 운영서버(100)와 스마트 컨트랙드가 기 설정된 규칙에 따라 지정된 블록체인 상의 특정 블록 내 특정 저장위치를 동기화하여 획득하는 데이터를 지정된 암호화 방식으로 암호화하여 생성한 인증정보를 수신하거나 확인할 수 있다.
본 발명의 제7 인증정보 실시예에 따르면, 상기 인증정보는 상기 제1 내지 제6 인증정보 실시예 중 적어도 둘 이상의 실시예를 적어도 부분적으로 조합한 형태의 인증정보를 포함할 수 있으며, 이 경우 상기 인증정보 확인부(150)는 상기 제1 내지 제6 인증정보 실시예 중 적어도 둘 이상의 실시예를 적어도 부분적으로 조합한 형태로 상기 본인 인증을 통해 인증된 사용자의 개인키를 통해 생성된 인증정보를 수신하거나 확인할 수 있다.
한편 발명의 실시 방법에 따르면, 상기 사용자 인증부(120)는 각 사용자단말(180)을 통해 접속한 복수의 사용자 중 암호화폐의 인출을 위해 접속한 적어도 i(i≥1)명의 사용자에 대하여 암호화폐의 인출을 위해 지정된 본인 인증 절차를 수행할 수 있다 이 경우 상기 i명의 사용자의 본인 인증 시, 상기 인출요청 확인부(145)는 상기 사용자단말(180)을 통해 상기 암호화폐가 인출될 i개의 사용자의 전자지갑 주소와 i개의 암호화폐 단위를 수신하거나 확인하고, 상기 인증정보 확인부(150)는 상기 본인 인증을 통해 인증된 i개의 사용자의 개인키를 통해 제각기 생성된 i개의 인증정보를 수신하거나 확인할 수 있다. 이 경우 상기 인증정보는 i(i≥1)개의 사용자의 개인키를 이용하여 상기 운영서버(100)와 상기 스마트 컨트랙트(210) 사이에 합의되거나 동기화되는 데이터를 기 설정된 암호 방식으로 암호화하여 생성한 i개의 인증정보를 포함할 수 있다.
상기 인출 절차부(155)는 기 설정된 스마트 컨트랙트 동작 절차에 따라 상기 암호화폐를 인출받을 사용자의 전자지갑 주소와 상기 인출될 암호화폐 단위 및 상기 생성된 인증정보를 포함하는 인출정보를 상기 외부 블록체인 네트워크(200) 상의 스마트 컨트랙트(210)로 전달하기 위한 절차를 수행한다.
본 발명의 실시 방법에 따르면, 상기 인출 절차부(155)는 기 설정된 스마트 컨트랙트 동작 절차에 따라 상기 외부 블록체인 네트워크(200) 상의 기 설정된 특정 노드장치(205)를 통해 상기 외부 블록체인 네트워크(200) 상의 각 노드장치(205)로 상기 인출정보를 포함하는 지정된 구조의 메시지를 방송하도록 처리하는 절차를 수행할 수 있다. 여기서, 상기 스마트 컨트랙트 동작 절차는 상기 특정 노드장치(205)의 개인키를 이용하여 상기 스마트 컨트랙트(210)의 동작을 위한 지정된 구조의 메시지를 상기 외부 블록체인 네트워크(200) 상의 각 노드장치(205)로 방송하는 절차를 포함할 수 있으며, 상기 특정 노드장치(205)는 상기 외부 블록체인 네트워크(200) 상의 노드장치(205) 중 상기 운영서버(100)와 연동하는 노드장치(205), 또는 상기 외부 블록체인 네트워크(200) 상의 노드장치(205) 중 상기 운영서버(100)가 상기 메시지의 방송을 위한 개인키를 관리하는 노드장치(205)를 포함할 수 있다.
본 발명의 실시 방법에 따르면, 상기 스마트 컨트랙트 동작 절차를 위한 메시지는 상기 인출정보(예컨대, 암호화폐를 인출받을 사용자의 전자지갑 주소와 상기 인출될 암호화폐 단위 및 사용자의 개인키를 통해 생성된 인증정보 등)를 지정된 구조에 포함되는 파라미터로 포함하며, 상기 메시지를 다른 노드장치(205)로 방송하는 특정 노드장치(205)의 지정된 주소를 포함할 수 있다. 한편 실시 방법에 따라 상기 메시지는 상기 외부 블록체인 네트워크(200) 상의 노드장치(205)에 등록된 상기 스마트 컨트랙트(210)의 지정된 주소와 상기 스마트 컨트랙트(210) 상의 확인 기능부(225)에 대응하는 함수의 주소 중 적어도 하나의 주소를 포함할 수 있다.
한편 본 발명의 실시 방법에 따르면, 상기 인출정보는 암호화폐를 인출하기 위한 i(i≥1)개의 전자지갑 주소와 i개의 암호화폐 단위 및 i개의 인증정보를 포함할 수 있으며, 이 경우 상기 인출 기능부(235)는 지정된 인증 절차의 인증 성공 시 상기 i개의 전자지갑 주소로 제각기 대응하는 i개의 암호화폐 단위를 인출할 수 있다.
본 발명의 실시 방법에 따르면, 상기 인증 기능부(230)는 상기 인출정보에 포함된 사용자의 전자지갑 주소가 지정된 저장영역에 저장되어 있는지 인증하는 인증 절차를 수행할 수 있다. 여기서 상기 지정된 저장영역은 지정된 암호화폐를 예치한 사용자의 전자지갑 주소를 저장하는 저장영역, 지정된 암호화폐를 예치한 사용자의 전자지갑 주소에 대응하는 공개키를 저장하는 저장영역, 지정된 암호화폐를 예치한 사용자의 전자지갑 주소와 연계된 사용자의 공개키를 저장하는 저장영역 중 적어도 하나의 저장영역을 포함할 수 있다.
한편 상기 인증 기능부(230)는 지정된 저장영역에 저장된 상기 사용자의 공개키를 이용하여 상기 인증정보의 유효성을 인증하는 인증 절차를 수행할 수 있다.
본 발명의 제1 인증정보 실시예에 따르면, 상기 인증정보는 지정된 운영서버(100)와 상기 스마트 컨트랙드 사이에 합의된 문자열이나 바이너리코드를 포함하는 데이터를 상기 사용자의 개인키를 통해 지정된 암호화 방식으로 암호화하여 생성한 인증정보를 포함할 수 있는데, 이 경우 상기 인증 기능부(230)는 지정된 저장영역에 저장된 상기 사용자의 공개키를 통해 상기 인증정보를 복호화하여 상기 데이터를 복원한 후 상기 복원된 데이터가 상기 운영서버(100)와 스마트 컨트랙드 사이에 합의된 문자열이나 바이너리코드와 매칭되는지 인증하는 인증 절차를 수행할 수 있다. 한편 상기 인증정보가 복호화되지 않게 암호화(예컨대, 해시)되어 생성된 경우, 상기 인증 기능부(230)는 상기 사용자의 공개키를 통해 상기 운영서버(100)와 스마트 컨트랙드 사이에 합의된 문자열이나 바이너리코드를 포함하는 데이터를 동일한 암호화 방식으로 암호화하여 검증정보를 생성한 후 상기 인증정보와 비교하여 매칭되는지 인증하는 인증 절차를 수행할 수 있다.
본 발명의 제2 인증정보 실시예에 따르면, 상기 인증정보는 지정된 운영서버(100)와 상기 스마트 컨트랙드 사이에 합의된 복수의 문자열이나 복수의 바이너리코드 중 지정된 인덱스를 통해 상기 운영서버(100)와 스마트 컨트랙트(210) 사이에 동기화되는 문자열이나 바이너리코드를 포함하는 데이터를 상기 사용자의 개인키를 통해 지정된 암호화 방식으로 암호화하여 생성한 인증정보를 포함할 수 있으며, 이 경우 상기 인출정보는 상기 운영서버(100)와 스마트 컨트랙드 사이에 상기 암호화된 문자열이나 바이너리코드를 동기화하기 위한 인덱스를 더 포함할 수있다. 이 경우 상기 인증 기능부(230)는 지정된 저장영역에 저장된 상기 사용자의 공개키를 통해 상기 인증정보를 복호화하여 상기 데이터를 복원한 후 상기 복원된 데이터가 상기 운영서버(100)와 스마트 컨트랙드 사이에 합의된 복수의 문자열이나 복수의 바이너리코드 중 상기 인덱스를 통해 상기 운영서버(100)와 스마트 컨트랙트(210) 사이에 동기화되는 문자열이나 바이너리코드와 매칭되는지 인증하는 인증 절차를 수행할 수 있다. 한편 상기 인증정보가 복호화되지 않게 암호화(예컨대, 해시)되어 생성된 경우, 상기 인증 기능부(230)는 상기 사용자의 공개키를 통해 상기 운영서버(100)와 스마트 컨트랙드 사이에 합의된 복수의 문자열이나 복수의 바이너리코드 중 상기 인덱스를 통해 상기 운영서버(100)와 스마트 컨트랙트(210) 사이에 동기화되는 문자열이나 바이너리코드를 포함하는 데이터를 동일한 암호화 방식으로 암호화하여 검증정보를 생성한 후 상기 인증정보와 비교하여 매칭되는지 인증하는 인증 절차를 수행할 수 있다.
본 발명의 제3 인증정보 실시예에 따르면, 상기 인증정보는 상기 인출정보에 포함되는 전자지갑 주소(또는 전자지갑 주소의 적어도 일부 영역)를 포함하는 데이터를 상기 사용자의 개인키를 통해 지정된 암호화 방식으로 암호화하여 생성한 거래연동 인증정보를 포함할 수 있으며, 이 경우 상기 인증 기능부(230)는 지정된 저장영역에 저장된 상기 사용자의 공개키를 통해 상기 인증정보를 복호화하여 상기 데이터를 복원한 후 상기 복원된 데이터가 상기 인출정보에 포함되는 전자지갑 주소(또는 전자지갑 주소의 적어도 일부 영역)와 매칭되는지 인증하는 인증 절차를 수행할 수 있다. 한편 상기 인증정보가 복호화되지 않게 암호화(예컨대, 해시)되어 생성된 경우, 상기 인증 기능부(230)는 상기 사용자의 공개키를 통해 상기 인출정보에 포함되는 전자지갑 주소(또는 전자지갑 주소의 적어도 일부 영역)를 포함하는 데이터를 동일한 암호화 방식으로 암호화하여 검증정보를 생성한 후 상기 인증정보와 비교하여 매칭되는지 인증하는 인증 절차를 수행할 수 있다.
본 발명의 제4 인증정보 실시예에 따르면, 상기 인증정보는 상기 인출정보에 포함되는 암호화폐 단위(또는 암호화폐 단위의 적어도 일부 영역)를 포함하는 데이터를 상기 사용자의 개인키를 통해 지정된 암호화 방식으로 암호화하여 생성한 거래연동 인증정보를 포함할 수 있으며, 이 경우 상기 인증 기능부(230)는 지정된 저장영역에 저장된 상기 사용자의 공개키를 통해 상기 인증정보를 복호화하여 상기 데이터를 복원한 후 상기 복원된 데이터가 상기 인출정보에 포함되는 암호화폐 단위(또는 암호화폐 단위의 적어도 일부 영역)와 매칭되는지 인증하는 인증 절차를 수행할 수 있다. 한편 상기 인증정보가 복호화되지 않게 암호화(예컨대, 해시)되어 생성된 경우, 상기 인증 기능부(230)는 상기 사용자의 공개키를 통해 상기 인출정보에 포함되는 암호화폐 단위(또는 암호화폐 단위의 적어도 일부 영역)를 포함하는 데이터를 동일한 암호화 방식으로 암호화하여 검증정보를 생성한 후 상기 인증정보와 비교하여 매칭되는지 인증하는 인증 절차를 수행할 수 있다.
본 발명의 제5 인증정보 실시예에 따르면, 상기 인증정보는 상기 인출정보에 포함되는 전자지갑 주소(또는 전자지갑 주소의 적어도 일부 영역)과 암호화폐 단위(또는 암호화폐 단위의 적어도 일부 영역)를 포함하는 데이터를 상기 사용자의 개인키를 통해 지정된 암호화 방식으로 암호화하여 생성한 거래연동 인증정보를 포함할 수 있으며, 이 경우 상기 인증 기능부(230)는 지정된 저장영역에 저장된 상기 사용자의 공개키를 통해 상기 인증정보를 복호화하여 상기 데이터를 복원한 후 상기 복원된 데이터가 상기 인출정보에 포함되는 전자지갑 주소(또는 전자지갑 주소의 적어도 일부 영역)과 암호화폐 단위(또는 암호화폐 단위의 적어도 일부 영역)와 매칭되는지 인증하는 인증 절차를 수행할 수 있다. 한편 상기 인증정보가 복호화되지 않게 암호화(예컨대, 해시)되어 생성된 경우, 상기 인증 기능부(230)는 상기 사용자의 공개키를 통해 상기 인출정보에 포함되는 전자지갑 주소(또는 전자지갑 주소의 적어도 일부 영역)과 암호화폐 단위(또는 암호화폐 단위의 적어도 일부 영역)를 포함하는 데이터를 동일한 암호화 방식으로 암호화하여 검증정보를 생성한 후 상기 인증정보와 비교하여 매칭되는지 인증하는 인증 절차를 수행할 수 있다.
본 발명의 제6 인증정보 실시예에 따르면, 상기 인증정보는 지정된 운영서버(100)와 상기 스마트 컨트랙드가 기 설정된 규칙에 따라 지정된 블록체인 상의 특정 블록(예컨대, 현재 시점에 기 체인 연결되어 불변의 기록으로 남은 블록 중 운영서버(100)와 스마트 컨트랙트(210) 사이에 기 설정된 규칙에 따라 합의되는 블록) 내 특정 저장위치(예컨대, 운영서버(100)와 스마트 컨트랙트(210) 사이에 기 설정된 규칙에 따라 합의되는 저장위치)를 동기화하여 획득하는 데이터를 상기 사용자의 개인키를 통해 지정된 암호화 방식으로 암호화하여 생성한 블록연동 인증정보를 포함할 수 있으며, 이 경우 상기 인증 기능부(230)는 지정된 저장영역에 저장된 상기 사용자의 공개키를 통해 상기 인증정보를 복호화하여 상기 데이터를 복원한 후 상기 복원된 데이터가 상기 운영서버(100)와 스마트 컨트랙드가 기 설정된 규칙에 따라 지정된 블록체인 상의 특정 블록 내 특정 저장위치를 동기화하여 획득하는 데이터와 매칭되는지 인증하는 인증 절차를 수행할 수 있다. 한편 상기 인증정보가 복호화되지 않게 암호화(예컨대, 해시)되어 생성된 경우, 상기 인증 기능부(230)는 상기 사용자의 공개키를 통해 상기 운영서버(100)와 스마트 컨트랙드가 기 설정된 규칙에 따라 지정된 블록체인 상의 특정 블록 내 특정 저장위치를 동기화하여 획득하는 데이터를 포함하는 데이터를 동일한 암호화 방식으로 암호화하여 검증정보를 생성한 후 상기 인증정보와 비교하여 매칭되는지 인증하는 인증 절차를 수행할 수 있다.
본 발명의 제7 인증정보 실시예에 따르면, 상기 인증정보는 상기 제1 내지 제6 인증정보 실시예 중 적어도 둘 이상의 실시예를 적어도 부분적으로 조합한 형태의 인증정보를 포함할 수 있으며, 이 경우 상기 인증 기능부(230)는 상기 제1 내지 제6 인증정보 실시예 중 적어도 둘 이상의 실시예를 적어도 부분적으로 조합한 형태로 지정된 저장영역에 저장된 상기 사용자의 공개키를 통해 상기 인증정보의 유효성을 인증하는 인증 절차를 수행할 수 있으며, 이에 의해 본 발명이 한정되지 아니한다.
한편 본 발명의 실시 방법에 따르면, 운영서버(100)가 상기 사용자 인증부(120)를 통한 사용자 본인 인증 절차를 통해 인증된 사용자의 개인키를 이용하여 생성된 인증정보를 스마트 컨트랙트(210)로 제공하면, 상기 스마트 컨트랙트(210)가 지정된 저장영역에 기 저장된 사용자의 공개키를 통해 상기 인증정보를 인증함으로써, 설령 어떤 해커가 상기 특정 노드장치(205)의 개인키를 탈취하더라도 각 사용자 별 개인키를 탈취함과 동시에 상기 운영서버(100)와 스마트 컨트랙트(210) 사이에 합의되거나 동기화되는 데이터까지 실시간 편별하지 않는 이상 상기 스마트 컨트랙트(210)에 예치된 암호화폐를 부정 인출할 수 없도록 한다.
상기 인증 기능부(230)를 통해 수행된 지정된 인증 절차의 인증이 성공한 경우, 상기 인출 기능부(235)는 상기 사용자의 전자지갑 주소로 상기 암호화폐 단위를 인출하고, 상기 저장 기능부(220)는 지정된 암화화폐를 인출받은 사용자의 전자지갑 주소와 상기 인출된 암호화폐 단위를 포함하는 암호화폐 인출정보를 지정된 저장영역에 저장할 수 있다. 여기서, 상기 암호화폐 인출정보를 저장하는 지정된 저장영역은 스마트 컨트랙트(210)의 상태를 저장하는 저장영역, 또는 상기 암호화폐의 인출과 관련된 정보를 저장하기 위해 설정된 저장영역을 포함할 수 있다.
도면1을 참조하면, 상기 운영서버(100)는, 상기 외부 블록체인 네트워크(200) 상에 구비된 노드장치(205)를 참조하여 상기 스마트 컨트랙트(210)를 통해 지정된 사용자의 전자지갑으로 지정된 암호화폐 단위를 인출한 인출결과에 대응하는 암호화폐 인출정보를 확인하는 인출결과 확인부(160)와, 상기 암호화폐 인출정보를 확인한 경우, 상기 사용자의 전자지갑으로 상기 암호화폐 단위를 인출한 거래정보를 생성하여 지정된 데이터베이스에 동기화하여 저장하는 인출 관리부(165)를 더 포함한다.
상기 인출 기능부(235)를 통해 지정된 사용자의 전자지갑으로 지정된 암호화폐 단위가 인출된 경우, 상기 인출결과 확인부(160)는 상기 외부 블록체인 네트워크(200) 상에 구비된 노드장치(205)를 참조하여 상기 스마트 컨트랙트(210)를 통해 지정된 사용자의 전자지갑으로 지정된 암호화폐 단위가 인출된 인출결과에 대응하는 암호화폐 인출정보를 확인하고, 상기 확인된 암호화폐 인출정보를 판독하여 지정된 사용자의 전자지갑으로 지정된 암호화폐 단위가 인출된 인출결과를 확인할 수 있다.
만약 상기 인출결과 확인부(160)를 통해 지정된 사용자의 전자지갑으로 지정된 암호화폐 단위가 인출된 인출결과를 확인한 경우, 상기 인출 관리부(165)는 상기 사용자의 전자지갑으로 상기 암호화폐 단위가 인출된 인출결과에 대응하는 거래정보를 생성하여 지정된 데이터베이스에 동기화하여 저장할 수 있다.
도면2는 본 발명의 실시 방법에 따라 암호화폐 거래 플랫폼을 제공하는 블록체인 기반 스마트 컨트랙트(210)의 기능 구성을 도시한 도면이다.
보다 상세하게 본 도면2는 지정된 외부 블록체인 네트워크(200) 상에 구비된 M(M≥2)개의 노드장치(205)를 통해 탈중앙화 형태로 실행되며 상기 외부 블록체인 네트워크(200) 상의 유효한 전자지갑을 통해 암호화폐를 예치 가능하지만 미리 코딩된 규칙이나 기능에 의하지 아니하고는 상기 예치된 암호화폐를 임의로 인출하는 것이 불가한 스마트 컨트랙트(210)(Smart Contract)를 통해 수행되는 인증 절차를 통해 안전한 암호화폐 거래를 제공하는 스마트 컨트랙트(210)의 기능 구성을 도시한 것으로서, 본 발명이 속한 기술분야에서 통상의 지식을 가진 자라면, 본 도면2를 참조 및/또는 변형하여 상기 스마트 컨트랙트(210)의 기능 구성에 대한 다양한 실시 방법(예컨대, 일부 구성부가 생략되거나, 또는 세분화되거나, 또는 합쳐진 실시 방법)을 유추할 수 있을 것이나, 본 발명은 상기 유추되는 모든 실시 방법을 포함하여 이루어지며, 본 도면2에 도시된 실시 방법만으로 그 기술적 특징이 한정되지 아니한다.
본 발명의 스마트 컨트랙트(210)(Smart Contract)는, 지정된 외부 블록체인 네트워크(200) 상에 구비된 M(M≥2)개의 노드장치(205)를 통해 탈중앙화 실행 가능한 프로그램 코드를 포함하여 구성되며 하나 이상의 지정된 기능(Function)을 구현한다. 외부 블록체인 네트워크(200) 상의 노드장치(205)에 등록된 스마트 컨트랙트(210)는 해당 스마트 컨트랙트(210) 내에 코딩된 규칙에 의하지 아니하고는 수정되지 않으며, M개의 노드장치(205)를 이용한 분산 저장에 의해 위변조되지 않는다.
도면2를 참조하면, 상기 스마트 컨트랙트(210)는, 상기 외부 블록체인 네트워크(200) 상에 유효 생성된 하나 이상의 전자지갑으로부터 지정된 암호화폐 단위를 스마트 컨트랙트(210)로 예치받는 기능을 구현하는 예치 기능부(215)와, 지정된 암호화폐를 예치한 사용자의 공개키를 확인하여 지정된 저장영역에 저장하는 기능을 구현하는 저장 기능부(220)와, 스마트 컨트랙트(210)에 예치된 암호화폐를 사용자의 전자지갑으로 인출 시 상기 암호화폐를 인출받을 사용자의 전자지갑 주소와 상기 인출될 암호화폐 단위 및 사용자의 개인키를 통해 생성된 인증정보를 포함하는 인출정보를 확인하는 기능을 구현하는 확인 기능부(225)와, 상기 사용자의 공개키를 이용하여 상기 인증정보의 유효성을 인증하는 인증 절차를 포함하는 하나 이상의 지정된 인증 절차를 수행하는 인증 기능부(230)와, 상기 지정된 인증 절차의 인증 성공 시 상기 사용자의 전자지갑 주소로 상기 암호화폐 단위를 인출하는 기능을 구현하는 인출 기능부(235) 중 하나 이상의 기능부를 포함한다. 한편 상기 스마트 컨트랙트(210)의 기능부 중 적어도 일부는 상기 스마트 컨트랙트(210) 내에 코딩된 프로그램 코드를 통해 구현되며, 다른 일부 기능을 스마트 컨트랙트(210)를 동작하는 절차와 연동하여 구현되거나 상기 스마트 컨트랙트(210)를 운영하는 블록체인 알고리즘을 통해 구현될 수 있다.
상기 예치 기능부(215)는 외부 블록체인 네트워크(200) 상의 유효한 복수의 전자지갑 중 적어도 하나의 전자지갑으로부터 지정된 암호화폐 단위를 예치받기 위한 컨트랙트 주소를 포함한다. 상기 스마트 컨트랙트(210)로 암호화폐를 예치하려는 단말은 상기 외부 블록체인 네트워크(200) 상에 생성된 유효한 전자지갑의 개인키를 이용하여 상기 전자지갑에 보관된 암호화폐 중 지정된 암호화폐 단위를 상기 컨트랙트 주소로 예치하기 위한 암호화폐 거래의 거래내역을 생성하여 지정된 경로를 통해 상기 외부 블록체인 네트워크(200)로 방송하고, 상기 외부 블록체인 네트워크(200) 상의 각 노드장치(205)는 지정된 블록체인 알고리즘에 따라 상기 암호화폐 단위를 상기 컨트랙트 주소에 대응하는 스마트 컨트랙트(210)로 예치하는 절차를 수행할 수 있는데, 상기 스마트 컨트랙트(210)의 예치 기능부(215)는 상기 외부 블록체인 네트워크(200) 상의 유효한 전자지갑으로부터 지정된 암호화폐 단위를 예치받는다.
본 발명의 실시 방법에 따르면, 상기 예치 기능부(215)는 상기 외부 블록체인 네트워크(200) 상에 유효 생성된 사용자의 전자지갑으로부터 지정된 암호화폐 단위를 예치받을 수 있다. 사용자단말(180)은 사용자의 전자지갑을 생성하는 시점에 생성된 개인키를 이용하여 상기 사용자의 전자지갑에 보관된 암호화폐 중 지정된 암호화폐 단위를 상기 컨트랙트 주소로 예치하기 위한 암호화폐 거래의 거래내역을 생성하여 지정된 경로를 통해 상기 외부 블록체인 네트워크(200)로 방송하며, 상기 외부 블록체인 네트워크(200) 상의 각 노드장치(205)는 지정된 블록체인 알고리즘에 따라 상기 암호화폐 단위를 상기 컨트랙트 주소에 대응하는 스마트 컨트랙트(210)로 예치하는 절차를 수행할 수 있는데, 상기 스마트 컨트랙트(210)의 예치 기능부(215)는 상기 외부 블록체인 네트워크(200) 상에 유효 생성된 사용자의 전자지갑으로부터 지정된 암호화폐 단위를 예치받는다.
본 발명의 실시 방법에 따르면, 상기 예치 기능부(215)는 상기 외부 블록체인 네트워크(200) 상에 유효 생성된 전자지갑 중 지정된 블록체인 기반 서비스를 운영하는 운영사(예컨대, 운영서버(100)를 운영하는 운영사 등)의 전자지갑으로부터 지정된 블록체인 기반 서비스를 운영하기 위해 필요한 지정된 암호화폐 단위를 예치받을 수 있으며, 이에 의해 본 발명이 한정되지 아니한다. 이하 편의상 사용자의 전자지갑으로부터 지정된 암호화폐 단위를 예치받는 실시예를 위주로 본 발명의 특징을 설명할 것이나, 본 발명의 권리범위가 이에 의해 한정되는 것은 아니며, 본 발명을 실시하는 예에 따라 외부 블록체인 네트워크(200) 상에 유효 생성된 어떠한 전자지갑으로부터 암호화폐 단위를 예치받더라도 본 발명의 권리범위에 속함을 명백하게 밝혀두는 바이다.
상기 예치 기능부(215)를 통해 상기 외부 블록체인 네트워크(200) 상의 유효한 전자지갑으로부터 상기 스마트 컨트랙트(210)로 지정된 암호화폐 단위가 예치되면, 상기 저장 기능부(220)는 상기 암호화폐 단위를 예치한 사용자의 전자지갑 주소와 상기 예치된 암호화폐 단위를 포함하는 암호화폐 예치정보를 확인하여 지정된 저장영역에 보관하는 기능을 수행한다. 바람직하게, 상기 저장 기능부(220)는 각 노드장치(205)의 저장영역 중 스마트 컨트랙트(210)의 상태를 저장하는 저장영역, 또는 상기 암호화폐의 예치와 관련된 정보를 저장하기 위해 설정된 저장영역에 상기 암호화폐 예치정보를 저장하여 관리할 수 있다. 한편 실시 방법에 따라 상기 저장 기능부(220)는 각 노드장치(205)의 저장영역 중 암호화폐의 거래를 저장하는 저장영역(예컨대, 암호화폐의 거래블록을 저장하는 저장영역)에 상기 암호화폐 예치정보를 저장하여 관리할 수 있다.
본 발명의 실시 방법에 따르면, 상기 스마트 컨트랙트(210)는 암호화폐를 예치하기 위한 컨트랙트 주소는 존재하지만, 외부 블록체인 네트워크(200) 상의 전자지갑과 달리 암호화폐를 인출하는 거래를 개시하기 위한 개인키가 존재하지 않으므로, 개인키의 노출이나 해킹이 불가능한 특징으로 지닌다. 한편 상기 스마트 컨트랙트(210)에 예치된 암호화폐는 상기 스마트 컨트랙트(210)에 미리 코딩된 규칙이나 기능에 의해서만 인출될 수 있으며, 임의로 인출하는 것이 원천 차단된다.
본 발명의 실시 방법에 따르면, 상기 암호화폐는 지정된 외부 블록체인 네트워크(200)를 통해 발행되는 암호코인 형태의 암호화폐, 지정된 암호코인을 발행하는 지정된 외부 블록체인 네트워크(200)를 기반으로 구현되는 암호토큰 형태의 암호화폐 중 적어도 하나를 포함할 수 있으며, 상기 암호화폐의 종류나 구현 방식에 의해 본 발명이 한정되지 아니한다.
상기 저장 기능부(220)는 지정된 암호화폐를 예치한 사용자의 공개키를 확인하여 지정된 저장영역에 저장하는 기능을 구현한다. 여기서, 상기 사용자의 공개키를 저장하는 지정된 저장영역은 스마트 컨트랙트(210)의 상태를 저장하는 저장영역, 또는 사용자의 공개키를 저장하기 위해 설정된 저장영역을 포함할 수 있다.
본 발명의 제1 공개키 실시예에 따르면, 상기 사용자의 공개키는 외부 블록체인 네트워크(200) 상에 상기 사용자의 전자지갑을 생성하는 과정을 통해 생성된 공개키와 개인키의 키 쌍 중 상기 공개키를 포함할 수 있다. 바람직하게, 외부 블록체인 네트워크(200) 상에 유효한 전자지갑을 생성하는 과정에서 지정된 절차에 따라 지정된 씨드를 이용하여 공개키와 개인키의 키 쌍이 생성될 수 있는데, 상기 사용자의 공개키는 상기 사용자의 전자지갑을 생성하는 과정을 통해 생성된 공개키를 포함할 수 있다. 한편 상기 사용자의 전자지갑을 생성하는 과정을 통해 생성된 공개키는 상기 사용자의 전자지갑 주소로 이용될 수 있는데, 이 경우 상기 사용자의 공개키는 상기 사용자의 전자지갑에 대응하는 공개키라고 할 수 있으며, 상기 저장 기능부(220)는 지정된 암호화폐를 예치한 사용자의 전자지갑 주소에 대응하는 사용자의 공개키를 확인하여 지정된 저장영역에 저장하는 기능을 포함할 수 있다.
한편 본 제1 공개키 실시예에서 상기 사용자의 공개키는 지정된 암호화폐를 예치한 사용자의 전자지갑 주소와 상기 예치된 암호화폐 단위를 포함하는 암호화폐 예치정보를 지정된 저장영역에 보관함에 의해 상기 지정된 저장영역에 저장된 것으로 간주될 수 있다.
본 발명의 제2 공개키 실시예에 따르면, 상기 사용자의 공개키는 상기 사용자의 전자지갑 생성과 무관하게 별도 생성된 공개키와 개인키의 키 쌍 중 상기 공개키를 포함할 수 있다. 예를들어, 상기 사용자의 공개키는 사용자에게 발급된 인증서의 공개키를 포함하거나, 또는 외부 블록체인 네트워크(200) 상에 상기 사용자의 전자지갑을 생성하기 전이나 후에 상기 사용자의 전자지갑에 대응하는 공기키 이욍에 별도로 생성된 공개키와 개인키의 키 쌍 중 공개키를 포함하거나, 또는 상기 사용자의 회원 가입 과정과 연동하여 생성된 공개키와 개인키의 키 쌍 중 공개키를 포함할 수 있다.
한편 본 제2 공개키 실시예에서 사용자의 전자지갑 생성과 무관하게 별도 생성된 공개키와 개인키의 키 쌍 중 공개키에 대응하는 사용자의 공개키는 지정된 암호화폐를 예치한 사용자의 전자지갑 주소와 연계되어 지정된 저장영역에 저장될 수 있으며, 이 경우 상기 사용자의 개인키는 상기 사용자의 공개키와 사용자의 전자지갑 주소를 연계하여 지정된 저장영역에 저장함에 의해 상기 사용자의 전자지갑과 연계되는 것으로 간주할 수 있다.
한편 본 제2 공개키 실시예에서 상기 별도 생성된 사용자의 공개키를 사용자의 전자지갑 주소와 연계 저장하기 위해, 지정된 운영서버(100)는 사용자단말(180)과 연동하여 사용자의 전자지갑 생성과 무관하게 별도 생성된 공개키에 대응하는 사용자의 공개키를 확인하고, 기 설정된 스마트 컨트랙트 동작 절차에 따라 상기 사용자의 공개키와 사용자의 전자지갑 주소를 외부 블록체인 네트워크(200) 상의 스마트 컨트랙트(210)로 제공하는 절차를 수행하며, 상기 저장 기능부(220)는 기 설정된 스마트 컨트랙트 동작 절차를 통해 상기 사용자의 공개키와 사용자의 전자지갑 주소를 확인하고, 상기 확인된 사용자의 공개키와 전자지갑 주소를 연계하여 지정된 저장영역에 저장할 수 있다. 한편 상기 저장 기능부(220)는 상기 사용자의 공개키와 사용자의 전자지갑 주소를 확인한 경우 지정된 저장영역(예컨대, 암호화폐 예치정보를 저장하는 저장영역)에 상기 확인된 전자지갑 주소와 매칭되는 전자지갑 주소가 저장되어 있는지 확인할 수 있으며, 상기 지정된 저장영역에 상기 확인된 전자지갑 주소와 매칭되는 전자지갑 주소가 저장된 경우 상기 지정된 저장영역에 상기 확인된 사용자의 공개키와 전자지갑 주소를 연계 저장할 수 있다.
본 발명의 실시 방법에 따르면, 상기 제1 또는 제2 공개키 실시예에 따라 스마트 컨트랙트(210)에 사용자의 공개키가 기록된 후에 상기 사용자의 공개키를 이용하는 인증 절차를 거쳐 상기 스마트 컨트랙트(210)에 예치된 암호화폐 중 지정된 암호화폐 단위를 인출하는 절차를 수행할 수 있다.
상기 스마트 컨트랙트(210)에 예치된 암호화폐를 상기 외부 블록체인 네트워크(200) 상에 유효 생성된 사용자의 전자지갑으로 인출 시, 지정된 운영서버(100)는 암호화폐 인출을 위한 본인 인증 절차를 수행하여 인증된 사용자의 전자지갑 주소와 상기 인출될 암호화폐 단위 및 상기 인증된 사용자의 개인키를 통해 생성된 인증정보를 확인하고, 기 설정된 스마트 컨트랙트 동작 절차에 따라 상기 암호화폐를 인출받을 사용자의 전자지갑 주소와 상기 인출될 암호화폐 단위 및 상기 생성된 인증정보를 포함하는 인출정보를 상기 외부 블록체인 네트워크(200) 상의 스마트 컨트랙트(210)로 전달하기 위한 절차를 수행하며, 상기 확인 기능부(225)는 기 설정된 스마트 컨트랙트 동작 절차를 통해 상기 암호화폐를 인출받을 사용자의 전자지갑 주소와 상기 인출될 암호화폐 단위 및 사용자의 개인키를 통해 생성된 인증정보를 포함하는 인출정보를 확인할 수 있다.
본 발명의 실시 방법에 따르면, 상기 운영서버(100)는 기 설정된 스마트 컨트랙트 동작 절차에 따라 상기 외부 블록체인 네트워크(200) 상의 기 설정된 특정 노드장치(205)를 통해 상기 외부 블록체인 네트워크(200) 상의 각 노드장치(205)로 상기 인출정보를 포함하는 지정된 구조의 메시지를 방송하도록 처리하는 절차를 수행할 수 있는데, 상기 확인 기능부(225)는 기 설정된 스마트 컨트랙트 동작 절차에 따라 상기 외부 블록체인 네트워크(200) 상의 기 설정된 특정 노드장치(205)를 통해 상기 외부 블록체인 네트워크(200) 상의 각 노드장치(205)로 방송되는 지정된 구조의 메시지를 통해 상기 인출정보를 확인할 수 있다.
본 발명의 실시 방법에 따르면, 상기 인출정보는 암호화폐가 인출될 하나의 전자지갑 주소와 하나의 암호화폐 단위 및 하나의 인증정보를 포함할 수 있으며, 실시 방법에 따라 상기 인출정보는 암호화폐가 인출될 i(i≥1)개의 전자지갑 주소와 i개의 암호화폐 단위 및 i개의 각 사용자의 개인키를 통해 각기 생성된 i개의 인증정보를 포함할 수 있다. 이 경우 상기 인출 기능부(235)는, 지정된 인증 절차의 인증 성공 시 상기 i개의 전자지갑 주소로 제각기 대응하는 i개의 암호화폐 단위를 인출하는 기능을 수행할 수 있다.
본 발명의 실시 방법에 따르면, 상기 스마트 컨트랙트 동작 절차는 상기 운영서버(100)가 특정 노드장치(205)의 개인키를 이용하여 상기 스마트 컨트랙트(210)의 동작을 위한 지정된 구조의 메시지를 상기 외부 블록체인 네트워크(200) 상의 각 노드장치(205)로 방송하도록 처리하는 절차를 포함할 수 있으며, 상기 특정 노드장치(205)는 상기 외부 블록체인 네트워크(200) 상의 노드장치(205) 중 지정된 운영서버(100)와 연동하는 노드장치(205), 또는 상기 외부 블록체인 네트워크(200) 상의 노드장치(205) 중 지정된 운영서버(100)가 상기 메시지의 방송을 위한 개인키를 관리하는 노드장치(205)를 포함할 수 있다.
본 발명의 실시 방법에 따르면, 상기 스마트 컨트랙트 동작 절차를 위한 메시지는 상기 인출정보(예컨대, 암호화폐를 인출받을 사용자의 전자지갑 주소와 상기 인출될 암호화폐 단위 및 사용자의 개인키를 통해 생성된 인증정보 등)를 지정된 구조에 포함되는 파라미터로 포함하며, 상기 메시지를 다른 노드장치(205)로 방송하는 특정 노드장치(205)의 지정된 주소를 포함할 수 있다. 한편 실시 방법에 따라 상기 메시지는 상기 외부 블록체인 네트워크(200) 상의 노드장치(205)에 등록된 상기 스마트 컨트랙트(210)의 지정된 주소와 상기 스마트 컨트랙트(210) 상의 확인 기능부(225)에 대응하는 함수의 주소 중 적어도 하나의 주소를 포함할 수 있다.
상기 확인 기능부(225)를 통해 상기 암호화폐를 인출받을 사용자의 전자지갑 주소와 상기 인출될 암호화폐 단위 및 사용자의 개인키를 통해 생성된 인증정보를 포함하는 인출정보를 확인한 경우, 상기 인증 기능부(230)는 지정된 저장영역에 저장된 상기 사용자의 공개키를 이용하여 상기 인증정보의 유효성을 인증하는 인증 절차를 포함하는 하나 이상의 지정된 인증 절차를 수행한다.
본 발명의 실시 방법에 따르면, 상기 확인 기능부(225)를 통해 상기 암호화폐를 인출받을 사용자의 전자지갑 주소와 상기 인출될 암호화폐 단위 및 사용자의 개인키를 통해 생성된 인증정보를 포함하는 인출정보를 확인한 경우, 상기 인증 기능부(230)는 상기 인출정보에 포함된 사용자의 전자지갑 주소가 지정된 저장영역에 저장되어 있는지 인증하는 인증 절차를 수행할 수 있다. 여기서, 상기 지정된 저장영역은 지정된 암호화폐를 예치한 사용자의 전자지갑 주소를 저장하는 저장영역, 지정된 암호화폐를 예치한 사용자의 전자지갑 주소에 대응하는 공개키를 저장하는 저장영역, 지정된 암호화폐를 예치한 사용자의 전자지갑 주소와 연계된 사용자의 공개키를 저장하는 저장영역 중 적어도 하나의 저장영역을 포함할 수 있다.
한편 상기 인출정보에 포함된 사용자의 전자지갑 주소가 지정된 저장영역에 저장된 경우, 상기 인증 기능부(230)는 지정된 저장영역에 저장된 상기 사용자의 공개키를 이용하여 상기 인증정보의 유효성을 인증하는 인증 절차를 수행할 수 있다.
본 발명의 제1 인증정보 실시예에 따르면, 상기 인증정보는 지정된 운영서버(100)와 상기 스마트 컨트랙드 사이에 합의된 문자열이나 바이너리코드를 포함하는 데이터를 상기 사용자의 개인키를 통해 지정된 암호화 방식으로 암호화하여 생성한 인증정보를 포함할 수 있는데, 이 경우 상기 인증 기능부(230)는 지정된 저장영역에 저장된 상기 사용자의 공개키를 통해 상기 인증정보를 복호화하여 상기 데이터를 복원한 후 상기 복원된 데이터가 상기 운영서버(100)와 스마트 컨트랙드 사이에 합의된 문자열이나 바이너리코드와 매칭되는지 인증하는 인증 절차를 수행할 수 있다. 한편 상기 인증정보가 복호화되지 않게 암호화(예컨대, 해시)되어 생성된 경우, 상기 인증 기능부(230)는 상기 사용자의 공개키를 통해 상기 운영서버(100)와 스마트 컨트랙드 사이에 합의된 문자열이나 바이너리코드를 포함하는 데이터를 동일한 암호화 방식으로 암호화하여 검증정보를 생성한 후 상기 인증정보와 비교하여 매칭되는지 인증하는 인증 절차를 수행할 수 있다.
본 발명의 제2 인증정보 실시예에 따르면, 상기 인증정보는 지정된 운영서버(100)와 상기 스마트 컨트랙드 사이에 합의된 복수의 문자열이나 복수의 바이너리코드 중 지정된 인덱스를 통해 상기 운영서버(100)와 스마트 컨트랙트(210) 사이에 동기화되는 문자열이나 바이너리코드를 포함하는 데이터를 상기 사용자의 개인키를 통해 지정된 암호화 방식으로 암호화하여 생성한 인증정보를 포함할 수 있으며, 이 경우 상기 인출정보는 상기 운영서버(100)와 스마트 컨트랙드 사이에 상기 암호화된 문자열이나 바이너리코드를 동기화하기 위한 인덱스를 더 포함할 수있다. 이 경우 상기 인증 기능부(230)는 지정된 저장영역에 저장된 상기 사용자의 공개키를 통해 상기 인증정보를 복호화하여 상기 데이터를 복원한 후 상기 복원된 데이터가 상기 운영서버(100)와 스마트 컨트랙드 사이에 합의된 복수의 문자열이나 복수의 바이너리코드 중 상기 인덱스를 통해 상기 운영서버(100)와 스마트 컨트랙트(210) 사이에 동기화되는 문자열이나 바이너리코드와 매칭되는지 인증하는 인증 절차를 수행할 수 있다. 한편 상기 인증정보가 복호화되지 않게 암호화(예컨대, 해시)되어 생성된 경우, 상기 인증 기능부(230)는 상기 사용자의 공개키를 통해 상기 운영서버(100)와 스마트 컨트랙드 사이에 합의된 복수의 문자열이나 복수의 바이너리코드 중 상기 인덱스를 통해 상기 운영서버(100)와 스마트 컨트랙트(210) 사이에 동기화되는 문자열이나 바이너리코드를 포함하는 데이터를 동일한 암호화 방식으로 암호화하여 검증정보를 생성한 후 상기 인증정보와 비교하여 매칭되는지 인증하는 인증 절차를 수행할 수 있다.
본 발명의 제3 인증정보 실시예에 따르면, 상기 인증정보는 상기 인출정보에 포함되는 전자지갑 주소(또는 전자지갑 주소의 적어도 일부 영역)를 포함하는 데이터를 상기 사용자의 개인키를 통해 지정된 암호화 방식으로 암호화하여 생성한 거래연동 인증정보를 포함할 수 있으며, 이 경우 상기 인증 기능부(230)는 지정된 저장영역에 저장된 상기 사용자의 공개키를 통해 상기 인증정보를 복호화하여 상기 데이터를 복원한 후 상기 복원된 데이터가 상기 인출정보에 포함되는 전자지갑 주소(또는 전자지갑 주소의 적어도 일부 영역)와 매칭되는지 인증하는 인증 절차를 수행할 수 있다. 한편 상기 인증정보가 복호화되지 않게 암호화(예컨대, 해시)되어 생성된 경우, 상기 인증 기능부(230)는 상기 사용자의 공개키를 통해 상기 인출정보에 포함되는 전자지갑 주소(또는 전자지갑 주소의 적어도 일부 영역)를 포함하는 데이터를 동일한 암호화 방식으로 암호화하여 검증정보를 생성한 후 상기 인증정보와 비교하여 매칭되는지 인증하는 인증 절차를 수행할 수 있다.
본 발명의 제4 인증정보 실시예에 따르면, 상기 인증정보는 상기 인출정보에 포함되는 암호화폐 단위(또는 암호화폐 단위의 적어도 일부 영역)를 포함하는 데이터를 상기 사용자의 개인키를 통해 지정된 암호화 방식으로 암호화하여 생성한 거래연동 인증정보를 포함할 수 있으며, 이 경우 상기 인증 기능부(230)는 지정된 저장영역에 저장된 상기 사용자의 공개키를 통해 상기 인증정보를 복호화하여 상기 데이터를 복원한 후 상기 복원된 데이터가 상기 인출정보에 포함되는 암호화폐 단위(또는 암호화폐 단위의 적어도 일부 영역)와 매칭되는지 인증하는 인증 절차를 수행할 수 있다. 한편 상기 인증정보가 복호화되지 않게 암호화(예컨대, 해시)되어 생성된 경우, 상기 인증 기능부(230)는 상기 사용자의 공개키를 통해 상기 인출정보에 포함되는 암호화폐 단위(또는 암호화폐 단위의 적어도 일부 영역)를 포함하는 데이터를 동일한 암호화 방식으로 암호화하여 검증정보를 생성한 후 상기 인증정보와 비교하여 매칭되는지 인증하는 인증 절차를 수행할 수 있다.
본 발명의 제5 인증정보 실시예에 따르면, 상기 인증정보는 상기 인출정보에 포함되는 전자지갑 주소(또는 전자지갑 주소의 적어도 일부 영역)과 암호화폐 단위(또는 암호화폐 단위의 적어도 일부 영역)를 포함하는 데이터를 상기 사용자의 개인키를 통해 지정된 암호화 방식으로 암호화하여 생성한 거래연동 인증정보를 포함할 수 있으며, 이 경우 상기 인증 기능부(230)는 지정된 저장영역에 저장된 상기 사용자의 공개키를 통해 상기 인증정보를 복호화하여 상기 데이터를 복원한 후 상기 복원된 데이터가 상기 인출정보에 포함되는 전자지갑 주소(또는 전자지갑 주소의 적어도 일부 영역)과 암호화폐 단위(또는 암호화폐 단위의 적어도 일부 영역)와 매칭되는지 인증하는 인증 절차를 수행할 수 있다. 한편 상기 인증정보가 복호화되지 않게 암호화(예컨대, 해시)되어 생성된 경우, 상기 인증 기능부(230)는 상기 사용자의 공개키를 통해 상기 인출정보에 포함되는 전자지갑 주소(또는 전자지갑 주소의 적어도 일부 영역)과 암호화폐 단위(또는 암호화폐 단위의 적어도 일부 영역)를 포함하는 데이터를 동일한 암호화 방식으로 암호화하여 검증정보를 생성한 후 상기 인증정보와 비교하여 매칭되는지 인증하는 인증 절차를 수행할 수 있다.
본 발명의 제6 인증정보 실시예에 따르면, 상기 인증정보는 지정된 운영서버(100)와 상기 스마트 컨트랙드가 기 설정된 규칙에 따라 지정된 블록체인 상의 특정 블록(예컨대, 현재 시점에 기 체인 연결되어 불변의 기록으로 남은 블록 중 운영서버(100)와 스마트 컨트랙트(210) 사이에 기 설정된 규칙에 따라 합의되는 블록) 내 특정 저장위치(예컨대, 운영서버(100)와 스마트 컨트랙트(210) 사이에 기 설정된 규칙에 따라 합의되는 저장위치)를 동기화하여 획득하는 데이터를 상기 사용자의 개인키를 통해 지정된 암호화 방식으로 암호화하여 생성한 블록연동 인증정보를 포함할 수 있으며, 이 경우 상기 인증 기능부(230)는 지정된 저장영역에 저장된 상기 사용자의 공개키를 통해 상기 인증정보를 복호화하여 상기 데이터를 복원한 후 상기 복원된 데이터가 상기 운영서버(100)와 스마트 컨트랙드가 기 설정된 규칙에 따라 지정된 블록체인 상의 특정 블록 내 특정 저장위치를 동기화하여 획득하는 데이터와 매칭되는지 인증하는 인증 절차를 수행할 수 있다. 한편 상기 인증정보가 복호화되지 않게 암호화(예컨대, 해시)되어 생성된 경우, 상기 인증 기능부(230)는 상기 사용자의 공개키를 통해 상기 운영서버(100)와 스마트 컨트랙드가 기 설정된 규칙에 따라 지정된 블록체인 상의 특정 블록 내 특정 저장위치를 동기화하여 획득하는 데이터를 포함하는 데이터를 동일한 암호화 방식으로 암호화하여 검증정보를 생성한 후 상기 인증정보와 비교하여 매칭되는지 인증하는 인증 절차를 수행할 수 있다.
본 발명의 제7 인증정보 실시예에 따르면, 상기 인증정보는 상기 제1 내지 제6 인증정보 실시예 중 적어도 둘 이상의 실시예를 적어도 부분적으로 조합한 형태의 인증정보를 포함할 수 있으며, 이 경우 상기 인증 기능부(230)는 상기 제1 내지 제6 인증정보 실시예 중 적어도 둘 이상의 실시예를 적어도 부분적으로 조합한 형태로 지정된 저장영역에 저장된 상기 사용자의 공개키를 통해 상기 인증정보의 유효성을 인증하는 인증 절차를 수행할 수 있으며, 이에 의해 본 발명이 한정되지 아니한다.
상기 인증 기능부(230)를 통해 수행된 지정된 인증 절차의 인증이 성공한 경우, 상기 저장 기능부(220)는 지정된 암화화폐를 인출받은 사용자의 전자지갑 주소와 상기 인출된 암호화폐 단위를 포함하는 암호화폐 인출정보를 지정된 저장영역에 저장할 수 있다. 여기서, 상기 암호화폐 인출정보를 저장하는 지정된 저장영역은 스마트 컨트랙트(210)의 상태를 저장하는 저장영역, 또는 상기 암호화폐의 인출과 관련된 정보를 저장하기 위해 설정된 저장영역을 포함할 수 있다.
도면3은 본 발명의 실시 방법에 따라 외부 블록체인 네트워크(200)의 노드장치(205)에 스마트 컨트랙트(210)를 등록하는 과정을 도시한 도면이다.
보다 상세하게 본 도면3은 지정된 외부 블록체인 네트워크(200)의 노드장치(205)에 스마트 컨트랙트(210)를 등록하는 과정의 일 실시예를 도시한 도면으로서, 본 발명이 속한 기술분야에서 통상의 지식을 가진 자라면, 본 도면3을 참조 및/또는 변형하여 상기 과정에 대한 다양한 실시 방법(예컨대, 일부 단계가 생략되거나, 또는 순서가 변경된 실시 방법)을 유추할 수 있을 것이나, 본 발명은 상기 유추되는 모든 실시 방법을 포함하여 이루어지며, 본 도면3에 도시된 실시 방법만으로 그 기술적 특징이 한정되지 아니한다.
도면3을 참조하면, 운영서버(100)는 지정된 외부 블록체인 네트워크(200)의 노드장치(205)에 등록할 스마트 컨트랙트(210)를 확인하고(300), 상기 스마트 컨트랙트(210)를 지원하는 지정된 외부 블록체인 네트워크(200) 상에 구비된 M개의 노드장치(205)에 상기 스마트 컨트랙트(210)를 등록하는 등록 절차를 수행하며(305), 상기 외부 블록체인 네트워크(200) 상의 노드장치(205)는 상기 스마트 컨트랙트(210)를 제공받아 지정된 저장영역에 등록하는 절차를 수행한다(310).
도면4는 본 발명의 실시 방법에 따른 암호화폐 거래를 위한 정보 등록 과정을 도시한 도면이다.
보다 상세하게 본 도면4는 사용자단말(180)을 통해 운영서버(100)(또는 서비스서버(170))에 사용자정보와 사용자의 전자지갑 주소를 등록하는 과정의 일 실시예를 도시한 도면으로서, 본 발명이 속한 기술분야에서 통상의 지식을 가진 자라면, 본 도면4를 참조 및/또는 변형하여 상기 과정에 대한 다양한 실시 방법(예컨대, 일부 단계가 생략되거나, 또는 순서가 변경된 실시 방법)을 유추할 수 있을 것이나, 본 발명은 상기 유추되는 모든 실시 방법을 포함하여 이루어지며, 본 도면4에 도시된 실시 방법만으로 그 기술적 특징이 한정되지 아니한다.
도면4를 참조하면, 사용자단말(180)은 운영서버(100)(또는 서비스서버(170))에 회원으로 가입할 사용자정보를 입력받고(400), 상기 운영서버(100)(또는 서비스서버(170))로 상기 사용자정보를 등록 요청한다(405).
상기 운영서버(100)(또는 서비스서버(170))는 상기 사용자정보를 수신하고(410), 상기 사용자정보를 근거로 적어도 하나의 본인 인증 절차를 수행한다(415). 만약 상기 사용자의 본인 인증을 실패한 경우, 상기 운영서버(100)(또는 서비스서버(170))는 상기 사용자단말(180)을 통해 사용자의 본인 인증 오류를 출력한다(420).
한편 상기 사용자의 본인 인증을 성공한 경우, 상기 운영서버(100)(또는 서비스서버(170))는 상기 사용자정보를 지정된 데이터베이스에 저장하고(425), 상기 사용자정보의 등록 결과를 사용자단말(180)로 제공하며(ㅌ30), 상기 사용자단말(180)은 상기 사용자정보의 등록 결과를 수신/출력한다(435).
한편 상기 사용자단말(180)은 지정된 외부 블록체인 네트워크(200) 상에서 유효 동작하는 유효한 사용자의 전자지갑을 생성하는 절차를 수행하거나(440), 외부 블록체인 네트워크(200) 상에 유효 생성된 사용자의 전자지갑 주소를 확인하고(440), 상기 외부 블록체인 네트워크(200) 상에 유효 생성된 사용자의 전자지갑 주소를 등록 요청한다(445). 상기 운영서버(100)(또는 서비스서버(170))는 상기 외부 블록체인 네트워크(200) 상에 유효 생성된 사용자의 전자지갑 주소를 수신하고(450), 상기 사용자의 전자지갑 주소에 대한 유효성을 검증하는 절차를 수행한다(455).
만약 상기 등록 요청된 사용자의 전자지갑 주소에 대한 유효성이 검증되면, 상기 운영서버(100)(또는 서비스서버(170))는 상기 사용자의 전자지갑 주소를 상기 사용자정보와 연계하여 저장하고(460), 상기 사용자의 전자지갑 주소의 등록 결과를 사용자단말(180)로 제공하며(465), 상기 사용자단말(180)은 상기 사용자의 전자지갑 주소의 등록 결과를 수신/출력한다(470).
도면5는 본 발명의 일 실시 방법에 따라 사용자의 공개키를 스마트 컨트랙트(210)에 기록하는 과정을 도시한 도면이다.
보다 상세하게 본 도면5는 외부 블록체인 네트워크(200) 상에 유효 생성된 사용자의 전자지갑에 보유된 암호화폐 단위를 상기 외부 블록체인 네트워크(200) 상의 스마트 컨트랙트(210)에 예치하는 과정을 통해 사용자의 공개키를 스마트 컨트랙트(210)에 기록하는 일 실시예를 도시한 도면으로서, 본 발명이 속한 기술분야에서 통상의 지식을 가진 자라면, 본 도면5를 참조 및/또는 변형하여 상기 과정에 대한 다양한 실시 방법(예컨대, 일부 단계가 생략되거나, 또는 순서가 변경된 실시 방법)을 유추할 수 있을 것이나, 본 발명은 상기 유추되는 모든 실시 방법을 포함하여 이루어지며, 본 도면5에 도시된 실시 방법만으로 그 기술적 특징이 한정되지 아니한다.
도면5를 참조하면, 사용자단말(180)은 외부 블록체인 네트워크(200) 상의 스마트 컨트랙트(210)로 지정된 암호화폐 단위를 예치하기 위해 상기 스마트 컨트랙트(210)의 컨트랙트 주소를 확인하고(500), 상기 외부 블록체인 네트워크(200) 상에 유효 생성된 사용자의 전자지갑에 대응하는 개인키를 이용하여 상기 사용자의 전자지갑에 예치된 지정된 암호화폐 단위를 상기 컨트랙트 주소에 대응하는 스마트 컨트랙트(210)로 예치하는 절차를 수행한다(505). 예를들어, 상기 사용자단말(180)은 상기 사용자의 전자지갑에 대응하는 개인키를 통해 상기 사용자의 전자지갑에 예치된 지정된 암호화폐 단위를 상기 컨트랙트 주소에 대응하는 스마트 컨트랙트(210)로 예치하는 거래내역을 생성하여 지정된 경로를 통해 상기 외부 블록체인 네트워크(200) 상의 노드장치(205)로 방송할 수 있다.
상기 외부 블록체인 네트워크(200) 상의 노드장치(205)는 상기 외부 블록체인 네트워크(200) 상에 유효 생성된 사용자의 전자지갑에 보유된 암호화폐 단위를 상기 컨트랙트 주소에 대응하는 스마트 컨트랙트(210)로 예치하는 동작을 수행하고(510), 상기 스마트 컨트랙트(210)에 상기 암호화폐 단위를 예치하는 동작이 수행되어 각 노드장치(205) 사이에 합의/공유되는 경우 상기 스마트 컨트랙트(210)는 상기 암호화폐를 예치한 사용자의 전자지갑 주소와 상기 예치된 암호화폐 단위를 포함하는 암호화폐 예치정보를 지정된 저장영역에 저장하여 관리한다(515).
한편 상기 운영서버(100)는 외부 블록체인 네트워크(200) 상의 노드장치(205)를 참조하여 상기 스마트 컨트랙트(210)의 지정된 저장영역에 저장된 암호화폐 예치정보를 확인하고(520), 상기 확인된 암호화폐 예치정보를 지정된 데이터베이스에 저장하여 관리한다(525). 한편 상기 운영서버(100)는 상기 외부 블록체인 네트워크(200) 상의 노드장치(205)를 참조하여 확인된 상기 암호화폐 예치정보에 포함된 사용자의 전자지갑 주소와 상기 데이터베이스에 기 저장되어 있는 암호화폐 예치정보의 전자지갑 주소를 비교하여 상기 스마트 컨트랙트(210)의 지정된 저장영역에 신규 기록된 사용자의 전자지갑 주소에 대응하는 사용자의 공개키를 확인한다(530).
만약 상기 스마트 컨트랙트(210)의 지정된 저장영역에 신규 기록된 사용자의 공개키가 확인되면, 상기 운영서버(100)는 상기 확인된 공개키에 대응하는 사용자를 상기 스마트 컨트랙트(210)에 예치된 암호화폐의 인출 가능한 사용자로 설정하여 저장할 수 있다(535).
도면6은 본 발명의 다른 일 실시 방법에 따라 사용자의 공개키를 스마트 컨트랙트(210)에 기록하는 과정을 도시한 도면이다.
보다 상세하게 본 도면6은 사용자의 전자지갑 생성과 무관하게 별도 생성된 사용자의 공개키를 스마트 컨트랙트(210)에 기록하는 과정을 통해 사용자의 공개키를 스마트 컨트랙트(210)에 기록하는 일 실시예를 도시한 도면으로서, 본 발명이 속한 기술분야에서 통상의 지식을 가진 자라면, 본 도면6을 참조 및/또는 변형하여 상기 과정에 대한 다양한 실시 방법(예컨대, 일부 단계가 생략되거나, 또는 순서가 변경된 실시 방법)을 유추할 수 있을 것이나, 본 발명은 상기 유추되는 모든 실시 방법을 포함하여 이루어지며, 본 도면6에 도시된 실시 방법만으로 그 기술적 특징이 한정되지 아니한다.
도면6을 참조하면, 사용자 전자지갑에 보유된 암호화폐 단위를 외부 블록체인 네트워크(200) 상의 스마트 컨트랙트(210)에 예치하여 상기 스마트 컨트랙트(210)의 지정된 저장영역에 암호화폐를 예치한 사용자의 전자지갑 주소와 상기 예치된 암호화폐 단위를 포함하는 암호화폐 예치정보가 저장되기 전 또는 중 또는 후의 일 시점에, 상기 사용자단말(180)은 사용자의 전자지갑 생성과 무관하게 별도 생성된 사용자의 공개키를 등록하기 위해 접속하며(600), 상기 운영서버(100)는 기 등록된 사용자정보를 근거로 상기 사용자에 대한 지정된 본인 인증 절차를 수행한다(605). 만약 상기 사용자의 본인 인증을 실패한 경우, 상기 운영서버(100)는 상기 사용자단말(180)을 통해 사용자의 본인 인증 오류를 출력한다(610).
한편 상기 사용자의 본인 인증을 성공한 경우, 상기 운영서버(100)는 사용자의 전자지갑 생성과 무관하게 별도 생성된 사용자의 공개키를 확인(예컨대, 사용자 단말을 통해 수신하거나 또는 본인 인증된 사용자정보를 근거로 상기 사용자의 공개키를 저장 관리하는 관리서버나 상기 사용자의 공개키를 발행한 발행서버나 상기 사용자의 공개키를 이용한 지정된 인증 절차를 수행하는 인증서버 등을 통해 확인)한다. 한편 상기 운영서버(100)는 상기 사용자의 전자지갑 주소를 확인하고(620), 기 설정된 스마트 컨트랙트 동작 절차에 따라 상기 사용자의 공개키와 사용자의 전자지갑 주소를 상기 외부 블록체인 네트워크(200) 상의 스마트 컨트랙트(210)로 제공하는 절차를 수행한다(625). 바람직하게, 상기 스마트 컨트랙트 동작 절차는 상기 운영서버(100)가 지정된 특정 노드장치(205)(예컨대, 상기 외부 블록체인 네트워크(200) 상의 노드장치(205) 중 상기 운영서버(100)와 연동하는 노드장치(205), 또는 상기 외부 블록체인 네트워크(200) 상의 노드장치(205) 중 상기 운영서버(100)가 상기 메시지의 방송을 위한 개인키를 관리하는 노드장치(205))의 개인키를 이용하여 상기 스마트 컨트랙트(210)의 동작을 위한 지정된 구조의 메시지를 상기 외부 블록체인 네트워크(200) 상의 각 노드장치(205)로 방송하는 절차 내지 상기 외부 블록체인 네트워크(200) 상의 각 노드장치(205)의 스마트 컨트랙트(210)가 상기 메시지를 수신하여 판독하는 절차를 포함할 수 있다.
상기 외부 블록체인 네트워크(200) 상의 스마트 컨트랙트(210)는 기 설정된 스마트 컨트랙트 동작 절차를 통해 상기 스마트 컨트랙트(210)로 제공된 사용자의 공개키와 사용자의 전자지갑 주소를 확인한다(630). 한편 상기 스마트 컨트랙트(210)는 상기 확인된 전자지갑 주소가 지정된 저장영역(예컨대, 암호화폐 예치정보를 저장하는 저장영역)에 저장되어 있는지 확인하는 절차를 수행할 수 있다(635). 예를들어, 상기 사용자의 전자지갑 주소는 상기 도면5의 암호화폐 예치 과정을 통해 스마트 컨트랙트(210)의 지정된 저장영역에 저장될 수 있다. 만약 상기 저장된 사용자의 전자지갑 주소가 확인되지 않는 경우, 상기 스마트 컨트랙트(210)는 동작을 중지할 수 있다(640). 상기 스마트 컨트랙트(210)는 상기 확인된 사용자의 공개키와 사용자의 전자지갑 주소를 지정된 저장영역에 연계 저장한다(645).
한편 상기 운영서버(100)는 상기 외부 블록체인 네트워크(200) 상의 노드장치(205)를 참조하여 상기 스마트 컨트랙트(210)의 지정된 저장영역에 신규 기록된 사용자의 공개키를 확인한다(650). 만약 상기 스마트 컨트랙트(210)의 지정된 저장영역에 신규 기록된 사용자의 공개키가 확인되면, 상기 운영서버(100)는 상기 확인된 공개키에 대응하는 사용자를 상기 스마트 컨트랙트(210)에 예치된 암호화폐의 인출 가능 사용자로 설정하여 저장한다(655).
한편 상기 스마트 컨트랙트(210)의 지정된 저장영역에 기록된 사용자의 공개키가 확인되지 않으면, 상기 운영서버(100)는 외부 블록체인 네트워크(200) 상의 노드장치(205)를 참조하여 상기 사용자의 공개키를 기록할 스마트 컨트랙트(210)의 중지를 확인할 수 있다(660). 만약 상기 스마트 컨트랙트(210)가 중지된 경우, 상기 운영서버(100)는 사용자의 공개키 등록 요청에 대한 오류정보를 생성하여 상기 사용자단말(180)로 제공하며(665), 상기 사용자단말(180)은 상기 사용자의 공개키 등록 요청에 대한 오류정보를 수신하여 출력할 수 있다(670).
도면7은 본 발명의 일 실시 방법에 따라 내부 블록체인 네트워크(130)를 통해 암호화폐 거래를 제공하는 과정을 도시한 도면이다.
보다 상세하게 본 도면7은 외부 블록체인 네트워크(200) 상의 스마트 컨트랙트(210)에 사용자의 공개키가 기록된 경우, 상기 외부 블록체인 네트워크(200)와 구별되는 별도의 지정된 내부 블록체인 네트워크(130) 상에 사용자의 내부지갑을 생성하고, 상기 내부 블록체인 네트워크(130) 상에 생성된 사용자의 내부지갑을 이용하여 상기 스마트 컨트랙트(210)에 예치된 암호화폐에 근거하는 전자지갑 간 암호화폐 거래를 처리하는 일 실시예를 도시한 도면으로서, 본 발명이 속한 기술분야에서 통상의 지식을 가진 자라면, 본 도면7을 참조 및/또는 변형하여 상기 과정에 대한 다양한 실시 방법(예컨대, 일부 단계가 생략되거나, 또는 순서가 변경된 실시 방법)을 유추할 수 있을 것이나, 본 발명은 상기 유추되는 모든 실시 방법을 포함하여 이루어지며, 본 도면7에 도시된 실시 방법만으로 그 기술적 특징이 한정되지 아니한다.
도면7을 참조하면, 운영서버(100)는 지정된 외부 블록체인 네트워크(200) 상의 노드장치(205)를 참조하여 상기 도면5 또는 도면6의 과정을 통해 외부 블록체인 네트워크(200) 상의 스마트 컨트랙트(210)에 사용자의 공개키가 기록되는지 확인한다(700). 만약 상기 외부 블록체인 네트워크(200) 상의 스마트 컨트랙트(210)에 사용자의 공개키가 기록된 경우, 상기 운영서버(100)는 상기 외부 블록체인 네트워크(200)와 구별되는 별도의 지정된 내부 블록체인 네트워크(130) 상에 사용자의 내부지갑을 생성하거나 기 생성된 사용자의 내부지갑을 확인한다(705).
만약 상기 내부 블록체인 네트워크(130) 상에 사용자의 내부지갑이 생성되거나 확인되면, 상기 운영서버(100)는 상기 외부 블록체인 네트워크(200) 상에 생성된 사용자의 전자지갑을 통해 상기 외부 블록체인 네트워크(200) 상의 스마트 컨트랙트(210)에 예치된 암호화폐를 상기 내부 블록체인 네트워크(130) 상에 생성된 사용자의 내부지갑에 적용하는 절차를 수행한다(710).
한편 상기 외부 블록체인 네트워크(200) 상에 생성된 사용자의 전자지갑을 통해 상기 외부 블록체인 네트워크(200) 상의 스마트 컨트랙트(210)에 예치된 암호화폐가 전자지갑 간 암호화폐 거래를 위한 암호화폐인 경우, 상기 운영서버(100)는 상기 내부 블록체인 네트워크(130)를 통해 상기 사용자의 내부지갑에 적용된 암호화폐를 이용한 탈중앙화 방식의 전자지갑 간 암호화폐 거래를 처리하는 절차를 수행한다(715).
만약 상기 내부 블록체인 네트워크(130)를 통해 상기 사용자의 내부지갑에 적용된 암호화폐를 이용한 탈중앙화 방식의 전자지갑 간 암호화폐 거래가 처리되면, 상기 운영서버(100)는 상기 내부 블록체인 네트워크(130)를 통해 처리된 전자지갑 간 암호화폐 거래의 거래내역을 지정된 데이터베이스에 동기화하여 저장한다(720).
도면8은 본 발명의 다른 일 실시 방법에 따라 내부 블록체인 네트워크(130)를 통해 암호화폐 거래를 제공하는 과정을 도시한 도면이다.
보다 상세하게 본 도면8은 외부 블록체인 네트워크(200) 상의 스마트 컨트랙트(210)에 사용자의 공개키가 기록된 경우, 상기 외부 블록체인 네트워크(200)와 구별되는 별도의 지정된 내부 블록체인 네트워크(130) 상에 사용자의 내부지갑을 생성하고, 상기 내부 블록체인 네트워크(130) 상에 생성된 사용자의 내부지갑을 이용하여 지정된 암호화폐 거래 환경을 이용한 거래소 기반 암호화폐 거래를 처리하는 일 실시예를 도시한 도면으로서, 본 발명이 속한 기술분야에서 통상의 지식을 가진 자라면, 본 도면8을 참조 및/또는 변형하여 상기 과정에 대한 다양한 실시 방법(예컨대, 일부 단계가 생략되거나, 또는 순서가 변경된 실시 방법)을 유추할 수 있을 것이나, 본 발명은 상기 유추되는 모든 실시 방법을 포함하여 이루어지며, 본 도면8에 도시된 실시 방법만으로 그 기술적 특징이 한정되지 아니한다.
도면8을 참조하면, 운영서버(100)는 지정된 외부 블록체인 네트워크(200) 상의 노드장치(205)를 참조하여 상기 도면5 또는 도면6의 과정을 통해 외부 블록체인 네트워크(200) 상의 스마트 컨트랙트(210)에 사용자의 공개키가 기록되는지 확인한다(800). 만약 상기 외부 블록체인 네트워크(200) 상의 스마트 컨트랙트(210)에 사용자의 공개키가 기록된 경우, 상기 운영서버(100)는 상기 외부 블록체인 네트워크(200)와 구별되는 별도의 지정된 내부 블록체인 네트워크(130) 상에 사용자의 내부지갑을 생성하거나 기 생성된 사용자의 내부지갑을 확인한다(805).
만약 상기 내부 블록체인 네트워크(130) 상에 사용자의 내부지갑이 생성되거나 확인되면, 상기 운영서버(100)는 상기 외부 블록체인 네트워크(200) 상에 생성된 사용자의 전자지갑을 통해 상기 외부 블록체인 네트워크(200) 상의 스마트 컨트랙트(210)에 예치된 암호화폐를 상기 내부 블록체인 네트워크(130) 상에 생성된 사용자의 내부지갑에 적용하는 절차를 수행한다(810).
한편 상기 내부 블록체인 네트워크(130) 상에 생성된 사용자의 내부지갑을 통해 거래소 기반 암호화폐 거래를 제공하는 경우, 상기 운영서버(100)는 상기 내부 블록체인 네트워크(130) 상에 생성된 사용자의 내부지갑을 이용하여 거래소 기반 암호화폐 거래를 운영하기 위한 암호화폐 거래 환경을 사용자단말(180)로 제공한다(815).
상기 사용자단말(180)은 상기 내부 블록체인 네트워크(130) 상에 생성된 사용자의 내부지갑을 통해 거래소 기반 암호화폐 거래를 제공하기 위한 암호화폐 거래 환경을 출력하고(820), 상기 출력된 암호화폐 거래 환경을 근거로 상기 내부 블록체인 네트워크(130) 상의 사용자 내부지갑을 이용한 거래소 기반 암호화폐 거래를 요청하며(825), 상기 운영서버(100)는 상기 내부 블록체인 네트워크(130)를 통해 상기 사용자의 내부지갑을 이용하여 상기 암호화폐 거래 환경을 통해 요청받은 탈중앙화 방식의 거래소 기반 암호화폐 거래를 처리하는 절차를 수행한다(830).
만약 상기 내부 블록체인 네트워크(130)를 통해 상기 사용자의 내부지갑에 적용된 암호화폐를 이용한 탈중앙화 방식의 거래소 기반 암호화폐 거래가 처리되면, 상기 운영서버(100)는 상기 내부 블록체인 네트워크(130)를 통해 처리된 거래소 기반 암호화폐 거래의 거래내역을 지정된 데이터베이스에 동기화하여 저장한다(820).
도면9는 본 발명의 실시 방법에 따라 스마트 컨트랙트(210)에 예치된 암호화폐를 인출하기 위한 정보를 구성하는 과정을 도시한 도면이다.
보다 상세하게 본 도면9는 지정된 내부 블록체인 네트워크(130)를 통한 암호화폐 거래 결과의 적어도 일부에 대응하는 암호화폐를 외부 블록체인 네트워크(200) 상의 사용자 전자지갑으로 인출으로 인출 시 암호화폐 인출을 위한 본인 인증 절차를 수행하여 인증된 사용자의 전자지갑 주소와 상기 인출될 암호화폐 단위 및 상기 인증된 사용자의 개인키를 통해 생성된 인증정보를 확인하는 일 실시예를 도시한 도면으로서, 본 발명이 속한 기술분야에서 통상의 지식을 가진 자라면, 본 도면9를 참조 및/또는 변형하여 상기 과정에 대한 다양한 실시 방법(예컨대, 일부 단계가 생략되거나, 또는 순서가 변경된 실시 방법)을 유추할 수 있을 것이나, 본 발명은 상기 유추되는 모든 실시 방법을 포함하여 이루어지며, 본 도면9에 도시된 실시 방법만으로 그 기술적 특징이 한정되지 아니한다.
도면9를 참조하면, 사용자단말(180)은 외부 블록체인 네트워크(200) 상의 스마트 컨트랙트(210)에 예치된 암호화폐 중 상기 도면7 또는 도면8의 과정을 통해 수행된 내부 블록체인 네트워크(130)를 이용한 암호화폐 거래 결과의 적어도 일부에 대응하는 암호화폐를 외부 블록체인 네트워크(200) 상의 사용자 전자지갑으로 인출 요청하며(900), 운영서버(100)는 상기 외부 블록체인 네트워크(200) 상의 스마트 컨트랙트(210)에 예치된 암호화폐의 인출 요청을 확인하고(905), 기 등록된 사용자정보를 근거로 상기 사용자에 대하여 암호화폐 인출을 위해 지정된 본인 인증 절차를 수행한다(910). 만약 상기 사용자의 본인 인증을 실패한 경우, 상기 운영서버(100)는 상기 사용자단말(180)을 통해 사용자의 본인 인증 오류를 출력한다(915).
한편 상기 사용자의 본인 인증을 성공한 경우, 상기 운영서버(100)는 상기 사용자의 본인 인증 결과를 상기 사용자 단말로 제공하며(920), 상기 사용자단말(180)은 상기 사용자의 본인 인증 결과를 확인하고(925), 지정된 암호화폐 인출 위한 사용자의 전자지갑 주소를 확인하거나 입력받고, 상기 사용자의 전자지갑으로 인출될 암호화폐 단위를 입력받으며(930), 상기 운영서버(100)와 상기 스마트 컨트랙트(210) 사이에 합의되거나 동기화되는 데이터를 확인한다(935). 한편 실시 방법에 따라 상기 운영서버(100)는 상기 스마트 컨트랙트(210) 사이에 합의되거나 동기화되는 데이터를 확인하여 상기 사용자단말(180)로 제공할 수 있다(935). 한편 본 발명의 다른 실시 방법에 따르면, 상기 운영서버(100)와 스마트 컨트랙트(210) 사이에 합의되거나 동기화되는 데이터는 상기 운영서버(100)를 통해 암호화될 수 있으며, 이에 의해 본 발명이 한정되지 아니한다.
만약 상기 운영서버(100)와 스마트 컨트랙트(210) 사이에 합의되거나 동기화되는 데이터가 확인되면, 상기 사용자단말(180)은 본인 인증된 사용자의 개인키를 이용하여 상기 운영서버(100)와 스마트 컨트랙트(210) 사이에 합의되거나 동기화되는 데이터를 기 설정된 암호 방식으로 암호화하여 인증정보를 생성하며(940), 상기 암호화폐의 인출을 위한 사용자의 전자지갑 주소와 상기 인출될 암호화폐 단위 및 상기 사용자의 개인키를 통해 생성된 인증정보를 상기 운영서버(100)로 제공하며(945), 상기 운영서버(100)는 상기 암호화폐의 인출을 위한 사용자의 전자지갑 주소와 암호화폐 단위 및 상기 사용자의 개인키를 통해 생성된 인증정보를 확인한다(950). 한편 본 발명의 다른 실시 방법에 따르면, 상기 운영서버(100)는 상기 사용자의 개인키를 통해 상기 운영서버(100)와 스마트 컨트랙트(210) 사이에 합의되거나 동기화되는 데이터를 암호화하여 인증정보를 생성할 수 있으며, 이에 의해 본 발명이 한정되지 아니한다.
도면10은 본 발명의 실시 방법에 따라 스마트 컨트랙트(210)에 예치된 암호화폐를 인출하는 과정을 도시한 도면이다.
보다 상세하게 본 도면10은 상기 도면9의 과정을 통해 확인된 사용자의 전자지갑 주소와 암호화폐 단위 및 상기 인증정보를 기 설정된 스마트 컨트랙트 동작 절차에 따라 지정된 외부 블록체인 네트워크(200) 상의 스마트 컨트랙트(210)로 제공하여 상기 스마트 컨트랙트(210)에 예치된 암호화폐를 인출하는 일 실시예를 도시한 도면으로서, 본 발명이 속한 기술분야에서 통상의 지식을 가진 자라면, 본 도면10을 참조 및/또는 변형하여 상기 과정에 대한 다양한 실시 방법(예컨대, 일부 단계가 생략되거나, 또는 순서가 변경된 실시 방법)을 유추할 수 있을 것이나, 본 발명은 상기 유추되는 모든 실시 방법을 포함하여 이루어지며, 본 도면10에 도시된 실시 방법만으로 그 기술적 특징이 한정되지 아니한다.
도면10을 참조하면, 운영서버(100)는 상기 도면9의 과정을 통해 스마트 컨트랙트(210)에 예치된 암호화폐를 인출받을 사용자의 전자지갑 주소와 상기 인출될 암호화폐 단위 및 사용자의 개인키를 통해 생성된 인증정보를 포함하는 인출정보를 기 설정된 스마트 컨트랙트 동작 절차에 따라 외부 블록체인 네트워크(200) 상의 스마트 컨트랙트(210)로 전달하는 절차를 수행한다(1000). 바람직하게, 상기 스마트 컨트랙트 동작 절차는 상기 운영서버(100)가 지정된 특정 노드장치(205)(예컨대, 상기 외부 블록체인 네트워크(200) 상의 노드장치(205) 중 상기 운영서버(100)와 연동하는 노드장치(205), 또는 상기 외부 블록체인 네트워크(200) 상의 노드장치(205) 중 상기 운영서버(100)가 상기 메시지의 방송을 위한 개인키를 관리하는 노드장치(205))의 개인키를 이용하여 상기 스마트 컨트랙트(210)의 동작을 위한 지정된 구조의 메시지를 상기 외부 블록체인 네트워크(200) 상의 각 노드장치(205)로 방송하는 절차 내지 상기 외부 블록체인 네트워크(200) 상의 각 노드장치(205)의 스마트 컨트랙트(210)가 상기 메시지를 수신하여 판독하는 절차를 포함할 수 있다.
상기 외부 블록체인 네트워크(200) 상의 스마트 컨트랙트(210)는 기 설정된 스마트 컨트랙트 동작 절차를 통해 상기 스마트 컨트랙트(210)로 제공된 상기 인출정보를 확인하고(1005), 상기 스마트 컨트랙트(210)의 지정된 저장영역에 상기 인출정보의 전자지갑 주소가 저장되어 있는지 확인하거나 및/또는 상기 인출정보의 전자지갑 주소에 대응하거나 연계된 사용자의 공개키를 확인한다(1010). 만약 지정된 저장영역에 상기 인출정보의 전자지갑 주소가 저장되어 있지 않거나 상기 사용자의 공개키가 확인되지 않는 경우, 상기 스마트 컨트랙트(210)는 동작을 중지할 수 있다(1015).
한편 지정된 저장영역에 상기 인출정보의 전자지갑 주소가 저장되어 있지 않거나 상기 사용자의 공개키가 확인된 경우, 상기 스마트 컨트랙트(210)는 상기 사용자의 공개키를 통해 상기 인출정보에 포함된 인증정보의 유효성을 인증한다(1020). 만약 상기 인증정보의 유효성이 인증되지 않으면, 상기 스마트 컨트랙트(210)는 동작을 중지할 수 있다(1015).
한편 상기 인증정보의 유효성이 인증되면, 상기 스마트 컨트랙트(210)는 상기 인출정보에 포함된 사용자의 전자지갑 주소로 상기 인출정보에 포함된 암호화폐 단위를 인출하는 절차를 수행하며(1025), 상기 암호화폐의 인출 시 상기 암호화폐를 인출받은 사용자의 전자지갑 주소와 상기 인출된 암호화폐 단위를 포함하는 암호화폐 인출정보를 지정된 저장영역에 저장한다(1030).
한편 상기 운영서버(100)는 상기 외부 블록체인 네트워크(200) 상의 노드장치(205)를 참조하여 상기 스마트 컨트랙트(210)를 통해 상기 인출정보에 포함된 사용자의 전자지갑 주소로 상기 암호화폐 단위를 인출한 암호화폐 인출정보를 확인한다(1035). 만약 상기 암호화폐 인출정보가 확인되면, 상기 운영서버(100)는 상기 확인된 암호화폐 인출정보를 근거로 지정된 사용자의 전자지갑으로 지정된 암호화폐 단위를 인출한 거래정보를 지정된 데이터베이스에 동기화하여 저장한다(1040).
한편 상기 암호화폐 인출정보가 확인되지 않으면, 상기 운영서버(100)는 외부 블록체인 네트워크(200) 상의 노드장치(205)를 참조하여 상기 인출정보의 암호화폐를 인출할 스마트 컨트랙트(210)의 중지를 확인할 수 있다(1045). 만약 상기 스마트 컨트랙트(210)가 중지된 경우, 상기 운영서버(100)는 상기 암호화폐의 인출에 대한 오류정보를 생성하여 상기 사용자단말(180)로 제공하며(1050), 상기 사용자단말(180)은 상기 암호화폐의 인출에 대한 오류정보를 수신하여 출력할 수 있다(1055).
100 : 운영서버 105 : 블록체인 연동부
110 : 컨트랙트 등록부 115 : 공개키 처리부
120 : 사용자 인증부 125 : 내부체인 운영부
130 : 내부 블록체인 네트워크 135 : 체인 연동부
140 : 거래 절차부 145 : 인출요청 확인부
150 : 인증정보 확인부 155 : 인출 절차부
160 : 인출결과 확인부 165 : 인출 관리부
200 : 외부 블록체인 네트워크 205 : 노드장치
210 : 스마트 컨트랙트 215 : 예치 기능부
220 : 저장 기능부 225 : 확인 기능부
230 : 인증 기능부 235 : 인출 기능부

Claims (43)

  1. 스마트 컨트랙트(Smart Contract)를 지원하는 B(B≥1)개의 외부 블록체인 네트워크와 연동 가능한 운영서버를 통해 실행되는 방법에 있어서,
    지정된 외부 블록체인 네트워크 상에 유효 생성된 하나 이상의 전자지갑으로부터 지정된 암호화폐 단위를 스마트 컨트랙트로 예치받는 예치 기능부와, 지정된 암호화폐를 예치한 사용자의 전자지갑 주소와 상기 예치된 암호화폐 단위를 포함하는 암호화폐 예치정보를 지정된 저장영역에 저장하거나 기 설정된 스마트 컨트랙트 동작 절차를 통해 제공받은 사용자의 공개키와 사용자의 전자지갑 주소를 확인하여 지정된 저장영역에 연계 저장하는 저장 기능부와, 스마트 컨트랙트에 예치된 암호화폐를 인출받을 사용자의 전자지갑 주소와 상기 인출될 암호화폐 단위 및 사용자의 개인키를 통해 생성된 인증정보를 포함하는 인출정보를 확인하는 확인 기능부와, 상기 사용자의 공개키를 이용하여 상기 인증정보의 유효성을 인증하는 인증 절차를 포함하는 하나 이상의 지정된 인증 절차를 수행하는 인증 기능부와, 상기 지정된 인증 절차의 인증 성공 시 상기 사용자의 전자지갑 주소로 상기 암호화폐 단위를 인출하는 인출 기능부를 구현하는 프로그램 코드를 포함하는 스마트 컨트랙트(Smart Contract)를 상기 외부 블록체인 네트워크 상에 구비된 M(M≥2)개의 노드장치에 등록하는 절차를 수행하는 제1 단계;
    사용자의 전자지갑에 보유된 지정된 암호화폐 단위가 상기 외부 블록체인 네트워크 상의 스마트 컨트랙트에 예치된 경우, 상기 사용자의 전자지갑과 무관하게 별도 생성된 사용자의 공개키를 확인하고, 기 설정된 스마트 컨트랙트 동작 절차에 따라 상기 사용자의 공개키와 사용자의 전자지갑 주소를 상기 외부 블록체인 네트워크 상의 스마트 컨트랙트로 제공하는 절차를 수행하는 제2 단계;
    상기 외부 블록체인 네트워크와 구별되는 별도의 지정된 내부 블록체인 네트워크를 통해 상기 스마트 컨트랙트에 예치된 암호화폐에 근거하는 지정된 암호화폐 거래를 처리하는 절차를 수행하는 제3 단계;
    상기 외부 블록체인 네트워크 상의 스마트 컨트랙트에 예치된 암호화폐 중 상기 내부 블록체인 네트워크를 통한 암호화폐 거래 결과의 적어도 일부에 대응하는 암호화폐를 상기 외부 블록체인 네트워크 상에 유효 생성된 사용자의 전자지갑으로 인출 시, 암호화폐 인출을 위한 본인 인증 절차를 수행하여 인증된 사용자의 전자지갑 주소와 상기 인출될 암호화폐 단위 및 상기 인증된 사용자의 개인키를 통해 생성된 인증정보를 확인하는 제4 단계; 및
    기 설정된 스마트 컨트랙트 동작 절차에 따라 상기 암호화폐를 인출받을 사용자의 전자지갑 주소와 상기 인출될 암호화폐 단위 및 상기 생성된 인증정보를 포함하는 인출정보를 상기 외부 블록체인 네트워크 상의 스마트 컨트랙트로 전달하기 위한 절차를 수행하는 제5 단계;를 포함하는 스마트 컨트랙트를 이용한 암호화폐 거래 플랫폼 제공 방법.
  2. 제 1항에 있어서,
    사용자의 공개키를 등록하기 위해 사용자단말을 통해 접속한 사용자에 대한 지정된 본인 인증 절차를 수행하는 단계를 더 포함하며,
    상기 제2 단계는, 상기 본인 인증된 사용자의 공개키를 확인하고, 기 설정된 스마트 컨트랙트 동작 절차에 따라 상기 사용자의 공개키와 사용자의 전자지갑 주소를 상기 외부 블록체인 네트워크 상의 스마트 컨트랙트로 제공하는 절차를 수행하는 단계를 포함하여 이루어지는 것을 특징으로 하는 스마트 컨트랙트를 이용한 암호화폐 거래 플랫폼 제공 방법.
  3. 제 2항에 있어서, 상기 예치된 암호화폐 단위는,
    상기 인증된 사용자의 암호화폐 거래를 위해 사용자의 전자지갑으로부터 상기 스마트 컨트랙트로 예치되는 암호화폐 단위, 또는
    상기 스마트 컨트랙트를 통해 상기 사용자의 전자지갑 주소를 저장 관리하기 위해 지정된 절차에 따라 상기 인증된 사용자의 전자지갑으로 지급된 후 상기 사용자의 전자지갑으로부터 상기 스마트 컨트랙트로 예치되는 암호화폐 단위를 포함하여 이루어지는 것을 특징으로 하는 스마트 컨트랙트를 이용한 암호화폐 거래 플랫폼 제공 방법.
  4. 제 1항에 있어서, 상기 암호화폐는,
    지정된 외부 블록체인 네트워크를 통해 발행되는 암호코인 형태의 암호화폐,
    지정된 암호코인을 발행하는 지정된 외부 블록체인 네트워크를 기반으로 구현되는 암호토큰 형태의 암호화폐 중 적어도 하나를 포함하여 이루어지는 것을 특징으로 하는 스마트 컨트랙트를 이용한 암호화폐 거래 플랫폼 제공 방법.
  5. 제 1항에 있어서, 상기 제2 단계는,
    상기 스마트 컨트랙트의 지정된 저장영역에 저장된 사용자의 공개키에 대응하는 사용자를 상기 스마트 컨트랙트에 예치된 암호화폐를 인출 가능한 사용자로 설정하여 저장하는 단계를 더 포함하여 이루어지는 것을 특징으로 하는 스마트 컨트랙트를 이용한 암호화폐 거래 플랫폼 제공 방법.
  6. 제 5항에 있어서, 상기 암호화폐 인출을 위한 본인 인증 절차는,
    상기 암호화폐를 인출할 사용자가 상기 스마트 컨트랙트의 지정된 저장영역에 본인의 공개키가 저장되어 상기 스마트 컨트랙트에 예치된 암호화폐를 인출 가능한 사용자인지 인증하는 단계를 포함하여 이루어지는 것을 특징으로 하는 스마트 컨트랙트를 이용한 암호화폐 거래 플랫폼 제공 방법.
  7. 제 1항에 있어서, 상기 제3 단계는,
    상기 외부 블록체인 네트워크 상의 스마트 컨트랙트에 사용자의 공개키를 저장한 경우,
    상기 내부 블록체인 네트워크 상에 사용자의 내부지갑을 생성하거나 기 생성된 사용자의 내부지갑 주소를 확인하는 단계; 및
    상기 외부 블록체인 네트워크 상의 사용자 전자지갑을 통해 상기 외부 블록체인 네트워크 상의 스마트 컨트랙트에 예치된 암호화폐 단위를 확인하여 상기 내부 블록체인 네트워크 상에 생성된 사용자의 내부지갑에 적용하는 단계;를 더 포함하여 이루어지는 것을 특징으로 하는 스마트 컨트랙트를 이용한 암호화폐 거래 플랫폼 제공 방법.
  8. 제 7항에 있어서, 상기 제3 단계는,
    상기 내부 블록체인 네트워크 상에 생성된 사용자의 내부지갑에 적용된 암호화폐를 다른 사용자의 내부지갑으로 이전하는 암호화폐 거래를 처리하는 단계를 더 포함하여 이루어지는 것을 특징으로 하는 스마트 컨트랙트를 이용한 암호화폐 거래 플랫폼 제공 방법.
  9. 제 7항에 있어서, 상기 제3 단계는,
    사용자단말로 상기 내부 블록체인 네트워크 상에 생성된 사용자의 내부지갑을 이용하여 거래소 기반 암호화폐 거래를 처리하기 위한 암호화폐 거래 환경을 제공하는 단계; 및
    사용자단말로부터 상기 암호화폐 거래 환경을 통해 요청되는 거래소 기반 암호화폐 거래를 처리하는 단계;를 더 포함하여 이루어지는 것을 특징으로 하는 스마트 컨트랙트를 이용한 암호화폐 거래 플랫폼 제공 방법.
  10. 제 7항 또는 제 9항에 있어서,
    상기 내부 블록체인 네트워크를 이용한 암호화폐 거래의 거래내역을 지정된 데이터베이스에 동기화하여 저장하는 단계를 더 포함하여 이루어지는 것을 특징으로 하는 스마트 컨트랙트를 이용한 암호화폐 거래 플랫폼 제공 방법.
  11. 제 1항에 있어서, 상기 내부 블록체인 네트워크는,
    B개의 외부 블록체인 네트워크를 통해 구현되는 C(C≥B)종의 암호화폐 중에서 지정된 c(1≤c≤C)종의 암호화폐에 대한 동종 간 암호화폐 거래와 이종 간 암호화폐 거래 중 하나 이상의 암호화폐 거래를 탈중앙화 방식 암호화폐 거래로 처리하기 위해 설계된 블록체인 네트워크를 포함하여 이루어지는 것을 특징으로 하는 스마트 컨트랙트를 이용한 암호화폐 거래 플랫폼 제공 방법.
  12. 제 1항 또는 제 11항에 있어서, 상기 내부 블록체인 네트워크는,
    B개의 외부 블록체인 네트워크와 망분리된 형태의 블록체인 네트워크를 포함하여 이루어지는 것을 특징으로 하는 스마트 컨트랙트를 이용한 암호화폐 거래 플랫폼 제공 방법.
  13. 제 11항에 있어서, 상기 탈중앙화 방식 암호화폐 거래는,
    상기 내부 블록체인 네트워크를 이용한 암호화폐 거래의 중간 과정을 상기 외부 블록체인 네트워크에 반영하지 않는 것을 특징으로 하는 스마트 컨트랙트를 이용한 암호화폐 거래 플랫폼 제공 방법.
  14. 제 11항에 있어서, 상기 탈중앙화 방식 암호화폐 거래는,
    상기 외부 블록체인 네트워크 상의 스마트 컨트랙트에 예치된 암호화폐 단위를 사용자의 전자지갑으로 인출하는 과정을 통해서만 상기 인출 과정의 직전까지 상기 내부 블록체인 네트워크를 통해 수행된 암호화폐 거래 결과 중 적어도 일부가 상기 외부 블록체인 네트워크에 반영되는 것을 특징으로 하는 스마트 컨트랙트를 이용한 암호화폐 거래 플랫폼 제공 방법.
  15. 제 11항에 있어서, 상기 동종 간 암호화폐 거래는,
    송금 측 사용자의 내부지갑에서 제i(1≤i≤c)의 암호화폐를 인출하여 수취 측 사용자의 내부지갑으로 이전하는 암호화폐 거래를 포함하여 이루어지는 것을 특징으로 하는 스마트 컨트랙트를 이용한 암호화폐 거래 플랫폼 제공 방법.
  16. 제 15항에 있어서,
    상기 송금 측 사용자는, 상기 외부 블록체인 네트워크 상의 스마트 컨트랙트에 제i의 암호화폐를 예치한 사용자를 포함하고,
    상기 수취 측 사용자는, 상기 외부 블록체인 네트워크 상의 스마트 컨트랙트에 예치된 제i의 암호화폐를 인출하는 사용자를 포함하여 이루어지는 것을 특징으로 하는 스마트 컨트랙트를 이용한 암호화폐 거래 플랫폼 제공 방법.
  17. 제 11항에 있어서, 상기 동종 간 암호화폐 거래는,
    실물화폐와 제i(1≤i≤c)의 암호화폐 간 환율을 기반으로 상기 실물화폐를 이용하여 매도 측 사용자의 내부지갑에서 제i의 암호화폐를 인출하여 매수 측 사용자의 내부지갑으로 이전하는 암호화폐 거래를 포함하여 이루어지는 것을 특징으로 하는 스마트 컨트랙트를 이용한 암호화폐 거래 플랫폼 제공 방법.
  18. 제 11항에 있어서, 상기 동종 간 암호화폐 거래는,
    기 설정된 기준 암호화폐와 제i(1≤i≤c)의 암호화폐 간 환율을 기반으로 상기 기준 암호화폐를 이용하여 매도 측 사용자의 내부지갑에서 제i의 암호화폐를 인출하여 매수 측 사용자의 내부지갑으로 이전하는 암호화폐 거래를 포함하여 이루어지는 것을 특징으로 하는 스마트 컨트랙트를 이용한 암호화폐 거래 플랫폼 제공 방법.
  19. 제 11항에 있어서, 상기 이종 간 암호화폐 거래는,
    송금 측 사용자의 내부지갑에서 제i(1≤i≤c)의 암호화폐를 인출하고 각 암호화폐 간 환율을 기반으로 상기 제i의 암호화폐를 지정된 제j(1≤j≤c, i≠j)의 암호화폐로 변환하여 수취 측 사용자의 내부지갑으로 이전하는 암호화폐 거래를 포함하여 이루어지는 것을 특징으로 하는 스마트 컨트랙트를 이용한 암호화폐 거래 플랫폼 제공 방법.
  20. 제 19항에 있어서,
    상기 송금 측 사용자는, 상기 외부 블록체인 네트워크 상의 스마트 컨트랙트에 제i의 암호화폐를 예치한 사용자를 포함하고,
    상기 수취 측 사용자는, 상기 외부 블록체인 네트워크 상의 스마트 컨트랙트에 예치된 제j의 암호화폐를 인출하는 사용자를 포함하여 이루어지는 것을 특징으로 하는 스마트 컨트랙트를 이용한 암호화폐 거래 플랫폼 제공 방법.
  21. 제 1항에 있어서, 상기 제4 단계는,
    사용자단말을 통해 접속한 사용자에 대하여 암호화폐의 인출을 위해 지정된 본인 인증 절차를 수행하는 단계; 및
    상기 사용자의 본인 인증 시 상기 사용자단말을 통해 상기 암호화폐가 인출될 사용자의 전자지갑 주소와 암호화폐 단위를 수신하거나 확인하고, 상기 본인 인증을 통해 인증된 사용자의 개인키를 통해 생성된 인증정보를 수신하거나 확인하는 단계;를 포함하여 이루어지는 것을 특징으로 하는 스마트 컨트랙트를 이용한 암호화폐 거래 플랫폼 제공 방법.
  22. 제 1항 또는 제 21항에 있어서, 상기 인증정보는,
    상기 사용자의 개인키를 이용하여 상기 운영서버와 상기 스마트 컨트랙트 사이에 합의되거나 동기화되는 데이터를 기 설정된 암호 방식으로 암호화하여 생성한 인증정보를 포함하여 이루어지는 것을 특징으로 하는 스마트 컨트랙트를 이용한 암호화폐 거래 플랫폼 제공 방법.
  23. 제 1항에 있어서, 상기 제4 단계는,
    각 사용자단말을 통해 접속한 적어도 i(i≥1)명의 사용자에 대하여 암호화폐의 인출을 위해 지정된 본인 인증 절차를 수행하는 단계; 및
    상기 i명의 사용자의 본인 인증 시 상기 사용자단말을 통해 상기 암호화폐가 인출될 i개의 사용자의 전자지갑 주소와 i개의 암호화폐 단위를 수신하거나 확인하고, 상기 본인 인증을 통해 인증된 i개의 사용자의 개인키를 통해 제각기 생성된 i개의 인증정보를 수신하거나 확인하는 단계;를 포함하여 이루어지는 것을 특징으로 하는 스마트 컨트랙트를 이용한 암호화폐 거래 플랫폼 제공 방법.
  24. 제 1항 또는 제 23항에 있어서, 상기 인증정보는,
    i(i≥1)개의 사용자의 개인키를 이용하여 상기 운영서버와 상기 스마트 컨트랙트 사이에 합의되거나 동기화되는 데이터를 기 설정된 암호 방식으로 암호화하여 생성한 i개의 인증정보를 포함하여 이루어지는 것을 특징으로 하는 스마트 컨트랙트를 이용한 암호화폐 거래 플랫폼 제공 방법.
  25. 제 1항에 있어서, 상기 제5 단계는,
    기 설정된 스마트 컨트랙트 동작 절차에 따라 상기 외부 블록체인 네트워크 상의 기 설정된 특정 노드장치를 통해 상기 외부 블록체인 네트워크 상의 각 노드장치로 상기 인출정보를 포함하는 지정된 구조의 메시지를 방송하도록 처리하는 절차를 수행하는 단계를 포함하여 이루어지는 것을 특징으로 하는 스마트 컨트랙트를 이용한 암호화폐 거래 플랫폼 제공 방법.
  26. 제 25항에 있어서, 상기 스마트 컨트랙트 동작 절차는,
    상기 특정 노드장치의 개인키를 이용하여 상기 스마트 컨트랙트의 동작을 위한 지정된 구조의 메시지를 상기 외부 블록체인 네트워크 상의 각 노드장치로 방송하는 절차를 포함하여 이루어지는 것을 특징으로 하는 스마트 컨트랙트를 이용한 암호화폐 거래 플랫폼 제공 방법.
  27. 제 25항에 있어서, 상기 특정 노드장치는,
    상기 외부 블록체인 네트워크 상의 노드장치 중 상기 운영서버와 연동하는 노드장치, 또는
    상기 외부 블록체인 네트워크 상의 노드장치 중 상기 운영서버가 상기 메시지의 방송을 위한 개인키를 관리하는 노드장치를 포함하여 이루어지는 것을 특징으로 하는 스마트 컨트랙트를 이용한 암호화폐 거래 플랫폼 제공 방법.
  28. 제 25항에 있어서, 상기 메시지는,
    상기 인출정보를 파라미터로 포함하여 이루어지는 것을 특징으로 하는 스마트 컨트랙트를 이용한 암호화폐 거래 플랫폼 제공 방법.
  29. 제 25항에 있어서, 상기 메시지는,
    상기 메시지를 다른 노드장치로 방송하는 특정 노드장치의 지정된 주소를 포함하여 이루어지는 것을 특징으로 하는 스마트 컨트랙트를 이용한 암호화폐 거래 플랫폼 제공 방법.
  30. 제 29항에 있어서, 상기 메시지는,
    상기 블록체인 네트워크 상의 노드장치에 등록된 상기 스마트 컨트랙트의 지정된 주소와 상기 스마트 컨트랙트 상의 확인 기능부에 대응하는 함수의 주소 중 적어도 하나의 주소를 포함하여 이루어지는 것을 특징으로 하는 스마트 컨트랙트를 이용한 암호화폐 거래 플랫폼 제공 방법.
  31. 제 1항에 있어서,
    상기 인출정보는, 암호화폐를 인출하기 위한 i(i≥1)개의 전자지갑 주소와 i개의 암호화폐 단위 및 i개의 인증정보를 포함하며,
    상기 인출 기능부는, 지정된 인증 절차의 인증 성공 시 상기 i개의 전자지갑 주소로 제각기 대응하는 i개의 암호화폐 단위를 인출하는 기능을 수행하는 것을 특징으로 하는 스마트 컨트랙트를 이용한 암호화폐 거래 플랫폼 제공 방법.
  32. 제 1항에 있어서, 상기 인증 기능부는,
    상기 인출정보에 포함된 사용자의 전자지갑 주소가 지정된 저장영역에 저장되어 있는지 인증하는 인증 절차를 수행하는 기능을 더 포함하여 이루어지는 것을 특징으로 하는 스마트 컨트랙트를 이용한 암호화폐 거래 플랫폼 제공 방법.
  33. 제 32항에 있어서, 상기 지정된 저장영역은,
    지정된 암호화폐를 예치한 사용자의 전자지갑 주소를 저장하는 저장영역,
    지정된 암호화폐를 예치한 사용자의 전자지갑 주소에 대응하는 공개키를 저장하는 저장영역,
    지정된 암호화폐를 예치한 사용자의 전자지갑 주소와 연계된 사용자의 공개키를 저장하는 저장영역 중 적어도 하나의 저장영역을 포함하여 이루어지는 것을 특징으로 하는 스마트 컨트랙트를 이용한 암호화폐 거래 플랫폼 제공 방법.
  34. 제 1항에 있어서, 상기 인증정보는,
    지정된 운영서버와 상기 스마트 컨트랙드 사이에 합의된 문자열이나 바이너리코드를 포함하는 데이터를 상기 사용자의 개인키를 통해 지정된 암호화 방식으로 암호화하여 생성한 인증정보를 포함하여 이루어지는 것을 특징으로 하는 스마트 컨트랙트를 이용한 암호화폐 거래 플랫폼 제공 방법.
  35. 제 1항에 있어서, 상기 인증정보는,
    지정된 운영서버와 상기 스마트 컨트랙드 사이에 합의된 복수의 문자열이나 복수의 바이너리코드 중 지정된 인덱스를 통해 상기 운영서버와 스마트 컨트랙트 사이에 동기화되는 문자열이나 바이너리코드를 포함하는 데이터를 상기 사용자의 개인키를 통해 지정된 암호화 방식으로 암호화하여 생성한 인증정보를 포함하며,
    상기 인출정보는, 상기 운영서버와 스마트 컨트랙드 사이에 상기 암호화된 문자열이나 바이너리코드를 동기화하기 위한 인덱스를 더 포함하여 이루어지는 것을 특징으로 하는 스마트 컨트랙트를 이용한 암호화폐 거래 플랫폼 제공 방법.
  36. 제 1항에 있어서, 상기 인증정보는,
    상기 인출정보에 포함되는 전자지갑 주소(또는 전자지갑 주소의 적어도 일부 영역)를 포함하는 데이터를 상기 사용자의 개인키를 통해 지정된 암호화 방식으로 암호화하여 생성한 인증정보를 포함하여 이루어지는 것을 특징으로 하는 스마트 컨트랙트를 이용한 암호화폐 거래 플랫폼 제공 방법.
  37. 제 1항에 있어서, 상기 인증정보는,
    상기 인출정보에 포함되는 암호화폐 단위(또는 암호화폐 단위의 적어도 일부 영역)를 포함하는 데이터를 상기 사용자의 개인키를 통해 지정된 암호화 방식으로 암호화하여 생성한 인증정보를 포함하여 이루어지는 것을 특징으로 하는 스마트 컨트랙트를 이용한 암호화폐 거래 플랫폼 제공 방법.
  38. 제 1항에 있어서, 상기 인증정보는,
    상기 인출정보에 포함되는 전자지갑 주소(또는 전자지갑 주소의 적어도 일부 영역)과 암호화폐 단위(또는 암호화폐 단위의 적어도 일부 영역)를 포함하는 데이터를 상기 사용자의 개인키를 통해 지정된 암호화 방식으로 암호화하여 생성한 인증정보를 포함하여 이루어지는 것을 특징으로 하는 스마트 컨트랙트를 이용한 암호화폐 거래 플랫폼 제공 방법.
  39. 제 1항에 있어서, 상기 인증정보는,
    지정된 운영서버와 상기 스마트 컨트랙드가 기 설정된 규칙에 따라 지정된 블록체인 상의 특정 블록 내 특정 저장위치를 동기화하여 획득하는 데이터를 상기 사용자의 개인키를 통해 지정된 암호화 방식으로 암호화하여 생성한 인증정보를 포함하여 이루어지는 것을 특징으로 하는 스마트 컨트랙트를 이용한 암호화폐 거래 플랫폼 제공 방법.
  40. 제 1항에 있어서, 상기 인증 기능부는,
    지정된 저장영역에 저장된 사용자의 공개키를 통해 상기 인증정보를 복호화하여 지정된 운영서버와 합의되거나 동기화된 데이터와 매칭되는지 인증하는 인증 절차를 수행하는 기능을 포함하여 이루어지는 것을 특징으로 하는 스마트 컨트랙트를 이용한 암호화폐 거래 플랫폼 제공 방법.
  41. 제 1항에 있어서, 상기 저장 기능부는,
    지정된 암화화폐를 인출받은 사용자의 전자지갑 주소와 상기 인출된 암호화폐 단위를 포함하는 암호화폐 인출정보를 지정된 저장영역에 저장하는 기능을 더 포함하여 이루어지는 것을 특징으로 하는 스마트 컨트랙트를 이용한 암호화폐 거래 플랫폼 제공 방법.
  42. 제 41항에 있어서, 상기 지정된 저장영역은,
    스마트 컨트랙트의 상태를 저장하는 저장영역, 또는
    상기 암호화폐의 인출과 관련된 정보를 저장하기 위해 설정된 저장영역을 포함하여 이루어지는 것을 특징으로 하는 스마트 컨트랙트를 이용한 암호화폐 거래 플랫폼 제공 방법.
  43. 제 1항에 있어서,
    상기 외부 블록체인 네트워크 상에 구비된 노드장치를 참조하여 상기 스마트 컨트랙트를 통해 지정된 사용자의 전자지갑으로 지정된 암호화폐 단위를 인출한 인출결과에 대응하는 암호화폐 인출정보를 확인하는 제6 단계; 및
    상기 암호화폐 인출정보를 확인한 경우, 상기 사용자의 전자지갑으로 상기 암호화폐 단위를 인출한 거래정보를 생성하여 지정된 데이터베이스에 동기화하여 저장하는 제7 단계;를 더 포함하여 이루어지는 것을 특징으로 하는 스마트 컨트랙트를 이용한 암호화폐 거래 플랫폼 제공 방법.

KR1020180057494A 2018-05-18 2018-05-18 스마트 컨트랙트를 이용한 암호화폐 거래 플랫폼 제공 방법 KR20190132160A (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020180057494A KR20190132160A (ko) 2018-05-18 2018-05-18 스마트 컨트랙트를 이용한 암호화폐 거래 플랫폼 제공 방법

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020180057494A KR20190132160A (ko) 2018-05-18 2018-05-18 스마트 컨트랙트를 이용한 암호화폐 거래 플랫폼 제공 방법

Publications (1)

Publication Number Publication Date
KR20190132160A true KR20190132160A (ko) 2019-11-27

Family

ID=68730211

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020180057494A KR20190132160A (ko) 2018-05-18 2018-05-18 스마트 컨트랙트를 이용한 암호화폐 거래 플랫폼 제공 방법

Country Status (1)

Country Link
KR (1) KR20190132160A (ko)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20210053132A (ko) 2019-11-01 2021-05-11 고려대학교 산학협력단 법률 계약을 위한 블록체인 기반 스마트 컨트랙트 작성 장치 및 방법
KR20210125381A (ko) * 2020-04-08 2021-10-18 아주대학교산학협력단 블록체인 변환 방법 및 장치

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20210053132A (ko) 2019-11-01 2021-05-11 고려대학교 산학협력단 법률 계약을 위한 블록체인 기반 스마트 컨트랙트 작성 장치 및 방법
KR20210125381A (ko) * 2020-04-08 2021-10-18 아주대학교산학협력단 블록체인 변환 방법 및 장치

Similar Documents

Publication Publication Date Title
KR102044747B1 (ko) 블록체인 기반 사용자 인증서비스 제공방법
US20210357915A1 (en) Methods, devices, and systems for secure payments
CN103370688B (zh) 一种由简单用户密码生成多因素个性化服务器强密钥的系统及其方法
US20160162897A1 (en) System and method for user authentication using crypto-currency transactions as access tokens
CN109478298A (zh) 区块链实现的方法和系统
CN109791660A (zh) 数据保护系统和方法
KR20190132159A (ko) 스마트 컨트랙트를 이용한 블록체인 기반 암호화폐 거래 플랫폼 제공 방법
KR20190132054A (ko) 블록체인 기반 스마트 컨트랙트를 이용한 암호화폐 거래 플랫폼 제공 방법
KR20190132047A (ko) 스마트 컨트랙트를 이용한 블록체인 기반 서비스 플랫폼 제공 방법
EP3867849B1 (en) Secure digital wallet processing system
KR20190132052A (ko) 암호화폐 거래 플랫폼을 위한 블록체인 기반 스마트 컨트랙트
KR101923943B1 (ko) 보안이 강화된 암호화폐 송금 시스템 및 방법
US20230360040A1 (en) Quantum-safe payment system
KR20190115553A (ko) 블록체인 기반 스마트 컨트랙트를 이용한 정보 검증 기반 암호화폐 거래 제공 방법
KR101941625B1 (ko) 선택적 인증을 통한 에스앤에스 핀테크 시스템 및 그 동작 방법
KR20190132160A (ko) 스마트 컨트랙트를 이용한 암호화폐 거래 플랫폼 제공 방법
KR102003731B1 (ko) 가상머신을 이용한 암호화폐 보호 시스템 및 방법
KR102060976B1 (ko) 디지털 가상화폐를 qr(또는 bar)코드와 매칭시켜 전송하는 디지털 가상화폐의 전송 방법
KR20190115552A (ko) 블록체인 기반 스마트 컨트랙트를 이용한 다중 암호화폐 거래 제공 방법
KR20190115555A (ko) 블록체인 기반 스마트 컨트랙트를 이용한 지갑과 사용자 연계 상태 인증 기반 암호화폐 거래 제공 방법
KR20190115554A (ko) 블록체인 기반 스마트 컨트랙트를 이용한 지갑 연계 상태 인증 기반 암호화폐 거래 제공 방법
KR20210041984A (ko) Kyc 데이터와 생체인증정보를 보유한 스마트 디바이스를 활용한 블록체인 개인키 생성 방법
KR20190115556A (ko) 블록체인 기반 스마트 컨트랙트를 이용한 잔액 인증 기반 암호화폐 거래 제공 방법
KR20210041980A (ko) Kyc 데이터와 생체인증정보를 보유한 스마트 디바이스를 활용한 블록체인 개인키 생성 시스템
KR20190115550A (ko) 암호화폐 거래 플랫폼을 제공하는 블록체인 기반 스마트 컨트랙트

Legal Events

Date Code Title Description
N231 Notification of change of applicant