채굴자 네트워크에서 채굴자들은 암호화 퍼즐을 풀기 위해 경쟁하게되고 언젠가는 보상을 받을 수 있습니다.
그러나 규모가 크가 채굴기를 갖춘 광산도 참여하게 된다면 개인이 골든 논스를 찾을 확률은 거의 없다고 볼 수 있어 불공평한 경쟁이될 것입니다.
이러한 산업 수준 광산이 참여하게 될 때 혹은 그 즘에 마이닝 풀이 고안되었습니다.
마이닝 풀에 속한 채굴자들은 해싱 파워를 한데 모으게됩니다. 처리 능력을 마이닝 풀에 하나로 모아서 전체적으로 더 큰 힘을 갖게되는 것입니다. 비슷한 예로 '계'를 생각해 볼 수 있습니다.
마이닝 풀은 이중 작업을 하지 않도록 적절히 분배하는 서비스를 제공합니다. 채굴자들이 동일한 논스의 동일한 블록 구성을 해결하는 이중 작업을 막아주게 됩니다.
이 서비스는 채굴자들 사이에 암호화 퍼즐은 분배하는데, 간단하게 보자면 논스 값을 분배해서 충분한 논스 값을 배분해줍니다. 이 후 누군가 골드 논스를 찾으면 해당 마이닝 풀이 블록을 보상으로 해싱 파워만큰 나눠 갖게 됩니다.
해싱 파워 기여도는 해시율과 함께 풀에 얼마나 많은 연산력을 제공했는지에 따라 달라집니다. 혼자서 채굴을 했을 때 보다 보상을 받는 양은 적어지지만 꾸준한 수입을 얻을 기회를 제공받을 수 있습니다.
블록체인홈페이지에서 마이닝 풀 간에 암호 퍼즐을 해결할 수 있는 능력이 어떻게 분배되어 있는지 확인해 볼 수 있습니다.
어느 풀에 있든 보상은 다른 사람에 대한 각자의 해시율에 따라 받게됩니다. 이에 따른 수수료 등을 확인해 균형에 맞는 선택을 하면 됩니다.
웹사이트를 살펴보고 원하는 소프트웨어를 다운로드해서 채굴을 시작하면 됩니다.
논스는 블록 안의 필드이며 채굴자가 암호화 퍼즐에 참여하도록 합니다. 채굴자는 논스 외에는 아무 것도 변경할 수 있고 논스를 변경해서 해시를 변경하여 특정 대상의 해시를 얻게 됩니다. 이 때, 체인에 블록을 추가하게 되어 보상을 받게 되는 것 입니다.
또한 논스는 무한하지 않습니다. 논스는 32비트숫자이며 각 블록에는 32비트 메모리만 할당됐다는 뜻입니다. 즉, 논스는 범위를 가진 부호가 없는 정수로 양수 값만 가지게 됩니다. 계속해서 증가할 수 없으며 0에서 로 약 40억 까지의 상한이 있습니다.
여기서 찾으려는 채굴 난이도와 논스 사이의 상관 관계는 논스가 100% 확실하게 해시나 퍼즐에 부차별 대입하기에 충분한지 알아야 합니다.
논스의 법위만큼 서로 다른 해시를 생성할 수 있다고 최상의 상황으로 가정하고
이 중 하나가 유효할 확률은 논스 범위에 채굴 난이도를 곱한 값으로 0.000000000001%의 확률을 가지게 됩니다.
결론은 하나의 논스 범위는 충분하지 않고, 전체 논스를 모두 거친다고 해도 골드 논스를 찾을 가능성이 낮습니다.
논스에는 타임스탬프 필드가 있습니다. 유닉스 타임을 사용하며 블록이 채굴된 때의 타임스탬프이며 매 초마다 기록됩니다. 현재 유닉스 타임은 1970년 1월 1일 부터 지금까지 경과한 초를 확인할 수 있습니다. 컴퓨터나 프로그래밍에 보편적으로 쓰입니다.
이러한 유닉스 타임스탬프는 필드는 블록이 채굴되기 전 1초마다 업데이트되기 때문에 해싱 함수의 쇄도 효과로 블록의 정보도 1초마다 업데이트 됩니다. 모든 논스를 다시 유효하게 만들어주기 때문에 해시를 얻을 수 있는 타임스탬프와 논스의 무한한 수의 조합을 얻을 수 있습니다.
Hash Rate를 보면 전체 네트워크의 해시율은 초당 약 2억 조의 해시는 한꺼번에 처리하지 않고 대부분 경쟁합니다.
마이닝 풀의 경우 1초가 되기도 전에 시간이 흐르자마자 바로 논스를 거칠 것입니다. 0부터 40억의 논스를 빠르게 거치기 때문에 아무것도 안하고 업데이트 될 때까지 1초를 기다리는 것은 능력낭비입니다.
이러한 문제를 채굴자가 트랜잭션을 선택하는 방법을 통해 해결하게 됩니다.