I tried to explains on this previous article why I don’t like Neutrino.
Long story short, the only point I liked was:
- Increased privacy over BIP37
- Setting up a mobile node without middle ware like Electrum
This new article is written because, I need to explain:
- Why I was wrong on the middle ware part
- The common misconception of people not spending enough time reading my argument and instead misrepresent it as a straw man, so I will reformulate
I will refer as SPV wallets any wallet relying on BIP37 (Bloom filter) or BIP157 (Neutrino) and relying on miners to validate the blocks. (Breadwallet)
Note: that in this terminology, a phone app connecting to your own node and syncing via BIP37 or BIP157 is **not** an SPV wallet.
I will refer as Explorer wallet any wallet relying entirely on a third party server for validation, but where you own your keys. (Eclair, Electrum, Samourai Wallet)
Note: If you connect to a specific third party server and use BIP37 or BIP157, I define it as an Explorer wallet, not as a SPV wallet.
I will refer as Light wallet any wallet which are either SPV or Explorer wallet.
I will refer as Custodial wallet, any wallet on which you do not own the keys. Basically, a wallet where if the host is gone, your money is gone. It does not matter if the coins are multisig, it only matters if your coins are immovable if the custodian get struck by a bus.
I will refer as Full wallet, any wallet which rely on your own node for validating payments. That such node is hosted on a separate machine or hosted inside the phone does not matter. (Bitcoin Core, BTCPay Server and any other which can be used to connect to your own node)
A phone app connecting to your own node and syncing via BIP37 or BIP157 **is** a Full wallet.
Some apps can fall in several category at once. Like Samourai wallet is only an Explorer wallet for now. Once they release their DOJO Box and open source it, you will be able to use it as a Full wallet by depending only on your own full node.
Please pay attention to this terminology if you want to properly understand my arguments.
Please do not complain and bike shed this terminology, if you don’t agree with it, it does not matter for the validity of my arguments. You don’t have to agree with my terminology, but you have to understand it.
Nicolas, you are against all light wallets, you are irrational
No! I am not against light wallets. I am using them myself. (Eclair wallet, and Samourai Wallet)
Those two wallets are quite awesome, Eclair is perfectly good as a normal Bitcoin wallet.
Actually, they are my only solution as mobile wallet to this day.
Yes, I believe that everybody will eventually run a full node. I wish a future where not having a full node will severely limit your user experience and the realm of things you can do with Bitcoin.
There is different types of Light wallets, and the worse of them are SPV wallets.
SPV Wallet < Custodial Wallet < Explorer Wallet < Full Node
Nicolas, Neutrino wallet are more user friendly
No, Neutrino is not user friendly. You have to start your wallet and sync.
And you have to spend bandwidth.
Explorer wallets, Cutodial wallet are more user friendly and exists today.
Even BIP37 (Bloom filters) are more user friendly as they are faster to sync because they require less bandwidth.
Nicolas, Neutrino means I can easily host my own node and remote connect to my mobile wallet without any additional middle ware component
I thought it was a good argument. But it is not. Luke-Jr reminded me that BIP37 is perfectly fine for this! Actually BIP37 is way better than Neutrino for that because you don’t have to care about losing privacy to other nodes listening the network, so there is almost no traffic.
While you don’t leak to spy nodes on the network, however you leak the bloom filter to your ISP. This can be mitigated by using bigger filters (at the cost of bandwidth which is still lower than Neutrino) or by adopting P2P level encryption by Jonas Schnelli.
Nicolas, Neutrino means that I can keep my addresses private without having a full node
Nicolas, what if you trust the operator node to run the correct version of Bitcoin, but don’t trust them enough to give up your keys or privacy.
Granted. This is an Explorer wallet in my terminology. Neutrino is adapted for this, and I have nothing to complain about it.
This argument is the only one I saw which make a very compelling case about merging Neutrino in Bitcoin Core if disabled by default.
Wasabi Wallet is the only wallet today that has been built successfully on this model.
Nicolas, SPV are better than custodial wallet
Indeed, you have less chances to get targeted by a mining attack than losing your money on an exchange. Doing a double spend attack specifically on you by leveraging 51% mining attack is not going to happen.
Exchanges freeze your account, get hacked, sell your data, leak your data, hair cut your account. Thousand times: Yes.
I was used to say
Using SPV is bad for Bitcoin as it gives leverage to miners
But then, some people said: If 95% of users use SPV, then Bitcoin is what miners decide it to be. So instead of endlessly talking meta physic about the true meaning of Bitcoin, I decide to reword it.
Also, Bitcoin is not an entity with thoughts I should not pretend to know what is the best interest of a concept which exist only in our collective imagination. This will turn to subjective and ideological arguments. So I will be more straight to the point:
Using SPV is bad for my self-sovereignty as it gives leverage to miners
So for a moment instead of seeing “Making Bitcoin a favor”, you shall read “Doing my self-sovereignty a favor”.
As a developer, I am building on Bitcoin to secure my own long term wealth. Protecting my own wealth means I need to defend it against attacks coming from lot’s of different dimensions.
I build on Bitcoin as I don’t have to beg politicians to not steal my wealth.
I don’t build on Bitcoin to replace elected officials by miners.
Elected officials are at least representing the wish of the people in the local area they are running for. Sure it is not perfect, but it is still closer to my interest than a miner is close to me.
So when you tell me “If 95% of people run SPV, then this is how Bitcoin should be”, what I read is “If 95% of people run SPV, then miners will be sovereign”, and I agree.
Well in this case, if you are american, you better buy US dollar, at least the FED have more interest in you being wealthy than an anonymous cartel of miner.
On my side, if that were to happen, I would not see any reason to continue to use Bitcoin.
So I will say it again:
If you are using a custodial wallet or keeping your money on an exchange instead of using a SPV wallet, you are doing a favor to my self-sovereignty
At least there is lot’s of exchange around the world and they run a full node. (maybe…)
Nicolas, if miners go against the people, they can drop SPV
No. As Bitcoin spread, the core values that kept the bonds of the community tight will disappear. No cypher punks, no libertarians, no self-sovereignty and no hat will save the day.
In 10 years from now, Bitcoin will be ideologically neutral (as it should be), and the only thing you can expect from an ideologically neutral system is to follow inertia, you will be in the sheep’s boat.
This is what the Bitcoin scene will look like as Bitcoin mature and the users become mainly ideologically neutral.
If 95% of people use SPV wallets and the miners go rogue like they did with B2X, what you can expect is that life will continue happily and we are back to square one. But instead of local elected official you will have anonymous miners running your life.
Nicolas, you are paranoiac, miners would never take over Bitcoin
They did. Remember that B2X was signaled by 95% of miners. I would not be preaching against SPV if it was not the case.
And there is no reason to believe this will not happen again.
History will repeat itself.
Nicolas, people do as they want, this is the freedom of Bitcoin
Yes. And I see where it is leading to down the road. I don’t want to go there.
If my warnings fall if deaf hears. I will try to slow down this process until the user experience of Full Wallets or Explorer wallets can’t be beaten in any possible way.
In a nutshell, SPV will be one of the biggest threat to my sovereignty if it becomes too popular. If you are running a SPV you are contributing a little bit to the destruction of my own sovereignty 10 years down the road. Use an Explorer Wallet or Custodial Wallet, at least they run a full node.
Yes, I know you don’t care about my self-sovereignty as much as you care about your own money. You don’t want your money to be hacked, seized, and data sold. I get it. I know that you somehow feel more in control by using SPV and owning your keys, and I know that my future self will have to pay for your behavior if I do nothing against it.