의견.png

노드

위키원
znghd2 (토론 | 기여)님의 2019년 7월 4일 (목) 13:55 판
이동: 둘러보기, 검색

노드(node)는 공학에서 통신망(telecommunications network)의 역할은 한다. 통신망 가운데도 시간을 잇는 기간 회선과 단말에 연결되는 지회 선과의 접속 부분. 기간 통신회선에서 갈라져 나온 점이기도 하다. 노드 지점에 설치한 통신제어장치에 의해 통신망 전체를 제어한다. 이 통신 제어에 사용되는 컴퓨터를 노드라고 부르는 경우도 있다.

개요

노드란 네트워크 또는 데이터 구조를 구성하는 각각의 개체를 말한다. 하나의 노드는 다른 노드와 연결되는데, 연결 방식에 따라 연결 리스트(Linked List)와 트리(Tree) 등이 있다. 블록체인(blockchain)은 이전 블록이 다음 블록으로 체인처럼 연결되는 구조로 되어 있다. 비트코인, 라이트코인 등에 적용된 블록체인은 기본적으로 연결 리스트 방식으로 연결되어 있다. 네트워크 또는 데이터 구조를 구성하는 모든 노드를 '풀 노드'(full node)라고 하고, 그중 일부를 '라이트 노드'(light node)라고 한다.

종류

블록체인 네트워크를 구성하는 노드

기본적인 네트워크 참여 방식인 피투피 프로토콜을 사용하는 노드 유형이다.

  • 지갑(Wallet)
소유한 비트코인 송수신 및 잔고를 확인한다. 또, 사용자의 개인 키와 공개키를 관리하고 거래에 사용되는 주소를 생성한다.
  • 채굴(Miner)
작업증명(Proof-of-Work :PoW) 알고리즘을 사용하여 새로운 블록을 위해 경쟁하고 블록 생성 시 비트코인을 보상으로 받는다.
  • 블록체인 데이터베이스(Full Blockchain)
온전한 최신 블록체인 복사본을 유지하여 외부 참조 없이 독자적으로 거래 검증이 가능하다. 모든 블록을 다 가지고 있기 때문에 상당한 용량을 차지한다.
  • 네트워크 라우팅(Network Routing)
거래와 블록을 검증하고 전파하며, 이웃 노드들과의 연결을 유지한다. 모든 노드 유형에 필요하다.[1][2]

확장 비트코인 네트워크

피투피 프로토콜을 사용하는 네 가지 노드를 포함하여 풀(Pool) 프로토콜같이 특수한 프로토콜을 사용하는 노드들을 통틀어 확장 비트코인 네트워크라고 한다.

  • 레퍼런스 클라이언트(Reference Client)
비트코인 창시자 사토시 나카모토가 만든 공식 클라이언트로 초창기에는 이 노드 형태밖에 없었으며 시간이 지나면서 다양한 유형의 노드가 생겼다.
  • 풀 블록체인 노드(Full Block Chain Node)
풀 노드라고도 불리며, 온전한 최신 블록체인 복사본을 유지한다.
  • 단독 마이닝 노드(Solo Miner Node)
단독으로 마이닝이 가능한 노드, 마이닝 풀에 의존하는 마이닝 노드와 구별된다.
  • 라이트웨이트 지갑(Lightweight Wallet)
풀 노드가 모든 거래기록을 포함 하는 것과 달리 1,000배가량 작은 헤더만 포함하여 지갑 기능만 수행한다.
  • 풀 프로토콜 서버(Pool Protocol Servers)
피투피 네트워크에 접속하는 게이트웨이 역할로, 마이닝 풀의 노드들이 연결된 중앙서버라고 볼 수 있다.
  • 마이닝 노드(Mining Nodes)
풀 프로토콜 서버에 연결 및 의존하여 마이닝에 참여하는 노드다.
  • 라이트웨이트 스트라텀 지갑(Lightweight Stratum Wallet)
스트라텀 프로토콜을 사용하는 지갑이다. 헤더만 포함하여 지갑 기능만 수행할 수 있다.[2]

풀 노드

풀 노드(full node)는 블록체인의 모든 내역을 저장하는 노드이다. 방대한 양의 데이터를 소화할 수 있는 대규모 채굴업 관련 종사자들에게 제공되고 PC에 모든 내역이 저장되어 있기 때문에 스스로 거래 검증이 가능하다는 것이 가장 큰 특징이다. 모든 내용을 저장하기 위해 소요되는 시간이 길고 큰 용량이 필요하다는 단점이 있다.[3]

  • 비트코인
풀 노드는 비트코인 네트워크에 필수적인 것으로, 비트코인에 실제로 보안을 지원하고 제공한다. 풀 노드는 시스템 합의 규칙에 관한 트랜잭션과 블록을 확인하는 과정에 관여하여 완전한 검증 노드라 일컬어진다. 이를 통해 새로운 블록과 트랜잭션들을 블록체인에 전송할 수 있다.[4]
  • 이더리움
이더리움 풀 노드를 실행하기 위해 사용자는 컴퓨터가 충분한 자원을 갖고 있는지 확인해야 한다. 이더리움 블록체인의 전체 사본을 저장하기 위해서는 적어도 80GB의 디스크 공간이 필요하다. 만약 이더리움 테스트 넷에서 풀 노드를 실행하기를 원한다면 적어도 15GB가 더 필요하다. 80GB 블록체인 데이터를 다운로드하는 데는 오랜 시간이 걸린다. 이더리움 블록체인을 동기화하는 것은 매우 많은 입출력을 필요로 한다.

라이트 노드

라이트노드(light node)는 블록체인 거래내역 중 일종의 핵심본만 저장하는 노드이다. 모든 블록 정보를 가지고 있지 않고, 필요한 부분만 저장한다는 특징이 있다. 블록체인 개발에는 모든 데이터가 필요하지 않기 때문에 필요한 관련 정보만 가져와서 검증하고 공유 할 수 있다. 또한 자료 일부만 저장하기 때문에 작은 용량이 들어간다. 그러나 라이트 노드는 모든 블록정로를 가지고 있지 않음으로 거래 검증을 하기 위해 풀 노드에 블록 정보를 요청하여 머클 트리를 통해 이 거래가 검증된 거래인지 확인하는 방법인 SPV(Simple Payment Verify)를 수행한다.[5]

지갑

  • 마이셀리엄(Mycelium) : 씬 클라이언트 지갑(Thin Client Wallet) 중 하나로, 안드로이드 비트코인 지갑 애플리케이션이다. 마이셀리움은 스마트폰을 잃어버리거나 도난당했을 때, 해당 지갑에 저장된 비트코인을 훔쳐내지 못하도록 백업 기능을 제공한다. 온라인에 저장된 블록체인을 이용하기 때문에 동기화가 비교적 빠르지만, 인터넷에 로그인되어 있을 때 개인키를 따로 격리하지 않아 보안에 취약해질 수 있다는 단점이 있다.
  • 마이이더월렛(My Ether Wallet) : 이더리움의 브라우저 기반 자바스크립트 원격 클라이언트로 웹 브라우저를 통한 접속만으로 사용할 수 있다. 만들기 쉽고 저장 용량을 차지하지 않는다. 또한 동기화 시간이 없고 테스트넷과 하드웨어 지갑을 위한 인터페이스로써 매우 유용하다는 장점이 있다. 하지만 마이이더월렛은 브라우저를 통한 공격에 노출되어 있고 안전한 키 저장 시스템이 아니기 때문에 주 소프트웨어 지갑으로 사용해서는 안 된다. 또한, 웹이 다운되거나 해킹을 당한 경우 접근에 제한되는 단점이 있다.[6]

마스터 노드

마스터 노드란 풀 노드와 라이트 노드의 단점을 보완할 수 있는 노드로 일정 지분의 코인을 가지고 해당 코인을 채굴하는 방식이다. 마스터 노드는 전력 소모가 크지 않고 따로 기기를 구입할 필요 없이 코인만 구매하면 코인 채굴이 가능하다. 또한 코인 가격 상승과 채굴로 이익을 얻고, 코인 가격 하락 시 채굴로 손실분 보충이 가능하다.[3]

  • 대시
대시는 대표적인 마스터노드 합의 체제이다. 대시의 경우 블록보상 비율은 채굴자 45% 마스터노드 45% 거버넌스 10%로 구성되있다.

동영상

각주

  1. 니르바나, 〈블록체인 네트워크를 구성하는 노드의 종류〉, 《티스토리》, 2018-03-07
  2. 2.0 2.1 박세계, 〈비트코인 노드 및 네트워크 유형〉, 《스티밋》, 2018-03-07
  3. 3.0 3.1 블록체인 노드 종류에 대해 알아보자!〉, 《1분》, 2018-10-31
  4. 죽순, 〈암호화페 이야기〉, 《네이버 블로그》, 2018-08-11
  5. yahweh87, 〈# 12 - 블록체인 노드에 대한 개념정리(Feat. 지갑)〉, 《스티밋》
  6. Crypto Actually, 〈암호화폐 지갑 파헤치기(+핫월렛&콜드월렛)〉, 《네이버 블로그》, 2017-11-18

참고자료

같이 보기


  의견.png 이 노드 문서는 블록체인 기술에 관한 토막글입니다. 위키 문서는 누구든지 자유롭게 편집할 수 있습니다. [편집]을 눌러 이 문서의 내용을 채워주세요.