상세 컨텐츠

본문 제목

양자컴퓨터 나오면 비트코인 해킹될까?

잡지식

by 두날개인테리어 2023. 2. 22. 07:56

본문

반응형

블록체인을 해킹할 수 있다는 양자컴퓨터 이야기가 나올 때마다 불안감이 조성되는데요. 그에 따른 대응은 있는 것인지 정말 해킹이 가능한 것인지 알아보도록 하겠습니다.( 100% 전문가는 아니기 때문에 아는 지식 선에서 작성되었음을 미리 공지하겠습니다) 양자컴퓨터에 대한 변수가 암호화폐에 대한 위험으로 작용하고 있습니다. 양자컴퓨터를 쉽게 이야기하면 무~~ 지 빠른 컴퓨터 어렵게 이야기하면 양자역학을 이용한 새로운 알고리즘의 컴퓨터라고 할 수 있겠습니다.

먼저 쉬운 설명으로 편안하게 해 드리고 나서 어려운 설명에 도전해 보겠습니다.

예) 제가 비트코인을 해킹하려고 합니다. 이론적으론 가능하지만 너무나도 오랜 시간이 걸립니다.
세상에서 가장 빠른 컴퓨터로 비트코인을 해킹한다고 하더라도 몇만 년 몇백만 년이 아니고 몇 조년이 걸립니다.
결국 불가능하단 이야기입니다. 그런데 새로운 개념의 컴퓨터를 개발 중입니다. 이게 바로 양자컴퓨터인데요. 비록 초기 단계에 있지만 만약에 아주 만약에 완성이 된다면 비트코인을 몇 분 만에 해킹할 수 있습니다. 이제부터 어려운 설명으로 들어가겠습니다. 이해가 안 되신 분들은 음 초고속 울트라캡숑컴퓨터가 나오나 보다 정도로 이해하시면 되겠습니다 하하;;
양자컴퓨터를 설명드리기 전에 양자역학에 대해 간단하게 설명해 드리겠습니다. 양자컴퓨터 기본 원리는 양자역학인데요.

슈뢰딩거란 과학자의 유명한 설명이 있습니다.

커다란 박스 안에 고양이를 집어넣고 독약을 함께 넣었습니다. 독약이 깨지면 고양이가 죽는데 30분 후에 이 상자를 열어보면 고양이가 살았을까요 죽었을까요? 둘 중 하나겠죠?? 그런데 상자를 오픈하기 전까지 모르는 일입니다.

살아있으면 1 죽으면 0이라고 하겠습니다. 오픈하기 전에 값은 0또는 1입니다. 즉 양자컴퓨터는 0과 1이 동시에 얽혀있는 상태로 설명하는데 고양이가 살아있거나 죽은 상태가 공존하며 그 사건이 관측되는 순간에 결정되게 하는 것이 양자역학입니다. 현제 컴퓨터는 값이 정해져 있으므로 아닌 답이 나왔을 시 에러가 발생하겠죠??

 

 

 

 

 

그림과 같이 양자들은 서로 짝을 이뤄 얽혀있을 수 있고 0과 3, 1과 2와 같이 얽혀있는 것이 가능하다고 합니다.

제일 오른쪽과 같이 0,1,2,3이 겹치는 중첩상태도 가능하다고 하니 대단할 뿐입니다. 이런 양자 성질은 0과 1뿐 아니라 00,11,01,10과 같은 데이터 표현이 가능하므로 연산속도를 빠르게 할 수 있습니다. 일반 컴퓨터는 0,1(비트)로 값을 표현하지만 양자컴퓨터는 큐비트(Qbeit)라는 양자 비트로 표시하며 0과 1이라는 큐비트를 사용하면 00,01,10,11의 상태로 값을 표시할 수 있습니다.



비트와 큐비트를 담아놓은 곳이 트랜 시터입니다.  안에 들어있는 값을 보시죠~

쉽게 예를 들면 부산에서 서울 가는 가장 빠른 길은 뭘까? 그러면 현제 컴퓨터는 모든 가능한 길을 한 번씩 다 가보고 결괏값을 내놓습니다. 하지만 양자컴퓨터는 가능한 경우의 수를 한 번에 확인하여 결괏값을 바로 제시해 줍니다. 이론상으론 그럴싸하지만 억지스럽기도 하지만 일반적인 상식에서는 불가능하겠지만 극한상황에서 확인을 해 보면 가능할 수도 있습니다. 이 세상의 모든 물질은 원자로 되어 있고 그 안에는 핵이 있고 전자가 빙빙 돌고 있는데 전자는 움직임이 불규칙합니다.
이 과정 및 패턴이 관측이 안되기 때문 고립시켜놓고 이 값을 찾아내는 게 양자컴퓨터라고 할 수 있습니다.

 

 

 

비트코인 암호화에 대해 설명을 간단히 드리면

2x3= 6이죠?

13x17= 221입니다. 만약 제가 문제를 제출합니다. 221은 어떤 수와 어떤 수를 곱하면 나올까요? 한다면 답을 찾는데 시간이 소요됩니다.

또 임의 숫자를 3052435098823456534435232234x34508923492384904656324= 56082578803758342097589357274657665879345468509567453532454356578563454567089345726457823648723648725546345465374563456454 라고 했을 때

 

56082578803758342097589357274657665879345468509567453532454356578563454567089345726457823648723648725546345465374563456454 이 값을 드리고 이것을 만들기 위한 숫자는 뭘까요?라고 문제를 제출하면 찾아낼 수 있을까요? 이게 비트코인의 암호화인데요 56082578803758342097589357274657665879345468509567453532454356578563454567089345726457823648723648725546345465374563456454 이 값이 퍼블릭키입니다. 

 

3052435098823456534435232234x34508923492384904656324= 이 값은 프라이키 입니다.

이것이 ECDSA (타원곡선 디지털 시그니처 알고리즘)입니다. 이게 비트코인은 숫자가 아니고 영문+숫자를 섞어서 사용하고 있죠.



이로 인해 현재로서 비트코인을 해킹한다는 절대적으로 불가능한 일이고요.
양자컴퓨터가 완성도 있게 개발되어 나온다면 퍼블릭키가 공개된 주소는 위험하다고 볼 수 있습니다. 이걸 p2pk ( Pay to Public Key)라고 하는데 예전에는 퍼블 릭키로 비트코인을 바로 보냈습니다만 요즘은 위험요소로 인해 매번 지갑에서 주소를 만듭니다.

또 다른 위험요소는 더블 스펜드와 채굴 장악, 분실 코인 싹쓸이 등이 있습니다.

반응형

관련글 더보기