Skip to main content

Command Palette

Search for a command to run...

[Blockchain] Node, 노드의 종류

Updated
4 min readView as Markdown
[Blockchain] Node, 노드의 종류
H

Hansei Cyber Security High Schoool (2022/3/2 ~ 2025/2/10)

1-1. Node Introduction

아래의 내용 모두 노드를 설명해준다.

  • Wallet

  • 블록체인 참여자/서버

  • 블록 생성 주체

  • 블록체인 네트워크 유지를 위해 컴퓨팅 파워를 사용하는 모든 주체

  • 네트워크 연결 포인트 혹은 데이터 전송의 종점/재분배점

노드는 다양한 기능을 가지며, 기능 및 필요에 따라 다양한 종류로 구분된다.

1-2. 노드의 기능

Wallet

소유한 비트코인 송수신 및 잔고를 확인하며 사용자의 개인키와 공개키를 관리하고 거래에 사용되는 주소를 생성한다.

Miner

작업증명 방식을 사용하여 새로운 블록을 위해 경쟁하고 블록 생성시 코인을 보상으로 받는다.

Full Blockchain

온전한 최신 블록체인 복사본을 유지하여 외부 참조 없이 독자적으로 거래 검증이 가능하다. 모든 블록을 다 가지고 있기 때문에 상당한 용량을 차지한다.

Network Routing

거래와 블록을 검증하고 전파하며, 이웃 노드들과의 연결을 유지한다. 모든 노드 유형에 필요하다.

블록체인에서 어떤 기능을 담당하는 노드가 될 건지는 본인의 자유이다. 노드의 기본적인 4가지 기능 모두를 가지고 있는 노드는 많지 않다.

1-3. Types of nodes

Full Node

지갑, 채굴, 데이터베이스, 네트워크 등 노드의 모든 기능을 가지고 있는 노드이다. 제네시스 블록부터 시작하여 현재까지 온전한 최신 블록체인 복사본을 유지한다. 새로운 블록을 추가하기 위해 전달받은 블록에 대한 검증을 수행한다. 거래 내역에 오류가 없음을 확인하고 새로운 블럭이 생성될 때 최종 승인하는 역할을 한다. 방대한 양의 데이터를 소화할 수 있는 대규모 채굴업 관련 종사자들에게 필요한 기술이다. 중앙서버와 달리 주요 데이터를 여러 풀노드가 함께 보관하기 때문에 사실상 해킹이 불가능하다.

풀노드는 모든 블록체인의 내용을 가지고 있기 때문에 다른 노드의 도움 없이 스스로 거래 검증이 가능하지만 용량이 너무 커서 다운로드에 오랜 시간이 걸리고 하드디스크의 용량을 많이 차지한다. 이러한 단점을 해결하기 위해 라이트 노드가 등장했다.

Light Node

지갑, 네트워크 기능이 있어 블록체인에 참여하는 거래를 수행하는 노드이다. 이 노드는 대부분 저장 공간의 한계가 있는 모바일 지갑에서 사용된다. 풀노드와 다르게 자료의 중요한 일부분(블록헤더)만을 다운받는다. 대신 거래를 위해 내용 검증이 필요한데, 그 때마다 풀노드에게 자료를 요청해야 한다.

✔️ SPV(Simple Payment Verify)
It is a way for light nodes to validate transactions for individual transactions, requesting block information from full nodes to verify that the transaction is a validated transaction through Merkletree.

Master Node

풀노드 중에서 권한과 보상을 받는 노드주인/상위 노드로 표현된다. 마스터 노드는 채굴하지 않는 풀노드를 늘리기 위해 고안되었다. 풀노드는 블록체인 데이터를 전부 저장해 네트워크에 기여하는 의무를 갖고 있고, 마스터노드는 풀노드의 의무를 수행하면서 블록 생성에 대한 보상을 받고 트랜잭션의 추가 기능을 수행한다.

풀노드 운영에는 많은 비용이 들어가기 때문에 채굴을 하지 않는다면 풀노드를 운영하는 유지비를 감당하기 어렵다. 따라서 대부분의 풀노드들은 채굴을 위한 풀노드이다. 채굴을 하지 않으면서 굳이 풀노드를 운영할 필요가 없는 것이다. 개인 구성원들은 대부분 라이트노드를 선호한다. 채굴하지 않는 풀노드를 늘리기 위해 마스터노드가 고안되었다. 마스터노드 운영시 소정의 인센티브가 지급된다. 마스터노드는 풀노드를 유지에 쓰이는 비용에 대한 보상을 주기 위함이다.

❗️ 풀노드의 수는 매우 중요하다. 블록체인이 얼마나 안정적으로 운영되고 있는지 확인할 수 있기 때문이다.

Mining Node

채굴만을 담당하는 노드이다. 채굴노드의 유일한 목적은 가능한 한 빠르게 채굴하는 것이다. 채굴이란 실질적으로 작업증명 방식의 퍼즐을 푸는 일이기 때문에, 채굴노드는 작업증명 방식을 채택한 블록체인에만 존재한다.

마이닝 풀(Mining pool)에 가담해서 **풀 프로토콜(Pool protocol)**과 연결되어 채굴하는 경우와, **스트라텀 프로토콜(Stratum Protocol)**과 연결되어 경량지갑(Lighit weight wallet)을 가지고 채굴하는 경우가 있다. 전자는 채굴 전문 업체들이 주로 사용하는 방식이고 후자는 네트워크 기능이 있는 노드와 연결된 후 풀에 접근하는 방식이다.

✔️ Stratum Protocol
채굴 기능만을 가진 노드와 블록체인 기능을 가진 노드, SPV 지갑 노드를 연결하는 프로토콜이다. 채굴 기능만 있다면 이를 저장하는 역할을 하는 노드와 네트워크 기능을 하는 노드가 필요하기 때문이다.

Random Node

전체 블록체인의 무결성을 유지하기 위해 임의로 선택된 노드이다. 선출된 마스터노드와 함께 블록을 생선한다. 위임지분 증명 방식을 그대로 사용하면서, 실시간으로 랜덤노드를 임의로 추가하여 검증하도록 한다. 따라서 대표자들 간의 담합에 의한 데이터 조작을 예방할 수 있다.

Baking Node

테조스(Tezos) 블록체인에서 코인 소유자로부터 위임받은 코인으로 베이킹을 하는 노드이다. 베이킹은 테조스 에서 블록을 생성하고 블록을 입증하는 방식으로 채굴과 동일한 의미이다.

Super Node / Representative Node

위임지분 증명 방식을 사용하는 블록체인 네트워크에서 노드들을 대표하여 블록을 생성하고 그에 대한 보상을 받는 노드이다. 블록체인의 노드들은 암호화폐 보유량에 따라 투표권을 행사하여 중요한 의사결정 권한을 수행한 대리인을 선정한다. 선정된 대표노드는 블록 생성 및 거래 확정 권한을 위임받아 역할을 수행한다. 선출된 소수의 대표노드만 합의 과정에 참여하기 때문에 트랜잭션 처리 속도가 매우 빨라진다.

이외의 노드들...

  • Endpoint Node

  • Consensus Node

  • History Node

More from this blog

[알고리즘] 탐색 알고리즘 - Dfs / Bfs

탐색이란 많은 양의 데이터 중에서 원하는 데이터를 찾는 과정을 의미한다. 프로그래밍에서는 그래프, 트리 등의 자료구조 안에서 탐색을 하는 문제를 자주 다룬다. 대표적인 탐색 알고리즘으로 DFS와 BFS를 꼽을 수 있다. 깊이 우선 탐색(DFS, Depth - First Search) DFS는 Depth - First Search, 깊이 우선 탐색이라고도 부르며, 그래프와 트리의 깊은 부분을 우선적으로 탐색하는 알고리즘이다. 그림에서와 같이 갈...

May 15, 20251 min read

Vpn을 이용한 하이브리드 클라우드 구축하기

※ 터널링 VPN은 두 지점 간의 트래픽들을 암호화해서 누군가가 그 트래픽을 해석할 수 없도록 터널링 한다. 터널링을 통해서 캡슐화되어 있어서 실제로 WireShark 같은 걸로 통해서 트래픽을 도청하려고 보면 IP 등이 알던 것과는 전혀 다르게 되어있어서 해커들이 원하는 정보를 얻을 수 없게 된다. 키를 가지고 데이터를 암호화시키는 거고 터널 내부에 IP CIDR가 있는데 내가 로컬에서 이용하고 있는 데이터베이스의 10.0.0.0/24와 내가...

Dec 25, 20241 min read

Harold Lippin's blog

31 posts

Hackers studying blockchain