electrumx icon indicating copy to clipboard operation
electrumx copied to clipboard

Support Compact Block Filters

Open supertestnet opened this issue 2 months ago • 3 comments

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.

supertestnet avatar Oct 21 '25 13:10 supertestnet

This would be a great addition to ElectrumX!

gringokiwi avatar Oct 21 '25 14:10 gringokiwi

Looking forward to this addition...

kwsantiago avatar Oct 21 '25 19:10 kwsantiago

I run a high throughput public ElectrumX server regularly serving a few thousand concurrent connections and hardcoded into most electrum Bitcoin clients.

I'd love to see this implemented and would definitely run it.

lukechilds avatar Oct 21 '25 20:10 lukechilds