지분증명(Proof of Stake, PoS)

user-image
블록헤더스
블록헤더스
2023.09.22

[Xangle Digest]

※해당 컨텐츠는 외부에서 기발간 된 컨텐츠입니다. 컨텐츠에 대한 추가적인 주의사항은 본문 하단에서 확인해주세요.

작성자: 김하늘 (Blockchain at Yonsei 9기), 이건희 (디사이퍼 9기), 이혜연 (하이블록 1기, link), 임장혁 (블록체인 벨리 2기), 장기덕 (디사이퍼 6기, link), 추교현 (커그 , link)

 

목차
Intro
PoS 작동방식
PoS의 장점
PoS의 취약점
Further more
마무리

 

 

 

Intro

지난 내용을 간단하게 돌아보면, 블록체인(link)는 누구나 시스템에 참여해 원하는 거래내역을 블록으로 만들고, 기존에 이어져온 블록(Chained Block)에 연결하는 방식으로 분산원장을 유지 및 관리하는 기술입니다. 블록체인에 적용되는 합의알고리즘(link)은 분산원장을 관리하는 가장 중요한 규칙입니다.

블록체인은 누구나 참여할 수 있다는 특성으로 인해 시스템이 일부 참여자에 의해 멈추거나, 잘못된 거래내역이 기록되는 문제가 발생할 수 있습니다. 대표적으로 나타나는 문제는 앞서 살펴본 이중지불(link) 문제입니다.

이를 방지하기 위해 합의 알고리즘을 사용하며, 이러한 설계방식을 비잔틴 장애허용 시스템이라고 부르고 있습니다.

대표적인 합의 알고리즘으로는 작업증명(Proof of Work, PoW)와 지분증명(Proof of Stake, PoS)가 있습니다. 작업증명에 대한 대안으로 지분증명이 나오게 된 만큼 작업증명에 대해 우선 간단하게 살펴보겠습니다.

작업증명은 1) 일정량의 컴퓨터 작업을 경쟁적으로 수행해서 2) 랜덤하게 주어지는 기준인 논스값(nonce)을 달성한 경우에 한해, 블록을 생성할 권한을 부여하기로 합의하는 방식입니다. 이 방식을 사용할 경우, 컴퓨터 작업에 필요한 에너지가 소모되므로 이중지불 문제를 일으키기 위해서는 에너지 사용에 비례하는 비용이 발생하게 됩니다. 또한 블록 생성에 대한 보상이 가지는 가치가 증가하고, 참여자가 증가하는 등 시스템 전체가 선순환적으로 확장되면 이중지불에 필요한 비용은 증가하게 됩니다.

반면, 작업 증명 방식은 이중지불 문제를 방지하기 위한 에너지 소모가 크다는 문제가 있습니다. 이에 대한 대안으로 나온 것이 지분증명입니다.

지분증명에서 블록생성 권한은 참여자에 한 해 임의로 주어집니다. 생성된 블록은 타 참여자에 의해 블록의 거래내역이 유효한지를 검증받습니다. 지분증명에서는 1) 블록생성에 참여하기 위해서 보증금 성격의 일정량의 암호화폐를 지분으로 등록하도록 하고, 2) 블록생성자에 의해 이중지불 문제가 발생될 경우 등록된 보증금의 일부 혹은 전체를 압수하는 방식으로 이중지불 문제를 방지하고 있습니다.

지분 증명은 블록 생성에 필요한 컴퓨터 작업을 지분으로 대체함으로써 에너지 소모를 극적으로 줄일 수 있습니다. 그러나, 지분 자체가 가지는 가치가 낮을 경우 이중 지불에 필요한 비용이 낮아진다는 한계가 있습니다.

지분증명은 각 블록체인 프로젝트 별로 다양하게 적용되고 있습니다. 앞으로 나오는 지분증명의 작동 방식과 핵심적인 장, 단점을 이해한다면 지분증명을 사용하는 여러 합의알고리즘을 이해하는데 많은 도움이 될 것입니다.

 

PoS 작동방식

지분 증명의 작동 방식

지분 증명 알고리즘은 유사 랜덤 선택 프로세스를 사용하여 노드 그룹에서 검증자를 선택합니다.

랜덤화된 블록 선택

랜덤화 블록 선택 방식에서는 가장 낮은 해시 값과 가장 높은 지분의 조합을 가진 노드를 찾아 검증자를 선택합니다. 지분의 크기가 공개적이기 때문에, 다음 위조자는 보통 다른 노드에 의해 예측될 수 있습니다.

코인 에이지 선택

코인 에이지 선택 방법은 토큰이 고정된 기간에 따라 노드를 선택합니다. 코인 에이지 선택은 주화를 주조한 날짜 수에 주화를 주조한 횟수를 곱하여 계산합니다.

노드가 블록을 위조하면 코인 에이징은 0으로 재설정되며, 다른 블록을 위조할 수 있으려면 일정 기간을 기다려야 합니다.

트랜잭션 유효성 검사

지분 증명 알고리즘을 사용하는 각 암호화폐는 네트워크와 사용자에게 가장 적합한 조합이라고 생각하는 것에 대해 결합된 고유한 규칙과 방법을 가지고 있습니다.

노드가 다음 블록을 위조하도록 선택되면 블록의 트랜잭션이 유효한지 확인합니다. 그런 다음 블록에 서명하고 블록체인에 추가합니다. 보상으로, 노드는 블록으로부터 거래 수수료를 받고, 일부 블록체인에서는 코인 보상을 받습니다.

노드가 위변조 행위를 중단하고자 할 경우 일정 기간이 지나면 지분과 획득한 보상금이 풀리게 돼 노드가 블록체인에 추가한 부정 블록이 없는지 네트워크가 확인할 수 있는 시간이 주어집니다.

작동방식과 보안성

PoS는 검증자가 이중 지불 등의 사기 거래를 처리하지 않도록 적절한 보상과 패널티를 부여합니다. 패널티는 검증자의 지분을 차감하는 방식으로 운영됩니다. 검증자가 처리한 블록에 대해 사기 거래가 감지될 경우, 해당 검증자는 지분의 일부 혹은 전부와 검증에 참여할 권리를 잃게 됩니다.

이러한 패널티를 통해 PoS는 블록체인 네트워크의 보안성을 확보하고 있습니다. 검증자의 지분이 검증자가 사기거래로 받게될 보상보다 높으면 사기 활동으로 얻는 이익 보다 더 많은 코인을 잃을 것입니다. 또한, 블록체인 네트워크 전체를 제어하고 사기거래를 승인 하려면 노드가 네트워크에서 상당수의 지분을 소유해야합니다.

만약, 지분으로 사용되는 암호화폐의 가격이 하락하여 전체 시가총액이 낮아질 경우, 암호화폐를 일정 비중이상 확보하기 용이하게 되고, 따라서 블록체인 네트워크를 제어할 수 있는 가능성 또한 발생하게 됩니다.

 

PoS의 장점

지분 증명은 작업 증명에 비해 몇 가지 장점이 있습니다. 이러한 이유로 새로운 블록체인은 거의 항상 지분 증명을 사용하며, 다음과 같은 이점이 있습니다.

에너지 효율

지분 증명은 작업 증명에 비해 매우 에너지 효율적입니다. 참여 비용은 퍼즐을 푸는 계산 비용이 아니라 코인을 스테이킹하는 경제적 비용에 의존합니다. 이 메커니즘은 합의 메커니즘을 실행하는 데 필요한 에너지를 크게 줄입니다.

응용 가능성

사용자의 요구와 블록체인이 변화함에 따라 지분증명도 변화할 수 있고, 많은 응용 사례로 이를 확인할 수 있습니다. 이 메커니즘은 대부분의 블록체인 사용 사례에 쉽게 적합할 수 있습니다. 현재는 여러 블록체인 프로젝트에서 PoSA, DPoS 등의 이름으로 사용되고 있습니다.

노드 운용상의 확장성

지분증명은 합의를 생성하기 위해 물리적 기계에 의존하지 않기 때문에 확장성이 좋습니다. 대규모 채굴 기계와 에너지가 필요하지 않습니다. 더 많은 유효성 검사기를 네트워크에 추가하는 것이 더 저렴하고 간단하며 접근하기 쉽습니다.

 

PoS의 취약점

지분증명은 작업증명에 비해 많은 장점이 있지만, 여전히 몇 가지 취약점을 가지고 있습니다.

손쉬운 네트워크 포크

지분증명 메커니즘을 사용하면 포크 된 블록체인과 오리지널 체인 모두를 채굴하는 데 문제가 되지 않습니다. 반면, 작업증명함에서 두 체인을 채굴하는 것은 추가적인 에너지를 필요로 하고 참여자들이 두 체인 모두에 기여할 가능성이 줄어듭니다. 지분증명을 사용하면 비용이 훨씬 적게 들며, 이는 사람들이 포크 된 두 체인 모두에 스테이킹(Staking)할 수 있다는 것을 의미합니다. 때문에 지분증명은 포크로 발생된 여러 블록체인 채널의 집중을 분산시키고, 시장 점유율 확보를 어렵게 합니다.

경제적 측면의 접근성

스테이킹을 시작하려면 해당 블록체인의 네이티브 토큰 공급이 필요합니다. 이를 위해서는 교환(스왑, Swap)이나 다른 방법을 통해 토큰을 구매해야 합니다. 필요한 금액에 따라 효과적으로 스테이킹을 시작하려면 상당한 투자가 필요할 수 있습니다.

작업증명을 사용하면 저렴한 채굴 장비를 구입하거나 대여받을 수 있습니다. 이를 통해 풀에 가입하고 신속하게 유효성을 검사하고 수익을 올릴 수 있습니다.

 

Further more

작업증명과 지분증명 간의 비교

  Proof of Work (PoW) Proof Of Stake (PoS)
에너지 사용량 높음 낮음
검증 방법 컴퓨터 리소스 활용을 통한 증명 밸리데이터가 스테이킹한 코인 지분
검증자 선택 방법 경쟁 (먼저 컴퓨팅 리소스를 투입하여 특정 암호값을 맞추는 노드) 임의 (코인을 예치한 노드 사이에서 임의로 선택)

 

지분증명을 통한 합의 방식은 작업증명과 같이 많은 양의 컴퓨팅 리소스가 합의 과정에서 투입되지 않아도 됩니다. 밸리데이터 노드는 블록에 들어가는 트랜잭션들이 올바른지 확인하는 데에만 컴퓨팅 리소스를 사용하며 합의 과정 자체에서의 추가적인 컴퓨팅 리소스가 투입되지 않습니다. 그렇기에 지분증명 방식의 합의는 작업증명에 비해 낮은 에너지 사용량을 보이게 됩니다.

 

다양한 형태의 지분증명

  • DPoS (Delegated Proof of Stake) : 위임 지분 증명

    위임 지분 증명은 네트워크의 참여자가 스스로 밸리데이터 노드를 운영하지 않아도 코인을 스테이킹 할 수 있도록 지원합니다. 참여자들은 자신의 지분을 위임하고 밸리데이터 노드의 수익을 일부 분배 받게 됩니다. 이 시스템에서는 밸리데이터 노드에 더 많은 양의 지분이 스테이킹 될수록 해당 밸리데이터가 블록을 생성하여 보상을 받을 확률이 높아집니다. 밸리데이터 노드들은 자신이 벌어들이는 수익에서 위임한 참여자들에게 나눠줄 수익의 비율을 설정할 수 있습니다. 따라서 적정한 비율의 수익 분배를 통해 많은 양의 지분을 모아 블록을 만들 확률을 높이는 것이 큰 경제적 인센티브를 가져다주는 방법이 될 수 있습니다. 더불어 밸리데이터 노드들의 평판 역시 참여자들이 자신이 소유한 코인을 위임할 유인이 될 수 있습니다.

  • NPoS (Nominated Proof of Stake) : 지명 지분 증명

    지명 지분 증명은 폴카닷 네트워크가 처음 제시한 모델입니다. 이 합의 방식은 위임 지분 증명 방식과 많은 유사점을 가지나 한 가지 다른 점이 존재합니다. 바로 지명자(위임자)가 악의적 행동을 하고자 하는 밸리데이터에게 위임을 한다면 위임자 역시도 자신이 위임한 지분 일부를 잃을 수 있어 지명자(위임자)는 최대 16개의 밸리데이터를 선택하여 지분을 위임할 수 있습니다. 그 후 네트워크는 위임한 지분을 공평하게 선택된 밸리데이터들에게 분배합니다. 이를 통해 지명자(위임자)는 스스로 리스크를 줄이는 동시에 수익을 최대화하기 위해 밸리데이터를 선택하게 될 것이고 이는 밸리데이터들로 하여금 악의적 행동을 하지 않도록 유도합니다.

  • PoSA (Proof of Stake Authority)

    권위 증명 (Proof of Authority)과 지분 증명 (Proof of Stake)을 결합한 형태의 합의 알고리즘입니다. 이 합의 알고리즘에서는 선택된 21개의 밸리데이터가 순서에 따라 블록을 형성하게 됩니다. 여기서 순서와 21개의 밸리데이터 리스트는 스테이킹 된 토큰의 양에 따라 매일 결정됩니다. 이 방식을 통해 탈중앙성과 확장성에 대한 적절한 방식을 취할 수 있다고 할 수 있습니다.

 

PoS 사용하는 체인 리스트

  • Ethereum : PoW에서 PoS로 전환하면서 PoS 합의 알고리즘을 채택한 Layer1 체인
  • Cosmos : PoS 합의 알고리즘인 Tendermint를 활용하여 여러 앱체인 간의 소통을 할 수 있는 Layer1 체인
  • Solana : 블록 생성 등을 위한 합의를 진행하는 노드의 성능을 최대한 활용하는 합의 구조를 통해 TPS를 최대한 높인 Layer1 체인
  • Aptos : 가장 안전하고 확장성이 뛰어난 Layer1 체인을 목표로 Rust 기반 스마트 컨트랙트 언어인 무브로 컨트랙트를 작성합니다.

 

마무리

PoS는 많은 블록체인 플랫폼에 의해 사용되는 합의 알고리즘입니다. PoS는 트랜잭션을 검증하고 새로운 블록들을 만들기 위해서 컴퓨팅 파워를 사용하는 PoW와 달리 밸리데이터들이 갖고 있는 스테이킹 양을 기반으로 트랜잭션을 검증하고 새로운 블록들을 만듭니다.

PoS는 PoW 방식보다 에너지 효율적이며 블록체인의 탈중앙성과 보안성을 높일 수 있습니다. 블록체인 기술에 대한 관심이 계속해서 커짐에 따라 PoS는 점차 새로운 블록체인 플랫폼들의 인기 있는 합의 알고리즘이 되고 있습니다.

앞으로 PoS 합의 알고리즘이 어떻게 발전하는지, 혹은 또다른 방식의 합의 알고리즘이 대세가 되는지 지켜보면 좋을 것 같습니다.

 

※ 참고 문헌

README

What Is Proof of Stake (PoS)? | Binance Academy

 

-> '지분증명(Proof of Stake, PoS)' 원문 보러가기

 

 

주의사항
본 글에 기재된 내용들은 작성자 본인의 의견을 정확하게 반영하고 있으며 외부의 부당한 압력이나 간섭 없이 작성되었음을 확인합니다. 작성된 내용은 작성자 본인의 견해이며, (주)크로스앵글의 공식 입장이나 의견을 대변하지 않습니다. 본 글은 정보 제공을 목적으로 배포되는 자료입니다. 본 글은 투자 자문이나 투자권유에 해당하지 않습니다. 별도로 명시되지 않은 경우, 투자 및 투자전략, 또는 기타 상품이나 서비스 사용에 대한 결정 및 책임은 사용자에게 있으며 투자 목적, 개인적 상황, 재정적 상황을 고려하여 투자 결정은 사용자 본인이 직접 해야 합니다. 보다 자세한 내용은 금융관련 전문가를 통해 확인하십시오. 과거 수익률이나 전망이 반드시 미래의 수익률을 보장하지 않습니다.
본 제작 자료 및 콘텐츠에 대한 저작권은 자사 또는 제휴 파트너에게 있으며, 저작권에 위배되는 편집이나 무단 복제 및 무단 전재, 재배포 시 사전 경고 없이 형사고발 조치됨을 알려드립니다.