[Blockchain A-Z] 블록체인의 이해 : 채굴 작동 방식

yebeen·2022년 8월 3일
0

Blockchain A-Z

목록 보기
7/43
post-thumbnail

채굴 작동 방식 : 암호화 퍼즐

논스와 채굴의 관계 및 채굴 방법에 대해 알아봅니다.


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

해시(Hash)란 ?

18D5A1AEDCBF543BC630130BEF99CFAD55D1B7413EF05B9AF927432FDE808C68

위는 SHA256해시 값입니다. 총 64자의 16진수 숫자로 이루어져 있어 256비트가 됩니다.

11232962686236154915841062771303455665105266333445130312258268457057784990824

해시는 위와 같이 10진수로 바꿔서 표현할 수도 있습니다. 16진수에서는 16개의 숫자를 사용하기 때문에 더 높은 값으로 인코딩할 수 있습니다.

해시풀(Hash Pool)이란 ?

해시는 숫자이기 때문에 연속적인 순서를 알 수 있고 직접 나타낼 수 있습니다. 해시풀을 그려 아래에는 최솟값을 위에는 취댓값을 놓고 해시값으로 가능한 모든 값을 써 볼 것입니다.

즉, 가장 작은 값인 0000부터 최댓값인 자릿수가 FFFF인 수까지 나타낼 수 있습니다.

해시풀에서 각각의 해시를 표현하면 다음과 같습니다.

위를 이용해 채굴이 무엇인지에 대해 알아볼 수 있는 좋은 설정입니다.


채굴이란 ?

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

그림 처럼 대상보다 값이 큰 해시는 고려 대상이 아닙니다. 블록에 대해 찾은 해시가 대상보다 더 클 때에는 해당 블록체인에 대해 충분하지 않다고 보는 것입니다.

즉, 블록체인에 포함될 수 있으려면 해시값이 대상보다 작아야 합니다.

또한 채굴은 자발적인 작업입니다. 경재적이거나 논리적 혹은 계산적, 수학적 이유가 있는 것이 아니라 단지 채굴자들이 해결해야 할 도전 과제를 생성하기 위해 수행하는 작업일 뿐입니다.

해당하는 해시값 이내일 때 해시를 발견하게 된다면 해당 인원은 채굴자가 되는 것입니다.

채굴 과정

예를 들어 아래와 같dl 논스 값과 데이터, 이전 해시가 들어있는 블록이 있다고 했을 때 대부분의 필드를 수정할 수 없습니다.

Block : #e
Nonce: 23
Data:
...
Prev.Hash : ~
Hash: ~

즉, 이 블록 전체에 대해 바꿀 수 있는 값은 논스 하나뿐입니다. 그리고 이 논스만으로 현재 블록의 해시를 변화시킬 수 있습니다.

따라서 계속해서 다른 값의 논스를 변경해서 target에 포함될 수 있는 해시값을 찾는 것입니다.
이런 target 아래에 포함할 수 있는 해시를 생성할 수 있는 논스를 채굴자들 사이에서는 흔히 골든 논스라고 부릅니다.

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



요약

  • 해싱 알고리즘을 사용하는 이유는 역설계가 불가능하기 때문입니다.
  • 어떤 해시가 나올지 예측이 불가능하여 논스를 변경하여 해시값을 예측하는 것이 불가능합니다.
  • target 아래에 있는 해시를 구하기까지 논스를 지속적으로 변경해 채굴합니다.
profile
🐣🐥

0개의 댓글