작업 증명과 지분 증명의 차이

· 읽는 데 8분

이 글은 작업 증명과 지분 증명이 블록체인에 다음 블록을 추가할 사람을 정하는 방식, 각각이 체인을 안전하게 지키는 방식, 그리고 새 코인을 만드는 방식을 설명합니다. 일반 컴퓨터로 채굴할 수 있는 작업 증명 코인인 Blocknet을 예시로 들어 설명합니다.

작업 증명과 지분 증명은 무엇이 다릅니까?

짧은 답변

작업 증명과 지분 증명은 블록체인이 다음 블록을 추가할 사람을 정하는 두 가지 방식입니다. 작업 증명에서는 채굴자가 연산 능력을 써서 유효한 해시를 찾습니다. 지분 증명에서는 검증자가 코인을 예치금으로 묶어 두고, 선택되면 블록을 제안하고 투표합니다. 두 방식 모두 부정행위에 큰 비용이 들게 만듭니다.

모든 블록체인은 같은 문제를 풀어야 합니다. 서로를 신뢰하지 않는 수천 대의 컴퓨터가 하나의 결제 기록에 합의해야 누구도 같은 코인을 두 번 쓸 수 없습니다. 누군가는 새 블록을 제안해야 하고, 나머지는 그것을 받아들일 이유가 있어야 합니다. 이 규칙을 합의 메커니즘이라고 하며, 작업 증명과 지분 증명은 가장 잘 알려진 두 가지 설계입니다.

작업 증명 지분 증명
블록을 만드는 주체 네트워크 목표값 이하의 해시를 가장 먼저 찾은 채굴자 코인을 묶어 둔 사람 중에서 선택된 검증자
투입하는 것 하드웨어와 전기 스테이크로 예치한 코인
채택되는 체인 누적 작업량이 가장 많은 체인 검증자 투표를 가장 많이 받은 체인 (완결성 체크포인트 포함)
새 코인이 가는 곳 블록을 찾은 채굴자에게 블록 보상 블록 제안과 투표에 대한 검증자 보상
참여 조건 해시를 계산할 수 있는 컴퓨터 스테이킹할 코인 (Ethereum 검증자는 32 ETH)
예시 Bitcoin, Monero, Blocknet 2022년 이후의 Ethereum

작업 증명은 다음 블록을 어떻게 정합니까?

작업 증명에서 채굴자는 풀기는 어렵고 검증하기는 쉬운 퍼즐을 놓고 경쟁합니다. 채굴자는 게시하려는 블록에 논스(nonce)라는 숫자를 더해 해시합니다. 그 해시를 숫자로 읽었을 때 네트워크 목표값 이하이면 블록은 유효합니다. 그렇지 않으면 논스를 바꿔 다시 시도합니다. 이기는 유일한 방법은 많은 논스를 시도하는 것이므로, 채굴자가 다음 블록을 찾을 확률은 네트워크 해시 파워에서 차지하는 비중과 같습니다.

사토시 나카모토는 2008년 Bitcoin 백서에서 이를 “작업 증명은 본질적으로 CPU 하나당 한 표”라고 표현했습니다. 노드는 가장 많은 작업 증명 노력이 투입된 체인을 따르며, 난이도 설정이 목표값을 올리거나 내려 해시 파워가 얼마나 늘어나든 블록이 일정한 속도로 생성되게 합니다. 해시, 난이도, 풀은 암호화폐 채굴의 원리 가이드에서 단계별로 설명합니다.

Blocknet도 같은 방식으로 동작하며, 수치는 합의 코드에 정해져 있습니다.

지분 증명은 다음 블록을 어떻게 정합니까?

지분 증명은 해시 계산을 예치금으로 대체합니다. 참여하려는 검증자는 프로토콜에 코인을 묶어 두고, 프로토콜이 블록을 제안하고 승인할 검증자를 선택합니다. 2012년에 출시된 Peercoin이 이 방식을 처음 사용한 암호화폐이며, Ethereum은 2022년 9월 15일 머지라는 업그레이드로 전환했습니다.

Ethereum의 설계를 보면 구성 요소를 알 수 있습니다. ethereum.org에 따르면 다음과 같습니다.

작업 증명에서 전기가 하는 역할을 스테이크가 합니다. 규칙을 어기면 검증자는 이미 가진 코인을 잃습니다.

작업 증명과 지분 증명은 어떻게 보안을 유지합니까?

두 설계 모두 공격 비용이 공격으로 얻을 수 있는 것보다 크게 만들며, 그 비용을 서로 다른 곳에 둡니다.

작업 증명에서 비용은 지속적인 연산입니다. 과거 블록을 다시 쓰려면 공격자는 그 블록과 이후 모든 블록의 작업을 다시 해서 정직한 네트워크를 앞질러야 합니다. 나카모토는 더 느린 공격자가 따라잡을 확률이 새 블록이 쌓일 때마다 지수적으로 줄어든다는 것을 보였습니다. 앞으로의 체인을 장악하려면 공격이 지속되는 동안 다른 모든 참여자를 합친 것보다 많은 해시 파워를 운영해야 합니다.

지분 증명에서 비용은 위험에 노출된 자본입니다. Ethereum 문서에 따르면 공격자가 체인을 장악하려면 “스테이킹된 ETH의 51%“가 필요하고, 스테이크의 3분의 1이면 블록이 완결되지 못하게 막을 수 있으며, 완결된 블록을 되돌리려면 전체 스테이킹된 ETH의 최소 3분의 1을 슬래싱으로 잃게 됩니다.

Blocknet은 작업 증명 위에 두 가지 기준을 더 둡니다. 네트워크는 10컨펌(약 50분)을 안전한 것으로 보며, 노드는 100블록(약 8시간)보다 깊은 체인 재구성(reorg)을 거부하므로 100블록 깊이의 블록은 완결됩니다.

두 모델은 새 코인을 어떻게 발행합니까?

짧은 답변

작업 증명 코인은 각 블록을 찾은 채굴자에게 새 코인을 지급하므로, 연산 능력을 제공하는 사람이라면 누구나 코인을 미리 보유하지 않고도 코인을 얻을 수 있습니다. 지분 증명 코인은 스테이크에 비례해 검증자에게 새 코인을 지급하므로, 보상이 이미 코인을 가진 사람에게 갑니다. 일정은 프로토콜마다 정합니다.

작업 증명에서는 각 블록의 첫 번째 트랜잭션이 그 블록을 찾은 채굴자를 위한 새 코인을 만듭니다. Bitcoin 백서는 이를 “발행할 중앙 기관이 없기 때문에, 코인을 처음 유통시키는 방법”이라고 설명합니다. Bitcoin의 보상은 210,000블록(약 4년)마다 절반으로 줄며, 총 공급량은 2,100만 개를 조금 밑돕니다.

Ethereum의 지분 증명에서는 증명, 블록 제안, 동기화 위원회 활동에 대한 보상이 에포크마다 검증자 잔액에 더해집니다. 기본 보상은 전체 스테이크가 커질수록 줄어들지만, 검증자가 늘어날수록 총 발행량은 증가합니다.

Blocknet의 발행은 전적으로 채굴을 통해 이루어집니다. 제네시스 블록에는 트랜잭션이 하나도 없어 채굴이 시작되기 전에는 코인이 존재하지 않았으며, 합의 규칙에는 프리마인, 트레저리, 창립자 몫의 출력이 없습니다. 모든 블록은 보상 전체를 하나의 출력으로 그 블록을 찾은 채굴자에게 지급합니다. 보상은 블록당 723.25 BNT로 시작해 48개월 동안 30일마다 지수 곡선을 따라 단계적으로 줄어들고, 그 뒤로는 블록당 2 BNT로 영구히 유지됩니다.

Blocknet은 왜 작업 증명을 사용합니까?

Blocknet은 컴퓨터만 있으면 누구나 코인을 먼저 사지 않고도 첫 블록부터 새 코인을 얻을 수 있도록 작업 증명을 선택했습니다. Blocknet 데몬은 Argon2id를 “ASIC에 저항하고 공정한 채굴을 보장하기 위한 메모리 하드 PoW”라고 설명하며, 각 해시를 “공정성을 위해” 단일 스레드에서 실행합니다.

채굴을 열려 있게 하는 것은 메모리 요구량입니다. 해시마다 2 GiB 메모리를 채우므로 채굴 스레드 하나에 약 2 GB의 RAM이 필요하며, 사람들이 이미 가진 데스크톱, 노트북, 서버에는 그만한 메모리와 이를 공급할 컨트롤러가 있습니다. Blocknet은 범용 하드웨어를 중심으로 만든 작업 증명 코인 계열에 속합니다. 예를 들어 Monero는 2019년 11월부터 “범용 CPU에 최적화된” RandomX를 사용하고 있습니다.

작업 증명은 Blocknet의 계획에 계속 남아 있습니다. blocknetcrypto.com에 따르면 2027년 2월 무렵으로 계획된 Faraday 업그레이드는 새 노드가 체인을 더 빨리 따라잡을 수 있도록 “더 가벼운 작업 증명”을 도입할 예정입니다.

작업 증명 코인 채굴은 어떻게 시작합니까?

Blocknet을 채굴하려면 지갑 주소와 무료 오픈 소스 채굴기인 seine가 필요합니다.

  1. 공식 지갑에서 주소를 받으십시오. 지갑 가이드에서 과정을 안내합니다.
  2. Windows, macOS, Linux용 seine를 다운로드해 실행하십시오.
  3. 주소나 @name을 붙여넣고 기본 풀인 bntpool.com을 선택하십시오.

seine는 RAM에 맞게 스레드 수를 정하고, 채굴하면서 CPU 커널을 비교해 가장 빠른 것을 유지하며, Windows와 Linux에서는 NVIDIA 그래픽카드도 프로세서와 함께 사용합니다. 하드웨어와 지급은 채굴 가이드에서 자세히 다룹니다.

자주 묻는 질문

Blocknet은 작업 증명입니까, 지분 증명입니까?

Blocknet은 작업 증명을 사용합니다. 채굴자는 해시마다 2 GiB의 메모리가 필요한 Argon2id 해시를 계산하고, 새 블록은 약 5분마다 발견되며, 블록 보상 전체가 그 블록을 찾은 채굴자에게 돌아갑니다. 스테이킹은 없습니다. 일반 컴퓨터에서 seine로 bntpool.com 풀을 통해 채굴할 수 있습니다.

Ethereum은 언제 작업 증명에서 지분 증명으로 전환했습니까?

Ethereum은 2022년 9월 15일에 실행된 머지(the Merge)라는 업그레이드로 지분 증명으로 전환했습니다. 그 뒤로는 채굴자 대신 32 ETH를 예치한 검증자가 블록을 제안하고 투표합니다. Bitcoin, Monero, Blocknet은 여전히 연산 작업으로 새 블록을 만드는 작업 증명을 사용합니다.

51% 공격이란 무엇입니까?

51% 공격은 체인이 어떤 블록을 받아들일지를 결정하는 자원의 과반을 확보해 그 결정을 장악하려는 시도입니다. 작업 증명에서는 네트워크 해시 파워의 과반을, 지분 증명에서는 스테이킹된 코인의 과반을 뜻합니다. 어느 쪽이든 공격자는 실제 자원의 과반을 투입해야 합니다.

지분 증명 코인을 채굴할 수 있습니까?

아닙니다. 순수한 지분 증명 코인에는 채굴이 없습니다. 새 코인은 기존 코인을 스테이크로 묶어 둔 검증자에게 지급되므로, 코인을 얻으려면 먼저 코인을 보유해야 합니다. 이미 가진 컴퓨터로 새 코인을 얻으려면 Blocknet 같은 작업 증명 코인이 필요합니다.