KR101827373B1 - 채굴 제한을 위한 합의 알고리즘을 포함하는 블록윈도우 모듈 및 관리 서버 그리고 가상화폐 거래 시스템 및 방법 - Google Patents

채굴 제한을 위한 합의 알고리즘을 포함하는 블록윈도우 모듈 및 관리 서버 그리고 가상화폐 거래 시스템 및 방법 Download PDF

Info

Publication number
KR101827373B1
KR101827373B1 KR1020170109485A KR20170109485A KR101827373B1 KR 101827373 B1 KR101827373 B1 KR 101827373B1 KR 1020170109485 A KR1020170109485 A KR 1020170109485A KR 20170109485 A KR20170109485 A KR 20170109485A KR 101827373 B1 KR101827373 B1 KR 101827373B1
Authority
KR
South Korea
Prior art keywords
mining
block
window
node
nodes
Prior art date
Application number
KR1020170109485A
Other languages
English (en)
Inventor
전삼구
Original Assignee
주식회사 더블체인
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 주식회사 더블체인 filed Critical 주식회사 더블체인
Priority to KR1020170109485A priority Critical patent/KR101827373B1/ko
Application granted granted Critical
Publication of KR101827373B1 publication Critical patent/KR101827373B1/ko

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F15/00Digital computers in general; Data processing equipment in general
    • G06F15/16Combinations of two or more digital computers each having at least an arithmetic unit, a program unit and a register, e.g. for a simultaneous processing of several programs
    • GPHYSICS
    • G06COMPUTING; CALCULATING; COUNTING
    • G06QDATA PROCESSING SYSTEMS OR METHODS, SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL, SUPERVISORY OR FORECASTING PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL, SUPERVISORY OR FORECASTING 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; COUNTING
    • G06QDATA PROCESSING SYSTEMS OR METHODS, SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL, SUPERVISORY OR FORECASTING PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL, SUPERVISORY OR FORECASTING PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q20/00Payment architectures, schemes or protocols
    • G06Q20/30Payment architectures, schemes or protocols characterised by the use of specific devices
    • G06Q20/36Payment architectures, schemes or protocols characterised by the use of specific devices using electronic wallets or electronic money safes
    • G06Q20/367Payment architectures, schemes or protocols characterised by the use of specific devices using electronic wallets or electronic money safes involving intelligent token, e.g. electronic purse
    • G06Q20/3678Payment architectures, schemes or protocols characterised by the use of specific devices using electronic wallets or electronic money safes involving intelligent token, e.g. electronic purse e-cash details, e.g. blinded, divisible or detecting double spending

Abstract

본 발명은 블록체인 기반 가상화폐 거래 시스템 및 방법을 제공하며, 시스템마이닝 노드와 일반 노드와 마이닝 노드에 대해 특정 작업증명주기 이후에 채굴시도에 대해 일정한 제약을 부여하는 채굴 제한을 위한 합의 알고리즘을 포함하는 블록윈도우 모듈을 포함하고, 블록윈도우 모듈은, 마이닝 노드의 채굴시도의 결과를 해당 마이닝 노드와 연계하여 채굴이력정보를 기록하는 채굴이력 관리부와; 채굴성공을 달성한 마이닝 노드들 중 적어도 일부에 대해 일정 기간 동안 채굴시도의 결과를 무효화하거나 채굴시도를 금지하는 블록윈도우를 설정하는 블록윈도우 생성부를 포함한다. 블록윈도우 모듈은 채굴이력정보를 기초로 블록윈도우 사이즈를 산출하여 블록윈도우를 제공하는 블록윈도우 사이즈 산출부 및 현재 또는 최근 일정기간 동안 일반노드들 간의 가상화폐 거래이력정보를 제공하는 거래이력 관리부를 더 포함한다. 블록윈도우 사이즈 산출부로부터 산출되는 블록윈도우 사이즈(y)는, y = [0.7 (N)×현재까지의 누적 블록수)]/(10년간 누적 블록수)로 정의되며, N은 노드인수로서 A=(전체 참여 노드수), B=(전체 참여 노드수)/(전체 마이닝 노드수), C=(전체 마이닝 노드수)/(마이닝 성공 경험이 있는 참여 마이닝 노드수) 중 어느 하나이다. 따라서, 소수 마이닝 노드의 채굴독과점을 효과적으로 방지할 수 있다.

Description

채굴 제한을 위한 합의 알고리즘을 포함하는 블록윈도우 모듈 및 관리 서버 그리고 가상화폐 거래 시스템 및 방법{BLOCK WINDOW MODULE HAVING AGREEMENT ALGORITHM FOR LIMITING MINING, MANAGING SERVER AND VIRTUAL MONEY EXCHANGE SYSTEM AND METHOD}

본 발명은 블록윈도우 모듈 및 블록윈도우 관리 서버 이 모듈 또는 서버를 이용한 가상화폐거래 시스템 및 방법에 관한 것으로서, 특히 가상 화폐거래 시스템에서 소수 마이닝 노드들의 채굴 독점 또는 과점을 방지하거나, 참여 노드들에게 비교적 공평하게 채굴기회를 제공하고, 채굴에 필요한 자원이나 노력을 과도하게 사용하는 에너지 낭비도 감소시킬 수 있도록 채굴에 성공한 특정 마이닝 노드에게 채굴참여 기회를 제한하는 기능을 제공하는 채굴 제한을 위한 합의 알고리즘을 포함하는 블록윈도우 모듈 및 블록윈도우 관리 서버 이 모듈 또는 서버를 이용한 가상화폐거래 시스템 및 방법에 관한 것이다.

본 명세서에서 표현하는 "마이닝 노드"는 설명의 편의상 기능적인 측면을 강조하기 위한 것이며, 적어도 채굴기능을 가진 노드를 의미하고, 마이닝 노드의 경우에도 가상화폐 거래를 위한 월릿기능, 가상화폐 블록을 저장하는 데이터베이스 기능 등 일반 가상화폐 거래 시스템에 적용되는 모든 종류의 노드기능을 마이닝 노드 역시 가질 수 있다. 또한, 본 명세서에서 표현하는 "일반 노드"는 설명의 편의상 기능적인 측면을 강조하기 위한 것으로서 적어도 월릿기능, 송금 및 수금 기능을 가진 거래기능으로서의 일반 노드를 나타내지만 마이닝 기능 등의 별도의 다른 노드들이 가질 수 있다. 즉, 본 명세서에서는 노드의 명칭이 무엇이든지 노드는 그 명칭에서 의미하는 기능외에도 별도의 다른 기능을 더 포함할 수 있으며, 가상화폐시스템의 동작과 관련된 기능 및 본 발명의 목적을 달성할 수 있는 기능을 가질 수 있으면 특별히 제한을 두지 않는다.

블록체인은 비트코인 등과 같은 분산형 가상화폐 거래 시스템에서 노드들간에 서로 주고받는 가상화폐의 거래를 지속적으로 기록하는 거래기록장부의 기능을 가지고 있다. 이와 같이 거래기록장부의 기능을 하는 블록체인이 분산형 가상화폐 거래 시스템에서 필요한 이유는 가상화폐가 실물의 물리적 화폐로 존재하는 것이 아니 아니라 가상적으로만 존재하기 때문이다. 즉, 최초 생성된 100원의 가상화폐는 시간이 흐르면서 시스템 내에서 총합의 개념으로는 언제나 존재하지만, 그 형태는 1원씩 백번으로 나누어져 시스템내 100개의 노드에 각각 위치한 100개의 전자지갑에 존재할 수도 있고, 예를 들면, 다른 가상화폐 200원과 결합하여 특정 노드의 지갑에서 300원 속에 포함되어 존재할 수도 있다. 따라서, 현재 거래하는 가상화폐가 정당성을 가지고 있는가를 판단할 수 있는 자료는 결국 그 가상화폐가 최초 생성될 때부터 현재까지 거래 내역을 역추적하여 최초 생성될 당시부터 현재까지 일관성 있게 정당성을 가지고 있는지의 여부를 확인하는 수 밖에 없다. 은행과 같은 중앙서버가 총괄적으로 가상화폐를 관리하는 경우에는 중앙서버에서 이러한 가상화폐 거래기록을 총괄적으로 기록하지만, 블록체인의 경우에는 분산형 노드들로 이루어진 분산형 시스템 내에서 노드들에 의해 기록되고 있으며, 이에 블록체인이 거래될 때마다 그 거래내용을 암호화하여 블록을 생성하고 새롭게 생성된 블록을 블록체인에 결합하여 거래장부를 업데이트 한다. 블록체인의 암호화의 강점은 과거로부터 현재까지 거래가 발생할 때마다 기록된 내용이 연쇄적으로 해쉬값으로 엮여 있다는 점이다. 따라서, 한 개의 특정 해쉬값이 아니라 거래시스템 내 전체 거래의 암호를 풀어내지 못하는 한 거래내용을 조작할 수 없다는 점과, 또한, 시시각각으로 다시 거래되는 내용이 블록으로 생성되어 블록체인에 결합되는 과정에 있고, 또한, 그 거래장부가 분산형으로 여러 노드에 존재하기 때문에 현대의 컴퓨터로는 수백년간의 시간이 걸려도 전체적으로 블록체인 암호를 해독하거나 블록체인 기반 가상화폐거래 시스템을 해킹하는 것은 불가능하다. 즉, 블록체인을 기반으로 하는 가상화폐는 기존의 블록체인에 기재된 거래내역을 통해 정당성이 검증될 수 있고, 그 거래 내역을 현실적으로 조작할 수 없다는 점에서 신뢰성을 가진다고 할 수 있다.

따라서, 블록체인을 이용하는 가상화폐 거래 시스템에서는 시시각각으로 이루어지는 거래가 전체 노드에 전파되고, 암호화되어 블록으로 새롭게 거래기록을 생성하고, 생성된 새로운 블록은 다시 블록체인에 결합하는 작업이 끊임없이 진행된다.

이와 같이, 새롭게 이루어지는 거래내역들을 함께 묶어서 일정한 주기(예를 들면, 1분, 3분, 10분 등) 동안 한 개의 새로운 블록으로 생성하고, 그 블록이 정당성을 가지면 기존의 블록체인에 연결하는 과정을 소위 “작업증명(proof of work)”이라고 한다.

일반적으로 작업증명의 합의알고리즘은 다음과 같은 프로세스로 진행된다.

WS1: 새로운 거래 내역이 모든 노드에 알려진다.

WS2: 각 노드들은 새로운 거래 내역을 블록에 취합한다.

WS3: 각 노드들은 그 블록에 대한 작업증명을 찾는 과정을 수행한다.

WS4: 어떤 노드가 작업증명을 성공적으로 수행했을 때, 모든 노드에게 그 블록을 전송한다.

WS5: 노드들은 그 블록이 모든 거래가 이전에 쓰이지 않고 유효한 경우에만 승인한다.

WS6: 노드들은 자신이 승인한 블록의 해시를 이전 해시로 사용하여 다음 블록을 생성하는 과정을 통해 그 블록이 승인되었다는 의사를 나타낸다. 이 경우 노드들은 항상 가장 긴 체인을 옳은 것으로 간주하며 그 체인이 계속 확장하도록 작업을 수행한다.

비트코인 등과 같은 가상화폐 시스템에서는 이와 같은 과정을 통해 다수의 노드를 통해 새로운 거래가 최초 발생부터 현재까지 일관성 있게 시간적으로 중복성이 없는 무결성 거래임을 증명한다는 점에서 독특함을 가진다.

이를 위해서는 작업증명에 참여하는 노드(이하 "마이닝 노드"라 함)들에게 적극적으로 참여할 수 있는 보상 동기를 주어야 하는데, 이 부분이 소위 말하는 "채굴(mining)"이다. 즉, 채굴을 수행하는 마이닝 노드가 특정 블록의 해쉬값을 풀면 거래기록을 불록에 기록하여 새로운 블록을 생성하게 되는데 이 때 일정한 가상화폐를 보상으로 지불하게 된다.

그러나, 이러한 작업증명의 능력이 특성상 채굴에 참여하는 마이닝 노드의 성능, 즉 컴퓨터 능력에 의존할 수 밖에 없기 때문에, 컴퓨터 능력을 집중화한 소수의 개체 또는 단체들에게 채굴이 집중되는 경향을 보이게 된다는 점에서 문제가 있다. 강력한 컴퓨터 파워를 가진 소수의 마이닝 노드에게 채굴이 집중될 경우, 나머지 노드들은 의욕을 상실하여 참여 동기를 잃어가게 되며, 결과적으로 다수의 노드가 수행해야 할 작업증명이 소수의 노드들에게 편중되면서, 블록체인의 검증에 중대한 위협이 될 수 있다. 즉, 소수의 노드들이 블록체인 검증을 독점 또는 과점할 경우에는 이들 독과점 마이닝 노드들이 단합하여 검증시스템을 무력하게 하면, 모든 가상화폐거래의 무결성을 보장할 수 없게 되기 때문에 가상화폐 시스템의 붕괴가 초래될 수 있는 중대한 문제가 발생할 수 있다.

또한, 가상화폐 시스템의 신규화폐 공급은 이와 같은 마이닝 노드들이 채굴한 가상화폐를 통해 이루어지기 때문에 가상화폐가 소수의 과점 마이닝 노드들에게 편중되어 가상화폐의 빈익빈 부익부 현상을 가중시킬 수 있다는 점에서도 문제가 있다.

그리고, 참여 마이닝 노드들 간의 컴퓨터 파워를 향상시키기 위해 과도한 경쟁으로 자원낭비가 심대해지고 있다. 즉, 컴퓨터 파워가 증가하여 블록생성이 빨라지면 해쉬 난이도를 높여서 일정채굴주기(즉 작업증명 주기) 조건(예를 들면, 1분, 10분 등)을 맞출 수는 있지만, 이 경우 더욱더 컴퓨터 파워를 높이려는 노력으로 인해 검증작업에 참여할 수 있는 능력을 가진 소수 노드들 외에는 참여 개체 또는 단체의 수가 줄어들어 더욱더 채굴 독과점율만 높아지고, 자원낭비만 가속화되고 있다.
예를 들면, 종래 기술로서 비특허문헌1 (이혁준 외 1명. ‘비트코인의 신뢰구조와 이중지불의 위협’. 정보보호학회지. 정보보호학회(2016년 4월, 제26권 제2호, pp.25-30), <URL : http://www.dbpia.co.kr/Journal/ArticleDetail/NODE06669072>)의 경우, 가상화폐의 무결성을 해치는 부당한 이중지불을 방지하기 위한 방안으로, 정당한 작업증명 노드를 50% 이상 확보하는 방안(P29, "4.2.5 < 50%")(비특허문헌 1의 제1 방안과), 거래의 중요도에 따라서 승인 횟수를 조정하는 방안(P29, "5.1")(비특허문헌 1의 제2방안), 채굴속도 등의 동향을 살펴서 위험이 있다고 감지되면 경고를 하고 거래연기 등과 같은 원시적인 방안(P29, "5.2")(비특허문헌 1의 제3방안)을 제안하고 있다.
또 다른 종래기술로서, 예를 들면, 비특허문헌2 (김소희 외 2명, ‘비트코인 블록체인의 이기적인 채굴 방안 분석’. 한국통신학회 추계종합학술발표회 논문집. 한국통신학회. 2015년 11월, pp.423-424
<URL : http://www.dbpia.co.kr/Journal/ArticleDetail/NODE06564742>)
는 이중지불이 발생할 때 주로 발생하는 현상인 블록분기의 문제에 초점을 두어 불록이 분기될 경우 그 현상을 다른 채굴자에게 전파하여 채굴자들이 선택성을 갖게 하면서 승인횟수를 1/2(50%의 절반)로 분산시켜서 결과적으로 유효성을 상실시키거나, 분기된 블록에게는 이유 여하를 불문하고 채굴보상을 주지 않는 것, 타임스탬프로 블록의 생성시기를 알려주어 최근의 블록만을 채택하도록 하는 방식이 있다.
그러나, 비특허문헌 1 및 2는 모두 무결성 방지에 초점을 두는 기술이지만 채굴독점으로 인하여 발생하는 문제를 방지할 수 없고, 더욱이 이와 같은 채굴독점으로 인하여 작은 컴퓨터 성능을 가진 다수의 일반 채굴자들의 채굴의욕 상실을 방지할 수 없다는 점에서 근본적인 문제가 있다.

삭제

- 이혁준 외 1명. ‘비트코인의 신뢰구조와 이중지불의 위협’. 정보보호학회지. 정보보호학회(2016년 4월, 제26권 제2호, pp.25-30), <URL : http://www.dbpia.co.kr/Journal/ArticleDetail/NODE06669072> - 김소희 외 2명, ‘비트코인 블록체인의 이기적인 채굴 방안 분석’. 한국통신학회 추계종합학술발표회 논문집. 한국통신학회. 2015년 11월, pp.423-424 <URL : http://www.dbpia.co.kr/Journal/ArticleDetail/NODE06564742>

본 발명은 이와 같은 종래 기술의 문제점을 해소하기 위한 것으로서, 일실시 예에 따른 목적은 소수 마이닝 노드에게 집중되는 채굴 독과점율을 경감할 수 있는 블록윈도우 모듈 및 블록윈도우 관리 서버, 이 모듈 또는 서버를 이용한 가상화폐거래 시스템 및 방법을 제공하는 것이다.

본 발명의 다른 일실시예에 따른 목적은 가상화폐 시스템에서 작업증명에 참여하는 마이닝 노드의 개체수 감소를 방지하고, 다수의 마이닝 노드가 참여할 수 있는 동기를 부여할 수 있고, 결과적으로 채굴경쟁을 위한 컴퓨터 파워의 과도한 투입에 따른 자원낭비 방지와 채굴 가상화폐의 공평한 분배를 도모할 수 있는 채굴 제한을 위한 합의 알고리즘을 포함하는 블록윈도우 모듈 및 블록윈도우 관리 서버 및 이 모듈 또는 서버를 이용한 가상화폐거래 시스템 및 방법을 제공하는 것이다.

본 발명의 일실시예에 따른 목적을 실현하기 위한 제1양태는 작업증명에 참여하는 마이닝 노드와 가상화폐 거래를 위한 일반 노드를 적어도 포함하는 블록체인 기반 가상화폐 거래 시스템으로서, 상기 가상화폐 거래시스템은 특정 작업증명주기에 채굴성공을 달성한 마이닝 노드에 대해 상기 특정 작업증명주기 이후에 채굴시도에 대해 일정한 제약을 부여하는 채굴 제한을 위한 합의 알고리즘을 포함하는블록윈도우 모듈을 포함하고, 상기 블록윈도우 모듈은, 상기 작업증명 과정에서 마이닝 노드의 작업증명 동작 중 하나인 채굴시도의 결과를 해당 마이닝 노드와 연계하여 채굴이력정보를 기록하는 채굴이력 관리부와; 상기 채굴이력정보에 기초하여 채굴시도를 수행한 결과 채굴성공을 달성한 마이닝 노드들 중 적어도 일부에 대해 해당 작업증명주기 이후 일정 기간 동안 채굴시도의 결과를 무효화하거나 채굴시도를 금지하는 블록윈도우를 설정하는 블록윈도우 생성부를; 포함하고, 상기 채굴이력정보는 블록체인에 연결되는 누적 블록수, 참여 마이닝 노드수 정보, 채굴에 성공한 경력이 있는 마이닝 노드수 정보, 개별 마이닝 노드의 채굴 이력 정보, 마이닝 노드들의 채굴 성공율, 상위 마이닝 노드들의 채굴 독과점율, 과점율중 적어도 하나를 포함하고, 상기 블록윈도우 모듈은 상기 채굴이력정보를 기초로 채굴에 성공한 마이닝 노드에 대해 설정할 블록윈도우 사이즈를 산출하여 블록윈도우를 제공하는 블록윈도우 사이즈 산출부 및 현재 또는 최근 일정기간 동안 일반노드들 간의 가상화폐 거래이력정보를 제공하는 거래이력 관리부를 더 포함하며, 상기 블록윈도우 사이즈 산출부로부터 산출되는 상기 블록윈도우 사이즈(y)는, y = [0.7 (N)×현재까지의 누적 블록수)]/(10년간 누적 블록수)로 정의되며, 상기 N은 노드인수로서 A=(전체 참여 노드수), B=(전체 참여 노드수)/(전체 마이닝 노드수), C=(전체 마이닝 노드수)/(마이닝 성공 경험이 있는 참여 마이닝 노드수)중 어느 하나이다.

삭제

삭제

바람직하게는, 상기 변수 A, B 및 C 중 적어도 하나는 상기 거래이력정보로부터의 일정기간 거래량 또는 거래량 변화율을 반비례 인수로 포함할 수 있다.
본 발명의 일실시예에 따른 목적을 실현하기 위한 제2양태는 작업증명에 참여하는 마이닝 노드와 가상화폐 거래를 위한 일반 노드를 적어도 포함하는 블록체인 기반 가상화폐 거래 시스템으로서, 상기 가상화폐 거래시스템은 특정 작업증명주기에 채굴성공을 달성한 마이닝 노드에 대해 상기 특정 작업증명주기 이후에 채굴시도에 대해 일정한 제약을 부여하는 채굴 제한을 위한 합의 알고리즘을 포함하는블록윈도우 모듈을 포함하고, 상기 블록윈도우 모듈은, 상기 작업증명 과정에서 마이닝 노드의 작업증명 동작 중 하나인 채굴시도의 결과를 해당 마이닝 노드와 연계하여 채굴이력정보를 기록하는 채굴이력 관리부와; 상기 채굴이력정보에 기초하여 채굴시도를 수행한 결과 채굴성공을 달성한 마이닝 노드들 중 적어도 일부에 대해 해당 작업증명주기 이후 일정 기간 동안 채굴시도의 결과를 무효화하거나 채굴시도를 금지하는 블록윈도우를 설정하는 블록윈도우 생성부를; 포함하고, 상기 채굴이력정보는 블록체인에 연결되는 누적 블록수, 참여 마이닝 노드수 정보, 채굴에 성공한 경력이 있는 마이닝 노드수 정보, 개별 마이닝 노드의 채굴 이력 정보, 마이닝 노드들의 채굴 성공율, 상위 마이닝 노드들의 채굴 독과점율, 과점율중 적어도 하나를 포함하고, 상기 블록윈도우 모듈은 상기 채굴이력정보를 기초로 채굴에 성공한 마이닝 노드에 대해 설정할 블록윈도우 사이즈를 산출하여 블록윈도우를 제공하는 블록윈도우 사이즈 산출부 및 현재 또는 최근 일정기간 동안 일반노드들 간의 가상화폐 거래이력정보를 제공하는 거래이력 관리부를 더 포함하며, 상위 일정비율의 채굴 성공율을 차지하는 마이닝 노드의 과점율(R)을 다음과 같이 정의할 때, R=[상위 일정 비율의 마이닝 노드의 채굴량(블록수)/전체 참여 마이닝 노드의 채굴량(블록수)], 단 채굴기간은 최근 일정기간, 블록윈도우 사이즈(y)는, y=(과점율) ×nP(n은 자연수, P는 블록생성 주기로서)로 정의되며, 상기 변수 A, B 및 C 중 적어도 하나는 상기 거래이력정보로부터의 일정기간 거래량 또는 거래량 변화율을 반비례 인수로 포함할 수 있다.

삭제

바람직하게는, 상기 마이닝 노드에 대해 해당 채굴 성공율에 비례하여 차별적으로 블록윈도우 사이즈가 설정되거나, 무차별적으로 블록윈도우가 설정되며, 상기 노드인수(N)는 상기 거래이력정보로부터의 일정기간 거래량을 반비례 인수로 포함한다.

바람직하게는, 상기 블록윈도우 모듈은 특정 작업증명주기 동안 시스템 내에서 블록이 생성되지 않는 블랙아웃 발생여부를 감시하는 블랙아웃 감시부를 더 포함하고, 시스템 내에서 블랙아웃이 발생한 것을 감지할 때 상기 블랙아웃 감시부는 상기 특정 작업증명주기 이후 작업증명주기에 마이닝 노드들에 대해 이미 설정된 블록윈도우 설정을 해제하는 블록윈도우 해제모드를 설정하며, 상기 블랙아웃 감시부는 상기 블록윈도우 해제모드가 설정된 이후 작업증명 주기 동안 블록이 생성된 것을 감지하면 즉시 블록윈도우 해제모드를 블록윈도우 모드로 전환하며, 상기 블록윈도우 모드에 따라서 상기 블록윈도우 생성부는 상기 블록윈도우 사이즈 산출부와 연동하여 블록윈도우를 다시 생성한다.

바람직하게는, 상기 블록윈도우 모듈은 특정 작업증명주기 동안 시스템 내에서 블록이 생성되지 않는 블랙아웃 발생여부를 감시하는 블랙아웃 감시부를 더 포함하고, 상기 특정 작업주기 동안 블록윈도우가 설정된 적어도 하나 이상의 마이닝 노드가 채굴시도를 수행하여 채굴이 무효화된 것을 상기 채굴이력관리부가 기록한 경우, 또한, 상기 블랙아웃 감시부가 상기 특정 작업주기 동안 블랙아웃이 발생한 것을 감지한 경우, 상기 채굴이력관리부에 기록된 해당 무효화 채굴을 유효채굴로 전환하는 언마이닝 전용모드를 설정하며, 상기 블랙아웃 감시부는 상기 언마이닝 전용모드가 설정된 이후 작업증명 주기 동안 블록이 생성된 것을 감지하면 즉시 언마이닝 전용모드를 블록윈도우 모드로 전환하며, 상기 블록윈도우 모드에 따라서 상기 블록윈도우 생성부는 상기 블록윈도우 사이즈 산출부와 연동하여 블록윈도우를 다시 생성한다.

상기 가상화폐 거래 시스템은 상기 블록윈도우 모듈을 업데이트하여 노드들에게 프레임워크로 제공하는 블록윈도우 관리 서버를 더 포함하며, 상기 블록윈도우 관리 서버는 독립된 개체로서 일반 가상화폐 거래시스템에 특정 통신 커넥터를 통해 결합가능하고, 상기 블록윈도우 모듈은 업데이트될 때마다 상기 블록윈도우 관리 서버로부터 노드들에게 제공되거나, 노드들로부터 다른 노드들에게 전파된다.

본 발명의 일실시예에 따른 제3양태는 작업증명에 참여하는 마이닝 노드와 가상화폐 거래를 위한 일반 노드를 적어도 포함하는 블록체인 기반 가상화폐 거래 시스템에서의 가상화폐 거래 방법으로서, 상기 가상화폐 거래시스템은 특정 작업증명주기에 채굴성공을 달성한 마이닝 노드에 대해 상기 특정 작업증명주기 이후에 채굴시도에 대해 일정한 제약을 부여하는 블록윈도우 모듈을 포함하고, 상기 블록윈도우 모듈의 채굴이력 관리부가 상기 작업증명 과정에서 마이닝 노드의 작업증명 동작 중 하나인 채굴시도의 결과를 해당 마이닝 노드와 연계하여 채굴이력정보를 기록하는 채굴이력정보 기록단계와; 상기 블록윈도우 모듈의 블록윈도우 생성부가 상기 채굴이력정보에 기초하여 채굴시도를 수행한 결과 채굴성공을 달성한 마이닝 노드들 중 적어도 일부에 대해 해당 작업증명주기 이후 일정 기간 동안 채굴시도의 결과를 무효화하거나 채굴시도를 금지하는 블록윈도우를 설정하는 블록윈도우 설정단계를; 포함하며, 바람직하게는, 상기 채굴이력정보는 블록체인에 연결되는 누적 블록수, 참여 마이닝 노드수 정보, 채굴에 성공한 경력이 있는 마이닝 노드수 정보, 개별 마이닝 노드의 채굴 이력 정보, 마이닝 노드들의 채굴 성공율, 상위 마이닝 노드들의 채굴 독과점율 중 적어도 하나를 포함하고, 상기 채굴이력정보 기록단계 이후, 상기 블록윈도우 모듈의 거래이력 관리부가 현재 또는 최근 일정기간 동안 일반노드들 간의 가상화폐 거래이력정보를 제공하는 단계와; 상기 블록윈도우 모듈의 블록윈도우 사이즈 산출부가 상기 채굴이력정보를 기초로 채굴에 성공한 마이닝 노드에 대해 설정할 블록윈도우 사이즈를 산출하여 블록윈도우를 제공하는 단계를; 더 포함하고, 상기 블록윈도우 사이즈 산출부로부터 산출되는 상기 블록윈도우 사이즈(y)는, y = [0.7 (N)×현재까지의 누적 블록수)]/(10년간 누적 블록수)로 정의되며, 상기 N은 노드인수로서 A=(전체 참여 노드수), B=(전체 참여 노드수)/(전체 마이닝 노드수), C=(전체 마이닝 노드수)/(마이닝 성공 경험이 있는 참여 마이닝 노드수)중 어느 하나이다.

삭제

삭제

바람직하게는, 상기 변수 A, B 및 C 중 적어도 하나는 상기 거래이력정보로부터의 일정기간 거래량 또는 거래량 변화율을 반비례 인수로 포함할 수 있다.

본 발명의 일실시예에 따른 제4양태는 작업증명에 참여하는 마이닝 노드와 가상화폐 거래를 위한 일반 노드를 적어도 포함하는 블록체인 기반 가상화폐 거래 시스템에서의 가상화폐 거래 방법으로서, 상기 가상화폐 거래시스템은 특정 작업증명주기에 채굴성공을 달성한 마이닝 노드에 대해 상기 특정 작업증명주기 이후에 채굴시도에 대해 일정한 제약을 부여하는 블록윈도우 모듈을 포함하고, 상기 블록윈도우 모듈의 채굴이력 관리부가 상기 작업증명 과정에서 마이닝 노드의 작업증명 동작 중 하나인 채굴시도의 결과를 해당 마이닝 노드와 연계하여 채굴이력정보를 기록하는 채굴이력정보 기록단계와; 상기 블록윈도우 모듈의 블록윈도우 생성부가 상기 채굴이력정보에 기초하여 채굴시도를 수행한 결과 채굴성공을 달성한 마이닝 노드들 중 적어도 일부에 대해 해당 작업증명주기 이후 일정 기간 동안 채굴시도의 결과를 무효화하거나 채굴시도를 금지하는 블록윈도우를 설정하는 블록윈도우 설정단계를; 포함하며, 바람직하게는, 상기 채굴이력정보는 블록체인에 연결되는 누적 블록수, 참여 마이닝 노드수 정보, 채굴에 성공한 경력이 있는 마이닝 노드수 정보, 개별 마이닝 노드의 채굴 이력 정보, 마이닝 노드들의 채굴 성공율, 상위 마이닝 노드들의 채굴 독과점율 중 적어도 하나를 포함하고, 상기 채굴이력정보 기록단계 이후, 상기 블록윈도우 모듈의 거래이력 관리부가 현재 또는 최근 일정기간 동안 일반노드들 간의 가상화폐 거래이력정보를 제공하는 단계와; 상기 블록윈도우 모듈의 블록윈도우 사이즈 산출부가 상기 채굴이력정보를 기초로 채굴에 성공한 마이닝 노드에 대해 설정할 블록윈도우 사이즈를 산출하여 블록윈도우를 제공하는 단계를; 더 포함하고, 상위 일정비율의 채굴 성공율을 차지하는 마이닝 노드의 과점율(R)을 다음과 같이 정의할 때, R=[상위 일정 비율의 마이닝 노드의 채굴량(블록수)/전체 참여 마이닝 노드의 채굴량(블록수)], 단 채굴기간은 최근 일정기간, 블록윈도우 사이즈(y)는, y=(과점율) ×nP(n은 자연수, P는 블록생성 주기로서)로 정의되며, 상기 변수 A, B 및 C 중 적어도 하나는 상기 거래이력정보로부터의 일정기간 거래량 또는 거래량 변화율을 반비례 인수로 포함할 수 있다.

바람직하게는, 상기 블록윈도우 제공 단계에서, 상기 마이닝 노드에 대해 해당 채굴 성공율에 비례하여 차별적으로 블록윈도우 사이즈가 설정되거나, 무차별적으로 블록윈도우가 설정되며, 상기 노드인수(N)는 상기 거래이력정보로부터의 일정기간 거래량을 반비례 인수로 포함한다.

바람직하게는, 상기 블록윈도우 모듈의 블랙아웃 감시부가 특정 작업증명주기 동안 시스템 내에서 블록이 생성되지 않는 블랙아웃 발생여부를 감시하는 블랙아웃 감시단계와; 블랙아웃이 발생한 것을 감지할 때 상기 블랙아웃 감시부가 상기 특정 작업증명주기 이후 작업증명주기에 마이닝 노드들에 대해 이미 설정된 블록윈도우 설정을 해제하는 블록윈도우 해제모드를 설정하는 블록윈도우 해제모드 설정단계와; 상기 블랙아웃 감시부가 상기 블록윈도우 해제모드 설정단계 이후 작업증명 주기 동안 블록이 생성된 것을 감지하면 즉시 블록윈도우 해제모드를 블록윈도우 모드로 전환하고, 상기 블록윈도우 모드에 따라서 상기 블록윈도우 생성부가 상기 블록윈도우 사이즈 산출부와 연동하여 블록윈도우를 다시 생성하는 단계를; 더 포함한다.

바람직하게는, 상기 블록윈도우 모듈의 블랙아웃 감시부가 특정 작업증명주기 동안 시스템 내에서 블록이 생성되지 않는 블랙아웃 발생여부를 감시하는 블랙아웃 감시단계와; 상기 특정 작업주기 동안 블록윈도우가 설정된 적어도 하나 이상의 마이닝 노드가 채굴시도를 수행하여 채굴이 무효화된 것을 상기 채굴이력관리부가 기록한 경우, 또한, 상기 블랙아웃 감시부가 상기 특정 작업주기 동안 블랙아웃이 발생한 것을 감지한 경우, 상기 채굴이력관리부에 기록된 해당 무효화 채굴을 유효채굴로 전환하는 언마이닝 전용모드를 설정하는 언마이닝 전용모드 설정단계와; 상기 블랙아웃 감시부가 상기 언마이닝 전용모드 설정단계 이후 작업증명 주기 동안 블록이 생성된 것을 감지하면 즉시 언마이닝 전용모드를 블록윈도우 모드로 전환하며, 상기 블록윈도우 모드에 따라서 상기 블록윈도우 생성부가 상기 블록윈도우 사이즈 산출부와 연동하여 블록윈도우를 다시 생성하는 단계를; 더 포함한다.

본 발명의 일실시예에 따른 제5양태는 상기 블록윈도우 모듈을 프레임워크로 저장한 저장매체를 제공한다.

본 발명의 일실시예에 따른 제6양태는 상기 블록윈도우 모듈을 업데이트하여 노드들에게 제공가능하고, 가상화폐 거래시스템에 물리적으로 통신포트를 통해 연결하여 적용가능한 블록윈도우 관리서버를 제공한다.

이상과 같은 구성에 따라서, 본 발명은 다음과 같은 효과를 얻을 수 있다.

이상과 같은 구성에 따라서, 본 발명은 다음과 같은 효과를 얻을 수 있다.

첫째, 채굴에 성공한 마이닝 노드에 대해 언제든지 일정기간 추가 채굴을 금지하는 블록윈도우를 설정할 수 있기 때문에, 강력한 컴퓨터 파워를 가진 소수 마이닝 노드나, 소수 마이닝 노드가 결탁한 풀 마이닝 노드가 독점적, 과점적으로 채굴을 성공시키는 비율을 감소시킬 수 있다.

둘째, 마이닝 노드의 채굴 독점이나 과점 현상을 방지할 수 있기 때문에 결과적으로 채굴에 소외된 다수의 마이닝 노드나 일반 거래 노드들에게도 채굴 참여기회 또는 동기를 부여할 수 있어 작업증명이 일부 소수 마이닝 노드에게 집중되어 작업증명을 왜곡시키는 현상을 방지할 수 있다.

셋째, 가상화폐에서 채굴 또는 작업증명 프로세스는 현실화폐에서는 화폐발행과 같은 역할을 하기 때문에 본 발명의 블록윈도우 기법을 통해 가상화폐가 컴퓨터파워가 우수한 소수 부유한 계층에게 독점되지 않고 대중에게 널리 고르게 분배되는 효과를 얻을 수 있다.

넷째, 블록윈도우 기법을 적용할 경우 컴퓨터 파워가 높아도 채굴금지 기간이 상대적으로 길어질 수 있어 컴퓨터 파워가 낮은 다수에게 채굴기회가 넘어가는 효과 때문에 굳이 컴퓨터 파워를 극단적으로 높이려는 시도 또는 무리한 편법을 동원한 채굴방식(예를 들면, 풀 마이닝 노드 집단의 결탁 등)이 실질적으로 불필요하다. 따라서, 과도하게 자원을 낭비하는 폐단과 사행심을 방지할 수 있다.

다섯째, 블록윈도우 모듈을 가상화폐 시스템이나 기타 블록체인을 기반으로 하는 관련 시스템에 일체로 결합하거나, 프레임워크 형태, 프레임워크를 저장한 저장매체 형태, 다운로드 형태, 프레임워크와 하드웨어가 함께 결합된 서버 형태 등으로 제공할 수 있으므로, 기존 가상화폐 시스템이나 기타 블록체인 기반 시스템에 간편하게 적용할 수 있어 새로운 기능에 따른 기존의 시스템을 해체하는 낭비요소를 제거할 수 있다.

도 1은 본 발명의 일실시예에 따라서 블록윈도우 기능을 적용한 가상화폐 시스템을 나타낸 개략 구성도이다.
도 2는 본 발명의 일실시예에 따라서 블록윈도우 관리 서버와 시스템 운영을 담당하는 가상화폐 기능모듈 관리 서버의 구성 및 관계를 나타낸 개략도이다.
도 3은 본 발명의 일실시예에 따라서 블록윈도우의 동작원리를 나타낸 설명도이다.
도 4는 본 발명의 일실시예에 따라서 가상화폐 시스템에서 블록윈도우 모드의 동작 프로세스를 나타낸 흐름도이다.
도 5는 본 발명의 일실시예에 따라서 블록윈도우 사이즈를 산출하기 위한 향후 블록 및 참여 노드의 예상추이를 기록한 그래프이다.

이하, 본 발명의 바람직한 실시예에 대하여 첨부도면을 참조하여 설명한다.

도 1은 본 발명의 일실시예에 따라서 블록윈도우를 적용한 가상화폐 시스템(이하 "가상화폐 시스템" 또는 단순히 "시스템"을 혼용하여 사용함)을 나타낸 개략 구성도이다. 도면을 참조하면, 본 발명의 일실시예에 따른 가상화폐 시스템은 채굴에 참여하는 마이닝 노드(MN1, MN2, MN3, MN4), P2P 방식으로 직접 가상화폐 거래를 수행하거나 가상화폐 거래소(300)를 통해 거래를 수행하는 노드(N5, N6, N7, N8)(이하, "일반 노드"라 함), 시스템에 참여하는 모든 노드들에게 노드들이 원하는 목적의 기능을 수행할 수 있도록 하는 기능적 소프트웨어, 기능적 하드웨어, 기능적 소트웨어 및 하드웨어가 결합된 단위 개체(이하 "기능 모듈"이라함, 본 발명에서 사용하는 "모듈"은 특정 기능을 수행할 수 있는 수단으로서, 기능적 소프트웨어 프레임워크나 특정 프레임워크에 결합되어 특정 기능을 수행할 수 있는 일반 소프트웨어 또는 이러한 소프트웨어와 하드웨어가 함께 결합되어 특정 기능을 수행할 수 있는 단위개체를 망라한다)를 제공하는 가상화폐 기능모듈 관리서버(200)와, 마이닝 노드(MN1, MN2, MN3, MN4) 중 어느 하나가 작업증명 과정에 따라서 채굴이 완료되면 특정 기준조건에 따라서 채굴을 한 마이닝 노드에 대해 일정기간 동안 채굴을 금지하거나 채굴효과를 무효화하고, 다른 참여 마이닝 노드에게 채굴기회를 부여할 수 있는 환경을 제공하는 블록윈도우 모듈(BMW) 또는 블록윈도우 관리서버(100)를 포함할 수 있다.

본 발명의 일실시예에 따른 시스템에서 사용하는 각 구성요소들은 설명의 편의상 제시된 것으로서, 그 구성요소들의 개수에 특별히 제한을 두는 것은 아니다. 또한, 마이닝 노드(MN1, MN2, MN3, MN4)와 일반 노드(N1, N2, N3, N4)도 설명의 편의상 분리한 것으로서, 일반 노드도 마이닝 기능을 가질 수 있고, 마이닝 노드도 일반 가상화폐 거래를 수행할 수 있다. 또한, 본 발명에서 지칭하는 노드는 필요에 따라서, 서버들 각각을 나타내거나, 노드들의 그룹을 지칭할 수도 있다. 즉, 독립된 단위 개체로서 기능하면, 모두 노드로 표현될 수 있다. 따라서, 거래용 일반 노드는 스마트폰, 이동단말기, 개인 PC나 랩탑 컴퓨터 등 개체로서 시스템에 접속할 수 있는 것이면 어떠한 것도 포함할 수 있다.

시스템 내에서 사용하는 통신망(70)은 P2P나 간접 통신을 수행하는 기능을 가질 수 잇으면 어느 것도 가능하며, 예를 들면, 통신망(70)은 이동통신망(71), 인터넷(72), 블루투스 BL(73), 전용선(74), LPWAN(Low Power Wide Area Network)(75) 등을 포함할 수 있다. LPWAN(75)의 구체적인 예로는 미국의 LoRaWANTM, 유럽의 SigfoxTM와 그 밖에도 오픈망으로서의 WeightlessTM, 차세대 LTE망 등을 들 수 있다. 또한, 통신망(70)과 노드 또는 서버들 간의 연견은 무선 방식은 물론 유선방식도 가능하다.

도 2는 본 발명의 일실시예에 따라서 블록윈도우 서버(100) 및 가상화폐 기능 모듈 관리서버(200)의 구성 및 다른 노드들과의 관계를 나타낸 개략도이다.

먼저, 가상화폐 기능모듈 관리서버(200)는 일반적으로 가상화폐 시스템을 유지하기 위해 노드들에게 기능적 소프트웨어를 제공한다. 즉, 시스템에 참여하는 노드들은 마이닝 기능 모듈, 거래기능 모듈(월릿), 블록체인 데이터베이스 기능 모듈, 네트워크 라우팅 기능 모듈 중 일부 또는 전부를 가질 수 있다. 이러한 기능모듈의 제공이나 업데이트를 위해 가상화폐 기능모듈 관리 서버(200)는 마이닝 기능 모듈을 업데이트하거나 제공하는 마이닝 기능모듈 관리부(210), 가상화폐 거래를 위한 전자지갑(월릿:wallet) 모듈을 업데이트하여 제공하는 월릿기능 모듈 관리부(220), 블록체인의 데이터를 저장할 수 있는 기능 모듈을 제공하는 블록체인 기능모듈 관리부, 시스템 내외에서 네트워크의 라우팅 기능을 수행할 수 있는 네트워크 라우팅 모듈을 업데이트하거나 제공하는 네트워크 라우팅 모듈 관리부(240)를 포함할 수 있다. 노드들은 이러한 기능모듈을 가상화폐 기능모듈 관리서버(200)로부터 직접 다운로드 하거나 다른 노드들로부터 다운로드 받아서 자신들이 원하는 기능의 노드동작을 수행할 수 있다. 노드 클라우드(Node Cloud)(500)는 본 발명의 일실시예에 따른 가상화폐 시스템에 참여할 수 있는 모든 노드 또는 이들 노드들과 여러 다른 알고리즘으로 접속 가능한 노드들을 포함할 수 있다. 즉 노드 클라우드(500)에는 마이닝 노드(MN1, MN2, MN3 MN4), 거래용 일반 노드(N1, N2, N3, N4), 마이닝 노드들이 컴퓨터 파워를 높이기 위해 집단적으로 결합한 풀 마이닝 노드, 일반 노드들이 집단적으로 결합된 풀 일반노드, 본 발명의 일실시예에 따른 가상화폐 시스템에 참여하는 각종 거래소 서버, 이들 각종 노드와 서버에 직간접적으로 연결되는 다른 기능의 노드들도 함께 포함될 수 있다.

다음에 종래기술에는 개시된 바 없는 기술로서, 본 발명의 일실시예에 따라서 독창적으로 제안하는 블록윈도우의 개념과 그 블록윈도우 기술을 적용한 블록윈도우 관리서버(100)에 대하여 설명한다.

"블록윈도우(block window)"는 본 발명에서 최초로 사용하는 용어이며, 블록의 생성을 통해 마이닝(이하 채굴을 혼용하여 사용함)을 달성한 노드(즉 채굴성공 노드")에 대해 일정기준에 따라서 일정기간 동안 블록의 생성을 금지 시켜서 결과적으로 일정기간 동안 채굴 활동을 중지시키거나 채굴 활동을 통해 블록을 생성하여도 블록윈도우 기간 중에는 그 블록을 채굴 무효화로 작용시키는 기능 모듈이라 정의할 수 있다. 이러한 블록윈도우를 통해 특정 일부 마이닝 노드들에게 채굴이 편중되는 성향을 방지하고 컴퓨터 파워 능력이 상대적으로 작은 노드들에게도 채굴의 기회를 제공할 수 있다.

본 발명의 일실시예에 따른 블록윈도우 관리서버(100)는 가상화폐 기능모듈 관리 서버(200)와는 별도로 구성되어 가상화폐 거래시스템에서 가상화폐 거래 기능을 수행할 때 블록윈도우 모드 동작을 수행하도록 구성될 수도 있고, 가상화폐 기능모듈 관리서버(200)와 함께 일체로 구성되어 동일한 동작을 수행할 수도 있다. 별도로 구성될 경우에는 개별단위로 일반적인 모든 가상화폐 거래 시스템에 USB나 다운로드 가능한 기능모듈 형태로도 제공하여 블록윈도우 관련 동작을 가상화폐 거래 중에 함께 수행하도록 구성할 수도 있다.

도 2를 참조하면, 본 발명의 일실시예에 따른 블록윈도우 관리서버(100)는 마이닝 노드(MN1, MN2, MN3, MN4)의 채굴이력을 추적하여 채굴이력정보를 제공하는 채굴이력 관리부(110)와, 일반노드(N1, N2, N3, N4)가 거래하는 거래량을 추적하여 거래량 추세정보, 예를 들면, 최근 일정기간(1시간, 2시간, 1일, 1주 등)의 거래량, 거래량 변화율 등의 거래이력정보를 제공하는 거래이력 관리부(120), 블록 생성이 이루어지지 않아 작업증명을 할 수 없는 상태의 발생여부를 추적하여 블랙아웃 발생 및 추이에 관한 블랙아웃 정보를 제공하는 블랙아웃 감시부(130), 채굴이력 관리부(110)로부터의 채굴이력정보, 거래 이력 관리부(120)로부터의 거래이력정보, 블랙아웃 감시부(130)로부터의 블랙아웃 관련정보를 기초로 현재의 블록윈도우 사이즈를 산출하는 블록윈도우 사이즈 산출부(140), 상기 블록윈도우 사이즈 산출부(150)에 따라서 블록윈도우 모드 하에서 블록윈도우를 생성하여 해당 마이닝 노드(MN1, MN2, MN3, MN4)에 제공하는 블록윈도우 생성부(150), 블록윈도우 기능 프로그램을 업데이트하거나 그 프로그램을 기능모듈로서의 블록윈도우 모듈로 시스템 또는 시스템의 각 노드에 업데이로 제공하는 블록윈도우 모듈 업데이트부(160)를 포함할 수 있다.

블록윈도우 관리서버(100)에서 채굴이력 관리부(110), 거래이력 관리부(120), 블랙아웃 감시부(130), 블록윈도우 사이즈 산출부(140), 블록윈도우 생성부(150)는 함께 블록윈도우 모듈(BWM)을 구성할 수 있다. 이 경우 블록윈도우 모듈(BWM)은 가상화폐 거래시스템 자체에 처음부터 함께 결합된 소프트웨어 모듈 또는 소프트웨오와 하드웨어가 결합된 모듈일 수도 있고, 소프트웨어 프레임워크로 구성되어 다른 가상화폐 거래 시스템이나 기타 블록체인 기반 응용 시스템에 다운로드를 통해 결합되는 프로그램일 수도 있고, 하드웨어(예를 들면, 본 실시예에서는 블록윈도우 관리서버(100) 등)와 소프트웨어가 결합된 단일개체로서 USB 등의 통신 포트를 통해 다른 시스템에 결합되는 독립 모듈이 될 수도 있다. 즉, 본 발명에서는 그 목적으로 하는 독과점 마이닝 노드의 채굴독과점 현상의 완화를 달성할 수 있으면, 그 블록윈도우 모듈의 존재형태에 대해 특별히 제한을 두지 않는다.

다음에, 도 3을 참조하여 본 발명의 일실시예에 따른 블록윈도우의 개념 및 동작원리에 대해서 설명한다. 도 3은 본 발명의 일실시예에 따라서 블록윈도우의 동작원리를 나타낸 설명도이다.

도 3을 참조하면, 제1 마이닝 노드(MN1)가 수행하는 채굴동작(이하 "채굴시도"라 함)은 M1-1, U1-2, M1-3, U1-4로 모두 앞의 본번호에는 해당 마이닝 노드의 식별 숫자 "1"이 기록되고, 부번호에는 해당 마이닝 노드의 채굴동작의 순서가 기록된다. 즉, 1-1은 제1마이닝 노드(MN1)가 첫번째 채굴동작을 수행한 것을 나타내고, 마찬가지로 1-2는 제1 마이닝 노드(MN1)의 두번째 채굴동작, 1-3은 세번째 채굴동작, 1-4는 네번째 채굴동작을 각각 나타낸다. 또한 W1-1에서의 본번호 "1"은 제1 마이닝 노드(MN1)를 나타내고, 부번호 "1"은 제1 마이닝 노드(MN1)가 채굴성공을 달성하면서 할당된 첫번째 블록윈도우를 나타낸다. 마찬가지로 W1-2에서의 본번호 "1"은 제1 마이닝 노드(MN1)을 나타내고, 부번호 "2"는 제1 마이닝 노드(MN1)가 채굴성공을 달성하면서 할당된 두번째 블록윈도우를 나타낸다.

동일하게, 제2 마이닝 노드(MN2), 제3 마이닝 노드(MN3), 제4 마이닝 노드(MN4)도 제1마이닝 노드와 같은 방식으로 의미를 해석할 수 있다.

블록윈도우의 기본 개념은 마이닝 노드가 채굴을 성공하면 그 채굴을 성공한 작업증명 주기 미만부터 채굴주기(작업증명주기에 해당, 이하 "주기"는 특별한 설명이 없으면 "작업증명 주기"를 의미한다)의 정수배 또는 일정배수까지(도 3의 경우는 3주기까지) 해당 마이닝 노드의 채굴성공이 금지되도록 기능한다는 점이다.

다시, 도 3을 참조로 구체적으로 설명하면 다음과 같다.

제1 마이닝 노드(MN1)가 주기 t1에서 채굴시도(M1-1)가 성공하면, 블록윈도우 모듈은 주기 t2 ~ t4(3주기) 동안 제1 마이닝 노드(MN1)의 채굴시도(U1-2)를 무효화시키는 제1 블록윈도우(W1-1)를 설정한다. 또한, 블록윈도우 모듈(BWM)은 채굴이력 관리부(110)의 기능을 이용하여 제1 마이닝 노드(MN1)가 마이닝에 성공한 부분을, 예를 들면, "1-1"로 기록해둔다(도 3의 마이닝 이력 부분 "M"란 t1행 참조). 그러면, 제1 마이닝 노드(MN1)가 주기 t3에서 채굴을 시도하거나 설사 블록해쉬값을 풀어도 채굴실패를 의미하는 언마이닝(unmining)의 "U"란에 "1-2"로 기록되고(도 3의 채굴이력관리부(110) U란 t1행 참조), 동일한 주기 t3에서 채굴시도(M3-1)를 수행한 제3 마이닝 노드(MN3)가 채굴에 성공하게 되어 채굴이력 관리부(110)의 t3 주기 "M"란에 "3-1"을 기록하게 된다.

주기 t2에서는 제2 마이닝 노드(MN2) 만이 채굴시도(M2-1)를 성공하여 M란에 "2-1"로 기록되고, 블록윈도우가 제2 마이닝 노드에 주기 t3 ~ t5 동안 설정된다. 따라서, 주기 t5에서 제2 마이닝 노드(MN2)의 채굴시도(U2-2)는 실패로 기록된다(U란 "2-2" 참조).

주기 t4에서는 제3 마이닝 노드(MN3)에 블록윈도우가 t4 ~ t6 기간 동안 설정되어 있어 이 설정기간 중에 채굴시도(U3-2)는 언마이닝 U란에 "3-2"로 기록되고, 제4 마이닝 노드(MN4)의 채굴시도(M4-1)가 성공하여 "4-1"로 M란에 기록된다.

t5 주기 및 t6 주기에서는 제2 마이닝 노드(MN2)의 채굴시도(U2-2) 및 제4 마이닝 노드(M4)의 채굴시도(U4-2)가 존재하지만 모두 블록윈도우 설정 기간에 해당되어 언마이닝으로 U란에 "2-2", "4-2"로 기록되고, 마이닝이 발생하지 못하는 주기(이하 "블랙아웃" 또는 Black Out의 약자인 "BO"로 표현함)가 발생한다. 블랙아웃 주기의 동작에 대해서는 차후에 다시 설명한다.

이하 주기 t7 ~ t13의 경우에도, 블랙아웃(BO)이 발생한 경우 외에는 기본적으로는 주기 t0 ~ t6와 동작의 원리는 같다고 할 수 있다. 따라서, 다음에는 채굴이 발생하지 않는 블랙아웃(BO) 상태가 발생하는 경우에 대해서만 설명한다.

블랙아웃과 관련이 없을 때는 기본적으로 앞에서 설명한 바와 같이 최초 채굴(마이닝)이 발생하면, 해당 마이닝 노드에 대해서 그 다음 3주기 동안 채굴시도의 결과를 무효화하는 블록윈도우 기간을 설정하지만("블록윈도우 모드"라 함), 모든 블록윈도우의 설정으로 인해 또는 노드의 참여 미진으로 인해 채굴시도가 전혀 없는 블랙아웃이 발생할 경우에는 블록윈도우 모드를 해제하거나, 블록윈도우 기간 중에 무효화되었던 채굴시도의 결과를 유효화하는 "언마이닝 전용모드"를 동작할 수도 있다.

예를 들면, 주기 t5 및 t6에서는 제2 마이닝(MN2), 제3 마이닝(MN3), 제4 마이닝(MN4)에 대해 블록윈도우가 설정되어 주기 t5에서 제2 마이닝 노드(MN2)에 의해 생성된 채굴시도(U2-2)가 채굴이력 관리부(110)의 U란에 "2-2"로 등록되고, 주기 t6에서 제4 마이닝(MN4)에 의해 생성된 채굴시도(U4-2)도 U란에 "2-2"로 등록되어 블록이 생성되지 못하는 블랙아웃이 발생할 수 있다.

이 경우에는 무효화된 채굴시도(U2-2) 및 (U4-2)의 채굴실패를 채굴성공으로 전환하여 주기 t5에서 U란의 "2-2"와 주기 t6에서 U란의 "4-2"를 실질적으로는 블록이 생성되도록 채굴성공으로 전환하는 언마이닝 전용모드를 사용할 수도 있다.

블랙아웃의 동작모드의 또 다른 실시예로서, 주기 t8에서 블랙아웃이 발생하고 모든 마이닝 노드가 채굴시도를 하지 않는 경우에는 그 다음 주기 t9에서부터 일정 주기 동안 바로 블록윈도우 모드를 해제하는 블록윈도우 해제 모드를 수행할 수도 있다. 도 3를 참조하면, 주기 t9와 주기 t10에서 블록윈도우 해제모드(W-RE)가 설정되어 있으며, 이 경우 제1 마이닝 노드(MN1)의 채굴시도(U1-4) 및 제2 마이닝 노드(M2-3)의 채굴시도(M2-3)는 블록윈도우 해제 모드에서 수행되는 것이기 때문에 모두 마이닝 성공으로 채굴이력 관리부(110)의 M란에 기록된다. 블록윈도우 해제 모드(W-RE)에서는 모든 마이닝 노드가 채굴시도를 수행하지 않는 경우를 예로 하였지만, 언마이닝 전용모드에서와 같이 마이닝 노드가 채굴시도를 시행되었지만 블록윈도우의 설정으로 그 채굴시도가 무효화된 경우에도 그 무효화된 채굴시도를 유효화로 전환하는 것 없이 그 다음 주기에 바로 블록윈도우 해제모드 동작을 진행할 수도 있다.

블록윈도우 해제모드 또는 언마이닝 전용모드는 참여 노드들 중 적어도 하나가 채굴시도를 성공한 경우에는 블랙아웃 감시부(130)에 의해 자동으로 해제되고 블록윈도우 모드로 복귀하게 되어 블록윈도우 생성부(150)는 블록윈도우 사이즈 산출부(140)와 연동하여 블록윈도우를 적절하게 생성하여 해당 마이닝 노드에게 할당 또는 설정하게 된다.

다음에, 정상적인 블록윈도우 모드로 복귀한 주기 t11에서는 제3 마이닝 노드(MN3)의 채굴시도(M3-3)가 채굴성공을 나타내는 M란에 "3-3"으로 등록되고, 정상적인 블록윈도우 모드로 복귀한 상태이기 때문에 제3 마이닝 노드(MN3)의 주기 t12~t14에 블록윈도우(W3-2)가 설정된다.

주기 t12에서 제2 마이닝 노드(MN2)의 제4 채굴시도(U2-4)의 경우는 블록윈도우 해제 이후 다시 최초 발생한 채굴시도이지만 실패로 되었기 때문에 U란에 "2-4"로 등록되고, 블록윈도우가 제2 마이닝 노드(MN2)에는 설정되지 않았다. 주기 t12에서는 제4마이닝 노드(MN4)의 제3 채굴시도(M4-3)가 마이닝 성공으로 인식되어 M란에 "4-3"으로 등록된다.

주기 t13에서, 제3마이닝 노드(MN3)의 제4 채굴시도(U3-4)는 블록윈도우 설정으로 U란의 3-4로 등록되었지만, 언마이닝 전용모드를 통해 채굴성공으로 전용되어 사용될 수 있다.

이와 같이 본 발명의 블록윈도우의 개념을 설명하였다. 그러나 본 발명의 블록윈도우는 블록윈도우 모드(BW), 언마이닝 전용모드(U-TR), 블록윈도우 해제모드(W-RE)에만 국한되는 것은 아니다. 예를 들면, 전체 마이닝 노드의 마이닝 성공률에 따라서 차별적으로 블록윈도우를 설정하거나 블록윈도우의 설정 주기를 차별적으로 설정할 수도 있다.

다음에, 도 4를 참조하여 본 발명의 바람직한 일실시예에 따른 블록윈도우 가 적용된 가상화폐 거래시스템의 합의 알고리즘에 관한 동작 프로세스를 설명한다.

본 발명의 일실시예에 따른 가상화폐 시스템(도 1)에서의 4개의 마이닝 노드(MN1, MN2, MN3, MN4)를 예로 들어 설명한다. 편의상 4개의 마이닝 노드의 명칭을 제1 마이닝 노드(MN1), 제2 마이닝 노드(MN2), 제3 마이닝 노드(MN3), 제4 마이닝 노드(MN4)로 칭한다. 각 마이닝 노드들 중 적어도 일부는 컴퓨터 파워에서 차별이 있는 것으로 가정한다. 또한, 본 발명의 일실시예에 따른 가상화폐 거래 시스템은 기본적으로 가상화폐 기능모듈 관리 서버(200)를 통해 가상화폐를 P2P로 거래할 수 있는 환경 및 마이닝 기능 중 적어도 일부가 모든 참여 노드들에게 이미 갖추어져 있다고 가정한다.

또한, 도 2의 블록윈도우 관리서버(100)는 하드웨어와 소프트웨어가 결합된 개념이지만, 소프트웨어로서만 이루어진 블록윈도우 모듈로 구성될 수도 있다. 이 경우 블록윈도우 모듈은 블록윈도우 관리서버(100)의 구성요소인 "마이닝 노드 이력관리부(110), 거래이력 관리부(120), 블랙아웃 감시부(130), 블록윈도우 사이즈 산출부(140), 블록윈도우 생성부(150)를 기능적으로 동일하게 포함할 수 있다. 따라서, 각 블록윈도우 관리서버(100)의 각 구성요소(110, 120, 130, 140, 150)는 소프트웨어 블록윈도우 모듈에서도 동일하게 포함되는 구성요소일 수 있으며, 이 부분에 대해서는 전술한 바와 같다.

이하에서는 블록윈도우 관리서버(100)에 의해 블록윈도우 관련 동작이 수행되는 예를 설명한다.

스텝 S1: 블록윈도우 관리서버(100)가 블록윈도우 모듈 업데이트부(160)를 통해 가상화폐 거래 시스템 내 모든 참여 노드들에게 블록윈도우 모듈을 제공한다. 일반노드 또는 마이닝 노드들은 이미 다운로드 받은 다른 노드들로부터 블록윈도우 모듈을 P2P로 제공받을 수도 있다. 블록윈도우 모듈 업데이트부(160)는 기존 버전의 블록윈도우 모듈과 업데이트된 최신 블록윈도우 모듈을 수시로 제공할 수 있다.

다른 실시예로서, 가상화폐 시스템의 작업증명 모듈이나 마인닝 모듈 또는 일반 거래용 모듈(월릿 모듈) 등에 함께 블록윈도우 합의 알고리즘이 포함되어 있을 수도 있다. 이 경우에는 스텝 S1은 이미 블록윈도우 모듈이 존재하는 가상화폐 시스템을 시동하는 작업을 수행할 수도 있다.

스텝S2: 가상화폐 거래 시스템 내에서 노드들 간에 가상화폐를 주고받는 거래가 진행되고, 그 거래내역(이하 "트랜잭션"이라함)이 일정주기(검증을 위한 작업증명 주기, 예를 들면, 1분, 3분, 10분 등) 동안 마이닝 노드(MN1, MN2, MN3, MN4), 일반 노드(N1, N2, N3, N4) 등, 각종 노드들에게 전달된다.

스텝S3: 마이닝 노드들 중 하나, 예를 들면 제1 마이닝 노드(MN1)가 블록해쉬를 풀어서 작업증명 주기 내의 거래내역, 즉 트랜잭션을 블록에 기록하여 신규블록을 생성하고 각종 노드(MN1, MN2, MN3, MN4, N1, N2, N3, N4)에 신규블록을 전파한다.

스텝S4: 다른 노드들이 제1마이닝 노드(MN1)가 생성한 신규블록의 정당성을 승인한다.

스텝S5: 노드들의 승인 숫자가 일정값을 초과(예를 들면 참여 마이닝 노드의 50% 등)하고, 작업증명주기(예를 들면, 1분, 10분 등) 조건을 만족하는가를 블록윈도우 관리서버(100)가 거래 이력 관리부(120)를 통해 체크한다.

스텝S6: 스텝S5에서 거래 이력 관리부(120)가 승인기준 및 작업증명 주기를 만족한다고 판단하면 마이닝(채굴)이 성공한 것으로 인정하고 채굴 이력관리부(110)는 마이닝에 성공한 해당 마이닝 노드의 식별자 및 마이닝 성공 이력(성공회수, 시간)을 등록한다. 구체적으로는 도 3에서 마이닝 노드 이력관리부(110)는 제1 마이닝 노드(MN1)의 채굴시도(M1-1)를 채굴성공으로 판단하고 마이닝 성공 등록기(M)에 그 제1마이닝 노드의 마이닝 성공정보를 등록한다. 예를 들면, 제1마이닝 노드의 식별자("1") 및 마이닝 성공 이력(회수 "1)를 등록한다(도 3의 주기 t1에서 M란 "1-1" 참조). 그 밖에도 마이닝 성공정보에는 시간, 채굴성공율, 전체 마이닝 노드와 관련된 채굴성공점유율, 상위 일정비율(예를 들면, 상위 5%, 10%, 20%, 30%, 50% 등)에 대한 전체 성공과점율 등이 더 포함될 수도 있다.

스텝S7: 거래이력 관리부(120)는 또한 현재까지 형성된 블록수를 산출하여 업데이트 한다.

스텝S8: 블록윈도우 사이즈 산출부(140)는 현재까지 블록체인에 연결된 모든 블록의 개수(블록수)와 마이닝 노드에 관한 채굴이력정보를 기초로 현재의 블록윈도우 사이즈를 산출한다.

블록윈도우 사이즈 산출부(140)는, 예를 들면, 다음과 같은 수식으로 블록윈도우 사이즈를 산출할 수 있다.

y = (N*0.7)/BLOCK_NUM_OF_MAX_BLOCKWINDOW *x

(if x > BLOCK_NUM_OF_MAX_BLOCKWINDOW then x = BLOCK_NUM_OF_MAX_BLOCKWINDOW )

y : 블록윈도우 사이즈

x : 현재 블록 수

BLOCK_NUM_OF_MAX_BLOCKWINDOW : 블록윈도우 최대 크기의 블록 넘버 (10년; 1,752,000)

N: 노드인수(A=참여 노드수/마이닝 노드, 또는 B=전체 마이닝 노드수/마이닝 성공 경험이 있는 마이닝 노드수, 또는 C= 과점 마이닝 노드수/참여 마이닝 노드수 등으로 정의할 수 있다)

블록윈도우 사이즈를 산출하는 기본개념은 초기에는 참여하는 마이닝 노드나 일반 노드가 많지 않지만 시간이 지나면서 정상화될 것으로 보고, 점차 블록윈도우 사이즈를 넓혀나가는 것을 기본으로 하지만, 블록윈도우는 참여 마이닝 노드의 수를 실질적으로 제한하는 측면이 있기 때문에 무한정 늘려갈 수는 없다. 따라서 최대 블록윈도우 사이즈가 설정될 수 있는 시점 또는 그 최대 윈도우 사이즈를 미리 상정해두고 블록윈도우 사이즈의 크기를 적절히 설정하면서 가상화폐 거래 시스템을 동작할 수 있다.

이러한 기본개념에서 시간이 지나면서 현재의 블록수(x)가 증가할 것이므로 현재의 블록수(x)를 정비례 변수로 정하고, 최대 윈도우 사이즈(Wm)일 때의 블록수(BLOCK_NUM_OF_MAX_BLOCKWINDOW)를 반비례 변수로 두고, 노드인수(N=A or B or C)를 정비례 변수로 하여 블록윈도우 사이즈(y)를 산출할 수 있다.

아래 표 1은 년간, 주간, 일간, 시간, 분간 블록수 변화추이를 나타낸 표이다. 표 1의 NO. 7에서 "분"=10,080", 블록수="3,360"으로 표현되어 있다. 10080(분)/3360(블록수) = 3이다. 따라서 1개의 블록이 생성되는데 3분이 소요된다는 점에서 일실시예에 따른 가상화폐 거래 시스템에서 블록의 생성주기(즉 작업증명 주기)는 3분임을 알 수 있다. 즉, 3분마다 1개의 채굴성공이 발생하는 가상화폐 거래 시스템의 예를 표 1에서 보여주고 있다.

NO. 블록수 N Wm
1 1 365 8,760 525,600 175,200 100 7.000
2 5 1,825 43,800 2,628,000 876,000 100 35.000
3 10 3,650 87,600 5,256,000 1,752,000 100 70.000
4 20 7,300 175,200 10,512,000 3,504,000 100 70.000
5 30 10,950 262,800 15,768,000 5,256,000 100 70.000
6 ** ** ** ** ** ** ** **
7 1 7 168 10,080 3,360 100 0.134
8 2 14 336 20,160 6,720 100 0.268
9 3 21 504 30,240 10,080 100 0.403
10 4 28 672 40,320 13,440 100 0.537
11 5 35 840 50,400 16,800 100 0.671
12 6 42 1,008 60,480 20,160 100 0.805
13 7 49 1,176 70,560 23,520 100 0.940
14 8 56 1,344 80,640 26,880 100 1.074
15 9 63 1,512 90,720 30,240 100 1.208
16 10 70 1,680 100,800 33,600 100 1.342

도 5는 100년간 예측 블록수 증가 추세에 따라서 도출한 최대 블록윈도우 사이즈(y) 예측 그래프도이다. 도 5를 참조하면, 3분을 작업증명주기로 할 경우 10년일 때 블록수 = 1,752,000(표 1 참조)에 도달하고, 가상화폐의 공급량과 블록수(채굴량)를 볼 때 대략 70% 내외의 채굴이 이루어질 수 있는 기간이 된다. 전체 가상화폐는 채굴량에 의해 화폐공급이 이루어지기 때문에 이 시점 이후부터는 마이닝 노드가 가상화폐를 채굴하는 동기 또는 욕구가 감소하는 시점이 된다. 따라서, 블록윈도우의 사이즈 증가를 멈추는 시점을 10년으로 정하는 것도 할 수 있다. 또한, 노드인수에 0.7을 곱하는 것은 전체 채굴 참여 노드 수를 기준으로 블록윈도우 사이즈를 상정하지 않고 대략 전체 채굴 참여 노드 수의 최대 70% 내외를 기준으로 블록윈도우 사이즈를 제한하여 상정하기 때문이다. 노드인수 N은 단순화를 위해 100으로 정하고 있으나 실질적으로는 A=(전체 참여 노드수), B=(전체 참여 노드수)/(전체 마이닝 노드수), C=(전체 마이닝 노드수)/(마이닝 성공 경험이 있는 참여 마이닝 노드수) 등으로 정의할 수 있으며, 마이닝 노드의 독과점율 또는 과점율이 가능한 작아지는 방향으로 블록윈도우 사이즈를 결정할 수 있으면, 어떠한 수식도 가능하다. 노드인수(N)가 상기 A, B 및 C 중 적어도 하나일 경우 또는 다른 변수를 포함한 수식일 경우 거래이력 관리부(120)가 제공하는 최근 일정기간(예를 들면, 1시간, 3시간, 1일, 1주, 1개월 등) 동안 거래량, 거래량 변화율, 거래량 변화추이 등 거래량 관련 데이터를 보여주는 거래이력정보로부터 그 일정기간 거래량이나 거래량 변화율, 거래량 변화추이를 반비례 인수로 포함할 수도 있다. 이 경우는 거래량이 짧은 시간에 급격하게 증가할 때, 블록윈도우 사이즈를 감소시켜 일시적으로 거래량를 신속하게 처리할 수 있는 이점이 있다.

일예로서, 구체적으로 표 1의 NO. 7의 1주간 블록윈도우 사이즈(y)는 다음과 같이 산출될 수 있다.

y(1주간) = [0.7 (N)(1주간 블록수)]/1752000(10년간 블록수) = 0.134(Wm)

따라서, 1주마다 0.134씩 블록윈도우 사이즈를 10년간 증가시킬 수 있다. 그러나, 블록윈도우 사이즈는 노드인수(N)에 따라서도 변화할 수 있는 것이므로 지속적으로 증감이 발생할 수 있고, 또한 10년 이후에도 노드인수의 변화에 따라서 증감이 발생할 수 있다.

다른 일실시예로서, 상위 일정비율을 차지하는 마이닝 노드(예를 들면, 상위 5%, 10%, 상위 20%, 상위 50% 등)의 독과점율을 다음과 같이 정의할 때,

독과점율=[상위 일정 비율의 마이닝 노드의 채굴량(블록수)/전체 참여 마이닝 노드의 채굴량(블록수)](채굴 기간은, 최근 일정기간, 예를 들면, 최근 1개월, 최근 3개월, 최근 6개월, 최근 1년 등의 일정기간)이면,

블록윈도우 사이즈(y)를 단순히 y=(독과점율) ×nP(n은 자연수, P는 블록생성 주기로서, 예를 들면, 1분, 3분, 10분 등)로 정할 수도 있다.

이 경우에는 독과점 마이닝 노드의 독과점율이 커질수록 블록윈도우 사이즈가 커지기 때문에 현실적이고도 직접적으로 마이닝 노드의 독점적, 과점적 채굴을 방지할 수 있다.

또 다른 일실시예로서, 상위 일정비율(예를 들면 상위 10%, 상위 20%, 상위 50% 등과 같이 상위 0% 부터 50%까지 등)의 독과점 마이닝 노드에 대해 채굴 점유율에 비례하여 차별적으로 블록윈도우 사이즈를 할당 또는 설정할 수도 있다. 이 경우, 일정한 채굴 점유율 미만의 마이닝 노드에게는 블록윈도우를 설정하지 않을 수도 있다.

다른 실시예로서, 채굴 점유율에 비례하여 차별적으로 블록윈도우 사이즈를 변화시켜서 모든 노드에게 사이즈에 있어서 차등을 두어 블록윈도우를 설정할 수도 있다.

또 다른 일실시예로서, 마이닝 노드에 대해 최근 단기 일정기간 동안의 채굴점유율에 비례하여 블록윈도우를 설정하거나 블록윈도우의 사이즈를 차별적으로 설정할 수도 있다. 이 경우는 갑자기 거래량이 급증할 때 그 거래량이나 거래량의 변화추이를 통해 블록윈도우 모드에서 블록윈도우 사이즈를 감소 시키거나 일시 블록윈도우 해제 모드를 통해 작업증명이 원활히 이루어지도록 한 후 다시 정상 상태(예를 들면, 시간당 평균 거래량, 일평균 거래량, 일주평균거래량 등으로 거래량이 복귀할 경우의 상태)로 회복되면, 다시 정상적인 블록윈도우 모드 동작을 수행할 수 있다.

이와 같은 경우에도, 일부 마이닝 노드에만 채굴이 집중화되는 현상을 막을 수 있으므로 본 발명의 목적을 달성할 수 있다.

블록윈도우의 사이즈 산출과정이 종료되면, 이어서 스텝S9에서, 산출된 블록윈도우 사이즈에 따라서 채굴을 달성한 마이닝 노드마다, 또는 일정 비율 이상의 채굴 성공율을 가진 마이닝 노드에게만 적절한 윈도우 사이즈를 산출하는 블록윈도우 모드로 가상화폐 거래 시스템을 동작시킨다.

스텝S10에서, 블랙아웃이 발생하면, 스텝S11에서 블랙아웃 감시부(130)는 블록윈도우 모드 동작을 해제한다(블록윈도우 해제모드). 시스템에 블록윈도우 해제모드를 설정할 때는, 블랙아웃 주기에서(예를 들면 도 3의 주기 t8에서) 바람직하게는, 모든 마이닝 노드가 채굴시도를 하지 않는 상태일 때 수행한다(블록윈도우 해제 모드가 실행된 주기는 도 3의 주기 t9 ~ t10에 해당).

다른 일실시예로서, 다른 마이닝 모드가 채굴시도(예를 들면, 도 3의 제2 마이닝 노드(MN2)의 제2 채굴시도(U2-2) 및 제4 마이닝 노드(MN4)의 제2 채굴시도(U4-2)에 해당)를 수행하고 있지만 기존의 블록윈도우 설정 주기에 속하기 때문에(예를 들면, 도 3의 주기 t5 ~t6에 해당) 유효 채굴로 인정받지 못한 상태(예를 들면, 도 3의 채굴이력 관리부(110)의 U란 "2-2", "4-2")인 경우에는 블랙아웃 감시부(130)가 언마이닝 전용모드로 전환하여 채굴 실패를 의미하는 언마이닝 등록("2-2", "4-2")을 마이닝 등록으로 전용시킬 수 있다.

스텝S11 과정이 종료되면, 스텝S12로 진행하여 지금까지의 과정을 업데이트하여 각 노드에 전파하고 이어서 스텝S2로 진행하여 처음부터의 과정을 반복한다.

스텝S10에서 블랙아웃이 발생하지 않으면 스텝S12로 역시 진행하여, 지금까지의 과정을 업데이트하여 각 노드에 전파하고 이어서 스텝S2로 진행하여 처음부터의 과정을 반복한다.

이상과 같이, 본 발명의 바람직한 실시예에 대하여 설명하였지만, 본 발명의 범위는 이에 한정되지 않는다. 예를 들면, 블록윈도우 모듈을 가상화폐 시스템이나 기타 블록체인을 기반으로 하는 관련 시스템에 일체로 결합하거나, 프레임워크 형태, 프레임워크를 저장한 저장매체 형태, 다운로드 형태, 프레임워크과 하드웨어가 함께 결합된 서버 형태 등으로 제공할 수 있으므로, 기존 가상화폐 시스템이나 기타 블록체인 기반 시스템에 간편하게 적용할 수 있어 새로운 기능에 따른 기존의 시스템을 해체하는 낭비요소를 제거할 수 있다. 또한, 본 발명은 가상화폐 시스템 뿐만 아니라 블록체인을 응용하는 모든 시스템에도 그 응용에 따라서 다앙하게 적용이 가능하다. 따라서, 본 발명은 다음의 특허청구범위를 일탈하지 않고도 당분야의 통상의 기술자에 의해 여러 가지 변경 및 변형이 가능하다.

70: 통신망 71: 이동통신망
72: 인터넷 73: 블루투스 BL
74: 전용선 75: LPWAN
100: 블록윈도우 관리서버 110: 채굴이력 관리부
120: 거래이력 관리부 130: 블랙아웃 감시부
140: 블록윈도우 사이즈 산출부 150: 블록윈도우 생성부
160: 블록윈도우 모듈 업데이트부 200: 가상화폐 기능모듈 관리 서버
210: 채굴기능 모듈 관리부 220: 월릿기능 모듈 관리부
230: 블록체인 기능 모듈 관리부 240: 네트워크 라우팅 모듈 관리부 300: 가상화폐 거래소 서버
MN1, MN2, MN3, MN4: 제1 내지 제4 마이닝 노드
N5, N6, N7, N8: 일반노드

Claims (22)

  1. 작업증명에 참여하는 마이닝 노드와 가상화폐 거래를 위한 일반 노드를 적어도 포함하는 블록체인 기반 가상화폐 거래 시스템에 있어서,
    상기 가상화폐 거래시스템은 특정 작업증명주기에 채굴성공을 달성한 마이닝 노드에 대해 상기 특정 작업증명주기 이후에 채굴시도에 대해 일정한 제약을 부여하는 채굴 제한을 위한 합의 알고리즘을 포함하는 블록윈도우 모듈을 포함하고,
    상기 블록윈도우 모듈은,
    상기 작업증명 과정에서 마이닝 노드의 작업증명 동작 중 하나인 채굴시도의 결과를 해당 마이닝 노드와 연계하여 채굴이력정보를 기록하는 채굴이력 관리부와;
    상기 채굴이력정보에 기초하여 채굴시도를 수행한 결과 채굴성공을 달성한 마이닝 노드들 중 적어도 일부에 대해 해당 작업증명주기 이후 일정 기간 동안 채굴시도의 결과를 무효화하거나 채굴시도를 금지하는 블록윈도우를 설정하는 블록윈도우 생성부를;
    포함하고,
    상기 채굴이력정보는 블록체인에 연결되는 누적 블록수, 참여 마이닝 노드수 정보, 채굴에 성공한 경력이 있는 마이닝 노드수 정보, 개별 마이닝 노드의 채굴 이력 정보, 마이닝 노드들의 채굴 성공율, 상위 마이닝 노드들의 채굴 독과점율, 과점율중 적어도 하나를 포함하고,
    상기 블록윈도우 모듈은 상기 채굴이력정보를 기초로 채굴에 성공한 마이닝 노드에 대해 설정할 블록윈도우 사이즈를 산출하여 블록윈도우를 제공하는 블록윈도우 사이즈 산출부 및 현재 또는 최근 일정기간 동안 일반노드들 간의 가상화폐 거래이력정보를 제공하는 거래이력 관리부를 더 포함하며,
    상기 블록윈도우 사이즈 산출부로부터 산출되는 상기 블록윈도우 사이즈(y)는,
    y = [0.7 (N)×현재까지의 누적 블록수)]/(10년간 누적 블록수)
    로 정의되며,
    상기 N은 노드인수로서
    A=(전체 참여 노드수), B=(전체 참여 노드수)/(전체 마이닝 노드수), C=(전체 마이닝 노드수)/(마이닝 성공 경험이 있는 참여 마이닝 노드수)
    중 어느 하나인 것을 특징으로 하는 가상화폐 거래 시스템.
  2. 삭제
  3. 삭제
  4. 제1항에 있어서,
    상기 변수 A, B 및 C 중 적어도 하나는 상기 거래이력정보로부터의 일정기간 거래량 또는 거래량 변화율을 반비례 인수로 포함할 수 있는 것을 특징으로 하는 가상화폐 거래 시스템.
  5. 작업증명에 참여하는 마이닝 노드와 가상화폐 거래를 위한 일반 노드를 적어도 포함하는 블록체인 기반 가상화폐 거래 시스템에 있어서,
    상기 가상화폐 거래시스템은 특정 작업증명주기에 채굴성공을 달성한 마이닝 노드에 대해 상기 특정 작업증명주기 이후에 채굴시도에 대해 일정한 제약을 부여하는 채굴 제한을 위한 합의 알고리즘을 포함하는 블록윈도우 모듈을 포함하고,
    상기 블록윈도우 모듈은,
    상기 작업증명 과정에서 마이닝 노드의 작업증명 동작 중 하나인 채굴시도의 결과를 해당 마이닝 노드와 연계하여 채굴이력정보를 기록하는 채굴이력 관리부와;
    상기 채굴이력정보에 기초하여 채굴시도를 수행한 결과 채굴성공을 달성한 마이닝 노드들 중 적어도 일부에 대해 해당 작업증명주기 이후 일정 기간 동안 채굴시도의 결과를 무효화하거나 채굴시도를 금지하는 블록윈도우를 설정하는 블록윈도우 생성부를;
    포함하고,
    상기 채굴이력정보는 블록체인에 연결되는 누적 블록수, 참여 마이닝 노드수 정보, 채굴에 성공한 경력이 있는 마이닝 노드수 정보, 개별 마이닝 노드의 채굴 이력 정보, 마이닝 노드들의 채굴 성공율, 상위 마이닝 노드들의 채굴 독과점율, 과점율중 적어도 하나를 포함하고,
    상기 블록윈도우 모듈은 상기 채굴이력정보를 기초로 채굴에 성공한 마이닝 노드에 대해 설정할 블록윈도우 사이즈를 산출하여 블록윈도우를 제공하는 블록윈도우 사이즈 산출부 및 현재 또는 최근 일정기간 동안 일반노드들 간의 가상화폐 거래이력정보를 제공하는 거래이력 관리부를 더 포함하며,
    상위 일정비율의 채굴 성공율을 차지하는 마이닝 노드의 과점율(R)을 다음과 같이 정의할 때,
    R=[상위 일정 비율의 마이닝 노드의 채굴량(블록수)/전체 참여 마이닝 노드의 채굴량(블록수)], 단 채굴기간은 최근 일정기간,
    블록윈도우 사이즈(y)는,
    y=(과점율) ×nP(n은 자연수, P는 블록생성 주기로서)
    로 정의되며,
    상기 변수 A, B 및 C 중 적어도 하나는 상기 거래이력정보로부터의 일정기간 거래량 또는 거래량 변화율을 반비례 인수로 포함할 수 있는 것을 특징으로 하는 가상화폐 거래 시스템.
  6. 제5항에 있어서,
    상기 마이닝 노드에 대해 해당 채굴 성공율에 비례하여 차별적으로 블록윈도우 사이즈가 설정되거나, 무차별적으로 블록윈도우가 설정되며,
    상기 노드인수(N)는 상기 거래이력정보로부터의 일정기간 거래량을 반비례 인수로 포함하는 것을 특징으로 하는 가상화폐 거래 시스템.
  7. 제4항 내지 제6항 중 어느 한 항에 있어서,
    상기 블록윈도우 모듈은 특정 작업증명주기 동안 시스템 내에서 블록이 생성되지 않는 블랙아웃 발생여부를 감시하는 블랙아웃 감시부를 더 포함하고,
    시스템 내에서 블랙아웃이 발생한 것을 감지할 때 상기 블랙아웃 감시부는 상기 특정 작업증명주기 이후 작업증명주기에 마이닝 노드들에 대해 이미 설정된 블록윈도우 설정을 해제하는 블록윈도우 해제모드를 설정하며,
    상기 블랙아웃 감시부는 상기 블록윈도우 해제모드가 설정된 이후 작업증명 주기 동안 블록이 생성된 것을 감지하면 즉시 블록윈도우 해제모드를 블록윈도우 모드로 전환하며, 상기 블록윈도우 모드에 따라서 상기 블록윈도우 생성부는 상기 블록윈도우 사이즈 산출부와 연동하여 블록윈도우를 다시 생성하는 것을 특징으로 하는 가상화폐 거래 시스템.
  8. 제4항 내지 제6항 중 어느 한 항에 있어서,
    상기 블록윈도우 모듈은 특정 작업증명주기 동안 시스템 내에서 블록이 생성되지 않는 블랙아웃 발생여부를 감시하는 블랙아웃 감시부를 더 포함하고,
    상기 특정 작업주기 동안 블록윈도우가 설정된 적어도 하나 이상의 마이닝 노드가 채굴시도를 수행하여 채굴이 무효화된 것을 상기 채굴이력관리부가 기록한 경우, 또한, 상기 블랙아웃 감시부가 상기 특정 작업주기 동안 블랙아웃이 발생한 것을 감지한 경우, 상기 채굴이력관리부에 기록된 해당 무효화 채굴을 유효채굴로 전환하는 언마이닝 전용모드를 설정하며,
    상기 블랙아웃 감시부는 상기 언마이닝 전용모드가 설정된 이후 작업증명 주기 동안 블록이 생성된 것을 감지하면 즉시 언마이닝 전용모드를 블록윈도우 모드로 전환하며, 상기 블록윈도우 모드에 따라서 상기 블록윈도우 생성부는 상기 블록윈도우 사이즈 산출부와 연동하여 블록윈도우를 다시 생성하는 것을 특징으로 하는 가상화폐 거래 시스템.
  9. 제7항에 있어서,
    상기 가상화폐 거래 시스템은 상기 블록윈도우 모듈을 업데이트하여 노드들에게 프레임워크로 제공하는 블록윈도우 관리 서버를 더 포함하며,
    상기 블록윈도우 관리 서버는 독립된 개체로서 일반 가상화폐 거래시스템에 특정 통신 커넥터를 통해 결합가능하고, 상기 블록윈도우 모듈은 업데이트될 때마다 상기 블록윈도우 관리 서버로부터 노드들에게 제공되거나, 노드들로부터 다른 노드들에게 전파되는 것을 특징으로 하는 가상화폐 거래 시스템.
  10. 제8항에 있어서,
    상기 가상화폐 거래 시스템은 상기 블록윈도우 모듈을 업데이트하여 노드들에게 프레임워크로 제공하는 블록윈도우 관리 서버를 더 포함하며,
    상기 블록윈도우 관리 서버는 독립된 개체로서 일반 가상화폐 거래시스템에 특정 통신 커넥터를 통해 결합가능하고, 상기 블록윈도우 모듈은 업데이트될 때마다 상기 블록윈도우 관리 서버로부터 노드들에게 제공되거나, 노드들로부터 다른 노드들에게 전파되는 것을 특징으로 하는 가상화폐 거래 시스템.
  11. 작업증명에 참여하는 마이닝 노드와 가상화폐 거래를 위한 일반 노드를 적어도 포함하는 블록체인 기반 가상화폐 거래 시스템에서의 가상화폐 거래 방법에 있어서, 상기 가상화폐 거래시스템은 특정 작업증명주기에 채굴성공을 달성한 마이닝 노드에 대해 상기 특정 작업증명주기 이후에 채굴시도에 대해 일정한 제약을 부여하는 채굴 제한을 위한 합의 알고리즘을 포함하는 블록윈도우 모듈을 포함하고,
    상기 블록윈도우 모듈의 채굴이력 관리부가 상기 작업증명 과정에서 마이닝 노드의 작업증명 동작 중 하나인 채굴시도의 결과를 해당 마이닝 노드와 연계하여 채굴이력정보를 기록하는 채굴이력정보 기록단계와;
    상기 블록윈도우 모듈의 블록윈도우 생성부가 상기 채굴이력정보에 기초하여 채굴시도를 수행한 결과 채굴성공을 달성한 마이닝 노드들 중 적어도 일부에 대해 해당 작업증명주기 이후 일정 기간 동안 채굴시도의 결과를 무효화하거나 채굴시도를 금지하는 블록윈도우를 설정하는 블록윈도우 설정단계를;
    포함하고,
    상기 채굴이력정보는 블록체인에 연결되는 누적 블록수, 참여 마이닝 노드수 정보, 채굴에 성공한 경력이 있는 마이닝 노드수 정보, 개별 마이닝 노드의 채굴 이력 정보, 마이닝 노드들의 채굴 성공율, 상위 마이닝 노드들의 채굴 독과점율 중 적어도 하나를 포함하고,
    상기 채굴이력정보 기록단계 이후,
    상기 블록윈도우 모듈의 거래이력 관리부가 현재 또는 최근 일정기간 동안 일반노드들 간의 가상화폐 거래이력정보를 제공하는 단계와;
    상기 블록윈도우 모듈의 블록윈도우 사이즈 산출부가 상기 채굴이력정보를 기초로 채굴에 성공한 마이닝 노드에 대해 설정할 블록윈도우 사이즈를 산출하여 블록윈도우를 제공하는 단계를;
    더 포함하며,
    상기 블록윈도우 사이즈 산출부로부터 산출되는 상기 블록윈도우 사이즈(y)는,
    y = [0.7 (N)×현재까지의 누적 블록수)]/(10년간 누적 블록수)
    로 정의되며,
    상기 N은 노드인수로서
    A=(전체 참여 노드수), B=(전체 참여 노드수)/(전체 마이닝 노드수), C=(전체 마이닝 노드수)/(마이닝 성공 경험이 있는 참여 마이닝 노드수)
    중 어느 하나인 것을 특징으로 하는 가상화폐 거래 방법.
  12. 삭제
  13. 삭제
  14. 제11항에 있어서,
    상기 변수 A, B 및 C 중 적어도 하나는 상기 거래이력정보로부터의 일정기간 거래량 또는 거래량 변화율을 반비례 인수로 포함할 수 있는 것을 특징으로 하는 가상화폐 거래 방법.
  15. 작업증명에 참여하는 마이닝 노드와 가상화폐 거래를 위한 일반 노드를 적어도 포함하는 블록체인 기반 가상화폐 거래 시스템에서의 가상화폐 거래 방법에 있어서, 상기 가상화폐 거래시스템은 특정 작업증명주기에 채굴성공을 달성한 마이닝 노드에 대해 상기 특정 작업증명주기 이후에 채굴시도에 대해 일정한 제약을 부여하는 채굴 제한을 위한 합의 알고리즘을 포함하는 블록윈도우 모듈을 포함하고,
    상기 블록윈도우 모듈의 채굴이력 관리부가 상기 작업증명 과정에서 마이닝 노드의 작업증명 동작 중 하나인 채굴시도의 결과를 해당 마이닝 노드와 연계하여 채굴이력정보를 기록하는 채굴이력정보 기록단계와;
    상기 블록윈도우 모듈의 블록윈도우 생성부가 상기 채굴이력정보에 기초하여 채굴시도를 수행한 결과 채굴성공을 달성한 마이닝 노드들 중 적어도 일부에 대해 해당 작업증명주기 이후 일정 기간 동안 채굴시도의 결과를 무효화하거나 채굴시도를 금지하는 블록윈도우를 설정하는 블록윈도우 설정단계를;
    포함하고,
    상기 채굴이력정보는 블록체인에 연결되는 누적 블록수, 참여 마이닝 노드수 정보, 채굴에 성공한 경력이 있는 마이닝 노드수 정보, 개별 마이닝 노드의 채굴 이력 정보, 마이닝 노드들의 채굴 성공율, 상위 마이닝 노드들의 채굴 독과점율 중 적어도 하나를 포함하고,
    상기 채굴이력정보 기록단계 이후,
    상기 블록윈도우 모듈의 거래이력 관리부가 현재 또는 최근 일정기간 동안 일반노드들 간의 가상화폐 거래이력정보를 제공하는 단계와;
    상기 블록윈도우 모듈의 블록윈도우 사이즈 산출부가 상기 채굴이력정보를 기초로 채굴에 성공한 마이닝 노드에 대해 설정할 블록윈도우 사이즈를 산출하여 블록윈도우를 제공하는 단계를;
    더 포함하며,
    상위 일정비율의 채굴 성공율을 차지하는 마이닝 노드의 과점율(R)을 다음과 같이 정의할 때,
    R=[상위 일정 비율의 마이닝 노드의 채굴량(블록수)/전체 참여 마이닝 노드의 채굴량(블록수)], 단 채굴기간은 최근 일정기간,
    블록윈도우 사이즈(y)는,
    y=(과점율) ×nP(n은 자연수, P는 블록생성 주기로서)
    로 정의되며,
    상기 변수 A, B 및 C 중 적어도 하나는 상기 거래이력정보로부터의 일정기간 거래량 또는 거래량 변화율을 반비례 인수로 포함할 수 있는 것을 특징으로 하는 가상화폐 거래 방법.
  16. 제15항에 있어서,
    상기 블록윈도우 제공 단계에서,
    상기 마이닝 노드에 대해 해당 채굴 성공율에 비례하여 차별적으로 블록윈도우 사이즈가 설정되거나, 무차별적으로 블록윈도우가 설정되며,
    상기 노드인수(N)는 상기 거래이력정보로부터의 일정기간 거래량을 반비례 인수로 포함하는 것을 특징으로 하는 가상화폐 거래 방법.
  17. 제14항 내지 제16항 중 어느 한 항에 있어서,
    상기 블록윈도우 모듈의 블랙아웃 감시부가 특정 작업증명주기 동안 시스템 내에서 블록이 생성되지 않는 블랙아웃 발생여부를 감시하는 블랙아웃 감시단계와;
    블랙아웃이 발생한 것을 감지할 때 상기 블랙아웃 감시부가 상기 특정 작업증명주기 이후 작업증명주기에 마이닝 노드들에 대해 이미 설정된 블록윈도우 설정을 해제하는 블록윈도우 해제모드를 설정하는 블록윈도우 해제모드 설정단계와;
    상기 블랙아웃 감시부가 상기 블록윈도우 해제모드 설정단계 이후 작업증명 주기 동안 블록이 생성된 것을 감지하면 즉시 블록윈도우 해제모드를 블록윈도우 모드로 전환하고, 상기 블록윈도우 모드에 따라서 상기 블록윈도우 생성부가 상기 블록윈도우 사이즈 산출부와 연동하여 블록윈도우를 다시 생성하는 단계를;
    더 포함하는 것을 특징으로 하는 가상화폐 거래 방법.
  18. 제14항 내지 제16항 중 어느 한 항에 있어서,
    상기 블록윈도우 모듈의 블랙아웃 감시부가 특정 작업증명주기 동안 시스템 내에서 블록이 생성되지 않는 블랙아웃 발생여부를 감시하는 블랙아웃 감시단계와;
    상기 특정 작업주기 동안 블록윈도우가 설정된 적어도 하나 이상의 마이닝 노드가 채굴시도를 수행하여 채굴이 무효화된 것을 상기 채굴이력관리부가 기록한 경우, 또한, 상기 블랙아웃 감시부가 상기 특정 작업주기 동안 블랙아웃이 발생한 것을 감지한 경우, 상기 채굴이력관리부에 기록된 해당 무효화 채굴을 유효채굴로 전환하는 언마이닝 전용모드를 설정하는 언마이닝 전용모드 설정단계와;
    상기 블랙아웃 감시부가 상기 언마이닝 전용모드 설정단계 이후 작업증명 주기 동안 블록이 생성된 것을 감지하면 즉시 언마이닝 전용모드를 블록윈도우 모드로 전환하며, 상기 블록윈도우 모드에 따라서 상기 블록윈도우 생성부가 상기 블록윈도우 사이즈 산출부와 연동하여 블록윈도우를 다시 생성하는 단계를;
    더 포함하는 것을 특징으로 하는 가상화폐 거래 방법.
  19. 제17항에 따른 블록윈도우 모듈을 프레임워크로 저장한 저장매체.
  20. 제18항에 따른 블록윈도우 모듈을 프레임워크로 저장하여 가상화폐 거래시스템에 적용가능한 저장매체.
  21. 제17항에 따른 블록윈도우 모듈을 업데이트하여 노드들에게 제공가능하고, 가상화폐 거래시스템에 물리적으로 통신포트를 통해 연결하여 적용가능한 블록윈도우 관리서버.
  22. 제18항에 따른 블록윈도우 모듈을 업데이트하여 노드들에게 제공가능하고, 가상화폐 거래시스템에 물리적으로 통신포트를 통해 연결하여 적용가능한 블록윈도우 관리서버.
KR1020170109485A 2017-08-29 2017-08-29 채굴 제한을 위한 합의 알고리즘을 포함하는 블록윈도우 모듈 및 관리 서버 그리고 가상화폐 거래 시스템 및 방법 KR101827373B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020170109485A KR101827373B1 (ko) 2017-08-29 2017-08-29 채굴 제한을 위한 합의 알고리즘을 포함하는 블록윈도우 모듈 및 관리 서버 그리고 가상화폐 거래 시스템 및 방법

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
KR1020170109485A KR101827373B1 (ko) 2017-08-29 2017-08-29 채굴 제한을 위한 합의 알고리즘을 포함하는 블록윈도우 모듈 및 관리 서버 그리고 가상화폐 거래 시스템 및 방법
PCT/KR2018/003358 WO2019045209A1 (ko) 2017-08-29 2018-03-22 채굴 제한을 위한 합의 알고리즘을 포함하는 블록윈도우 모듈 및 관리 서버 그리고 가상화폐 거래 시스템 및 방법

Publications (1)

Publication Number Publication Date
KR101827373B1 true KR101827373B1 (ko) 2018-02-08

Family

ID=61232338

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020170109485A KR101827373B1 (ko) 2017-08-29 2017-08-29 채굴 제한을 위한 합의 알고리즘을 포함하는 블록윈도우 모듈 및 관리 서버 그리고 가상화폐 거래 시스템 및 방법

Country Status (2)

Country Link
KR (1) KR101827373B1 (ko)
WO (1) WO2019045209A1 (ko)

Also Published As

Publication number Publication date
WO2019045209A1 (ko) 2019-03-07

Similar Documents

Publication Publication Date Title
Babaioff et al. On bitcoin and red balloons
ES2382458T3 (es) Procedimiento y aparato para gestionar un sistema de colaboración entre pares
Ali et al. Blockstack: A global naming and storage system secured by blockchains
US7747540B2 (en) Account linking with privacy keys
Bonneau et al. Sok: Research perspectives and challenges for bitcoin and cryptocurrencies
US9595034B2 (en) System and method for monitoring third party access to a restricted item
KR100601633B1 (ko) 디지털 컨텐츠의 다단계 유통 시스템 및 방법
Buterin A next-generation smart contract and decentralized application platform
Christidis et al. Blockchains and smart contracts for the internet of things
Xu et al. A taxonomy of blockchain-based systems for architecture design
Lewenberg et al. Inclusive block chain protocols
Nielson et al. A taxonomy of rational attacks
Conti et al. A survey on security and privacy issues of bitcoin
WO2017004527A1 (en) Systems and methods of secure provenance for distributed transaction databases
Kumaresan et al. How to use bitcoin to incentivize correct computations
Zohar Bitcoin: under the hood
Kroll et al. The economics of Bitcoin mining, or Bitcoin in the presence of adversaries
CN102404116B (zh) 将附加认证因素绑定到多个身份的加密设备
Decker et al. Bitcoin meets strong consistency
Park et al. Spacecoin: A cryptocurrency based on proofs of space
Kiayias et al. Blockchain mining games
CN105719185A (zh) 区块链的数据对比及共识方法
Watanabe et al. Blockchain contract: Securing a blockchain applied to smart contracts
JP2016509443A (ja) より低いエントロピーを有する入力レコードについて追加的セキュリティをもたらす検証システム及び方法
Li et al. OPoR: Enabling proof of retrievability in cloud computing with resource-constrained devices

Legal Events

Date Code Title Description
E701 Decision to grant or registration of patent right
GRNT Written decision to grant