48 / 736POOL

Mining Pool

채굴 풀

Mining Pool은 여러 채굴자의 작업을 모아, 각자 블록을 찾을 때까지 기다리는 대신 작은 보상을 꾸준히 받도록 합니다. 무엇에 대해 돈을 받는지, 미지급 잔액을 누가 보관하는지, 거래는 누가 고르는지 알아야 합니다.

Mining Pool은 여러 채굴자의 작업을 조율하고 정해진 규칙으로 수익을 나누는 서비스입니다. 자기 장비가 블록을 찾기 전에도 수입을 얻을 수 있습니다. 풀은 Bitcoin의 난이도를 낮추거나 이익을 보장하지 않습니다. 주로 달라지는 것은 작업량을 재고 보상을 지급하는 방식입니다.

Mining: 운영 결과 모델입력한 해시레이트, 소비전력, 풀 수수료로 예상 블록 보조금 몫과 전기요금을 비교합니다.

안나는 채굴기 한 대를 가지고 있습니다. 전기료는 매일 나가지만, 혼자 채굴하면 자기 블록을 찾기까지 아주 오래 기다릴 수 있습니다. 네트워크가 받아들이는 블록을 찾으면 그 보상을 받지만, 그전까지는 이 채굴로 버는 돈이 없습니다. 오래 기다렸다고 성공이 가까워지는 것도 아닙니다. 조건이 같다면 다음 시도의 성공 확률도 같습니다. 풀에서는 안나의 장비가 다른 장비들과 함께 일합니다. 풀은 기여도를 측정하고 약속한 보상 모델을 적용하므로, 특정 블록을 직접 찾지 않은 채굴자에게도 지급할 수 있습니다. 안나는 자기 블록의 수익 전부를 차지하는 대신 더 작고 대체로 규칙적인 수입을 선택합니다. 네트워크 난이도가 낮아지거나 보상이 더 생기는 것은 아닙니다. 풀은 보통 수수료도 받습니다. 수입으로 전기와 장비 비용을 충당할 수 있는지는 별개의 문제입니다. [6] [7]

풀은 안나 장비의 모든 계산을 볼 수 없습니다. 그래도 실제로 작동하는지 확인하고 기여도를 추정해야 합니다. 그래서 Bitcoin 네트워크보다 쉬운 조건을 정합니다. 이 조건을 충족한 결과가 Mining Share, 줄여서 share입니다. 장비는 블록을 찾지 못했어도 검증 가능한 결과를 주기적으로 보낼 수 있습니다. 풀은 받아들인 shares와 그 난이도로 작업량을 통계적으로 추정합니다. 모든 시도를 정확히 세는 것은 아닙니다. 두 장비의 share 난이도가 다르면 제출 횟수만 직접 비교할 수 없습니다. 일반적인 share는 Bitcoin 블록이나 결제 확인을 만들지 않습니다. 드물게 네트워크 조건까지 만족한 결과가 나오면 블록을 제출할 수 있고, 이 블록은 다른 검사도 통과해야 합니다. Share는 풀에 작업을 증명하는 결과이지, 장비가 방금 만들어 낸 비트코인 조각이 아닙니다. [7] [9]

안나는 같은 장비를 다른 풀에 연결했을 때 보상 흐름이 달라지는 것을 볼 수 있습니다. 계산 모델이 그 이유 중 하나입니다. PPS, Pay Per Share는 수락한 share마다 난이도에 따라 미리 정한 기대값을 적립합니다. 풀에 운 좋게 블록이 발견될 때까지 안나가 기다릴 필요가 없습니다. 발견 횟수의 무작위 변동 위험은 운영자가 부담합니다. 그렇다고 운영자의 지급 능력이나 고정 시급을 보장하지는 않습니다. Share 수와 채굴 조건은 계속 변합니다. FPPS, Full Pay Per Share는 새로 발행되는 비트코인의 기대 몫에 보통 거래 수수료 추정액을 더합니다. 반면 PPLNS, Pay Per Last N Shares는 실제로 발견한 블록의 수익을 정해진 최근 작업 구간의 기여도에 따라 나눕니다. 따라서 풀의 운이 보상에 더 큰 영향을 줍니다. 이 구간은 풀의 규칙으로 정하며, 단순히 지난 한 시간을 뜻하지는 않습니다. 약어만 보고 비교하면 부족합니다. 수수료, 추정 방식, 구간 크기, 주된 이력에서 빠진 Stale Block의 처리도 중요합니다. 보상 모델은 받을 권리와 계산법을 정하고, 지갑으로 송금하는 일정은 별도 규칙으로 정합니다. [7] [8]

안나는 계정 잔액이 늘어나는 것을 봅니다. 하지만 자기 지갑에 도착하기 전에는 풀이 정확히 기록하고 지급해 줄 것이라고 믿어야 합니다. 지급일, 최소 지급액 여부, 수수료와 수령 주소를 알아야 합니다. 서비스마다 규칙이 다르며, 자동 적립이 즉시 송금을 뜻하지는 않습니다. 운영 상태도 확인해야 합니다. 수락·거절된 shares, Share Difficulty라는 난이도, 서버 가용성과 예비 연결 등이 해당합니다. Firmware는 채굴기를 제어하는 소프트웨어이며 풀과 호환되어야 합니다. 충분한 기간의 풀 기록을 자신의 가동 기록과 실제 입금 내역과 비교하면 차이를 찾는 데 도움이 됩니다. 발견한 블록은 블록체인에서 확인할 수 있지만, 풀의 내부 회계 전체가 드러나는 것은 아닙니다. 풀을 바꿀 수 있는지, 거래를 누가 고르는지도 중요합니다. [8] [9]

결과가 도착하기 전에 작업이 바뀌면 풀이 더 이상 인정하지 않을 수 있습니다. 여기서 지연 시간은 장비와 풀 사이의 통신 지체를 뜻합니다. Share는 오래되었거나(stale), 중복되거나, 형식이 잘못되었거나, 할당한 작업과 맞지 않아 거부될 수 있습니다. 채굴자와 풀 사이의 높은 지연, 느린 작업 갱신과 네트워크 장애는 낭비되는 작업을 늘립니다. Stale shares 비율은 채굴자와 풀 연결의 운영 효율을 나타내며, 블록체인의 Stale Block과는 다릅니다. [9]

블록 보상은 Coinbase Transaction이라는 특별한 첫 거래에 기록됩니다. 그 출력에는 금액과 나중에 그 자금을 쓸 수 있는 조건이 정해져 있습니다. 따라서 보상은 한 명 또는 여러 수령인에게 배정될 수 있습니다. Block Template은 선택한 거래가 포함된 블록 초안입니다. 일반적인 풀에서는 운영자가 보통 Block Template을 만들고 coinbase 출력의 수령인도 결정합니다. 채굴자는 주로 할당된 작업 안에서 여러 값을 시도하며 네트워크 조건에 맞는 결과를 찾습니다. 풀은 거래 선택에 영향을 줄 수 있지만 유효하지 않은 블록을 강제로 수용시킬 수는 없습니다. 각 Full Node가 블록을 독립적으로 검증합니다. Full Node는 비트코인 규칙에 따라 블록과 거래를 검증하는 프로그램입니다. [6] [10]

지급액뿐 아니라 어떤 결제를 블록에 넣을지 누가 결정하는지도 중요합니다. 특정 거래를 제외하면 확인이 늦어질 수 있습니다. 풀 집중이 중요한 이유는 소수의 조정자가 거래 포함, 소프트웨어 도입 및 단기 Hashrate 분포에 영향을 줄 수 있기 때문입니다. Hashrate는 초당 수행하는 채굴 계산 횟수입니다. 풀의 Hashrate는 채굴 장비 소유권과 같지 않습니다. 채굴 전용 장비인 ASIC의 운영자는 접속 대상을 다른 풀로 바꿀 수 있습니다. 풀 변경 비용, 계약이나 펌웨어가 이 능력을 제한하면 위험이 커집니다. [6] [10]

Stratum은 채굴기와 풀 사이의 통신 규칙입니다. 암호화는 전송 메시지를 보호하고, 인증은 통신 상대를 확인하는 데 도움이 됩니다. Stratum V1은 채굴 작업을 할당하며 템플릿 관리 권한은 보통 풀에 남습니다. Stratum V2는 역할을 더 명확히 나누고 암호화되고 인증된 통신을 지원합니다. 선택 사항인 Job Declaration Protocol은 채굴자와 풀이 필요한 구성 요소를 모두 지원할 때 채굴자가 직접 고른 거래로 만든 템플릿을 제출하게 해 줍니다. Stratum V2의 Mining Protocol은 이 기능 없이도 실행되므로 Stratum V2라는 표시만으로 독립적인 거래 선택이 보장되지는 않습니다. [10]

기술을 더 알고 싶다면, Block Template은 블록 내용의 초안입니다. Worker는 연결된 채굴기나 그 작업을 기록하는 계정을 뜻하며, 헤더는 블록의 주요 정보를 짧게 모은 데이터입니다. 채굴 작업은 Block Template 또는 이와 동등한 후보 블록 구성에서 나옵니다. BIP22는 getblocktemplate을, BIP23은 풀 채굴용 확장을 설명합니다. 풀 프로토콜은 필요한 필드, coinbase 거래 데이터와 탐색 공간을 워커에게 전달합니다. ASIC Miner는 여러 헤더를 시도하며 숫자로 된 지문에 해당하는 해시를 계산합니다. 계산 작업을 했다는 증거인 Proof of Work를 충족하려면 이 해시가 네트워크에서 정한 target이라는 기준값 이하여야 합니다. 블록은 비트코인의 다른 규칙도 만족해야 합니다. [1] [2] [5]

기술적으로 target은 계산 결과인 해시가 넘지 않아야 하는 수치 한계입니다. 같은 값도 조건을 충족합니다. VarDiff는 share 난이도를 조절한다는 뜻입니다. 풀은 측정에 충분한 빈도로 결과를 받기 위해 더 쉬운 share 목표를 설정합니다. Bitcoin 네트워크 목표는 충족하기 훨씬 어렵습니다. 풀 목표만 충족한 share는 수락된 뒤 풀의 보상 규칙에 따라 계산에 반영됩니다. 같은 해시가 네트워크 목표도 충족하면 후보 블록을 제출할 수 있습니다. VarDiff는 share 난이도와 그에 따른 제출 빈도를 바꾸며 Bitcoin의 합의 Difficulty를 바꾸지 않습니다. [9]

더 정확히 이해하려면 이 항목과 함께 다음도 읽어 보세요 채굴, Hashrate, Braiins Pool, Stratum V2, Mining Share, Pay Per Share. 다음 항목에서도 이 글을 참조합니다 코인베이스 트랜잭션, ASIC Miner, Hashrate, Nonce.

DOC · 001BIP 22 — getblocktemplate명세 DOC · 002BIP 23 — getblocktemplate pooled mining명세 DOC · 003Stratum V2 specification명세 DOC · 004Stratum V2 website and protocol overview문서 DOC · 005Bitcoin Core mining RPC — getblocktemplate문서 DOC · 006Bitcoin Developer Guide — Mining문서 DOC · 007Meni Rosenfeld — Analysis of Bitcoin Pooled Mining Reward Systems합법적 무료판 DOC · 008Braiins Academy — Rewards and Payouts문서 DOC · 009Stratum V2 — Mining Protocol명세 DOC · 010Stratum V2 — Protocol Overview명세
개정일: 1차 출처 우선 · 투자 조언이 아닙니다