블록체인에서 채굴이란 무엇인지, 어떻게 동작하는지를 설명합니다.
채굴이란
마이닝(mining)이라고도 불리는 채굴은 여러 트랜잭션(거래)을 담고 있는 블록을 블록체인 네트워크에 추가하는 과정을 의미합니다. 블록 추가 이외에도 채굴은 악의를 가진 공격자로부터 블록체인 네트워크를 안전하게 보호하는 역할을 합니다.
비트코인과 마찬가지로 이더리움은 과거 채굴에 크게 의존하는 합의 메커니즘인 작업 증명(Proof-of-Work, PoW)을 사용하고 있었습니다. 합의 메커니즘을 지분 증명(Proof-of-Stake, PoS)으로 바꾸기 전까지 이더리움에서 활동하는 채굴자들은 들어오는 트랜잭션을 처리하고 새로운 블록을 생성하는데 상당량의 시간과 컴퓨팅 파워를 사용하곤 했습니다.
이더리움은 2022년 9월 19일에 The Merge라는 로드맵을 이행하면서 합의 메커니즘을 작업증명에서 지분증명으로 전환하였습니다. The Merge 이후엔 새로운 블록 생성 시 소비하는 에너지가 최대 99.95%까지 감소했습니다.
채굴자는 왜 채굴을 하는가
상당수의 사람은 채굴을 단순히 여러 트랜잭션을 묶어 하나의 블록을 생성하는것이라 생각합니다. 하지만 위에서 언급한것처럼 채굴은 블록체인 네트워크를 안전하게 보호하는 역할도 합니다.
이더리움 같은 탈중앙화 시스템에선 전 세계의 모든 사람이 트랜잭션의 순서에 동의해야 합니다.
예를 들어봅시다. Alice가 Bob에게 1이더리움을 보내고, Bob이 Alice에게 받은 1이더리움을 Charlie에게 보내는 거래가 있다고 해보겠습니다. 이때 트랜잭션 순서는 위에서 아래 순서로 발생해야 합니다.
- 순서1: Alice — (1이더리움) → Bob
- 순서2: Bob — (1이더리움) → Charlie
여기서 중요한 것은 순서입니다. 그리고 모든 사람이 이 순서에 동의해야만 합니다.
채굴자의 역할은 트랜잭션을 검증하고 이를 순서에 맞게 블록에 넣어서 원장에 추가하는 것입니다. 이렇게 채굴자가 제 역할을 해줘야만 디지털 화폐의 이중 지불 문제를 예방할 수 있습니다.
채굴자가 얻는 혜택
실물 화폐를 거래할 때와 마찬가지로 누군가 트랜잭션을 일으키면, 관련된 각 계정의 출금/입금을 반영할 수 있도록 블록체인 상태를 갱신해야 합니다.
그런데 디지털 플랫폼은 해커 등의 공격으로부터 취약해서 조작될 위험이 있습니다. 따라서 채굴자는 새로운 블록을 제안하고 모든 트랜잭션의 유효성을 검사할 뿐만 아니라 제안된 모든 블록의 트랜잭션이 유효하다는 증명서(certificate of legitimacy) 역시 생성해야 합니다.
이 증명서를 생성하려면 복잡하고 어려운 계산을 수행해야 합니다. 이 계산이 바로 작업 증명에서 핵심 역할을 합니다. 추후 작업증명 관련 글에서 계산에 대해 자세히 설명할 예정이지만, 지금은 이 증명서를 생성하기가 상당히 어렵다는 점만 알아두어도 충분합니다.
참고로 증명서 생성엔 어려운 계산이 수반하지만, 제 3자가 증명서의 유효성을 검증하는 건 아주 쉽습니다.
인증서를 생성하고 트랜잭션을 실행하는 채굴자는 컴퓨팅 파워를 제공한 대가로 ‘암호화폐’ 형태의 보상을 받습니다. 이더리움 네트워크에선 채굴자가 새로운 블록을 생성할 때 보상으로 2이더리움을 받습니다. 과거엔 채굴의 댓가로 5이더리움을 받았었는데 2017년 비잔티움 업그레이드 이후로 보상이 3이더리움으로 낮아졌고, 2019년에 있었던 콘스탄티노플 업그레이드 이후엔 2이더리움을 보상으로 받습니다.
탈중앙화 시스템엔 중앙 기관이 따로 없기 때문에 네트워크의 안정성과 유효성을 유지하는데 채굴은 아주 중요한 역할을 합니다. 따라서 채굴에 따른 보상은 트랜잭션 검증 프로세스에 사람들이 참여하도록 유도하는 인센티브 역할을 합니다.
채굴자가 될 수 있는 자격
기술적으론 이더리움 노드 소프트웨어를 실행만 하면 누구나 채굴자가 될 수 있습니다. 그런데 누구든 수익을 내며 채굴을 할 수 있는 건 아닙니다.
대부분의 경우 채굴자는 이익을 내며 채굴할 목적으로 특수한 하드웨어를 구매합니다. 일반 컴퓨터로는 채굴에 필요한 전기나 하드웨어 비용을 충당할 만큼 보상(이더리움)을 받을 수 없기 때문입니다.
채굴 비용
채굴 비용은 크게 3부분으로 분류할 수 있습니다.
- 채굴 관련 소프트웨어를 구동하는 데 필요한 하드웨어 구매 비용
- 채굴 관련 소프트웨어를 구동할 때 소모하는 전기 비용
- 채굴 장비가 있는 공간을 관리하는 데 필요한 부대 비용(냉방기, 환풍기, 에너지 소비 모니터링 장비, 전기선, 태양광 장비 관리비 등)
이더리움 재단에서 제공하는 계산기를 사용하면 채굴 시 수익이 날지, 아닐지를 미리 가늠해 볼 수 있습니다.
이더리움 채굴 절차
가장 대표적인 블록체인 네트워크인 이더리움의 과거 채굴절차는 다음과 같았습니다.
- 사용자가 본인 지갑을 사용해 트랜잭션을 사인하고 요청을 보냅니다.
- 사용자의 트랜잭션이 노드를 통해 이더리움 네트워크로 전파(브로드캐스트)됩니다.
- 노드는 새로운 트랜잭션을 받아 로컬 mempool(memory pool)에 추가합니다. 이렇게 로컬 mempool엔 블록에 추가되기 전의 트랜잭션이 모입니다.
- 특정 시점에 채굴자는 예비 블록에 추가할 트랜잭션을 묶어 그룹을 만드는데, 이때 블록의 가스비 상한선을 넘지 않으면서 수입원이 될 트랜잭션 수수료를 최대화하는 방식으로 그룹화를 진행합니다.
- 채굴자는 mempool에 있는 각 트랜잭션의 유효성을 확인합니다. 이때 소유하지 않은 이더리움을 전송하려는 트랜잭션은 없는지, 서명이 유효한지, 잘못된 요청은 없는지 등을 확인합니다.
- 채굴자는 로컬 이더리움 가상 머신(Ethereum Virtual Machine, EVM) 복사본에서 트랜잭션을 실행해 봅니다. 이때 각 요청에 대한 트랜잭션 수수료를 자신의 계정으로 지급받습니다.
- 로컬 EVM에서 모든 트랜잭션을 검증하고 실행한 후, 채굴자는 전체 블록에 대한 작업 증명 인증서를 생성한다.
- 채굴자는 사용자가 전송한 트랜잭션이 포함된 블록에 대한 증명서 생성을 마무리합니다. 그다음 완성된 블록을 전 세계에 전파하는데, 이때 인증서와 블록체인의 새로운 상태 정보도 함께 전파됩니다.
- 다른 노드는 새로운 블록 정보를 받고, 증명서의 유효성을 검증한 후(쉬움), 자신의 로컬 EVM 복사본에서 블록 내 모든 트랜잭션을 실행해 봅니다. 그리고 새로운 블록을 전파한 채굴자가 보내온 상태정보와 자신이 직접 실행해서 얻은 상태정보가 일치하는지 확인합니다.
- 새로운 블록을 제안한 채굴자가 보낸 정보가 유효한지 여러 노드에서 검증이 끝나면, 채굴자가 보낸 상태를 블록체인의 새로운 상태로 받아들입니다.
- 각 노드는 블록에 추가된 트랜잭션을 로컬 mempool에서 제거합니다.
- 위의 과정이 계속 반복됩니다.
다양한 채굴 방식
채굴 하는게 어렵지 않았던 기술 초창기에는 대부분의 채굴자가 데스크탑과 노트북에 설치된 CPU를 기반으로 채굴하였습니다. 하지만 CPU만 사용하는 방식은 CPU를 100% 가동하면서 채굴해야 하고 높은 전기료를 지불해야 하므로 현실적이지 않습니다. 적은 양의 채굴 보상을 얻는데도 몇 달이 걸릴 수 있기 때문에 이 방식은 요즘엔 잘 쓰지 않습니다.
GPU 기반 채굴은 오늘날 가장 일반적인 채굴 방식입니다. 하나의 채굴 장비에 여러 개의 GPU를 병렬로 모아 작동하게 하여 계산 능력을 극대화하는 이 방식은 장비의 전체 용량과 처리량을 증가시킨다는 장점이 있습니다.
이 외에도 ASIC(Application-Specific Integrated Circuit)를 사용하는 것 역시 인기 있는 채굴 방식입니다. ASIC는 이더리움 채굴을 위해 특별히 설계된 하드웨어 칩입니다. 비트코인이나 이더리움같이 유명한 블록체인 네트워크 전용 ASIC는 인터넷에서 구입할 수 있습니다. 그런데 장비 가격이 점점 비싸지고 채굴 참여자가 늘어남에 따라 채굴 자체가 어려워져서 하드웨어를 구입한다고 하더라도 빠르게 구식이 될 여지가 있습니다. 새로운 ASIC의 수명은 보통 최대 1~2년에 불과합니다.
개인 채굴자가 하드웨어를 소유하지 않고도 전용 채굴 시설을 운영할 수 있는 대안으론 클라우드 기반 채굴이 있습니다.
채굴 풀
개인이 수 천개의 GPU와 ASIC를 갖춘 대규모 채굴 시설을 구축하는 건 어려운 일입니다. 이럴 때 채굴 풀(Mining Pool, 마이닝 풀)에 들어가 다른 사람과 채굴을 함께 하면 컴퓨팅 자원를 결합할 수 있기 때문에 블록을 채굴할 확률이 높아집니다.
마이닝 풀에 속하게 되면 채굴에 성공할 경우 풀에 기여한 연산 능력에 비례해 보상을 받을 수 있습니다.
기타 자료
- 이더리움에서 채굴이란 무엇인가(이더리움 재단 공식 자료)
출처
- 이 글은 서강대학교 게임 교육원 내 블록체인 교육을 위해 제작한 글로, https://learnweb3.io/ 의 자료를 번역 및 각색한 글입니다.
- 작성자: 서강대학교 게임 교육원 메타버스엔터테인먼트 학과 전임교수 이보라