양자컴퓨터로 VS 비트코인 보안
최근 구글에서 양자컴퓨터 윌로우(Willow) 칩을 발표했다. 이 칩을 탑재한 양자컴퓨터는 슈퍼컴퓨터가 10셉틸리언(septillion·10자)년 걸리는 계산을 5분 안에 해내는 것으로 알려졌다. 10셉틸리언은 10의 25제곱으로, 1조의 10조 배에 달하는 수다.
이 칩이 발표되면서 금융 시스템을 포함한 국가 기밀과 비트코인 같은 블록체인 기반 암호까지 해킹이 가능한가를 놓고 IT업계가 뜨겁게 불타오르고 있다. 다른 업계 종사자들까지 가세해 ‘가능성이 있을 것이다’ ‘절대 못한다’로 나뉘어 열띤 토론을 벌이고 있다. 구글의 신형 양자컴퓨터 개발 소식이 전해진 뒤 비트코인 가격이 하락한 것도 이 때문이다
그래서 양자컴퓨터가 개발된다는 가정 하에 비트코인이 어떤 식으로 해킹이 되는지, 해킹되기 위해서는 얼마만큼의 큐비트(Qubit: 퀀텀비트의 줄임말로 양자 정보시스템에서 사용되는 최소의 정보단위)가 필요한지 최대한 쉽게 설명하고자 한다.
비트코인 어떻게 해킹할 수 있나
비트코인 같은 블록체인 암호화폐는 크게 두 가지 방법으로 해킹이 가능하다.
첫 번째는 전자서명 부분을 해킹하는 것이다. 암호화폐인 비트코인을 다른 사람과 거래를 한다거나 결제 등 여러 거래 내역 등이 모두 공유되는 개념이기 때문에 현재 이 거래가 사실인지 확인할 방법이 필요하다. 여기서 사용되는 방식이 개인 키(Private Key)와 공개 키(Public Key)다.
개인 키는 본인이 가지고 있는 키다. 공인인증서처럼 내 비밀번호 또는 내 지문을 생각하면 된다. 개인 키는 공인인증서처럼 나임을 증명하는, 그러니까 이 거래는 내가 했다는 인증 도장 역할을 하는 것이다. 공개 키는 개인 키와 연동되어 이 개인 키가 고유한 것인지 아닌지를 확인하기 위한 시스템이다. 이것이 전자서명 방식(ECDSA)이다.
해킹 타겟으로 가장 난이도가 낮아 보이는 개인 키를 해킹, 성공하면 내가 100만 원을 보낸 것을 1000만 원을 보냈다고 할 수도 있고 수취인을 다른 사람으로 바꿀 수도 있다.
두 번째 해킹 방법은 블록체인의 기본 개념에서 시작된다. 블록체인이 무엇인가. 예를 들어 A와 B와 C라는 3개의 같은 종류 블록이 연달아 있다고 가정해 보자. 시작이자 시초가 되는 A블록을 시작으로 B블록에는 A블록 내용이 암호화되어 해쉬(Hash)라는 것을 남겨둔다. 그래서 B블록에는 B블록의 데이터와 A블록의 데이터가 같이 있는 것이다. C블록도 마찬가지로 B블록의 암호화 데이터가 남겨져 있다. ‘사슬같이 연결되어 있다’ 해서 블록체인이라 하는 것이다.
여기에 활용되는 SHA-256이라는 것은 해쉬 함수로 256비트로 이루어진 암호화 함수다. 일반인들도 쉽게 SHA-256 알고리즘을 인터넷에서 접할 수 있는데, 일반적인 텍스트를 SHA-256로 번역해주는 번역기가 있다. 단순히 아무 말이나 써도 점 하나만 찍어도, 256비트의 무작위로 보이는 숫자와 알파벳들이 규칙성 없이 천차만별 바뀌는 것을 볼 수 있다. 거래 기록에 점 하나만 찍히더라도 SHA-256이라는 해쉬 함수 특성상 256비트의 숫자들이 혼란스럽게 바뀌도록 되어 있다.
발전된 양자컴퓨터를 통해 그 변화무쌍한 SHA-256 자체를 해킹할 수 있다면, 그러니까 저 해쉬 함수를 해독할 수 있다면 비트코인을 해킹할 수 있는 것이다.
비트코인은 왜 해킹하지 못하나
위의 두 가지 방법으로 해킹이 가능하다면, 해킹할 때 얼마나 많은 양자컴퓨터의 큐비트가 필요할까.
첫 번째로 양자컴퓨터가 개인 키를 해킹하려면, 개인 키(Da)와 공개 키(Qa) 사이에 아래와 같은 수식적 관계가 있다고 보면 된다(사진 참조). 개인 키의 용량도 256비트인데, 쉽게 말해 2의 256승번을 반복해 넣어보면서 이 암호가 맞는지 틀린지를 비밀번호 풀듯 맞춰 보는 것이다. 지금의 컴퓨팅 방식으로는 도저히 해결할 수 없는 방식이다.
그런데 양자컴퓨터가 등장하면 그 알고리즘으로 2의 256승보다 훨씬 더 낮은 수준의 컴퓨팅을 통해 해결할 수 있다. 여기서 이용되는 것이 양자컴퓨터의 쇼어 알고리즘(Shor’s ALG)인데, 256비트 크기의 개인 키를 해석하는데 2의 256승을 일일이 해보는 것이 아니라 패턴을 찾는 데 중점을 두는 것이다.
양자컴퓨터는 일반 컴퓨터와는 다르게 큐비트들이 얽혀있고 이걸 동시에 계산할 수 있는 특성을 지녔다. 이를 이용해 개인 키와 공개 키 사이에 어떠한 패턴이 있는 것을 뽑아내면, 그 패턴을 통해 개인 키의 값이 얼마라는 것을 찾아낼 수 있다.
문제는 그게 가능한 것인가? 라는 것이다. 쇼어 알고리즘을 이용해 256비트의 암호를 깨기 위해 필요한 논리 큐비트는 최소 1500에서 3000개만 있으면 된다고 한다. 생각보다 적은 숫자라 놀랍지 않은가? 하지만 여기엔 함정이 있다. 그냥 ‘큐비트’가 아닌 ‘논리 큐비트’라는 것이다. 논리 큐비트는 실제로 만들어진 물리적인 큐비트가 아니라 거르고 걸러서 오류가 없이 깨끗해진 그러니까 에러없는 순수한 큐비트를 말한다. 중국에서 큐비트 500짜리 양자컴퓨터를 만들었다라든가 구글에서 1000짜리를 만들었다는 것은 물리적인 큐비트를 말한다.
기본적으로 큐비트는 주변의 노이즈라든가 서로 간의 호환성, 그리고 계산할 때마다 에러가 발생하는 것에 굉장히 취약하다. 256비트 크기의 개인 키를 뚫으려 할 때는 1500~3000개의 논리 큐비트가 필요하지만, 그 논리 큐비트를 에러 없게 유지하기 위해서는 그보다 훨씬 더 많은 물리 큐비트가 있어야 된다.
이번 구글에서 발표한 내용을 보면 1개의 논리 큐비트를 만들기 위해서는 물리 큐비트를 대략 1000개 정도 갖고 있어야 된다고 계산했다. 그러니까 실제로 하드웨어로 구현해야 될 큐비트의 갯수는 30만 개라고 봐야 되는 것이다.
이렇게 설명했으면 두 번째 방식도 설명이 쉬워진다. 똑같이 SHA-256 해쉬 함수도 256승인 것이다. 사실 첫 번째 방식과 크게 다르지는 않다. 그렇다는 것은 들어가는 논리 큐비트 양도 비슷하다는 이야기다. 결론은 똑같이 수십만 개 이상의 큐비트가 필요하다는 것으로 종결되는 것이다.
양자컴퓨터의 해킹 이슈로 인해 비트코인 시세가 잠시지만 폭락했다. 하지만 RSA(공개 키 암호화 알고리즘)만 봐도 3000만 큐비트가 있어야 의미 있는 시간 안에 키를 찾을 수 있기에, 수천 개 혹은 수만 개로 늘려도 해독은 불가능하다. 결론적으로, 현재 비트코인 해킹은 이론적으로는 가능하나 물리적으로는 불가능하다.
2025년은 유엔이 정한 ‘세계 양자과학기술의 해’다. 1925년 독일 물리학자 베르너 하이젠베르크가 양자역학을 수학적으로 표현한 ‘행렬 역학’을 발표해 양자역학의 근간을 다진 100주년을 기념한 것이다. 미국 라스베이거스에서 열렸던 세계 최대 가전·정보기술(IT) 전시회 ‘CES 2025’도 양자컴퓨팅 부문을 신설했다.
양자컴퓨터는 더는 쪼갤 수 없는 물리 단위인 양자의 역학 원리를 정보처리에 적용한 컴퓨팅 기술을 말한다. 기존 슈퍼컴퓨터보다 1억 배 이상 빠르다. 일반 컴퓨터는 0 아니면 1로만 계산한다. 이때 사용되는 연산단위가 1비트(bit)다. 반면 양자컴퓨터는 0과 1을 동시에 계산한다. 0과 1이 분리되지 않아 많은 정보 처리가 가능하다.
양자컴퓨터는 정보 단위로 기본 비트 대신 큐비트를 쓴다. 1큐비트는 ‘0과 1’ 2개의 상태를 동시에 가진다. 1개 값만 가진 1비트에 비해 2배 빠른 계산이 가능하다. 덕분에 여러 연산을 한 번에 처리할 수 있으며 큐비트 수가 늘어날수록 처리 가능한 정보량도 기하급수적으로 늘어난다.
