Что такое блокчейн-ноды и какие есть виды криптовалютных нод
Нода (узел) – это точка в блокчейн-сети, основная функция которой сводится к распределению данных между другими узлами. Это нужно для передачи информации внутри блокчейна с одновременным сохранением эффекта децентрализации. Нода может быть промежуточным звеном либо конечным получателем данных.
Технические особенности нод
Нода – это компьютер (сервер) с установленным криптовалютным кошельком, который синхронизирован с другими такими же компьютерами. Связка таких узлов образует блокчейн. Использование подобной сети дает возможность быстро распределять большие потоки данных.
Работа ноды обеспечивается за счет мощностей сервера. Для этого подойдет любое устройство, которое может передавать информацию через интернет. Также для функционирования узла необходимо специальное программное обеспечение.
В большинстве случаев node используется для выполнения 3 задач:
- Сохранять и распространять между узлами информацию о транзакциях и количестве средств в кошельках участников сети.
- Контролировать выполнение правил сети (алгоритм консенсуса PoS, PoW и т. д.).
- Поддерживать работу распределенных реестров, в которых хранится информация о транзакциях за все время существования сети.
Ноды не могут работать без подключения к интернету. Офлайн-устройство для хранения информации тоже не способно выполнять функцию узла. Но оно становится полноценной нодой, если его подключить к интернету.
Зачем нужны ноды
Для поддержки стабильной работы блокчейна нужна сеть серверов, которые синхронизированы между собой. Основная ценность такой сети заключается в обеспечении эффекта децентрализации без потери скорости взаимодействия массивов информации.
Учитывая, что компьютеры-узлы находятся в разных странах и городах, даже блокировка интернета в отдельном регионе не приведет к остановке работы блокчейна. Но если все ноды будут сосредоточены в руках одной группы людей, то они смогут полностью контролировать сеть, что может привести к ограничению эффекта децентрализации.
В то же время децентрализация – это одно из ключевых преимуществ криптовалют. Чтобы ее обеспечить и получить эффект распределения данных, блокчейн использует многочисленные незначимые узлы. Они не участвуют в майнинге, но сохраняют в себе всю историю транзакций. Благодаря этому одна ограниченная группа людей не может взять контроль над распределенным реестром.
Пользователи, которые предоставили свои вычислительные мощности для обеспечения работы блокчейна, получают за это вознаграждение. Так проект мотивирует людей подключать свои ПК к распределенной сети.
Виды нод
Блокчейн-ноды различаются по функциям и назначению. Среди них есть несколько стандартных видов, которые присутствуют во многих блокчейнах. Также существуют дополнительные модели нод, которые используются в отдельных сетях с расширенным функционалом.
Полные ноды (Full nodes)
Это самый первый вариант узла, который был изначально создан для работы биткоина. Полные ноды формируют основу блокчейна и участвуют в завершении транзакций.
Такая нода содержит в себе всю информацию о транзакциях и блоках с момента запуска сети до текущего времени. Когда один пользователь переводит монеты, эту операцию «видят» все узлы и сохраняют в своей истории.
В одном блокчейне могут одновременно работать десятки тысяч полных нод. Все они постоянно обмениваются информацией между собой. Для обработки такого крупного потока данных необходима достаточная вычислительная мощность.
Если пользователь впервые устанавливает полную ноду на свой ПК, она должна синхронизироваться, то есть скачать весь блокчейн. В случае некоторых блокчейнов это занимает достаточно много памяти. Например, объем блокчейна биткоина в ноябре 2022 года составлял 438 Гбайт, и на его синхронизацию может потребоваться несколько недель.
Если нода отключается от сети на некоторое время, то при подключении она должна повторно синхронизироваться, то есть скачать всю информацию, которая была сгенерирована за период ее отсутствия.
Полные ноды обладают определенным набором опций, которые отличают их от других видов нод в сети. Одна из самых важных функций заключается в проверке подписей (ключей) для подтверждения транзакций и блоков. В случае выявления ошибки нода может отклонить операцию. Причины могут быть разные: неправильное форматирование, ошибки алгоритмов, дублирование, манипуляции с записями и т. д.
Пользователи, у которых есть полный узел сети, могут сами проверять входящие переводы. При желании у них также есть возможность участвовать в майнинге и получать за это вознаграждение.
Облегченные ноды (Light nodes)
Облегченные ноды не содержат полной информации о блокчейне. В таком узле хранится только запись о блоке, к которому он подключен. В большинстве случаев такие ноды не работают непрерывно.
Как правило, облегченная нода — это ПО, которое подключается к полной ноде и ретранслирует из нее информацию на компьютер пользователя — например, сведения о балансе счета, входящих и исходящих транзакциях. Фактически, легкая нода использует полную ноду в качестве переходника для доступа к блокчейну.
Легкий узел обладает необходимым набором функций для использования криптовалюты, при этом не требуя больших вычислительных мощностей или объема памяти. Поэтому его можно запустить даже на мобильном устройстве. Как правило, синхронизация занимает считанные секунды.
Урезанные полные ноды (Pruned full nodes)
Такая нода скачивает весь блокчейн и синхронизирует его только при первом запуске. Далее она автоматически подгружает новые блоки и удаляет старые при достижении определенного объема памяти. Обычно пользователь может сам установить в настройках размер ноды, например 10 Гбайт.
Майнинг-нода участвует в процессе майнинга криптовалюты и применяется только в блокчейнах на алгоритме Proof of Work. Она может быть полной или облегченной.
Для запуска такой ноды пользователю необходимо иметь мощное вычислительное оборудование:
- центральный процессор (CPU);
- графический процессор (GPU);
- интегральную схему специального назначения (ASIC).
Также понадобится установить специальное программное обеспечение.
Так, в процессе майнинга биткоина необходимо решать сложные математические задачи. В результате таких вычислений майнер находит уникальное значение кода – хэш, который служит доказательством выполненной работы.
Далее майнер пересылает найденный хэш другим нодам, которые должны его проверить на соответствие поставленной задаче. Если проверка будет успешной, майнер может добавить новый блок и получить за это вознаграждение.
Стейкинг-ноды (Staking nodes)
Это аналог майнинг-нод, который используется в блокчейнах с алгоритмом Proof of Stake. Такой узел тоже нужен для проверки транзакций и добавления новых блоков, и он также может быть полным или облегченным.
В этом случае вознаграждение начисляется не за математические вычисления, а за хранение определенной суммы монет на счету. Соответственно, для запуска стейкинг-ноды не нужно покупать дорогостоящее оборудование. Достаточно правильно настроить программное обеспечение и пополнить счет.
Мастернода представляет собой аналог полной ноды: она тоже хранит всю информацию из блокчейна и синхронизируется с ним, но имеет и дополнительные функции. Они нужны для обеспечения анонимности путем дробления транзакций и пересылки их между кошельками.
Владелец полной ноды может получить мастерноду, если выполнит необходимые условия блокчейна. Как правило, основное требование заключается в пополнении и удерживании на счету определенного количества монет. Также необходимо выполнить специальные настройки сервера (у разных криповалют они разные).
Когда пользователь выполняет анонимную транзакцию, его монеты «перемешиваются» в мастернодах. В этом процессе может участвовать разное количество узлов, которые разбросаны по всему миру и подбираются случайным образом. Численность раундов перемешивания тоже варьируется — это можно устанавливать вручную или автоматически. В итоге проследить связь между отправителем и получателем становится невозможно.
Мастерноды могут работать на алгоритме Proof of Stake или гибридном консенсусе PoW/PoS. Чтобы стимулировать пользователей к созданию и управлению мастернодами, система начисляет им часть комиссии майнеров. Размер вознаграждения тоже различается у разных блокчейнов.
Разновидность мастерноды, которая работает в блокчейне NEM (XEM), называется супернодой.
Lightning-ноды
Lightning Network (LN) – это надстройка второго уровня для блокчейна биткоина, представляющая собой сеть пользовательских платежных каналов. В этой системе работают специальные сверхбыстрые ноды, которые синхронизируются между собой и с основным блокчейном.
Lightning-ноды проверяют только те транзакции, которые связаны с ними напрямую (в отличие от стандартных узлов, которые проверяют все операции в блокчейне). Благодаря такой особенности достигается максимальная скорость обработки транзакций.
Валидаторы и оракулы
Это дополнительные функции, которыми может обладать нода в децентрализованной сети:
- Узел-валидатор – это устройство, которое проверяет транзакции и утверждает их. Такие ноды могут работать по разным алгоритмам в зависимости от особенностей блокчейна.
- Оракул – это нода, которая передает информацию из внешних систем в блокчейн. Примером таких данных может быть актуальная стоимость валют для обменного сервиса, работающего на базе блокчейна.
Скрипт-оракул нужен для того, чтобы преобразовать информацию в понятный для смарт-контракта вид. Валидатор затем проверяет данные из оракула наравне со всей остальной информацией в блокчейне.
При этом сигнал от одного оракула проверяется большим количеством валидаторов, что повышает общую безопасность сети.
Форки и изменение функций ноды
Любой криптовалютный проект может периодически обновляться. Чтобы обновления вступали в силу на уровне всей сети, их должны принять все ноды. Иногда в сообществе разработчиков и валидаторов могут возникать разногласия насчет внедрения некоторых обновлений, когда одна часть нод может их принять, а другая – отклонить. Процесс внедрения изменений называется форком.
- Софтфорк — это мягкие изменения и улучшения, которые не противоречат базовым настройкам блокчейна. Чтобы их принять, владельцу ноды нужно обновить программное обеспечение. Если это обновление примут только часть узлов, система все равно продолжит работать стабильно.
- Хардфорк предполагает значительные преобразования блокчейна. В результате такого мероприятия типы сетевых узлов могут вовсе измениться. Например, в сентябре 2022 года криптовалюта Ethereum перешла из алгоритма POS на POW. В результате исчезли майнинг-ноды и появились стейкинг-ноды с функцией валидаторов.
Если в сообществе возникает разногласие насчет принятия хардфорка, сеть разделяется на два несовместимых блокчейна. Один из них сохраняет базовые настройки, а второй переходит на новые.