PoW는 합의 알고리즘이 아니다

Loun Lee
2 min readJun 15, 2018

--

코넬대의 Sirer 교수가 컨센서스 프로토콜(합의 알고리즘)과 관련하여 사람들이 많이 오해하고 있는 부분을 깔끔하게 정리한 트윗을 올렸기에 이를 번역해보았습니다.

컨센서스 프로토콜에 대해 큰 오해가 있는 것 같군요. 많은 사람들이 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 중에 선택하는 것이 아니라, 컨센서스 프로토콜 중 어떤 것을 선택할지 입니다. 컨센서스 프로토콜에 따라 성능, 확장성, 전력 소모량, 보안성이 결정되기 때문입니다.

--

--