PoW와 PoS의 정의

S SEONMI
B!ock.Chain
Published in
7 min readFeb 15, 2019

안녕하세요 이번에 PoW 와 PoS에 대한 포스팅을 맡게된 Seonmi입니다 :)
앞으로 잘부탁드릴게요!

우선 오늘은 PoW 와 PoS가 무엇인지 알아보도록 하겠습니다. 개념부터 잡고 가보자구요!!

블록체인 합의 방식에는 Pow , PoS , DPoS , BFT 등 다양한 합의 알고리즘이 존재합니다.

합의 알고리즘을 알아보기 이전에 “합의” 와 “채굴”의 개념을 살짝 짚고 넘어가 볼건데요, 합의는 블록체인에서 트랜잭션과 블록을 처리할때 순서를 결정하는 방식, 채굴은 코인을 획득하는 과정을 의미합니다.

그럼 본격적으로 PoW에 대해 알아볼까요?

https://medium.com/blockchain-at-columbia/pow-vs-pos-tech-talk-77f9a1bf05d7

PoW는 Proof of Work의 약자이며 작업의 증명을 뜻하는데요, 무언가에 대한 일을 하고 그 일이 제대로 성공했는지에 대한 증명을 하는 것이 “작업증명” 이라고 생각하시면 될거 같아요.

PoW 의 대표적인 코인에는 비트코인, 라이트코인, 비트코인 캐시 등이 있다는 사실은 다들 알고계시겠죠?!

[ PoW 의 어원 ]

PoW는 1993년 Cynthia Dwork 와 Moni Naor 에 의해 처음 고안되었고, 1999년에 Markus_Jakobsson 과 Ari Juels 에의해 Proof of Work 라는 이름이 붙게 되었다고 합니다.
그 후 나카모토 사토시, 다들 아시죠? 비트코인의 창시자인 사토시가 비트코인 백서에 PoW를 채택하면서 널리 알려지게 되었다고 합니다.

그럼 PoW란 대체 어떤 방식으로 증명을 하는걸까요?
지금부터 저만의 방식대로 쉽게 풀어서 설명을 하도록할게요,

예를 들어 송중기의 팬미팅에서 (저는 송중기를 좋아하기때문에) 추첨에 당첨된 팬에게는 1일 데이트를 할수 있는 기회가 주어진다고 가정해볼게요! 상상만 해도 행복해지네요..ㅎㅎ

이때 팬미팅에서 진행하는 추첨은 1부터 1000까지의 숫자가 적힌 공이 들어있는 네모난 박스에서, 무작위로 공을 꺼내는 방식으로 진행이 된다고 가정합시다.

그런데 송중기씨가 꺼내는 공이 50보다 작은 숫자일 경우 당첨이 되도록 조건을 걸어두었다고 할게요, 아무 숫자나 나왔다고 당첨이 되면 안되겠죠 당연히?

여기서 50보다 작은수가 적힌 공을 뽑는 과정이 작업증명이라고 생각하시면 됩니다.
“50보다 작은 숫자가 적힌 공을 뽑아라” 라는 것이 작업증명의 난이도인데요, 당첨되는 확률을 줄이고 싶으면 50이라는 조건을 20으로 낮추면 됩니다. 이작업을 난이도 조절이라고 하는 것입니다.

비트코인에서 작업증명 즉, 반복적인 과정을 통해 무작위로 특정한 조건보다 낮은 값(Nonce)을 찾아내면 그에 대한 대가로 비트코인을 받게 됩니다.

그런데 이때 무작위의 nonce값을 찾아내기위해 비트코인에서는 SHA-256 방식을 이용하는데, 이 과정에서 굉장한 에너지와 연산력이 필요합니다.

즉, 자신의 컴퓨팅 파워가 높을수록 원하는 값을 얻기가 쉬워지지만(채굴하기 유리하다는 뜻) 그러려면 엄청난 금액의 채굴기와 전기료를 감당해야만합니다.

여러분 이 엄청난 전기료를 감당하실 수 있겠습니까? 저를 전적으로 믿으십시오. (SKY 캐슬 광팬…재미없으셨다면 죄송합니당)

실제로 비트코인 채굴에 드는 에너지 소비량이 한 국가에서 사용되는 에너지의 양에 맞먹는 양이라고 합니다.

아래의 그래프가 바로 비트코인 채굴에 쓰이는 전기 소비량 그래프입니다.

https://digiconomist.net/bitcoin-energy-consumption

어마마??! 어마어마하죠?!

PoW에 대해서 조금은 이해가 가셨나요 여러분??
그렇다면 이번에는 PoS가 무엇인지 알아보도록 할게요!

https://medium.com/blockchain-at-columbia/pow-vs-pos-tech-talk-77f9a1bf05d7

우선 PoS 는 Proof-of-Stake 의 약자이며, 지분증명방식의 대표 코인에는 대시, 네오 등이 있습니다.

PoS는 컴퓨팅 파워 낭비가 심한 PoW와는 반대로 PoS 는 자신의 지분, 즉 Staking 한 자산을 통해 블록을 생성하게 됩니다.

앞에서 설명드렸던 PoW와는 다르게 별도의 채굴기가 필요없는것이죠.

Proof of Stake는 네트워크 참여자 모두가 블록을 검증할 수 있는 기회를 갖게되는 방식인데요, 가지고 있는 지분이 많으면 많을 수록 블록 검증 기회를 더 얻을 수가 있습니다.

다시 말해 가지고 있는 재산에 비례하여 보상이 주어지게 되는 것입니다.

PoW 처럼 무의미하게 논스값을 찾거나 할 필요가 없어서 경제적이고 친환경적인데요, 전체적으로 PoW의 단점을 보완하는 합의 알고리즘으로 보시면 될 것 같아요.

Pos 구현 방식에는 여러가지가 있지만 저는 한가지를 쉽게 설명해보도록 하겠습니다.

예를들어 제가 10번째 블록을 만들었는데 송중기도 10번째 블록을 동시에 만들었다고 가정해볼게요.

이때 제 전 재산은 50만원이고 송중기의 재산은 800만원 이라고 한다면, 네트워크 노드들은 재산이 더 많은 (가중치가 더 높은) 송중기의 블록을 선택하게 되는 것입니다.

즉, PoS 는 아무리 블록이 동시에 만들어 진다고해도 많은 노드에 의해 가충치가 더높은, 지분이 많은 특정 블록이 선택되는 합의 알고리즘인것입니다.

그렇기 때문에 “부익부 빈익빈” 문제가 발생하기 쉽다는 단점도 있다고 하네요..

결론적으로 PoW에서는 높은 컴퓨팅 파워를 가질수록 채굴하기 유리했지만, PoS 에서는 돈이 많은 사람이 그냥 최고가 되는셈인거죠..

돈 얘기가 나오니 Money Talks 라는 말이 떠오르네요, 제가 요즘 영어 회화 공부를 하고있는데 “어쨌거나 돈이 최고지~” 라고 말할 때 Money Talks라고 한다고 하더라구요..!

블록체인도 공부하고 간단하지만 실용영어도 알려주고, 너무 좋은 포스팅 아닌가요?!

그러니까 앞으로도 구독 부탁드려요!! ♥_♥

오늘 포스팅은 여기서 마치도록 하겠습니다. 다음에는 PoW와 PoS에 대한 문제점에 대한 내용으로 찾아올게요.

다음시간에 만나요!!

참고

--

--