기타/개념정리

[블록체인 / 합의 알고리즘] DPOS 설명

코드아키택트 2022. 1. 28. 09:05
반응형

https://academy.binance.com/en/articles/delegated-proof-of-stake-explained

 

Delegated Proof of Stake Explained | Binance Academy

The Delegated Proof of Stake (DPoS) consensus algorithm is considered by many as a more efficient and democratic version of the preceding PoS mechanism.

academy.binance.com

 블로그를 조금 개정했고, 어떤 이야기를 할지 조금 정리하기로 하였다. 그와 더불어 말투도 내가 좀더 편안한 말투로 바꾸기로 했다. 글을 그대로 번역하는 것은 구글이 더 잘할 일이라는 생각이 들어, 언저나 그렇듯 내용을 읽고 이해해서 요약한 이야기를 쓰기로 했다.

 

TL; DR(Too Long, Didn't Read. 요약본이라는 뜻)

What?

  • 2014년 Daniel Larimer가 개발
  • Delegated Proof of Stake의 약자임

Why?

  • PoS의 방식을 개선하기 위해서(지분을 가진 이들만 거래 검증 기회)
  • 더 높은 거래 속도 성능을 위해서 쓰임
  • 확장성과 비용측면에서 더 효율적임

How?

  • 지분 소유자가 자신을 대표할 노드에게 투표함
  • 투표를 받은 노드들은 delegate또는 witness라 불림
  • 투표한 사람들의 방향을 대표하는 방식으로 작동함
  • 옳지 못한 행동을하면 투표받은 노드가 제거되거나 대체될 수도 있음
  • 블록 생성에 대한 보상을 투표자들에게 비례로 나누어줌

이 글의 목차

  • 작업증명
  • 지분증명
  • 위임 지분증명
  • 위임 지분 증명 vs 지분증명
  • 위임 지분 증명 vs 작업증명

본문

  • 위임 지분 증명은 지분증명에 비해 더 민주적이고, 효율적인 합의 알고리즘으로 알려져 있음
  • PoS(지분증명), DPoS(위임지분증명) 둘다 PoW(작업증명)의 대체제로 사용중
    • PoW는 에너지 소모량 많음
  • PoS와 DPoS는 에너지 소모량이 적기 때문에 더 환경친화적임
  • DPoS를 이해하기위해 먼저 PoW,PoS 부터 이해해야함

PoW (작업증명)

  • PoW최초로 쓰인 합의 알고리즘임(비트코인)
  • 비트코인은 기존 금융 시스템의 대체제로 제안 됨
  • PoW 덕분에 P2P(Peer-to-peer), 분산환경에서 실시간 결제 시스템이 가능해짐 + 중간자 없기 때문에 전체적인 거래비용은 감소함

 

  • PoW는 특별한 노드인 채굴자 노드로 유지됨 + 특별한 장비 사용함(ASICs)
  • 장비를 통해 복잡한 암호학적 문제 해결
  • 블록은 평균 10분에 한번 생성되며, 함호학적 문제를 해결했을때만 채굴자가 블록 추가 가능
  • 블록을 추가했을때, 블록추가에 대한 보상과 블록안에 일어난 거래내역에 대한 수수료도 보상으로 받음
  • 하지만 비용이 높음. 에너지 소모량이 많음. ASIC 장비도 비쌈

 

  • 느린 거래 속도 등으로 확장성 문제들도 있음
  • 하지만 가장 안전하고 믿을만한 방식

PoS (지분증명)

  • PoW의 가장 흔한 대체제
  • PoW 기반 합의 알고리즘의 문제를 해결하려 등장(특히 비용문제)
  • 여기에 마이닝은 없음.
  • 코인을 스테이킹(소유)를 많이 하고 있을 수록 블록을 검증할 기회가 많아짐. 이때 검증자를 validator, minter, forger라 칭함

 

  • PoW가 외부 장비나 에너지에 의존하는 것에 비해 PoS는 내부 투자(코인 양)에 의존한다는 것이 차이점

 

  • PoS는 블록체인에 대한 공격을 더 비싸게 만듬(공격한놈이 손해)
  • 성공적인 공격을 하기 위해선 51%이상의 지분 필요 -> 공격 -> 본인의 경제적 손해
  • PoS의 좋은점이 있지만 여전히 큰 스케일에서 실험이 필요

DPoS (위임 지분 증명)

이사람

 

  • 본인을 대신해 검증에 참여할 사람에게 투표하는 방식
  • 위임받은이 delegates 또는 witnesses라고 불림
  • 새로운 블록을 검증하고 만드는 역할
  • 투표의 영향력은 많은 지분을 가질수록 커짐(코인이 많을 수록 투표권이 많다고 보면 될듯)
  • 디테일은 조금씩 차이가 있을 수 있으나, 대체적으로 투표한 사람들의 의사대로 위임받은이가 대표하는 방식
  • 위임받은이가 받은 보상을 투표자들에게 투표권에 비례해서 분배

 

  • 투표 시스템은 위임받은이의 평판에 직결된 시스템을 갖추고 있음
  • 위임받은이가 잘못된 행동을 하거나, 효율적으로 일하지 않는다면 추방당하거나 대체

 

  • 성능측면에서 다른것들에 비해 더 확장성이 좋고, TPS(초당 거래량, Transaction Per Second)가 높음

 


DPoS vs PoS

  • 스테이킹 측면에서 둘은 비슷
  • DPoS의 장점
    • 투표 방식을 기반으로 하기 때문에 민주적임
    • 투표를 통해 위임받기 때문에, 위임받은이는 더 정직하고 효율적으로 일하게됨
    • TPS가 더 높음

DPoS vs PoW

  • DPoS는 블록 생성 과정을 간소화 시킴
  • PoW는 가장 안전한 알고리즘으로 평가받음
    • 따라서 대부분 돈을 송금하는 부분에서 사용(?)
  • PoS는 PoW보다 빠르고, 더 많은 활용법과 잠재력이 있을것임
  • DPoS는 스테이킹을 블록 생산자 투표용으로 제한함
    • 누가 블록을 검증할지 미리 결정됨 <-> 경쟁기반인 PoW
    • 모든 Witness가 차례대로 블록생성 기회를 얻음
  • 어떤이들은 DPoS가 Proof of Authority라고 불려야 한다고 함

 

  • DPoS는 PoW와 PoS와 확실히 다르다
  • 지분소유자(stakeholder)의 투표 시스템으로 위임받은이가 더 정직하고 효율적으로 일하게 만듬
  • 하지만 PoS시스템과 다르며(위에서 말한 차례대로 기회를 얻는다는 점 인듯), 대부분의 경우 속도가 더 빠름

 

 

반응형