Нода — узел в компьютерной сети и блокчейне¶
Нода (от англ. 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: понятие ноды в кластере
