[블록체인] POW(Proof-of-work)

in pow •  6 years ago  (edited)

작업증명(Proof-of-work) 알고리즘(Algorithmus)

  • 비트코인 창시자 사토시 나카모토가 제안한 합의 알고리즘
  • 블록의 유효성을 검사

블록의 구조

  • Version
  • Pre Block Hash
  • Merkle Hash
  • Timestamp
  • Bits
  • Nonce

이번글에서는 Nonce만 봅시다!


POW

  • Nonce값을 찾아 블록의 유효성을 증명

치명적 단점

  • 막심한 전력소비
  • 채굴 난이도 상승으로 인한 장비 과부

블록이 동시에 여러개 생성

  • 분산 원장이 동기화 되어야 한다
  1. 분기를 발생시킨다
  2. 더 많은 작업증명이 수행되어 노드의 연결 길이가 긴 블록을 선택


동시에 들어와서 분기를 발생시킨다.


그 후 각 분기에서 작업증명을 수행한다.


분기에서 더 많은 작업증명으로 노드의 연결 길이가 긴 분기 선택


분기선택 완료


Nonce

  • 해답
  • 해답을 찾아야 채굴을 할 수 있다.
블록의 해시값 : 0000000000000000014447091asd0asd0gam8bd9355a07d4e4f6748b4e1823e
  • 유독 앞에 0이 많다
    • 1비트씩 바꾸어 가면서 앞자리 0의 개수와 맞는 해시값을 찾으면 채굴 성공
    • 0의 개수 = 채굴 난이도 = 개수가 많을 수록 찾기 힘들다

즉, 채굴은 해시값을 바꾸어 가면서 앞의 0의 개수가 같은 해시값(Nonce)를 찾는 행위다

Authors get paid when people like you upvote their post.
If you enjoyed what you read here, create your account today and start earning FREE STEEM!
Sort Order:  

Congratulations @hallym-jm! You received a personal award!

Happy Birthday! - You are on the Steem blockchain for 1 year!

You can view your badges on your Steem Board and compare to others on the Steem Ranking

Vote for @Steemitboard as a witness to get one more award and increased upvotes!