BLOCKCHAIN

[블록체인] P2P(Peer-to-Peer)란? 합의 알고리즘(Consensus Algorithm)이란??

ch010104 2025. 3. 11. 23:25

1. P2P (Peer-to-Peer) 네트워크란?

1) P2P (Peer-to-Peer) 네트워크 개념

  • P2P 네트워크는 중앙 서버 없이 참여자(노드)들이 직접 데이터를 공유하는 네트워크 구조
  • 블록체인은 P2P 방식을 활용하여 데이터를 분산 저장하고 네트워크를 유지

2) P2P 네트워크의 특징

1. 탈중앙화 (Decentralization) → 중앙 서버 없이 분산된 노드들이 운영
2. 보안성 강화 (Security & Fault Tolerance) → 일부 노드가 다운되어도 네트워크 운영 가능
3. 데이터 무결성 (Data Integrity) → 동일한 데이터를 여러 노드가 공유하여 위변조 방지

이러한 P2P 네트워크 안에는 3가지 다양한 노드들이 있다!!

3) P2P 네트워크의 노드

    1) 풀 노드 (Full Node)

  • 블록체인의 모든 트랜잭션 데이터를 저장하고 검증하는 핵심 노드
    블록체인의 보안과 신뢰성을 유지하며, 모든 트랜잭션과 블록을 독립적으로 검증 가능
    새로운 블록이 추가되면 모든 블록 데이터를 다운로드하여 동기화
    예시: 비트코인 풀 노드(Bitcoin Core), 이더리움 Geth 노드
  • 단점: 저장 공간이 크고(테라바이트 단위), 동기화 시간이 오래 걸림

    2) 라이트 노드 (Light Node)

  • 블록체인의 일부 데이터(블록 헤더)만 저장하는 노드
    트랜잭션의 유효성을 빠르게 확인할 수 있지만, 블록 검증은 풀 노드에 의존
    SPV(Simplified Payment Verification, 단순 지불 검증) 방식 사용
    예시: 모바일 월렛, 브라우저 기반 지갑(Metamask 등)
  • 장점: 빠르고 가벼움 → 일반 사용자에게 적합
    단점: 모든 데이터를 저장하지 않으므로 직접적인 검증이 불가능

    3) 검증 노드 (Validating Node)

  • PoS(PoW가 아닌 경우)에서 블록을 생성하고 트랜잭션을 검증하는 노드
    PoW에서는 "채굴자(Miner)"가 블록을 생성하지만, PoS에서는 "검증자(Validator)"가 역할을 수행
    일정량의 코인을 스테이킹(예치)한 후, 네트워크 보안 유지에 기여
    예시: 이더리움 2.0 PoS 검증 노드, 카르다노, 폴카닷 검증자
  • 장점: 에너지 효율적, 빠른 검증 가능
    단점: 일정량의 코인을 보유해야 함

    **P2P 네트워크를 기반으로 하는 블록체인은 CAP 이론 중 가용성분할 내성을 우선적으로 보장함**
    CAP(Consistency, Availability, Partition Tolerance) 이론
    Consistency(일관성): 분산 시스템의 모든 데이터가 최신 상태이고, 동기화가 되어 있나??
    Availability(가용성): 시스템의 구성 요소 중에 일부가 장애가 발생해도 전체의 수행 능력에 영향을 주지 않는가??
    Partition Tolerance(분할 내성): 네트워크의 분할이 발생해도 정상적으로 작동하나??

2. 합의 알고리즘 (Consensus Algorithm) 이란?

블록체인 네트워크에서 노드들이 거래를 검증하고 새로운 블록을 추가하는 과정에서 "합의(Consensus)" 를 이루는 방식

1) 합의 알고리즘 (Consensus Algorithm) 개념

  • 블록체인 네트워크에서 거래(트랜잭션)를 검증하고 새로운 블록을 추가하는 과정에서 네트워크 참여자 간의 합의를 이루는 알고리즘
  • 블록체인은 중앙 기관이 없기 때문에 합의 알고리즘을 통해 네트워크를 신뢰할 수 있도록 유지함

 

    1) PoW (Proof of Work, 작업증명) – 비트코인 방식

  • 노드들이 연산(해시 계산) 경쟁을 통해 블록 생성
    가장 긴 체인을 신뢰하는 방식 → 블록체인 무결성 유지
    보안성이 높지만, 전력 소모가 많고 속도가 느림
    ✔️ 예시: 비트코인, 과거 이더리움

    2) PoS (Proof of Stake, 지분증명) – 이더리움 방식

  • 많은 코인을 스테이킹한 사용자가 블록 생성자로 선정
    PoW보다 에너지 효율적이며, 네트워크 속도가 빠름
    부유한 노드가 더 많은 블록을 생성할 가능성이 있음
    ✔️ 예시: 이더리움 2.0, 카르다노

    3) DPoS (Delegated Proof of Stake, 위임지분증명) – EOS 방식

  • 토큰 보유자가 대표 노드를 선출하고, 이들이 블록을 생성
    PoS보다 더욱 빠르고 효율적이지만, 중앙화될 가능성이 있음
    ✔️ 예시: EOS, TRON

    네트워크의 속도는 DPoS > PoS > PoW 순으로 빠르다!

2) 멤풀(mempool) 의 개념

"메모리 풀"이라고도 부르며, 블록에 포함되지 않은 트랜잭션들이 일시적으로 저장되는 공간을 말함

채굴자들은 유저의 트랜잭션을 mempool에 임시로 저장해 놓고, 그 중에서 몇 개의 트랜잭션을 선택하여 임시 블록에 포함

각 노드는 새로운 트랜잭션이 도착하면 mempool에 보관
채굴자(Miner) 또는 검증자(Validator) 가 mempool에서 트랜잭션을 가져가서 블록에 추가

 

✔️  왜 필요할까?

  • 트랜잭션을 즉시 처리할 수 없기 때문에 대기 공간 필요
  • 네트워크 트래픽이 많을 경우 높은 수수료를 지불한 트랜잭션이 우선 처리됨(mempool은 들어오는 순서대로 나가는 것이 아님!!)