쿠쿠더님의 블로그

블록체인의 핵심인 P2P 네트워크 본문

blockchain(solidity)

블록체인의 핵심인 P2P 네트워크

쿠쿠더 2025. 7. 31. 14:32
  • P2P란 무엇인가?
  • 중앙 서버 vs P2P 구조
  • P2P 네트워크의 작동 원리
  • 블록체인과 P2P의 결합
  • 블록체인에서의 브로드캐스트 예시
  • P2P 구조의 장점과 목적
  • P2P 서버 구현 흐름 정리

 

1. P2P란 무엇인가?

P2P(Peer-to-Peer)는 '동등한 참여자들 간의 직접 연결'을 의미한다.
기존의 중앙 집중형 서버 구조와 달리, P2P에서는 각 컴퓨터가 동시에 클라이언트이자 서버의 역할을 수행한다.
이 구조는 네트워크 장애를 최소화하고, 자율적인 데이터 공유 및 분산을 가능하게 만든다.

 

2. 중앙 서버 vs P2P 구조

  중앙 서버 구조

  • 중앙 서버에 모든 데이터가 집중됨
  • 클라이언트는 서버에 요청하고, 서버가 응답
  • 서버가 다운되면 전체 서비스가 중단됨
  • 트래픽이 집중되면 병목 발생

  P2P 구조

  • 개별 노드가 서로 직접 통신
  • 각 노드는 데이터를 저장하고, 요청에 응답
  • 한 노드가 장애를 일으켜도 네트워크는 유지
  • 확장성·복원력이 뛰어남

3. P2P 네트워크의 작동 원리

  1. 노드 참여
    • 사용자는 네트워크에 참여해 다른 노드들과 연결
    • 새로운 노드는 기존 노드와 데이터 동기화를 진행
  2. 데이터 통신
    • 노드는 서로 요청과 응답을 직접 주고받음
    • 각 노드는 클라이언트이자 서버
  3. 분산 저장
    • 모든 노드가 데이터를 나누어 저장
    • 특정 노드가 손상되더라도 전체 데이터는 보존됨
  4. 검증과 유지
    • 노드들은 서로 데이터를 검증하고 네트워크 상태를 유지
    • 새로운 데이터가 전파되면 각 노드는 해당 내용을 확인 후 저장

4. 블록체인과 P2P의 결합

블록체인은 중앙 기관 없이 거래를 기록하고 검증할 수 있어야 한다.
이를 위해 블록체인은 P2P 네트워크를 기반으로 설계되었다.
모든 노드는 동일한 장부(블록체인)를 유지하고, 새로운 트랜잭션이나 블록이 생성되면 이를 네트워크에 전파하여 공동 검증을 수행한다.

블록체인의 철학은 중앙 없는 신뢰.
이를 실현하는 수단이 바로 P2P 네트워크다.

 

5. 블록체인에서의 브로드캐스트 예시

  1. 사용자가 A → B로 10BTC 전송 요청
  2. 해당 거래는 mempool에 등록되어 대기
  3. 채굴자가 이 거래를 포함해 블록을 생성
  4. 생성된 블록은 P2P 네트워크를 통해 모든 노드에 전파
  5. 각 노드는 블록의 유효성을 검증
  6. 검증이 완료되면 블록을 체인에 추가하고, UTXO를 갱신
  7. 전체 네트워크가 같은 상태로 동기화됨

6. P2P 구조의 장점과 목적

  • 분산성: 데이터가 특정 노드에 의존하지 않고 분산 저장
  • 신뢰성: 여러 노드가 거래를 검증 → 위변조 불가
  • 투명성: 모든 거래 내역은 누구나 열람 가능
  • 복원력: 일부 노드가 손상되어도 전체 네트워크는 유지
  • 검열 저항성: 중앙 통제자가 없기 때문에 중단이 어렵다

7. P2P 서버 구현 흐름 정리

실제 P2P 네트워크를 구현할 때의 흐름은 다음과 같다.

  1. 지갑 생성
    • 개인키, 공개키 쌍을 만들고 주소 생성
  2. 트랜잭션 생성
    • 보내는 사람의 서명 포함, 수신자 정보와 금액 지정
  3. mempool 등록
    • 트랜잭션을 일단 메모리 풀에 올려 대기
  4. 트랜잭션 P2P 전파
    • 다른 노드에게 이 거래 내용을 알림
  5. 마이닝 및 블록 생성
    • 채굴자가 블록에 트랜잭션을 포함하고 블록 생성
  6. 블록 전파
    • 생성된 블록을 다른 노드에 브로드캐스트
  7. 체인 동기화 및 검증
    • 각 노드는 블록의 유효성 확인 후 체인에 추가
  8. UTXO 반영
    • 잔액 상태를 새롭게 반영하고 이전 트랜잭션을 소모 처리

마무리 

어려운 내용들입니다... 꼭 숙지하세요~~~~