KR102131548B1 - Method for generating electronic wallet and cryptocurrency transaction method using the method - Google Patents

Method for generating electronic wallet and cryptocurrency transaction method using the method Download PDF

Info

Publication number
KR102131548B1
KR102131548B1 KR1020190004746A KR20190004746A KR102131548B1 KR 102131548 B1 KR102131548 B1 KR 102131548B1 KR 1020190004746 A KR1020190004746 A KR 1020190004746A KR 20190004746 A KR20190004746 A KR 20190004746A KR 102131548 B1 KR102131548 B1 KR 102131548B1
Authority
KR
South Korea
Prior art keywords
electronic wallet
nodes
transaction
node
public key
Prior art date
Application number
KR1020190004746A
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 KR1020190004746A priority Critical patent/KR102131548B1/en
Application granted granted Critical
Publication of KR102131548B1 publication Critical patent/KR102131548B1/en

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q20/00Payment architectures, schemes or protocols
    • G06Q20/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
    • G06Q20/3674Payment 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 involving authentication
    • 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/38Payment protocols; Details thereof
    • G06Q20/382Payment protocols; Details thereof insuring higher security of transaction
    • G06Q20/3827Use of message hashing
    • 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

Disclosed are a method for generating an electronic wallet and a cryptocurrency trading method using the same which can generate an electronic wallet capable of safely storing a cryptocurrency in possession. The method for generating an electronic wallet comprises: a step in which a user terminal generates an electronic wallet A and generates a private key A used in the electronic wallet A and a public key A corresponding to the private key A; a step in which a management node receives the public key A from the user terminal; a step in which the management node uses the public key A to generate an identifier A for identifying the electronic wallet A; a step in which the management node generates an address A, which corresponds to the identifier A, is for a transaction with the electronic wallet A, and is exposed to the outside; and a step in which the management node matches the identifier A and the address A to store the identifier A and the address A in a matching list. Accordingly, the management node generates the address of the electronic wallet A as a separate value instead of the public key A, thereby safely protecting a cryptocurrency stored in the electronic wallet A.

Description

전자지갑 생성 방법 및 이를 이용한 암호화폐 거래 방법{METHOD FOR GENERATING ELECTRONIC WALLET AND CRYPTOCURRENCY TRANSACTION METHOD USING THE METHOD}METHOD FOR GENERATING ELECTRONIC WALLET AND CRYPTOCURRENCY TRANSACTION METHOD USING THE METHOD}

본 발명은 전자지갑 생성 방법 및 상기 전자지갑을 이용한 암호화폐 송금 방법에 관한 것으로, 더욱 상세하게는 보유하고 있는 암호화폐를 보관할 수 있는 전자지갑을 생성하는 전자지갑 생성 방법 및 이를 이용한 암호화폐 거래 방법에 관한 것이다.The present invention relates to a method for generating an electronic wallet and a method for remitting a cryptocurrency using the electronic wallet, and more specifically, an electronic wallet generating method for generating an electronic wallet capable of storing the held cryptocurrency, and a method for trading the cryptocurrency using the same It is about.

비트코인은 중앙서버의 관리에서 벗어난 분산원장의 피어투피어(Peer to Peer) 시스템을 도입한 블록체인 1세대의 기술의 암호화폐이다. 이더리움(Ethereum)은 스마트 계약(SmartContracts) 기능을 구현하기 위한 분산 컴퓨팅 플랫폼을 도입한 블록체인 2세대 기술의 암호화폐이다.Bitcoin is a cryptocurrency of the first-generation blockchain technology that introduces a peer-to-peer system of distributed ledger that is not managed by the central server. Ethereum is a blockchain second-generation technology cryptocurrency that introduces a distributed computing platform to implement smart contracts.

이러한 블록체인 플랫폼은 시스템에 참여한 구성원들(노드)이 각자의 블록(서버)에 데이터를 분산해서 저장함으로써, 데이터의 위변조가 사실상 불가능해지고, 구성원들이 각자 분산된 정보를 보유할 수 있으며, 별도로 중앙서버의 관리자도 불필요한 장점을 갖고 있다.In such a blockchain platform, the data (distribution) of data is distributed to each block (server) by members (nodes) participating in the system, making it virtually impossible to falsify data, and members can retain their distributed information. Server administrators also have unnecessary advantages.

한편, 이러한 블록체인 플랫폼에는 블록체인 기술과 연계된 암호화폐를 보관하거나 송금 및 수금 등의 거래를 수행하기 위해 블록체인의 전자지갑이 필요하다. 이러한 전자지갑은 사용자의 정보와 암호키 등을 함께 보유하고 있을 수 있다.On the other hand, such a blockchain platform requires an electronic wallet of the blockchain to store cryptocurrency associated with blockchain technology or to perform transactions such as remittance and collection. Such an electronic wallet may have a user's information and an encryption key.

한편, 암호화 기술은 대칭적 암호화 기술과 비대칭 암호화 기술이 있을 수 있다. 대칭적 암호화 기술은 우리에게 익숙한 아이디(ID)와 비밀번호(Password)가 일치되면 암호화된 데이트를 복호화시킬 수 있는 기술을 말한다. 비대칭 암호화 기술은 암호화된 내용에 대한 전면적인 접근 권한이 있는 개인키(Private-Key)와, 개인키에 대칭하여 진위 여부를 검증할 수 있는 공개키(Public-Key)를 이용한 암호화 기술로, 대부분의 블록체인 기반의 전자지갑은 이러한 비대칭 암호화 기술로 되어 있다.Meanwhile, the encryption technology may include symmetric encryption technology and asymmetric encryption technology. Symmetric encryption technology refers to a technology that can decrypt encrypted data when the ID and password that we are familiar with match. Asymmetric encryption technology is a private key (Private-Key) that has full access to the encrypted content, and a public key (Public-Key) that can verify the authenticity symmetrically to the private key. The blockchain-based electronic wallet is based on this asymmetric encryption technology.

이와 같은 블록체인 기반의 전자지갑은 다른 전자지갑과 거래를 하기 위해서 지갑의 주소를 갖고 있어야 한다. 이때, 종래의 주소는 전자지갑 소유자의 공개키를 이용하고 있다. 그러나, 이와 같이 공개키가 전자지갑의 주소로 사용할 경우, 해당 공개키가 외부로 쉽게 노출될 수 있고, 이렇게 노출된 공개키를 주기적으로 모니터링하게 되면 거래 내역 등의 정보도 함께 노출될 수 있다. 또한, 공개키와 대응되는 개인키, 즉 비밀키가 분실되면 해당 전자지갑에 보관되어 있는 암호화폐의 통제권도 함께 잃어버리는 문제점이 발생될 수 있다. Blockchain-based e-wallets must have a wallet address in order to trade with other e-wallets. At this time, the conventional address uses the public key of the electronic wallet owner. However, when the public key is used as the address of the electronic wallet, the public key can be easily exposed to the outside, and periodically monitoring the exposed public key can also expose information such as transaction details. In addition, when the private key corresponding to the public key, that is, the secret key is lost, there may be a problem of losing control of the cryptocurrency stored in the corresponding electronic wallet.

따라서, 본 발명은 이러한 문제점을 해결하기 위한 것으로, 본 발명의 해결하고자 하는 과제는 보유중인 암호화폐를 안전하게 보관할 수 있는 전자지갑을 생성할 수 있는 전자지갑 생성 방법을 제공하는 것이다.Accordingly, the present invention is to solve such a problem, and an object of the present invention is to provide an electronic wallet generating method capable of generating an electronic wallet capable of safely storing a cryptocurrency in possession.

또한, 본 발명의 해결하고자 하는 다른 과제는 상기 전자지갑 생성 방법을 이용한 암호화폐 거래 방법을 제공하는 것이다.In addition, another problem to be solved of the present invention is to provide a cryptocurrency transaction method using the electronic wallet generation method.

본 발명의 일 실시예에 의한 전자지갑 생성 방법은 사용자 단말기가 전자지갑 A을 생성하면서, 상기 전자지갑 A에서 사용되는 개인키 A 및 상기 개인키 A와 대응되는 공개키 A를 생성하는 단계; 관리 노드가 상기 사용자 단말기로부터 상기 공개키 A를 제공받는 단계; 상기 관리 노드가 상기 공개키 A를 이용하여 상기 전자지갑 A를 식별하기 위한 식별자 A를 생성하는 단계; 상기 관리 노드가 상기 식별자 A와 대응되고 상기 전자지갑 A와의 거래를 위한 외부로 노출되는 주소 A를 생성하는 단계; 및 상기 관리 노드가 상기 식별자 A 및 상기 주소 A를 매칭시켜 매칭 리스트에 저장시키는 단계를 포함한다.The electronic wallet generation method according to an embodiment of the present invention includes generating a private key A used in the electronic wallet A and a public key A corresponding to the private key A while the user terminal generates the electronic wallet A; A management node receiving the public key A from the user terminal; Generating, by the management node, an identifier A for identifying the electronic wallet A using the public key A; Generating, by the management node, the address A corresponding to the identifier A and exposed to the outside for the transaction with the electronic wallet A; And the management node matching the identifier A and the address A and storing them in a matching list.

상기 관리 노드가 상기 사용자 단말기로부터 상기 공개키 A를 제공받는 단계에서는, 상기 관리 노드가 상기 사용자 단말기로부터 상기 공개키 A를 제공받은 노드로부터 상기 공개키 A를 제공받을 수 있다.In the step where the management node receives the public key A from the user terminal, the management node may be provided with the public key A from the node receiving the public key A from the user terminal.

상기 식별자 A는 상기 공개키 A의 해쉬값을 포함할 수 있다.The identifier A may include a hash value of the public key A.

상기 식별자 A는 동일한 공개키를 가지는 전자지갑을 식별하기 위한 시퀀스 번호를 더 포함할 수 있다.The identifier A may further include a sequence number for identifying an electronic wallet having the same public key.

이어서, 본 발명의 일 실시예에 의한 암호화폐 거래 방법은 사용자 단말기 A가 전자지갑 A을 생성하면서, 상기 전자지갑 A에서 사용되는 개인키 A 및 상기 개인키 A와 대응되는 공개키 A를 생성하는 단계; 관리 노드가 상기 사용자 단말기 A로부터 상기 공개키 A를 제공받고, 상기 공개키 A를 이용하여 상기 전자지갑 A를 식별하기 위한 식별자 A를 생성하며, 상기 식별자 A와 대응되고 상기 전자지갑 A와의 거래를 위한 외부로 노출되는 주소 A를 생성한 후, 상기 식별자 A 및 상기 주소 A를 매칭시켜 매칭 리스트에 저장시키는 단계; 사용자 단말기 B가 전자지갑 B를 생성하면서, 상기 전자지갑 B에서 사용되는 개인키 B 및 상기 개인키 B와 대응되는 공개키 B를 생성하는 단계; 상기 관리 노드가 상기 사용자 단말기 B로부터 상기 공개키 B를 제공받고, 상기 공개키 B를 이용하여 상기 전자지갑 B를 식별하기 위한 식별자 B를 생성하며, 상기 식별자 B와 대응되고 상기 전자지갑 B와의 거래를 위한 외부로 노출되는 주소 B를 생성한 후, 상기 식별자 B 및 상기 주소 B를 매칭시켜 상기 매칭 리스트에 저장시키는 단계; 상기 사용자 단말기 A가 상기 주소 B를 이용하여 상기 전자지갑 A에 보관된 암호화폐의 적어도 일부를 상기 전자지갑 B로 송금하기 위한 거래 A를 생성한 후 복수의 노드들 중 임의의 노드 A로 전송하는 단계; 상기 노드 A가 상기 거래 A를 포함하는 블록 A를 생성한 후 상기 노드들로 전파하는 단계; 및 상기 노드들 각각이 상기 블록 A를 저장하면서, 상기 거래 A를 이용하여 자체 거래 장부에 기록되어 있는 정보를 갱신하는 단계를 포함한다.Subsequently, in the cryptocurrency transaction method according to an embodiment of the present invention, while the user terminal A generates the electronic wallet A, the private key A used in the electronic wallet A and the public key A corresponding to the private key A are generated. step; The management node receives the public key A from the user terminal A, generates an identifier A for identifying the electronic wallet A using the public key A, corresponds to the identifier A, and performs a transaction with the electronic wallet A. Generating an address A exposed to the outside, and matching the identifier A and the address A to store in a matching list; While the user terminal B generates the electronic wallet B, generating a private key B used in the electronic wallet B and a public key B corresponding to the private key B; The management node receives the public key B from the user terminal B, generates an identifier B for identifying the electronic wallet B using the public key B, corresponds to the identifier B, and deals with the electronic wallet B Generating an address B that is exposed to the outside, and matching the identifier B and the address B to store in the matching list; The user terminal A generates a transaction A for remitting at least a part of the cryptocurrency stored in the electronic wallet A to the electronic wallet B using the address B, and then transmits it to any node A among a plurality of nodes. step; The node A generating block A containing the transaction A and then propagating it to the nodes; And updating the information recorded in the own transaction book by using the transaction A while each of the nodes stores the block A.

상기 노드들은 상기 노드 A를 포함하는 복수의 위임 노드들 및 복수의 일반 노드들을 포함할 수 있다. 상기 위임 노드들 각각은 자체 거래 장부를 저장하고 있고, 공유를 위한 블록을 생성하여 전파시킬 수 있는 블록 생성 기능과, 전송받은 블록을 검증한 후 피드백할 수 있는 블록 검증 기능을 수행할 수 있다. 상기 일반 노드들 각각은 자체 거래 장부를 저장하고 있다.The nodes may include a plurality of delegate nodes including the node A and a plurality of general nodes. Each of the delegating nodes stores its own transaction book, and can perform a block generation function that can generate and propagate a block for sharing and a block verification function that can verify and send back the received block. Each of the general nodes has its own transaction book.

상기 노드 A가 상기 블록 A를 생성한 후 상기 노드들로 전파하는 단계는 상기 노드 A가 상기 블록 A를 생성한 후 상기 위임 노드들로 전송하는 단계; 상기 위임 노드들 각각이 상기 블록 A에 대한 검증을 수행한 후, 검증 결과를 상기 노드 A로 피드백(feedback)하는 단계; 및 상기 노드 A가 상기 검증 결과들을 이용하여 상기 블록 A의 검증 통과 여부를 결정하고, 결정 결과가 검증 통과인 경우 상기 블록 A를 상기 위임 노드들 및 상기 일반 노드들로 전송하는 단계를 포함할 수 있다.After the node A generates the block A and propagates to the nodes, the node A generates the block A and transmits it to the delegating nodes; After each of the delegating nodes performs verification on the block A, feeding back the verification result to the node A; And determining whether the block A passes the verification using the verification results, and transmitting the block A to the delegation nodes and the general nodes when the determination result is verification verification. have.

상기 사용자 단말기 A가 상기 거래 A를 생성한 후 상기 노드 A로 전송하는 단계는 상기 사용자 단말기 A가 상기 거래 A를 생성하는 단계; 상기 사용자 단말기 A가 상기 거래 A를 상기 일반 노드들 중 임의의 일반 노드 G1로 전송하는 단계; 및 상기 일반 노드 G1이 상기 거래 A를 상기 노드 A로 전송하는 단계를 포함할 수 있다.After the user terminal A generates the transaction A and transmits it to the node A, the user terminal A generating the transaction A; The user terminal A transmitting the transaction A to any general node G1 among the general nodes; And the normal node G1 transmitting the transaction A to the node A.

상기 노드들 각각이 상기 블록 A를 저장하면서 자체 거래 장부에 기록되어 있는 정보를 갱신하는 단계는 상기 노드들 각각이 기 저장되어 있는 이전 블록 체인에 상기 블록 A를 연결시켜 신규 블록 체인을 생성한 후 저장하는 단계; 및 상기 노드들 각각이 상기 거래 A를 이용하여 자체 거래 장부에 저장되어 있는 정보를 갱신하는 단계를 포함할 수 있다.In the step of updating the information recorded in the transaction book while each of the nodes stores the block A, after linking the block A to the previous blockchain where each of the nodes is previously stored, a new blockchain is created. Storing; And each of the nodes may include updating the information stored in its own transaction book by using the transaction A.

상기 노드들 각각이 상기 거래 A를 이용하여 자체 거래 장부에 저장되어 있는 정보를 갱신하는 단계에서는, 상기 노드들 각각이 상기 거래 A를 이용하여 자체 거래 장부에 저장되어 있는 정보를 갱신하면서, 상기 전자지갑 A 및 상기 전자지갑 B 각각에 보관중인 암호화폐의 양을 갱신할 수 있다.In the step of each of the nodes updating the information stored in its own transaction book using the transaction A, each of the nodes updates the information stored in its own transaction book using the transaction A while the electronic The amount of cryptocurrency stored in each of the wallet A and the electronic wallet B can be updated.

이와 같이 본 발명에 의한 전자지갑 생성 방법 및 이를 이용한 암호화폐 거래 방법에 따르면, 관리 노드가 전자지갑의 공개키를 통해 생성된 식별자와 대응되는 주소를 별도로 생성함에 따라, 상기 공개키의 모니터링을 통해 상기 전자지갑에서의 거래 내역이 외부로 노출되어 외부 해킹에 의해 공격받는 것을 방지할 수 있다. 그 결과, 상기 전자지갑에 보관중인 암호화폐가 보다 안전하게 보호될 수 있다.As described above, according to the method for generating an electronic wallet according to the present invention and a method for trading a cryptocurrency using the same, as a managed node separately generates an address corresponding to an identifier generated through the public key of the electronic wallet, through monitoring of the public key It is possible to prevent the transaction history in the electronic wallet from being exposed to the outside and being attacked by external hacking. As a result, the cryptocurrency stored in the electronic wallet can be more safely protected.

또한, 상기 관리 노드가 상기 식별자 및 상기 주소를 매칭시켜 매칭 리스트에 저장하고 있음에 따라, 상기 개인키를 분실하더라도 상기 전자지갑에게 고유로 부여된 상기 식별자를 이용하여 상기 전자지갑에 대한 암호화폐 통제권을 수행할 수 있다.In addition, as the management node matches the identifier and the address and stores it in a matching list, even if the private key is lost, the control of cryptocurrency for the electronic wallet using the identifier uniquely assigned to the electronic wallet You can do

도 1은 본 발명의 일 실시예에 따른 암호화폐 거래 시스템을 도시한 개념도이다.
도 2는 도 1의 암호화폐 거래 시스템을 이용한 암호화폐 거래 방법 중 전자지갑 A를 생성하는 과정을 설명하기 위한 개념도이다.
도 3은 도 2의 과정을 통해 생성된 전자지갑 A를 설명하기 위한 개념도이다.
도 4는 도 2의 과정을 통해 생성된 매칭 리스트를 설명하기 위한 개념도이다.
도 5는 도 1의 암호화폐 거래 시스템을 이용한 암호화폐 거래 방법 중 블록 A를 전파하는 과정을 설명하기 위한 개념도이다.
도 6은 도 5의 과정에서 생성된 거래 A의 일 예를 설명하기 위한 개념도이다.
도 7은 도 5의 과정에서 생성된 블록 A의 일 예를 설명하기 위한 개념도이다.
도 8은 도 1의 암호화폐 거래 시스템을 이용한 암호화폐 거래 방법 중 블록 A를 저장하는 과정을 설명하기 위한 개념도이다.
도 9는 도 8의 과정에서 생성된 신규 블록 체인의 일 예를 도시한 개념도이다.
도 10은 도 8의 과정에서 갱신된 전자지갑들의 일 예를 도시한 개념도이다.
1 is a conceptual diagram showing a cryptocurrency trading system according to an embodiment of the present invention.
FIG. 2 is a conceptual diagram illustrating a process of generating an electronic wallet A among cryptocurrency trading methods using the cryptocurrency trading system of FIG. 1.
3 is a conceptual diagram illustrating the electronic wallet A generated through the process of FIG. 2.
4 is a conceptual diagram illustrating a matching list generated through the process of FIG. 2.
FIG. 5 is a conceptual diagram illustrating a process of propagating block A among cryptocurrency trading methods using the cryptocurrency trading system of FIG. 1.
FIG. 6 is a conceptual diagram illustrating an example of transaction A generated in the process of FIG. 5.
7 is a conceptual diagram illustrating an example of a block A generated in the process of FIG. 5.
8 is a conceptual diagram illustrating a process of storing block A among cryptocurrency trading methods using the cryptocurrency trading system of FIG. 1.
9 is a conceptual diagram illustrating an example of a new blockchain created in the process of FIG. 8.
10 is a conceptual diagram illustrating an example of electronic wallets updated in the process of FIG. 8.

본 발명은 다양한 변경을 가할 수 있고 여러 가지 형태를 가질 수 있는 바, 특정 실시예들을 도면에 예시하고 본문에 상세하게 설명하고자 한다.The present invention may be variously modified and may have various forms, and specific embodiments will be illustrated in the drawings and described in detail in the text.

그러나, 이는 본 발명을 특정한 개시 형태에 대해 한정하려는 것이 아니며, 본 발명의 사상 및 기술 범위에 포함되는 모든 변경, 균등물 내지 대체물을 포함하는 것으로 이해되어야 한다. 제1, 제2 등의 용어는 다양한 구성 요소들을 설명하는데 사용될 수 있지만, 상기 구성 요소들은 상기 용어들에 의해 한정되어서는 안된다. 상기 용어들은 하나의 구성 요소를 다른 구성 요소로부터 구별하는 목적으로만 사용된다. 예를 들어, 본 발명의 권리 범위를 벗어나지 않으면서 제1 구성 요소는 제2 구성 요소로 명명될 수 있고, 유사하게 제2 구성 요소도 제1 구성 요소로 명명될 수 있다.However, this is not intended to limit the present invention to a specific disclosure form, and it should be understood that all modifications, equivalents, and substitutes included in the spirit and scope of the present invention are included. Terms such as first and second may be used to describe various components, but the components should not be limited by the terms. The terms are used only for the purpose of distinguishing one component from other components. For example, the first component may be referred to as a second component without departing from the scope of the present invention, and similarly, the second component may also be referred to as a first component.

본 출원에서 사용한 용어는 단지 특정한 실시예들을 설명하기 위해 사용된 것으로, 본 발명을 한정하려는 의도가 아니다. 단수의 표현은 문맥상 명백하게 다르게 뜻하지 않는 한, 복수의 표현을 포함한다. 본 출원에서, "포함하다" 또는 "가지다" 등의 용어는 명세서에 기재된 특징, 숫자, 단계, 동작, 구성 요소, 부분품 또는 이들을 조합한 것이 존재함을 지정하려는 것이지, 하나 또는 그 이상의 다른 특징들이나 숫자, 단계, 동작, 구성 요소, 부분품 또는 이들을 조합한 것들의 존재 또는 부가 가능성을 미리 배제하지 않는 것으로 이해되어야 한다.The terms used in the present application are only used to describe specific embodiments, and are not intended to limit the present invention. Singular expressions include plural expressions unless the context clearly indicates otherwise. In this application, terms such as “include” or “have” are intended to indicate that a feature, number, step, operation, component, part, or combination thereof described in the specification exists, or that one or more other features or It should be understood that the presence or addition possibilities of numbers, steps, actions, components, parts or combinations thereof are not excluded in advance.

이하, 첨부한 도면들을 참조하여, 본 발명의 바람직한 실시예들을 보다 상세하게 설명한다.Hereinafter, preferred embodiments of the present invention will be described in more detail with reference to the accompanying drawings.

도 1은 본 발명의 일 실시예에 따른 암호화폐 거래 시스템을 도시한 개념도이다.1 is a conceptual diagram showing a cryptocurrency trading system according to an embodiment of the present invention.

도 1을 참조하면, 본 실시예에 의한 암호화폐 거래 시스템은 복수의 노드들(10) 및 복수의 사용자 단말기들(20)을 포함할 수 있다.Referring to FIG. 1, the cryptocurrency transaction system according to the present embodiment may include a plurality of nodes 10 and a plurality of user terminals 20.

상기 노드들(10)은 네트워크를 통해 서로 연결된 컴퓨터 시스템들, 예를 들어 서버 시스템들일 수 있다. 이때, 상기 노드들(10)은 복수의 위임 노드들(12), 복수의 일반 노드들(14) 및 관리 노드(16)을 포함할 수 있다.The nodes 10 may be computer systems connected to each other through a network, for example, server systems. At this time, the nodes 10 may include a plurality of delegating nodes 12, a plurality of general nodes 14, and a management node 16.

상기 위임 노드들(12) 각각은 자체 거래 장부를 저장하고 있다. 또한, 상기 위임 노드들(12) 각각은 블록을 생성하여 공유시킬 수 있는 블록 생성 기능과, 전송받은 블록을 검증한 후 피드백(feedback)할 수 있는 블록 검증 기능을 수행할 수 있다.Each of the delegate nodes 12 stores its own transaction book. In addition, each of the delegating nodes 12 may perform a block generation function capable of generating and sharing a block, and a block verification function capable of feedback after verifying the received block.

상기 일반 노드들(14) 각각은 상기 위임 노드들(12)과 네트워크로 연결되어 있고, 상기 위임 노드들(12)과 마찬가지로 자체 거래 장부를 저장하고 있을 수 있다. 반면, 상기 일반 노드들(14) 각각은 상기 위임 노드들(12)과 다르게, 상기 블록 생성 기능 및 상기 블록 검증 기능을 수행하지 못할 수 있다. 이와 같이, 상기 일반 노드들(14) 각각은 상기 블록 생성 기능 및 상기 블록 검증 기능을 갖고 있지 않기 때문에, 상기 위임 노드들(12) 중 하나의 노드로 블록의 생성을 위임해야만 한다.Each of the general nodes 14 may be connected to the delegation nodes 12 through a network, and may store its own transaction book like the delegation nodes 12. On the other hand, each of the general nodes 14 may not perform the block generation function and the block verification function, unlike the delegation nodes 12. In this way, since each of the general nodes 14 does not have the block generation function and the block verification function, the creation of a block must be delegated to one of the delegation nodes 12.

상기 관리 노드(16)은 상기 위임 노드들(12) 및 상기 일반 노드들(14)와 네트워크로 연결되어 있고, 복수의 전자지갑들 사이에서 암호화폐의 거래를 위한 정보를 생성하여 저장하고 있다가 상기 위임 노드들(12) 및 상기 일반 노드들(14)에게 제공할 수 있다. 한편, 상기 관리 노드(16)는 상기 위임 노드들(12) 및 상기 일반 노드들(14)과 별도로 존재하는 노드일 수도 있지만, 상기 위임 노드들(12) 중 어느 하나의 노드이거나, 상기 일반 노드들(14) 중 어느 하나의 노드일 수도 있다.The management node 16 is connected to the delegation nodes 12 and the general nodes 14 in a network, and generates and stores information for cryptocurrency transactions between a plurality of electronic wallets. It may be provided to the delegation nodes 12 and the general nodes 14. On the other hand, the management node 16 may be a node that exists separately from the delegation nodes 12 and the general nodes 14, but is one of the delegation nodes 12 or the general node. It may be any one of the fields 14.

상기 사용자 단말기들(20) 각각은 상기 노드들(10) 중 적어도 하나와 신호를 주고받을 수 있는 단말기로, 예를 들어 데스크탑 컴퓨터, 노트북 컴퓨터, 스마트폰, 테블릿 PC 등일 수 있다. 상기 사용자 단말기들(20) 각각은 공유를 원하는 정보를 생성하여 상기 노드들(10)에 저장시킬 수 있다.Each of the user terminals 20 is a terminal that can exchange signals with at least one of the nodes 10, for example, a desktop computer, a laptop computer, a smartphone, a tablet PC, and the like. Each of the user terminals 20 may generate information desired to be shared and store it in the nodes 10.

이하, 위에서 설명한 상기 암호화폐 거래 시스템을 이용하여 암호화폐 거래 방법을 상세하게 설명하고자 한다.Hereinafter, the cryptocurrency trading method will be described in detail using the cryptocurrency trading system described above.

도 2는 도 1의 암호화폐 거래 시스템을 이용한 암호화폐 거래 방법 중 전자지갑 A를 생성하는 과정을 설명하기 위한 개념도이고, 도 3은 도 2의 과정을 통해 생성된 전자지갑 A를 설명하기 위한 개념도이며, 도 4는 도 2의 과정을 통해 생성된 매칭 리스트를 설명하기 위한 개념도이다.2 is a conceptual diagram for explaining the process of generating the electronic wallet A of the cryptocurrency trading method using the cryptocurrency trading system of Figure 1, Figure 3 is a conceptual diagram for explaining the electronic wallet A generated through the process of Figure 2 4 is a conceptual diagram for describing a matching list generated through the process of FIG. 2.

도 2 내지 도 4를 참조하면, 본 실시예에 의한 암호화폐 거래 방법으로, 우선 임의의 사용자 A가 소유하고 있는 사용자 단말기 A가 전자지갑 A을 생성하면서, 상기 전자지갑 A에서 사용되는 개인키 A 및 상기 개인키 A와 대응되는 공개키 A를 생성할 수 있다. 구체적으로 설명하면, 상기 사용자 단말기 A가 상기 노드들(10) 중 어느 하나의 노드와 접속하여, 암호화폐, 예를 들어 비트코인을 보관하기 위한 상기 전자지갑 A를 생성한 후, 상기 전자지갑 A에서 사용되는 상기 개인키 A를 생성하고, 상기 개인키 A와 대응되는 상기 공개키 A를 생성할 수 있다.2 to 4, in the cryptocurrency transaction method according to the present embodiment, first, the user terminal A owned by any user A creates the electronic wallet A, and the private key A used in the electronic wallet A And a public key A corresponding to the private key A. Specifically, the user terminal A accesses any one of the nodes 10 to generate the electronic wallet A for storing cryptocurrency, for example, bitcoin, and then the electronic wallet A The private key A used in may be generated, and the public key A corresponding to the private key A may be generated.

이어서, 상기 사용자 단말기 A가 상기 관리 노드(16)으로 상기 공개키 A를 전송시킬 수 있다. 즉, 상기 관리 노드(16)가 상기 사용자 단말기 A로부터 상기 공개키 A를 제공받을 수 있다. 이때, 상기 사용자 단말기 A가 상기 관리 노드(16)에 직접 접속하여 상기 공개키 A를 전송시킬 수도 있지만, 도 2와 같이 적어도 하나의 노드를 통해 상기 공개키 A를 상기 관리 노드(16)로 전송시킬 수도 있다.Subsequently, the user terminal A may transmit the public key A to the management node 16. That is, the management node 16 may receive the public key A from the user terminal A. At this time, although the user terminal A may directly connect to the management node 16 and transmit the public key A, as shown in FIG. 2, the public key A is transmitted to the management node 16 through at least one node. You can also

이어서, 상기 관리 노드가 상기 공개키 A를 이용하여 상기 전자지갑 A를 식별하기 위한 식별자 A를 생성하고, 상기 식별자 A와 대응되고 상기 전자지갑 A와의 거래를 위한 외부로 노출되는 주소 A를 생성한 후, 상기 식별자 A 및 상기 주소 A를 매칭시켜 매칭 리스트에 저장시킬 수 있다. 본 실시예에서, 상기 식별자 A는 상기 공개키 A의 해쉬값을 포함하고, 동일한 공개키를 가지는 전자지갑을 식별하기 위한 시퀀스 번호를 더 포함할 수도 있다. 즉, 상기 매칭 리스트에 포함되어 있는 공개키에 상기 공개키 A와 동일한 공개키가 존재하지 않을 경우, 상기 공개키 A의 해쉬값만으로 또는 상기 공개키 A의 해쉬값 및 시퀀스 번호 1번으로 상기 식별자 A를 설정할 수 있다. 반면, 상기 매칭 리스트에 포함되어 있는 공개키에 상기 공개키 A와 동일한 공개키가 N개 존재할 경우, 상기 공개키 A의 해쉬값 및 시퀀스 번호 N+1 번으로 상기 식별자 A를 설정할 수 있다. 그 결과, 상기 식별자 A는 상기 전자지갑 A를 식별하기 위한 고유 ID가 될 수 있다.Subsequently, the management node generates an identifier A for identifying the electronic wallet A using the public key A, and generates an address A corresponding to the identifier A and exposed externally for transactions with the electronic wallet A. Thereafter, the identifier A and the address A can be matched and stored in a matching list. In the present embodiment, the identifier A includes a hash value of the public key A, and may further include a sequence number for identifying an electronic wallet having the same public key. That is, if the public key included in the matching list does not have the same public key as the public key A, only the hash value of the public key A or the hash value of the public key A and the identifier of sequence number 1 A can be set. On the other hand, if there are N public keys identical to the public key A in the public key included in the matching list, the identifier A can be set by the hash value of the public key A and the sequence number N+1. As a result, the identifier A can be a unique ID for identifying the electronic wallet A.

한편, 위와 같은 전자지갑의 생성 과정이 다른 사용자가 소유하고 있는 사용자 단말기(20)에서도 동일하게 수행될 수 있다.On the other hand, the process of generating the electronic wallet as described above can be performed in the same manner in the user terminal 20 owned by another user.

예를 들어, 사용자 B가 소유하고 있는 사용자 단말기 B가 전자지갑 B를 생성하면서, 상기 전자지갑 B에서 사용되는 개인키 B 및 상기 개인키 B와 대응되는 공개키 B를 생성할 수 있다. 이어서, 상기 관리 노드(16)가 상기 사용자 단말기 B로부터 상기 공개키 B를 제공받고, 상기 공개키 B를 이용하여 상기 전자지갑 B를 식별하기 위한 식별자 B를 생성하며, 상기 식별자 B와 대응되고 상기 전자지갑 B와의 거래를 위한 외부로 노출되는 주소 B를 생성한 후, 상기 식별자 B 및 상기 주소 B를 매칭시켜 상기 매칭 리스트에 저장시킬 수 있다.For example, while the user terminal B owned by the user B generates the electronic wallet B, the private key B used in the electronic wallet B and the public key B corresponding to the private key B may be generated. Subsequently, the management node 16 receives the public key B from the user terminal B, generates an identifier B for identifying the electronic wallet B using the public key B, corresponds to the identifier B, and After generating the externally exposed address B for the transaction with the electronic wallet B, the identifier B and the address B can be matched and stored in the matching list.

이와 같이 복수의 사용자 단말기들(20)이 자신의 전자지갑을 각각 생성할 경우, 상기 관리 노드(16)는 도 4와 같이 복수의 식별자들 및 복수의 주소들이 일대일로 매칭되어 있는 상기 매칭 리스트를 저장하고 있을 수 있다. 여기서, 상기 주소들은 외부의 다른 사용자 단말기들에게 공개되어 있을 수 있다.As described above, when the plurality of user terminals 20 respectively generate their own electronic wallets, the management node 16 uses the matching list in which a plurality of identifiers and a plurality of addresses are matched one to one as shown in FIG. 4. It may be saving. Here, the addresses may be open to other external user terminals.

도 5는 도 1의 암호화폐 거래 시스템을 이용한 암호화폐 거래 방법 중 블록 A를 전파하는 과정을 설명하기 위한 개념도이고, 도 6은 도 5의 과정에서 생성된 거래 A의 일 예를 설명하기 위한 개념도이며, 도 7은 도 5의 과정에서 생성된 블록 A의 일 예를 설명하기 위한 개념도이다.5 is a conceptual diagram illustrating a process of propagating block A among cryptocurrency trading methods using the cryptocurrency trading system of FIG. 1, and FIG. 6 is a conceptual diagram illustrating an example of transaction A generated in the process of FIG. 7 is a conceptual diagram illustrating an example of a block A generated in the process of FIG. 5.

도 5, 도 6 및 도 7을 참조하면, 상기 사용자 단말기 A가 상기 주소 B를 이용하여 상기 전자지갑 A에 보관된 암호화폐의 적어도 일부를 상기 전자지갑 B로 송금하기 위한 거래 A를 생성한 후, 복수의 노드들 중 임의의 노드 A, 예를 들어 위임 노드 D1으로 전송할 수 있다.5, 6, and 7, after the user terminal A generates the transaction A for remitting at least a part of the cryptocurrency stored in the electronic wallet A to the electronic wallet B using the address B , It can be transmitted to any node A of the plurality of nodes, for example, the delegation node D1.

구체적으로 설명하면, 우선 상기 사용자 단말기 A가 상기 전자지갑 B와 거래를 위해 노출된 상기 주소 B를 이용하여 상기 거래 A를 생성할 수 있다. 이때, 상기 사용자 A는 상기 사용자 B로부터 상기 주소 B를 제공받아 인지하고 있거나, 상기 관리 노드(16)에 저장되어 있는 상기 매칭 리스트를 통해 상기 주소 B를 검색하여 인지할 수도 있다. 한편, 상기 거래 A는 예를 들어 상기 전자지갑 A에 보관되어 있는 암호화폐 10,000을 상기 전자지갑 B로 송금하는 거래일 수 있다.Specifically, first, the user terminal A may generate the transaction A using the address B exposed for the transaction with the electronic wallet B. At this time, the user A may be recognized by receiving the address B from the user B, or may search and recognize the address B through the matching list stored in the management node 16. Meanwhile, the transaction A may be, for example, a transaction for remitting 10,000 cryptocurrencies stored in the electronic wallet A to the electronic wallet B.

이어서, 상기 사용자 단말기 A가 상기 거래 A를 상기 위임 노드 D1으로 전송할 수 있다. 이때, 상기 사용자 단말기 A가 상기 위임 노드 D1에 직접 접속하여, 상기 거래 A를 상기 위임 노드 D1로 전송할 수도 있지만, 도 5에서와 같이, 상기 사용자 단말기 A가 상기 거래 A를 상기 일반 노드들(14) 중 어느 하나의 노드, 예를 들어 일반 노드 G1으로 전송하면, 상기 일반 노드 G1이 상기 거래 A를 상기 위임 노드 D1으로 다시 전송할 수 있다. 즉, 상기 일반 노드 G1은 상기 거래 A를 이용하여 블록을 생성할 능력 또는 기능을 갖고 있지 않기 때문에, 상기 위임 노드 D1에 블록 생성을 위임할 수 있다.Subsequently, the user terminal A may transmit the transaction A to the delegating node D1. At this time, although the user terminal A may directly connect to the delegation node D1 and transmit the transaction A to the delegation node D1, as shown in FIG. 5, the user terminal A sends the transaction A to the general nodes 14 ) To any one node, for example, to the normal node G1, the normal node G1 may transmit the transaction A back to the delegating node D1. That is, since the general node G1 does not have the ability or function to generate a block using the transaction A, it is possible to delegate the block generation to the delegating node D1.

이어서, 상기 위임 노드 D1이 상기 거래 A를 이용하여 블록 A를 생성할 수 있다. 이때, 상기 블록 A는 상기 거래 A를 포함할 뿐만 아니라 그 외 다른 거래에 대한 정보도 포함할 수도 있다.Subsequently, the delegation node D1 may generate block A using the transaction A. At this time, the block A may include the transaction A as well as information about other transactions.

도 7에서와 같이, 상기 블록 A는 블록 헤더 및 블록 바디를 포함할 수 있다. 상기 블록 헤더는 해당 블록을 대표할 수 있는 해당 블록 대푯값과, 해당 블록이 바로 이전에 생성된 이전 블록을 대표할 수 있는 이전 블록 대푯값을 포함할 수 있다. 예를 들어, 상기 해당 블록 대푯값은 해시 함수(hash function)을 통해 생성된 해당 블록 해시값일 수 있고, 상기 이전 블록 대푯값은 해시 함수(hash function)을 통해 생성된 이전 블록 해시값일 수 있다. 상기 블록 바디는 상기 거래 A를 포함할 수 있다.As shown in FIG. 7, the block A may include a block header and a block body. The block header may include a corresponding block representative value that can represent the corresponding block, and a previous block representative value that can represent the previous block in which the corresponding block was immediately generated. For example, the corresponding block representative value may be a corresponding block hash value generated through a hash function, and the previous block representative value may be a previous block hash value generated through a hash function. The block body may include the transaction A.

이어서, 상기 위임 노드 D1이 상기 블록 A의 검증을 위해 상기 블록 A를 자신을 포함하여 상기 위임 노드들(12)로 전송할 수 있다.Subsequently, the delegation node D1 may transmit the block A to the delegation nodes 12 including itself for verification of the block A.

이어서, 상기 위임 노드들(12) 각각은 전송받은 상기 블록 A에 대한 검증을 수행하여 검증 결과를 생성한 후, 상기 검증 결과를 상기 위임 노드 D1로 피드백(feedback)할 수 있다. 이때, 상기 검증 결과는 상기 블록 A가 제대로 된 블록임을 알리는 '통과', 및 상기 블록 A가 제대로 된 블록이 아님을 알리는 '실패' 중 어느 하나일 수 있다.Subsequently, each of the delegation nodes 12 may perform verification on the received block A to generate a verification result, and then feed back the verification result to the delegation node D1. In this case, the verification result may be one of'pass' indicating that the block A is the correct block and'failure' indicating that the block A is not the correct block.

구체적으로 예를 들면, 상기 위임 노드들(12) 각각이 내부 메모리에 저장되어 있는 자체 거래 장부를 이용하여 상기 블록 A을 검증하여 상기 검증 결과를 생성한 후, 생성된 상기 검증 결과를 상기 위임 노드 D1에 피드백할 수 있다. 이때, 상기 위임 노드들(12) 각각이 상기 블록 A에 포함된 상기 거래 A가 자체 거래 장부에 저장되어 있는 정보에 부합하는지, 예를 들어 자체 거래 장부에서 저장되어 있는 상기 전자지갑 A의 보유 암호화폐량이 상기 거래 A가 이루어질 수 있는 양인지 등을 검증하여 상기 검증 결과를 생성한 후, 상기 검증 결과를 상기 위임 노드 D1에 피드백할 수 있다.Specifically, for example, after each of the delegation nodes 12 verifies the block A using its own transaction book stored in the internal memory to generate the verification result, the verification result is generated by the delegation node Feedback to D1. At this time, each of the delegation nodes 12, whether the transaction A included in the block A matches the information stored in its own transaction book, for example, the cryptocurrency held in the electronic wallet A stored in its transaction book After verifying whether the amount of money is the amount in which transaction A can be made, and then generating the verification result, the verification result may be fed back to the delegation node D1.

도 8은 도 1의 암호화폐 거래 시스템을 이용한 암호화폐 거래 방법 중 블록 A를 저장하는 과정을 설명하기 위한 개념도이고, 도 9는 도 8의 과정에서 생성된 신규 블록 체인의 일 예를 도시한 개념도이며, 도 10은 도 8의 과정에서 갱신된 전자지갑들의 일 예를 도시한 개념도이다.8 is a conceptual diagram illustrating a process of storing block A among cryptocurrency trading methods using the cryptocurrency trading system of FIG. 1, and FIG. 9 is a conceptual diagram illustrating an example of a new blockchain generated in the process of FIG. 10 is a conceptual diagram showing an example of electronic wallets updated in the process of FIG. 8.

도 8, 도 9 및 도 10을 참조하면, 상기 위임 노드 D1이 상기 검증 결과들을 이용하여 상기 블록 A의 검증 통과 여부를 결정하고, 결정 결과가 검증 통과인 경우 상기 블록 A를 상기 노드들(10), 즉 상기 위임 노드들(12) 및 상기 일반 노드들(14)로 전파시킬 수 있다.8, 9 and 10, the delegation node D1 determines whether or not the verification of the block A is passed using the verification results, and when the determination result is verification, the block A is transferred to the nodes 10 ), that is, it can propagate to the delegation nodes 12 and the general nodes 14.

본 실시예에서, 상기 위임 노드 D1이 상기 위임 노드들(12)로부터 피드백된 상기 검증 결과들 중 '통과'인 검증 결과가 기준치 이상인 경우, 상기 블록 A에 대해 검증 통과라고 결정하고, 이렇게 검증 통과된 상기 블록 A을 상기 정보 저장 노드들(10)로 전송할 수 있다. 이때, 상기 기준치는 상기 위임 노드들 전체 개수의 1/2일 수 있다.In this embodiment, if the delegation node D1 is a verification result that is'passing' among the verification results fed back from the delegation nodes 12 or more than a reference value, it is determined that the block A passes the verification, and the verification passes The block A can be transmitted to the information storage nodes 10. In this case, the reference value may be 1/2 of the total number of the delegate nodes.

이어서, 상기 노드들(10) 각각이 상기 위임 노드 D1로부터 전송받은 상기 블록 A을 저장하면서, 상기 거래 A를 이용하여 자체 거래 장부에 기록되어 있는 정보를 갱신할 수 있다.Subsequently, each of the nodes 10 may store the block A received from the delegating node D1, and update the information recorded in its own transaction book using the transaction A.

구체적으로 설명하면, 상기 노드들(10) 각각이 기 저장되어 있는 이전 블록 체인에 상기 블록 A를 연결시켜 신규 블록 체인을 생성한 후 저장할 수 있다. 그 결과, 상기 노드들(10) 모두는 상기 신규 블록 체인을 저장하고 있을 수 있다.Specifically, each of the nodes 10 may be connected to the previous block chain in which the previously stored block A is connected, and then a new block chain may be generated and stored. As a result, all of the nodes 10 may be storing the new blockchain.

또한, 상기 노드들(10) 각각이 상기 거래 A를 이용하여 자체 거래 장부에 저장되어 있는 정보를 갱신할 수 있다. 그 결과, 상기 노드들 각각이 상기 전자지갑 A 및 상기 전자지갑 B 각각에 보관중인 암호화폐의 양을 갱신할 수 있다. 예를 들어, 상기 전자지갑 A에 보관중인 암호화폐의 양이 10,000 만큼 감소하고, 상기 전자지갑 B에 보관중인 암호화폐의 양이 10,000 만큼 증가할 수 있다.In addition, each of the nodes 10 may update the information stored in its own transaction book by using the transaction A. As a result, each of the nodes can update the amount of cryptocurrency stored in each of the electronic wallet A and the electronic wallet B. For example, the amount of cryptocurrency stored in the electronic wallet A may be reduced by 10,000, and the amount of cryptocurrency stored in the electronic wallet B may be increased by 10,000.

이와 같이 본 실시예에 따르면, 상기 관리 노드(16)가 전자지갑의 공개키를 통해 생성된 식별자를 생성한 후 이와 대응되는 주소를 별도로 생성함에 따라, 상기 공개키의 모니터링을 통해 상기 전자지갑에서의 거래 내역이 외부로 노출되어 외부 해킹에 의해 공격받는 것을 방지할 수 있다. 그 결과, 상기 전자지갑에 보관중인 암호화폐가 보다 안전하게 보호될 수 있다.As described above, according to the present embodiment, as the management node 16 generates an identifier generated through the public key of the electronic wallet and then separately generates an address corresponding to the identifier, in the electronic wallet through monitoring of the public key. The transaction history of is exposed to the outside and can be prevented from being attacked by external hacking. As a result, the cryptocurrency stored in the electronic wallet can be more safely protected.

또한, 상기 관리 노드(16)가 상기 식별자 및 상기 주소를 매칭시켜 상기 매칭 리스트에 저장하고 있음에 따라, 상기 개인키를 분실하더라도 상기 전자지갑에게 고유로 부여된 상기 식별자를 이용하여 상기 전자지갑에 대한 암호화폐 통제권을 수행할 수 있다.In addition, as the management node 16 matches the identifier and the address and stores it in the matching list, even if the private key is lost, the electronic wallet is used to use the identifier uniquely assigned to the electronic wallet. You can exercise control over cryptocurrencies.

앞서 설명한 본 발명의 상세한 설명에서는 본 발명의 바람직한 실시예들을 참조하여 설명하였지만, 해당 기술분야의 숙련된 당업자 또는 해당 기술분야에 통상의 지식을 갖는 자라면 후술될 특허청구범위에 기재된 본 발명의 사상 및 기술 영역으로부터 벗어나지 않는 범위 내에서 본 발명을 다양하게 수정 및 변경시킬 수 있음을 이해할 수 있을 것이다.In the detailed description of the present invention described above, it has been described with reference to preferred embodiments of the present invention, but those skilled in the art or those skilled in the art will appreciate the spirit of the present invention as set forth in the claims below. And it will be understood that various modifications and changes can be made to the present invention without departing from the technical scope.

10 : 노드 12 : 위임 노드
14 : 일반 노드 16 : 관리 노드
20 : 사용자 단말기
10: node 12: delegate node
14: normal node 16: managed node
20: user terminal

Claims (10)

사용자 단말기가 복수의 노드들 중 어느 하나의 노드에 접속하여 전자지갑 A을 생성하면서, 상기 전자지갑 A에서 사용되는 개인키 A 및 상기 개인키 A와 대응되는 공개키 A를 생성하는 단계;
상기 노드들 중 어느 하나의 노드이거나 상기 노드들과 별도로 존재하는 노드인 관리 노드가 상기 사용자 단말기로부터 상기 공개키 A를 제공받는 단계;
상기 관리 노드가 상기 공개키 A를 이용하여 상기 전자지갑 A를 식별하기 위한 식별자 A를 생성하는 단계;
상기 관리 노드가 상기 식별자 A와 대응되고 상기 전자지갑 A와의 거래를 위한 외부로 노출되는 주소 A를 생성하는 단계; 및
상기 관리 노드가 상기 식별자 A 및 상기 주소 A를 매칭시켜 매칭 리스트에 저장시키는 단계를 포함하는 전자지갑 생성 방법.
Generating a private key A used in the electronic wallet A and a public key A corresponding to the private key A while the user terminal accesses any one of the plurality of nodes to generate an electronic wallet A;
Receiving a public key A from the user terminal by a management node, which is any one of the nodes or a node existing separately from the nodes;
Generating, by the management node, an identifier A for identifying the electronic wallet A using the public key A;
Generating, by the management node, the address A corresponding to the identifier A and exposed to the outside for the transaction with the electronic wallet A; And
And the management node matching the identifier A and the address A and storing them in a matching list.
제1항에 있어서,
상기 관리 노드가 상기 사용자 단말기로부터 상기 공개키 A를 제공받는 단계에서는,
상기 관리 노드가 상기 사용자 단말기로부터 상기 공개키 A를 제공받은 노드로부터 상기 공개키 A를 제공받는 것을 특징으로 하는 전자지갑 생성 방법.
According to claim 1,
In the step where the management node receives the public key A from the user terminal,
The method for generating an electronic wallet, wherein the management node receives the public key A from a node that receives the public key A from the user terminal.
제1항에 있어서,
상기 식별자 A는
상기 공개키 A의 해쉬값을 포함하는 것을 특징으로 하는 전자지갑 생성 방법.
According to claim 1,
The identifier A is
A method of generating an electronic wallet, comprising the hash value of the public key A.
제3항에 있어서,
상기 식별자 A는
동일한 공개키를 가지는 전자지갑을 식별하기 위한 시퀀스 번호를 더 포함하는 것을 특징으로 하는 전자지갑 생성 방법.
According to claim 3,
The identifier A is
A method for generating an electronic wallet, further comprising a sequence number for identifying an electronic wallet having the same public key.
사용자 단말기 A가 복수의 노드들 중 어느 하나의 노드에 접속하여 전자지갑 A을 생성하면서, 상기 전자지갑 A에서 사용되는 개인키 A 및 상기 개인키 A와 대응되는 공개키 A를 생성하는 단계;
상기 노드들 중 어느 하나의 노드이거나 상기 노드들과 별도로 존재하는 노드인 관리 노드가 상기 사용자 단말기 A로부터 상기 공개키 A를 제공받고, 상기 공개키 A를 이용하여 상기 전자지갑 A를 식별하기 위한 식별자 A를 생성하며, 상기 식별자 A와 대응되고 상기 전자지갑 A와의 거래를 위한 외부로 노출되는 주소 A를 생성한 후, 상기 식별자 A 및 상기 주소 A를 매칭시켜 매칭 리스트에 저장시키는 단계;
사용자 단말기 B가 상기 노드들 중 어느 하나의 노드에 접속하여 전자지갑 B를 생성하면서, 상기 전자지갑 B에서 사용되는 개인키 B 및 상기 개인키 B와 대응되는 공개키 B를 생성하는 단계;
상기 관리 노드가 상기 사용자 단말기 B로부터 상기 공개키 B를 제공받고, 상기 공개키 B를 이용하여 상기 전자지갑 B를 식별하기 위한 식별자 B를 생성하며, 상기 식별자 B와 대응되고 상기 전자지갑 B와의 거래를 위한 외부로 노출되는 주소 B를 생성한 후, 상기 식별자 B 및 상기 주소 B를 매칭시켜 상기 매칭 리스트에 저장시키는 단계;
상기 사용자 단말기 A가 상기 주소 B를 이용하여 상기 전자지갑 A에 보관된 암호화폐의 적어도 일부를 상기 전자지갑 B로 송금하기 위한 거래 A를 생성한 후 상기 노드들 중 임의의 노드 A로 전송하는 단계;
상기 노드 A가 상기 거래 A를 포함하는 블록 A를 생성한 후 상기 노드들로 전파하는 단계; 및
상기 노드들 각각이 상기 블록 A를 저장하면서, 상기 거래 A를 이용하여 자체 거래 장부에 기록되어 있는 정보를 갱신하는 단계를 포함하는 암호화폐 거래 방법.
Generating a private key A used in the electronic wallet A and a public key A corresponding to the private key A while the user terminal A accesses any one of the plurality of nodes to generate an electronic wallet A;
An identifier for identifying the electronic wallet A by using the public key A, and receiving the public key A from the user terminal A by a management node, which is any one of the nodes or a node existing separately from the nodes. Generating A, generating an address A exposed to the outside corresponding for the transaction with the electronic wallet A, and matching the identifier A and the address A and storing it in the matching list;
Generating a private key B used in the electronic wallet B and a public key B corresponding to the private key B while the user terminal B accesses any one of the nodes to generate an electronic wallet B;
The management node receives the public key B from the user terminal B, generates an identifier B for identifying the electronic wallet B using the public key B, corresponds to the identifier B, and deals with the electronic wallet B Generating an address B that is exposed to the outside, and matching the identifier B and the address B to store in the matching list;
The user terminal A creating a transaction A for remitting at least a part of the cryptocurrency stored in the electronic wallet A to the electronic wallet B using the address B, and then transmitting it to any node A of the nodes ;
The node A generating block A containing the transaction A and propagating it to the nodes; And
And each of the nodes storing the block A, and updating the information recorded in its own transaction book using the transaction A.
제5항에 있어서,
상기 노드들은
상기 노드 A를 포함하고, 각각이 자체 거래 장부를 저장하고 있으며, 공유를 위한 블록을 생성하여 전파시킬 수 있는 블록 생성 기능과, 전송받은 블록을 검증한 후 피드백할 수 있는 블록 검증 기능을 수행하는 복수의 위임 노드들; 및
각각이 자체 거래 장부를 저장하고 있는 복수의 일반 노드들을 포함하는 것을 특징으로 하는 암호화폐 거래 방법.
The method of claim 5,
The nodes are
It includes the node A, each of which stores its own transaction book, and generates a block for sharing and propagates a block, and performs a block verification function for verifying and sending back the received block. A plurality of delegating nodes; And
Cryptocurrency trading method comprising a plurality of general nodes, each of which stores its own transaction book.
제6항에 있어서,
상기 노드 A가 상기 블록 A를 생성한 후 상기 노드들로 전파하는 단계는
상기 노드 A가 상기 블록 A를 생성한 후 상기 위임 노드들로 전송하는 단계;
상기 위임 노드들 각각이 상기 블록 A에 대한 검증을 수행한 후, 검증 결과를 상기 노드 A로 피드백(feedback)하는 단계; 및
상기 노드 A가 상기 검증 결과들을 이용하여 상기 블록 A의 검증 통과 여부를 결정하고, 결정 결과가 검증 통과인 경우 상기 블록 A를 상기 위임 노드들 및 상기 일반 노드들로 전송하는 단계를 포함하는 것을 특징으로 하는 암호화폐 거래 방법.
The method of claim 6,
After the node A generates the block A, the step of propagating to the nodes is
The node A generating the block A and transmitting it to the delegating nodes;
After each of the delegating nodes performs verification on the block A, feeding back the verification result to the node A; And
And the node A using the verification results to determine whether or not the block A has passed verification, and transmitting the block A to the delegation nodes and the general nodes when the determination result is verification verification. Cryptocurrency trading method.
제6항에 있어서,
상기 사용자 단말기 A가 상기 거래 A를 생성한 후 상기 노드 A로 전송하는 단계는
상기 사용자 단말기 A가 상기 거래 A를 생성하는 단계;
상기 사용자 단말기 A가 상기 거래 A를 상기 일반 노드들 중 임의의 일반 노드 G1로 전송하는 단계; 및
상기 일반 노드 G1이 상기 거래 A를 상기 노드 A로 전송하는 단계를 포함하는 것을 특징으로 하는 암호화폐 거래 방법.
The method of claim 6,
After the user terminal A generates the transaction A and transmits it to the node A,
The user terminal A generating the transaction A;
The user terminal A transmitting the transaction A to any general node G1 among the general nodes; And
The general node G1 comprises the step of transmitting the transaction A to the node A cryptocurrency transaction method.
제5항에 있어서,
상기 노드들 각각이 상기 블록 A를 저장하면서 자체 거래 장부에 기록되어 있는 정보를 갱신하는 단계는
상기 노드들 각각이 기 저장되어 있는 이전 블록 체인에 상기 블록 A를 연결시켜 신규 블록 체인을 생성한 후 저장하는 단계; 및
상기 노드들 각각이 상기 거래 A를 이용하여 자체 거래 장부에 저장되어 있는 정보를 갱신하는 단계를 포함하는 것을 특징으로 하는 암호화폐 거래 방법.
The method of claim 5,
The step of updating the information recorded in its own transaction book while each of the nodes stores the block A is
Creating a new blockchain by connecting the block A to the previous blockchain where each of the nodes is pre-stored, and storing the new blockchain; And
And each of the nodes using the transaction A to update the information stored in its own transaction book.
제9항에 있어서,
상기 노드들 각각이 상기 거래 A를 이용하여 자체 거래 장부에 저장되어 있는 정보를 갱신하는 단계에서는,
상기 노드들 각각이 상기 거래 A를 이용하여 자체 거래 장부에 저장되어 있는 정보를 갱신하면서, 상기 전자지갑 A 및 상기 전자지갑 B 각각에 보관중인 암호화폐의 양을 갱신하는 것을 특징으로 하는 암호화폐 거래 방법.
The method of claim 9,
In the step of each of the nodes to update the information stored in its own transaction book using the transaction A,
Cryptocurrency trading characterized in that each of the nodes updates the amount of cryptocurrency stored in each of the electronic wallet A and the electronic wallet B while updating the information stored in its own transaction book using the transaction A Way.
KR1020190004746A 2019-01-14 2019-01-14 Method for generating electronic wallet and cryptocurrency transaction method using the method KR102131548B1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020190004746A KR102131548B1 (en) 2019-01-14 2019-01-14 Method for generating electronic wallet and cryptocurrency transaction method using the method

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020190004746A KR102131548B1 (en) 2019-01-14 2019-01-14 Method for generating electronic wallet and cryptocurrency transaction method using the method

Publications (1)

Publication Number Publication Date
KR102131548B1 true KR102131548B1 (en) 2020-07-07

Family

ID=71602699

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020190004746A KR102131548B1 (en) 2019-01-14 2019-01-14 Method for generating electronic wallet and cryptocurrency transaction method using the method

Country Status (1)

Country Link
KR (1) KR102131548B1 (en)

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20180010467A (en) * 2016-07-21 2018-01-31 주식회사 케이티 Method for managing virtual currency and apparatus therefor
KR101904208B1 (en) * 2018-04-24 2018-10-04 (주)에스씨씨 Block chain based cryptocurrency and electronic wallet management system
KR20180113145A (en) * 2017-04-05 2018-10-15 삼성에스디에스 주식회사 Method for processing blockchain based real-time transaction and system thereof

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20180010467A (en) * 2016-07-21 2018-01-31 주식회사 케이티 Method for managing virtual currency and apparatus therefor
KR20180113145A (en) * 2017-04-05 2018-10-15 삼성에스디에스 주식회사 Method for processing blockchain based real-time transaction and system thereof
KR101904208B1 (en) * 2018-04-24 2018-10-04 (주)에스씨씨 Block chain based cryptocurrency and electronic wallet management system

Similar Documents

Publication Publication Date Title
JP7364724B2 (en) Operating system for blockchain IoT devices
JP6841911B2 (en) Information protection systems and methods
US11165576B2 (en) System and method for creating decentralized identifiers
US20220156737A1 (en) Tokenisation method and system for implementing exchanges on a blockchain
JP7128111B2 (en) Systems and methods for controlling asset-related activities via blockchain
KR102416506B1 (en) Implementation of logic gate function using blockchain
JP6511201B1 (en) Registry and Automated Management Method for Sophisticated Trading Enforced by Blockchain
JP6756041B2 (en) Information protection systems and methods
KR101986081B1 (en) Method for sharing and verifing a block between specific nodes in a blockchain
CN112381646A (en) Privacy transaction based on block chain and application method and device thereof
JPWO2017170997A1 (en) Hierarchical network system, node and program used therefor
CN109314637A (en) Method and system for efficient transfer of payroll-associated cryptocurrency over blockchains
TW202016819A (en) Block-chain transaction method and device and electronic device
US20230088625A1 (en) Operation method of blockchain remittance service system, and electronic wallet for remittance
US20190260715A1 (en) Computer system, connection apparatus, and processing method using transaction
Harshavardhan et al. Blockchain technology in cloud computing to overcome security vulnerabilities
JP2021016143A (en) System for managing assets
CN115136543A (en) Authentication service for use in blockchain networks
JP7146093B2 (en) How to share and verify blocks and electronic documents between nodes on blockchain
WO2021010030A1 (en) System for managing assets
CN115136560A (en) Hierarchical network
CN115136542A (en) Intelligent contract
KR102131548B1 (en) Method for generating electronic wallet and cryptocurrency transaction method using the method
GB2587202A (en) Allocation of a digital asset using blockchain transactions
CN116405319A (en) Block chain-based carbon financial credential sharing method, device, equipment and medium

Legal Events

Date Code Title Description
E902 Notification of reason for refusal
E701 Decision to grant or registration of patent right
GRNT Written decision to grant