[블록체인 기본] 합의
합의 알고리즘
합의 알고리즘 비교분석
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 스마트계약과 탈중앙앱을 수강하며 작성한 글입니다.