[김정민 변호사의 IT와 법] 양자컴퓨터가 바꿀 미래(2) Don't worry, Be happy!
상태바
[김정민 변호사의 IT와 법] 양자컴퓨터가 바꿀 미래(2) Don't worry, Be happy!
  • 김정민 변호사
  • 승인 2019.11.18 11:22
  • 댓글 0
이 기사를 공유합니다

양자컴퓨터, 특정 연산만 풀도록 프로그래망..."만능 아냐"
'양자중첩', 실온에서 불가능하고 최대 10분 정도밖에 유지못하는 '물리적 단점'
양자컴퓨터 발전하면 암호알고리즘도 발전...비트코인보다 더 발전된 임호화폐 등장할 것
김정민 변호사
김정민 변호사

[김정민 변호사] (1)편에 이어 계속

구글은 ‘양자 우위(quantum supremacy)’ 논문을 공개하며, 양자컴퓨터를 이용해 슈퍼컴퓨터로 1만년 걸리는 연산을 단 3분만(정확히는 3분20초 또는 200초)에 성공하였다고 발표하였는데, 그 진위를 먼저 알아보자.

구글 시카모어 양자컴퓨터의 연산 능력은

양자 우위(quantum supremacy)는 양자 컴퓨터가 가장 강력한 기존 슈퍼컴퓨터를 능가하는 작업을 수행할 수 있는 전환점을 말한다. 현존하는 가장 빠른 슈퍼컴퓨터는 미국 '서밋(Summit)'이다. 이 서밋이 1만년 걸려야 풀수 있는 어떤 문제가 있는데, 이 문제만을 풀도록 프로그래밍한 양자컴퓨터가 구글의 '시카모어(Sycamore)'이다.

구글의 ‘양자 우위’ 논문을 요약하면 시카모어는 짧은 시간(3분 20초)에 이 문제를 풀어낸다는 것이다. 우리가 상상하는 것처럼 어떤 암호든 척척 풀 수 있는 양자컴퓨터가 나온 것은 아니다. 양자컴퓨터가 특별히 잘 풀 수 있는 난제를 슈퍼컴퓨터보다 훨씬 빨리 푼 것에 지나지 않는다. 시카모어가 어떤 문제를 풀었는지도 알려져 있지 않다. 의심스러운 부분이다.

슈퍼컴퓨터가 풀기 어려운 난제 중의 하나는 소인수분해이다. 이 문제를 양자컴퓨터가 빠르게 풀 수 있다면, 변혁은 훨씬 빨리 우리에게 올 수 있다.

소인수분해는 N이라는 큰 숫자를 소수(2, 3, 5, 7, 11 등 1과 자신 이외의 수로 나눠지지 않는 수)로 계속해서 나누어 가면서 소인수를 찾는 과정이다. 숫자 ‘60’을 소인수 분해 하는 방법은 아래와 같다. 쉽다.

양자컴퓨터의 소인수분해 예제 그림. 출처=zum학습백과
양자컴퓨터의 소인수분해 예제 그림. 출처=zum학습백과

엄청나게 큰 수의 소인수분해는 슈퍼컴퓨터도 풀기 힘들어

그런데 다음 문제를 보면 소인수분해가 왜 난제인지 알 수 있다. ‘323’을 소인수분해해 보시라.
2, 3, 5, 7, 11로 나누어도 나누어지지 않는다. 한참동안 안될 수도 있다. 컴퓨터도 같은 방법으로 소인수분해를 연산한다.

‘323’의 소인수는 17과 19이다. 17X19를 해보면 간단히 323이라는 결과값이 나온다. 이것이 일방향성의 좋은 예이다. 현재 가장 큰 소수는 2000만자리가 넘는다. 이 소수를 A4용지에 인쇄하면, 1장에 6000자를 넣더라도 4000페이지이다. 이렇게 큰 소수 2개를 곱하는 연산은 간단하다(사람이 하면 간단하지 않지만 컴퓨터가 하면 간단하다). 그러나 큰 소수 2개를 곱한 숫자를 소인수분해하는 것은 거의 불가능에 가깝다. 1부터 2000만자리나 되는 소수까지 일일이 나누어봐야 되기 때문이다.

은행들은 주로 ‘RSA-2048’이라는 암호체계를 사용한다. RSA는 매우 큰 수를 컴퓨터로 소인수분해하더라도 많은 시간이 걸리는 것을 이용한 암호체계다. 우리가 인터넷 뱅킹할 때 쓰는 보안카드가 이 방법을 이용한 것이고, 이 체계를 깨뜨리기 위해서는 최대 617자리 숫자를 300자리대 두 개의 소수로 소인수분해하는 연산능력을 갖춰야 한다.

결론부터 말하면 양자컴퓨터는 소인수분해를 하는 탁월한 능력을 가지고 있다. 이는 'Shor(피터 쇼어)의 소인수 분해 알고리즘' 덕분인데, 양자는 중첩된 상태를 가지고 있고(양자 중첩), 입력값을 양자 중첩의 상태로 준비하고 단 한번의 연산으로 또 다른 양자 중첩 상태로 출력할 수 있기 때문에 Shor의 알고리즘을 사용할 수 있다. 이를 양자 병렬성(Quantum Parallelism)이라고 한다. 여기서부터는 정말 이해하기 힘든 양자물리학을 차근차근 설명하고자 한다.

양자의 능력은 어디까지...병렬처리에 강하다

양자(Quantum)는 입자일수도 있고 파동일 수도 있다. 우리는 전자(Electron)를 입자로 알고 있지만, ‘전자 이중슬릿 실험’을 통해 전자도 파동성을 가지고 있있음이 밝혀졌다. 처음 듣는 얘기일 수도 있으나 양자물리를 이해하는 중요한 개념이므로 암기가 필수이다.

전자 이중슬릿 실험.
전자 이중슬릿 실험.

전자가 입자라면 (a)의 결과가 나와야 한다. 근데 실제로 이중슬릿 실험을 해보니 (d)와 같은 결과가 나왔다. 이는 (b)에서 보듯이 전자가 파동이라고 가정해야 설명할 수 있다. 근데 이상한 것은 전자에 외부 관찰(빛을 비춤)을 가하니 전자는 입자처럼 움직여 (a)의 결과가 나왔다. 이를 물리학자들은 “전자는 외부의 관찰로부터 완전히 차단된 상태에서는 파동으로 보이고, 외부의 관찰이 있는 경우 입자로 보인다”고 설명한다.

양자 중첩은 0이기도하고 1이기도 한 상태가 중첩되어 있는 것을 말한다. 이런 양자 중첩은 외부의 관찰이 있게 되면, 하나의 값으로 고정된다.

양자는 관찰이 없는 상태에서 양자 중첩상태로 존재한다. 이를 이용해서 양자컴퓨터를 만들면 양자 병렬성을 이용해 많은 경우의 수를 한번에 연산할 수 있다. 양자 중첩의 상태를 양자 비트(quantum bits) 또는 큐비트(qubit)라고 하는데,  1또는 0인 디지털 비트와 달리 큐비트는 동시에 여러 가지가 조합된 상태이다. 이 덕분에 디지털컴퓨터가 순차로 처리해야 하는 데이터를 양자컴퓨터는 병렬로 처리할 수 있다.

규빗의 연산능력은 이렇게 계산한다. 1큐빗은 0일수도 있고 1일수도 있다. 2큐빗은 00, 01, 10, 11 중 하나의 값일 수 있다. 즉 1큐빗은 2가지 상태를 한번에 표현할 수 있고, 2큐빗은 4가지 상태를 한번에 표현할 수 있다. 3큐빗은 8가지, 4큐빗은 16가지, 10큐빗은 1024가지의 상태를 한번에 표현할 수 있다.

양자 우위 검증을 위해 구글은 총 54개 큐빗을 탑재한 시카모어칩을 개발했다고 한다. 이론적으로 양자 중첩을 이용해 2의 54제곱(약 10경=100,000조)의 상태를 한번에 표현할 수있고, 그만큼 병렬 연산을 할 수 있다.  이론적으로만 본다면 디지털 컴퓨터보다 10경배 정도 빠른 연산을 할 수 있는 것이다.

아직까지는 양자컴퓨터가 기존 디지털컴퓨터가 할 수 있는 모든 일을 할 수 있는 단계는 아니다. 양자컴퓨터가 더 잘 할 수 있는 일의 영역이 한정되어 있다. 바로 중첩된 계산(병렬 처리)을 빠르게 할 수 있는 영역이다. AI, 빅데이터 처리 분야가 이러한 영역이다.

현재의 은행 암호쳬계를 깨는 기술이 나오기까지도 5~10년은 걸릴 것이다. 양자컴퓨터가 발전하면 비트코인 암호는 풀릴지 몰라도, 더 발전된 암호화폐가 등장할 것이다. 사진= 연합뉴스
현재의 은행 암호쳬계를 깨는 기술이 나오기까지도 5~10년은 걸릴 것이다. 양자컴퓨터가 발전하면 비트코인 암호는 풀릴지 몰라도, 더 발전된 암호화폐가 등장할 것이다. 사진= 연합뉴스

양자컴퓨터는 기존 슈퍼컴퓨터를 보완하는 정도

너무 이야기가 장밋빛으로만 가는 것 같으니 차분함을 찾아보자.

양자컴퓨터의 상용화가 어려운 이유, 즉 극복해야 할 과제는 양자컴퓨터의 핵심인 ‘양자 중첩상태의 유지’이다. 양자 중첩은 실온에서 생성되지 않고, 영하 273도 즉 절대 0도 가까이 되어야 만들 수 있다.  또한 외부세계의 관찰이 있으면 양자 중첩은 없어지고 0 또는 1로 고정되어 버리므로 주위에 전자기파나 진동을 완벽하게 차단해야 하는 숙제도 있다.

현재 기술로는 최대 10분 정도만 양자 중첩을 유지할수 있는 환경을 만들 수 있다. 따라서 10분이 넘는 시간의 연산이 필요한 문제는 양자컴퓨터로 풀 수 없다. 구글이 발표한 내용에서 3분20초(200초) 걸렸다는 걸로 봐서도 그렇다.

또한 큐비트는 어떤 중첩된 값을 가지는 지가  확률적이기 때문에 에러가 많다. 그래서 에러를 교정하는 큐비트를 추가해야 하는데, 54큐비트중 2/3는 에러 교정용이고 1/3만 실제 중첩 상태로 이용될 수 있다고 한다. 2의 18제곱만 되어도 26만 가지의 상태를 이용하여 연산할 수 있다. 

현재까지는 양자컴퓨터를 논함에 있어서 연산을 얼마나 빠르게 하는지에 중점을 둬왔다. 그러나 양자컴퓨터는 연산방식이 디지털컴퓨터와 차이가 있다. 디지털컴퓨터 알고리즘으로 계산하는 방법이 아니라, 양자컴퓨터의 연산 특성에 맞는 양자 중첩을 가장 잘 이용할 수 있는 알고리즘을 개발해야 하는 것이 향후의 과제이다. Shor의 소인수분해 알고리즘이 그중 하나이다.

혹자는 양자컴퓨터를 디지털컴퓨터와 차별화하는 점은 큐비트가 만들어내는 경우의 수가 아니라 연산이 결정론적이냐, 비결정론적이냐의 여부라고 한다. 양자컴퓨터는 답이 정해진 계산보다는 확률계산에 더 적합하다. 공학수학(공과대학 1-2학년 때 배우는 수학) 교재의  끝으로 가면 ‘함수근사’ ‘확률해(=근사해)’라는 개념이 있고, 컴퓨터공학에서는 ‘최적화문제의 근사해’라는 개념이 있다. 어떤 문제의 해답을 정확하게 계산하는 것이 아니라 해에 가까운 근사치를 찾는다는 개념이다. 대표적인 ‘근사해’ 문제가 네비게이션 길찾기이다. 어떤 네비게이션도 ‘가장 빠른 길’을 찾을 수는 없다. 단지 ‘가장 빠른 길’에 가까운 길(근사해)을 찾을 뿐이다.

양자컴퓨터의 개발과 병행하여 Deutsch-Jozsa알고리즘,  Shor의 소인수분해 알고리즘 등 양자컴퓨팅에 적합한 알고리즘 개발에도 힘써야 한다.

그리고 양자컴퓨터가 가져올 미래의 변화를 두려워할 필요는 없다. 현재 수준에서 양자컴퓨터는 PC를 대체할 일도 없고, 그렇게 싸게 만들 수도 없다. 양자컴퓨터의 가능성은 현재 슈퍼컴퓨터로 하기 어려운 일들에 초점이 맞춰져 있다. 기존 슈퍼컴퓨터를 보완하는 정도이다. 앞서 열심히 설명한 RSA암호는 언젠가 무력화될 것으로 보인다. 그러나 이를 위해서는 앞으로 5~10년은 걸릴 것으로 보이고, 양자컴퓨터의 발전과 함께 암호알고리즘도 발전할 것이다. 비트코인 암호는 풀릴지 몰라도, 더 발전된 임호화폐가 등장할 것이다.

●김정민 변호사는 서울대에서 컴퓨터공학, 법학(부전공)을 공부했다. 4회 변호사시험에 합격했으며 (주)케이엘넷 준법지원팀 팀장으로 있다. 대한변호사협회 IT블록체인특위 대외협력기획 부위원장, 서울지방변호사회 기획위원회 위원, 한국블록체인법학회 정회원이다.


댓글삭제
삭제한 댓글은 다시 복구할 수 없습니다.
그래도 삭제하시겠습니까?
댓글 0
0 / 400
댓글쓰기
계정을 선택하시면 로그인·계정인증을 통해
댓글을 남기실 수 있습니다.