최근 양자컴퓨터 기술이 뜨거운 화제로 떠오르고 있습니다. 기존의 일명 ‘수퍼컴퓨터’라 불리는 고성능 컴퓨터로 수백 년이 걸릴 계산을 단 몇 분 만에 뚝딱 해낸다고 하죠. 이런 특성 때문에 암호 해독이 빨라지면, 비트코인이 무력화되는 게 아니냐는 이야기도 심심찮게 떠돌고 있습니다. 이번 호에서는 세상을 떠들썩하게 하고 있는 양자컴퓨터에 대해 살펴보도록 하겠습니다.
Q1. 양자컴퓨터를 알려면 양자역학의 신비로운 세계에 대해 먼저 알아봐야 할 것 같은데, 양자역학의 특성이 양자컴퓨터에 어떻게 응용되는지 차근차근 설명해 주실 수 있을까요?
네, 좋습니다. 쉽게 비유를 들어가면서 양자역학의 세계를 설명해 드릴게요. 우리가 테니스공을 벽에 던지면 당연히 벽에 맞고 돌아오겠죠? 이 공의 스케일을 조금씩 줄여서 탱탱볼이나 구슬 크기 심지어 쌀알 같은 것을 벽에 던져도 벽에 맞고 튕겨 나옵니다. 그런데 이걸 계속 작게 쪼개서 던지다 보면 결국 원자라는 세상 만물을 구성하는 가장 작은 알갱이가 나오거든요? 이런 원자 레벨 안에 있는 양성자나 전자 같은 아주 작은 알갱이까지 가면 신기한 일이 벌어집니다.
무슨 신기할 일이 벌어지냐 하면, 이 정도로 작은 입자 상태까지 오면 벽으로 던졌을 때 벽에 맞고 튕겨 나오는 경우도 있지만, 벽을 그냥 통과해 버리는 경우도 있다는 거예요. 마치 해리포터의 9와 4분의 3 승강장처럼요. 이걸 양자터널링 효과라고 합니다. 실제 반도체 공정에서 이 양자터널링 효과 때문에 뜻하지 않는 곳으로 전류가 흘러 애를 많이 먹고 있고요. 여기서 의문이 드는 점은 이런 녀석들도 결국 전부 우리 모든 만물을 구성하는 레고블록 같은 입자들이거든요? 그런데 우리를 구성하는 입자들은(미시세계) 이런 신비한 현상이 나타나고, 이런 입자들로 이루어진 우리 같은 큰 물체들은(거시세계) 절대로 이런 신비한 현상이 일어나지 않는다는 거죠.
Q2. 그럼, 왜 질량을 가진 입자들이 이런 '마법 같은' 터널링을 보이는 건가요?
쉽게 비유를 들자면 제가 방에서 소리를 지르면 벽이 가로막고 있어도, 반대편 방에서 제 목소리가 들리지 않습니까? 제 목소리는 일종의 파동이거든요? 뿐만 아니라 벽이 막고 있어도 와이파이 단말기를 거실에 설치만 해 놓으면 여러 방안에서 각자 동시에 와이파이를 사용할 수 있지 않습니까? 이 와이파이라는 것도 전자기파라는 파동이거든요? 즉 이런 입자 알갱이가 벽을 통과했다는 건 이러한 입자가 목소리나 와이파이 같은 파동처럼 행동해야만 벽을 통과할 수 있다는 뜻이에요(물론 양자역학적 파동은 제가 앞에 설명드린 소리의 음파나 와이파이의 전자기파 같은 고전역학적 파동과 어느 정도 차이가 있지만 쉬운 이해를 위해서 비유를 드린 거고요).
아무튼 이러한 파동성을 입자가 갖게 되는 걸 물질파라고 하는데 입자랑 전혀 다른 성질을 띠게 됩니다. 공을 한쪽으로 던지면 한 사람만 받을 수 있지만, 제 목소리는 여러 사람이 동시에 듣고 와이파이는 동시에 여러 사람이 쓸 수 있잖아요? 이것처럼 입자도 파동과 같은 성질을 띠게 될 때는 동시에 여러 곳에 확률적으로 존재하는 상태가 된다는 겁니다. 그리고 이걸 ‘중첩’이라는 단어로 표현합니다. 이 중첩이라는 특성을 잘 활용해서 계산하는 장치가 바로 양자컴퓨터입니다.
Q3. 이러한 중첩 상태가 양자컴퓨터와 어떤 관련이 있나요?
기존의 컴퓨터는 이진법 0 아니면 1이라는 단위를 쓰고, 이를 비트라고 표현합니다. 반대로 양자컴퓨터는 0 아니면 1이 아니라 0과 1이 동시에 중첩되는 상태를 만들 수 있어서, 양자라는 뜻인 퀀텀과 고전컴퓨터의 비트를 합쳐 큐비트라는 최소 단위를 씁니다. 그리고 이러한 전자 같은 작은 알갱이 즉 입자를 중첩 상태로 만들어서 하나에 하나씩이 아니라 동시에 엄청나게 많은 연산을 가능케 한 게 바로 양자컴퓨터의 기본적인 원리입니다. 자, 그렇다면 이 중첩이 왜 압도적으로 연산에 좋을까요?
자물쇠를 예로 들자면 여러분들도 돌려서 푸는 자물쇠 사용해 보셨죠? 0000부터 9999 사이 숫자 중에서 특정 4자리 숫자를 맞춰야 자물쇠를 열 수 있죠? 기존에 0과 1의 이진법을 쓰는 이걸 비트라고 합니다. 만약 비밀번호가 9987이라면 이걸 쓰는 기존 컴퓨터는 0000부터 9999까지, 즉 약 만 번의 시행착오를 겪어야 비밀번호를 풀어냅니다. 이에 반해 양자컴퓨터는 중첩, 즉 동시에 여러 곳에 확률적으로 존재할 수 있는 특성을 활용해, 동시에 0000부터 9999 사이에 있는 모든 숫자를 확인해 보고 그중에 9987이라는 숫자가 비밀번호라는 걸 중첩의 원리로 한순간에 풀어낼 수 있다는 거죠.
Q4. 왜 미시세계의 입자들은 파동성을 잘 띠지만, 거시적인 물체는 그렇지 않은 건가요?
그럼 ‘왜 작은 알갱이 레벨이 되면 파동의 성질을 잘 띠고, 우리가 평소에 보는 큰 테니스공은 파동의 성질을 잘 안 띨까?’라는 궁금증이 생기죠. 여기서부터 양자역학이 시작되는 건데, 원자보다 작은 레벨의 작은 세계, 이걸 미시세계라고 합니다.
우리가 상상을 해보자면 생쥐 한 마리랑 엄청 덩치가 큰 사람이 명동 한복판을 걸어가면 덩치가 큰 사람은 많은 사람과 부딪히겠지만, 생쥐는 요리조리 잘 피해서 돌아다닐 수 있겠죠? 이와 마찬가지로 미시세계의 작은 입자들은 너무 크기가 작아서 누군가랑 부딪힐 확률이 아주 낮아요. 잘 피해 다닌다는 거죠. 그런데 놀랍게도 양자역학자들의 주장에 따르면(코펜하겐 해석), 우리 우주에서는 입자들이 잘 피해 다니면, 다시 말해 무언가랑 상호작용을 안 하면 파동의 성질을 띤다고 해요. 반대로 누군가랑 많이 부딪힐수록, 즉 상호작용을 많이 할수록 파동함수는 붕괴되고 입자로 나타날 확률이 높다고 합니다(결맞음상태와 결어긋남 상태).
Q5. 양자컴퓨터가 상용화되면 비트코인은 0원이 될 수 있다고 하는데 무슨 근거일까요?
앞서 말씀드린 것처럼 양자컴퓨터는 기존 컴퓨터(고전컴퓨터)보다 훨씬 더 강력한 계산 능력을 가지고 있어요. 현재 암호화폐의 보안체계는 공개키 암호화(Public Key Cryptography)를 기반으로 하는데, 짧게 원리를 설명하자면 기존의 암호체계는 대부분 소인수분해와 같은 원리를 활용한 암호를 만들어요.
소인수분해가 뭐냐하면, 예를 들어 391이라는 숫자는 17이라는 소수랑 23이라는 소수를 곱한 값이거든요? 그럼 암호로 391을 제시하고 이 암호에 대한 비밀번호가 17과 23인 거죠. 이런 작은 숫자는 암호를 푸는, 즉 복호화가 쉬워요. 하지만 수백 자리의 숫자를 소인수분해해서 이 값을 알아내라고 암호를 제시하면 기존의 컴퓨터는 작은 숫자들을 하나하나씩 계산해 보고 정답을 찾아내야 하기 때문에 수백만 년이 걸립니다.
양자컴퓨터는 중첩 원리를 이용해 동시에 많은 계산이 가능해서 이런 암호를 단시간에 풀 수 있을 가능성이 있어요. 비트코인과 같은 암호화폐의 보안체계인 공개키 암호화도 결국 자물쇠를 던져주고, 수백만 개의 열쇠도 함께 주면서 이 중에서 딱 맞는 열쇠 하나를 찾으라고 문제를 제시하는 거예요. 고전컴퓨터는 수백만 개의 열쇠를 하나하나 다 맞춰봐야 하지만, 양자컴퓨터는 중첩의 특성을 활용해 수백만 개의 열쇠를 동시에 자물쇠에 꽂을 수 있고, 그중 열리는 열쇠를 찾아내 비밀번호를 알아내는 원리인 거죠. 하지만 아직 양자컴퓨터가 상용화되려면 최소 10년 이상은 걸린다고 하고 또한 이러한 양자의 특성을 활용해 반대로 양자암호화시스템(양자 저항 암호)을 만들 수 있어요. 이런 시스템을 활용하면 비트코인과 같은 블록체인은 새로운 암호화 방식을 도입해 양자컴퓨터 공격에 대비할 수 있으니 당장의 걱정은 없겠죠?