Руководство от Kraken Intelligence по настройке и запуску простейшего варианта полного биткойн-узла, обеспечивающего наилучший уровень безопасности и конфиденциальности вам и вашим транзакциям.
Репутация Биткойна как самой «твердой» формы денег в значительной степени поддерживается децентрализованной сетью узлов, которые хранят и верифицируют его блокчейн. Узлы, или «ноды» (калька с англ. node — узел), — это распределенные по всему миру компьютеры, образующие единую сеть Биткойна. Запустить собственную ноду может любой обладатель современного компьютера и доступа в интернет. Около 31% населения мира не имеют доступа к банковским услугам (источник, PDF), и Биткойн для каждого человека открывает возможность стать собственным банком. Запуск собственного полного узла — это единственный способ использовать Биткойн, не полагаясь на посредников.
Операторы полных узлов совместно обеспечивают соблюдение правил сети и поддерживают ее децентрализацию. Благодаря этой распределенной сети полных узлов, Биткойн не имеет единой точки отказа или центра управления, который мог бы диктовать условия остальной сети. Вместо этого, Биткойн полагается на широкий консенсус этих полных узлов в отношении проверки транзакций и защиты данных в сети. Полные узлы также позволяют всем участникам рынка просматривать данные в прозрачной сети, размещая свою копию блокчейна в публичном доступе.
Основная функция полных узлов Биткойна заключается в обеспечении достоверности, безопасности и доступности данных блокчейна практически для каждого. Многие думают, что запуск ноды — это чисто альтруистическое действие, направленное на укрепление сети Биткойна. Но на самом деле использование собственного узла для проверки транзакций обеспечивает пользователям наилучший возможный уровень безопасности и конфиденциальности. В этом руководстве рассказывается о том, что такое полный узел Биткойна, почему пользователям стоит рассмотреть возможность запуска собственного полного узла, а также как его настроить и использовать для проверки транзакций.
Навигация по статье:
Что такое узел (нода)?
Биткойн-нода — это устройство (компьютер или мобильный телефон), подключенное к сети Биткойна с помощью специального ПО, называемого также биткойн-клиентом. Ноды подключаются к другим устройствам, на которых работает то же ПО, и образуют одноранговую (peer-to-peer) сеть Биткойна. Большинство узлов подключаются к сети через интернет, но некоторые могут подключаться косвенно через спутниковые, радио- или ячеистые сети. Узлы выполняют три важные задачи:
Задача 1: хранение блокчейна со всей историей блоков и транзакций
Путем проверки транзакций, изначально подтвержденных майнерами, все ноды вносят свой вклад в построение и поддержание блокчейна, который представляет собой список всех подтвержденных биткойн-транзакций. Копия всех совершенных транзакций записывается в блокчейн Биткойна. Каждый полный узел сети Биткойна хранит копию блокчейна и постоянно добавляет в нее новые транзакции по мере поступления.
Задача 2: обмен информацией с другими узлами для проверки новых блоков, предлагаемых майнерами
Узлы обмениваются друг с другом информацией о последних транзакциях для формирования консенсусного состояния блокчейна. Этот механизм обмена информацией позволяет всем участникам быть в курсе того, что происходит в других частях сети (например, новых транзакций), и является жизненно важным компонентом для контроля за глобальным цифровым криптоактивом. Узлы обмениваются двумя типами транзакций: подтвержденными и ожидающими подтверждения. Подтвержденные транзакции были проверены и добавлены в блоки, найденные майнерами. Эти транзакции добавляются в блокчейн блоками, не по отдельности. Ожидающие подтверждения транзакции, которые еще не были добавлены в блокчейн, находятся в мемпуле Биткойна. Мемпул фактически представляет собой лист ожидания для транзакций, откуда их отбирают майнеры для включения в блоки.
Биткойн-ноды часто отождествляют с майнерами, но на самом деле это самостоятельные субъекты, которые взаимодействуют с майнерами для поддержания целостности сети. В частности, узлы проверяют транзакции перед тем, как добавить их в свой мемпул, исключая попадание туда заведомо мошеннических транзакций. Майнеры же отбирают транзакции из мемпула, объединяют их в блоки и добавляют их в блокчейн. Узлы регулируют сложность майнинга, удерживая средний интервал между блоками (время, затрачиваемое на нахождение нового валидного блока) на уровне 10 минут.
Задача 3: обеспечить соблюдение правил протокола Биткойна
Каждый узел запрограммирован на выполнение правил протокола Биткойна. Если узел нарушает правила протокола и транслирует в сеть недопустимый блок, содержащий одну или несколько мошеннических транзакций (например, с двойной тратой), другие одноранговые узлы исключают «невалидный» узел из сети. Транслируя и ретранслируя транзакции на другие узлы, они могут сравнивать предлагаемые майнерами блоки и проверять их подлинность, эффективно отсеивая злоумышленников без необходимости в централизованном посреднике. Например, если бы кто-то отправил в транзакции больше биткойнов, чем у него есть, все узлы отклонили бы такую транзакцию.
Вот некоторые из правил консенсуса Биткойна:
Подводя итог, биткойн-ноды поддерживают надежность данных, хранимых в блокчейне. Хотя для сохранения истории блокчейна достаточно было бы и одного узла, при такой конфигурации система имела бы единую точку отказа. Блокчейн без децентрализованной сети узлов менее устойчив к таким угрозам, как системные сбои, перебои в подаче электроэнергии или атаки на сеть.
Типы биткойн-узлов
Не все ноды равны. Узлы, хранящие полную копию блокчейна и использующие ее для обеспечения соблюдения правил консенсуса и проверки новых транзакций, называются полными. Большинство полных узлов поддерживает работу сети, проверяя транзакции и блоки, прежде чем транслировать их другим полным узлам. Полные узлы часто обслуживают «легкие узлы», или кошельки с простой верификацией платежей (SPV, от Simple Payment Verification), которые содержат только частичную копию блокчейна и могут передавать транзакции в сеть через полные ноды.
В этом отчете мы ограничимся двумя типами узлов, определенными в уайтпейпер Биткойна: полными узлами и SPV-клиентами:
Полный узел
Так называется устройство, на котором работает ПО Биткойна, которое независимо проверяет состояние его блокчейна, загружая каждый блок и транзакцию за почти 13-летнюю историю блокчейна и проверяя их на соответствие правилам консенсуса. Если транзакция или блок не соответствует правилам консенсуса, полный узел такую транзакцию или блок автоматически отклоняет. Полные узлы транслируют, проверяют и хранят транзакции, выступая в качестве шлюзов к сети и одновременно информационной магистрали для обмена данными сети между всеми ее участниками. Многие полные узлы также помогают легким, передавая в сеть транзакции SPV-кошельков и сигнализируя им о входе или выходе транзакции. Один полный узел обычно бывает подключен к восьми-десяти другим узлам.
За | Против |
Бездоверительность: не требует доверия к посредникам, вы становитесь «собственным банком». Возможность совершать платежи без границ и самостоятельно их проверять, чтобы удостовериться, что каждая из сторон действует честно; | Требует обработки большого объема данных: требует локального хранения 375+ Гб данных, подразумевает постоянную проверку входящих транзакций и обмен с сетью новыми транзакциями и блоками. |
Контроль соблюдения правил: полные узлы автоматически отклоняют мошеннические и некорректные транзакции, обеспечивая соблюдение правил всеми участниками сети. | Обслуживание: операторам полных узлов нужно поддерживать их работоспособность, обновлять ПО по мере выхода новых версий, следить за тем, чтобы они оставались синхронизированными с сетью и передавали транзакции, обеспечивать необходимое место для хранения данных. |
Безопасность: вы самостоятельно проверяете корректность любых транзакций, не полагаясь на каких бы то ни было доверенных посредников и исключая любые связанные с ними риски. | Неудобство: осуществлять транзакции с устройства, на котором хранятся сотни гигабайт данных, намного менее удобно, чем из мобильного приложения. Приходится использовать дополнительные решения. |
Конфиденциальность: пользование централизованными сервисами обычно подразумевает передачу чувствительной информации, которая может быть использована против пользователя — самим оператором сервиса или в случае утечки даныных. | Сложнее в использовании: пользовательский интерфейс не так прост и удобен, как во многих традиционных финансовых инструментах и централизованных сервисах, а независимая проверка транзакций подразумевает понимание основ того, как работает Биткойн. |
Легкий узел
Если полные узлы являются краеугольным камнем сети Биткойна, то легкие ноды обеспечивают участникам рынка более легкий доступ к ней. Многие легкие узлы используют метод «простой верификации платежей» (Simple Payment Verification, или SPV), определенный Сатоши в оригинальной уайтпейпер Биткойна, для проверки транзакций без загрузки на устройство всего блокчейна. Однако SPV-клиенты не могут самостоятельно проверить корректность всех транзакции в блокчейне Биткойна. Вместо этого, они загружают только заголовки блоков для проверки исключительно подлинности транзакций. Легкие узлы действуют как посредники между отправителем и полным узлом, запрашивая у того данные, необходимые для подтверждения платежа. SPV-кошельки значительно дешевле в обслуживании, чем полные узлы, потому что они не обрабатывают большие объемы данных, передаваемых по сети. Исторически они использовались во многих мобильных биткойн-кошельках, хотя теперь встречаются реже. SPV-клиенты (например, мобильные кошельки) доверяют большинству майнеров, не проверяя валидность создаваемых ими блоков. Хотя для того чтобы ввести SPV-клиент в заблуждение, потребовалось бы большинство майнеров, теоретически они могут заставить SPV-клиент поверить во что угодно. Однако какие-то вредоносные действия при этом трудно выполнить, поскольку полные узлы отклоняют недопустимые блоки. Легкие ноды обычно имеют подключение с четырьмя другими узлами сети. Хотя Сатоши описывал дизайн SPV-клиентов в своей уайтпейпер 2008 года, они не были реализованы, пока два года спустя Mike Hearn не создал BitcoinJ, реализацию протокола Биткойна на языке Java. И после этого прошло еще 18 месяцев, прежде чем 30 ноября 2016 разработчики опубликовали BIP 37, определяющее спецификацию для проверки транзакций посредством фильтра Блума. Простыми словами, это позволило SPV-клиентам по заголовку блока убеждаться в том, что транзакция включена в этот блок. Это значительно сократило использование полосы пропускания, как изначально описывал Сатоши в своей уайтпейпер.
Однако не все легкие ноды функционируют таким образом. Некоторые легкие кошельки построены таким образом, чтобы получать требуемые блокчейн-данные из многих источников. Например, сервис проверяет несколько блок-эксплореров (например, blockchain.com, blockchair, blockcypher и tokenview), чтобы устранить единую точку отказа для SPV-клиента. Хотя сговор между многими блок-эксплорерами маловероятен, тем не менее пользователи в этом случае вынуждены доверять другим в отношении корректности получаемых данных. Теоретически несколько блок-эксплореров, или даже других сторонних источников, тоже могут предоставлять некорректные данные.
За | Против |
Удобнее: легко запускается на любом мобильном устройстве. | Менее конфиденциальны: SPV-клиенты, использующие фильтрацию Блума, имеют подтвержденные проблемы, которые могут раскрывать личные данные пользователей. Хотя эти проблемы решаются путем разделения фильтров Блума между пирами, этот шаг увеличивает нагрузку на полные узлы. Веб-кошельки, получающие данные от нескольких блок-эксплореров, тоже могут приводить к утечке пользовательских данных. |
Дешевле: потребляет меньше ресурсов, не проверяет постоянно ожидающие транзакции. | Менее безопасны: Доверие посредникам по определению подразумевает уязвимости, как, например, получение некорректных данных о транзакции от одного или даже нескольких блок-эксплореров. |
Проще пользоваться: многие легкие ноды оптимизированы для новичков и требуют только самого базового понимания биткойн-адресов. | Требуют доверия: не дают возможности использовать Биткойн, не полагаясь на централизованного посредника. |
Для чего содержать полный узел?
«Доверенные посредники — это дыры в безопасности», — Ник Сабо.
Присказка «не твои ключи — не твои монеты» справедлива и в отношении биткойн-нод: «не твоя нода — не твои правила». Так же, как самостоятельное управление собственными ключами исключает вероятность потери монет из-за злонамеренности или халатности третьих сторон, собственная полная нода обеспечивает для вас самостоятельную проверку всех входящих платежей, исключая обман. Преимущества использования собственного полного узла включают:
Бездоверительность транзакций
Биткойн разработан таким образом, чтобы система корректно функционировала без необходимости для пользователей доверять кому бы то ни было. Полные узлы устраняют необходимость доверять добросовестности третьей стороны в отношении транслируемого состояния реестра, поскольку у оператора узла есть собственная полная копия блокчейна. Однако из соображений удобства многие пользователи выбирают полагаться на различных посредников (блок-эксплореры, централизованные кошельки и т.п.), которые держат полные узлы и проверяют транзакции за них. Это означает, что пользователи вынуждены доверять этим посредникам в том, что те не будут предоставлять им недостоверную информацию, умышленно или нет. SPV-кошельки не являются «бездоверительными» (не требующими доверия), поскольку их пользователи вынуждены верить, что большая часть хеш-мощностей сети соответствует правилам протокола. Хотя существует множество зарекомендовавших себя надежными сторонних источников, принцип самостоятельности и суверенитета пользователей предполагает самостоятельную проверку транзакций с помощью собственного полного узла. Без сети узлов, гарантирующих валидность каждой транзакции и блока, для пользователей Биткойна было бы невозможно узнать, нарушают ли остальные участники правила сети, совершая двойные траты или выпуская больше монет, чем это предусмотрено протоколом. Если вы держите полный узел и никто не просматривает транзакции, которые он проверяет, это вносит свой вклад в сеть, но не помогает снизить потребность в доверии. Разработчик Bitcoin Core Питер Вуйле (Pieter Wuille) однажды заметил, что «одна из сильных сторон Биткойна — даже самая важная, пожалуй, — это низкая степень потребности в доверии к кому бы то ни было».
Безопасность
Поскольку полные ноды позволяют пользователям совершать транзакции без необходимости доверять посредникам, они также предлагают наилучшую модель безопасности. Доверие посредникам неизбежно подразумевает ущерб безопасности, особенно в глобальной финансовой сети с капитализацией (на пике) более $1 трлн. Например, скомпрометированный централизованный кошелек в некоторых редких случаях может сделать своих пользователей мишенью для злоумышленников. Используя кошелек централизованного сервиса, пользователи полностью полагаются на посредника в содержании полного узла, обеспечивающего соблюдение правил сети. Даже если посредник имеет хорошую репутацию и в целом достоин доверия, в какой-то момент он может быть скомпрометирован хакерами, допустить утечку данных, которые будут использованы в фишинговых атаках, или даже просто пойти против интересов собственных пользователей. Проверка транзакций с помощью собственного полного узла — это эффективная защита от вероятного мошенничества с использованием сети Биткойна. Иначе говоря, если бы полные узлы держали только несколько известных игроков рынка (блок-эксплореров, например), то для того чтобы изменить правила системы, было бы достаточно только их воли или атаки на них, поскольку никто другой не проверял бы подлинность транзакций.
Конфиденциальность
Пользуясь централизованным кошельком или другим сервисом, поддерживающим полный узел за вас, вы открываете поставщику услуг все свои транзакции и все адреса, подключенные к вашему кошельку. Проблемы с конфиденциальностью возникают даже при использовании некоторых из SPV-кошельков (легких узлов), а именно тех, в которых используется фильтр Блума. Полные узлы обеспечивают наилучшую конфиденциальность, поскольку операторы узлов загружают все данные блокчейна и запрашивают адреса и транзакции только локально, то есть третьи стороны не могут видеть вашу историю поиска.
Соблюдение правил
Полные узлы автономно отклоняют любые действия, нарушающие правила протокола, всё то время, пока работают и подключены к сети. Таким образом, запуск полного валидирующего узла Биткойна и использование его для проверки входящих платежей — единственный способ обеспечить и самостоятельно убедиться в соблюдении правил, с которыми вы согласны.
Альтруистическая поддержка здоровья сети
Хотя многие ошибочно полагают, что майнеры контролируют сеть, на самом деле она контролируется узлами. Ноды, настроенные на прием входящих подключений, альтруистически укрепляют сеть, обмениваясь блоками и транзакциями с другими полными узлами, чтобы помочь им синхронизировать состояние блокчейна и обслуживать запросы данных от SPV-кошельков. Короче говоря, устойчивость сети к атакам пропорциональна числу людей, альтруистически поддерживающих полные узлы и проверяющих транзакции сети.
Большее число узлов сети также укрепляет блокчейн против политических векторов атак. Например, если регулятор сможет каким-то образом вытеснить биткойн-ноды из своей юрисдикции, узлы в других юрисдикциях продолжат работу, защищая безопасность сети.
Таким образом, проведение биткойн-транзакций способствует использованию BTC в качестве средства обмена, запуск своего полного узла укрепляет сеть, а использование этого узла для проверки собственных транзакций помогает пользователю и экосистеме в целом снизить потребность в доверии.
Географическое распределение узлов
Надежного способа подсчитать общее количество биткойн-узлов не существует, потому что они могут работать в частном порядке — записывать блоки и транзакции без передачи их остальной сети. Узлы могут находиться за брандмауэрами или быть не настроенными на прослушивание подключений. Кроме того, узлы подключаются к сети и выходят из нее по своему усмотрению, что означает, что общее количество узлов, вероятно, значительно превышает наши наилучшие оценки, которые ограничены лишь активными узлами. По данным Bitnodes, на момент написания в сети Биткойна насчитывается 14 994 доступных полных узла. Хотя отдельные лица могут поддерживать несколько узлов, это означает, что по меньшей мере более 14 тыс. пользователей сети выбрали не доверять проверку своих транзакций посредникам. Хотя сузить географическое распределение большинства узлов сложно из-за использования ими VPN, наибольшее количество идентифицируемых полных узлов находится в США (11,87%) и Германии (11,82%), за которыми с большим отрывом следуют Франция (3.70%), Нидерланды (2,49%) и Канада (1,97%). Расположение более чем 52% доступных узлов не определено из-за использования VPN, которые шифруют интернет-трафик и маскируют сетевые идентификаторы.
Нужно заметить, что система Биткойна не является демократической; консенсус поддерживается среди всех узлов, использующих совместимые версии ПО Биткойна и не подразумевает какого-либо голосования или представительства. Однако он не требует и 100% согласия между узлами. Консенсус — это идеал в том смысле, что в большинстве случаев абсолютного согласия между всеми участниками сети не достигается; в системе, основанной на консенсусе, такой как Биткойн, изменения реализуются только в случае, если это предложение не вызывает конфликта.
На уровне исходного кода консенсус достигается через предоставление каждому пользователю возможности предлагать свои изменения, а также просматривать и комментировать чужие предложения. Общий консенсус в отношении любых изменений будет подразумевать, что согласие между узлами почти единодушно, хотя какого-то минимального порога согласия и не определено. Любые изменения, вызывающие значительные противоречия между узлами, приведут к хард-форку (как Bitcoin Cash, например). Такой процесс обеспечивает равные условия в том смысле, что никакие особые интересы не ставятся выше других.
На уровне блокчейна консенсус поддерживается всеми узлами, использующими одно и то же программное обеспечение. Все активные узлы должны прийти к согласию в отношении фундаментальных правил, включая количество новых BTC, создаваемых с каждым блоком, и точное состояние блокчейна (т.е. какие блоки и транзакции его составляют). Если узлы не придут к согласию в отношении этих правил, сеть распадется, и блокчейн разделится на несколько самостоятельных цепочек блоков. Синхронизировать и совместить разделившиеся цепочки обратно в одну практически невозможно, и во избежание такого сценария любые изменения в сети нужно согласовывать и реализовывать постепенно и с осторожностью, что требует времени.
Таким образом, чтобы Биткойн был достаточно децентрализован, он должен иметь сеть узлов, распределенных по всему миру, чтобы свой вклад в нее могли вносить люди из самых разных стран и слоев общества. Глобальная децентрализованная сеть — это совершенно необходимое условие для актива, не признающего границ.
Настройка и использование полного узла: пошаговое руководство
Биткойн позволяет каждому стать собственным банком. Однако это также означает, что пользователи сами на 100% в ответе за защиту своих монет. Нужно понимать, что при взаимодействии с распределенными блокчейн-сетями, такими как Биткойн, ошибка может повлечь безвозвратную потерю средств. Поэтому общие практические рекомендации при использовании Биткойна включают резервное копирование данных вашего компьютера и никогда не вносить в кошелек большей суммы, чем вы можете себе позволить потерять. Можно безопасно запустить собственный узел, поддержав тем самым сеть, и использовать встроенный кошелек, но и в этом случае рекомендуется соблюдать те же меры предосторожности, что и при использовании любого биткойн-кошелька.
Запуск и настройка полного узла Bitcoin Core является основной темой этого руководства. Bitcoin Core — это поддерживаемое сообществом свободное ПО, распространяемое по лицензии MIT. Более 99% биткойн-узлов используют это ПО, хотя существует по меньшей мере 6 других программных реализаций. Полные узлы Bitcoin Core могут работать и на старых компьютерах, однако рекомендуется использовать современное оборудование, отвечающее следующим минимальным требованиям:
Шаг 0: выбор устройства и ОС
Во-первых, нужно выбрать устройство для Bitcoin Core. Например:
Варианты с Android или Raspberry Pi под управлением Linux подойдут более технически подкованным пользователям. Поэтому в этом руководстве мы не рассматриваем установку Bitcoin Core на какое-либо из устройств с Linux. Новым пользователям, желающим попробовать запустить полную ноду, мы рекомендуем использовать для этого имеющийся компьютер с Windows или Mac OS, работающий не менее 6 часов в сутки. Необходимо также убедиться в соответствии минимальным системным требованиям, изложенным выше, и в отсутствии законодательных ограничений на управление полным узлом Биткойна.
Когда устройство выбрано, пора загружать Bitcoin Core.
Настройка в Windows 10
Шаг 1: загрузите и установите Bitcoin Core
Перейдите на страницу загрузки (всегда есть смысл перепроверить URL, чтобы быть уверенным, что вы находитесь на правильной странице, и убедитесь, что вы установили безопасное соединение с сервером).
Убедившись в подлинности URL и безопасности соединения с сервером, нажмите кнопку «Download Bitcoin Core».
По завершении загрузки откройте скачанный файл для установки ПО.
В случае проблем с открытием Bitcoin Core рекомендуем заглянуть в эту статью (англ).
[Опционально] Шаг 1а: проверьте подписи релиза
Если вы знакомы с Pretty Good Privacy (PGP), программой шифрования, которая обеспечивает криптографическую конфиденциальность и аутентификацию для передачи данных, то рекомендуется проверить подписи релиза, кликнув по ссылке Verify Release Signatures на странице загрузки, чтобы загрузить подписанный список SHA-256 хешей файлов. Эти хеши нужно сравнить со следующим цифровым отпечатком:
Используйте PGP для проверки подписи в файле подписей релиза. Затем вычислите хеш загруженного вами архива. Наконец, убедитесь, что хеш соответствует тому, что указан в файле проверенных подписей выпуска.
Шаг 2: Настройте Bitcoin Core для начальной загрузки блоков
После того как вы загрузили и установили Bitcoin Core, пришло время скачать блокчейн Биткойна. Это называется начальной загрузкой блоков (Initial Block Download, или IBD) и подразумевает загрузку всех транзакций за почти 13-летнюю историю криптоактива. На момент написания статьи размер блокчейна составляет 375 Гб и растет в среднем на 0,175 Гб в день. Следовательно, нужно выбрать устройство с достаточным объемом дискового пространства, чтобы сохранить существующие данные и иметь запас на будущий рост блокчейна, который должен достичь 1 Тб к 2032 году.
Для начала первоначальной загрузки запустите Bitcoin Core. Программа предложит вам определить место для хранения блокчейна на вашем компьютере.
После определения места для загрузки блокчейна вам будет предложен выбор: управлять ли полным узлом стандартным образом, сохранив на своем компьютере все данные (375+ Гб), или сразу удалять «лишние» данные («prune»), что позволит вам запустить полный узел и загрузить и обработать все данные блокчейна, но сразу же после этого удалить всё, кроме самой недавней истории, чтобы минимизировать использование дискового пространства. «Сокращенные» полные узлы могут сократить объем хранимых данных до примерно 2 Гб, что примерно соответствует 400 песням. Если у вас недостаточно места на жестком диске или вы просто хотите воздержаться от хранения полного объема данных, мы рекомендуем поставить галочку напротив опции «Discard blocks after verification (prune)».
Нажмите OK для завершения настройки.
Шаг 3: настройте брандмауэр, чтобы разрешить подключение к Биткойну в публичных и частных сетях
После настройки клиента Bitcoin Core для начальной загрузки блокчейна брандмауэр вашего компьютера, скорее всего, уведомит вас о том, что он пытается заблокировать ваше соединение. Если так, отключите это, поставив галочки в следующих двух полях, чтобы разрешить Bitcoin Core передавать и получать данные в частных и публичных сетях.
После того как Bitcoin Core сможет обходить брандмауэр вашего компьютера для получения данных из интернета, автоматически начнется начальная загрузка — процесс загрузки и подтверждения блоков и транзакций с момента запуска Биткойна 3 января 2009 года. Начальная загрузка — это самая продолжительная часть процесса; для полной синхронизации может потребоваться от нескольких часов до нескольких дней — в зависимости от оборудования и скорости подключения к интернету. Bitcoin Core в процессе начальной загрузки использует значительную часть пропускной способности подключения. Однако вы можете в любое время остановить Bitcoin Core, закрыв программу. При следующем запуске она продолжит скачивание с того же места. Полную загрузку данных блокчейна на вашем полном узле нужно выполнить только однажды; после начальной загрузки ваш узел автоматически синхронизируется с остальными для обновления реестра в реальном времени.
[Опционально] Шаг 3а: проверьте подключения и при необходимости настройте сеть
После начальной загрузки данных блокчейна ПО Bitcoin Core должно работать корректно, однако операторам, желающим, чтобы их узел был доступен для других узлов (большинству пользователей в этом нет необходимости), нужно проверить свои соединения и убедиться, что всё работает корректно. Чтобы проверить, что ваш биткойн-узел принимает входящие соединения от других узлов, посетите Bitnodes.io и введите в левом поле ввода (см. картинку ниже) IP узла, а в правом — номер порта (в диапазоне от 1024 до 65535). Свой публичный IP-адрес легко узнать, выполнив поиск в Google по словам «what is my IP» или «мой IP» в Yandex — в обоих случаях ваш публичный IP-адрес отобразится вверху поисковой выдачи. Введя IP и номер порта, нажмите кнопку «Check Node» справа.
На следующем экране отобразится зеленое либо красное поле. Если зеленое, значит, ваш порт открыт, всё работает как надо, и никаких действий с вашей стороны больше не требуется. Если красное, значит, ваш порт закрыт, и нужно дополнительно настроить сеть, чтобы его открыть. В таком случае следуйте этим инструкциям с Bitcoin.org.
[Опционально] Шаг 4б: подключите свой узел к сети Tor для лучшей конфиденциальности и безопасности
С первых лет существования Биткойна злоумышленники активно искали различные способы атаки на его сеть. Хотя эти попытки не увенчались успехом, используя полный узел, не подключенный к виртуальной частной сети Tor, вы рискуете стать мишенью для таких злоумышленников, поскольку IP-адрес вашего узла будет публичен. Tor — это инструмент повышения конфиденциальности, используемый во многих популярных реализациях ПО Биткойна для обеспечения конфиденциальности пользователей. Хотя вероятность стать мишенью злоумышленников не так уж невелика, всегда есть смысл, по возможности, скрыть идентифицирующие данные вашего узла, поскольку нет никаких причин раскрывать вашу личную информацию. Если ваш полный узел настроен через сеть Tor, то наблюдатели за блокчейном не смогут обнаружить, что вы используете полный узел.
Чтобы загрузить и установить Tor, перейдите на официальный сайт проекта и нажмите кнопку “Download for Windows”. Но сначала убедитесь в отсутствии законодательных ограничений на пользование сетью Tor.
После этого найдите папку, в которой вы установили Tor и откройте браузер, пройдя по папкам Browser, TorBrowser и Tor соответственно. Откройте файл «tor.exe», расположенный по пути Browser/TorBrowser/Tor, чтобы запустить браузер.
Примечание: для настройки работы Bitcoin Core через сеть Tor нужно открыть именно файл “tor.exe”, а не просто приложение браузера.
Запустив “tor.exe”, вернитесь обратно в клиент Bitcoin Core и выберите пункт “Options” в меню “Settings”. Перейдите на вкладку “Network”, поставьте галочку в поле “Connect through SOCKS5 proxy (default proxy)” и впишите “127.0.0.1” как Proxy IP и “9050” в поле порта. На этом настройка узла для работы через Tor завершена.
Однако для подключения вашего узла через сеть Tor нужно перезагрузить клиент Bitcoin Core. После перезагрузки подождите несколько минут, пока ваш полный узел подключится к другим узлам сети. Если надпись “Connecting to peers” в левом нижнем углу экрана не пропадает спустя продолжительное время, значит, Bitcoin Core не смог установить соединение с сетью Tor. В таком случае перейдите снова в раздел настроек сети (вкладка “Network”) в Bitcoin Core и измените значение порта на “9150” (иногда Tor использует этот Proxy IP для подключений к Windows).
Настройка в Mac OS X
Шаг 1: загрузите и установите Bitcoin Core
Перейдите на страницу загрузки (всегда есть смысл перепроверить URL, чтобы быть уверенным, что вы находитесь на правильной странице). Убедитесь, что вы установили безопасное соединение с сервером.
Убедившись в подлинности URL и безопасности соединения с сервером, нажмите кнопку «Download Bitcoin Core».
[Опционально] Шаг 1а: проверьте подписи релиза
Если вы знакомы с Pretty Good Privacy (PGP), программой шифрования, которая обеспечивает криптографическую конфиденциальность и аутентификацию для передачи данных, то рекомендуется проверить подписи релиза, кликнув по ссылке Verify Release Signatures на странице загрузки, чтобы загрузить подписанный список SHA-256 хешей файлов. Эти хеши нужно сравнить со следующим цифровым отпечатком:
Используйте PGP для проверки подписи в файле подписей релиза. Затем вычислите хеш загруженного вами архива. Наконец, убедитесь, что хеш соответствует тому, что указан в файле проверенных подписей выпуска.
Шаг 2: Настройте Bitcoin Core для начальной загрузки блоков
После того как вы загрузили и установили Bitcoin Core, пришло время скачать блокчейн Биткойна. Это называется начальной загрузкой блоков (Initial Block Download, или IBD) и подразумевает загрузку всех транзакций за почти 13-летнюю историю криптоактива. На момент написания статьи размер блокчейна составляет 375 Гб и растет в среднем на 0,175 Гб в день. Следовательно, нужно выбрать устройство с достаточным объемом дискового пространства, чтобы сохранить существующие данные и иметь запас на будущий рост блокчейна, который должен достичь 1 Тб к 2032 году.
Откройте загруженный файл (по умолчанию файлы загружаются в папку «Загрузки»). В открывшемся окне перетащите иконку Bitcoin Core в папку Applications.
При первом запуске Bitcoin Core Mac OS попросит вас подтвердить, что вы хотите запустить эту программу. Нажмите «OK».
Далее вам понадобится выбрать директорию для хранения блокчейна и вашего кошелька Bitcoin Core. После определения места для загрузки блокчейна вам будет предложен выбор: управлять ли полным узлом стандартным образом, сохранив на своем компьютере все данные (375+ Гб), или сразу удалять «лишние» данные («prune»), что позволит вам запустить полный узел и загрузить и обработать все данные блокчейна, но сразу же после этого удалить всё, кроме самой недавней истории, чтобы минимизировать использование дискового пространства. «Сокращенные» полные узлы могут сократить объем хранимых данных до примерно 2 Гб, что примерно соответствует 400 песням. Поэтому, если у вас недостаточно места на жестком диске или вы просто хотите воздержаться от хранения полного объема данных, мы рекомендуем поставить галочку напротив опции «Discard blocks after verification (prune)».
Нажмите «OK» для завершения настройки.
Bitcoin Core начнет начальную загрузку блоков — процесс загрузки и подтверждения блоков и транзакций с момента запуска Биткойна 3 января 2009 года. Начальная загрузка — это самая продолжительная часть процесса; для полной синхронизации может потребоваться от нескольких часов до нескольких дней — в зависимости от оборудования и скорости подключения к интернету. Bitcoin Core в процессе начальной загрузки использует значительную часть пропускной способности подключения. Однако вы можете в любое время остановить Bitcoin Core, закрыв программу. При следующем запуске она продолжит скачивание с того же места. Полную загрузку данных блокчейна на вашем полном узле нужно выполнить только однажды; после начальной загрузки ваш узел автоматически синхронизируется с остальными для обновления реестра в реальном времени.
[Опционально] Шаг 3а: проверьте подключения и при необходимости настройте сеть
После начальной загрузки данных блокчейна ПО Bitcoin Core должно работать корректно, однако операторам, желающим, чтобы их узел был доступен для других узлов (большинству пользователей в этом нет необходимости), нужно проверить свои соединения и убедиться, что всё работает корректно. Чтобы проверить, что ваш биткойн-узел принимает входящие соединения от других узлов, посетите Bitnodes.io и введите в левом поле ввода (см. картинку ниже) IP узла, а в правом — номер порта (в диапазоне от 1024 до 65535). Свой публичный IP-адрес легко узнать, выполнив поиск в Google по словам «what is my IP» или «мой IP» в Yandex — в обоих случаях ваш публичный IP-адрес отобразится вверху поисковой выдачи. Введя IP и номер порта, нажмите кнопку «Check Node» справа.
На следующем экране отобразится зеленое либо красное поле. Если зеленое, значит, ваш порт открыт, всё работает как надо, и никаких действий с вашей стороны больше не требуется. Если красное, значит, ваш порт закрыт, и нужно дополнительно настроить сеть, чтобы его открыть. В таком случае следуйте этим инструкциям с Bitcoin.org.
[Опционально] Шаг 3б: подключите свой узел к сети Tor для лучшей конфиденциальности и безопасности
С первых лет существования Биткойна злоумышленники активно искали различные способы атаки на его сеть. Хотя эти попытки не увенчались успехом, используя полный узел, не подключенный к виртуальной частной сети Tor, вы рискуете стать мишенью для таких злоумышленников, поскольку IP-адрес вашего узла будет публичен. Tor — это инструмент повышения конфиденциальности, используемый во многих популярных реализациях ПО Биткойна для обеспечения конфиденциальности пользователей. Хотя вероятность стать мишенью злоумышленников не так уж невелика, всегда есть смысл, по возможности, скрыть идентифицирующие данные вашего узла, поскольку нет никаких причин раскрывать вашу личную информацию. Если ваш полный узел настроен через сеть Tor, то наблюдатели за блокчейном не смогут обнаружить, что вы используете полный узел.
Чтобы настроить полный узел Биткойна на работу через сеть Tor на Mac OS, следуйте этому простому руководству. Но сначала убедитесь в отсутствии законодательных ограничений на пользование сетью Tor.
Преднастроенный полный узел «из коробки»
Предварительно настроенные полные узлы представляют собой специализированные готовые к использованию устройства, работающие «из коробки». Такой тип узла подойдет тем, кто хочет получить самый простой интерфейс и опыт и использования на выделенном устройстве. Вот ссылки на некоторых из поставщиков готовых к использованию полных узлов Биткойна:
Примечание: преднастроенный полный узел важно приобретать у производителя, поскольку посредник может внедрить в устройство уязвимости.
Полный узел своими руками
Полный узел можно собрать самостоятельно, используя для этого подходящее оборудование и специализированное ПО. Этот вариант подойдет технически подкованным пользователям, не имеющим компьютера с необходимым дисковым пространством, работающего 24/7/365. Поставщики ПО для биткойн-узлов, такие как Umbrel и myNode, предлагают легко загружаемое клиентское ПО, упрощающее настройку самодельных полных узлов. Для работы полного узла может быть достаточно и меньшего, но мы рекомендуем использовать примерно следующую конфигурацию:
Популярное ПО, используемое в самодельных полных узлах:
Мобильный полный узел
Полный узел Биткойна можно запустить на устройстве под управлением Android. Этот вариант подойдет тем, кто хочет получить полный валидирующий узел карманного формата, хотя, скорее всего, он использует все ресурсы вашего телефона при синхронизации. Кроме того, нужно отдавать себе отчет в объеме используемых мобильных данных. Примеры подходящего ПО:
Как пользоваться полным узлом Биткойна
Если вы добрались сюда, выполнив все предыдущие шаги, поздравляю! Вы сделали большой шаг к тому, чтобы стать собственным банком и обеспечить свой финансовый суверенитет. Однако преимущества обладания полным узлом не будут в полной мере реализованы, пока вы не используете его для проверки транзакций.
Хотя самый очевидный способ использования полного узла — это использовать функциональность доступного на нем кошелька, это может быть неудобно для большинства пользователей, которые не хотят таскать полный узел с собой. Поэтому обычно пользователи синхронизируют свои полные узлы с совместимыми мобильными кошельками для удобной и при этом автономной и самостоятельной проверки транзакций на ходу. На момент написания SPV-кошельки, поддерживающие функциональность полного узла, включают Bread, Samourai Wallet и многие другие.
Заключение
Глобально распределенная сеть полных узлов выполняет в системе Биткойна роль одновременно законодателей и судей, гарантируя, что будущее Биткойна не определяется централизованно. Полные ноды Биткойна могут предлагать новые правила и применять существующие правила о том, какие транзакции и блоки являются действительными, для защиты сети от злоумышленников. Если вы используете полный узел для входящих транзакций, вы на 100% уверены в валидности получаемых BTC. Но главное, запуск и использование полного узла — это единственный способ пользоваться сетью Биткойна автономно и не доверяя каким бы то ни было посредникам. Помимо прямых преимуществ управления полным узлом для самого пользователя, это также альтруистически способствует укреплению сети, делая ее более децентрализованной и надежной.
Вкратце, использование полных узлов дает пользователям Биткойна наилучшую возможную безопасность и конфиденциальность при наименьшем уровне требуемых допущений, а также способствует безопасности блокчейна. Если на то пошло, суть Биткойна заключается именно в том, чтобы устранить необходимость доверять третьим лицам свои средства и личные данные. Более того, почти каждый может подключиться к сети Биткойна практически из любой точки мира, что позволяет многим из примерно 2,45 млрд людей, не имеющих доступа к банковским услугам, сразу стать собственным банком и обрести финансовый суверенитет. И если всё, что для этого нужно, — это современный компьютер и подключение к интернету, то кажется, что финансовый суверенитет определенно стоит этих ресурсов.
БитНовости отказываются от ответственности за любые инвестиционные рекомендации, которые могут содержаться в данной статье. Все высказанные суждения выражают исключительно личное мнения автора и респондентов. Любые действия, связанные с инвестициями и торговлей на крипторынках, сопряжены с риском потери инвестируемых средств. На основании предоставленных данных, вы принимаете инвестиционные решения взвешенно, ответственно и на свой страх и риск.
Источник: bitnovosti.com