블럭체인은 정보가 오가는 내역을 중앙서버 한 군데서 처리하는게 아니라
분산되어 있는 여러 작은 서버에 의해서 교차검증하고
그 검증된 내역을 블럭처럼 쌓아올려서 밑에 있는 블럭을 건드릴 수 없게 만든 구조입니다
아래에 있는 블럭을 건드릴 수 없으니 해킹에서 안전하다는 거고 탈중앙화라고 하는건데
이해를 돕기 위해 간단한 예를 하나 들어보도록 하겠습니다
다들 블럭체인은 몰라도 웹하드와 토렌트는 알테니 웹하드와 토렌트에 비유해보겠습니다
토렌트는 기존의 데이터를 건드릴 수 없는 것은 아니지만 '탈중앙화' 라는 측면에서 블럭체인과 비슷합니다
웹하드는 큰 중앙 서버에 파일들을 올려놓고 개별 유저들이 그 서버에 요청해서 파일을 다운 받는 건데
따라서 중앙 서버에 문제가 생긴다면 파일을 내려받을 수 없게 됩니다
하지만 토렌트는 그런 중앙 서버가 없습니다
먼저 파일을 가지고 있는 사람이 시드를 유지해주면 다른 원하는 사람이 있을 때
이쪽 유저가 저쪽 유저한테 파일을 전송할 수 있게 장치해놓은 게 전부입니다
반대로 말하면 시드를 유지해주는 사람이 없으면 파일을 못 받는거죠
각각의 시드 전부가 분산되어있는 작은 하나의 서버들이라고 생각하시면 됩니다
비용과 노력을 들여서 중앙 서버를 유지하고 관리할 필요가 없습니다
그런데 만약 시드를 유지해주는 대신 돈을 준다고 한다면 사람들이 어떻게 할까요?
그럼 마음먹고 제대로 시드를 24시간 유지해서 돈 벌어야 하지 않을까요? 컴퓨터만 켜놔도 돈을 준다는데..
거기서 시작한 건 아니긴 하지만
그런 비슷한 아이디어로부터 시작한 것이 비트코인의 채굴 시스템입니다
토렌트에서 시드를 유지하는 것처럼
블럭체인 네트워크를 유지하면서 블럭을 쌓는 작은 서버들을 운영하는건데
그걸 공짜로 해줄 사람은 아무도 없을겁니다 그러니 보상으로 코인을 지급하는거고
코인은 역으로 그 네트워크의 구조로 인해 복사, 조작이 불가능하니 가치를 보존받는 거고
그런 선순환 구조를 갖게 된거죠
근데 그 중 누구한테 얼마만큼 블럭을 쌓을 권한을 주고 보상을 쥐어주어야 할까요?
중앙 서버에서는 중앙이 모든 정보와 권한을 통제하지만 블럭체인은 각각의 유저들이
모두 하나의 작은 서버가 되어 블럭을 쌓아올리는 것이고, 이미 블럭이 쌓이고 나면
기존의 블럭에는 손을 댈 수 없으니 아무나한테 되는대로 블럭을 막 쌓게 하면 문제가 생길 수도 있겠죠?
그리고 블럭을 쌓아올리는데 기여한 만큼 각자가 불만이 없도록
보상을 합리적으로 분배하기 위해선 원칙도 필요하겠죠??
그렇게 해서 최초에 나온 그 규칙이 PoW(Proof of Work) 라는 것입니다
PoW란 여러 채굴자가 동시에 같은 문제를 풀게 하고, 그 중 답을 제일 먼저 맞춘 채굴자에게 블럭 생성 권한을 주는 겁니다
보통 '채굴장'이라고 하면 떠올리는 이미지가 바로 이 PoW방식의 채굴장들입니다
대표적으로는 비트코인이나 이더리움, 이더리움 클래식 등이 PoW 채굴방식을 채택한 코인들입니다
비트코인 채굴을 위해서는 문제를 푸는 기계, 즉 채굴기를 돌려야 하며,
각자가 가지고 있는 계산능력(해쉬파워)에 비례하여 문제를 풀 수 있는 확률도 증가하게 됩니다
만약 전체 네트워크의 해쉬파워가 1,000테라해쉬라면
100테라해쉬를 가지고 있는 채굴자는 10%의 확률로 문제를 풀 수 있는 겁니다
하지만 PoW는 막대한 에너지 소비를 수반한다는 단점이 있습니다
어마어마한 전기세를 감당해야 하고 채굴기에서 발생하는 엄청난 열기 때문에 바람이 잘 드는 넓은 공간도 필요하죠
그래서 비트코인 채굴은 거의 전기세와 땅값이 저렴한 개발도상국에서 하게 됩니다
처음에는 개인 채굴자들이 조금씩 비트코인을 채굴했지만 점점 채굴자들이 늘어나고 해쉬파워가 커지면서
개인 채굴자가 채굴하기에는 문제의 난이도가 너무나도 높아져버렸습니다
그래서 중국에서 공장형의 대형 마이닝 풀이 등장하기 시작했고
압도적인 해쉬파워로 비트코인 채굴의 많은 지분을 가져가버렸죠
이런 중국의 대형 마이닝 풀들은 블럭체인의 애초의 취지였던 탈중앙화의 의미를 퇴색시켰습니다
비트코인과 비트코인 캐시가 채굴자들의 해쉬파워 장난질에
얼마나 가격이 요동쳤는지를 생각해보시면 될 것 같습니다
이러한 단점 때문에 PoW를 대체하기 위한 여러 실험적인 채굴방식들이 여럿 나왔는데
그 중의 하나가 PoS (Proof of Stake) 방식입니다
대표적인 PoS 방식의 코인들로는 퀀텀, 네오, 스트라티스 등이 있습니다
PoS는 기본적으로 개인이 가지고 있는 지분에 기반하여 채굴을 하게 되는데,
말하자면 어느 코인을 계속해서 가지고 있으면 보유량에 비례해서 코인을 더 주는 겁니다
은행에 돈을 맡겨두면 이자를 주는 것과 비슷한 원리라고 할 수 있습니다
PoS방식은 PoW 방식보다 에너지 효율적이라는 장점이 있습니다
계산능력을 확보하기 위해서 수십대의 컴퓨터를 설치하고 그래픽카드를 돌릴 필요가 없이
그냥 내가 코인을 얼마나 많이 가지고 있는지만 증명하면 되니
집에 안 쓰는 태블릿PC가 있다면 이것으로도 충분히 채굴이 가능합니다
하지만 PoS는 블럭체인을 최종 확정하기까지 여러 확인절차를 거쳐야 하며,
이는 거래가 완료되기까지 오랜 시간이 필요하다는 단점으로 연결됩니다
이러한 단점들을 보완하기 위해서 DPoS라는 반중앙화된 방식이 새로 시도되었습니다
DPoS는 이름에서도 알 수 있듯이 PoS 방식을 기반으로 하나, 한 가지 차이점이라면
모든 개인이 채굴을 하지 않고 선출된 Delegate(대표자)들 만이 블럭생성을 할 수 있다는 점입니다
블럭생성은 대표자들이 순번을 정해 돌아가면서 하게 되는데
순번을 정해두고 하니 PoW처럼 누가 문제를 먼저 푸나 경쟁하며 의미없이 자원소모를 할 필요도 없고
일부 대표자들만이 블럭을 생성할 권한을 갖게 되니 PoS처럼 매 블럭 채굴시마다
모든 개개인의 작은 서버들마다 블럭데이터를 동기화해야 하는 번거로움도 해결했습니다
게다가 DPoS는 대표자들끼리 서로 경쟁하게 함으로써 대표들을 통해
실질적인 서비스 제공을 받을 수 있다는 장점도 있습니다
대표자가 되기 위해서 코인의 정보를 읽기 쉽게 정리하고 대중에게 홍보하며,
더 나아가서는 실질적으로 코인의 기능 개선을 위한 개발을 직접 해내기도 합니다
그럼 투자자들은 이런 사람들 중 자신의 마음에 드는 혹은 가장 능력있는 개발자들에게 투표를 해서
그들에게 블럭을 채굴할 권한을 부여해주는 것이죠
DPoS코인 중에서 아크 라는 코인은 이런 식으로 각 사용자들이 직접 홍보와 개발에 참여하게 함으로써
마케팅비용을 줄이고 개발속도를 올리려는 전략을 사용하고 있기도 합니다
간단하게 블럭체인의 기본 개념과 채굴방식의 특징에 대해서 알아보았습니다
더 알고싶으신 개념이나 용어에 대한 정의가 있다면 댓글에 적어주세요
시간 나는대로 하나씩 천천히 정리해보겠습니다
RISE 갤러리 : http://gall.dcinside.com/mgallery/board/lists/?id=risecoin
RISE갤러리 오픈카톡방 : https://open.kakao.com/o/g9I1KuE
일대일 카톡방 : https://open.kakao.com/o/sfJPKDA