포크 해결이 중요한 이유

두 채굴자가 동시에 유효한 블록을 찾을 때, 전통적인 블록체인은 딜레마에 직면합니다: 네트워크가 어떤 블록을 수락해야 할까요? 이는 네트워크가 경쟁하는 체인으로 분할되는 일시적인 “포크”를 만듭니다. 사용자에게 미치는 영향:
  • 거래 불확실성: 패배한 포크에 있다면 거래가 되돌려질 수 있습니다
  • 지연된 확인: 최종성을 보장하기 위해 추가 블록을 기다려야 합니다
  • 높은 수수료: 제한된 블록 공간을 위한 경쟁으로 인한 네트워크 혼잡
채굴자에게 미치는 영향:
  • 에너지 낭비: 채굴 능력이 경쟁하는 체인 간에 분할됩니다
  • 보상 감소: 승리한 포크의 채굴자만 지급받습니다
  • 전략적 불확실성: 어떤 체인에서 채굴할지 불분명합니다

전통적인 접근법: 기다리고 보기

비트코인과 같은 작업 증명 시스템에서 두 개의 유효한 블록이 동시에 나타날 때, 그들 사이에서 즉시 선택할 방법이 없습니다. 두 블록 모두 난이도 요구사항을 충족하므로 네트워크는 기다려야 합니다:
  1. 분할 발생: 채굴자들이 무작위로 어떤 블록을 기반으로 구축할지 선택합니다
  2. 네트워크 분할: 채굴 능력이 경쟁하는 체인 간에 분할됩니다
  3. 해결 대기: 누군가 다음 블록을 찾을 때까지만 네트워크가 어떤 체인을 따를지 알 수 있습니다
  4. 시간 비용: 비트코인에서 이것은 10분 이상 걸릴 수 있습니다

PoEM의 해결책: 진정한 작업 측정

여기에 핵심 통찰이 있습니다: 모든 유효한 블록이 실제로 동등하지는 않습니다. 두 블록이 모두 난이도 요구사항을 충족하더라도, 하나는 항상 다른 것보다 약간 더 많은 작업을 필요로 했습니다. 전통적인 작업 증명은 이 차이를 무시하고 “충분히 좋은” 블록을 동일한 것으로 취급합니다. PoEM은 각 블록에 대한 정확한 작업량(제거된 엔트로피)을 측정하여 즉시 객관적인 결정을 가능하게 합니다. PoEM이 포크를 즉시 해결하는 방법:
  1. 두 블록 등장: 둘 다 최소 난이도 요구사항을 충족
  2. 정확한 작업 측정: PoEM이 각각에 의해 제거된 정확한 엔트로피를 계산
  3. 명확한 승자: 더 많은 엔트로피를 제거한 블록이 객관적으로 더 좋음
  4. 즉시 합의: 모든 노드가 즉시 어떤 블록을 따를지 알게 됨

기술적 구현

PoEM은 고유 블록 가중치를 사용하여 각 블록에 대한 정확한 작업을 측정합니다. 단순히 “이 블록이 최소 요구사항을 충족했는가?”를 확인하는 대신, PoEM은 “이 블록에 정확히 얼마나 많은 작업이 들어갔는가?”를 묻습니다. 이 정밀도는 여러 가지 주요 장점을 가능하게 합니다: 네트워크 효율성:
  • 단일 증명 전파: 합의를 달성하기 위해 하나의 블록만 공유하면 됩니다
  • 채굴 낭비 없음: 모든 계산 작업이 네트워크 보안에 기여합니다
  • 지속적 합의: 노드가 항상 현재 체인 끝에 동의합니다
확장성 이점:
  • 즉시 조정: 무제한 병렬 체인을 관리할 수 있습니다
  • 지연 시간 영향 없음: 네트워크 지연이 합의 결정에 영향을 미치지 않습니다
  • 결정론적 결과: 동일한 정보가 주어지면 모든 노드가 동일한 선택을 합니다

지속적 합의

“충분히 좋은” 임계값 대신 정확한 작업을 측정함으로써 PoEM은 합의가 작동하는 방식을 근본적으로 변화시킵니다. 주기적인 합의 달성 시도 대신, PoEM은 지속적 합의를 달성합니다 - 모든 노드가 항상 현재 상태에 동의합니다. 이는 전례 없는 기능을 가능하게 합니다:
  • 포크 불확실성 없음: 사용자가 거래가 즉시 최종적임을 알 수 있습니다
  • 무한 확장성: 무제한 병렬 체인을 조정할 수 있습니다
  • 최대 효율성: 모든 채굴 능력이 전체 네트워크를 보호합니다
  • 지연 시간 면역: 네트워크 지연이 합의 충돌을 만들지 않습니다

실제 예시

두 채굴자가 동시에 경쟁하는 블록을 찾는다고 상상해보세요: 설정:
  • 두 블록 모두 최소 난이도 요구사항을 충족 (16개의 선행 0)
  • 블록 A 해시: 0x0000b9c86d37...
  • 블록 B 해시: 0x0000b9c86d30...

전통적인 PoW가 이를 처리하는 방법:

  1. 두 블록 모두 유효 - 각각 16개의 선행 0을 가져 요구사항을 충족
  2. 네트워크 분할 - 절반의 채굴자는 블록 A에서, 절반은 블록 B에서 작업
  3. 해결 대기 - 누군가 블록 3을 찾기까지 10분 이상 기다려야 함
  4. 승자 결정 - 어떤 체인이 먼저 블록 3을 얻는지에 따라 정식화됨
  5. 작업 낭비 - 패배한 체인의 모든 채굴이 버려짐
결과: 불확실성, 에너지 낭비, 지연된 최종성

PoEM이 이를 처리하는 방법:

  1. 정확한 작업 측정 - 블록 A가 16.462525964비트의 엔트로피를 제거
  2. 블록 B가 더 많이 제거 - 블록 B가 16.462525967비트의 엔트로피를 제거
  3. 즉시 결정 - 모든 노드가 즉시 블록 B가 더 좋다고 인식
  4. 통합 채굴 - 모든 채굴자가 블록 B를 기반으로 구축하도록 전환
  5. 낭비 없음 - 모든 계산 작업이 네트워크 보안에 기여
결과: 즉시 합의, 최대 효율성, 즉시 최종성
엔트로피의 차이는 미미하지만(0.000000003비트) 수학적으로 결정적입니다. 이 정밀도는 모든 노드가 어떤 모호함도 없이 동일한 선택을 하도록 보장합니다.