Update neutrino-switcher's logic to create a more general-purpose utility (called tip-top?) that removes IBD optimizations once the sync is complete.
What it needs to do:
bitcoin.conf (should be disabled by-default otherwise IBD will end up taking forever)dbcache in bitcoin.conf to the default 300mbblocksonly in bitcoin.conflnd's backend from neutrino to bitcoindConcept ACK, although we need to be very careful with toggling Tor.
For example if LND has switched from Neutrino to Bitcoin Core, but Tor has not yet been re-enabled, any transactions will be broadcast over clearnet, not Tor, reducing the users privacy.
Also if we are doing initial sync over clearnet, we need to make that clear. I agree it's a sensible default and the correct choice for most users. However if the user lives somewhere where using Bitcoin is illegal, they may want the entire sync to happen over Tor so it's not obvious to their ISP they're using Bitcoin. This is probably not a really common use case so not something we need to support as a priority. We just need to make sure it's clear that the initial sync is not happening over Tor.
If that's not clear it's potentially dangerous.
Also does blocksonly do anything during initial sync?
My understanding was that it disables transaction relay and most other P2P communication. So your node is only listening for new blocks and is not participating in other network traffic.
However it's quite possible that Bitcoin Core already ignores network communication other than requesting blocks during initial sync.
I'm not sure about this but worth looking into.
@meeDamian do you know the answer to this?
For example if LND has switched from Neutrino to Bitcoin Core, but Tor has not yet been re-enabled, any transactions will be broadcast over clearnet, not Tor, reducing the users privacy.
Agree. We should first update bitcoin.conf, restart the bitcoin container and then proceed to update lnd.conf and restart the lnd container.
Also if we are doing initial sync over clearnet, we need to make that clear.
Agree. We can make that clear in our documentation/guide (that'd go on our website).
Overall, I think any info that's relevant to less than 10% of the total users shouldn't be added to the UI itself, and rather be added to the docs because it can do more harm than good, i.e. confuse the majority of the users. So in this case, if someone is going to run Umbrel in a country where Bitcoin is illegal, then we can at least expect them to read our docs thoroughly to understand all the potential risks.
Also does blocksonly do anything during initial sync?
I'm not too sure about that either. 馃
Overall, I think any info that's relevant to less than 10% of the total users shouldn't be added to the UI itself
I agree with that 100% but I don't think that applies to this case because it's not missing from the UI, the information is in the UI but incorrect.
We are showing this:

But the IBD sync is not happening over Tor.
Ah yes, spot-on. Maybe we should reduce it to 50% during IBD lol.
Need to rethink the Tor card...
thats a good question about blocksonly .. just used it as a PI optimization
Here are all the tor options for bitcoind.
I think we can use the onlynet= option for the tor card.
onlynet=onion means that any clearnet seeding will be done over clearnet. It might actually improve the syncup. And it should work both ways
I don't think we should use onlynet:
If you additionally want Bitcoin Core to only connect out to Tor hidden services, also add this line (not particularly recommended):
onlynet=onionDoing so will make your specific bitcoind node arguably more secure because it will never have an unencrypted connection to another node, but if everyone used onlynet=onion nobody on the onion bitcoin chain would be able to communicate with the clearnet chain. It is essential that some nodes access both clearnet and Tor. If you need to submit bitcoin transactions to the network with the highest level of obscurity, use onlynet=onion. If you only wish to give access to your node to other Tor users, do not use it.
onlynet=onion may increase sync time as theres probably less onion nodes out there
Replaced by #309
Most helpful comment
I don't think we should use
onlynet:https://en.bitcoin.it/wiki/Setting_up_a_Tor_hidden_service