블록체인/레벨 I · 화폐/1.2 사이퍼펑크가 걸어온 길/수업 4
해시캐시: 비트코인 이전의 작업증명(PoW)
봉인으로서의 연산 비용: 이메일 스팸에서 디지털 희소성까지
준비물온라인 SHA-256 해시 생성기카운터 값과 16진수 출력값을 기록하는 스프레드시트비트코인 백서, 4장
호기심
- 무엇 때문에 스탬프는 만들기에는 비용이 많이 들지만 확인하기에는 거의 비용이 들지 않을까?
- 확인하는 데 마이크로초밖에 걸리지 않는 해시 퍼즐이 왜 푸는 데는 몇 시간이나 걸릴까?
- 스팸 메일을 막기 위한 도구가 어떻게 화폐의 엔진이 되었을까?
탐구
- 1992년 신시아 드워크와 모니 나오르는 이메일 스팸에 대응하기 위해 ‘처리를 통한 가격 책정(Pricing via Processing)’을 제안했습니다. 핵심 통찰은 연산이 일종의 요금소 역할을 할 수 있다는 것이었습니다. 발신자에게 암호학적 퍼즐을 풀게 하면 대량 발송은 경제적으로 성립하지 않게 되고, 가끔 메일을 보내는 사용자는 영향을 받지 않습니다. 이 아이디어는 5년 동안 대체로 이론에 머물렀습니다.
- 아담 백은 드워크와 나오르의 논문을 모른 채 1997년 3월 해시캐시를 제안했습니다. 이 메커니즘은 발신자에게 논스(nonce), 즉 가변 문자열을 찾도록 요구했는데, 이메일 헤더와 그 논스를 결합한 값의 SHA-1 해시가 특정 개수의 0비트로 시작해야 했습니다. 이는 부분 충돌 탐색으로, 찾는 것이 검증하는 것보다 지수적으로 어렵습니다. 유효한 해답 하나하나가 발신자가 실제로 연산 노력을 들였음을 증명하는 ‘스탬프’ 역할을 했습니다.
- 해시캐시의 힘은 비대칭성에 있습니다. 유효한 스탬프를 만들려면 수천 번에서 수백만 번의 해시 시도가 필요해 시간과 전력이 소모되지만, 검증에는 마이크로초 단위로 끝나는 해시 연산 한 번이면 충분합니다. 이 일방향 함수는 복제가 보통 공짜인 매체에 희소성을 만들어 냅니다. 이메일 100만 통을 보내는 스패머는 100만 배의 작업을 해야 하지만, 수신자는 무시할 만한 부담으로 각 이메일을 검증합니다.
- 해시캐시는 화폐가 아니었습니다. 각 스탬프가 특정 수신자와 타임스탬프에 묶여 있어 양도할 수 없고 한 번만 쓸 수 있었기 때문입니다. 또한 하드웨어가 발전하면서 연산이 저렴해져 새 스탬프를 만드는 비용이 줄었고, 그만큼 가치도 떨어졌습니다. 해시캐시는 스팸 문제는 해결했지만 지속적인 가치 저장 속성을 만들어 내지는 못했습니다. ‘작업증명(proof of work)’이라는 용어 자체는 그보다 뒤인 1999년 마르쿠스 야콥손과 아리 쥘스가 이러한 연산 커밋먼트를 정식화하면서 등장했습니다.
- 사토시 나카모토는 비트코인 백서(2008년 10월) 4장에서 백의 해시캐시를 직접 인용하고, 이를 분산 타임스탬프 용도로 바꿔 활용했습니다. 해시캐시가 고정된 난이도로 SHA-1을 사용한 반면, 비트코인은 2016블록(약 2주)마다 재조정되는 가변 목표값에 대해 이중 SHA-256을 사용합니다. 이를 통해 네트워크 해시레이트가 늘어나더라도 약 10분의 블록 간격이 꾸준히 유지되어 발행 일정이 안정되고, 누적된 연산 비용으로 원장이 보호됩니다.
- 이 비대칭성을 직접 체험해 보세요. 아무 온라인 SHA-256 도구나 열고 ‘hello’라는 문자열을 해시합니다. 그런 다음 16진수 출력값이 ‘0’으로, 이어서 ‘00’으로 시작할 때까지 카운터(0, 1, 2...)를 덧붙여 봅니다. 시도 횟수가 기하급수적으로 늘어나는 것을 확인해 보세요. 이 무차별 대입 탐색은 채굴과 같은 원리입니다. 비트코인의 난이도 조정은 채굴자가 늘고 하드웨어가 발전할수록 목표값을 더 엄격하게 만들어 블록 생성 속도를 일정하게 유지하고, 프로토콜의 경제적 리듬을 지킵니다.
핵심 사실
- 드워크와 나오르는 이메일 발송에 비용이 들게 하려고 1992년 ‘처리를 통한 가격 책정(Pricing via Processing)’을 제안했습니다.
- 아담 백은 1997년 3월, SHA-1의 부분 충돌을 활용하여 해시캐시를 발표했습니다.
- 해시캐시 검증에는 해시 연산 한 번이 필요하고, 생성에는 0비트 k개를 얻기 위해 약 2^k번의 시도가 필요합니다.
- ‘작업증명(proof of work)’이라는 용어는 1999년 야콥손과 쥘스가 만들었습니다.
- 비트코인은 이중 SHA-256을 사용하며, 난이도 목표는 2016블록마다 재조정됩니다.
- 해시캐시 스탬프는 비트코인 단위와 달리 양도할 수 없으며 특정 수신자에게 묶여 있습니다.
연습 아홉, 여섯, 셋, 하나
9모으기암호학에서 나온 연산 퍼즐 또는 해시 기반 커밋먼트 9가지를 나열하세요. 각각의 원래 용도(스팸, 서명, 채굴)와 검증 비용을 적어 보세요.
6묶기9가지를 보안, 희소성, 또는 둘 다를 위해 설계되었는지, 그리고 양도 가능한지 일회용인지에 따라 6개 그룹으로 분류하세요.
3추리기6개 그룹을, 작업증명 토큰을 단순한 디지털 서명과 구별하는 3가지 속성으로 압축하세요.
1결정화복제가 원래 공짜인 환경에서 연산 비용이 왜 희소성을 만들어 내는지 한 문장으로 쓰세요.
팩트 체크
날짜, 수치 및 주장은 아래에 명시된 출처들을 통해 확인되었습니다.