블록체인 관련 이야기를 전하는 [블록체인 설명男]입니다.
오늘은 PoW, PoS, DPoS 에 대해서 얘기해 볼께요.
합의알고리즘 이라는 얘기 들어보셨을 겁니다. 영어로는 Consensus 라고도 하고요.
뭔가를 합의하는거 같은데.. 도대체 뭘 합의하는 걸까요?
우선, 노드(node)라는걸 먼저 아셔야 합니다.
그럼 노드란 무엇이냐?
- 노드(node) - 용돈기입장 복사본을 보관
지난번 글에서 블록을 용돈기입장이라고 한거 기억하시나요?
이 용돈기입장(블록)을 보관하고 있는 친구들이에요.
경우에 따라서는 모든 용돈기입장을 똑같이 복사해서 가지고 있을 수도 있고,
어떤 노드들은 몇 권만 가지고 있을 수도 있습니다.
이런 노드들이 서로가 가지고 있는 용돈기입장 내용을 비교하면서...
용돈기입이 맞게 되었는지 비교하고, 이상한 입출금 내역이 있는지 없는지 확인하게 되죠.
새로운 용돈기입장(블록)이 추가될때..
모든 노드들이 "새로운 용돈기입장이 추가되었으니 모두 복사해 놓자"라고하며 복사해가죠.
- 블록타임(blocktime) - 새로운 용돈기입장이 생기는 시간주기
비트코인은 여러개의 용돈기입장(블록)들이 원으로 연결되어 있는 형태에요.
진주목걸이를 생각하시면 됩니다. 진주 알갱이 하나하나가 용돈기입장(블록)이죠.
여기에 새로운 용돈기입장(블록)이 하나씩 추가되는데 보통 10~15분 정도 라고 해요.
이 용돈기입장이 생성되는 시간주기를 블록타임(blocktime)이라고 합니다.
[12345678910 생성 1234567891011 생성 12345678910111213 생성 12345678910 생성 12345]
- 합의알고리즘(Consensus) - 여러개의 용돈기입장 중 하나를 선택하는 방법
지난번 글에서... 용돈기입장(블록)은 누가 만든다고 했죠? 네.. 바로 마이너(miner)죠.
어떤 블록타임(blocktime)에 동시에 여러개의 마이너(miner)들이 용돈기입장을 만들어 붙일려고
하는 상황을 한번 생각해보시죠.
어떤 용돈기입장(블록)을 기존 블록체인에 붙여야 할까요? 애매하죠? 딱 한개만 붙여야하는데 말이죠.
이때 합의알고리즘을 씁니다.
- PoW(Proof-of-Work) - 엄청 빡씨게 일한 마이너가 바로 나요! 나를 써주오~
PoW합의알고리즘은 엄청 빡씨게 일한 마이너가 생성한 용돈기입장(블록)을 선택하는 방법입니다.
더 정확히 얘기하면 엄청 어려운 퍼즐을 먼저 푼 마이너를 선택해요.
한때 고성능 그래픽카드가 가격이 오르고 재고도 없고 했던적이 있는데..
그때 많은 사람들이 마이너가 되려고 고성능 그래픽카드를 싹쓸이 해가서 그렇답니다.
PoW 의 어려운 퍼즐을 푸는데는 고성능 그래픽카드의 연산능력이 유리해서 그렇습니다.
현재 비트코인(bitcoin)과 이더리움(ethereum)이 PoW합의알고리즘을 사용하죠.
- PoS(Proof-of-Stake) - 내 지분(%)이 더 많으니 나를 선택해줘요~
PoS는 지분증명이라고 부릅니다.
PoW는 어려운 퍼즐을 먼저푼 마이너를 선택했지만.. PoS는 많은 지분을 가진 노드가 선택됩니다.
PoS부터는 마이너의 개념이 살짝 바뀌게 됩니다.
위에서 말한 노드(node)들이 마이너가 되죠.
그래픽카드도 필요없고, 쓸데없이 어려운 퍼즐을 풀지 않아도 되고요.
지분은 회사지분과 같은거에요. 해당 블록체인에서 통용되는 코인을 말하죠.
- DPoS(Delegated PoS) - 지분많은 사람들끼리 투표해 대표를 선출
한창 이슈 됐던 EOS라는 블록체인이 대표적으로 이 DPoS를 사용합니다.(빗쉐어, 스팀잇 등)
DPoS는 지분이 많은 노드(node)들끼리 대표자를 선출하고 그 대표자들이 블록을 생성하는 방식이에요.
EOS의 경우엔 21명의 대표자를 선출하고, 대표자들끼리 합의를 하는 방식입니다.
오늘은 PoW, PoS, DPoS에 대해서 쉽게 설명드려봤습니다만.. 쉽게 이해되셨나요?? ㅎㅎ
혹시나 이해가 안되시거나 제글에 대한 이견이 있으신분은 언제든지 댓글 달아주세요^^
다음번엔 오늘 알아본 PoW, PoS, DPoS의 문제점에 대해서 쉽게 설명드려보겠습니다.
Congratulations @pass4u! You received a personal award!
You can view your badges on your Steem Board and compare to others on the Steem Ranking
Do not miss the last post from @steemitboard:
Vote for @Steemitboard as a witness to get one more award and increased upvotes!
Congratulations @pass4u! You received a personal award!
You can view your badges on your Steem Board and compare to others on the Steem Ranking
Do not miss the last post from @steemitboard:
Vote for @Steemitboard as a witness to get one more award and increased upvotes!