아래의 내용 모두 노드를 설명해준다.
- 지갑
- 블록체인 참여자/서버
- 블록 생성 주체
- 블록체인 네트워크 유지를 위해 컴퓨팅 파워를 사용하는 모든 주체
- 네트워크 연결 포인트 혹은 데이터 전송의 종점/재분배점
노드는 다양한 기능을 가지며, 기능 및 필요에 따라 다양한 종류로 구분된다.
소유한 비트코인 송수신 및 잔고를 확인하며 사용자의 개인키와 공개키를 관리하고 거래에 사용되는 주소를 생성한다.
작업증명 방식을 사용하여 새로운 블록을 위해 경쟁하고 블록 생성시 코인을 보상으로 받는다.
온전한 최신 블록체인 복사본을 유지하여 외부 참조 없이 독자적으로 거래 검증이 가능하다. 모든 블록을 다 가지고 있기 때문에 상당한 용량을 차지한다.
거래와 블록을 검증하고 전파하며, 이웃 노드들과의 연결을 유지한다. 모든 노드 유형에 필요하다.
블록체인에서 어떤 기능을 담당하는 노드가 될 건지는 본인의 자유이다. 노드의 기본적인 4가지 기능 모두를 가지고 있는 노드는 많지 않다.
지갑, 채굴, 데이터베이스, 네트워크 등 노드의 모든 기능을 가지고 있는 노드이다. 제네시스 블록부터 시작하여 현재까지 온전한 최신 블록체인 복사본을 유지한다. 새로운 블록을 추가하기 위해 전달받은 블록에 대한 검증을 수행한다. 거래 내역에 오류가 없음을 확인하고 새로운 블럭이 생성될 때 최종 승인하는 역할을 한다. 방대한 양의 데이터를 소화할 수 있는 대규모 채굴업 관련 종사자들에게 필요한 기술이다. 중앙서버와 달리 주요 데이터를 여러 풀노드가 함께 보관하기 때문에 사실상 해킹이 불가능하다.
풀노드는 모든 블록체인의 내용을 가지고 있기 때문에 다른 노드의 도움 없이 스스로 거래 검증이 가능하지만 용량이 너무 커서 다운로드에 오랜 시간이 걸리고 하드디스크의 용량을 많이 차지한다. 이러한 단점을 해결하기 위해 라이트 노드가 등장했다.
지갑, 네트워크 기능이 있어 블록체인에 참여하는 거래를 수행하는 노드이다. 이 노드는 대부분 저장 공간의 한계가 있는 모바일 지갑에서 사용된다. 풀노드와 다르게 자료의 중요한 일부분(블록헤더)만을 다운받는다. 대신 거래를 위해 내용 검증이 필요한데, 그 때마다 풀노드에게 자료를 요청해야 한다.
✔️ SPV(Simple Payment Verify, 단순 지불 검증)
라이트 노드가 개별 거래에 대한 트랜잭션을 검증하기 위한 방법으로, 거래 검증을 위해 풀노드에게 블록 정보를 요청하여 머클트리를 통해 이 거래가 검증된 거래인지 확인하는 방법이다.
풀노드 중에서 권한과 보상을 받는 노드로 주인/상위 노드로 표현된다. 마스터 노드는 채굴하지 않는 풀노드를 늘리기 위해 고안되었다. 풀노드는 블록체인 데이터를 전부 저장해 네트워크에 기여하는 의무를 갖고 있고, 마스터노드는 풀노드의 의무를 수행하면서 블록 생성에 대한 보상을 받고 트랜잭션의 추가 기능을 수행한다.
풀노드 운영에는 많은 비용이 들어가기 때문에 채굴을 하지 않는다면 풀노드를 운영하는 유지비를 감당하기 어렵다. 따라서 대부분의 풀노드들은 채굴을 위한 풀노드이다. 채굴을 하지 않으면서 굳이 풀노드를 운영할 필요가 없는 것이다. 개인 구성원들은 대부분 라이트노드를 선호한다. 채굴하지 않는 풀노드를 늘리기 위해 마스터노드가 고안되었다. 마스터노드 운영시 소정의 인센티브가 지급된다. 마스터노드는 풀노드를 유지에 쓰이는 비용에 대한 보상을 주기 위함이다.
❗️ 풀노드의 수는 매우 중요하다. 블록체인이 얼마나 안정적으로 운영되고 있는지 확인할 수 있기 때문이다.
채굴만을 담당하는 노드이다. 채굴노드의 유일한 목적은 가능한 한 빠르게 채굴하는 것이다. 채굴이란 실질적으로 작업증명 방식의 퍼즐을 푸는 일이기 때문에, 채굴노드는 작업증명 방식을 채택한 블록체인에만 존재한다.
마이닝 풀(Mining pool)에 가담해서 풀 프로토콜(Pool protocol)과 연결되어 채굴하는 경우와, 스트라텀 프로토콜(Stratum Protocol)과 연결되어 경량지갑(Lighit weight wallet)을 가지고 채굴하는 경우가 있다. 전자는 채굴 전문 업체들이 주로 사용하는 방식이고 후자는 네트워크 기능이 있는 노드와 연결된 후 풀에 접근하는 방식이다.
✔️ 스트라텀 프로토콜 (Stratum Protocol)
채굴 기능만을 가진 노드와 블록체인 기능을 가진 노드, SPV 지갑 노드를 연결하는 프로토콜이다. 채굴 기능만 있다면 이를 저장하는 역할을 하는 노드와 네트워크 기능을 하는 노드가 필요하기 때문이다.
전체 블록체인의 무결성을 유지하기 위해 임의로 선택된 노드이다. 선출된 마스터노드와 함께 블록을 생선한다. 위임지분 증명 방식을 그대로 사용하면서, 실시간으로 랜덤노드를 임의로 추가하여 검증하도록 한다. 따라서 대표자들 간의 담합에 의한 데이터 조작을 예방할 수 있다.
테조스(Tezos) 블록체인에서 코인 소유자로부터 위임받은 코인으로 베이킹을 하는 노드이다. 베이킹은 테조스 에서 블록을 생성하고 블록을 입증하는 방식으로 채굴과 동일한 의미이다.
위임지분 증명 방식을 사용하는 블록체인 네트워크에서 노드들을 대표하여 블록을 생성하고 그에 대한 보상을 받는 노드이다. 블록체인의 노드들은 암호화폐 보유량에 따라 투표권을 행사하여 중요한 의사결정 권한을 수행한 대리인을 선정한다. 선정된 대표노드는 블록 생성 및 거래 확정 권한을 위임받아 역할을 수행한다. 선출된 소수의 대표노드만 합의 과정에 참여하기 때문에 트랜잭션 처리 속도가 매우 빨라진다.
📌 Reference
https://steemit.com/kr/@niipoong/block-chain-nodes-and-roles
https://steemit.com/kr/@yahweh87/12-feat