알아보기 · Bitcoin 작동 방식

작업 증명(PoW)이란?

CloudMineCrypto 팀 작성업데이트 읽는 데 9분

짧은 답

작업 증명은 비트코인에서 다음 블록을 추가할 채굴자를 정하는 방식입니다: 채굴자는 블록을 받아들이기 전에 충분히 희귀한 해시를 찾아 실제 연산 작업을 수행했음을 증명해야 합니다. 채굴자는 80바이트 블록 헤더를 SHA-256로 두 번 해시하면서, 논스라는 숫자를 매번 바꿔 해시값이 목표값보다 작아질 때까지 시도합니다. 이 값을 찾으려면 수조 번 추측해야 하지만, 확인은 해시 한 번이면 됩니다. 따라서 과거 기록을 바꾸려면 그 모든 작업을 다시 해야 합니다.

핵심 요약

  • 유효한 블록은 헤더의 SHA-256 이중 해시값이 목표값보다 작은 블록입니다. 이 값은 앞자리에 0이 표시됩니다.
  • 추측하는 수밖에 없습니다. 문자 하나만 바뀌어도 해시 비트의 절반가량이 뒤집힙니다.
  • 노드는 총 작업량이 가장 많은 체인을 따릅니다. 따라서 공격자는 전체 해시레이트의 대부분을 차지해야 합니다.
  • 전기는 부수적인 비용이 아닙니다. 비트코인의 역사를 다시 쓰는 데 큰 비용이 들게 하는 요소입니다.

직접 해시 계산하기 · 실제 블록 헤더

블록을 수정해 보세요. 입력하는 대로 이중 SHA-256 값이 업데이트됩니다.

  1. 버전4바이트

    20000000

  2. 이전 블록 해시32바이트

    000000000019d6689c085ae165831e934ff763ae46a2a6c172b3f1b60a8ce26f

  3. 머클 루트32바이트

    3526fd3f26cb386534c88c5455a8465f971578b7d9fb64b8a342ad0e99e4280e

    위 거래의 지문입니다. 입력해서 바꿔 보세요.

  4. 시간4바이트

    2026-09-26 12:00 UTC

  5. 타깃(비트)4바이트
    1f00ffff · 0이 4개
  6. 논스4바이트

블록 해시 · SHA-256 두 번

✓ 타깃보다 낮음: 유효한 블록

0000470da4a7ab0614c83d2181b1ef1c294e53f49cde408a8c9a08592bca6e17

목표값 0000ffff00000000000000000000000000000000000000000000000000000000

4개의 앞쪽 0, 타깃에는 4이 필요

브라우저는 채굴자처럼 논스를 하나씩 바꿔 가며 시도합니다.

눈사태 효과 · 마지막 수정으로 바뀐 비트 수

122 / 256(48%)

문자 하나를 바꾸면 256비트 중 절반가량이 무작위로 바뀝니다. 해시를 원하는 방향으로 조정할 방법은 없어서 채굴자는 추측만 할 수 있습니다.

해시 대상인 80바이트

000000206fe28c0ab6f1b372c1a6a246ae63f74f931e8365e15a089c68d61900000000000e28e4990ead42a3b864fbd9b77815975f46a855548cc8346538cb263ffd2635c0b3b76affff001f96060000

숫자는 리틀엔디언으로 저장하고 해시는 바이트 순서를 뒤집습니다. Bitcoin과 정확히 같은 방식입니다. 오늘날 실제 블록에는 앞에 0이 약 20개 필요합니다(실시간 네트워크 해시레이트를 바탕으로 한 추정치).

작업증명은 뭐야?

정의 · 작업 증명(PoW)

블록 헤더의 해시값이 타깃보다 작다는 것을 가장 먼저 찾아낸 사람에게 블록을 추가할 권리를 주는 시스템입니다. 값을 찾으려면 엄청나게 많이 추측해야 하지만, 확인은 해시 한 번이면 됩니다.

사토시 나카모토는 Adam Back의 Hashcash를 바탕으로 2008년 비트코인 백서에서 이를 설명했습니다. Hashcash는 이메일 스팸 발송에 비용을 들게 하려는 오래된 아이디어입니다. 유효한 해시가 작업을 증명합니다. 작업 없이는 유효한 해시를 만들 수 없고, 누구나 작업이 이뤄졌는지 확인할 수 있습니다.

이 페이지의 나머지 부분에서는 각 요소를 하나씩 살펴봅니다. 위 상자에서 직접 시도해 볼 수도 있어요. 실제 Bitcoin 헤더 형식을 브라우저에서 실시간으로 해시합니다. 채굴을 더 폭넓게 알아보려면 Bitcoin 채굴 완벽 가이드를 확인하세요.

작업 증명은 어떤 문제를 해결하나요?

비트코인을 관리하는 회사나 은행, 서버는 없습니다. 수천 대의 컴퓨터가 각자 원장 사본을 보관하고, 다음 블록이 무엇인지와 결제가 어떤 순서로 이루어졌는지 합의해야 합니다. 그렇지 않으면 누군가 같은 코인을 두 번 쓸 수 있습니다.

온라인에서는 누구나 가짜 컴퓨터를 천 대 만들어 천 번 투표할 수 있으므로 단순한 투표 방식은 통하지 않습니다. 이를 시빌 공격이라고 합니다. 작업 증명은 이 문제를 우회합니다. 발언권은 해시 수로 측정되고, 해시를 계산하려면 전기와 하드웨어가 필요합니다.

다음 블록을 결정하는 데 누가 참여하나요?

노드당 한 표

공격자 한 명이 가짜 노드 60개를 공짜로 만들면 정직한 노드 12개보다 더 많은 표를 얻습니다.

해시당 한 표

정직한 채굴자 88%공격자 12%

같은 60개 노드가 공격자의 실제 하드웨어를 공유하므로, 모두 합쳐도 비중은 12%입니다. 복제는 공짜지만 해시는 그렇지 않죠.

시빌 공격은 여러 신원을 꾸며 내는 공격입니다. 작업 증명은 신원은 무시하고 실제로 수행한 작업만 계산하며, 여기에는 실제 비용이 듭니다.

비트코인 블록 헤더에는 무엇이 들어 있나요?

채굴자는 블록 전체를 해시하지 않습니다. 나머지 모든 내용을 요약해 담은 80바이트 헤더를 해시합니다. 위쪽 상자에서 수정한 여섯 필드는 다음과 같습니다.

필드바이트포함된 내용누가 바꾸나요
버전4블록이 따르는 규칙거의 바뀌지 않음
이전 블록 해시32체인을 연결하는 이전 블록의 해시블록이 바뀔 때마다 새로 생성
머클 루트32블록의 모든 거래를 요약한 하나의 지문채굴자, 거래나 추가 논스가 바뀔 때
시간4채굴자가 블록 생성 시각으로 기록한 시간(유닉스 시간)채굴자, 한도 내에서
비트44바이트에 담긴 타깃네트워크는 2,016개 블록마다
논스4다시 시도할 때 쓸 수 있는 무료 숫자채굴자, 추측할 때마다

헤더에는 이전 블록의 해시가 들어 있으므로, 오래된 블록을 바꾸면 해시가 달라집니다. 그러면 다음 헤더와 그다음 헤더도 유효하지 않게 됩니다. 이 페이지를 만들 때 서버에서 히어로에 쓰인 것과 같은 코드로 2009의 실제 제네시스 블록을 확인했습니다:

SHA-256(SHA-256(genesis header)) =
000000000019d6689c085ae165831e934ff763ae46a2a6c172b3f1b60a8ce26f
비트코인의 첫 블록입니다. 버전은 1, 논스는 2,083,236,893입니다. 해시는 0이 10개로 시작하며, 모든 비트코인 노드가 알고 있는 값과 일치합니다.

Bitcoin에서 SHA-256은 어떻게 작동하나요?

SHA-256는 어떤 입력이든 256비트 숫자로 바꿉니다. 이 숫자는 16진수 64자리로 표시됩니다. 비트코인은 블록 헤더에 이 연산을 두 번 적용합니다. 이를 SHA-256d라고 부릅니다. 채굴에서 중요한 특성은 간단합니다.

입력이 같으면 출력도 같음

결정론적

어떤 컴퓨터에서 계산하든 같은 헤더는 항상 같은 해시를 만듭니다. 그래서 검증할 수 있죠.

256비트

고정 크기

짧은 한 줄이든 책 한 권이든, 해시는 항상 16진수 문자 64개입니다.

단방향

되돌아가는 지름길은 없음

원하는 해시를 만드는 입력값을 계산해 낼 수는 없습니다. 입력값을 하나씩 시도할 수밖에 없습니다.

≈ 50%

눈사태 효과

문자 하나를 바꾸면 비트의 약 절반이 뒤집힙니다. 상단의 격자를 확인해 보세요.

이 마지막 특성이 작업 증명의 핵심입니다. 타깃에 가까운 해시라고 해서 다음 추측을 알 수 있는 건 아니므로, 유효한 블록을 찾는 지름길은 없습니다. 모든 채굴자가 같은 복권에 참여하며, 초당 해시 수가 많을수록 더 많은 복권을 사는 셈입니다.

타깃이 뭐고, 앞에 0이 많이 붙는 이유는 뭐야?

타깃은 256비트 숫자입니다. 해시를 숫자로 읽었을 때 타깃 이하이면 블록이 유효합니다. 작은 숫자는 앞자리가 0이므로 타깃이 낮을수록 앞에 0이 더 많이 붙습니다. 16진수 0이 하나 늘 때마다 평균적으로 추측 횟수는 16배가 됩니다.

유효한 블록 하나를 찾는 데 필요한 평균 해시 수

  • 히어로 영역의 예시 블록 · 앞자리 16진수 0 4개65,536
  • 비트코인의 가장 쉬운 목표값 (2009) · 앞자리 16진수 0 8개, 비트 1d00ffff4,294,967,296
  • 오늘날 비트코인 블록 · 앞쪽 0이 약 20개(실시간 추정치)5.1 × 1023
막대는 로그 척도를 사용합니다. 0이 하나 늘 때마다 평균적으로 작업량이 16배가 됩니다. 실시간 행은 네트워크 해시레이트에 600초를 곱해 계산한 추정치이며, 매시간 업데이트됩니다.

네트워크는 블록 2,016개마다, 약 2주에 한 번 타깃을 조정합니다. 덕분에 해시레이트가 늘거나 줄어도 블록은 약 10분마다 생성됩니다. 현재 네트워크의 해시레이트는 약 858 EH/s입니다. 실시간 수치이며 매시간 업데이트됩니다. 조정 방식은 비트코인 채굴 난이도 가이드에서, 단위는 해시레이트 설명에서 확인할 수 있습니다.

논스와 엑스트라 논스란?

논스(“한 번만 사용하는 숫자”)는 채굴자가 매번 추측할 때 바꾸는 4바이트 필드입니다. 바꾸기 위해 있는 유일한 필드죠. 문제는 4바이트로 만들 수 있는 값이 약 4.3억 개뿐이라 최신 장비는 거의 즉시 전부 시도한다는 점입니다.

채굴자의 반복 작업

  1. 01

    모든 논스 시도

    0, 1, 2부터 4,294,967,295까지. 4바이트로 표현할 수 있는 모든 값입니다.

  2. 02

    빠르게 소진됨

    100 TH/s 장비 한 대는 이 모든 경우를 약 43마이크로초 만에 시도합니다.

  3. 03

    추가 논스 변경

    채굴자는 자신의 보상 거래인 코인베이스의 여유 필드를 수정합니다.

  4. 04

    새 머클 루트

    거래가 바뀌면 머클 루트도 바뀌므로, 모든 논스에서 새로운 해시를 다시 얻습니다.

그런 다음 1단계로 돌아갑니다. 채굴자는 타임스탬프도 조금 조정할 수 있고, 그러면 헤더도 바뀝니다.

그래서 채굴자들은 추가 논스도 바꿉니다. 채굴자에게 보상을 지급하는 블록의 첫 거래인 코인베이스에 남겨 둔 몇 바이트입니다. 코인베이스가 바뀌면 머클 루트도 바뀌고, 그에 따라 새 논스를 수십억 개 더 시도할 수 있습니다. 채굴 풀에서는 각 채굴자에게 서로 다른 추가 논스 범위를 할당해 다른 채굴자가 한 작업을 반복하지 않도록 합니다.

블록을 찾는 데는 왜 많은 비용이 들지만 검증은 왜 간단한가요?

블록을 찾으려면

≈ 5.1 × 1023 해시

전체 네트워크의 모든 장비가 약 10분 동안 추측한 결과입니다.

실시간 추정치, 매시간 업데이트됩니다.

검증하려면

1 해시

저렴한 노트북을 포함한 모든 노드는 80바이트 헤더를 한 번 해시한 뒤 목표값과 비교합니다. 이 작업은 1밀리초도 걸리지 않습니다.

채굴자는 타깃보다 작은 해시가 나올 때까지 계속 해시를 시도해야 합니다. 다른 사람들은 블록 헤더를 한 번만 해시한 뒤 결과를 비교하면 됩니다. 이처럼 작업 비용이 크게 차이 나기 때문에 수많은 일반 컴퓨터가 블록을 만든 채굴자를 신뢰하지 않고도 체인을 검증할 수 있습니다.

아래에서 직접 검색해 보세요. 이 데모는 히어로보다 단순한 블록 형식을 쓰지만, 같은 이중 SHA-256 복권 방식이며 찾은 블록은 각각 직전 블록으로 연결됩니다.

인터랙티브 · 브라우저에서 블록 채굴해 보기

실제 SHA-256d 작업 증명, 단순화한 헤더

블록 #1이전 해시0000000000000000000000000000000000000000000000000000000000000000논스0

블록 해시(이중 SHA-256)

거래 내용을 고치면 해시가 완전히 바뀌어. 글자 하나만 달라도 그래.

시도 횟수: 0

네 해시레이트: 해당 없음

시간: 0.0 s

최장 체인 규칙이란? 51% 공격이란?

두 채굴자가 거의 동시에 블록을 찾으면 네트워크에 잠시 두 가지 버전이 생길 수 있습니다. 노드는 누적 작업량이 더 많은 체인을 따릅니다. 흔히 가장 긴 체인이라고 하지만, 실제로는 가장 무거운 체인입니다. 난이도가 높은 블록 몇 개가 난이도가 낮은 블록 여러 개보다 더 큰 누적 작업량을 가질 수 있습니다.

결제를 되돌리려면 공격자는 해당 결제 이전부터 시작해 모두의 체인보다 더 무거운 체인을 만들어야 합니다. 위에 새 블록이 하나씩 쌓일 때마다(확인 횟수가 늘 때마다) 공격자는 더 뒤처집니다. 이 확률은 백서에서 계산했습니다. 슬라이더를 움직여 확인해 보세요.

인터랙티브 · 공격자가 따라잡을 수 있을까?

비트코인 백서 11절의 공식

  • 0
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10

공격자가 뒤처진 블록 수(확인 수). 막대는 로그 척도를 사용하며, 확률은 백만 분의 1부터 확실한 수준까지 표시합니다.

해시레이트가 10%일 때 6회 확인 후 결제를 되돌릴 확률은 0.024%이고, 확인 1회 후에는 20.5%입니다.

해시레이트가 50% 이상이면 공격자는 결국 성공합니다. 이것이 51% 공격입니다. 심각한 위협이지만 한계가 있습니다:

해시레이트의 대부분을 가진 공격자는 다음을 할 수 있습니다

  • 자신의 체인으로 최근 블록 대체하기
  • 자신에게 보낸 코인을 이중 지불
  • 블록에 일부 거래를 포함하지 않기

그때도 할 수 없는 일

  • 다른 사람의 지갑에서 코인 사용하기
  • 블록 보상 외에 코인 생성
  • 다른 모든 사람에게 적용되는 비트코인 규칙을 바꾸기

그래서 거래소는 큰 금액을 입금할 때 확인이 여러 번 이뤄질 때까지 기다립니다. 보통 6회를 기준으로 삼습니다.

작업 증명에는 왜 에너지가 많이 드나요?

에너지가 곧 보안이기 때문입니다. 유효한 블록은 실제로 전력을 사용했다는 증거입니다. 기록을 바꾸려면 공격자는 최소한 같은 양의 전력을 더 써야 하고, 정직한 네트워크가 계속 진행되는 동안에도 전력을 계속 써야 합니다.

에너지는 어디에 쓰이고, 무엇을 얻나요?

  1. 블록 보상 및 수수료

    블록을 찾은 사람에게 새 BTC와 수수료가 지급됩니다.

  2. 장비와 전기

    채굴자는 보상이 자신에게 가치 있는 만큼까지 비용을 들입니다.

  3. 네트워크 해시레이트

    이렇게 쓴 연산 자원은 초당 해시 수로 나타납니다.

  4. 기록을 다시 쓰는 데 드는 비용

    공격자는 블록을 만들 때마다 이 모든 연산 자원을 넘어설 만큼 써야 합니다.

순환 관계로 보면 됩니다. 보상의 가치가 높을수록 더 많은 해시레이트가 모이고, 공격 비용도 커집니다.

전력 사용량과 전력의 출처는 충분히 논의할 만한 주제입니다. 케임브리지 지수는 추정치를 추적하고, Bitcoin 채굴 에너지 가이드에서는 수치를 살펴봅니다. 반감기가 일어날 때마다 보상 중 새로 발행되는 코인의 몫이 줄어들기 때문에, 시간이 갈수록 수수료가 보안 비용에서 더 큰 몫을 부담해야 합니다.

작업증명과 지분증명은 어떻게 다를까요?

지분증명(PoS)은 전기를 쓰는 사람 대신 코인을 예치해 묶어 둔 사람 중에서 다음 블록 생성자를 선택합니다. Ethereum은 2022에 작업증명에서 지분증명으로 전환했습니다. 두 방식을 공정하게 비교해 보겠습니다.

작업증명지분증명
다음 블록을 추가하는 사람타깃보다 작은 해시를 가장 먼저 찾은 채굴자지분에 비례해 선정된 검증자
무엇이 보안을 지키나요블록체인 외부에서 소비되는 전력과 하드웨어블록체인 안에 묶여 있고 부정행위 시 빼앗길 수 있는 코인
에너지 사용량설계상 높게 설정됨낮음
참여하려면장비와 저렴한 전력스테이킹할 코인
확정확정이 쌓일수록 더 안전해집니다명시적 최종성 체크포인트
주요 비판에너지 사용량과 채굴 집중도지분 집중과 더 복잡한 설계
기록2009 이후의 비트코인이더리움, 2022 이후

비트코인 개발자들은 작업 증명을 유지해 왔습니다. 그 비용은 시스템 밖에서 발생하므로, 보유한 코인으로 통제권을 살 수 없기 때문입니다. 지분 증명 지지자들은 에너지를 아끼고 거래를 더 빨리 최종 확정할 수 있다고 주장합니다.

Can you get mining rewards without running proof of work yourself?

Yes. With CloudMineCrypto you mine bitcoin for free from your phone or browser, with no hardware, noise or power bill. Claim the free 8-hour plan, and add more free plans by watching ads, playing games, completing offers and checking in daily. Your estimated BTC ticks up while your plans run, and you withdraw to your own wallet, Lightning included.

Each plan has a hashrate, and your estimate is that hashrate’s share of the whole network, times 6 blocks an hour, times the block reward. That’s the formula the app uses to estimate your rewards (rules and limits apply). Want more speed? Paid plans are an optional boost for fun. They usually mine less than they cost, and the price is shown before you confirm.

참고: 보상은 추정치이며 네트워크 상황에 따라 달라지고 보장되지 않습니다. 플랜을 이용해도 어떤 장비나 채굴 풀의 소유권이 생기지는 않습니다. 출금에는 한도나 인증이 적용될 수 있습니다. 자세한 내용은 보상 규칙과 무료 비트코인 채굴 가이드를 확인해 보세요. 조건이 적용됩니다.

자주 묻는 질문

간단히 말해 작업 증명이란?

블록을 추가하는 데 실제 노력이 들게 하는 방식입니다. 채굴자는 블록 헤더를 반복해서 해시하고, 논스라는 숫자를 바꿔 가며 결과가 목표값보다 낮아질 때까지 시도합니다. 그런 해시를 찾으려면 엄청나게 많이 추측해야 하지만, 누구나 해시 한 번으로 확인할 수 있습니다.

비트코인에서 논스(nonce)란?

블록 헤더에 있는 4바이트 숫자로, 채굴자는 시도할 때마다 이 값을 바꿉니다. 가능한 값은 약 4.30억 가지입니다. 값을 모두 쓰면 채굴자는 코인베이스 트랜잭션 안의 추가 논스를 바꿉니다. 그러면 새로운 머클 루트가 만들어지고 해시를 새로 시도할 수 있습니다.

비트코인은 왜 SHA-256를 두 번 사용하나요?

비트코인은 80바이트 헤더를 SHA-256로 해시한 다음, 그 결과를 다시 해시합니다. 사토시는 왜 이렇게 했는지 설명하지 않았습니다. 일반적으로는 길이 확장 공격을 막고 안전성을 한층 높이기 위한 것으로 봅니다.

51% 공격으로 무엇을 할 수 있나요?

해시레이트의 과반을 가진 사람은 비공개로 더 긴 체인을 만든 뒤 최근 블록을 대체할 수 있습니다. 이렇게 하면 자신이 가진 코인을 이중 지불하거나 일부 거래를 막을 수 있습니다. 다른 사람의 코인을 쓰거나, 규칙보다 많은 코인을 만들거나, 모두에게 적용되는 규칙을 바꿀 수는 없습니다.

지분 증명이 작업 증명보다 나을까요?

에너지를 훨씬 적게 사용하고, 보안은 지분으로 묶어 둔 코인에서 나옵니다. 작업 증명은 보안을 전기와 하드웨어라는 외부 비용에 연결하며, 2009년부터 Bitcoin을 뒷받침해 왔습니다. 두 방식은 서로 다른 장단점이 있으므로 어느 쪽이 나은지는 무엇을 중요하게 생각하는지에 따라 달라집니다.

Can I get bitcoin mining rewards without my own hardware?

Yes. In the CloudMineCrypto app you claim free mining plans (the free plan, ads, games, offers and a daily check-in) and your estimated BTC ticks up while they run, then you withdraw to your own wallet. Rewards are estimates based on your plan’s hashrate and live network data, they aren’t guaranteed, and a plan doesn’t give ownership of any hardware.

출처와 추가 자료

  1. Bitcoin: A Peer-to-Peer Electronic Cash System(백서) · 사토시 나카모토, bitcoin.org
  2. 블록체인 가이드: 블록 헤더, 작업 증명, 코인베이스 · Bitcoin 개발자 문서
  3. 채굴 가이드: 솔로 채굴, 채굴 풀, getblocktemplate · Bitcoin 개발자 문서
  4. 난이도 · Bitcoin Wiki
  5. 컨펌 · Bitcoin Wiki
  6. 케임브리지 Bitcoin 전력 소비 지수 · Cambridge Centre for Alternative Finance
  7. 채굴 대시보드: 해시레이트, 난이도, 최근 블록 · mempool.space

이 페이지의 실시간 수치는 CloudMineCrypto API 또는 옆에 표시된 공개 블록체인 데이터 서비스에서 가져옵니다. 정해진 주기에 따라 새로고침되며, 각 수치 옆에 출처가 표시됩니다. 이 가이드는 교육용이며 금융 조언이 아닙니다. CloudMineCrypto는 투자 상품이 아닙니다. 앱의 보상은 추정치이며 보장되지 않습니다.

어떻게 돌아가는지 읽었지. 이제 실제로 돌아가는 걸 봐.

CloudMineCrypto 앱에서 무료 8시간 채굴 플랜을 받고, 실시간 네트워크 데이터로 계산된 예상 BTC가 조금씩 올라가는 걸 확인해봐. 하드웨어도, 카드도 필요 없어.