Bitcoin Forum
November 04, 2024, 03:03:55 AM *
News: Latest Bitcoin Core release: 28.0 [Torrent]
 
   Home   Help Search Login Register More  
Pages: [1]
  Print  
Author Topic: Why do most SPV / mobile wallets not allow you to change your SPV server  (Read 308 times)
This is a self-moderated topic. If you do not want to be moderated by the person who started this topic, create a new topic.
DaveF (OP)
Legendary
*
Offline Offline

Activity: 3654
Merit: 6660


Crypto Swap Exchange


View Profile WWW
May 03, 2020, 02:31:06 PM
Last edit: May 04, 2020, 03:19:59 AM by DaveF
Merited by vapourminer (2), OmegaStarScream (1), bitmover (1)
 #1

I run my own Electrum / ElectrumX servers so I want to try to connect to them with my wallets.
Some mobile wallets such as Electrum and Coinomi allow me to connect to them. But, others do not such as Mycelium and Green.

Coinomi is kind of interesting in that the mobile version does have a setting to change the BTC SPV but I did not see it for any other coins. And I could not find it at all on the desktop version.

The bitcoin mobile wallet has the setting but it would not connect to my node. So that could be them or me, probably me but wanted it out there.

Now, I did not dig that deep into all the wallets out there so it could be someplace that is really not obvious, or it could be it's just not there.

But, it just seems to be a big security / privacy / functionality thing not to be able to do it. Possibly more privacy then security and a but it's still there.

Any thoughts.

Side note: This is a moderated thread because I can see it going off the rails very quickly with discussions about the wallets not the server choice side. Don't mind a little discussion about the wallets but there are other threads for them.

Stay safe.

-Dave

█▀▀▀











█▄▄▄
▀▀▀▀▀▀▀▀▀▀▀
e
▄▄▄▄▄▄▄▄▄▄▄
█████████████
████████████▄███
██▐███████▄█████▀
█████████▄████▀
███▐████▄███▀
████▐██████▀
█████▀█████
███████████▄
████████████▄
██▄█████▀█████▄
▄█████████▀█████▀
███████████▀██▀
████▀█████████
▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀
c.h.
▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄
▀▀▀█











▄▄▄█
▄██████▄▄▄
█████████████▄▄
███████████████
███████████████
███████████████
███████████████
███░░█████████
███▌▐█████████
█████████████
███████████▀
██████████▀
████████▀
▀██▀▀
hugeblack
Legendary
*
Offline Offline

Activity: 2688
Merit: 3956



View Profile WWW
May 03, 2020, 05:37:29 PM
Merited by vapourminer (1), DaveF (1), ABCbits (1), nc50lc (1)
 #2

Perhaps because of the primary purpose of SPV wallets that you cannot your full node wallet, so you need to trust them, and since you trust the developer "about the security of your coins," you will trust him on privacy, especially since running full node wallet does not generate much money.

If the wallet was open source, I don’t see any reason that prevents you from connecting to your node except (the laziness of the developers.)

█▀▀▀











█▄▄▄
▀▀▀▀▀▀▀▀▀▀▀
e
▄▄▄▄▄▄▄▄▄▄▄
█████████████
████████████▄███
██▐███████▄█████▀
█████████▄████▀
███▐████▄███▀
████▐██████▀
█████▀█████
███████████▄
████████████▄
██▄█████▀█████▄
▄█████████▀█████▀
███████████▀██▀
████▀█████████
▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀
c.h.
▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄
▀▀▀█











▄▄▄█
▄██████▄▄▄
█████████████▄▄
███████████████
███████████████
███████████████
███████████████
███░░█████████
███▌▐█████████
█████████████
███████████▀
██████████▀
████████▀
▀██▀▀
bitmover
Legendary
*
Offline Offline

Activity: 2478
Merit: 6286


bitcoindata.science


View Profile WWW
May 03, 2020, 11:36:34 PM
Merited by vapourminer (1)
 #3

Perhaps because of the primary purpose of SPV wallets that you cannot your full node wallet, so you need to trust them...

This somehow makes sense, to the point where people who use SPV wallets usually don't run their own full node.
But that doesn't mean we have to trust them. We should be able to trust someone else if we wish (i.e., connect to another SPV server).

Not that it would make much difference in terms of security, as we can check balances in blockexplorers as well... But certainly in terms of privacy.

And I could not find it at all on the desktop version.

I never used their mobile version, but the mobile is much older and it looks safer. There were some problems with coinomi desktop security (about spell check in google), but not with the mobile version (which is pretty old and I like it, I use it for years)

fer_coinomi
Jr. Member
*
Offline Offline

Activity: 55
Merit: 10


View Profile
May 04, 2020, 03:00:10 AM
Merited by DaveF (1), bitmover (1)
 #4

And I could not find it at all on the desktop version.
Hi DaveF, currently that's not an option on the Desktop version, but it will come on a future update. Just FYI, in case you try to connect your ElectrumX server to the mobile apps, self-signed certificates aren't accepted, but you can use a certificate from any free CA like Let's Encrypt for example.



I never used their mobile version, but the mobile is much older and it looks safer. There were some problems with coinomi desktop security (about spell check in google), but not with the mobile version (which is pretty old and I like it, I use it for years)
Hi bitmover, the desktop issue you mentioned was fixed immediately, but it was concluded that no user lost funds due to it as it could not have been exploited. The user who reported it was trying to extort Coinomi, you can read the detailed forensic report here: https://twitter.com/kimionis/status/1131945228506738688. The difference between the desktop and mobile versions are mostly features. As you said, the mobile version is much older, and features are usually implemented there first, to go into the desktop version later.
pooya87
Legendary
*
Offline Offline

Activity: 3626
Merit: 10997


Crypto Swap Exchange


View Profile
May 04, 2020, 03:44:25 AM
Merited by vapourminer (1)
 #5

it is mainly because most of the wallets that are referred to as SPV are actually connecting to a centralized server rather than connecting to actual bitcoin nodes using features such as bloom filters. (Electrum is in between, you connect to nodes but the nodes have to be "special" nodes that have a separate index). so practically the choice is limited to only 1 server, the one that the wallet company runs.

but this could partly be because nobody has wanted the feature yet. usually people who go for an SPV wallet don't have the capability or willingness to run their own full node. you can always find your favorite wallet's developers and request the new feature though.

█▀▀▀











█▄▄▄
▀▀▀▀▀▀▀▀▀▀▀
e
▄▄▄▄▄▄▄▄▄▄▄
█████████████
████████████▄███
██▐███████▄█████▀
█████████▄████▀
███▐████▄███▀
████▐██████▀
█████▀█████
███████████▄
████████████▄
██▄█████▀█████▄
▄█████████▀█████▀
███████████▀██▀
████▀█████████
▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀
c.h.
▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄
▀▀▀█











▄▄▄█
▄██████▄▄▄
█████████████▄▄
███████████████
███████████████
███████████████
███████████████
███░░█████████
███▌▐█████████
█████████████
███████████▀
██████████▀
████████▀
▀██▀▀
DaveF (OP)
Legendary
*
Offline Offline

Activity: 3654
Merit: 6660


Crypto Swap Exchange


View Profile WWW
May 04, 2020, 10:24:09 AM
 #6

it is mainly because most of the wallets that are referred to as SPV are actually connecting to a centralized server rather than connecting to actual bitcoin nodes using features such as bloom filters. (Electrum is in between, you connect to nodes but the nodes have to be "special" nodes that have a separate index). so practically the choice is limited to only 1 server, the one that the wallet company runs.

but this could partly be because nobody has wanted the feature yet. usually people who go for an SPV wallet don't have the capability or willingness to run their own full node. you can always find your favorite wallet's developers and request the new feature though.

But, there are many Electrum / ElectrumX servers out there, I have one running for myself, and there have been several members of the forum running their own over the years.
It's not really for the desktop clients that matter, more for the phones since they more or less have to be SPV.


Hi DaveF, currently that's not an option on the Desktop version, but it will come on a future update. Just FYI, in case you try to connect your ElectrumX server to the mobile apps, self-signed certificates aren't accepted, but you can use a certificate from any free CA like Let's Encrypt for example.

Even though CA like Let's Encrypt is free, AFAIK you still need public static IP or domain in order to get the CA, which is quite costly.

Not really there are a lot of DYDNS services out there so static IP is not a real concern. My lightning node is behind a dynamic IP and is updated in more or less real time.

Additionally, Electrum don't use bloom filter and you practically have no privacy if the server log all "SPV request"

Which is part of the run your own and connect to your own node theory I was trying.

Stay safe.

-Dave

█▀▀▀











█▄▄▄
▀▀▀▀▀▀▀▀▀▀▀
e
▄▄▄▄▄▄▄▄▄▄▄
█████████████
████████████▄███
██▐███████▄█████▀
█████████▄████▀
███▐████▄███▀
████▐██████▀
█████▀█████
███████████▄
████████████▄
██▄█████▀█████▄
▄█████████▀█████▀
███████████▀██▀
████▀█████████
▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀
c.h.
▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄
▀▀▀█











▄▄▄█
▄██████▄▄▄
█████████████▄▄
███████████████
███████████████
███████████████
███████████████
███░░█████████
███▌▐█████████
█████████████
███████████▀
██████████▀
████████▀
▀██▀▀
ncoelho
Newbie
*
Offline Offline

Activity: 11
Merit: 5


View Profile
May 04, 2020, 01:12:49 PM
 #7

SPV = getting block headers from the network
light wallets = connect to a server

what you want is a wallet with a full node connection to your electrum server, try bluewallet
khaled0111
Legendary
*
Offline Offline

Activity: 2702
Merit: 3037


Top Crypto Casino


View Profile WWW
May 04, 2020, 09:51:14 PM
Merited by vapourminer (3), DaveF (1), Coyster (1)
 #8

Thank you Dave. I may sound dumb but honestly didn't know you can connect SPV wallets ,other than Electrum, to an Electrum server. Thought there would be some compatibility issues!

But, others do not such as Mycelium and Green.

for Mycelium, giszmo said that you have to change the server's address in the source code:
Quote
You could already for personal use replace our url with yours in the source code.

We currently use a slightly patched electrumX server. For almost all users the patch is irrelevant but for those with gigantic wallets or very slow internet the patch matters.
source: https://amp.reddit.com/r/mycelium/comments/b3n8ww/any_plans_to_add_the_ability_to_connect_to_your/

I was also able to connect a my Green wallet to a random Electrum server and it synced without any problem. thus, I believe you should be able to connect it to your own server too.

DaveF (OP)
Legendary
*
Offline Offline

Activity: 3654
Merit: 6660


Crypto Swap Exchange


View Profile WWW
May 04, 2020, 10:38:02 PM
 #9

Thank you Dave. I may sound dumb but honestly didn't know you can connect SPV wallets ,other than Electrum, to an Electrum server. Thought there would be some compatibility issues!

But, others do not such as Mycelium and Green.

for Mycelium, giszmo said that you have to change the server's address in the source code:
Quote
You could already for personal use replace our url with yours in the source code.

We currently use a slightly patched electrumX server. For almost all users the patch is irrelevant but for those with gigantic wallets or very slow internet the patch matters.
source: https://amp.reddit.com/r/mycelium/comments/b3n8ww/any_plans_to_add_the_ability_to_connect_to_your/

I was also able to connect a my Green wallet to a random Electrum server and it synced without any problem. thus, I believe you should be able to connect it to your own server too.

I think the issue is with green is that like Coinomi it needs a valid SSL because it does connect to the 1 node I have with one.
BUT, for internal testing I just hit the 192.168.1.x private IP.

Probably should sit down and do some methodical testing as opposed to just playing around and randomly trying but that would be work.

Re-compiling mycelium to do this is just not going to happen.

Stay safe.

-Dave

█▀▀▀











█▄▄▄
▀▀▀▀▀▀▀▀▀▀▀
e
▄▄▄▄▄▄▄▄▄▄▄
█████████████
████████████▄███
██▐███████▄█████▀
█████████▄████▀
███▐████▄███▀
████▐██████▀
█████▀█████
███████████▄
████████████▄
██▄█████▀█████▄
▄█████████▀█████▀
███████████▀██▀
████▀█████████
▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀
c.h.
▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄
▀▀▀█











▄▄▄█
▄██████▄▄▄
█████████████▄▄
███████████████
███████████████
███████████████
███████████████
███░░█████████
███▌▐█████████
█████████████
███████████▀
██████████▀
████████▀
▀██▀▀
bob123
Legendary
*
Offline Offline

Activity: 1624
Merit: 2481



View Profile WWW
May 07, 2020, 06:02:10 PM
 #10

SPV = getting block headers from the network
light wallets = connect to a server

SPV is a technique to verify payments (therefore Simplified Payment Verification).
All SPV wallets are lightweight clients. And all lightweight clients use SPV.

You can't distinguish between "SPV" and "light wallets" the way you are doing.

OmegaStarScream
Staff
Legendary
*
Offline Offline

Activity: 3654
Merit: 6408



View Profile
May 13, 2020, 10:04:25 AM
Last edit: May 13, 2020, 11:15:34 AM by OmegaStarScream
 #11

-snip-

I was also able to connect a my Green wallet to a random Electrum server and it synced without any problem. thus, I believe you should be able to connect it to your own server too.


I think the issue is with green is that like Coinomi it needs a valid SSL because it does connect to the 1 node I have with one.
BUT, for internal testing I just hit the 192.168.1.x private IP.

Apprently, that's no longer possible. I tried to connect to my own server, it just get stuck at "SPV synchronization..." and whenever I make a transaction it says "SPV unverified".

I reached out to @BlockstreamHelp in Twitter, and this was their response:



@DaveF Have you tried BRD wallet? It says "Connected" even when I put an invalid IP address. The payments are going through just fine so I can't tell for sure if it's not working and I'm being connected directly to BRD servers, or it's just because I didn't configure my node properly.

█▀▀▀











█▄▄▄
▀▀▀▀▀▀▀▀▀▀▀
e
▄▄▄▄▄▄▄▄▄▄▄
█████████████
████████████▄███
██▐███████▄█████▀
█████████▄████▀
███▐████▄███▀
████▐██████▀
█████▀█████
███████████▄
████████████▄
██▄█████▀█████▄
▄█████████▀█████▀
███████████▀██▀
████▀█████████
▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀
c.h.
▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄
▀▀▀█











▄▄▄█
▄██████▄▄▄
█████████████▄▄
███████████████
███████████████
███████████████
███████████████
███░░█████████
███▌▐█████████
█████████████
███████████▀
██████████▀
████████▀
▀██▀▀
DaveF (OP)
Legendary
*
Offline Offline

Activity: 3654
Merit: 6660


Crypto Swap Exchange


View Profile WWW
May 13, 2020, 12:00:42 PM
Merited by OmegaStarScream (1)
 #12

-snip-

I was also able to connect a my Green wallet to a random Electrum server and it synced without any problem. thus, I believe you should be able to connect it to your own server too.


I think the issue is with green is that like Coinomi it needs a valid SSL because it does connect to the 1 node I have with one.
BUT, for internal testing I just hit the 192.168.1.x private IP.

Apprently, that's no longer possible. I tried to connect to my own server, it just get stuck at "SPV synchronization..." and whenever I make a transaction it says "SPV unverified".

I reached out to @BlockstreamHelp in Twitter, and this was their response:



@DaveF Have you tried BRD wallet? It says "Connected" even when I put an invalid IP address. The payments are going through just fine so I can't tell for sure if it's not working and I'm being connected directly to BRD servers, or it's just because I didn't configure my node properly.

Green:
Hmm, just tried again it did connect to the node with SSL but not the one with just an IP.
With that being said I also just noticed it's a much older build of green. For some reason it has not updated in a while, I  never noticed, that might be it.

BRD: I want to rebuild the VM that I have the Electrum servers on 1st. Just with everything going on with Corona / the shutdowns now I have about a dozen projects / testing things that are all in various states of progress.

I kind of work on them when I figure I have "X" time and this next step should take "X" time so it's good. If it turns out to take longer or I have less time it can all get pushed back or just stalled.

Stay safe.

-Dave

█▀▀▀











█▄▄▄
▀▀▀▀▀▀▀▀▀▀▀
e
▄▄▄▄▄▄▄▄▄▄▄
█████████████
████████████▄███
██▐███████▄█████▀
█████████▄████▀
███▐████▄███▀
████▐██████▀
█████▀█████
███████████▄
████████████▄
██▄█████▀█████▄
▄█████████▀█████▀
███████████▀██▀
████▀█████████
▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀
c.h.
▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄
▀▀▀█











▄▄▄█
▄██████▄▄▄
█████████████▄▄
███████████████
███████████████
███████████████
███████████████
███░░█████████
███▌▐█████████
█████████████
███████████▀
██████████▀
████████▀
▀██▀▀
Pages: [1]
  Print  
 
Jump to:  

Powered by MySQL Powered by PHP Powered by SMF 1.1.19 | SMF © 2006-2009, Simple Machines Valid XHTML 1.0! Valid CSS!