Exploring the history of wallet synchronization tech in regards to privacy. View article →
Login to reply
Replies (3)
Did you see UtxoPocket?
Everyone who cares about their privacy should run a full node. Great article about the options currently in use and development over time.
“Every Bitcoin wallet faces a fundamental technical challenge: how do you discover which transactions belong to your addresses without revealing those addresses to others?
The solution you choose determines your privacy.
Download everything and reveal nothing, or query servers and expose your financial history. There is no middle ground in the protocol design, only different points on the privacy-convenience spectrum.
Bitcoin's blockchain is public. Your addresses don't have to be.
Full Nodes: The Original Standard (2009)
When Satoshi launched Bitcoin in 2009, there was only one way to use it: run a full node. Download the entire blockchain, every transaction ever made. Your node asks for everything, reveals interest in nothing.
How it works: Download every block, validate every transaction, maintain the complete UTXO set (~11 GB). When checking your balance, scan the local database. When broadcasting transactions, relay through the P2P network alongside thousands of others.”
View quoted note →
Very good summary of this topic!
Some thoughts:
I'm a bit disappointed, that after so many years there are _very_ few block-filter-based wallets - Wasabi and Ginger, but not much else. Particularly disappointing the lack of block-filter options on mobiles, esp. as desktop's relevance diminishes over the years. (Edit: maybe Breeze was such a mobile wallet.)
I'm very bullish on Utreexo in the long term, but realistically it will take time. In order to work properly, infrastructure changes are needed, which takes time (The project is in the making for a few years now, but the BIP is quite recent and not yet final. It will go maintream only once B Core will support it.)
Electrum server is the the-facto standard with wallets these days, mainly due to convenience.
As you correctly note, running your own private node+Electrum is a good option for the privacy-minded, and fortunately most wallets allow using your own server, and it is not that difficult to do, as home node projects support it.
My biggest pain point here is that it is not possible to have the private node+Electrum with a pruned node. Logically it could be possible, but due to sotware/historical reason it is not. This means that you need a 2TB fast storage for this setup, which is the biggest barrier of entry.
You mention 'Electrum Personal Server', but I'm not aware of an alive, known specific project, to me this term mostly means a personal bitcoin node and electrum server combo.
I would like to see improvements on all fronts:
- More compact-block-based wallets, completely Electrum-free
- More practical 'personal electrum server' solutions (still using Electrum interface to connect to the wallets)
- Maturing of Utreexo, improved network support and implementation, still using Electrum interface to the wallets, or even natively Utreexo wallets.
The Electrum interface will likely will live with us for long as a legacy glue, which is not ideal, but is fine when used in the personal server setting.
A few days ago I had the idea of a personal electrum server based on compact block filter: a server-style project with modest (but non-negligable) resource and initial setup time requirements, that works as a compact block node, downloads and maintains the compact block filters, and exposes an Electrum inteface. It could scan for new addresses on first use, handling a limited number of addresses (few k). Such a server could replace a fullnode+electrum combo, with much less disk (<200MB vs 1+TB) and initialization time (1hr vs. few days). I call it 'Electrino', and would love if I or someone else had the time to work on this :)
We have to push for more private solutions, which is only possible with solutions that are convenient as well. That's not impossible, but there's a lot of work to do!