채굴
채굴(採掘) 또는 마이닝(mining)이란 암호화폐의 거래내역을 기록한 블록을 생성하고 그 대가로 암호화폐를 얻는 행위를 말한다. 1개의 암호화폐를 생성하기 위해서는 마치 금과 같은 광물을 캐는 것처럼 많은 시간과 노력이 필요한 일련의 작업이기에 채굴이라는 표현을 사용하기 시작했다. 중국어로는 와쾅(挖矿, wā kuàng)이라고 한다.[1]
목차
개요[편집]
채굴(mining)이란 블록체인 참여자로서 검증에 참여해 암호화폐를 얻는 것이다. 땅을 파서 광물 따위를 캐내는 행위에서 유래한 용어이다.
채굴은 분산원장 시스템이라는 광산에서 합의 알고리즘이라는 작업을 통해 암호화폐를 소유하는 것을 표현한 용어이며 작업증명, 합의 알고리즘과 그에 따른 보상을 의미하며 블록체인에 새로운 블록을 추가하는 일련의 과정을 뜻한다. 새로운 블록은 어떻게 만드는 것이 바로 채굴의 핵심이며 특정 컴퓨터 연산 작업을 통해 만들어지게 된다. 비트코인 화폐는 10분에 한 번씩 일정량의 코인이 생성이 되는데 이 생성된 비트코인은 채굴에 참여한 작업자 중 해시캐시라는 문제를 푼 작업자에게 지급되며 해시캐시는 특정한 조건을 갖춘 해시를 찾아내는 일련의 과정을 말한다. 블록체인 기반의 암호화폐에서 새로운 블록을 생성하고 그 대가로 암호화폐를 지급받는 사람을 채굴자 혹은 마이너라고 한다.
채굴을 통해 작업증명을 하며 작업증명이란 목표값 이하의 해시를 찾는 과정을 무수히 반복함으로써 해당 작업에 참여했음을 증명하는 방식의 합의 알고리즘이며 포우 또는 피오더블유라고 하며 작업증명 등 합의 알고리즘에서는 원장의 기록을 생성하기 위한 작업에 높은 비용이 필요하면서 이러한 합의 알고리즘을 사용하는 분산원장은 원장 기록 생성을 장려하기 위하여 분산원장 내에 포함이 확정된 기록에 대해서는 그 생성자에게 생성에 대한 보상 및 이에 포함된 거래의 수수료를 받도록 보편적으로 설계한다.
합의 알고리즘은 분산원장 시스템 내의 모든 노드(node)가 일관성 있는 분산원장을 보유할 수 있도록 네트워크 연결을 통해 새로운 기록의 공유, 검증 및 추가에 대한 전체의 동의를 이끌어 내는 알고리즘이며 분산원장 시스템에서 노드는 네트워크상에 분산되어 있으며 원장에 포함 시키기 위한 새로운 기록을 생성하고 채택하여 이를 배포해야 한다. 그러나 노드 간의 분산원장 동기화는 동시에 일어나지 않기 때문에 네트워크상에는 일시적으로 서로 다른 기록이 포함된 원장들이 존재할 수 있고 노드 중에는 신뢰할 수 없는 참여자가 포함될 수 있다고 가정하는 상황에서도 분산원장 시스템 내의 노드들이 서로 간의 통신을 통해 최종적으로 동일한 기록을 채택하게 하는 방식이다. 분산원장 시스템에는 작업증명(PoW), 지분증명(PoS), 위임지분증명(DPoS), 경과시간증명(PoET), 권위증명(PoA), 비잔틴장애허용(BFT) 등의 다양한 합의 알고리즘이 사용되고 있다.
암호화폐는 중앙은행과 같은 발행기관이 없이 거래내역을 기록한 원장을 전 세계 네트워크에 분산 저장하게 되는데 이러한 블록체인(blockchain)을 유지하기 위해 해당 블록을 생성한 사람에게 일정한 보상을 지급하도록 설계되어 있다. 예를 들어 비트코인의 경우 10분에 한 번씩 새로운 블록이 생성되는데, 이 블록의 이름을 16진수로 표시한 총 64자리의 해시(hash)를 찾아내는 사람에게 비트코인을 발행하여 지급한다.[2]
최초 채굴[편집]
2009년 1월 사토시 나카모토는 본인의 개인 컴퓨터(PC)를 이용하여 50 비트코인을 채굴한 뒤 할 피니(Hal Finney)에게 10 비트코인을 송금했다. 할 피니는 본인의 PC에서 비트코인을 채굴했는데 당시 블록 번호가 70번대였으며 두 번째 비트코인 채굴자가 되었다.
비트코인 채굴[편집]
비트코인 채굴 시 비트코인 채굴자는 네트워크에서 코인 거래자로부터 검증되지 않은 거래를 수집하는 컴퓨터 프로그램을 실행한다. 다른 데이터를 사용하면 이것들은 블록을 형성하고 채굴자에게 지불할 수 있지만 채굴자가 시행착오를 통해 논스(nonce) 번호를 발견한 경우에만 블록이 네트워크에 의해 받아들여진다. 이 논스는 네트워크의 난이도 목표를 달성하기 위해 충분한 수의 제로 비트를 가진 해시를 산출한다. 첫 번째 코인이 형성된 이래로 채굴자로부터 받아들여지는 블록은 비트코인 블록체인을 형성한다. 비트코인의 작업증명은 SHA-256 해시를 사용하며 원래 256비트 중 처음 32개가 0이어야 한다. 그러나 비트코인 네트워크는 시간당 6개의 블록 평균 생성 속도를 유지하기 위해 난이도를 주기적으로 재설정한다. 비트코인의 경우 SHA-256이라는 해시 알고리즘을 사용하고 있는데 최근에 생성된 블록의 해시값을 보자.
"000000000000000000edf71cf65887e7fcc15c084c131a887013725298640eb3“
자세히 보면 앞에 0이 상당히 많이 들어가 있는데 바로 해시캐시이며 해시값이 몇 개 이상의 0으로 시작하는 값을 찾는 작업이다. 간단해 보일 수도 있는데 예를 들면 0의 개수가 7개인 해시값을 찾기 위해 대입해야 할 경우의 수는 무려 268만 번이다. 컴퓨터가 268만 번 동안 열심히 값을 바꿔가면서 대입해야 원하는 값을 찾을 수 있다. 조금 전 본 최신 블록의 값을 보면 앞에 0이 무려 18개가 있다. 0이 17개일 경우 경우의 수가 295,147,905,179,352,830,000이며 거의 3해에 달하는 어마어마한 수자이다. 그러니 컴퓨터로 연산을 해도 엄청난 시간이 걸릴 수밖에 없다. 따라서 채굴은 하드웨어의 영향을 많이 받을 수밖에 없는 구조로 되어있기 때문에 하드웨어의 스펙이 상당히 중요한 요소이다.[3]
채굴에 성공한 보상으로 지급되는 비트코인의 양은 4년마다 절반으로 줄어드는 반감기를 거친다. 최초의 채굴이 이루어진 2009년에는 50 비트코인을 지급하다가 2013년부터 25 비트코인으로 줄어들었고 2017년부터 12.5 비트코인으로 감소했으며 2021년에는 6.25개로 줄어들 예정이다. 비트코인은 최종적으로 2040년에 총 2,100만 비트코인을 끝으로 채굴을 중지하도록 설계되어 있다.
채굴의 난이도가 높아지면서 고성능 컴퓨터를 사용해 빠른 연산을 해야 하기에 개인의 소규모 채굴보다 단순 반복 연산을 빠르게 처리할 수 있는 컴퓨터 장치인 채굴기를 사용하며 대량의 암호화폐를 채굴하기 위한 채굴기를 여러 대 설치한 채굴장, 채굴업체가 형성되었다.
비트코인 채굴 방법[편집]
- 비트코인 지갑 만들기 : 비트코인을 저장할 전자지갑을 만들어야 한다. 원하는 사이트에 방문 후 만들면 된다.
- 채굴 풀 가입하기 : 텅 빈 지갑을 채우기 위해 본격적으로 채굴 작업에 나서야 하는데 비트코인 암호를 풀기 위해선 일반 PC 1대 기준으로 5년의 시간을 투자해야 풀수 있다. 이런 고민을 해결하기 위해 채굴 풀(Mining pool)이 생겼다. 본인 컴퓨터의 계산 성능 일부를 암호 해독 과정에 보태고 채굴이 완료되면 기여한 만큼 비트코인을 나눠 받든데 컴퓨터 성능이 좋을수록 더 많은 비트코인을 받을 수 있다. 채굴 풀이 많이 생겼기 때문에 원하는 채굴 풀에 가입 후 프로그램을 다운 받아 자기 계정에 연동한다.
- 채굴하기 : 채굴 프로그램 실행 후 시작 버튼만 누르면 된다. 계산은 컴퓨터가 알아서 하는데 다만 PC 전원이 꺼지지 않도록 잘 설정해 주면 된다.
비트코인 채굴 원리[편집]
비트코인은 은행, 신용카드 회사 등의 금융기관 중개가 없이 안전한 거래가 이뤄지도록 모든 거래내역을 장부에 기록하여 모든 사용자들이 공유할 수 있는 방식을 선택했다. 비트코인 시스템은 전체 거래내용을 10분 단위로 모아 장부에 기록하는데 거래내용은 암호화되어 있기 때문에 누군가 암호를 풀어 장부를 기록해야 한다. 암호는 수많은 계산과 검토가 필요한 어렵고 번거로운 일이기 때문에 암호를 풀어 장부에 기록하는 권리와 그 대가인 신규 발행된 비트코인을 한 사람에게 주는데 이 과정은 마치 광부가 광산에서 곡괭이질을 거듭한 끝에 금을 캐내는 것과 비슷하다고 하여 채굴이라고 한다.
사용자들은 컴퓨터를 통해 비트코인을 얻기 위해 경쟁하면서 수학문제를 풀어야 하며 시간이 지나면 지날수록 암호의 난이도는 높아지고 발행량도 줄어들게 되는데 이는 화폐 가치하락(인플레시션)을 방지하기 위함이다. 2040년이 되면 총 2,100만 비트코인을 끝으로 발행이 종료되며 이후에는 유통 시 발생되는 수수료를 이용하여 지급하도록 되어 있다.
합의 알고리즘[편집]
- 작업증명(PoW, Proof of Work)
- 작업증명(PoW, Proof of Work)이란 목표값 이하의 해시를 찾는 과정을 무수히 반복함으로써 해당 작업에 참여했음을 증명하는 방식의 합의 알고리즘이다. 채굴(mining)을 통해 작업증명을 한다. 포우 또는 피오더블유라고도 읽는다. 블록체인에서 거래 기록 정보를 무작위 특성을 가진 논스(nonce)값과 해시(hash) 알고리즘을 적용시켜 설정된 난이도를 충족하는 해시값을 도출하는 방식을 말한다. 블록 생성자(채굴자 또는 검증자)들이 컴퓨터 연산을 통해 블록체인의 블록 헤더에 제시된 난이도 조건을 만족하는 블록 해시값을 경쟁을 통해 찾으면 새로운 블록을 추가하는 작업이 완료되고 보상을 받는다. 1997년 아담 백(Adam Back)이 스팸 메일에 의한 서비스 거부 공격(DOS attack)을 방지하기 위해 고안한 해시캐시(hashcash)를 기반으로 개발되었다. 피투피(P2P) 네트워크로 거래하는 비트코인(bitcoin) 채굴에서 사용하는 작업증명 알고리즘은 SHA-256을 기반으로 하여 해시캐시라고 하며 비트코인 창시자인 나카모토 사토시가 고안한 블록 생성 방식이다. 블록체인의 탈중앙화 특성에 부합하지만 컴퓨터 성능이 발달함에 따라 난이도 조건이 높아지며 컴퓨팅 파워 낭비와 에너지 소모가 심해지는 단점이 있다. 비트코인, 이더리움, 라이트코인, 비트코인캐시, 비트코인골드, 모네로, 지캐시, 시아코인, 불웍, 에이치닥 등의 암호화폐에서 작업증명 방식을 사용하고 있다.
- 지분증명(PoS, Proof of Stake)
- 암호화폐를 보유한 지분율에 비례하여 의사결정 권한을 주는 합의 알고리즘이다. 노드(node)가 보유한 자산을 기준으로 권한을 분배하여 합의하고 보상을 분배하는 방식으로 주주총회에서 주식 지분율에 비례하여 의사결정 권한을 가지는 것과 유사하다. 지분증명은 블록체인 네트워크의 각 노드마다 아이디(ID)를 만들어 합의 시 지분의 양을 계산에 활용한다. 누구든 해당 네트워크의 암호화폐만 있다면 ID를 만들 수 있고 블록을 생성할 권한(블록 보상을 획득할 권한)은 자신의 ID에 연결된 지분의 양(자신이 보유한 암호화폐의 양)으로 결정된다. 따라서 많은 지분을 가진 사람이 더 높은 확률로 더 짧은 시간 안에 블록을 생성할 권한을 가지게 된다. 이러한 이유로 블록 보상을 받을 확률을 높이기 위해서는 자신의 지분을 잘게 나누어 여러 개의 ID를 만들어서 참여하기보다는 하나의 ID에 모든 지분을 연결하여 참여하는 것이 유리하다. 블록체인 시스템에서 가장 보편적으로 사용하는 합의 알고리즘인 작업증명이 대규모의 컴퓨팅 파워 낭비 문제를 발생시켜 이를 해결하기 위해 고안하였다. 지분증명을 사용하는 대표적인 블록체인으로 에이다(ADA), 큐텀(QTUM), 피어코인(Peercoin) 등이 있다.
- 위임지분증명(DPoS, Delegated Proof of Stake)
- 암호화폐 소유자들이 각자의 지분율에 비례한 투표를 해서 자신을 대신하는 대표 노드(node)를 선정하고 이 대표 노드들이 합의하여 의사결정을 내리는 합의 알고리즘이며 2014년 다니엘 라리머(Daniel Larimer)가 개발하였다. 암호화폐 소유자들이 자신의 권한을 위임할 대표 노드를 선출하는 방식이 대의 민주주의와 유사해 "토큰 민주주의"라는 별명이 붙기도 하였다. 소수의 대표 노드들에게만 거래 정보 승인을 받기 때문에 작업증명(PoW), 지분증명(PoS) 합의 알고리즘에 비해 처리 성능이 크게 개선되었다. 위임지분증명 방식에서 대표 노드의 수는 블록체인 플랫폼의 정책에 따라 달라질 수 있으며 이미 선정된 대표 노드라 하더라도 올바른 의사결정을 하지 않으면 언제든 바뀔 수 있다. 위임지분증명 합의 알고리즘을 사용하는 대표적인 블록체인 플랫폼으로 이오스, 비트셰어(Bitshares), 스팀(Steem), 아크(Ark), 리스크(Lisk), 엘프, 테조스, 라이즈, 시프트, 보스코인 등이 있다.
- 경과시간증명(PoET, Proof of Elapsed Time)
- 하이퍼레저 소투스(Hyperledger Sawtooth)에서 제안된 합의 알고리즘이다. 작업증명(PoW) 방식의 경쟁적 해싱 연산으로 낭비되는 에너지를 줄이면서 유사한 수준의 보안성을 보장하기 위해 제시됐다. 작업증명 방식과 유사하게 작동하지만 전기를 훨씬 적게 소모하며 참여자들이 암호화된 퍼즐을 풀게 하는 대신 알고리즘이 "인텔 소프트웨어 가드 확장"(SGX, Software Guard Extension)과 같은 필요에너지소비량(TEE)을 사용하여 요구되는 작업 없이 블록들이 랜덤으로 당첨되는 형태를 보장한다. 시간과 관련되어 필요에너지소비량을 통해 제공되는 대기시간에 근거한다. 또 SGX를 기반으로 블록을 생성하는 리더를 선정하는데 이때 가능한 다수의 노드가 합의에 참여하여 공정하게 리더를 선정하도록 하며 보안 CPU 명령을 사용하여 리더를 선정함으로써 안전성과 무작위성을 보장한다. 경과시간증명을 사용하는 대표적인 블록체인 플랫폼으로 에덴체인(Edenchain), 하이퍼레저 소투스(Hyperledger Sawtooth) 등이 있다.
- 권위증명(PoA, Proof of Authority)
- 블록체인 네트워크를 위한 효과적이고 실제적인 해결책으로 평판을 기반으로 한 합의 알고리즘이다. '권위증명'이라는 용어는 이더리움의 공동 창립자이자 최고 기술 책임자였던 개빈 우드(Gavin Wood)에 의해 제시되었다. 권위증명 합의 알고리즘은 신원의 가치를 증대시키는데, 이 방식에서 블록 검증자는 코인을 스테이킹하지 않고 그들의 평판을 대신 사용한다. 그러므로 권위증명 블록체인은 신뢰 가능한 주체를 통해서 임의로 선정되어 검증된 노드를 통해 보호된다. 이 모델은 한정된 블록 검증자에 의존한다는 특징이 있는데 이것이 시스템 확장성이 뛰어난 이유이다. 시스템의 중재자 역할을 하는 사전에 승인된 참여자에 의해서만 블록과 트랜잭션이 검증되기 때문이다. 권위증명을 사용하는 대표적인 블록체인 플랫폼으로 애저(Azure), 루니버스 등이 있다.
- 비잔틴장애허용(BFT, Byzantine Fault Tolerance)
- 비잔틴 장애 허용이란 장애가 있더라도 전체의 3분의 1을 넘지 않는다면 시스템이 정상 작동하도록 허용하는 합의 알고리즘이며 "비잔티움 장애허용"이라고도 부른다. 블록체인의 분산원장 체계는 제대로 돌아가기 위해서 원장을 공유하는 참여자들이 정직하게 행동해야 하며 이를 보장할 방법이 있어야 한다. 만약 악의적인 노드가 존재하여 누군가 속이려 들더라도 모두가 지닌 원장은 같은 내용을 유지해야 하는 방법 또한 존재해야 한다. 비잔틴장애허용을 사용하는 대표적인 블록체인은 텐더민트(Tendermint) 가 있다.
채굴 방법[편집]
- 비트코인: 1. 거래 기록들을 전달받는다. 2. 특정숫자를 찾아서 블록을 생성한다. 3. 생성한 블록을 블록체인에 추가하고 전달하여 새롭게 채굴된 비트코인을 보상으로 받는다.
- 이오스 : 위임 지분증명(DPoS) 방식은 작업증명(PoW) 방식과 달리 블록 생성자가 되기 위해선 투표를 거쳐야 한다. 이오스에서는 투표를 통해 21명의 블록 생성자를 선출하는데 선거 방식은 1인 1표가 아니라 1코인 1표 정책을 선택하며 누구나 블록생산에 참여 할 수 있으며 선거에서 득표 순위가 21위 안에 들 때 블록 생성자가 될 수 있다. 선출된 대표자들은 암호화폐가 정한 계획에 따라 블록을 생성하고 투표 결과 21위 안에 들지 못했으나 40위 안에든 사람들에게는 블록 생성후보자의 지위를 부여한다.
- 이더리움 : 네트워크의 채굴 노드는 이더해시(Ethash)라는 독자적인 작업증명 알고리즘을 사용해 블록을 생성하고자 경쟁한다. 이더해시 알고리즘에 대한 입력은 논스라고 하는 임의로 생성된 숫자를 포함하는 블록 헤더이며 그 출력은 32바이트의 16진수이다. 논스를 수정하면 출력도 수정되는데 예측할 수 없는 방식으로 수정된다. 네트워크가 채굴된 블록을 수용하려면 블록 헤더에 대한 이더해시 출력이 네트워크 난이도보다 적어야 하며 또 다른 32바이트의 16진수가 채워질 대상으로 사용되며 목표 난이도를 상회하는 블록을 브로드캐스트하는 모든 채굴자는 블록 보상을 받는다.
채굴 방식[편집]
- CPU - 컴퓨터 CPU(중앙처리장치)를 이용한 채굴 방식으로 초기에 주로 쓰였던 방식이다.
- GPU - 그래픽카드에 들어가 있는 칩이 바로 이 GPU(그래픽 처리 장치)이다. 현재 소규모로 채굴을 하는 분들이 가장 많이 사용하는 방식으로 화면상의 대략의 픽셀을 반복적으로 빠르게 수행하는 비디오 프로세싱의 특성상 CPU에 비해 단순 업무에 최적화되어 있어서 채굴에 더 적합한 방식이다.
- FPGA – 설계 가능한 논리소자와 프로그래밍이 가능한 내부선이 포함된 반도체 소자로 CPU, GPU에 비해는 월등한 성능을 자랑하지만 ASIC보다는 떨어진다.
- ASIC - 비트코인 채굴이라는 특수한 목적으로 만들어진 칩으로 전력 소모 방식이 매우 적으면서도 기존 칩들 대비 상당히 빠른 속도로 채굴이 가능하다. 중국의 우지한(吴忌寒, 오기한)이 이끄는 비트메인(Bitmain) 회사는 목표값 이하의 해시를 빠르게 찾아낼 수 있는 주문형 반도체인 에이식(ASIC)을 이용한 채굴기를 제작했다
- 풀(Pools) - 채굴의 난이도가 갈수록 상승하게 되면서 개개인이 채굴하는 방식으로는 한계에 다다르자 채굴이라는 공통의 목표로 협업으로 채굴을 하고 공헌도에 따라 보상을 받는 방식이다.
채굴 주의사항[편집]
- 전력소비 : 1개의 비트코인을 채굴하기 위하여 소비되는 전력은 영국 가정의 2개월치 소비전력과 맞먹는 수준이이므로 거대한 화력발전으로 생산된 저렴한 전기 공급을 쫓아 가상화폐 채굴업체가 중국 내륙의 신장 위구르와 네이멍구(내몽고) 지역에 몰려들고 있다. 우리나라도 가상화폐 채굴을 위해 산업용 전기 몰래 사용하고 있다.
- 채굴 장비 : 채굴 장비의 수명은 물리적 수명과 경제적 수명으로 나뉜다. 물리적 수명은 고장, 노화, 파손, 부식 등 영향하에 수명은 5~10년으로 된다. 경제적 수명은 원가와 수익의 각도에서 채굴 장비의 유지 보수 원가와 전기료 지출을 채굴 수익과 비교해 보면 된다.
- 반감기 : 채굴에 성공한 보상으로 지급되는 비트코인의 양은 4년마다 절반으로 줄어드는 반감기를 거친다.
- 외국 거래소 사용시 여권만료일을 확인해야 한다. 만료일자가 지난 여권으로 인증 시 출금정지가 될 수 있다.
채굴 프로그램[편집]
- 마이닝컴(MiningCom) : 마이닝컴은 채굴기를 24시간 관리를 해주는 프로그램이다. 마이닝컴은 빅데이터를 통해서 분석을 하고 해시값에 따라서 오버값 역시 정리하여 고객에게 서비스를 제공한다. 경제적 및 최고 효율의 해시값을 제공하는 것이 특징이다.(https://minebee.io/)
- 컴퓨타(computta) : 비트코인 무료 채굴 프로그램이다. 모든 Windows OS 컴퓨터에서 누구나 사용할 수있는 간단한 두 번의 클릭으로 암호화폐 마이닝 응용 프로그램을 제공하는 최초의 서비스이다. 즉, 컴퓨터를 가진 사람은 누구나 3분 안에 컴퓨터에 등록하고, 매우 간단한 스마트 마이닝 앱을 다운로드하고, 암호화폐 생성을 시작할 수 있다. 컴퓨터의 전원을 켜고 마우스를 클릭하는 것 외에는 기술이 전혀 필요하지 않다.(https://computta.com/faq/what-is-computta-com/)
- 허니마이너(HoneyMiner) : 테스크탑 용 암호화폐 채굴 프로그램이다. 허니마이너는 채굴 시 중앙처리장치(CPU)와 그래픽카드(GPU) 모두를 사용해 이더리움, 지캐시, 모네로 등을 채굴할 수 있는 프로그램이다. 채굴한 암호화폐는 자동 전환돼 이용자의 계정에 전송하는 방식으로 운영된다. 2018년 7월 윈도우 버전을 첫 출시한 후 10여개 월만에 맥OS 버전도 출시했다.
- 코인하이브(CoinHive) : 모네로 채굴 프로그램이다. 웹사이트에 자바스크립을 이용해 코인하이브 코드를 심어놓고 해당 웹사이트에 방문하는 사용자(네티즌)의 컴퓨터 리소스를 사용해 채굴하는 것이다. 2019년 9월 26일 코인하이브는 암호화폐 채굴을 위한 악성코드를 심는 크립토재킹이 글로벌 문제로 떠오르는 가운데 채굴서비스를 중단했다.
동영상[편집]
각주[편집]
참고자료[편집]
같이 보기[편집]
|
|