양자 컴퓨터로 암호 화폐 해킹이 가능할까?
2024년 12월 구글은 105큐비트의 양자 칩 윌로우( Willow)를 공개했다. 윌로우( Willow)는 양자 오류 정정 분야에서 오랜 과제를 해결하며 실용적인 양자 컴퓨터 개발에 한 걸음 더 다가섰지만 발표 직후 암호화폐의 가격은 잠시 급락했다. 그 이유는 무엇일까?
암호 화폐란?
그 이유를 알기 위해서는 '암호 화폐'가 무엇인지 부터 알아야 한다. 암호화폐(cryptocurrency)란 디지털 가상화폐로써 거래가 안전하게 이루어지도록 암호화 되어있고, 누가 보냈는지 누가 받았는지 증명할수 있으며 위조가 어렵기 때문에 안전하게 보호 될 수 있으며 분산된 네트워크상에서 중앙 기관 없이 발행·관리된다. '비트코인', '이더리움','리플'처럼 익숙한 암호 화폐는 블록체인 기술을 기반으로 만들어진 대표적인 가상화폐이다.
암호 화폐의 등장
암호화폐는 2008년 글로벌 금융위기와 기존 금융 시스템에 대한 불신으로 촉발되었다. 당시 각국 정부와 중앙은행이 통화를 과도하게 공급하면서 법정화폐의 가치 하락 우려가 커졌고, 중앙 기관에 의존하지 않는 대안 화폐에 대한 요구가 높아졌다. 이러한 배경에서 탈중앙화된 전자화폐인 비트코인을 시작으로 다양한 암호화폐들이 등장했다.
암호화폐는 블록체인(blockchain) 기술과 공개키 암호화(public-key cryptography) 기술을 기반으로 한다. 블록체인이란 거래 내역을 담은' 블록(block)'들을 순차적으로 연결한 '분산형 디지털 장부(원장)'를 말한다.en.wikipedia.org
블록체인의 핵심은 탈중앙화와 공공거래장부이다. 탈중앙화란 힘이나 권한이 특정한 하나의 중앙 기관에 집중되지 않고, 여러 곳으로 분산된 구조를 뜻한다. 현재 화폐는 정부나 은행등 거래를 관리하고 이에 관한 책임 진다. 이것을 중앙처리시스템이라고 부른다. 그러나 앞에서 언급한 2008년 글로벌 금융위기 이후 중앙처리시스템에대한 회의가 불거져 나왔고 그 대안으로 중앙이 아닌 모두에게 공증을 받는 블록체인 네트워크가 등장한 것이다.
쉽게 말해 블록체인은 모두가 함께 쓰는 거래 일기장이라하면,
예를 들어 친구 A가 친구 B에게 비트코인을 보냈다고 한다. 그런데 그 거래 내용을 혼자만 알고 있다면나중에 “그런 일 없었어!” 하고 거짓말 할 수 도 있다. 그래서 블록체인은 '모든 참가자(컴퓨터, 노드)'에게 '같은 내용의 거래 기록(원장)'을 복사해서 똑같이 저장하게 한다. 모든 참가자에게 같은 거래 기록을 공유하기 때문에 서버 하나가 망가져도 시스템은 작동하고 관리자가 없어도 거래가 안전하다는 이점이 있다.
비트코인 (Bitcoin)
최초이자 대표적인 암호화폐인 비트코인(Bitcoin)은 2008년 10월 사토시 나카모토(Satoshi Nakamoto)라는 익명의 인물이 공개한 백서에서 개념이 제시되었고 이듬해 2009년 네트워크가 가동되면서 등장했다. Bitcoin - Wikipedia
비트코인은 이후 온라인을 통해 빠르게 확산되어 2010년에는 최초로 비트코인을 이용한 현실 거래(피자 두 판 구매)가 이루어졌으며, 이를 계기로 암호화폐가 본격적인 새로운 화폐 형태로 관심을 받기 시작했다.
비트코인의 암호 기술
대표적인 암호화폐인 비트코인은 3가지 암호 기술로 사용된다.
첫번째는 1976년 미국의 암호학자 휘트필드 디피와 마틴 헬만이 최로로 공개한 공개키 암호기술(public-key cryptography)이다. 비트코인 네트워크에서 누군가 거래를 만들면 네트워크의 이용자가 이것이 올바른 거래인지, 이중으로 거래가 된것은 아닌지, 거래자가 거래할 만큼의 코인의 양을 갖고 있는지 확인을 하게 된다. 또한 서명을 한 사람과 거래를 만들 사람이 동일한지 공개키로 검증한다. 그리고 비트코인으로 개인이 거래를 한다면 그때는 개인 암호화 키로 거래에 서명을 한다. 그리고 이 서명을 공개키로 다른 이용자들이 올바른 거래인지 검증을 하는 것이다.
두번째는 해시 함수(Hush Function)이다.
해시 함수는 어떠한 길이의 데이터를 넣어도 고정된 길이, 즉 같은 결과를 내는 함수를 말한다. 블록체인에서 해시 함수가 중요한 이유는 각 블록은 이전 블록의 해시값을 포함하고 있기 때문에 누군가 블록을 조금이라도 바꾸면 해시값 즉 출력값이 달라진다. 또한 해시값을 보고 원래 내용을 유추할 수 없다. 이러한 이유 덕분에 해시 함수는 블록체인의 보안을 강화 할 수 있다.
비트코인에서 '블록'은 새로운 거래 내역을 기록하는 장부와도 같은 역할을 한다. 블록체인에서 새로운 블록을 추가할때 PoW 규칙을 적용한다. 새로운 거래 내용을 기록하면 새로운 블록이 필요한데 블록체인에서는 새로운 블록을 추가할때 특정 조건에 맞는 해시값을 찾아야 한다. 하지만 앞에 말한 것처럼 출력값으로는 입력값을 알아 낼 수 없다. 이때 조건에 맞는 해시값을 알아내기 위해서 무작위로 연산을 반복하는데 이 과정을 PoW 알고리즘이라고 한다.
코인에서 '채굴' 한다는 것은진짜 금을 캐는 게 아니라 컴퓨터로 계산을 한다는 의미이다. 복잡한 수학 문제를 컴퓨터로 풀고 문제를 가장 먼저 푼 사람에서 보상으로 코인을 것이다. 다시말해채굴은 컴퓨터로 블록체인의 수학 퍼즐을 풀고, 거래를 기록하면서, 보상으로 암호화폐를 받는 말이다. 그렇기 때문에 PoW기반 블록 체인에서 연산력은 곧 힘이며, 이는 볼록체인의 보안을 강화 하는 역할을 한다.
마지막 세번째로는 난수 (random number)이다. 비트코인의 보안성의 안정성을 위해서 절대 예측 불가능하도록 숫자를 무작위로 만든다는 의미이다.
양자 컴퓨터가 암호 화폐를 풀 수 있을까?
2021년 11월, 비트코인은 슈노어 서명(Schnorr Signature)을 도입했다. 이는 비트코인의 보안, 효율성, 프라이버시를 향상시키기 위한 중요한 개선을 위해서 였다. 슈노어 서명은 여러개의 서명을 하나로 합칠 수 있고 거래의 유형도 숨길 수 있어 블록 체인 분석을 더 어렵게 만들 수 있서 사생활 보호를 강화하는 역할을 했다. 하지만 이러한 슈노어 서명이 양자컴퓨터에 취약하는 우려가 제가 되었다.
슈노어 서명이 양자 컴퓨터에 취약한 이유
슈노어 서명은 '이산 로그 문제(Discrete Logarithm Problem)' 에 기반한다. 그런데 양자 컴퓨터는 이산 로그 문제를 빠르게 해결 할 수 있는 능력을 갖추었다. 충분한 큐비트를 가진 양자 컴퓨터는 여러 숫자를 동시다발적으로 계산 할 수 있다. 이 뜻은 비트코인을 해킹 하려는 사람이 공개키를 활용하여 개인키를 역산하는 것이 가능해지고 임의로 거래 서명을 조작 할 수도 있다.
글로버 알로리즘
글로버 알고리즘은 부작위 검색 속도를 향상 시킨다는 특징이 있다. 하지만 여전히 긴 시간이 팔요한 연산량이어서 쇼어 알고리즘 만큼 위협적이지는 않다. 현재 널리 쓰이고 있는 공개키 암호를 공격 하기 위해서는 최소 몇천 개에서 최대 몇만 개 정도의 논니적 큐비트가 필요하기 때문이다.
결론적으로 현재의 양자 컴퓨터는 아직 암호화폐를 해킹 할 수 없지만 앞으로의 기술 발전으로는 해킹이 가능해 질 수 있다.
미국 국립표준기술연구소(NIST)에서 2016년부터 양자컴퓨터 발전으로 인한 보안 위협에 대비하여 양자 저항성을 가진 암호 기술 표준화 작업을 시행 했기 때문에 (예를 들어 PQR격자기반 암호) 암호 화폐부터 여러 다양한 암호 이용 서비스에 문제가 없을 것이라고 했다.
결론적으로 현재의 양자 컴퓨터는 아직 암호화폐를 해킹 할 수 없지만 앞으로의 기술 발전으로는 해킹이 가능해 질 수 있다. 때문에 양자컴퓨터를 포함한 다양한 분야에 대비하여 암호를 고도화하는 연구는 지속적으로 이루어져야 할 필요가 있다.