Новые узлы синхронизации в рамках консенсуса PoA Clique
Новые узлы синхронизации в рамках консенсуса PoA Clique

1. Предыстория

Добавление узлов синхронизации (полных узлов) имеет большое значение для сетей блокчейнов, особенно для частных цепочек, основанных на механизме консенсуса клики PoA (Proof of Authority). Вот основные причины для добавления узлов синхронизации и их преимущества:

  1. Улучшение децентрализации сети и отказоустойчивости
    • распределить нагрузку:Узлы синхронизации совместно распределяют данные и выполняют запросы.изнагрузка,Уменьшите нагрузку на узлы валидаторов.
    • Повышение отказоустойчивости:Если некоторые узлы валидатора или существующие узлы синхронизации неожиданно отключаются от сети.,Другие узлы синхронизации могут продолжать предоставлять пользователям возможность доступа к данным цепочки.,Повысьте надежность сети.
  2. Обеспечить избыточное резервное копирование данных цепочки
    • Узлы синхронизации хранят полные данные блокчейна, что обеспечивает избыточность данных для всей сети. Синхронные узлы могут служить резервным источником, если некоторые узлы потеряют данные или выйдут из строя.
    • существоватьчастное выступление,В некоторых бизнес-сценариях может потребоваться получение исторических транзакций или статуса счета в любое время.,Узлы синхронизации обеспечивают выполнение этих требований.
  3. Поддержка эффективного доступа к данным в цепочке
    • Узлы синхронизации обычно используются в качестве поставщиков данных (например, для запроса остатков на счетах, записей транзакций и т. д.). Путем добавления узлов синхронизации,Он может поддерживать больше запросов клиентов, не влияя на производительность узла валидатора.
    • Для таких приложений, как DApps), узлы синхронизации можно использовать как RPC(Remote Procedure Call) серверная поддержка службы для обработки запросов данных пользователей в цепочке.
  4. Улучшение масштабируемости сети
    • По мере расширения использования частных цепочек, большему количеству пользователей и приложений может потребоваться доступ к данным в цепочке.
    • Добавление узлов синхронизации может облегчить проблему нехватки ресурсов одного узла.,Тем самым улучшая возможности сети Расширять,Поддержка большего количества одновременных запросов и трансляции данных.
  5. Обеспечить независимый доступ к данным в цепочке
    • Некоторые организации или пользователи могут захотеть получить независимый доступ к данным блокчейна.,Вместо того, чтобы полагаться на сторонние узлы. Эти узлы могут дополнительно запускать свои собственные узлы синхронизации.
    • существуют определенные нормативные или чувствительные к конфиденциальности среды,Запуск независимых узлов синхронизации обеспечивает прозрачность и целостность доступа к данным.
  6. Уменьшите нагрузку на узлы валидаторов:узел валидатораиз Основная задача — генерация блоков и проверка транзакций.。Узлы синхронизации могутк Помощь с другими некритическими задачами,Например, широковещательная передача данных, транзакционная связь и т. д.,Убедитесь, что узлы валидации сосредоточены на основной работе по достижению консенсуса.
  7. Повышение безопасности
    • В частной цепочке PoA добавление узлов синхронизации может затруднить злоумышленнику полный контроль над сетью.
    • Если злонамеренный узел попытается захватить сеть, большее количество синхронизированных узлов означает, что для одновременного управления достаточным количеством узлов потребуется больше ресурсов.
  8. Поддержка автономной разработки и анализа
    • Узлы синхронизации могут использоваться разработчиками в качестве инструментов для тестирования смарт-контрактов или анализа данных в цепочке.
    • Синхронизировать узел через локальный,Разработчики могут быстро получить доступ к данным в цепочке,Нет необходимости полагаться на удаленные узлы.

2. Как добавить новый шаг

2.1 Предварительные условия

  1. Уже работает частная сеть PoA Clique
  2. сетевое окружение:Обеспечить существующую сетьиз Документ создания(genesis.json)、Доступны такие конфигурации, как идентификатор сети и порт.
  3. Совершенно новый узел для синхронизации данных

2.2 Получение существующей сетевой информации

к geth,Например:

Язык кода:bash
копировать
# Получить идентификатор сети
> admin.nodeInfo.protocols.eth.network
12345
# Получить валидатор кодирующий сайт
> admin.nodeInfo.enode
"enode://<public_key>@<ip>:<port>"

2.3 Настройка новых узлов

к geth,Например:

Язык кода:bash
копировать
# Создать новый из аккаунта
$ geth account new --datadir /path/to/new/datadir
INFO [11-19|01:41:20.353] Maximum peer count                       ETH=50 total=50
INFO [11-19|01:41:20.354] Smartcard socket not found, disabling    err="stat /run/pcscd/pcscd.comm: no such file or directory"
Your new account is locked with a password. Please give a password. Do not forget this password.
Password:
Repeat password:

Your new key was generated

Public address of the key:   0xe23C2c6e7f785e74EB7AAeF96455B78C53adb2E3
Path of the secret key file: /root/.ethereum/keystore/UTC--2024-11-19T01-41-27.442932800Z--e23c2c6e7f785e74eb7aaef96455b78c53adb2e3

- You can share your public address with anyone. Others need it to interact with you.
- You must NEVER share the secret key with anyone! The key controls access to your funds!
- You must BACKUP your key file! Without the key, it's impossible to access account funds!
- You must REMEMBER your password! Without the password, it's impossible to decrypt the key!

2.4 Запуск нового узла

Язык кода:bash
копировать
# Начать новый узел
$ geth --datadir /path/to/new/datadir --networkid 12345 --http   --http.addr "0.0.0.0"  --http.port 8545  --http.api "eth,net,web3,admin" --http.corsdomain "*" --unlock 0xe23c2c6e7f785e74eb7aaef96455b78c53adb2e3 --password /path/to/new/datadir/password.txt --allow-insecure-unlock --syncmode full --bootnodes "enode://<public_key>@<ip>:<port>"

3. Расширение

существовать Геты (Go-Ethereum)середина,--bootnodes Параметры используются для указания загрузочных узлов (Bootnodes) в сети. Основная функция загрузочного узла — помочь вновь добавленным узлам обнаруживать другие узлы и подключаться к ним для быстрого подключения к сети. Ниже приводится подробное описание:

3.1 Что такое загрузочный узел?

Bootnode — это специальный узел в сети блокчейн, его основная функция — выступать в качестве точки входа в сеть. Новый узел получает список известных других узлов через Bootnode для установления однорангового соединения с сетью.

  • Bootnode Обычно запускается специальный сервис для записи и предоставления данных других узлов. enode адрес.
  • Он не обязательно хранит данные блокчейна и не требует участия в проверке или производстве блоков.

3.2 --bootnodes Роль параметров

--bootnodes Параметры используются, чтобы сообщить Geth Список загрузочных узлов, к которым необходимо подключиться при запуске узла. Целью этих загрузочных узлов является:

  • Предоставить другие узлы enode информация.
  • Помогите новым узлам присоединиться к сети блокчейн.

3.3 Формат параметров

--bootnodes Формат разделяется запятыми enode Список адресов:

Язык кода:bash
копировать
--bootnodes enode://<public_key1>@<ip1>:<port1>,enode://<public_key2>@<ip2>:<port2>

Важные описания полей

  • public_key:Bootnode Открытый ключ используется для уникальной идентификации узла.
  • ip:Bootnode из IP адрес или доменное имя.
  • port:Bootnode Используйте порт прослушивания (обычно 30303)。

3.4 Сценарии использования

Частная сеть/тестовая сеть

существовать PoA Или в других средах частной сети Bootnode. Часто используется для направления новых узлов для быстрого обнаружения других одноранговых узлов. При развертывании частной цепочки вам необходимо:

  1. Установите одну или несколько стабильных операций Bootnode。
  2. поместите это Bootnode изадрес настроен на другие узлы.

Публичная сеть

существовать Публичная В сети чиновник или сообщество предоставит набор публичных из Загрузочный узел (например. Ethereum Основная сеть Загрузочный узел). Новым узлам необходимо указать только эти Bootnode адрес для подключения к сети.

3.5 Меры предосторожности

  1. Надежность загрузочного узла:Bootnode Это должен быть узел высокой доступности, обычно развернутый в общедоступной сети. IP Или на стабильном сервере.
  2. Несколько загрузочных узлов:Рекомендуемая конфигурация Несколько загрузочных узлов адрес, чтобы предотвратить влияние простоя одного узла на присоединение новых узлов.
  3. static-nodes.json замена:Если сеть небольшая и узлы стабильны,Вы также можете пройти static-nodes.json Файл напрямую настраивает фиксированные одноранговые узлы без зависимостей. Bootnode。
  4. Не требуется долгосрочное соединение:Только узелсуществовать Запрос при запуске Bootnode Одноранговый узел обнаружен по адресу к. После установления соединения загрузочный узел. В этом больше нет необходимости из.
boy illustration
Углубленный анализ переполнения памяти CUDA: OutOfMemoryError: CUDA не хватает памяти. Попыталась выделить 3,21 Ги Б (GPU 0; всего 8,00 Ги Б).
boy illustration
[Решено] ошибка установки conda. Среда решения: не удалось выполнить первоначальное зависание. Повторная попытка с помощью файла (графическое руководство).
boy illustration
Прочитайте нейросетевую модель Трансформера в одной статье
boy illustration
.ART Теплые зимние предложения уже открыты
boy illustration
Сравнительная таблица описания кодов ошибок Amap
boy illustration
Уведомление о последних правилах Points Mall в декабре 2022 года.
boy illustration
Даже новички могут быстро приступить к работе с легким сервером приложений.
boy illustration
Взгляд на RSAC 2024|Защита конфиденциальности в эпоху больших моделей
boy illustration
Вы используете ИИ каждый день и до сих пор не знаете, как ИИ дает обратную связь? Одна статья для понимания реализации в коде Python общих функций потерь генеративных моделей + анализ принципов расчета.
boy illustration
Используйте (внутренний) почтовый ящик для образовательных учреждений, чтобы использовать Microsoft Family Bucket (1T дискового пространства на одном диске и версию Office 365 для образовательных учреждений)
boy illustration
Руководство по началу работы с оперативным проектом (7) Практическое сочетание оперативного письма — оперативного письма на основе интеллектуальной системы вопросов и ответов службы поддержки клиентов
boy illustration
[docker] Версия сервера «Чтение 3» — создайте свою собственную программу чтения веб-текста
boy illustration
Обзор Cloud-init и этапы создания в рамках PVE
boy illustration
Корпоративные пользователи используют пакет регистрационных ресурсов для регистрации ICP для веб-сайта и активации оплаты WeChat H5 (с кодом платежного узла версии API V3)
boy illustration
Подробное объяснение таких показателей производительности с высоким уровнем параллелизма, как QPS, TPS, RT и пропускная способность.
boy illustration
Удачи в конкурсе Python Essay Challenge, станьте первым, кто испытает новую функцию сообщества [Запускать блоки кода онлайн] и выиграйте множество изысканных подарков!
boy illustration
[Техническая посадка травы] Кровавая рвота и отделка позволяют вам необычным образом ощипывать гусиные перья! Не распространяйте информацию! ! !
boy illustration
[Официальное ограниченное по времени мероприятие] Сейчас ноябрь, напишите и получите приз
boy illustration
Прочтите это в одной статье: Учебник для няни по созданию сервера Huanshou Parlu на базе CVM-сервера.
boy illustration
Cloud Native | Что такое CRD (настраиваемые определения ресурсов) в K8s?
boy illustration
Как использовать Cloudflare CDN для настройки узла (CF самостоятельно выбирает IP) Гонконг, Китай/Азия узел/сводка и рекомендации внутреннего высокоскоростного IP-сегмента
boy illustration
Дополнительные правила вознаграждения амбассадоров акции в марте 2023 г.
boy illustration
Можно ли открыть частный сервер Phantom Beast Palu одним щелчком мыши? Супер простой урок для начинающих! (Прилагается метод обновления сервера)
boy illustration
[Играйте с Phantom Beast Palu] Обновите игровой сервер Phantom Beast Pallu одним щелчком мыши
boy illustration
Maotouhu делится: последний доступный внутри страны адрес склада исходного образа Docker 2024 года (обновлено 1 декабря)
boy illustration
Кодирование Base64 в MultipartFile
boy illustration
5 точек расширения SpringBoot, супер практично!
boy illustration
Глубокое понимание сопоставления индексов Elasticsearch.
boy illustration
15 рекомендуемых платформ разработки с нулевым кодом корпоративного уровня. Всегда найдется та, которая вам понравится.
boy illustration
Аннотация EasyExcel позволяет экспортировать с сохранением двух десятичных знаков.