[Blockchan A-Z] 채굴 작동 방식: 암호화 퍼즐

bolee·2022년 7월 15일
0

Blockchan A-Z

목록 보기
6/33

MODULE 1 - BLOCKCHAIN INTUITION
05. HOW MINING WORKS: THE NONCE (PART 2)

여기에서는 논스(Nonce)와 채굴의 관계 및 채굴 방법에 대해 다룰 것이다.

해시(Hash) 와 해시풀(Hash Pool)

18D5A1AEDCBF543BC630130BEF99CFAD55D1B7413EF05B9AF927432FDE808C68

해시는 숫자이다. SHA256 해시의 예시는 위와 같다.
총 64자로 이루어져 있어 256비트가 될 것이다.
그리고 이것은 사실상 16진수 숫자로, 0부터 9 그리고 A, B, C, D, E, F가 포함된다.

18D5A1AEDCBF543BC630130BEF99CFAD55D1B7413EF05B9AF927432FDE808C68
	= 11232962686236154915841062771303455665105266333445130312258268457057784990824

그리고 이 16진수 숫자를 일반 10진수로 바꿀 수도 있는데 그러면 위와 같은 결과가 나오게 된다.

<그림 2>

이런 식으로 여러 해시가 존재하게 되는데, 이제 해시를 직접 나타낼 수 있다.
즉, 해시가 숫자이기 때문에 연속적인 순서를 알 수 있고 직접 그려 볼 수 있다.

일부는 작고 일부는 클 테니 해시풀을 그려 위 그림 처럼 나타낼 것이다.
이를 가능한 모든 해시의 풀이라고 할 것이고, 아래에는 최솟값 위에는 최댓값을 놓고 이 해시값으로 가능한 모든 값을 써 볼 것이다.
즉, 제일 작은 0000부터 시작해서 최댓값인 자릿수가 FFFFFFFF인 수까지 일 것이다.

이런 해시 풀에서 각각의 해시를 표시하면 다음과 같다.

<그림 3>

이렇게 하면 좀 더 채굴이 무엇인지에 대해 알아볼 수 있는 상황이 된다.

채굴이란?

채굴 방법은 기본적으로 블록체인 시스템이나 알고리즘이 대상을 설정하는 것이다.
즉, 채굴자들이 특정한 해시를 달성하도록 설정한 대상이 있는 것이다.

<그림 4>

그림 처럼 대상을 설정해 보면, 대상보다 값이 큰 해시는 고려 대상이 아닌 것이다.
즉, 블록에 대해 찾은 해시가 대상보다 더 클 때에는 해당 블록체인에 대해 충분하지 않다고 보는 것이다.

블록체인에 포함될 수 있으려면 해시값이 대상보다 작아야 한다.
해당하는 해시값 이내일 때 해당 인원은 블록을 생성할 수 있는 해시를 발견했기 때문에 곧 채굴자가 되는 것이다.

<그림 5>

이제 전체 채굴 과정에 대해 이야기하자면,
여기 나와 있는 블록에는 논스 값과 데이터, 이전 해시가 들어 있는데 대부분의 필드를 수정할 수 없다.
즉, 이 블록 전체에 대해 바꿀 수 있는 값은 논스 하나뿐이다. 그리고 이 논스만으로 현재 블록의 해시를 변화시킬 수 있다.

따라서 계속해서 다른 논스를 변경해서 대상 아래에 포함될 수 있는 해시를 지속적으로 찾는 것이다.
이런 대상 아래에 포함할 수 있는 해시를 생성할 수 있는 논스를 채굴자들 사이에서는 흔히 골든 논스라고 부른다.

대상에 대한 해시를 생성하여 찾았다면 이제 블록체인에 블록을 추가할 수 있게 되고 보상을 받는 것이다.
하지만 중요한 것은 해시가 대상 아래에 있을 때만 이 시점에서 블록체인이 해당 블록을 수용한다는 것이다.

0개의 댓글