비트코인 채굴 방법 알아보기
이제는 비트코인이라는 단어를 들어보지 못한 사람은 거의 없을 정도로 지금은 비트코인을 포함한 가상자산 코인이 대세입니다. 그런데 비트코인을 포함한 암호화폐 에는 채굴을 한다는 말이 따라 붙는데요, 가상자산 을 채굴한다는 것이 도대체 어떤 뜻이며 비트코인 채굴 방법 은 어떻게 될까요? 오늘은 비트코인 채굴 원리 , 비트코인 채굴 방법 , 비트코인 채굴기, 블록체인 네트워크 와의 연관성, 그리고 비트코인의 현황과 앞으로의 전망까지 설명드리려고 합니다.
1. 비트코인이란?비트코인 생성원리
비트코인은 2008년에 나카모토 사토시라는 가명을 사용하는 인물에 의해 만들어진 블록체인 네트워크 기반의 최초의 암호화폐 이자 가상자산 입니다. 블록체인 네트워크 를 사용하면 수많은 사람들에게 거래 내역이 장부로 남게 되어 해킹이나 내용 바꾸는 것이 불가능하기 하기 때문에 비트코인으로 거래를 할 때에는 통제하는 중앙 기관이 없어도 개개인이 부정거래 걱정 없이 안심하고 금융거래를 일대일로 할 수 있게 됩니다.
비트코인이라는 암호화폐 가 새로운 화폐로 각광받고 있는 이유는 희소성에 있습니다. 비트코인은 생성 개수가 2100만개로 정해져 있기 때문에 금처럼 가치를 저장할 수 있는 가치저장 수단으로 사용될 수 있기 때문입니다. 또한 블록체인 네트워크 를 기반으로 하기 때문에 해킹의 위험이 굉장이 낮으며 지금까지 비트코인 자체는 해킹을 당한적이 한 번도 없습니다.
2. 비트코인 채굴 원리
비트코인 채굴 방법 을 알아보기 전에 채굴이 무엇인지 알아볼까요? 비트코인 채굴 이란 비트코인을 생성하는 과정을 뜻합니다. 비트코인은 복잡한 수학적 연산을 오랫동안 풀면 받을 수 있는데 이 과정이 마치 금을 캐내는 것처럼 많은 시간과 노력이 필요하다고 하여 채굴이라는 단어가 붙게 되었습니다. 또한 비트코인은 지하자원처럼 채굴할 수 있는 수량이 한정되어 있기도 합니다.
블록체인 네트워크 내에서는 거래내역을 블록에 저장하게 되는데요, 블록을 생성하고 거래내역 기록을 하는 사람은 대가로 비트코인 등의 디지털 자산을 받게 됩니다. 그렇기 때문에 수많은 사람들이 블록 생성을 하고 비트코인을 받기를 원하는데요, 사실 블록 생성은 한 사람만 수행하면 되는 업무입니다. 따라서 다수의 사람이 블록 생성 및 장부 기록을 원하는 경우에는 어려운 연산 문제를 풀어서 처음으로 해답을 내놓는 사람에게 블록 생성을 할 수 있는 권리를 부여하는 방식으로 진행됩니다. 이것이 바로 비트코인 채굴 원리 입니다. 암호를 풀어야 한다고 해서 암호화폐 라는 말이 통용됩니다.
비트코인 채굴 시 푸는 어려운 연산 문제는 해시 함수로 이루어져 있는데, 블록의 이름을 16진수로 표시한 총 64자리의 해시를 가장 먼저 발견하는 사람에게 비트코인이 지급됩니다. 답을 찾아내는 방법은 숫자를 하나 하나 대입해서 알아보는 방법 밖에 없습니다. 비트코인 네트워크는 채굴하는 사람이 많으면 문제가 더 어려워지고 채굴 하는 사람이 적으면 문제 난이도가 완화되어 되도록 프로그래밍이 되어 있어 새로운 블록이 10분에 1개씩만 생성되도록 조정되고 있습니다.
3. 비트코인 채굴 방법
그렇다면 비트코인 채굴 방법 은 어떻게 될까요? 물론 16진수법의 64자리의 해시 함수를 사람이 풀지는 못합니다. 방법은 컴퓨터에 비트코인 채굴 프로그램을 설치한 뒤 컴퓨터가 계산을 시작하도록 명령을 하는 것입니다. 결국 누가 더 성능이 좋은 컴퓨터를 많이 사용하느냐에 따라 채굴량은 결정됩니다.
비트코인 채굴 방법 에 필요한 것은 바로 채굴 전용 하드웨어, 즉 비트코인 채굴기 입니다. 초기에는 일반 PC나 노트북을 사용해서 채굴 비트코인 생성원리 하는 것이 가능하였습니다. 그렇지만 현재는 수많은 사람들이 채굴에 참여하고 있기 때문에 다른 작업은 하지 않는 채굴만 하는 채굴 전용 기계인 비트코인 채굴기 가 필요하게 되었습니다. 또한 데스크탑으로도 채굴이 가능하기는 하지만 채굴양보다 전기요금을 더 내기 때문에 이제는 일반 컴퓨터로 채굴하는 것이 거의 불가능하다고 보면 됩니다.
비트코인 채굴 방법 을 위해 비트코인 채굴기 를 사용할 때에는 24시간 내내 사용해야 합니다. 전기를 많이 사용하기 때문에 전기비와 소음, 발열이 상당합니다. 따라서 현재에는 암호화폐 채굴장 이라는 채굴 전용 공장이 생겨나고 있고 채굴자들은 비트코인 채굴기 를 채굴장에 위탁하여 채굴을 진행하게 됩니다. 채굴장은 보통 전기값이 저렴하고, 소음이 문제가 되지 않고, 땅값이 비싸지 않고 기온이 낮은 곳을 선호합니다. 그래서 일반 채굴장은 거의 산에 있습니다.
4. 비트코인 채굴 현황, 전망 및 문제점
그렇다면 현재 비트코인 채굴 현황은 어떨까요? 앞서 비트코인의 총 발행 개수가 2100만개로 정해져 있다고 말씀드렸는데요, 올해 2022년 비트코인 생성원리 4월 가상자산 비트코인의 채굴량이 90%를 돌파하게 되었다고 합니다. 2030년이면 99%의 비트코인 채굴 이 끝나 사실상 신규 공급이 중단될 것으로 전망됩니다. 업계에서는 2040년에 마지막 비트코인의 채굴이 완료 될 것으로 보고 있다고 합니다.
비트코인의 채굴이 머지않아 끝날 것으로 예상이 되면서 희소성의 원리에 따라 비트코인의 가격은 앞으로 더 상승할 것으로 예상을 하는 사람들이 있습니다. 그렇기 때문에 암호화폐 채굴업체의 대부분은 채굴한 비트코인을 판매하지 않고 보유하고 추세입니다. 또한 블록체인 네트워크 기술이 발전하면서 이를 기반으로 한 가상자산 의 신뢰도가 상승하고 있기도 합니다. 비트코인 채굴기 한 대 가격은 작년에 비해 두 배 이상이 뛰었습니다.
그렇지만 비트코인은 다른 투자들과 마찬가지로 투자심리 등 많은 요소들에 의해 가격이 변동될 가능성이 매우 높으며, 비트코인 공급량 감소는 정해져 있는 사실이기에 현재의 가격에 희소성의 가치가 미리 반영이 되어있는 것이다라고 보는 시각도 있습니다. 또한 탈정부 중앙 화폐라는 개념을 정부에서 받아들이지 않거나 제재를 가할 수 있는 여지가 충분히 있기에 비트코인에 관한 전망은 쉽게 예측하기가 어렵습니다. 최근에는 루나 사태의 여파로 비트코인을 포함한 암호화폐 시장이 주춤하고 있습니다.
비트코인 생성원리
금융위기와 블록체인, 비트코인의 개발
블록체인은 2007년의 미국에서 촉발된 세계 금융위기를 겪으며 중앙집권화된 금융 시스템에 대한 위험을 회피하고 기축통화인 달러를 견제하기 위해 사토시 나카모토라는 필명의 개발자가 고안한 기술입니다. 이후 2009년 사토시 나카모토는 블록체인 기술을 기반으로 비트코인을 개발하게 됩니다.
2007년 세계 금융위기를 조금 더 들여다 보면, 당시의 미국은 저금리 기조의 영향으로 국민의 신용등급에 따른 주택에 대한 담보대출을 무분별하게 해주기 시작합니다. 대출을 해주는 대부 업체 뿐 아니라 은행들은 금융공학을 바탕으로 모기지론에 대한 파생상품들을 개발하게 됩니다.(가격이 오르고 내리는것에 대한 베팅을 하는 개념의 상품으로 보면 될거 같습니다.)
이후 시간이 흐르고 경기변동에 따라 금리가 올라가게 되고, 낮은 등급(서브프라임 모기지)의 대출자들이 대출금을 갚지 못하는 현상이 계속되면서 도산하는 대부업체가 늘어나고 이에 따라 파산하는 은행들이 생기게 됩니다.
강건한 시스템이며 무너지지 않을것이라는 굳건한 믿음의 은행들이 파산하는 현상을 겪으며 미국은 자국 우선주의 정책으로 돌아서게 되고 해외에 투자된 자금을 회수하는 등의 조치에 따라 금융위기가 세계로 확산되게 됩니다.
위와 같은 사례는 부동산이 금융자산의 대부분을 차지하고 대출없이 부동산을 매입하기 어려운 우리나라에서도 시사점이 크다고 할수 있겠습니다.
다시 사토시 나카모토가 개발한 블록체인기술로 돌아와서, 비트코인은 위와 같은 사례처럼 세계 금융위기와 국가들의 이해 관계에 따라 리스크를 가지고 있는 중앙집권적 금융시스템을 견제하기 위해 설계되었으며, 위험에 대한 견제, 탈중앙화, P2P, 투명성, 안전자산의 기능 등이 핵심 사상이라고 할 수 있습니다.
블록체인의 개념 및 블록체인의 진화
블록체인의 개념에 대해 알아보겠습니다.
블록체인은 중앙에서 관리하는 시스템과는 달리 모든 노드에서 동일 정보를 관리/업데이트하는 분산관리원장이라고 할 수 있습니다.
우리가 부동산거래시 접하게 되는 등기부등본을 생각해보면 부동산의 생성시점부터의 소유자정보와 담보등과 관련된 이력을 표시합니다. 등기부등본은 누가 어디에서 뽑던간에 동일한 정보를 표시하고 이를 관리하는 곳은 국가기관 입니다.
블록체인이 등기부등본과 다른 점은 국가 중앙기관에서 정보를 관리하는 것이 아니라 관련된 모든 이해관계자들(블록체인에서는 노드로 표현하는)이 동일한 정보를 공유하고 이력데이터를 누적하여 추가하게 된다는 점입니다. 모든 이해관계자들이 부동산과 관련된 정보를 공유하고 서로가 잘못된 정보가 추가 되지 않는지를 검증하고 견제하는 시스템으로 볼 수 있습니다.
블록체인의 구성 및 메커니즘
비트코인기반의 블록체인의 구성에 대해 설명해보겠습니다.
먼저 최초의 블록을 Genesis Block 이라고 합니다. 추가 되는 블록은 헤더(Header)와 데이터(Data)로 이뤄 져 있습니다. 제너시스블록에 추가 되는 블록의 헤더에는 제너시스블록의 해시포인터를 갖고 있습니다.
해시포인터는 이전 블록의 데이터가 어디에 저장되어있는지와 Data가 변하지 않았는지를 검증하기위한 검증정보가 비트코인 생성원리 담겨져 있습니다. 한마디로 블록체인은 해시포인터로 연결된 Linked List라고 할수 있습니다.
각 블록에 대해 좀더 자세히 보겠습니다.
블록의 헤더에는 블록의 버젼정보, 이전블록헤더의 해시값과 머클루트라는 값과, 생성된 timestamp정보, 마이닝시 사용되는 난이도정보와 Nonce 값을 가집니다.
여기서 각각의 블록은 헤더에 이전 블록의 해시값만을 저장하고 트랜잭션 데이터에 대한 값을 저장하지 않습니다.
여기서 의문이 생깁니다. 트랜잭션데이터를 악의적으로 변경했을때 어떻게 검증할 수 있을까요? 이 문제는 머클루트라는 값으로 해결할 수 있습니다.
비트코인 생성원리
머클루트는 머클트리의 루트값(최상위부모)을 의미합니다. 머클트리는 해시포인터로 이뤄진 이진트리입니다.
루트 아래에는 자식 노드 들이 달리고 최하위 노드에는 데이터를 가리키고 있는 해시포인터가 달리게 됩니다. 즉 머클루트 값을 알면 모든 데이터의 해시포인터를 알수 있게 되죠.
블록의 데이터를 머클트리로 구성하게 되면 만약 누군가 일부 트랜잭션데이터를 변경하게 되면 머클루트값 자체가 변하게 때문에 변경되었는지를 바로 감지 할수 있게 됩니다.
다음은 블록체인의 동작에서 가장 핵심적이라고 할 수있는 Proof of Work(작업증명)에 대해 간략히 설명하고 마치도록 하겠습니다.
사실 Proof of Work(이하 PoW라고 하겠습니다)는 블록체인 시스템의 각 노드들이 블록을 추가할때 Concensus(합의) 할수 있는 알고리즘 중 하나입니다. 여기에서의 합의는 추가되는 블록에 대한 이상 없음이 검증되어 이의(reject)가 없다는것을 의미합니다.
합의(Concensus)알고리즘에는 PoW외에도 PoS(Proof of Stake), DPoS(Delegated Proof of Stake) 등이 있습니다.
PoW는 한 텀마다(비트코인에서는 10분) 컴퓨터가 수행하기 어려운 계산(해시값찾기)을 수행하게 하고 일정 결과를 만족시키는 결과값을 도출한 노드가 모든 노드 들로부터 인정(합의)을 받는 행위라고 할 수 있습니다.
비트코인네트워크에서는 결과값을 도출한 노드에게 비트코인으로 보상하게 되고 transaction 데이터 블록을 추가하게 됩니다. 비트코인네트워크에서는 이를 채굴(Mining)이라고 합니다.
사토시 나카모토(익명의 개발자 필명이고 현재도 누군지도 알수 없는 인물)가 개발한 비트코인 네트워크에서 비트코인의 발행량은 2100만개이며 4년에 한번씩 보상이 반으로 줄어들고 2040년에는 보상이 0으로 수렴할 것이라고 합니다.
지금까지 가상화폐에 사용되는 블록체인기술의 구성 및 동작원리를 간략히 살펴봤습니다.
다음에는 비트코인에 사용된 블록체인기술이 왜 혁신적인지와 블록체인의 합의 알고리즘에 대해 알아보도록 하고 여기서 설명을 마치겠습니다.
부자꼬꼬마
디지털화폐, 가상화폐,암호화폐 등등 계속 떠들석 합니다. 하지만, 도대체 그게 뭔지 1도 모르겠는 분들 많이 계시죠? 그런분들은 이 포스팅을 꼭 끝까지 읽어주세요. 비트코인의 채굴 원리에 대해 알기전 비트코인이 무엇인지, 어떤 종류가 있는지 궁금한 분들은 체인블럭 원리 및 종류 포스팅 먼저 읽고 오시면 좋아요.
지금까지 화폐는 나라에 의해서 만들어져 국가의 관리와 통제를 받았다면, 비트코인은 누구나 채굴 및 열람이 가능한것이 특징입니다. 가상화폐는 '채굴'하거나 온라인 거래소를 통하여 구입하게 됩니다. 온라인 거래소에서 지갑을 만들어 팔거나 사고 개인끼리 거래를 통해서도 구입합니다.
비트코인 채굴 원리 방법
거래소에서 구매하고 개인간의 거래를 통한다는건 이해가지만 도대체 '채굴'한다는 것은 무슨 의미인지 갸우뚱 하는 분들 많이 계실거 같아요. 간단하게 설명드리자면 소프트웨어를 통해 복잡한 수학 문제를 풀면 비트코인 1개가 생성되는 방식입니다. 투자자들이 블록을 나누어 블록 안에 들어있는 복잡한 암호를 푸는 것을 채굴이라 부릅니다. 이 복잡한 수학 문제를 많이 풀면 풀수록 많은 비트코인을 보상받을 수 있습니다.
수학 문제인 암호를 너무 빨리 풀게 될 경우 과한 보상이 이루어 질수 있습니다. 이로인해 참여하는 사람이 많아지면 수학문제 난이도가 더 높아집니다. 이 방식을 적용하는 종류로는 이더리움, 비트코인, 라이트코인이 있습니다.
비트코인 채굴 원리 및 획득 코인 금액
게임과 비슷한 원리로 10분마다 생성되는 암호 알고리즘을 풀면 그 보상을 비트코인으로 받게 되는 것인데요. 암호는 64자리수로 앞의 19자리의 랜덤인 숫자를 맞히면 비트코인이 생성됩니다. 그러면 문제를 많이 풀면 되겠다라는 생각을 하실수 있는데요. 한 문제를 풀려면 컴퓨터 한대가 5년동안 계속 쉬지 않고 작동해야 합니다.
이러한 비트코인 채굴 원리로 인해 대규모의 채굴자들이 고성능의 장비를 도입해 채굴을 하게 되는일이 늘어 났으며, 많은 전기를 소모함은 물론 대형 채굴자들만 독점하게 된다는 문제점이 생겼습니다. 단순한 거래 및 채굴이 아니라 투기의 대상으로 점점 변질된 것이죠. 이로인해 다른 채굴방식이 생겨 났는데요. 암호를 풀지 않아도 가지고 있는 지분이 많을수록 더큰 보상을 받는 POS방식과 비트코인 네트워크에서 참여도가 높고 많은 사람들과 거래를 많이 할수록 큰 보상을 받을수 있는 POI방식이 생겨 났습니다.
자비스가 필요해
블록체인에서 가장 이해가 안될수도 있는 채굴에 대해서 강의를 해보도록 하겠습니다. 채굴은 퍼블릭 블록체인에서 상당히 중요한 개념이며, 보상과 사용자에게 참여를 유도시키는 핵심기술중 하나입니다.
다들, 채굴이 뭔지는 대충은 알고 있을 겁니다. 비트코인을 예로 들면, 문제를 맞춘 정답자에게 비트코인을 주게 되는 것이고, 퀀텀은 소유한 양에 맞춰서 이자를 주게 되는 방식이 있습니다. 그리고 최근에 가장 핫한 코인인 이오스같은 경우는 간접 민주주의 방식으로 모든 사용자에게 동등한 권리를 주지 않고, 대표자들에게 채굴의 권한을 준 후 나눠주는 방식이 있습니다.
이러한 채굴에 대해서, 하나둘 모두 비교를 하고 싶으나 내용이 워낙 방대할 수 있어서 여기에는 일반적인 비트코인에서 사용되는 채굴 방식을 사례로 포스팅을 해보려고 합니다.
블록체인에서 채굴을 한다고 할 때, 사실 의미를 2가지로 해석을 할 수 있습니다. 하나는 코인을 캐내어서 얻는다는 대표적인 사전적 의미인 채굴 또 하나는 의미있는 값을 찾아낸다라는 뜻의 마이닝이라는 의미가 있습니다.
전자는 일반적인 사전적인 용어이고, 후자는 데이터 마이닝, 데이터 분석쪽에서 쓰이는 용어입니다.
블록체인 저자에 따라, 전자 혹은 후자로 해석을 하는 경우가 있습니다만, 둘다 맞기 때문에 굳이 나눌 필요 없이 보상 즉 리워드와 올바른 답을 찾아내는 과정의 마이닝 둘다 있다로 해석을 하시는게 편하실 겁니다.
바로, 이전 포스팅에서는 해시(Hash, 비트코인 생성원리 해쉬)에 대해서 설명을 했었습니다. 어떠한 문장이 와도, 일정한 길이의 난수값으로 리턴이 되는 것 정도로 해석할 수 있는 해시값이 바로 채굴에서 상당히 중요한 기술입니다. 참고로 여기서 설명하는 채굴은 비트코인에서 사용하는 POW(Proof-of-work)라는, 작업증명방식 채굴만을 설명하고 있습니다.
비트코인은 탈중앙화 방식입니다. 탈중앙화 방식은 개개인의 컴퓨터 즉 노드가 거미줄처럼 엮여 있는 것이고, 서로간의 감시를 통해서 장부를 기록을 하게 됩니다. 이런걸 퍼블릭 블록체인이라고 하는데, 이때 과연 누가, 자신의 컴퓨터를 전기세를 감안하고 노드를 유지하려 할까요?
쉽게 생각했을 때, 토렌트의 시드를 계속 유지하는 사람들 중에는 어떤 데이터를 받는 과정이어서 유지를 하거나 정말 공유하는 마음으로 유지를 하는 사람이 있지만, 대다수는 다운이 완료되는 순간 시드를 삭제합니다. 전기세 나가거든요 결국 그 사람들에게 무언가의 보상이 필요합니다. 그것이 바로 채굴로 통한 보상입니다.
채굴은 문제를 가장 빨리 맞춘 사람에게 보상(코인)을 받고, 블록의 생성 권한까지 받게 됩니다. 사람들은 비트코인이라는 코인을 얻기(보상) 위해서, 사람들은 자신의 컴퓨터와 전기세를 기꺼이 헌납을 하고 채굴을 하게 됩니다.
노드를 유지하고 채굴을 하면서, 사람들은 장부의 조작을 감시하고 문제를 푸는 작업을 수행하게 됩니다. 아래는 문제의 방식을 쉽게 설명해보기 위해서 그림을 그려봤습니다.
예시의 그림에서는 비트코인재단에서 앞자리가 "8f"인 해쉬값을 찾으라고 하였습니다. 사용자는 저 문제를 맞추기 위해서 무작위로 문자열을 생성하여 해시함수(Hash Function)에 보냅니다. 이 방식을 무작위공격(Brute force attack, 브루트포스 공격)이라고 합니다. 그림에서는 처음에 "iamaboy"를 해시함수에 넣으니 "8e"로 시작하는 문자열이 나왔습니다.
정답이 틀렸으니, 문자열을 바꿔봅니다. 그리고 다시 해시함수에 던지며, 정답과 비교합니다. 이것을 계속 변경해보면서, 해시함수에 연산 요청을 하다가 정답과 맞게 되는 순간에 보상으로 코인을 획득하게 되며, 문제를 맞춘 사용자 즉 노드는 블록을 생성할 권한을 받게 됩니다.
초창기 비트코인은 개인의 노트북으로도 충분히 많은 양의 채굴을 할 수 있었습니다. 문제를 푸는 사람도 없었을 뿐더러 문제의 난이도가 매우 쉬웠기 때문입니다. 초창기의 비트코인의 문제처럼 내게 되면, 매우 빠른 시간내에 비트코인은 모두 발행을 하게 될텐데, 이를 방지하기 위해서 다양한 방식으로 난이도를 올리는 방식을 사용합니다. 여기서는 몇몇가지의 난이도를 변경하는 방법에 대해서 설명하겠습니다.
위 문제에서 8f말고, 앞자리가 100이하인 숫자를 가져오라라는 것이 문제였다면 어땠을까요? 그럼 당연히 000부터 100까지 정답이 나올 수 있게 됩니다. 비트코인재단에서 문제의 난이도를 위해서, 1009값을 추가하면 어떨까요?
숫자가 하나만 추가됐는데 난이도는 기하급수적으로 오릅니다. 이렇게 문자열을 조절하는 방식으로도 난이도를 조절을 할 수 있고, 블록의 생성 시간을 강제적으로 조정을 할 수도 있습니다. 그러나 이런식의 값을 늘리게 되면 난이도가 너무 올라가기 때문에 이런식으로도 조절이 가능할 겁니다. "080"이하의 값을 찾아라 100에서 80으로 줄었으니 난이도는 20% 올라가게 됩니다.
퀴즈를 어렵게 내는 것을 떠나서 블록의 생성주기를 늦게 하여, 보상에 대한 획득수를 조절 할 수도 있습니다. 예를 들어 보상을 5분마다 했었는데, 이 시간을 10분으로 늦춘다면 아무리 문제를 빨리 맞춰도 하루동안 받는 비트코인의 개수는 어쩔수 없이 줄어들게 될것입니다. 비트코인의 가격이 계속 오르는 이유는 바로 이 공급이 점점 줄어들기 때문입니다.
공급이 꾸준히 유지가 된다면, 수요가 공급을 따라가야 가격이 오르게 되는데 수요가 따라가지 못하면, 당연히 코인의 가격은 내려가게 될 것입니다. 이런 원리이기 때문에 비트코인의 가격은 생각지도 못하게 가격이 오르게 되는 것입니다.(공급이 계속 줄어들기 때문. )
이처럼, 비트코인의 채굴 방식은 POW는 코인의 비트코인 생성원리 가격을 올리기(다른 말로 사람들이 매수하기에)에 매우 좋은 방식일 수 있으나, 최근 들어서 이 방식의 문제가 불거지면서 말이 많아지게 됩니다 . 왜냐하면, 문제를 맞추기 위해서는 엄청난 수준의 컴퓨팅 파워와 전력이 필요하기 때문입니다.
이로 인해서 , 연산에 최적화된 GPU 의 가격이 한때 없어서 못살 정도로 비쌌던 것도 하나의 현상이었고(게임을 좋아하던 사람들에게 채굴자들은 원수로 보였을 겁니다.) 탈중앙화라는 목표와 다르게 조직적으로 채굴을 위한 채굴장이 생겨나게 되면서, 일반 사람들은 감히 엄두도 낼 수 없을 정도로 되어버렸습니다 .
채굴장만 캐는 것도 문제지만 더 큰 문제는 바로 환경입니다 . 아이슬란드 같은 소규모의 국가에서는 비트코인의 채굴에 쓰이는 전력이 가정용 전력을 앞지르는 사태까지 발생하였고, 이런 다양한 전기 비트코인 생성원리 재앙으로 전세계 국가들은 채굴세력들을 퇴출시키려고 하고 있고 , 이더리움의 비탈릭은 작업증명인 POW 에서 지분증명인 POS 로 전환하려는 작업을 하는 것도 바로 그 이유입니다 .
채굴은 사람들에게 색다른 즐거움을 주기도 하지만 , 잘못 설계되어지거나 악의적으로 누군가가 이용할 경우 문제가 심각할 수 있다는 사실을 알아야 될 것입니다 . 최근에는 POW를 탈피하기 위한 다양한 방식의 채굴 로직이 등장하고 있으며, 이로 인해서 새로 나오는 코인들은 POW 방식이 아닌 새로운 방식으로 알고리즘이 설계된 코인들이 등장하고 있는 것 같습니다.
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
전 세계적으로 비트코인 관련 해킹이 많이 발생하다 보니, 비트코인의 운영 시스템에 대한 보안 취약성 우려가 끊임없이 제기되고 있다. 그러나 보안 전문가 입장에서 비트코인은 보안에 전혀 취약하지 않다. 오히려 비트코인을 운영하는 시스템의 경우, 보안 수준이 높다. 비트코인에 대한 해킹 우려는, 비트코인 운영원리에 대해서 잘 모르기 때문이라고 할 수 있다.
그렇다고 비트코인이 해킹에 100% 안전하다는 뜻은 아니다. 비트코인도 보안 취약점이 존재하는데, 비트코인 시스템 자체가 보안에 취약한 것이 아니라는 뜻이다. 다시 말해 비트코인 해킹은 개인의 보안인식 부족에서 발생한 것이라고 할 수 있다.
그렇다면 비트코인은 어떤 원리로 운영되고 있기에 해킹에 안전하다고 할 수 있는 것일까? 그리고 비트코인 해킹에 대비하기 위해서는 개인은 어떠한 노력을 기울이는 것일까? 이번 기사에서는 보안 관점에서의 비트코인 운영원리를 알아보고, 개인적인 보안 조치 방안에 대해서 살펴보겠다.
비트코인은 블록체인 네트워크를 기반으로 하고 있다. ⓒ 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가지 요구사항을 만족한다고 볼 수 있으므로, 보안수준이 높다고 할 수 있다.
다만 비트코인은 접근제어, 특히 개인키라는 보안 취약경로가 있다. 이 부분만 잘 관리한다면 비트코인을 안전하게 사용할 수 있다. 그렇다면 개인키는 어떻게 관리해야 할까?
사전예방과 피해 최소화로 나눠서 생각할 수 있다. 사전예방 방법으로는 개인키를 항시 안전한 컴퓨터 환경에서 사용해야 한다. 그러기 위해서는 사용할 기기에 백신을 실행시켜서, 항시 악성코드 감염 여부를 점검해야 한다.
피해 최소화 방법으로는 개인키를 여러 개 만들어 관리하는 것이다. 개인키를 여러 개 생성할 수 있다. 개인키를 여러 개 만들어서 여러 기기에 사설키를 보관하면, 나눈 만큼 개인키 하나에 보관하고 있는 비트코인 개수가 줄어들기 때문이다.
0 개 댓글