가상자산 마이닝이란 무엇인가요?
가상자산 마이닝은 무엇이며 어떠한 과정을 통해 진행되는 걸까요? 또, 마이닝 풀의 의미와 목적은 무엇인지 알아보겠습니다.
가상자산 마이닝은 가상자산이 제 3의 중앙 권위없이 탈중앙화된 개인 대 개인 네트워크로 기능할 수 있게 합니다. 가상자산 마이닝은 유저들 간 트랜잭션을 검증하고 이를 공개적인 블록체인 원장에 추가하며, 새로운 코인을 기존의 공급 물량에 추가하는 과정입니다.
어떻게 작동하나요?
마이너는 네트워크에서 트랜잭션을 수집하고 이를 정렬해 블록체 추가하는 노드입니다. 트랜잭션이 발생할 때마다 마이너 노드는 이를 수신하고 검증하여 메모리 풀(pool)에 추가합니다. 이후 다수의 트랜잭션들의 하나의 블록으로 조합합니다.
블록을 마이닝 하는 첫 단계는 메모리 풀의 트랜잭션들을 해시(hash)화 하는 것입니다.
마이닝을 시작하기 전, 마이너 노드는 마이닝 보상을 받을 곳에 트랜잭션을 추가합니다. 이 트랜잭션을 “코인 베이스(Coinbase)” 트랜잭션이라 하는데, 이곳에서 새롭게 코인이 생성되며, 대부분의 경우 새로운 블록의 첫 트랜잭션이 됩니다.
각 트랜잭션들이 해시화 된 다음 해시들은 머클 트리(Merkle Tree) 혹은 해시 트리(hash tree)라 불리는 것으로 정렬됩니다. 이는 해시들이 쌍으로 구성되며, 루트 해시(Root hash) 혹은 머클 루트(Merkle root)라고도 불리는 트리의 꼭대기에 도달할 때 까지 해시화 됩니다.
루트 해시와 이전 블록, 그리고 논스라 불리는 임의의 숫자가 블록 헤더(header)에 배치됩니다. 이후 블록 헤더는 블록 식별값이 되는 결과로 해시화 됩니다.
블록 식별값은 프로토콜에 의해 정해진 특정 값보다 반드시 작아야 합니다. 다른 말로 하자면, 블록 헤더의 해시는 특정 개수의 0으로 시작해야 합니다. 해시 난이도라고도 하는 이 값은 새로운 블록이 형성되는 비율과 네트워크의 해시 파워가 비례하도록 조절합니다.
마이너들은 논스를 통해 네트워크의 특정 마이너가 최종적으로 유효한 해시를 생성할 때 까지 반복적으로 헤더를 해시화 합니다. 유효한 해시가 발견되면, 이를 발견한 노드는 네트워크에 블록을 전송하게 됩니다. 이후 다른 노드들은 해시가 유효한지 확인하며, 블록을 자신들의 블록체인 사본에 추가한 뒤, 다음 블록 마이닝을 시작합니다.
그러나 가끔 두 마이너가 유효한 블록을 동시에 전송할 수도 있으며, 네트워크에는 두 경쟁적인 블록이 남을 수 있습니다. 마이너들은 그들이 먼저 수신한 블록을 바탕으로 다음 블록을 마이닝 합니다. 두 블록의 경쟁은 경쟁하는 블록에 기반한 다음 블록 마이닝이 완료될 때 까지 계속 됩니다. 버려진 블록은 고아 블록(orphan block) 혹은 오래된 블록(stable block )이라 불립니다. 이러한 블록을 마이닝한 마이너는 다시 승자 블록의 체인으로 돌아가 마이닝하게 됩니다.
마이닝 풀(Mining pools)
블록 보상은 유효한 해시를 처음으로 찾는 이에게 주어지지만, 해시를 찾을 확률은 네트워크 상의 마이닝 파워에 비례합니다. 작은 마이닝 파워를 가진 이들은 혼자만의 힘으로 다음 블록을 발견할 확률이 낮습니다. 마이닝 풀은 이러한 문제를 해결하기 위해 만들어졌습니다. 마이닝 풀이란 마이너들이 자신의 해시 파워를 공유하는 것을 의미하며, 블록을 찾을 확률에 기여한 정도에 따라 풀 안의 모두가 공평하게 보상을 나눠갖게 됩니다.
면책 조항:본 게시물은 단순한 정보 제공과 교육을 위해 작성된 문서이며, 특정 가상자산에 대한 추천을 하는 것이 아닙니다. 해당 내용을 바탕으로 투자 결정을 하지 마십시오. 본지는 어떠한 투자적, 법률적 책임 등을 지지 않습니다.