비트코인 채굴 원리

초급5분 소요2021-12-14

채굴이란?

디지털자산은 발행되는 과정이 조금 독특합니다. 1개의 디지털자산을 생성하기 위한 과정은 마치 금을 캐내는 것처럼 많은 시간과 노력이 필요하다고 하여 '채굴(mining)'이라고 부릅니다. 그래서 전문적으로 채굴이 이뤄지는 작업장을 채굴장이라고 부르며 채굴작업을 수행하는 자들을 채굴자라고 합니다.


블록체인을 채굴한다?

블록체인을 채굴한다는 것은  블록체인에 거래 내역을 기록하는 과정을 의미합니다. 블록체인은 거래정보를 암호화해 구성원들끼리 공유하는 분산된 장부로 만약 1,000명이 참여해 거래를 하고 있다면 1,000명의 참여자들은 모든 거래내역을 기록한 장부를 각자 보관하고 있습니다. 


블록체인에 저장되는 정보들은 '블록'이라는 단위로 저장됩니다. 새로운 정보(거래내역)를 저장할 때마다 블록이 생성되고 이 블록들은 차례대로 연결됩니다. 

현재 우리는 금융기관이 거래내역을 장부에 기록해주는 역할을 해주고 있습니다. 그러나 블록체인에서는 이 거래내역을 기록해주는 사람에게 일을 수행한 대가로 디지털자산을 지급해줍니다. 이것을 '채굴'이라고 합니다보상으로 디지털자산을 주기 때문에 여러 사람들이 동시에 기록을 하려고 지원합니다. 하지만 블록 생성은 한 사람만 수행하면 됩니다. 그래서 다수가 장부의 기록을 원할 경우 어려운 연산 문제를 풀도록 하고 처음으로 해답을 내놓는 사람이 블록을 생성할 수 있도록 조건이 만들어져 있습니다.



채굴 연산 문제에도 난이도가 있다

채굴할 때 풀어야 하는 연산 문제는 해시함수로 이루어져 있습니다. 해시란 주어진 데이터에 근거해 생성되는 독특한 무작위 문자열입니다. 블록의 이름을 16진수로 표시한 총 64자리의 해시(hash)를 가장 먼저 발견하는 채굴자에게 디지털자산이 지급됩니다. 


해답은 찾는 방법은 숫자를 하나씩 대입하여 문제가 해결되는지 살펴보는 방법 뿐입니다. 채굴하려는 사람이 늘어날수록 풀어야 하는 연산 문제는 더욱 복잡해집니다. 비트코인 네트워크는 새로운 블록이 일정한 속도(10분마다 1개)로 생성되도록 프로그래밍 되어 있습니다. 채굴 경쟁이 심화돼 채굴 속도가 빨라질 것으로 예상되면 채굴자가 풀어야 하는 연산 문제의 난이도를 자동으로 높여 채굴 속도를 늦추고 반대로 채굴 경쟁이 완화되면 채굴 난이도를 낮춥니다. 



채굴의 두 가지 기능

채굴의 역할은 블록 생성과 블록 검증입니다. 앞서 언급한 것처럼 디지털자산은 거래를 관리하는 금융기관 같은 제3자가 존재하지 않고, 모두가 서로를 감시하는 네트워크를 통해 거래를 처리합니다. 채굴자는 블록체인이라는 거래 장부에 거래를 기록하고 그것을 모두에게 공개하는 방식으로 블록을 검증하고 거래의 정당성을 증명해 내는 역할을 해서 부정거래를 방지합니다.