지난 시간에는 블록 생성 시간 및 난이도에 대한 개념정리를 하였습니다. 지난 포스팅의 내용을 요약하면 아래와 같습니다.
현재 포스팅을 작성하는 시점에서 채굴에 따른 보상은 12.5BTC + 거래 수수료입니다. 그리고 이것을 원화로 환산했을 경우 대략 1억 7천만원 수준입니다. (비트코인이 1,300만원을 돌파했네요~!!) 정말 엄청난 보상입니다. 어떤 뉴스에서는 10분마다 벌어지는 '로또'라고 표현을 했더군요.. 당장 포스팅을 멈추고 채굴을 시작해야할까요?
우리는 학습을 통해 채굴에 대한 이론을 학습하였습니다. 그리고 그 이론을 바탕으로 채굴이 얼마나 어려운지 가늠해보겠습니다. 비트코인을 기준으로 블록은 평균적으로 10분에 한번씩 생성될 수 있도록 설계되었습니다. 즉 보상을 받기 위해서는 수학 문제를 10분 이내에 풀어야만 합니다, 또한 스테일 블록일 발생되지 않도록 최대한 문제를 빨리 풀어야하죠. 그리고 빠르게 수학문제를 풀기 위해서는 아래의 조건이 필요합니다.
난이도는 모든 비트코인 네트워크에 연결된 채굴자(마이너)들의 연산력을 고려하여 평균적으로 블록이 10분에 한번씩 생성될 수 있도록 설정되어있을겁니다. 그래야지만 확률적으로나 통계적으로 블록생성 평균시간이 유지될 수 있으니간요! 그리고 더욱더 연산력이 좋은 채굴기가 등장할때마다 이 블록을 풀어낼 확률은 제로에 가까워질겁니다. 결론은 혼자서 채굴은 거의불가능합니다. (물론 임이의 값을 일정하게 증가 시키지 않고 막 랜덤하게 아무나 걸려라하고 문제를 풀었는데 재수가 좋아서 얻어걸릴 수 있겠지만 이 확률도 몇십만분의 1이기 때문에 불가능합니다..)
그렇다면.. 이렇게 생각해보면 어떨까요? 혼자서는 수학문제를 푸는데 오랜시간이 걸리니 '품앗이'하는겁니다. 예를들어서 '개똥'이는 1 ~ 100,000까지 '소똥'이는 100,001 ~ 200,000까지 '말똥이는 200,001 ~ 300,000까지의 임이의 숫자를 동시에 풀어내는겁니다. (혼자서 100,000번까지 숫자를 풀 시간동안 세명이서 같이 문제를 푼다면 300,000번의 수학문제를 풀 수 있으니간요!)
만약 '말똥'이가 문제를 풀어낸다면 '말똥'이가 받은 비트코인 보상을 '소똥'이와 '개똥'이에게 공평하게 나눠주는겁니다. 이렇게 서로 블록의 임이의값을 나눠서 풀 수 있다면 혼자서 푸는 '나혼자'씨보다 블록을 매번 빨리 찾게될 수 있을테니간요! 그렇습니다. 이게 바로 마이닝풀의 기본 개념입니다.
분명히 셋이서 똑같이 나눠서 문제를 풀기로 약속했습니다. 그리고 보상도 나눠갖기로했죠 하지만 '소똥'이는 '개똥'이와 '말똥'이 보다 문제를 빨리 풀었습니다. 다른 사람이 먼저 문제를 풀어 보상을 가져갈 수 있기때문에 기다릴 여유가 없던 '소똥'이는 결국 '개똥'이와 '말똥'이의 문제풀이를 도와줬습니다. 그리고 보상을 받게되었습니다. '소똥'이는 매번 먼저 문제를 풀고 '개똥'이와 '말똥'이의 문제를 도와줬지만 똑같이 보상을 나누어야한다면 문제가 있지 않을까요?
위의 품앗이 챕터에서 이야기 했듯이 수학문제를 풀어내는 능력은 누구나 다를 수 있습니다. 어떤 사람은 전용 채굴기를 통해서 수학문제를 풀 수 있고, 또 어떤 사람은 일반 가정용 컴퓨터를 이용하여 수학문제를 풀 수 있습니다.당연한 이야기지만 문제풀이를 많이 한사람이 문제를 맞출 확률이 높습니다. 그렇기 때문에 1초에 몇 문제를 풀 수 있는지에 따라서 보상을 나누어 주어야 공평한 분배가 될 수 있습니다.이때 문제를 푸는 능력 즉 계산 속도를 지칭하는 용어가 바로 '해시파워'입니다. 1초에 1문제를 풀 수 있을 경우 1 H/S라고 표기하며, '해시파워'의 단위는 아래와 같습니다.
1KH/s = 1,000 Hashes Per Second
1MH/s = 1,000,000 Hashes Per Second
1GH/s = 1,000,000,000 Hashes Per Second
1TH/s = 1,000,000,000,000 Hashes Per Second
이번 포스팅에서는 개념에 대한 정리를 하기 위한 목적이기 때문에 마이닝풀에 참여하는 방법 및 마이닝풀에서 채굴이 실제 어떻게 이루어지는지에 대해서는 생략하겠습니다. 마이닝풀에 대한 개념정리는 '품앗이'를 통하여 어느정도 이해하셨을거라고 믿습니다! 혹시나 마이닝풀에 참여하고 싶으신분은 아래의 사이트에 접속하여 마이닝풀에 대한 정보를 확인할 수 있습니다!(유명 마이닝풀 사이트를 모아둔 곳입니다.)
(https://investoon.com/mining_pools/)
추가적으로 해시율 분포 즉 주요 채굴 풀에서 채굴한 분포도를 나타낼 수 있는 정보가 있었습니다. 궁금하신분은 들어가서 살펴보시면 좋겠습니다! (https://blockchain.info/ko/pools)
오늘 학습한 내용을 최종적으로 정리해보겠습니다.
[참고사이트]
http://cointalk.co.kr/bbs/board.php?bo_table=mining&wr_id=46
http://www.mobiinside.com/kr/2017/03/20/blockchain_1-2/
https://www.slideshare.net/ssuser1cbe1b/ss-81793303
http://contents.newsjel.ly/issue/bitcoin/