- POW 알고리즘은 사토시 나가모토의 논문 'Bitcoin: A Peer-to-Peer Electronic Cash System'에서 처음으로 제안한 비잔틴 합의 알고리즘임
- 비트코인에서는 블록 내에 포함되어 있는 값을 0부터 1씩 증가시키면서 해시함수에 넣음
- 그리고 해시함수의 출력이 목표 값보다 작은 값이 나오면 채굴에 성공했다고 이야기함
- 해시 함수의 특성상 결과를 전혀 추론할 수 없기 때문에, 목표 값보다 작은 값을 얻는 과정은 로또에 당첨되는 것에 비유할 수 있음
- 이렇게 Nonce 값을 증가시키면서 원하는 값을 얻는 과정에는 많은 컴퓨팅 자원이 소비됨
- 24번 블록이 두 개가 동시에 생성된 이후, 1번 작업자가 생성한 블록을 전달받은 참여자가 다음 번 채굴을 통해 1번이 생성한 블록 뒤에 25번째 블록을 추가로 연결했다고 가정했을 때가장 긴 체인을 메인 체인으로 선택함
- 네트워크 전송 속도 지연으로 인해 네트워크 상에 체인의 분기가 발생하여, 두 개의 체인이 존재하는 상황을 가정해보면
- 네트워크의 노드들은 다음 블록을 생성하기 위해 A와 B 중 하나의 체인을 선택하게 됨
- 가장 긴 체인이 네트워크에서 선택되기 때문에, 이러한 분기가 발생할 시, 더 긴 체인을 만들기 위해 경쟁하게 됨
- 이러한 경쟁은 6개의 블록이 생성되기 전에 보통 종료되기 때문에 이를 6 confirmation이라고 부름
- 사토시 나카모토는 확률 증명을 통해 분기된 체인과 원래의 체인이 6개 이상의 대립되는 블록을 생성할 확률이 0에 가깝다는 것을 증명함
- 6 confirmation은 자신이 생성한 거래는, 그 거래가 포함된 블록 이후에 5개의 블록이 더 생겨야, 해당 트랜잭션이 완전하게 거래됐다는 것을 의미함
- 작업증명 알고리즘은 느린 속도와, 낭비되는 에너지 문제가 심각함
- 지금 비트코인 한 블럭을 생성하기 위해서는 위해선 5,000,000 TH/s 이상의 해시 파워가 필요함
'Web 3.0 > Block chain' 카테고리의 다른 글
[POSTECH 블록체인 입문] BFT & PBFT (0) | 2022.02.09 |
---|---|
[POSTECH 블록체인 입문] PoS & DPoS (0) | 2022.02.09 |
[POSTECH 블록체인 입문] Distributed Consensus (0) | 2022.02.06 |
[POSTECH 블록체인 입문] ICON, LOOPCHAIN (0) | 2022.02.06 |
[POSTECH 블록체인 입문] EOS (0) | 2022.02.03 |