1 분 소요

합의 알고리즘


합의 알고리즘 비교분석

  PoW PoS BFT-variants
제안자격 취득 방법 계산이 어려운 문제를 푸는 것 플랫폼 토큰을 보유한 양과 기간에 따라 결정적으로 또는 확률적으로 뽑힐 것 정해진 순번 또는 정해진 확률에 의해 뽑힐 것
네트워크 참여 제한 없음 없거나 낮음 높음
합의에 필요한 연산량 높음 낮음 낮음(네트워크 트래픽은 높다.)
위협 전체 연산량의 51%를 한 참여자가 소유할 경우 중앙화 됨(블록체인 내용 조작 가능) 전체 토큰의 51%를 한 참여자가 소유할 경우 중앙화 됨 전체 참여노드의 1/3이상이 담합할 경우 합의 불가, 전체 참여노드의 2/3이상이 담합할 경우 중앙화 됨
대표적인 블록체인 Bitcoin, Litecoin, Ethereum, Monerio, QTUM Ethereum FFG & CFG, EOS(dPoS) Klaytn, Tendermint, Hyperideger Fabric Ontology
  • PoW : 가장 마지막의 블록을 가지고 해쉬를 생성 및 비교 -> 어차피 같은 값으로 해쉬를 하게 되면 똑같은 값이 생성되는데?
    • 이러한 문제를 해결하기 위해 nonece값을 도입
    • nonece값은 의미없는 쓰레기 값이지만 해쉬값이 크게 변경할 수 있기 때문에 사용
    • PoW는 위 과정을 통해 생성한 해쉬값과 비교(<=) : 앞의 0의 개수로 판단 -> 해당 조건을 만족하는 특정해쉬를 찾아라
    • 위협
      • 블록을 빠르게 생성하는 능력이 다음 블록을 결정할 수 있기 때문에(롱기스트 체인 구조) 연산 능력이 전체 연산량의 51%를 한 참여자가 소유할 경우 중앙화 됨
  • PoS : 지분 기반
    • 토큰의 편향을 우려하여 PoW로 토큰을 분배한 후 사용한다.
  • BFT
    • 네트워크의 동기화(참여자 제한)
      • 참여자 수가 많을 수록 느려짐
      • 작은 그룹에서 용이
    • 이러한 특징은 참여자를 확인하는 과정이 있기 때문에 연산량은 낮더라도 네트워크 트래픽은 높다.
    • 위협
      • 전체 참여 노드의 2/3 이상이 참여해야 가능한데, 1/3이 담합할 경우 합의 자체가 불가
      • 마찬가지로 전체 참여 노드의 2/3이상이 담합할 경우는 중앙화 문제 발생

본 포스팅은 Klaytn 스마트계약과 탈중앙앱을 수강하며 작성한 글입니다.