Термин «узел» активно используется в информационных технологиях. Так, например, для компьютерных или телекоммуникационных сетей, это либо точка перераспределения информации, либо конечная точка связи. Практически всегда – физическое устройство, но в некоторых случаях, возможно использование и виртуальных.
В контексте криптовалютных сетей, ситуация не сильно меняется. Нода – точка, в которой создаются, передаются или принимаются различные сообщения. И в зависимости от того, над чем каждая отдельно взятая нода в основном работает, они и классифицируются в дальнейшем.
Ноды и блокчейн Биткойн
Данная криптовалютная сеть позиционируется как распределённая Р2Р сеть, состоящая из отдельных равноправных нод. Это гарантирует высокую устойчивость к внешним воздействиям и внутренней цензуре. Узлом же можно считать каждый компьютер, подключившийся к этой сети. Но несмотря на то, что у всех них права априори одинаковые, они могут выполнять разные задачи. Тут многое зависит не только от цели владельца, но и конкретных параметров компьютера.
Полный узел
Машина, которая обеспечивает безопасность сети и поддерживает её функционирование. Именно на них хранится полная и адекватная копия всего блокчейна. И именно они заняты проверкой соответствия новой информации и тому, чтобы она логично и последовательно происходила от уже имеющейся.
Однако это – довольно сложная задача, поскольку подразумевает постоянную связь со всеми машинами сети и получение любой информации об её изменениях. Так что без соответствия определённым техническим моментам, компьютер не может считаться полной нодой. Должны соблюдаться следующие параметры:
- Последняя версия распространённой операционной системы Windows, Mac OS X или Linux.
- 200 Гигабайт свободного дискового пространства
- 2Гб оперативной памяти
- Скорость интернета – не менее 50 кБ/с
- Безлимитное соединение, либо соединение с очень большим лимитом
- Большое время непрерывной работы. Минимум – 6 часов в сутки, но лучше – 24/7
На данный момент, к блокчейну #Биткойн подключено порядка 17,697 таких полных узлов. Впрочем, при подсчёте учитывались только общедоступные узлы – «Listening nodes», к которым может в любой момент обратиться любой другой компьютер, чтобы получить адекватную копию состояния блокчейна. А ведь существуют ещё и скрытые узлы, работающие точно так же, только не отслеживающиеся при поиске. Они, как правило, работают либо через какой-нибудь Файрвол, либо через анонимизаторы, типа Tor. И даже несмотря на то, что «достучаться» до них крайне сложно – именно они отвечают за стабильность всей системы.
Супер-узел
Оптимальное состояние полной ноды. К ним могут обращаться другие компьютеры для получения полной и адекватной копии информации, содержащейся в блокчейне. Это требует хорошего канала связи и бесперебойной работы. Кроме того, желательно наличие нескольких постоянных соединений, обеспечивающих дополнительную пропускную способность. Да и вычислительная мощность такого супер-узла должна быть значительной.
Узел-майнер
Машина, на которой установлено программное обеспечение, позволяющее майнить биткойны. Эти программы встраиваются поверх Bitcoin Core и работают параллельно с ней. Могут действовать как в одиночку, так и в составе группы (#пул майнеров). Второй вариант эффективнее, поскольку каждая машина вносит часть своей вычислительной мощности в общий процесс, а затем – получает процент от награды, равный проценту внесённой мощности. Тоже могут быть полными узлами. К примеру, администратор майнинг-пула – всегда полная нода.
Lightweight или SPV узлы
Главная особенность – они не хранят у себя всю информацию о состоянии сети блокчейн. Но могут посылать запросы, чтобы подтверждать или утверждать транзакции. Протокол «Simplified Payment Verification» позволяет узнать – были ли включены данные о проведённой транзакции в блок, без необходимости скачивать этот самый блок. Очевидно, что такие ноды напрямую зависят от супер-узлов или полных нод. И именно такими является большинство пользователей сети блокчейн.
Разница между майнинг-нодой и полной нодой
При достаточной вычислительной мощности и подходящих параметрах, любой супер-узел может заниматься одновременно и #майнингом, и верификацией информации. Однако большинству пользователей приходится выбирать что-то одно. Проблема в том, что майнинг отнимает большое количество времени и ресурсов – как минимум, необходимо собрать се данные о свежих проведённых транзакциях, а потом – высчитать хэш нового блока. Времени на последующую валидацию и проверку банально не остаётся. Тем не менее, даже несмотря на то, что полные ноды не приносят такого же вознаграждения, как ноды-майнеры, кто-то всё равно должен их держать – иначе вся система станет куда более уязвимой перед атаками со стороны.
Вывод
Если все узлы, подключённые к блокчейну, работают по установленным правилам, приносят пользу и не нарушают основные протоколы – система работает быстро и чётко. Если же нода поставляет непроверенную или недостоверную информацию – её отсекают от глобальной сети.
Именно следование общим правилам, а также – алгоритмы #консенсуса, приводят к тому, что сеть, состоящая из самых разных узлов с одинаковыми правами, продолжает работать. Да, у неё есть некоторые недостатки, однако технологии блокчейна постоянно совершенствуются.