KR102104750B1 - RSP Consensus Method for Blockchain - Google Patents

RSP Consensus Method for Blockchain Download PDF

Info

Publication number
KR102104750B1
KR102104750B1 KR1020190068084A KR20190068084A KR102104750B1 KR 102104750 B1 KR102104750 B1 KR 102104750B1 KR 1020190068084 A KR1020190068084 A KR 1020190068084A KR 20190068084 A KR20190068084 A KR 20190068084A KR 102104750 B1 KR102104750 B1 KR 102104750B1
Authority
KR
South Korea
Prior art keywords
rsp
user
combination
consensus
blockchain
Prior art date
Application number
KR1020190068084A
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 KR1020190068084A priority Critical patent/KR102104750B1/en
Application granted granted Critical
Publication of KR102104750B1 publication Critical patent/KR102104750B1/en

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • H04L67/104Peer-to-peer [P2P] networks
    • H04L67/1061Peer-to-peer [P2P] networks using node-based peer discovery mechanisms
    • H04L67/1072Discovery involving ranked list compilation of candidate peers
    • 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
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • H04L67/104Peer-to-peer [P2P] networks
    • H04L67/1087Peer-to-peer [P2P] networks using cross-functional networking aspects
    • H04L67/1093Some peer nodes performing special functions

Abstract

The present invention relates to an RSP (rock, scissors, paper) consensus method for a block-chain, capable of probabilistically avoiding and preventing attack of a participant participating in a distributed ledger consensus process with malicious intent in a distributed network environment by forming a combination using incentive logic and each of three static variables R, S and P which balance with each other. The RSP consensus method for a block-chain is configured to avoid and prevent attack of a participant participating in a distributed ledger consensus process with malicious intent in a block-chain network environment. The method comprises the following steps of: digitizing performance of a computing device owned by a user desired to participate in the distributed ledger consensus process to a unique value through a dataset; forming a combination using each of three static variables R, S and P which balance with each other according to the digitized unique value; submitting a predetermined ratio of stake held by the user as a deposit to participate in the distributed ledger consensus process; selecting a representative who is to manage consensus of the enforcement among users participating in the distributed ledger through the formation of the RSP combination combined by the user; and allowing the selected representative to measure the winning number by comparing a random RSP combination formed by using a random function with a user′s own RSP combination, paying compensation to a user with the greatest winning number during a corresponding consensus process, and mining a new block. Therefore, the RSP consensus method for a block-chain is provided to avoid and prevent attack from an attacker with malicious intent.

Description

블록체인을 위한 RSP 합의 방법 {RSP Consensus Method for Blockchain}RSP consensus method for Blockchain}

본 발명은 블록체인을 위한 RSP 합의 방법에 관한 것으로, 보다 상세하게는 분산 네트워크 환경에서 악의적인 의도를 가지고 분산 원장 합의 과정에 참여하는 참여자의 공격을 Incentive Logic과 서로 균형을 이루는 세 가지 정적변수 R, S, P를 각각 사용하여 조합을 구성함으로써 공격을 확률적으로 회피하고 방지할 수 있도록 하는 블록체인을 위한 RSP 합의 방법에 관한 것이다. The present invention relates to an RSP consensus method for a blockchain, and more specifically, three static variables R that balance the attack of a participant participating in the distributed ledger consensus process with a malicious intent in a distributed network environment with the Incentive Logic It is about the RSP consensus method for the blockchain that makes it possible to evade and prevent the attack by constructing the combination using, S, P respectively.

인공지능 AI(Artificial Intelligence), 빅데이터 등 디지털 기술로 촉발되는 초연결 기반의 지능화 혁명인 4차 산업혁명이 도래함에 따라 소프트웨어 기술을 기반으로 생성되는 연결성이 우리 사회를 근본적으로 변화시키고 있다. 아울러, 수많은 노드로 구성된 현 시대의 네트워크에선 중앙 집중형 서버를 게이트웨이로 종단 간 노드들 간에 수많은 데이터를 주고받기엔 한계가 있다. 도 1은 이러한 종래 중앙 집중형 방식인 Client-Server Model 의 구조이다. With the advent of the 4th Industrial Revolution, which is an ultra-connection-based intelligent revolution triggered by digital technologies such as artificial intelligence (AI) and big data, the connectivity created based on software technology is fundamentally changing our society. In addition, in the current network composed of numerous nodes, there is a limit to send and receive numerous data between end-to-end nodes using a centralized server as a gateway. 1 is a structure of a client-server model, which is a conventional centralized method.

이에 따라, 기존 데이터 교환 방식 구조에서 탈피하여 분산된 노드들 간 데이터를 주고받는 분산 네트워크 환경이 주목받기 시작했다. 특히, 은행 금융권과 같은 사회에서 통용되는 화폐를 주고받는 중요한 공공기관에선 더 이상 전자결제를 처리할 제 3자의 역할을 중앙관리기관인 금융기관에 의존하는 것이 불가피하다고 판단되었기에, 신뢰 기반 모델이 태생적 약점을 대신하기 위하여 제 3자의 역할이 필요없는 Peer-to-Peer 네트워크 상의 전자화폐 시스템이 출현하였다. 도 2는 종래 Peer-to-Peer Network Model의 구조를 나타낸 것인데, 이것이 블록체인 기술 기반 '비트코인(Bitcoin)' 이라는 가상 암호화폐 시스템이다. Accordingly, the distributed network environment that exchanges data between distributed nodes has begun to draw attention, breaking away from the existing data exchange scheme structure. In particular, in important public institutions that exchange money commonly used in societies such as the banking sector, it was judged that it is inevitable to rely on the financial institution, the central management institution, for the role of a third party to process electronic payments. An electronic money system on the Peer-to-Peer network that does not require a third party role to replace the weakness has emerged. Figure 2 shows the structure of a conventional Peer-to-Peer Network Model, which is a virtual cryptocurrency system called 'Bitcoin' based on blockchain technology.

앞서 설명한 블록체인(Block-chain) 기술은 데이터 분산 처리 기술로써 네트워크에 참여하는 모든 사용자가 모든 거래 내역 등의 데이터를 분산, 저장하는 기술을 지칭하는 말이다. 여기서의 블록(Block)은 사용자 개인과 개인 간의 거래 데이터가 기록되는 하나의 장부를 지칭하며 이러한 블록들을 형성된 후 시간의 흐름에 따라 순차적으로 연결짓는 사슬 구조를 가지게 된다. 여기서 모든 사용자가 거래내역을 서로 보유하고 있기 때문에 거래 내역을 확인할 때는 모든 사용자가 보유한 장부를 대조하고 확인을 한다. 그렇기에 블록체인은 '공공 거래장부' 또는 '분산 거래장부'로 통칭된다.Block-chain technology described above refers to a technology that distributes and stores data such as all transaction details by all users participating in the network as a data distribution processing technology. Here, the block refers to a single book in which transaction data between individual users and individuals is recorded, and after forming these blocks, a chain structure that sequentially connects them over time. Here, all users have transaction history, so when checking transaction details, check the books held by all users. Therefore, blockchain is commonly referred to as 'public transaction ledger' or 'distributed ledger'.

여기서 합의 알고리즘은 일련의 모든 블록체인 네트워크를 구성하는 핵심적인 요소로써, 분산화된 시스템의 무결성과 보안을 유지시키는 역할을 수행한다. 또한, 트랜잭션과 블록의 유효성을 결정하는 가장 중요한 지표이다. Here, the consensus algorithm is a key element that constitutes a series of all blockchain networks, and serves to maintain the integrity and security of the decentralized system. It is also the most important indicator that determines the validity of transactions and blocks.

이러한 합의 알고리즘에는 보안성, 기능성, 확장성의 균형을 고려한 몇 가지 유형의 알고리즘이 있는데, 대표적으로 작업증명(PoW: Proof-of-Work) 알고리즘과 지분증명(PoS: Proof-of-Stake) 알고리즘을 예로 들 수 있으며, 각기 장단점을 가지고 있다.There are several types of algorithms in this consensus algorithm considering the balance of security, functionality, and scalability. Representatively, Proof-of-Work (PoW) algorithm and Proof-of-Stake (PoS) algorithm are used. For example, each has advantages and disadvantages.

작업증명은 Satoshi Nakamoto의 논문 'Bitcoin: A Peer-to-Peer Electronic Cash System'에서 처음 소개된 메커니즘으로, 비트코인을 포함한 여러 블록체인 환경에 적용되어 있는 합의 알고리즘이다. 따라서 네트워크에 참여하고 있는 모든 노드들은 블록을 생성할 수 있는 권한을 가지는데, 여기서 블록은 거래 내역들을 담고 있는 데이터 집합이기 때문에 블록을 생성한다는 것은 다시 말해 해당 블록 내에서 기록된 거래 내역들이 입증되었음을 의미한다. 작업 증명에서 블록을 생성하기 위해서는 특정한 난이도의 해시(hash) 값을 구해야 하는 수학적 연산 과정이 필연적이며, 해당 연산 과정은 비록 단순하지만 많은 처리 능력을 요구하기 때문에 해시값을 찾는데 성공한 사용자는 블록을 생성하게 된다. 그렇기 때문에 단순한 연산 과정을 반복적으로 작업해야 하므로 높은 컴퓨팅 파워를 가진 단말 장치를 보유하고 있는 사용자일수록 유리하다. 이에 상응하여 과도한 전력 소모와 채굴의 독점화 등 여러 가지 문제점이 발생하기 시작했다. 도 3은 종래의 블록체인 작업증명 합의 알고리즘에서 새로운 블록이 추가되었을 때 상황의 모식도를 나타낸 것이다.Proof of work is a mechanism first introduced in Satoshi Nakamoto's paper 'Bitcoin: A Peer-to-Peer Electronic Cash System' and is a consensus algorithm applied to various blockchain environments including Bitcoin. Therefore, all nodes participating in the network have the authority to create a block, where the block is a data set containing transaction details, so creating a block, that is, the transaction records recorded in the block have been verified. it means. In order to create a block from proof of work, a mathematical operation process that requires obtaining a hash value of a specific difficulty is inevitable, and although the operation process is simple, it requires a lot of processing power. Is done. Therefore, it is more advantageous for a user having a terminal device having high computing power because a simple operation process must be repeatedly performed. Correspondingly, various problems such as excessive power consumption and monopolization of mining began to occur. 3 shows a schematic diagram of a situation when a new block is added in a conventional blockchain proof-of-work agreement algorithm.

한편, 지분증명은 위 작업증명 알고리즘에서 여러 가지 문제점들이 발생하여 새로운 합의 알고리즘의 필요성이 점차 부각되며 연구자들 간 논의를 통해 나타난 알고리즘이다. 이 알고리즘은 참여자가 소유한 지분(Stake)이 블록 생성 권한에 반영이 된다. 따라서 블록을 생성하고 검증하는 역할을 하는 검증인(Validator)이 있으며, 이 검증인(Validator)이 되기 위해선 자신이 소유하고 있는 암호화폐를 보증금(Deposit) 형태로 걸어놓아야 한다. 그 이후 새로운 블록을 생성하고 검증하는 절차는 모든 검증인(Validator)가 참여할 수 있도록 하는 알고리즘인 것이다. 하지만, 초반에 지분을 많이 확보해두면 블록 생성 권한을 지속적으로 독점하는 '불평등' 문제와 함께 51% 이상의 지분을 보유하면 쉽게 악의적인 공격이 가능해지는 문제점도 대두되고 있는 실정이다.On the other hand, proof of equity is an algorithm that emerged through discussions among researchers, as the necessity of a new consensus algorithm gradually emerged due to various problems in the above proof-of-work algorithm. In this algorithm, stakes owned by the participants are reflected in the block creation authority. Therefore, there is a validator that plays a role of creating and verifying blocks, and in order to become a validator, you must hang your own cryptocurrency in the form of a deposit. Since then, the procedure for creating and verifying a new block is an algorithm that allows all validators to participate. However, if a large number of stakes are secured in the beginning, the problem of 'inequality' that continuously monopolizes the authority to create blocks and the problem that malicious attacks are easily possible when holding more than 51% of stakes are emerging.

대한민국 등록특허공보 제10-1727525호 (2017.04.11. 등록)Republic of Korea Patent Registration No. 10-1727525 (2017.04.11. Registration)

본 발명은 블록체인 네트워크 환경에서 새로운 블록이 기존 블록체인에 추가되는 상황에서 사용자들 간 합의 과정에 적용되는 종래 합의 알고리즘들의 전력 과다 소비에 따른 유지 비용 증가 등의 문제점을 극복하기 위하여 제안된 것으로서, 본 발명은 분산 원장에 참여하는 악의적인 참여자로부터 분산 원장을 안전하게 지키기 위해 이를 확률적으로 공격 가능성을 희박하게 하여 공격을 회피하는 블록체인을 위한 합의 방법을 제공하는 데 그 목적이 있다.The present invention has been proposed to overcome problems such as an increase in maintenance cost due to excessive power consumption of conventional consensus algorithms applied to a consensus process between users in a situation where a new block is added to an existing blockchain in a blockchain network environment, An object of the present invention is to provide a consensus method for a blockchain that avoids attacks by sparingly probing the probability of attack in order to safely protect the distributed ledger from malicious participants participating in the distributed ledger.

상기 목적을 달성하기 위한 본 발명에 따른 블록체인을 위한 합의 방법은 블록체인 네트워크 환경에서 악의적인 의도를 가지고 분산 원장 합의 과정에 참여하는 참여자의 공격을 회피하고 방지하기 위한 합의 방법으로서, 분산 원장 합의 과정에 참여하고자 하는 사용자가 보유한 컴퓨팅 장치의 성능을 데이터 셋(Dataset)을 통해 고유 값으로 수치화하는 단계와; 상기 수치화된 고유 값에 따라 서로 균형을 이루는 세 가지 정적 변수 R,S,P(Rock,Scissors,Paper)를 각각 사용하여 조합을 구성하는 단계와; 분산 원장의 합의 과정에 참여하기 위해 사용자가 보유하고 있는 지분의 일정 비율을 예치금으로 제출하는 단계와; 사용자가 조합한 RSP 조합 구성을 통하여, 분산 원장에 참여한 사용자들 중 해당 시행의 합의를 관장할 대리자를 선출하는 단계와; 선출된 대리자가 Random 함수를 사용하여 구성한 임의의 RSP 조합과 사용자 자신의 RSP 조합을 대조하여 이긴 횟수를 측정하고, 해당 합의 과정 중 이긴 횟수가 가장 많은 사용자에게 보상이 지급되며, 새로운 블록이 채굴되는 단계;를 포함한다. The consensus method for a blockchain according to the present invention for achieving the above object is a consensus method for avoiding and preventing an attack of a participant participating in a distributed ledger consensus process with a malicious intention in a blockchain network environment, a distributed ledger consensus Quantifying the performance of the computing device possessed by the user who wishes to participate in the process to a unique value through a dataset; Constructing a combination by using three static variables R, S, and P (Rock, Scissors, Paper), which are balanced with each other according to the numerically unique values; Submitting a certain percentage of the stake held by the user as a deposit to participate in the consensus process of the distributed ledger; Selecting an agent to manage the agreement of the enforcement among the users who participated in the distributed ledger through the composition of the RSP combination that the user combined; The number of winnings is measured by comparing the random RSP combinations constructed by the elected delegate using the Random function and the user's own RSP combinations, and rewards are paid to the users with the most winnings during the consensus process, and new blocks are mined. Step; includes.

상기 컴퓨팅 장치의 성능을 고유 값으로 수치화하는 단계에서, 상기 컴퓨팅 장치의 성능을 고유 값으로 수치화하는 기준을 제공하는 데이터 셋에는 컴퓨팅 장치의 CPU 및 RAM이 포함된 사양의 성능에 따라 점수(Value)가 차등 부여되어, 상기 데이터 셋을 기준으로 사용자의 컴퓨팅 장치의 성능이 고유 값으로 수치화되는 것이 바람직하다. In the step of quantifying the performance of the computing device to a unique value, a data set that provides a criterion for quantifying the performance of the computing device to a unique value includes a score according to the performance of a specification including the CPU and RAM of the computing device. It is desirable that the performance of the user's computing device is numerically quantified as a unique value based on the data set.

또한, 상기 수치화된 고유 값에 따라 R,S,P 를 각각 사용하여 조합을 구성하는 단계에서, 상기 수치화된 고유 값에 해당하는 기회만큼 R이나 S 또는 P를 임의로 연속적으로 조합하여 RSP 조합을 구성하게 된다. In addition, in the step of constructing a combination using R, S, and P according to the digitized eigenvalues, RSP combinations are configured by randomly sequential combinations of R, S, or P as many as opportunities corresponding to the digitized eigenvalues. Is done.

한편, 상기 사용자가 보유하고 있는 지분의 일정 비율을 예치금으로 제출하는 단계에서, 상기 예치금은 사용자가 보유하고 있는 지분의 3%∼8%로 하되, 추후 합의 과정 중 해당 사용자의 악의적인 의도가 적발되었을 시 몰수되는 것이 바람직하다. On the other hand, in the step of submitting a certain percentage of the stake held by the user as a deposit, the deposit is set to 3% to 8% of the stake held by the user, but the malicious intention of the user is discovered during a later consensus process When confiscated, it is desirable to be confiscated.

또한, 상기 시행의 합의를 관장할 대리자를 선출하는 단계는, 사용자들이 제출한 RSP 조합 중 가장 첫 번째 자리를 확인하여, R은 0, S는 1, P는 2로 값을 귀결시켜, 모든 사용자들의 RSP 조합에서 가장 첫 번째 자리를 수치로 합산한 후, 합산된 수치를 전체 사용자의 수로 나눈 나머지를 구하여, 나머지 값에 해당되는 순서를 갖는 사용자가 대리자로 선출하게 된다. In addition, in the step of selecting a representative to oversee the agreement of the above implementation, the first digit of the RSP combination submitted by the users is identified, where R is 0, S is 1, and P is 2, resulting in all users After adding the first digit to the number in the RSP combination of them, the remaining number divided by the total number of users is calculated, and the user with the order corresponding to the remaining value is elected as a delegate.

여기서, 선출된 대리자는 해당 합의 과정 시행 때 합의 과정에서 배제되며, 오로지 Random 함수를 사용하여 임의의 RSP 조합을 구성하여 다른 사용자들의 RSP 조합과 비교하여 이긴 횟수를 계산하고, 결과를 브로드캐스팅 메시지로 사용자들에게 배포하는 역할을 수행하게 된다. Here, the elected delegate is excluded from the consensus process when the corresponding consensus process is implemented, and only random RSP combinations are constructed using the Random function to calculate the number of wins compared to the RSP combinations of other users, and the results are broadcasted as a broadcasting message. It serves to distribute to users.

뿐만 아니라, 상기 선출된 대리자가 구성한 RSP 조합과 다른 사용자들의 RSP 조합과 비교하여 이긴 횟수를 측정하고, 이긴 횟수가 가장 많은 사용자에게 보상이 주어지되, 이긴 횟수가 동일한 사용자가 발생하면, 사용자가 다시 RSP 조합을 구성하여 제출하고, 대리자는 Random 함수를 사용하여 다시 RSP 조합을 구성하여 비교하는 과정을 최후의 1명만 남을 때까지 반복하게 된다. In addition, the number of wins is measured by comparing the RSP combinations formed by the elected delegate with the RSP combinations of other users, and reward is given to the user with the highest number of wins. The RSP combination is formed and submitted, and the delegate repeats the process of constructing and comparing the RSP combination using the Random function until only the last one remains.

본 발명에 따른 블록체인을 위한 RSP 합의 시스템에서는 처리 성능이라고도 대치 표현할 수 있는 사용자의 컴퓨팅 장치의 사양을 이용하여 이를 수치화시키는 과정을 통해 처리 과정의 시간을 단축시킬 수 있으며, 처리 시간이 단축되기 때문에 전력과 유지 비용을 효율적으로 관리할 수 있다는 장점이 있다. In the RSP consensus system for the blockchain according to the present invention, the processing time can be shortened through the process of digitizing it using the specifications of the user's computing device, which can also be expressed as the processing performance, and the processing time is shortened. It has the advantage of being able to efficiently manage power and maintenance costs.

또한, 서로 균형을 이루는 세 가지 정적 변수 R,S,P와 Incentive Logic을 사용하여 악의적인 의도를 가진 공격자로부터 공격을 확률적으로 희박하게 만듦으로써 처리 시간의 효율성과 동시에 보안성도 함께 추구할 수 있는 효과가 있다. In addition, by using three static variables R, S, P, and Incentive Logic, which are balanced with each other, it is possible to pursue both efficiency and security of processing time by probabilisticly sparing attacks from malicious attackers. It works.

도 1은 종래 중앙 집중형 방식인 Client-Server Model 의 구조도,
도 2는 종래 Peer-to-Peer Network Model의 구조도,
도 3은 종래 블록체인 작업증명 합의 알고리즘에서 새로운 블록이 추가되었을 때 상황을 나타낸 모식도,
도 4는 본 발명에 따른 R, S, P의 모식도,
도 5는 본 발명에 따른 블록체인을 위한 RSP 합의 방법을 나타낸 흐름도,
도 6은 본 발명에 따른 사용자가 보유한 컴퓨팅 장치의 사양을 수치화 하는 과정을 나타낸 모식도,
도 7은 본 발명에 따른 N차 합의 과정 시행 때 동작 과정을 나타낸 흐름도이다.
1 is a structure diagram of a conventional centralized client-server model,
2 is a structural diagram of a conventional Peer-to-Peer Network Model,
Figure 3 is a schematic diagram showing the situation when a new block is added in the conventional blockchain work proof agreement algorithm,
Figure 4 is a schematic diagram of R, S, P according to the present invention,
5 is a flowchart showing an RSP consensus method for a blockchain according to the present invention,
6 is a schematic diagram showing a process of digitizing the specifications of a computing device possessed by a user according to the present invention,
7 is a flowchart illustrating an operation process when the N-th consensus process according to the present invention is implemented.

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

본 발명에서는 분산 네트워크 환경에서 신뢰되지 않은 제3자인 사용자들 간에 원만한 합의를 구축할 것을 목표로, 악의적인 의도를 가지고 분산 원장 합의 과정에 참여하는 참여자의 공격을 Incentive Logic과 서로 균형을 이루는 세 가지 정적변수 R,S,P를 각각 사용하여 조합을 구성함으로써 공격을 확률적으로 회피하고 방지하게 된다. In the present invention, in order to establish a smooth agreement among users who are untrusted third parties in a distributed network environment, there are three ways to balance the attacks of participants participating in the distributed ledger agreement process with malicious intent with Incentive Logic. By constructing a combination using each of the static variables R, S, and P, the attack is stochastically avoided and prevented.

도 4는 본 발명에서 사용되는 개념인 R, S, P의 모식도를 나타낸 것으로, 본 발명에서 명칭되는 RSP는 'Rock-Scissors-Paper' 의 약자로, '가위-바위-보'와 같이 서로 물고 물리는 관계를 통하여 균형이 유지되는 세 가지 정적 변수이다. 본 발명에서는 이 RSP를 통해 대리자를 선출하고, 선출된 대리자와 사용자의 RSP 조합을 비교하여 이긴 횟수를 측정함으로써 많이 승리한 최종 승자에게 보상을 주게 된다.Figure 4 shows a schematic diagram of the concept used in the present invention, R, S, P, RSP named in the present invention is an abbreviation of 'Rock-Scissors-Paper', bite each other as 'scissors-rock-bo' Physics are three static variables whose balance is maintained through relationships. In the present invention, a delegate is elected through this RSP, and the number of winnings is measured by comparing the combination of the elected delegate and the user's RSP, thereby rewarding the final winner.

이하에서는 상기 RSP 개념을 적용하여 블록체인 네트워크 환경에서 분산 원장 합의가 진행되는 과정에 대하여 설명하기로 한다. Hereinafter, the process of the distributed ledger agreement in the blockchain network environment by applying the RSP concept will be described.

도 5는 본 발명의 실시 예에 따른 블록체인을 위한 RSP 합의 방법을 나타낸 흐름도이다. 본 발명의 실시 예에서는 최초 트랜잭션(거래 기록)이 발생하고 10분 단위로 발생한 트랜잭션을 모두 모아 하나의 블록으로 응집하는 것을 시작으로 새로운 블록으로 채굴되기 까지의 일련의 과정을 설명하기로 한다.5 is a flowchart illustrating an RSP consensus method for a blockchain according to an embodiment of the present invention. In an embodiment of the present invention, a series of processes from the first transaction (transaction record) to the aggregation of all transactions that occur in 10 minute increments into one block, and then mining into a new block will be described.

단계 S100 : 먼저, 새로운 블록이 기존의 블록체인에 포함되기 위해 합의 과정에 거쳐야 하는 상황을 가정한다. 분산 원장 내에 합의 과정에 참여하고자 하는 사용자들은 자신이 보유하고 있는 단말 컴퓨팅 장치의 사양이 기록되어 있는 데이터 셋을 통해 자신이 보유한 단말기기의 사양을 고유 값으로 환산하게 된다. 상기 고유 값은 RSP 조합을 구성할 수 있는 기회를 의미하는데, 도 6은 본 발명에 따른 사용자가 보유한 컴퓨팅 장치의 사양을 수치화 하는 과정 모식도를 나타내고 있다. 도 5에 도시된 데이터 셋(Dataset)에는 컴퓨팅 장치의 사양(CPU, RAM 등)에 따라 점수(Value)가 차등 부여되어 있는데, 왼쪽의 사용자는 이러한 데이터 셋에 따라 자신이 보유한 컴퓨팅 장치의 사양을 수치화시켜 고유 값 15를 도출하게 되며, 이러한 수치 값 15는 RSP의 조합을 구성할 수 있는 기회가 15회 부여됨을 의미한다. 이와 동일하게 오른쪽 사용자는 자신이 보유한 컴퓨팅 장치의 사양을 수치화시켜서 고유 값 11이 도출되었기 때문에, RSP 조합을 구성할 수 있는 기회가 11이 부여된다.Step S100: First, it is assumed that a new block has to go through an agreement process to be included in an existing blockchain. Users who want to participate in the consensus process within the distributed ledger convert the specifications of their own terminal devices into unique values through a data set that records the specifications of their own terminal computing devices. The unique value means an opportunity to configure an RSP combination, and FIG. 6 shows a schematic diagram of a process of quantifying a specification of a computing device held by a user according to the present invention. In the data set shown in FIG. 5, a score is differentially assigned according to the specifications (CPU, RAM, etc.) of the computing device, and the user on the left determines the specifications of the computing device he has according to the data set. Numerical values are derived to derive the eigenvalues 15, which means that 15 opportunities are given to construct a combination of RSPs. In the same way, the right user is given the opportunity to construct an RSP combination because the unique value 11 is derived by quantifying the specifications of the computing device he has.

단계 S110 : 이후, 사용자들은 자신이 보유한 컴퓨팅 장치의 사양에 따라 차등적으로 환산한 고유 값만큼 RSP 조합을 구성하게 된다. 이 RSP 조합은 R이나 S 또는 P를 부여된 고유 값 회수만큼 구성할 수 있는데, 예를 들면 고유 값이 3인 경우 'RRS'와 같이 3회 조합할 수 있고, 고유 값이 4인 경우 'PSRR'이나 'RPPP'와 같이 4회 조합할 수 있으며, 고유 값이 6인 경우 'SSRSPS'와 같이 6회 조합할 수 있다. 이러한 RSP 조합은 사용자의 선택에 의해 임의로 조합된다.Step S110: Afterwards, the users configure the RSP combination as much as the unique value that is differentially converted according to the specifications of their own computing device. This RSP combination can configure R, S, or P as many times as the given eigenvalue. For example, if the eigenvalue is 3, it can be combined three times, such as' RRS ', and if the eigenvalue is 4,' PSRR It can be combined 4 times like 'or' RPPP ', and when the unique value is 6, it can be combined 6 times like' SSRSPS '. These RSP combinations are arbitrarily combined at the user's option.

단계 S120 : 한편, 분산 원장 합의 과정에 참여하고자 하는 사용자들은 자신의 RSP 조합을 완성한 뒤, 자신이 보유하고 있는 지분의 일정 부분을 예치금으로 함께 제출한다. 이는 'Incentive Logic' 이라고도 하며, 추후 합의 과정에 참여하고 있는 참여자들 중에 악의적인 의도가 적발되었을 시 제출한 예치금을 몰수하여 처벌하기 위한 목적으로 예치금을 수금하게 된다. 만약, 상기 예치금이 모든 사용자들에게 동일한 금액으로 적용된다면, 보유하고 있는 지분이 많은 사용자에게는 부담이 적게 작용하고, 지분이 적은 사용자에게는 상대적으로 많은 부담으로 작용하게 되므로, 본 발명에서는 이러한 문제를 미연에 방지하게 위해 사용자가 보유하고 있는 지분의 일정 비율을 예치금으로 제출하게 하였다. 본 발명의 실시 예에서는 사용자 지분의 3%∼8%, 바람직하게는 5%를 예치금으로 제출하게 된다. Step S120: Meanwhile, users who want to participate in the distributed ledger agreement process complete their own RSP combination and submit a portion of their shares as a deposit. This is also referred to as 'Incentive Logic', and deposits for the purpose of confiscating and punishing deposits submitted when malicious intentions are discovered among participants participating in the consensus process in the future. If the deposit is applied to all users in the same amount, the burden is applied to users with a large share of ownership and a relatively large burden to users with a small amount of stake. In order to prevent this, a certain percentage of the stake held by the employer was submitted as a deposit. In the embodiment of the present invention, 3% to 8% of the user's stake, preferably 5%, is submitted as a deposit.

단계 S130 : 이후, 분산 원장에 참여한 사용자들 중 해당 시행의 합의를 관장할 대리자를 선출하게 되는데, 이러한 대리자를 선출하는 과정은 다음과 같다. Step S130: Thereafter, among the users who participated in the distributed ledger, a representative to manage the agreement of the corresponding execution is selected, and the process of selecting the representative is as follows.

먼저, 사용자들이 제출한 RSP 조합을 각각 확인하며, 가장 첫 번째 자리를 확인한다. R은 0, S는 1, P는 2로 값을 귀결시키며, 모든 사용자들의 RSP 조합에서 가장 첫 번째 자리를 앞서 말한 값들로 수치를 환산하여 모두 합산한 뒤, 전체 사용자의 수로 나눈 나머지를 구한다. 이 나머지에 해당되는 사용자가 대리자로 선출된다. First, check each RSP combination submitted by users, and check the first digit. R is 0, S is 1, and P is 2, and the first digit of all users' RSP combinations is converted to the above-mentioned values, summed up, and the remainder divided by the total number of users is obtained. The remaining users are elected as delegates.

도 7은 N차 합의 과정 시행 때 동작 과정을 나타낸 흐름도로서, 도 7에서 User 3이 대리자로 선출되는 과정은 다음과 같다. 만약, 전체 사용자 수 (N) 가 4 이고, 모든 사용자들의 RSP 조합 첫째 자리의 합 (SUM) 이 '0 (R) + 2 (P) + 0 (R) + 1 (S) = 3' 이면, 'SUM % N = 3 % 4 = 3' 이 되어, 3에 해당하는 User 3이 해당 시행 때 합의과정에서 대리자로 선출된다. 7 is a flowchart illustrating an operation process when the N-th consensus process is implemented, and the process in which User 3 is elected as a delegate in FIG. 7 is as follows. If the total number of users (N) is 4 and the sum of the first digit of the RSP combination of all users (SUM) is '0 (R) + 2 (P) + 0 (R) + 1 (S) = 3', It becomes 'SUM% N = 3% 4 = 3', and User 3 corresponding to 3 is elected as a representative in the consensus process at the time of implementation.

상기 과정을 통해 선출된 대리자는 해당 합의 과정 시행 때 합의 과정에서 배제되며, 오로지 Random 함수를 사용하여 임의의 RSP 조합 (도 7에서 Common RSP Combination)을 구성하여 사용자들의 RSP 조합과 비교하여 이긴 횟수를 계산하고, 결과를 브로드캐스팅 메시지로 사용자들에게 배포하는 역할만 수행한다. 이는 기존 중앙 집중형 구조에서 발생할 수 있는 문제점 때문으로, 악의적인 의도를 가진 참여자가 대리자가 되어 자신에게 유리하게 RSP 조합을 구성하는 등의 신뢰성 확보 측면에서 안전하지 못하기 때문에 해당 합의 과정에서 배제되게 된다. Delegates elected through the above process are excluded from the consensus process when the corresponding consensus process is executed, and only random RSP combinations (Common RSP Combination in FIG. 7) are constructed using the Random function to compare the number of times the users have won the RSP combination. It is only responsible for calculating and distributing the results to users as a broadcasting message. This is due to a problem that can occur in the existing centralized structure, and it is excluded from the consensus process because it is not safe in terms of securing reliability, such as constructing an RSP combination in favor of the participant with a malicious intention. do.

단계 S140, S150, S160 : 대리자는 자신이 Random 함수를 사용하여 구성한 RSP 조합을 통해 다른 사용자들의 RSP 조합과 비교하여 이긴 횟수를 측정한다(S140). 이 이긴 횟수가 가장 많은 사람에게 Ether 보상이 주어지며(S150), 새로운 블록이 채굴되고 해당 블록은 기존의 블록체인에 포함된다(S160). Steps S140, S150, S160: The delegate measures the number of wins by comparing with the RSP combinations of other users through the RSP combinations constructed by himself using the Random function (S140). The Ether reward is given to the person with the most wins (S150), a new block is mined and the block is included in the existing blockchain (S160).

만약, 이긴 횟수가 동일한 사람이 생긴다면 도 6의 과정과 같되, 대리자를 선출하는 과정만 제외하고 사용자 자신이 다시 RSP 조합을 구성하여 제출하면 대리자는 Random 함수를 사용하여 다시 Common RSP 조합을 구성하여 비교하고, 최후의 1명만 남을 때까지 상기 과정을 반복하게 된다.  If a person with the same number of wins is found, the process is the same as in FIG. 6, but if the user himself constructs and submits the RSP combination again except for the process of selecting a delegate, the delegate uses the Random function to construct the Common RSP combination again. Compare and repeat the process until only the last one remains.

이와 같이, 본 발명에서는 분산 네트워크 환경에서 분산 원장 합의 과정에 참여하는 참여자의 지분을 일정 부분 예치금으로 제출하게 하여 악의적인 의도가 적발되었을 시 제출한 예치금을 몰수하도록 하는 'Incentive Logic' 을 적용하였고, 서로 균형을 이루는 세 가지 정적변수 R,S,P를 각각 사용하여 조합을 구성하고 이를 통하여 대리자를 선출하고 승자를 선출하여 보상함으로써, 악의적인 의도를 가지고 분산 원장 합의 과정에 참여하는 참여자의 공격을 회피하고 방지할 수 있게 된다. As described above, in the present invention, in the distributed network environment, 'Incentive Logic' is applied to confiscate deposits submitted when a malicious intention is caught by submitting a participant's share of the participation in the distributed ledger agreement process as a partial deposit, By constructing a combination using each of the three static variables R, S, and P, which are balanced with each other, through this, an agent is elected, and a winner is selected and compensated, thereby attacking the participants participating in the distributed ledger consensus process with malicious intention. It can be avoided and prevented.

이러한 본 발명은 상술한 실시 예에 한정되는 것은 아니며 본 발명이 속하는 기술 분야에서 통상의 지식을 갖는 자에 의해 본 발명의 기술사상과 아래에 기재될 특허청구 범위의 균등범위 내에서 다양한 수정 및 변형이 이루어질 수 있음은 물론이다. The present invention is not limited to the above-described embodiments, and various modifications and variations within the technical scope of the present invention and equivalents of the claims to be described below by those skilled in the art to which the present invention pertains Of course this can be done.

Claims (7)

블록체인 네트워크 환경에서 악의적인 의도를 가지고 분산 원장 합의 과정에 참여하는 참여자의 공격을 회피하고 방지하기 위한 합의 방법으로서,
(a) 분산 원장 합의 과정에 참여하고자 하는 사용자가 보유한 컴퓨팅 장치의 성능을 데이터 셋(Dataset)을 통해 고유 값으로 수치화하는 단계와;
(b) 상기 수치화된 고유 값에 따라 서로 균형을 이루는 세 가지 정적 변수 R,S,P(Rock,Scissors,Paper)를 각각 사용하여 조합을 구성하는 단계와;
(c) 분산 원장의 합의 과정에 참여하기 위해 사용자가 보유하고 있는 지분의 일정 비율을 예치금으로 제출하는 단계와;
(d) 사용자가 조합한 RSP 조합 구성을 통하여, 분산 원장에 참여한 사용자들 중 해당 시행의 합의를 관장할 대리자를 선출하는 단계와;
(e) 선출된 대리자가 Random 함수를 사용하여 구성한 임의의 RSP 조합과 사용자 자신의 RSP 조합을 대조하여 이긴 횟수를 측정하고, 해당 합의 과정 중 이긴 횟수가 가장 많은 사용자에게 보상이 지급되며, 새로운 블록이 채굴되는 단계;를 포함하는 것을 특징으로 하는 블록체인을 위한 RSP 합의 방법.
As a consensus method to avoid and prevent attacks of participants participating in the distributed ledger consensus process with malicious intention in the blockchain network environment,
(a) quantifying the performance of a computing device possessed by a user who wishes to participate in a distributed ledger agreement process to a unique value through a dataset;
(b) constructing a combination by using three static variables R, S, and P (Rock, Scissors, Paper), which are balanced with each other according to the numerically unique values;
(c) submitting as a deposit a certain percentage of the stake held by the employer to participate in the consensus process of the distributed ledger;
(d) through the composition of the RSP combination that the user has combined, selecting a representative who will manage the agreement of the enforcement among the users who have participated in the distributed ledger;
(e) The number of winnings is measured by comparing the random RSP combination constructed by the elected delegate using the random function and the user's own RSP combination, and the reward is given to the user with the highest number of wins during the consensus process. This mining step; RSP consensus method for a blockchain characterized in that it comprises a.
제 1항에 있어서,
상기 컴퓨팅 장치의 성능을 고유 값으로 수치화하는 단계(a)에서,
상기 컴퓨팅 장치의 성능을 고유 값으로 수치화하는 기준을 제공하는 데이터 셋에는 컴퓨팅 장치의 CPU 및 RAM이 포함된 사양의 성능에 따라 점수(Value)가 차등 부여되어, 상기 데이터 셋을 기준으로 사용자의 컴퓨팅 장치의 성능이 고유 값으로 수치화되는 것을 특징으로 하는 블록체인을 위한 RSP 합의 방법.
According to claim 1,
In step (a) of quantifying the performance of the computing device to a unique value,
A data set that provides a criterion for quantifying the performance of the computing device as a unique value is differentially assigned a score according to the performance of a specification including the CPU and RAM of the computing device, so that the user's computing is based on the data set. RSP consensus method for blockchain, characterized in that the performance of the device is quantified by a unique value.
제 1항에 있어서,
상기 수치화된 고유 값에 따라 R,S,P 를 각각 사용하여 조합을 구성하는 단계(b)에서,
상기 수치화된 고유 값에 해당하는 기회만큼 R이나 S 또는 P를 임의로 연속적으로 조합하여 RSP 조합을 구성하는 것을 특징으로 하는 블록체인을 위한 RSP 합의 방법.
According to claim 1,
In step (b) of constructing a combination using R, S, P according to the numerically unique values,
RSP consensus method for a blockchain, characterized in that an RSP combination is constructed by arbitrarily continuously combining R or S or P as many times as the opportunity corresponding to the numerically unique value.
제 1항에 있어서,
상기 사용자가 보유하고 있는 지분의 일정 비율을 예치금으로 제출하는 단계(c)에서,
상기 예치금은 사용자가 보유하고 있는 지분의 3%∼8%로 하되, 추후 합의 과정 중 해당 사용자의 악의적인 의도가 적발되었을 시 몰수되는 것을 특징으로 하는 블록체인을 위한 RSP 합의 방법.
According to claim 1,
In the step (c) of submitting a certain percentage of the stake held by the user as a deposit,
The deposit is set at 3% to 8% of the stake held by the user, but the RSP consensus method for a blockchain is characterized in that it is forfeited when the malicious intention of the user is discovered during a later consensus process.
제 1항에 있어서,
상기 시행의 합의를 관장할 대리자를 선출하는 단계(d)는,
사용자들이 제출한 RSP 조합 중 가장 첫 번째 자리를 확인하여, R은 0, S는 1, P는 2로 값을 귀결시켜, 모든 사용자들의 RSP 조합에서 가장 첫 번째 자리를 수치로 합산한 후, 합산된 수치를 전체 사용자의 수로 나눈 나머지를 구하여, 나머지 값에 해당되는 순서를 갖는 사용자가 대리자로 선출하는 것을 특징으로 하는 블록체인을 위한 RSP 합의 방법.
According to claim 1,
The step (d) of selecting a representative to oversee the agreement of the above implementation is:
After checking the first digit of the RSP combinations submitted by users, R results in 0, S is 1, and P is 2, summing the first digit in the RSP combination of all users, then adding RSP consensus method for blockchain, characterized in that the number divided by the total number of users is calculated and the user with the order corresponding to the remaining values is elected as a proxy.
제 5항에 있어서,
상기 선출된 대리자는 해당 합의 과정 시행 때 합의 과정에서 배제되며, 오로지 Random 함수를 사용하여 임의의 RSP 조합을 구성하여 다른 사용자들의 RSP 조합과 비교하여 이긴 횟수를 계산하고, 결과를 브로드캐스팅 메시지로 사용자들에게 배포하는 역할을 수행하는 것을 특징으로 하는 블록체인을 위한 RSP 합의 방법.
The method of claim 5,
The elected delegate is excluded from the consensus process when the corresponding consensus process is executed. Only the random function is used to construct a random RSP combination to calculate the number of wins compared to the RSP combinations of other users, and the result is used as a broadcasting message. RSP consensus method for blockchain, characterized by performing a role of distributing to others.
제 6항에 있어서,
상기 선출된 대리자가 구성한 RSP 조합과 다른 사용자들의 RSP 조합과 비교하여 이긴 횟수를 측정하고, 이긴 횟수가 가장 많은 사용자에게 보상이 주어지되,
이긴 횟수가 동일한 사용자가 발생하면, 사용자가 다시 RSP 조합을 구성하여 제출하고, 대리자는 Random 함수를 사용하여 다시 RSP 조합을 구성하여 비교하는 과정을 최후의 1명만 남을 때까지 반복하는 것을 특징으로 하는 블록체인을 위한 RSP 합의 방법.
The method of claim 6,
Compared to the RSP combination of the elected representative and the RSP combination of other users, the number of wins is measured, and the user with the most wins is rewarded.
When a user with the same number of wins occurs, the user constructs and submits the RSP combination again, and the delegate repeats the process of constructing and comparing the RSP combination again using the Random function until only the last one remains. RSP consensus method for blockchain.
KR1020190068084A 2019-06-10 2019-06-10 RSP Consensus Method for Blockchain KR102104750B1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020190068084A KR102104750B1 (en) 2019-06-10 2019-06-10 RSP Consensus Method for Blockchain

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020190068084A KR102104750B1 (en) 2019-06-10 2019-06-10 RSP Consensus Method for Blockchain

Publications (1)

Publication Number Publication Date
KR102104750B1 true KR102104750B1 (en) 2020-04-24

Family

ID=70465944

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020190068084A KR102104750B1 (en) 2019-06-10 2019-06-10 RSP Consensus Method for Blockchain

Country Status (1)

Country Link
KR (1) KR102104750B1 (en)

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101727525B1 (en) 2016-09-05 2017-04-17 주식회사 스케일체인 Block chain based distributed storage method and device thereof
KR20180082702A (en) * 2017-01-10 2018-07-19 한국전자통신연구원 Method and system for managing transaction information of public organization using blockchain technology
KR101949712B1 (en) * 2018-06-29 2019-02-19 (주) 와이즈엠글로벌 Block chain generation method having consensus algorithm by stratified stochastic delegated proof of node and their commission allocation algorithm

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101727525B1 (en) 2016-09-05 2017-04-17 주식회사 스케일체인 Block chain based distributed storage method and device thereof
KR20180082702A (en) * 2017-01-10 2018-07-19 한국전자통신연구원 Method and system for managing transaction information of public organization using blockchain technology
KR101949712B1 (en) * 2018-06-29 2019-02-19 (주) 와이즈엠글로벌 Block chain generation method having consensus algorithm by stratified stochastic delegated proof of node and their commission allocation algorithm

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
비특허 문헌1 *
비특허 문헌2 *

Similar Documents

Publication Publication Date Title
Bouraga A taxonomy of blockchain consensus protocols: A survey and classification framework
JP7181232B2 (en) Blockchain for general computation
JP6986519B2 (en) Distributed transaction propagation and validation system
US11836720B2 (en) Infinitely scalable cryptocurrency system with fast, secure verification
CN108885761B (en) Method for secure point-to-point communication on a blockchain
Vashchuk et al. Pros and cons of consensus algorithm proof of stake. Difference in the network safety in proof of work and proof of stake
Kaur et al. Blockchain: A path to the future
Miraz et al. Application of blockchain in booking and registration systems of securities exchanges
KR20190093012A (en) The method for block generation and validation in block-chain system
JP2019513312A (en) Tokenizing method and system for implementing exchange on blockchain
KR102050087B1 (en) The block-chain system including POPS(Proof of Power specification and Stake) consensus algorithm and block generation method in the block-chain system
Sharma et al. Cryptocurrency mechanisms for blockchains: models, characteristics, challenges, and applications
Romero Ugarte Distributed ledger technology (DLT): introduction
Bugday et al. Creating consensus group using online learning based reputation in blockchain networks
Gayvoronskaya et al. Blockchain
Savolainen et al. Too Big to Cheat: Mining Pools' Incentives to Double Spend in Blockchain Based Cryptocurrencies
Vaigandla et al. Review on blockchain technology: architecture, characteristics, benefits, algorithms, challenges and applications
Jennath et al. Survey on blockchain consensus strategies
WO2022079431A1 (en) Block reward management in blockchain
KR102195830B1 (en) System for security enforced crypto currency based on block chain
Gaikwad Overview of blockchain
KR102104750B1 (en) RSP Consensus Method for Blockchain
WO2022189780A1 (en) Improved blockchain relying on advanced consensus
Sharma et al. Introduction to blockchain and distributed systems—fundamental theories and concepts
GB2599734A (en) Blockchain

Legal Events

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