블록체인/레벨 I · 화폐/1.2 사이퍼펑크가 걸어온 길/수업 6
재사용 가능한 작업증명(RPOW)
신뢰 문제를 거의 해결한 투명한 서버
준비물보관된 RPOW 웹사이트(rpow.net, 인터넷 아카이브를 통해)공책
호기심
- 중앙 기관이 원장을 통제한다면, 그 기관이 부정행위를 하지 않으리라고 어떻게 믿을 수 있을까?
- 검증 가능한 코드를 갖춘 시스템이 왜 여전히 화폐로서 실패했을까?
- 아무도 서버를 속일 수 없다면, 그 서버에는 그래도 무엇이 잘못될 수 있을까?
탐구
- 2004년 8월, 할 핀니는 아담 백의 해시캐시를 발전시킨 디지털 현금 프로토타입인 재사용 가능한 작업증명(RPOW)을 공개했습니다. 이전의 스탬프는 특정 수신자에게 묶여 양도할 수 없었지만, RPOW 토큰은 서버에서 일대일로 새 토큰과 교환할 수 있었습니다. 이 메커니즘 덕분에 가치가 사람에서 사람으로 끝없이 전달될 수 있었고, 생성에 드는 연산 비용은 유지하면서 실물 현금을 흉내 낼 수 있었습니다.
- 핵심적인 신뢰 문제는 중앙화였습니다. 단일 서버가 모든 잔액을 관리하고, 사용된 토큰의 기록을 보관해 이중 지불을 막았습니다. 이를 완화하기 위해 핀니는 IBM 4758 보안 암호 코프로세서를 이용한 원격 증명(remote attestation)을 구현했습니다. 이 변조 방지 하드웨어 덕분에 외부 사용자 누구나 서버가 공개된 오픈소스 코드를 의도대로 정확히 실행하고 있는지 확인할 수 있었고, 운영자조차 몰래 규칙을 바꿀 수 없었습니다.
- 작동 방식을 보면, 사용자는 해시캐시 방식의 작업증명을 서버에 제출하고 그 대가로 RSA 서명이 된 RPOW 토큰을 받았습니다. 결제할 때는 송금인이 토큰을 수취인에게 넘기고, 수취인은 이를 서버에 제출해 같은 가치의 새 토큰으로 교환했습니다. 이 과정을 통해 각 가치 단위는 고유하고 미사용 상태로 유지되었고, 폐쇄적이고 신뢰된 환경 안에서 이중 지불 문제가 해결되었습니다.
- 총 가치만 유지된다면 토큰은 서버에서 분할하거나 합칠 수 있었습니다. 한 가지 한계는 경제적인 것이었습니다. 더 빠른 하드웨어에 맞춰 조정하는 장치가 없었던 것입니다. 연산이 저렴해질수록 같은 크기의 토큰을 발행하는 데 드는 작업은 앞서 만들어진 토큰보다 줄어들었고, 그래서 액면가가 같은 토큰들이 서로 다른 비용을 담게 되었습니다.
- 단일 서버 구조는 여전히 장애 지점이었습니다. 원격 증명은 운영자의 부정행위는 막을 수 있었지만, 서버 중단이나 네트워크 분할은 막지 못했습니다. 모든 거래에 서버가 항상 가동 중이어야 했기 때문에, 시스템은 호스트만큼이나 취약했습니다. 이처럼 중앙 주체에 의존했다는 점에서 RPOW는 여러 독립 노드에 합의를 분산시킨 이후의 탈중앙화 프로토콜과 달랐습니다.
- 핀니의 설계는 작업증명 기반 발행과 양도 가능한 토큰을 결합한, 비트코인 이전에 전자 현금에 가장 근접한 접근이었습니다. 하지만 거의 쓰이지 않았습니다. 토큰을 보유할 이유가 있는 사람이 드물었고, 받아 주는 곳도 거의 없었습니다. RPOW에서 비트코인으로의 전환은 신뢰된 중앙 서버를, 절대적 확실성 대신 확률적 최종성을 받아들이는 분산 합의 메커니즘으로 대체하는 일이었습니다.
핵심 사실
- 할 핀니는 2004년 8월에 재사용 가능한 작업증명(RPOW)을 공개했습니다.
- RPOW는 원격 증명을 위해 IBM 4758 보안 암호 코프로세서를 사용했습니다.
- 토큰은 서버에서 일대일로 교환되었기 때문에 사용자 간 전송이 가능했습니다.
- 토큰은 서버에서 분할하거나 합칠 수 있었지만, 더 빠른 하드웨어에 맞춰 비용을 조정하는 장치는 없었습니다.
- 단일 중앙 서버는 이중 지불을 막았지만 장애 지점을 만들었습니다.
- 비트코인이 출시되기 전까지 RPOW는 널리 채택되지 못했습니다.
연습 아홉, 여섯, 셋, 하나
9모으기1980년부터 2005년까지의 디지털 현금 프로토타입 9가지를 나열하세요. 각각의 제작자, 연도, 이중 지불을 막는 주요 메커니즘을 적어 보세요.
6묶기9가지를 중앙화를 어떻게 다뤘는지에 따라 6개 그룹으로 나누세요: 완전 탈중앙화, 신뢰할 수 있는 제3자, 하드웨어로 보호되는 단일 노드, 쿼럼 기반, 기타.
3추리기6개 그룹을 보안, 확장성, 탈중앙화 사이의 3가지 근본적인 트레이드오프로 압축하세요.
1결정화검증 가능한 코드만으로는 왜 개방형 네트워크에서 이중 지불 문제를 해결하기에 부족했는지 한 문장으로 쓰세요.
팩트 체크
날짜, 수치 및 주장은 아래에 명시된 출처들을 통해 확인되었습니다.