Electrum is one of the most widespread wallets on the cryptocurrency market, which alongside a user-friendly interface, shows many features that allow users to manage their Bitcoin funds with total confidence, including the possibility to switch the server on which transactions will proceed.
Regarding the DDoS attack that struck Electrum recently, the ability to switch server becomes a necessity for anyone willing to ensure a minimum of security for their Bitcoin fund.
Electrum servers are currently under a DoS attack. We are working on a more robust version of the electrum server. In the meantime, affected users should disable auto-connect, and select their server manually.
— Electrum (@ElectrumWallet) April 7, 2019
Indeed, the attack was at a high scale heeding the fact that there were allegedly many thousands of IP addresses involved during the process, and despite the increasing endeavor of the Electrum community, this attack still threatens Electrum’ user as the attackers’ main scheme is to find a way to start phishing the clients’ wallet.
The attackers overwhelmed the Electrum servers causing a large number to stop responding correctly, such maneuvers aim fundamentally to guide the user toward a malicious server which will ask them to update their wallet and will obviously lead to a loss of fund.
To cope with the problem Electrum made public a list of blacklisted servers as well as active servers that are safe to use, for the sake of this tutorial we will be listing some sane servers as well as the step to connect with them.
In this tutorial, we will meddle with matters related to Electrum server, fundamentally, how to switch from one server to another.
This tutorial will compile an easy-to-follow guide with in-depth information to give basics understanding of the Electrum’ network of server.
Important to understand
1. The Electrum network of server
The Electrum server works in a way that allows clients part of their network to broadcast transactions carried out by an Electrum client or individual in the same way as a full Bitcoin node, that fundamentally means that a client willing to proceed a transaction will have to be verified and proceeded by an accredited server within the Electrum network, that process is called SPV ( Simple Payment Verification).
2. Simple Payment Verification (SPV)
It’s a technic that allows a user of the network to verify a transaction without the need to download the entirety of the Blockchain, the user only needs to download the block header and request a proof of inclusion to verify that the transaction is in a block.
3. The nature of Electrum
The nature of Electrum makes it impossible for the server carrying the transaction to get any piece of information related to the transaction’s processor.
The wallet asks the server to track a specified list of addresses and the server return history for each address, in such case, the server doesn’t have access to your private key or seeds, meaning it’s impossible to steal from your wallet.
This principle can be illustrated as follows:
The client, through the wallet, sends a request to the server using the Stratum protocol based on JSON-RPC 2.0 which is a command that allows the user to interact with the server, the form looks like this:
- “id” is the message identifying number and begins with the value 0
- “params” is the field where usually goes the address , as an example : [address1, address2]
Following that request the server will respond and provide the history of the addresses, the response look like this:
- “id” the same as the request and allows to pair a request to a specific response
- “result” can be :
-or an array of hash:
JSON-RPC command become useful as it allows to query the status of a running server, this is done by running the RPC script provided by Electrum.
However, it is possible for a server to be compromised and to require the client to send funds to a different address resulting, eventually in a loss of funds.
Notice. the server setting is usually on automatic, meaning that the wallet will choose the best option among the available servers to proceed the transaction, it’s recommended to choose manual, that option will allow you to choose your desired server.
Switch Electrum server
This process is quite easy, as mentioned previously, the default setting of the wallet is on ‘select server automatically’.
Go to the bottom right of the screen and click on the big circle
The circle indicate the status of your connection with the server
RED: not connected
BLUE: connected via a proxy
Select the server tab on the Network windows that just popped out
Deselect the ‘select server automatically’ square and right click on the desired server in the host list, in this case, one of our sane servers ‘ electrum2.hodlister.co:50002 ‘
Once the choice is made close the windows to apply the changes
Notice. the circle should turn green in the following seconds, if not the server may be unavailable at the moment, just try with a different one.