Book Image

Bitcoin Essentials

By : Albert Szmigielski
Book Image

Bitcoin Essentials

By: Albert Szmigielski

Overview of this book

Blockchain is being billed as the technology of the future. Bitcoin is the first application of that technology. Mining is what makes it all possible. Exploring mining from a practical perspective will help you make informed decisions about your mining setup. Understanding what the future may hold for blockchains, and therefore for mining, will help you position yourself to take advantage of the impending changes. This practical guide starts with an introduction to Bitcoin wallets, as well as mining hardware and software. You will move on to learn about different mining techniques using the CPU, GPU, FPGA, and ultimately the ASIC as an example. After this, you will gain an insight into solo mining and pool mining, and see the differences between the two. The book will then walk you through large-scale mining and the challenges faced during such operations. Finally, you will take a look into the future to see a world where blockchain-based applications are commonplace and mining is ubiquitous.
Table of Contents (15 chapters)
Bitcoin Essentials
Credits
About the Author
About the Reviewer
www.PacktPub.com
Preface
Index

Bitcoin wallets


In this section, we will take a closer look at Bitcoin wallets. We will define what a wallet is and explain why we need a wallet. We will look at the types of wallets available. There are software and hardware wallets, full wallets, and the so-called thin wallets. There are also hosted wallets that are run by companies for the users' convenience. We will look at the most popular wallet called Bitcoin Core; finally, we will touch upon wallet security.

What is a Bitcoin wallet?

A Bitcoin wallet (sometimes called a client) is a software that facilitates performing bitcoin transactions. Wallets come in different flavors. The most capable of them are called full clients. They can perform bitcoin transactions and act as a gateway to the Bitcoin network. Full clients also store a copy of the Bitcoin block chain locally. An example of a full client is the Bitcoin Core software application.

Note

Definition

Block chain: The Bitcoin database that stores all the transaction data is called a block chain. The transactions are grouped together in batches for efficiency reasons. A batch is called a block and each block (except for the first, called genesis block) has a link to the previous block. This linking together of blocks is the chain part of the block chain.

A wallet allows us to send (spend) and receive bitcoins. These are the main transactions that most users will perform. Most importantly, a wallet stores your secret private keys, so that you can access the bitcoins you own. The name "wallet" is slightly misleading. The wallet actually does not store bitcoins directly. All the bitcoins are stored on the block chain and the wallet software simply allows you to transact with the bitcoins that the private keys stored in the wallet have control over. In simpler terms, wallets store private keys. Those keys are tied to bitcoins on the block chain and therefore you can send them to another address.

A wallet also allows us to look into the Bitcoin network and see additional details. It allows us to see information about the Bitcoin network, the block chain, mining, and the wallet in general. We will go over these in later chapters.

Why do we need Bitcoin wallets?

As mentioned earlier, wallets facilitate Bitcoin transactions. Without them, moving bitcoins from one address to another would be impossible. It is worth noting that a wallet is a fundamental piece of Bitcoin software. A wallet is the required software in order for the Bitcoin network to exist.

Without the ability to transfer bitcoins, the system would not be very useful. In the original wallet called bitcoind, the transactions had to be put together manually. Later on, the wallet software was expanded and updated to make transaction creation seem like a breeze. Since wallets connect us to the Bitcoin network, they are also needed in mining operations. While mining, it is the wallet software that communicates with the Bitcoin network. It watches out for new blocks, so that if a new block is found by some other participant, our mining software can stop working on the now solved block and move on to the next.

The transactions that our mining software will put in a candidate block also come from the wallet. In addition, wallets verify found blocks and propagate transactions that come onto the network.