Где проходит граница доверия

  • Private key остаётся в кошельке, а RPC получает публичные запросы и уже подписанную транзакцию; нормальному провайдеру не нужен seed.
  • Full, light и archive node отвечают на разные классы запросов. Слово «узел» ещё не обещает доступ ко всей истории состояний.
  • Если интерфейс и explorer расходятся, нужно сверить сеть, block number, RPC endpoint и transaction hash, а не отправлять операцию повторно вслепую.

Кошелёк хранит право подписи, а не копию всей сети

В self-custody wallet секрет нужен, чтобы подписать действие. Баланс, nonce, код и storage контракта входят в состояние выбранного блока, а receipt и события хранятся отдельно среди данных исполнения транзакций. Чтобы показать всё это на экране, приложение обращается к узлу. Поэтому один и тот же адрес может корректно подписывать операции даже тогда, когда конкретный интерфейс временно не обновляет баланс.

Эта граница объясняет важное правило: смена RPC не переносит активы и не создаёт новый адрес. Она меняет источник, через который приложение читает и отправляет публичные данные. Seed-фраза, private key и запрос на подпись для такой смены не нужны. Если сайт под видом «ремонта RPC» просит секрет кошелька, он решает совсем другую задачу — получает контроль над аккаунтом.

Что остаётся в кошельке, а что приходит через RPC
ЭлементГде появляетсяЧто может узнать RPC
Private key или signing credentialЛокальное хранилище или отдельное устройствоНе должен передаваться узлу
Адрес и chain IDПараметры аккаунта и выбранной сетиВиден в запросах баланса и транзакциях
Баланс и nonceСостояние выбранного блокаВозвращается узлом по публичному адресу
Unsigned transactionСобирается приложениемМожет симулироваться через eth_call или estimateGas
Signed raw transactionПодписывается кошелькомПолучается узлом для проверки и распространения
Что остаётся в кошельке, а что приходит через RPC
Элемент
Private key или signing credential
Где появляется
Локальное хранилище или отдельное устройство
Что может узнать RPC
Не должен передаваться узлу
Элемент
Адрес и chain ID
Где появляется
Параметры аккаунта и выбранной сети
Что может узнать RPC
Виден в запросах баланса и транзакциях
Элемент
Баланс и nonce
Где появляется
Состояние выбранного блока
Что может узнать RPC
Возвращается узлом по публичному адресу
Элемент
Unsigned transaction
Где появляется
Собирается приложением
Что может узнать RPC
Может симулироваться через eth_call или estimateGas
Элемент
Signed raw transaction
Где появляется
Подписывается кошельком
Что может узнать RPC
Получается узлом для проверки и распространения

Узел не просто хранит базу — он перепроверяет переходы состояния

Путь данных внутри Ethereum node

  1. Клиенты получают transactions, blocks и attestations

    Execution и consensus clients работают со своими peer-to-peer сетями и синхронизируют относящиеся к ним данные.

  2. EVM повторяет вычисления

    Execution client проверяет transactions, исполняет код и убеждается, что предложенное изменение state следует правилам протокола.

  3. Consensus client отслеживает canonical head и finality

    Он применяет fork-choice и сведения об attestations, а не просто принимает самый свежий ответ внешнего API.

  4. Приложение получает представление проверенного состояния

    Execution client открывает методы для чтения блоков, state и receipts, симуляции calls и отправки подписанных transactions.

Публичный адрес и подписанная транзакция проходят через JSON-RPC к execution client, который связан с EVM, state и consensus client
Кошелёк работает через интерфейс RPC, но проверка состояния выполняется клиентами узла и правилами сети.Редакционная схема onchain.uz

После перехода Ethereum на Proof of Stake полноценный узел использует связку execution client и consensus client. Validator — отдельная роль поверх этой связки: обычному пользователю не нужно вносить 32 ETH или предлагать блоки, чтобы запустить проверяющий node и пользоваться собственным RPC.

Один endpoint отвечает на чтение, симуляцию и отправку — но это разные операции

Типовые задачи кошелька через Ethereum JSON-RPC
ЗадачаПример методаЧто означает ответ
Узнать балансeth_getBalanceКоличество native asset у адреса на выбранном block tag
Прочитать token balanceeth_callЛокально исполненный read-only вызов contract в заданном state
Оценить gaseth_estimateGasОценка для конкретного call при текущих входных данных, не гарантия успеха позже
Получить receipteth_getTransactionReceiptРезультат уже включённой transaction или null, если receipt ещё недоступен
Передать подписьeth_sendRawTransactionУзел принял байты для проверки и распространения; это ещё не inclusion и не finality
Типовые задачи кошелька через Ethereum JSON-RPC
Задача
Узнать баланс
Пример метода
eth_getBalance
Что означает ответ
Количество native asset у адреса на выбранном block tag
Задача
Прочитать token balance
Пример метода
eth_call
Что означает ответ
Локально исполненный read-only вызов contract в заданном state
Задача
Оценить gas
Пример метода
eth_estimateGas
Что означает ответ
Оценка для конкретного call при текущих входных данных, не гарантия успеха позже
Задача
Получить receipt
Пример метода
eth_getTransactionReceipt
Что означает ответ
Результат уже включённой transaction или null, если receipt ещё недоступен
Задача
Передать подпись
Пример метода
eth_sendRawTransaction
Что означает ответ
Узел принял байты для проверки и распространения; это ещё не inclusion и не finality

Full, light и archive описывают объём проверки и истории, а не «качество интернета»

Full node проверяет блоки и поддерживает актуальное состояние. Light client экономит ресурсы: проверяет ограниченную часть данных и запрашивает остальное у полных узлов в рамках своей модели. Archive node дополнительно держит готовые historical states — например, чтобы быстро ответить, каким был token balance на старом блоке. Это не то же самое, что обычная история transactions: full node может хранить старые блоки, но не иметь мгновенного индекса состояния для любой высоты.

Какой источник нужен для конкретного вопроса

  • текущий баланс и receipt обычно обслуживает синхронизированный full node;
  • баланс или contract storage на далёком старом block number может потребовать archive state;
  • сложная аналитика по миллионам events чаще требует indexer, а не серии сырых RPC-запросов;
  • light client уменьшает локальные ресурсы, но его гарантии зависят от того, что именно он проверяет сам;
  • block explorer добавляет индексы и интерфейс, но его экран не становится частью consensus.

Managed RPC убирает серверную работу и добавляет внешнюю зависимость

Собственный node и node-as-a-service меняют разные риски
ВопросСобственный узелManaged RPC
ОбслуживаниеСинхронизация, обновления, диски и monitoring на владельцеИнфраструктуру поддерживает provider
ДоступностьЗависит от домашнего или собственного контураЗависит от endpoint, quota, routing и аккаунта provider
ПроверкаClient локально проверяет правила сетиПользователь доверяет ответу выбранной service boundary
Наблюдаемость запросовМожно контролировать собственные logsProvider технически получает запросы к своему API
Исторические данныеЗависят от режима и индексов nodeЗависят от тарифа и поддерживаемых methods
Собственный node и node-as-a-service меняют разные риски
Вопрос
Обслуживание
Собственный узел
Синхронизация, обновления, диски и monitoring на владельце
Managed RPC
Инфраструктуру поддерживает provider
Вопрос
Доступность
Собственный узел
Зависит от домашнего или собственного контура
Managed RPC
Зависит от endpoint, quota, routing и аккаунта provider
Вопрос
Проверка
Собственный узел
Client локально проверяет правила сети
Managed RPC
Пользователь доверяет ответу выбранной service boundary
Вопрос
Наблюдаемость запросов
Собственный узел
Можно контролировать собственные logs
Managed RPC
Provider технически получает запросы к своему API
Вопрос
Исторические данные
Собственный узел
Зависят от режима и индексов node
Managed RPC
Зависят от тарифа и поддерживаемых methods

Ethereum.org подчёркивает, что node service не должен хранить private keys. Это не делает все endpoints одинаковыми: отличаются supported chains, block freshness, rate limits, archive access и политика журналирования. Для продукта полезны минимум два независимых пути чтения и явная проверка chain ID, но голосование большинства случайных публичных RPC само по себе не превращает ответ в consensus proof.

Расхождение экранов разбирают от сети и блока, а не от суммы

  • Сверьте chain ID и название сети: одинаковый формат адреса не означает одно состояние.
  • Проверьте, до какого block number синхронизирован каждый источник и не показывает ли интерфейс cached data.
  • Откройте transaction hash в независимом explorer той же сети и прочитайте receipt, status и logs.
  • Для ERC-20 проверьте contract address токена: ticker и картинка не идентифицируют контракт.
  • Если receipt уже успешен, не создавайте второй перевод только потому, что один интерфейс не обновил портфель.
  • Если raw transaction не попала в сеть, выясните nonce и статус до новой подписи с той же бизнес-целью.

Публичный explorer помогает собрать факты по hash, но не видит внутреннюю причину сбоя конкретного RPC-провайдера. Полезный результат диагностики — назвать одну сеть, один block context, один transaction hash и источник каждого ответа. Тогда становится понятно, сломалась ли витрина, отстал endpoint или сама операция ещё не включена.

Источники

Мы используем прямые ссылки и фиксируем дату проверки. Полный текст чужих материалов не перепечатывается.

  1. Ethereum.org — nodes and clients Ethereum Foundation · Проверено 15 августа 2026 г. в 00:34 GMT+5
  2. Ethereum.org — node architecture Ethereum Foundation · Проверено 15 августа 2026 г. в 00:34 GMT+5
  3. Ethereum.org — JSON-RPC API Ethereum Foundation · Проверено 15 августа 2026 г. в 00:34 GMT+5
  4. Ethereum.org — light clients Ethereum Foundation · Проверено 15 августа 2026 г. в 00:34 GMT+5
  5. Ethereum.org — archive nodes Ethereum Foundation · Проверено 15 августа 2026 г. в 00:34 GMT+5
  6. Ethereum.org — nodes as a service Ethereum Foundation · Проверено 15 августа 2026 г. в 00:34 GMT+5
Материал носит информационный характер и не является индивидуальной рекомендацией. Криптоактивы связаны с риском волатильности, технических сбоев, хищения и полной потери средств.