합의알고리즘의 분류
합의알고리즘에 따라 분산원장을 얼마나 신뢰할 수 있는지 판단할 수 있다. 먼저 가장 큰 분류인 PoW와 PoS 비교를 통해 좋은 합의알고리즘의 의미를 이해해보고자 한다.
Proof of Work
최초의 블록체인 네트워크는 비트코인이다.
비트코인의 합의 알고리즘은 PoW이다.
비트코인의 PoW는 채굴이라는 과정을 통해 이루어진다.
채굴이란 수많은 비트코인 거래를 하나의 블록으로 기록하는 과정이다. 수많은 채굴자들은 채굴하기 위해 경쟁하며, 경쟁은 특정 조건을 만족하는 암호화된 숫자(해시값)을 가장 먼저 찾는 과정이다. 여기에 막대한 컴퓨팅 파워와 전력을 필요로 한다. 가장 먼저 정답 해시값을 찾은 채굴자가 승자가 되며, 새로운 비트코인(블록 보상)과 거래 수수료를 받는다. 다른 모든 노드들은 이 승자가 찾은 해시값이 맞는지 검증하고, 검증 후 자신들의 블록체인에 추가한다.
블록 생성 주기는 약 10분에 1개 정도이다. 난이도 조절 알고리즘을 통해 블록 생성 주기는 약 10분에 수렴하도록 동작한다. 이를 TPS로 환산하면 초당 3에서 10의 거래를 처리한다고 볼 수 있다.
누가 다음 블록을 생성하고 검증할 권한을 가질 것인지는 얼마나 많은 컴퓨팅 작업을 수행하여 증명했는지에 따라 결정한다.
Proof of Stake
이더리움은 The merge 업그레이드를 통해 PoW에서 PoS로 전환했다.
수많은 알트코인은 pure PoS를 변형한 형태이다.
PoS는 스테이킹(Staking)이라는 과정을 통해 이루어진다.
스테이킹이란 블록체인 네트워크에 참여하는 이들이 자신이 보유한 암호화폐를 일정량 담보로 묶어두는 행위이다. 수많은 참여자들은 다음 블록을 생성하고 검증하기 위해 경쟁하며, 경쟁은 스테이킹된 지분(코인 보유량)의 크기에 따라 결정된다. 즉, 더 많은 코인을 스테이킹할수록 다음 블록을 만들고 검증할 검증자(Validator)로 선택될 확률이 높아진다.
검증자로 선택된 참여자는 네트워크의 새로운 거래들을 모아 블록을 생성하고, 다른 검증자들의 검증을 거쳐 블록체인에 추가한다. 성공적으로 블록을 생성하고 검증에 참여한 검증자는 새롭게 발행된 코인(스테이킹 보상)과 해당 블록에 포함된 거래 수수료를 받는다. 만약 검증자가 악의적인 행동을 하거나 네트워크 규칙을 위반할 경우, 스테이킹된 지분의 일부 또는 전부를 몰수하는 슬래싱(Slashing)이라는 페널티 시스템을 적용받는다.
PoS 기반 블록체인은 블록 생성 주기가 프로젝트마다 다양하지만, PoW보다 훨씬 짧아 거래 처리 속도(TPS)가 월등히 빠르다. 예를 들어, 이더리움은 PoS 전환 후 약 15~30 TPS를 처리하며, 솔라나(Solana), 수이(Sui)와 같은 PoS 기반 체인들은 1500 TPS 이상의 성능을 보여주기도 했다.
PoS는 PoW처럼 막대한 컴퓨팅 파워와 전력을 필요로 하지 않아 에너지 효율성이 높다.
누가 다음 블록을 생성하고 검증할 권한을 가질 것인지는 얼마나 많은 암호화폐를 보유하고 스테이킹 했는지에 따라 결정한다.
두 합의 알고리즘 공통점은 다음과 같다.
사전 비용을 통해 신뢰를 검증한다. 그리고 신뢰 검증이 곧 네트워크의 보안을 구성한다.
단순하게 에너지 사용 효율을 따지자면, 같은 결과를 얻는데 많은 전기와 컴퓨팅 리소스를 쓰는 PoW가 훨씬 비효율적으로 보인다. PoW는 컴퓨팅 리소스와 전기를 위한 돈과 시간을 필요로 한다. PoS는 컴퓨팅 리소스와 staking 할 토큰만 있으면 된다. 이는 돈만 있으면 된다는 얘기다. 이것은 상당한 시사점이다. 시간은 비가역적이기에 일반적인 재화보다 특별함을 부자들은 잘 알고 있다.
다음에는 합의 알고리즘의 finality와 PoS의 known issues에 대해 살펴보려 한다.