합의 알고리즘

Posted on Sep 12, 2024

주요 합의 알고리즘 종류

  1. 작업 증명 (Proof of Work, PoW)
  • 네트워크 참여자들이 매우 복잡한 수학적 문제를 해결하는 경쟁을 통해 블록을 생성하는 방식입니다. 이 문제를 먼저 해결한 노드가 새로운 블록을 추가할 권리를 얻게 됩니다.
  • 예시: 비트코인, 이더리움(2.0 이전).
  • 장점: 보안성이 높고, 중앙화된 권한 없이 탈중앙화된 네트워크에서 동작 가능.
  • 단점: 에너지 소모가 매우 크고, 처리 속도가 느릴 수 있음.
  1. 지분 증명 (Proof of Stake, PoS)
  • 설명: 노드가 보유한 암호화폐의 양(지분)에 따라 블록 생성 권한을 얻는 방식입니다. 지분이 많을수록 새로운 블록을 추가할 확률이 높아집니다.
  • 예시: 이더리움(2.0), 카르다노(Cardano), 폴카닷(Polkadot).
  • 장점: 에너지 효율이 높고, PoW에 비해 블록 생성 속도가 빠름.
  • 단점: 지분이 많은 노드에 의한 중앙화 가능성.
  1. 위임 지분 증명 (Delegated Proof of Stake, DPoS)
  • 설명: 사용자가 일정 수의 대표자를 선출하고, 이 대표자들이 블록을 생성하는 방식입니다. 대표자는 네트워크 참여자들의 투표에 의해 선정되며, 이들이 블록 검증과 생성 작업을 수행합니다.
  • 예시: EOS, 트론(Tron), 스팀(Steem).
  • 장점: PoS에 비해 더 빠른 처리 속도를 제공하며, 에너지 효율이 좋음.
  • 단점: 선출된 소수의 노드에 의해 중앙화될 가능성이 있음.
  1. 권한 증명 (Proof of Authority, PoA)
  • 설명: 신뢰할 수 있는 소수의 검증자가 블록을 생성하는 방식입니다. 검증자는 네트워크 내에서 신뢰할 수 있는 인물로 인증된 상태여야 하며, 이들이 블록을 추가하는 역할을 합니다.
  • 예시: VeChain, 일부 프라이빗 블록체인.
  • 장점: 매우 빠르고, 신뢰할 수 있는 환경에서 효율적으로 동작.
  • 단점: 중앙화되어 있을 가능성이 높고, 소수의 검증자에게 의존.
  1. 지연된 작업 증명 (Delayed Proof of Work, dPoW)
  • 설명: 블록체인의 보안을 강화하기 위해 기존 PoW 블록체인의 해시를 사용하여 추가 보안 레이어를 제공하는 방식입니다. 즉, 보조 체인이 주요 PoW 체인의 보안을 빌려와 활용하는 형태입니다.
  • 예시: Komodo.
  • 장점: 기존 PoW 블록체인의 보안성을 활용하면서도 효율성을 높임.
  • 단점: 기존 PoW 체인에 의존성이 있음.
  1. 비잔틴 장애 허용 (Byzantine Fault Tolerance, BFT)
  • 설명: 비잔틴 장군 문제를 해결하기 위한 방식으로, 네트워크 내 일부 노드가 악의적인 행위를 하거나 응답하지 않는 상황에서도 시스템이 정상적으로 동작할 수 있게 합니다.
  • 예시: Hyperledger, Tendermint.
  • 장점: 높은 보안성을 제공하고, 네트워크 내에서 신뢰할 수 없는 노드가 있더라도 신뢰할 수 있는 결과를 얻을 수 있음.
  • 단점: PoW나 PoS에 비해 복잡하며, 네트워크가 커질수록 속도가 느려질 수 있음.
  1. 실용 비잔틴 장애 허용 (Practical Byzantine Fault Tolerance, PBFT):
  • 사용 예시: Hyperledger Fabric
  • 특징: 네트워크 내에서 과반수 이상의 노드가 동일한 상태에 도달해야 합의가 이루어짐.
  1. QBFT (Quorum-based Byzantine Fault Tolerance)
  • 설명: QBFT는 비잔틴 장애 허용(Byzantine Fault Tolerance, BFT) 계열의 합의 알고리즘 중 하나로, 네트워크 내의 노드들이 합의에 도달하기 위해 과반수 이상의 노드의 승인을 요구하는 방식입니다. 비잔틴 장애를 허용하면서도 네트워크의 안전성과 효율성을 유지하려는 목적에서 개발되었습니다. PBFT(Practical Byzantine Fault Tolerance) 알고리즘에서 발전된 형태입니다.
  • 예시: Hyperledger Besu에서 사용되며, 주로 기업용 블록체인에 적합한 알고리즘으로 알려져 있습니다.
  • 장점: 네트워크 내 악의적인 노드가 있더라도, 과반수의 신뢰할 수 있는 노드가 있으면 안전하게 합의에 도달할 수 있습니다. 또한, PoW처럼 에너지 소비가 크지 않으며, 빠른 트랜잭션 처리가 가능합니다.
  • 단점: 네트워크 규모가 커질수록 합의에 필요한 통신 비용이 증가하여 성능이 저하될 수 있습니다. 노드 수가 많아질수록 네트워크의 처리 속도가 느려질 수 있습니다.

QBFT는 비잔틴 장애 허용을 기반으로 하면서도 성능과 확장성을 유지하려는 알고리즘으로, 주로 엔터프라이즈 블록체인 환경에서 사용됩니다.

  1. 혼합 합의 알고리즘 (Hybrid Consensus):
  • 사용 예시: Decred
  • 특징: 두 가지 이상의 합의 알고리즘을 결합하여 안정성과 효율성을 극대화.
  1. Raft 알고리즘
  • 설명: Raft는 분산 시스템에서 여러 노드가 일관된 상태를 유지할 수 있도록 리더 기반 구조로 동작하는 합의 알고리즘입니다. 리더가 클라이언트 요청을 처리하고, 그 로그를 팔로워 노드에 복제하여 일관성을 유지합니다. 리더가 장애가 발생하면 새로운 리더가 투표를 통해 선출됩니다.
  • 예시: Etcd, Consul.
  • 장점: 구조가 간단하고 이해하기 쉬워 구현이 용이하며, 리더 선출과 로그 복제가 빠르고 안정적입니다.
  • 단점: 리더에 의존적인 구조이기 때문에 리더가 자주 변경되면 성능이 저하될 수 있고, 리더 장애 시 복구 시간이 필요합니다.
  1. Tendermint:
  • 사용 예시: Cosmos
  • 특징: BFT 기반으로 빠르고 안정적으로 합의를 달성하는 알고리즘. PoS와 결합하여 사용.

기타 합의 알고리즘

  • Federated Byzantine Agreement (FBA): 리플, 스텔라에서 사용.
  • Leased Proof of Stake (LPoS): 웨이브(Waves)에서 사용.
  • Proof of Burn (PoB): 특정 양의 암호화폐를 소각하여 블록 생성 권한을 얻는 방식.
comments powered by Disqus