Какие бывают типы Bitcoin-nodes (узлов)? Как поддерживается сеть Bitcoin
Базовая инфраструктура сети Bitcoin защищена и поддерживается нодами (узлами) — в этой статье мы расскажем, что они из себя представляют и как работают.
Без нод Bitcoin, каким мы его знаем, был бы лишь концепцией, известной нескольким ученым-компьютерщикам.
Bitcoin-узлы (ноды) (Bitcoin nodes) — это базовая инфраструктура сети Bitcoin, обеспечивающая ее безопасность и поддержку. Но, несмотря на их важность, Bitcoin-ноды часто понимают неправильно или вообще не понимают, что это такое.
В этой статье мы рассмотрим, что такое Bitcoin-ноды, а также различные типы Bitcoin-нод и их роль в сети Bitcoin.
Что такое Bitcoin?
Когда большинство людей говорят: «Биткойн», они имеют в виду Bitcoin, криптовалюту. Но Bitcoin — это нечто большее:
- Bitcoin — это сеть – это набор взаимосвязанных компьютеров, которые обмениваются информацией.
- Bitcoin — это протокол – это набор правил для обмена информацией в сети.
- Bitcoin — это программное обеспечение – это компьютерная программа, которая знает правила протокола и запускается компьютерами в сети, чтобы они могли обмениваться информацией друг с другом.
Использование одного и того же слова для описания разных (хотя, безусловно, связанных) вещей может привести к путанице. В этой части статьи мы будем использовать следующие термины для обозначения различных вариантов использования «Bitcoin»:
- BTC описывает Bitcoin как криптовалюту, которую люди покупают, продают и обменивают.
- Программное обеспечение Bitcoin описывает правила протокола Bitcoin, которые закодированы на языке, понятном компьютерам, что позволяет им подключаться и обмениваться информацией о транзакциях BTC.
- Сеть Bitcoin описывает сеть взаимосвязанных компьютеров, на каждом из которых работает собственная версия программного обеспечения Bitcoin.
Эти различия обеспечивают полезный контекст для объяснения различных типов Bitcoin-нод. Прежде чем конкретно обсуждать ноды Bitcoin, стоит кратко обсудить на, что такое ноды.
Что такое ноды?
В общем случае нода (узел) — это точка в сети. Например, автомобиль является узлом в сети автомагистралей, а коллега по работе — узлом в профессиональной сети.
В мире компьютеров ноды — это устройства, подключенные к компьютерной сети, которые передают, обрабатывают и хранят информацию.
Ноды состоят из двух вещей: аппаратного и программного обеспечения.
- Аппаратное обеспечение — это физическое оборудование — микрочипы, процессоры и т. д. — необходимое для запуска программного обеспечения.
- Программное обеспечение — это набор инструкций, которые могут храниться и выполняться аппаратным обеспечением.
Например, ваш смартфон является узлом в Интернете. Приложения, которые вы запускаете (браузеры, приложения для обмена сообщениями, карты и т. д.), — это части программного обеспечения, которые могут подключаться к Интернету и давать ему инструкции о том, какой тип информации следует отправлять, получать и хранить (например, веб-сайты, текстовые сообщения и маршруты).
Эти инструкции и фрагменты информации обрабатываются и хранятся на материальном оборудовании, которое находится внутри вашего телефона и других компьютеров, подключенных к Интернету.
По сравнению с Интернетом и мобильными телефонами сеть Bitcoin и Bitcoin-ноды чрезвычайно просты. В то время как Интернет и мобильные телефоны предназначены для передачи и хранения всех видов информации, сеть Bitcoin и Bitcoin-ноды предназначены для передачи и хранения одного типа информации — данных, представляющих транзакции BTC.
Вы знали? Сеть Bitcoin работает в Интернете, поэтому технически Bitcoin-ноды также являются интернет-нодами.
Что такое Bitcoin-ноды?
Bitcoin-ноды — это компьютеры, на которых работает программное обеспечение Bitcoin и которые подключены к сети Bitcoin. Bitcoin-ноды проверяют, транслируют, обрабатывают и хранят транзакции BTC.
Транзакции BTC группируются и хранятся в группах, называемых блоками. Отсюда и появился термин «блокчейн» — исторические транзакции, хранящиеся в блоках, которые связаны друг с другом.
Прежде чем блок будет добавлен в блокчейн, ноды должны убедиться, что транзакции блока действительны.
Эта проверка включает в себя проверку таких вещей, как то, был ли один и тот же BTC потрачен дважды, или действительно ли отправитель имеет BTC, который он пытается отправить.
Процесс коллективного согласования отдельными нодами действительности блока (и содержащихся в нем транзакций) перед добавлением его в блокчейн называется консенсусом.
Поскольку Bitcoin является одноранговой платежной системой, у него нет посредников для обеспечения соблюдения правил консенсуса в сети Bitcoin. Поэтому ноды должны достичь консенсуса между собой. Они делают это с помощью программного обеспечения Bitcoin.
В дополнение к правилам протокола Bitcoin программное обеспечение Bitcoin содержит полную копию блокчейна Bitcoin.
Таким образом, когда нода загружает программное обеспечение Bitcoin и подключается к сети Bitcoin, она имеет ту же историю транзакций и работает по тому же набору правил для проверки транзакций, что и любой другая нода Bitcoin.
Таким образом, когда новая транзакция передается в сеть, каждая отдельная нода выполняет свою собственную работу по проверке достоверности транзакции.
Точно так же, когда новый блок передается в сеть, каждая нода решает, добавлять ли его в свою копию блокчейна. Этот дизайн позволяет нодам без доверия проверять транзакции и блоки BTC.
Вы знали? Каждый блок в блокчейне Bitcoin содержит в среднем 2000 транзакций.
Типы Bitcoin-нод
Полезной основой для понимания различных типов нод Bitcoin является вопрос о том, какую роль нода играет в добавлении блоков в блокчейн?
Основные типы Bitcoin-нод
Помните, что ноды Bitcoin транслируют, проверяют, обрабатывают и хранят транзакции BTC, а блоки представляют собой наборы действительных транзакций BTC.
Полная нода
Когда происходит транзакция, ее принимает полная нода.
Полные ноды хранят весь блокчейн и могут полностью проверять все правила сети Bitcoin с помощью программного обеспечения Bitcoin. Полная нода проверяет действительность транзакции по истории блокчейна и набору правил, закодированных в программном обеспечении Bitcoin.
Если транзакция действительна, полная нода передает ее другим нодам, к которым она подключена. Эти ноды проходят один и тот же процесс проверки. Как только достаточное количество полных нод согласятся с тем, что транзакция действительна, она добавляется в пул других действительных транзакций.
Майнинг-ноды
Майнинг-ноды, или майнеры, собирают транзакции из этого пула и упаковывают их в блоки.
Майнеры запускают версию программного обеспечения Bitcoin, которая содержит специальные правила для создания и предложения блоков в сети Bitcoin. Это включает в себя такие вещи, как размер блока, форматирование транзакций и подписание блока.
Майнеры соревнуются друг с другом в гонке за создание следующего блока. Как только майнер решит, что создал действительный блок, он транслирует предлагаемый блок другим нодам в сети Bitcoin.
Полные ноды берут блок и, подобно тому, как они проверяют единственную транзакцию, проверяют действительность блока в соответствии с правилами, закодированными в программном обеспечении Bitcoin, которое они используют.
Если полная нода считает блок действительным, она добавляет блок в соответствующую копию блокчейна, транслирует его в сеть Bitcoin, и другие ноды проходят тот же процесс проверки.
Как только достаточное количество нод подтвердит блок и добавит его в свою копию блокчейна, будет достигнут консенсус. В этот момент транзакции в блоке обрабатываются, все ноды проверяют и сохраняют обновленную версию блокчейна, а майнеры начинают гонку за созданием следующего блока.
Майнинг: полные узлы против майнеров
Майнеры заинтересованы в создании и предложении действительных блоков, потому что майнер, чей блок добавляется в блокчейн, получает вознаграждение.
Это вознаграждение за блок состоит из недавно выпущенных BTC, предварительно запрограммированных в программном обеспечении Bitcoin, плюс комиссии, выраженные в BTC, за все транзакции, содержащиеся в блоке.
Майнинг конкурентоспособен и дорог. Если майнер предлагает недопустимый блок (например, с ложными транзакциями), блок отклоняется другими нодами, и майнер не получает вознаграждение за время и деньги, потраченные на создание блока.
Соответственно, майнеры заинтересованы в том, чтобы предлагать только действительные блоки.
Ключевое различие между полными нодами и майнерами заключается в том, что майнеры могут предлагать новые блоки в сети Bitcoin, а полные ноды — нет. Соответственно, майнеры могут получать вознаграждение за блок, а полные ноды — нет.
Ресурсоемкость майнинга означает, что майнеры должны использовать специализированное мощное оборудование, разработанное специально для создания и предложения новых блоков. Напротив, полные ноды могут работать на большинстве ноутбуков и даже на Raspberry Pi.
Это подводит нас к третьему и последнему основному типу Bitcoin-нод — легким нодам.
Легкие ноды
Легкие ноды запускают специальную версию программного обеспечения Bitcoin, которая хранит, как следует из названия, облегченную версию блокчейна. Эта версия блокчейна содержит заголовки блоков, которые представляют собой коды в каждом блоке, которые в основном говорят, что «этот блок действителен».
Это позволяет легким нодам подключаться к сети Bitcoin и осуществлять транзакции в ней без необходимости сохранять полную историю.
Важно, однако, то, что это означает, что легкие ноды не могут самостоятельно проверять правила сети Bitcoin и, следовательно, должны подключаться к полным нодам, чтобы получить данные блока.
Мобильные кошельки — наиболее распространенный пример легких нод. Большинство мобильных телефонов (за одним или двумя исключениями) недостаточно мощны для запуска полной ноды и, конечно же, недостаточно мощны для запуска майнера. Но они достаточно мощны, чтобы хранить сжатую версию блокчейна с информацией об остатках BTC на адресах кошельков. Если вы отправили или получили BTC со своего телефона, ваше устройство является нодой в сети Bitcoin!
Другие типы Bitcoin-нод
Полные ноды, майнеры и легкие ноды являются основными типами Bitcoin-нод. Однако есть некоторые другие типы нод, которые часто упоминаются и требуют описания.
- Ноды Lightning: Lightning — это сеть, построенная поверх сети Bitcoin, чтобы люди могли совершать транзакции с BTC быстрее и дешевле. Узлы Lightning координируют эту деятельность.
- Архивные ноды: также известные как полные архивные ноды. Архивные ноды являются синонимами полных нод, они хранят полную копию блокчейна и могут проверять все правила сети Bitcoin. Различие связано с тем, что люди иногда разбивают полные ноды на два типа — архивные ноды и сокращенные ноды.
- Сокращенные ноды: Сокращенные ноды хранят полную историю блокчейна до определенного размера. Как только этот предел размера будет достигнут, они начнут удалять или сокращать более ранние блоки, чтобы иметь возможность хранить полные версии новых блоков. Обрезанные ноды меньше, чем полные ноды, но больше, чем легкие ноды.
- Ноды пула майнинга: Ноды пула майнинга организуют майнинговую деятельность групп майнеров, чтобы они могли объединять ресурсы для добычи новых блоков. Когда нода пула майнинга создает блок, который добавляется в блокчейн, нода распределяет вознаграждение за блок между майнерами пропорционально их количеству ресурсов. Майнеры любят пулы для майнинга, потому что это означает, что им платят более стабильно. Например, вместо того, чтобы получать 10 BTC каждые 100 блоков, они могли бы получать 1 BTC каждые 10 блоков.
Вывод
Bitcoin-ноды — это компьютеры, подключенные к сети Bitcoin, на которых работает программное обеспечение Bitcoin для трансляции, проверки, обработки и хранения транзакций и блоков BTC. Существует три основных типа Bitcoin-нод.
- Полные ноды ненадежно проверяют транзакции и блоки, чтобы достичь консенсуса в отношении истории транзакций. Таким образом, полные ноды в конечном итоге решают, какие блоки будут добавлены в блок.
- Майнеры организуют транзакции в блоки, которые затем предлагают сети Bitcoin. Если блок майнера добавляется в блокчейн, майнер получает вознаграждение за блок. Таким образом, майнеры способствуют поступлению в обращение только что созданных BTC – так происходит эмиссия.
- Легкие ноды хранят урезанную версию блокчейна Bitcoin, подключаясь к полным нодам. Таким образом, легкие ноды позволяют проводить транзакции BTC на устройствах с низким энергопотреблением, таких как мобильные телефоны.