SW/블록체인

블록체인 : PoW (Proof of Work) : 개념, 특징, 예시, 원리

얇은생각 2022. 1. 5. 07:30
반응형

PoW (proof of Work)

블록체인 : PoW (Proof of Work) : 개념, 특징, 예시, 원리 1

 

비트코인 채굴 과정을 퍼즐 조각 맞추기에 비유해서 설명드린 적이 있는데요, 이러한 채굴 과정이 작업 증명 알고리즘의 일부입니다. 오른쪽 그림에서 퍼즐 조각 생성기라는 것은 해시 함수의 역할을 합니다. 입력으로 들어온 값이 해시 함수를 통과하면 일정한 길이를 갖는 임의의 값으로 출력됩니다.

비트코인에서는 블록 내에 포함되어 있는 값을 0부터 1씩 증가시키면서 해시함수에 넣습니다. 그리고 해시함수의 출력이 목표 값보다 작은 값이 나오면 채굴에 성공합니다. 해시 함수의 특성상 결과를 전혀 추론할 수 없기 때문에, 목표 값보다 작은 값을 얻는 과정은 로또에 당첨되는 것에 비유할 수 있습니다.

이렇게 nonce 값을 증가시키면서 원하는 값을 얻는 과정에는 많은 컴퓨팅 자원이 소비됩니다. 작업증명 알고리즘은 비트코인의 창시자인 사토시 나카모토 (Satoshi Nakamoto)가 비트코인에 대한 이야기를 담은 논문 Bitcoin: A Peer-to-Peer Electronic Cash System에서 처음으로 제안한 비잔틴 합의 알고리즘입니다.

실제 비트코인 블록의 헤더 속의 데이터를 보면 Difficulty와 Nonce가 설정되어 있는 것을 확인 할 수 있습니다. 이러한 작업증명 알고리즘이 무슨 소용일까 싶을 수 있습니다이러한 작업증명 알고리즘의 필요성은 네트워크의 모든 노드가 동시에 블록을 만들 수 없게 하는 것 입니다.

작업증명을 통과해야만 블록을 생성할 수 있고, 이를 위해서는 엄청난 에너지가 소모됩니다. 그리고 작업증명 알고리즘은 Difficulty 조절 알고리즘을 이용하여 약 10분당 1개의 블록이 생성된다는 것을 보장합니다.

 

 

Longest Chain Rule

블록체인 상에 존재하는 다수의 참여자들이 채굴 과정에 참여하고 있습니다. 자신의 컴퓨팅 자원을 이용해 퍼즐을 풀기 위해 각자가 노력합니다. 그렇게 되면 서로 다른 참여자가 동시에 퍼즐을 맞추게 될 수가 있습니다. 즉, 동시에 블록을 생성하게 되는 것입니다, 그렇다면 동시에 생성된 블록 중 어느 블록이 실제 메인 블록체인에 포함되도록 선택합니다.

 

블록체인 : PoW (Proof of Work) : 개념, 특징, 예시, 원리 2

 

23번까지 블록이 생성된 상태에서, 1번과 2번 참여자가 동시에 24번째 블록을 생성했다고 가정합니다. 그러면 이 블록들이 전체 네트워크 상으로 전달되기 시작합니다. 이후, 1번이 생성한 블록을 전달받은 참여자가, 다음 번 채굴을 통해 1번이 생성한 블록 뒤에 25번째 블록을 추가로 연결했다고 가정합니다.

그러면 해당 체인이 더 길어집니다. 이때 비트코인이나 대부분의 작업 증명 알고리즘을 사용하는 블록체인 플랫폼들은 가장 긴 체인을 메인체인으로 선택합니다. 결과적으로 모든 참여자들은 동일한 순서로 연결된 블록체인을 유지하게 됩니다.

 

 

Longest Chain 선택

네트워크 전송 속도 지연으로 인해 네트워크 상에 체인의 분기가 발생하여, 두 개의 체인이 존재하는 상황을 가정해봅니다. 네트워크의 노드들은 다음 블록을 생성하기 위해 A와 B 중 하나의 체인을 선택하게 됩니다.

가장 긴 체인이 네트워크에서 선택되기 때문에, 이러한 분기가 발생할 시, 더 긴 체인을 만들기 위해 경쟁하게 됩니다. 이러한 경쟁은 6개의 블록이 생성되기 전에 보통 종료되기 때문에 이를 6 confirmation이라고 부릅니다

 

블록체인 : PoW (Proof of Work) : 개념, 특징, 예시, 원리 3

 

사토시 나카모토는 확률 증명을 통해 분기된 체인과 원래의 체인이 6개 이상의 대립되는 블록을 생성할 확률이 0에 가깝다는 것을 증명했습니다. 6 confirmation은 자신이 생성한 거래는, 그 거래가 포함된 블록 이후에 5개의 블록이 더 생겨야, 해당 트랜잭션이 완전하게 거래됐다는 것을 의미합니다. 작업증명 합의 알고리즘은 일시적으로 합의가 깨질 수 있으나 확률적으로 마지막엔 하나의 블록체인을 합의하게 되는 합의의 알고리즘 입니다.

 

블록체인 : PoW (Proof of Work) : 개념, 특징, 예시, 원리 4

 

작업증명 알고리즘은 기존 합의 알고리즘이 적은 수의 노드와 대다수는 올바른 행동을 한다는 가정을 통해 작동하는 알고리즘인 것과 달리 글로벌한 규모의 완전히 오픈된 네트워크에서 운영할 수 있는 알고리즘 입니다. 여기서 가정은 f를 잘못된 노드의 수라고 하였을 때 보통 3f+1 이상이 올바른 일을 해야 정상 운영한다는 것입니다.

그러나 작업증명 알고리즘은 느린 속도와, 낭비되는 에너지 문제가 심각합니다. 지금 비트코인 한 블럭을 생성하기 위해서는 위해선 5,000,000 TH/s 이상의 해시 파워가 필요합니다. 작업증명 방식을 사용하는 암호화폐 플랫폼은 비트코인, 이더리움, 라이트코인, 비트코인캐시, 이더리움 클래식, 모네로 등이 있습니다.

 

 

참조

http://www.kmooc.kr/courses/course-v1:POSTECHk+CSED490U1+2021_T1/about 

 

블록체인 입문

블록체인과 암호화폐 기술을 깊이 배우기에 앞서, 비 전공자들도 이해를 할 수 있는 수준으로 블록체인과 암화화폐에 대한 high-level 설명 및 응용 예시를 제공하고 실제 상황에 적용할 수 있다.

www.kmooc.kr

반응형