그래서 양자컴퓨팅이 뭔데? – 문과생을 위한 해설서
IT기자로 일하는 것이 가장 고통스러울 때는 원래는 “스마트폰 뭐 사야 해”와 “스마트폰 어디서 싸게 사?” 같은 질문을 받을 때다. 그건 유통의 영역이라 IT기자도 잘 모른다. IT기자 중 하드웨어 기자는 그냥 핸드폰 이름만 줄줄 외우고 다니는 사람일 뿐이다.
그런데 요즘은 그것보다 더 고통스러운 것이 있다. “양자컴퓨터가 뭔데”라고 하는 것이다. 이 질문은 알기도 어렵고, 알아도 대답하기 까다롭다. 그래서 모든 지식을 총동원해 대강의 이해를 돕도록 기사를 남긴다. 몰라도 되는 건 생략한다. 사실 기자도 모른다.
컴퓨터는 0과 1로 이뤄져 있다는 말을 여러 번 들어봤을 것이다. 정확하게는 컴퓨터 언어를 구성하는 신호가 0과 1의 이진수로 만들어진 것이다. 최소단위는 트랜지스터인데(뭔지 몰라도 된다) 신호를 끄면 0, 신호를 넣으면 1이 된다. 트랜지스터는 모이고 모여 회로(CPU나 램)가 된다. CPU나 램 등은 협력해서 이 트랜지스터로 신호를 만든다. 010001000 같은 신호를 만드는데, 010001000이 무슨 그림인지 글자인지 등은 각 프로그램에서 약속돼 있다.
이 신호의 최소단위(0과 1)를 ‘비트’라고 부른다. 16비트, 32비트할 때 그 비트 맞다. 아주 오래된 컴퓨터부터, 각 정보기관이나 기업에 있는 슈퍼컴퓨터까지 다 이 비트를 사용하는 원리는 동일하다. 이 비트들이 각자의 위치에서 각자의 역할을 하면 게임도 할 수 있고 문서도 쓸 수 있고 영상도 볼 수 잇는 것이다. 최초의 상업용 컴퓨터는 4비트 제품이었는데, 비트 네개를 묶어서 정보를 표기하는 것이다. 1000, 0000, 0101, 1010 같은 식이다. 2의 네제곱 경우의 수가 나온다. 현재 주로 사용하는 CPU는 64비트 기반이다.
그런데 이 비트 컴퓨터는 물리적으로 한계가 있다. 비유가 아니라 실제로 물리적인 한계다. 현재 상용 CPU는 7나노미터 공정까지 내려간 상태다. 가장 흔히 쓰는 14나노미터 공정은 적혈구보다 500배 작은 크기다. 따라서 원자의 크기에 근접하고 있다. 이게 뭐가 문제냐면 양자물리학에서와 고전물리학에서의 물리학 효과가 다르게 발생하기 때문이다. 이걸 미시세계와 거시세계라고 부른다. 양자물리학쪽이 미시세계다.
트랜지스터가 보낸 신호는 쉬운 말로 전선을 지나간다(정확하게는 전선이 아니다). 그런데 그 전선의 통로가 원자만큼 좁아지면, 그 신호인 전자들은 막혀서 못 지나가는 게 아니라 전선 밖으로 날아가 버린다. 전자는 파동이기 때문에 벽을 통과할 수 있다. 문을 닫아도 옆집의 큰 소리가 들리는 것과 비슷하다. 그럼 통과해서 가면 되는 게 아니냐고 할 수 있는데, 통과하는 동안 파장이 바뀌어서 원하는 비트가 아닌 다른 숫자가 나오거나 사실 통로 끝까지 가지도 않는다. 이걸 터널링 효과라고 한다.
그래서 양자역학의 거장 리처드 파인먼은 양자컴퓨터를 구상했다.

양자컴퓨터는 트랜지스터가 아닌 양자를 연산의 재료로 사용한다. 양자는 에너지를 쪼개고 쪼개면 나오는 최소 단위다. 그래서 양자컴퓨터의 최소단위는 퀀텀 비트(Quantum Bit), 줄여서 Q bit 혹은 qubits로 부른다.
미시세계의 영역인 양자는 고전물리학이 아닌 양자물리학의 법칙에 따라 움직인다. 얽힘과 중첩이 가능하다는 의미다. 자세하게는 몰라도 된다. 나도 모른다. 중요한 건 양자컴퓨터의 단위는 무조건 0과 1의 조합으로만 이뤄지지 않는다는 것이다.
양자로 보낸 신호는 0과 1이 아니라 그 둘 다인 상태로 존재할 수 있다. 이것을 중첩이라고 부른다. 어디선가 들어봤을 법한 ‘슈뢰딩거의 고양이’가 살아있는지 죽어있는지를 판단할 때 나오는 그 이야기다. 고양이는 어쨌든 죽이지 말자. 큐빗의 공간 내에서 고양이는 살아있는 것과 죽어있는 것의 중첩된 상태로 존재한다. 살아있는 것과 죽어있는 것이 공존하는 게 이상하다고 생각할 수 있는데 그것이 거시세계의 상식이다. 미시세계에서는 존재할 수 있다. 물론 고양이는 거시세계의 존재이므로 적합한 예라기보다는 비유라는 것을 알아두자.

이는 철학적인 이야기 같지만 물리적으로 가능하다. 따라서 양자컴퓨팅을 활용하면 놀라운 일이 벌어지는데, 4비트의 16가지 경우의 수를 순차적으로 보내는 게 아니라 한꺼번에 갖고 있을 수 있다. 이 값은 측정될 때 결정된다.
그럼 4비트 컴퓨터를 대체할 4개의 큐비트 컴퓨터에서 연산은 어떻게 될까? 한번에 하나씩 16번을 계산하는 것보다 물리적으로 16배 빨라야 한다. 그래서 비트 수가 늘어나면, 2의 제곱수로 연산 수가 더 폭발적으로 증가한다. 큐비트가 20개만 되면 100만개 이상의 연산을 일순간에 계산할 수 있는 것이다.
양자역학을 기반으로 하므로 얻는 다른 장점도 있는데, 각각 분리된 비트의 신호와 달리 양자는 아무리 멀리 있어도 신호만 통하면 서로 연결돼 있다. 따라서 1개의 큐빗을 측정하면 다른 얽힌 큐빗의 데이터를 볼 필요가 없다. 이쪽저쪽의 데이터를 취합해서 보여주는 비트와 달리 하나로 다른 큐빗을 관찰할 수 있는 것이다. 이걸 양자역학의 얽힘으로 부른다. 하나만 봤는데 어떻게 전체를 보냐고 물을 수 있는데 미시세계에선 원래 다 된다. 도중에 에너지가 소실되거나 도망갈 수 있지만 컴퓨터에서는 트랜지스터가 지나가는 게이트를 만들 듯 양자 게이트를 만들어서 서로 도망을 못 가게 만든다.
그렇게 얻은 결과값은 관측될 때 결정되므로 역시 한번에 하나일 수 있지만, 컴퓨터 설계를 동시측정 가능하게 해 관측을 동시에 여러 번하게 만들면 된다. 그리고 그 관측을 비교하는 것도 여러 번 동시에 하게 만들고 이걸 계속 겹치면 양자컴퓨터가 된다.


그래서 양자컴퓨터로는 뭘 할 수 있냐고 물을 수 있다. 그런데 그걸 아직 과학자들도 모른다. 현재 주로 기대되는 것은 대량의 데이터베이스를 검색하는 것이다. 어떤 데이터베이스에서 특정 데이터를 검색하라고 컴퓨터에 명령하면, 컴퓨터는 100만개면 100만개를 순차적으로 탐색한다. 이게 아주 빨라서 특정 데이터만 쏙 뽑아내는 것처럼 느껴지지만 실제론 사람이 하나씩 보는 것과 원리는 비슷하다. 그러나 양자컴퓨팅에선 100만개를 한번에 볼 수 있다.
100만개 정도라면 현재의 비트식 컴퓨터도 빠르게 해낼 수 있을 것이다. 그런데 이게 수조수천억개라면 이야기가 달라진다.
특히 아직까지는 아니지만 양자 자체를 관찰하고 시뮬레이션하는 데 큰 역할을 할 것으로 기대된다. 아직까지 그러지 못하는 이유는 양자컴퓨터가 충분히 발전하지 못했기 때문이다. 일반 컴퓨터로 양자물리를 시뮬레이션하는 건, 다른 게임기의 게임을 PC로 돌리는 에뮬레이션 같은 것이다. 물론 가능은 하다. 오래 걸리고 제 속도로 하지 못할 뿐. 그러나 양자컴퓨터에서 양자물리를 실험하면, PS4에서 PS4용 게임을 돌리는 것과 같다. 당연히 가장 잘 움직일 수밖에 없다.
양자 우위(Quantum Supremacy)
양자 우위란 양자컴퓨터가 슈퍼컴퓨터보다 빠른 것이 입증된 상태를 말한다. 미국 물리학자 존 프레스킬 교수가 주창한 개념이다. 기준은 큐빗 수가 보통 이상 나와야 하므로, 50큐빗 이상을 사용했을 때라고 정했다. 이유는 큐빗 하나가 늘어날 때마다 메모리와 광대역 속도가 기하급수적으로 증가해 일반 컴퓨터로는 이 속도를 검증할 수 없게 되는데, 슈퍼컴퓨터로 50큐빗 이상의 양자컴퓨터를 시뮬레이션할 수는 없다.
양자컴퓨팅은 IBM, 구글, 마이크로소프트, 인텔 등이 연구 중인데, 지금까지는 IBM이 주도하는 모양새였다. 그런데 갑자기 구글이 9월 20일, 양자 우위에 도달했다는 소문이 퍼졌으며, 10월 23일, 네이처지에 양자 칩인 ‘시커모어’에 대해 발표했다. 기존 슈퍼컴퓨터가 1만년 만에 할 수 있는 계산을 200초만에 할 수 있다는 것이다. 그러자 IBM은 “구글이 기존 슈퍼컴퓨터의 성능을 너무 낮게 잡았다. 1만년이 아니라 이틀 반이면 풀 문제”라고 발표했다.

그러나 양자컴퓨팅은 태생상 큰 문제를 안고 있는데, 위에서 말한 것처럼 일반 컴퓨터로 검증할 수 없기 때문에 양자컴퓨터의 알고리즘이 똑바로 작동했는지 아닌지를 알기 어렵다. 양자는 다루기가 매우 어렵고 간섭을 통해 에너지 소실이 발생할 가능성이 일반 컴퓨터보다 높다. 따라서 양자컴퓨팅에서 양자 우위를 달성했다고 가정해도 그 검증을 하기 어려운 것이다.
구글은 이 검증을 위해 12큐빗부터 53큐빗까지의 랜덤 회로(random simplified circuits)를 만들어 측정했다. 이 알고리즘을 우선 조금 작게 만들어 슈퍼컴퓨터에서 작동하는지를 확인한다. 이 알고리즘이 제대로 작동한다는 걸 확인한 구글은 이 알고리즘을 고도화해 슈퍼컴퓨터에서는 작동하지 않고 양자컴퓨터에서는 작동하는 단계까지 올려 양자 우위를 획득했다고 판단한 것이다. 그러나 양자 연산의 경우 양자의 소실로 인해 오류 발생률이 폭증할 수 있는데, 이는 큐비트를 조금씩 늘리면서 발생하는 수치가 일치하는 것을 입증하는 것으로 신뢰성을 확보했다.
IBM은 물론 이 슈퍼컴퓨터의 성능이 잘못 잡혀있다고 발표했지만 구글의 시커모어의 성능에 대해 평가절하한 것은 아니다. 시커모어 칩은 현존하는 제품 중 가장 뛰어난 양자 칩인 것에 대해서는 인정했다.
양자컴퓨팅의 위협
앞서 밝혔듯 양자컴퓨팅은 어디에 쓸지는 아직 정해지지 않았다. 그러나 인터넷 보안의 주요 방식인 공개키 해킹에 쓰이는 것이 아니냐는 의혹이 꾸준히 제기된다. 무언가를 인터넷에서 보낼 때 보안이 됐다는 것은, 데이터가 비트처럼 010101010 이렇게 보내지는데, 그 010010을 다음번엔 0101010100으로 여러 번 바꾸는 식으로 암호화하고 그 푸는 방법을 쌍방간에 전달하는 것을 말한다. 그 푸는 방법이 공개키다. 그런데 양자컴퓨팅은 그 공개키의 경우의 수를 한꺼번에 때려버릴 수 있으므로 공개키 방식의 보안에 문제가 생기지 않느냐는 것이다. 조금 쉽게 말하면, 비밀번호를 숫자 6자리로 구성했다고 치자. 이 6자리는 999999개+1의 엄청난 수의 조합을 가지지만 양자컴퓨팅으로는 한번에 처리할 수 있다.
이 지적은 합당하다. 그러나 구글은 이 방식의 보안이 10년 내 사라질 것이고(정확하게는 더 복잡하게 바뀌는 것이다) 10년은 지나야 양자컴퓨터가 100개~1000개의 큐비트를 구동할 수 있을 것이라고 밝혔다. 현재 시카모어 칩의 큐빗 수는 54개다. 큐빗을 늘릴 때마다 간섭과 오류가 폭증하기 때문에 실제로 큐비트 수를 늘리는 건 까다로운 작업이다. 53개 만드는 데 한 10년 걸렸으니 10년 안에 100개는 만들 수 있지 않나?-라고 이과생들에게 말하면 아주 쉽게 이과생을 괴롭힐 수 있다.
양자컴퓨팅은 어디다 쓸까
양자컴퓨터를 발명하는 것만큼이나 ‘어디다 쓸까’하는 것은 난제다. 양자 연구나 해킹, 데이터베이스 탐색 외에도 전문가들은 AI나 딥러닝 연구에 주로 쓰일 것으로 예상된다. 구글도 어디다 어떻게 쓸지는 아직 모르겠다고 한다. 중요한 건 시카모어를 비롯한 양자 칩은 모두 15밀리캐빈의 온도에서만 구동 가능하다. 영하 273.135도의 온도로, 우주의 심연보다 100배 더 춥다. 따라서 엄청난 크기의 희석 냉장고 안에 보관되며, 여러분의 일반적인 PC에 탑재되지는 않을 것이라는 점이다. 연산이 빠르다기보다는 연산을 수행하는 종류가 달라 굳이 일반 PC에서 사용할 필요는 없다. 앞으로 우리는 이 미지의 생물 같은 물건이 내 비밀번호를 훔치게 될지 아닐지에 더 촉각을 곤두세우는 게 좋겠다. 물론 내 비밀번호뿐 아니라 남의 비밀번호까지 중첩과 얽힘으로 인해 한꺼번에 알아낼 것이다.


양자컴퓨팅에 대해 설명한 Kurzgesagt – In a Nutshell 유튜브
<이종철 기자> jude@byline.network
컴퓨터 공학 전공의 이과생이지만, 양자 컴퓨팅이 뭔지 잘 모르고 큰 관심이 없던 상태입니다. 이종철 기자님의 양질의 글 덕분에 많이 배우고 얻어갑니다. 좋은 하루 보내세요.
감사합니다
뉴스레터 보고 들어와서 굳은 결심을 하고 읽었지만… 1/3을 넘기지 못했습니다. 다음 번에 다시 도전합니다. 아윌비백.
유캔두잇
다 읽었는데, 누군가 물어보면 아무말도 못할 것 같은 내용이네요 ㅎ
저도 뭐 알고 쓴 건 아닙니다 감사합니다 ㅎㅎ
본문에서 두가지 정도 오류가 있는 거 같네요.
첫째는, 과학자들이 양자컴을 어디에 쓸지 모른다는 것은 오류같아요. 오히려 활용할 분야가 너무 많아서 과학자들도 놀라고 있는 상태라고 보여집니다. 암호화나 데이터베이스 검색 뿐 아니라 많은 종류의 시뮬레이션에서 고성능을 발휘할 수 있기 때문에 활용분야는 무궁무진하다고 보여집니다.
둘째는, 양자우위 달성에 대한 검증이 어렵다는 것도 오류입니다.
만일 비대칭키 암호화 시스템에서 주어진 공개키에 대한 개인키를 양자컴이 발견해내기만 한다면 양자우위는 단번에 입증됩니다. 당연히 그암호화는 복호화 되어 풀리고요. 물론 그것을 일반컴으로는 풀려면 수만년 이상 걸리겠죠. 하지만 일반컴이 못푼다고 해서 양자컴의 양자우월성은 검증 못하는 게 아니죠. 미리 주어진 개인키에 대한 공개키를 만든 후(물론 양자컴에는 개인키를 입력하지 않은 상태에서) 이 공개키로부터 양자컴이 연산을수행해서 개인키를 도출한다면 충분히 검증은 가능하니까요.
감사합니다!
와…..그동안 1도 모르겠던 양자역학, 양자컴퓨팅에 대해 0.0000001은 알 수 있도록 쉽게 써주신 이종철 기자님 찬양합니다!
저도 문과여서 그런지 뒤로 갈수록 뭔 얘긴지 안 들어오네요. ㅠㅠㅠㅠㅠㅠㅠㅠㅠㅠ
난 멍충인가봐. 0과 1이 구분되기 떄문에 신호인데, 그게 동시에 있으면 어떻게 구분해서 신호로 쓴다는건지ㅜ.ㅜ 아무튼 잘봤습니다. 좀더 검색해보고 생각해볼께요.
그 많은 연산이 동시에 된다니 무슨 sf소설 본 것 같네요~ 실제로 컴퓨터로 구현된다면 삶의 어느 부분이 가장 빨리 바뀌게 될지 궁금하기도 하고 무섭기두 하고 ㅜㅡㅜ 재밌는 기사 잘 읽었습니다 감사합니다^^