KR102060466B1 - 위임지분증명 합의 알고리즘을 포함하는 가상화폐 거래 방법 - Google Patents
위임지분증명 합의 알고리즘을 포함하는 가상화폐 거래 방법 Download PDFInfo
- Publication number
- KR102060466B1 KR102060466B1 KR1020190020678A KR20190020678A KR102060466B1 KR 102060466 B1 KR102060466 B1 KR 102060466B1 KR 1020190020678 A KR1020190020678 A KR 1020190020678A KR 20190020678 A KR20190020678 A KR 20190020678A KR 102060466 B1 KR102060466 B1 KR 102060466B1
- Authority
- KR
- South Korea
- Prior art keywords
- node
- candidate
- cryptocurrency
- nodes
- representative
- Prior art date
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
- G06Q20/00—Payment architectures, schemes or protocols
- G06Q20/04—Payment circuits
- G06Q20/06—Private payment circuits, e.g. involving electronic currency used among participants of a common payment scheme
- G06Q20/065—Private payment circuits, e.g. involving electronic currency used among participants of a common payment scheme using e-cash
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
- G06Q20/00—Payment architectures, schemes or protocols
- G06Q20/30—Payment architectures, schemes or protocols characterised by the use of specific devices or networks
- G06Q20/36—Payment architectures, schemes or protocols characterised by the use of specific devices or networks using electronic wallets or electronic money safes
- G06Q20/367—Payment architectures, schemes or protocols characterised by the use of specific devices or networks using electronic wallets or electronic money safes involving electronic purses or money safes
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
- G06Q20/00—Payment architectures, schemes or protocols
- G06Q20/38—Payment protocols; Details thereof
- G06Q20/40—Authorisation, 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/401—Transaction verification
Landscapes
- Business, Economics & Management (AREA)
- Accounting & Taxation (AREA)
- Engineering & Computer Science (AREA)
- Finance (AREA)
- Strategic Management (AREA)
- Physics & Mathematics (AREA)
- General Business, Economics & Management (AREA)
- General Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Computer Networks & Wireless Communication (AREA)
- Financial Or Insurance-Related Operations Such As Payment And Settlement (AREA)
Abstract
본 발명에 따른 위임지분증명 합의 알고리즘을 포함하는 가상화폐 거래 방법은 가상화폐 거래에 참여하는 노드가 가상화폐의 거래를 증명하는 블록을 생성할 수 있는 후보자노드가 될지 여부를 선택하는 예비 단계; 일정주기마다 노드의 성능정보로부터 노드가 블록을 생성하는 작업을 수행할 수 있는 능력에 대한 신뢰지표를 수치화 한 후, 신뢰지표가 기설정된 임계신뢰지표보다 큰 경우에만 노드가 후보자노드로 승인되는 승인 단계; 노드가 후보자노드 중에서 블록을 생성할 대표자노드를 선정하기 위해 전체 가상화폐에 대한 노드가 보유한 가상화폐의 지분에 비례하여 투표하는 투표 단계; 및 노드가 대표자노드에 의해 생성된 블록을 검증하는 검증 단계;를 포함하며, 성능정보는 노드의 네트워크 연결 환경에 관한 정보를 포함하며, 신뢰지표는 네트워크 연결 환경의 응답성과 관련한 수치를 포함한다.
Description
본 발명은 위임지분증명 합의 알고리즘을 포함하는 가상화폐 거래 방법에 관한 것으로, 보다 구체적으로는 노드가 가상화폐의 거래를 증명하는 블록을 생성할 수 있는 후보자노드가 될지 여부를 선택한 경우, 일정주기마다 노드의 성능정보로부터 노드가 블록을 생성하는 작업을 수행할 수 있는 능력에 대한 신뢰지표를 수치화하여, 신뢰지표가 기설정된 임계신뢰지표보다 큰 경우에만 노드가 후보자노드로 승인된 후, 승인된 후보자노드 중에서 블록을 생성할 대표자노드를 선정하기 위해 노드들이 지분에 비례하여 투표를 실시하는 위임지분증명 합의 알고리즘을 포함하는 가상화폐 거래 방법에 관한 것이다.
블록체인은 분산형 가상화폐 거래 시스템에 참여하는 노드들 사이에 이루어지는 가상화폐의 거래를 지속적으로 기록하는 거래장부의 기능을 수행한다. 은행과 같은 중앙 집중화된 기관이나 서버가 가상화폐를 관리한다면 거래장부가 일괄적으로 작성되겠지만, 탈중앙화를 지향하는 블록체인의 경우에는 노드들로 이루어진 시스템 내에서 각 노드들에 의해 거래장부가 생성, 검증 및 기록되고 있다. 이에 노드들은 가상화폐의 거래가 이루어질 때마다 그 거래내용을 암호화하여 블록을 생성하고, 생성된 블록의 유효성을 각 노드가 검증하며, 노드들의 과반수가 새롭게 생성된 블록이 유효하다고 검증한 경우, 새롭게 생성된 블록을 블록체인에 결합하여 거래장부를 최신화한다. 이처럼 블록체인을 이용하는 가상화폐 거래 시스템은 모든 거래 내역이 네트워크를 통해 각 노드에 전파되고, 해당 거래 내역은 블록으로 암호화되며, 생성된 새로운 블록은 다시 블록체인에 결합하는 작업이 끊임없이 진행된다.
그러나 각 노드가 참여 주체로 이루어지는 이와 같은 분산형 또는 P2P 형식의 네트워크에서는 정보의 지연, 미도달 및 조작 사태를 피할 수 없다. 이런 경우, 설령 데이터를 변조할 의도가 없다 해도 이중송신에 따른 이중지불 문제가 발생할 수 있다. 또한, 가상화폐 거래 시스템에 참여하는 51% 이상, 즉 과반수 이상의 노드가 동시에 거래내역을 조작할 경우, 잘못된 정보에 의한 시스템 전체의 오작동 등의 위험이 있다. 이처럼 각 노드 간 전달되는 정보의 지연, 미도달 또는 조작으로 인한 문제가 발생할 수 있으므로, 가상화폐 거래 시스템은 생성된 블록의 정당성을 검토하고, 새롭게 생성된 블록을 블록체인에 연결하기 전에 네트워크에 참여하는 노드들의 합의를 얻는 과정에 대한 합의 알고리즘을 필요로 한다.
종래의 합의 알고리즘 방식으로는 작업증명(PoW, Proof of Work) 방식과 지분증명(PoS, Proof of Stake) 방식이 있다. 작업증명 방식은 블록체인에서 보편적으로 사용 중인 합의 알고리즘으로, 뛰어난 컴퓨터 성능을 가진 노드가 해시(hash)값의 역함수를 해시화 하여 작업증명의 해답(nonce 값)을 계산해내는 고난이도 컴퓨팅 문제를 해결하고, 노드들이 이를 검증하는 것으로 합의를 도출한다. 한편, 지분증명 방식은 가상화폐 총량에 대하여 노드가 보유한 가상화폐의 지분에 비례하여 블록을 생성하고, 노드들이 이를 검증하는 것으로 합의를 도출한다.
그러나 작업증명 방식은 블록을 생성하기 위해서 고성능의 컴퓨터를 장시간 작동시켜 해시값을 찾아내야 하며, 그 결과 불필요한 에너지 소비가 증가하는 문제가 있다. 한편, 지분증명은 소위 “아무 것도 수행하지 않는 문제(Nothing at Stake)”가 발생할 수 있다. 이 문제는, 이중송신 등의 이유로 블록체인이 분기(fork)된 경우, 노드들은 양쪽 블록체인에서 자신의 지분에 따라 블록을 생성하는 작업을 계속하여 진행할 수 있기 때문에 굳이 블록체인이 분기된 문제를 수습하지 않는 현상이다.
작업증명과 지분증명의 상기 문제를 해결하기 위해 제안된 것이 지분증명 방식의 변형으로서 위임지분증명(DPoS, Delegated Proof of Stake)방식이다. 위임지분증명 방식은 노드들이 지분에 비례한 투표권을 행사하여 자신들의 대표자노드를 선정해서, 대표자노드에 의해 합의를 도출하여 의사결정을 하는 합의 방식이다. 즉, 위임지분증명 방식은 노드들의 지분에 비례한 투표로 선정된 대표자노드에 의해 블록이 생성되며, 노드들은 대표자노드가 생성한 블록이 규칙을 준수 하는지를 확인하여 합의를 도출한다. 이와 같은 위임지분증명 방식은 해시값의 역함수를 구하는 과정이 없어 작업증명에 비해 빠른 속도 및 전력 절감 효과를 보이며, 대표자노드가 분기(fork) 등의 오작동 현상이 일어났을 때 이를 대처함에 있어 태만한 경우, 노드들에 의해 그 직위가 박탈될 수 있기 때문에, 지분증명의 “Nothing at stake” 문제를 해결할 대안이 될 수 있다.
한편, 위임지분증명 합의 알고리즘 방식에서 대표자노드가 되고자 하는 후보자노드 중에서 대표자노드를 투표함에 있어, 각 노드는 후보자노드들의 명성, 보유한 가상화폐의 양, 광고 등을 바탕으로 후보자노드를 평가하여 지분에 비례한 투표를 실시할 수 있을 것이다. 그러나 가상화폐 분산 네트워크에서 영향력을 행사하고 있어, 다른 노드들로부터 투표를 얻기 용이한 후보자노드라고 하더라도, 네트워크 연결 환경이 일시적으로 불안정해지거나 하드웨어 상에 고장 문제가 발생할 수 있다. 이러한 상황에 직면한 후보자노드가 여전히 대표자노드로 선정된다면, 가상화폐 거래 시스템의 전체적인 작업 처리 속도가 느려질 수 밖에 없다. 또한, 다른 노드에 비해 유의미하게 우수한 하드웨어 성능을 보유했으나, 아직 명성이나 홍보를 활발하게 하지 못한 신생 후보자노드가 있을 수 있다. 이러한 후보자노드가 대표자노드로 선정될 수 있는 기회가 최대한 많아져야 가상화폐 거래 시스템의 작업 처리 속도가 향상될 수 있을 것이다.
이처럼 후보자노드의 네트워크 연결 환경이나 하드웨어 사양에 대한 검증 없이 노드들이 단순히 후보자노드의 명성이나 홍보 등에 의존하여 대표자노드를 선정한다면, 가상화폐 거래 시스템의 전체적인 작업 처리 속도는 발전을 보일 수 없으며, 심지어 퇴화할 우려가 있다. 특히 가상화폐 분산 네트워크의 규모가 커짐에도 불구하고 대표자노드의 작업 처리 능력이 사전에 안정적으로 보장되지 않는다면, 위임지분증명 방식이 작업증명 방식에 비해 가지는 장점인 작업 처리 속도가 무색해지게 되는 문제를 피할 수 없다. 따라서, 위임지분증명 합의 알고리즘을 채택하고 있는 가상화폐 거래 시스템은, 대표자노드의 안정되고도 향상된 작업 처리 속도를 보장할 수 있는 방법이 요구되고 있다.
상기 과제를 해결하기 위한 본 발명의 실시예에 따른 위임지분증명 합의 알고리즘을 포함하는 가상화폐 거래 방법은, 가상화폐 거래에 참여하는 노드가 가상화폐의 거래를 증명하는 블록을 생성할 수 있는 후보자노드가 될지 여부를 선택하는 예비 단계; 일정주기마다 상기 노드의 성능정보로부터 상기 노드가 상기 블록을 생성하는 작업을 수행할 수 있는 능력에 대한 신뢰지표를 수치화 한 후, 상기 신뢰지표가 기설정된 임계신뢰지표보다 큰 경우에만 상기 노드가 후보자노드로 승인되는 승인 단계; 상기 노드가 상기 후보자노드 중에서 상기 블록을 생성할 대표자노드를 선정하기 위해 전체 가상화폐에 대한 상기 노드가 보유한 가상화폐의 지분에 비례하여 투표하는 투표 단계; 및 상기 노드가 상기 대표자노드에 의해 생성된 상기 블록을 검증하는 검증 단계; 를 포함하며, 상기 성능정보는 상기 노드의 네트워크 연결 환경에 관한 정보를 포함하며, 상기 신뢰지표는 상기 네트워크 연결 환경의 응답성과 관련한 수치를 포함할 수 있다.
또한, 상기 성능정보는 상기 노드의 하드웨어 사양에 관한 정보를 포함하며, 상기 신뢰지표는 상기 하드웨어 사양의 가용성과 관련한 수치를 포함할 수 있다.
또한, 상기 성능정보는 상기 노드가 시스템방정식 문제에 대해 주어진 시간 내에 측정 가능한 출력상태로부터 시스템을 구성하고 있는 상태변수를 발견할 수 있는지 여부인 가관측성에 관한 정보를 포함하며, 상기 신뢰지표는 상기 가관측성과 관련한 수치를 포함할 수 있다.
또한, 상기 성능정보는 상기 노드가 상기 시스템방정식 문제에 대해 특정 초기상태를 주어진 시간 내에 원하는 최종상태로 변환시킬 수 있는지 여부인 가제어성에 관한 정보를 포함하며, 상기 신뢰지표는 상기 가제어성과 관련한 수치를 포함할 수 있다.
또한, 상기 임계신뢰지표는 시간에 따라 상승하는 것을 특징으로 포함할 수 있다.
또한, 상기 일정주기는 일정한 가상화폐 거래 회수마다 인 것을 특징으로 포함할 수 있다.
또한, 상기 일정주기는 일정한 시간 간격마다 인 것을 특징으로 포함할 수 있다.
또한, 상기 승인 단계 이전에, 상기 일정주기마다 상기 노드가 상기 후보자노드인지 여부를 판별하여, 상기 노드가 상기 후보자노드라고 판별된 경우, 상기 노드의 상기 신뢰지표가 기설정된 하한신뢰지표 이하인 경우 상기 후보자노드의 지위를 해지하는 해지 단계;가 이루어지며, 상기 승인 단계는 기승인된 후보자노드를 제외한 노드에 대하여 수행되는 것을 포함할 수 있다.
또한, 상기 승인 단계 이전에, 상기 일정주기마다 상기 노드가 상기 후보자노드인지 여부를 판별하여, 상기 노드가 상기 후보자노드라고 판별된 경우, 상기 노드의 상기 신뢰지표가 감소했는지 여부를 확인하여, 상기 신뢰지표가 감소한 경우 상기 상기 후보자노드의 지위를 해지하는 해지 단계;가 이루어지며, 상기 승인 단계는 기승인된 후보자노드를 제외한 노드에 대하여 수행되는 것을 포함할 수 있다.
또한, 상기 투표 단계에서 상기 후보자노드가 상기 노드로부터 얻은 득표율, 상기 후보자노드의 하드웨어 성능에 따른 자본율, 및 상기 후보자노드의 네트워크 안정성에 대한 유지율에 각각 가중치를 부여한 지분율(Stake Rate)을 통해 상기 후보자노드로부터 상기 대표자노드를 선정하는 것을 특징으로 포함할 수 있다.
또한, 상기 검증 단계 이후, 상기 대표자노드가 생성한 블록이 유효하다고 검증됐을 경우 상기 대표자노드에게 가상화폐 거래 검증에 대한 커미션을 지급하는 보상 단계;를 포함하며, 상기 커미션의 비율은 상기 대표자노드의 상기 신뢰지표 및 상기 지분율의 합산에 의해 결정하는 것을 포함할 수 있다.
한편, 상기 과제를 해결하기 위한 본 발명의 실시예에 따른 위임지분증명 합의 알고리즘을 포함하는 가상화폐 거래 방법은 컴퓨터로 읽을 수 있는 기록매체에 컴퓨터가 읽을 수 있는 코드로서 구현할 수 있다.
본 발명의 실시예에 따른 위임지분증명 합의 알고리즘을 포함하는 가상화폐 거래 방법에 의하면, 대표자노드로 선정되기 위한 후보자노드가 되고자 하는 노드는 자신의 네트워크 연결 환경의 응답성, 하드웨어 사양의 가용성, 가관측성 및 가제어성과 관련한 수치를 신뢰지표에 포함시키고, 신뢰지표가 기설정된 임계신뢰지표보다 큰 경우에만 노드가 후보자노드로 승인될 수 있다. 이를 통해, 작업 처리 성능이 우수한 노드만 후보자노드가 될 수 있으며, 이들 후보자노드 중에서 위임지분증명 합의 알고리즘을 통해 대표자노드가 선정될 것이므로, 대표자노드의 빠른 작업 처리 속도가 보장될 수 있다.
또한, 일반적으로 네트워크 성능 및 하드웨어 성능은 시간에 따라 증가하는 경향을 보이므로, 임계신뢰지표도 시간에 따라 증가하는 값이 되도록 설정함으로써, 네트워크 성능 및 하드웨어 성능의 발전에 대응하여 항상 최신의 성능을 가진 노드가 후보자노드가 되도록 선별할 수 있다.
또한, 기승인된 후보자노드를 제외한 노드에 대하여 성능정보로부터 신뢰지표를 수치화한 후 신뢰지표가 임계신뢰지표보다 큰 경우에만 후보자노드로 승인하는 단계가 수행되도록 함으로써, 네트워크 성능 및 하드웨어 성능이 보장된 기존 후보자노드는 유지하면서 새로운 노드들을 후보자노드로 추가 선발할 수 있으므로, 안정적이면서 작업 처리 속도가 빠른 가상화폐 거래 시스템을 구성할 수 있다.
또한, 득표율에 더해 자본율 및 유지율을 고려하여 지분율을 산정함으로써, 대표자노드가 되고자 하는 노드를 사용하는 사용자가 네트워크 연결 환경 및 하드웨어의 사양에 투자하도록 유도할 수 있으며, 이를 통해 보다 빠른 작업 처리 능력을 가지는 노드만이 대표자노드가 되도록 구성할 수 있다.
또한, 대표자노드는 하드웨어 및 네트워크 성능이 우수할수록 많은 커미션을 지급받을 것이므로, 대표자노드가 되고자 하는 노드의 사용자는 네트워크 연결 환경 및 하드웨어의 사양이 좋아지도록 투자할 것이다. 이를 통해 보다 빠른 작업 처리 능력을 가지는 노드만이 대표자노드가 되도록 유도할 수 있다.
이상을 통해, 제3자의 개입 없이 신뢰를 만드는 효율적인 알고리즘을 구성하여, 빠른 합의 속도의 근본적 해결을 이루면서도, 가상화폐의 탈중앙화 철학을 관철할 수 있을 것이다.
한편, 본 발명의 효과는 이상에서 언급한 것으로 제한되지 않으며, 언급되지 않은 또 다른 효과들은 아래의 기재로부터 본 발명이 속하는 기술 분야의 통상의 지식을 가진 자에게 명확히 이해될 수 있을 것이다.
도 1은 본 발명의 실시예에 따른 가상화폐 거래 시스템을 설명하는 개념도이다.
도 2은 본 발명의 실시예에 따른 위임지분증명 합의 알고리즘을 포함하는 가상화폐 거래 방법을 나타낸 흐름도이다.
도 3은 본 발명의 실시예에 따른 네트워크 성능 및 하드웨어 성능에 따른 임계신뢰지표의 변화추이를 나타낸 그래프이다.
도 4 내지 6은 본 발명의 실시예에 따른 주기 별 노드 위상 변화에 대한 설명도이다.
도 7는 본 발명의 실시예에 따른 가상화폐 거래 방법에 따른 단계 별 노드 위상 변화에 대한 설명도이다.
도 2은 본 발명의 실시예에 따른 위임지분증명 합의 알고리즘을 포함하는 가상화폐 거래 방법을 나타낸 흐름도이다.
도 3은 본 발명의 실시예에 따른 네트워크 성능 및 하드웨어 성능에 따른 임계신뢰지표의 변화추이를 나타낸 그래프이다.
도 4 내지 6은 본 발명의 실시예에 따른 주기 별 노드 위상 변화에 대한 설명도이다.
도 7는 본 발명의 실시예에 따른 가상화폐 거래 방법에 따른 단계 별 노드 위상 변화에 대한 설명도이다.
본 발명의 목적, 효과, 및 기술적 구성들은 첨부되는 도면과 함께 후술의 실시예들을 참조하면 명확해질 것이다. 본 발명을 설명함에 있어서 공지 기능 또는 구성에 대한 구체적인 설명이 본 발명의 요지를 불필요하게 흐릴 수 있다고 판단되는 경우에는 그 상세한 설명을 생략할 것이다. 그리고 후술되는 용어들은 본 발명에서의 기증을 고려하여 정의된 용어들로서 이는 사용자, 운용자의 의도 또는 관례 등에 따라 달라질 수 있다.
본 명세서에서 한 부분이 다른 부분과 "연결"되어 있다고 할 때, 이는 두 부분이 직접적으로 연결되어 있는 경우뿐 아니라 그 중간에 다른 전자소자를 두고 전기적으로 연결되어 있는 경우나 통신수단을 통해 연결되어 있는 경우 등도 포함한다. 또한 어떤 부분이 어떤 구성요소를 "포함"한다고 할 때, 이는 특별히 반대되는 기재가 없는 한 다른 구성요소를 제외하는 것이 아니라 다른 구성요소를 더 포함할 수 있는 것을 의미하며, 하나 또는 그 이상의 다른 특징이나 숫자, 단계, 동작, 구성요소, 부분품 또는 이들을 조합한 것들의 존재 또는 부가 가능성을 미리 배제하지 않는 것으로 이해 되어야 한다.
이하에서는 본 발명의 실시예에 따른 위임지분증명 합의 알고리즘을 포함하는 가상화폐 거래 방법에 대하여 첨부한 도면을 참고하여 구체적으로 설명하기로 한다.
도 1은 본 발명의 실시예에 따른 가상화폐 거래 시스템을 설명하는 개념도이다. 도면을 참조하면, 본 발명의 실시예에 따른 가상화폐 시스템은 가상화폐 거래에 참여하는 노드(N) 및 시스템에 참여하는 각 노드를 연결하는 분산 네트워크(100)로 구성된다.
여기서 노드(N)는 하드웨어 및 소프트웨어의 조합으로 이루어진 가상화폐의 거래 수행이 가능하도록 구성된 단위를 의미한다. 구체적으로, 노드(N)는 가상화폐 거래 기능을 수행할 수 있는 입출력 장치 등을 구비한 컴퓨터로, 가상화폐 거래를 위한 전용서버, 범용서버, 데스크톱 PC, 랩톱 PC, Mac, 스마트 폰, 스마트 패드, 태블릿 PC 등과 같은 모든 종류의 유무선 통신이 가능한 장치 또는 이들의 집합으로 이루어진 그룹일 수 있다.
또한, 노드(N)는 가상화폐의 송금, 수금 및 보유 기능, 가상화폐의 거래를 증명하는 블록을 생성 또는 채굴(마이닝, mining)하는 기능, 생성된 블록의 유효성 검증, 검증된 블록을 블록체인에 결합하는 작업 및 블록체인 거래장부를 저장하는 기능 등 일반적인 가상화폐 거래 및 유지에 필요한 모든 종류의 소프트웨어 및 하드웨어적 기능을 가질 수 있다. 즉, 노드(N)는 가상화폐 거래와 관련한 일반적인 기능 및 본 발명의 위임지분증명 알고리즘을 포함하는 가상화폐 거래 방법을 수행할 수 있는 구성이라면 그 형태나 집합성에는 제한을 두지 않는다.
네트워크(100)는, 복수의 단말 및 서버들과 같은 각각의 노드(N) 상호 간에 정보 교환이 가능하도록 연결하는 연결 구조를 의미하는 것으로, 이러한 네트워크(100)는 직간접 통신을 수행하는 기능을 가질 수 있으면 어느 것도 가능하다. 가령, 이동통신망, 3G, LTE, 5G, 블루투스 통신, NFC 네트워크, 인터넷, 전용선, 인트라넷 등을 포함할 수 있으며, 이들의 조합으로 이루어진 통신망일 수도 있다. 한편, 네트워크(100)는 각 노드(N)를 연결할 뿐만 아니라, 각 노드(N)가 외부의 서버, 가령 가상화폐의 거래를 관리하는 별도의 서버 등과 데이터를 송수신할 수 있도록 구성될 수 있다.
다음으로, 도 2는 본 발명의 실시예에 따른 위임지분증명 합의 알고리즘을 포함하는 가상화폐 거래 방법을 나타낸 흐름도이다. 도면을 참고하면, 우선 노드(N)는 가상화폐의 거래를 증명하는 블록을 생성할 수 있는 후보자노드가 될지 여부를 선택하는 단계(S110)를 가질 수 있다. 예를 들어, 이 단계(S110)에서 노드(N)는 모니터, 터치스크린, 스피커 등의 출력 장치를 통해 문자, 유저 인터페이스 (UI), 소리 등의 형태로 노드(N)의 사용자에게 현재 노드가 가상화폐의 거래를 증명하는 블록을 생성할 수 있는 후보자노드가 되도록 설정하겠냐고 묻도록 구성될 수 있다. 노드(N)의 사용자가 키보드나 마우스의 입력, 터치스크린의 터치, 마이크를 통한 음성 등의 형태로 노드(N)를 후보자노드가 되도록 설정하겠다는 입력신호를 가하면, 노드(N)는 노드 상호 간을 연결하고 있는 네트워크(100)에 가상화폐의 거래를 증명하는 블록을 생성할 수 있는 후보자노드가 되고자 한다는 요청신호를 송신할 수 있다.
이어서, 일정주기마다 노드(N)의 성능정보로부터 노드(N)가 블록을 생성하는 작업을 얼마만큼 우수하게 수행할 수 있는가에 대한 신뢰지표(Peer Reliability Rate, PRR)를 수치화하는 단계(S120)를 가질 수 있다. 신뢰지표를 수치화하는 단계(S120)는 이전 단계(S110)에서 후보자노드가 되겠다고 선택한 노드에 대해서만 이루어질 수도 있고, 네트워크(100)에 연결된 모든 노드(N)에 대해서 이루어질 수도 있다. 성능정보는 노드(N)가 보유한 소프트웨어 또는 소프트웨어와 하드웨어의 조합을 통해 도출될 수 있다. 신뢰지표는 노드(N)가 보유한 소프트웨어 프로그램 등을 통해 수치화 작업이 이루어질 수 있다. 또는, 노드(N)가 네트워크(100)를 통해 자신의 성능정보를 송신하면, 다른 노드(N)가 이를 수신하여, 소프트웨어 프로그램 등을 통해 수치화 작업이 이루어질 수 있다. 또는, 노드(N)가 네트워크(100)를 통해 자신의 성능정보를 가상화폐의 거래를 관리하는 별도의 서버에 송신하면, 해당 서버에서 성능정보를 바탕으로 신뢰지표에 대한 수치화 작업이 이루어질 수 있다.
여기서 성능정보란 노드(N)의 네트워크 연결 환경에 관한 정보를 포함할 수 있다. 구체적으로, 노드(N)가 유선을 통해 네트워크(100)에 접속했는지 또는 무선을 통해 네트워크(100)에 접속했는지 여부, 무선을 통해 접속했다면 그 종류 (WiFi, 3G, LTE 등), 인터넷 속도, 인터넷 서비스 제공사업자에 대한 정보 등을 포함할 수 있다.
이 경우, 신뢰지표는 네트워크의 연결 환경의 응답성과 관련한 수치를 포함할 수 있다. 구체적으로, 유선을 통해 네트워크(100)에 접속했을 경우 무선을 통해 네트워크(100)에 접속한 경우보다 더 높은 수치를 부여할 수 있다. 또한, 무선을 통해 네트워크(100)에 접속했다면, Wifi를 이용했을 경우 LTE나 3G보다 높은 수치를 부여할 수 있다. 또한, MBps(megabytes per second)나 Mbps(Megabits per second)로 표현되는 노드(N)의 인터넷 속도를 스케일화하여 수치 값으로 사용할 수 있다. 또한, 인터넷 서비스 제공사업자의 시장점유율 등의 지표를 참고하여 수치 값에 반영할 수 있다. 이처럼 후보자노드가 되고자 하는 노드의 네트워크의 연결 환경의 응답성과 관련한 수치를 신뢰지표에 포함시킴으로써, 네트워크 연결 환경이 우수한 노드(N)만 후보자노드로 포함시킬 수 있게 되며, 우수한 네트워크 연결 환경을 가진 후보자노드 중에서 위임지분증명 합의 알고리즘을 통해 대표자노드가 선정될 것이므로, 대표자노드의 빠른 작업 처리, 가령 빠른 블록 생성 속도 등이 보장될 수 있다.
나아가, 성능정보란 노드(N)의 하드웨어 사양에 관한 정보를 포함할 수 있다. 구체적으로, 노드(N)의 CPU 종류 및 성능, GPU의 개수, 종류 및 성능, RAM의 크기, 클럭 속도에 대한 정보 등을 포함할 수 있다.
이 경우, 신뢰지표는 하드웨어 사양의 가용성과 관련한 수치를 포함할 수 있다. 구체적으로, CPU의 기종이 최신 기종이고, 더 많은 코어 수를 가지고 있을 경우 더 높은 수치를 부여할 수 있다. 또한, GPU의 개수가 많을수록, 기종이 최신 기종일수록, 기타 GPU의 성능을 표시하는 값이 높을수록 높은 수치를 부여할 수 있다. 또한, 노드(N)의 클럭 수나 RAM의 크기를 스케일화한 값을 수치 값에 반영할 수 있다. 이처럼 후보자노드가 되고자 하는 노드의 하드웨어 사양의 가용성과 관련한 수치를 신뢰지표에 포함시킴으로써, 하드웨어 사양이 우수한 노드(N)만 후보자노드로 포함시킬 수 있게 되며, 우수한 하드웨어 사양을 가진 후보자노드 중에서 위임지분증명 합의 알고리즘을 통해 대표자노드가 선정될 것이므로, 대표자노드의 빠른 작업 처리가 보장될 수 있다.
나아가, 성능정보란 노드(N)가 시스템방정식 문제에 대해 주어진 시간 내에 측정 가능한 출력상태로부터 시스템을 구성하고 있는 상태변수를 발견할 수 있는지 여부인 가관측성에 관한 정보를 포함할 수 있다. 구체적으로, 노드(N)는 내장된 소프트웨어, 다른 노드(N), 또는 가상화폐의 거래를 관리하는 별도의 서버로부터 시스템방정식 문제를 제공받을 수 있고, 이 문제를 주어진 시간 동안 연산하는 작업을 수행할 수 있다.
이 경우, 신뢰지표는 가관측성과 관련한 수치를 포함할 수 있다. 구체적으로, 노드(N)가 주어진 시간 동안 시스템방정식 문제를 해결했다면 특정 수치만큼의 가점을 부여할 수 있다. 또한, 노드(N)가 시스템방정식 문제를 해결한 경우, 전체 주어진 시간에서 남는 시간만큼의 값을 스케일화한 값을 수치 값으로 사용할 수 있다. 이처럼 후보자노드가 되고자 하는 노드의 가관측성과 관련한 수치를 신뢰지표에 포함시킴으로써, 작업 처리 성능이 우수한 노드(N)만 후보자노드로 포함시킬 수 있게 되며, 이들 후보자노드 중에서 위임지분증명 합의 알고리즘을 통해 대표자노드가 선정될 것이므로, 대표자노드의 빠른 작업 처리가 보장될 수 있다.
또한, 성능정보란 노드(N)가 시스템방정식 문제에 대해 특정 초기상태를 주어진 시간 내에 원하는 최종상태로 변환시킬 수 있는지 여부인 가제어성에 관한 정보를 포함할 수 있다. 구체적으로, 노드(N)는 내장된 소프트웨어, 다른 노드(N), 또는 가상화폐의 거래를 관리하는 별도의 서버로부터 시스템방정식 문제를 제공받을 수 있고, 이 문제를 주어진 시간 동안 연산하는 작업을 수행할 수 있다.
이 경우, 신뢰지표는 가제어성과 관련한 수치를 포함할 수 있다. 구체적으로, 노드(N)가 주어진 시간 동안 시스템방정식 문제를 해결했다면 특정 수치만큼의 가점을 부여할 수 있다. 또한, 노드(N)가 시스템방정식 문제를 해결한 경우, 전체 주어진 시간에서 남는 시간만큼의 값을 스케일화한 값을 수치 값으로 사용할 수 있다. 이처럼 후보자노드가 되고자 하는 노드의 가제어성과 관련한 수치를 신뢰지표에 포함시킴으로써, 작업 처리 성능이 우수한 노드(N)만 후보자노드로 포함시킬 수 있게 되며, 이들 후보자노드 중에서 위임지분증명 합의 알고리즘을 통해 대표자노드가 선정될 것이므로, 대표자노드의 빠른 작업 처리가 보장될 수 있다.
또한, 성능정보는 상기에 언급된 성능정보들의 조합으로 이루어진 정보를 포함할 수 있으며, 이 경우 신뢰지표는 상기에 언급된 수치들의 조합으로 구성된 수치를 포함할 수 있다. 이와 같이 후보자노드가 되고자 하는 노드의 네트워크 연결 환경의 응답성, 하드웨어 사양의 가용성, 가관측성 및 가제어성과 관련한 수치를 신뢰지표에 포함시킴으로써, 작업 처리 성능이 우수한 노드(N)만 후보자노드로 포함시킬 수 있게 되며, 이들 후보자노드 중에서 위임지분증명 합의 알고리즘을 통해 대표자노드가 선정될 것이므로, 대표자노드의 빠른 작업 처리가 보장될 수 있다.
이어서, 성능정보로부터 도출한 신뢰지표가 기설정된 임계신뢰지표보다 큰 경우에만 노드를 후보자노드로 승인하는 단계(S130)가 수행될 수 있다. 임계신뢰지표는 노드(N)에 내장된 소프트웨어, 다른 노드(N)간의 합의, 또는 가상화폐의 거래를 관리하는 별도의 서버로부터 기설정정되거나 업데이트 될 수 있다. 한편, 일반적으로 네크워크 성능 및 하드웨어 성능은 시간에 지남에 따라 발전하므로, 임계신뢰지표 또한 이를 반영하여 시간에 따라 값이 증가하도록 설정될 수 있다.
구체적으로, 도 3은 본 발명의 실시예에 따른 네트워크 성능 및 하드웨어 성능에 따른 임계신뢰지표의 변화추이를 나타낸 그래프이다. 도 3처럼 시간에 따라 증가하는 일반적인 네트워크 성능 및 하드웨어 성능에 대하여(t1, t2), 임계신뢰지표도 시간에 따라 증가하는 값(PRRth1, PRRth2)이 되도록 설정할 수 있다. 이를 통해 네트워크 성능 및 하드웨어 성능의 발전을 대응하여 항상 최신의 성능을 가진 노드(N)가 후보자노드가 되도록 선별할 수 있다. 이를 통해 후보자노드 중에서 위임지분증명 합의 알고리즘을 통해 선정될 대표자노드의 작업 처리 속도, 가령 블록 생성 속도 등이 보장될 수 있다.
한편, 성능정보로부터 신뢰지표를 수치화하는 단계(S120) 및 신뢰지표가 임계신뢰지표보다 큰 경우에만 노드(N)를 후보자노드로 승인하는 단계(S130)는 일정주기 단위로 이루어질 수 있다. 여기서 일정주기는 특정 가상화폐 거래횟수 마다 위 단계들(S120, S130)이 이루어지는 것일 수 있다. 또는, 일정주기는 특정 시간(5분, 10분, 1시간 등) 마다 위 단계들(S120, S130)이 이루어지는 것일 수 있다. 이처럼 네트워크(100)의 안정성 및 전체 가상화폐 거래 시스템에 참여하는 노드의 수 등을 고려하여 주기의 산정 방식이 설정될 수 있으며, 이를 통해 안정적이면서 작업 처리 속도가 빠른 가상화폐 거래 시스템을 구성할 수 있다.
한편, 각 주기마다 성능정보로부터 신뢰지표를 수치화하는 단계(S120) 및 신뢰지표가 임계신뢰지표보다 큰 경우에만 노드(N)를 후보자노드로 승인하는 단계(S130)가 이루어지는 모습은 모습은 도 4와 같을 수 있다. 먼저, 가상화폐 거래 시스템에 참여하고 있는 노드 중에서, 후보자노드가 되겠다고 선택한 노드(N01-N09)가 있을 수 있다. 노드의 개수는 설명의 편의를 위한 예시일 뿐이며, 가상화폐 거래 시스템에 참여하는 노드가 반드시 아홉 개라거나, 후보자노드가 될 수 있는 노드의 개수가 최대 아홉 개로 한정된다는 의미는 아니다.
현재 주기(T1)에서 이들 노드(N01-N09)에 대하여, 성능정보로부터 신뢰지표를 수치화하는 단계(S120) 및 신뢰지표가 임계신뢰지표보다 큰 경우에만 후보자노드로 승인하는 단계(S130)가 이루어질 수 있다. 신뢰지표를 임계신뢰지표와 비교함으로써, 네트워크 연결 환경의 응답성, 하드웨어 사양의 가용성, 가관측성 및 가제어성과 관련한 수치가 높은 노드만 후보자노드(N11, N14, N16, N19)로 승인되도록 할 수 있다. 이들 후보자노드 중에서 위임지분증명 합의 알고리즘을 통해 대표자노드가 선정될 것이므로, 대표자노드의 빠른 작업 처리, 가령 빠른 블록 생성 등이 보장될 수 있다.
이어서, 다음 주기(T2)에도 후보자노드가 되겠다고 선택한 노드(N01-N09) 전부에 대하여, 성능정보로부터 신뢰지표를 수치화하는 단계(S120) 및 신뢰지표가 임계신뢰지표보다 큰 경우에만 후보자노드로 승인하는 단계(S130)가 이루어질 수 있다. 이를 통해 네트워크 연결 환경 등이 불안정해진 노드(N04, N06)를 후보자노드에서 제외하고, 우수한 네트워크 연결 환경으로 새로 접속했거나 하드웨어 사양의 개선을 이룬 노드(N02, N03)가 새로운 후보자노드(N11, N12, N13, N19)로 참여할 수 있게 된다. 이처럼 매 주기마다 후보자노드를 새로이 승인함으로써, 네트워크 연결 환경 및 하드웨어 사양의 변화에 대응하여 네트워크 성능과 하드웨어 성능이 우수한 노드들만 후보자노드로 유지될 수 있도록 할 수 있다.
한편, 일정주기 마다 성능정보로부터 신뢰지표를 수치화하는 단계(S120) 및 신뢰지표가 임계신뢰지표보다 큰 경우에만 후보자노드로 승인하는 단계(S130)가 이루어지는 모습은 도 5와 같을 수 있다. 먼저 현재 주기(T1)에서, 가상화폐 거래 시스템에 참여하고 있는 노드 중에서 후보자노드가 되겠다고 선택한 노드(N01-N09)에 대하여, 성능정보로부터 신뢰지표를 수치화하는 단계(S120) 및 신뢰지표가 임계신뢰지표보다 큰 경우에만 후보자노드로 승인하는 단계(S130)가 이루어질 수 있으며, 이를 통해 후보자노드(N11, N14, N16, N19)를 도출할 수 있다.
그런 후, 다음 주기(T2) 이전에, 노드(N11-19)가 후보자노드(N11, N14, N16, N19)인지 여부를 판별하여, 판별된 후보자노드(N11, N14, N16, N19)들에 대하여 각각의 신뢰지표가 기설정된 하한신뢰지표 이하인 경우, 후보자노드의 지위를 해지(N14, N16)하는 해지 단계(S210)을 거칠 수 있다. 도 5의 경우, 해지 단계(S210)를 통해 네트워크 연결 환경 등이 불안정해져 신뢰지표가 하한신뢰지표 이하로 감소한 노드(N14, N16)를 후보자노드에서 제외하고, 신뢰지표가 하한신뢰지표를 초과하는 노드(N11, N19)는 후보자노드의 지위를 유지시키는 모습을 확인할 수 있다. 한편, 하한신뢰지표는 각 노드에 내장된 소프트웨어, 다른 노드 간의 합의, 또는 가상화폐의 거래를 관리하는 별도의 서버로부터 기설정되거나 업데이트 될 수 있다.
이어서 다음 주기(T2)에서, 후보자노드의 지위를 유지한 노드(N11, N19)는 후보자노드로 유지한 채, 나머지 노드(N02-N08)에 대하여 성능정보로부터 신뢰지표를 수치화하는 단계(S120) 및 신뢰지표가 임계신뢰지표보다 큰 경우에만 후보자노드로 승인하는 단계(S130)가 수행되도록 할 수 있다. 이처럼 기승인된 후보자노드(N11, N19)를 제외한 노드(N02-N08)에 대하여 성능정보로부터 신뢰지표를 수치화하는 단계(S120) 및 신뢰지표가 임계신뢰지표보다 큰 경우에만 후보자노드로 승인하는 단계(S130)가 수행되도록 함으로써, 네트워크 성능 및 하드웨어 성능이 보장된 후보자노드(N11, N19)는 유지하고, 신뢰지표가 하한신뢰지표 이하인 기존 후보자노드(N04, N06)는 신뢰지표가 임계신뢰지표 이상인 노드(N12, N18)로 대체되므로, 이를 통해 보다 안정적이면서 작업 처리 속도가 빠른 가상화폐 거래 시스템을 유지할 수 있다.
한편, 일정주기 마다 성능정보로부터 신뢰지표를 수치화하는 단계(S120) 및 신뢰지표가 임계신뢰지표보다 큰 경우에만 후보자노드로 승인하는 단계(S130)가 이루어지는 모습은 도 6과 같을 수 있다. 먼저 현재 주기(T1)에서, 가상화폐 거래 시스템에 참여하고 있는 노드 중에서 후보자노드가 되겠다고 선택한 노드(N01-N09)에 대하여, 성능정보로부터 신뢰지표를 수치화하는 단계(S120) 및 신뢰지표가 임계신뢰지표보다 큰 경우에만 후보자노드로 승인하는 단계(S130)가 이루어질 수 있으며, 이를 통해 후보자노드(N11, N14, N16, N19)를 도출할 수 있다.
그런 후, 다음 주기(T2) 이전에, 노드(N11-19)가 후보자노드(N11, N14, N16, N19)인지 여부를 판별하여, 판별된 후보자노드(N11, N14, N16, N19)들에 대하여 각각의 신뢰지표가 감소했는지 여부를 확인한 후, 신뢰지표가 감소한 것으로 확인된 후보자노드의 지위를 해지(N14, N16)하는 해지 단계(S220)을 거칠 수 있다. 도 6의 경우, 해지 단계(S210)를 통해 네트워크 연결 환경 등이 불안정해져 신뢰지표가 감소한 노드(N14, N16)를 후보자노드에서 제외하고, 신뢰지표가 상승하거나 변하지 않은 노드(N11, N19)는 후보자노드의 지위를 유지시키는 모습을 확인할 수 있다.
이어서 다음 주기(T2)에서, 후보자노드의 지위를 유지한 노드(N11, N19)는 후보자노드로 유지한 채, 나머지 노드(N02-N08)에 대하여 성능정보로부터 신뢰지표를 수치화하는 단계(S120) 및 신뢰지표가 임계신뢰지표보다 큰 경우에만 후보자노드로 승인하는 단계(S130)가 수행되도록 할 수 있다. 이처럼 기승인된 후보자노드(N11, N19)를 제외한 노드(N02-N08)에 대하여 성능정보로부터 신뢰지표를 수치화하는 단계(S120) 및 신뢰지표가 임계신뢰지표보다 큰 경우에만 후보자노드로 승인하는 단계(S130)가 수행되도록 함으로써, 네트워크 성능 및 하드웨어 성능이 보장된 후보자노드(N11, N19)는 유지하고, 신뢰지표가 감소한 후보자노드(N04, N06)는 다른 노드들과 더불어 네트워크 성능 및 하드웨어 성능에 대한 확인 절차를 다시 거쳐 후보자노드(N12,N14)가 승인되므로, 이를 통해 보다 안정적이면서 작업 처리 속도가 빠른 가상화폐 거래 시스템을 유지할 수 있다.
이어서, 성능정보로부터 신뢰지표를 수치화하는 단계(S120) 및 신뢰지표가 임계신뢰지표보다 큰 경우에만 후보자노드로 승인하는 단계(S130) 이후의 단계는, 위임지분증명 합의 알고리즘 방식을 따를 수 있다. 구체적으로, 전체 가상화폐의 총 양에 대하여 각 노드가 보유한 가상화폐의 지분에 비례한 투표를 실시하여, 승인된 후보자노드 중에서 가상화폐의 거래를 증명하는 블록을 생성할 대표자노드를 선정하는 투표 단계(S140)가 수행될 수 있다.
이때, 대표자노드의 선정은 투표 단계(S140)에서 후보자노드가 노드로부터 얻은 득표율, 후보자노드의 하드웨어 사양에 따른 자본율, 및 상기 후보자노드의 네트워크 안정성에 대한 유지율에 각각 가중치를 부여한 지분율(Stake Rate)이 높을수록 대표자노드로 선정되는 방식으로 이루어질 수 있다. 자본율 및 유지율은 각 노드의 성능정보 및 신뢰지표로부터 도출할 수 있으며, 득표율의 산정 및 지분율의 산정은 노드(N) 단위에서 이루어진 후 네트워크(100)를 서로 다른 노드(N)에 전달될 수도 있고, 가상화폐의 거래를 관리하는 별도의 서버에서 이루어진 후 각 노드(N)에 그 결과가 전달될 수도 있다. 이처럼 득표율에 더해 자본율 및 유지율까지 고려하여 지분율을 산정함으로써, 대표자노드가 되고자 하는 노드(N)를 사용하는 사용자가 네트워크 연결 환경 및 하드웨어의 사양에 투자하도록 유도할 수 있으며, 이를 통해 보다 빠른 작업 처리 능력을 가지는 노드만이 대표자노드가 되도록 구성할 수 있다.
다음으로, 선정된 대표자노드가 가상화폐의 거래를 증명하는 블록을 생성하는 단계(S150)를 거치며, 생성된 블록은 네트워크(100)를 통해 모든 노드에게 전송되어, 각 노드(N)는 대표자노드에 의해 생성된 블록의 유효성을 검증하는 단계(S160)가 수행될 수 있다. 노드(N)의 과반수 이상이 블록의 유효성에 합의한 경우, 새롭게 생성된 블록을 블록체인에 결합하여 거래장부를 최신화하는 한편, 블록을 생성한 대표자노드에게 가상화폐의 거래 수수료에 해당하는 커미션을 지급하는 단계(S170)가 이루어질 수 있다.
여기서 대표자노드가 얻게 될 커미션의 비율은 상기 대표자노드의 하드웨어 사양 및 네트워크 연결 환경을 반영하는 신뢰지표 및 지분율의 합산에 의해 결정되도록 할 수 있다. 대표자노드는 하드웨어 및 네트워크 성능이 우수할수록 많은 커미션을 지급받을 것이므로, 대표자노드가 되고자 하는 노드(N)의 사용자는 네트워크 연결 환경 및 하드웨어의 사양이 좋아지도록 투자할 것이다. 이를 통해 보다 빠른 작업 처리 능력을 가지는 노드만이 대표자노드가 되도록 유도할 수 있다.
이와 같은 본 발명의 실시예에 따른 위임지분증명 알고리즘을 포함하는 가상화폐 거래 방법은 도 7을 통해 전체적으로 정리해 볼 수 있다. 도 7는 본 발명의 실시예에 따른 가상화폐 거래 방법을 따를 경우, 노드의 위상이 어떻게 변화하는지를 설명하는 도면이다. 먼저 가상화폐 거래 시스템에 참여하고 있는 노드 중에서, 후보자노드가 되겠다고 선택한 노드(N01-N09)가 있을 수 있다. 노드의 개수는 설명의 편의를 위한 예시일 뿐이며, 가상화폐 거래 시스템에 참여하는 노드가 반드시 아홉 개라거나, 후보자노드가 될 수 있는 노드의 개수가 최대 아홉 개로 한정된다는 의미는 아니다.
이들 노드(N01-N09)에 대하여, 성능정보로부터 신뢰지표를 수치화하는 단계(S120) 및 신뢰지표가 임계신뢰지표보다 큰 경우에만 후보자노드로 승인하는 단계(S130)가 이루어질 수 있다. 신뢰지표를 임계신뢰지표와 비교함으로써, 네트워크 연결 환경의 응답성, 하드웨어 사양의 가용성, 가관측성 및 가제어성과 관련한 수치가 높은 노드만 후보자노드(N11, N14, N16, N19)로 승인되도록 할 수 있다.
이후, 승인된 후보자노드(N11, N14, N16, N19) 중에서 위임지분증명 합의 알고리즘을 통해 하나 또는 그 이상의 대표자노드(N24, N29)를 선정하는 단계(S140)가 이루어질 수 있다. 이후 대표자노드(N24, N29)에 의해 가상화폐의 거래를 증명하는 블록이 생성되며, 노드(N01-09)들은 대표자노드(N24, N29)가 생성한 블록이 규칙을 준수 하는지를 확인하여 합의를 도출한다. 생성된 블록이 유효하다는 과반수 이상의 합의를 얻을 경우, 블록은 블록체인에 결합되며, 대표자노드에게 가상화폐의 거래에 해당하는 수수료인 커미션이 지불될 수 있다.
이처럼 네트워크 성능, 하드웨어 성능 및 작업 처리 능력이 보장된 후보자노드(N11, N14, N16, N19) 중에서 대표자노드를 투표하여 선정하게 되므로, 도 7과 같은 방식에 따라 선정된 대표자노드(N24, N29)는 사전에 네트워크 성능 및 하드웨어 성능을 검증하지 않은 채 위임지분증명 합의 알고리즘에 따라 선정된 대표자노드에 비하여 빠른 작업 처리 속도, 가령 빠른 블록 생성 속도 등이 보장될 수 있다.
한편, 본 발명의 실시예에 따른 위임지분증명 합의 알고리즘을 포함하는 가상화폐 거래 방법은 컴퓨터로 읽을 수 있는 기록매체에 컴퓨터(즉, 하드웨어로서의 노드)가 읽을 수 있는 코드로서 구현하는 것이 가능하다. 컴퓨터가 읽을 수 있는 기록매체는 컴퓨터 시스템에 의하여 읽혀질 수 있는 데이터가 저장되는 모든 종류의 기록장치를 포함한다. 기록매체의 예로는 SSD, ROM, RAM, USB, DVD, CD-ROM, 자기 저장장치, 전자 저장장치, 광데이터 저장장치 등이 있다. 또한 컴퓨터가 읽을 수 있는 기록매체는 네트워크로 연결된 컴퓨터 시스템에 분산되어 분산방식으로 컴퓨터가 읽을 수 있는 코드가 저장되고 실행될 수 있다.
본 명세서와 도면에는 본 발명의 바람직한 실시예에 대하여 개시하였으며, 비록 특정 용어들이 사용되었으나, 이는 단지 본 발명의 기술 내용을 쉽게 설명하고 발명의 이해를 돕기 위한 일반적인 의미에서 사용된 것이지, 본 발명의 범위를 한정하고자 하는 것은 아니다. 여기에 개시된 실시예 외에도 본 발명의 기술적 사상에 바탕을 둔 다른 변형예들이 실시 가능하다는 것은 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자에게 자명한 것이다.
Claims (12)
- 위임지분증명 합의 알고리즘을 포함하는 가상화폐 거래 방법에 있어서,
가상화폐 거래에 참여하는 노드가 가상화폐의 거래를 증명하는 블록을 생성할 수 있는 후보자노드가 될지 여부를 선택하는 예비 단계;
일정주기마다 상기 노드의 성능정보로부터 상기 노드가 상기 블록을 생성하는 작업을 수행할 수 있는 능력에 대한 신뢰지표를 수치화 한 후, 상기 신뢰지표가 기설정된 임계신뢰지표보다 큰 경우에만 상기 노드가 후보자노드로 승인되는 승인 단계;
상기 노드가 상기 후보자노드 중에서 상기 블록을 생성할 대표자노드를 선정하기 위해 전체 가상화폐에 대한 상기 노드가 보유한 가상화폐의 지분에 비례하여 투표하는 투표 단계; 및
상기 노드가 상기 대표자노드에 의해 생성된 상기 블록을 검증하는 검증 단계;
를 포함하며, 상기 성능정보는 상기 노드의 네트워크 연결 환경에 관한 정보를 포함하고, 상기 신뢰지표는 상기 네트워크 연결 환경의 응답성과 관련한 수치를 포함하며,
상기 노드의 네트워크 연결 환경에 관한 정보는 상기 노드가 유선을 통해 네트워크에 접속했는지 또는 무선을 통해 네트워크에 접속했는지 여부, 상기 노드가 무선을 통해 네트워크에 접속했다면 무선 통신 규격의 종류, 상기 노드의 인터넷 속도, 상기 노드가 이용하는 인터넷 서비스 제공사업자에 대한 정보 중 적어도 하나 이상을 포함하는 것을 특징으로 하는 위임지분증명 합의 알고리즘을 포함하는 가상화폐 거래 방법.
- 제 1항에 있어서, 상기 성능정보는 상기 노드의 하드웨어 사양에 관한 정보를 포함하며, 상기 신뢰지표는 상기 하드웨어 사양의 가용성과 관련한 수치를 포함하는 것을 특징으로 하는 위임지분증명 합의 알고리즘을 포함하는 가상화폐 거래 방법.
- 제 2항에 있어서, 상기 성능정보는 상기 노드가 시스템방정식 문제에 대해 주어진 시간 내에 측정 가능한 출력상태로부터 시스템을 구성하고 있는 상태변수를 발견할 수 있는지 여부인 가관측성에 관한 정보를 포함하며, 상기 신뢰지표는 상기 가관측성과 관련한 수치를 포함하는 것을 특징으로 하는 위임지분증명 합의 알고리즘을 포함하는 가상화폐 거래 방법.
- 제 3항에 있어서, 상기 성능정보는 상기 노드가 상기 시스템방정식 문제에 대해 특정 초기상태를 주어진 시간 내에 원하는 최종상태로 변환시킬 수 있는지 여부인 가제어성에 관한 정보를 포함하며, 상기 신뢰지표는 상기 가제어성과 관련한 수치를 포함하는 것을 특징으로 하는 위임지분증명 합의 알고리즘을 포함하는 가상화폐 거래 방법.
- 제 4항에 있어서, 상기 임계신뢰지표는 시간에 따라 상승하는 것을 특징으로 하는 위임지분증명 합의 알고리즘을 포함하는 가상화폐 거래 방법.
- 제 4항에 있어서, 상기 일정주기는 일정한 가상화폐 거래 회수마다 인 것을 특징으로 하는 위임지분증명 합의 알고리즘을 포함하는 가상화폐 거래 방법.
- 제 4항에 있어서, 상기 일정주기는 일정한 시간 간격마다 인 것을 특징으로 하는 위임지분증명 합의 알고리즘을 포함하는 가상화폐 거래 방법.
- 제 4항에 있어서, 상기 승인 단계 이전에,
상기 일정주기마다 상기 노드가 상기 후보자노드인지 여부를 판별하여, 상기 노드가 상기 후보자노드라고 판별된 경우, 상기 노드의 상기 신뢰지표가 기설정된 하한신뢰지표 이하인 경우 상기 후보자노드의 지위를 해지하는 해지 단계;
가 이루어지며, 상기 승인 단계는 기승인된 후보자노드를 제외한 노드에 대하여 수행되는 것을 특징으로 하는 위임지분증명 합의 알고리즘을 포함하는 가상화폐 거래 방법.
- 제 4항에 있어서, 상기 승인 단계 이전에,
상기 일정주기마다 상기 노드가 상기 후보자노드인지 여부를 판별하여, 상기 노드가 상기 후보자노드라고 판별된 경우, 상기 노드의 상기 신뢰지표가 감소했는지 여부를 확인하여, 상기 신뢰지표가 감소한 경우 상기 상기 후보자노드의 지위를 해지하는 해지 단계;
가 이루어지며, 상기 승인 단계는 기승인된 후보자노드를 제외한 노드에 대하여 수행되는 것을 특징으로 하는 위임지분증명 합의 알고리즘을 포함하는 가상화폐 거래 방법.
- 제 4항에 있어서, 상기 투표 단계에서 상기 후보자노드가 상기 노드로부터 얻은 득표율, 상기 후보자노드의 하드웨어 성능에 따른 자본율, 및 상기 후보자노드의 네트워크 안정성에 대한 유지율에 각각 가중치를 부여한 지분율(Stake Rate)을 통해 상기 후보자노드로부터 상기 대표자노드를 선정하는 것을 특징으로 하는 위임지분증명 합의 알고리즘을 포함하는 가상화폐 거래 방법.
- 제 10항에 있어서, 상기 검증 단계 이후,
상기 대표자노드가 생성한 블록이 유효하다고 검증됐을 경우 상기 대표자노드에게 가상화폐 거래 검증에 대한 커미션을 지급하는 보상 단계;
를 포함하며,
상기 커미션의 비율은 상기 대표자노드의 상기 신뢰지표 및 상기 지분율의 합산에 의해 결정하는 것을 특징으로 하는 위임지분증명 합의 알고리즘을 포함하는 가상화폐 거래 방법.
- 가상화폐 거래에 참여하는 노드가 가상화폐의 거래를 증명하는 블록을 생성할 수 있는 후보자노드가 될지 여부를 선택하는 예비 단계;
일정주기마다 상기 노드의 성능정보로부터 상기 노드가 상기 블록을 생성하는 작업을 수행할 수 있는 능력에 대한 신뢰지표를 수치화 한 후, 상기 신뢰지표가 기설정된 임계신뢰지표보다 큰 경우에만 상기 노드가 후보자노드로 승인되는 승인 단계;
상기 노드가 상기 후보자노드 중에서 상기 블록을 생성할 대표자노드를 선정하기 위해 전체 가상화폐에 대한 상기 노드의 지분에 비례하여 투표하는 투표 단계; 및
상기 노드가 상기 대표자노드가 생성한 상기 블록을 검증하는 검증 단계;
를 포함하며, 상기 성능정보는 상기 노드의 네트워크 연결 환경에 관한 정보를 포함하고, 상기 신뢰지표는 상기 네트워크 연결 환경의 응답성과 관련한 수치를 포함하며,
상기 노드의 네트워크 연결 환경에 관한 정보는 상기 노드가 유선을 통해 네트워크에 접속했는지 또는 무선을 통해 네트워크에 접속했는지 여부, 상기 노드가 무선을 통해 네트워크에 접속했다면 무선 통신 규격의 종류, 상기 노드의 인터넷 속도, 상기 노드가 이용하는 인터넷 서비스 제공사업자에 대한 정보 중 적어도 하나 이상을 포함하는 것을 특징으로 하는 위임지분증명 합의 알고리즘을 포함하는 가상화폐 거래 방법을 구현하기 위한 프로그램 명령어가 기록된, 컴퓨터가 판독 가능한 기록매체.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020190020678A KR102060466B1 (ko) | 2019-02-21 | 2019-02-21 | 위임지분증명 합의 알고리즘을 포함하는 가상화폐 거래 방법 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020190020678A KR102060466B1 (ko) | 2019-02-21 | 2019-02-21 | 위임지분증명 합의 알고리즘을 포함하는 가상화폐 거래 방법 |
Publications (1)
Publication Number | Publication Date |
---|---|
KR102060466B1 true KR102060466B1 (ko) | 2019-12-30 |
Family
ID=69103437
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020190020678A KR102060466B1 (ko) | 2019-02-21 | 2019-02-21 | 위임지분증명 합의 알고리즘을 포함하는 가상화폐 거래 방법 |
Country Status (1)
Country | Link |
---|---|
KR (1) | KR102060466B1 (ko) |
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR102253361B1 (ko) * | 2020-06-23 | 2021-05-18 | 주식회사 아이콘루프 | 합의 참여 노드를 결정하는 블록체인 네트워크 시스템 및 방법 |
KR102315417B1 (ko) * | 2021-03-29 | 2021-10-21 | 주식회사 월드그룹 | 암호화폐 개인 마이닝 시스템 |
KR20220060756A (ko) * | 2020-11-05 | 2022-05-12 | (주)부치고 | 법정화폐로부터 피아트 트윈을 발행하고 관리하는 암호화폐 관리 시스템 및 그 방법 |
WO2022215862A1 (ko) * | 2021-04-05 | 2022-10-13 | 주식회사 헤세그 | 블록체인 시스템의 온체인 거버넌스 결정 방법 |
WO2023214594A1 (ko) * | 2022-05-02 | 2023-11-09 | ㈜부치고 | 법정화폐로부터 피아트 트윈을 발행하고 관리하는 암호화폐 관리 시스템 및 그 방법 |
-
2019
- 2019-02-21 KR KR1020190020678A patent/KR102060466B1/ko active IP Right Grant
Non-Patent Citations (3)
Title |
---|
인터넷 게시물(medium.com), ‘블록체인 기본 원리 이해 제3부 위임 지분 증명’, 2018.07.24. 1부.* |
인터넷 게시물(medium.com), ‘인터체인 프로젝트 비교’, 2018.02.02. 1부.* |
인터넷 백서(MoFAS), ‘MoFAS BLOCKCHAIN’, 2018.09. 1부.* |
Cited By (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR102253361B1 (ko) * | 2020-06-23 | 2021-05-18 | 주식회사 아이콘루프 | 합의 참여 노드를 결정하는 블록체인 네트워크 시스템 및 방법 |
KR20220060756A (ko) * | 2020-11-05 | 2022-05-12 | (주)부치고 | 법정화폐로부터 피아트 트윈을 발행하고 관리하는 암호화폐 관리 시스템 및 그 방법 |
KR102478230B1 (ko) * | 2020-11-05 | 2022-12-19 | (주)부치고 | 법정화폐로부터 피아트 트윈을 발행하고 관리하는 암호화폐 관리 시스템 및 그 방법 |
KR102315417B1 (ko) * | 2021-03-29 | 2021-10-21 | 주식회사 월드그룹 | 암호화폐 개인 마이닝 시스템 |
WO2022215862A1 (ko) * | 2021-04-05 | 2022-10-13 | 주식회사 헤세그 | 블록체인 시스템의 온체인 거버넌스 결정 방법 |
WO2023214594A1 (ko) * | 2022-05-02 | 2023-11-09 | ㈜부치고 | 법정화폐로부터 피아트 트윈을 발행하고 관리하는 암호화폐 관리 시스템 및 그 방법 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
KR102060466B1 (ko) | 위임지분증명 합의 알고리즘을 포함하는 가상화폐 거래 방법 | |
US11973858B2 (en) | Method for recording data block in blockchain network, accounting node, and medium | |
JP7512294B2 (ja) | ブロックチェーンネットワークを介した移転を実施するためのコンピュータで実施されるシステムおよび方法 | |
US10055720B2 (en) | Virtual currency system | |
JP6940182B2 (ja) | ブロックチェーン管理装置、ブロックチェーン管理方法及びプログラム | |
CN111034114B (zh) | 具有记录安全性的区块链架构 | |
KR102349401B1 (ko) | 블록체인 기반의 사용자 정의 화폐 거래 시스템 및 그 동작 방법 | |
US20200374113A1 (en) | Decentralized application platform for private key management | |
Papadis et al. | Blockchain-based payment channel networks: Challenges and recent advances | |
JP2021193612A (ja) | エネルギ資源ネットワーク | |
US10776761B2 (en) | Virtual currency system | |
JP2023134800A (ja) | 分散協調を用いるスマートコントラクトの実行 | |
JP5260567B2 (ja) | クラウドコンピューティングシステム | |
US20160342977A1 (en) | Device, method and system for virtual asset transactions | |
US20170200137A1 (en) | Combined security for electronic transfers | |
US20190114707A1 (en) | Distribution of Blockchain Tokens | |
KR102407187B1 (ko) | 블록체인 기반 전자 화폐 자동 충전 방법 및 그 시스템 | |
KR20200114324A (ko) | 블록체인 기반의 암호화폐를 이용한 송금 처리 시스템 | |
US20200090147A1 (en) | Information processing devices and methods | |
KR20220071241A (ko) | 컴퓨터-구현 시스템 및 방법 | |
US20200090167A1 (en) | Information processing devices and methods | |
CN116703395B (zh) | 一种数字人民币的支付方法、装置、设备、系统及介质 | |
JP2023516466A (ja) | ブロックチェーントランザクション二重使用証明 | |
JP6896813B2 (ja) | トランザクション実行方法およびシステム | |
KR102070252B1 (ko) | 블록체인 기반 결제 서비스 서버 및 이의 동작 방법 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
GRNT | Written decision to grant |