[암호화폐]암호화폐 채굴: 작업증명과 지분증명
채굴의 두 가지 방법: 작업증명과 지분증명
[암호화폐]암호화폐 채굴 : 보상과 복잡성 에서 암호화폐 채굴이 성립하기 위한 아래 세 가지 요건을 알아봤다.
1. 채굴자의 "지식", "경험"과 상관없이 모두에게 동일한 난이도를 가져야 함(누구나 채굴 가능)
2. 출제자는 출제/채점이 쉽고, 채굴자는 맞추기 어려워야 함(채굴로 무분별한 보상생성 방지)
3. 난이도 조절이 쉬워야 함(채굴로 인한 적정 보상 유지)
1 ~ 3 조건을 만족하는 가장 간단한 문제 예시는 [암호화폐]암호화폐 채굴 : 보상과 복잡성에서 본 것처럼 "n 개의 "0" 으로 시작하는 해시값을 찾아라"가 될 수 있다. "n개의 "0"으로 시작하는 해시값을 찾아라"는 그냥 컴퓨터에게 반복작업을 시키면 되는 일이라 누구에게나 동일한 난이도이며, 제출된 해시값의 "0"의 개수만 세면 되니 출제/채점이 쉽다. 그리고 "n개의 "0"으로 시작하는 해시값을 찾아라"에서 n만 크게 잡으면 난이도가 어려워지고 작게 잡으면 난이도가 쉬워지니 난이도 조절도 쉽다.
작업증명(POW)
작업증명은(Proof Of Work)은 예시로 든 "n개의 "0"으로 시작하는 해시값을 찾아라"에서 조건에 맞는 해시값을 찾아서 네트워크에 제출하는 것이다. 블록체인 네트워크가 요구하는 조건에 맞는 값을 제출하는 작업증명의 보상으로 채굴자는 암호화폐라는 보상을 받게 된다.
작업증명을 통한 채굴을 공동으로 할 수도 있다. 마이닝 풀이라는 공유시스템을 통해서 작업증명을 공동으로 진행하는데 Antpool(https://www.antpool.com) 같은 곳이 대표적이다. 마이닝 풀은 사람들이 정답을 모아두는 곳이라고 생각하면 쉽다. "n개의 "0"으로 시작하는 해시값을 찾아라"에서 암호화폐 통화량 조절 알고리즘에 의해서 n이 몇 개가 될지 모르니 n = 1 인 해시값 부터 n = 10 인 해시값까지 미리 찾아서 모아두는 식이다. Antpool 같은 마이닝 풀 참가자는 제출한 정답의 난이도와(n 이 큰 해시값을 제출한 사람이 더 큰 보상) 양에 따라서 보상을 받게 된다. 마이닝 풀의 이런 운영방식을 PPS(Pay Per Share) 방식이라고 한다. 작업증명으로 운영되는 대표적인 코인은 비트코인, 도지코인, 이더리움 1.0 등이 있다.
작업증명 시스템 자체는 나름 합리적이지만 이 시스템은 사람들에게 비난을 많이 받았다. 바로 에너지 소비량 때문이다. "n개의 "0"으로 시작하는 해시값을 찾아라"라는 문제를 내는 암호화폐 시스템이라면, 암호화폐가 시중에 너무 많아지면 n을 늘려서 암호화폐 신규 채굴을 줄일 것이다. ( 난이도가 어려워지니까 신규 채굴이 줄어든다. ) 그러다가 n이 무한정 늘어나면, 컴퓨터의 반복작업도 무한정 많아질 것이다. 시중에 암호화폐가 풀릴수록 암호화폐의 n은 커지고 ,채굴하는 컴퓨터의 전기 소모량은 무한정 늘어나는 구조인 것이다.
지분증명(POS)
작업증명이 직면하는 에너지 소비 문제에 대한 대안으로 나온 것이 지분증명(Proof Of Stake)이다. 지분증명이라고 해서 특별히 새로운 것은 아니고, 작업증명의 변형이라고 이해하면 된다. 기존의 작업증명을 사용하는 암호화폐는 누구나 채굴을 할 수 있었다면, 지분증명을 사용하는 암호화폐는 채굴 이전 단계에 채굴자가 일정한 양의 암호화폐를 예치하여 지분을 증명하는 단계를 추가했다. 채굴을 위해 예치한 암호화폐 보증금을 보통 스테이크(STAKE)라고 한다.( 그래서 Proof Of Stake ) 스테이크(STAKE)가 있는 사용자 중에서 랜덤하게 채굴자가 선택되고, 그 채굴자가 "n개의 "0"으로 시작하는 해시값을 찾아라"와 같은 문제를 풀고 보상을 얻게 된다.
지분증명 방식을 도입함에 따라 암호화폐는 채굴난이도 조절 외에 다른 방식으로 통화량을 조절할 수 있게 되었다. 스테이크(STAKE)가 있는 사용자 중 채굴자를 선택하는 과정에서 "선택하는 채굴자의 수를 줄인다"든가 "선택과 선택 사이의 시간 간격을 늘린다"든가 할 수 있는 것이다. 이런 지분증명으로 운영되는 대표적인 코인은 이더리움 2.0, 에이다, 폴카닷 등이다.