KR102467484B1 - Method and apparatus for estimating of bitcoin scale through hash-rate and transaction - Google Patents
Method and apparatus for estimating of bitcoin scale through hash-rate and transaction Download PDFInfo
- Publication number
- KR102467484B1 KR102467484B1 KR1020200148783A KR20200148783A KR102467484B1 KR 102467484 B1 KR102467484 B1 KR 102467484B1 KR 1020200148783 A KR1020200148783 A KR 1020200148783A KR 20200148783 A KR20200148783 A KR 20200148783A KR 102467484 B1 KR102467484 B1 KR 102467484B1
- Authority
- KR
- South Korea
- Prior art keywords
- block
- bitcoin
- blocks
- hash
- transaction
- Prior art date
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
- G06Q20/00—Payment architectures, schemes or protocols
- G06Q20/04—Payment circuits
- G06Q20/06—Private payment circuits, e.g. involving electronic currency used among participants of a common payment scheme
- G06Q20/065—Private payment circuits, e.g. involving electronic currency used among participants of a common payment scheme using e-cash
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
- G06Q10/00—Administration; Management
- G06Q10/04—Forecasting or optimisation specially adapted for administrative or management purposes, e.g. linear programming or "cutting stock problem"
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
- G06Q20/00—Payment architectures, schemes or protocols
- G06Q20/30—Payment architectures, schemes or protocols characterised by the use of specific devices or networks
- G06Q20/36—Payment architectures, schemes or protocols characterised by the use of specific devices or networks using electronic wallets or electronic money safes
- G06Q20/367—Payment architectures, schemes or protocols characterised by the use of specific devices or networks using electronic wallets or electronic money safes involving electronic purses or money safes
- G06Q20/3678—Payment architectures, schemes or protocols characterised by the use of specific devices or networks using electronic wallets or electronic money safes involving electronic purses or money safes e-cash details, e.g. blinded, divisible or detecting double spending
-
- 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/50—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols using hash chains, e.g. blockchains or hash trees
Landscapes
- Business, Economics & Management (AREA)
- Engineering & Computer Science (AREA)
- Accounting & Taxation (AREA)
- Finance (AREA)
- Strategic Management (AREA)
- Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- General Physics & Mathematics (AREA)
- General Business, Economics & Management (AREA)
- Human Resources & Organizations (AREA)
- Economics (AREA)
- Computer Networks & Wireless Communication (AREA)
- Marketing (AREA)
- Quality & Reliability (AREA)
- Entrepreneurship & Innovation (AREA)
- Game Theory and Decision Science (AREA)
- Operations Research (AREA)
- Development Economics (AREA)
- Tourism & Hospitality (AREA)
- Computer Security & Cryptography (AREA)
- Signal Processing (AREA)
- Financial Or Insurance-Related Operations Such As Payment And Settlement (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
해시레이트 및 트랜잭션을 이용한 비트코인 규모 추정 방법 및 장치가 개시된다. 비트코인 규모 추정 방법은 블록체인(Blockchain)을 구성하는 복수의 블록들에 대한 블록 데이터를 수집하는 단계; 상기 수집된 블록 데이터에서 상기 복수의 블록들 각각이 생성된 블록 생성 시간을 추출하는 단계; 상기 추출된 블록 생성 시간에 기초하여 상기 복수의 블록들 중 이전 블록 대비 특정 블록이 생성되는데 필요한 소요 시간을 식별하는 단계; 상기 식별된 소요 시간을 이용하여 상기 특정 블록에 대한 해시레이트(Hash Rate)를 결정하는 단계; 및 상기 결정된 해시레이트를 이용하여 특정 개인이 소유한 비트코인의 규모를 추정하는 단계를 포함할 수 있다.A method and apparatus for estimating the size of a bitcoin using hash rate and transaction are disclosed. The method of estimating the size of a bitcoin includes collecting block data for a plurality of blocks constituting a blockchain; extracting a block generation time when each of the plurality of blocks is generated from the collected block data; identifying a required time required to generate a specific block compared to a previous block among the plurality of blocks based on the extracted block generation time; determining a hash rate for the specific block using the identified required time; and estimating the amount of bitcoin owned by a specific individual using the determined hash rate.
Description
본 발명은 비트코인 규모 추정 방법 및 장치에 관한 것으로, 보다 구체적으로는 해시레이트의 변화 및 트랜잭션의 분석을 통해 특정 개인이 소유한 비트코인의 규모를 추정하는 방법 및 장치에 관한 것이다.The present invention relates to a method and apparatus for estimating the size of bitcoins, and more particularly, to a method and apparatus for estimating the size of bitcoins owned by a specific individual through analysis of changes in hash rate and transactions.
비트코인(Bitcoin)은 2008년 10월 나카모토 사토시(Nakamoto satoshi)라는 익명의 인물이 작성한 논문을 기반으로 구현된 최초의 암호화폐 시스템(Cryptocurrency system)이며, 2009년 1월 3일 사토시가 제네시스 블록(0번 블록)을 생성하였다. 비트코인 네트워크에 참여하는 모든 노드는 동일한 블록체인 데이터를 갖고 블록체인에 기록된 데이터를 조작할 수 없으므로 데이터의 투명성(Transparency)과 데이터의 불변성(Immutability) 그리고 무결성(Integrity)이 보장된다. 또한, 참여자의 개인정보와 관련한 정보가 기록되지 않기 때문에 거래 당사자의 익명성(Anonymity)이 보장된다.Bitcoin is the first cryptocurrency system implemented based on a thesis written by an anonymous person named Satoshi Nakamoto in October 2008, and on January 3, 2009, Satoshi created the genesis block. (Block 0) was created. All nodes participating in the Bitcoin network have the same blockchain data and cannot manipulate the data recorded on the blockchain, so data transparency, data immutability, and integrity are guaranteed. In addition, since information related to the personal information of participants is not recorded, the anonymity of the transaction parties is guaranteed.
그러나 비트코인 거래에 참여한 사용자의 익명성이 보장되는 특징을 이용하여 비트코인(BTC; bitcoin)은 불법거래나 돈세탁 등 합법적이지 않은 거래에 사용되곤 한다. 따라서, 이러한 비트코인의 불법거래를 통해 비트코인의 행방을 추적할 수 있는 기술이 요구되고 있다.However, Bitcoin (BTC) is often used for illegal transactions, such as illegal transactions or money laundering, by using the feature of guaranteeing the anonymity of users participating in bitcoin transactions. Therefore, there is a demand for a technology capable of tracking the whereabouts of bitcoins through such illegal transactions of bitcoins.
본 발명은 블록체인을 구성하는 복수의 블록들에 대한 블록 데이터를 이용하여 해시레이트를 결정함으로써 특정 개인이 소유한 비트코인의 규모를 추정하는 방법 및 장치를 제공한다.The present invention provides a method and apparatus for estimating the size of bitcoin owned by a specific individual by determining a hash rate using block data for a plurality of blocks constituting a block chain.
또한, 본 발명은 블록체인을 구성하는 복수의 블록들에 대한 블록 데이터를 이용하여 트랜잭션을 분석함으로써 특정 개인이 소유한 비트코인의 규모를 추정하는 방법 및 장치를 제공한다.In addition, the present invention provides a method and apparatus for estimating the size of bitcoin owned by a specific individual by analyzing a transaction using block data for a plurality of blocks constituting a block chain.
본 발명의 일실시예에 따른 비트코인 규모 추정 방법은 블록체인(Blockchain)을 구성하는 복수의 블록들에 대한 블록 데이터를 수집하는 단계; 상기 수집된 블록 데이터에서 상기 복수의 블록들 각각이 생성된 블록 생성 시간을 추출하는 단계; 상기 추출된 블록 생성 시간에 기초하여 상기 복수의 블록들 중 이전 블록 대비 특정 블록이 생성되는데 필요한 소요 시간을 식별하는 단계; 상기 식별된 소요 시간을 이용하여 상기 특정 블록에 대한 해시레이트(Hash Rate)를 결정하는 단계; 및 상기 결정된 해시레이트를 이용하여 특정 개인이 소유한 비트코인의 규모를 추정하는 단계를 포함할 수 있다.Bitcoin size estimation method according to an embodiment of the present invention comprises the steps of collecting block data for a plurality of blocks constituting a blockchain; extracting a block generation time when each of the plurality of blocks is generated from the collected block data; identifying a required time required to generate a specific block compared to a previous block among the plurality of blocks based on the extracted block generation time; determining a hash rate for the specific block using the identified required time; and estimating the amount of bitcoin owned by a specific individual using the determined hash rate.
상기 해시레이트를 결정하는 단계는 상기 식별된 소요 시간과 상기 블록의 생성을 위해 필요한 해시값의 획득 난이도를 이용하여 결정될 수 있다.The step of determining the hash rate may be determined using the identified required time and difficulty in obtaining a hash value necessary for generating the block.
상기 비트코인의 규모를 추정하는 단계는 상기 결정된 특정 블록에 대한 해시레이트를 이용하여 하루동안 생성된 모든 블록들의 평균 해시레이트를 계산하는 단계; 및 상기 계산된 모든 블록들의 평균 해시레이트를 이용하여 상기 특정 개인이 소유한 비트코인의 규모를 추정하는 단계를 포함할 수 있다.The step of estimating the size of the bitcoin may include calculating an average hash rate of all blocks generated during the day using the determined hash rate for the specific block; and estimating the size of bitcoin owned by the specific individual using the calculated average hash rate of all blocks.
상기 특정 개인이 소유한 비트코인의 규모는 상기 평균 해시레이트에 반비례할 수 있다.The amount of bitcoin owned by the specific individual may be in inverse proportion to the average hash rate.
본 발명의 일실시예에 따른 비트코인 규모 추정 방법은 블록체인(Blockchain)을 구성하는 복수의 블록들에 대한 블록 데이터를 수집하는 단계; 상기 수집된 블록 데이터에 포함된 트랜잭션 상세 정보를 이용하여 주소 데이터 및 트랜잭션 데이터를 생성하는 단계; 상기 생성된 주소 데이터 및 트랜잭션 데이터를 이용하여 동일한 지갑에 속하는 지갑 주소들을 식별하는 단계; 및 상기 식별된 동일한 지갑에 속하는 지갑 주소들을 이용하여 특정 개인이 소유한 비트코인의 규모를 추정하는 단계를 포함할 수 있다.Bitcoin size estimation method according to an embodiment of the present invention comprises the steps of collecting block data for a plurality of blocks constituting a blockchain; generating address data and transaction data using detailed transaction information included in the collected block data; identifying wallet addresses belonging to the same wallet using the generated address data and transaction data; and estimating the amount of bitcoin owned by a specific individual using wallet addresses belonging to the identified same wallet.
상기 주소 데이터는 상기 트랜잭션 상세 정보를 이용하여 식별된 트랜잭션 거래에 사용된 지갑 주소, 해당 지갑 주소에 보관된 비트코인, 해당 지갑 주소가 송·수금한 비트코인의 총합, 해당 지갑 주소가 참여한 트랜잭션 리스트 중 적어도 하나를 포함하고, 상기 트랜잭션 데이터는 상기 트랜잭션 상세 정보를 이용하여 식별된 트랜잭션 id, 트랜잭션에 포함된 블록 해시값 및 트랜잭션에 참여한 입·출력 지갑 주소 리스트 중 적어도 하나를 포함할 수 있다.The address data includes the wallet address used in the transaction transaction identified using the transaction details, the bitcoins stored in the corresponding wallet address, the total amount of bitcoins sent and received by the corresponding wallet address, and the transaction list in which the corresponding wallet address participated. and the transaction data may include at least one of a transaction id identified using the detailed transaction information, a block hash value included in the transaction, and a list of input/output wallet addresses participating in the transaction.
상기 동일한 지갑에 속하는 지갑 주소들을 식별하는 단계는 상기 주소 데이터를 이용하여 특정 지갑 주소가 참여한 트랜잭션 리스트를 식별하는 단계; 상기 트랜잭션 데이터를 이용하여 상기 트랜잭션 리스트에 포함된 적어도 하나의 트랜잭션에 대해 해당 트랜잭션에 참여한 입력 지갑 주소 리스트를 추출하는 단계; 및 상기 추출된 입력 지갑 주소 리스트에 포함된 지갑 주소들을 동일한 지갑에 속하는 것으로 추정하는 단계를 포함할 수 있다.The step of identifying wallet addresses belonging to the same wallet includes identifying a transaction list in which a specific wallet address participated using the address data; extracting a list of input wallet addresses participating in the transaction for at least one transaction included in the transaction list using the transaction data; and estimating that the wallet addresses included in the extracted input wallet address list belong to the same wallet.
상기 비트코인의 규모를 추정하는 단계는 상기 동일한 지갑에 속하는 것으로 식별된 지갑 주소들에 대해 상기 주소 데이터에 포함된 지갑 주소 별 비트코인을 모두 합산함으로써 상기 특정 개인이 소유한 비트코인의 규모를 추정할 수 있다.The step of estimating the size of the bit coin estimates the size of the bit coin owned by the specific individual by summing up all the bit coins for each wallet address included in the address data for the wallet addresses identified as belonging to the same wallet. can do.
본 발명의 일실시예에 따른 비트코인 규모 추정 장치는 프로세서를 포함하고, 상기 프로세서는 블록체인(Blockchain)을 구성하는 복수의 블록들에 대한 블록 데이터를 수집하고, 상기 수집된 블록 데이터에서 상기 복수의 블록들 각각이 생성된 블록 생성 시간을 추출하며, 상기 추출된 블록 생성 시간에 기초하여 상기 복수의 블록들 중 이전 블록 대비 특정 블록이 생성되는데 필요한 소요 시간을 식별하고, 상기 식별된 소요 시간을 이용하여 상기 특정 블록에 대한 해시레이트(Hash Rate)를 결정하며, 상기 결정된 해시레이트를 이용하여 특정 개인이 소유한 비트코인의 규모를 추정할 수 있다.Bitcoin scale estimation apparatus according to an embodiment of the present invention includes a processor, the processor collects block data for a plurality of blocks constituting a blockchain, and collects the plurality of block data from the collected block data. extracts a block generation time at which each of the blocks of is generated, identifies a required time required to generate a specific block compared to a previous block among the plurality of blocks based on the extracted block generation time, and identifies the identified required time A hash rate for the specific block is determined using the block, and the amount of bitcoin owned by a specific individual can be estimated using the determined hash rate.
상기 프로세서는 상기 식별된 소요 시간과 상기 블록의 생성을 위해 필요한 해시값의 획득 난이도를 이용하여 해시레이트를 결정할 수 있다.The processor may determine the hash rate using the identified required time and difficulty in obtaining a hash value necessary for generating the block.
상기 프로세서는 상기 결정된 특정 블록에 대한 해시레이트를 이용하여 하루동안 생성된 모든 블록들의 평균 해시레이트를 계산하고, 상기 계산된 모든 블록들의 평균 해시레이트를 이용하여 상기 특정 개인이 소유한 비트코인의 규모를 추정할 수 있다.The processor calculates the average hash rate of all blocks generated during the day using the hash rate of the determined specific block, and uses the calculated average hash rate of all blocks to determine the amount of bitcoin owned by the specific individual. can be estimated.
상기 특정 개인이 소유한 비트코인의 규모는 상기 평균 해시레이트에 반비례할 수 있다.The amount of bitcoin owned by the specific individual may be in inverse proportion to the average hash rate.
본 발명의 일실시예에 따른 비트코인 규모 추정 장치는 프로세서를 포함하고, 상기 프로세서는 블록체인(Blockchain)을 구성하는 복수의 블록들에 대한 블록 데이터를 수집하고, 상기 수집된 블록 데이터에 포함된 트랜잭션 상세 정보를 이용하여 주소 데이터 및 트랜잭션 데이터를 생성하며, 상기 생성된 주소 데이터 및 트랜잭션 데이터를 이용하여 동일한 지갑에 속하는 지갑 주소들을 식별하고, 상기 식별된 동일한 지갑에 속하는 지갑 주소들을 이용하여 특정 개인이 소유한 비트코인의 규모를 추정할 수 있다.Bitcoin size estimating device according to an embodiment of the present invention includes a processor, the processor collects block data for a plurality of blocks constituting a blockchain, and includes the collected block data Address data and transaction data are generated using the detailed transaction information, wallet addresses belonging to the same wallet are identified using the generated address data and transaction data, and wallet addresses belonging to the same wallet identified are used to identify a specific individual. You can estimate the size of the bitcoins you own.
상기 주소 데이터는 상기 트랜잭션 상세 정보를 이용하여 식별된 트랜잭션 거래에 사용된 지갑 주소, 해당 지갑 주소에 보관된 비트코인, 해당 지갑 주소가 송·수금한 비트코인의 총합, 해당 지갑 주소가 참여한 트랜잭션 리스트 중 적어도 하나를 포함하고, 상기 트랜잭션 데이터는 상기 트랜잭션 상세 정보를 이용하여 식별된 트랜잭션 id, 트랜잭션에 포함된 블록 해시값 및 트랜잭션에 참여한 입·출력 지갑 주소 리스트 중 적어도 하나를 포함할 수 있다.The address data includes the wallet address used in the transaction transaction identified using the transaction details, the bitcoins stored in the corresponding wallet address, the total amount of bitcoins sent and received by the corresponding wallet address, and the transaction list in which the corresponding wallet address participated. and the transaction data may include at least one of a transaction id identified using the detailed transaction information, a block hash value included in the transaction, and a list of input/output wallet addresses participating in the transaction.
상기 프로세서는 상기 주소 데이터를 이용하여 특정 지갑 주소가 참여한 트랜잭션 리스트를 식별하고, 상기 트랜잭션 데이터를 이용하여 상기 트랜잭션 리스트에 포함된 적어도 하나의 트랜잭션에 대해 해당 트랜잭션에 참여한 입력 지갑 주소 리스트를 추출하며, 상기 추출된 입력 지갑 주소 리스트에 포함된 지갑 주소들을 동일한 지갑에 속하는 것으로 추정할 수 있다.The processor identifies a transaction list in which a specific wallet address participated using the address data, and extracts a list of input wallet addresses participating in the transaction for at least one transaction included in the transaction list using the transaction data, It can be assumed that the wallet addresses included in the extracted input wallet address list belong to the same wallet.
상기 프로세서는 상기 동일한 지갑에 속하는 것으로 식별된 지갑 주소들에 대해 상기 주소 데이터에 포함된 지갑 주소 별 비트코인을 모두 합산함으로써 상기 특정 개인이 소유한 비트코인의 규모를 추정할 수 있다.The processor may estimate the amount of bitcoin owned by the specific individual by summing up all the bitcoins for each wallet address included in the address data for the wallet addresses identified as belonging to the same wallet.
본 발명은 블록체인을 구성하는 복수의 블록들에 대한 블록 데이터를 이용하여 해시레이트를 결정함으로써 특정 개인이 소유한 비트코인의 규모를 추정할 수 있다.The present invention can estimate the size of bitcoin owned by a specific individual by determining the hash rate using block data on a plurality of blocks constituting the block chain.
또한, 본 발명은 블록체인을 구성하는 복수의 블록들에 대한 블록 데이터를 이용하여 트랜잭션을 분석함으로써 특정 개인이 소유한 비트코인의 규모를 추정할 수 있다.In addition, the present invention can estimate the size of bitcoin owned by a specific individual by analyzing a transaction using block data for a plurality of blocks constituting a block chain.
도 1은 본 발명의 일실시예에 따른 비트코인 규모 추정 시스템으로 도시한 도면이다.
도 2는 본 발명의 일실시예에 따른 비트코인 규모 추정 방법의 제1 실시예를 플로우챠트로 나타낸 도면이다.
도 3A 내지 3E는 본 발명의 제1 실시예에 따른 특정 개인이 소유한 비트코인의 규모를 추정하는 과정을 나타낸 도면이다.
도 4는 본 발명의 일실시예에 따른 비트코인 규모 추정 방법의 제2 실시예를 플로우챠트로 나타낸 도면이다.
도 5는 본 발명의 제2 실시예에 따른 특정 개인이 소유한 비트코인의 규모를 추정하기 위해 특정 주소와 동일한 지갑에 속한 다른 지갑 주소를 찾는 과정을 나타낸 도면이다.1 is a diagram illustrating a Bitcoin scale estimation system according to an embodiment of the present invention.
2 is a flowchart illustrating a first embodiment of a method for estimating a bitcoin size according to an embodiment of the present invention.
3A to 3E are diagrams illustrating a process of estimating the amount of bitcoin owned by a specific individual according to the first embodiment of the present invention.
4 is a flowchart illustrating a second embodiment of a method for estimating a bitcoin size according to an embodiment of the present invention.
5 is a diagram illustrating a process of finding another wallet address belonging to the same wallet as a specific address in order to estimate the amount of bitcoin owned by a specific individual according to a second embodiment of the present invention.
이하, 본 발명의 실시예를 첨부된 도면을 참조하여 상세하게 설명한다. Hereinafter, embodiments of the present invention will be described in detail with reference to the accompanying drawings.
도 1은 본 발명의 일실시예에 따른 비트코인 규모 추정 시스템으로 도시한 도면이다.1 is a diagram illustrating a Bitcoin scale estimation system according to an embodiment of the present invention.
본 발명의 비트코인 규모 추정 시스템(100)을 설명하기 위하여 아래의 몇 가지 개념을 설명하도록 한다.In order to explain the Bitcoin
도 1의 (a)을 참고하면, 본 발명의 비트코인 규모 추정 시스템(100)의 비트코인 규모 추정 장치(110)는 블록체인을 구성하는 복수의 블록들(120)에 대한 블록 데이터를 수집할 수 있다. 비트코인 규모 추정 장치(100)는 이와 같이 수집된 블록 데이터를 이용하여 해시레이트를 결정하고, 결정된 해시레이트의 변화량을 통해 특정 개인이 소유한 비트코인의 규모를 추정할 수 있다.Referring to (a) of FIG. 1, the bitcoin
또한, 본 발명의 비트코인 규모 추정 장치(100)는 수집된 블록 데이터를 이용하여 트랜잭션을 분석하고, 분석된 트랜잭션을 통해 동일한 지갑에 속하는 지갑 주소들을 식별함으로써 특정 개인이 소유한 비트코인의 규모를 추정할 수 있다.In addition, the Bitcoin
이와 같은 비트코인 규모 추정 장치(100)가 수행하는 비트코인 규모 추정 방법을 설명하기 위하여 아래에서 몇 가지 개념을 설명하도록 한다.In order to explain the method of estimating the size of a bit coin performed by the bit coin
<엑스트라-논스(ExtraNonce)><Extra-Nonce>
채굴자가 주어진 논스 값을 전부 대입해도 목표값보다 작은 블록 헤더 해시값을 찾지 못한다면, 채굴자는 블록 헤더의 채굴 시간(timestamp) 또는 트랜잭션의 머클트리(Merkle Tree)를 바꾸어 새로운 논스 값을 찾는데 이를 엑스트라-논스라 한다.If a miner cannot find a block header hash value smaller than the target value even after substituting all the given nonce values, the miner finds a new nonce value by changing the block header's mining timestamp or the transaction's Merkle Tree. It is called nons.
<bits, 목표값(Target value)><bits, Target value>
목표값(T)은 블록 헤더 해시값의 상한선을 의미하며, 32byte(256bit)로 표기된다. 채굴로 생성된 블록의 해시값은 항상 (0, T)범위 안에 있어야 한다. 목표값은 실수의 부동소수점 표시 방식으로 크기가 4byte(32bit)로 압축되어 블록 헤더의 bits라는 필드에 기록된다. Bits 필드의 맨 왼쪽 1바이트는 목표 값의 길이를 비트로 나타낸 것이며 나머지 3개 비트는 목표값의 최상위 3개 바이트를 나타낸다.The target value ( T ) means the upper limit of the block header hash value, and is expressed as 32 bytes (256 bits). The hash value of a block generated by mining must always be in the range (0, T ). The target value is compressed to 4 bytes (32 bits) in the floating point representation of real numbers and recorded in a field called bits of the block header. The leftmost byte of the Bits field represents the length of the target value in bits, and the remaining 3 bits represent the top 3 bytes of the target value.
예를 들면, 제네시스 블록의 bits 값 이 0x1d00ffff 일 때, 목표값은 도 1의 (b)와 같을 수 있다. bits 값의 처음 1byte는 bits 값을 목표값으로 변환한 결과의 길이가 총 29바이트(Ox1d)라는 의미이다. 그리고 bits 값의 나머지 3byte는 목표값의 처음 3byte를 의미한다. bits 값을 목표값으로 변환하는 공식은 아래의 식 1과 같을 수 있다.For example, when the bits value of the genesis block is 0x1d00ffff , the target value may be the same as in FIG. 1 (b). The first 1 byte of the bits value means that the length of the result of converting the bits value to the target value is a total of 29 bytes (Ox1d). And the remaining 3 bytes of the bits value mean the first 3 bytes of the target value. The formula for converting the bits value to the target value may be as shown in
<식 1><
여기서, 는 목표값을 나타내고, 는 계수 값을 나타내며, E는 지수 값을 나타낸다.here, represents the target value, represents the coefficient value, and E represents the exponential value.
제네시스 블록의 bits 값으로 목표값을 구하는 과정은 다음의 식 2와 같을 수 있다.The process of obtaining the target value with the bits value of the genesis block may be as shown in
<식 2><
= =
= =
따라서, 목표값의 범위는 (0, )이고, 해당 범위에서 구할 수 있는 해시값의 개수는 이다.Therefore, the target value range is (0, ), and the number of hash values that can be obtained in the range is to be.
목표값은 약 10분마다 블록이 생성되도록 조절되며, 2016 개 블록이 생성된 시간을 기준으로 변경된다. 블록 생성시간이 2016개 블록을 생성하는 동안 평균적으로 10분보다 작으면 목표값을 작게하여 해시값을 찾기 어렵게 만들고, 10분보다 크면 목표값을 크게하여 해시값을 찾기 쉽게 만들 수 있다. 이처럼 변경된 목표값은 bits로 변환되어 블록에 저장된다.The target value is adjusted so that blocks are created approximately every 10 minutes, and is changed based on the time when 2016 blocks are created. If the block generation time is less than 10 minutes on average while generating 2016 blocks, make it difficult to find the hash value by making the target value small, and if it is greater than 10 minutes, make it easier to find the hash value by increasing the target value. The changed target value is converted into bits and stored in a block.
bits 값과 목표값이 변경될 때 난이도 값도 변할 수 있다. 난이도는 하나의 블록을 생성하는 것이 제네시스 블록과 비교하였을 때, 얼마나 어려워졌는지에 대한 수치이다. 난이도가 커질수록 목표값의 범위는 작아진다. 난이도는 아래의 식 3을 통해 구할 수 있다.When the bits value and target value change, the difficulty value can also change. Difficulty is a numerical value of how difficult it is to create a block compared to the genesis block. The higher the difficulty, the smaller the range of target values. The difficulty can be obtained through
난이도가 일 때 작업증명이 성공할 때까지 평균적인 시행횟수는 기하분포를 이용하여 구할 수 있다. 작업증명의 결과는 ‘성공’과 ‘실패’로 나눌 수 있기 때문에, 작업증명과정을 기하확률 변수로 생각할 수 있다. 따라서, 난이도가 일 때 블록 해시값을 구할 확률은 이므로 한 블록을 채굴할 때까지 평균적으로 만큼의 작업증명 과정을 거쳐야 조건에 맞는 해시값을 구할 수 있다. 만약, 난이도가 1이고 하나의 블록을 생성할 때 10분이 걸렸다면 그 때의 해시레이트는 7 Mhashs/sec이다.difficulty level When , the average number of trials until the proof-of-work is successful can be obtained using the geometric distribution. Since the results of proof-of-work can be divided into 'success' and 'failure', the proof-of-work process can be considered as a geometric random variable. Therefore, the difficulty The probability of obtaining the block hash value when So, on average until one block is mined, A hash value that satisfies the condition can be obtained only after going through the proof-of-work process as much as possible. If the difficulty is 1 and it took 10 minutes to create one block, the hash rate at that time is 7 Mhashs/sec .
도 2는 본 발명의 일실시예에 따른 비트코인 규모 추정 방법의 제1 실시예를 플로우챠트로 나타낸 도면이다.2 is a flowchart illustrating a first embodiment of a method for estimating a bitcoin size according to an embodiment of the present invention.
단계(210)에서, 비트코인 규모 추정 장치(110)는 블록체인을 구성하는 복수의 블록들에 대한 블록 데이터를 수집할 수 있다. 본 발명에서는 일례로 비트코인 초기 네트워크의 해시레이트 변화율과 해시레이트가 증가한 시점을 확인하기 위해 제네시스 블록부터 94038번 블록(UTC 기준 2010-11-26 23:58:55 생성)까지의 데이터를 수집했다. 2010년11월 27일 최초의 채굴 풀(Mining pool)인 slush pool이 정식으로 운영되었기 때문에 11월 26일까지 생성된 블록 데이터를 수집했다.In
단계(220)에서, 비트코인 규모 추정 장치(110)는 수집된 블록 데이터에서 복수의 블록들 각각이 생성된 블록 생성 시간을 추출하고, 단계(230)에서, 추출된 블록 생성 시간에 기초하여 복수의 블록들 중 이전 블록 대비 특정 블록이 생성되는데 필요하나 소요 시간을 식별할 수 있다.In
이후 비트코인 규모 추정 장치(110)는 단계(240)에서, 식별된 소요 시간을 이용하여 특정 블록에 대한 해시레이트를 결정할 수 있다. 일례로, 100번 블록의 해시레이트를 구하기 위하여 비트코인 규모 추정 장치(110)는 우선 100번 블록을 생성하는데 어느 정도의 시간이 소요되었는지를 알기 위해, 99번 블록과 100번 블록의 타임스탬프를 확인할 수 있다. Thereafter, the Bitcoin
만약 이고, 이라면, 100번 블록이 생성되는데 소요된 시간 n은 아래의 식 4를 통해 획득할 수 있다.what if ego, , the time n required to generate block 100 can be obtained through
<식 4><
n = n =
= =
= 679 (sec) = 679 (sec)
한편, 난이도가 D 일때, 한 블록을 채굴할 때까지 평균적으로 만큼의 작업 증명 과정을 거쳐야 조건에 맞는 해시값을 구할 수 있다. 따라서, 난이도가 D 일 때, 블록 하나를 생성하는데 n 분이 걸렸다면, n 초로 변환하여 초당 해시레이트를 아래의 식 5와 같이 계산할 수 있으며, 이를 통해 100번 블록의 해시 레이트를 구할 수 있다. On the other hand, when the difficulty is D , the average is until one block is mined. A hash value that satisfies the condition can be obtained only after going through the proof-of-work process as much as possible. Therefore, when the difficulty is D , if it takes n minutes to create one block, then n By converting to seconds, the hash rate per second can be calculated as in
<식 5><
Hashrate = Hash rate =
이후 단계(250)에서, 비트코인 규모 추정 장치(110)는 결정된 해시레이트를 이용하여 특정 개인이 소유한 비트코인의 규모를 추정할 수 있다. 이때, 비트코인 규모 추정 장치(110)는 특정 블록에 대해 결정된 해시레이트를 이용하여 하루동안 생성된 모든 블록들의 평균 해시레이트를 계산할 수 있다. 그리고, 비트코인 규모 추정 장치(110)는 이와 같이 계산된 모든 블록들의 평균 해시레이트를 이용하여 특정 개인이 소유한 비트코인의 규모를 추정할 수 있다.After that, in
이때, 평균 해시레이트가 증가한다는 것은 채굴 노드의 해시파워가 증가하는 것을 의미할 수 있고, 이는 특정 개인의 채굴 기회가 줄어든다는 것을 의미할 수 있다. 즉, 특정 개인이 소유한 비트코인의 규모는 평균 해시레이트에 반비례할 수 있다.At this time, an increase in the average hash rate may mean an increase in the hash power of a mining node, which may mean that a specific individual's mining opportunity decreases. In other words, the amount of Bitcoin owned by a particular individual may be inversely proportional to the average hash rate.
도 3A 내지 3E는 본 발명의 제1 실시예에 따른 특정 개인이 소유한 비트코인의 규모를 추정하는 과정을 나타낸 도면이다.3A to 3E are diagrams illustrating a process of estimating the amount of bitcoin owned by a specific individual according to the first embodiment of the present invention.
제네시스 블록부터 94038번 블록까지 총 31번의 난이도가 변경되었는데 도 3A를 참고하면, 첫 번째로 난이도가 변경된 것은 32256번 블록(UTC 기준 2009-12-30 06:11:04 생성)임을 알 수 있다. 처음으로 난이도가 변경되기 전에 총 16번의 난이도 변경 주기가 발생했었지만, 도 3A를 보면 알 수 있듯 난이도가 변경될 만큼의 충분한 해시레이트가 발생하지 않았다. 도 3A의 expeted hashrate는 해당 난이도에서의 이상적인 해시레이트이고, hashrate는 실제 2016개의 구간에서 발생한 평균 해시레이트이다. 또한, 첫 번째로 난이도가 변경된 이후에는 도 3B와 같이 난이도가 지속해서 증가한 것을 확인할 수 있다. 이것은 비트코인 네트워크에 참여한 채굴자의 수가 점차 증가하는 것을 의미할 수 있다.The difficulty was changed a total of 31 times from the genesis block to block 94038. Referring to FIG. 3A, it can be seen that the first difficulty change was block 32256 (created at 2009-12-30 06:11:04 UTC). A total of 16 difficulty change cycles occurred before the difficulty was changed for the first time, but as can be seen in FIG. 3A, a sufficient hash rate for the difficulty to be changed did not occur. The expeted hashrate in FIG. 3A is the ideal hashrate at the corresponding difficulty level, and the hashrate is the average hashrate generated in the actual 2016 sections. In addition, after the first change in difficulty, it can be confirmed that the difficulty continues to increase as shown in FIG. 3B. This could mean a gradual increase in the number of miners participating in the Bitcoin network.
해시레이트가 증가한 시점을 분석하기 위해 32256번 블록 이전의 해시레이트를 분석하던 중, 2297번 블록(UTC 기준 2009-01-30 1:13:03 생성) 이후 생성된 2298번 블록(UTC 기준 2009-01-30 1:12:17 생성) 생성시간이 2297번 블록보다 46초 빠른 것을 발견했다. 이것은 블록을 생성한 채굴 노드의 시스템 설정값이 달라서 발생하는 현상인데, 이는 곧 새로운 노드가 추가된 것임을 알 수 있다.While analyzing the hashrate before block 32256 to analyze the point at which the hash rate increased, block 2298 created after block 2297 (created at 2009-01-30 1:13:03 UTC) (2009-09 UTC) 01-30 1:12:17 Creation) It was found that the creation time was 46 seconds earlier than block 2297. This is a phenomenon that occurs because the system settings of the mining node that created the block are different, which means that a new node has been added.
따라서, 제네시스 블록부터 2297번 블록까지는 시스템 설정값이 동일한 채굴 노드가 작동했을 것이며 특정 개인이 홀로 채굴했을 것으로 생각할 수 있다. 도 3C는 제네시스 블록부터 2297번 블록까지의 블록 당 해시레이트를 나타낸다.Therefore, from the genesis block to block 2297, it can be assumed that mining nodes with the same system settings would have operated and that a specific individual would have mined alone. 3C shows the hash rate per block from the genesis block to block 2297.
작업증명의 결과는 ‘성공’과 ‘실패’로 나눌 수 있으므로, 작업증명 과정을 기하확률로 생각할 수 있다. 따라서, 블록 당 해시레이트를 분석하는 것은 확률적인 결과이므로 분석하기 힘들며 어떠한 특징도 찾지 못했다. 하지만, 하루당 평균을 구하는 경우 하루 동안의 해시레이트의 변화를 확인 가능하므로 비트코인 네트워크에 변화를 확인할 수 있다. Since the results of proof-of-work can be divided into ‘success’ and ‘failure’, the proof-of-work process can be thought of as a geometric probability. Therefore, analyzing the hash rate per block is a probabilistic result, so it is difficult to analyze and no characteristics have been found. However, if you find the average per day, you can check the change in the hash rate during the day, so you can check the change in the Bitcoin network.
도 3D는 2009년 1월 하루 동안의 평균 해시레이트 그래프를 나타낸다. 실제로 비트코인 네트워크가 정상적으로 작동한 1월 13일에는 였던 해시레이트가 1월 14일 로 약 2배가량 증가한 것을 알 수 있다. 해시레이트가 2배 증가한 1월 14일은 비트코인 네트워크에 특정 개인 이외에 또다른 채굴자가 참여한 시점이다. 해시레이트가 증가하기 전인 1월 13일까지 생성된 385번 블록까지 특정 개인이 홀로 채굴했음을 알 수 있다. 따라서 총 19,300BTC(386X50BTC)를 채굴 수수료로 지금 받았음을 알 수 있다.Figure 3D shows the average hashrate graph for one day in January 2009. In fact, on January 13, when the Bitcoin network was operating normally, The hashrate that was on January 14th It can be seen that the increase is about 2 times. January 14, when the hash rate doubled, is the time when another miner other than a specific individual joined the Bitcoin network. It can be seen that a specific individual mined alone until block 385, which was created until January 13, before the hash rate increased. So, you can see that a total of 19,300BTC (386X50BTC) has now been received as mining fees.
비트코인 네트워크의 해시레이트가 2배 증가한 것은 채굴 노드의 해시파워가 2배 증가한 것이고 특정 개인의 채굴 기회가 반으로 줄어든 것으로 추정할 수 있다. 새로운 채굴 노드가 누구의 것인지 모르지만 이후부터는 특정 개인의 채굴 수수료 수입은 반을 줄어들었을 것이다. 이후, 하루 평균 해시레이트가 1월 13일 해시레이트의 n배라면, 특정 개인의 채굴 확률은 1/n이 될 수 있다. A doubling of the hash rate of the Bitcoin network is a doubling of the hash power of mining nodes, and it can be estimated that a particular individual's mining opportunity is cut in half. I don't know who the new mining node belongs to, but after that, the mining fee income of a certain individual would have been cut in half. After that, if the daily average hash rate is n times the hash rate on January 13, the mining probability of a specific individual can be 1/n.
도 5E를 살펴보면, 난이도가 처음으로 증가한 이후, 해시레이트가 지속적으로 증가하는 것을 확인할 수 있다. 2009년 12월 18일의 해시레이트는 로 2009년 1월 14일 해시레이트()보다 약 1.8배 높으며 1월 13일 해시레이트()보다는 약 3.9배 높다. 즉, 1월 13일 이후로 채굴 노드 해시파워가 4배 가량 증가한 것을 알 수 있으며, 이를 통해 특정 개인의 채굴 확률은 약 1/4로 감소함을 추정할 수 있다. 이와 같은 방식으로 하루 별 평균이 1월 13일의 평균 해시레이트의 n배이면 1/n의 확률로 채굴을 했을 것이라고 가정할 수 있으며, 특정 개인이 총 94,039개의 블록 중 23,572개의 블록을 채굴했을 것으로 추정할 수 있다.Referring to FIG. 5E, it can be seen that the hash rate continuously increases after the difficulty level first increases. The hash rate on December 18, 2009 was As of January 14, 2009 hash rate ( ) and is about 1.8 times higher than the hash rate on January 13 ( ) is about 3.9 times higher than In other words, it can be seen that the mining node hash power has increased by about 4 times since January 13th, and through this, it can be estimated that the mining probability of a specific individual is reduced to about 1/4. In this way, if the average per day is n times the average hash rate on January 13, it can be assumed that there is a probability of 1/n, and a specific individual has mined 23,572 blocks out of a total of 94,039 blocks. can be estimated
따라서 특정 개인이 총 23,572개의 블록을 채굴했다면, 1,187,600BTC(23,572X50BTC)를 채굴 수수료로 지급 받았음을 알 수 있다. 따라서, 이후에도 특정 개인이 채굴에 참여했다고 가정할 경우, 비트코인 네트워크에 참여하는 채굴 노드 개수가 늘어나면 늘어날수록 채굴할 수 있는 확률은 반비례함을 추정할 수 있다.Therefore, if a specific individual mined a total of 23,572 blocks, it can be seen that he received 1,187,600 BTC (23,572 X 50 BTC) as a mining fee. Therefore, assuming that a specific individual participated in mining even after that, it can be estimated that the probability of mining is inversely proportional as the number of mining nodes participating in the Bitcoin network increases.
도 4는 본 발명의 일실시예에 따른 비트코인 규모 추정 방법의 제2 실시예를 플로우챠트로 나타낸 도면이다.4 is a flowchart illustrating a second embodiment of a method for estimating a bitcoin size according to an embodiment of the present invention.
단계(410)에서, 비트코인 규모 추정 장치(110)는 블록체인을 구성하는 복수의 블록들에 대한 블록 데이터를 수집할 수 있다. 이때, 블록 데이터는 비트코인 getblock RPC 메서드를 사용하여 수집할 수 있으며, 수집된 블록 데이터는 아래의 표 1과 같은 구조를 가질 수 있다.In
<표 1><Table 1>
단계(420)에서, 비트코인 규모 추정 장치(110)는 수집된 블록 데이터에 포함된 트랜잭션 상세 정보를 이용하여 주소 데이터 및 트랜잭션 데이터를 생성할 수 있고, 단계(430)에서, 생성된 주소 데이터 및 트랜잭션 데이터를 이용하여 동일한 지갑에 속하는 지갑 주소들을 식별할 수 있다.In
보다 구체적으로 비트코인 규모 추정 장치(110)는 트랜잭션 데이터의 상세 정보를 더욱 쉽게 찾기 위해 수집된 블록 데이터에서 블록 데이터의 tx의 txid와 getrawtransaction RPC 메서드를 용해 각 트랜잭션의 상세 정보를 수집 및 저장할 수 있다. 그리고, 비트코인 규모 추정 장치(110)는 트랜잭션의 상세 정보를 이용해 트랜잭션 거래에서 사용된 지갑 주소를 주소 데이터에 저장할 수 있는데, 이때의 주소 데이터는 아래의 표 2와 같은 구조를 가질 수 있다.More specifically, the Bitcoin
<표 2><Table 2>
주소 데이터에서는 각 지갑 주소의 현재 비트코인(BTC) 잔액 정보를 확인할 수 있으며, 주소 데이터의 ‘vin tx list’ 또는 ‘vout tx list’ 항목을 이용하여 해당 지갑 주소가 참여한 다른 트랜잭션들을 확인할 수 있다. 본 발명의 비트코인 규모 추정 장치(110)는 하나의 트랜잭션에서 입력 주소로 사용한 모든 지갑 주소를 같은 지갑에서 생성된 지갑 주소로 추정하므로 동일한 지갑에 속하는 지갑 주소들을 식별하기 위하여 ‘vin tx list’를 이용할 수 있다.In the address data, you can check the current bitcoin (BTC) balance information of each wallet address, and you can check other transactions in which the wallet address participated by using the 'vin tx list' or 'vout tx list' items of the address data. Since the bitcoin
다음으로 트랜잭션 데이터는 아래의 표 3과 같은 구조를 가질 수 있다.Next, transaction data may have a structure shown in Table 3 below.
<표 3><Table 3>
트랜잭션 데이터에서는 트랜잭션에 입·출력 주소로 사용된 주소들을 확인할 수 있다. 트랜잭션의 입력 주소는 ‘vin address list’ 항목에서 확인할 수 있으며, 입력 주소가 비트코인을 송금한 내용이 기록된 트랜잭션(vin 트랜잭션)은 ‘vin tx list’ 항목에서 확인할 수 있다.In the transaction data, addresses used as input/output addresses in the transaction can be checked. The input address of the transaction can be checked in the ‘vin address list’ item, and the transaction in which the input address sent bitcoins (vin transaction) can be checked in the ‘vin tx list’ item.
마지막으로 단계(440)에서, 비트코인 규모 추정 장치(110)는 식별된 동일한 지갑에 속하는 지갑 주소들을 이용하여 특정 개인이 소유한 비트코인의 규모를 추정할 수 있다. Finally, in step 440, the bitcoin
도 5는 본 발명의 제2 실시예에 따른 특정 개인이 소유한 비트코인의 규모를 추정하기 위해 특정 주소와 동일한 지갑에 속한 다른 지갑 주소를 찾는 과정을 나타낸 도면이다.5 is a diagram illustrating a process of finding another wallet address belonging to the same wallet as a specific address in order to estimate the amount of bitcoin owned by a specific individual according to a second embodiment of the present invention.
본 발명은 비트코인 규모 추정 장치(110)는 도 5와 같이 특정 지갑 주소에 속한 다른 지갑 주소들을 식별할 수 있다. 먼저, 비트코인 규모 추정 장치(110)는 주소 데이터의 ‘vin tx list’ 항목에서 트랜잭션 데이터(txid)를 찾은 후, 해당 트랜잭션의 트랜잭션 데이터에서 ‘vin address list’ 항목을 확인할 수 있다. 트랜잭션 데이터의 ‘vin address list’에서 주소 A 외에 다른 주소들이 기재되어 있다면, 해당 주소들을 주소 A와 같은 동일한 지갑에 속한 지갑 주소로 식별할 수 있다. 도 5A의 트랜잭션 데이터에서는 주소 A와 같은 지갑에 속한 지갑 주소들이 9개임을 알 수 있다.According to the present invention, the bitcoin
이러한 방법에 기초하여 비트코인 규모 추정 장치(110)는 특정 개인이 소유할 것으로 판단되는 제네시스 블록부터 418번 블록(UTC 기준 2009-01-14 06:20:25 생성)까지 조사하였고, 아래와 표 4와 같이 총 419개의 채굴 주소 중 비트코인(BTC)을 다른 지갑 주소로 전송한 주소들을 확인할 수 있다. 그 결과 총 17개의 채굴 주소에서 채굴 수수료로 받은 코인을 다른 지갑 주소로 전송하였고, 해당 거래 내용이 기록되어 있는 트랜잭션은 표 4의 Used block에 포함되어 있다.Based on this method, the Bitcoin
<표 4><Table 4>
비트코인 규모 추정 장치(110)는 표 4의 채굴 주소를 이용하여 이들 주소와 동일한 지갑에서 생성된 것으로 추정되는 지갑 주소들을 찾을 수 있다. 보다 구체적으로 비트코인 규모 추정 장치(110)는 표 4의 채굴 주소의 주소 데이터 ‘vin tx list’ 항목에서 각 채굴 주소가 입력으로 사용된 모든 트랜잭션을 찾을 수 있다. 그 결과 표 4의 총 17개의 채굴 주소에서 발생한 vin 트랜잭션은 총 22개이며, 표 4의 ‘Input txid List’에서 확인할 수 있다.The Bitcoin
일부 채굴 주소는 개별적으로 트랜잭션을 발생시키기도 했지만, 나머지 다른 채굴 주소는 같은 트랜잭션에서 입력 주소로 사용되기도 했다. 즉, 하나의 트랜잭션에서 두 개 이상의 채굴 주소가 다른 지갑 주소로 비트코인을 전송했음을 의미하며, 채굴 주소가 같은 트랜잭션에서 입력 주소로 사용된 경우를 제외하면 총 19개의 트랜잭션이 발생하였음을 알 수 있다.Some mining addresses generated transactions individually, while other mining addresses were used as input addresses in the same transaction. In other words, it means that two or more mining addresses in one transaction sent bitcoins to different wallet addresses. Excluding the case where the mining address was used as an input address in the same transaction, it can be seen that a total of 19 transactions occurred. .
표 4에 기재된 총 19개의 트랜잭션(중복 제외)에 대한 트랜잭션 데이터의 ㅊ에 기록되어 있는 입력 주소들은 총 129개(중복 제외, 표 4의 채굴 주소 제외)이다. 이들 129개의 주소는 표 4의 17개 채굴 주소와 같이 트랜잭션에서 사용되었으므로 특정 개인이 소유한 지갑에서 생성된 지갑 주소로 그룹화시킬 수 있다. 즉, 특정 개인이 제네시스 블록부터 418번 블록까지 채굴하였으므로 419개 채굴 주소와 129개의 주소 총 531개의 주소를 갖고 있음을 알 수 있다.There are a total of 129 input addresses recorded in the transaction data for a total of 19 transactions (excluding duplicates) listed in Table 4 (excluding duplicates and mining addresses in Table 4). Since these 129 addresses were used in transactions, such as the 17 mining addresses in Table 4, they can be grouped into wallet addresses generated from wallets owned by specific individuals. In other words, since a specific individual mined from the genesis block to block 418, it can be seen that he has a total of 531 addresses, including 419 mining addresses and 129 addresses.
다시 비트코인 규모 추정 장치(110)는 이들 129개 주소 데이터의 ‘vin tx list’ 항목에서 각 채굴 주소가 입력 주소로 사용된 모든 트랜잭션을 찾고, 해당 트랜잭션의 입력 주소들을 찾는다. 그 결과 129개의 주소에서 발생한 트랜잭션은 총 39개이며, 트랜잭션에 대한 트랜잭션 데이터의 ‘vin address list’에 기록되어있는 주소들은 총 429개(중복 제외)이다. Again, the Bitcoin
이처럼 비트코인 규모 추정 장치(110)는 새로 발견한 지갑 주소들이 참여한 트랜잭션을 찾고, 해당 트랜잭션의 입력 주소로 참여한 지갑 주소를 찾는 과정을 반복할 수 있다. 그 결과 특정 개인의 지갑 주소를 추측한 결과 그의 주소는 총 920개이며 이들 주소에 보관된 코인 중에서 아직 사용되지 않은 코인(UTXO: Unspent Transaction Output)의 총합은 61,004.27BTC임을 확인할 수 있다.In this way, the bitcoin
한편, 본 발명에 따른 방법은 컴퓨터에서 실행될 수 있는 프로그램으로 작성되어 마그네틱 저장매체, 광학적 판독매체, 디지털 저장매체 등 다양한 기록 매체로도 구현될 수 있다.Meanwhile, the method according to the present invention is written as a program that can be executed on a computer and can be implemented in various recording media such as magnetic storage media, optical reading media, and digital storage media.
본 명세서에 설명된 각종 기술들의 구현들은 디지털 전자 회로조직으로, 또는 컴퓨터 하드웨어, 펌웨어, 소프트웨어로, 또는 그들의 조합들로 구현될 수 있다. 구현들은 데이터 처리 장치, 예를 들어 프로그램가능 프로세서, 컴퓨터, 또는 다수의 컴퓨터들의 동작에 의한 처리를 위해, 또는 이 동작을 제어하기 위해, 컴퓨터 프로그램 제품, 즉 정보 캐리어, 예를 들어 기계 판독가능 저장 장치(컴퓨터 판독가능 매체) 또는 전파 신호에서 유형적으로 구체화된 컴퓨터 프로그램으로서 구현될 수 있다. 상술한 컴퓨터 프로그램(들)과 같은 컴퓨터 프로그램은 컴파일된 또는 인터프리트된 언어들을 포함하는 임의의 형태의 프로그래밍 언어로 기록될 수 있고, 독립형 프로그램으로서 또는 모듈, 구성요소, 서브루틴, 또는 컴퓨팅 환경에서의 사용에 적절한 다른 유닛으로서 포함하는 임의의 형태로 전개될 수 있다. 컴퓨터 프로그램은 하나의 사이트에서 하나의 컴퓨터 또는 다수의 컴퓨터들 상에서 처리되도록 또는 다수의 사이트들에 걸쳐 분배되고 통신 네트워크에 의해 상호 연결되도록 전개될 수 있다.Implementations of the various techniques described herein may be implemented in digital electronic circuitry, or in computer hardware, firmware, software, or combinations thereof. Implementations may be a computer program product, i.e., an information carrier, e.g., a machine-readable storage, for processing by, or for controlling, the operation of a data processing apparatus, e.g., a programmable processor, computer, or plurality of computers. It can be implemented as a computer program tangibly embodied in a device (computer readable medium) or a radio signal. A computer program, such as the computer program(s) described above, may be written in any form of programming language, including compiled or interpreted languages, and may be written as a stand-alone program or in a module, component, subroutine, or computing environment. It can be deployed in any form, including as other units suitable for the use of. A computer program can be deployed to be processed on one computer or multiple computers at one site or distributed across multiple sites and interconnected by a communication network.
컴퓨터 프로그램의 처리에 적절한 프로세서들은 예로서, 범용 및 특수 목적 마이크로프로세서들 둘 다, 및 임의의 종류의 디지털 컴퓨터의 임의의 하나 이상의 프로세서들을 포함한다. 일반적으로, 프로세서는 판독 전용 메모리 또는 랜덤 액세스 메모리 또는 둘 다로부터 명령어들 및 데이터를 수신할 것이다. 컴퓨터의 요소들은 명령어들을 실행하는 적어도 하나의 프로세서 및 명령어들 및 데이터를 저장하는 하나 이상의 메모리 장치들을 포함할 수 있다. 일반적으로, 컴퓨터는 데이터를 저장하는 하나 이상의 대량 저장 장치들, 예를 들어 자기, 자기-광 디스크들, 또는 광 디스크들을 포함할 수 있거나, 이것들로부터 데이터를 수신하거나 이것들에 데이터를 송신하거나 또는 양쪽으로 되도록 결합될 수도 있다. 컴퓨터 프로그램 명령어들 및 데이터를 구체화하는데 적절한 정보 캐리어들은 예로서 반도체 메모리 장치들, 예를 들어, 하드 디스크, 플로피 디스크 및 자기 테이프와 같은 자기 매체(Magnetic Media), CD-ROM(Compact Disk Read Only Memory), DVD(Digital Video Disk)와 같은 광 기록 매체(Optical Media), 플롭티컬 디스크(Floptical Disk)와 같은 자기-광 매체(Magneto-Optical Media), 롬(ROM, Read Only Memory), 램(RAM, Random Access Memory), 플래시 메모리, EPROM(Erasable Programmable ROM), EEPROM(Electrically Erasable Programmable ROM) 등을 포함한다. 프로세서 및 메모리는 특수 목적 논리 회로조직에 의해 보충되거나, 이에 포함될 수 있다.Processors suitable for processing a computer program include, by way of example, both general and special purpose microprocessors, and any one or more processors of any kind of digital computer. Generally, a processor will receive instructions and data from read only memory or random access memory or both. Elements of a computer may include at least one processor that executes instructions and one or more memory devices that store instructions and data. In general, a computer may include, receive data from, send data to, or both, one or more mass storage devices that store data, such as magnetic, magneto-optical disks, or optical disks. It can also be combined to become. Information carriers suitable for embodying computer program instructions and data include, for example, semiconductor memory devices, for example, magnetic media such as hard disks, floppy disks and magnetic tapes, compact disk read only memory (CD-ROM) ), optical media such as DVD (Digital Video Disk), magneto-optical media such as Floptical Disk, ROM (Read Only Memory), RAM (RAM) , Random Access Memory), flash memory, EPROM (Erasable Programmable ROM), EEPROM (Electrically Erasable Programmable ROM), and the like. The processor and memory may be supplemented by, or included in, special purpose logic circuitry.
또한, 컴퓨터 판독가능 매체는 컴퓨터에 의해 액세스될 수 있는 임의의 가용매체일 수 있고, 컴퓨터 저장매체 및 전송매체를 모두 포함할 수 있다.In addition, computer readable media may be any available media that can be accessed by a computer, and may include both computer storage media and transmission media.
본 명세서는 다수의 특정한 구현물의 세부사항들을 포함하지만, 이들은 어떠한 발명이나 청구 가능한 것의 범위에 대해서도 제한적인 것으로서 이해되어서는 안되며, 오히려 특정한 발명의 특정한 실시형태에 특유할 수 있는 특징들에 대한 설명으로서 이해되어야 한다. 개별적인 실시형태의 문맥에서 본 명세서에 기술된 특정한 특징들은 단일 실시형태에서 조합하여 구현될 수도 있다. 반대로, 단일 실시형태의 문맥에서 기술한 다양한 특징들 역시 개별적으로 혹은 어떠한 적절한 하위 조합으로도 복수의 실시형태에서 구현 가능하다. 나아가, 특징들이 특정한 조합으로 동작하고 초기에 그와 같이 청구된 바와 같이 묘사될 수 있지만, 청구된 조합으로부터의 하나 이상의 특징들은 일부 경우에 그 조합으로부터 배제될 수 있으며, 그 청구된 조합은 하위 조합이나 하위 조합의 변형물로 변경될 수 있다.While this specification contains many specific implementation details, they should not be construed as limiting on the scope of any invention or what is claimed, but rather as a description of features that may be unique to a particular embodiment of a particular invention. It should be understood. Certain features that are described in this specification in the context of separate embodiments may also be implemented in combination in a single embodiment. Conversely, various features that are described in the context of a single embodiment can also be implemented in multiple embodiments individually or in any suitable subcombination. Further, while features may operate in particular combinations and are initially depicted as such claimed, one or more features from a claimed combination may in some cases be excluded from that combination, and the claimed combination is a subcombination. or sub-combination variations.
마찬가지로, 특정한 순서로 도면에서 동작들을 묘사하고 있지만, 이는 바람직한 결과를 얻기 위하여 도시된 그 특정한 순서나 순차적인 순서대로 그러한 동작들을 수행하여야 한다거나 모든 도시된 동작들이 수행되어야 하는 것으로 이해되어서는 안 된다. 특정한 경우, 멀티태스킹과 병렬 프로세싱이 유리할 수 있다. 또한, 상술한 실시형태의 다양한 장치 컴포넌트의 분리는 그러한 분리를 모든 실시형태에서 요구하는 것으로 이해되어서는 안되며, 설명한 프로그램 컴포넌트와 장치들은 일반적으로 단일의 소프트웨어 제품으로 함께 통합되거나 다중 소프트웨어 제품에 패키징 될 수 있다는 점을 이해하여야 한다.Similarly, while actions are depicted in the drawings in a particular order, it should not be construed as requiring that those actions be performed in the specific order shown or in the sequential order, or that all depicted actions must be performed to obtain desired results. In certain cases, multitasking and parallel processing can be advantageous. Further, the separation of various device components in the embodiments described above should not be understood as requiring such separation in all embodiments, and the program components and devices described may generally be integrated together into a single software product or packaged into multiple software products. You have to understand that you can.
한편, 본 명세서와 도면에 개시된 본 발명의 실시 예들은 이해를 돕기 위해 특정 예를 제시한 것에 지나지 않으며, 본 발명의 범위를 한정하고자 하는 것은 아니다. 여기에 개시된 실시 예들 이외에도 본 발명의 기술적 사상에 바탕을 둔 다른 변형 예들이 실시 가능하다는 것은, 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자에게 자명한 것이다.On the other hand, the embodiments of the present invention disclosed in this specification and drawings are only presented as specific examples to aid understanding, and are not intended to limit the scope of the present invention. In addition to the embodiments disclosed herein, it is obvious to those skilled in the art that other modified examples based on the technical idea of the present invention can be implemented.
100 : 비트코인 규모 추정 시스템
110 : 비트코인 규모 추정 장치
120 : 블록들100: Bitcoin scale estimation system
110: Bitcoin scale estimation device
120: blocks
Claims (16)
블록체인(Blockchain)을 구성하는 복수의 블록들에 대한 블록 데이터를 수집하는 단계;
상기 수집된 블록 데이터에서 상기 복수의 블록들 각각이 생성된 블록 생성 시간을 추출하는 단계;
상기 추출된 블록 생성 시간에 기초하여 상기 복수의 블록들 중 이전 블록 대비 특정 블록이 생성되는데 필요한 소요 시간을 식별하는 단계;
상기 식별된 소요 시간과 상기 특정 블록의 생성을 위해 필요한 해시값의 획득 난이도를 이용하여 상기 특정 블록에 대한 해시레이트(Hash Rate)를 결정하는 단계; 및
상기 결정된 특정 블록에 대한 해시레이트를 이용하여 하루동안 생성된 모든 블록들의 평균 해시레이트를 계산하고, 상기 계산된 모든 블록들의 평균 해시레이트를 이용하여 특정 개인이 소유한 비트코인의 규모를 추정하는 단계
를 포함하는 비트코인 규모 추정 방법.In the bitcoin size estimation method performed by the processor,
Collecting block data for a plurality of blocks constituting a blockchain;
extracting a block generation time when each of the plurality of blocks is generated from the collected block data;
identifying a required time required to generate a specific block compared to a previous block among the plurality of blocks based on the extracted block generation time;
determining a hash rate for the specific block using the identified required time and difficulty in obtaining a hash value necessary for generating the specific block; and
Calculating an average hash rate of all blocks generated during the day using the hash rate of the determined specific block, and estimating the size of bitcoin owned by a specific individual using the calculated average hash rate of all blocks
Bitcoin size estimation method comprising a.
상기 특정 개인이 소유한 비트코인의 규모는,
상기 평균 해시레이트에 반비례하는 비트코인 규모 추정 방법.According to claim 1,
The amount of Bitcoin owned by the specific individual is,
A method of estimating the size of a bitcoin inversely proportional to the average hash rate.
상기 프로세서는,
블록체인(Blockchain)을 구성하는 복수의 블록들에 대한 블록 데이터를 수집하고, 상기 수집된 블록 데이터에서 상기 복수의 블록들 각각이 생성된 블록 생성 시간을 추출하며, 상기 추출된 블록 생성 시간에 기초하여 상기 복수의 블록들 중 이전 블록 대비 특정 블록이 생성되는데 필요한 소요 시간을 식별하고, 상기 식별된 소요 시간과 상기 특정 블록의 생성을 위해 필요한 해시값의 획득 난이도를 이용하여 상기 특정 블록에 대한 해시레이트(Hash Rate)를 결정하며, 상기 결정된 특정 블록에 대한 해시레이트를 이용하여 하루동안 생성된 모든 블록들의 평균 해시레이트를 계산하고, 상기 계산된 모든 블록들의 평균 해시레이트를 이용하여 특정 개인이 소유한 비트코인의 규모를 추정하는 비트코인 규모 추정 장치.contains a processor;
the processor,
Block data for a plurality of blocks constituting the blockchain is collected, the block creation time at which each of the plurality of blocks is generated is extracted from the collected block data, and based on the extracted block creation time to identify the required time required to generate a specific block compared to the previous block among the plurality of blocks, and use the identified required time and the difficulty of obtaining a hash value required for generating the specific block to generate a hash for the specific block Determine the hash rate, calculate the average hash rate of all blocks generated during the day using the hash rate for the determined specific block, and use the calculated average hash rate of all blocks to A bitcoin size estimator that estimates the size of one bitcoin.
상기 특정 개인이 소유한 비트코인의 규모는,
상기 평균 해시레이트에 반비례하는 비트코인 규모 추정 장치.
According to claim 9,
The amount of Bitcoin owned by the specific individual is,
Bitcoin size estimator that is inversely proportional to the average hashrate.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020200148783A KR102467484B1 (en) | 2020-11-09 | 2020-11-09 | Method and apparatus for estimating of bitcoin scale through hash-rate and transaction |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020200148783A KR102467484B1 (en) | 2020-11-09 | 2020-11-09 | Method and apparatus for estimating of bitcoin scale through hash-rate and transaction |
Publications (2)
Publication Number | Publication Date |
---|---|
KR20220062976A KR20220062976A (en) | 2022-05-17 |
KR102467484B1 true KR102467484B1 (en) | 2022-11-15 |
Family
ID=81800101
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020200148783A KR102467484B1 (en) | 2020-11-09 | 2020-11-09 | Method and apparatus for estimating of bitcoin scale through hash-rate and transaction |
Country Status (1)
Country | Link |
---|---|
KR (1) | KR102467484B1 (en) |
Family Cites Families (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20190121959A (en) * | 2018-04-19 | 2019-10-29 | 주식회사 세인트블록 | Monitoring system for block-chain system, and method of monitoring for the same |
KR102185191B1 (en) * | 2019-01-22 | 2020-12-01 | (주)에스투더블유랩 | Method and system for analyzing transaction of cryptocurrency |
-
2020
- 2020-11-09 KR KR1020200148783A patent/KR102467484B1/en active IP Right Grant
Also Published As
Publication number | Publication date |
---|---|
KR20220062976A (en) | 2022-05-17 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
Page et al. | Three ingredients for improved global aftershock forecasts: Tectonic region, time‐dependent catalog incompleteness, and intersequence variability | |
US10608905B2 (en) | Method and system for temporal sampling in evolving network | |
CN111090780B (en) | Method and device for determining suspicious transaction information, storage medium and electronic equipment | |
EP3797396A1 (en) | Blockchain transaction safety | |
CN106469413B (en) | Data processing method and device for virtual resources | |
CN111782620B (en) | Credit link automatic tracking platform and method thereof | |
CN109309596B (en) | Pressure testing method and device and server | |
CN106203631B (en) | The parallel Frequent Episodes Mining and system of description type various dimensions sequence of events | |
CN111383004A (en) | Method for extracting entity position of digital currency, method for extracting information and device thereof | |
KR20170037709A (en) | Method and System for determination of social network hot topic in consideration of users influence and time | |
Lee et al. | Poster: A proof-of-stake (PoS) blockchain protocol using fair and dynamic sharding management | |
CN112734195B (en) | Data processing method, device, electronic equipment and storage medium | |
Bogaert et al. | Evaluating the importance of different communication types in romantic tie prediction on social media | |
De Moor et al. | Assessing the missing data problem in criminal network analysis using forensic DNA data | |
CN109597800A (en) | A kind of log distribution method and device | |
CN116957112A (en) | Training method, device, equipment and storage medium of joint model | |
KR102467484B1 (en) | Method and apparatus for estimating of bitcoin scale through hash-rate and transaction | |
Morishima et al. | Acceleration of anomaly detection in blockchain using in-GPU cache | |
KR20190058922A (en) | Data management and search method of each of nodes communicating each other and computer device operating as one of nodes | |
CN111880942A (en) | Network threat processing method and device | |
CN111552842A (en) | Data processing method, device and storage medium | |
Iqbal et al. | Estimation of Probability of Defaults (PD) for Low-Default Portfolios: An Actuarial Approach | |
CN113870021B (en) | Data analysis method and device, storage medium and electronic equipment | |
CN111723338A (en) | Detection method and detection equipment | |
Lv et al. | High‐Efficiency Min‐Entropy Estimation Based on Neural Network for Random Number Generators |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
E902 | Notification of reason for refusal | ||
E701 | Decision to grant or registration of patent right | ||
GRNT | Written decision to grant |