[Makers Basic 8] 합의 알고리즘(2)-지분증명(PoS)

장경재
BlockMakers Powered by DAIOS
4 min readSep 27, 2018

작업증명 방식의 대안

작업증명 방식은 과도한 채굴 경쟁을 낳고 그로 인한 막대한 전기낭비 및 비민주적 의사결정이 생길 우려가 있다고 알아보았습니다. 이러한 문제를 해결하기 위하여 다양한 대안적 합의 알고리즘이 등장 하였습니다.

지분증명(Proof of Stake)

그 중 대표적인 하나는 지분증명(PoS)입니다. 이는 해당 암호화폐를 보유하고 있는 지분(Stake)율에 비례하여 의사결정 권한을 주는 방식입니다. 이 방식도 작업증명과 마찬가지로 블록이 생성될 때 보상이 지급되는 데 지분에 대한 이자의 개념으로 보상이 지급됩니다.

다시 말해서 옳다고 생각하는 블록에 투표를 하면서 자신이 가진 지분(Stake)을 해당 블록에 보여주어 증명하는 것입니다.

출처

그림과 같이 51%가 넘는 자산이 동의한 블록이 더 빠르고 길게 블록들을 형성하게 됩니다. 작업증명처럼 분기(포크)가 일어나더라도 더 많은 자산을 보유하는 체인이 결국엔 살아남게 되는 것이 지분증명 방식입니다.

지분에 비례하여 의사결정 권한을 주기 때문에 막대한 전기를 소모하는 채굴과정이 필요없어 작업증명 방식에 문제점을 해결했습니다.

지분증명 방식의 문제점

지분증명 방식은 작업증명에서 분기의 문제점을 지분이라는 방식을 통하여 해결했으나 다른 문제점을 가지고 있습니다.

  1. Nothing at Stake

이는 분기가 발생하여 투표를 할 때 두 블록체인에 모두 투표를 해도 손해보는 것이 없다는 것을 의미합니다. 모두 투표를 하게 되는 경우 분기가 발생하여도 문제가 해결되지 않기 때문에 문제가 발생합니다.

여기서 ‘여러블록에 자신의 지분을 증명한다’ 함은 두 개로 분기된 체인중에서 맞는 거래라고 검증하는 것을 의미합니다.

이러한 경우 두 가지 유형의 공격이 가능합니다.

  • Long Range Attack
  • Short Range Attack

우선 Long Range Attack은 지분이 많은 노드가 거짓인 체인도 올바른 체인과 동일하게 증명(투표)를 하여 블록에 새로 참여한 노드가 어느 것이 정당한지 알 수 없도록 하는 것입니다. 새로 참여하여 검증하는 노드가 거짓인 체인에 증명(투표)할 경우 제대로 된 체인에 증명한 사람들은 손해를 안게 되는 것입니다.

다음으로 Short Range Attack입니다.

그림에 나와있듯, 공격으로 분기가 일어날 경우 검증하는 노드는 이 체인이 거짓이든 아니든 모두 증명하는 것이 당연합니다. 어떤 쪽이 블록체인이 되어 살아 남든지 하는 것에는 제한이 없기 때문에 모든 체인에 증명하지 않으면 손해를 보는 상황이기 때문입니다.

2. 확장성(Scailability)

처리해야하는 데이터의 변동이 있을 때 성능변화가 어느정도인지를 확장성이라고 합니다.

확장성의 문제는 PoW와 PoS 공통적으로 나타납니다. 한 블록 단위로 트랜잭션을 처리하기 때문에 처리할 수 있는 트랜잭션의 최대치가 낮아서 트랜잭션이 몰릴 때에는 병목현상이 발생하게 되어 속도가 저하됩니다. 그렇기에 PoW와 PoS 모두 확장성이 좋지 못한 방식이라고 할 수 있습니다.

출처 : banksalad, steemit, naver blog

--

--