백서 | 역사(에피소드, 사망선고) | 사용법 | 평가 | 의견 |
1. 개요
사용자들은 여러 개의 비트코인 주소를 가진 지갑을 개인 소프트웨어나 거래소, 웹 사이트 등에서 생성하고, 이 지갑을 통해 비트코인을 거래한다.비트코인 주소는 1YoURbEATcoiN99MYWaLLetiDaDdRess72와 같이 26~35자리의 영문 대소문자와 숫자의 무작위한 문자열이며 1 또는 3으로 시작한다.[1][2] 단, 아라비아 숫자와 헷갈릴 수 있는 문자인 0, I, O, l(숫자 영, 대문자 아이, 대문자 오, 소문자 엘)은 쓰지 않는다.
비트코인 송금에 필요한 개인 키(private key)는 영문 대소문자와 숫자 51자이다.
비트코인 입금 수단은 문자형 주소에 비트코인을 보내거나 QR코드로 송금하는 2가지 종류가 있다.
지갑을 만드는 데는 이름이나 전화번호, 이메일 등의 어떠한 개인정보도 필요하지 않으며 이용자들은 무려 156아승기[3]개의 지갑을 만들 수 있기 때문에 전 세계 사람들이 모두 사용해도 주소가 부족하지 않다. 어느 정도 숫자인지 감이 안 온다면, 전세계 인구를 100억이라고 가정하고 100억 명이 1인당 지갑을 10만 개씩 생성한다고 해도 마치 바다에 물 한 컵 붓는 수준.
2. 비트코인 지갑 만들기
비트코인을 보관하기 위해서는 지갑(Wallet)을 만들어야하는데, 지갑을 생성할 수 있는 방법은 대표적으로 세가지가 있다.첫번째는 풀 노드 월렛(Full node wallet)으로, 자신의 컴퓨터를 비트코인 블록체인의 일원으로 가입시켜 블록체인상 거래를 검증하고 수락한 뒤 다른 노드로 발신하면서 이 소프트웨어에 내장된 지갑 기능도 이용하는 것이다. 이는 비트코인 네트워크가 더욱 안전해지는데 기여할 수 있고, 제3자가 관여하지 않아 가장 안전하다는 장점이 있지만, 컴퓨터를 항상 켜두어야 하고 150GB에 가까운 블록체인 용량을 차지하기 때문에 개인들은 많이 사용하지 않는다.
비트코인 노드는 https://bitcoin.org/en/download 에서 다운받을 수 있다.
두번째는 라이트 월렛(Lite Wallet)으로, 블록체인 네트워크의 모든 블록을 다운로드 받지않고 자신의 거래와 관련된 부분만 내려받으며 거래 중계를 이용시에는 원격 서버를 사용하는 방법이다. 이 기능은 컴퓨터를 항상 켜두지 않아도되며 자원도 훨씬 적게 차지한다. 대표적인 소프트웨어로는 Electrum이 있다.
마지막으로 웹 월렛(Web Wallet)이 있다. 가장 간편하며 복잡한 개인 키가 아닌 아이디, 비밀번호로 접근 가능하기 때문에 가장 선호된다. 하지만 모든 자금의 관리를 웹 월렛을 제공하는 회사에게 일임하기 때문에 보안성이 가장 낮다. 대표적으로는 각 거래소의 계좌가 있으며 Blockchain.info와 Coinomi같은 앱이 있다. 대부분의 거래소는 개인 키를 제공하지 않고 핫 월렛을 운영하기 때문에 해킹을 당할시 자신은 그 지갑에 대해 아무 권한도 없어서 해킹당한만큼 액수를 차감당할 수 있다.
지갑을 생성하면 지갑 주소와 개인 키(Private Key)가 나온다. 지갑 주소는 계좌번호와 같으며, 이를 상대방에게 알려주어 송금을 할 수 있다. 개인 키는 비밀번호로, 이것을 알면 비트코인을 다른 지갑으로 가져가버릴 수 있다. 따라서 개인키 관리를 잘 해야 하며, 혹시 라이트 월렛이 없어지거나 지갑에 접근하는 계정을 모를 경우를 대비해서 종이에 개인키와 주소를 적어두자. 개인키를 모를 경우 절대 비트코인에 접근할 수 없다.
개인키는 종류가 여러가지 있는데, 각 주소마다 대응하는 대칭 키, BIP32, BIP39, BIP44, WIF등... 각 서비스마다 복호화 가능한 개인키의 종류가 다르므로 주의하자.
은행이라면 은행이 없어질 경우 자금을 찾기 힘들지만, 비트코인에는 은행이라는 개념이 없다. 지갑은 네트워크와 사용자를 연결해주는 수단일 뿐이고, 지갑이 없어져도 돈은 네트워크 자체에 "기록"되어 있다. 그리고 이에 접근할 수 있는 수단이 개인 키이다.
3. 지갑 간의 거래
비트코인을 지갑과 지갑 사이에 이동시키는 것을 거래라고 하며, 보통 몇 분에서 최장 10시간 이상 걸릴 경우도 있다. 왜냐하면 비트코인은 디지털로 이루어져 있기 때문에 얼마든지 복사나 변조가 발생할 수 있으며, 이를 막기 위해 기존의 거래 내역과 새로 만들어진 내역을 서로 검증하는 승인(confirmation) 작업을 거치기 때문이다. 3~6번의 승인을 거친 뒤에 정상적인 거래로 인정하는 것이 일반적이나, 늘어난 비트코인 거래에 비해 승인 속도가 따라잡지 못하고 있어 속도가 계속 느려지고 있다.송금을 빨리 하고 싶은 경우 수수료를 많이 지불하면 된다. 채굴자들이 송금 수수료가 많은 거래부터 처리를 하기 때문에 수수료가 높을 수록 우선순위가 생기게 되며 승인 또한 빠르게 처리된다. 이 수수료는 비트코인 네트워크를 유지하는 비용으로 사용된다. 수수료를 내지 않아도 상관없으나 이 경우에는 거래 승인에 몇 주 이상이 걸리거나 혹은 영원히 승인되지 않을 수 있기 때문에 조금이라도 수수료를 내는 것이 좋다. 소프트 지갑을 이용할 경우 대부분 네트워크 상황에 따라 적당한 수수료를 제시해주므로 이를 따르도록 하자. 또한 이러한 수수료를 지불하게 함으로써 적은 수수료를 이용하여 많은 비정상적인 거래를 발생시키는 DoS 공격으로부터 비트코인 네트워크를 방어할 수 있다.
4. 안전한 보관 방법
거래소에서 구입한 비트코인을 Electrum 등으로 생성한 자신의 컴퓨터의 지갑으로 전송한 후, 송금에 필요한 개인 키(private key)를 TrueCrypt로 암호화한 공간에 저장하면 안전하다. 암호화된 볼륨을 여러개 복사하여 USB 메모리, SD 카드, 이메일, 클라우드 서비스 등에 저장하면 USB 메모리 분실이나 고장에 대비할 수 있다. 암호화 볼륨의 암호를 영어 소문자, 대문자, 숫자, 특수문자를 모두 넣어서 12자리 이상으로 만들면 USB 메모리를 분실해도 꽤 안전하다. 다만 3년 이상의 장기 보관시에는 USB도 데이터 자체에 문제가 생길 수 있다는 것을 명심해야 한다. 이러한 오프라인(offline) 암호화폐 저장소를 콜드 스토리지(cold storage)라고 부른다.암호화폐 거래소는 돈을 목적으로 하는 해커들이 가장 선호하는 목표물 중 하나라 해킹을 자주 당하며, 마운트 곡스(Mt. Gox) 파산 사태처럼 거래소 파산이나 BTC-e처럼 당국의 암호화폐에 대한 출금 규제 등으로 언제든지 계좌에 있는 비트코인이 내 비트코인이 아니게 될 수 있다. 하지만 일렉트럼 등으로 자신의 컴퓨터에 생성한 지갑으로 비트코인을 옮겨놓으면 외부 요인과 상관없이 안전하게 보관할 수 있다. 자신의 컴퓨터도 거래소보다는 안전하지만 해킹 등의 위험이 있으므로 거액의 암호화폐는 오프라인 보관소인 콜드 스토리지에 보관하는 것이 더 안전하다.
전쟁이 났을 때 해외로 대량으로 가지고 나갈 수 없는 금이나 해외송금 시 수수료가 발생하는 달러와는 달리 비트코인은 전세계 공통으로 같은 비트코인과 지갑이며 전세계의 컴퓨터에 내 비트코인이 저장되어 있는 것이나 마찬가지이므로 종이 등에 직접 키를 적어서 들고 다니거나 클라우드 등에 키 파일을 TrueCrypt 등으로 암호화하여 업로드한다면 몸만 부지해서 외국으로 나가도 해외로 거액의 자금을 안전하게 가지고 나가는 것과 같은 효과를 가진다.
이러한 이유로 비트코인은 개인지갑에 보관하는 것이 안전하다. 비트코인 지갑은 비트코인 거래와 보관을 지원하는 도구로, 공개키와 개인키를 사용해 디지털 자산을 안전하게 보호한다. 주로 온라인으로 작동하는 핫월렛과 오프라인 보관에 적합한 콜드월렛으로 나뉜다. 비트코인 개인 지갑의 종류에 대한 더 자세한 정보는 https://wealthwisdomking.com/cryptocurrency/bitcoin-wallets/ 참고
그러나 비트코인 가치는 매우 불안정하므로 수수료가 발생하더라도 돈을 안전하게 해외송금하고 싶으면 해외 은행보다 수수료가 적은 국내 은행의 해외지점 등을 알아보는 것이 좋다.
5. 믹싱
비트코인은 지갑의 주소만 알면 https://blockchain.info에서 모든 거래 내역을 조회할 수 있다. 자신의 거래 내역이나 계좌 잔고를 남들이 아는 것이 싫을 경우 여러명의 거래를 섞어 추적을 어렵게 하며 이것을 믹싱(mixing)이라고 한다.자세한 방법은 Keepit History: 익명화폐의 역사 1편을 참조.
믹싱으로 추적이 어렵게는 되지만 시간을 많이 투입하면 추적 자체는 가능하다. 좀 더 발전된 형태의 익명성은 Dash, Monero, Zcash 등 다른 암호화폐에서 제공된다.
[1] 3으로 시작하는 주소는 세그윗 지원주소로 좀 더 나은 기능을 제공한다.[2] https://en.bitcoin.it/wiki/Address[3] 58^33-1개, 즉 15,599,970,876,632,771,988,160,814,054,146,447,252,125,923,204,784,443,097,087개.