블록체인 네트워크와 합의알고리즘, 블록 생성

MONA·2025년 7월 27일

나혼공

목록 보기
83/92

블록체인 네트워크

블록체인 기술을 구현하고 운용하는 노드(node)들의 연결 구조
블록체인은 중앙 서버가 없는 분산 네트워크로 작동하며, 모든 노드는 데이터를 공유하고 합의에 참여함

기본 구조

  1. 노드
  • 블록체인 네트워크에 참여하는 컴퓨터
  • 역할에 따라 종류가 나뉜다
    - Full Node : 전체 블록체인 데이터를 보유, 트랜젝션 검증 및 블록 저장
    • Light Node : 필요한 데이터만 부분적으로 저장
    • 채굴 노드/검증 노드 : 블록 생성 참여 (PoW는 채굴자, PoS는 검증자)
  1. P2P 네트워크 (Peer-to-Peer)
  • 모든 노드가 서버이자 클라이언트로서 서로 직접 연결
  • 중앙서버가 없으며, 정보가 분산되어 있음
A ── B ── C
│    │    │
D ── E ── F

-> 하나의 노드가 장애를 일으켜도 전체 네트워크는 유지됨

역할별 노드의 특징

  1. Full Node

    • 모든 블록과 트랜젝션 데이터를 보관하며, 트랜젝션 검증과 블록 검증 기능을 수행
    • 스스로 독립적으로 상태 검증 가능
    • 장점: 신뢰 불필요, 네트워크 신뢰성 보장
    • 단점: 저장 공간 및 하드웨어 자원 많이 사용
  2. Light Node (SPV Node)

    • 전체 데이터를 보관하지 않고, 필요한 정보만 요청해서 사용
    • 거래 내역 조회 및 지갑 기능 중심
    • 장점: 모바일, 경량 환경에 적합
    • 단점: 항상 Full Node에 의존해야 함
  3. Mining Node/ Miner

    • poW 기반 블록체인에서 블록 생성을 위해 작업 증명 수행
    • 보상으로 코인 획득
  4. Validator

    • PoS 기반 블록체인에서 블록 검증과 생성을 담당
    • 스테이킹한 코인을 담보로 활동
  5. Archive Node, Boot Node 등 (특수 노드)

    • Archive Node : 과거 모든 상태 데이터를 저장(특정 분석 용도로)
    • Boot Node: 새로운 노드가 네트워크에 진입할 때 초기 연결 도와줌

분류

  1. Public Blockchain

    • 비트코인, 이더리움 등
    • 누구나 참여 가능
    • 완전 탈중앙화, 검열 저항
    • 장점: 투명성, 오픈소스
    • 단점: 느린 처리속도, 확장성 문제, 높은 에너지 소비

    누구나 블록 생성에 참여할 수 있고, 누구나 데이터를 읽을 수 있음

  2. Private Blockchain

    • Hyperledger Fabric, Corda 등
    • 특정 조직만 참여 가능
    • 허가 기반, 빠른 처리 속도
    • 장점: 성능, 규제 준수 용이
    • 단점: 중앙화 위험, 투명성 제한

    기업 내부 시스템 구축, B2B 계약 관리 등에 적합

  3. Consortium Blockchain

    • Klaytn, Energy Web Chain 등
    • 특정 그룹의 조직이 공동 운영
    • 퍼블릭과 프라이빗의 중간 형태
    • 장점: 운영 효율성, 일정 수준의 분산성
    • 단점: 관리 복잡도, 초기 조율 필요

    여러 회사가 함께 운영하며 거버넌스를 공유하는 형태

DID(Decentralized Identity, 탈중앙 신원 인증

DID
중앙기관 없이, 사용자가 스스로 통제할 수 있는 디지털 신원 시스템

기존 신원 시스템은 정부, 기업이 발급한 중앙화된 ID에 의존함 -> 프라이버시, 위변조 위험
DID는 블록체인 기반으로 개인이 신원을 소유, 증명, 통제할 수 있게 함

DID 구성요소

구성요소설명
DID 문서DID에 대한 공개키, 인증 방법 등이 담긴 문서
VC (Verifiable Credential)증명 가능한 자격증명 (예: 대학 졸업 증명)
HolderDID를 가진 사람 (예: 사용자 본인)
Issuer자격을 부여하는 기관 (예: 대학, 회사 등)
VerifierVC의 유효성을 검증하는 사람 (예: 고용주)
DID Registry블록체인에 등록된 DID 식별자와 관련 데이터

DID와 블록체인 네트워크 구조

  • 퍼블릭 블록체인에 DID 메타데이터 등록(변조 방지)
  • 검증은 오프체인 + 블록체인 조회 방식으로 효율성 확보
  • ex: Sovrin, Hyperledger Indy, OmniOne, DID Alliance 등

합의 알고리즘

분산된 네트워크(노드)들이 하나의 동일한 상태(장부)에 도달하기 위한 규칙과 절차

블록체인은 탈중항화되어 있기 때문에 누가 맞는 블록인지 합의하는 방식이 필요하다.
합의 알고리즘은 바로 누구의 블록을 채택할 것인지, 누가 정답인지를 결정하는 방식이다.

대표적인 합의 알고리즘

  1. PoW(Proof of Work) : 작업증명

    • 원리 : 수학적으로 어려운 문제(해시 퍼즐)를 먼저 푼 사람이 블록 생성 권한을 가짐
    • 보상 : 블록을 생성한 사람(채굴자)에게 암호화폐 보상 지급
    • 특징 : 가장 많이 사용됨 (ex. 비트코인)
    • 장점 : 검증이 단순, 보안성 높음
    • 단점 : 에너지 낭비가 큼, 속도가 느림 (10분에 1블록을 생성하는 등)
      -> SHA-256 해시값이 0000으로 시작하는 값을 찾을 때까지 Nonce값을 조정하며 반복 연산
  2. PoS (Proof of Stake) : 지분 증명

    • 원리 : 많이 가진 사람이 블록 생성 권한을 가짐 (코인 스테이킹)
    • 보상 : 블록 생성 시 거래 수수료 또는 일부 이자 지급
    • 특징 : 이더리움 2.0 부터 채택
    • 장점 : 에너지 효율적, 빠른 트랜젝션 속도
    • 단점 : 많이 가진 자에게 유리함. 초기 분배 불공정 이슈 가능
      -> 지분이 많으면 책임도 많고, 블록을 잘 관리할 것이라는 가정 하에 시작
  3. 그 외

    • DPoS (위임 지분증명) : 투표를 통해 대표 노드를 선출 (EOS 등)
    • PBFT (Practical Byzntine Fault Tolerance) : 소수의 악성 노드가 있어도 합의 가능 (Hypherledger 등)
    • PoA (Proof of Authority) : 인증된 소수 노드가 블록 생성 (프라이빗 블록체인)

합의 알고리즘의 핵심 조건

  1. 합의성(Consensus) : 모두가 같은 장부를 보아야 함
  2. 무결성(Integrity) : 잘못된 블록이 포함되면 안 됨
  3. 가용성(Availability) : 일부 노드가 중단되어도 시스템은 돌아가야 함
  4. Byzantine Fault Tolerance (BFT) : 악의적인 노드가 일부 있어도 문제가 없어야 함

블록 생성 주기와 트랜젝션 처리 흐름

  • 블록체인은 언제 블록에 포함되는가?
  • 블록은 어떻게, 얼마나 자주 생성될까?
  • 최종적으로 거래 확정을 말할 수 있는 시점은?

트랜젝션 처리 흐름

A -> B 코인 전송을 가정,

  1. 전송 요청 : 사용자가 A->B로 1코인 전송 (지갑에서 서명된 트랜젝션 생성)
  2. 브로드캐스팅 : 생성된 트랜젝션이 네트워크에 전파 (노드들이 수신)
  3. 유효성 검증 : 각 노드는 서명, 잔액, 더블스펜딩 등을 검사
  4. Mempool 대기 : 유효한 트랜젝션은 메모리풀(mempool)에 임시 저장
  5. 블록 생성 대상 선정 : 블록 생성 노드(채굴자, 검증자 등)가 mempool에서 트랜젝션을 추려 블록을 구성
  6. 블록 생성 시도 : PoW면 해시 계산, PoS면 검증자 선정 ->블록 생성 시도
  7. 블록 전파 : 생성된 블록을 다른 노드들에게 전파
  8. 블록 검증 및 연결 : 노드들은 블록을 검증하고, 기존 블록체인에 연결
  9. 트랜젝션 확정 : 블록체인에 블록이 연결되면서 트랜젝션이 확정됨
[사용자] 
   │  
[트랜잭션 생성]
   ↓  
[네트워크에 전파]──→ 각 노드가 검증
   ↓  
[Mempool 저장]
   ↓  
[블록 생성자 선택]
   ↓  
[블록 생성 및 트랜잭션 포함]
   ↓  
[블록 전파 및 검증]
   ↓  
[블록체인에 연결]
   ↓  
[확정 완료 ✅]

블록 생성 주기

네트워크의 설계와 합의 알고리즘에 따라 다름

네트워크블록 생성 주기합의 방식
비트코인약 10분PoW
이더리움 1.0약 13~15초PoW
이더리움 2.0약 12초PoS
Hyperledger Fabric수 초 내외PBFT
Solana400ms~1초PoH+PoS

confirmation

  • 블록체인에서는 블록이 연결될 때마다 그 블록 내 트랜젝션의 확정성(최종성)이 증가함.
  • ex: 비트코인은 6개의 블록이 연결되었을 때, 해당 거래가 확정되었다고 판단함
블록 수상태
1개거래 포함, 그러나 되돌릴 수 있음
3개대부분 안전함
6개 이상사실상 확정

트랜젝션이 블록에 포함되기까지 걸리는 시간?

  • 낮은 수수료, 많은 트래픽에 의해 mempool에 오래 대기할 수도 있다
  • 보통 수수료(가스)가 높을 수록 빠르게 포함됨
  • 이더리움은 가스 비용을 기준으로 트랜젝션을 정렬함(우선순위 큐)
profile
고민고민고민

0개의 댓글