Что узнаёт сервер, а что проверяет кошелёк

  • Публичный Electrum или Esplora backend связывает сетевой источник запроса с частью интересующей кошелёк истории; собственный server уменьшает передачу этой карты третьей стороне.
  • Compact filters не отправляют peer список адресов: клиент локально проверяет фильтры и при совпадении запрашивает полный блок.
  • Filter match вероятностный и может быть ложноположительным; баланс и UTXO получают только после разбора подтверждённых транзакций и текущего spent-state.
Backend определяет, кому раскрывается поисковый интерес
МодельЧто отправляет кошелёкЧто проверяет локальноГлавная граница
Публичный Electrum serverВ Protocol 1.7 — scriptPubKey; в Electrum 4/старых версиях — scripthash, плюс history/UTXO requestsHeaders и полученные proofs в пределах реализацииServer может связать scripts и IP
Публичный EsploraHTTP paths к address, txid, block или UTXOОтветы и часть chain contextEndpoint и сетевые посредники видят точные URLs
Собственный Electrum/EsploraТе же запросы своему backendЛокальный client workflowТретья сторона заменяется собственной node/server-эксплуатацией
BIP-157/158 filtersДиапазоны filter headers/filters; затем выбранные блокиСовпадение scripts с фильтром и разбор блокаMatch вероятностный; полная валидация сети всё ещё не равна full node
Backend определяет, кому раскрывается поисковый интерес
Модель
Публичный Electrum server
Что отправляет кошелёк
В Protocol 1.7 — scriptPubKey; в Electrum 4/старых версиях — scripthash, плюс history/UTXO requests
Что проверяет локально
Headers и полученные proofs в пределах реализации
Главная граница
Server может связать scripts и IP
Модель
Публичный Esplora
Что отправляет кошелёк
HTTP paths к address, txid, block или UTXO
Что проверяет локально
Ответы и часть chain context
Главная граница
Endpoint и сетевые посредники видят точные URLs
Модель
Собственный Electrum/Esplora
Что отправляет кошелёк
Те же запросы своему backend
Что проверяет локально
Локальный client workflow
Главная граница
Третья сторона заменяется собственной node/server-эксплуатацией
Модель
BIP-157/158 filters
Что отправляет кошелёк
Диапазоны filter headers/filters; затем выбранные блоки
Что проверяет локально
Совпадение scripts с фильтром и разбор блока
Главная граница
Match вероятностный; полная валидация сети всё ещё не равна full node

Electrum ускоряет историю адреса ценой адресного запроса серверу

Версию нужно фиксировать. В Electrum Protocol 1.7 методы get_history, listunspent и subscribe принимают raw scriptPubKey hex, а notification возвращает его SHA-256 scripthash; раздел basics относит scripthash-запросы к старым версиям. Отдельно документация кошелька Electrum 4 описывает текущий продуктовый scripthash-flow. Для watch-only граница та же: server обслуживает конкретные scripts одного соединения и может связать их между собой; подключённые servers видят IP клиента или proxy.

Esplora делает механику очевидной: адрес находится в HTTP path

Esplora API предоставляет REST endpoints для адреса, transaction ID, блока и набора UTXO. При использовании публичного endpoint его оператор обрабатывает точный path и сетевой источник запроса: шифрование соединения не скрывает эти данные от самого endpoint. Самостоятельный Esplora убирает внешний адресный API из пути, однако требует синхронизированного Bitcoin backend и обслуживания индекса.

Compact filters разворачивают поиск: одинаковые фильтры получают клиенты, scripts остаются локально

BIP-157/158 workflow без магии

  1. 1
    Синхронизировать block headers

    Клиент сначала определяет header chain с наибольшей proof of work; доверенный checkpoint меняет стартовую границу, а не содержимое будущих filters.

  2. 2
    Проверить filter-header chain

    Filter header коммитится к filter hash и предыдущему filter header. При конфликте peers клиент находит точку расхождения и сверяет полный блок.

  3. 3
    Скачать одинаковые compact filters

    Basic filter содержит scripts outputs и previous-output scripts inputs по правилам BIP-158, кроме исключённых OP_RETURN outputs.

  4. 4
    Сопоставить локальные scripts

    Кошелёк проверяет свой набор scriptPubKey на устройстве и не отправляет его как адресный filter peer.

  5. 5
    При match скачать полный блок

    Только разбор transactions блока показывает, было ли реальное совпадение, какой output создан и был ли он позже потрачен.

Golomb-coded set — компактное вероятностное представление. Равенство хешированного элемента способно дать false positive: filter match означает «этот блок стоит проверить», а не «кошелёк получил UTXO». Отрицательный результат для корректного Basic filter полезен для пропуска блока, но итоговый баланс всё равно строят из найденных transactions и spent/unspent состояния.

Выбор backend начинается с модели раскрытия и способности перепроверить

Decision tool для light wallet
ПриоритетРазумный стартЧто проверитьStop-сигнал
Минимальная настройкаИзвестный public backendКто оператор, TLS, network и возможность смены serverНепрозрачный endpoint или требование seed
Снизить стороннее адресное профилированиеСобственный Electrum/EsploraNode sync, index status, доступ только через контролируемый каналServer отстаёт или доступен публично без контроля
Локальный поиск scriptsWallet с BIP-157/158 modelКакие peers/filters/blocks используются и как проверяются headersМаркетинговое «full-node security» без описания проверки
Максимальная независимая проверкаСобственный full node и wallet integrationInitial sync, disk, backups и descriptor rangeНедостаточно ресурсов или непроверенный bootstrap
Decision tool для light wallet
Приоритет
Минимальная настройка
Разумный старт
Известный public backend
Что проверить
Кто оператор, TLS, network и возможность смены server
Stop-сигнал
Непрозрачный endpoint или требование seed
Приоритет
Снизить стороннее адресное профилирование
Разумный старт
Собственный Electrum/Esplora
Что проверить
Node sync, index status, доступ только через контролируемый канал
Stop-сигнал
Server отстаёт или доступен публично без контроля
Приоритет
Локальный поиск scripts
Разумный старт
Wallet с BIP-157/158 model
Что проверить
Какие peers/filters/blocks используются и как проверяются headers
Stop-сигнал
Маркетинговое «full-node security» без описания проверки
Приоритет
Максимальная независимая проверка
Разумный старт
Собственный full node и wallet integration
Что проверить
Initial sync, disk, backups и descriptor range
Stop-сигнал
Недостаточно ресурсов или непроверенный bootstrap

Нулевая история лечится сверкой derivation и backend, а не импортом seed

Recovery, если light wallet ничего не показывает

  1. 1
    Сверьте сеть и tip

    Mainnet/testnet, текущая height и block hash должны соответствовать независимому ориентиру.

  2. 2
    Сверьте wallet scope

    Descriptor, derivation path, receive/change branches и scan range должны воспроизводить первый ожидаемый адрес.

  3. 3
    Смените источник

    Повторите один известный txid или script через второй backend. Не загружайте seed в новый сайт ради диагностики.

  4. 4
    Разделите match и proof

    Для filters скачайте matched block, найдите transaction/output и затем проверьте, не потрачен ли outpoint.

  5. 5
    Зафиксируйте результат

    Сохраните backend type/version, tip, descriptor scope, txid, vout и подтверждающий block hash.

Диагностика завершена, когда другой клиент из того же descriptor получает те же transactions и UTXO на той же chain tip. Если backend расходится с независимым источником, server отстаёт или кошелёк не объясняет verification model, остановите отправку. Нулевой баланс не исправляют переустановкой и импортом seed: неправильная derivation branch останется, а риск раскрытия ключей вырастет.

Источники

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

  1. Electrum Protocol 1.7.x — Protocol Methods Electrum Protocol · Проверено 21 августа 2026 г. в 22:40 GMT+5
  2. Electrum — Frequently Asked Questions Electrum · Проверено 21 августа 2026 г. в 22:40 GMT+5
  3. Blockstream Esplora — HTTP API Blockstream · Проверено 21 августа 2026 г. в 22:03 GMT+5
  4. BIP-157: Client Side Block Filtering Bitcoin BIPs · Проверено 21 августа 2026 г. в 22:03 GMT+5
  5. BIP-158: Compact Block Filters for Light Clients Bitcoin BIPs · Проверено 21 августа 2026 г. в 22:03 GMT+5
Материал носит информационный характер и не является индивидуальной рекомендацией. Криптоактивы связаны с риском волатильности, технических сбоев, хищения и полной потери средств.