양자 컴퓨팅과 당신의 코인: 정말로 위태로운 것은 무엇인가

·7분 읽기·작성자: SSP Editorial Team
SSP Academy 표지: 양자 컴퓨팅과 암호화폐 보안

양자 컴퓨팅과 당신의 코인: 정말로 위태로운 것은 무엇인가

양자 컴퓨팅은 암호화폐 주제 가운데 가장 한결같이 잘못 이야기되는 것입니다. 한쪽 진영은 모든 것이 곧 무너진다고 말하고, 다른 쪽은 수십 년 남았다며 생각을 접습니다. 양쪽 모두 정말 쓸모 있는 대목을 건너뜁니다. 체계의 어느 부분이 취약한지, 그리고 당신의 코인 가운데 어느 것이 드러나 있는지를 아는 일 말입니다.

답이 한결같지 않기 때문입니다. 어떤 출력은 다른 것들보다 뚜렷하게 더 위태롭고, 그 차이는 오늘 당장 손쓸 수 있는 것입니다.

두 알고리즘, 매우 다른 두 문제

거의 모든 우려는 1990년대의 두 결과로 귀결됩니다.

쇼어 알고리즘은 공개 키 암호가 기대고 있는 문제들을 효율적으로 풉니다. 소인수분해, 그리고 secp256k1 서명이 그 위에 세워진 이산 로그 문제입니다. 충분히 큰 양자 컴퓨터가 쇼어를 돌리면 공개 키에서 개인 키를 끌어낼 수 있습니다. 이것이 진짜 위협이고, 작은 위협도 아닙니다. 서명을 약화시키는 것이 아니라 통째로 깨뜨리기 때문입니다.

그로버 알고리즘은 구조 없는 탐색을 빠르게 하지만 제곱 수준에 그칩니다. 해시 함수에 대해서는 실효 보안을 대략 절반으로 줄입니다. SHA-256은 256비트에서 약 128비트 저항력으로 내려가는데, 그래도 여전히 손이 닿는 범위 밖입니다. 채굴에는 이론상의 가속이 생기지만 들리는 것보다 훨씬 덜 중요합니다. 작업 증명은 고정된 표적이 아니라 다른 채굴자들과의 경주이기 때문입니다.

그러니 정말 중요한 요약은 이렇습니다. 해싱은 괜찮고, 서명은 그렇지 않다. 진지한 우려는 전부 이 한 문장에서 갈라져 나옵니다.

왜 주소는 공개 키가 아닌가

대부분의 논의가 건너뛰는 대목이 여기이고, 당신의 노출 정도를 결정하는 것도 바로 여기입니다.

비트코인 주소는 공개 키가 아닙니다. 공개 키의 해시이고, 스크립트 기반 주소라면 스크립트의 해시입니다. 자금을 받을 때 공개 키는 체인에 나타나지 않습니다. 쓸 때 나타납니다. 쓰려면 서명과, 그 서명을 검증하는 키를 공개해야 하기 때문입니다.

여기서 두 부류의 코인이 생깁니다.

해시된 채 쓰이지 않은 것. 체인에는 해시만 보입니다. 이를 공격하려면 양자 적수가 먼저 해시를 깨야 하는데, 그로버로는 거기까지 가지 못합니다. 이런 출력은 서명과 아무 상관 없는 한 겹의 보호를 더 두르고 있습니다.

공개 키가 드러난 것. 어떤 주소에서 한 번 쓰고 나면 그 키는 영원히 공개됩니다. 그 뒤로도 그 주소에 남아 있는 것은 오직 서명 방식 자체만이 지킵니다.

이 구분 때문에, 오랫동안 오로지 프라이버시를 이유로 권해 온 "주소를 재사용하지 말라"는 조언이 양자 문제에서도 유효한 조언이 됩니다. 주소를 재사용한다는 것은 두 번째 입금이 해시가 아니라 드러난 공개 키 뒤에 놓인다는 뜻입니다.

오늘 실제로 드러나 있는 것

초기 비트코인 출력. 가장 이른 거래들은 해시가 아니라 공개 키로 곧장 지급했습니다. 그 맨 키들은 지금 이 순간 체인 위에 훤히 보입니다. 한 번도 움직인 적 없는 아주 오래된 코인의 상당 부분이 — 사토시의 것으로 추정되는 상당량을 포함해 — 여기에 듭니다.

재사용된 모든 주소. 한 번 쓰고 나면, 그 뒤로 거기서 받는 모든 것은 이미 공개된 키 뒤에 놓입니다.

한 번이라도 거래를 보낸 모든 이더리움 주소. 사람들이 놀라기 때문에 분명히 말해 둘 값어치가 있습니다. EVM 체인에서는 공개 키를 어떤 서명에서든 되찾을 수 있습니다. 어떤 주소가 거래를 단 한 번이라도 보냈다면 그 키는 사실상 공개된 것입니다. 이더리움에는 비트코인의 "해시된 채 쓰이지 않은" 부류에 해당하는 것이 없습니다.

Taproot 출력. Taproot은 공개 키의 해시가 아니라 공개 키 자체를 출력에 넣습니다. 프라이버시와 효율 양쪽에서 실질적인 이점이 있는 우아한 설계이고, 동시에 키 경로 출력은 자금이 들어온 순간부터 키를 드러낸다는 뜻이기도 합니다. 알아 둘 값어치는 있지만 오늘의 경보는 아닙니다.

멤풀의 창. 정작 쓸 때, 당신의 공개 키는 방송하는 그 순간 — 확인되기 전에 — 보이게 됩니다. 그 창 안에서 키를 끌어내고 경쟁 거래를 블록에 넣을 만큼 빠른 양자 공격자라면 이동 중인 자금을 훔칠 수 있을 것입니다. 실재하는 이론적 공격이고, 지금까지 시연된 무엇보다도 한참 위의 능력을 요구합니다.

SSP는 어디에 서 있는가, 솔직하게

SSP의 비트코인 주소는 P2WSH — 증인 스크립트의 해시입니다. 그래서 당신의 쓰이지 않은 코인은 해시된 부류에 듭니다. 쓰기 전에 체인에 있는 것은 해시이지 키가 아닙니다. 쓸 때는 스크립트와 두 공개 키가 드러나는데, 다른 모든 스크립트 기반 출력과 똑같습니다.

이제 과장하기 쉬운 대목이 오니, 과장하지 맙시다. 2-of-2 다중 서명이 양자에 도움이 될까요? 거의 안 됩니다.

이미 쓰인 당신의 스크립트를 상대로 쇼어를 돌리는 공격자는 키를 하나가 아니라 둘 끌어내야 합니다. 대략 두 배의 품입니다. 두 배는 상수 배수이고, 상수 배수는 보안이 아닙니다. secp256k1 키 하나를 깰 능력이 있는 적수라면 둘을 깰 능력도 거의 확실히 있습니다. 둘 중 둘 다중 서명은 기기 장악, 피싱, 절도, 그리고 단일 키에 대한 강요에 훌륭한 방어입니다. 암호학적으로 의미 있는 양자 컴퓨터 앞에서는 거의 무의미하고, 다중 서명을 양자 방어라고 파는 사람은 당신을 오도하고 있습니다.

정말로 중요한 것은 체인 층위에서 포스트 양자 서명으로 옮겨 가는 일이고, 그것은 지갑이 홀로 해낼 수 있는 일이 아닙니다.

이 모든 것이 얼마나 가까운가

전혀 가깝지 않습니다, 어떤 정직한 읽기로도.

쇼어로 secp256k1을 깨려면 크고 오류 정정을 갖춘 양자 컴퓨터가 필요합니다. 물리 큐비트는 잡음이 많아서 믿을 만한 논리 큐비트 하나를 만들려면 여러 개가 필요하고, 현실적인 키 길이를 공격하는 데 대해 발표된 추정치는 수백만 개의 물리 큐비트에 이릅니다. 오늘의 기계는 여러 자릿수만큼 모자랍니다 — 하드웨어 한 세대 더의 문제가 아닙니다.

그럼에도 이 주제를 무시할 이유가 되지 못하게 하는 것이 둘 있습니다.

첫째, 시간표는 정말로 불확실합니다. "여러 자릿수만큼 멀다"는 오늘을 정직하게 묘사하지만 2040년에 대한 자신만만한 예언의 근거로는 빈약합니다.

둘째, 더 중요하게는 드러난 키는 만료되지 않습니다. 암호화된 자료에는 "지금 거둬 두고 나중에 푼다"는 우려가 있습니다. 코인에서는 대응물이 더 단순하고 더 나쁩니다 — 오늘 보이는 공개 키는 계속 보이고, 그 뒤에 놓인 코인은 능력이 도착하는 순간 언제든 가져갈 수 있습니다. 닫히는 창이 없는 것이죠. 위협이 아직 멀더라도 내 코인이 어느 부류에 있는지를 지금 신경 쓸 이유가 여기 있습니다.

실제로 진행되고 있는 것

암호학적 기초 작업은 이미 있습니다. NIST는 포스트 양자 서명 방식을 표준화했습니다 — Dilithium과 SPHINCS+ 제안에서 나온 ML-DSA와 SLH-DSA이며, 오늘날 평범한 소프트웨어에 그대로 얹을 수 있습니다.

어려운 쪽은 블록체인입니다. 서명 방식을 바꾸는 것은 합의 변경입니다. 모든 노드, 모든 지갑, 모든 거래소, 모든 기반 시설이 동의하고 옮겨 가야 합니다. 포스트 양자 서명은 지금 쓰는 것보다 상당히 커서 블록 공간과 수수료에 곧바로 영향을 줍니다. 그리고 끝내 옮겨 가지 않은 주인의 코인을 어떻게 할지 누군가 결정해야 합니다 — 주인이 연락되지 않거나 이미 세상을 떠났을 수 있는 오래된 출력까지 포함해서요. 기술 문제 못지않게 까다로운 거버넌스 문제입니다.

작업은 진행 중입니다. 아직 급하지 않고, 급해질 때가 오면 여러 해가 걸릴 것입니다.

무엇을 할 것인가

주소를 재사용하지 마십시오. 프라이버시를 위해 이미 그렇게 하고 있어야 합니다. 게다가 이는 당신의 코인을 드러난 키 뒤가 아니라 해시된 부류에 머물게 합니다. 오늘 개인이 할 수 있는 유일하게 의미 있는 일이고, 게다가 공짜입니다.

이것 때문에 보유를 재편하지 마십시오. 어떤 공황성 조치도 정당하지 않습니다. 양자 컴퓨팅을 들먹이며 자금을 급히 옮기라고 재촉하는 사람은 사기를 치고 있거나 무언가를 팔고 있습니다.

위협의 비율을 지키십시오. 현실적으로 당신이 암호화폐를 잃을 가능성은 양자 컴퓨터보다 잃어버린 시드 문구, 피싱 사이트, 읽지 않고 승인한 권한 쪽이 훨씬 큽니다. 그것들이 오늘의 위험이고 오늘의 주의를 받아야 마땅합니다.

프로토콜 층위에서 처리되리라 예상하십시오. 이전이 올 때, 그것은 긴 과도기를 동반한 체인 업그레이드로 오지, 당신의 지갑이 조용히 고쳐 주는 무언가로 오지 않습니다.

정직한 입장은 멋이 없습니다. 실재하고, 제대로 짚였고, 아직 멀고, 다뤄지고 있는 문제 — 그리고 지금으로서는 당신과 돈을 잃는 일 사이에 서 있는 그것이 아닙니다.

이 글 공유하기

관련 글