Что узнаёт сервер, а что проверяет кошелёк
- Публичный Electrum или Esplora backend связывает сетевой источник запроса с частью интересующей кошелёк истории; собственный server уменьшает передачу этой карты третьей стороне.
- Compact filters не отправляют peer список адресов: клиент локально проверяет фильтры и при совпадении запрашивает полный блок.
- Filter match вероятностный и может быть ложноположительным; баланс и UTXO получают только после разбора подтверждённых транзакций и текущего spent-state.
| Модель | Что отправляет кошелёк | Что проверяет локально | Главная граница |
|---|---|---|---|
| Публичный 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 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Синхронизировать block headers
Клиент сначала определяет header chain с наибольшей proof of work; доверенный checkpoint меняет стартовую границу, а не содержимое будущих filters.
- 2Проверить filter-header chain
Filter header коммитится к filter hash и предыдущему filter header. При конфликте peers клиент находит точку расхождения и сверяет полный блок.
- 3Скачать одинаковые compact filters
Basic filter содержит scripts outputs и previous-output scripts inputs по правилам BIP-158, кроме исключённых OP_RETURN outputs.
- 4Сопоставить локальные scripts
Кошелёк проверяет свой набор scriptPubKey на устройстве и не отправляет его как адресный filter peer.
- 5При match скачать полный блок
Только разбор transactions блока показывает, было ли реальное совпадение, какой output создан и был ли он позже потрачен.
Golomb-coded set — компактное вероятностное представление. Равенство хешированного элемента способно дать false positive: filter match означает «этот блок стоит проверить», а не «кошелёк получил UTXO». Отрицательный результат для корректного Basic filter полезен для пропуска блока, но итоговый баланс всё равно строят из найденных transactions и spent/unspent состояния.
Выбор backend начинается с модели раскрытия и способности перепроверить
| Приоритет | Разумный старт | Что проверить | Stop-сигнал |
|---|---|---|---|
| Минимальная настройка | Известный public backend | Кто оператор, TLS, network и возможность смены server | Непрозрачный endpoint или требование seed |
| Снизить стороннее адресное профилирование | Собственный Electrum/Esplora | Node sync, index status, доступ только через контролируемый канал | Server отстаёт или доступен публично без контроля |
| Локальный поиск scripts | Wallet с BIP-157/158 model | Какие peers/filters/blocks используются и как проверяются headers | Маркетинговое «full-node security» без описания проверки |
| Максимальная независимая проверка | Собственный full node и wallet integration | Initial sync, disk, backups и descriptor range | Недостаточно ресурсов или непроверенный bootstrap |
- Приоритет
- Минимальная настройка
- Разумный старт
- Известный 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Сверьте сеть и tip
Mainnet/testnet, текущая height и block hash должны соответствовать независимому ориентиру.
- 2Сверьте wallet scope
Descriptor, derivation path, receive/change branches и scan range должны воспроизводить первый ожидаемый адрес.
- 3Смените источник
Повторите один известный txid или script через второй backend. Не загружайте seed в новый сайт ради диагностики.
- 4Разделите match и proof
Для filters скачайте matched block, найдите transaction/output и затем проверьте, не потрачен ли outpoint.
- 5Зафиксируйте результат
Сохраните backend type/version, tip, descriptor scope, txid, vout и подтверждающий block hash.
Диагностика завершена, когда другой клиент из того же descriptor получает те же transactions и UTXO на той же chain tip. Если backend расходится с независимым источником, server отстаёт или кошелёк не объясняет verification model, остановите отправку. Нулевой баланс не исправляют переустановкой и импортом seed: неправильная derivation branch останется, а риск раскрытия ключей вырастет.
Источники
Мы используем прямые ссылки и фиксируем дату проверки. Полный текст чужих материалов не перепечатывается.
- Electrum Protocol 1.7.x — Protocol Methods Electrum Protocol · Проверено 21 августа 2026 г. в 22:40 GMT+5
- Electrum — Frequently Asked Questions Electrum · Проверено 21 августа 2026 г. в 22:40 GMT+5
- Blockstream Esplora — HTTP API Blockstream · Проверено 21 августа 2026 г. в 22:03 GMT+5
- BIP-157: Client Side Block Filtering Bitcoin BIPs · Проверено 21 августа 2026 г. в 22:03 GMT+5
- BIP-158: Compact Block Filters for Light Clients Bitcoin BIPs · Проверено 21 августа 2026 г. в 22:03 GMT+5
