MSTR Cat

블록체인/레벨 I · 화폐/1.2 사이퍼펑크가 걸어온 길/수업 7

이중 지불 문제와 비잔틴 장군들

해결책에 앞선 신뢰의 문제

준비물블록 탐색기 인터페이스(예: mempool.space 또는 blockchain.com)나카모토 백서, 4장램포트 외, ‘비잔틴 장군 문제’(1982)

호기심

  1. 디지털 파일을 완벽하게, 즉시 복제할 수 있다면 무엇이 그것을 두 번 쓰는 것을 막을까?
  2. 공통된 정체성도 없고, 분쟁을 조정해 줄 리더도 없는 낯선 사람들의 집단이 어떻게 하나의 역사에 합의할 수 있을까?
  3. 개방형 네트워크에서 한 표를 다른 사람의 말보다 더 가치 있게 만드는 것은 무엇일까?

탐구

  1. 디지털 토큰은 파일에 불과합니다. 실물 현금과 달리 비용도 들지 않고 품질 저하도 없이 비트 단위로 똑같이 복제할 수 있습니다. 앨리스가 밥에게 10단위를 보내도 원본 파일은 그대로 남아 있으므로, 같은 10단위를 동시에 찰리에게도 보낼 수 있습니다. 2008년까지 실제로 작동한 디지털 현금 시스템은 모두 신뢰할 수 있는 발행자에 의존했습니다. 온라인 방식은 결제마다 중앙에서 확인했고, 오프라인 방식은 이중 지불자를 사후에야 식별할 수 있었습니다.
  2. 데이비드 차움의 디지캐시에서는 모든 수취인이 은행에 코인을 입금했고, 은행은 각 일련번호를 사용된 코인 목록과 대조했습니다. 할 핀니의 재사용 가능한 작업증명(RPOW)은 보안 하드웨어에서 오픈소스 코드를 실행하는 단일 서버로 사용된 토큰을 추적했습니다. 웨이 다이의 b-머니는 보증금을 예치하고 부정행위 시 벌금을 물 수 있는 서버들을 제안했지만, 실제로 만들어지지는 않았습니다. 어느 설계든 신뢰할 수 있는 당사자나 알려진 집단을 중심에 두었습니다.
  3. 1982년 레슬리 램포트, 로버트 쇼스탁, 마셜 피스는 ACM Transactions on Programming Languages and Systems에서 비잔틴 장군 문제를 정식화했습니다. 도시를 포위한 장군들은 공격할지 후퇴할지 합의해야 하지만, 일부 장군은 서로 다른 메시지를 보내는 배신자입니다. 전령 자체는 신뢰할 수 있습니다. 서명되지 않은 메시지를 쓸 경우, 배신자가 장군의 3분의 1 미만일 때만 합의가 가능하며(n ≥ 3f+1), 3분의 1 이상이면 어떤 프로토콜도 합의를 보장할 수 없습니다.
  4. PBFT 같은 고전적인 내결함성 프로토콜은 알려진 고정 참가자 집합을 필요로 합니다. 이는 은행 내부 원장에는 통하지만, 누구나 참여할 수 있는 개방형 네트워크에서는 실패합니다. 존 두세르는 2002년 시빌 공격을 규명했습니다. 공격자는 가짜 신원을 무제한으로 만들어 정직한 표를 희석하거나 쿼럼을 장악할 수 있습니다. 개방형 P2P 네트워크에서 신원은 값싸고 무한하므로, 신원 수를 세는 방식은 모두 단일 행위자에게 장악될 수 있습니다.
  5. 사토시 나카모토의 백서는 이 문제를 정면으로 다루었습니다. 백서의 초록은 비트코인을 신뢰할 수 있는 제3자 없이 이중 지불을 해결하는 방법으로 제시합니다. 이 시스템은 신원이나 제도적 신뢰에 의존하는 대신, 각 블록을 누적된 작업증명에 묶습니다. 표의 가중치는 연산량으로 정해지며, 이는 신원을 지어낸다고 늘어나지 않습니다. 역사를 다시 쓰려면 공격자는 정직한 네트워크보다 더 많은 연산을 해내야 합니다.
  6. 그 결과가 확률적 최종성입니다. 트랜잭션은 수학적 의미에서 영구히 확정되는 것은 아니지만, 새 블록이 체인을 연장할 때마다 점점 더 안전해집니다. 공격자가 해시파워의 절반 미만을 통제하는 한, 거래가 뒤집힐 확률은 컨펌이 하나 늘 때마다 기하급수적으로 줄어듭니다. 이 트레이드오프는 되돌려질 이론적 가능성을 받아들이는 대신, 중앙 통제 없이 실질적인 불변성을 얻습니다. 블록 탐색기를 열고 블록 높이가 올라갈 때마다 누적 작업량이 어떻게 늘어나는지 살펴보세요. 이렇게 쌓이는 비용이 원장을 물리적 현실에 고정시킵니다.

핵심 사실

  • 램포트, 쇼스탁, 피스는 1982년 ACM TOPLAS에 ‘비잔틴 장군 문제’를 발표했습니다.
  • 서명되지 않은 메시지로 합의하려면 참가자 중 3분의 2를 넘는 수가 정직해야 합니다(n ≥ 3f+1).
  • 존 두세르는 2002년 시빌 공격을 설명하며, 무제한의 신원이 전통적인 쿼럼을 무너뜨린다는 것을 보여 주었습니다.
  • 2008년 이전의 모든 디지털 현금 시스템은 이중 지불 문제를 다루기 위해 신뢰할 수 있는 발행자에 의존했습니다.
  • 비트코인은 누적 작업증명이 가장 많은 체인을 받아들이는 방식으로 합의에 도달합니다.
  • 사토시 나카모토는 2008년 11월 암호학 메일링 리스트(cryptography mailing list)에서 자신의 해법을 비잔틴 장군 문제의 용어로 설명했습니다.

연습 아홉, 여섯, 셋, 하나

9모으기여러 당사자가 하나의 상태에 합의해야 하는 분산 시스템이나 프로토콜 9가지를 나열하세요. 최종 결정권을 누가 갖는지, 한 당사자가 거짓말을 하면 어떤 일이 생기는지 적어 보세요.
6묶기9가지를 신뢰 모델에 따라 중앙 권한, 고정 쿼럼, 무허가형 작업증명(PoW), 허가형 지분증명(PoS), 사회적 합의, 기타의 6개 범주로 분류하세요.
3추리기6개 그룹을 보안, 탈중앙화, 확장성 사이의 3가지 근본적인 트레이드오프로 압축하세요.
1결정화에너지 소비로 가중치를 매긴 ‘투표’가 신원으로 가중치를 매긴 투표보다 왜 위조하기 어려운지 한 문장으로 설명하세요.

팩트 체크

날짜, 수치 및 주장은 아래에 명시된 출처들을 통해 확인되었습니다.

인터랙티브 아카데미에서 열기 →

EN PT ES ZH JA RU DE FR MS