시작에 앞서 작성자는 전문가가 아니기에 아주 깊은 내용까진 담지 못합니다.
또한 잘못된 내용이 있을 수 있으니 다른 정보들도 찾아보시길 권유드립니다.
1.채굴 방식
1편에서 채굴에 관하여 간단히 설명하였다.
채굴이란 블럭을 생성하고 그 안에 거래 내역을 집어 넣은 것으로 이해하면 될 듯 싶다.
(다만, 거래 내역이 없더라도 블럭은 생성될 수 있다.)
채굴의 방식은 종류가 다양하며, 현재도 계속해서 새로운 방법이 나오고 있다.
가장 대표적인 방식은 Proof of Work(PoW)와 Proof of Stake(PoS) 두 종류이다.
이 외에도 DPoS, PoI 등이 있다는데...
여러 내용을 찾아보고 교육도 받아봤으나, 프로그래밍도 모르고 암호학 쪽도 몰라 이해가 어렵다.
때문에 정말 겉핥기 수준으로만 설명이 될 듯 하다.
- PoW
PoW는 비트코인과 이더리움이 채택한 방식이며, 현재 많은 블록체인들이 이 방식을 이용중이다.
SHA256이라는 암호화 방식을 이용하며, 암호에 대한 답을 찾음으로써 블럭이 생성된다.
문제의 난이도는 상황에 따라 조금씩 바뀌게 되는데
비트코인의 경우 블럭의 생성 주기를 10분이 되도록 난이도를 설정해 두었다.
그림1. 블럭 생성 주기와 난이도 (비트코인)
그림1을 보면 0번 블럭에서 1번블럭이 생성될 때 10분이 걸렸다.
이 경우 난이도는 현재 수준을 유지하는 정도이며, 별다른 *해시파워의 변화가 없다면 역시 다음 2번 블럭이 생성될 때까지 약 10분정도가 소요될 것이다.
(*해시파워란 문제를 풀 수 있는 능력치라고 보면 된다. 높으면 높을수록 문제를 풀어낼 확률이 높다.)
그럼 이제 3번 블럭이 생성될 때를 보자.
예시로 채굴 장비가 좋아졌거나 채굴의 참여자들이 늘어 전체 해시파워가 올라간다면, 그만큼 블럭의 생성도 빠르게 될 것이다.
만약 3번블럭이 4분만에 생성이 되었을 경우 다음 4번 블럭때 문제의 난이도는 블럭 생성 주기가 10분이 될 정도로 올라가게 된다.
반대로 채굴 참여자가 줄었거나 특정 상황에 의해 3번 블럭 생성이 20분이 걸렸을 경우 4번 블럭의 생성 난이도는 10분이 될 정도로 낮아지게 된다.
물론 운이 좋게도 100개의 열쇠 중 첫번째로 집은게 문을 딸 수도 있다(블럭 생성).
그럼 당연히 다음 난이도는 열쇠가 200개가 되든 올라갈 것이다.
하지만 이럴 경우 다음 블럭의 생성은 10분보다 더욱 길어질 것이고,
자연스럽게 난이도는 다시 하락하게 된다.
즉, 통계적으로 무수히 진행될수록 10분에 점점 수렴하도록 난이도는 설정된다.
다만 이는 절대적이지 않다.
https://www.blockchain.com/ko/explorer
위 사이트는 비트코인의 블럭을 확인하는 사이트이다.
글을 작성할 때의 기준으로 보면
이와 같은 533058블럭과 533059블럭의 생성 시간은 1분도 차이가 안나보인다.
그런데 533059블럭과 533060블럭의 생성 시간 차이는 8분정도이다.
533058블럭과 533059블럭의 경우가 앞서 예시를 든 것처럼 첫 열쇠로 문을 열었다 볼 수 있다.
그렇다고 해서 다음 블럭이 또 10분이 넘어가지도 않는다.
즉, 약 10분이 되게끔 난이도와 난이도 조절을 설정한 것이지 절대적이지 않다.
운좋게 좋은 예시가 찍혀서 사족으로 몇마디 붙이자면,
533059 블럭의 경우 거래내역이 1개밖에 없다.
이 경우가 바로 거래내역을 하나도 새겨넣지 않고 블록 생성만 진행된 경우이다.
그렇담 개래1은 무엇이냐??
바로 채굴(블럭 생성)에 대한 보수로 채굴자에게 비트코인을 준 것이다.
즉 533058번의 경우엔 실제 거래는 394개이고 1개는 채굴자에게 보상을 준 것.
실제로 위 사이트에서 533059를 치고 거래내역을 보면 아래와 같다.
12.5BTC가 현재 블럭 생성에 대한 보상 갯수이며, 이 외에 거래는 없는 것을 확인할 수 있다.
- PoW 문제점
이 PoW 방식에는 몇가지 문제점이 있다.
PoW 방식은 답을 찾아낸 사람만 블럭생성 보상과 수수료를 챙긴다.
왜 이것이 문제가 되는가 하면..
비트코인이 가치가 있다고 인정 받으면 받을수록 자연스럽게 채굴 참여자가 많아지고, 채굴 장비를 업그레이드 시킬 것이다.
그럼 자연스럽게 난이도는 상승할 것이고, 그 많은 채굴자들이 전기를 써가며 채굴을 해야한다.
그런데 블록 생성을 성공한 한명 빼고 나머지는 전기만 쓰고 답은 계속 못찾아낸다면??
혹은 찾아내더라도 전기값이 더 나온다면??
선택은 두가지이다. 채굴을 포기하거나 장비를 추가 및 업그레이드.
후자일 경우 전체 해시파워가 또 상승하고 난이도는 더 올라가고 누군가는 또 채굴에서 뒤쳐지고..
무한 반복이다.
결과적으로 이로인한 에너지 낭비(전기)가 어마어마하다.
그런데 그 엄청난 전기를 소모해서 보상을 얻는 사람은 한 사람뿐이다.
실제로 현재 비트코인 채굴에 소비되는 전기량은 특정 나라에서 년간 소비되는 양보다도 많다고 한다.
두번째로는 중앙화.
블록체인과 비트코인의 탄생 목적중 하나는 탈중앙화이다.
하지만 현재 채굴은 특정 그룹들에 의해 중앙화 되어있다.
(물론 발행된 비트코인도 특정 지갑들이 대부분 갖고 있는 독점 상태이다.)
왜 중앙화가 문제가 될까?
현재 채굴은 마이닝풀허브와 같이 채굴풀에서 하는 경우가 많은데
상위 2~3개의 풀을 합치면 50%가 그냥 넘는다.
비트코인은 채굴에 참여한 사람들의 51%가 문제가 없다고 판단하면 새롭게 생성된 블럭을 인정해준다.
그렇담 51%가 넘는 사람들이 짜고 장부(블럭)를 조작한다면?
남은 49%의 장부는 거짓이 되버린다.
혼돈 파괴 망..만 남는 상황이 초래될 것이다.
세번째로는 지속적인 채굴자가 필요하다는 것.
1편에서도 말했듯이 채굴자가 없다면 그 블록체인은 저세상 블록체인이다.
사실 이것은 PoW 뿐만이 아닌 어느 블록체인이나 마찬가지이긴하다.
거래를 해도 인정해줄 사람이 없으면 그 화폐는 더이상 화폐로써의 역할을 할 수 없지 않은가..
또한 첫번째 문제와는 좀 아이러니한 상황이지만 전체 해시파워가 높을수록 안전하다고 볼 수 있다.
전체 해시파워가 100인 블록체인을 위변조하려는 것과 1인 것을 위변조하려고 하는것...
후자가 당연히 훠어얼씬 쉬울 것이다.
특히 더 문제가 되는 것은 비트코인처럼 발행량이 이미 정해져 있을 경우이다.
지금은 블록을 생성하면 보상으로 비트코인이 나오지만,
발행이 끝났을 경우 블록을 생성해도 생성에 대한 보상은 없다.
그럼 남은건 수수료에 대한 보상 뿐인데, 수수료가 적다면 당연히 채굴자들은 채굴 메리트를 잃는다.
즉, 채굴을 안하게 될 것이고 이를 막기위해 수수료는 비싸질 수밖에 없다.
채굴자가 없다면 비트코인도 저세상에 가버리니까...
물론 먼 미래의 이야기이고, 그 전에 해결은 되겠지만 우선은 문제점 중 하나이다.
- PoS
PoS 방식은 해당 블록체인에 대한 코인의 보유량과 관련하여 채굴이 진행된다.
쉽게 말하면 이자와 같은 개념이랄까.
블록이 생성되면 지분율(n%)에 따라 코인을 받게 되는 형식인데, 이더리움이 이 방식으로 넘어갈 준비를 하고 있다(물론 현 채굴자들의 반발이 거세다).
PoW에 비하여 에너지 낭비가 훨씬 적다고하고, 채굴을 위해 코인 홀더들이 많아지는 만큼 가격 하락을 막을 수 있다.
다만 이 역시 문제점은 %가 높은 사람이 많은 수의 코인을 갖고가게 되고, 거기에 더해 악순환으로 무한 반복이 될 것이다(물론 스트라티스 처럼 개수에 조건부를 걸어둘 순 있겠지만 기술자가 아니기에 잘 모르겠다).
또 다른 문제점으론, PoW에 비해 아직 검증 기간이 부족하다는 것.
즉 앞으로 다른 문제점들이 나올수도 있다.
하지만 이 역시 시간이 지나면 해결될 것으로 보이며, 개인적으론 PoW보다 긍정적으로 보이는 채굴 방식이다.
상대적으로 PoS에 대해서는 글이 짧은 감이 있으나....
아직은 채굴 시스템에 관하여 완전히 이해를 하는 단계가 아니라 더 이상은 못쓰겠다.
팩트를 전달하는 것이 더 중요하니까.
고로 이정도로 마무리를 짓고
다음엔 블록체인의 장점과 현재의 문제점, 비트코인에 관해서 하나씩 적어봐야 겠다.