Hashrate는 초당 이중 SHA-256 시도 횟수입니다. 유효한 블록의 개수나 전체 네트워크에서 직접 측정할 수 있는 속성이 아닙니다. 채굴자는 자신의 ASIC Miner 장치를 측정하고 Mining Pool은 수락한 share로 유효 성능을 추정하며, 네트워크 Hashrate는 최근 블록과 그 난이도로 통계적으로 추정합니다. 따라서 짧은 측정 구간은 우연의 영향을 크게 받습니다.
1 H/s는 초당 한 번의 Proof of Work 해시 시도입니다. Bitcoin은 80바이트 블록 헤더에 이중 SHA-256을 계산합니다. 채굴자는 허용 범위에서 Nonce, coinbase 거래의 Extranonce를 통한 Merkle 루트, 또는 version과 nTime 필드를 바꿉니다. 높은 Hashrate는 단위 시간당 독립적인 시도가 많다는 뜻이지 각 시도의 성공 확률이 높다는 뜻은 아닙니다. [Bitcoin Developer Guide — Mining] [Bitcoin Developer Guide — Block Chain / Proof of Work]
ASIC은 완료한 작업으로 로컬 성능을 측정합니다. Mining Pool은 선택한 구간에서 수락한 share와 그 난이도로 워커의 유효 Hashrate를 추정합니다. 네트워크 Hashrate는 세 번째 값으로, 모든 가동 장치를 세는 전역 측정기는 없습니다. 각 수치는 다른 계층을 나타내며 짧은 측정에서는 크게 다를 수 있습니다. [Bitcoin Developer Guide — Mining]
Bitcoin Core의 getnetworkhashps RPC는 최근 블록으로 초당 해시 수를 추정합니다. 구현은 누적 작업 증가분을 표본 내 블록 타임스탬프의 최댓값과 최솟값 차이로 나눕니다. 기본 구간은 120블록이며 nblocks=-1은 마지막 난이도 변경 이후 기간을 선택합니다. 짧은 구간은 더 빨리 반응하지만 우연에 따른 변동도 커집니다. [Bitcoin Core source — getnetworkhashps] [Bitcoin RPC — getnetworkhashps]
Target은 허용되는 Proof of Work 해시의 최댓값입니다. 난이도는 이 조건이 기준 난이도보다 얼마나 까다로운지 나타냅니다. 낮은 target은 더 많은 기대 시도를 뜻합니다. Hashrate는 시도 속도를, 난이도는 Proof of Work 조건을 충족할 기대 작업량을 나타내며 나머지 블록 유효성 규칙의 충족을 뜻하지 않습니다. [Bitcoin Core source — proof-of-work difficulty] [Bitcoin Core v30.0 — GetBlockProof]
메인넷은 프로토콜이 허용하는 범위에서 2주를 목표로 2,016블록마다 target을 다시 계산합니다. 2주는 목표이지 달력상 고정 기한이 아닙니다. Hashrate가 급증하면 다음 조정까지 블록이 보통 더 빨리 나오며, 감소하면 더 느려집니다. Bitcoin은 Hashrate를 직접 측정하지 않고 블록 타임스탬프에 반응합니다. [Bitcoin Core source — proof-of-work difficulty] [Bitcoin Developer Guide — Block Chain / Proof of Work]
동일한 난이도에서 기대 블록 빈도는 Hashrate에 대략 비례하지만 개별 발견은 무작위입니다. 전체 Hashrate의 1%를 가진 채굴자가 다음 블록을 찾을 확률은 약 1%이며, 100개마다 하나가 보장되지는 않습니다. 이 분산이 풀의 존재와 단기 그래프 변동을 설명합니다. [Bitcoin whitepaper]
Hashrate는 작업 속도이고 chainwork는 특정 분기의 블록들이 나타내는 누적 기대 작업입니다. 확인이 추가될수록 기록을 바꾸기 어려워집니다. 대체하려면 경쟁하는 누적 작업을 만들어야 하기 때문입니다. 오늘의 Hashrate 변화는 과거 블록의 chainwork를 소급해 바꾸지 않습니다. [Bitcoin whitepaper] [Bitcoin Core v30.0 — GetBlockProof]
높은 Hashrate는 채굴자가 자신의 분기를 연장할 확률을 높입니다. 과반수 Hashrate는 거래 검열이나 깊은 Reorg 능력을 크게 높이지만, 노드의 합의 규칙을 어긴 블록을 유효하게 만들 수는 없습니다. 해시 연산 능력은 유효한 기록들 사이의 선택에 영향을 주며 Full Node가 유효성 규칙을 독립적으로 집행합니다. [Bitcoin Developer Guide — Block Chain / Proof of Work] [Bitcoin whitepaper]
Hashrate만으로 전력 소비를 알아낼 수는 없습니다. 필요한 전력은 해당 세대 ASIC의 J/TH 단위 에너지 효율, 전압과 주파수 설정, 냉각 및 보조 장비에 따라 달라집니다. 같은 EH/s 성능이라도 효율이 다르면 필요한 전력이 크게 달라질 수 있습니다. [Braiins OS — Autotuning]
자신의 장치에서는 충분히 긴 기간 동안 ASIC 표시값을 수락한 share에 기반한 풀 추정치와 비교하고 거부된 결과를 살펴봅니다. 네트워크에서는 여러 구간의 getnetworkhashps, 난이도와 블록 타임스탬프를 비교합니다. 측정 구간 없이 정밀해 보이는 수치는 중요한 맥락이 빠진 추정치입니다. [Bitcoin Core source — getnetworkhashps] [Bitcoin RPC — getnetworkhashps] [Bitcoin RPC — getmininginfo]
더 정확히 이해하려면 이 항목과 함께 다음도 읽어 보세요 비트코인 채굴, ASIC Miner, 난이도 조정, Proof of Work, Hashprice, Bitcoin. 다음 항목에서도 이 글을 참조합니다 ASIC Miner, Mining Pool, Solo Mining, Demand Response Mining.