비트코인 사용원리

마지막 업데이트: 2022년 5월 23일 | 0개 댓글
  • 네이버 블로그 공유하기
  • 네이버 밴드에 공유하기
  • 페이스북 공유하기
  • 트위터 공유하기
  • 카카오스토리 공유하기
블록체인과 거래기록(출처: https://github.com/bitcoinbook/bitcoinbook/blob/develop/ch02.asciidoc)

비트코인 채굴방법 채굴원리 채굴기

전 세계 투자자들의 큰 관심을 받고 있는 가상화폐 중 하나인 비트코인에 대해 모두가 궁금해하고 알고 싶어하는 부분에 대해 정리해 보았습니다.

몇 년 전에는 아는 사람들 사이에서나 인터넷 게시판에서 화두가 되었다면 지금은 지나가는 모든 사람들이 알 정도로 공중파 뉴스뿐 아니라 신문 등 어느 매체에서나 홍보가 되고 있는 것이 바로 현 실정으로 과연 이런 가상화폐 " 비트코인 "의 채굴방법과 채굴원리에 대해 알아보도록 하겠습니다.

비트코인이란?

가상화폐란 중앙은행에 의해 가격이 통제되지 않고 전 세계 어디서나 똑같은 금액에 대한 동일한 화폐가치를 지니자 라고 하는 생각으로 만들어진 화폐단위라고 할 수 있으며 그렇기 때문에 전 세계 어디서나 사용을 할 수 있는 장점이다.

그중에서 비트코인이라고 하는 것은 수많은 가상화폐 중 하나이며 현재 제일 보편화되어 많은 사람들의 귀에 친숙하게 들리는 것일 뿐 가상화폐 = 비트코인 의 유일한 단어가 아닌 수많은 가상화폐 중 일부분이 비트코인 이다.

그리고 이 비트코인의 개수는 무한한 것이 아니고 현재 2,100개라는 비트코인의 개수가 제한된 체로 채집을 하고 있으며 시간이 지날수록 비트코인을 얻는대 걸리는 시간이 더 많이 걸리는 것으로 예상된다.

즉 수량이 적어질수록 비트코인은 얻기가 힘들어진다 그이유는 적은 자원을 많은 사람이 채굴하려고 하기 때문이다

그리고 이렇게 채굴기를 사용하는데 있어서 컴퓨터는 비트코인 사용원리 엄청난 전력 소모가 있기 때문에 현재의 시세와 컴퓨터 값 + 전기세 를 계산하는 것이 필요하다

이러한 비용 투자와 시간 투자가 부담스럽다면 채굴장에 돈을 투자하는 방법이다.

전문적인 채굴장은 적게는 수십억 많게는 수백억을 투자하여 수백 대의 채굴기계를 만들어 24시간 쾌적하게 채굴한도록 만든 시스템으로 이런 채굴장에 너무나 많은 돈이 들기 때문이다

이런 채굴장에 자본을 투자하여 얻게 되는 비트코인을 투자비율로 수익을 나눠가지는 방법이 있다.

하지만 이런 채굴장에 또한 합법적인 것이 아니기에 사기를 당할 위험과 수수료 등으로 인해 제대로 된 수익을 나눠가질 수 있는지 등에 대한 합당한 정보가 뒷받침된 상황에서 해야 될 것이다.

Try hello world. Make it work. Try hello world. Make it work.

탈중앙화(decentralized), 암호화폐(cryptocurrency) 같은 단어가 항상 비트코인에 따라붙는데 이해가 잘 안 된다. 일반 코인 투자하는 사람들은 업비트나 빗썸 같은 곳에서 현금을 넣고 시시각각 변하는 가격에 따라 원하는 수량을 사고팔고 하는 게 전부다. 지금이 최저점이다 생각하고 샀다 비쌀 때 팔면 그만이지 비트코인이 뭐고 블록체인이 뭔지 알 필요가 있을까 싶기도 하다. 하지만 근본적으로 IT 피가 비트코인 사용원리 흐르는지 어떻게 비트코인이 생성되고 P2P(peer-to-peer) 거래가 가능한지 너무 궁금해서 직접 알아보았다. 오늘의 질문은

이 질문에 대한 답변을 이해하기 위해서는 몇 가지 개념을 알아야 한다. 우선 암호화폐를 가능케 한 가장 핵심 기술인 블록체인(blockchain)이 무엇인지, Proof of work(POW)가 무엇인지, 원장(ledger) 등. 알아야 할 개념이 많지만 최대한 쉽게 설명해보고자 한다.

기존 은행을 통한 송금 시스템을 생각해보자. 나의 통장의 비트코인 사용원리 잔고는 1,000만 원이고 내가 A라는 사람의 계좌에 100만 원을 보낸다고 가정해보자.

  1. 은행 어플을 열고 로그인을 한다.
  2. 보낼 사람(A)의 계좌번호를 입력한다.
  3. 보낼 금액을 입력한다.
  4. 금액과 수신인 확인 후에 최종 인증을 하고 전송한다.

이 과정은 거래하는 은행이 보증해준다. 내 통장에는 100만 원이 빠져나갔다는 기록이 되고 A의 통장에는 100만 원이 입금됐다는 기록이 생긴다. 그러면서 내 통장의 잔고는 900만 원이 된다.

비트코인의 송금과정은 위 과정에서 은행이라는 중앙 매개체가 빠진다. 그래서 탈중앙화라는 개념이 사용된다. 우리가 송금을 생각하면 보통 법정통화를 주고받는 것을 떠올린다. 여기에서 비트코인 송금은 특수하게 제작된 디지털화된 숫자를 누군가에게 건네주고 받는 과정이다. 이것을 가능하게 해주는 것이 블록체인이다. 모든 거래가 블록에 기록되어 절대로 변조시킬 수 없다.

Centralization vs. Decentralization

이런 블록들은 누가 갖고 있을까? P2P라는 개념에서 알 수 있듯 블록은 네트워크에 참여하는 개인이 갖고 있다. 그리고 서로 연결되어있어 블록이 모두 동기화되어 있다. 비트코인 네트워크에 참여하는 사람이 많을수록 블록을 통한 감시자가 많아지는 것이고 많은 참여자에 의해 두터운 신뢰기반의 거래할 수 있게 된다. 어떤 거래에 대해 수많은 사람이 알고리즘 적으로 보증해주는 것이다. 이 세계 안에서는 어떠한 사기도 칠 수 없고 블록체인이라는 기술 덕분에 블록에 기록된 데이터 변조가 불가능하다. 내가 알기로는 참여자의 과반 이상이 맘먹고 사기 치지 않는 이상 불가능하다고.

블록체인이란?

블록체인은 일반적으로 파일 형태로 저장되거나 단순한 데이터베이스 내에 저장될 수 있다. 블록체인이라는 단어에서 알 수 있듯 블록체인이란 블록이 수직적으로 연결되어있다는 의미다. 한 블록 위에 다른 블록이 쌓이며 이전 블록을 참조한다.

블록체인과 거래기록(출처: https://github.com/bitcoinbook/bitcoinbook/blob/develop/ch02.asciidoc)

위 그림과 같이 블록에는 거래가 기록되고 새로운 블록은 이전 블록을 참조하는데 해시(hash) 값을 기반으로 참조한다. 이런 블록은 대략 10분에 하나씩 생성되는데 새로운 거래가 일어나 거래가 기록되려면 새로운 블록에 해야 한다. 그러니까 최소 10분은 걸리고 이 거래가 제대로 됐다고 증명하기까지는 몇 개의 블록이 더 쌓여야 한다고 한다. 그래서 비트코인 사용원리 비트코인으로 편의점 같은 데서 거래하는 게 쉽지 않은 것이다. 거래하고 확인될 때까지 10분 정도 기다려야 하는데 누가 기다리겠는가. 이를 보완하기 위해 라이트코인 같은 게 개발됐다.

채굴자의 역할과 거래 승인

수년전 많은 컴공과 대학원생들이 연구실의 놀고 있는 서버를 몰래 비트코인 채굴하는데 썼다는 소문을 들어본 적이 있는가? (그때 그냥 비트코인을 돈 주고 샀어야. ) 채굴이란 한 블록이 생성될 때 그 블록이 내는 문제를 맞혀야 하는 과정이다. 그 문제를 맞히면 보상으로 비트코인을 얻는다. 그 문제란 어떤 특정한 값을 찾아내는 것인데 블록의 헤더와 임의의 숫자를 SHA256 알고리즘을 통해 맞힌다. 한마디로 엄청난 삽질을 해야 찾을 수 있는데 이 삽질을 엄청 빠르고 많이 하기 위해 고성능의 그래픽카드가 필요한 것이다(NVIDIA to the moon🌝). 이렇게 채굴되면 새로운 블록은 기존 블록체인 위에 공식적으로 올라가게 된다. 참고로 시간이 지날수록 한 블록당 보상량은 줄어들어(4년마다 반감기를 갖는다) 2140년이 되면 더 이상 새로운 비트코인은 발행되지 않는다. 그래도 채굴자들은 거래 시 발생하는 수수료 또한 채굴할 수 있어 계속 채굴을 하지 않을까 싶다.
새로 추가된 블록에는 이전 거래가 모두 기록되어있다. 여기에 추가로 거래된 기록을 검증하고 새 블록에 보관해야 하는데 이런 작업도 채굴자의 몫이다. 새로운 거래를 검증할 때 유효성 입증을 위해 매우 어려운 문제를 푸는데 이것을 작업 증명(Proof of Work, POW)라고 한다. 거래가 새 블록에 추가될 때 수수료가 가장 높은 거래부터 우선순위로 추가되고 몇몇 거래는 다른 기준으로 추가된다고 한다.

비트코인과 알트코인, 블록체인에 관심을 갖게 되면서 제일 의문을 품었던 부분은 이게 뭔 가치가 있길래 이렇게 비쌀까였다. 그리고 많은 사람이 나같은 의문을 갖고 질문한다. 그에 대한 나의 답은 이런 생태계를 인정하고 이해하면서 코인 생태계의 커뮤니티에 참여하는 사람이 점점 많아지고 커뮤니티 안에서 신뢰가 기술을 통해 만들어졌다는 점이 가치를 만들어내는 게 아닐까 생각한다. 우리가 지폐를 사용할 수 있는 것은 중앙은행이 보증해주고 사람들은 그것을 믿기 때문이다. 암호화폐는 그 믿음을 기술로 해결했다. 앞으로 어떤 방향으로 비트코인 사용원리 기술과 커뮤니티가 발전될지 기대된다.

비트코인 사용원리

비트코인 작동 원리 궁금해서 설명글 여러개 봤는데 다들 뭔가 아쉬웠다. 그래서 비트코인 채굴 원리 즉 블록체인 생성 원리를 누구나 쉽게 이해할 수 있도록 최대한 쉬운 설명을 적어본다. 거품 꺼져가는 마당에 뒷북 느낌도 있지만, 거래소 거품과 관계없이 암호 화폐와 블록체인 기술은 앞으로도 유망할테니.

아무튼, 비트코인 동작 원리는 '연쇄적 암호화, 쪽수로 밀어붙여' 이렇게 두 가지로 보면 된다. 지금부터 이 두 가지를 최대한 쉽게 설명하겠다. 기술 용어 사용은 자제할텐데, 나오더라도 일단은 그냥 그런게 있나보다 하고 넘어가도 된다.

기존 금융 시스템이 그러하듯, 비트코인 시스템도 거래 내역을 데이터 베이스에 기록한다. 비트코인 시스템의 DB는 순차적으로 연결된 블록들로 구성된다. 하나의 블록에 50건의 거래가 기록된다고 한다면, 첫 번째 블록인 A 블록에는 1~50번 거래가 기록되겠지. B 블록에는 51~100번 거래가 기록될테고.

비트코인 시스템은 보안을 위해 각각의 블록마다 해쉬라는 암호키를 부여한다. 이 해쉬 값이 있어야 해당 블록의 데이터에 접근할 수 있다. 해쉬 함수에 입력값을 넣으면 그것에 해당하는 256 글자로 된 결과 값을 생성하는데 이것이 바로 해쉬 값이다. 해쉬 함수는 너무 복잡해서 생성된 해쉬 값을 가지고 거꾸로 입력값을 도출할 수는 없다. 해쉬 값을 역산하는 방법은 가능한 모든 경우의 수를 일일히 대조하는 것 뿐이다. 다음 블록을 생성하려면 이전 블록의 암호값을 맞춰야 한다. B블록을 만들려면 A블록 암호 값을 역산해야 한다.

그럼 A 블록 암호 값은 어떻게 생성될까? A 블록에 기록된 모든 거래 정보에 몇 가지 정보를 더하여, 해쉬 함수에 입력값으로 넣어서 구한다. 몇 가지 정보중 하나가 바로 직전 거래들이 기록된 바로 전 블록의 해쉬 값이다. 이처럼 블록들이 해쉬값을 기준으로 순차적으로 연결되는 구조라 블록체인이라 부른다. 다음 블록을 생성하기 위해 이전 블록의 암호값을 역산하는 행위를 작업 증명이라 하며, 작업 증명 과정에 참여하고 보상으로 비트코인을 획득하는 것을 채굴이라 한다.

51~100번 거래가 기록된 B 블록의 해쉬값은 B 블록에 기록된 50건의 거래 정보와 직전 블록인 A 블록 해쉬값을 조합하여 도출한 데이터를 SHA-256 함수에 입력하여 구한다. 따라서 특정 블록의 암호화가 이후 연결되는 다른 블록들의 암호화에도 영향을 준다. 이것이 바로 첫번째 원리인 '연쇄적 암호화'.

만일 누군가 A 블록을 해킹하여 거래 정보를 변경하면, 거래 비트코인 사용원리 정보를 입력하여 생성한 A 블록의 해쉬 값도 바뀐다. 해쉬 값이 바뀌면 A 블록의 해쉬값을 저장하고 있던 B 블록은 해킹으로 조작된 A 블록을 유효한 데이터로 인정하지 않는다. B 블록에 저장된 A 블록의 해쉬값을 바꾸면 B 블록의 해쉬값도 바뀐다. 따라서 비트코인 시스템의 거래 정보를 위조하려면 해당 블록과 이후에 이어지는 모든 블록들을 전부 조작해야 한다. 이러한 성질 덕분에 블록체인은 보안성이 뛰어나다.

비트코인 시스템은 블록체인들을 체굴에 참여한 여러 컴퓨터에 백업한다. 그래서 비트코인 시스템이 분산화된 거래 원장이라 일컫는다. 비트코인 시스템은 과반수가 넘는 체인의 기록과 일치하는 블록체인 기록만 진본으로 인정하기 때문에, 체굴에 참여한 전 세계의 모든 컴퓨터들에 복제되어 있는 체인들을 일일히 찾아서 싹 다 바꿔야 한다.

이런 짓도 하려면 할 수는 있지만, 이렇게 해서 얻는 이득보다 비용이 훨씬 크다. 이것이 바로 두 번째 원리 '쪽수로 밀어붙여'. 정식 명칭은 비잔틴 장군 문제 해결인데, 간단히 말하면 거래 정보가 서로 다른 블록체인이 존재할 경우 사본 개수가 많은 쪽을 진본으로 인정하는 것이다. 이러한 성질 덕분에 별도의 중앙 통제 시스템 없이도 강력한 보안성을 가진다.

지금까지 비트코인 채굴과 블록체인 생성 원리를 설명했다. 말했듯이 최대한 쉽게 설명하려고 노력했다. 보다 정확한 설명을 원한다면 이 글로는 부족할 것이니 따로 찾아보시길. 위 설명 조차 어렵다면 일단 '연쇄적 암호화, 쪽수로 밀어붙여' 이 두 가지만 기억하자. 그리고 이것 저것 보고 듣다 보면 결국 이해가 될 것이다.

The Science Times

비트코인이 해킹에 취약하다는 주장이 끊임없이 제기되고 있다. 이는 비트코인이 주목을 받으면서, 비트코인 관련 해킹이 종종 발생하기 때문이다. 1비트코인 가격은 2011년 상반기에 겨우 1달러를 넘기는 수준이었다. 그런데 비트코인이 여러 나라에서 사용되면서, 6년 만에 가치가 2,700배나 올랐다. 올해 7월 기준으로 1비트코인 당 가격은 2,700달러 선을 유지했다. 비트코인 가치가 높다 보니, 해커들의 표적이 되는 것이다.

비트코인의 대표적인 해킹 사건으로는 마운트 곡스 (Mt.Gox) 파산이 있다. 마운트 곡스는 비트코인 거래와 지갑을 운영하는 곳으로, 2014년 전까지 세계에서 가장 큰 비트코인 거래소 기관이었다. 비트코인 가장 큰 거래소였던 마운트 곡스가 2014년 2월 28일에 갑자기 파산을 신청하게 된다. 사유는, 보유 중인 85만 개의 비트코인이 도난당했기 때문이다. 당시 가치로는 4억 5천만 달러 (한화로 약 5천 3백억 원) 이나 되는 금액이 도난당한 것이다. 참고로 올해 7월 기준으로 가치를 환산하면 무려 23억 달러 (약 2.5조 원)이나 된다.

비트코인 해킹은 국내에도 여러 차례 발생했었다. 올해 4월 국내 비트코인 거래소 ‘야피존’은 3,831비트코인이 도난당했다. 해킹 당시 기준으로 피해액은 55억 원이었고, 7월 기준으로는 약 115억 원이다.

비트코인은 전 세계적으로 널리 사용되는 가상화폐이다. ⓒ Flickr

비트코인은 전 세계적으로 널리 사용되는 가상화폐이다. ⓒ Flickr

전 세계적으로 비트코인 관련 해킹이 많이 발생하다 보니, 비트코인의 운영 시스템에 대한 보안 취약성 우려가 끊임없이 제기되고 있다. 그러나 보안 전문가 입장에서 비트코인은 보안에 전혀 취약하지 않다. 오히려 비트코인을 운영하는 시스템의 경우, 보안 수준이 높다. 비트코인에 대한 해킹 우려는, 비트코인 운영원리에 대해서 잘 모르기 때문이라고 할 수 있다.

그렇다고 비트코인이 해킹에 100% 안전하다는 뜻은 아니다. 비트코인도 보안 취약점이 존재하는데, 비트코인 시스템 자체가 보안에 취약한 것이 아니라는 뜻이다. 다시 말해 비트코인 해킹은 개인의 보안인식 부족에서 발생한 것이라고 할 수 있다.

그렇다면 비트코인은 어떤 원리로 운영되고 있기에 해킹에 안전하다고 할 수 있는 것일까? 그리고 비트코인 해킹에 대비하기 위해서는 개인은 어떠한 노력을 기울이는 것일까? 이번 기사에서는 보안 관점에서의 비트코인 운영원리를 알아보고, 개인적인 보안 조치 방안에 대해서 살펴보겠다.

비트코인은 블록체인 네트워크를 기반으로 하고 있다. ⓒ flickr

비트코인은 블록체인 네트워크를 기반으로 하고 있다. ⓒ flickr

비트코인 운용 원리

비트코인 해킹 취약점을 알아내기 위해서는, 보안 요구사항 충족 기준의 관점에서 비트코인을 살펴봐야 한다. 그런데 우선은 비트코인 운용 원리를 알아야지, 보안 요구사항의 충족 여부를 알 수 있다. 우선 비트코인 운용 원리에 대해서 알아보자.

비트코인은 블록체인 방식으로 거래와 소유를 증명하고 있다. 블록체인은 분산형 원장 기술로서, 모든 참여자가 발생한 모든 정보를 인증하는 방식이다. 중앙기관이 인증하는 방식과 다르다. 다시 말해 비트코인의 경우 모든 참여자가 거래와 소유에 대한 내용을 기록함으로써, 이를 증명한다.

블록체인은 본인을 공개키와 사설키로 인증한다. 사설키는 본인을 인증하는 고유 정보이며, 공개키는 임시 계좌로 생각하면 이해가 쉽다. 비트코인 거래를 할 때는 공개키 (Public Key)와 개인키 (Private Key)를 이용한다. 참고로 공개키는 사설키에 의해서 생성된다.

A가 B에게 비트코인을 송금한다고 가정해보자. B는 A가 본인에게 송금할 수 있도록, 개인키를 이용해 공개키를 생성한다. 그리고 이를 A에게 전달한다. A는 B가 보내온 공개키로 B에게 비트코인을 송금한다. 송금 시에 공개키는 ‘SHA 256 (Secure Hash Algorithm 256)’에 의해서 암호화된다. 그런 다음 BASE58Check를 이용해 특정 문자로 변환된다. B의 사설키를 가지고 있는 소유주만이 본인임을 인증해서 이를 풀어서 해당 비트코인을 받을 수 있다.

보안 요구사항 관점에서 살펴본 비트코인

비트코인 운용 원리에 대해서 살펴봤다. 그렇다면 이러한 운용원리가 보안 요구사항을 어떻게 충족시키는 것일까?

일반적으로 충족해야 할 보안 요구사항은 크게 5가지이다. 첫째 무결성이다. 이는 위변조에 대한 보안수준을 평가한다. 비트코인의 경우 무결성을 점검해야 할 부분이 두 곳이 있다. 비트코인을 거래할 때 중간에서 정보가 위변조되지 않았는지와, 거래 후의 기록된 정보가 위변조되지 않았는지 여부이다. 앞서 언급했듯이 비트코인을 거래할 때 SHA 256 암호화를 사용한다. 이는 해커에 의해서 네트워크 통신이 가로채더라도 정보 위변조를 어렵게 한다. SHA 256으로 암호화된 값을 해킹하기 위해서는, 해커는 이론상으로 2에 256승만큼을 연산해야지 풀 수 있다.

비트코인 거래 기록 또한 위변조 위험으로부터 안전하다. 비트코인은 블록체인 방식을 이용하고 있다. 블록체인 거래 기록에 대한 정보가 충돌이 있을 때는 다수결의 원칙을 따른다. 그러므로 거래 기록을 위변조하기 위해서는, 전체 사용자의 과반수 비트코인 사용원리 정보를 해킹하거나 사용자의 50%를 초과하는 컴퓨팅 파워를 이용해야 한다. 이는 현실적으로 불가능하다.

둘째 기밀성이다. 기밀성은 거래 관련 기밀정보가 유출됐는지를 측정한다. 비트코인의 거래 시에 정보는 SHA-256으로 보호된다. 그러므로 비트코인에서 중요한 개인키의 노출 위험이 없다.

셋째 부인방지이다. 정보의 송수신을 부인하는 것을 방지하는지에 대한 사항이다. 비트코인의 거래는 블록체인 방식으로 모두 기록된다. 그러므로 부인방지가 일어나기 힘든 구조이다.

넷째 가용성이다. 가용성은 서비스 분산공격인 ‘디도스 (DDoS)’와 관련이 있다. 다시 말해 사용자가 서비스에 접근에 부인당하는 피해를 막는지를 묻는 사항이다. 비트코인은 중앙센터가 없다. 그러므로 시스템 전체가 디도스 공격을 받을 일은 없다.

마지막으로 접근제어이다. 접근제어는 인증되지 않은 사용자가 시스템 접근 시 막는 경우를 말한다. 비트코인 접근제어에서 가장 중요한 것은 ‘개인키’ 이다. 개인키만 있으면 보유하고 있는 비트코인을 마음대로 사용할 수 있기 때문이다. 따라서 개인키 보안은 중요하다.

애석하게도 비트코인은 개인키 안전 관리를 위해서 별도의 보안 기능을 제공하지 않는다. 다시 말해 비트코인의 접근제어 부분이 취약하다. 앞서 언급한 해킹 사례 역시 접근제어 취약으로 인해서 일어났다고 할 수 있다.

개인키 관리가 비트코인 안전의 핵심

이론상으로 보안에 취약하지 않은 시스템은 없다. 비트코인도 마찬가지이다. 이론상으로는 5가지 보안 요구사항에서 취약점 모두 존재한다. 그러나 접근제어를 제외한 나머지 4가지의 경우 실질적으로 해킹이 어렵다. 그러므로 비트코인은 4가지 요구사항을 만족한다고 볼 수 있으므로, 보안수준이 높다고 할 수 있다.

다만 비트코인은 접근제어, 특히 개인키라는 보안 취약경로가 있다. 이 부분만 잘 관리한다면 비트코인을 안전하게 사용할 수 있다. 그렇다면 개인키는 어떻게 관리해야 할까?

사전예방과 피해 최소화로 나눠서 생각할 수 있다. 사전예방 방법으로는 개인키를 항시 안전한 컴퓨터 환경에서 사용해야 한다. 그러기 위해서는 사용할 기기에 백신을 실행시켜서, 항시 악성코드 감염 여부를 점검해야 한다.

피해 최소화 방법으로는 개인키를 여러 개 만들어 관리하는 것이다. 개인키를 여러 개 생성할 수 있다. 개인키를 여러 개 만들어서 여러 기기에 사설키를 보관하면, 나눈 만큼 개인키 하나에 보관하고 있는 비트코인 개수가 줄어들기 때문이다.

수학으로 만든 화폐, 비트코인

화폐는 약 1만 년 전 고대인들이 물물교환을 위해 곡식이나 가축을 사용하면서 처음 등장했다. 이후 화폐는 금과 은 같은 금속을 거쳐 종이에 가치를 적어 사용하는 형태로 진화해 왔다. 그리고 최근에는 눈에 보이지 않는 비트코인이라는 전자 화폐까지 등장했다.

세계에 불어 닥친 비트코인 열풍

전자 화폐 비트코인은 게임 머니나, 카카오톡 등에서 사용하는 가상 화폐와 어떤 차이가 있는 걸까. 가장 큰 차이는 사용 범위가 매우 넓다는 점이다. 지난 비트코인 사용원리 2009년 비트코인이 등장한 이후, 세계의 수많은 상품 판매자들이 비트코인을 결재 수단으로 받아들이고 있다. 현재 세계 최대 온라인 쇼핑몰인 아마존과 미국의 온라인 음식 주문 사이트인 푸들러를 비롯해 다양한 곳에서 비트코인으로 상품을 구입할 수 있다.

최근에는 캐나다에서 비트코인을 현금으로 바꿔서 인출할 수 있는 현금자동입출금기가 등장해 오프라인에서도 비트코인을 자유롭게 사용할 수 있게 됐다. 또 자동차와 부동산 판매 대금을 비트코인으로 받는 곳도 있다. 아직 세계 모든 곳에서 쓰이는 것은 아니지만 음식에서부터 자동차와 집까지 비트코인으로 못하는 게 없는 셈이다.

수학칼럼_비트코인_img1

[그림1] 비트코인은 대표적인 전자 화폐로, 사용 범위가 매우 넓다.

현재 한국과 미국을 비롯한 세계 여러 나라에서 그 나라의 화폐와 비트코인을 교환하는 거래소가 운영되고 있다. 비트코인의 환전 가격은 마치 금처럼 수요에 따라 매일 달라진다. 지난 2009년 비트코인이 처음 등장했을 무렵 24달러(약 2만5000원)를 주고 5000비트코인을 산 노르웨이 청년 크리스토프 코흐 씨는 4년 동안 비트코인의 가치가 상승해 85만 달러(약 9억원)이나 되는 돈을 손에 쥐기도 했다.

최초의 수학적인 화폐

비트코인에는 특별한 점이 있다. 화폐 시스템이 수학을 기반으로 운영된다는 점이다. 비트코인은 거래소에서 돈을 주고 환전할 수도 있지만, 돈을 들이지 않고도 수학 문제만 풀면 얻을 수 있게 설계돼 있다. 바로 이점이 비트코인 운영체계의 핵심이다.

보통 인터넷 거래를 할 때는 판매자와 소비자 사이에 은행이나 신용카드 회사 등의 금융기관이 매개체로 존재한다. 금융기관은 상품을 사는 소비자의 계좌에서 돈을 빼낸 뒤 판매자에게 전달한다. 그리고 그 내용을 통장 같은 공식적인 장부에 기록한다. 금융기관은 이처럼 거래를 중계하고 보증하는 역할을 하면서 거래 금액의 일부를 수수료로 받는다. 하지만 비트코인은 이런 구조를 따르지 않는다. 은행 없이 안전한 거래를 할 수 있도록 모든 비트코인 사용자가 거래의 증인이 되도록 하는 방식을 택했기 때문이다. 수학 문제를 푸는 것은 그 과정의 일부다.

수학칼럼_비트코인_img2

예를 들어 비트코인 시스템에서는 A가 물건을 구입하면서 B에게 비트코인을 보낼 때, 마치 이메일을 보내는 것처럼 받는 사람의 전자 지갑 주소와 보내는 돈의 액수만 적으면 된다. 거래 내용은 자동으로 암호로 바뀐다. 비트코인 시스템은 이같은 거래 내용을 10분 단위로 한데 모아 전체 사용자가 공유하는 장부에 기록한다. 이때 장부를 기록하는 권리와 일정 금액의 비트코인을 사용자 중 한 사람에게 주는데, 상금으로 주는 비트코인은 새로 발행되는 돈이다. 사용자들은 상금으로 걸린 비트코인을 얻기 위해 경쟁하면서 수학 문제를 풀어야 한다.

그런데 비트코인을 얻기 위해 경쟁하는 사람들이 풀어야 하는 수학 문제란 바로 암호화된 거래 내용을 푸는 것이다. 비트코인 시스템은 ‘공개키 암호’라는 방식으로 거래 내용을 암호화 하는데, 공개키 암호란 한마디로 암호를 만드는 방식과 푸는 방식이 다른 암호 체계다.

예를 들어 다양한 공개키 암호화 방식 중에서 ‘RSA’라고 부르는 방식은 자연수로 이루어진 ‘공개키’를 이용해서 메시지를 암호화 한다. 그리고 이 메시지를 복원하기 위해서는 곱했을 때 공개키가 되는 두 소인수인 ‘비밀키’를 알아야 한다. 이 소인수를 찾기 위해서는 특별한 공식이 있는 것이 아니라 공개키의 소인수 조합을 하나씩 검토해 봐야 한다. 만약 공개키의 자리수가 100자리만 넘어가도 슈퍼컴퓨터로 몇 만 년이나 계산해야 할 만큼 시간이 오래 걸리기 때문에 안전한 암호가 된다.

수학칼럼_비트코인_img3

[그림3] 공개키 기반의 비트코인 사용원리 RSA 암호를 풀려면 슈퍼컴퓨터로도 너무 오랜 시간이 걸린다.

(이미지 미국 아르곤 내셔널랩)

금 캐듯이 비트코인 캔다

이처럼 공개키 암호화 방식은 기본적으로 암호를 풀기 위해 수많은 경우의 수 조합을 검토해야 한다. 따라서 비트코인을 얻고자 하는 사람은 컴퓨터를 이용해서 암호 문제 풀이에 도전해야 한다. 수많은 계산과 검토 끝에 문제를 푸는 사람이 비트코인을 얻게 된다는 점은 마치 광부가 광산에서 곡괭이질을 거듭한 끝에 금을 캐내는 것과 비슷하다. 따라서 사람들은 비트코인을 얻는 과정을 ‘비트코인 채굴’이라고도 부른다.

이렇게 컴퓨터를 이용한 문제 풀이 경쟁 끝에 암호화된 10분 동안의 거래 기록을 풀어낸 사람은 그 내용을 장부에 기록하고, 모든 비트코인 사용자들에게 발표한다. 그리고 그 사람은 새로 발행된 비트코인을 받게 된다. 이때 새로 발행되는 비트코인의 액수 또한 수학적으로 계획돼 있다는 점이 비트코인의 또 다른 특징이다.

비트코인이 처음 만들어진 2009년부터 4년 동안은 매 10분마다 문제를 푸는 사람에게 50비트코인을 발행했다. 하지만 그 이후부터는 4년 단위로 발행량이 절반씩 줄어들도록 했다. 그리고 현재는 10분마다 25비트코인이 발행되고 있는데, 이 금액은 점점 줄어서 2040년이 되면 총 2100만 비트코인을 끝으로 발행이 끝나게 된다. 그 이후부터는 시중에 유통되고 있는 비트코인 사용자들이 조금씩 내는 수수료를 통해 비트코인 장부를 기록하는 사람에게 수수료를 지급하도록 되어 있다.

이런 비트코인의 수학적인 특징 덕분에 모든 사용자가 거래 내용이 기록된 장부를 가지고 있게 되어 장부를 조작할 수도 없고, 비트코인을 이중으로 사용할 수도 없다. 이처럼 비트코인 시스템은 거래와 거래 기록, 그리고 발행량 조절을 모두 수학적으로 연결해 안전한 화폐 구조를 만든 최초의 수학 기반 화폐다.

수학칼럼_비트코인_img4

[그림4] 비트코인을 얻기 위해서는 컴퓨터로 암호 문제를 풀어야 한다.

필자 소개 / 최영준

최영준은 서강대학교 물리학과를 졸업하고 동아사이언스에서 과학기자로 일하고 있다. 와 를 거쳐 지금은 ‘동아사이언스’와 동아일보에 과학기사를 쓰고 있다. 사람들의 삶에 도움을 주는 전문성 있는 과학콘텐츠를 제작하려고 노력하고 있다.

특히 기자생활 초반에 동일본 대지진 사태를 경험하면서 지진과 화산폭발 등 자연재해에 관심을 많이 갖고 취재했다. 지은 책으로는 등이 있다.


0 개 댓글

답장을 남겨주세요