- What is Bitcoin?
- Why should I use Bitcoin?
- What is a Bitcoin full node?
- Why are there multiple software clients?
- How can I get Bitcoins?
- What is an SPV wallet?
- What is cold storage?
- Is a Raspberry Pi 2 or 3 powerful enough to run a full node?
- Can I control the bandwidth my raspnode uses?
- How can I upgrade my raspnode?
- Can I use the raspnode as my Bitcoin wallet?
- Will I generate (mine) Bitcoins with my raspnode?
- Are there other mini Bitcoin full nodes?
- Can I buy a raspnode?
WHAT IS BITCOIN?
Bitcoin is "money for the Internet and mobile age". It is a purely digital currency that is secured with cryptography and runs on a decentralized network and open source software. It is like a money protocol. No one owns Bitcoin, just like no one owns the Internet. With Bitcoin, you can send money to anyone in the world, instantly, virtually free, without the need for a bank or financial intermediary. You can find out more at WeUseCoins.com.
WHY SHOULD I USE BITCOIN?
That depends on who you are.
As a consumer you could use Bitcoin for protection from ID theft and fraud.
As a merchant you could use Bitcoin for avoiding chargebacks.
Anyone sending remittances could use Bitcoin for the cheaper fees (at least compared to Western Union), instant transacting, and 24/7 access.
WHAT IS A BITCOIN FULL NODE?
Just like the Internet needs different types of computers to function such as routers, DNS servers, web servers, etc... so does Bitcoin. The two core types of computers for Bitcoin are miners (which confirm transactions and create the decentralized ledger) and full nodes (which keep a copy of the entire ledger so they can verify transactions and then relay them to the rest of the network). Miners are incentivized to do their work through transaction fees and a block reward, but there is no good way to incentivize full nodes other than for people to want to keep the network strong. Too few full nodes could open up the Bitcoin network to various attacks or disruptions.
WHY ARE THERE MULTIPLE SOFTWARE CLIENTS?
Bitcoin is not a company or an app. Bitcoin is a protocol, a set of rules and ideas that allow a network to interact and function. Think of email. No one company owns email, many companies create email clients for you to use. You can send an email from your Google account to someone with a Microsoft account or even to someone who is running their own email server at home. This is because email is really the SMTP protocol. There are many Bitcoin clients for a similar reason as there are many email clients. Some offer different features, are built or run on a different development platform or programming language, or in some cases to allow people to select what features they are "voting for" to be a part of the evolving Bitcoin protocol. Bitcoin Core is the first software client and is the main client that people run. Bitcoin XT is an extension of Bitcoin Core with some additional features such as relaying double spends (so the network can be aware of them) and UTXO querying. There are many other clients as well.
HOW CAN I GET BITCOINS?
Bitcoin is a currency, and can be purchased with your local currency on various exchanges. This is probably the easiest way to acquire Bitcoin. Two options for purchasing Bitcoin are:
You can also get Bitcoins by using local bitcoins.
Another option would be to accept Bitcoin as payment for whatever products or services you provide as a merchant, hobbyist, or artist. There are a variety of merchant solutions for making it easy to accept Bitcoin. A few are:
WHAT IS AN SPV WALLET?
SPV wallets are Simplified Payment Verification wallets. These are wallets that rely on other full nodes for information about the Bitcoin network rather than storing the blockchain themselves. These are more user friendly for consumers but don't help secure the network or allow for more complicated tools that can be built on full nodes.
WHAT IS COLD STORAGE?
Cold storage is a very secure way of storing bitcoins or other cryptocurrencies. It involves generating a bitcoin (or other) address offline from a computer that isn't on any network and sending bitcoin (or other cryptocurrencies) to that address. This is more secure because no malware or hacking can get your private key and relay it to anyone.
IS A RASPBERRY PI 2 OR 3 POWERFUL ENOUGH TO RUN A FULL NODE?
Compute power - Bitcoin core generally uses around 10% of one core (out of four) and occasionally jumps to around 30% for a few seconds when verifying a block.
Memory - Bitcoin core generally uses between 50% and 70% of RAM, which leaves more than enough for the streamlined Raspbian OS. When initially downloading the blockchain the raspnode will hit some swap but not much and it isn't needed for normal operation.
Bandwidth - Whether using Ethernet or Wifi the bandwidth limits of even high performance home plans are far below what the Raspberry Pi 2 or 3 can handle (and far above what the Bitcoin network needs).
Storage - The raspnode stores the blockchain on an external USB drive. The blockchain and database takes up over 85GB as of October 2016. A 128GB USB drive is relatively cheap and will last for at least a few months, but a better option might be a 256GB USB drive or larger. Alternatively you could use an external hard drive or some other form of network storage. Raspnode is scalable because of this modularity and flexibility of blockchain storage.
CAN I CONTROL THE BANDWIDTH MY RASPNODE USES?
Bandwidth rate shaping is beyond the scope of the present tutorials but the Bitcoin Core github hosts a shell script that will limit Bitcoin bandwidth on Linux (so you don't have to dive into iptables yourself).
HOW CAN I UPGRADE MY RASPNODE?
If you have used the raspnode tutorials to install a cryptocurrency node on your Raspberry Pi and you need to update the software to a newer release you may not have to start from scratch (however some updates require features in more recent Raspbian releases and so if you run into a lot of errors, you may want to start from scratch). First stop your node. Then go through the "downloading Bitcoin/Litecoin dependencies" commands, but stop before the Berkeley DB section. This is because this is a good time to update your OS and the newer version may have more dependencies. For Bitcoin Core these commands would look something like:
pi@raspnode~$ sudo apt-get update
pi@raspnode~$ sudo apt-get upgrade -y
pi@raspnode~$ sudo apt-get install autoconf libtool libssl-dev libboost-all-dev libminiupnpc-dev -y
pi@raspnode~$ sudo apt-get install qt4-dev-tools libprotobuf-dev protobuf-compiler libqrencode-dev -y
pi@raspnode~$ mkdir ~/bin
pi@raspnode~$ cd ~/bin
Delete existing cloned repos if they are still on your drive.
Then jump to the "installing Bitcoin/Litecoin" section and finish that section, for Bitcoin Core without a GUI or wallet the commands would look something like this:
pi@raspnode~bin$ git clone -b 0.13 https://github.com/bitcoin/bitcoin.git
pi@raspnode~bin$ cd bitcoin/
pi@raspnode~bin$ ./configure --enable-upnp-default --disable-wallet
pi@raspnode~bin$ make -j2
pi@raspnode~bin$ sudo make install
Once that finishes you can restart your node.
CAN I USE THE RASPNODE AS MY BITCOIN WALLET?
If you install Bitcoin-Qt with the DIY steps you can use the Bitcoin core wallet on your raspnode. If you wish to transfer an existing wallet, copy the wallet.dat file to the USB drive (or if mounted, in the ~/bitcoinData directory). The same goes for Litecoin, if you install Litecoin-Qt with the DIY steps you can use the Litecoin wallet.
WILL I GENERATE (MINE) BITCOINS WITH MY RASPNODE?
You could turn on mining on the raspnode, but it would be worthless. Mining has become an industry and specialized ASIC chips are used to mine. Litecoin mining may not be as competitive as Bitcoin mining but it is still worthless to try to mine Litecoins on a Raspberry Pi.
ARE THERE OTHER MINI BITCOIN FULL NODES?
Bitseed offers mini bitcoin full nodes for $129, $169, and $199 plus tax and shipping (for 120GB, 320GB, and 1TB of hard drive storage respectively), the Bitseed Core runs on a pcDuino, a board similar to the Raspberry Pi 2. They no longer offer a separate XT node but it would be trivial to change one to run XT if you are tech savvy.
21 inc has released a "Bitcoin computer" which has Bitcoin functions baked into the OS. It is a Raspberry Pi 2 with an added mining chip and a 128GB microSD card. It also comes with a Wifi adapter. It can be run as a full node but that isn't their focus. The 21 Bitcoin Computer can be pre-ordered on amazon.com for $400 plus tax and shipping.
CAN I BUY A RASPNODE?
Raspnode was launched as a kickstarter project allowing people to purchase a raspnode. Currently there are no plans for producing and selling raspnodes beyond the kickstarter project.