Новые узлы синхронизации в рамках консенсуса 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
Неразрушающее увеличение изображений одним щелчком мыши, чтобы сделать их более четкими артефактами искусственного интеллекта, включая руководства по установке и использованию.
boy illustration
Копикодер: этот инструмент отлично работает с Cursor, Bolt и V0! Предоставьте более качественные подсказки для разработки интерфейса (создание навигационного веб-сайта с использованием искусственного интеллекта).
boy illustration
Новый бесплатный RooCline превосходит Cline v3.1? ! Быстрее, умнее и лучше вилка Cline! (Независимое программирование AI, порог 0)
boy illustration
Разработав более 10 проектов с помощью Cursor, я собрал 10 примеров и 60 подсказок.
boy illustration
Я потратил 72 часа на изучение курсорных агентов, и вот неоспоримые факты, которыми я должен поделиться!
boy illustration
Идеальная интеграция Cursor и DeepSeek API
boy illustration
DeepSeek V3 снижает затраты на обучение больших моделей
boy illustration
Артефакт, увеличивающий количество очков: на основе улучшения характеристик препятствия малым целям Yolov8 (SEAM, MultiSEAM).
boy illustration
DeepSeek V3 раскручивался уже три дня. Сегодня я попробовал самопровозглашенную модель «ChatGPT».
boy illustration
Open Devin — инженер-программист искусственного интеллекта с открытым исходным кодом, который меньше программирует и больше создает.
boy illustration
Эксклюзивное оригинальное улучшение YOLOv8: собственная разработка SPPF | SPPF сочетается с воспринимаемой большой сверткой ядра UniRepLK, а свертка с большим ядром + без расширения улучшает восприимчивое поле
boy illustration
Популярное и подробное объяснение DeepSeek-V3: от его появления до преимуществ и сравнения с GPT-4o.
boy illustration
9 основных словесных инструкций по доработке академических работ с помощью ChatGPT, эффективных и практичных, которые стоит собрать
boy illustration
Вызовите deepseek в vscode для реализации программирования с помощью искусственного интеллекта.
boy illustration
Познакомьтесь с принципами сверточных нейронных сетей (CNN) в одной статье (суперподробно)
boy illustration
50,3 тыс. звезд! Immich: автономное решение для резервного копирования фотографий и видео, которое экономит деньги и избавляет от беспокойства.
boy illustration
Cloud Native|Практика: установка Dashbaord для K8s, графика неплохая
boy illustration
Краткий обзор статьи — использование синтетических данных при обучении больших моделей и оптимизации производительности
boy illustration
MiniPerplx: новая поисковая система искусственного интеллекта с открытым исходным кодом, спонсируемая xAI и Vercel.
boy illustration
Конструкция сервиса Synology Drive сочетает проникновение в интрасеть и синхронизацию папок заметок Obsidian в облаке.
boy illustration
Центр конфигурации————Накос
boy illustration
Начинаем с нуля при разработке в облаке Copilot: начать разработку с минимальным использованием кода стало проще
boy illustration
[Серия Docker] Docker создает мультиплатформенные образы: практика архитектуры Arm64
boy illustration
Обновление новых возможностей coze | Я использовал coze для создания апплета помощника по исправлению домашних заданий по математике
boy illustration
Советы по развертыванию Nginx: практическое создание статических веб-сайтов на облачных серверах
boy illustration
Feiniu fnos использует Docker для развертывания личного блокнота Notepad
boy illustration
Сверточная нейронная сеть VGG реализует классификацию изображений Cifar10 — практический опыт Pytorch
boy illustration
Начало работы с EdgeonePages — новым недорогим решением для хостинга веб-сайтов
boy illustration
[Зона легкого облачного игрового сервера] Управление игровыми архивами
boy illustration
Развертывание SpringCloud-проекта на базе Docker и Docker-Compose