프로토콜과 채굴에 관한 교육용 분석이며 투자 또는 운영 조언이 아닙니다. 채굴 결과는 무작위이며 네트워크 규칙, 난이도, 수수료, 풀 조건, 가동률, 하드웨어, 에너지, 금융 비용, 세금과 시장 가격에 따라 달라집니다. 예상 수익이나 해시 점유율은 블록, 지급 또는 이익을 보장하지 않습니다.
핵심 답변
Bitcoin 채굴은 유효한 후보 블록을 구성하고 80바이트 헤더를 SHA-256d로 반복 해싱하여 수치가 합의 목표값 이하인 결과를 찾는 과정이다. 성공한 채굴자는 블록을 네트워크에 제안할 뿐이다. 채굴은 무효 거래를 유효하게 만들거나 프로토콜 밖의 진실을 결정하거나 타인의 코인을 통제할 권한을 주지 않는다. 각 전체 노드가 작업증명, 헤더, 거래, 스크립트, 사용된 출력, 블록 한도와 허용 코인베이스 금액을 독립 검증한다.
채굴 노드나 풀은 getblocktemplate 같은 인터페이스로 후보 데이터를 얻는다. 주요 필드는 version, previousblockhash, transactions, coinbasevalue, target, bits, height, weightlimit, sigoplimit 이다. 템플릿은 정책으로 선택한 출발점이며 모든 거래의 포함이나 수정 블록의 수락을 보장하지 않는다. 합의 유효성, 로컬 mempool 정책, 수수료 선택과 풀 규칙은 서로 다른 계층이다.
하드웨어는 헤더 변형을 탐색한다. 32비트 nonce 범위를 소진하면 소프트웨어는 코인베이스 extranonce를 바꾸고 Merkle root를 다시 구성하며 허용된 시간이나 버전 필드를 갱신해 새 탐색 공간을 만든다. 각 해시는 독립 시행이다. 호환 해시레이트가 많으면 기대 성공 빈도는 높아지지만 특정 블록을 예약하거나 기한 내 성공을 보장하지 않는다.
솔로 채굴은 유효 블록의 허용 코인베이스 출력을 전부 받지만 지급 변동성이 크다. 풀 채굴은 작업을 모으고 더 쉬운 share 목표값으로 기여를 추정한다. 네트워크 목표값도 만족한 share만 블록이 될 수 있다. 풀은 지급 변동성을 낮출 뿐 네트워크의 기대 발행량을 늘리지 않는다. 풀 보관, 템플릿 통제, share 검증과 PPS, PPLNS 등의 지급 부채에는 별도 거래상대방 및 집중 위험이 있다.
채굴 분석 절차
- 식별 정보와 권한을 고정한다.
chain,network,client version, 규칙 집합,bestblockhash, 템플릿 제공자, 풀 엔드포인트, 지급 주체와 관측 시각을 기록한다. 노드, 템플릿 구성자, 풀 운영자, 펌웨어, 시설과 장비 소유자를 구별한다. - 후보 선택을 재현한다.
mempool과UTXO set을 스냅샷하고 거래 유효성, 의존성, 수수료, 가중치, 서명 연산, 잠금 시간과 witness commitment를 검증한다. 후보를 재구성하고 수수료율 자체를 합의로 보지 말고 정책 선택을 설명한다. - 코인베이스와 헤더를 대조한다. 높이별 보조금, 포함 수수료, 출력, commitment, 이전 블록 해시와 Merkle tree를 확인한다. 가변
nonce, 코인베이스extranonce,Merkle root,time,version bits를 추적하고 합의 한도를 넘는 템플릿을 거부한다. - 탐색과 제출을 검증한다. 압축 목표값을 디코딩하고 네트워크의 바이트 순서와 해싱 규칙으로
block_hash <= target을 검사한다. 해를 찾으면 전체 블록을 재구성해submitblock또는 배포 프로토콜로 제출하고 수락·거부 근거를 보존한다. - 독립 검증과 전파를 추적한다. 여러 전체 노드의 헤더, 거래, 스크립트, 코인베이스와 체인워크 검증을 비교한다. 전파, 경쟁 팁, 스테일·고아 결과와 재구성 처리를 측정한다. 증명 발견은 정규 체인 잔류와 같지 않다.
- 보상과 풀 회계를 대조한다.
coinbase,subsidy + transaction fees, 풀 수수료, 준비금,pool target,network target, 수락된share, 스테일 share, 지급 방식, 성숙, 최소 지급, 보관과 거래상대방 노출을 분리한다. - 경제성과 보안을 스트레스 테스트한다. 유효 해시레이트, 가동률, 효율, 전력 가격, 냉각, 인건비, 호스팅, 유지보수, 감가상각, 금융, 세금, 출력 제한, 보조금, 수수료, 가격과 난이도를 밝힌다. 블록 변동성, 고장, 가격·수수료 충격, 난이도 지연, 풀 불이행, 검열, 집중과 재구성을 시험한다.
결과물은 블록 제안과 계산 탐색의 증거다. 노드는 유효성을, 포크 선택은 활성 유효 분기를, 난이도 규칙은 정해진 경계에서 목표값을, 애플리케이션은 필요한 확인 깊이를 결정한다. 채굴은 이 과정에 참여하지만 어느 것도 대체하지 않는다.
계산 예시
1. Nonce는 전체 탐색 공간이 아니다
80바이트 Bitcoin 헤더의 32비트 nonce에는 2^32 = 4,294,967,296 개 값이 있다. 200 TH/s 하드웨어가 이만큼의 헤더를 시험하는 시간은 약 다음과 같다.
4,294,967,296 / 200,000,000,000,000 = 0.0000214748 seconds
작업은 끝나지 않는다. 소프트웨어가 코인베이스 extranonce를 바꾸고 새 Merkle root를 만들며 다른 허용 필드를 갱신해 또 다른 nonce 공간을 만든다. 헤더 nonce를 장비의 전체 탐색 능력으로 보는 것은 범주 오류다.
2. 솔로 변동성과 전기료
네트워크가 600 EH/s, 유효 채굴자가 200 TH/s 이면 단순 점유율은 200 TH/s / 600 EH/s = 0.0000333333% 다. 하루 예시 144 블록에서 솔로 기대값은 lambda = 144 * 0.000000333333 = 0.000048 blocks/day, 평균 대기는 1 / 0.000048 = 20,833.33 days 다. 포아송 근사상 하루 동안 블록을 못 찾을 확률은 P(0) = exp(-0.000048) = 99.9952001152% 다.
3.5kW 장비의 전력 단가가 kWh당 0.06달러면 직접 전기료는 3.5 kW * 24 * USD 0.06/kWh = USD 5.04/day 다. 냉각, 호스팅, 중단, 수리, 감가상각, 금융과 세금은 빠져 있다. 기대값은 현금 흐름 시점이 아니며 낮은 확률의 솔로 당첨을 일일 미수금처럼 제시하면 안 된다.
3. 코인베이스 회계와 성숙
높이별 보조금이 3.125 BTC, 유효하게 포함한 거래 수수료가 0.42 BTC 라고 하자. 단순 예시에서 코인베이스가 만들 수 있는 최대 가치는 3.125 + 0.42 = 3.545 BTC 다. 초과 청구는 블록을 무효화하며 적게 청구하는 것은 허용되지만 가치를 포기한다.
코인베이스 출력은 쓰기 전에 합의상 100 blocks 의 성숙을 거쳐야 한다. 블록은 성숙 전 스테일이 되거나 이후 재구성될 수 있다. 풀 대시보드 잔액, 미성숙 코인베이스 출력과 최종 외부 지급은 보관·결제 위험이 다른 청구권이다.
4. 풀 share와 지급 가정
동일 난이도의 수락 share를 가정해 풀이 총 2,000,000 개, 한 채굴자가 50,000 개를 냈다면 기록 비율은 50,000 / 2,000,000 = 2.5% 다. 블록 가치가 3.545 BTC이고 풀 수수료가 2% 라면 예시 배분액은 3.545 * (1 - 0.02) = 3.4741 BTC, 비례 배분은 3.4741 * 2.5% = 0.0868525 BTC 다.
풀 목표값이 네트워크보다 1,000 배 쉽다면 수락된 share가 네트워크 목표값도 만족할 단순 확률은 1 / 1,000 이다. 실제 회계는 가변 share 난이도를 정규화하고 중복·스테일을 거부하며 명시된 PPS, FPPS, PPLNS 등 계약을 적용하고 풀 지급 기대값과 블록 조건부 수익을 구별해야 한다.
위험과 검토 실패
프로토콜 및 템플릿 오류
- 채굴자가 거래를 유효하게 만든다고 말하고 전체 노드의 독립 검증을 누락한다.
- 체인, 네트워크, 포크, 팁, 클라이언트, 템플릿 제공자 또는 풀 식별을 섞는다.
- mempool이나 템플릿을 합의 상태, 완전한 거래 집합 또는 보장된 미래 블록으로 본다.
- 조상, 후손, 가중치, 서명 연산, 잠금과 commitment를 무시하고 개별 수수료율만 사용한다.
- 보조금 높이, 포함 수수료, 코인베이스 출력, witness commitment 또는 Merkle root를 잘못 계산한다.
- 새 팁 이후에도 잘못된 이전 해시, 오래된 목표값 또는 허용되지 않은 시간·버전을 탐색한다.
- 잘못된 인코딩, 엔디언 또는 알고리즘으로 헤더 해시와 목표값을 비교한다.
풀 및 운영 오류
- 수락된 풀 share를 네트워크 유효 블록과 같게 보거나 난이도 정규화 없이 개수를 사용한다.
- 기대 해시 점유율을 보장된 블록, 수익 또는 지급 날짜로 바꾸며 변동성을 무시한다.
- 풀 블록 점유율을 영구 장비 소유로 보거나 템플릿·지급 집중을 무시한다.
- 스테일·거부 share, 지연, 펌웨어, 온도, 가동률, 출력 제한과 고장을 빠뜨린다.
- 지급 방식, 수수료 기준, 준비금, 최소액, 성숙, 보관, 출금과 풀 불이행 조건을 무시한다.
- 독립 수락, 전파, 정규 선택과 재구성 검토 전에 발견 블록을 최종으로 본다.
- 인증, 변경 통제와 사고 대응 없이 자격증명, 지급 주소 또는 원격 펌웨어를 재사용한다.
경제 및 보안 오류
- 가격, 난이도, 수수료, 전력, 냉각, 인건비, 감가상각, 금융과 세금 없이 총 BTC 기대값을 법정화폐 이익이라 부른다.
- 장비 효율, 사용률, 냉각, 장소, 시간과 에너지 구성 없이 해시레이트에서 전력·배출을 추론한다.
- 난이도가 해시레이트에 즉시 반응하거나 10분 블록이 일정대로 온다고 가정한다.
- 반감기가 가격 상승, 채굴자 항복 또는 보안 지출 유지를 보장한다고 주장한다.
- 과반 해시 파워가 서명을 위조하고 임의 코인을 탈취하거나 노드에 무효 인플레이션을 받게 한다고 주장한다.
- 높은 총 해시레이트를 풀, 제조사, 펌웨어, 지역, 에너지, 네트워크 또는 소프트웨어 집중이 없다는 증거로 삼는다.
흔한 오해
- 채굴자는 원하는 거래를 유효하다고 승인할 수 있다. 후보를 선택하고 정렬하지만 합의 위반 블록은 정직한 전체 노드가 거부한다.
- Nonce만 바꿀 수 있다. Extranonce는 코인베이스와 Merkle root를 바꾸며 시간과 허용된 버전 필드도 탐색 공간을 넓힌다.
- 풀 share는 블록의 일부다. 더 쉬운 풀 목표값을 만족한 작업 증거이며 대부분은 네트워크 목표값을 못 맞춰 블록이 되지 않는다.
- 예상 일수익은 보장 지급이다. 블록 발견은 무작위이며 지급 시점도 풀 계약, 성숙과 거래상대방 이행에 달렸다.
- 해시레이트가 많으면 자동으로 이익이 늘어난다. 점유율, 난이도, 수수료, 가격, 효율, 전력과 전체 비용이 결과를 정한다.
관련 주제
출처
- Blockchain Technology Overview - NIST (확인일: 2026-08-19)
- Bitcoin: A Peer-to-Peer Electronic Cash System - Bitcoin.org (확인일: 2026-08-19)
- Bitcoin Developer Guide: Mining - Bitcoin Project (확인일: 2026-08-19)
- Bitcoin Developer Guide: Block Chain - Bitcoin Project (확인일: 2026-08-19)
- Bitcoin Developer Reference: Block Chain - Bitcoin Project (확인일: 2026-08-19)
- Bitcoin Core: miner.cpp - Bitcoin Core (확인일: 2026-08-19)
- Bitcoin Core: pow.cpp - Bitcoin Core (확인일: 2026-08-19)
- BIP 22: getblocktemplate - Fundamentals - Bitcoin BIPs (확인일: 2026-08-19)