Table of Contents:
- 1. What to do in order to secure your Crypto Wallet?
- 2. What about Ethereum? How does it look in altcoin?
- 3. There is only 15 seconds to save your money
- 4. Set up alarming systems in your Crypto Wallet
- 5. Keep the Mempool under observation
- 5. Let’s sum it up this way
What to do in order to secure your Crypto Wallet?
It doesn’t matter where you decide to store your money. It may be highly recommended bank, a safe in your home, or a socket in your drawer. There is still a risk of losing your money. The same thing concerns cryptocurrency. However, there are plenty of websites and blogs that share methods that help us in keeping a very high level of protection of our wallets.
The guide you are about to be introduced with in a moment does not offer some basic tips that will encourage you to prepare back-up files or anything of this sort. Instead, I will take your basic knowledge for granted and move on to more specific and more sophisticated ways of storing cryptocurrencies safely.
The content down below offers you a great expansion of ideas regarding crypto wallet protection. These ideas might come in handy even in situations, when you lose your private key.
Some of you probably wonder whether it is possible or not. Not everyone knows, but in almost any altcoin (definitely in Bitcoin or Ethereum) there is a special safety precaution that allows you to eliminate one transaction with another one. We just need to make sure that the second one has got bigger transaction fees. Different cryptocurrencies have got different names for it, but in case of Bitcoin, this system is known as Replace by Fee.
Of course it is worth to note that this mechanism is primarily used to speed up the process of confirmation, so the recipient receives the payment faster. Yet, if we decide to change the addressee, then it is possible to create another, competitive to existing one, transaction. With a bit of luck, the second transaction will be included to the block earlier on, because the first one will be regarded as a double-spending attempt.
What about Ethereum? How does it look in altcoin?
How does the situation look like in case of Ethereum? There is a slight discrepancy between Ethereum and Bitcoin in terms of ways of checking the balances in accounts. In case of Bitcoin, there is a model of inputs and unused outputs. However, Ethereum makes use of the so-called “World State”. Because of that, we have to make sure that our transaction has got the same nonce as the one issued by the attacker.
For those, who don’t know what nonce is, it is a type of indication for miners and nodes that ensures the right categorization of the transactions as well as the appropriate change of the status. Transaction that consists of lower nonce parameter is taken into account first. If there is a situation with the same nonce, then the priority goes to the transaction that was first.
Noteworthy is the fact that most of the Crypto Wallets for Ethereum do not allow users to send transactions containing the same nonce. However, there is an official library prepared for the Ethereum network that allows for interaction with the node. It is called web3.js.
There is only 15 seconds to save your money
However, to make things even more difficult, we do not have a lot of time to save our money in Ethereum network. All the information are saved on the blocks, which are mined every 15 seconds. Let’s remember that a thief that issued a transaction needs 30 seconds on an average traffic to steal our money.
Once the block is mined, it is impossible for any changes to be introduced, and therefore we lose our funds. Obviously, these seconds can change very rapidly as a result of overloads that can occur in the network. When the network is overloaded, then the transactions themselves need much more time to confirm. A great example of situations, where the response was increased from seceral seconds to hours, even days, regarded the biggest sales.
However, if we were to lose our money on a regular day, then we have half a minute to:
- Realize that there has been a new transaction issued without our consent;
- Create a transaction with much larger commission with the same nonce that will be a competition for the previous one.
It is nearly impossible to do such things in less than 30 seconds. That is why it is highly recommended to implement automated scripts. Down below you can find several examples of how to do that.
Set up alarming systems in your Crypto Wallet
There are several things you need to do in order to create an alarm that will offer a quick and automated response to any theft attempts:
- 1. The Mempool monitor
It is necessary to create a monitor of a mempool. There are special nodes or services that can observe the transactions that were issued from your address. If there is a danger, the alarm will go off and notify you.
- 1. Automated 24/7 wallet device
You will also need a computer or a device that will create a competitive transactions in order to send all the funds to the second, alternative address.
Keep the Mempool under observation
One of the best ways of verifying the mempool is by simply writing a script that makes use of node.js or web3.js that will raise your geth node. Creating an authorship service that will store all the data (which at this moment exceeds 100 GB) is quite costly, because the maintenance of these servers will cost approximately $70 per month.
That is why the second, better in some cases, way of monitoring the Mempool concerns using the already made services that monitor blockchains for others. One of the examples is Myeth.io. This is a place that will grant you the information regarding both Bitcoin and Ethereum network mempools. What’s more, they also send an instant information to Telegram, one of the most popular messaging apps, every time a transaction takes place. In order to enhance the effectiveness of the service, you can include up to 50 addresses for the constant monitoring.
You can also install the Telegram bot that will provide you with all the notifications from either Bitcoin or Ethereum. All you need to do is to enter the addresses of the wallets. If you want, you can also configure Webhook, so you will receive an instant information when there will be an outgoing transaction.
Webhook is a HTTP URL that can be configured by the user. It gives you the chance to send a data to any place the user chooses to send it. Webhooks are known for improving the functionality of all the systems.
All you need for your Webhook to work is to send its URL. Thanks to that you will enable the automated reaction of the service every time there will be any outgoing or incoming transaction.
The best way of utilizing this whole concept is to create an application that will automatically generate a competitive transaction every time we receive a notification. Unfortunately, the technology applied in Crypto wallets does not allow for that at this moment. However, there is nothing standing on the way of IT specialists to come up with some alternative solutions. Especially when we take into account SDK developments that allowed us to make use of this functionality, but only for open source wallets.
While looking for some alternatives, one can take a look at VPS or a computer connected to the network that will take care of Webhook and automatically launch a self-scripted command that will create a competitive transaction.
You can use library web3.js in order to write a script responsible for sending competitive transaction in Ethereum. It will have an application programming interface coherent with Ethereum blockchain. In order to avoid raising your own node, you can make use of Infura.io and connect to the public one.
Luckily for Bitcoin users, in here the choice is much bigger. There are many different methods that allow you to write your own script for creating a competitive transactions. You can for example apply bitcoinjs libraries, BitPay, or python library. When it comes to replacing your own node, you can find public one at bitnodes.
Let’s sum it up this way
There are dozens of methods that one can apply in order to ensure automation and enhanced protection. Of course it is worth to remember that nowadays there are blockchains that introduce special safety precautions to the main protocol level in the form of arbitrage mechanism, like in case of EOS.
We believe that the information you found in this article will occur to be helpful while protecting your wallets.