PoW출처에 근거한 답변

Bitcoin의 Proof of Work는 어떻게 작동할까?

해싱, 채굴 난이도, 그리고 Bitcoin에서 Proof of Work가 결정하는 범위의 정확한 한계.

Proof of Work는 유효한 블록의 순서를 정하는 비용이 드는 추첨입니다. 채굴자는 후보 블록 헤더를 반복해서 해싱하다가 현재 목표값 이하인 해시를 찾습니다. 노드는 결과를 적은 비용으로 검증하지만, 합의 규칙을 위반한 블록은 여전히 모두 거부합니다.

01

채굴은 탐색이며 유용한 방정식을 푸는 일이 아니다

이중 SHA-256은 블록 헤더를 예측할 수 없는 해시로 바꿉니다. 채굴자는 Nonce와 다른 입력을 바꿔 대규모로 시도를 반복합니다. 목표값이 낮을수록 조건을 만족하는 결과가 드물어지고 찾는 비용도 커집니다.

02

난이도가 대략적인 속도를 유지한다

노드는 2,016블록마다 이전 기간에 걸린 시간에 따라 목표값을 조정합니다. 따라서 Hashrate가 높아져도 발행 속도가 영구적으로 빨라지지는 않으며, 주로 다음 블록을 찾는 데 필요한 작업량이 늘어납니다.

03

작업은 유효한 이력의 순서를 정하고 노드는 유효성을 지킨다

누적 작업량이 가장 큰 체인은 경쟁하는 유효한 이력 중 하나를 노드가 객관적으로 선택하게 합니다. 하지만 채굴자가 추가 코인을 만들거나 서명 없이 지출하거나 다른 합의 규칙을 우회하도록 허용하지는 않습니다.

80바이트블록 헤더의 데이터
SHA-256²헤더 해싱
2,016조정 사이의 블록 수
약 10분목표 평균 간격
01

해시는 알려진 지름길이 없는 추첨권

80바이트 헤더는 이전 블록, 거래의 머클 루트, 시간, 목표값, Nonce에 연결됩니다. 이중 SHA-256은 각 후보를 예측할 수 없는 256비트 숫자로 바꿉니다. 채굴자는 Nonce, coinbase의 extra Nonce 또는 거래 순서를 바꾸고 다시 시도합니다. 실용적인 전략은 엄청난 횟수의 반복입니다.

02

목표값과 난이도는 같은 장벽을 나타낸다

헤더 해시의 수치가 현재 목표값 이하이면 블록은 이 검사를 통과합니다. 목표값이 낮으면 당첨 해시가 줄고 기대 작업량은 늘어납니다. 난이도는 Bitcoin에서 허용하는 가장 쉬운 목표값을 기준으로 이 장벽을 표현하며, Hashrate는 초당 시도 횟수를 추정합니다.

03

난이도 조정은 발행과 기계 수를 분리한다

노드는 2,016블록마다 이전 기간의 타임스탬프로 목표값을 다시 계산하며, 변경 폭에는 정해진 한계가 있습니다. 채굴자가 늘면 블록이 일시적으로 빨라지지만 다음 조정에서 난이도가 올라갑니다. 10분은 장기 목표이지 각 블록의 시간표가 아닙니다.

04

누적 작업량이 경쟁하는 유효한 이력을 가른다

노드는 잠시 두 개의 유효한 체인 끝을 볼 수 있습니다. 단순히 블록이 더 많은 체인이 아니라 누적 작업량이 가장 큰 유효한 체인을 따릅니다. 오래된 이력을 바꾸려면 그 작업을 다시 수행한 뒤 계속 성장하는 네트워크를 추월해야 하므로, 더 깊은 확인을 뒤집는 비용은 점점 커집니다.

05

다수 공격은 강력하지만 전능하지 않다

지속해서 우세한 Hashrate는 최근 블록을 재구성하거나 거래를 검열하거나 공격자 자신의 최근 지급을 이중 지불할 수 있습니다. 다른 사용자의 서명을 위조하거나 임의의 UTXO를 쓰거나 허용된 블록 발행 보조금을 높이거나 검증 노드가 무효 블록을 받아들이게 할 수는 없습니다.

06

에너지는 보안의 대가이자 실제 상충 관계다

Proof of Work는 전력, 하드웨어, 가동 시간을 외부에서도 비용이 드는 신호로 바꿉니다. 이력 변경을 비싸게 만들지만 에너지 소비와 지역에 미치는 영향은 실제 비용입니다. 의미 있는 평가는 총소비량, 에너지원, 전력망 영향, 얻는 보안을 구분합니다. 전체 소비량을 하루 거래 수로 나누면 전체 원장 이력을 계속 보호하는 시스템의 성격을 왜곡합니다.

Proof of Work는 모든 거래가 정직하거나 합법적임을 증명하지 않습니다. 후보 이력에 계산이 투입됐음을 보여 줄 뿐이며, 그 이력이 프로토콜을 따르는지는 완전한 검증을 거쳐야 판단할 수 있습니다.

01채굴은 유용한 과학 문제를 푸는가?

직접적인 산출물은 특정 블록 헤더에 묶인, 쉽게 검증할 수 있는 증거입니다. 작업을 다른 과제에 자유롭게 재사용하면 이 결합이 약해지거나 지름길이 생길 수 있습니다.

02Hashrate가 높아지면 bitcoin이 더 만들어지는가?

난이도 조정 사이에 일시적으로 블록이 더 빨리 도착할 수 있을 뿐입니다. 난이도를 다시 계산하면 장기 발행 속도는 일정으로 돌아갑니다.

03가장 긴 체인이 항상 옳은가?

노드는 먼저 모든 블록의 유효성을 요구한 다음 누적 작업량을 비교합니다. 무효 체인은 주장하는 길이와 관계없이 거부합니다.

04Hashrate의 51%로 모든 코인을 훔칠 수 있는가?

아닙니다. 순서와 최근 결제를 공격할 수는 있지만 통제하지 않는 키의 유효한 서명을 만들 수는 없습니다.

PoWProof of Work프로토콜 ↗HASH비트코인 채굴네트워크 ↗2016난이도 조정프로토콜 ↗HDR블록 헤더프로토콜 ↗H/sHashrate네트워크 ↗NODEFull Node네트워크 ↗