Apr 28, 2020 10:30 PM | Leo Weese

homenode.jpg


Not your keys, not your Bitcoin. As major hacks from Mt Gox and Bitfinex to Coincheck show, keeping your crypto in an exchange or custodial wallet is not always the best idea.


A small but vocal number of enthusiasts believe that if you really want to be in control of your own finances, you need to go a few steps further. You will need to run your own node, on your own machine, in your own space.


A node is a machine connected to the network. The network is made up of such nodes, but no single node is critical to the existence of this network. Nodes communicate through a common protocol that defines the functionality of the network. Nodes do not need to run the same software, but they all need to speak the same language, that is, follow the same protocol.


The security of Bitcoin does not stem from the code base, the hash power, the electricity that goes into proof-of-work or the mathematical properties of elliptic curve cryptography. Bitcoin is secure because we, the users, guard it. Just as a data center or a gold vault ultimately needs a human to defend it against intruders, a Bitcoin node and wallet also ultimately only rely on a physical force protecting it, as those with physical access to a machine would be able to repurpose it or gain knowledge of its function and content.


The security of the network follows a tragedy of the commons. If only one individual runs their own node, this individual controls the network rules, such as the block reward. They could also easily censor or reverse transactions. If many people run their own nodes, this threat becomes negligible in the eyes of the user, and each additional node appears to provide little benefit to the network and its security.


Several technologies make it easier for us to secure our Bitcoin. Anonymity networks like Tor make it easier to hide our node. A well hidden node, similar to a gold vault, does not need to be as well-protected physically. Cryptography makes it easy to protect secrets, even after they are stolen. After your node has been located and seized, an encrypted drive for example can make it difficult to seize the private keys. Finally, open-source software running on readily available hardware makes it easy to spin up a new, hidden node anywhere.


The machine


First, you will need a physical machine that you trust. It can be as small as a Raspberry Pi, although a mini PC or a self-assembled computer will do the job better. It does not need a lot of storage space or to be connected to a high-speed network, but of course these things help.


Ideally the computer will run an open-source operating system, have its hard drive encrypted and be otherwise secured against unauthorized access, for example by being behind a firewall.


The machine should be yours, and not accessible to others. It should sit in a physical space that ideally only you have access to.


The Tor network


Your machine ideally sits exclusively in the Tor network. This makes it hard for anybody to locate your machine and attack it physically, where it is much more vulnerable. It can also help to hide the fact that you are using Bitcoin at all, which in some instances could unnecessarily paint a target on your back. 


For some services that you might want to run on your machine, such as Lightning or a lightweight Bitcoin wallet, running a hidden service, or onion site, will make it easy for you to reach the node from outside your home network without detection or further network configuration.


Get the source code.


The Bitcoin node


Your Bitcoin node verifies the integrity of each transaction and block being passed around in the peer-to-peer network. This gives every investor and holder the chance to get a view of how many coins there are in existence, and whether the entire system is even still running. While the node does not necessarily protect against a split in the chain, it does help validate that the current rules are observed.


Probably most important, the node will give you affirmation of whether Bitcoin sent to you has been confirmed by the network, and can no longer be double-spent. Without your own node, you would have to trust other nodes. They could be malicious or tricked, and without running the code yourself you won’t have verification they are on the same chain and follow the same rule set.


Checking your wallet balance and propagating your Bitcoin transactions through your own node also helps with staying anonymous, especially when plugging your node behind the Tor network.


Get the Bitcoin Core source code. Alternative: Get the Libbitcoin source code.


The Lightning Node


The Lightning network promises near-instant and cheap Bitcoin transactions without bloating the Bitcoin blockchain. These benefits come at the inconvenience of a separate network with separate software, and a different security premise. Unlike your Bitcoin wallet, which can be safely turned off for a long period of time and even be purely analogue, your Lightning wallet needs to be online most of the time and be connected to a full Bitcoin node.


On the other hand, once it’s set up, you will be able to earn (miniscule) routing fees and take advantage of unfairly cheap transactions. You will also be able to remote control this node while traveling, for example using Zap.


Get the LND source code. Alternative: Get the lightning-c source code.


Get Zap source code for desktop, Android and iOS.


The Lightweight Wallet


Keeping the entire Bitcoin blockchain on your hard drive and staying connected all of the time is not feasible for your mobile device. Luckily, with some configurations we can make use of our home node while traveling as well. Most promising here is Electrum Personal Server, which is an easy-to-install software package that sits on your Bitcoin node. You can then run the Electrum wallet on your laptop or smartphone and connect to your home node (maybe via Tor).


This protects your privacy, as other Electrum nodes will no longer be able to see your addresses and balances. It also allows you to verify the confirmations of incoming Bitcoin transactions from your mobile device.


Get the Electrum Personal Server source code here. Get the Electrum Wallet source code here.


Communications


Your personal Bitcoin node can do more than that. The machine it runs on can act as a generic web server. Depending on its capacity and your internet speed, you will be able to configure it to reclaim all sorts of aspects in your life. For example, you can host your own Jitsi Meet server for video conferences as an alternative to the proprietary services of Zoom and Google Hangout.


You can run your own Jabber server to chat securely with end-to-end encryption. For group chats IRC is still popular as well, and you can run your own with InsIRCd.


While you’re at it, why not a website to host your encryption keys? Or run your own blog to get away from Medium or Wordpress?


You’ll discover that taking back your sovereignty online is not as difficult as it may seem.



If you have a good idea for a data story, please don’t hesitate to reach out! Please send pitches and tips to:

Email:[email protected]

Most Popular Articles

Top Hashtags

Firebase Subscribe