KR20200063957A - The block withholding attack detecting device and operation method thereof - Google Patents

The block withholding attack detecting device and operation method thereof Download PDF

Info

Publication number
KR20200063957A
KR20200063957A KR1020190051013A KR20190051013A KR20200063957A KR 20200063957 A KR20200063957 A KR 20200063957A KR 1020190051013 A KR1020190051013 A KR 1020190051013A KR 20190051013 A KR20190051013 A KR 20190051013A KR 20200063957 A KR20200063957 A KR 20200063957A
Authority
KR
South Korea
Prior art keywords
mining pool
block
mining
relative
pool
Prior art date
Application number
KR1020190051013A
Other languages
Korean (ko)
Other versions
KR102122824B1 (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 고려대학교 산학협력단
Publication of KR20200063957A publication Critical patent/KR20200063957A/en
Application granted granted Critical
Publication of KR102122824B1 publication Critical patent/KR102122824B1/en

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q20/00Payment architectures, schemes or protocols
    • G06Q20/38Payment protocols; Details thereof
    • G06Q20/382Payment protocols; Details thereof insuring higher security of transaction
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q20/00Payment architectures, schemes or protocols
    • G06Q20/04Payment circuits
    • G06Q20/06Private payment circuits, e.g. involving electronic currency used among participants of a common payment scheme
    • G06Q20/065Private payment circuits, e.g. involving electronic currency used among participants of a common payment scheme using e-cash
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q20/00Payment architectures, schemes or protocols
    • G06Q20/30Payment architectures, schemes or protocols characterised by the use of specific devices or networks
    • G06Q20/36Payment architectures, schemes or protocols characterised by the use of specific devices or networks using electronic wallets or electronic money safes
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/06Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols the encryption apparatus using shift registers or memories for block-wise or stream coding, e.g. DES systems or RC4; Hash functions; Pseudorandom sequence generators
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L2209/00Additional information or applications relating to cryptographic mechanisms or cryptographic arrangements for secret or secure communication H04L9/00
    • H04L2209/56Financial cryptography, e.g. electronic payment or e-cash

Abstract

According to one embodiment of an application of the present invention, a block submission and retention attack detection device includes: an allocation unit for allocating at least one self-node among a plurality of nodes pre-registered in the self-mining pool to the other mining pool through the at least one self-node; a detection unit for detecting at least one virtual currency block distributed in a relative mining pool; and a determination unit for determining whether the block submission pending attack of the relative mining pool is attacked based on transaction information of the at least one virtual currency block.

Description

블록제출보류공격 탐지장치 및 그 동작 방법{THE BLOCK WITHHOLDING ATTACK DETECTING DEVICE AND OPERATION METHOD THEREOF}Block submission and retention attack detection device and its operation method {THE BLOCK WITHHOLDING ATTACK DETECTING DEVICE AND OPERATION METHOD THEREOF}

본 출원은, 블록제출보류공격 탐지장치 및 그 동작 방법에 관한 것으로, 특히, 작업증명 기반 마이닝 풀 간에 발생할 수 있는 블록제출보류공격을 탐지하기 위한 블록제출보류공격 탐지장치 및 그 동작 방법에 관한 것이다. The present application relates to a block submission pending attack detection device and a method for operating the same, and more particularly, to a block submission pending attack detection device for detecting a block submission pending attack that may occur between work proof-based mining pools and a method of operating the same .

블록체인의 대표적인 합의 알고리즘으로 작업증명(PoW: Proof-of-Work) 메커니즘이 있으며, 여기서, 작업증명은 어떤 자원을 소모했다는 것을 증명했다는 데이터를 말한다. 예를 들어, 시간이란 자원을 충분히 소모했다는 증명이다. 이러한 작업증명은 제 3자에 의해서 쉽게 검증이 가능해야 한다. As a representative consensus algorithm of blockchain, there is a proof-of-work (PoW) mechanism, where proof of work refers to data that proves that a resource has been consumed. For example, time is proof that you have consumed enough resources. Such proof of work should be easily verifiable by a third party.

반면, 작업증명은 쉽게 풀 수 없는 어떤 종류의 퍼즐이어야 한다. 작업증명을 해나가는 주체를 채굴자라 한다. 이 작업증명에 대한 대가로 블록체인은 채굴자에게 코인이란 형태의 보상을 준다. 이때, 작업증명을 연산하기 위한 난이도는 수형태의 값이다. 즉, 채굴이라 함은, 작업증명 기반의 블록체인에서 수학적 퍼즐의 난이도를 갖는 작업증명을 연산하는 행위를 의미한다. On the other hand, proof of work must be some kind of puzzle that cannot be easily solved. The subject who carries out proof of work is called a miner. In exchange for this proof of work, the blockchain rewards miners in the form of coins. At this time, the difficulty level for calculating the proof of work is a numerical value. In other words, mining means the act of calculating the proof-of-work with the difficulty of a mathematical puzzle in the proof-of-work-based blockchain.

또한, 작업증명의 난이도가 요구하는 연산량은 일반적인 개인 컴퓨터의 연산량으로 처리하기에는 상당히 높기 때문에, 일반적으로 마이닝 풀을 구성하여 공동으로 작업을 한다. 이때, 마이닝 풀에서는 많은 채굴자가 마이닝 풀의 블록을 생성하는데 기여하고 각자의 기여만큼 보상을 나눠갖는다. 즉, 마이닝 풀을 구성함으로서 채굴자들은 블록을 오랜기간 생성하지 못하는 리스크를 줄일 수 있다.In addition, since the amount of computation required by the difficulty of proof of work is quite high to be processed by the computation amount of a general personal computer, a mining pool is generally constructed to work jointly. At this time, in the mining pool, many miners contribute to creating blocks of the mining pool and divide rewards as much as each contribution. That is, by constructing a mining pool, miners can reduce the risk of not generating blocks for a long time.

이때, 마이닝 풀에서 각 채굴자가 얼마나 기여하는지 측정하기 위해서 각 채굴자는 부분적 작업증명(Partial PoW)를 제출하게 된다. 부분적 작업증명은 비트코인 프로토콜에서 정해진 난이도보다 약한 난이도를 만족하는 작업증명으로, 실질적으로 비트코인 네트워크에서 보상을 얻을 수는 없지만 마이닝 풀 내에서 보상을 나누기위한, 어느 정도의 연산을 했다는 증명을 위한 데이터이다. 그리고, 실제로 마이닝 풀에 직접적인 보상을 가져오는 프로토콜상 난이도를 만족하는 작업증명은 완전한 작업증명(Full PoW)이라고 한다. 기본적으로 마이닝 풀 내에서는 부분적 작업증명을 기준으로 기여를 계산한다.At this time, in order to measure how much each miner contributes in the mining pool, each miner submits a partial proof of work. The partial proof-of-work is a proof-of-work that satisfies a difficulty that is weaker than the difficulty set in the Bitcoin protocol.It is practically impossible to obtain a reward in the Bitcoin network, but to prove that some calculation has been performed to divide the reward within the mining pool Data. In addition, the proof of work that satisfies the difficulty in the protocol that actually brings the direct reward to the mining pool is called full proof. Basically, within the mining pool, contributions are calculated based on partial proof of work.

본 출원의 목적은, 작업증명 기반 마이닝 풀 간에 발생할 수 있는 블록제출보류공격을 탐지할 수 있는 블록제출보류공격 탐지장치 및 그 동작 방법을 제공하기 위한 것이다. An object of the present application is to provide a block submission pending attack detection device capable of detecting a block submission pending attack that may occur between work proof based mining pools and an operation method thereof.

본 출원의 실시예에 따른 블록제출보류공격 탐지장치는, 자기 마이닝 풀에 기등록된 복수의 노드들 중 적어도 하나의 자기노드를 상대 마이닝 풀에 할당시키는 할당부, 상기 적어도 하나의 자기노드를 통해 상기 상대 마이닝 풀에서 분배되는 적어도 하나의 가상화폐 블록을 탐지하는 탐지부 및 상기 적어도 하나의 가상화폐 블록의 트랜잭션정보에 기초하여, 상기 상대 마이닝 풀에 대한 블록제출보류의 공격 여부를 판단하는 판단부를 포함한다. A block submission pending attack detection apparatus according to an embodiment of the present application, through an allocation unit for allocating at least one magnetic node among a plurality of nodes pre-registered in the magnetic mining pool to the other mining pool, through the at least one magnetic node A detection unit for detecting at least one virtual currency block distributed in the relative mining pool, and a determination unit for determining whether or not the block submission pending attack of the relative mining pool is attacked based on transaction information of the at least one virtual currency block. Includes.

실시예에 있어서, 상기 할당부는, 마이닝파워 총합 크기순으로 정렬된 마이닝 풀 리스트에 따라, 복수의 마이닝 풀들 중 크기순으로 상기 상대 마이닝 풀을 선택한다. In an embodiment, the allocation unit selects the relative mining pool in the order of size among a plurality of mining pools according to the mining pool list sorted by the sum of mining power.

실시예에 있어서, 상기 판단부는, 상기 트랜잭션정보와 기설정된 계좌주소 사이의 동일 여부를 비교하고, 상기 비교 결과에 따라, 상기 상대 마이닝 풀에 대해 블록제출보류공격자로 결정한다.In an embodiment, the determination unit compares whether the transaction information is the same as a predetermined account address, and determines a block submission pending attacker for the relative mining pool according to the comparison result.

실시예에 있어서, 상기 트랜잭션정보와 상기 기설정된 계좌주소가 서로 동일한 경우, 상기 상대 마이닝 풀에 분배되는 보상값을 복구하기 위한 보상인자에 기초하여, 상기 보상값을 조절하는 조절부를 더 포함한다.In an embodiment, when the transaction information and the preset account address are the same, further comprising an adjustment unit for adjusting the compensation value based on a compensation factor for restoring the compensation value distributed to the relative mining pool.

실시예에 있어서, 상기 탐지부는, 상기 적어도 하나의 트랜잭션정보로부터 각 코인베이스 트랜잭션을 추출하고, 상기 각 코인베이스 트랜잭션 중 기설정된 계좌주소와 동일한 코인베이스 트랜잭션의 개수를 카운트한다.In an embodiment, the detection unit extracts each coinbase transaction from the at least one transaction information, and counts the number of coinbase transactions equal to a preset account address among each coinbase transaction.

실시예에 있어서, 상기 탐지부는, 상기 개수에 기초하여, 상기 적어도 하나의 자기노드에 대한 공격탐지비율을 계산하고, 기설정된 침투비율 리스트를 참조하여, 상기 공격탐지비율에 대응되는 침투비율을 추정한다.In an embodiment, the detection unit calculates an attack detection rate for the at least one magnetic node based on the number, and estimates a penetration rate corresponding to the attack detection rate by referring to a preset list of penetration rates do.

실시예에 있어서, 상기 침투비율은, 상기 상대 마이닝 풀이 이득으로 취득할 수 있는 보상값 구간을 기초로 기설정되는 11 내지 20 퍼센트의 비율구간이다.In an embodiment, the penetration ratio is a ratio period of 11 to 20 percent that is preset based on a compensation value period that the relative mining pool can acquire as a gain.

실시예에 있어서, 상기 할당부는, 상기 트랜잭션정보와 상기 기설정된 계좌주소가 서로 다른 경우, 상기 적어도 하나의 자기노드가 제외된 나머지 노드들 중 적어도 하나의 다른노드를 다음 순위의 마이닝 풀에 할당시킨다.In an embodiment, when the transaction information and the preset account address are different, the allocation unit allocates at least one other node among the remaining nodes from which the at least one magnetic node is excluded, to a mining pool of the next rank. .

본 출원의 실시예에 따른 블록제출보류공격 탐지장치의 동작 방법으로서, 마이닝파워 총합 크기순으로 정렬된 마이닝 풀 리스트에 따라, 복수의 마이닝 풀들 중 크기순으로 상대 마이닝 풀을 선택하는 단계, 자기 마이닝 풀에 기등록된 복수의 노드들 중 적어도 하나의 자기노드를 상기 상대 마이닝 풀에 할당시키는 단계, 상기 적어도 하나의 자기노드를 통해 상기 상대 마이닝 풀에서 분배되는 적어도 하나의 가상화폐 블록을 탐지하는 단계 및 상기 적어도 하나의 가상화폐 블록의 트랜잭션정보에 기초하여, 상기 상대 마이닝 풀에 대한 블록제출보류의 공격 여부를 판단하는 단계를 포함한다.As a method of operating a block submission pending attack detection apparatus according to an embodiment of the present application, selecting a relative mining pool in a size order among a plurality of mining pools according to a mining pool list sorted by the sum of mining powers, self-mining Allocating at least one magnetic node among the plurality of nodes pre-registered in the pool to the relative mining pool, and detecting at least one virtual currency block distributed in the relative mining pool through the at least one magnetic node. And determining whether or not the block submission hold is attacked against the relative mining pool based on the transaction information of the at least one virtual currency block.

실시예에 있어서, 상기 판단하는 단계는, 상기 트랜잭션정보와 기설정된 계좌주소 사이의 동일 여부를 비교하는 단계 및 상기 트랜잭션정보와 상기 기설정된 계좌주소가 서로 동일한 경우, 상기 상대 마이닝 풀에 대해 블록제출보류공격자로 결정하는 단계를 포함한다.In an embodiment, the determining may include comparing whether the transaction information is the same as a predetermined account address, and when the transaction information and the preset account address are the same, submit a block to the relative mining pool. And determining as a pending attacker.

실시예에 있어서, 상기 상대 마이닝 풀이 상기 블록제출보류공격자로 판단된 경우, 상기 상대 마이닝 풀에 분배되는 보상값을 복구하기 위한 보상인자에 기초하여, 자기 마이닝 풀의 보상값을 조절하는 단계를 더 포함한다.In an embodiment, when the relative mining pool is determined to be the block submission pending attacker, adjusting the compensation value of the self-mining pool based on a compensation factor for restoring the compensation value distributed to the relative mining pool. Includes.

실시예에 있어서, 상기 판단하는 단계는, 상기 트랜잭션정보와 상기 기설정된 계좌주소가 서로 다른 경우, 상기 상대 마이닝 풀에 대해 정상 네트워크로 결정하는 단계 및 상기 상대 마이닝 풀이 정상 네트워크로 결정된 경우, 상기 적어도 하나의 자기노드가 제외된 나머지 노드들 중 적어도 하나의 다른노드를 다음 순위의 마이닝 풀에 할당시키는 단계를 포함한다.In an embodiment, the determining may include determining if the transaction information and the preset account address are different from each other by determining a normal network for the counterpart mining pool, and when the counterpart mining pool is determined as a normal network, the at least And assigning at least one other node among the remaining nodes from which one magnetic node is excluded to a mining pool of the next rank.

실시예에 있어서, 상기 탐지하는 단계는, 상기 적어도 하나의 가상화폐 블록으로부터 각 코인베이스 트랜잭션을 추출하는 단계, 상기 각 코인베이스 트랜잭션 중 기설정된 계좌주소와 동일한 코인베이스 트랜잭션의 개수를 카운트하는 단계, 상기 개수에 기초하여, 상기 적어도 하나의 자기노드에 대한 공격탐지비율을 계산하는 단계 및 기설정된 침투비율 리스트(121)를 참조하여, 상기 공격탐지비율에 대응되는 침투비율을 추정하는 단계를 포함한다.In an embodiment, the detecting may include extracting each coinbase transaction from the at least one cryptocurrency block, counting the number of coinbase transactions equal to a preset account address among the respective coinbase transactions, And calculating an attack detection rate for the at least one magnetic node based on the number and estimating a penetration rate corresponding to the attack detection rate with reference to the preset penetration rate list 121. .

실시예에 있어서, 상기 침투비율은, 상기 상대 마이닝 풀이 이득으로 취득할 수 있는 보상값 구간을 기초로 기설정되는 11 내지 20 퍼센트의 비율구간이다. In an embodiment, the penetration ratio is a ratio period of 11 to 20 percent that is preset based on a compensation value period that the relative mining pool can acquire as a gain.

본 출원의 실시예에 따른 블록제출보류공격 탐지장치 및 그 동작 방법은, 종래의 작업증명 기반의 가상화폐에서 이용되는 프로토콜 변화없이, 상대 마이닝 풀의 블록제출보류에 대한 공격 여부를 탐지할 수 있다. The block submission hold attack detection apparatus and its operation method according to an embodiment of the present application can detect whether an opponent mining pool is attacking the block submission hold without changing the protocol used in the conventional proof-of-work cryptocurrency. .

또한, 블록제출보류에 대한 공격으로 인한 자기 마이닝 풀의 감소된 보상을 복구시킬 수 있다. In addition, it is possible to restore the reduced compensation of the magnetic mining pool due to the attack on the block submission pending.

도 1은 본 출원의 실시예에 따른 블록제출보류공격 탐지장치에 대한 블록도이다.
도 2는 도 1의 블록제출보류공격 탐지장치의 동작을 보여주는 도면이다.
도 3은 도 1의 가상화폐 블록에 대한 일 예를 보여주는 도면이다.
도 4는 도 1의 할당부의 동작을 좀 더 자세히 보여주는 도면이다.
도 5는 도 1의 탐지부의 동작을 좀 더 자세히 보여주는 도면이다.
도 6은 도 1의 블록제출보류공격 탐지장치에 대한 동작 프로세스이다.
도 7은 도 5의 탐지부에 대한 동작 프로세스에 대한 실시예이다.
도 8은 본 출원의 다른 실시예에 따른 블록제출보류공격 탐지장치에 대한 블록도이다.
도 9는 도 8의 블록제출보류공격 탐지장치의 동작 프로세스에 대한 실시예이다.
1 is a block diagram of a block submission pending attack detection apparatus according to an embodiment of the present application.
2 is a view showing the operation of the block submission pending attack detection device of FIG.
3 is a diagram illustrating an example of the virtual currency block of FIG. 1.
4 is a view showing in more detail the operation of the allocation unit of FIG.
5 is a view showing in more detail the operation of the detection unit of FIG.
FIG. 6 is an operation process of the block submission pending attack detection device of FIG. 1.
7 is an embodiment of an operation process for the detector of FIG. 5.
8 is a block diagram of a block submission pending attack detection apparatus according to another embodiment of the present application.
FIG. 9 is an embodiment of an operation process of the block submission pending attack detection device of FIG. 8.

본 명세서에 개시되어 있는 본 출원의 개념에 따른 실시 예들에 대해서 특정한 구조적 또는 기능적 설명들은 단지 본 출원의 개념에 따른 실시 예들을 설명하기 위한 목적으로 예시된 것으로서, 본 출원의 개념에 따른 실시 예들은 다양한 형태들로 실시될 수 있으며 본 명세서에 설명된 실시 예들에 한정되지 않는다.Specific structural or functional descriptions of the embodiments according to the concept of the present application disclosed in the present specification are exemplified for the purpose of describing the embodiments according to the concept of the present application, and the embodiments according to the concept of the present application It can be implemented in various forms and is not limited to the embodiments described herein.

본 출원의 개념에 따른 실시 예들은 다양한 변경들을 가할 수 있고 여러 가지 형태들을 가질 수 있으므로 실시 예들을 도면에 예시하고 본 명세서에 상세하게 설명하고자 한다. 그러나, 이는 본 출원의 개념에 따른 실시 예들을 특정한 개시 형태들에 대해 한정하려는 것이 아니며, 본 출원의 사상 및 기술 범위에 포함되는 모든 변경, 균등물, 또는 대체물을 포함한다.Embodiments according to the concept of the present application may apply various changes and may have various forms, so that the embodiments will be illustrated in the drawings and described in detail herein. However, this is not intended to limit the embodiments according to the concept of the present application to specific disclosure forms, and includes all changes, equivalents, or substitutes included in the spirit and scope of the present application.

제1 또는 제2 등의 용어는 다양한 구성 요소들을 설명하는데 사용될 수 있지만, 상기 구성 요소들은 상기 용어들에 의해 한정되어서는 안 된다. 상기 용어들은 하나의 구성 요소를 다른 구성 요소로부터 구별하는 목적으로만, 예컨대 본 출원의 개념에 따른 권리 범위로부터 이탈되지 않은 채, 제1구성요소는 제2구성요소로 명명될 수 있고, 유사하게 제2구성요소는 제1구성요소로도 명명될 수 있다.Terms such as first or second may be used to describe various components, but the components should not be limited by the terms. The above terms are only for the purpose of distinguishing one component from another component, for example, without departing from the scope of rights according to the concept of the present application, the first component may be referred to as the second component, and similarly The second component may also be referred to as the first component.

어떤 구성요소가 다른 구성요소에 "연결되어" 있다거나 "접속되어" 있다고 언급된 때에는, 그 다른 구성요소에 직접적으로 연결되어 있거나 또는 접속되어 있을 수도 있지만, 중간에 다른 구성요소가 존재할 수도 있다고 이해되어야 할 것이다. 반면에, 어떤 구성요소가 다른 구성요소에 "직접 연결되어" 있다거나 "직접 접속되어" 있다고 언급된 때에는, 중간에 다른 구성요소가 존재하지 않는 것으로 이해되어야 할 것이다. 구성요소들 간의 관계를 설명하는 다른 표현들, 즉 "~사이에"와 "바로 ~사이에" 또는 "~에 이웃하는"과 "~에 직접 이웃하는" 등도 마찬가지로 해석되어야 한다.When an element is said to be "connected" or "connected" to another component, it is understood that other components may be directly connected to or connected to the other component, but there may be other components in between. It should be. On the other hand, when a component is said to be "directly connected" or "directly connected" to another component, it should be understood that no other component exists in the middle. Other expressions that describe the relationship between the components, such as "between" and "immediately between" or "neighboring" and "directly neighboring to" should be interpreted as well.

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

다르게 정의되지 않는 한, 기술적이거나 과학적인 용어를 포함해서 여기서 사용되는 모든 용어들은 본 출원이 속하는 기술 분야에서 통상의 지식을 가진 자에 의해 일반적으로 이해되는 것과 동일한 의미를 가진다. 일반적으로 사용되는 사전에 정의되어 있는 것과 같은 용어들은 관련 기술의 문맥상 가지는 의미와 일치하는 의미를 갖는 것으로 해석되어야 하며, 본 명세서에서 명백하게 정의하지 않는 한, 이상적이거나 과도하게 형식적인 의미로 해석되지 않는다.Unless defined otherwise, all terms used herein, including technical or scientific terms, have the same meaning as commonly understood by a person skilled in the art to which this application belongs. Terms, such as those defined in a commonly used dictionary, should be interpreted as having meanings consistent with meanings in the context of related technologies, and should not be interpreted as ideal or excessively formal meanings unless explicitly defined herein. Does not.

이하, 첨부한 도면을 참조하여 본 출원의 바람직한 실시 예를 설명함으로써, 본 출원을 상세히 설명한다.Hereinafter, the present application will be described in detail by describing preferred embodiments of the present application with reference to the accompanying drawings.

도 1은 본 출원의 실시예에 따른 블록제출보류공격 탐지장치에 대한 블록도이고, 도 2는 도 1의 블록제출보류공격 탐지장치의 동작을 보여주는 도면이며, 도 3은 도 1의 가상화폐 블록에 대한 일 예를 보여주는 도면이다. 1 is a block diagram of a block submission pending attack detection apparatus according to an embodiment of the present application, FIG. 2 is a diagram showing the operation of the block submission pending attack detection apparatus of FIG. 1, and FIG. 3 is a virtual currency block of FIG. 1 It is a diagram showing an example of.

도 1과 도 2를 참조하면, 블록제출보류공격 탐지장치(100)는 할당부(110), 탐지부(120) 및 판단부(130)를 포함할 수 있다. 1 and 2, the block submission pending attack detection apparatus 100 may include an allocation unit 110, a detection unit 120, and a determination unit 130.

할당부(110)는 자기 마이닝 풀(10)에 기등록된 복수의 자기노드들(10_1~10_N) 중 적어도 하나의 자기노드(예컨대, 10_1~10_3)를 상대 마이닝 풀(20)에 할당시킬 수 있다. 여기서, 복수의 자기노드들(10_1~10_N) 각각은 가상화폐 블록에 대한 넌스(NONCE)를 연산하여 가상화폐 블록을 생성하고, 이에 따른 보상을 받는 채굴자의 단말일 수 있다. 이때, 넌스(NONCE)는 기설정된 조건을 만족하는 가상화폐 블록에 포함된 정보이므로, 넌스(NONCE)는 신규의 가상화폐 블록에 대응될 수 있다. The allocation unit 110 may allocate at least one magnetic node (eg, 10_1 to 10_3) of the plurality of magnetic nodes 10_1 to 10_N registered in the magnetic mining pool 10 to the relative mining pool 20. have. Here, each of the plurality of magnetic nodes 10_1 to 10_N may generate a virtual currency block by calculating a nonce for a virtual currency block, and may be a terminal of a miner receiving compensation accordingly. At this time, the nonce (NONCE) is information included in the virtual currency block that satisfies a predetermined condition, so the nonce (NONCE) may correspond to a new virtual currency block.

도 3에 도시된 바와 같이, 가상화폐 블록은 수학적 알고리즘을 통해 연산될 수 있다. 예를 들면, 가상화폐 블록은 헤더정보와 트랜잭션정보를 포함하고, 구체적으로, 헤더정보는 트랜잭션정보를 암호화하여 출력된 값을 merkleRootHash로 기록한 정보이고, 트랜잭션정보는 가상화폐 블록을 생성한 채굴자의 계좌정보에 해당하는 Coinbase 트랜잭션을 포함할 수 있다. As shown in FIG. 3, the virtual currency block can be calculated through a mathematical algorithm. For example, the virtual currency block includes header information and transaction information. Specifically, the header information is information obtained by encrypting the transaction information and recording the output value with merkleRootHash, and the transaction information is the account of the miner who generated the virtual currency block. It may include Coinbase transactions corresponding to information.

본 출원에서는 설명의 편의를 위해, 가상화폐 블록을 비트코인 블록구조로 설명하지만, 이를 한정하는 것은 아니며, 가상화폐 블록에 대한 넌스(NONCE)를 연산하는 채굴자의 계좌정보가 포함된 가상화폐 블록에 모두 적용 가능하다. 예를 들면, 가상화폐 블록은 작업증명 기반의 이더리움, 이더리움 클래식, 리플, 라이트코인, 에이코인, 대시, 모네로, 제트캐시 및 퀀텀 중 적어도 하나의 블록으로 이용될 수 있다. In the present application, for convenience of explanation, the virtual currency block is described as a bitcoin block structure, but the present invention is not limited to the virtual currency block including the account information of the miner who calculates nonce for the virtual currency block. All are applicable. For example, the cryptocurrency block may be used as at least one of Ethereum, Ethereum Classic, Ripple, Litecoin, Ecoin, Dash, Monero, Jet Cash, and Quantum based on proof of work.

또한, 자기 마이닝 풀(10)은 복수의 자기노드들(10_1~10_N)을 통해 가상화폐 블록에 대한 넌스(NONCE)를 공동으로 연산하기 위한 공동의 네트워크를 의미할 수 있다. Also, the magnetic mining pool 10 may refer to a common network for jointly computing a nonce (NONCE) for a cryptocurrency block through a plurality of magnetic nodes 10_1 to 10_N.

구체적으로, 자기 마이닝 풀(10)은 가상화폐 블록을 공동으로 연산하기 위하여, 기등록된 복수의 자기노드들(10_1~10_N)에 가상화폐 블록의 난이도에 따라, 가상화폐 블록을 분배할 수 있다. 그런 다음, 자기 마이닝 풀(10)은 신규 가상화폐 블록을 생성함에 따라 얻어진 보상을 부분적 작업증명에 따라 복수의 자기노드들(10_1~10_N)에 분배할 수 있다. Specifically, the magnetic mining pool 10 may distribute the cryptocurrency block according to the difficulty of the cryptocurrency block among a plurality of pre-registered magnetic nodes 10_1 to 10_N in order to jointly calculate the cryptocurrency block. . Then, the magnetic mining pool 10 may distribute the rewards obtained by creating a new cryptocurrency block to a plurality of magnetic nodes 10_1 to 10_N according to a partial proof of work.

여기서, 부분적 작업증명은 가상화폐 블록을 연산하는데 있어서, 각 노드가 기여하는 각 마이닝파워에 대응될 수 있다. 예를 들면, 마이닝파워는 부분적 작업증명을 연산하는 데 소모되는 자원이므로, 부분적 작업증명은 각 마이닝파워에 대응될 수 있다. Here, the partial proof-of-work may correspond to each mining power contributed by each node in computing the cryptocurrency block. For example, since the mining power is a resource consumed for calculating the partial work proof, the partial work proof may correspond to each mining power.

다음으로, 탐지부(120)는 적어도 하나의 자기노드(예컨대, 10_1~10_3)를 통해 상대 마이닝 풀(20)에서 분배되는 적어도 하나의 가상화폐 블록의 트랜잭션정보를 탐지할 수 있다. Next, the detection unit 120 may detect transaction information of at least one virtual currency block distributed in the relative mining pool 20 through at least one magnetic node (eg, 10_1 to 10_3).

구체적으로, 상대 마이닝 풀(20)에 할당된 적어도 하나의 자기노드(예컨대, 10_1~10_3)는 상대 마이닝 풀(20)로부터 적어도 하나의 가상화폐 블록을 분배받을 수 있다. 이때, 탐지부(120)는 적어도 하나의 자기노드(예컨대, 10_1~10_3)를 통해 적어도 하나의 가상화폐 블록을 전송받을 수 있다. 그런 다음, 탐지부(120)는 적어도 하나의 가상화폐 블록으로부터 트랜잭션정보를 각각 추출할 수 있다. 그런 다음, 탐지부(120)는 적어도 하나의 가상화폐 블록의 트랜잭션정보를 판단부(130)로 전송할 수 있다. Specifically, at least one magnetic node (eg, 10_1 to 10_3) allocated to the relative mining pool 20 may receive at least one cryptocurrency block from the relative mining pool 20. At this time, the detector 120 may receive at least one virtual currency block through at least one magnetic node (eg, 10_1 to 10_3). Then, the detector 120 may extract transaction information from at least one virtual currency block, respectively. Then, the detection unit 120 may transmit the transaction information of at least one virtual currency block to the determination unit 130.

다음으로, 판단부(130)는 탐지부(120)를 통해 탐지된 적어도 하나의 가상화폐 블록의 각 트랜잭션정보에 기초하여, 상대 마이닝 풀(20)에 대한 블록제출보류의 공격 여부를 판단할 수 있다. Next, the determination unit 130 may determine whether or not the block submission pending attack against the counter mining pool 20 is based on each transaction information of at least one virtual currency block detected through the detection unit 120. have.

구체적으로, 판단부(130)는 적어도 하나의 가상화폐 블록의 각 트랜잭션정보와 기설정된 계좌주소 사이의 동일 여부를 비교할 수 있다. 여기서, 기설정된 계좌주소는 작업증명 기반의 가상화폐 블록에 대한 연산에 따라 보상을 제공하기 위한 각 노드들(10_1~10_N)의 계좌정보일 수 있다. Specifically, the determination unit 130 may compare whether each transaction information of at least one virtual currency block is the same between a predetermined account address. Here, the preset account address may be account information of each node 10_1 to 10_N for providing compensation according to the operation of the proof-of-work cryptocurrency block.

이때, 적어도 하나의 가상화폐 블록의 각 트랜잭션정보와 기설정된 계좌주소가 서로 동일한 경우, 판단부(130)는 상대 마이닝 풀(20)에 대해 블록제출보류공격자로 판단할 수 있다. 적어도 하나의 가상화폐 블록의 각 트랜잭션정보와 기설정된 계좌주소가 서로 동일하다는 것은 자기 마이닝 풀의 작업 증명 과제가 상대 마이닝 풀에게 분배되었다는 것을 의미하는 것이고, 이는 상대 마이닝 풀에게 공격을 당했다는 것을 의미할 수 있다. 한편, 적어도 하나의 가상화폐 블록의 트랜잭션정보와 기설정된 계좌주소가 서로 동일하지 않은 경우, 판단부(130)는 상대 마이닝 풀(20)에 대해 정상 네트워크로로 판단할 수 있다. At this time, when each transaction information of the at least one virtual currency block and the preset account address are the same, the determination unit 130 may determine the relative mining pool 20 as a block submission pending attacker. The fact that each transaction information of at least one cryptocurrency block and the preset account address are the same means that the task proof task of the own mining pool is distributed to the other mining pool, which means that it has been attacked by the other mining pool. can do. Meanwhile, when the transaction information of at least one virtual currency block and the preset account address are not the same, the determination unit 130 may determine the relative mining pool 20 as a normal network.

실시예에 따른 블록제출보류공격 탐지장치(100)는 복수의 자기노드들(10_1~10_N) 중 하나의 노드(예컨대, 10_N)일 수 있거나, 복수의 자기노드들(10_1~10_N)을 관리하는 서버 또는 복수의 마이닝 풀들(10, 20_1~20_N)을 관리하는 중앙관리서버에 구현될 수 있다. The block submission pending attack detection apparatus 100 according to an embodiment may be one node (eg, 10_N) of a plurality of magnetic nodes 10_1 to 10_N, or manages a plurality of magnetic nodes 10_1 to 10_N It may be implemented in a central management server that manages a server or a plurality of mining pools 10, 20_1 to 20_N.

본 출원의 실시예에 따른 블록제출보류공격 탐지장치(100)는 할당부(110)를 통해 자기 마이닝 풀(10)에 기등록된 복수의 자기노드들(10_1~10_N) 중 적어도 하나의 자기노드(예컨대, 10_1~10_3)를 상대 마이닝 풀(20)에 할당시킬 수 있다. 이때, 블록제출보류공격 탐지장치(100)는 탐지부(120)를 통해 상대 마이닝 풀(20)에서 적어도 하나의 자기노드(예컨대, 10_1~10_N)에서 분배받는 적어도 하나의 가상화폐 블록을 탐지할 수 있다. 이후, 블록제출보류공격 탐지장치(100)는 판단부(130)를 통해 적어도 하나의 가상화폐 블록의 트랜잭션정보에 기초하여, 블록제출보류에 대한 공격 여부를 판단할 수 있다. 이에 따라, 블록제출보류공격 탐지장치(100)는 종래의 작업증명 기반의 가상화폐에서 이용되는 프로토콜의 변화없이, 상대 마이닝 풀(20)의 블록제출보류에 대한 공격 여부를 탐지할 수 있다. The block submission pending attack detection apparatus 100 according to an embodiment of the present application includes at least one magnetic node among a plurality of magnetic nodes 10_1 to 10_N pre-registered in the magnetic mining pool 10 through the allocation unit 110 (Eg, 10_1 to 10_3) may be allocated to the relative mining pool 20. At this time, the block submission pending attack detection device 100 detects at least one virtual currency block distributed from at least one magnetic node (eg, 10_1 to 10_N) in the relative mining pool 20 through the detection unit 120. Can be. Thereafter, the block submission pending attack detection apparatus 100 may determine whether to attack the block submission pending based on the transaction information of at least one virtual currency block through the determination unit 130. Accordingly, the block submission pending attack detection apparatus 100 may detect whether the opponent mining pool 20 attacks the block submission pending without changing the protocol used in the conventional proof-of-work cryptocurrency.

도 4를 참조하여, 할당부(110)에 대해 보다 구체적으로 설명될 것이다 .Referring to FIG. 4, the allocation unit 110 will be described in more detail.

도 4는 도 1의 할당부(110)의 동작을 좀 더 자세히 보여주는 도면이다. 4 is a view showing in more detail the operation of the allocation unit 110 of FIG.

먼저, 도 1, 도 2 및 도 4를 참조하면, 할당부(110)는 사전에 전송받은 마이닝 풀 리스트를 참조하여, 복수의 마이닝 풀들(20_1~20_N) 중 각 마이닝파워의 총합 크기순으로 상대 마이닝 풀(20)을 최우선 선택할 수 있다. 하지만, 상대 마이닝풀(20)을 선택하는 것은 이에 한정되는 것은 아니다. 예를 들어, 마이닝 풀 리스트는 복수의 마이닝 풀들(20_1~20_N)이 해당 마이닝파워 총합 크기순으로 정렬된 리스트 또는 기존의 블록제출보류공격이 탐지된 빈도순으로 정렬된 리스트일 수 있다. First, referring to FIGS. 1, 2 and 4, the allocation unit 110 refers to a list of mining pools previously received, and is relative to the total size of each mining power among the plurality of mining pools 20_1 to 20_N. The mining pool 20 can be selected first. However, selecting the relative mining pool 20 is not limited thereto. For example, the mining pool list may be a list in which a plurality of mining pools 20_1 to 20_N are sorted in the order of the total size of the mining power, or a list in the order of frequency in which the existing block submission pending attacks were detected.

본 출원의 일 실시예에서, 할당부(110)는 복수의 마이닝 풀들(20_1~20_N) 중 각 마이닝파워의 총합이 가장 큰 제1 마이닝 풀(예컨대, 20_1)을 상대 마이닝 풀(20)로 먼저 선택할 수 있다. 이때, 할당부(110)는 자기 마이닝 풀(10)에 기등록된 복수의 자기노드들(10_1~10_N) 중 적어도 하나의 자기노드(예컨대, 10_1~10_3)를 제1 마이닝 풀(20_1)에 할당시킬 수 있다. In one embodiment of the present application, the allocation unit 110 first of all the mining powers of the plurality of mining pools 20_1 to 20_N, for example, the largest mining pool (for example, 20_1) as the relative mining pool 20 You can choose. At this time, the allocator 110 assigns at least one magnetic node (eg, 10_1 to 10_3) of the plurality of magnetic nodes 10_1 to 10_N previously registered in the magnetic mining pool 10 to the first mining pool 20_1. Can be assigned.

실시예에 따른, 할당부(110)는 마이닝파워의 총합 크기가 서로 동일한 경우, 해당 노드들의 개수에 따라 또는 기존의 블록제출보류공격이 탐지된 빈도수에 따라, 상대 마이닝 풀(20)을 선택할 수 있다. According to an embodiment, the allocator 110 may select the relative mining pool 20 according to the number of corresponding nodes or the frequency of detection of an existing block submission pending attack, when the total size of the mining power is the same. have.

또한, 판단부(130)가 상대 마이닝 풀(20)을 정상 네트워크로 결정하거나 또는 트랜잭션정보와 기설정된 계좌주소가 서로 다른 경우, 할당부(110)는 적어도 하나의 자기노드(예컨대, 10_1~10_3)를 제외한 나머지 자기노드들(10_10~10_N) 중 적어도 하나의 다른노드(예컨대, 10_4~10_6)를 다음 순위의 마이닝 풀에 할당시킬 수 있다. 예를 들면, 제1 마이닝 풀(20_1)이 정상 네트워크로 결정된 경우, 할당부(110)는 자기 마이닝 풀(10)에 나머지 노드들(10_4~10_N) 중 적어도 하나의 다른노드(예컨대, 10_4~10_6)를 선택할 수 있다. In addition, when the determination unit 130 determines the relative mining pool 20 as a normal network or when transaction information and a preset account address are different, the allocation unit 110 may include at least one magnetic node (eg, 10_1 to 10_3). ), at least one other node (eg, 10_4 to 10_6) of the remaining magnetic nodes 10_10 to 10_N may be allocated to the mining pool of the next rank. For example, when the first mining pool 20_1 is determined to be a normal network, the allocation unit 110 has at least one other node among the remaining nodes 10_4 to 10_N in the self mining pool 10 (eg, 10_4 to 10_6) can be selected.

이때, 할당부(110)는 제1 마이닝 풀(20_1)에 할당된 적어도 하나의 자기노드(예컨대, 10_1~10_3)를 자기 마이닝 풀(10)에 재할당시킬 수 있다. 그런 다음, 할당부(110)는 마이닝 풀 리스트를 참조하여, 적어도 하나의 다른노드(예컨대, 10_4~10_6)를 다음 순위의 제2 마이닝 풀(20_2)에 할당시킬 수 있다. At this time, the allocation unit 110 may reassign at least one magnetic node (eg, 10_1 to 10_3) allocated to the first mining pool 20_1 to the magnetic mining pool 10. Then, the allocation unit 110 may allocate at least one other node (eg, 10_4 to 10_6) to the second mining pool 20_2 of the next rank with reference to the mining pool list.

즉, 상대 마이닝 풀(20)이 변화됨에 따라, 할당부(110)는 상대 마이닝 풀(20)에 할당되는 적어도 하나의 자기노드(예컨대, 10_1~10_3)를 나머지 노드들(10_4~10_N) 중 적어도 하나의 다른노드(예컨대, 10_4~10_6)로 변화시킬 수 있다. 이에, 할당부(110)는 가상화폐 블록을 탐지하기 위한 적어도 하나의 자기노드(예컨대, 10_1~10_3)를 각 마이닝 풀들(20_1~20_N)로부터 은폐시킬 수 있다. That is, as the relative mining pool 20 is changed, the allocation unit 110 sets at least one magnetic node (eg, 10_1 to 10_3) allocated to the relative mining pool 20 among the remaining nodes 10_4 to 10_N. It can be changed to at least one other node (for example, 10_4 to 10_6). Accordingly, the allocation unit 110 may conceal at least one magnetic node (eg, 10_1 to 10_3) for detecting a virtual currency block from each mining pool 20_1 to 20_N.

도 5는 도 1의 탐지부(120)의 동작을 좀 더 자세히 보여주는 도면이다. 5 is a view showing in more detail the operation of the detector 120 of FIG. 1.

도 1 내지 도 5를 참조하면, 탐지부(120)는 상대 마이닝 풀(20)로부터 가상화폐 블록을 분배받는 적어도 하나의 자기노드(예컨대, 10_1~10_3)를 통해 적어도 하나의 가상화폐 블록을 전송받을 수 있다. 그런 다음, 탐지부(120)는 적어도 하나의 가상화폐 블록으로부터 각 트랜잭션정보를 추출하고, 각 트랜잭션정보로부터 코인베이스 트랜잭션(Coinbase Transaction)을 각각 추출할 수 있다. 1 to 5, the detector 120 transmits at least one cryptocurrency block through at least one magnetic node (eg, 10_1 to 10_3) that receives a cryptocurrency block from the counterpart mining pool 20. Can receive Then, the detection unit 120 may extract each transaction information from at least one virtual currency block, and extract each Coinbase Transaction from each transaction information.

일 실시예에 따른 탐지부(120)는 기설정된 계좌주소와 동일한 코인베이스 트랜잭션(Coinbase Transaction)의 개수를 카운트할 수 있다. 구체적으로, 탐지부(120)는 기설정된 계좌주소를 이용하여 각 코인베이스 트랜잭션(Coinbase Transaction) 중 기설정된 계좌주소와 동일한 코인베이스 트랜잭션(Coinbase Transaction)의 개수를 카운트할 수 있다.The detector 120 according to an embodiment may count the number of coinbase transactions that are the same as the preset account address. Specifically, the detector 120 may count the number of coinbase transactions that are the same as the preset account address among each coinbase transaction using the preset account address.

예를 들면, 도 5에 도시된 바와 같이, 탐지부(120)는 적어도 하나의 자기노드(예컨대, 10_1~10_3)를 통해 전송받는 3개의 코인베이스 트랜잭션(Coinbase Transaction)을 추출하는 동시에, 기설정된 계좌주소와 동일한 Coinbase 트랜잭션의 개수에 해당하는 2개를 카운트할 수 있다. For example, as illustrated in FIG. 5, the detector 120 extracts three Coinbase Transactions transmitted through at least one magnetic node (eg, 10_1 to 10_3), and simultaneously Two corresponding to the number of Coinbase transactions equal to the account address can be counted.

이때, 탐지부(120)는 동일한 코인베이스 트랜잭션(Coinbase Transaction)의 개수에 기초하여, 적어도 하나의 자기노드(예컨대, 10_1~10_3)에 대한 공격탐지비율을 연산할 수 있다. 예를 들면, 도 5에 도시된 바와 같이, 탐지부(120)는 적어도 하나의 자기노드(예컨대, 10_1~10_3)에 대한 공격탐지비율을 66.6%로 연산할 수 있다. At this time, the detector 120 may calculate an attack detection ratio for at least one magnetic node (eg, 10_1 to 10_3) based on the same number of coinbase transactions. For example, as illustrated in FIG. 5, the detector 120 may calculate an attack detection rate for at least one magnetic node (eg, 10_1 to 10_3) as 66.6%.

그런 다음, 탐지부(120)는 기설정된 침투비율 리스트(121)를 참조하여, 공격탐지비율에 따라 기설정된 상대 마이닝 풀(20)의 침투비율을 추정할 수 있다. 여기서, 침투비율은 상대 마이닝 풀(20)이 자기 마이닝 풀(10)에 침투시킨 비율을 의미할 수 있다. 이때, 침투비율은, 상대 마이닝 풀(20)이 이득으로 취득할 수 있는 보상값 구간을 기준으로 기설정되는 11 내지 20 퍼센트의 비율구간으로 조절될 수 있다. Then, the detector 120 may estimate the penetration ratio of the preset mining pool 20 according to the attack detection ratio by referring to the preset penetration ratio list 121. Here, the penetration ratio may refer to a ratio in which the relative mining pool 20 penetrates the magnetic mining pool 10. In this case, the penetration ratio may be adjusted to a preset ratio ratio of 11 to 20 percent based on a compensation value period that the relative mining pool 20 can acquire as a gain.

다음의 표 1은 침투비율 리스트(121)로서, 적어도 하나의 자기노드(예컨대, 10_1~10_3)에 대한 공격탐지비율과 공격탐지비율 각각에 대응되는 상대 마이닝 풀(20)의 침투비율을 포함하는 리스트일 수 있다. 여기서, 침투비율 리스트(121)는 상대 마이닝 풀(20)이 획득할 수 있는 보상값의 이득변화를 토대로, 미리 생성될 수 있다. Table 1 below is a penetration ratio list 121, which includes an attack detection ratio for at least one magnetic node (for example, 10_1 to 10_3) and an attack ratio of an opponent mining pool 20 corresponding to each attack detection ratio. It can be a list. Here, the penetration ratio list 121 may be generated in advance based on the gain change of the compensation value that the relative mining pool 20 can acquire.

공격탐지비율(%)Attack detection rate (%) 침투비율(%)Penetration rate (%) 0-100-10 2020 10-2010-20 1919 20-3020-30 1111 30-4030-40 1818 40-5040-50 1212 50-6050-60 1717 60-7060-70 1313 70-8070-80 1616 80-9080-90 1414 90-10090-100 1515

예를 들면, 공격탐지비율이 66.6%에 해당하는 경우, 탐지부(120)는 표 1를 참조하여, 66.6% 구간에 해당하는 상대 마이닝 풀(20)에 대한 침투비율 13%를 추정할 수 있다. For example, when the attack detection rate corresponds to 66.6%, the detector 120 may estimate the penetration rate 13% for the relative mining pool 20 corresponding to the 66.6% section with reference to Table 1 .

도 6은 도 1의 블록제출보류공격 탐지장치(100)에 대한 동작 프로세스이다. 6 is an operation process for the block submission pending attack detection device 100 of FIG. 1.

도 1 내지 도 6을 참조하면, 먼저, S110 단계에서, 할당부(110)는 마이닝파워 총합 크기순으로 정렬된 마이닝 풀 리스트에 따라, 복수의 마이닝 풀들(20_1~20_N) 중 마이닝파워 총합이 가장 큰 제1 마이닝 풀(20_1)을 상대 마이닝 풀(20)로 선택할 수 있다. 1 to 6, first, in step S110, the allocation unit 110, the mining power sum of the plurality of mining pools (20_1 ~ 20_N), according to the mining pool list sorted by the sum of mining power total size The large first mining pool 20_1 can be selected as the relative mining pool 20.

예를 들면 상대 마이닝 풀(20)은 복수의 마이닝 풀들(20_1~20_N) 중 마이닝파워 총합 크기가 가장 큰 크기를 가질 수 있다. 또한, 할당부(110)는 마이닝파워 총합 크기가 동일한 경우, 해당 노드의 개수나 보상값에 따라 상대 마이닝 풀(20)을 선택할 수 있다. For example, the relative mining pool 20 may have the largest sum of mining powers among the plurality of mining pools 20_1 to 20_N. In addition, when the total size of the mining power is the same, the allocation unit 110 may select the relative mining pool 20 according to the number of nodes or the compensation value.

이때, S120 단계에서, 할당부(110)는 자기 마이닝 풀(10)에 기등록된 복수의 자기노드들(10_1~10_N) 중 적어도 하나의 자기노드(예컨대, 10_1~10_3)를 상대 마이닝 풀(20)에 할당시킬 수 있다. At this time, in step S120, the allocation unit 110 relative to the mining pool (e.g., 10_1 ~ 10_3) of at least one of the plurality of magnetic nodes (10_1 ~ 10_N) previously registered in the magnetic mining pool (10) 20).

다음으로, S130 단계에서, 탐지부(120)는 적어도 하나의 자기노드(예컨대, 10_1~10_3)를 통해 상대 마이닝 풀(20)에서 분배되는 가상화폐 블록을 탐지할 수 있다.Next, in step S130, the detector 120 may detect a virtual currency block distributed in the counter mining pool 20 through at least one magnetic node (eg, 10_1 to 10_3).

이후, S140 단계에서, 판단부(130)는 탐지부(120)를 통해 탐지된 가상화폐 블록의 트랜잭션정보에 기초하여, 상대 마이닝 풀(20)에 대한 블록제출보류의 공격 여부를 판단할 수 있다.Subsequently, in step S140, the determination unit 130 may determine whether or not the block submission pending attack against the counter mining pool 20 is based on the transaction information of the virtual currency block detected through the detection unit 120. .

도 7은 도 6의 탐지부(120)의 동작 프로세스를 좀 더 자세히 보여주는 도면이다. 7 is a view showing in more detail the operation process of the detector 120 of FIG. 6.

도 1 내지 7을 참조하면, 먼저, S131 단계에서, 탐지부(120)는 적어도 하나의 자기노드(예컨대, 10_1~10_3)를 통해 탐지된 적어도 하나의 가상화폐 블록으로부터 각 코인베이스 트랜잭션을 추출할 수 있다.1 to 7, first, in step S131, the detector 120 extracts each coin-based transaction from at least one cryptocurrency block detected through at least one magnetic node (eg, 10_1 to 10_3). You can.

그런 다음, S132 단계에서, 탐지부(120)는 각 코인베이스 트랜잭션 중 기설정된 계좌주소와 동일한 코인베이스 트랜잭션의 개수를 카운트할 수 있다. Then, in step S132, the detector 120 may count the number of coinbase transactions that are the same as the preset account address among each coinbase transaction.

그런 다음, S133 단계에서, 탐지부(120)는 동일한 코인베이스 트랜잭션의 개수에 기초하여, 적어도 하나의 자기노드(예컨대, 10_1~10_3)에 대한 공격탐지비율을 연산할 수 있다. Then, in step S133, the detector 120 may calculate an attack detection ratio for at least one magnetic node (eg, 10_1 to 10_3) based on the same number of coin-based transactions.

이후, S134 단계에서, 탐지부(120)는 기설정된 침투비율 리스트(121)를 참조하여, 공격탐지비율에 대응되는 상대 마이닝 풀(20)에 대한 침투비율을 추정할 수 있다. Thereafter, in step S134, the detector 120 may estimate the penetration ratio for the relative mining pool 20 corresponding to the attack detection ratio by referring to the preset penetration ratio list 121.

도 8은 본 출원의 다른 실시예에 따른 블록제출보류공격 탐지장치(200)에 대한 블록도이다. 8 is a block diagram of a block submission pending attack detection apparatus 200 according to another embodiment of the present application.

도 8을 참조하면, 블록제출보류공격 탐지장치(200)는 할당부(210), 탐지부(220), 판단부(230) 및 조절부(240)를 포함할 수 있다. Referring to FIG. 8, the block submission pending attack detection apparatus 200 may include an allocation unit 210, a detection unit 220, a determination unit 230, and a control unit 240.

이하, 할당부(210), 탐지부(220) 및 판단부(230)는 도 1 내지 도 5에서 설명된 할당부(110), 탐지부(120), 판단부(130)와 부재번호만 다를 뿐, 기능과 동작이 서로 동일하므로, 중복된 설명은 생략될 것이다. Hereinafter, the allocation unit 210, the detection unit 220 and the determination unit 230 differ only in the member numbers from the allocation unit 110, the detection unit 120, and the determination unit 130 described in FIGS. However, since the function and operation are the same, a duplicate description will be omitted.

먼저, 상대 마이닝 풀(20)이 블록제출 보류공격자로 판단된 경우, 또는 트랜잭션정보와 기설정된 계좌주소 사이가 서로 동일한 경우, 조절부(240)는 상대 마이닝 풀(20)에 분배되는 보상값을 조절할 수 있다. First, when the relative mining pool 20 is determined to be a block submission pending attacker, or when the transaction information and the preset account address are the same, the control unit 240 compensates the reward value distributed to the relative mining pool 20 Can be adjusted.

보다 구체적으로, 조절부(240)는 다음의 계산식(1)을 통해 자기 마이닝 풀(10)의 보상값(Rb(t))을 계산할 수 있다. More specifically, the adjusting unit 240 may calculate the compensation value R b (t) of the magnetic mining pool 10 through the following equation (1).

여기서, 계산식(1)은

Figure pat00001
이고, Here, the formula (1) is
Figure pat00001
ego,

이때, a는 상대 마이닝 풀(20)의 마이닝파워, b는 자기 마이닝 풀(10)의 마이닝파워, t는 상대 마이닝 풀(20)의 침투비율 및 h는 보상인자일 수 있다. In this case, a may be a mining power of the relative mining pool 20, b may be a mining power of the magnetic mining pool 10, t may be a penetration factor of the relative mining pool 20, and h may be a compensation factor.

실시예에 따라, 자기 마이닝 풀(10)의 보상값(Rb(t))은 침투비율에 따라 자기 마이닝 풀(10)에 보상되는 제1 보상값(Rb1(t))과 침투비율에 따라 상대 마이닝 풀(20)에 분배되는 제2 보상값(Rb2(t))을 포함할 수 있다. 이때, 제1 보상값(Rb1(t))은

Figure pat00002
에 대응되고, 제2 보상값(Rb2(t))은
Figure pat00003
에 대응될 수 있다. According to an embodiment, the compensation value R b (t) of the magnetic mining pool 10 is the first compensation value R b 1(t) and the penetration rate compensated by the magnetic mining pool 10 according to the penetration ratio Accordingly, the second compensation value R b 2 (t) distributed to the relative mining pool 20 may be included. At this time, the first compensation value (R b 1 (t))
Figure pat00002
And the second compensation value (R b 2(t))
Figure pat00003
Can correspond to

이때, 조절부(240)는 다음의 계산식(2)를 통해 보상인자(h)를 계산할 수 있다. At this time, the adjustment unit 240 may calculate the compensation factor (h) through the following equation (2).

여기서, 계산식(2)는

Figure pat00004
일 수 있다. Here, the calculation formula (2)
Figure pat00004
Can be

이때, 보상인자(h)는 기설정된 구간범위를 가질 수 있다. 예를 들면, 기설정된 구간을 벗어난 경우, 상대 마이닝 풀(20)에 대한 이득을 취할 수 있기 때문에, 보상인자(h)는 계산식(2)를 통해 산출되고, 기설정된 구간범위를 가질 수 있다. At this time, the compensation factor (h) may have a predetermined section range. For example, when it is out of a predetermined section, since the gain for the relative mining pool 20 can be obtained, the compensation factor h is calculated through the calculation formula (2) and may have a predetermined section range.

이에 따라, 본 출원의 실시예에 따른 블록제출보류공격 탐지장치(100)는 조절부(240)를 통해 조절되는 보상인자(h)에 기초하여, 상대 마이닝 풀(20)에 분배되는 제2 보상값(Rb2(t))을 조절함으로써, 자기 마이닝 풀의 제1 보상값(Rb(t))을 복구할 수 있다. 즉, 블록제출보류공격 탐지장치(100)는 블록제출보류에 대한 공격으로 인한 자기 마이닝 풀(10)의 감소된 보상을 복구시킬 수 있다. Accordingly, the block submission pending attack detection apparatus 100 according to the embodiment of the present application is based on the compensation factor h adjusted through the adjustment unit 240, the second compensation distributed to the relative mining pool 20 By adjusting the value R b 2(t), the first compensation value R b (t) of the magnetic mining pool can be restored. That is, the block submission hold attack detection apparatus 100 may restore the reduced compensation of the magnetic mining pool 10 due to the attack on the block submission hold.

이에 따라, 블록제출보류공격 탐지장치(100)는 공격자로 판명된 상대 마이닝 풀(20)의 IP만 차단할 때, 공격자는 변경된 IP로 다시 공격하는 경우에 비해 더 효과적으로 블록제출보류공격에 대한 피해를 줄일 수 있다. 이때, 블록제출보류 공격자로 판명된 상대 마이닝 풀(20)의 보상값만 조절함으로써, 정상 네트워크로 판단된 상대 마이닝 풀(20)에 대해서는 해를 가하지 않을 수 있다. 이 경우, 상대 마이닝 풀(20)에는 적어도 하나의 자기 노드를 할당은 하지만 상대 마이닝 풀(20)의 보상에는 관여하지 않게 된다. 즉, 본 발명의 일 실시예에 따른 블록제출보류공격 탐지장치(100)는 블록체인의 구조의 변경없이 블록제출보류공격에 대해 대응가능 하며, 상술한 바와 같이 비트코인 마이닝 풀뿐만 아니라 이더리움 등과 같이 작업증명을 블록생성 메커니즘으로 사용하는 블록체인의 경우에도 적용 가능하다는 장점이 있다. Accordingly, when the block submission hold attack detection device 100 blocks only the IP of the opponent mining pool 20 that is determined to be an attacker, the attacker is more effective in preventing damage to the block submission hold attack than when attacking again with the changed IP. Can be reduced. At this time, by adjusting only the compensation value of the opponent mining pool 20, which is determined to be a block submitting pending attacker, it may not harm the opponent mining pool 20 determined to be a normal network. In this case, at least one magnetic node is allocated to the relative mining pool 20 but is not involved in the compensation of the relative mining pool 20. That is, the block submission pending attack detection apparatus 100 according to an embodiment of the present invention can respond to the block submission pending attack without changing the structure of the blockchain, as described above, as well as the Bitcoin mining pool, Ethereum, etc. Likewise, there is an advantage that it can be applied to a blockchain that uses proof of work as a block generation mechanism.

도 9는 도 8의 블록제출보류공격 탐지장치(200)의 동작 프로세스이다. 9 is an operation process of the block submission pending attack detection device 200 of FIG. 8.

도 1, 도 8 및 도 9를 참조하면, 먼저, S210 단계에서, 판단부(230)는 탐지부(220)으로부터 트랜잭션정보와 상대 마이닝 풀(20)에 대한 침투비율을 전송받을 수 있다. 1, 8 and 9, first, in step S210, the determination unit 230 may receive the transaction information and the penetration rate of the relative mining pool 20 from the detection unit 220.

그런 다음, S220 단계에서, 판단부(230)는 트랜잭션정보와 기설정된 계좌주소 사이의 동일 여부를 비교할 수 있다. Then, in step S220, the determination unit 230 may compare whether the transaction information and a predetermined account address are the same.

이때, S230 단계에서, 트랜잭션정보와 기설정된 계좌주소가 서로 동일한 경우, 판단부(230)는 상대 마이닝 풀(20)에 대해 블록제출보류 공격자로 결정할 수 있다. At this time, in step S230, when the transaction information and the preset account address are the same, the determination unit 230 may determine the opponent's mining pool 20 as a block submitting pending attacker.

그런 다음, S240 단계에서, 상대 마이닝 풀(20)이 블록제출보류공격자로 판단된 경우, 조절부(240)는 상대 마이닝 풀(20)에 분배되는 보상값을 조절하기 위한 보상인자에 기초하여, 자기 마이닝 풀(10)의 보상값을 복구할 수 있다. 여기서, 상대 마이닝 풀(20)에 분배되는 보상값은 침투비율에 따라 상대 마이닝 풀(20)에 분배되는 제2 보상값(Rb2(t))이고, 자기 마이닝 풀(10)의 보상값은 침투비율에 따라 자기 마이닝 풀(10)에 보상되는 제1 보상값(Rb1(t))일 수 있다. Then, in step S240, when the relative mining pool 20 is determined to be a block submission pending attack, the adjusting unit 240 is based on the compensation factor for adjusting the compensation value distributed to the relative mining pool 20, The compensation value of the magnetic mining pool 10 can be restored. Here, the compensation value distributed to the relative mining pool 20 is the second compensation value R b 2 (t) distributed to the relative mining pool 20 according to the penetration ratio, and the compensation value of the magnetic mining pool 10 Silver may be a first compensation value R b 1 (t) compensated for the magnetic mining pool 10 according to the penetration ratio.

한편, S250 단계에서, 트랜잭션정보와 기설정된 계좌주소가 서로 다른 경우, 판단부(230)는 상대 마이닝 풀(20)에 대해 정상 네트워크로 결정할 수 있다. On the other hand, in step S250, if the transaction information and the preset account address are different, the determination unit 230 may determine a normal network for the counterpart mining pool 20.

이후, 상대 마이닝 풀(20)이 정상 네트워크로 판단된 경우, S260 단계에서, 할당부(210)는 적어도 하나의 자기노드(예컨대, 10_1~10_3)를 제외한 나머지 노드들(10_4~10_N) 중 적어도 어느 하나의 다른노드(예컨대, 10_4~10_6)를 다음 순위의 마이닝 풀(예컨대, 20_2)에 할당시킬 수 있다. Then, when the relative mining pool 20 is determined to be a normal network, in step S260, the allocation unit 210 is at least one of the remaining nodes 10_4 to 10_N except for at least one magnetic node (eg, 10_1 to 10_3). Any other node (for example, 10_4 to 10_6) may be allocated to a mining pool (for example, 20_2) of the next rank.

이에 따라, 블록제출보류공격 탐지장치(200)는 블록제출보류에 대한 공격을 탐지하고, 상기 공격으로 인한 자기 마이닝 풀(10)의 감소된 보상을 복구시킴으로써, 블록제출보류공격에 상관없이, 자기 마이닝 풀(10)을 통해 생성된 가상화폐 블록을 제출할 수 있게 할 수 있다. Accordingly, the block submission hold attack detection device 200 detects an attack on the block submission hold, and restores the reduced compensation of the magnetic mining pool 10 due to the attack, regardless of the block submission hold attack, self Cryptocurrency blocks generated through the mining pool 10 may be submitted.

본 출원은 도면에 도시된 일 실시 예를 참고로 설명되었으나 이는 예시적인 것에 불과하며, 본 기술 분야의 통상의 지식을 가진 자라면 이로부터 다양한 변형 및 균등한 타 실시 예가 가능하다는 점을 이해할 것이다. 따라서, 본 출원의 진정한 기술적 보호 범위는 첨부된 등록청구범위의 기술적 사상에 의해 정해져야 할 것이다.This application has been described with reference to one embodiment shown in the drawings, but this is merely exemplary, and those skilled in the art will understand that various modifications and other equivalent embodiments are possible therefrom. Therefore, the true technical protection scope of the present application should be determined by the technical spirit of the appended claims.

10: 자기 마이닝 풀
20: 상대 마이닝 풀
10_1~10_N: 복수의 노드들
100: 블록제출보류공격 탐지장치
110: 할당부
120: 탐지부
130: 판단부
140: 조절부
10: magnetic mining pool
20: Relative mining pool
10_1~10_N: Multiple nodes
100: block submission pending attack detection device
110: allocation unit
120: detection unit
130: judgment unit
140: adjuster

Claims (14)

자기 마이닝 풀에 기등록된 복수의 노드들 중 적어도 하나의 자기노드를 상대 마이닝 풀에 할당시키는 할당부;
상기 적어도 하나의 자기노드를 통해 상기 상대 마이닝 풀에서 분배되는 적어도 하나의 작업증명 기반의 가상화폐 블록을 탐지하는 탐지부; 및
상기 적어도 하나의 가상화폐 블록의 트랜잭션정보에 기초하여, 상기 상대 마이닝 풀에 대한 블록제출보류의 공격 여부를 판단하는 판단부를 포함하는, 블록제출보류공격 탐지장치.
An allocation unit for allocating at least one magnetic node among the plurality of nodes pre-registered in the own mining pool to the other mining pool;
A detection unit for detecting at least one proof-of-work cryptocurrency block distributed in the relative mining pool through the at least one magnetic node; And
And a determination unit for determining whether or not to attack the block submission hold against the relative mining pool based on the transaction information of the at least one virtual currency block.
제1항에 있어서,
상기 할당부는, 마이닝파워 총합 크기순으로 정렬된 마이닝 풀 리스트에 따라, 복수의 마이닝 풀들 중 크기순으로 상기 상대 마이닝 풀을 선택하는, 블록제출보류공격 탐지장치.
According to claim 1,
The allocating unit selects the relative mining pool in the order of size among a plurality of mining pools according to a list of mining pools sorted by the sum of mining powers, and the block submission pending attack detection device.
제1항에 있어서,
상기 판단부는, 상기 트랜잭션정보와 기설정된 계좌주소 사이의 동일 여부를 비교하고, 상기 비교 결과에 따라, 상기 상대 마이닝 풀에 대해 블록제출보류공격자로 결정하는, 블록제출보류공격 탐지장치.
According to claim 1,
The determination unit compares whether the transaction information is the same as a predetermined account address, and determines a block submission pending attack against the relative mining pool according to the comparison result.
제3항에 있어서,
상기 트랜잭션정보와 상기 기설정된 계좌주소가 서로 동일한 경우,
상기 상대 마이닝 풀에 분배되는 보상값을 복구하기 위한 보상인자에 기초하여, 상기 보상값을 조절하는 조절부를 더 포함하는, 블록제출보류공격 탐지장치.
According to claim 3,
When the transaction information and the preset account address are the same,
Based on the compensation factor for restoring the compensation value distributed to the relative mining pool, further comprising a control unit for adjusting the compensation value, block submission pending attack detection device.
제3항에 있어서,
상기 탐지부는, 상기 적어도 하나의 트랜잭션정보로부터 각 코인베이스 트랜잭션을 추출하고, 상기 각 코인베이스 트랜잭션 중 기설정된 계좌주소와 동일한 코인베이스 트랜잭션의 개수를 카운트하는, 블록제출보류공격 탐지장치.
According to claim 3,
The detection unit extracts each coinbase transaction from the at least one transaction information, and counts the number of coinbase transactions equal to a preset account address among the respective coinbase transactions.
제5항에 있어서,
상기 탐지부는, 상기 개수에 기초하여, 상기 적어도 하나의 자기노드에 대한 공격탐지비율을 계산하고, 기설정된 침투비율 리스트를 참조하여, 상기 공격탐지비율에 대응되는 침투비율을 추정하는, 블록제출보류공격 탐지장치.
The method of claim 5,
The detection unit, based on the number, calculates the attack detection rate for the at least one magnetic node, and referring to a predetermined list of penetration rates, estimates the penetration rate corresponding to the attack detection rate, block submission pending Attack detection device.
제6항에 있어서,
상기 침투비율은, 상기 상대 마이닝 풀이 이득으로 취득할 수 있는 보상값 구간을 기초로 기설정되는 11 내지 20 퍼센트의 비율구간인, 블록제출보류공격 탐지장치.
The method of claim 6,
The penetration rate is a ratio of 11 to 20 percent that is preset based on a compensation value interval that the relative mining pool can acquire as a gain, a block submission pending attack detection device.
제1항에 있어서,
상기 할당부는, 상기 트랜잭션정보와 기설정된 계좌주소가 서로 다른 경우, 상기 적어도 하나의 자기노드가 제외된 나머지 노드들 중 적어도 하나의 다른노드를 다음 순위의 마이닝 풀에 할당시키는, 블록제출보류공격 탐지장치.
According to claim 1,
When the transaction information and the preset account address are different, the allocation unit allocates at least one other node among the remaining nodes from which the at least one magnetic node is excluded to the mining pool of the next rank, detecting a block submission pending attack Device.
블록제출보류공격 탐지장치의 동작 방법으로서,
마이닝파워 총합 크기순으로 정렬된 마이닝 풀 리스트에 따라, 복수의 마이닝 풀들 중 크기순으로 상대 마이닝 풀을 선택하는 단계;
자기 마이닝 풀에 기등록된 복수의 노드들 중 적어도 하나의 자기노드를 상기 상대 마이닝 풀에 할당시키는 단계;
상기 적어도 하나의 자기노드를 통해 상기 상대 마이닝 풀에서 분배되는 적어도 하나의 가상화폐 블록을 탐지하는 단계; 및
상기 적어도 하나의 가상화폐 블록의 트랜잭션정보에 기초하여, 상기 상대 마이닝 풀에 대한 블록제출보류의 공격 여부를 판단하는 단계를 포함하는, 블록제출보류공격 탐지장치의 동작 방법.
As a method of operation of the block submission pending attack detection device,
Selecting a relative mining pool in a size order among a plurality of mining pools according to a list of mining pools sorted by the sum of mining powers;
Assigning at least one magnetic node among a plurality of nodes pre-registered in the own mining pool to the relative mining pool;
Detecting at least one virtual currency block distributed in the relative mining pool through the at least one magnetic node; And
And determining whether or not the block submission hold is attacked against the relative mining pool based on the transaction information of the at least one virtual currency block.
제9항에 있어서,
상기 판단하는 단계는, 상기 트랜잭션정보와 기설정된 계좌주소 사이의 동일 여부를 비교하는 단계; 및
상기 트랜잭션정보와 상기 기설정된 계좌주소가 서로 동일한 경우, 상기 상대 마이닝 풀에 대해 블록제출보류공격자로 결정하는 단계를 포함하는, 블록제출보류공격 탐지장치의 동작 방법.
The method of claim 9,
The determining may include comparing whether the transaction information is the same as a predetermined account address; And
And when the transaction information and the predetermined account address are the same, determining a block submission pending attack with respect to the relative mining pool.
제10항에 있어서,
상기 상대 마이닝 풀이 상기 블록제출보류공격자로 판단된 경우, 상기 상대 마이닝 풀에 분배되는 보상값을 복구하기 위한 보상인자에 기초하여, 자기 마이닝 풀의 보상값을 조절하는 단계를 더 포함하는 블록제출보류공격 탐지장치의 동작 방법.
The method of claim 10,
And when the relative mining pool is determined to be the block submitting pending attacker, adjusting the compensation value of the own mining pool based on a compensation factor for restoring the compensation value distributed to the relative mining pool. How the attack detection device works.
제10항에 있어서,
상기 판단하는 단계는, 상기 트랜잭션정보와 상기 기설정된 계좌주소가 서로 다른 경우, 상기 상대 마이닝 풀에 대해 정상 네트워크로 결정하는 단계; 및
상기 상대 마이닝 풀이 정상 네트워크로 결정된 경우, 상기 적어도 하나의 자기노드가 제외된 나머지 노드들 중 적어도 하나의 다른노드를 다음 순위의 마이닝 풀에 할당시키는 단계를 포함하는 블록제출보류공격 탐지장치의 동작 방법.
The method of claim 10,
The determining may include determining, when the transaction information and the preset account address are different, a normal network for the relative mining pool; And
And when the relative mining pool is determined to be a normal network, allocating at least one other node among the remaining nodes from which the at least one magnetic node is excluded to a mining pool of the next rank. .
제9항에 있어서,
상기 탐지하는 단계는, 상기 적어도 하나의 가상화폐 블록으로부터 각 코인베이스 트랜잭션을 추출하는 단계;
상기 각 코인베이스 트랜잭션 중 기설정된 계좌주소와 동일한 코인베이스 트랜잭션의 개수를 카운트하는 단계;
상기 개수에 기초하여, 상기 적어도 하나의 자기노드에 대한 공격탐지비율을 계산하는 단계; 및
기설정된 침투비율 리스트를 참조하여, 상기 공격탐지비율에 대응되는 침투비율을 추정하는 단계를 포함하는, 블록제출보류공격 탐지장치의 동작 방법.
The method of claim 9,
The detecting may include extracting each coin-based transaction from the at least one cryptocurrency block;
Counting the number of coinbase transactions equal to a preset account address among the respective coinbase transactions;
Calculating an attack detection rate for the at least one magnetic node based on the number; And
And estimating a penetration rate corresponding to the attack detection rate, with reference to a predetermined list of penetration rates.
제13항에 있어서,
상기 침투비율은, 상기 상대 마이닝 풀이 이득으로 취득할 수 있는 보상값 구간을 기초로 기설정되는 11 내지 20 퍼센트의 비율구간인 블록제출보류공격 탐지장치의 동작 방법.

The method of claim 13,
The penetration ratio, the method of operation of the block submission and retention attack detection device is a ratio interval of 11 to 20 percent that is preset based on a compensation value interval that the relative mining pool can acquire as a gain.

KR1020190051013A 2018-11-28 2019-04-30 The block withholding attack detecting device and operation method thereof KR102122824B1 (en)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
KR1020180150065 2018-11-28
KR20180150065 2018-11-28

Publications (2)

Publication Number Publication Date
KR20200063957A true KR20200063957A (en) 2020-06-05
KR102122824B1 KR102122824B1 (en) 2020-06-15

Family

ID=71081392

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020190051013A KR102122824B1 (en) 2018-11-28 2019-04-30 The block withholding attack detecting device and operation method thereof

Country Status (1)

Country Link
KR (1) KR102122824B1 (en)

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20050095147A (en) * 2004-03-25 2005-09-29 주식회사 케이티 Hacking defense apparatus and method with hacking type scenario
KR20110068308A (en) * 2009-12-16 2011-06-22 한전케이디엔주식회사 System and method for network attack detection and analysis

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20050095147A (en) * 2004-03-25 2005-09-29 주식회사 케이티 Hacking defense apparatus and method with hacking type scenario
KR20110068308A (en) * 2009-12-16 2011-06-22 한전케이디엔주식회사 System and method for network attack detection and analysis

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
Yujin Kwon 외 "Be Selfish and Avoid Dilemmas: Fork After Withholding(FAW) Attacks on Bitcoin", https://syssec.kaist.ac.kr/pub/2017/kwon_ccs_2017.pdf *
블록체인기반 비즈니스 플랫폼 구현을 위한 Qcity, http://www.qcitycoin.org/img/tech-wihtepaper_kr.pdf *

Also Published As

Publication number Publication date
KR102122824B1 (en) 2020-06-15

Similar Documents

Publication Publication Date Title
CN106254075B (en) Authentication server system and method
KR101827373B1 (en) Block window module having agreement algorithm for limiting mining, managing server and virtual money exchange system and method
JP7430238B2 (en) A computer-implemented system and method for performing computational tasks across a group that operates in a manner that does not require administrative approval or in a dealer-free manner.
US20220407726A1 (en) Consensus method for blockchain, consensus node, electronic device, and storage medium
EP3869373B1 (en) Systems and methods for securing access to resources
US11863422B2 (en) Blockchain-based systems and methods for propagating data in a network
CN106470184B (en) Security authentication method, device and system
WO2020133326A1 (en) Blockchain generation method and system, and computer storage medium and electronic device
Hao et al. A time-bound ticket-based mutual authentication scheme for cloud computing
US11496945B2 (en) Systems and methods for propagating data packets in a network of nodes
CN110597489A (en) Random number generation method, equipment and medium
EP3891952A2 (en) A node testing method and apparatus for a blockchain system
CN108712468B (en) Block chain profit distribution method and distribution system
WO2019047345A1 (en) Method of generating one-time password sending policy, and one-time password sending method
Kotobi et al. Puzzle-based auction mechanism for spectrum sharing in cognitive radio networks
KR102122824B1 (en) The block withholding attack detecting device and operation method thereof
CN111082990B (en) Block chain consensus method, device, equipment and storage medium
CN113379539A (en) Committee rights and interests certification consensus method and device based on block chain
KR20210082890A (en) Method for enhancing the throughput of a blockchain network
US10033817B2 (en) Stateless technique for distributing data uploads
CN111858021A (en) Transaction channel selection method, online transaction method and related device
US10659388B1 (en) Transaction processing throttle with dynamic transaction load balancing and transaction starvation prevention
US20210234667A1 (en) Method and system for proof of election on a blockchain
US10553062B2 (en) Method for generating winning numbers and apparatus
CN112685769A (en) Data processing method and device of block chain and electronic equipment

Legal Events

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