Cowboy Bebop
비트코인이란? 본문
비트코인은 2009년 1월 3일 사토시 나카모토라는 개인 혹은 집단에 의해 개발된 세계최초의 가상화폐(암호통화)이다. ISO 4217 코드는 XBT. 기존 화폐와 달리 정부나 중앙은행, 금융기관의 개입없이 개인간(P2P)빠르고 안전한 거래가 가능하며, 금처럼 유통량이 한정되어 있다는 것이 특징이다, 향후 100년간 발행될 화폐량이 미리 정해져 있고, 2100만개 까지만 발행 된다. 현재는 약 1500만개 정도가 발행되었으며(2015.2.4기준) 앞으로 600만개가 더 발행될 예정이다.
2015년 11월 6일 현재 비트코인은 1BTC당 421,695.44원 (달러로는 366.9달러) 선에서 거래되고 있다. 가격의 변동성이 상당히 높아, 2015년 1월에는 1BTC당 미화 275달러 선까지 떨어졌었으며, 2013년 한창 고가에서 거래될 때에는 1BTC에 1,000달러 이상을 기록한 적도 있다.
비트코인은 2,100만개로 발행이 한정되어 있는데, 세계 통화로 사용되기는 턱없이 부족한 숫자이다. 세계인구가 70억인데 1인당 1코인도 사용못하는것이다. 하지만 사토시 나카모토는 이미 예상한듯 비트코인을 소수점 8자리까지 분할이 가능하도록 설계 하였다.(#) 이 최소단위의 이름은 창시자의 이름을 따서 1사토시(1 satoshi)라고 부른다.
게다가 많은 사람들이 오해하는 것과 달리 비트코인의 최소 단위가 소수점 아래 8자리인 것은 비트코인의 본질적인 제약이 아니다. 즉 더 많은 돈이 필요한 때가 되면 거래 프로토콜을 고쳐서 자릿수 제한을 늘리는 것이 가능하다.# 물론 거래 프로토콜을 고치는 일이 쉬운 건 아니지만, 1사토시에 한화 1원 안팎이 될 즈음이면 프로토콜 확장 작업을 시작할 좋은 동기가 될 것이다. 아직까지 1사토시는 미화 0.0007센트에 해당하는 아주 작은 가치를 갖고 있기에, 비트코인이 지금보다 훨씬 더 대중화되지 않는 이상에는 꽤 오랫동안 일상적인 거래와 별로 상관이 없는 단위가 될 것으로 보인다.
1BTC가 소숫점 아래 8자리, 즉 BTC = BTC(즉 1 satoshi)까지 나뉠 수 있고 앞으로 발행될 모든 비트코인의 총량이 2100만개이니, 결과적으로는 현재 기준으로 21,000,000 * 100,000,000 = 2,100,000,000,000,000(2100조) 사토시가 유통될 수 있다.
비트코인의 세부 단위를 정리해보면 다음과 같다.
1 BTC | (비트코인, bitcoin) |
0.01 BTC | 1cBTC (센티코인, Centicoin) |
0.001 BTC | 1mBTC (밀리코인, millicoin) |
0.000001 BTC | 1μBTC (마이크로코인, microcoin) 또는 (비츠, bits) |
0.00000001 BTC | 1 satoshi (사토시, satoshi) |
채굴
비트코인 채굴(Mining)은 기존 화폐의 중앙은행처럼 통화의 공급과 거래의 보증을 책임지는 역할을 한다. 그러나 중앙은행과 달리 채굴은 네트워크를 통해 P2P 방식으로 이루어지므로, 개별 국가가 통제할 수 없다는 차이가 있다.
채굴은 다음과 같은 과정으로 이루어진다.
1. 사용자가 송금 버튼을 누르면 거래내역이 네트워크를 통해 주변 노드로 전파된다.
2. 각 채굴 노드는 거래 내역을 검증한 후, 이들을 모아 하나의 블록으로 만든다.
3. 채굴 노드는 블록에 무작위로 숫자를 더한 후 SHA-256 암호화 함수를 계산한다.
4. 암호화 결과가 일정 난이도를 통과하면 블록 생성이 성공되며, 이 결과가 주변 노드에 전파된다. 이때 블럭마다 주어지는 현상금과 각 거래에 포함된 수수료가 블록 생성에 성공한 채굴 노드에 주어진다.
5. 새 블록이 생성되면 각 노드는 올바른 블럭인지 검증한 후, 블럭에 포함된 정보가 모두 올바른 정보일 경우 승인한다.
이 과정에서 가장 먼저 블럭 생성에 성공하는 노드에게만 현상금이 주어지므로, 각 채굴 노드는 현상금을 먼저 받기 위해 경쟁하게 되고, 동시에 다른 채굴 노드가 잘못된 거래가 담긴 블럭을 생성할 경우 자신의 이득을 위해 거절하게 된다.
채굴 과정 알고리즘의 원리는 종이와 연필로도 재현할 수 있다고 하나, 역시 채굴 과정 자체를 수동으로 하는 것은 전혀 효율적이지 않다고(...) 한다.#
채굴 문제를 풀면 나오는 비트코인의 양은 대략 4년마다 절반씩 줄어들며, 최종적으로는 총량이 약 2100만 비트코인에 수렴하도록 정해져 있다. 다만 채굴이 끝나는 시점이 이론상 2100년 이후(…)이기 때문에 # 2015년 시점에서는 사실상 비트코인 생산은 영구적으로 지속된다 볼 수 있다. 이는 비트코인 시장에 일찍 뛰어들수록 더 많은 이득을 얻을 수 있다는 것을 의미하며, 후속 주자들이 이 비트코인 시장에 뛰어들도록 하는 유인을 제공한다.
점점 비트코인에 대한 사람들의 관심이 높아지면서 문제의 난이도가 올라가 이제는 개인용 컴퓨터를 수십년동안 계속 켜놓고 돌려도 풀 수 있을까 말까한 수준이 되어 버렸다. 이 때문에 팀을 이뤄 채굴을 하는 이용자들(채굴 연합 혹은 mining pool)이 존재하며, CPU나 GPU를 병렬 구성하여 채굴에 써먹는 이들도 심심찮게 있다. 심지어 다른 사람의 컴퓨터를 채굴에 이용하는 악성코드까지 등장했다. 과거 당시 리그베다 위키에까지 비트코인 채굴을 하는 스크립트를 심다가 적발된 사례까지 있다! 2013년 중반쯤에 들어서는 GPU도 모자라서 아예 비트코인 채굴만을 위해 개발한 주문형 반도체와 더불어 프로그래밍 가능한 IC를 이용한 채굴 하드웨어까지 등장하고 있다. 그리고 이것이 대륙의 기상과 결합하면 이런 위엄넘치는 시스템이 만들어지곤 한다.
이렇게 비트코인 채굴기의 성능이 날로 갈수록 올라가고, 대형 자본까지 비트코인 채굴에 손을 대는 상황이라 비트코인 채굴의 난이도는 갈수록 어려워지고 있다. 다만 채굴자가 많아지거나 채굴기의 성능이 좋아진다고 해서 비트코인 채굴량이 급격히 변하면 곤란하기 때문에, 채굴량을 일정 속도로 맞추기 위해 비트코인 채굴에 필요한 연산량이 전체 네트워크의 채굴 능력에 비례해서 상승하도록 되어 있다. 따라서 정해진 시간 동안 생성되는 총 비트코인 액수는 일정하며, 좋은 채굴 하드웨어를 돌리는 건 단지 자기 몫의 비율을 늘리는 것에 불과하다.
채굴 과정을 살펴보면 다음과 같은 특징으로 요약할 수도 있다.
1. 퀘스트를 클리어해야 얻을 수 있고
2. 퀘스트가 몇십명이 몇날 며칠 매달릴 정도로 졸라 빡세며
3. 산출량이 정해져 있고(드랍율 낮음)
4. 인터넷의 가상화폐고
5. 현금성이 있다
이 점을 들어서 채굴 과정을 진명황의 집행검에 비유하는 사람도 있다.
비트코인 사용법
사용자들은 각각의 고유주소를 가진 지갑을 생성하고, 이 지갑을 통해 비트코인을 거래한다. 비트코인 주소는 언제 어디서나 1로 시작하고 그 뒤에 33자리의 숫자, 영문 대소문자들의 무작위한 문자열이 있다.
지갑을 만드는 데는 이름이나 전화번호, 이메일등의 어떠한 개인정보도 필요하지 않으며 이용자들은 무려 156아승기개의 지갑을 만들 수 있기 때문에 전 세계 사람들이 모두 사용해도 주소가 부족하지 않는다.
비트코인 지갑 만들기
비트코인은 모든 거래 체인을 P2P로 저장하므로 프로그램을 실행하면 비트코인 네트워크에서 처음부터 있었던 모든 거래 체인을 다 받기 때문에 3~8시간정도의 대기시간이 걸린다. 게다가 거래 체인을 받는 동안 또 누군가는 거래를 하기 때문에 다운로드 속도가 느리면 오히려 체인이 늘어나는 괴현상이 일어나기도 한다.(…) 이게 귀찮으면 라이트 월렛이라고 해서 블록체인을 저장하는 대신 "훑고 지나가"서 속도가 빠른 지갑 종류가 있다. 대신 이런 종류의 지갑으로 채굴한 돈을 보내면 클라이언트가 멈춘다.(...) 그러니까 채굴 전용 주소를 따로 만들자.
Bitcoin-qt 클라이언트를 이용하면 지갑을 만들 수 있다.(클라이언트 다운로드) 클라이언트의 지갑으로 비트코인을 송금하면 인내심을 가지고 기다려야 비트코인 송금이 확인된다. 그리고 송금시에 뜬금없이 수수료를 내라고 하는 경우가 있어서(최저 0.0001비트코인) 황당할 때가 있다. 목적은 아주 적은 양을 단시간내에 여러번 송금하는 방식으로 비트코인 네트워크를 공격하는 것을 막기 위한 것인데, 어쨌든 송금수수료 내야 전송된다는 팝업이 뜰 때 송금하는 개인의 입장에서는 뒤통수 맞는 기분인 것은 사실.
송금 수수료는 채굴자들에게 내는 수수료이며, 원칙적으로는 내지 않아도 상관없다. 그러나 모든 거래는 몇명 이상의 채굴자들이 승인해야 이루어지며, 채굴자에게는 모든 거래를 승인해야 할 의무가 없으므로 우선순위가 높은 거래를 먼저 승인하게 된다. 수수료는 이 우선순위를 높이기 위해 내는 것이며, 수수료를 내는 송금이 평균적으로 더 빨리 승인된다. 몇몇 클라이언트는 일정 규모의 거래마다 수수료 내는 것을 강제하기도 한다.
Blockchain에서도 만들 수 있는데, 이곳에서는 비트코인 지갑 주소를 검색해서 해당 지갑의 거래 내역을 모두 확인할 수 있다. 그리고 거래수수료도 마음대로 내게 되어있다. 단, 비밀번호를 한 번 잊어버리면 그 지갑의 비트코인은 그 순간 당신과의 관계가 끊어져버리기 때문에 비밀번호는 잘 간수해둬야한다. 어딘가에 적어둔다거나…. 역으로 비밀키를 제대로 간수한다면, 모든 것을 P2P로 모두가 저장해준다는 특성상 비밀키에서 모든 것을 복원 가능하다는 특성도 있다. 로컬 방식임에도 클라우드처럼 운용하는 것도 가능.
안드로이드 또는 iOS 기반 스마트폰에서는 Xapo, 코인베이스 그리고 원화기반으로는 코빗등의 앱을 통해서도 만들 수 있다.
여담이지만 일반적으로 만들어진 비트코인 주소는 1로 시작하지만 Xapo를 포함한 일부 지갑앱에서는 3으로 시작하는 보안주소로 만들어진다. 일반 비트코인 주소와 보안 비트코인 주소간 송금에는 제한이 없으므로 걱정할 필요는 없다.
iOS의 경우 예전에는 애플사의 결제수단 독점정책 때문에 마땅한 비트코인 지갑이 없었다. 아예 없는 것은 아니었고, 송금 기능이 있는 앱은 앱스토어에서 거절당했다. 하지만 2014년의 WWDC를 기점으로 정책이 바뀌어 현재는 Blockchain과 같은 웹 지갑 말고도, 사용자가 직접 Private Key도 관리가 가능한 breadwallet, bitWallet, 코빗(원화기반) 같은 지갑 또한 앱스토어에서 찾을 수 있다. 다른 주소로의 송금도 정상적으로 가능하다.
국내에서 만들어진 메신저 겸 비트코인 지갑 역할을 하는안드로이드 앱인 코인톡을 통해서도 지갑 생성이 가능하다. 마켓 이 앱은 "채굴"메뉴로 들어가면 기존 앱테크와 같은 방법(광고앱 설치, 페북 좋아요 등)으로 리워드는 비트코인으로 받을 수 있다. 간혹들어 리워드 지급이 완료되어있다 표시됨에도 불구하고 리워드가 지급되지 않는 경우도 있으니 유의할것.