KR20200063957A - The block withholding attack detecting device and operation method thereof - Google Patents
The block withholding attack detecting device and operation method thereof Download PDFInfo
- 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
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
- G06Q20/00—Payment architectures, schemes or protocols
- G06Q20/38—Payment protocols; Details thereof
- G06Q20/382—Payment protocols; Details thereof insuring higher security of transaction
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
- G06Q20/00—Payment architectures, schemes or protocols
- G06Q20/04—Payment circuits
- G06Q20/06—Private payment circuits, e.g. involving electronic currency used among participants of a common payment scheme
- G06Q20/065—Private payment circuits, e.g. involving electronic currency used among participants of a common payment scheme using e-cash
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
- G06Q20/00—Payment architectures, schemes or protocols
- G06Q20/30—Payment architectures, schemes or protocols characterised by the use of specific devices or networks
- G06Q20/36—Payment architectures, schemes or protocols characterised by the use of specific devices or networks using electronic wallets or electronic money safes
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/06—Cryptographic 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
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L2209/00—Additional information or applications relating to cryptographic mechanisms or cryptographic arrangements for secret or secure communication H04L9/00
- H04L2209/56—Financial cryptography, e.g. electronic payment or e-cash
Abstract
Description
본 출원은, 블록제출보류공격 탐지장치 및 그 동작 방법에 관한 것으로, 특히, 작업증명 기반 마이닝 풀 간에 발생할 수 있는 블록제출보류공격을 탐지하기 위한 블록제출보류공격 탐지장치 및 그 동작 방법에 관한 것이다. 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
실시예에 있어서, 상기 침투비율은, 상기 상대 마이닝 풀이 이득으로 취득할 수 있는 보상값 구간을 기초로 기설정되는 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
할당부(110)는 자기 마이닝 풀(10)에 기등록된 복수의 자기노드들(10_1~10_N) 중 적어도 하나의 자기노드(예컨대, 10_1~10_3)를 상대 마이닝 풀(20)에 할당시킬 수 있다. 여기서, 복수의 자기노드들(10_1~10_N) 각각은 가상화폐 블록에 대한 넌스(NONCE)를 연산하여 가상화폐 블록을 생성하고, 이에 따른 보상을 받는 채굴자의 단말일 수 있다. 이때, 넌스(NONCE)는 기설정된 조건을 만족하는 가상화폐 블록에 포함된 정보이므로, 넌스(NONCE)는 신규의 가상화폐 블록에 대응될 수 있다. The
도 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
구체적으로, 상대 마이닝 풀(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
다음으로, 판단부(130)는 탐지부(120)를 통해 탐지된 적어도 하나의 가상화폐 블록의 각 트랜잭션정보에 기초하여, 상대 마이닝 풀(20)에 대한 블록제출보류의 공격 여부를 판단할 수 있다. Next, the
구체적으로, 판단부(130)는 적어도 하나의 가상화폐 블록의 각 트랜잭션정보와 기설정된 계좌주소 사이의 동일 여부를 비교할 수 있다. 여기서, 기설정된 계좌주소는 작업증명 기반의 가상화폐 블록에 대한 연산에 따라 보상을 제공하기 위한 각 노드들(10_1~10_N)의 계좌정보일 수 있다. Specifically, the
이때, 적어도 하나의 가상화폐 블록의 각 트랜잭션정보와 기설정된 계좌주소가 서로 동일한 경우, 판단부(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
실시예에 따른 블록제출보류공격 탐지장치(100)는 복수의 자기노드들(10_1~10_N) 중 하나의 노드(예컨대, 10_N)일 수 있거나, 복수의 자기노드들(10_1~10_N)을 관리하는 서버 또는 복수의 마이닝 풀들(10, 20_1~20_N)을 관리하는 중앙관리서버에 구현될 수 있다. The block submission pending
본 출원의 실시예에 따른 블록제출보류공격 탐지장치(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
도 4를 참조하여, 할당부(110)에 대해 보다 구체적으로 설명될 것이다 .Referring to FIG. 4, the
도 4는 도 1의 할당부(110)의 동작을 좀 더 자세히 보여주는 도면이다. 4 is a view showing in more detail the operation of the
먼저, 도 1, 도 2 및 도 4를 참조하면, 할당부(110)는 사전에 전송받은 마이닝 풀 리스트를 참조하여, 복수의 마이닝 풀들(20_1~20_N) 중 각 마이닝파워의 총합 크기순으로 상대 마이닝 풀(20)을 최우선 선택할 수 있다. 하지만, 상대 마이닝풀(20)을 선택하는 것은 이에 한정되는 것은 아니다. 예를 들어, 마이닝 풀 리스트는 복수의 마이닝 풀들(20_1~20_N)이 해당 마이닝파워 총합 크기순으로 정렬된 리스트 또는 기존의 블록제출보류공격이 탐지된 빈도순으로 정렬된 리스트일 수 있다. First, referring to FIGS. 1, 2 and 4, the
본 출원의 일 실시예에서, 할당부(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
실시예에 따른, 할당부(110)는 마이닝파워의 총합 크기가 서로 동일한 경우, 해당 노드들의 개수에 따라 또는 기존의 블록제출보류공격이 탐지된 빈도수에 따라, 상대 마이닝 풀(20)을 선택할 수 있다. According to an embodiment, the
또한, 판단부(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
이때, 할당부(110)는 제1 마이닝 풀(20_1)에 할당된 적어도 하나의 자기노드(예컨대, 10_1~10_3)를 자기 마이닝 풀(10)에 재할당시킬 수 있다. 그런 다음, 할당부(110)는 마이닝 풀 리스트를 참조하여, 적어도 하나의 다른노드(예컨대, 10_4~10_6)를 다음 순위의 제2 마이닝 풀(20_2)에 할당시킬 수 있다. At this time, the
즉, 상대 마이닝 풀(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
도 5는 도 1의 탐지부(120)의 동작을 좀 더 자세히 보여주는 도면이다. 5 is a view showing in more detail the operation of the
도 1 내지 도 5를 참조하면, 탐지부(120)는 상대 마이닝 풀(20)로부터 가상화폐 블록을 분배받는 적어도 하나의 자기노드(예컨대, 10_1~10_3)를 통해 적어도 하나의 가상화폐 블록을 전송받을 수 있다. 그런 다음, 탐지부(120)는 적어도 하나의 가상화폐 블록으로부터 각 트랜잭션정보를 추출하고, 각 트랜잭션정보로부터 코인베이스 트랜잭션(Coinbase Transaction)을 각각 추출할 수 있다. 1 to 5, the
일 실시예에 따른 탐지부(120)는 기설정된 계좌주소와 동일한 코인베이스 트랜잭션(Coinbase Transaction)의 개수를 카운트할 수 있다. 구체적으로, 탐지부(120)는 기설정된 계좌주소를 이용하여 각 코인베이스 트랜잭션(Coinbase Transaction) 중 기설정된 계좌주소와 동일한 코인베이스 트랜잭션(Coinbase Transaction)의 개수를 카운트할 수 있다.The
예를 들면, 도 5에 도시된 바와 같이, 탐지부(120)는 적어도 하나의 자기노드(예컨대, 10_1~10_3)를 통해 전송받는 3개의 코인베이스 트랜잭션(Coinbase Transaction)을 추출하는 동시에, 기설정된 계좌주소와 동일한 Coinbase 트랜잭션의 개수에 해당하는 2개를 카운트할 수 있다. For example, as illustrated in FIG. 5, the
이때, 탐지부(120)는 동일한 코인베이스 트랜잭션(Coinbase Transaction)의 개수에 기초하여, 적어도 하나의 자기노드(예컨대, 10_1~10_3)에 대한 공격탐지비율을 연산할 수 있다. 예를 들면, 도 5에 도시된 바와 같이, 탐지부(120)는 적어도 하나의 자기노드(예컨대, 10_1~10_3)에 대한 공격탐지비율을 66.6%로 연산할 수 있다. At this time, the
그런 다음, 탐지부(120)는 기설정된 침투비율 리스트(121)를 참조하여, 공격탐지비율에 따라 기설정된 상대 마이닝 풀(20)의 침투비율을 추정할 수 있다. 여기서, 침투비율은 상대 마이닝 풀(20)이 자기 마이닝 풀(10)에 침투시킨 비율을 의미할 수 있다. 이때, 침투비율은, 상대 마이닝 풀(20)이 이득으로 취득할 수 있는 보상값 구간을 기준으로 기설정되는 11 내지 20 퍼센트의 비율구간으로 조절될 수 있다. Then, the
다음의 표 1은 침투비율 리스트(121)로서, 적어도 하나의 자기노드(예컨대, 10_1~10_3)에 대한 공격탐지비율과 공격탐지비율 각각에 대응되는 상대 마이닝 풀(20)의 침투비율을 포함하는 리스트일 수 있다. 여기서, 침투비율 리스트(121)는 상대 마이닝 풀(20)이 획득할 수 있는 보상값의 이득변화를 토대로, 미리 생성될 수 있다. Table 1 below is a
예를 들면, 공격탐지비율이 66.6%에 해당하는 경우, 탐지부(120)는 표 1를 참조하여, 66.6% 구간에 해당하는 상대 마이닝 풀(20)에 대한 침투비율 13%를 추정할 수 있다. For example, when the attack detection rate corresponds to 66.6%, the
도 6은 도 1의 블록제출보류공격 탐지장치(100)에 대한 동작 프로세스이다. 6 is an operation process for the block submission pending
도 1 내지 도 6을 참조하면, 먼저, S110 단계에서, 할당부(110)는 마이닝파워 총합 크기순으로 정렬된 마이닝 풀 리스트에 따라, 복수의 마이닝 풀들(20_1~20_N) 중 마이닝파워 총합이 가장 큰 제1 마이닝 풀(20_1)을 상대 마이닝 풀(20)로 선택할 수 있다. 1 to 6, first, in step S110, the
예를 들면 상대 마이닝 풀(20)은 복수의 마이닝 풀들(20_1~20_N) 중 마이닝파워 총합 크기가 가장 큰 크기를 가질 수 있다. 또한, 할당부(110)는 마이닝파워 총합 크기가 동일한 경우, 해당 노드의 개수나 보상값에 따라 상대 마이닝 풀(20)을 선택할 수 있다. For example, the
이때, S120 단계에서, 할당부(110)는 자기 마이닝 풀(10)에 기등록된 복수의 자기노드들(10_1~10_N) 중 적어도 하나의 자기노드(예컨대, 10_1~10_3)를 상대 마이닝 풀(20)에 할당시킬 수 있다. At this time, in step S120, the
다음으로, S130 단계에서, 탐지부(120)는 적어도 하나의 자기노드(예컨대, 10_1~10_3)를 통해 상대 마이닝 풀(20)에서 분배되는 가상화폐 블록을 탐지할 수 있다.Next, in step S130, the
이후, S140 단계에서, 판단부(130)는 탐지부(120)를 통해 탐지된 가상화폐 블록의 트랜잭션정보에 기초하여, 상대 마이닝 풀(20)에 대한 블록제출보류의 공격 여부를 판단할 수 있다.Subsequently, in step S140, the
도 7은 도 6의 탐지부(120)의 동작 프로세스를 좀 더 자세히 보여주는 도면이다. 7 is a view showing in more detail the operation process of the
도 1 내지 7을 참조하면, 먼저, S131 단계에서, 탐지부(120)는 적어도 하나의 자기노드(예컨대, 10_1~10_3)를 통해 탐지된 적어도 하나의 가상화폐 블록으로부터 각 코인베이스 트랜잭션을 추출할 수 있다.1 to 7, first, in step S131, the
그런 다음, S132 단계에서, 탐지부(120)는 각 코인베이스 트랜잭션 중 기설정된 계좌주소와 동일한 코인베이스 트랜잭션의 개수를 카운트할 수 있다. Then, in step S132, the
그런 다음, S133 단계에서, 탐지부(120)는 동일한 코인베이스 트랜잭션의 개수에 기초하여, 적어도 하나의 자기노드(예컨대, 10_1~10_3)에 대한 공격탐지비율을 연산할 수 있다. Then, in step S133, the
이후, S134 단계에서, 탐지부(120)는 기설정된 침투비율 리스트(121)를 참조하여, 공격탐지비율에 대응되는 상대 마이닝 풀(20)에 대한 침투비율을 추정할 수 있다. Thereafter, in step S134, the
도 8은 본 출원의 다른 실시예에 따른 블록제출보류공격 탐지장치(200)에 대한 블록도이다. 8 is a block diagram of a block submission pending
도 8을 참조하면, 블록제출보류공격 탐지장치(200)는 할당부(210), 탐지부(220), 판단부(230) 및 조절부(240)를 포함할 수 있다. Referring to FIG. 8, the block submission pending
이하, 할당부(210), 탐지부(220) 및 판단부(230)는 도 1 내지 도 5에서 설명된 할당부(110), 탐지부(120), 판단부(130)와 부재번호만 다를 뿐, 기능과 동작이 서로 동일하므로, 중복된 설명은 생략될 것이다. Hereinafter, the
먼저, 상대 마이닝 풀(20)이 블록제출 보류공격자로 판단된 경우, 또는 트랜잭션정보와 기설정된 계좌주소 사이가 서로 동일한 경우, 조절부(240)는 상대 마이닝 풀(20)에 분배되는 보상값을 조절할 수 있다. First, when the
보다 구체적으로, 조절부(240)는 다음의 계산식(1)을 통해 자기 마이닝 풀(10)의 보상값(Rb(t))을 계산할 수 있다. More specifically, the adjusting
여기서, 계산식(1)은 이고, Here, the formula (1) is ego,
이때, a는 상대 마이닝 풀(20)의 마이닝파워, b는 자기 마이닝 풀(10)의 마이닝파워, t는 상대 마이닝 풀(20)의 침투비율 및 h는 보상인자일 수 있다. In this case, a may be a mining power of the
실시예에 따라, 자기 마이닝 풀(10)의 보상값(Rb(t))은 침투비율에 따라 자기 마이닝 풀(10)에 보상되는 제1 보상값(Rb1(t))과 침투비율에 따라 상대 마이닝 풀(20)에 분배되는 제2 보상값(Rb2(t))을 포함할 수 있다. 이때, 제1 보상값(Rb1(t))은 에 대응되고, 제2 보상값(Rb2(t))은 에 대응될 수 있다. 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
이때, 조절부(240)는 다음의 계산식(2)를 통해 보상인자(h)를 계산할 수 있다. At this time, the
여기서, 계산식(2)는 일 수 있다. Here, the calculation formula (2) 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
이에 따라, 본 출원의 실시예에 따른 블록제출보류공격 탐지장치(100)는 조절부(240)를 통해 조절되는 보상인자(h)에 기초하여, 상대 마이닝 풀(20)에 분배되는 제2 보상값(Rb2(t))을 조절함으로써, 자기 마이닝 풀의 제1 보상값(Rb(t))을 복구할 수 있다. 즉, 블록제출보류공격 탐지장치(100)는 블록제출보류에 대한 공격으로 인한 자기 마이닝 풀(10)의 감소된 보상을 복구시킬 수 있다. Accordingly, the block submission pending
이에 따라, 블록제출보류공격 탐지장치(100)는 공격자로 판명된 상대 마이닝 풀(20)의 IP만 차단할 때, 공격자는 변경된 IP로 다시 공격하는 경우에 비해 더 효과적으로 블록제출보류공격에 대한 피해를 줄일 수 있다. 이때, 블록제출보류 공격자로 판명된 상대 마이닝 풀(20)의 보상값만 조절함으로써, 정상 네트워크로 판단된 상대 마이닝 풀(20)에 대해서는 해를 가하지 않을 수 있다. 이 경우, 상대 마이닝 풀(20)에는 적어도 하나의 자기 노드를 할당은 하지만 상대 마이닝 풀(20)의 보상에는 관여하지 않게 된다. 즉, 본 발명의 일 실시예에 따른 블록제출보류공격 탐지장치(100)는 블록체인의 구조의 변경없이 블록제출보류공격에 대해 대응가능 하며, 상술한 바와 같이 비트코인 마이닝 풀뿐만 아니라 이더리움 등과 같이 작업증명을 블록생성 메커니즘으로 사용하는 블록체인의 경우에도 적용 가능하다는 장점이 있다. Accordingly, when the block submission hold
도 9는 도 8의 블록제출보류공격 탐지장치(200)의 동작 프로세스이다. 9 is an operation process of the block submission pending
도 1, 도 8 및 도 9를 참조하면, 먼저, S210 단계에서, 판단부(230)는 탐지부(220)으로부터 트랜잭션정보와 상대 마이닝 풀(20)에 대한 침투비율을 전송받을 수 있다. 1, 8 and 9, first, in step S210, the
그런 다음, S220 단계에서, 판단부(230)는 트랜잭션정보와 기설정된 계좌주소 사이의 동일 여부를 비교할 수 있다. Then, in step S220, the
이때, S230 단계에서, 트랜잭션정보와 기설정된 계좌주소가 서로 동일한 경우, 판단부(230)는 상대 마이닝 풀(20)에 대해 블록제출보류 공격자로 결정할 수 있다. At this time, in step S230, when the transaction information and the preset account address are the same, the
그런 다음, S240 단계에서, 상대 마이닝 풀(20)이 블록제출보류공격자로 판단된 경우, 조절부(240)는 상대 마이닝 풀(20)에 분배되는 보상값을 조절하기 위한 보상인자에 기초하여, 자기 마이닝 풀(10)의 보상값을 복구할 수 있다. 여기서, 상대 마이닝 풀(20)에 분배되는 보상값은 침투비율에 따라 상대 마이닝 풀(20)에 분배되는 제2 보상값(Rb2(t))이고, 자기 마이닝 풀(10)의 보상값은 침투비율에 따라 자기 마이닝 풀(10)에 보상되는 제1 보상값(Rb1(t))일 수 있다. Then, in step S240, when the
한편, S250 단계에서, 트랜잭션정보와 기설정된 계좌주소가 서로 다른 경우, 판단부(230)는 상대 마이닝 풀(20)에 대해 정상 네트워크로 결정할 수 있다. On the other hand, in step S250, if the transaction information and the preset account address are different, the
이후, 상대 마이닝 풀(20)이 정상 네트워크로 판단된 경우, S260 단계에서, 할당부(210)는 적어도 하나의 자기노드(예컨대, 10_1~10_3)를 제외한 나머지 노드들(10_4~10_N) 중 적어도 어느 하나의 다른노드(예컨대, 10_4~10_6)를 다음 순위의 마이닝 풀(예컨대, 20_2)에 할당시킬 수 있다. Then, when the
이에 따라, 블록제출보류공격 탐지장치(200)는 블록제출보류에 대한 공격을 탐지하고, 상기 공격으로 인한 자기 마이닝 풀(10)의 감소된 보상을 복구시킴으로써, 블록제출보류공격에 상관없이, 자기 마이닝 풀(10)을 통해 생성된 가상화폐 블록을 제출할 수 있게 할 수 있다. Accordingly, the block submission hold
본 출원은 도면에 도시된 일 실시 예를 참고로 설명되었으나 이는 예시적인 것에 불과하며, 본 기술 분야의 통상의 지식을 가진 자라면 이로부터 다양한 변형 및 균등한 타 실시 예가 가능하다는 점을 이해할 것이다. 따라서, 본 출원의 진정한 기술적 보호 범위는 첨부된 등록청구범위의 기술적 사상에 의해 정해져야 할 것이다.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.
상기 할당부는, 마이닝파워 총합 크기순으로 정렬된 마이닝 풀 리스트에 따라, 복수의 마이닝 풀들 중 크기순으로 상기 상대 마이닝 풀을 선택하는, 블록제출보류공격 탐지장치.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.
상기 판단부는, 상기 트랜잭션정보와 기설정된 계좌주소 사이의 동일 여부를 비교하고, 상기 비교 결과에 따라, 상기 상대 마이닝 풀에 대해 블록제출보류공격자로 결정하는, 블록제출보류공격 탐지장치.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.
상기 트랜잭션정보와 상기 기설정된 계좌주소가 서로 동일한 경우,
상기 상대 마이닝 풀에 분배되는 보상값을 복구하기 위한 보상인자에 기초하여, 상기 보상값을 조절하는 조절부를 더 포함하는, 블록제출보류공격 탐지장치.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.
상기 탐지부는, 상기 적어도 하나의 트랜잭션정보로부터 각 코인베이스 트랜잭션을 추출하고, 상기 각 코인베이스 트랜잭션 중 기설정된 계좌주소와 동일한 코인베이스 트랜잭션의 개수를 카운트하는, 블록제출보류공격 탐지장치. 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.
상기 탐지부는, 상기 개수에 기초하여, 상기 적어도 하나의 자기노드에 대한 공격탐지비율을 계산하고, 기설정된 침투비율 리스트를 참조하여, 상기 공격탐지비율에 대응되는 침투비율을 추정하는, 블록제출보류공격 탐지장치. 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.
상기 침투비율은, 상기 상대 마이닝 풀이 이득으로 취득할 수 있는 보상값 구간을 기초로 기설정되는 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.
상기 할당부는, 상기 트랜잭션정보와 기설정된 계좌주소가 서로 다른 경우, 상기 적어도 하나의 자기노드가 제외된 나머지 노드들 중 적어도 하나의 다른노드를 다음 순위의 마이닝 풀에 할당시키는, 블록제출보류공격 탐지장치.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.
상기 판단하는 단계는, 상기 트랜잭션정보와 기설정된 계좌주소 사이의 동일 여부를 비교하는 단계; 및
상기 트랜잭션정보와 상기 기설정된 계좌주소가 서로 동일한 경우, 상기 상대 마이닝 풀에 대해 블록제출보류공격자로 결정하는 단계를 포함하는, 블록제출보류공격 탐지장치의 동작 방법.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.
상기 상대 마이닝 풀이 상기 블록제출보류공격자로 판단된 경우, 상기 상대 마이닝 풀에 분배되는 보상값을 복구하기 위한 보상인자에 기초하여, 자기 마이닝 풀의 보상값을 조절하는 단계를 더 포함하는 블록제출보류공격 탐지장치의 동작 방법.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.
상기 판단하는 단계는, 상기 트랜잭션정보와 상기 기설정된 계좌주소가 서로 다른 경우, 상기 상대 마이닝 풀에 대해 정상 네트워크로 결정하는 단계; 및
상기 상대 마이닝 풀이 정상 네트워크로 결정된 경우, 상기 적어도 하나의 자기노드가 제외된 나머지 노드들 중 적어도 하나의 다른노드를 다음 순위의 마이닝 풀에 할당시키는 단계를 포함하는 블록제출보류공격 탐지장치의 동작 방법.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. .
상기 탐지하는 단계는, 상기 적어도 하나의 가상화폐 블록으로부터 각 코인베이스 트랜잭션을 추출하는 단계;
상기 각 코인베이스 트랜잭션 중 기설정된 계좌주소와 동일한 코인베이스 트랜잭션의 개수를 카운트하는 단계;
상기 개수에 기초하여, 상기 적어도 하나의 자기노드에 대한 공격탐지비율을 계산하는 단계; 및
기설정된 침투비율 리스트를 참조하여, 상기 공격탐지비율에 대응되는 침투비율을 추정하는 단계를 포함하는, 블록제출보류공격 탐지장치의 동작 방법.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.
상기 침투비율은, 상기 상대 마이닝 풀이 이득으로 취득할 수 있는 보상값 구간을 기초로 기설정되는 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.
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)
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 |
-
2019
- 2019-04-30 KR KR1020190051013A patent/KR102122824B1/en active IP Right Grant
Patent Citations (2)
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)
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 |