작업증명
작업증명은 답을 찾는 데는 많은 계산이 필요하지만 정답 여부는 빠르게 확인할 수 있는 문제를 풀었다는 증거입니다. 영어로는 Proof of Work이며, 실제로 계산 작업을 수행했다는 뜻을 담고 있습니다.
핵심은 “풀기는 어렵고 확인은 쉽다”는 비대칭입니다. 이 성질은 기록을 관리하는 주인이 없는 비트코인 네트워크에서 다음 블록을 누가 만들지 정하고, 과거 기록을 바꾸는 데 비용을 부과하는 데 사용됩니다.
주인 없는 장부에 필요한 비용
은행 장부에는 은행이 기록을 관리하고, 회사 장부에는 담당자가 기록을 관리합니다. 누가 다음 페이지를 쓸지는 정해진 책임자에게 맡기면 됩니다.
비트코인의 전체장부에는 특정 회사나 관리자가 없습니다. 이름과 얼굴을 모르는 참가자들이 같은 장부를 공유합니다. 누구나 아무 비용 없이 장부에 기록을 올릴 수 있다면 거짓 기록을 대량으로 제출할 수 있습니다. 말로 자신이 옳다고 주장하는 것만으로는 다른 참가자를 설득하기 어렵습니다.
작업증명은 장부에 새 기록을 추가하려는 참가자가 먼저 계산 비용을 부담하도록 합니다. 계산을 수행했다는 증거가 있어야 새 블록을 제안할 수 있습니다.
번호 자물쇠에 비유하기
번호 조합이 만 가지인 자물쇠를 생각해 보겠습니다. 지름길이나 요령이 없다면 번호를 하나씩 바꾸어 가며 맞는 조합을 찾아야 합니다. 운이 나쁘면 만 가지를 모두 시험해야 합니다.
반면 누군가 자물쇠를 열었다고 주장할 때 확인하는 일은 간단합니다. 그 사람이 제시한 번호 하나를 입력해 실제로 열리는지 보면 됩니다. 여는 쪽에는 긴 작업이 필요하지만, 확인하는 쪽에는 짧은 검사만 필요합니다.
작업증명도 이와 비슷합니다. 채굴자는 조건에 맞는 결과를 찾기 위해 많은 시도를 반복하고, 다른 참가자들은 제시된 결과가 조건에 맞는지만 빠르게 확인합니다.
채굴과 블록 생성
비트코인에서 이 계산 문제를 해결하는 참가자를 채굴자라고 부릅니다. 채굴자는 새로운 거래 묶음인 블록을 장부에 붙이려 합니다. 그러려면 그 블록에 맞는 작업증명 결과를 먼저 찾아야 합니다.
작업증명은 80바이트 블록 헤더에 해시 함수를 적용해 조건을 만족하는 결과를 찾는 방식입니다. 채굴자는 입력의 일부를 바꾸어 가며 해시를 반복해서 계산합니다. 어떤 블록이 유효한지는 작업증명만으로 결정되지 않고, 거래와 블록이 합의 규칙에 맞는지도 함께 검사됩니다(Bitcoin Developer Guide).
전 세계 채굴자들이 동시에 각자의 시도를 진행합니다. 문제의 난도는 평균적으로 약 10분에 한 번 블록이 만들어지도록 조정됩니다. 조건을 먼저 만족한 채굴자의 블록이 새 장부 페이지로 제안되고, 다른 참가자들은 거래와 블록의 유효성을 확인합니다.
여러 유효한 후보 체인이 생기면 노드는 단순히 블록 개수가 많은 체인이 아니라, 규칙에 맞는 체인 가운데 누적 작업량이 가장 큰 체인을 선택합니다. 이 선택 때문에 일시적인 재조직이 일어날 수 있습니다.
과거 기록을 바꾸는 비용
작업증명은 새 블록을 만드는 절차일 뿐 아니라 과거 기록을 바꾸는 비용도 높입니다.
누군가 이미 기록된 블록의 거래를 몰래 바꾸면 그 블록의 머클 루트와 헤더가 달라집니다. 따라서 해당 블록의 작업증명을 처음부터 다시 찾아야 합니다. 그 뒤에 이어진 블록들도 모두 다시 계산해야 합니다.
그동안 정직한 참가자들은 기존 장부 뒤에 계속 새 블록을 쌓습니다. 과거 기록을 바꾸려는 쪽은 자신이 만든 유효한 대체 체인의 누적 작업량을 정직한 쪽의 체인보다 크게 만들기 위해 경쟁해야 합니다. 공격자가 정직한 쪽보다 적은 해시파워를 가진다면 따라잡을 가능성은 상황에 따라 달라지지만, 확인이 더 쌓일수록 일반적으로 불리해집니다.
이 구조는 이미 유효한 거래 이력 사이에서 재조직이나 이중 지불을 시도하는 비용을 높입니다. 그러나 작업증명이 거래 서명을 위조하게 하거나, 합의 규칙을 어긴 거래나 허용량을 초과한 발행을 유효하게 만들지는 않습니다. 노드는 이런 규칙을 작업량과 별도로 검사합니다.
작업증명은 거짓 기록을 물리적으로 불가능하게 만드는 장치는 아닙니다. 다만 유효한 대체 이력을 만들고 정직한 체인을 따라잡으려면 실제 전기와 시간, 계산 자원을 써야 하도록 만들어 조작의 비용을 높입니다.
수학 경시대회와는 다릅니다
채굴자가 지능적인 풀이로 어려운 수학 문제를 해결한다고 생각하기 쉽지만, 실제 과정은 그런 경시대회와 다릅니다. 정답을 추론하는 풀이 과정이 있는 것이 아니라, 입력을 조금씩 바꾸어 가며 조건에 맞는 해시가 나올 때까지 반복해서 시도합니다.
더 빠르게 더 많은 시도를 할 수 있는 계산 능력이 경쟁에 영향을 줍니다. 이름이나 지위, 말재주가 아니라 실제로 수행한 계산 작업이 기준이 됩니다.
전기와 자원이라는 대가
이 방식에는 비용이 따릅니다. 시도할 때마다 전기가 들고 계산 자원이 사용됩니다. 이 비용을 낭비라고 보는 비판이 있는 반면, 주인 없는 장부의 조작을 어렵게 만드는 안전 비용으로 보는 견해도 있습니다.
작업증명의 에너지 사용을 어떻게 평가할지는 별도의 논점입니다. 여기서 핵심은 작업증명이 계산 비용을 요구하고, 그 결과를 누구나 빠르게 검증할 수 있게 한다는 점입니다.
정리하면 작업증명은 찾기는 어렵고 확인은 쉬운 문제를 풀었다는 증거입니다. 노드는 작업증명뿐 아니라 거래와 블록의 유효성도 검사하고, 유효한 후보 체인 중 누적 작업량이 가장 큰 체인을 선택합니다. 이 구조 덕분에 특정 주인이 없는 장부에서 재조직과 이중 지불에 드는 비용이 커지지만, 서명 위조나 규칙을 어긴 발행을 허용하는 것은 아닙니다.
해시가 작업증명 계산에 사용되는 방식은 해시에서 함께 확인할 수 있습니다.
린 앨든의 관점에서 비교하는 작업증명과 지분증명
린 앨든은 2022년 글 What is Money, Anyway?에서 작업증명과 지분증명의 차이를 생산 비용과 권한의 근거로 비교합니다. 「돈이란 무엇인가」 시리즈의 이 설명은 작업증명을 화폐사의 공급 제약과 연결하는 저자의 관점입니다.
비용은 가격의 보증이 아닙니다
금이나 돌 화폐는 채굴과 운반에 자원이 듭니다. 앨든은 돈으로 쓰이는 재화에 웃돈이 붙을 때 더 많이 생산하려는 유인이 생기므로, 생산을 어렵게 하는 조건이 중요하다고 봅니다. 비트코인에서는 계산 장비와 전력이 작업증명의 비용이 됩니다.
그러나 노력해서 만들었다는 이유만으로 어떤 물건이 가치 있어지는 것은 아닙니다. 수요가 없는 물건은 생산 비용을 들여도 팔리지 않을 수 있습니다. 비트코인 채굴 비용도 시장 가격이나 미래 구매력을 보장하지 않습니다. 비용이 기록 변경을 어렵게 하는 성질과 자산의 가격을 정하는 과정을 구분해야 합니다.
비트코인의 블록은 앞선 블록의 해시를 포함합니다. 과거의 기록을 바꾸려면 영향을 받는 블록과 그 뒤의 작업을 다시 수행하며 정직한 체인과 경쟁해야 합니다. 노드는 규칙에 맞는 후보 가운데 누적 작업량이 가장 큰 체인을 선택합니다. 블록 수만 세는 ‘가장 긴 줄’이나 어떤 경우에도 바꿀 수 없는 기록으로 단순화하면 정확하지 않습니다.
보유 지분과 검증 권한
지분증명은 해당 자산을 일정한 조건으로 맡긴 검증자에게 블록 제안과 확인의 역할을 부여하는 방식입니다. 구체적인 선발·보상·처벌 규칙은 네트워크마다 다릅니다. 자산을 보유한 것만으로 모든 규칙을 마음대로 바꾸거나, 어느 시스템에서나 51% 지분이 동일한 지배력을 갖는다고 할 수는 없습니다.
앨든은 보유량과 참여 권한의 관계를 회사 지분에 비유합니다. 특히 장부가 보유자를 정하고 그 보유자가 다시 장부의 상태를 결정하는 구조를 비판합니다. 그는 과거의 서로 다른 기록 가운데 무엇을 채택할지 결정할 때 외부 기준이나 참여자 간 조정에 의존할 수 있다는 점에 주목합니다.
이를 전원이 꺼져도 남는 기억과 사라지는 기억에 비유하지만, 지분증명 장부의 데이터가 전원을 끄면 실제로 지워진다는 뜻은 아닙니다. 쟁점은 저장 여부가 아니라 오래된 기록을 검증하고 신뢰할 기준을 정하는 방식입니다. 반대로 작업증명도 유효성 규칙과 실제 작업량을 확인해야 하며, 누적 작업량만으로 규칙 위반을 받아들이지 않습니다.
집중과 자원 사용을 어떻게 평가할까
앨든은 큰 지분을 가진 참여자가 보상을 받아 권한을 유지하는 집중 가능성을 우려합니다. 아담 백의 논의를 인용해 새 공급에 가까운 사람이 먼저 이익을 얻는 캉티용 효과와도 연결합니다. 이는 새 돈의 유입 순서가 상대가격과 자원 배분에 영향을 줄 수 있다는 관점입니다.
작업증명 역시 장비·전력·규모의 경제에 따른 집중 문제를 따로 살펴야 합니다. 지분증명에는 작업증명의 에너지 사용을 줄이려는 목적이 있지만, 에너지 사용량 하나로 권한과 보안의 모든 차이를 판단할 수는 없습니다.
앨든은 법정화폐의 과세와 법 집행을 세 번째 유형인 ‘힘의 증명’에 비유합니다. 작업증명은 외부 자원 비용, 지분증명은 맡긴 지분과 규칙, 법정화폐는 제도적 수요에 주목한다는 비교입니다. 이 세 가지는 동일한 기술 분류가 아니며, 저자의 선호를 각 방식의 모든 결과에 관한 확정된 사실로 읽어서는 안 됩니다.