노드의 종류와 특징
노드란?
블록체인에서 노드(node)란 블록체인 네트워크의 참여자를 의미합니다. 엄밀히 말하면 참여자들이 사용하는 기계를 노드라고 부르며, PC부터 데이터를 저장할 수 있는 태블릿, 스마트폰 또한 노드가 될 수 있습니다.
블록체인은 블록체인에 기록되는 모든 데이터(원장: Ledger)가 블록체인 네트워크에 참여하는 각각의 노드에 모두 저장되는 구조입니다. 그러나 일반적인 참여자들의 모든 컴퓨터에 모든 데이터를 기록하는 것은 현실적으로 쉽지 않습니다.
풀노드(full node)와 라이트노드(light node)를 시작으로 블록체인이 발전해 가며, 각 블록체인 시스템에 맞는 여러 가지 노드도 생겨났습니다. 간략히 노드의 종류를 살펴보면, 모든 거래 정보를 전부 저장하고 있는 풀노드, 일부 데이터만 보유하고 있는 라이트노드, 작업증명 방식 블록체인에서 채택하고 있는 채굴노드, 위임지분증명(DPoS : Delegated Proof of Stake) 방식의 합의 알고리즘을 채택하고 있는 블록체인에서 볼 수 있는 슈퍼노드 등이 있습니다.
노드의 종류와 특징
1) 풀노드(full node)
블록체인에서 이뤄진 모든 거래(원장) 정보를 보유한 노드를 의미합니다. 블록체인 네트워크에서 최초로 생성되는 제네시스 블록(genesis block)부터 마지막 블록까지 모든 데이터를 보유하고 있습니다. 따라서 스스로 본인의 거래를 검증할 수 있는 것이 장점입니다. 하지만 풀노드는 모든 데이터를 보유하고 있다 보니 많은 저장 공간이 필요한 것이 단점입니다.
2) 라이트노드(light node)
블록체인의 데이터 일부(주로 블록헤더의 중요 데이터)만 가지고 있습니다. 이에 따라 라이트노드는 거래는 가능하지만 스스로 검증하는 것은 불가능하기 때문에 풀노드에 거래 데이터를 요청하여 개별 검증을 진행합니다. 데이터를 요청하고 확인하는 데 시간이 필요한 것은 단점이지만 데이터 저장 공간이 많이 필요하지 않은 것이 장점입니다.
3) 채굴노드(mining node)
채굴만을 위한 노드입니다. 채굴은 퍼즐을 푸는 작업증명(PoW, Proof of Work) 방식에서 사용되기 때문에 작업증명 방식을 채택한 블록체인에서 사용됩니다. 채굴노드는 컴퓨팅 파워 자원을 공유해 채굴에 참여하거나 스트라텀 프로토콜(stratum protocol) 및 경량지갑(light weight wallet)과 연결하여 채굴에 참여하기도 합니다.
4) 슈퍼노드(super node)
위임지분증명(DPoS) 방식에서 주로 사용하고 있는 노드입니다. 위임지분증명 방식에서는 디지털 자산 보유량에 따라 투표권을 행사하고 주요 안건에 대해 의사결정을 대리할 수 있는 노드를 선출합니다. 이렇게 선출된 노드는 여러 노드로부터 권한을 위임받아 블록 생성이나 거래 확정 등의 역할을 수행하는 등 네트워크 유지에 중요한 역할을 수행하게 됩니다. 이처럼 일반 노드들을 대리할 수 있도록 선출된 노드를 슈퍼노드라고 하며, 대표노드라고 부르기도 합니다.
5) 랜덤노드(random node)
이중위임지분증명 방식에서 사용되며 전체 블록체인의 무결성을 유지하기 개발되었으며, 임의로 선택된 랜덤노드가 무작위 순서에 따라 블록을 생성하도록 설계되었습니다.
위임지분방식에서 한 단계 검증 절차가 추가된 것이 이중위임지분증명(DDPoS) 방식입니다. 디지털 자산 보유량에 따라 투표권을 행사해 대표 노드를 선정하고 이 대표 노드가 의사결정을 내리는 방식을 사용하면서 임의의 노드인 랜덤노드를 추가해 데이터 조작을 예방하는 시스템입니다.
6) 마스터노드(master node)
풀노드를 보완하기 위해 고안된 노드입니다. 풀노드는 전체 블록체인의 검증, 생성 확인 등의 임무를 수행하지만 이에 따른 비용이 상당하기 때문에 채굴이라는 적극적인 행위를 하지 않으면 노드의 유지 비용을 충당하기가 쉽지 않습니다. 마스터노드는 풀노드의 이러한 단점을 보완하기 위해 설계된 것으로서, 별도의 채굴행위를 하지 않더라도 임무를 수행할 경우 보상을 받을 수 있도록 고안되었습니다. 대표적으로 대시코인, 해피코인 등의 프로젝트에서 사용됩니다.
블록체인 발전 과정
다음 글[합의 알고리즘 바로알기] PoS란 무엇인가?