Блокчейн/Уровень X · Круг замкнулся/10.2 Рецепт/Урок 6
Шаг 6: ваш собственный узел
Чек-сумма, индекс и машина, которая отказывает
МатериалыКомпьютер с примерно 20 ГБ свободного места для упрощенного узла или 1 ТБ — для полноценного узла.Установлено программное обеспечение GPG для проверки подписей разработчиков на загружаемых файлах.Местный индексатор, совместимый с Electrum, такой как Fulcrum или electrs
Любопытство
- Как пользователь может убедиться, что программное обеспечение, которое он скачал, не было изменено кем-то посредником или поврежденным репозиторием?
- Почему подключение к общедоступному серверу для проверки баланса эквивалентно раскрытию своего финансового положения третьей стороне, и как локальные индексаторы решают эту проблему?
- В чем разница между проверкой транзакции через удаленный орган и независимой проверкой ее правил по цепи?
Исследование
- Bitcoin Core (урок 3.1.5) проверяет каждый блок начиная с самого первого и до последнего, убеждаясь, что каждый из них соответствует правилам консенсуса. Перед запуском любой версии пользователи должны проверить целостность данных с помощью файлов SHA256SUMS и SHA256SUMS.asc. В этих файлах содержатся криптографические хэши, подписанные несколькими независимыми разработчиками. Импортировав их публичные ключи GPG и проверив подписи, пользователь может убедиться, что бинарный файл совпадает с тем, который выпустили надежные разработчики, тем самым предотвращая запуск измененного кода, способного украсть ключи или повредить данные.
- При первоначальной загрузке блоков (IBD) загружается и проверяется весь хронологический порядок блоков — объем которого превышает 600 ГБ; этот процесс занимает от нескольких часов до дней в зависимости от характеристик оборудования и качества соединения. Полноценный узел сохраняет всю эту информацию на диске. Узел с ограничением объема хранения проверяет каждый блок, но сохраняет только самые свежие из них (минимальное значение параметра prune составляет 550 МБ); при использовании механизма UTXO общий объем данных составляет примерно 10–20 ГБ. Оба типа узлов независимо соблюдают правила консенсуса, что позволяет пользователям отклонять недействительные транзакции до того, как они попадут в их собственный мемпул.
- Программные кошельки обычно подключаются к удаленным серверам для получения информации о балансе и отправки транзакций. Это позволяет оператору такого сервера узнавать адреса кошельков и их балансы. Для обеспечения конфиденциальности пользователи могут использовать локальные реализации серверов Electrum, такие как Fulcrum или electrs, наряду с Bitcoin Core. Эти индексаторы предоставляют API, совместимое со стандартными кошельками, но работают локально на устройстве пользователя. Подключение кошелька к этой локальной версии гарантирует, что история адресов и данные о балансе никогда не покидают сетевую зону пользователя.
- Прямое подключение через RPC — ещё один способ интеграции кошелька с Bitcoin Core без использования промежуточных серверов. Этот метод позволяет опытным пользователям напрямую настраивать формирование транзакций и логику расчета комиссий в своем собственном узле. Независимо от того, используется ли RPC или индексатор, совместимый с Electrum, ключевое отличие заключается в том, что источник данных находится в распоряжении пользователя. Узел проверяет набор UTXO локально, подтверждая, что средства не были использованы и соответствуют правилам протокола, прежде чем подписывать какие-либо данные.
- Работа с узлом переносит доверие от централизованных посредников на математическую верификацию. Локальный узел также транслирует собственные транзакции пользователя, поэтому ни один сервер-кошелек не может тайно их отклонить или зарегистрировать. Компромисс заключается в стоимости оборудования и ответственности за его обслуживание: пользователи должны сами заниматься обновлениями программного обеспечения, расширением диска и обеспечением непрерывной работы. Однако такая автономия гарантирует, что сбой в работе любого отдельного участника — биржи, поставщика кошельков или оператора сервера — не приведет к потере доступа к средствам или контроля над ними.
- Проверьте настройки. В Bitcoin Core запустите команду getblockchaininfo и убедитесь, что количество блоков совпадает с текущей высотой в публичном эксплорере, а значение параметра initialblockdownload равно false; сравните результат команды getbestblockhash с хешем последнего блока в эксплорере. В настройках сервера кошелька убедитесь, что указан ваш собственный узел или сервер Electrum, а не публичный. Если остатки средств загружаются при отключенных публичных серверах, значит кошелек читает данные с вашего узла.
Ключевые факты
- Файлы SHA256SUMS.asc подписываются несколькими независимыми разработчиками для проверки целостности бинарного файла Bitcoin Core.
- Очищенный узел проверяет все блоки, но сохраняет только самые свежие, что занимает примерно 10–20 ГБ.
- Запуск локальных индексаторов, таких как Fulcrum или Electrs, предотвращает разглашение адресов кошельков и их балансов третьим сторонам.
- Первоначальная загрузка блоков включает проверку более 600 ГБ блоков и занимает от нескольких часов до нескольких дней.
- Прямое подключение через RPC позволяет кошелькам взаимодействовать с Bitcoin Core без промежуточных серверов.
- Локальный узел независимо проверяет транзакции согласно правилам консенсуса, отклоняя недействительные данные до их передачи.
Упражнение девять, шесть, три, один
9СобратьПеречислите 9 отдельных компонентов или этапов, необходимых для настройки и проверки среды полного узла Bitcoin для личного использования.
6СгруппироватьСгруппируйте 9 элементов в 6 категорий в соответствии с их функцией: проверка источника, управление хранением, синхронизация сети, защита конфиденциальности, интеграция программного обеспечения или техническое обслуживание.
3Выделить главноеСократите 6 групп до 3 основных причин, по которым использование локального узла обеспечивает преимущества в плане безопасности по сравнению с использованием общедоступных сервисов.
1КристаллизоватьСуществует компромисс между вычислительными и хранилищными затратами, связанными с самовалидацией, и отсутствием необходимости полагаться на сторонние источники.
Проверка фактов
Даты, цифры и утверждения были проверены по приведенным ниже опубликованным источникам.