백서(white paper) 등 각종 블록체인 문서를 읽다 보면 툭툭 걸리는 단어가 있다.
‘노드(node)’다.
어느 백서를 봐도 ‘노드가 무슨 일을 한다’는 말을 많이 한다. 노드를 모르면 내용 파악이 안 된다.
그렇다면 노드가 뭘까. 사전적 의미에는 나뭇가지란 뜻도 있다. 인터넷에 찾아보면 블록체인상 노드는 정의가 꽤 여럿이다. 편의상 ‘지갑’이라고도 하고, ‘블록 생성주체’, ‘블록체인 네트워크 참여자’라고도 한다.
과연 어떤 게 정답일까?
일단 ‘모두 다 맞다’고 보면 된다.
정리하면 노드는 비트코인과 P2P(개인간거래) 네트워크 등으로 얽힌 ‘블록체인을 유지하기 위해 전기를 쓰는 모든 컴퓨터 장치’다. 역할에 따라 노드를 지갑, 채굴자, 서버 등으로 나누지만, 결국 ‘노드’가 모두를 포괄하는 셈이다.
블록체인 세계에서 노드는 역할에 따라 몇 가지 종류로 나뉜다.
가장 많이 접하는 건 ‘풀노드(Full node)’다. 비트코인에선 ‘비트코인 코어’라고 부른다. 0(첫 블록·제네시스 블록)부터 지금까지 모든 블록체인 거래 기록을 다 갖고 있는 노드다. 앞서 말한 지갑, 채굴, 블록체인, 네트워크 등을 모두 포함한다.
풀노드는 거래와 블록 전체의 정합성을 따져 묻는 일을 맡는다. 간혹 ‘네트워크 기능이 왜 풀노드 개념에 포함되느냐’고 생각할 수 있다. 그런데 풀노드가 최신 거래기록을 유지하기 위해선 항상 정보를 주고받아야 하기 때문에 네트워크에 연결돼 있어야 한다.
다음은 ‘풀 블록체인 노드(Full Blockchain Node)’다. 풀노드에서 지갑과 채굴 기능이 빠진 것이다. 단순히 블록체인만 유지하는 일을 한다고 보면 된다. 체인 구조를 구성하려면 네트워크 기능이 있어야 하기 때문에 두 가지 기능만 담긴 노드를 이렇게 부른다.
‘단독 채굴자’(Solo Miner)도 노드의 일종이다. 본인이 직접 채굴한 블록에 자신의 거래를 저장한다. 이에 맞는 해시값을 찾는 것도 단독 채굴자 몫이다. 이웃한 노드와 거래 기록을 동기화하기 때문에 네트워크 기능은 필수다. 풀 블록체인 노드에다 채굴 기능을 얹은 노드라고 이해하면 된다.
이제 지갑이다.
두 종류가 있다. 하나는 ‘가벼운 지갑(Light-Weight Wallet)’이다. 다른 하나는 스트라텀이란 말이 붙는 ‘가벼운 스트라텀 지갑(Light-Weight Stratum Wallet)’으로 노드의 일종이다. 다만 가벼운 지갑에서 네트워크 기능이 빠졌다. ‘가볍다’는 말이 어색할 수 있지만, ‘간이결제확인’(SPV·Simple Payment Verification)이란 말로 이해하면 쉽다. 전체 블록데이터를 검증하지 않고, 모든 데이터를 저장하지 않는다. 거래 확인에 필요한 부분만 외부 풀노드를 끌어와 확인한다. 네트워크 기능을 담고 있다. 스마트폰에 설치해 쓰는 모바일 지갑 방식이 다 ‘가벼운 지갑’ 노드를 활용한다. 스마트폰에서 해시값을 끊임없이 만들면서 채굴하고 블록체인을 꾸려가기엔 연산속도가 느린 탓에 기능을 일부 뺀 것이다.
그리고 채굴만 담당하는 ‘마이닝 노드(Mining Node)’가 있다. 이른바 채굴자다. 채굴을 뜻하는 마이닝은 블록체인 상에서 새로운 거래를 포함한 블록을 추가하는 과정을 말한다. 가령 네트워크 상에서 채굴자 노드가 “새로운 거래가 발생했다”며 “블록체인을 새로 갱신해야 한다”고 제안했다고 하자, 그러면 이런 거래를 모아 하나의 블록에 차곡차곡 채워가는 작업을 마이닝 노드, 채굴자가 한다.
우리가 흔히 채굴자라 부르는 이유는 이런 행위의 보상으로 비트코인 등 암호화폐를 받기 때문이다. 여기서 채굴은 블록을 만들고 그 대가로 새로운 비트코인 등 암호화폐를 받는 것이지 만드는 블록 자체가 암호화폐는 아니다.
당연히 순수 채굴자는 네트워킹 통로가 필요하다. 개인이 홀로 채굴하는 건 장기적으로 상당한 부담이다. 여럿이 컴퓨터 자원을 공유해 채굴하는 ‘마이닝 풀(Mining Pool)’에 가담하거나 지갑을 끌고 들어와 연결하는 방식으로 채굴 노드를 블록체인과 잇는다. 즉 ‘풀 프로토콜 서버(Pool Protocol Server)’, ‘스트라텀 서버(Stratum Server)’ 등이 네트워크 전문 노드가 되는 셈이다. 보통 채굴 전문업체가 풀 프로토콜 서버를 이용한다.
앞서 언급한 노드만 8종류다. 생각보다 복잡하다.
이를 이더리움의 노드 개념으로 묶으면 다음과 같다.
이더리움은 ‘풀노드’, ‘채굴자’, ‘라이트 노드’ 등 딱 3가지다. 0부터 지금까지 블록체인 모든 기록을 가지고 있으면 풀노드, 풀노드 중 채굴을 하는 컴퓨터 자원은 채굴자, 풀노드가 가진 정보를 필요할 때마다 공유 받아 확인하는 것은 라이트 노드다. 앞서 본 8가지 일도 크게 3가지 역할로 나눌 수 있다.
그래도 어렵다면 블록체인 네트워크에서 서버 역할을 하는 모든 구성원 또는 요소를 ‘노드’라고 이해하자.
사실 비트코인을 비롯한 암호화폐 세계에선 풀노드의 역할이 가장 중요하다. 실제 비트코인 세계에서는 풀노드가 어디서 얼마나 활동하는지 실시간으로 보여주는 사이트(bitnode)에 관심이 많다. 지난 27일 기준으로 9,702개의 풀노드가 활약 중이다. 풀노드가 많은 순서대로 하면 미국이 1위, 한국은 12위권이다. /디센터유니버시티·보스코인
※ 편집자 주
블록체인 미디어 디센터가 독자 여러분께 한발 더 다가가기 위해 텔레그램 방을 개설했습니다. 텔레그램에서 @decenter_kr 로 검색해서 ‘디센터 텔레그램’ 방에 오시면 다양한 기사와 각종 참고자료 등을 받아보실 수 있습니다.
- 우승호 기자
- derrida@sedaily.com