블록체인 노드(Node) 종류

adc0612·2022년 10월 22일
0

블록체인에서 노드(Node)

  • 전 세계적으로 수십만 개 이상이 존재하는 서버들을 노드(Node)라고 한다.
  • 노드는 기능과 필요에 따라 종류와 형태가 구별되고, 자신이 맡은 역할에 따라 다양한 기능을 수행한다.
  • 노드는 트랜잭션을 제안하고 검증할 수 있으며, 합의를 이루고, 블록체인을 보호하기 위해 채굴(Mining)을 수행하기도 한다.
  • 프라이빗 블록체인(Private Blockchain) 또는 하이퍼레저 패브릭의 멤버십 서비스 같은 폐쇄형 블록체인 네트워크에서는 계정 역할을 하는 노드가 꼭 필요하다.

    하이퍼레저 패브릭의 멤버십 서비스:
    CA(인증 기관), MSP(권한 부여), Identity Mixer(서명 증명) 등을 이용해 패브릭 네트워크 사용자의 접근을 제어하는 기능을 제공한다.

노드의 종류

지갑(Wallet)

지갑은 사용자의 개인 키와 공개 키를 관리하고 거래에 사용하는 주소를 생성하는 기능을 담당한다.

풀 노드(Full Node)

  • 풀 노드는 블록체인에서 이뤄진 모든 거래정보를 전부 저장하는 노드다.
  • 제네시스 블록부터 시작해서 현재 블록까지 모든 블록체인 정보를 수집, 저장한다.

    기존 프로그램의 경우, 중앙서버 한 곳에 저장하여 내용을 확인하지만, 블록체인에서는 주요 데이터를 여러 풀 노드가 함께 보관하고 있으므로 해킹하기 위해서는 여러 곳을 한꺼번에 공격해야 하므로 사실상 해킹이 불가능하다.

  • 풀 노드는 자신의 PC에 모든 블록체인의 내용을 가지고 있으므로 다른 노드의 도움없이 스스로 거래 검증이 가능하다.
  • 단점은 제네시스 블록부터 지금의 블록까지 용량이 너무 커서 다운로드 받는데 시간이 오래 걸리고 하드디스크의 용량을 많이 차지한다.

    제네시스 블록: 제네시스 블록(Genesis Block)은 블록체인에서 생성된 첫 번째 블록, 즉, 최초의 블록이다.
    제네시스 블록이 생성되었다는 것은 해당 블록체인 네트워크가 시작되었다는 의미가 있다.
    다만, 타임 스탬프와 블록이 컨펌되는 시간이 다를 수 있기 때문에 정확히는 "제네시스 블록이 첫 번째 블록이 아닐 수 있다."는 주장도 있다.

라이트 노드(Light node)

  • 라이트 노드는 블록체인에 참여하여 거래를 수행하는 노드로, 풀 노드에 거래 데이터를 요청하여 개별 거래를 검증하는 기능을 수행한다.
  • 풀 노드의 단점을 해결하기 위해 일종의 요약본, 즉 블록헤더에 있는 중요한 데이터만 보유하고 있는 것이 라이트 노드이다.
  • 라이트 노드는 가볍고 풀 노드와 다르게 자료의 일부분만을 다운받는 대신 거래를 위해 내용검증이 필요할때는 풀 노드에게 자료를 요청해야한다.

SPV 노드(Simple Payment Verification node)

  • SPV노드는 라이트 노드와 동일한 개념으로 단순 지불 검증 노드로서 풀 불록체인을 저장하지 않아도 특정 거래를 확인 할 수 있는 노드다.
  • SPV노드는 거래가 담긴 블록의 깊이와 높이를 참고하여 단순 검증(안전하게 보관 되었다는 검증)은 할 수 있지만, 거래 전부에 대한 기록이 없기에 직접 검증(거래 자체가 적합한지)은 불가능하다. UTXO의 소비 여부 또한 검증할 수 없다.
  • SPV노드는 이웃 노드들에게 지불 검증을 위해 필요한 데이터를 요청하게 된다. 필요하고자 하는 데이터가 무엇인지 그대로 전달해야 과정으로 SPV노드는 자연스레 프라이버시를 노출하게 된다.
  • 프라이버시를 노출을 보완하기 위해 ‘블룸필터(Bloom Filter)’를 사용하여 원하는 데이터를 얻으면서 프라이버시를 유지할 수 있게 된다.

마스터 노드(Master node)

  • 마스터 노드는 풀 노드중에서 권한과 보상을 받는 노드로 주인, 혹인 상위 노드로 표현된다.
  • 풀 노드는 블록체인 데이터를 전부 저장해 네트워크에 기여하는 의무를 갖고 있고, 마스터 노드는 풀 노드의 의무를 수행하면서 블록생성에 대한 보상(투표 실시)을 받고, 트랜잭션의 추가기능(익명, 즉시 전송)을 수행한다.

채굴 노드(Mining node)

  • 채굴 노드의 역할은 새로운 블록을 빠르게 채굴하는 것이다.
  • 채굴 노드는 작업증명방식(PoW)을 채택한 블록체인에만 존재한다.

랜덤 노드(Random node)

  • 랜덤노드는 전체 블록체인의 무결성을 유지하기 위해 임의로 선택된 노드로서, 선출된 마스터노드와 함께 블록을 생성한다.

엔드포인트 노드(Endpoint node) (구)레인저 노드(Ranger node)

  • 엔드포인트 노드는 카카오의 자회사인 그라운드X가 개발한 플랫폼인 클레이튼에 적용된 노드이다.
  • 처음에는 레인저노드(Ranger node)라고 부르다가, 이후에 조정된 역할을 정확하게 기술하기 위해 이름을 엔드포인트 노드로 변경했다.

합의 노드(CN; Consensus nodes)

  • 합의 노드는 트랜잭션을 새로운 블록으로 배치하고, 비잔틴 장애 허용(BFT; Byzantine Fault Tolerance) 합의 알고리즘을 사용하여 블록들을 확인하는 작업을 담당하는 합의 네트워크를 형성하는 노드다.
  • 블록체인에서 블록을 생성하는 노드로 블록체인을 유지하기 위해서는 합의노드가 존재하여야 하며 스마트 계약 실행이나 거래 확인은 합의 노드에서 수행한다.

슈퍼 노드(Super node) or 대표 노드(Representative node)

  • 슈퍼 노드 혹은 대표 노드는 블록체인 네트워크의 노드들을 대표해 블록을 생성하고 그에 대한 보상을 받는 노드로 위임지분증명(DPoS) 합의 알고리즘을 채택하고 있는 블록체인에서 특징적으로 볼 수 있는 시스템이다.

베이킹 노드(Baking node)

  • 베이킹 노드는 테조스 블록체인에서 사용하는 용어로, 코인 소유자로부터 위임받은 코인으로 베이킹(baking)을 하는 노드다.
  • 베이킹(Baking)은 테조스 블록체인에서 블록을 생성하고 블록을 입증하는 방법으로, 채굴과 동일한 의미를 가진다.

히스토리 노드(History node)

  • 히스토리 노드(History node)란, 블록에 있는 데이터를 찾을 수 있는 노드다.
  • 이더리움 API 서비스 제공 업체인 인퓨라(Infura)는 이 히스토리 노드의 데이터를 이용한 새로운 BM(Business Model)을 운영하기도 한다.

노드 - Network Routing

네트워크 라우팅은 경로 정보를 기반으로 현재의 네트워크에서 다른 네트워크로 최적의 경로를 통해 데이터를 전송하는 기법으로, 모든 노드가 기본적으로 가지고 있는 기능이다.
블록체인상의 P2P 네트워크 전송기능을 담당한다.

아래와 같은 조합으로 다양한 형태로 노드가 형성이 된다.

  1. Reference Client
    모든 노드를 포함한 완전한 네트워크의 형태
    Ex. Bitcoin Core
  2. Full Blockchain Node
    네트워크 라우팅 기능과 모든 블록체인 데이터를 가진 형태
  3. Solo Miner
    지갑기능은 제외하고 채굴에 특화된 형태
  4. Lightweight Wallet(SPV: Specified Payment Verification)
    지갑기능과 네트워크 라우팅 기능만 포함된 노드로 전체 블록체인 데이터는 없이 단순히 거래와 유효성 검증만 가능한 스마트폰에 설치되 지갑등과 같은 노드

    Full blockchain 데이타는 몇백 기가를 넘는 용량을 차지하기 때문에 스마트폰에는 Full Blockchain Node의 형태로 설치하기가 어렵다!

0개의 댓글