신규: Helius가 Light Protocol을 인수했습니다
양자 컴퓨팅 배너
블로그/연구

Solana가 양자 컴퓨팅에 대비하려면 무엇을 바꿔야 할까요?

연구원X의 Adam Pospisil
읽는 데 14분

이 글의 이전 버전을 검토해 주신 Kobi, Lostin, Quentin, Ichigo, Aseneca, Dean에게 깊이 감사드립니다.

최근 몇 달 동안 양자 내성 암호로 전환할 시간이 몇 년밖에 남지 않았으며, Solana가 이런 상황에서 가장 먼저 피해를 볼 수 있다는 여러 비관적인 주장이 제기되었습니다. 이러한 주장을 얼마나 시급하게 받아들이거나 신뢰하는지와 무관하게, 현재 조건에서 Solana가 양자 내성 암호로 전환한다면 프로토콜에서 무엇을 바꿔야 하는지 정리해 보는 것은 유용합니다.

양자 컴퓨팅 간략 소개

양자 컴퓨팅은 이진 논리를 기반으로 하는 고전적 모델과 다른 컴퓨팅 패러다임입니다. 양자 컴퓨터는 정보를 0과 1로만 처리하지 않고, 양자역학 법칙을 따르는 물리적 시스템인 큐비트를 사용합니다. 큐비트는 여러 상태에 동시에 존재할 수 있으며, 이 특성을 중첩이라고 합니다. 덕분에 양자 프로세서는 여러 가능한 해법을 병렬로 탐색할 수 있습니다.

양자 컴퓨팅의 의의는 모든 연산을 빠르게 처리하는 데 있지 않습니다. 매우 구체적인 문제의 처리 속도를 높이는 데 있습니다. 이론적으로 강력하지만, 오늘날의 양자 장치는 이러한 알고리즘을 유의미한 규모로 실행하기에는 아직 역부족입니다.

양자 컴퓨터가 현대 공개 키 암호를 위협하는 데 필요한 규모에 언제 도달할지, 심지어 실제로 도달할 수 있을지 아무도 모릅니다. Ed25519 같은 방식을 깨려면 수십만~수백만 개의 안정적인 큐비트, 매우 정교한 오류 수정, Shor 알고리즘 같은 심층 양자 회로를 실행할 수 있을 만큼 긴 결맞음 시간이 필요합니다. 현재 이러한 장치는 이론에만 존재합니다. 기존 양자 프로세서는 잡음이 많고 수명이 짧은 물리적 큐비트를 사용하며, 오류율도 암호 해독을 유의미하게 시도하기에는 지나치게 높습니다. 최첨단 장치조차 논리적 큐비트가 아닌 물리적 큐비트를 수백~수천 개 정도만 제공합니다. 게이트 충실도와 결맞음 특성도 실제 공격에 필요한 수준보다 몇 자릿수 이상 낮습니다.

그럼에도 양자 컴퓨팅이 장기적으로 미칠 잠재적 영향은 상당합니다. 따라서 블록체인을 비롯한 보안 핵심 시스템은 양자 내성 프리미티브로 전환하려면 무엇이 필요한지 검토해야 합니다.

양자 공격

현대 암호는 고전 컴퓨터가 효율적으로 풀 수 없다는 난이도 가정에 의존합니다. 양자 컴퓨터에는 서로 다른 암호 프리미티브를 위협하는 두 가지 주요 알고리즘이 있습니다. 바로 Shor 알고리즘과 Grover 알고리즘입니다.

Shor 알고리즘은 RSA, Diffie–Hellman, 그리고 Solana에 특히 중요한 타원 곡선 암호를 효율적으로 무력화합니다. 즉, 공격자가 공개 키로부터 비밀 키를 도출할 수 있습니다. 여기에는 Solana 프로토콜 전반에서 핵심 서명 방식으로 사용하는 Ed25519도 포함됩니다. 따라서 Shor 알고리즘은 장기적으로 유의미한 양자 위협입니다.

Grover 알고리즘은 무차별 대입 탐색을 제곱근 수준으로 가속할 뿐입니다. SHA-256의 실효 보안을 128비트로 낮추지만, 여전히 현실적인 위협 범위를 훨씬 넘어섭니다. 대칭 암호, Merkle 트리, 해싱에서는 대규모로 Grover 알고리즘을 실행할 수 있는 양자 장치를 구축하는 것보다 고전 하드웨어를 확장하는 편이 비용 효율적입니다. 따라서 Grover 알고리즘은 Solana의 장기 보안 모델에서 현실적인 우려 사항이 아닙니다.

대규모 양자 컴퓨터는 현재의 공개 키 암호를 근본적으로 무력화할 수 있습니다. 이에 따라 양자 공격에도 안전한 방식을 개발하는 양자 내성 암호(PQC)라는 분야가 등장했습니다.

NIST(미국 국립표준기술연구소)는 현재까지 두 가지 양자 내성 디지털 서명 방식을 표준화했습니다.

  1. ML-DSA: CRYSTALS-Dilithium에서 파생된 격자 기반 방식
  2. SLH-DSA: SPHINCS+에서 파생된 해시 기반 방식

두 방식 모두 현재의 타원 곡선 프리미티브보다 훨씬 큰 공개 키와 서명을 사용합니다. 양자 컴퓨터의 위협이 임박하지 않는 한 Solana 같은 고처리량 시스템이 조기에 전환하기는 어렵습니다.

ML-DSA보다 작은 대안으로 설계된 FALCON 기반의 FN-DSA도 있습니다. 현재는 제안서 초안으로만 존재하며 아직 NIST 표준으로 승인되지 않았습니다.

방식공개 키 크기서명 크기보안 수준PQ 지원
Ed2551932 B64 B128비트아니요
ML-DSA1312 B2560 B128비트예
FN-DSA897 B666 B128비트예
SLH-DSA64 B7856 B128비트예

양자 내성 암호는 여전히 매우 활발하게 개발되고 있습니다. Ed25519를 상대로 Shor 알고리즘을 실행할 수 있는 양자 컴퓨터가 등장하기 훨씬 전에 더 효율적인 방식이 발견될 가능성이 큽니다. HAWK 서명 같은 초기 비표준 접근법은 유망해 보이지만, 아직 연구 단계에 있습니다.

인터넷 대역폭은 Nielsen의 법칙에 따라 증가하고 있으며, Solana의 트랜잭션 크기 제한도 이미 2026년에 4096바이트로 늘어날 예정입니다. 따라서 프로토콜의 향후 전환을 준비하되, 더 효율적인 방식이 나올 때까지 완전한 PQ 전환을 미루는 것이 합리적입니다. 그동안 Winternitz처럼 검증된 해시 기반 일회용 서명 방식에 기반한 볼트 구조를 활용할 수도 있습니다. 이러한 방식은 양자 공격에도 장기적인 보안을 제공합니다. 이러한 솔루션은 현재 Solana에 이미 존재합니다.

이 글에서는 Ed25519에 의존하는 Solana의 합의 핵심 부분만 다룹니다. 완전한 양자 내성 전환에는 검증인 통신, 암호화된 네트워크 채널, 대칭 암호 같은 다른 구성 요소도 포함됩니다. 이러한 영역에도 PQ 안전 또는 하이브리드 대체 방식이 필요하지만, 이 글의 범위에서는 제외합니다.

주소와 트랜잭션 서명

Solana의 외부 소유 계정(EOA)은 공개 키를 주소로 사용합니다. Ed25519의 32바이트 공개 키가 식별자이자 검증 키 역할을 합니다. 양자 내성 방식은 이 모델을 바꿉니다. 이러한 변경 사항은 기존 TX 형식을 수정하는 대신 새로운 주소 형식과 트랜잭션 버전으로 도입하는 것이 자연스럽습니다.

  • PQ 공개 키는 훨씬 크기 때문에 32바이트 주소에 공개 키를 직접 인코딩할 수 없습니다. 대신 주소는 PQ 공개 키와 서명 방식 식별자를 해싱한 값이 됩니다.
  • 전환 기간에 PQ 주소가 기존 Ed25519 주소와 공존한다면, PQ에서 파생된 해시가 Ed25519 곡선상의 점과 충돌할 수 없도록 주소 공간을 구성해야 합니다. 그래야 해당 주소에 대응하는 Ed25519 비밀 키가 존재하지 않습니다. 이는 PDA가 bump seed를 사용해 유효한 Ed25519 점이 되지 않도록 하는 방식과 비슷합니다.
  • PDA 보안은 영향을 받지 않습니다. PDA는 SHA-256의 제2 역상 저항성에 의존하며, 현실적으로 예상 가능한 미래의 Grover 알고리즘 응용으로는 이를 위협할 수 없습니다.
  • 현재 트랜잭션 ID는 트랜잭션의 첫 번째 Ed25519 서명입니다. PQ 서명은 훨씬 크므로 이 방식은 바뀌어야 합니다. 자연스러운 대안은 트랜잭션 ID를 트랜잭션 페이로드의 해시로 정의하는 것입니다. 그러면 특정 서명 방식에 종속되지 않고 미래에도 호환됩니다.

사용자 계정뿐 아니라 Solana의 모든 권한 키도 Ed25519 공개 키입니다. 여기에는 계정 소유자, 민트 권한, 동결 권한, 업그레이드 권한, 스테이크 및 출금 권한, 검증인 신원 키, 투표 권한 키 등 모든 형태의 프로토콜 또는 프로그램 수준 권한이 포함됩니다. 이들은 의미적 역할만 다를 뿐 모두 Ed25519 키 쌍입니다. 따라서 사용자 주소와 트랜잭션 서명 키와 동일한 양자 내성 전환 제약을 받습니다.

Votor 섹션에서 살펴보겠지만, 현재 BLS 같은 집계 서명에 대응하는 PQ 방식은 없습니다. 향후 이러한 방식이 등장하면 메시지 본문에 대한 서명도 집계해 서명이 여러 개인 트랜잭션에서 많은 공간을 절약할 수 있습니다. 잠재적으로 Ed25519보다 적은 공간을 사용할 수도 있습니다.

Votor

Votor, 즉 Alpenglow 합의 업그레이드의 투표 부분은 검증인 간 전대전 투표 구조에 의존합니다. 검증인은 매 슬롯마다 다른 모든 검증인에게 투표를 보내며, 정족수에 도달하면 인증서를 생성할 수 있습니다.

현재는 BLS 집계가 작은 서명과 집계 인증서를 제공하므로 효율적입니다. PQ 환경에서는 상황이 달라집니다.

현재 BLS 집계에 대응하면서 실용적으로 배포할 수 있는 PQ 방식은 없습니다. Chipmunk 같은 격자 기반 집계 구상을 포함해 여러 연구가 진행 중입니다. 근본적으로 불가능해 보이는 방식은 없지만, 아직 Solana의 실시간 요구 사항을 충족할 만큼 효율적이지 않습니다. 원칙적으로 다수의 서명이 유효함을 증명할 수 있는 STARK 기반 집계 방식도 있습니다. 하지만 수백 개의 검증인 서명에 대한 증명을 생성하기에는 아직 너무 느립니다.

가까운 미래에 서명 집계를 도입해야 한다면 대역폭 영향을 크게 줄이도록 Votor를 조정할 수 있습니다. 인증서를 모든 피어에게 브로드캐스트하는 대신 다음 한두 명의 리더와 무작위로 선택된 소수의 스테이크에만 전체 인증서를 전달하는 방식입니다. 대역폭 요구량은 늘어나지만 현재 Alpenglow 이전 gossip 계층과 비슷한 수준을 유지합니다.

물론 검증인 수를 줄여도 문제를 완화할 수 있습니다. 향후 프로토콜 변경이나 경제적 설계로 검증인 집합이 훨씬 작아지면 PQ 시대의 투표 및 서명 처리에 필요한 대역폭과 연산량을 상당히 쉽게 관리할 수 있습니다. 검증인이 적으면 전대전 통신 규모와 인증서 생성 비용이 줄어들며, 최적화가 부족한 PQ 집계 방식도 실제로 활용하기 쉬워집니다. 그러나 이러한 축소는 탈중앙화와 장애 허용성 측면에서 별도의 절충을 요구합니다. 따라서 시스템의 보안 목표와 신중하게 비교해야 합니다.

Rotor (Turbine)

Rotor는 Turbine 프로토콜의 후속 기술이자 Alpenglow 업그레이드의 데이터 전파 프로토콜입니다. 블록을 빠르고 효율적으로 배포하는 Solana의 단일 릴레이 네트워크입니다. 리더는 블록을 slice 또는 Forward Error Correction 세트라고 하는 더 큰 단위로 나눕니다. 각 slice는 여러 샤드로 구성됩니다. slice는 순방향 오류 수정 구조를 제공하고, 샤드는 Rotor를 통해 배포되는 MTU 크기의 패킷 역할을 합니다. 리더는 트리의 첫 번째 계층에 있는 소수의 노드에만 샤드를 전송합니다. 각 노드는 샤드를 검증한 뒤 자신의 하위 노드에 전달합니다. 리더가 모든 노드에 직접 브로드캐스트하는 대신 여러 노드의 대역폭을 장애 허용 방식으로 활용합니다. Rotor는 이 구조와 Forward Error Correction을 결합합니다. 따라서 노드는 샤드 일부만 받아도 전체 블록을 재구성할 수 있습니다. 패킷 손실에 대한 복원력을 확보하면서 매우 높은 처리량을 유지합니다.

악의적이거나 유효하지 않은 샤드가 네트워크를 통해 전파되지 않도록 각 샤드에는 리더의 서명이 포함됩니다. Ed25519 서명이 작기 때문에 가능한 방식입니다. PQ 서명은 훨씬 크고 MTU 제한을 초과하는 경우가 많으므로 각 샤드에 삽입하기 어렵습니다.

현실적으로 적용할 수 있는 PQ 호환 접근법은 두 가지입니다.

A) slice(FEC 세트)당 서명 하나

실용적인 접근법은 다음과 같습니다.

  • slice(FEC 세트) 크기 확대
  • 악의적인 노드가 출처를 추적할 수 없는 위조 샤드를 주입하지 못하도록 검증인 간 채널 인증
  • 해당 slice의 모든 샤드에 대해 Merkle root를 계산하고 리더가 그 root에만 서명하도록 구성(현재 시스템도 이미 이 방식으로 작동함)
  • 각 샤드에 Merkle proof를 포함하되 서명은 포함하지 않음

검증인은 서명된 root에 대한 Merkle proof로 샤드의 진위를 검증합니다. 유효하지 않은 샤드는 즉시 거부되므로 파이프라이닝과 Rotor의 스테이크 가중 릴레이 설계와의 호환성이 유지됩니다.

B) 전체 블록당 서명 하나

가능한 또 다른 접근법은 다음과 같습니다.

  • 리더가 최종 블록 해시, 즉 모든 샤드의 벡터 커밋먼트에만 서명
  • 즉각적인 서명 기반 인증 없이 슬롯 전체에서 샤드 전달
  • 블록이 완성되면 검증인이 PQ 서명 하나를 검증하고 수신한 모든 샤드가 인증된 블록 해시와 일치하는지 확인

이 모델에서는 다음과 같이 작동합니다.

  • 검증인은 블록 서명을 확인하기 전까지 진위를 검증할 수 없으므로 슬롯이 진행되는 동안 유효하지 않은 샤드를 감지할 수 없습니다.
  • 블록이 완성되면 유효하지 않은 샤드를 감지합니다. 원인을 제공한 릴레이 노드를 식별해 Rotor에서 일시적으로 차단 목록에 추가할 수 있습니다.
  • 이 접근법에도 검증인 간 인증된 채널이 필요합니다.

두 전략 모두 PQ 환경에서 Rotor의 주요 병목인 대형 PQ 서명을 모든 샤드에 삽입할 필요가 없습니다.

오해

오해 1: “양자 컴퓨터가 비대칭 암호를 무력화한다면 암호화폐보다 더 큰 문제가 생깁니다.

양자 컴퓨터가 공개 키 암호를 무력화할 수 있게 되는 순간 은행, 정부, 결제 네트워크를 비롯한 디지털 세계 전체가 한꺼번에 붕괴한다는 주장이 많습니다. 그러나 실제로 중앙화 시스템은 새로운 암호로 훨씬 쉽게 전환할 수 있습니다. 은행이나 정부는 내부적으로 키를 교체하고 인프라를 업데이트하며 사용자가 새로운 보안 채널을 사용하도록 강제할 수 있습니다.

퍼블릭 블록체인은 그렇게 할 수 없습니다. 블록체인은 사용자 본인의 마이그레이션 트랜잭션 서명 없이 수백만 개의 사용자 키를 중앙에서 교체할 수 없습니다. 모든 사용자는 현재의 비밀 키, 즉 바로 취약해지고 있는 그 키를 사용해 자산을 양자 내성 주소로 옮겨야 합니다. 따라서 탈중앙화 시스템의 전환은 중앙화 서비스보다 훨씬 복잡하고 시간에 민감합니다.

오해 2: “한 번도 사용하지 않은 주소라면 안전합니다.”

이는 일부 체인에서만 부분적으로 사실입니다. Bitcoin이 대표적입니다. 이러한 설계에서 코인은 대개 해시 뒤에 잠겨 있으며(예: P2WPKH), 사용자가 해당 주소에서 자산을 사용할 때만 공개 키가 드러납니다. 그전까지는 실제 공개 키가 숨겨집니다. 하지만 한 번이라도 자산을 사용하면 이 보호는 사라집니다. 공개된 키는 영구적으로 노출되며, 양자 이후 세계에서는 Shor 알고리즘의 공격 대상이 됩니다.

그러나 Solana는 다른 모델을 사용합니다. 모든 주소가 공개 키입니다. ‘숨겨진’ 계층도 없고 해싱을 통한 역상 보호도 없습니다. 따라서 충분히 강력한 양자 장치가 등장하면 Solana의 모든 외부 소유 계정은 기본적으로 Shor 알고리즘에 취약합니다. 사용하지 않은 주소를 보호하는 안전망은 없습니다.

오해 3: “양자 컴퓨터의 등장이 임박했습니다.”

지난해 상당한 엔지니어링 발전이 있었지만 양자 컴퓨터의 성능은 여전히 극히 제한적입니다. 현재 장치에서는 Shor 알고리즘의 실험용 버전만 실행할 수 있습니다. 일반적으로 21 같은 숫자의 소인수분해로 시연하는데, 이는 사소한 작업이며 실제 암호 해독에는 아무런 가치가 없습니다.

현대 암호를 무력화하려면 수십만~수백만 개의 안정적인 큐비트, 극도로 낮은 오류율, 긴 결맞음 시간, 오류가 수정된 심층 회로가 필요합니다.

오해 4: “Grover 알고리즘은 해시 함수를 무용지물로 만듭니다.”

Grover 알고리즘은 무차별 대입 탐색을 제곱근 수준으로 가속합니다. SHA-256에서는 256비트 보안이 약 128비트로 낮아집니다. 하지만 이조차 현실적인 공격 범위를 훨씬 넘어섭니다. 특히 Grover 알고리즘을 대규모로 실행할 수 있는 양자 장치를 구축하는 엄청난 난이도를 고려하면 더욱 그렇습니다.

대칭 암호, Merkle 트리, Solana의 PDA를 포함한 해시 기반 구조에서는 양자 공격에 의존하는 것보다 고전 컴퓨팅을 확장하는 편이 저렴하고 실용적입니다.

오해 5: “양자 컴퓨터는 공개 키에서 시드 구문을 추출할 수 있습니다.”

어떤 양자 알고리즘도 공개 키에서 시드 구문을 마법처럼 도출할 수 없습니다. 시드 구문은 공개 키에 수학적으로 내장되어 있지 않으며, 공개 정보에서 지갑 시드를 노출하는 가역적 매핑도 없습니다. 양자 컴퓨터는 공개 키에서 비밀 키를 도출할 수 있지만, 그보다 더 ‘상위’로 거슬러 올라가 해당 키 쌍을 처음 생성한 시드 구문을 복원할 수는 없습니다.

시드 구문은 단방향 키 파생 함수를 통해 비밀 키를 생성하며, Shor 알고리즘은 이러한 함수를 역산할 수 없습니다. 양자 공격자가 비밀 키를 얻는 것만으로도 재앙입니다. 트랜잭션에 서명할 수 있기 때문입니다. 하지만 시드 구문을 복제하거나 복구할 수는 없습니다. 시드 구문은 다른 파생 경로를 사용해 새로운 PQC 키를 보호할 수 있습니다.

결론

Solana는 당장 양자 내성 암호로 전환할 필요가 없습니다. 전환하려면 더 큰 PQ 공개 키를 담을 수 있도록 트랜잭션 형식을 변경하고, 파생된 주소 해시가 곡선 밖에 있도록 보장하는 로직을 추가해야 합니다. 충돌을 피하기 위해 bump 또는 salt를 사용할 수 있습니다. 또한 런타임 내에서 여러 PQ 방식을 검증할 수 있어야 합니다. 가장 큰 비용은 트랜잭션 크기 증가와 검증 연산량 증가입니다. PQ 서명은 Ed25519보다 처리 비용이 높기 때문입니다. 실용적인 양자 컴퓨터의 등장 시점에 대한 전망은 ‘몇 년 후’부터 ‘영원히 불가능’까지 다양합니다. 현재의 PQ 서명 방식은 초고처리량에 최적화된 시스템에서 사용하기에는 상당히 크고 느립니다.

하지만 언젠가 전환이 필요해진다면 개념적인 경로는 명확합니다. 불가능한 변경은 없지만, Solana에서 성능에 가장 민감한 일부 하위 시스템을 재구성해야 합니다. 다행인 점은 신뢰할 만한 양자 위협이 등장할 때쯤에는 암호 기술 환경이 지금과 크게 달라지고 훨씬 효율적인 PQ 프리미티브가 존재할 가능성이 크다는 것입니다.

참고 자료

Helius 구독하기

최신 Solana 개발 소식을 확인하고 새 게시물 알림을 받아보세요