-
Notifications
You must be signed in to change notification settings - Fork 413
Description
Electrum servers have always been designed to support bitcoin light clients, and since 2011, they've primarily done this by responding to direct queries about the balances and transaction histories of specific addresses. But they also provide limited data about blocks themselves upon request, namely, their headers and blockheights. I propose adding support for a new query about blocks: compact block filters.
Many modern light clients use bip157 (the bip for requesting and parsing compact block filters) to connect to and use the blockchain with more privacy than can be obtained from a traditional electrum server. But I'm not currently aware of any web-friendly methods for requesting block filters. The only servers I'm aware of that support bip158 (the bip for serving compact block filters) are bitcoin nodes themselves, and they do not typically expose their interface in a way that web browsers can access -- they want to connect to clients via raw tcp sockets. Electrum servers, however, do commonly expose a web-friendly interface. Specifically, electrumx and fulcrum support websockets, and the esplora fork of electrs has an http REST interface.
It would be nice if the premier server software for light clients (electrumx) supported bip158 so that people like me can build light clients in a web context that can use bip157 for enhanced privacy. So please add support for bip158.