이번시간에는 비트코인에 대한 양자컴퓨터의 위협에 대해 이야기 해보겠습니다.
우리가 학창시절에 유난히 물리과목을 잘 하는 친구를 본 적이 있을 것이에요.
물리학이란 자연 현상에서 물질의 운동을 탐구하는 학문입니다.
제 경험상 이러한 친구들이 공부머리가 좋고 생각의 회전이 빠르며 유난히도 양자에 관심이 많았습니다.
왜 이 친구들이 양자에 관심이 많을까요? 저도 이 양자에 대해 궁금해서 많이 찾아보았는데
내용이 상식적인 선에서 이해를 하기 매우 어려운 부분이 많은 것 같습니다.
아직 우리 인류가 잘 알지 못하는 부분을 깊게 탐구해보고 싶은 마음일까요?
양자컴퓨터란?
양자컴퓨터는 우리가 사용하는 일반 컴퓨터보다 계산을 빠르게 할 수 있는 기계입니다.
여러 전문가들은 양자컴퓨터가 암호화된 코드를 단시간에 해독할 수 있다고 말합니다.
그래서 양자컴퓨터가 상용화되면 우리가 현재 이용하고 있는 디지털 보안 인프라에 문제가 생길 수 있는 것이죠.
물론 암호화 기술을 적용한 비트코인도 예외가 아니며 보안 기술을 사용한 인터넷과 온라인 뱅킹에도 악영향이 생기게 됩니다.
그러므로 양자컴퓨터의 상용화로 인해 전 세계적인 문제가 생기게 됩니다.
마치 지구를 위협하는 핵무기와 같은 존재가 아닐까요?
<참고> Computer(컴퓨터) 어휘 풀이
*Compute는 “계산하다“라는 뜻입니다.
그러므로 뒤에 접미사 er(사람이나 물건을 지칭하며 행위자, 주체라는 뜻)이 붙어서
Compute + er = computer(계산하는 기계)라고 합니다.
*양자 : 더 이상 나눌 수 없는 에너지의 최소량의 단위
대칭 암호화 vs 비대칭 암호화
대칭 암호화는 무엇일까요? 암호가 왜 대칭이 되죠?
쉽게 생각해보면 우리 집 자물쇠를 생각해볼 수 있습니다.
집의 자물쇠를 열쇠로 잠구면 다른 사람들이 나의 집 안을 들여다볼 수 없지요.
그러나 누군가가 나의 집 열쇠를 가지고 자물쇠를 열면 바로 풀리게 되고 집 안을 들여다볼 수 있습니다.
우리 집 자물쇠는 하나의 열쇠로 자물쇠를 열 수 있습니다.
즉, 암호가 대칭이라는 것은 암호화 작업(집 안을 못 들여다보게 하는 작업)과 암
호 해독 작업(집 안을 들여다보게 하는 작업)을 같은 키(집 열쇠)로 할 수 있는 것을 말하는 것이죠.
그러면 비대칭 암호화는 무엇일까요? 왜 또 암호가 비대칭이 되나요?
비대칭 암호를 예로 들면 단무지라는 사람이 오이라는 사람의 집 주소로 내용물이 담긴 철 박스를 보냅니다.
내용물은 타인이 볼 수 없게 암호화되었죠. 여기서 오이의 집 주소는 공개된 주소입니다.
즉, 누구나 주소를 알 수 있습니다.
그러나 그 철 박스 열쇠는 오이만 갖고 있습니다.
여기서 철 박스의 열쇠는 오이의 개인 열쇠이며 오이만 그 철 박스 안의 내용물을 볼 수 있는 것이죠.
그러므로 오이의 집 주소 = 오이의 공개된 주소 = 오이의 공개키이며
오이의 철 박스 열쇠 = 오이의 개인 열쇠 = 오이의 개인키라고 합니다.
이렇게 공개키와 개인키를 가진 시스템을 비대칭 암호화 방식이라고 하며 비트코인이 이 방식을 사용하고 있습니다.
우리 한국인 투자자가 사용하는 거래소는 공개키와 개인키를 거래소가 모두 관리합니다.
마운트곡스 해킹사건을 보면 거래소가 해킹을 당했다는 것은 그 거래소의 책임이므로
보안의 취약성을 인정하여 투자자들에게 적절한 보상을 해주는 것 같습니다.
그러나 비트코인의 초창기 시절에는 모든 사람들이 자신의 지갑을 직접 만들고 개인키를 보관했습니다.
공개키는 내 지갑을 나타내는 주소이며 개인키는 나만의 비밀번호입니다.
그리고 그 개인키를 잊어버리면 지갑 주인의 책임이 되는 것이죠.
대칭 암호화 |
비대칭 암호화(비트코인) |
|
키 |
암호, 암호 해독(복호)에 필요한 키(주소) 동일 |
암호, 복호에 필요한 키(주소)가 다름 |
암호화 속도 |
키가 하나이므로 빠름 |
키가 두개이므로 느림 |
필요한 컴퓨터 계산력 |
적음 |
많음 |
보안 |
약함 |
강함 |
그래서 암호화폐에 사용되는 비대칭 암호화 방식은 현재 존재하는 컴퓨터로는 복호화(암호해독)가 어렵습니다.
엄청나게 많은 시간이 소요되기 때문이죠.
그러나 양자 컴퓨터가 생기면 상황이 달라집니다.
기존의 컴퓨터
컴퓨터 계산은 0과 1로 반복이 돼요. 예를 들면, 위의 ASCII 바이너리 표에서 7은 0011 0111이고 C는 0100 0011입니다.
우리가 만약 자전거 자물쇠를 가지고 있는데 비밀번호를 까먹으면 하나씩 돌려서 풀어야 합니다.
만약 3자리수(3비트)이고 0과 1밖에 돌릴 수 없다면 경우의 수는 2*2*2 = 8가지에요.
(000 001 010 011 100 101 110 111)
000이 안되면 001을 해보고 001이 안되면 010을 해보고…
이렇게 연속적으로 8가지중에 하나씩 순차적으로 돌리면 풀리게 됩니다.
만약 4자리수(4비트)이면 2*2*2*2 = 16가지가 되는 것이죠.
컴퓨터가 암호를 해독하기 위해서는 이렇게 하나씩 순서대로 돌아가면서 암호를 풀게 됩니다.
비트코인의 개인키는 256비트이며 256자리수이므로 2를 같은수 2로
256번 곱하면 2^256 = 천문학적인 숫자(1.15*10^77)가 됩니다.
그러므로 천문학적인 수를 기존의 컴퓨터로 풀어야 암호해독이 가능합니다.
그러므로 현재 비트코인이나 인터넷 인프라구조상으로는
기존의 컴퓨터가 비대칭 암호 기술의 존립에 큰 문제가 되지는 않습니다.
양자 컴퓨터
기존의 컴퓨터로는 암호 해독에 필요한 경우의 수가 길어지면 시간이 천문학적으로 오래 걸리고 쉽게 풀지 못하게 됩니다.
그렇다면 기존의 컴퓨터로 쉽게 해독이 불가능한 암호를 양자 컴퓨터를 이용해서 어떻게 쉽게 풀 수 있을까요?
양자 컴퓨터의 기본 원리는 양자역학에 기반을 둡니다.
양자역학이란 우리가 학창시절에 과학시간에서 배운 분자, 원자, 전자, 소립자를 다루는 학문을 말합니다.
이러한 양자역학은 대학원에서 매우 깊게 배운다고 합니다.
기존의 컴퓨터에서는 0과 1이라는 비트로 정보를 표현하고 계산하였는데,
양자 컴퓨터에서는 quantum bit(퀀텀 비트) 또는 줄여서 qubit(큐비트)라는 정보의 기본 단위로 표현을 합니다.
이 퀀텀 비트(양자 비트)도 0과 1의 상태를 가질 수 있는데 문제는 0과 1의 상태를 동시에 가질 수도 있다는 겁니다.
그래서 비밀번호가 4자리인 것도 기존의 컴퓨터는 0000 0001 0010 … 이렇게 순서대로 대입을 해서 풀어야했지만
양자 컴퓨터에서는 순서를 거치지 않고 0000부터 1111까지 한 번에 대입을 하는 것이 가능합니다.
왜냐하면 양자 비트는 0과 1의 상태를 동시에 가지므로 단 한 번에 계산할 수 있기 때문이죠.
마찬가지로 10비트이면.. 0000000000부터 1111111111까지 단 시간에 계산하는 것이 가능하게 되는 것이죠.
우리가 일반적으로 컴퓨터는 하나씩 대입해서 풀어야하는 것이 상식이지만
양자 컴퓨터는 우리의 생각과 달리 비상식적으로 단 한 번에 푸는 것이 가능합니다.
일반 수퍼 컴퓨터가 25억년이 걸리는 수학 문제를 양자 컴퓨터가 풀면 200초가 걸린다고 합니다.
비트코인의 개인키가 256비트이며 아무리 기존의 컴퓨터로 천문학적인 경우의 수를 이용해서
엄청난 오랜 시간이 걸려 거의 풀지 못하는 상황이지만
먼 미래에 양자 컴퓨터의 기술이 좋아지면 단숨에 암호를 해독하는 날이 올까요?
양자 컴퓨터의 기술력이 어느정도 개선이 되었으나 인터넷, 금융 인프라와 암호화폐의 보안이 개선되지 않는다면…
아마 디지털 은행과 세계의 국가기밀이 제일 먼저 위협을 받아서 인류의 생사가 걸린 문제가 되지 않을까요..?
저만의 개인적인 생각입니다 ^^
양자 컴퓨터의 현 상황
양자 컴퓨터는 이미 IBM에 있습니다. 맨 위에 제가 처음에 IBM의 양자 컴퓨터 사진을 보여드렸습니다.
이 IBM 양자 컴퓨터의 스펙은 127 양자비트입니다.
그러나 참고문헌1에서의 연구결과에 의하면 비트코인 256비트 암호화키를 해독하기 위해
필요한 양자비트의 수는 한 시간내로 3억 1700만 양자비트이며 하루에 1300만 양자비트가 필요합니다.
그러므로 결론은 아직 시기상조라고 봅니다.
감사합니다.