뉴스 비지니스 연구

노드(node)란 무엇인가요?

노드(node)의 정의는 상황에 따라 크게 달라질 수 있습니다. 컴퓨터나 통신 네트워크를 이야기할 때, 노드는 재분배 지점(redistribution point)이나 통신 종말점(communication endpoint) 역할을 하는 뚜렷한 목적을 제공할 수 있습니다. 대개, 노드는 물리적 네트워크 장치로 구성되지만, 가상 노드가 사용되는 특별한 경우도 있습니다.

간단히 말해, 네트워크 노드는 메시지가 생성되고, 수신되고, 전송되는 지점입니다. 여기서는 풀 노드(full nodes), 슈퍼 노드(super nodes), 마이너 노드(miner nodes), SPV 클라이언트와 같은 다양한 종류의 비트코인 노드에 대해 논의해보겠습니다.

비트코인 노드(Bitcoin Nodes)

분산화된 시스템으로 설계된 블록체인을 살펴본다면, 컴퓨터 노드의 네트워크는 비트코인이 검열할 수 없는 분산형 P2P 디지털 통화로 사용될 수 있게 하며, 유저 간 거래를 할 때 중개인을 필요하지 않게 합니다(서로가 아무리 멀리 떨어져 있다 할지라도).

따라서, 블록체인 노드는 통신 지점 역할을 하며, 이는 다른 기능을 수행할 수도 있습니다. 비트코인 인터페이스에 연결되어 있는 컴퓨터나 장치는 어떤 식으로든 서로 통신한다는 점에서 노드로 간주될 수 있습니다. 이러한 노드들은 비트코인 P2P 프로토콜을 사용해 컴퓨터의 분산 네트워크 내에서 트랜잭션과 블록 정보를 전송할 수 있습니다. 그러나 각 컴퓨터 노드는 특별한 함수에 의해 정의되며, 다양한 형태의 비트코인 노드가 존재하게 됩니다.

풀 노드(Full Nodes)

풀 노드는 비트코인에 실제로 보안을 지원하고 제공하는 노드로서, 네트워크에 필수적입니다. 이러한 노드는 시스템 합의 규칙에 관한 트랜잭션과 블록을 확인하는 과정에 관여하므로 완전한 검증 노드라 일컬어집니다. 풀 노드는 새로운 트랜잭션과 블록들을 블록체인에 전송할 수 있습니다.

보통, 풀 노드는 모든 블록과 트랜잭션을 포함한 비트코인 블록체인 사본을 다운로드 하나, 이것이 풀 노드가 되기 위한 필요 조건은 아닙니다(제한된 양의 블록체인 사본이 대신 사용될 수 있음).

비트코인 풀 노드는 다른 소프트웨어를 통해 구현될 수 있지만, 가장 많이 사용되고 있는 것은 비트코인 코어(Bitcoin Core) 입니다. 다음은 비트코인 코어의 풀 노드를 실행하기 위한 최소 요구 사항입니다.

  • 최신 버전의 Windows, Mac OS X 또는 Linux가 설치된 데스크톱 또는 노트북

  • 200GB 디스크 공간

  • 2GB 메모리 (RAM).

  • 업로드 속도가 50kB/s 이상인 고속 인터넷 연결.

  • 무제한 인터넷 혹은 대용량 업로드 인터넷. 풀 노드는 월 200GB 업로드, 20GB 다운로드를 달성하거나 초과할 수 있습니다. 또한, 풀 노드를 처음 시작할 때 ~200GB 까지 다운로드 해야합니다.

  • 풀 노드는 하루에 최소 6시간씩 가동되어야 합니다. 일주일 24시간 내내 가동할 수 있다면 더 좋습니다.

많은 자원 봉사 단체와 사용자들은 비트코인 생태계를 돕기 위한 방법으로 비트코인 풀 노드를 운영하고 있습니다. 현재 비트코인 네트워크에서 대략 9,700개의 공용 노드가 운영되고 있습니다. 이 숫자는 공개적이고 접근할 수 있는(수신 노드라고도 하는) 수신 비트코인 노드만을 포함한 것임에 주목할 필요가 있습니다.

공용 노드 외에도 보이지 않는(비수신 노드), 숨겨진 많은 노드들이 있습니다. 이러한 노드들은 대개 토르(Tor)와 같은 숨겨진 프로토콜을 통해 방화벽 뒤에서 작동하거나, 단순히 연결을 수신하지 않도록 설정되어 있을 수 있습니다.

수신 노드(Listening Nodes, Super Nodes)

기본적으로, 수신 노드 혹은 슈퍼 노드는 공개적입니다. 이는 접속을 결정한 다른 노드와 교류하고 정보를 제공합니다. 이러한 이유로, 슈퍼 노드는 기본적으로 데이터 소스와 통신 브릿지 역할을 할 수 있는 재분배 지점입니다.

신뢰할 수 있는 슈퍼 노드는 보통 24시간 내내 작동하며, 여러 접속점들을 갖고 있고, 세계의 여러 노드에 블록체인 기록과 트랜잭션 데이터를 전송합니다. 따라서, 슈퍼 노드는 감춰진 풀 노드와 비교할 때 더 많은 연산 능력과 인터넷 접속을 필요로 합니다.

마이너 노드(Miners’ Nodes)

현재의 경쟁 시나리오 안에서 비트코인을 마이닝하기 위해서는, 특화된 마이닝 하드웨어나 프로그램에 투자해야만 합니다. 이러한 마이닝 프로그램(소프트웨어)은 비트코인 코어와 직접적인 관련이 없으며, 비트코인 블록을 테스트하고 마이닝 하기 위해 병렬적으로 실행됩니다. 마이너는 혼자서 작업하거나(솔로 마이너, solo miner) 혹은 그룹 안(풀 마이너, pool miner)에서 마이닝 할 수 있습니다.

솔로 마이너의 풀 노드가 자신들의 블록체인 사본을 이용하는 동안, 풀 마이너들은 각자의 컴퓨터 자원(해시 파워)을 제공해 함께 작업합니다. 마이닝 풀에서는 풀 관리자만 풀 노드를 운영하면 되며, 이는 풀 마이너들의 풀 노드(pool miner’s full node)라 일컬어질 수 있습니다.

라이트웨이트 or SPV 클라이언트(Lightweight or SPV Clients)

SPV(Simplified Payment Verification) 클라이언트로도 알려진 라이트웨이트 클라이언트는  비트코인 네트워크를 사용하지만 실제로는 전체 노드로 기능하지 않는 클라이언트입니다. 그러므로, SPV 클라이언트는 블록체인 사본을 보관하지 않고, 트랜잭션 검증 및 검증 과정에 참여하지 않기 때문에 네트워크 보안에 기여하지 않습니다.

간단히 말해, SPV는 전체 블록 데이터를 다운로드 하거나 소유하지 않고, 일부 트랜잭션이 블록 안에 포함되어있는지 여부를 확인할 수 있는 방법입니다. 그러므로, SPV 클라이언트는 다른 풀 노드(슈퍼 노드)에 의해 제공되는 정보에 의존합니다. 라이트웨이트 클라이언트는 통신 종말점으로 작동하며, 많은 암호 화폐 지갑으로 사용되고 있습니다.

클라이언트 vs 마이닝 노드(Client vs Mining Nodes)

전체 노드를 운영하는 것이 전체 마이닝 노드를 운영하는 것과 동일하지 않다는 점을 유의할 필요가 있습니다. 마이너들은 고가의 마이닝 하드웨어와 소프트웨어에 투자해야 하지만, 완전한 검증 노드는 누구나 운영할 수 있습니다. 또한, 블록을 마이닝하기 전, 마이너들은 풀 노드에 의해 유효한 것으로 확인된 기존의 대기 트잭션들을 수집해야 합니다. 그런 다음, 마이너는 후보 블록(트랜잭션 그룹을 포함한)을 생성하고, 해당 블록 마이닝을 시도합니다. 마이너들이 해당 블록의 유효한 해결책을 찾는다면, 이를 네트워크와 다른 풀 노드에 전송하여 블록의 유효성을 검증하게 됩니다. 그러므로, 합의 규칙은 마이너들이 아닌 검증 노드의 분산화된 네트워크에 의해 규정되고 확보됩니다.

결 론

비트코인 노드는 비트코인 P2P 네트워크 프로토콜을 통해 서로 소통하며, 이를 통해, 시스템의 무결성을 보장합니다. 잘못된 행동을 하거나 잘못된 정보를 퍼뜨리려고 하는 노드는 다른 정직한 노드에 의해 재빨리 인식되어, 네트워크로부터 격리됩니다.

완전한 검증 노드를 운영하는 것은 금전적인 보상이 지급되지 않음에도 불구하고, 사용자에게 신뢰, 보안, 프라이버시를 제공하기 때문에 적극 장려되고 있습니다. 풀 노드는 규칙들이 분명하게 준수되도록 합니다. 풀 노드는 공격과 사기(이중 지불과 같은)로부터 블록체인을 보호합니다. 또한, 다른 사람들을 신뢰할 필요가 없으며, 사용자가 자신의 자금을 완전히 통제할 수 있게 합니다.

관련 뉴스

EU, 블록체인 프레임워크 개발 위한 INATBA 출범

염현주 기자

스위스 블록체인 외환송금 프로젝트, 크론(KREX) 상승이유

Chainnews editor

라인(LN), 이달 중 일본 암호화폐 거래소 라이선스 취득 전망

Chainnews editor