PoS(Proof of Stake)는
1. 더 쉬운 방식으로 더 많은 노드들이 참여할 수 있으며
2. 더 분산화된 합의방식이 될 수 있는 방향을 제시하고
3. 이는 특정 블록체인에 해당하는 코인을 가질수록 데이터 업데이트의 권한이 주어지기 때문이고 이로인해 정말 많은 사람들이 의사결정에 참여할 수 있게 만드는 블록 업데이트 방식이다.
하지만 아직까지 PoS의 네트워크 합의방식은 구현된 바가 실제로 아직 없다.
PoW라는 방식 또한 안정적이고 비트코인이라는 화폐로서의 기능만 하는 경우(증권의 기능 포함)는 PoW의 방식으로도 충분히 비트코인이 추구하는 방향을 함께 나아갈 수 있기 때문에 PoS는 이론상으로만 나와 있는 상태이다.
그렇다면 PoS가 가지고 있는 문제점은 과연 무엇일까?
PoS의 가장 큰 문제점은 자산증명을 하는데 있어 한계 비용(marginal cost)이 전혀 없다는 것이다. 이 문제를 'Nothing at Stake'라 한다.
이게 과연 무슨말일까?
아래 그림을 보면
여기서 '여러블록에 증명한다'는 것은 두 개로 갈린 체인의 거래가 모두 맞는 거래라고 검증(validating)하는 것. 그래야 둘중 어떤 거래가 참이든 거짓이든 계속 체인이 유지되든 이득을 보기 때문.
이 경우 두 가지 유형의 공격이 가능하다.
그림의 Long Range Attack의 경우
블록에 새로 참여한 검증자(Validator)는 어느 것이 정당한 블록체인인지 알 수 있는 방법이 없다. 그래서 새로 많은 지분을 사들여 검증에 참여하는 노드가 거짓인 블록체인에 증명(합의)을 해버릴 경우 제대로 된 거래를 한 사람은 모두 공격에 당하는 꼴이 되는것.
또 다른 하나는
Short Range Attack에서는
그림과 마찬가지로 포킹이 일어날시 검증자(validator)들이 어느 쪽 체인에든 무조건 증명(합의)하는 것이 유리하다.
오히려 양쪽 체인에 증명(합의)하지 않으면 손해를 볼 수 밖에 없게 되는 상황인 것이다. 왜냐하면 어떤 쪽이 정당한 블록체인이 되어 살아남든 합의하는 것에는 제한이 없으므로 양쪽에 모두 지분을 증명해 놓아야 어떤식으로든 보상을 받을수 있기 때문이다.
다시 말해 Nothing at Stake는 말 그대로 어느 쪽이든 잃을 것이 없다는 것이다.
그렇다면 이 심각한 문제를 어떻게 해결할 것인가?
그래서 이더리움 개발자들은 '보증금'과 '벌금' 제도를 부가해서 이를 해결하려고 하고 있다.
말 그대로 검증자(validator)들이 지분을 블록상에서 증명할때 보증금을 어느정도 걸어놓고 그 블록이 거짓임이 드러나게 되면 보증금에서 벌금을 차감하는 방식으로 해결방안을 모색하고 있는 중이다. 그래서 'nothing at stake'에서 'something at stake'로 만들어 정당한 블록이 생성되도록 하는 것이다.
최대한 쉽게 설명하려고 하지만 모르시는 분들을 위해 언제든지 댓글로 질문을 받습니다.
질문의 내용이 길 경우는 jsralphh@gmail.com으로 보내주시면 감사하겠습니다.
Hi! I am a robot. I just upvoted you! I found similar content that readers might be interested in:
https://steemit.com/kr/@jsralph/proof-of-stake-pos-2-pos-nothing-at-stake
이전 계정 https://steemit.com/@jsralph 분실하여 새로 계정을 만들게 되었습니다.
블록체인 관련 포스팅들 이곳에 계속 올라옵니다~
pos는 이론상으로만 나와있다는게 무슨말인가요? 이미 pos를 사용하는 코인들이 많지않나요
처음에 글 쓰신게 6개월 전이라 에이다코인이 나오기 전이라서 글을 그렇게 쓰신거 같습니당
pos방식은 위임받은 다수의 지분 보유자가 시스템유지에 기여 하는 방식인데 이는 pow에 비해 상대적으로 적은 수의 사람들이 장부증명에 참여함으로 해킹을 시도한다면 오히려 보안에 취약해 질수 도 있지 않나요? 아직 블록체인에 대한 이해가 깊지 않아 가르쳐 주세요 ~