You are on page 1of 24

Certified

Bitcoin Professional
Study Guide
Terry Woltman 2015
Study guide for the key questions covered by the CryptoCurrency Certification Consortium
Certified Bitcoin Professional Examination.

T e r r y W o l t m a n
2 0 1 5
v 1 . 0


Acknowledgments


I very much want to thank those that helped review and edit this guide.

As well, I want to thank the Bitcoin community and industry for the width and
breadth of information available that allowed me to even put this guide together in
the first place.

And finally, a thank you to CryptoCurrency Certification Consortium team for
putting together a program where Bitcoin professionals can certify their knowledge.


Introduction

When I first took the Certified Bitcoin Professional examination, I was concerned
that even though I had dove deeply into learning as much as possible about Bitcoin, I
may have misunderstood key topics or have gaps in my knowledge that would lead
me to not pass the test.

Since the exam is timed, one must have the understanding to pass the test in the
allotted time and have reference documents at hand to quickly review concepts you
may have missed or need immediate clarification on.

What this guide isnt: This guide is not a beginners intro to Bitcoin. I have had to
assume the reader has a base level of knowledge to start from. You should have had
a wallet of some type, been able to find or buy some bitcoin and maybe even
transfer some around. If you are just starting out, I would suggest doing some initial
learning before attempting this guide or the CBP examination here:

https://en.bitcoin.it/wiki/Introduction

https://en.bitcoin.it/wiki/Getting_started

https://en.bitcoin.it/wiki/FAQ

This guide is also not a definitive guide to Bitcoin. It has been written to cover most
of the topics you can expect in the CryptoCurrency Certification Consortiums
Certified Bitcoin Professional examination. I have tried to include links to more in-
depth information where appropriate so that you can learn more, though it should
not be required for the test.

Contents



History of Money and Ledger-based Economics .......................................................................... 5
Centralized Ledgers ............................................................................................................................. 5
Functions of currency ......................................................................................................................... 5
Distributed Consensus ....................................................................................................................... 6
History of Bitcoin .................................................................................................................................. 6
Price Derivation .................................................................................................................................... 7
Basic Cryptography .................................................................................................................................. 8
Some Cryptography Terminology Basics ................................................................................... 8
Hash Functions ...................................................................................................................................... 8
Symmetric and Asymmetric Encryption .................................................................................... 9
Digital Signatures ................................................................................................................................. 9
Bitcoin Basics ............................................................................................................................................ 10
Bitcoin Community ............................................................................................................................ 10
Bitcoin Addresses and Keys ........................................................................................................... 10
Bitcoin Transactions ......................................................................................................................... 11
Bitcoin Blockchain Ledger .............................................................................................................. 12
bitcoin the Unit .................................................................................................................................... 13
Bitcoin the Network .......................................................................................................................... 14
Bitcoin Improvement Proposal (BIP) ....................................................................................... 14
Buying and Selling bitcoin .............................................................................................................. 14
Blockchain Explorers ........................................................................................................................ 15
Mining ........................................................................................................................................................... 16
Purpose and Function ....................................................................................................................... 16
Bitcoin Nodes ....................................................................................................................................... 16
Proof of Work Algorithm ................................................................................................................. 17
The Difficulty Metric .......................................................................................................................... 18
Mining Hardware ................................................................................................................................ 19
Mining Pools ......................................................................................................................................... 19
Wallets, Clients and Key Management ........................................................................................... 20
Wallet Types (Bitcoin Clients) ..................................................................................................... 20
Hierarchical Deterministic Wallets (BIP0032) ...................................................................... 21
Passphrase-protected private key (BIP0038) ....................................................................... 21
Back-up ................................................................................................................................................... 21
Using Bitcoin as a Merchant ........................................................................................................... 22
Bitcoin Payment Processors .......................................................................................................... 22
Payment Protocol (BIP0070) ........................................................................................................ 22
About the Author ..................................................................................................................................... 23
Glossary ....................................................................................................................................................... 24
Additional Resources ............................................................................................................................. 24



About the Certified Bitcoin Professional
A Certified Bitcoin Professional is knowledgeable about the Bitcoin blockchain,
Bitcoin transactions, and how the Bitcoin network operates. CBPs are able to
apply Bitcoin technology to their professional area of expertise and understand
privacy aspects, double-spending, and other issues that relate to the currency.
- CryptoCurrency Certification Consortium
The Certified Bitcoin Professional examination comprises 75 questions and is to be
completed in less than the timed 20 minutes. Questions are in a true/false or
multiple choice format covering topics such as the History of Money, Ledgers and
Bitcoin; Basic Cryptology; Client and Key Management and Security; Key Bitcoin
Improvement Proposals (BIPs); Mining, Distributed Consensus, the Bitcoin
Blockchain and more.
To apply for, and take the exam, please visit the CryptoCurrency Certification
Consortium examination website at:
https://cryptoconsortium.org/certifications/CBP




Disclaimers

Neither the author, nor anyone that assisted with the creation, editing or revision of
this guide has any affiliation with the CryptoCurrency Certification Consortium or
the Certified Bitcoin Professional.

As well, this guide does not guarantee you will pass the Certified Bitcoin
Professional examination, but should help you better prepare and have access to a
reference should you need a quick refresher on a topic covered by the examination.
We cannot guarantee that every question asked in the examination will have been
covered by this material as CryptoCurrency Certification Consortium may update
their examination without prior notification. We have not been permitted special
access to the questions or topics that the exam covers, using only publically
available information on topics that will covered.

History of Money and Ledger-based Economics


Proof-of-work has the nice property that it can be relayed through untrusted
middlemen. We dont have to worry about a chain of custody of
communication. It doesnt matter who tells you a longest chain, the proof-of-
work speaks for itself. Satoshi Nakamoto, Aug 7, 2010

Centralized Ledgers


A centralized ledger is an account book or database for recording historical
transactions between parties. It can take the form of accounting books or an order
book, like you would find on an exchange. It tracks the ownership of an asset
through time as controlled by an entity that can make arbitrary updates and
changes to the system. Examples of centralized ledgers would be products by Oracle
or SAP for the management of customer deposit accounts held by a bank or a
general accounting ledger utilized within a corporation to track revenue and
expenditures.

Functions of currency

Money is probably as old as human culture, providing an accounting of value
transfer between persons. Since it is almost impossible to trade a cow for a chicken
due to disparate values of each (and need for each), humanity has long had a need
for an arbitrary method to account for who owes what to whom. From this we see
the emergence of currencies that allowed people to freely trade between each other
via a vehicle that can provide for an equalized value. Money abstracts the value from
the goods or services to better facilitate trade.

Many items have been used as currency throughout history from shells to beads to
coins. It is believed that paper currency was first used in China, evolving from
previously used promissory notes that were traded between people, a theory that
continues today as all fiat is an IOU to all others who use the system to accept the
value of the currency with an agreed on equal value of goods or services.

Money generally requires several key properties to function as a usable currency:

1. Medium of exchange.
2. Unit of account.
3. Store of value.
4. Method of settling debt.

Distributed Consensus
Distributed Consensus in Bitcoin removes the need for trust from centralized
ledgers (such as banks and governments), instead allowing the currency to function
as a wholly independent entity, but this is not without issues. Take for example the
process of securing transactions on the blockchain. To achieve security and
reliability, even though there are those that would wish to harm or defraud the
network, the blockchain requires nodes to agree on some data value during
computation.
Bitcoin solves this problem via the Proof of Work algorithms that build the
blockchain. By utilizing the work of hashing transactions into a blockchain, everyone
on the network can validate the consensus of the blockchain by simply following the
longest chain, and hence, the chain with the most work invested.
Learn more: https://socrates1024.s3.amazonaws.com/consensus.pdf

History of Bitcoin
The idea of a digital based currency system has been around for quite some time.
Some precursors to Bitcoin are issuer based ecash systems and distributed digital
protocols, such as hashcash, bit-gold and others.
Satoshi Nakamoto, building on the work and ideas of those systems that came
before, first released Bitcoin to the world in November 2008 via a whitepaper
entitled Bitcoin: A Peer-to-Peer Electronic Cash System. The paper outlines the
methods of using a peer-to-peer network to generate what is described as "a
system for electronic transactions without relying on trust." In January 2009 the
Bitcoin network was launched with the release of the first Bitcoin reference client
and the issuance of the first bitcoin via the Genesis Block.
Satoshi Nakamoto is an obvious pseudonym for a person, or group of persons, that
initially designed and developed the ideas and first implementations of the Bitcoin
protocol and Bitcoin-Qt client. Their true identity remains a mystery today, though
some people have put forth possible candidates such as Nick Szabo, Hal Finney or
even Dorian Nakamoto, a man whos life was rudely interrupted by a tragically
mistaken (and surprisingly adamant) Newsweek reporter named Leah McGrath
Goodman. These people have all denied that they are Satoshi.
Download Bitcoin the whitepaper: https://bitcoin.org/bitcoin.pdf

Price Derivation
Bitcoins exchange rate is like any other currency in that it fluctuates in value
relative to all other currencies. Bitcoin has had drastic price volatility in the past,
though it seems to have somewhat stabilized recently.
Since there is no single centralized market, and bitcoin exchanges never close, its
value is constantly changing. Every time a trade occurs on a public exchange, the
buyer and seller agree to a price and it is recorded for all to see as the latest price.
Some services then use this public price as spot rate. It is possible to trade bitcoin
privately without public notification.
Bitcoin is a truly floating currency in that there is no centralized system for pegging
the price or government controlled centralized banks that can print or loan more to
manipulate the money supply. The issuance of total units is restricted by the
protocol to no more than 21 million bitcoin ever being produced.
Bitcoin is valued through market supply and demand.

Basic Cryptography
Some Cryptography Terminology Basics
Bitcoin uses various cryptographic methods to accomplish its needs, thus you will
need a basic understanding of a handful of terms, methods and key functions.
Encryption is the process of encoding plaintext messages into ciphertext. The
process of turning ciphertext back into plaintext is called decryption.
Cryptography deals with the creation of encryption methods.
Cryptoanalysis deals with decrypting ciphertext without knowing the encryption key
(the private secret), in other words: trying to crack encryption.
Cryptology is a branch of mathematics that covers both cryptography and
cryptoanalysis.
Cryptographic algorithm, or cipher, is a mathematical function that takes plaintext
and the private encryption key to produce ciphertext as the output (and vice versa).

Hash Functions
A cryptographic hash function must be considered practically impossible to
reverse, such as to extract the input data from its hash value alone. A hash function
takes in data and outputs digital data of fixed size. This will create a small checksum
that can prove that the source material has not changed during transmission or over
time, as even a minor change to the input data will change the resulting hash
drastically.
Hash functions have four main properties:
1.
2.
3.
4.

Computationally easy to generate the hash value for any given message.
Impractical to reversely generate the message from its hash.
Impossible to change the input data without also changing the hash.
Massively improbable to have different messages with the same hash.

Cryptographic hash functions have many applications, especially in digital


signatures and thus are widely used in Bitcoin.

Symmetric and Asymmetric Encryption


Symmetric algorithms use the same key to perform both encryption and decryption
of messages. The key acts as a secret to maintain private information. If more than a
single person must access the encrypted data then the key must be shared, and
hence is a major disadvantage.
Asymmetric algorithms, otherwise known as Public-key cryptography, utilizes two
separate keys, one of which is secret (or private) and one of which is public.
Although different, the two parts of this key pair are algorithmically linked. The
public key is used to verify a digital signature; whereas the private key is used to
create a digital signature. Asymmetric algorithms are used heavily in hash functions,
and thus in Bitcoin.
Learn more: https://en.wikipedia.org/wiki/Public-key_cryptography

Digital Signatures
A digital signature is a method for proving the authenticity of a digital message or
document, such as an output transaction in Bitcoin. A valid digital signature proves
that the message was created by the holder of a specific private key, and that the
information was not altered in transmission. Digital signatures are used for
software download verification, financial transactions (such as Bitcoin transactions)
and where ever it is important to detect tampering of data.





Bitcoin Basics
Bitcoin Community
Bitcoin can be most easily accessed on smartphones and laptops, so Bitcoin users
usually use the Internet to transact with the Bitcoin network and each other,
although other methods can and have been used. Bitcoin clients work similar to
traditional currency eWallets in that they can be used to buy and sell goods and
services or send money to friends and family, with some services even using the
network to send encrypted messages to each other and store hashes of important
data and documents.
Some resources where you can interact directly with other Bitcoin users are:

Bitcoin Forum: https://bitcointalk.org/


Bitcoin Foundation informational site: http://bitcoin.org
Bitcoin News: http://coindesk.com/
Bitcoin at Reddit: http://reddit.com/r/bitcoin/

Bitcoin Addresses and Keys


Bitcoin addresses are generated as a hash of the public key. The private key is used
to make the public key, which is then hashed further to become one of many
possible Bitcoin addresses. It is designed so that the Bitcoin address can be
calculated from the public key, but importantly, the address cannot be reversed to
the private key (via asymmetric algorithms). Bitcoin addresses can be created on
the fly and are virtually infinite.
A Bitcoin address looks like this: 1LfexEtQx2RcSPU5eH5SqwFFGkiAtxvjnc
(You can donate $5 worth of bitcoin to the authors beer fund here!)

Alternatively the address can be displayed as a QR Code, which most wallets can
read either via a phone or web cam:

10

There are some rules defined by the protocol on how addresses are displayed. Most
Bitcoin addresses are 34 characters, though it is possible to have ones that are
shorter (down to 26 characters) and still be valid. The address will consist of
random alphanumeric characters, with the exception of the uppercase "O", number
"0", uppercase "I", and the lowercase "l". These are not used to prevent confusion, as
they can look similar to each other in certain fonts. Designated parts of a Bitcoin
address are used as a checksum so that any errors can be found and rejected by the
client before bitcoin are lost.
Bitcoin addresses can be created that require a more than 1 private key. These
multisig addresses can be seen in Bitcoin addresses that start with a 3 instead of
the standard 1. Multisig addresses can be crafted with a required 2-of-3 signing
keys to be valid, meaning 2/3rd of the keys used to create the address must sign any
transactions for it to be valid. Some clients allow the creation of a wide range of
multisig keys, from 1-of-2 to 7-of-13 and anything in between.
Learn more: https://en.bitcoin.it/wiki/Address

Bitcoin Transactions
A Bitcoin transaction is made up of one or more inputs, which are one or more
previous outputs to an address and include a proof of ownership, which are one or
more inputs, which are one or more outputs back through the blockchain to the
beginning of the network.
An input is the technical way of saying bitcoin that you have received and is
currently available to be spent from your wallet. These inputs could have been
received by various Bitcoin addresses tied to a private key, so in order to spend
them the client will need to select which inputs to combine together to cover the
amount being requested to send.
Similarly, the outputs are where the bitcoin will be sent. Usually there will be at
least 2 outputs created, though it is possible to create a transaction that has many
recipients. This allows you to package multiple payments together into a single
transaction. Of these two outputs, one will be the address you intend to send bitcoin
to and the other a change address.
A change address is required, as all associated inputs must be spent during the
transaction. For example, if you had a bill for $5 but only had a single $10 note, you
will receive change back in the form of $5. In Bitcoin, if you have an input of 1
bitcoin, but only wish to spend 0.5 bitcoin, there must be an address under your
control for the network to return the remaining 0.5 bitcoin change to you. Your
wallet will generally handle this automatically, so dont be surprised if you see that
your bitcoin has all been spent! Your wallet will show the returned balance as the
transaction is confirmed by the network.

11

As well, you will likely want to include a transaction fee (mining fee) on any
transaction you transmit to the network. Since May 2013 the default fee to send a
Bitcoin transaction is 0.0001 bitcoin, though there are cases where a transaction
may qualify to be included in the blockchain with no fee, or may require a higher fee
if the output is over a certain size (in kilobytes, not value). This fee has changed in
the past as the exchange rate of bitcoin has become stronger and will likely change
further in the future.
Learn more: https://en.bitcoin.it/wiki/Transaction_fees
Since Bitcoin transactions are not encrypted by design, they must be signed by the
associated private key that was used to generate the public key, proving ownership
of the bitcoin on the blockchain in a way that can be verified by anyone on the
network. In other words, spending comprises signing a transaction that transfers
the bitcoin from previous transaction(s) to a new a bitcoin address(s).

Signing a Bitcoin transaction.


Learn more: https://en.bitcoin.it/wiki/Transaction

Bitcoin Blockchain Ledger


Once your transaction has been crafted by your client it will need to be broadcast to
the network so that the value transfer can be validated and included in a block on
the global distributed Bitcoin ledger, the blockchain. As discussed previously,
transactions are sent unencrypted so all transactions are visible in the blockchain.
This is a necessity so that anyone and everyone can confirm the chain of ownership
of the bitcoin.
The blockchain is a chain of a hash of a hash of a hash and so on, and thus
unchangeable without also changing the hash. The creation of the blockchain is
completed by miners and transmitted via full nodes to achieve consensus.

12

The blockchain allows the participants to publically determine when a bitcoin


amount has been validly spent in order to prevent double-spending in a network
without central oversight. We will discuss the process of creating the blockchain
further in subsequent sections.

bitcoin the Unit


bitcoin (with a lowercase b) is used to denote Bitcoin as unit of currency. It is often
abbreviated to BTC or XBT. According to the protocol, no more than 21 million
BTC will ever be mined. To deal with the hard upper limit of how many bitcoin will
ever be minted, each BTC is divisible to 8 decimal places (0.00000001), allowing for
growth of the utility of the currency. It is common to see the price of something in
the format of: 0.001 BTC.
Here is a break down, with common nomenclature, of different bitcoin values:
Name
Bitcoin
deciBitcoin
centiBitcoin
milliBitcoin
microBitcoin
Finney
Satoshi

Abbreviation
BTC / XBT
dBTC
cBTC
mBTC
BTC / bit
-
-

Value
1
0.1
0.01
0.001
0.000001
0.0000001
0.00000001

Generally only BTC, bit and Satoshi are referenced in everyday usage. XBT is popular
on exchanges as it follows the standard naming standards of non-government
backed assets; Gold for example is XAU and silver is XAG. Bit has become somewhat
popular recently as it is 100 Satoshi and easily represented in the standard 1.00
format (2 decimal places only), like dollars and cents. For example, one bit can be
written as 1.00, but has an actual value of 0.000001 BTC.
A short note about the bitcoin symbol: Generally, Bitcoin is symbolized as B (a B with
2 vertical lines through it), but there have been complaints within the community that it is
too similar to the Thai Baht symbol and does not render well in many fonts and screens.
There has been a vocal group within the community that is working to use the
symbol as the official symbol, which has been picked up by several prominent services in
the ecosystem.

13

Bitcoin the Network


Bitcoin (with a capital B) is used to denote the Bitcoin network and protocol. The
Bitcoin network is based on decentralized trust rather than government issued
currencies with central trusted authority. In Bitcoin, trust is achieved as an
emergent property from the interactions of different participants in the
Bitcoin system, such as nodes, miners and clients.

Bitcoin Improvement Proposal (BIP)


A Bitcoin Improvement Proposal (abbreviated as: BIP) is a design document for
introducing features or information to the Bitcoin core protocol. This is the standard
way of communicating ideas since Bitcoin has no formal structure, being an open
source project.

Bitcoin Improvement Proposal process


Learn more: https://en.bitcoin.it/wiki/Bitcoin_Improvement_Proposals

Buying and Selling bitcoin


As we covered previously in the Price Derivation section at the beginning of the
guide, there is no centralized control of bitcoin and thus is freely exchangeable for
fiat currencies, or even other Cryptocurrencies. It is not so much as buying and
selling bitcoin, but rather exchanging bitcoin for other types of currency.
Where and how you can exchange bitcoin is highly dependent on where you live in
the world. In some places, like Mexico and the Philippines, bitcoin is unregulated
and treated as a digital asset, much like an MP3 or eBook, whereas the US is
working to regulate bitcoin as a type of currency, requiring governmental licensing
of bitcoin exchanges with full AML/KYC (Anti-Money Laundering / Know Your
Customer) processes similar to banks.

14

Wherever you happen to be, there are many resources for finding a local exchange,
and failing that, there are resources like Localbitcoins for setting up person-to-
person trades.

For information on where to buy: http://howtobuybitcoins.info

Blockchain Explorers
A blockchain browser (also called "blockchain explorer") is an application or site
that lets you search and navigate every transaction within a blockchain, generally all
the way back to the genesis block, or the first block of a blockchain that initialized
the network.
These sites are useful for viewing transactions and verifying amounts held by
addresses; tracking histories of inputs and outputs; monitoring for transaction
inclusion in a block and checking the hash rate and other statistics of the network.

15

Mining
Purpose and Function
Mining is the breakthrough that makes Bitcoin possible. It is the process of adding
blocks (transaction records) to Bitcoin's public distributed ledger of historical
transactions (blockchain) so that nodes can reach a distributed consensus about the
state of the network. In addition to generating the validated chain of blocks, mining
is also the method in which new bitcoin are released to the market via the block
reward. The reward is the incentive that attracts miners to secure the network.
When a block is solved, the miner may assign themselves all associated fees and also
award themselves a specific number of bitcoin which is agreed upon by everyone in
the network as determined in the protocol (this is called a coinbase transaction).
Currently the block reward is 25 bitcoin, but halves every 210,000 blocks (~4 years),
with the next halving to occur sometime in mid 2016.
As the number of awarded bitcoin the miners are set to create in each block
decreases, the transaction fees should theoretically make up a larger and larger
portion of mining income, with the reward becoming less and less until such a date
that the miners are incentivized almost entirely from fees rather than block awards.
Mining is completed via a method called Proof Of Work, which is an economic
disincentive meant to increase the costs of denial of service attacks and other
service abuses by requiring some work, usually processing by a computer, from all
participants, good or bad. A key feature of proof of work is its asymmetry, meaning
the work must be a difficult computational problem that costs real resources to
complete (in this case, equipment and electricity), but trivial for the nodes and other
participants on the network to verify.

Bitcoin Nodes
In addition to mining, full nodes are an important part of the network. Nodes are not
incentivized like miners. Anyone that operates the Bitcoin reference client is acting
as a node. Nodes do things like validate transaction syntax, relay transactions and
new blocks to the network, watch for double-spend transactions and maintain
copies of the blockchain for transmission to new clients or nodes that request it. The
blockchain is distributed globally by full nodes using a peer-to-peer file sharing
technology similar to the BitTorrent protocol.
Setting up a full node can be a fun and rewarding way to inexpensively help secure
and participate in the bitcoin network.

16

Proof of Work Algorithm


Proof-of-work has the nice property that it can be relayed through untrusted
middlemen. We dont have to worry about a chain of custody of communication.
It doesnt matter who tells you a longest chain, the proof-of-work speaks for
itself. Satoshi Nakamoto
Mining a block is a Computationally Difficult Problem because in order for the block
to be accepted by the network as solved, the SHA-256 hash of a block's header
must be lower than or equal to the target. In other words: The hash of a block must
start with a certain number of zeros.
For example, here is the solution to Block #304446:
00000000000000002388679fe503d715603b39ae7f965cdaec66dbe1de7071d4
The probability of calculating a hash that starts with many zeros is very low,
therefore many attempts must be made. In order to generate a new hash each
round, a nonce (an arbitrary number used only once in a cryptographic
communication) is incremented. The nonce is what allows many miners to attempt
to create a hash via a group of the same transactions and output many different
values. If all miners used the same nonce and the same transactions, then they
would always output the same values.
A solved block will include the hash of the previous block in the chain, any
transactions the miner has accepted and the nonce. The inclusion of the previous
blocks hash ensures that the chain was built up from each block before it back until
the genesis block.
It is possible for more than one miner to find a block at the
same time (or sufficiently near enough), which can cause the
network to divide as different nodes relay the block from
different sources and miners begin working on different
chains. Majority consensus in bitcoin is represented by the
longest chain of blocks, which required the greatest amount
of effort to produce it, hence the Proof of Work. As miners
work on solving the blocks, one chain will grow fastest and
outpace any competing chains. Any blocks that were solved
but not included in the main chain of blocks are called
orphaned blocks. At some point miners will abandon these
orphaned blocks and start working on the main branch once
again as the network equalizes.
This means that in order to modify a past block, an attacker
would have to redo the proof of work of that block and all
blocks after it until they surpass the work of the honest

17

miners. The probability of a slower attacker catching up diminishes exponentially as


subsequent blocks are added to the blockchain.
The proof of work method is used to make it economically infeasible to attempt to
double-spend bitcoin on the network via raw hashing power. A double-spend is
when bitcoin is included in 2 different transactions to attempt to defraud the
receivers and the network. Since a bitcoin can only be spent once, an attacker with
more than 51% of the computing power of the network could send an amount of
bitcoin and then attempt to build a second unpublished chain, only to announce it
when the first transaction was already accepted. This second blockchain would then
become the longest chain and orphan all other blocks.
The likelihood of a successful 51% attack via this method would be
astronomically expensive and is thus extremely unlikely as the amount of hashing
power required to successfully compute the secret blocks more quickly than all
others would require more hashing power than all other miners combined.
Learn more:
https://chrispacia.wordpress.com/2013/09/02/bitcoin-mining-explained-
like-youre-five-part-1-incentives/
http://en.wikipedia.org/wiki/Bitcoin_network#Bitcoin_mining
https://en.bitcoin.it/wiki/Double-spending
https://en.bitcoin.it/wiki/Weaknesses#Attacker_has_a_lot_of_computing_po
wer

The Difficulty Metric


Difficulty is the measure of how hard it is to solve a new block. Difficulty is
recalculated every 2016 blocks to ensure that blocks are, on average, found once
every ten minutes. As more hashing power joins the network the rate of block
creation goes up. As the rate of block generation goes up, the difficulty will retarget
to compensate which will cause the difficulty to readjust (the required leading
number of zeros) to bring the rate of block creation back to the target block creation
times. If the hashing rate decreases, the protocol can adjust to make the target easier
as well. Any blocks released by a miner that do not meet the minimum required
difficulty target will simply be rejected by the network.
Learn more: https://en.bitcoin.it/wiki/Difficulty
View: https://bitcoinwisdom.com/bitcoin/difficulty

18

Mining Hardware
Since the launch of Bitcoin, many different computing platforms have been used to
mine bitcoin.
CPU Mining: The early Bitcoin-Qt client allowed users to use their CPU to mine.
With the usage of faster technologies to mine bitcoin, the option was therefore
removed from the core Bitcoin client's user interface.
GPU Mining: Graphics Processing Unit mining uses the math processors on modern
graphics cards to perform hashing and is drastically faster and more efficient than
CPU mining. GPU mining is no longer profitable as ASIC mining has become far more
efficient. Many of the GPU mining rigs were converted to mine for other
cryptocurrencies, such as Litecoin and Dogecoin.
FPGA Mining: Field-Programmable Gate Array mining is an efficient and fast way to
mine, comparable to GPU mining and drastically outperforming CPU mining. Like
with GPU mining though, these units are no longer profitable to mine Bitcoin.
ASIC Mining: An Application-Specific Integrated Circuit is a microchip designed and
manufactured for a singular purpose. ASICs consume much less electricity per GHS
than any of the other previous technologies used to mine bitcoin. ASICs designed for
use in mining Bitcoin, being application specific, can only be used for bitcoin or other
SHA256 based Cryptocurrencies.
Mining Services (Cloud mining): Cloud mining providers sell mining contracts that
specify the mining services and performance of their service, generally backed by
ASICs that the cloud mining provider owns or rents themselves. Often these
contracts are sold on a GHS (gigahash per second) basis for a set period of time. For
example: 10GHS for 1 month.

Mining Pools
Due to the high competition within mining and the diminishing and highly sporadic
returns of being able to mine alone, mining pools were created to reduce the
variance in finding a block, providing more stable and predictable rewards to
individual miners. The pool provides all the work (transactions and nonces) to the
individual miners and when a block is found the reward is distributed on the basis
of how many hashes each miner contributed towards finding that block as a
percentage of the total hashing power of the pool.

19

Wallets, Clients and Key Management

Since Bitcoin is based on a private/public key structure, Bitcoin Wallets can be


thought of as a cross between cryptographic key management systems and eWallets.
The first wallet for Bitcoin was the Bitcoin-Qt client released by Satoshi Nakamoto.
It included all the functionality required to interact with the network and was used
to manage private/public keys, bitcoin addresses and also functioning as a full node
and CPU miner for the network. This client, now referred to as Bitcoin Core, is still
developed and released regularly, functioning as the official reference client for
the Bitcoin protocol. Bitcoin Core is available for download for the Linux, Mac and
Windows operating systems.

Download: https://bitcoin.org/en/download

Wallet Types (Bitcoin Clients)



Since the release of the first Bitcoin client, there have been multiple derivative and
competing wallets released on a diverse range of computing platforms, each with
different features, strengths and weaknesses.

Like cash, you dont keep your entire net worth in your pocket, (you keep)
walking around money for incidental expenses. Satoshi Nakamoto

Mobile Wallets are generally any wallet available primarily via a mobile device, but
in which the private key is under the control of the user.

Web Wallets work similar to all other wallets, but are available as a service. Most
services maintain control of the users private key, and thus are the ultimate holder
of the associated bitcoin, though some use multisig technology to allow the user
more control of the account and keys.

Desktop Wallets would be any wallet that is available via a traditional computer or
laptop as an application. There are generally 2 types of Desktop Wallets, a Full Client
which stores a complete copy of the blockchain (currently about 39GB) and a SPV
Wallet (Simplified Payment Verification) which only downloads a copy of the
headers for all blocks, saving significant space. Most of these clients allow for
backing up and encrypting the wallet data file (keys) in a variety of ways.

Hardware Wallets are devices that store a part of a user's wallet securely in
mostly-offline hardware. In hardware wallets the key is often stored in a protected
area of a microcontroller and cannot be transferred out of the device in plaintext,
allowing for a very secure method of storing keys.

Paper Wallets are a document containing all of the data necessary to generate any
number of Bitcoin private keys, forming a wallet of keys. However, people often use
the term to mean any way of storing bitcoin keys and addresses offline as a physical

20

document. Storing bitcoin on paper wallets is not particularly safe unless very strict
security precautions are undertaken during their initial preparation and subsequent
storage.

Learn more: https://bitcoin.org/en/choose-your-wallet

No software is perfect and from time to time there may be security vulnerabilities
found in your Bitcoin client as well. Be sure to keep your client updated with the
latest bug fixes, especially when a new vulnerability is discovered.

Hierarchical Deterministic Wallets (BIP0032)



Hierarchical Deterministic Wallets (HD) is a wallet type described in BIP0032 in
which the private key is determined from a random 128 bit value seed of presented
to the user as a 12 word mnemonic using common English words.

Learn more: https://en.bitcoin.it/wiki/Deterministic_wallet

Passphrase-protected private key (BIP0038)


BIP0038 covers a method for encrypting a private key via a password. Encrypted
private key records are intended for use on back-ups, paper wallets and other
offline or long-term storage solutions.
Learn more: https://github.com/bitcoin/bips/blob/master/bip-
0038.mediawiki

Back-up
Just like any important information stored on your computer, it is imperative to
back-up your wallet files. You can do this in most wallet software by either creating
a digital or paper back-up. It is always a good idea to create your back-up via a
BIP0038 compliant method with a strong password. Ensure that you store your
back-up in a safe location, whether that is on an external hard drive or in a safety
deposit box (or both).
Some clients (such as Bitcoin Core) have known issues with change addresses and
back-up files, so make sure to back-up your wallet again after every 90-100
transactions as needed. Generally, HD wallets do not have this issue.
Learn more: https://en.bitcoin.it/wiki/Securing_your_wallet
Learn more: https://bitcoin.org/en/secure-your-wallet

21

Bitcoin In Commerce
Using Bitcoin as a Merchant
Bitcoin puts the power of financial transactions into the hands of the merchant, no
longer requiring them to rely on overpriced and unnecessary bank solutions, nor
the necessity to gain permission from traditional payment processors. Accepting
bitcoin as a merchant can be as simple as having customers send payment directly
to a Bitcoin address of your choice.
Merchant howto: https://en.bitcoin.it/wiki/Merchant_Howto

Bitcoin Payment Processors


Over the last several years payment processing, point-of-sale solutions and e-
commerce plugins have become available that can generate invoices, track sales,
process transactions off the blockchain network and even automatically convert
bitcoin to the currency of your choice.
List of services: https://en.bitcoin.it/wiki/Merchant_Howto#Services

Payment Protocol (BIP0070)


BIP0070, Bitcoin Payment Protocol, adds several new features to enable processing
bitcoin payments directly between a merchants server and a customers wallet. It
can also add human readable payment destinations rather than a standard bitcoin
address which can be difficult to copy and verify; secure proof of payment which can
be used if there is a dispute; receipts; memos; refund addresses and payment
received messages so the customer knows immediately that the merchant has
received and has processed (or is processing) their payment.

Learn more: https://github.com/bitcoin/bips/blob/master/bip-


0070.mediawiki

22

About the Author



Terry Woltman is Founder and CEO of BitcoinATM
sales and service company BitcoinATM360. He has
been involved in Bitcoin since October 2013 and has
worked on several Bitcoin related projects, such as
Philippines Bitcoin portal ManilaBitcoin.com and his
latest project, RideTheBubble.com, a site of
consolidated Bitcoin news, information and
resources. Previous to his work in Bitcoin, he
worked on next generation wireless networks,
building the first national 4G deployment in the
United States.


Terry received his CryptoCurrency Certification Consortium - Certified Bitcoin
Professional (CBP) certification in January 2015: #0d7893

To contact the author: http://ridethebubble.com/members/terry/

This guide, and any future updates are available at:
http://ridethebubble.com/downloads/

If you have found this guide helpful, you can donate $5 here:

1LfexEtQx2RcSPU5eH5SqwFFGkiAtxvjnc

23

Glossary


For terms, see: http://ridethebubble.com/glossary/

Additional Resources


CryptoCurrency Certification Consortium Certified Bitcoin Professional
https://cryptoconsortium.org/certifications/CBP

Mastering Bitcoin by Andreas M. Antonopoulos
http://shop.oreilly.com/product/0636920032281.do
https://github.com/aantonop/bitcoinbook/blob/develop/ch01.asciidoc

Bitcoin Wiki
https://en.bitcoin.it/wiki/Main_Page

Bitcointalk forum

https://bitcointalk.org/

Coindesk

http://coindesk.com/

Bitcoin: A Peer-to-Peer Electronic Cash System, Satoshi Nakamoto

https://bitcoin.org/bitcoin.pdf

Bitcoin Core (Bitcoin-Qt) download
https://bitcoin.org/en/download

Find Bitcoin meetups
http://bitcoin.meetup.com/

Princeton University: BTC-Tech: Bitcoin and Cryptocurrency Technologies
https://piazza.com/princeton/spring2015/btctech/resources

Bitcoin Protocol documentation

https://en.bitcoin.it/wiki/Protocol_documentation


24