Открыть сервисСервис

Нода — узел в компьютерной сети и блокчейне

Нода (от англ. node, «узел») — термин, обозначающий отдельный участник компьютерной сети или распределённой системы, подключённый к ней и выполняющий определённые функции: обработку, хранение или передачу данных. В зависимости от контекста нодой может называться физическое устройство (компьютер, сервер, специализированный аппарат), программа, работающая на таком устройстве, или точка в структуре данных — например, узел графа или дерева.

Нода в компьютерных сетях

В телекоммуникациях нодой называется любой объект, подключённый к сети и способный к обмену данными: персональный компьютер, сервер, маршрутизатор, коммутатор, точка доступа Wi-Fi, мобильный телефон. Каждой ноде в сетях передачи данных присваивается уникальный адрес — например, IP-адрес в протоколах семейства TCP/IP.

По роли в сети ноды делятся на несколько типов:

  • Клиентские ноды — обычные устройства пользователей, запрашивающие данные (браузеры, мобильные приложения).
  • Серверные ноды — предоставляют сервисы: веб-серверы, файловые серверы, DNS-серверы.
  • Промежуточные (транзитные) ноды — маршрутизаторы и коммутаторы, пересылают трафик между другими узлами.
  • Одноранговые (peer) ноды — равноправные участники сети, работающие без центрального сервера.

В распределённых системах и одноранговых сетях (P2P) термин «нода» особенно распространён: каждый участник сети, работающий программой-клиентом, считается нодой и одновременно хранит часть данных и обслуживает других участников.

Нода в блокчейне

В блокчейн-сетях нодой называется компьютер, на котором запущено программное обеспечение, подключающееся к распределённому реестру. Нода хранит копию блокчейна, проверяет новые блоки и транзакции по правилам консенсуса и, как правило, участвует в их передаче другим участникам сети.

Основные типы блокчейн-нод:

ТипОписание
Полная нода (full node)Хранит полную копию блокчейна, проверяет все блоки и транзакции самостоятельно
Лёгкая нода (light node)Хранит только заголовки блоков, запрашивает детали у полных нод
Узел хранения (archive node)Полная нода с сохранённой историей всех состояний сети с момента запуска
Валидатор (validator)Нода, участвующая в создании новых блоков и подтверждении транзакций в механизмах Proof-of-Stake
Майнинг-нодаНода, решающая криптографическую задачу в механизме Proof-of-Work (например, в Bitcoin)

В сетях с алгоритмом Proof-of-Work майнинг-ноды конкурируют за право записать следующий блок, расходуя вычислительные ресурсы. В Proof-of-Stake валидаторы блокируют (стейкают) определённую сумму криптовалюты и получают право подтверждать транзакции; за нарушение правил их стейк может быть урезан (слэшинг).

Запуск собственной полной ноды в сетях вроде Bitcoin или Ethereum требует значительного дискового пространства (сотни гигабайт и более), стабильного интернет-соединения и круглосуточной работы оборудования. Взамен оператор ноды получает независимую проверку транзакций без доверия третьим сторонам и, в некоторых сетях, вознаграждение.

Нода в математике и информатике

В теории графов нода (узел) — элемент графа, соединённый рёбрами с другими узлами. Графы, построенные на нодах и рёбрах, моделируют социальные сети, дорожные карты, цепочки молекул и множество других структур.

В деревьях данных (XML, HTML-документы, файловые системы) нода — отдельный элемент иерархии: узел дерева, содержащий данные и ссылки на дочерние узлы. Библиотеки для работы с такими структурами (DOM в браузерах, XML-парсеры) оперируют понятием «узел» как базовой единицей документа.

Нода в высших математических понятиях

В дифференциальной геометрии и теории узлов (топологии) «нода» может обозначать пересечение линии с собой при проекции узла на плоскость. В теории чисел нодой иногда называют точку на эллиптической кривой, что важно для криптографии, лежащей в основе блокчейнов.

Нода в виртуализации и DevOps

В контейнерных оркестраторах (Kubernetes, Docker Swarm) нодой называется физический или виртуальный сервер, входящий в кластер и размещающий поды или контейнеры. Термин также используется в облачной инфраструктуре: облачный провайдер предоставляет клиенту «ноду» — выделенный виртуальный сервер с гарантированными ресурсами.

Распространение термина

Слово «нода» пришло в русский язык из английского node (лат. nodus, «узел») и закрепилось в профессиональной речи программистов, системных администраторов и специалистов по блокчейну. В разговорной речи участники криптосообщества используют «ноду» для обозначения как самого оборудования, так и запущенного на нём программного обеспечения, что иногда приводит к путанице.

Источники

  • Таненбаум Э., Уэзеролл Д. — «Компьютерные сети»
  • Нараянан А. и др. — «Bitcoin and Cryptocurrency Technologies»
  • Документация проектов Bitcoin Core и Ethereum Foundation
  • RFC 1122 — Requirements for Internet Hosts
  • Справочник по Kubernetes: понятие ноды в кластере
Заметили ошибку или не согласны с информацией в статье? Напишите нам support@bfometr.ru