🛡️심화

심화 · 양자내성 암호 (PQC)

이 책의 모든 신뢰는 결국 하나의 가정 위에 서 있다. "개인키에서 공개키는 만들 수 있지만, 공개키에서 개인키는 역산할 수 없다"(2장). 이 가정은 현재의 컴퓨터로는 사실이다. 그런데 충분히 강력한 양자컴퓨터가 등장하면, 이 한 문장이 무너진다.

이 챕터의 질문

공개키에서 개인키를 역산할 수 있는 컴퓨터가 등장해도, 블록체인의 신뢰는 유지될 수 있을까?

왜 블록체인이 위협받나

블록체인이 쓰는 암호는 크게 두 종류고, 양자컴퓨터 앞에서의 운명이 서로 달라요.

서명(ECDSA): 치명적 위협. 2장에서 본 타원곡선 서명의 안전성은 "이산로그 문제는 풀 수 없다"에 기대요. 그런데 쇼어 알고리즘(Shor's algorithm) 을 돌릴 수 있는 대규모 양자컴퓨터는 이 문제를 효율적으로 풀어요. 공개키만 있으면 개인키를 역산할 수 있다는 뜻이에요.

해시(SHA-256, Keccak-256): 상대적으로 안전. 양자컴퓨터의 그로버 알고리즘(Grover's algorithm) 은 해시 역산을 빠르게 하지만, 보안 강도를 절반으로 줄이는 수준이에요(256비트 → 128비트 상당). 출력 길이를 늘리면 대응돼요. 3장의 블록 해시 연결 자체는 비교적 견고하다는 뜻이에요.

그러면 블록체인에서 공개키는 언제 노출될까요? 여기 미묘한 구조가 있어요.

  • 2장에서 본 것처럼, 주소는 공개키의 해시예요. 받기만 한 주소는 공개키가 아직 드러나지 않은 상태예요.
  • 그런데 한 번이라도 송금하면, 서명 검증을 위해 공개키가 체인에 공개돼요. 블록체인은 모든 기록이 영구 보존되니, 그 공개키는 영원히 거기 있어요.

즉 위협 시나리오는 이래요. 지금 공개돼 있는 수많은 공개키들을 수집해 두었다가, 양자컴퓨터가 완성되는 날 개인키를 역산해 자산을 탈취하는 것. 인터넷 보안에서 말하는 "지금 수집하고, 나중에 해독한다(Harvest now, decrypt later)"의 블록체인 버전이에요. 일반 통신은 암호를 바꾸면 과거 노출이 끊기지만, 블록체인은 과거가 지워지지 않는 장부라서 전환이 더 절실해요.

받기만 한 주소공개키는 아직 숨겨짐주소 = 공개키의 해시(SHA-256)안전: 공개키 자체가 안 보임송금하면서명 검증을 위해공개키가 체인에 영구 공개수집양자컴퓨터Shor 알고리즘공개키 → 개인키 역산수집 후 해독 (Harvest now, decrypt later)해시(SHA-256)는 상대적 안전비대칭키 역산과 다른 구조Grover 알고리즘보안 강도를 절반 수준으로 낮출 뿐, 즉시 깨지지 않음
주소는 공개키의 해시라 안전하지만, 한 번 송금하면 서명 검증을 위해 공개키가 체인에 영구 공개된다. 이 노출된 공개키를 양자컴퓨터가 Shor 알고리즘으로 역산한다

양자내성 알고리즘: Dilithium, XMSS, WOTS

양자내성 암호(PQC, Post-Quantum Cryptography) 는 양자컴퓨터로도 풀기 어려운 수학 문제 위에 서명 체계를 다시 세우는 거예요. 블록체인 맥락에서 자주 거론되는 세 가지를 볼게요.

Dilithium (표준명 ML-DSA): NIST가 2024년 확정한 표준 서명 알고리즘이에요. 격자(lattice) 문제, 쉽게 말해 고차원 공간에서 특정 점을 찾는 문제의 어려움에 기반해요. 쇼어 알고리즘이 통하지 않는 문제 계열이에요. 범용 서명의 표준 후보라서, 블록체인뿐 아니라 TLS·금융 인프라 전반의 전환 대상이에요.

WOTS (Winternitz One-Time Signature): 해시 함수만으로 만드는 서명이에요. 해시가 양자에 비교적 강하다는 성질을 그대로 물려받아요. 단, 이름대로 키 하나로 한 번만 서명할 수 있어요. 같은 키로 두 번 서명하면 개인키 정보가 누출되기 시작하거든요.

XMSS: WOTS의 일회성 한계를 풀기 위해, 일회용 키 수천 개를 머클 트리로 묶어 하나의 공개키로 만든 구조예요. 서명할 때마다 트리의 다른 잎(일회용 키)을 쓰고, "이 잎이 트리에 속한다"는 머클 증명을 함께 제출해요. 3장에서 본 머클 증명이 서명 체계 안으로 들어온 거예요. 대신 상태 관리가 필요해요. 어떤 잎을 썼는지 기록을 잃으면 키 재사용 사고로 이어져요.

알고리즘기반 문제특징비고
ECDSA (현재)타원곡선 이산로그서명 ~70바이트쇼어 알고리즘에 취약
Dilithium (ML-DSA)격자서명 ~2.4KBNIST 2024 표준
WOTS해시일회용단독으론 실용성 낮음
XMSS해시 + 머클 트리서명 ~2.5KB, 상태 관리 필요RFC 8391
서명 알고리즘서명 크기 (막대 길이 = 실제 크기 비례)ECDSA현재 · 타원곡선~70 BShor에 취약Dilithium / ML-DSA격자 기반~2.4 KBNIST 2024 표준WOTS해시 기반일회용키 1회만 사용 가능XMSS해시 + 머클트리~2.5 KB상태 관리 필요핵심: 양자내성 서명은 현재(ECDSA)보다 수십 배 크다
막대 길이는 서명 크기에 비례한다. ECDSA의 70바이트에 비해 양자내성 서명은 수십 배 크다. 이 크기 증가가 블록 용량과 수수료에 직접 영향을 준다

표에서 눈에 띄는 게 서명 크기예요. 양자내성 서명은 현재 서명보다 수십 배 커요. 3장에서 본 것처럼 블록 공간은 희소 자원이고 모든 노드가 모든 서명을 영구 저장하니, 서명이 30배 커지면 처리량과 저장 비용에 그대로 부딪혀요. 양자내성 전환이 단순한 알고리즘 교체가 아니라 프로토콜 차원의 설계 문제인 이유예요.

핵심 요약

개념내용
쇼어 알고리즘양자컴퓨터로 이산로그를 풀어 ECDSA를 무력화
그로버 알고리즘해시 보안 강도를 절반으로. 해시는 상대적으로 견고
공개키 노출송금 시 공개키가 영구 공개. "수집 후 해독" 위협
Dilithium (ML-DSA)격자 기반, NIST 2024 표준 서명
WOTS / XMSS해시 기반 일회용 서명 / 머클 트리로 다회화
전환 과제서명 크기 수십 배 증가, 자산 이전 경로 설계
📚 참고자료 보기