합의알고리즘
도대체 알고리즘~합의알고리즘 말들하는데 합의알고리즘이뭐에요,?
요약 : 합의 알고리즘은 여러 선택지중 무엇이 진짜 블록체인인가?를 결정하는 내용이 포함된 것이 합의 알고리즘 입니다.
컨센서스라 불리며, 비트코인의 경우 가장 무거운/가장 긴 체인을 선택하는 규칙을 PoW와 함께 사용함으로써 컨센서스를 얻습니다.
우선 오해의 소지가 있기 때문에 신원인증 개념과 합의 알고리즘의 개념을 먼저 설명해드리겠습니다.
많은 사람들이 PoW, PoS를 컨센서스 프로토콜, 합의 알고리즘으로 이야기하지만 잘못된 정보입니다.
Proof-of-Work와 Proof-of-Stake는 신원 위조를 막기 위한 메커니즘(sybil control mechanism, 누구에게 블록 생성/투표 권한을 줄 것인가를 결정하기 위한 메커니즘) 입니다.
PoS는 PoS 자체만으로는 컨센서스를 이루지 못합니다. PoS는 PBFT, Ben-Or, 텐더민트/코스모스, 아발란체 같은 결정을 내리는 프로토콜과 함께 존재해야 합니다.
PoW 자체만으로는 컨센서스 메커니즘이 아닙니다. 비트코인과 비트코인 캐시의 경우, 가장 무거운/가장 긴 체인을 선택하는 규칙을 PoW와 함께 사용함으로써 컨센서스를 얻습니다.
PoW 자체는 Dwork와 Naor에 의해 처음 제안된 것 처럼 스패밍을 막기 위해 사용될 수 있습니다. PoW는 합의를 도출하기 위한 수단이 아니라, 속도를 제한하기 위한 수단입니다.
세상엔 다양한 컨센서스 프로토콜(메커니즘)이 존재하고, 다양한 신원 위조 방지 메커니즘이 존재합니다. 이 두 종류의 메커니즘들은 분명히 다릅니다.
각 시스템 또는 코인은 컨센서스 메커니즘 중 하나를 신원 위조 방지 메커니즘 중 하나와 조합하게 됩니다. 물론, 모든 조합이 다 성립하는 것은 아닙니다. 그러나 많은 종류의 조합이 가능합니다.
예를 들면, 아발란체를 PoW나 PoS와 함께 사용할 수 있습니다.
또, 지분을 갖고 있지만 악의적인 의도를 가진 사람이 네트워크를 마비시키지 못하도록 하는 용도로 PoW를 PoS 코인에서 사용할 수도 있습니다.
블록체인의 중요한 부분은 PoW와 PoS 중에 선택하는 것이 아니라, 컨센서스 프로토콜 중 어떤 것을 선택할지 입니다. 컨센서스 프로토콜에 따라 성능, 확장성, 전력 소모량, 보안성이 결정되기 때문입니다.