Определение ноды может изменяться в зависимости от контекста. Когда речь идет о компьютерных или телекоммуникационных сетях, ноды могут действовать либо как точка перераспределения, либо как конечная точка связи. Обычно нода состоит из физического сетевого устройства, но в некоторых случаях используются виртуальные ноды.
Сетевая нода – это точка, где сообщение может быть создано, получено или передано. В статье мы обсудим разные типы нод в Bitcoin: полные ноды, суперноды, майнер-ноды и клиенты SPV.
Биткойн-узлы
Погружаясь в контекст блокчейнов, разработанных как распределенные системы, можно сказать, что сеть компьютерных нод позволяет использовать Bitcoin в качестве децентрализованной peer-to-peer (P2P) цифровой валюты. Таким образом, он создан, чтобы быть устойчивым к цензуре и не требовать посредника для транзакций от пользователя к пользователю (независимо от того, насколько далеко они находятся в мире).
А блокчейн-ноды выступают как точка связи, которая может делать разные функции. Любой компьютер или устройство, подключаемое к интерфейсу Bitcoin, можно рассматривать как ноду в том смысле, что они каким-то образом взаимодействуют друг с другом. Эти ноды также могут передавать информацию о транзакциях и блоках в распределенной сети компьютеров с использованием peer-to-peer протокола Bitcoin. Однако каждая компьютерная нода определяется в соответствии со своими конкретными функциями, поэтому существуют разные типы Bitcoin нод.
Полные ноды
Полные ноды – это те, которые действительно поддерживают и обеспечивают безопасность Bitcoin, и они необходимы для сети. Эти ноды можно назвать нодами полного цикла валидации, поскольку они участвуют в процессе проверки транзакций и блоков на соответствие правилам консенсуса системы. Кроме того, полные ноды могут передавать новые транзакции и блоки в блокчейн.
Обычно полная нода загружает копию блокчейна Bitcoin с каждым блоком и транзакцией, но это не обязательное условие для того, чтобы считаться полной нодой (вместо этого может использоваться уменьшенная копия блокчейна).
Полноценную ноду можно создать с помощью различных программных реализаций, но наиболее распространенной и популярной является Bitcoin Core. Вот минимальные требования для запуска полной ноды Bitcoin Core:
Компьютер или ноутбук с последней версией Windows, Mac OS X или Linux.
200 ГБ свободного пространства на диске.
2 ГБ памяти (RAM).
Высокоскоростное интернет-соединение со скоростью отгрузки не менее 50 КБ/с.
Неограниченное соединение или соединение с высокими лимитами отгрузки. Полные онлайн-ноды могут загружать 200 ГБ в месяц и загружать 20 ГБ в месяц. Вам также нужно скачать примерно 200 ГБ при первом запуске полной ноды.
Ваша полная нода должна работать минимум 6 часов в день. Еще лучше, если нода будет работать постоянно (24/7).
Многие волонтерские организации и пользователи используют полные Bitcoin ноды, чтобы помочь экосистеме Bitcoin. По состоянию на 2022 год в сети Bitcoin работает более 10 000 публичных нод. Обратите внимание, что это число учитывает только публичные ноды, относящиеся к открытым нодам Bitcoin, видимым и доступным (listening nodes).
Кроме публичных нод, есть много других скрытых нод, которые не видны. Эти ноды обычно работают с брандмауэром через скрытые протоколы, такие как Tor, или просто потому, что они были настроены так, чтобы соединение невозможно было "прослушать".
Открытые ноды (суперноды)
По сути супернода – это полноценная публичная нода. Она общается и дает информацию любой другой ноде, которая решает установить с ней соединение. Итак, супернода – это, в сущности, точка перераспределения, которая может выступать как источник данных и как коммуникационный мост.
Надежная супернода обычно работает круглосуточно и имеет несколько установленных соединений, передающих блокчейн-историю и данные транзакций по нескольким нодам по всему миру. Поэтому суперноде, вероятно, понадобится больше вычислительной мощности и лучшее подключение к интернету по сравнению с полной скрытой нодой.
Майнерские узлы
Чтобы иметь возможность разместить Bitcoin в текущей конкурентной среде, необходимо инвестировать в специализированное оборудование и программы для майнинга. Эти майнинг-программы (программное обеспечение) не имеют прямого отношения к Bitcoin Core и выполняются параллельно, чтобы мелькнуть блоки Bitcoin. Майнер может работать отдельно (соло-майнер) или в группах (пул-майнер).
Пока полные ноды соло-майнеров используют свою собственную блокчейную копию, пул-майнеры работают вместе, каждый из которых вносит свой вклад в свои собственные вычислительные ресурсы (хеш-мощность). В майнинг-пуле только администратор пула должен запускать полную ноду, которую можно назвать полным нодой майнер-пула.
Легкие или SPV клиенты
Также известны как клиенты упрощенной проверки платежей (SPV), легкие клиенты – те, которые используют сеть Bitcoin, но на самом деле не действуют как полная нода. Таким образом, клиенты SPV не способствуют безопасности сети, поскольку они не сохраняют копию блокчейна и не участвуют в процессе проверки и подтверждения транзакций.
SPV – это метод, с помощью которого пользователь может проверить, были ли определенные транзакции добавлены в блок или нет без необходимости загрузки всех данных блока. Таким образом, клиенты SPV возлагаются на информацию, предоставляемую другими полными нодами (супернодами). Легкие клиенты работают как конечные точки связи и используются многими криптовалютными кошельками.
Клиент и майнинг-ноды
Важно отметить, что запуск полной ноды это не то же, что запуск полной майнинг-ноды. Хотя майнерам приходится инвестировать средства в дорогостоящее оборудование и майнинговое программное обеспечение, любой может запустить ноду с полным циклом валидации.
Прежде чем пытаться извлечь блок, майнеру необходимо собрать ожидающие транзакции, ранее признанные действительными полными нодами. Затем майнер создает блок-кандидат (с группой транзакций) и пытается извлечь этот блок. Если майнеру удается найти действительное решение своего блока-кандидата, он передает его в сеть, чтобы другие полные ноды могли проверить достоверность блока. Следовательно, правила консенсуса определяются и защищаются распределенной сетью валидирующих нод, а не майнерами.
Итоги
Bitcoin ноды взаимодействуют друг с другом через сетевой протокол P2P Bitcoin и таким образом гарантируют целостность системы. Нода, которая пытается совершать мошеннические действия или распространять неправильную информацию, быстро распознается честными нодами и отключается от сети.
Несмотря на то, что запуск ноды полного цикла валидации не приносит финансового вознаграждения, это действие настоятельно рекомендуется, поскольку оно обеспечивает доверие, безопасность и конфиденциальность пользователей. Полные ноды гарантируют соблюдение правил. Они защищают блокчейн от атак и мошенничества (например, от двойных издержек). Кроме того, полной ноде не нужно доверять другим, и она позволяет пользователю полностью контролировать свои деньги.