[go: up one dir, main page]

KR20210069865A - REST API Based Cryptocurrency Trading System - Google Patents

REST API Based Cryptocurrency Trading System Download PDF

Info

Publication number
KR20210069865A
KR20210069865A KR1020190159648A KR20190159648A KR20210069865A KR 20210069865 A KR20210069865 A KR 20210069865A KR 1020190159648 A KR1020190159648 A KR 1020190159648A KR 20190159648 A KR20190159648 A KR 20190159648A KR 20210069865 A KR20210069865 A KR 20210069865A
Authority
KR
South Korea
Prior art keywords
api
cryptocurrency
transaction
server
electronic wallet
Prior art date
Legal status (The legal status 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 status listed.)
Ceased
Application number
KR1020190159648A
Other languages
Korean (ko)
Inventor
이정욱
Original Assignee
이정욱
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 이정욱 filed Critical 이정욱
Priority to KR1020190159648A priority Critical patent/KR20210069865A/en
Publication of KR20210069865A publication Critical patent/KR20210069865A/en
Ceased legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING OR CALCULATING; 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
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/54Interprogram communication
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; 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 OR CALCULATING; 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
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; 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/40Authorisation, e.g. identification of payer or payee, verification of customer or shop credentials; Review and approval of payers, e.g. check credit lines or negative lists
    • G06Q20/401Transaction verification

Landscapes

  • Business, Economics & Management (AREA)
  • Engineering & Computer Science (AREA)
  • Accounting & Taxation (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Finance (AREA)
  • General Business, Economics & Management (AREA)
  • Strategic Management (AREA)
  • Computer Security & Cryptography (AREA)
  • Software Systems (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • General Engineering & Computer Science (AREA)
  • Financial Or Insurance-Related Operations Such As Payment And Settlement (AREA)

Abstract

The cryptocurrency transaction system based on REST API according to the present invention comprises: a database as a system with improved security for a private key; an API server connected through the internal Internet network; one or more API clients connected to the API server through an external Internet network; and one or more cryptocurrency servers connected to the API server through the internal internet network. The API client sends a request to create an electronic wallet to the API server using REST API for cryptocurrency transaction. The API server generates and transmits the private key to the API client while encrypting the private key and sending the private key to the database for storage. When the API client sends the private key along with the API client's request to register the electronic wallet's cryptocurrency address, the API server uses the private key to generate a cryptocurrency address for the API client's electronic wallet, and then, the API server sends and stores the cryptocurrency address of the API client's e-wallet to the database. When transaction information is received from the API client or API server by detecting the transaction of the API client by the WEBHOOK algorithm, the cryptocurrency server searches for the cryptocurrency address of the electronic wallet stored in the database, finds the matching cryptocurrency address, creates a transaction for the cryptocurrency address of the electronic wallet, and sends the result to the API client of the cryptocurrency address of the corresponding electronic wallet.

Description

REST API 기반의 암호화폐 거래 시스템{REST API Based Cryptocurrency Trading System}REST API Based Cryptocurrency Trading System

본 발명은 REST API 기반의 암호화폐 거래 시스템에 관한 것으로, REST API를 이용하여 API 클라이언트가 암호화폐의 지갑생성이나 거래를 위한 개인키를 전송하므로 데이터베이스에 개인키가 저장되지 않아서 높은 보안성이 확보되며, 웹 서버가 아닌 API 서버를 중심으로 클라우드 데이터베이스 형태의 서비스를 제공하므로 암호화폐 거래를 위한 별도의 서버를 추가로 구축함으로서 발생하는 비용과 유지보수 인력에 줄일 수 있는 암호화폐 시스템을 제공한다.The present invention relates to a REST API-based cryptocurrency transaction system. Since the API client transmits the private key for cryptocurrency wallet creation or transaction using the REST API, the private key is not stored in the database, ensuring high security. It provides a cloud database type service centering on the API server rather than the web server, so it provides a cryptocurrency system that can reduce costs and maintenance personnel by additionally building a separate server for cryptocurrency transactions.

최근 블록체인과 같은 암호화 기술의 발전에 따라 암호화폐 거래에 대한 관심이 증대되고 있으며, 이 암호화폐 거래 서비스를 제공하기 위한 시스템과 서비스에 대한 수요가 급증하고 있다.Recently, with the development of encryption technology such as block chain, interest in cryptocurrency transactions is increasing, and the demand for systems and services for providing this cryptocurrency transaction service is rapidly increasing.

상기와 같이 최근 관심을 받고 있는 암호화폐에는 비트코인, 이더리움, 리플, 대시, 라이트코인 등이 있으며, 블록체인 기술이 발전함에 따라서 보안성이 확보된 암호화폐의 숫자는 더욱 증가하고 있는 실정이다.As described above, cryptocurrencies that have recently received attention include Bitcoin, Ethereum, Ripple, Dash, and Litecoin, and as the blockchain technology develops, the number of cryptocurrencies with security is further increasing. .

따라서 암호화폐 거래 서비스를 제공하는 서비스 제공자의 수도 늘고 있으며, 이 서비스 제공자는 이익의 확보를 위해 거래 서비스를 제공하기 위한 암호화폐의 종류도 함께 늘려야 하는 문제에 직면해 있다.Therefore, the number of service providers that provide cryptocurrency transaction services is increasing, and these service providers are facing the problem of increasing the types of cryptocurrency to provide transaction services to secure profits.

통상적으로 암호화폐 거래 서비스를 제공하기 위한 시스템은 거래 수요자가 접속하기 위한 서버와 암호화폐의 거래를 위한 암호화폐 서버로 구성되는데, 서비스 제공자가 거래 서비스를 제공하기 위한 암호화폐 종류의 개수가 늘어날수록 이에 해당되는 암호화폐 서버의 개수도 함께 늘려야 하는 단점이 있다.In general, a system for providing a cryptocurrency transaction service is composed of a server for the transaction consumer to access and a cryptocurrency server for cryptocurrency transaction. As the number of types of cryptocurrency for the service provider to provide transaction services increases, the There is a disadvantage in that the number of corresponding cryptocurrency servers must also be increased.

또한 암호화폐 거래를 위해서는 거래 수요자가 전자지갑을 생성해야 하는데 이 과정에서 서비스 제공 서버가 생성한 개인키가 필요하며, 이 개인키는 거래 수요자 자신이 보관함과 동시에 서비스 제공 서버에도 암호화되어 저장된다.In addition, for cryptocurrency transactions, the transaction consumer must create an electronic wallet. In this process, a private key generated by the service providing server is required, and this private key is stored by the transaction consumer himself and is also encrypted and stored in the service providing server.

따라서 만약 서비스 제공 서버가 제 3자로부터 해킹과 같은 사이버 공격을 받아서 개인키가 노출이 될 경우, 암호화폐 거래 서비스를 이용하는 거래 수요자가 보유한 전자지갑의 암호화폐를 분실할 가능성이 높아지며, 이는 거래 수요자의 금전적인 피해로 이어지게 된다.Therefore, if the service providing server receives a cyber attack such as hacking from a third party and the private key is exposed, there is a high possibility that the transaction consumer who uses the cryptocurrency transaction service will lose the cryptocurrency in the electronic wallet, which is the transaction consumer. lead to financial damage.

본 발명은 암호화폐의 거래 시스템에 있어서, 기존의 서비스를 제공하기 위한 암호화폐 숫자의 증가에 따른 암호화폐 증설 비용의 감소와, 개인키를 서버에 저장함으로써 해킹 등에 의한 공격에 의해 개인키가 노출되는 보안 위험을 줄일 수 있는 암호화폐 거래 시스템을 제공하는 것에 있다.The present invention relates to a cryptocurrency transaction system, a decrease in the cost of cryptocurrency expansion due to an increase in the number of cryptocurrencies for providing existing services, and a private key exposure by hacking by storing the private key in a server It is to provide a cryptocurrency trading system that can reduce the security risk.

본 발명에 따른 REST API 기반의 암호화폐 거래시스템은 데이터베이스와 내부 인터넷망을 통해 연결된 API 서버와 외부 인터넷망을 통해 API 서버에 연결되는 하나 이상의 API 클라이언트와 내부 인터넷망을 통해 API 서버에 연결되는 하나 이상의 암호화폐 서버로 구성되어 있으며, API 클라이언트가 암호화폐의 거래를 위해서 먼저 전자지갑의 생성 요청을 REST API를 이용하여 API 서버에 전송하고, API 서버는 개인키를 생성하여 API 클라이언트에 전송함과 동시에 개인키를 암호화하여 데이터베이스에 전송하여 저장하고, API 클라이언트가 API 클라이언트의 전자지갑의 암호화폐 주소 등록 요청과 함께 개인키를 전송하면, API 서버가 개인키를 이용하여 API 클라이언트의 전자지갑의 암호화폐 주소를 생성하고, 이후 API 서버는 API 클라이언트의 전자지갑의 암호화폐 주소를 데이터베이스에 전송하여 저장시키고, 암호화폐 서버는 WEBHOOK 알고리즘에 의해 API 클라이언트의 거래를 감지하여, API 클라이언트 또는 API 서버로부터 거래 정보를 수신하면 데이터베이스에 저장된 전자지갑의 암호화폐 주소를 검색하여 일치되는 전자지갑의 암호화폐 주소를 찾아서 해당 전자지갑의 암호화폐 주소에 대해서 거래를 생성하고, 그 결과를 해당되는 전자지갑의 암호화폐 주소의 API 클라이언트에 전송한다.The REST API-based cryptocurrency transaction system according to the present invention includes an API server connected through a database and an internal Internet network, one or more API clients connected to an API server through an external Internet network, and one connected to an API server through an internal Internet network. It consists of the above cryptocurrency servers, and the API client first sends a request for creation of an electronic wallet to the API server using REST API for cryptocurrency transaction, and the API server generates a private key and sends it to the API client. At the same time, the private key is encrypted and transmitted to the database for storage. When the API client sends the private key along with the API client's request to register the cryptocurrency address of the electronic wallet, the API server uses the private key to encrypt the API client's electronic wallet. After creating a currency address, the API server transmits and stores the cryptocurrency address of the API client's electronic wallet to the database, and the cryptocurrency server detects the API client's transaction by the WEBHOOK algorithm and makes a transaction from the API client or API server. Upon receiving the information, it searches for the cryptocurrency address of the electronic wallet stored in the database, finds the matching cryptocurrency address of the electronic wallet, creates a transaction for the cryptocurrency address of the electronic wallet, and returns the result to the cryptocurrency of the corresponding electronic wallet. Send the address to the API client.

또한 본 발명에 따른 REST API 기반의 암호화폐 시스템은 API 클라이언트가 암호화폐 거래생성을 위한 정보와 개인키를 REST API를 통해 API 서버로 전송하고, API 서버는 API 클라이언트로부터 수신한 개인키를 암호화하고 이 결과를 데이터베이스에 호출하여 수신한 암호화된 개인키와 비교하고, 상기의 각 암호화된 개인키 값이 일치하면 API 클라이언트로부터 수신한 거래 정보를 인코딩하고, 상기 거래 정보를 암호화폐 서버에 전송하며, 암호화폐 서버는 WEBHOOK 알고리즘에 의해 데이터베이스에 등록된 전자지갑의 암호화폐 주소를 확인하여 동일한 전자지갑의 암호화폐의 주소 정보를 수신하고, 상기의 암호화폐 주소에 해당되는 전자지갑에 대하여 거래를 생성한 후 거래가 완료되면 해당 거래 완료 정보를 상기 단계에서 수신한 전자지갑의 암호화폐의 주소에 해당되는 API 클라이언트로 전송한다.In addition, in the REST API-based cryptocurrency system according to the present invention, the API client transmits information and a private key for cryptocurrency transaction creation to the API server through the REST API, and the API server encrypts the private key received from the API client, This result is compared with the received encrypted private key by calling the database, and when the respective encrypted private key values match, the transaction information received from the API client is encoded, and the transaction information is transmitted to the cryptocurrency server, The cryptocurrency server checks the cryptocurrency address of the electronic wallet registered in the database by the WEBHOOK algorithm, receives the address information of the cryptocurrency of the same electronic wallet, and creates a transaction for the electronic wallet corresponding to the cryptocurrency address. After the transaction is completed, the transaction completion information is transmitted to the API client corresponding to the address of the cryptocurrency of the electronic wallet received in the above step.

또한 본 발명에 따른 REST API 기반의 암호화폐 거래 시스템은 API 클라이언트가 개인키를 이용해서 자체적으로 거래 정보를 인코딩하고, 인코딩된 거래정보를 REST API를 통해 API 서버로 전송하고, API 서버는 송신한 거래정보를 암호화폐 서버로 전송하고, 암호화폐 서버는 WEBHOOK 알고리즘에 의해 거래정보를 수신하면 데이터베이스에 등록된 전자지갑의 암호화폐 주소를 확인하여 동일한 전자지갑의 암호화폐의 주소 정보를 수신하고, 상기의 암호화폐 주소에 해당되는 전자지갑에 대하여 거래를 생성한 후 거래가 완료되면 해당 거래 완료 정보를 상기 단계에서 수신한 전자지갑의 암호화폐의 주소에 해당되는 API 클라이언트로 전송한다.In addition, in the REST API-based cryptocurrency transaction system according to the present invention, the API client encodes transaction information by itself using a private key, transmits the encoded transaction information to the API server through the REST API, and the API server sends The transaction information is transmitted to the cryptocurrency server, and when the cryptocurrency server receives the transaction information by the WEBHOOK algorithm, it checks the cryptocurrency address of the electronic wallet registered in the database and receives the address information of the cryptocurrency of the same electronic wallet, After creating a transaction for the electronic wallet corresponding to the cryptocurrency address of , when the transaction is completed, the transaction completion information is transmitted to the API client corresponding to the cryptocurrency address of the electronic wallet received in the above step.

또한 본 발명에 따른 REST API 기반의 암호화폐 시스템은 API 클라이언트가 생성한 거래 정보는 암호화폐의 금액정보와 전자지갑의 암호화폐의 주소가 포함되어 있다.In addition, in the REST API-based cryptocurrency system according to the present invention, the transaction information generated by the API client includes the amount information of the cryptocurrency and the address of the cryptocurrency of the electronic wallet.

또한 본 발명에 따른 REST API 기반의 암호화폐 시스템은 데이터베이스는 API 클라이언트를 통해서 암호화폐의 거래가 발생할 경우, 암호화폐 서버가 데이터베이스에 등록된 전자지갑의 암호화폐 주소를 확인하여 이와 매칭되는 전자지갑의 암호화폐 주소를 수신하면, 해당되는 API 클라이언트의 거래 정보를 데이터베이스에 수집하여 저장하고, 발생된 암호화폐의 거래 횟수에 따라서 API 클라이언트에 암호화폐 거래 서비스 요금을 책정할 수 있다.In addition, in the REST API-based cryptocurrency system according to the present invention, when a cryptocurrency transaction occurs through an API client in the database, the cryptocurrency server checks the cryptocurrency address of the electronic wallet registered in the database and matches the password of the electronic wallet. Upon receiving the currency address, transaction information of the corresponding API client can be collected and stored in the database, and a cryptocurrency transaction service fee can be set for the API client according to the number of generated cryptocurrency transactions.

또한 본 발명에 따른 REST API 기반의 암호화폐 거래 시스템은 데이터베이스에는 암호화폐 거래를 희망하는 API 클라이언트의 회원 정보가 In addition, in the REST API-based cryptocurrency transaction system according to the present invention, member information of API clients who wish to trade cryptocurrency is stored in the database.

저장된다.is saved

본 발명의 실시예에 따른 REST API 기반의 암호화폐 거래시스템은 API 클라이언트가 API 서버를 중심으로 암호화폐 서버와 통신하므로 암호화폐의 종류가 증가할 때마다 이의 관리를 위한 서버를 증설하지 않아도 되는 장점이 있다.The REST API-based cryptocurrency transaction system according to an embodiment of the present invention has the advantage that the API client communicates with the cryptocurrency server centering on the API server, so it is not necessary to increase the server for management whenever the type of cryptocurrency increases. There is this.

또한 본 발명의 실시예에 따른 REST API 기반의 암호화폐 거래시스템은 암호화폐의 거래를 위해서 API 클라이언트가 REST API를 통해 개인키를 전송하고 별도의 서버에 개인키를 저장하지 않기 때문에 외부의 해킹 공격에 대하여 개인키가 유출되지 않아서 높은 보안성이 확보되는 장점이 있다.In addition, in the REST API-based cryptocurrency trading system according to the embodiment of the present invention, the API client transmits the private key through the REST API for cryptocurrency transaction and does not store the private key in a separate server. There is an advantage that high security is secured because the private key is not leaked.

또한 본 발명의 실시예에 따른 REST API 기반의 암호화폐 거래 시스템은 암호화폐의 거래 생성 시 API 클라이언트 자체적으로 개인키를 이용한 거래 정보를 인코딩하여 생성할 수 있으므로, 암호화폐의 거래가 발생할 때마다 API 서버의 자원을 많이 소모하지 않아서 API 서버의 안정성이 증가한다는 장점이 있다.In addition, the REST API-based cryptocurrency transaction system according to an embodiment of the present invention can encode and generate transaction information using a private key by the API client itself when a cryptocurrency transaction is created, so whenever a cryptocurrency transaction occurs, the API server It has the advantage of increasing the stability of the API server because it does not consume a lot of resources.

도 1은 본 발명의 REST API 기반의 암호화폐 거래 시스템의 구성도이다.
도 2는 본 발명에 따른 REST API 기반의 암호화폐 거래 시스템을 통해서 전자지갑을 생성하는 과정의 순서도이다.
도 3은 본 발명에 따른 REST API 기반의 암호화폐 거래 시스템을 이용하여 암호화폐의 거래를 수행하는 과정의 제 1실시예이다.
도 4는 본 발명에 따른 REST API 기반의 암호화폐 거래 시스템을 이용하여 암호화폐의 거래를 수행하는 과정의 제 2실시예이다.
1 is a block diagram of a REST API-based cryptocurrency transaction system of the present invention.
2 is a flowchart of a process of creating an electronic wallet through a REST API-based cryptocurrency transaction system according to the present invention.
3 is a first embodiment of a process of performing a cryptocurrency transaction using the REST API-based cryptocurrency transaction system according to the present invention.
4 is a second embodiment of a process of performing a cryptocurrency transaction using the REST API-based cryptocurrency transaction system according to the present invention.

이하, 본 발명의 장점 및 특징, 그리고 그것들을 달성하는 방법은 첨부되는 도면과 함께 상세하게 후술되어 있는 실시예들을 참조하면 명확해질 것이다. 그러나 본 발명은, 이하에서 개시되는 실시예들에 한정되는 것이 아니라 서로 다른 다양한 형태로 구현될 것이며, 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자에게 발명의 범주를 완전하게 알려주기 위해 제공되는 것으로, 본 발명은 청구항의 범주에 의해 정의될 뿐이다. 또한, 본 발명을 설명함에 있어 관련된 공지 기술 등이 본 발명의 요지를 흐리게 할 수 있다고 판단되는 경우 그에 관한 자세한 설명은 생략하기로 한다.Hereinafter, the advantages and features of the present invention, and a method of achieving them, will become apparent with reference to the embodiments described below in detail in conjunction with the accompanying drawings. However, the present invention is not limited to the embodiments disclosed below, but will be implemented in a variety of different forms, and is provided to fully inform those of ordinary skill in the art to the scope of the invention As such, the invention is only defined by the scope of the claims. In addition, in the description of the present invention, if it is determined that related known technologies may obscure the gist of the present invention, detailed description thereof will be omitted.

도 1은 본 발명의 REST API 기반의 암호화폐 거래 시스템의 구성도이며, 도 2는 본 발명에 따른 REST API 기반의 암호화폐 거래 시스템을 통해서 전자지갑을 생성하는 과정의 순서도이다.1 is a block diagram of a REST API-based cryptocurrency transaction system of the present invention, and FIG. 2 is a flowchart of a process of creating an electronic wallet through the REST API-based cryptocurrency transaction system according to the present invention.

도 1과 2를 참조하여 본 발명에 따른 REST API 기반의 암호화폐 거래 시스템과 방법을 설명한다.A REST API-based cryptocurrency transaction system and method according to the present invention will be described with reference to FIGS. 1 and 2 .

본 발명에 따른 REST API 기반의 암호화폐 거래 시스템은 데이터베이스(103)와 내부 인터넷망을 통해 연결된 API 서버(102)와, 외부 인터넷망을 통해 API 서버(102)에 연결되는 하나 이상의 API 클라이언트(101)와, 내부 인터넷망을 통해 API 서버(102)에 연결되는 블록체인 기반의 하나 이상의 암호화폐 서버(104)로 구성되어, API 클라이언트(101)가 암호화폐의 거래를 위해서 먼저 전자지갑의 생성 요청을 REST API를 이용하여 API 서버(102)에 전송하고, API 서버(102)는 개인키를 생성하여 API 클라이언트(101)에 전송함과 동시에 개인키를 암호화하여 데이터베이스(103)에 전송하여 저장하고, API 클라이언트(101)가 API 클라이언트(101)의 전자지갑의 암호화폐 주소 등록 요청과 함께 개인키를 전송하면, API 서버(102)가 개인키를 이용하여 API 클라이언트(101)의 전자지갑의 암호화폐 주소를 생성하고, 이후 API 서버(102)는 API 클라이언트(101)의 전자지갑의 암호화폐 주소를 데이터베이스(103)에 전송하여 저장시키고, 암호화폐 서버(104)는 WEBHOOK 알고리즘에 의해 API 클라이언트(101)의 거래를 감지하여, API 클라이언트(101) 또는 API 서버(102)로부터 거래 정보를 수신하면 데이터베이스(103)에 저장된 전자지갑의 암호화폐 주소를 검색하여 일치되는 전자지갑의 암호화폐 주소를 찾아서 해당 전자지갑의 암호화폐 주소에 대해서 거래를 생성하고, 그 결과를 해당되는 전자지갑의 암호화폐 주소의 API 클라이언트(101)에 전송한다.The REST API-based cryptocurrency transaction system according to the present invention includes a database 103 and an API server 102 connected through an internal Internet network, and one or more API clients 101 connected to the API server 102 through an external Internet network. ) and one or more blockchain-based cryptocurrency servers 104 connected to the API server 102 through the internal Internet network, the API client 101 requests the creation of an electronic wallet first for cryptocurrency transactions. transmits to the API server 102 using the REST API, and the API server 102 generates a private key and transmits it to the API client 101, encrypts the private key and transmits it to the database 103 for storage. , when the API client 101 transmits the private key along with the request for registration of the cryptocurrency address of the electronic wallet of the API client 101, the API server 102 uses the private key to encrypt the electronic wallet of the API client 101 After generating a currency address, the API server 102 transmits and stores the cryptocurrency address of the electronic wallet of the API client 101 to the database 103, and the cryptocurrency server 104 uses the WEBHOOK algorithm for the API client ( 101), when transaction information is received from the API client 101 or API server 102, the cryptocurrency address of the electronic wallet stored in the database 103 is searched to find the matching cryptocurrency address of the electronic wallet. A transaction is generated for the cryptocurrency address of the corresponding electronic wallet, and the result is transmitted to the API client 101 of the corresponding electronic wallet cryptocurrency address.

본 발명에 따른 REST API 기반의 암호화폐 거래 시스템은 다수의 API 클라이언트(101)가 API 서버(102)에 접속하여 암호화폐의 거래를 위한 전자지갑의 생성과 거래를 진행할 수 있으며, API 클라이언트(101)는 인터넷을 이용할 수 있는 프로그램이 포함된 일종의 컴퓨터로서 데스크탑 컴퓨터, 스마트폰, 태블릿, 노트북, PDA 등이 될 수 있다.In the REST API-based cryptocurrency transaction system according to the present invention, a plurality of API clients 101 can access the API server 102 to create and trade an electronic wallet for cryptocurrency transactions, and the API client 101 ) is a type of computer that includes programs that can use the Internet, and can be a desktop computer, smartphone, tablet, notebook, PDA, etc.

API 클라이언트(101)는 데이터베이스(103)에 본 REST API 기반의 암호화폐 거래 시스템 서비스를 이용하기 위해서 접속하여, 회원 가입을 위한 성명, 아이디, 생년월일, 주소, 이메일 주소 등과 같은 회원 정보를 입력하게 되며, 입력한 회원 정보는 데이터베이스(103)에 저장되고, 회원 가입이 완료된 API 클라이언트(101)는 API 서버(102)와 접속할 수 있는 권한을 획득하게 된다.The API client 101 accesses the database 103 to use the REST API-based cryptocurrency transaction system service, and inputs member information such as name, ID, date of birth, address, and email address for membership registration. , the input member information is stored in the database 103 , and the API client 101 , which has completed membership registration, acquires the right to access the API server 102 .

API 클라이언트(101)는 암호화폐의 거래를 위해서 전자지갑의 생성과 거래를 생성하는 과정을 진행하게 되는데, API 서버(102)를 수신으로 전자지갑의 생성요청과 같은 명령과 개인키를 REST API를 통해서 전송한다.The API client 101 proceeds with the creation of an electronic wallet and the creation of a transaction for the cryptocurrency transaction. By receiving the API server 102, a command such as a request for creation of an electronic wallet and a private key are sent to the REST API. transmitted through

REST API는 웹에서 동작하기 위한 HTTP URI를 통해 자원을 명시하고 HTTP의 기본 메쏘드(Method)인 POST, GET, PUT, DELETE를 통해서 자원을 처리하게 되며, POST는 자원의 생성, GET은 자원의 조회, PUT은 자원의 수정, DELETE는 자원의 삭제를 수행할 수 있다. REST API specifies resources through HTTP URI to operate on the web, and processes resources through POST, GET, PUT, and DELETE, which are basic HTTP methods. , PUT can modify a resource, and DELETE can delete a resource.

본 발명에 따른 REST API 기반의 암호화폐 시스템은 암호화폐의 거래를 위해서 API 클라이언트(101)가 개인키를 HTTP의 POST를 통해서 API 서버(102)로 전송하고, API 서버(102)나 데이터베이스(103)에서는 이를 저장하지 않으므로 개인키의 보안성을 확보할 수 있게 된다.In the REST API-based cryptocurrency system according to the present invention, the API client 101 transmits the private key to the API server 102 through HTTP POST for cryptocurrency transaction, and the API server 102 or the database 103 ) does not store it, so the security of the private key can be secured.

또한 API 서버(102)는 API 클라이언트(101)의 전자지갑의 암호화폐 주소 등록요청을 개인키와 함께 API 서버(102)에 전송하고, API 서버(102)는 수신한 개인키에 특정 알고리즘을 적용하여 암호화폐 주소로 생성한 후 데이터베이스(103)에 이를 전송하고, 데이터베이스(103)는 해당 전자지갑의 암호화폐 주소를 주소록의 형태로 저장하게 된다.In addition, the API server 102 transmits the request for registering the cryptocurrency address of the electronic wallet of the API client 101 to the API server 102 together with the private key, and the API server 102 applies a specific algorithm to the received private key. to generate a cryptocurrency address and transmit it to the database 103, and the database 103 stores the cryptocurrency address of the corresponding electronic wallet in the form of an address book.

암호화폐 서버에(104)는 WEBHOOK 알고리즘이 설정되어 있어서 API 서버(102) 또는 API 클라이언트(101)로부터 거래 정보를 수신하면 데이터베이스(103)에 저장되어 있는 전자지갑의 암호화폐 주소 목록을 탐색하여 일치하는 것을 찾는 프로세스를 진행한다.The WEBHOOK algorithm is set in the cryptocurrency server 104, so when transaction information is received from the API server 102 or the API client 101, the cryptocurrency address list of the electronic wallet stored in the database 103 is searched and matched. Go through the process of finding something to do.

여기서 WEBHOOK은 새로운 이벤트가 서버에서 발생했을 때, 서버가 클라이언트 쪽에 해당 정보를 REST API의 POST를 통해서 전송하는 것으로, 클라이언트가 서버로 호출하게 되는 일반적인 API와는 반대의 동작을 할 수 있게 한다.In WEBHOOK, when a new event occurs in the server, the server transmits the information to the client through the POST of the REST API. It enables the opposite operation to the general API that the client calls to the server.

따라서 본 발명의 REST API 기반의 암호화폐 거래 시스템은 거래가 생성되어 API서버(102) 또는 API 클라이언트(101)로부터 암호화폐 서버(104)로 API 클라이언트(101)의 전자지갑의 암호화폐 주소가 포함된 거래 정보가 전송되면, WEBHOOK 알고리즘에 의해서 암호화폐 서버(104)가 데이터베이스(103)에 있는 전자지갑의 암호화폐 주소록을 검색하여 이와 매칭되는 전자지갑의 암호화폐 주소를 찾게 되고, 거래 결과를 해당 API 클라이언트(101)에 전송하므로 API 클라이언트(101)가 자신이 생성한 거래의 완료 여부나 처리해야 할 거래의 발생 여부를 알 수 있다.Therefore, in the REST API-based cryptocurrency transaction system of the present invention, a transaction is created and the cryptocurrency address of the electronic wallet of the API client 101 is included from the API server 102 or API client 101 to the cryptocurrency server 104. When the transaction information is transmitted, the cryptocurrency server 104 searches the cryptocurrency address book of the electronic wallet in the database 103 by the WEBHOOK algorithm to find the cryptocurrency address of the electronic wallet that matches it, and returns the transaction result to the API Since it is transmitted to the client 101, the API client 101 can know whether the transaction it has created has been completed or whether a transaction to be processed has occurred.

도 3은 본 발명에 따른 REST API 기반의 암호화폐 거래 시스템을 이용하여 암호화폐의 거래를 수행하는 과정의 제 1실시예이다.3 is a first embodiment of a process of performing a cryptocurrency transaction using the REST API-based cryptocurrency transaction system according to the present invention.

도 3을 참조하여 본 발명에 따른 REST API 기반의 암호화폐 거래시스템을 이용하여 암호화폐의 거래를 수행하는 제 1실시예에 대하여 설명한다.A first embodiment of performing a cryptocurrency transaction using the REST API-based cryptocurrency transaction system according to the present invention will be described with reference to FIG. 3 .

본 발명에 따른 REST API 기반의 암호화폐 거래 시스템은 API 클라이언트(101)가 암호화폐 거래생성을 위한 정보와 개인키를 REST API를 통해 API 서버(102)로 전송하고, API 서버(102)는 API 클라이언트(101)로부터 수신한 개인키를 암호화하고 이 결과를 데이터베이스(103)에 호출하여 수신한 암호화된 개인키와 비교하고, 상기의 각 암호화된 개인키 값이 일치하면 API 클라이언트(101)로부터 수신한 거래 정보를 인코딩하고, 상기 거래 정보를 암호화폐 서버에 전송하며, 암호화폐 서버(104)는 WEBHOOK 알고리즘에 의해 데이터베이스(103)에 등록된 전자지갑의 암호화폐 주소를 확인하여 동일한 전자지갑의 암호화폐의 주소 정보를 수신하고, 상기의 암호화폐 주소에 해당되는 전자지갑에 대하여 거래를 생성한 후 거래가 완료되면 해당 거래 완료 정보를 상기 단계에서 수신한 전자지갑의 암호화폐의 주소에 해당되는 API 클라이언트(101)로 전송한다.In the REST API-based cryptocurrency transaction system according to the present invention, the API client 101 transmits information and a private key for cryptocurrency transaction creation to the API server 102 through the REST API, and the API server 102 is the API The private key received from the client 101 is encrypted, and the result is compared with the received encrypted private key by calling the database 103. If the encrypted private key values match, it is received from the API client 101. Encodes one transaction information, transmits the transaction information to the cryptocurrency server, and the cryptocurrency server 104 checks the cryptocurrency address of the electronic wallet registered in the database 103 by the WEBHOOK algorithm to obtain the password of the same electronic wallet. After receiving the address information of the currency, creating a transaction for the electronic wallet corresponding to the cryptocurrency address, and completing the transaction, the API client corresponding to the address of the cryptocurrency of the electronic wallet that received the transaction completion information in the above step (101).

좀 더 상세히 설명하면, 먼저 API 클라이언트(101)가 암호화폐 거래생성을 위한 정보와 개인키를 REST API를 통해서 API서버(102)로 전송하면, API 서버(102)는 단방향 암호화 알고리즘을 사용하여 개인키를 암호화함과 동시에 데이터베이스(103)에 저장되어 있는 암호화된 개인키를 호출하여 각각을 비교하고, 결과가 동일하면 거래 정보의 인코딩을 진행한 후 인코딩이 완료된 거래 정보를 암호화폐 서버(104)로 전송한다.In more detail, first, when the API client 101 transmits information and a private key for cryptocurrency transaction creation to the API server 102 through the REST API, the API server 102 uses a one-way encryption algorithm to At the same time as the key is encrypted, the encrypted private key stored in the database 103 is called and compared, and if the result is the same, the transaction information is encoded and the encoded transaction information is transferred to the cryptocurrency server 104. send to

즉, 암호화되지 않는 개인키는 API 클라이언트(101)만이 알고 있으며, 거래 과정에서는 API 클라이언트(101)가 입력한 개인키에 단방향 암호화 알고리즘을 적용한 암호화 결과와 데이터베이스(103)에 저장된 개인키의 암호화 결과를 매칭하므로, 데이터베이스(103)가 제3자에 의해서 해킹과 같은 공격을 받아서 탈취가 되어도 개인키에 단방향 암호화 알고리즘을 적용하여 암호화된 결과만 제3자가 얻을 수 있으며, 이를 복호화 할 수 없기 때문에 높은 보안성을 유지할 수 있다.That is, only the API client 101 knows the unencrypted private key, and in the transaction process, the encryption result of applying a one-way encryption algorithm to the private key input by the API client 101 and the encryption result of the private key stored in the database 103 Therefore, even if the database 103 is stolen by a third party due to an attack such as hacking, only the encrypted result by applying the one-way encryption algorithm to the private key can be obtained by a third party, and it cannot be decrypted. security can be maintained.

상기의 API 클라이언트(101)가 생성한 거래 정보에는 암호화폐 금액정보와 전자지갑의 암호화폐의 주소 등이 포함되어 있으며, API 서버(102)가 이 거래 정보를 인코딩하여 암호화폐 서버(104)에 전송하면, 거래 정보를 수신한 암호화폐 서버(104)에서는 WEBHOOK 알고리즘에 의해 데이터베이스(103)에 있는 전자지갑의 암호화폐 주소 목록을 탐색하여 거래 정보에 포함되어 있는 API 클라이언트(101)의 전자지갑의 암호화폐 주소와 일치하는지 매칭한다.The transaction information generated by the API client 101 includes cryptocurrency amount information and the address of the cryptocurrency of the electronic wallet, and the API server 102 encodes this transaction information and sends it to the cryptocurrency server 104. Upon transmission, the cryptocurrency server 104, which has received the transaction information, searches the list of cryptocurrency addresses in the database 103 by the WEBHOOK algorithm, and the electronic wallet of the API client 101 included in the transaction information. Matches if it matches the cryptocurrency address.

또한 데이터베이스(103)는 암호화폐 서버(104)가 일치되는 전자지갑 주소를 수신하기 위해서 호출하는 것을 감지하여, 본 발명의 REST API 기반의 암호화폐 거래 시스템의 관리자가 해당 API 클라이언트(101)가 거래를 생성한 것을 알 수 있게 된다.In addition, the database 103 detects that the cryptocurrency server 104 calls to receive the matching e-wallet address, and the administrator of the REST API-based cryptocurrency transaction system of the present invention allows the API client 101 to make a transaction. It can be seen that the created

암호화폐 서버(104)는 거래정보에 포함된 API 클라이언트(101)의 전자지갑의 암호화폐 주소와 일치되는 전자지갑의 암호화폐 주소를 데이터베이스(103)로부터 찾으면, API 클라이언트(101)가 요청한 거래 정보에 따라서 암호화폐의 거래를 진행하여 API 클라이언트(101)가 보유한 전자지갑의 암호화폐의 차감 또는 증감을 하고, 그 결과를 전자지갑 주소에 해당되는 API 클라이언트(101)에 전송하여 API 클라이언트(101)가 거래의 결과를 알 수 있게 된다.When the cryptocurrency server 104 finds, from the database 103, the cryptocurrency address of the electronic wallet that matches the cryptocurrency address of the electronic wallet of the API client 101 included in the transaction information, the transaction information requested by the API client 101 In accordance with the transaction, the API client 101 deducts or increases or decreases the cryptocurrency of the electronic wallet possessed by the cryptocurrency transaction, and transmits the result to the API client 101 corresponding to the electronic wallet address to the API client 101. to know the outcome of the transaction.

상기의 방법에 따라서 암호화폐의 거래를 진행하면, API 클라이언트(101)는 거래를 위해 거래정보의 입력과 개인키만 송신하고 API 서버(102)에서 거래 생성을 위한 인코딩을 진행하므로, API 클라이언트(101)가 거래를 위해서 필요한 하드웨어 자원 소모가 거의 없다는 장점이 있다.When a cryptocurrency transaction is performed according to the above method, the API client 101 transmits only the input of transaction information and the private key for the transaction, and the API server 102 performs encoding for transaction generation, so the API client ( 101) has the advantage that there is little consumption of hardware resources required for the transaction.

또한 API 클라이언트(101)가 REST API를 통해서 API 서버(102)로 보낸 개인키는 별도로 저장되지 않고 거래를 위해서 일시적으로만 사용되므로, 본 REST API 기반의 암호화폐 거래 시스템을 운용하는 서비스 사업자가 제 3자에 의해 해킹 공격을 당하여 데이터베이스(103)와 API 서버(102)가 탈취당하는 상황이 발생해도 제 3자가 API 클라이언트(101)의 개인키를 획득할 수 없어서 보안성이 확보되는 장점이 있다.In addition, since the private key sent by the API client 101 to the API server 102 through the REST API is not stored separately and is only used temporarily for a transaction, a service provider operating this REST API-based cryptocurrency transaction system is Even if the database 103 and the API server 102 are hijacked due to a hacking attack by a third party, a third party cannot obtain the private key of the API client 101, so that security is secured.

도 4는 본 발명에 따른 REST API 기반의 암호화폐 거래 시스템을 이용하여 암호화폐의 거래를 수행하는 과정의 제 2실시예이다.4 is a second embodiment of a process of performing a cryptocurrency transaction using the REST API-based cryptocurrency transaction system according to the present invention.

도 4에 따라 본 발명에 따른 REST API 기반의 암호화폐 거래 시스템을 이용한 암호화폐 거래의 제 2실시예에 대해서 설명한다.A second embodiment of cryptocurrency transaction using the REST API-based cryptocurrency transaction system according to the present invention will be described with reference to FIG. 4 .

본 발명에 따른 RESAT API 기반의 암호화폐 거래 시스템을 이용한 암호화폐 거래의 제 2실시예에 따르면, API 클라이언트(101)가 개인키를 이용해서 자체적으로 거래 정보를 인코딩하고, 인코딩된 거래정보를 REST API를 통해 API 서버(102)로 전송하고, API 서버(102)는 송신한 거래정보를 암호화폐 서버(104)로 전송하고, 암호화폐 서버(104)는 WEBHOOK 알고리즘에 의해 거래정보를 수신하면 데이터베이스(103)에 등록된 전자지갑의 암호화폐 주소를 확인하여 동일한 전자지갑의 암호화폐의 주소 정보를 수신하고, 상기의 암호화폐 주소에 해당되는 전자지갑에 대하여 거래를 생성한 후 거래가 완료되면 해당 거래 완료 정보를 상기 단계에서 수신한 전자지갑의 암호화폐의 주소에 해당되는 API 클라이언트(101)로 전송한다.According to the second embodiment of the cryptocurrency transaction using the RESAT API-based cryptocurrency transaction system according to the present invention, the API client 101 encodes transaction information by itself using a private key, and restores the encoded transaction information to REST. Transmits to the API server 102 through the API, the API server 102 transmits the transmitted transaction information to the cryptocurrency server 104, and the cryptocurrency server 104 receives the transaction information by the WEBHOOK algorithm. After confirming the cryptocurrency address of the electronic wallet registered in (103), receiving the address information of the cryptocurrency of the same electronic wallet, creating a transaction for the electronic wallet corresponding to the above cryptocurrency address, and completing the transaction The completion information is transmitted to the API client 101 corresponding to the address of the cryptocurrency of the electronic wallet received in the above step.

API 클라이언트(101)에는 API 클라이언트(101)가 암호화폐의 거래를 위해서 입력한 정보와 개인키를 이용하여 거래 정보를 인코딩할 수 있는 알고리즘이 포함되어 있다.The API client 101 includes an algorithm capable of encoding transaction information using the information and the private key input by the API client 101 for cryptocurrency transaction.

따라서 API 서버(102)를 이용하지 않고 API 클라이언트(101) 자체적으로 거래정보를 생성하고 이를 REST API의 형태로 API 서버(102)에 전송하며, API 서버(102)는 상기의 거래정보를 암호화폐 서버(104)에 전달을 하게 된다.Therefore, without using the API server 102, the API client 101 itself generates transaction information and transmits it to the API server 102 in the form of a REST API, and the API server 102 transmits the transaction information to cryptocurrency. It is transmitted to the server 104 .

상기의 거래 정보를 수신한 암호화폐 서버(104)는 상술한 제 1실시예와 동일한 방법으로 API 서버(102)가 거래 정보를 인코딩하여 암호화폐 서버(104)에 전송하면, 거래 정보를 수신한 암호화폐 서버(104)에서 WEBHOOK 알고리즘에 의해 데이터베이스(103)에 있는 전자지갑의 암호화폐 주소 목록을 탐색하여 거래 정보에 포함되어 있는 API 클라이언트(101)의 전자지갑의 암호화폐 주소와 일치하는지 매칭 작업을 수행하고, 매칭이 되면 암호화폐의 거래를 진행한다.The cryptocurrency server 104 that has received the transaction information receives the transaction information when the API server 102 encodes the transaction information and transmits it to the cryptocurrency server 104 in the same manner as in the first embodiment. The cryptocurrency server 104 searches the list of cryptocurrency addresses in the database 103 by the WEBHOOK algorithm and matches the cryptocurrency address of the electronic wallet of the API client 101 included in the transaction information. , and if it is matched, the transaction of cryptocurrency proceeds.

이후 암호화폐의 거래가 완료되면 암호화폐 서버(104)는 전자지갑의 암호화폐 주소를 참조하여 거래 결과를 API 클라이언트(101)에 전송하고, API 클라이언트(101)는 이를 수신하여 거래 결과를 확인할 수 있게 된다.After that, when the cryptocurrency transaction is completed, the cryptocurrency server 104 transmits the transaction result to the API client 101 by referring to the cryptocurrency address of the electronic wallet, and the API client 101 receives it and confirms the transaction result. do.

상술한 제 1실시예와 마찬가지로 데이터베이스(103)는 암호화폐 서버(104)가 매칭되는 전자지갑의 암호화폐 목록을 탐색하는 것을 감지하여, 본 발명의 REST API 기반의 암호화폐 거래 시스템의 관리자가 해당 API 클라이언트(101)가 거래를 생성한 것을 알 수 있게 된다.As in the first embodiment described above, the database 103 detects that the cryptocurrency server 104 searches for a matching cryptocurrency list of the electronic wallet, and the administrator of the REST API-based cryptocurrency transaction system of the present invention It will be known that the API client 101 has created a transaction.

상기의 제 2실시예에 따른 암호화폐 거래 방법은 API 클라이언트(101)가 암호화폐의 거래 생성을 위해서 개인키를 API 클라이언트(101) 자체적으로만 사용하고, API 서버(102)로 개인키를 전송하지 않으므로 제 1실시예에 비해 개인키가 유출될 위험성이 더욱 낮다는 장점이 있다.In the cryptocurrency transaction method according to the second embodiment, the API client 101 uses the private key only for the API client 101 itself to generate a cryptocurrency transaction, and transmits the private key to the API server 102 . Therefore, there is an advantage in that the risk of leakage of the private key is lower than in the first embodiment.

일반적으로 암호화폐의 거래를 위한 암호화폐 거래 시스템을 제공하는 서비스 제공자는 서비스 이용자가 암호화폐의 거래를 위해 암호화폐 거래 시스템을 사용하는 횟수에 따라서 일정 금액의 수수료를 받아 시스템의 유지와 운영을 지속할 수 있다.In general, a service provider that provides a cryptocurrency trading system for cryptocurrency trading continues to maintain and operate the system by receiving a certain amount of fee depending on the number of times service users use the cryptocurrency trading system for cryptocurrency trading. can do.

따라서 암호화폐 거래 시스템을 제공하는 서비스 제공자는 서비스 이용자의 암호화폐 거래 유무를 실시간으로 확인하기 위한 방법이 필요하게 된다.Therefore, a service provider that provides a cryptocurrency trading system needs a method for checking in real time whether a service user has a cryptocurrency transaction or not.

이에 따라 본 발명에 따른 REST API 기반의 암호화폐 거래 시스템은 서비스 제공자가 관리하는 데이터베이스(103)를 통해서 암호화폐 거래 유무를 실시간으로 확인하게 된다.Accordingly, the REST API-based cryptocurrency transaction system according to the present invention checks the presence or absence of cryptocurrency transactions in real time through the database 103 managed by the service provider.

이에 대해 좀더 상세하게 설명하면, 본 발명의 REST API 기반의 암호화폐 거래 시스템의 데이터베이스(103)는 API 클라이언트(101)를 통해서 암호화폐의 거래가 발생할 경우, 암호화폐 서버(104)가 데이터베이스(103)에 등록된 전자지갑의 암호화폐 주소목록을 확인하여 이와 매칭되는 전자지갑의 암호화폐 주소를 수신하면, 해당되는 API 클라이언트(101)의 거래 정보를 데이터베이스(103)에 수집하여 저장하고, 발생된 암호화폐의 거래 횟수에 따라서 API 클라이언트(101)에 암호화폐 거래 서비스 요금을 책정할 수 있다.In more detail, the database 103 of the REST API-based cryptocurrency transaction system of the present invention is the database 103 of the cryptocurrency server 104 when a cryptocurrency transaction occurs through the API client 101. When you check the cryptocurrency address list of the electronic wallet registered in and receive the cryptocurrency address of the electronic wallet that matches this, the transaction information of the API client 101 is collected and stored in the database 103, and the generated password A cryptocurrency transaction service fee may be set in the API client 101 according to the number of currency transactions.

즉, 본 발명에 따른 REST API 기반의 암호화폐 거래 시스템은 API 클라이언트(101)가 전자지갑을 생성하는 과정에서 전자지갑의 암호화폐 주소를 데이터베이스(103)에 저장하면, 암호화폐 서버(104)가 거래를 생성할 때마다 WEBHOOK 알고리즘에 의해 데이터베이스(103)를 통해 전자지갑의 암호화폐 주소 목록을 탐색하고 수신함에 따라 데이터베이스(103)가 이를 감지하게 되는 것이다.That is, in the REST API-based cryptocurrency transaction system according to the present invention, when the API client 101 stores the cryptocurrency address of the electronic wallet in the database 103 in the process of creating the electronic wallet, the cryptocurrency server 104 Whenever a transaction is created, the database 103 detects this by searching for and receiving the list of cryptocurrency addresses of the electronic wallet through the database 103 by the WEBHOOK algorithm.

추가로 본 발명에 따른 REST API 기반의 암호화폐 거래 시스템은, REST API 서버를 제공하는 별도의 서비스 제공자가 제공하는 암호화폐 서비스를 늘리기 위해서 암호화폐 서버(104)를 증설해야 하는 문제점의 해결도 가능하다.In addition, the REST API-based cryptocurrency transaction system according to the present invention can also solve the problem of having to expand the cryptocurrency server 104 in order to increase the cryptocurrency service provided by a separate service provider that provides the REST API server. Do.

즉, API 클라이언트(101)가 전자 지갑의 생성이나 거래 생성을 위해서 REST API를 통해서 API 서버(102)로 관련 정보를 전송하게 되므로, 암호화폐 거래 서비스 제공자는 암호화폐 거래 서비스를 이용하는 API 클라이언트(101)의 숫자에 따른 부하를 감당하기 위한 API 서버(102)만 증설하고, 암호화폐 서버(104)는 기존에 있는 서버를 그대로 활용하는 것이 가능하다.That is, since the API client 101 transmits related information to the API server 102 through the REST API for creation of an electronic wallet or transaction creation, the cryptocurrency transaction service provider provides the API client 101 using the cryptocurrency transaction service. ), only the API server 102 is expanded to handle the load according to the number, and the cryptocurrency server 104 can utilize the existing server as it is.

따라서 서비스를 제공하는 암호화폐의 개수의 증가에 따라서 암호화폐 서버(104)를 증설하지 않아도 되므로, 암호화폐 서버(104)의 구축과 유지보수를 위해서 필요한 비용과 인적자원 규모의 증가가 불필요하므로 암호화폐 거래 서비스 제공자의 부담이 감소하게 된다.Therefore, since there is no need to expand the cryptocurrency server 104 according to the increase in the number of cryptocurrencies that provide services, there is no need to increase the cost and human resources required for the construction and maintenance of the cryptocurrency server 104. The burden on the money transaction service provider will be reduced.

상술한 본 발명의 설명에서의 실시예는 여러가지 실시가능한 예 중에서 당업자의 이해를 돕기 위하여 가장 바람직한 예를 선정하여 제시한 것으로, 이 발명의 기술적 사상이 반드시 이 실시예만 의해서 한정되거나 제한되는 것은 아니고, 본 발명의 기술적 사상을 벗어나지 않는 범위내에서 다양한 변화와 변경 및 균등한 타의 실시예가 가능한 것이다.The embodiments in the description of the present invention described above are presented by selecting and presenting the most preferred examples to help those skilled in the art understand from among various possible examples, and the technical spirit of the present invention is not necessarily limited or limited only by this embodiment. , various changes and modifications and equivalent other embodiments are possible without departing from the technical spirit of the present invention.

101 API 클라이언트
102 API 서버
103 데이터베이스
104 암호화폐 서버
101 API Clients
102 API Server
103 database
104 Cryptocurrency Server

Claims (6)

데이터베이스와 내부 인터넷망을 통해 연결된 API 서버와;
외부 인터넷망을 통해 API 서버에 연결되는 하나 이상의 API 클라이언트와;
내부 인터넷망을 통해 API 서버에 연결되는 하나 이상의 암호화폐 서버로 구성된 블록체인 기반의 암호화폐 거래 시스템에 있어서;
API 클라이언트가 암호화폐의 거래를 위해서 먼저 전자지갑의 생성 요청을 REST API를 이용하여 API 서버에 전송하고,
API 서버는 개인키를 생성하여 API 클라이언트에 전송함과 동시에 개인키를 암호화하여 데이터베이스에 전송하여 저장하고,
API 클라이언트가 API 클라이언트의 전자지갑의 암호화폐 주소 등록 요청과 함께 개인키를 전송하면,
API 서버가 개인키를 이용하여 API 클라이언트의 전자지갑의 암호화폐 주소를 생성하고,
이후 API 서버는 API 클라이언트의 전자지갑의 암호화폐 주소를 데이터베이스에 전송하여 저장시키고,
암호화폐 서버는 WEBHOOK 알고리즘에 의해 API 클라이언트의 거래를 감지하여, API 클라이언트 또는 API 서버로부터 거래 정보를 수신하면 데이터베이스에 저장된 전자지갑의 암호화폐 주소를 검색하여 일치되는 전자지갑의 암호화폐 주소를 찾아서 해당 전자지갑의 암호화폐 주소에 대해서 거래를 생성하고, 그 결과를 해당되는 전자지갑의 암호화폐 주소의 API 클라이언트에 전송하는 것을 특징으로 하는 REST API 기반의 암호화폐 거래 시스템
an API server connected to the database through an internal Internet network;
one or more API clients connected to the API server through an external Internet network;
A blockchain-based cryptocurrency transaction system comprising one or more cryptocurrency servers connected to an API server through an internal Internet network;
The API client sends a request to create an electronic wallet to the API server using REST API for cryptocurrency transaction.
The API server generates and transmits the private key to the API client, and at the same time encrypts the private key and transmits it to the database for storage.
When the API client sends the private key along with the API client's request to register the cryptocurrency address in the electronic wallet,
The API server uses the private key to generate the cryptocurrency address of the API client's electronic wallet,
After that, the API server sends and stores the cryptocurrency address of the API client's e-wallet to the database,
The cryptocurrency server detects the transaction of the API client by the WEBHOOK algorithm, and when it receives the transaction information from the API client or API server, it searches for the cryptocurrency address of the electronic wallet stored in the database and finds the corresponding cryptocurrency address of the electronic wallet. REST API-based cryptocurrency transaction system, characterized in that a transaction is created for the cryptocurrency address of the electronic wallet, and the result is transmitted to the API client of the cryptocurrency address of the electronic wallet
제 1항에 있어서,
API 클라이언트가 암호화폐 거래생성을 위한 정보와 개인키를 REST API를 통해 API 서버로 전송하고,
API 서버는 API 클라이언트로부터 수신한 개인키를 암호화하고 이 결과를 데이터베이스에 호출하여 수신한 암호화된 개인키와 비교하고,
상기의 각 암호화된 개인키 값이 일치하면 API 클라이언트로부터 수신한 거래 정보를 인코딩하고, 상기 거래 정보를 암호화폐 서버에 전송하며,
암호화폐 서버는 WEBHOOK 알고리즘에 의해 데이터베이스에 등록된 전자지갑의 암호화폐 주소를 확인하여 동일한 전자지갑의 암호화폐의 주소 정보를 수신하고,
상기의 암호화폐 주소에 해당되는 전자지갑에 대하여 거래를 생성한 후 거래가 완료되면 해당 거래 완료 정보를 상기 단계에서 수신한 전자지갑의 암호화폐의 주소에 해당되는 API 클라이언트로 전송하는 것을 특징으로 하는 REST API 기반의 암호화폐 거래 시스템
The method of claim 1,
API client sends information and private key for cryptocurrency transaction creation to API server through REST API,
The API server encrypts the private key received from the API client and compares the result with the received encrypted private key by calling the database.
If each of the encrypted private key values matches, the transaction information received from the API client is encoded, and the transaction information is transmitted to the cryptocurrency server,
The cryptocurrency server checks the cryptocurrency address of the electronic wallet registered in the database by the WEBHOOK algorithm and receives the address information of the cryptocurrency of the same electronic wallet,
REST, characterized in that after creating a transaction for the electronic wallet corresponding to the cryptocurrency address, and when the transaction is completed, the transaction completion information is transmitted to the API client corresponding to the cryptocurrency address of the electronic wallet received in the step API-based cryptocurrency trading system
제 1항에 있어서,
API 클라이언트가 개인키를 이용해서 자체적으로 거래 정보를 인코딩하고,
인코딩된 거래정보를 REST API를 통해 API 서버로 전송하고,
API 서버는 송신한 거래정보를 암호화폐 서버로 전송하고,
암호화폐 서버는 WEBHOOK 알고리즘에 의해 거래정보를 수신하면 데이터베이스에 등록된 전자지갑의 암호화폐 주소를 확인하여 동일한 전자지갑의 암호화폐의 주소 정보를 수신하고,
상기의 암호화폐 주소에 해당되는 전자지갑에 대하여 거래를 생성한 후 거래가 완료되면 해당 거래 완료 정보를 상기 단계에서 수신한 전자지갑의 암호화폐의 주소에 해당되는 API 클라이언트로 전송하는 것을 특징으로 하는 REST API 기반의 암호화폐 거래 시스템
The method of claim 1,
The API client encodes the transaction information by itself using the private key,
Transmits encoded transaction information to API server through REST API,
The API server transmits the transmitted transaction information to the cryptocurrency server,
When the cryptocurrency server receives transaction information by the WEBHOOK algorithm, it checks the cryptocurrency address of the electronic wallet registered in the database and receives the address information of the cryptocurrency in the same electronic wallet,
REST, characterized in that after creating a transaction for the electronic wallet corresponding to the cryptocurrency address, and when the transaction is completed, the transaction completion information is transmitted to the API client corresponding to the cryptocurrency address of the electronic wallet received in the step API-based cryptocurrency trading system
제 3항과 4항에 있어서,
API 클라이언트가 생성한 거래 정보는 암호화폐의 금액정보와 전자지갑의 암호화폐의 주소가 포함되어 있는 것을 특징으로 하는 REST API 기반의 암호화폐 거래 시스템
5. The method of claim 3 and 4,
A REST API-based cryptocurrency transaction system, characterized in that the transaction information generated by the API client includes the amount information of cryptocurrency and the address of the cryptocurrency in the electronic wallet
제 1항에 있어서,
데이터베이스는 API 클라이언트를 통해서 암호화폐의 거래가 발생할 경우, 암호화폐 서버가 데이터베이스에 등록된 전자지갑의 암호화폐 주소를 확인하여 이와 매칭되는 전자지갑의 암호화폐 주소를 수신하면,
해당되는 API 클라이언트의 거래 정보를 데이터베이스에 수집하여 저장하고,
발생된 암호화폐의 거래 횟수에 따라서 API 클라이언트에 암호화폐 거래 서비스 요금을 책정하는 것을 특징으로 하는 REST API 기반의 암호화폐 거래 시스템
The method of claim 1,
In the database, when a cryptocurrency transaction occurs through the API client, the cryptocurrency server checks the cryptocurrency address of the electronic wallet registered in the database and receives the matching cryptocurrency address of the electronic wallet,
Collects and stores transaction information of the applicable API client in the database,
REST API-based cryptocurrency transaction system, characterized in that the cryptocurrency transaction service fee is set to the API client according to the number of transactions of the generated cryptocurrency
제 1항에 있어서,
데이터베이스에는 암호화폐 거래를 희망하는 API 클라이언트의 회원 정보가 저장되어 있는 것을 특징으로 하는 REST API 기반의 암호화폐 거래 시스템
The method of claim 1,
REST API-based cryptocurrency transaction system, characterized in that the database stores member information of API clients who wish to trade cryptocurrency
KR1020190159648A 2019-12-04 2019-12-04 REST API Based Cryptocurrency Trading System Ceased KR20210069865A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020190159648A KR20210069865A (en) 2019-12-04 2019-12-04 REST API Based Cryptocurrency Trading System

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020190159648A KR20210069865A (en) 2019-12-04 2019-12-04 REST API Based Cryptocurrency Trading System

Publications (1)

Publication Number Publication Date
KR20210069865A true KR20210069865A (en) 2021-06-14

Family

ID=76417539

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020190159648A Ceased KR20210069865A (en) 2019-12-04 2019-12-04 REST API Based Cryptocurrency Trading System

Country Status (1)

Country Link
KR (1) KR20210069865A (en)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20230141356A (en) 2022-03-31 2023-10-10 주식회사 마블러스 Method for detecting abnormal request regardless of leak of already issued token and authentication system for performing the same

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20230141356A (en) 2022-03-31 2023-10-10 주식회사 마블러스 Method for detecting abnormal request regardless of leak of already issued token and authentication system for performing the same

Similar Documents

Publication Publication Date Title
US10699006B1 (en) Processing and storing blockchain data under a trusted execution environment
US11153072B2 (en) Processing blockchain data based on smart contract operations executed in a trusted execution environment
US11025435B2 (en) System and method for blockchain-based cross-entity authentication
US11533164B2 (en) System and method for blockchain-based cross-entity authentication
US11159526B2 (en) System and method for decentralized-identifier authentication
TWI707245B (en) Retrieving access data for blockchain networks using highly available trusted execution environments
CN112333198B (en) Secure cross-domain login method, system and server
US10992649B2 (en) Systems and methods for privacy in distributed ledger transactions
WO2021000337A1 (en) System and method for mapping decentralized identifiers to real-world entities
US11455406B2 (en) Delegated private set intersection, and applications thereof
Patil et al. Data security over cloud
US9438570B2 (en) Consumer-driven secure sockets layer modulator
CN110149323B (en) Processing device with ten-million-level TPS (platform secure protocol) contract processing capacity
US8677129B2 (en) Consumer-driven secure sockets layer modulator
EP4348919A1 (en) Data management and encryption in a distributed computing system
WO2020248656A1 (en) Method and apparatus for unlocking account in block chain
KR20210069865A (en) REST API Based Cryptocurrency Trading System
Prasadreddy et al. A threat free architecture for privacy assurance in cloud computing
CN114095254B (en) Message encryption method, server device, client device and storage medium
CN105872013A (en) Cloud computing system
CN114742649A (en) Transaction data processing method, device and server
KR20230089559A (en) Blockchain-based fido authentication system
WO2025054000A1 (en) Data management in a distributed system
CN120567404A (en) Block chain-based data processing method and device, electronic equipment and storage medium
Krishna et al. Multi-Cloud system in the Dynamic environment Data Hosting Scheme as Cloud with Access Control Model

Legal Events

Date Code Title Description
PA0109 Patent application

Patent event code: PA01091R01D

Comment text: Patent Application

Patent event date: 20191204

PA0201 Request for examination
PE0902 Notice of grounds for rejection

Comment text: Notification of reason for refusal

Patent event date: 20210319

Patent event code: PE09021S01D

PG1501 Laying open of application
E601 Decision to refuse application
PE0601 Decision on rejection of patent

Patent event date: 20210629

Comment text: Decision to Refuse Application

Patent event code: PE06012S01D

Patent event date: 20210319

Comment text: Notification of reason for refusal

Patent event code: PE06011S01I