예전에 한 금융 전문가가 필자에게 말했다. 암호화폐(가상자산)는 두가지 얼굴이 있다고. 한편으로는 현재 세계 통화 체계의 주축인 달러나 금이 갖는 한계를 보완하는 긍정적인 측면이 있다. 다른 한편으로는 화폐로서의 정당성을 부여해 주는 정치적 권위가 없어서 가격 변동이 심하다는 부정적 측면이 있다. 그는 후자의 사례로 전세계 기축통화인 달러의 경우 위조지폐가 생기면 미국이 적극적으로 단속에 나서지만 암호화폐는 그럴만한 정치 권력이 배경에 없다고 했다.
전세계 금융투자자들의 초미의 관심사인 암호화폐는 블록체인 기술을 기반으로 하고 있다. 블록체인은 네트워크에 참여하는 모든 사람들이 거래 내역을 공유하고 동시에 인증하기 때문에 해킹과 위조가 불가능한 것으로 알려져 있다. 그러나 그 전문가는 컴퓨터 통신 네트워크에 참여하는 모든 사람들이 동시에 인증을 해야 하기 때문에 인증에 수십 초에서 수십 분까지 걸린다고 했다. 예를 들어 비트코인을 한국의 가상화폐 거래소에서 미국의 가상화폐 거래소로 송금할 때 길게는 몇 분이 걸릴 수도 있다. 만약 이 시간 동안에 매우 빠른 속도의 컴퓨터가 등장해 거래 정보들을 위조한다면? 블록체인 기술, 더 나아가 암호화폐는 무용지물이 될 수 있다. 그리고 구글이 이미 그 기술을 개발 중이라고 그는 설명했다.
이 금융 전문가의 우려는 논리적으로 타당한가? 또 현실성이 있을까? 이 의문을 품고 비가 내리던 지난 4일 오후 4시 서울 동대문구 회기로 85에 있는 한국과학기술원(카이스트) 부설 고등과학원 김재완 교수를 찾았다. 그는 오랫동안 양자컴퓨터의 중요성을 강조해 온 양자정보과학 권위자이다. 양자(量子, quantum)는 더 이상 쪼갤 수 없는 물리량(에너지, 이온 등)의 최소 단위를 말한다. 예컨대 빛 에너지의 양자, 즉 최소 단위는 광자(光子, photon)라고 부른다. 김 교수가 19년째 연구활동을 하고 있는 고등과학원 7호관 7305호 연구실은 켜켜이 쌓인 책과 서류로 가득했다.
양자컴퓨터 26년간 연구
—양자컴퓨터에 관해 관심을 갖고 연구하기 시작한 것은 언제부터인가?
“1995년 삼성종합기술원에 있을 때부터이니 벌써 26년째이다. 이후 삼성에서 양자암호나 양자컴퓨터에 대해 연구를 하려고 했으나 나노 기술에 우선 순위가 밀려 시작도 할 수 없었다.”
—비트코인 등 가상자산에 대한 관심이 뜨겁다. 가상자산의 작동 논리에 대해 연구한 적이 있나?
“나는 그 분야의 전문가는 아니다. 인터뷰 요청을 받고 유튜브 강의를 보면서 가상자산의 기반이 되는 블록체인 기술, 가상자산 거래의 보안 방식과 해킹 가능성을 생각해 보기는 했지만 비트코인이나 이더리움 같은 가상자산들의 구체적인 특성에 대해서는 자세히 잘 모른다.”
비트코인 등 가상자산의 거래는 인터넷을 통해 이뤄진다. 그러니 가상자산 거래의 안전성과 해킹 가능성, 블록체인 기술도 일차적으로 이러한 인터넷 통신의 암호화 기술 위에서 작동하고 있다고 볼 수 있다. 예컨대 가상자산을 거래할 때 송신자가 그 거래 내역을 수신자가 지정한 방식으로 암호화해 전송하면 수신자가 해독해 정보를 처리한다. 이러한 송수신 과정을 무수히 거치면서 블록체인 네트워크 참여자들이 공동 인증을 마치면 가상자산 거래의 보안이 완성된다. 이러한 보안 시스템의 전 과정은 안전한가?
김 교수는 어려운 물리학 이론을 비전문가도 쉽게 이해할 수 있도록 설명할 수 있는 능력으로 유명하다. 그래서 그가 비록 가상자산 전문가는 아니지만 독자들에게 도움이 되게 그가 이해한 범위 내에서 가상자산 거래의 안전성을 보장하는 인터넷과 블록체인 통신의 암호화 원리를 쉽게 설명해 달라고 요청했다. 김 교수는 “인터넷 통신은 수학의 비대칭 함수 체계를 사용한 보안 시스템을 갖고 있다”고 말했다.
—인터넷 통신의 보안 원리를 간단히 설명해 달라.
“가상자산이 거래되는 인터넷 망의 보안 원리는 한국 사람들이 잘 아는 ‘사다리 타기’ 게임을 생각하면 쉽게 이해할 수 있다. 사다리 타기 게임은 투입구(X)에서 출발해서 중간의 함수(f), 즉 사다리를 거쳐 출구(Y)로 나온다. 함수의 모양은 X에서 출발해 Y로 갈 수도 있지만, Y에서 출발해 거꾸로 X로 갈 수도 있는 대칭 형태이다.
이에 반해 인터넷 통신의 암호화에 쓰이는 중간 함수는 X 값을 넣으면 Y 값은 쉽게 나와도, Y 값을 안다고 해서 X 값을 쉽게 도출할 수는 없는 비대칭 함수이다. 누군가 함수와 Y 값을 공개하더라도 다른 사람은 Y 값을 함수에 투입해 X 값을 구하기 어렵다. 함수를 충족시키는 X 값과 Y 값을 모두 알아야 보안을 해체하고 그 안의 데이터에 손을 댈 수 있도록 만들어 놨기 때문에 해킹을 하려면 먼저 이 X 값을 찾아야 한다.”
암호화폐 해킹이 어려운 이유
—X를 찾는 과정이 그렇게 어려운가?
“간단하지 않다. 예를 들어 함수와 Y 값이 공개되어 있다고 하자. 그리고 Y가 20자리 숫자라고 하자. 비대칭 함수이기 때문에 Y 값을 함수에 넣어 X 값을 구하기가 쉽지 않다. 그러니 Y 값을 산출해 낼 만한 X 값들을 계속 함수에 통과시켜 보아야 한다. Y가 20자리가 아니라 200자리, 2000자리로 늘어나면 찾는데 시간은 훨씬 더 걸린다.”
—비대칭 함수의 사례를 들면?
“암호학에서 가장 많이 쓰이는 소인수분해를 예로 들 수 있다. 두 소수(素數)를 곱해서 큰 수를 얻기는 쉽지만, 이 큰 수를 소인수분해하여 두 소수를 구하는 것은 어렵다.”
—소인수분해에 대해 좀 더 설명해달라.
“91을 소인수분해하면 7과 13이 된다. 7과 13을 주면 곱해서 91을 금세 만들 수 있지만, 91을 주고 소인수분해해 7과 13을 찾아내려면 시간이 걸린다. 이렇게 한쪽 방향의 계산은 쉬운데 역방향 계산은 어려운 원리를 이용해 암호를 만든다.”
어렵고 어려운 소인수분해
—소인수분해에 시간이 그렇게 많이 걸리나?
“1991년 3월 미국 교수 리베스트, 샤미르, 에이들만 등 3명이 2개의 소수의 곱으로 이뤄진 100~617자리 숫자 54개를 만들어 상금을 걸고 소인수분해 대회를 열었다. 자신들의 성 첫자를 따 ‘RSA 숫자'라고 이름 붙였다. 경연은 2007년에 공식적으로 끝났지만 현재까지 54개 숫자 중 절반 정도 밖에 풀지 못했다.
이 세사람은 이 경연보다 일찍 1977년에 미국 과학 전문지인 사이언티픽 아메리칸(Scientific American)에 ‘RSA129’ 숫자를 공개하고 현상금을 걸었다. 64자리의 소수 2개를 곱해서 129자리 숫자를 만들었는데, 17년 뒤인 1994년에 몇 사람이 1600대의 컴퓨터를 동원하여 풀어냈다. 만약 2000자리 숫자를 소인수 분해하려면 우주에 있는 양성자와 중성자 등 모든 핵입자의 수인 10의 80제곱만큼의 수퍼 컴퓨터를 동원해서, 우주의 나이인 138억년, 즉 10의 18제곱초 동안 계산하더라도 불가능하다고 이야기하는 사람도 있다.”
—인터넷 보안 방식에 RSA 암호체계 외에 다른 것은 없나?
“타원곡선 암호체계가 있다. 타원곡선 위의 두 점 P와 Q에 대응하는 타원곡선 위의 점 R을 정하는 방법을 사용한다. RSA나 타원곡선 암호체계는 비밀키 X에서 공개키 Y를 구하는 한쪽 방향은 쉽지만, 역방향으로 공개키 Y에서 비밀키 X를 구하는 것이 수학적으로 매우 어렵기 때문에 성립하는 단방향 함수를 이용한 암호체계이다. 공개키 Y는 누구나 사용할 수 있도록 알려진 자물쇠인 셈이다. 반면 물건을 속에 넣고 걸어 잠근 자물쇠를 아무리 들여다봐도 열쇠를 만들기 어렵도록 설계되어 있다. 자물쇠와 열쇠가 다른 비대칭 암호체계라고도 한다.”
블록체인의 약점
인터넷 통신망의 보안 원리에 대해서는 어느 정도 이해가 됐다. 가상자산 거래시의 해킹 가능성이라는 인터뷰 주제에 좀 더 구체적으로 접근해 보기로 했다.
—비트코인 등 가상자산을 사고 팔면 블록체인 기술을 통해 참여자들이 공동인증하는 방식으로 보안을 유지한다. 이러한 보안 절차에 약점은 어디에 있나? 해킹이 가능한가?
“내가 비트코인을 다른 사람에게 팔았다고 하자. 내가 인터넷에 올린 거래 내역 정보를 블록체인 네트워크 상의 다른 사람들이 공유해 인증하기 전에 해커가 내 정보에 접근했다고 생각해 보자. 그리고 양자컴퓨터를 활용해 아주 빠른 속도로, 공개되어 있는 함수와 공개키 Y 값으로부터 비밀키 X 값을 찾아낸다고 하자. 해커는 X값과 Y 값을 모두 알기 때문에 이 거래 내역의 보안을 해체한 뒤에 안에 있는 거래 정보를 위조해 유통시킬 수 있다. 거래 당사자가 바뀌는 것이다. 그렇게 되면 누가 비트코인 거래를 할 수 있겠나?”
(김 교수는 이야기 중간에 RSA함수를 사용한 공개키와 비밀키의 관계에 관해서도 상세히 설명했으나 독자들이 이해하기 어려울 수도 있어서 생략한다.)