노드
노드(node)는 공학에서 통신망(telecommunications network)의 역할은 한다. 통신망 가운데도 시간을 잇는 기간 회선과 단말에 연결되는 지회 선과의 접속 부분. 기간 통신회선에서 갈라져 나온 점이기도 하다. 노드 지점에 설치한 통신제어장치에 의해 통신망 전체를 제어한다. 이 통신 제어에 사용되는 컴퓨터를 노드라고 부르는 경우도 있다.
목차
개요
노드란 네트워크 또는 데이터 구조를 구성하는 각각의 개체를 말한다. 하나의 노드는 다른 노드와 연결되는데, 연결 방식에 따라 연결 리스트(Linked List)와 트리(Tree) 등이 있다. 블록체인(blockchain)은 이전 블록이 다음 블록으로 체인처럼 연결되는 구조로 되어 있다. 비트코인, 라이트코인 등에 적용된 블록체인은 기본적으로 연결 리스트 방식으로 연결되어 있다. 네트워크 또는 데이터 구조를 구성하는 모든 노드를 '풀노드'(full node)라고 하고, 그중 일부를 '라이트 노드'(light node)라고 한다.
종류
블록체인 네트워크를 구성하는 노드
기본적인 네트워크 참여 방식인 피투피 프로토콜을 사용하는 노드 유형이다.
- 지갑(Wallet)
- 소유한 비트코인 송수신 및 잔고를 확인한다. 또, 사용자의 개인 키와 공개키를 관리하고 거래에 사용되는 주소를 생성한다.
- 채굴(Miner)
- 작업증명(Proof-of-Work :PoW) 알고리즘을 사용하여 새로운 블록을 위해 경쟁하고 블록 생성 시 비트코인을 보상으로 받는다.
- 블록체인 데이터베이스(Full Blockchain)
- 온전한 최신 블록체인 복사본을 유지하여 외부 참조 없이 독자적으로 거래 검증이 가능하다. 모든 블록을 다 가지고 있기 때문에 상당한 용량을 차지한다.
- 네트워크 라우팅(Network Routing)
확장 비트코인 네트워크
피투피 프로토콜을 사용하는 네 가지 노드를 포함하여 풀(Pool) 프로토콜같이 특수한 프로토콜을 사용하는 노드들을 통틀어 확장 비트코인 네트워크라고 한다.
- 레퍼런스 클라이언트(Reference Client)
- 비트코인 창시자 사토시 나카모토가 만든 공식 클라이언트로 초창기에는 이 노드 형태밖에 없었으며 시간이 지나면서 다양한 유형의 노드가 생겼다.
- 풀 블록체인노드(Full Block Chain Node)
- 풀노드라고도 불리며, 온전한 최신 블록체인 복사본을 유지한다.
- 단독 마이닝노드(Solo Miner Node)
- 라이트웨이트 지갑(Lightweight Wallet)
- 풀노드가 모든 거래기록을 포함 하는 것과 달리 1,000배가량 작은 헤더만 포함하여 지갑 기능만 수행한다.
- 풀 프로토콜 서버(Pool Protocol Servers)
- 피투피 네트워크에 접속하는 게이트웨이 역할로, 마이닝 풀의 노드들이 연결된 중앙서버라고 볼 수 있다.
- 마이닝노드(Mining Nodes)
- 풀 프로토콜 서버에 연결 및 의존하여 마이닝에 참여하는 노드다. 마이닝(채굴)은 블록체인 상에서 새로운 거래가 발생하면, 그 거래내역을 기록한 블록을 생성하는 과정을 말한다. 가령 네트워크 상에서 새로운 거래가 계속해서 발생한다고 하자. 마이닝노드는 이러한 거래내역을 모아 하나의 블록에 차곡차곡 채워가는 작업을 한다. 마이닝노드는 채굴에 대한 보상으로 비트코인 등의 암호화폐를 보상받아 넓은 의미로 채굴자라고 불리기도 한다.
- 라이트웨이트 스트라텀 지갑(Lightweight Stratum Wallet)
풀노드
풀노드(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%로 구성되있다.
랜덤노드
랜덤노드(random node)는 전체 블록체인의 무결성을 유지하기 위해 임의로 선택된 노드로서, 선출된 마스터노드와 함께 블록을 생성한다. 랜덤노드의 합의과정을 거쳐 블록을 생성하는 대표적인 암호화폐는 시그마체인(Sigma Chain)이 있다.
베이킹노드
베이킹노드(baking node)는 테조스(Tezos) 블록체인에서 사용하는 용어로, 코인 소유자로부터 위임받은 코인으로 베이킹(baking)을 하는 노드이다. 베이킹은 테조스 블록체인에서 블록을 생성하고 블록을 입증하는 방법으로, 채굴과 동일한 의미를 가진다. 테조스 블록체인에서 채굴을 하기 위해서는 최소 8,000XTZ가 필요한 테조스 지분증명 시스템에 참여해야만 한다. 소유한 XTZ가 많을수록 블록을 생성하고 블록 생성 보상을 얻을 확률이 높아진다.
슈퍼노드
슈퍼노드(super node) 혹은 대표노드(representative node)는 블록체인 네트워크의 노드들을 대표해 블록을 생성하고 그에 대한 보상을 받는 노드이다. 슈퍼노드는 위임지분증명(DPoS) 합의 알고리즘을 채택하고 있는 블록체인에서 특징적으로 볼 수 있는 시스템이다. 블록체인 네트워크의 노드들은 암호화폐 보유량에 따라 투표권을 행사해 중요한 의사결정 권한을 수행할 일종의 대리인을 뽑는다. 이렇게 선정된 대표노드는 블록 생성 및 거래 확정 권한을 위임받아 해당 역할을 수행한다. 이 경우 전체 네트워크의 노드로부터 합의를 도축하는 방식이 아니라, 선출된 소수의 대표노드만 합의 과정에 참여하는 방식이므로 트랜잭션 처리 속도가 훨씬 빨라진다.
동영상
각주
- ↑ 니르바나, 〈블록체인 네트워크를 구성하는 노드의 종류〉, 《티스토리》, 2018-03-07
- ↑ 2.0 2.1 박세계, 〈비트코인 노드 및 네트워크 유형〉, 《스티밋》, 2018-03-07
- ↑ 3.0 3.1 〈블록체인 노드 종류에 대해 알아보자!〉, 《1분》, 2018-10-31
- ↑ 죽순, 〈암호화페 이야기〉, 《네이버 블로그》, 2018-08-11
- ↑ yahweh87, 〈# 12 - 블록체인 노드에 대한 개념정리(Feat. 지갑)〉, 《스티밋》
- ↑ Crypto Actually, 〈암호화폐 지갑 파헤치기(+핫월렛&콜드월렛)〉, 《네이버 블로그》, 2017-11-18
참고자료
- 니르바나, 〈블록체인 네트워크를 구성하는 노드의 종류〉, 《티스토리》, 2018-03-07
- 박세계, 〈비트코인 노드 및 네트워크 유형〉, 《스티밋》, 2018-03-07
- 〈블록체인 노드 종류에 대해 알아보자!〉, 《1분》, 2018-10-31
- 죽순, 〈암호화페 이야기〉, 《네이버 블로그》, 2018-08-11
- Crypto Actually, 〈암호화폐 지갑 파헤치기(+핫월렛&콜드월렛)〉, 《네이버 블로그》, 2017-11-18
- yahweh87, 〈# 12 - 블록체인 노드에 대한 개념정리(Feat. 지갑)〉, 《스티밋》
- Beta None, 〈(디센터 용어사전⑤)블록체인 팔방미인 '노드'…저장하고 채굴하고 소통한다〉, 《유튜브》, 2018-08-29
같이 보기