Learning Bitcoin - Sample Chapter

Download as pdf or txt
Download as pdf or txt
You are on page 1of 31

Fr

ee

This book arms you with immense knowledge of Bitcoin to


help you get started in the new world of crypto-currency
finance.
We first walk through the fundamentals of Bitcoin and
explain how to interact with this new technology by setting
up an online Bitcoin wallet. You will quickly be able to
indulge in buying and selling of bitcoins while safely
keeping them in offline storage. We then get to grips
with Bitcoin's powerful algorithm, the Blockchain, and learn
how crypto-currencies can reduce the risk of fraud for
e-commerce merchants and consumers.
With a solid understanding of the Blockchain, you will
execute your own custom transactions and protect your
bitcoins with the help of effective solutions provided. Packed
with plenty of screenshots, Learning Bitcoin is a simple and
painless guide to working with Bitcoin.

Who this book is written for

Set up your wallet and buy bitcoins in a


flash while understanding the basics of
how transactions work
Acquire the knack of buying, selling, and
trading bitcoins with online exchanges

P U B L I S H I N G

Understand how Bitcoin's underlying


technology, the Blockchain, works with
simple illustrations and explanations
Configure your own Bitcoin node and
execute common operations on the network

C o m m u n i t y

E x p e r i e n c e

D i s t i l l e d

Discover various aspects of mining bitcoins


and how to set up your own mining rig
Dive deeper into Bitcoin and write scripts and
multi-signature transactions over the network
Explore the various types of alt-coins and
get to know how to compare them and
their values

$ 44.99 US
28.99 UK

community experience distilled

pl

Secure and protect your bitcoins from online


theft using Brainwallets and cold storage

Richard Caetano

If you are familiar with online banking and want to expand


your finances into a resilient and transparent currency, this
book is ideal for you. A basic understanding of online banking
and the Internet will be highly beneficial for unraveling the
mysteries of Bitcoin.

What you will learn from this book

Learning Bitcoin

Learning Bitcoin

Sa
m

Learning Bitcoin
Embrace the new world of finance by leveraging the power of
crypto-currencies using Bitcoin and the Blockchain

Prices do not include


local sales tax or VAT
where applicable

Visit www.PacktPub.com for books, eBooks,


code, downloads, and PacktLib.

Richard Caetano

In this package, you will find:

The author biography


A preview chapter from the book, Chapter 1 'Setting up a Wallet'
A synopsis of the books content
More information on Learning Bitcoin

About the Author


Richard Caetano is an entrepreneur and software developer living in Paris,

France, and was originally raised on a dairy farm in the middle of California. He
discovered a strong interest in software development at an early age. Over the
years, he has designed and developed systems ranging from agriculture process
automation and government accounting to high-tech security, digital music, and
mobile video games.
In 2011, Richard found the Bitcoin whitepaper and experienced a paradigm shift.
After realizing the potential of this new technology, he changed course, and since
then has been evangelizing this powerful new technology to the world.
He launched an early application called btcReport, which leverages good design to
bring news and information to those interested in Bitcoin. Since then, he has been
speaking at conferences and meetings to help spread the word about Bitcoin.
In 2015, he launched Stratumn, a company focused on helping developers build
transparent, easy-to-audit, and secure applications by using the blockchain,
the technology that powers the Bitcoin currency.

Preface
Bitcoin is truly a new kind of money. As an open network of computers, it exists
purely on the Internet. Anyone with access to the Internet can send and receive
money as easily as sending an e-mail. With this new form of digital cash, we are
seeing the beginning of a new world of finance.
Bitcoin was launched in January 2009, just a few months after the financial crisis
of 2008. As a true peer-to-peer currency, anyone in the world has access to bitcoin,
with the ability to send it to anyone else. Its design insures that nobody can have
their funds locked or taken away. The effects of this breakthrough currency are quite
impressive. We have already seen the currency rise in price from less than one US
cent to over a thousand dollars.
Since its launch, Bitcoin has challenged the mainstream view of finance. Originally
designed as Digital Gold, Bitcoin's scarce supply and resistance to manipulation
has resulted in an explosion of new ideas and projects with the strong potential to
disrupt major industries and revolutionize finance.
Its anonymous creator, Satoshi Nakamoto, is only known through his contributions,
namely the Bitcoin whitepaper and his initial forum posts to help guide core
developers to support and maintain the source code. While nobody can confirm his
identity, the value of his work is evident in the fact that the Bitcoin source code has
been tested and challenged without any serious bugs or exploits reported. This is
truly an amazing feat.
In this book, we will introduce Bitcoin with a hands-on approach. We will begin
with a simple and easy-to-follow introduction, which includes buying and selling
bitcoin. Throughout the middle, we will look into the internal workings of Bitcoin
to understand how its various pieces work. Towards the end, we will explore
various ways in which Bitcoin can be used as "programmable money".

Preface

What this book covers


Chapter 1, Setting Up a Wallet, introduces the reader to Bitcoin and how to purchase
some within 15 minutes. It covers the basics of Bitcoin, which includes addresses,
keys, and wallets.
Chapter 2, Buying and Selling Bitcoins, covers more advanced ways of buying and
selling bitcoin. Market trading and the tools involved are introduced.
Chapter 3, Protecting Your Bitcoins, educates you about how to become your own bank.
Different approaches to safeguarding bitcoin are introduced and discussed.
Chapter 4, Understanding the Blockchain, gets into the nuts and bolts of Bitcoin's
underlying technology. Its various technologies and algorithms are illustrated
and explained.
Chapter 5, Installing a Bitcoin Node, is a step-by-step tutorial on setting up
a Bitcoin node, which allows you to participate in the network. Some basic
Bitcoin programming is introduced.
Chapter 6, Understanding the Mining Process, guides you through the various options
available for mining bitcoin. The chapter focuses on the expenses involved and
helps you to evaluate profitability.
Chapter 7, Programming Bitcoin, dives into the potential of Bitcoin as "programmable
money". The chapter describes an example of how to build a simple Bitcoin escrow
service using JavaScript.
Chapter 8, Exploring Alternative Coins, takes a tour around four innovative alternative
coins based on Bitcoin's original source code. It ends with an example of how to set
up a voting ballot secured by cryptographic proof.

Setting up a Wallet
"When bitcoin currency is converted from currency into cash, that interface has to
remain under some regulatory safeguards. I think the fact that within the bitcoin
universe an algorithm replaces the functions of the government [that] is actually
pretty cool."
Al Gore, former Vice President of the United States
Bitcoin's potential is quickly becoming apparent in the rapidly changing world
of Internet finance. In just the few short years since its launch, we have seen an
explosion of interest in this new, and somewhat mysterious, Internet money. Yet,
several questions quickly come to mind: How does it work? Where does it come
from? How do I buy it?
In this chapter, we will illustrate, in simple terms, most of what anyone new to
Bitcoin will need to know to start. We will start by covering the following core topics:

Buying your first bitcoin, in 15 minutes

Explaining Bitcoin addresses

Sending and receiving

Private keys and wallets

Transactions and confirmations

Comparing Bitcoin wallets

[1]

Setting up a Wallet

A brief history of money


Humans have been trading various forms of money for thousands of years. Many
types of precious objects, acting as a Medium of Exchange, have been used. In the early
ages, we traded grain, cattle, shells, and gems for other goods and services. This type
of money, which we can touch and see, can be considered Physical Money.
As civilization progressed, so did our political systems. Eventually, sparse tribes
and villages consolidated into kingdoms, states, and empires. Through the
transformation, we saw our money shift into Political Money; money that's governed
and issued by a central body such as the King, Emperor or, as in today's society, a
Central Bank. State issued coins, bills, and notes, as well as taxation, regulation, and
monetary policyall emerged from this shift.
Today, Internet technology connects us directly to each other, opening a vast range
of possibilities. By dissolving pre-existing physical and political boundaries, for the
first time in history, the entire planet has access to the same information. This level
of access is guaranteed by the Internet's decentralized design. Without a centralized
hub, there is no single point of failure or control.
Satoshi Nakamoto, the creator of Bitcoin, leveraged this powerful network to
implement a peer-to-peer (P2P) system for exchanging virtual cash. Built on a
decentralized design and protected by powerful cryptography, this new type of
money is no longer physical, yet resilient against corruption and manipulation.
No single group of individuals, including governments, banks, and corporations,
control Bitcoin because all the peers are equal actors, participating through the same
protocol. Its monetary policy is defined and self-regulated by its open network of
computers. Thus, with Bitcoin we're seeing the emergence of a new phase of money.
This P2P money is called cryptographic money or simply Crypto-Currency.
We're going to start exploring the world of Bitcoin by purchasing a small amount.

Buying your first bitcoin in 15 minutes


Buying bitcoin is similar to buying foreign currencies. When an American lands in
Paris, the fist thing he/she may need to do is exchange dollars for Euros. While at
the airport, it's likely he/she will be able to fid a currency exchange to help. Just as
there are many exchanges for exchanging government currencies, there are many
exchanges for exchanging bitcoins.

[2]

Chapter 1

Today there are markets for exchanging bitcoin with most of the world's major
currencies. Most of them are online markets through which you can connect your
bank account or credit card. There are some markets where the buyer and seller meet
in person to exchange by hand. For the more technical users, private markets exist
on chat forums where anonymous users trade with the other users based on their
online reputation.
Of all the diverse ways to buy bitcoin, using a reputable online exchange may be
the likely option for most users. Online exchanges generally operate similar to
conventional online banking systems and are easy to set up.
We're going to buy 25 dollars worth of bitcoin using a credit card with an online
exchange called Circle. In 2013, Circle was launched by a team competent in
technology and finance. Additionally, they are registered as a money transmitter with
FinCEN, a US government agency responsible for safeguarding the financial system
from illicit use. For US citizens, they offer an instant exchange with a user-friendly
wallet service. To buy bitcoins with Circle, you'll need the following:

Valid photo ID

A US home or business address

A US bank account or credit card

An iOS or Android smartphone

15 Minutes of free time

Buying and selling bitcoin on Circle is only available to users with a US address. As a
registered money transmitter, Circle must follow standard banking practices such as
Know your customer (KYC) and anti-money laundering laws (AML). These are the
requirements to accept bank transfers from the US banking system.
Most European and Canadian customers can use Coinbase (http://coinbase.com)
for direct wire transfers. We'll discuss buying and selling with Coinbase later
in Chapter 2, Buying and Selling Bitcoins.
What's important to remember about Bitcoin is that the currency exists
independently of any government's requirement for an individual's identity. Bitcoins
can be exchanged with cash, hand-to-hand, thus by passing the registration process
that we will describe in this chapter.
There are services such as Local Bitcoins (http://localbitcoins.com) where
the users can buy and sell Bitcoin through direct exchange with the other users.
While it is generally safe to do so, some users may be at risk from local regulations.
It is important to research the local currency laws before transacting through these
services, especially with large amount of cash.
[3]

Setting up a Wallet

Signing up for a wallet five minutes


To begin the signup process, open http://circle.com in your web browser and
follow the SIGN UP links. You will be prompted to enter your First Name, your
name, your Email address, and a password. After submitting your details, Circle will
send you an e-mail verification. Simply follow the instructions provided. If you don't
receive the email, check the spam folder of the email address you provided.
After verifying your email address, you'll be asked to enable two-factor authentication
using your mobile phone. This security system uses a code sent via SMS or through
Google Authenticator to allow access to your account and confirm irreversible
actions, such as sending bitcoin. This helps make your account more secure by
combining your password with something you physically hold, that is, your phone.
Finally, Circle will prompt you to provide two security questions. In case you lose
your password, these questions will be asked before you can reset it.

Figure 1.1 - Sign up with Circle to purchase bitcoin

[4]

Chapter 1

Adding a funding source ten minutes


To purchase bitcoin, Circle requires a funding source. You can link a US bank
account or a credit card. For this purpose, we will choose the credit card option
as it's the quickest to set up.
To meet Circle's KYC requirements, you'll need to submit a personal
photo plus a scanned copy of your driver's license or passport.

1. On the ACCOUNT page, which should show your balance as zero, click on
the Add Funds button.
Circle will prompt you to verify your mailing address along with your birth
date and the last four digits of your social security number. This information
is used to help verify your identification.
2. Next, Circle will ask you to install their mobile application (available for iOS
or Android). Using their mobile app, you'll be prompted to take a picture
of yourself and your photo ID. Ensure that you arrange for proper lighting
so that the image clearly shows the details of each digit. Once submitted, a
confirmation will be given within a few minutes.
3. If the app doesn't prompt you to verify your photo ID, you can manually
upload the images. Open the mobile app under the Account table and
click on the Settings icon. Under the Settings, click on Link Accounts. By
following the instructions, you'll be prompted to upload the photos of your
documents and credit card.
At any stage, if you're experiencing issues, Circle offers support through
online messaging. It also has toll free phone support for urgent issues.

[5]

Setting up a Wallet

4. After your identification has been verified, you're ready to add your credit
card as a funding source. Return to your Circle account page and click on
Add Funds. Circle will prompt you to enter your credit card information
and will save it for future use.

Figure 1.2 - Adding a credit card as a funding source

Buying bitcoin less than a minute


Once added, you're ready to buy bitcoin! Simply enter a dollar amount ($25 for
our example), and review the bitcoin amount. You can preview and confirm any
additional fees or charges below. Accepting the order will initiate an instant
deposit to your online bitcoin wallet.

[6]

Chapter 1

Figure 1.3 - Buy bitcoin instantly with Circle

Looking at your Bitcoin balance


On your Circle account page, you can find the exact bitcoin balance under your
dollar balance, as shown in the following figure:

Figure 1.4 - Your Bitcoin account and balance

[7]

Setting up a Wallet

Also indicated on your account page, under the balance, is the current USD to BTC
exchange rate for Circle. The exchange rate can vary between services, depending
on the supply and demand.
Also, in Figure 1.4, you can see that our account balance is currently $25.05, slightly
higher that what we first purchased - $25.00 worth of bitcoin. This is due to a real
time change in the exchange rate.
IMPORTANT
ONLY exchange money that's at your disposal. Bitcoin exchange
rates can be quite volatile.

Bitcoin amounts are usually noted with the abbreviation BTC. This is similar to
other currencies, such as USD and EUR. There are a few other symbols generally
accepted by the Bitcoin community. Listed in the following table are the two most
common ones:
First symbol used. Was released by early adopters and is available as an
image. Only available as an image or through Font-Awesome.

Proposed by the community as an improvement to the original Bitcoin


logo. Available on most devices as a standard Unicode character.
Table 1 - Bitcoin currency logos

When expressing bitcoin amounts in plain text, using BTC is the easiest
to type and universally accepted. However, if you would like to use the
single character, check out Bitcoin Symbol (http://bitcoinsymbol.
org) for more information on how to access the symbol.

On the account page shown in Figure 1.3, the exact Bitcoin balance account is
presented as a decimal number:
0.10110406 BTC
Bitcoin amounts can have up to eight digits of precision. While every Bitcoin wallet
must account for each digit of precision, the minimum amount that you can send
may vary. Circle's minimum send amount is 0.00005460 BTC which is current with
the amount proposed by the Bitcoin community.

[8]

Chapter 1

Bitcoin units follow the standard metric system. The following prefixes can be used
when expressing Bitcoin amounts:
Unit

Abbreviation

Decimal

bitcoin

BTC

1.0

bitcent or centi-bitcoin

cBTC

0.01

millibit or milli-bitcoin

mBTC

0.001

bit or micro-bitcoin

BTC

0.000001

satoshi

0.00000001

Table 2 - Bitcoin abbreviations and units

Referring to the preceding table, you can write 0.44234 BTC as 442.34 mBTC. Some
services and exchanges have adopted this format to make your account balance
easier to read. Because amounts listed in whole numbers are generally easier to hold
in one's mind, displaying the amounts in mBTC can be ideal. A cup of coffee at the
time of this writing costs around 10mBTC.
The smallest unit of bitcoin, 0.00000001 BTC, is called a Satoshi, named
after the developer of Bitcoin, Satoshi Nakamoto.

Some wallets allow you to change the unit of bitcoin presented in settings. This may
make accounting and calculations easier, depending on your use case, especially if
the exchange rate has many decimal places.
The accepted convention is to use Bitcoin (uppercase B) to refer to the
technology and community, and bitcoin (lowercase) for the currency.
Do you have a Bitcoin wallet? I will send you 2.5 bitcoin.

Explaining Bitcoin addresses


Similar to an email address, a Bitcoin address, or simply address, is used to receive
and hold bitcoin. While people typically have one primary email address, Bitcoin
users have many addresses. They are created at no cost by your Bitcoin wallet each
time you request to receive money. Anyone with access to a Bitcoin wallet can create
an unlimited number of addresses.

[9]

Setting up a Wallet

Bitcoin addresses usually have 26-35 characters and are case sensitive, as in the
following example:
1MgErLiH1DuGMrd58fuL4CLQHc4VSboqKn
The address can contain numbers and letters, both uppercase and lowercase. To help
reduce confusion, there are no capital O's, zeros 0's, lower case l's, and capital 'I's'.
These characters are removed to reduce the errors made from writing with pen and
paper, as often encountered in the past. The result is a format that is easy to share
digitally and/or physically.
Bitcoin addresses have an error-checking code called a checksum. Computing the
checksum of an address will detect if any single character is incorrect. This helps to
prevent errors when sharing your address. Most wallets will validate and reject an
invalid address. As an example, note the following two addresses:

Valid Bitcoin address:


1MgErLiH1DuGMrd58fuL4CLQHc4VSboqKn

Invalid Bitcoin address:


1MgErLiH1DuGMrd58fuL4CLQHc4VSboqKN

They both appear valid, yet the second address does not compute a valid checksum.
They are nearly identical except for the uppercase N at the end of the second address.
Checksums have been used in finance for many years. All credit card
numbers have a built in checksum digit, specific to the issuing bank.

Your Bitcoin wallet will typically hold many Bitcoin addresses. It's important to
know that a single Bitcoin address is not a wallet nor is it your account; rather, it's
simply a way to receive money.

Sending and receiving bitcoins


Your wallet's total spendable balance is a combination of the balances from all the
Bitcoin addresses listed in the wallet. When spending bitcoins, the wallet is able
to combine the balances of multiple addresses into one transaction.

[ 10 ]

Chapter 1

It is important to note that Bitcoin was designed for its users to hold and
manage their own keys. This makes it virtually impossible for another
party to block, steal, or confiscate their money.
Intended as a gentle introduction to Bitcoin, this chapter introduces a
centralized service, Circle, to help one get started with Bitcoin.
Circle's wallet service simplifies using Bitcoin by managing the addresses
and private keys for you. This results in a clean online banking-like
experience. However, it's important to realize that there is no requirement
to use a service like Circle to store your bitcoins.
Later in the book, we will discuss how to manage your own wallet.

Sending bitcoins
From your Circle account, simply click the SEND MONEY link from the menu
above to access the send options. Circle offers two ways to send bitcoin. You can
either send it to a Bitcoin address or an email address.
If you are sending it to an email address, Circle will check to see if the address has
a valid account registered to it and make an instant deposit into that user's wallet.
If the receiver is not registered, an invitation will be sent with instructions on how
to set up an account.

Figure 1.5 - Send bitcoin from your Circle account

[ 11 ]

Setting up a Wallet

In the To field, simply enter the Bitcoin address or the email address of the user
you'd like to pay. For the amount, you can specify either USD or BTC. If you enter
an amount in USD, Circle will automatically calculate the exchange rate. Optionally,
you can provide a memo to describe your transaction.

Figure 1.6 - Circle sending a confirmation

Continuing to the next step, Circle will prompt you to enter your two-factor
authentication code. This code will be sent to your mobile phone. Using this
two-factor authentication helps protect your wallet from unauthorized access.
Once submitted, your transaction will be recorded instantly.
For payments between two Circle users, the transaction will be confirmed
immediately. Circle maintains an internal ledger and will record the transaction
off the Bitcoin network.

[ 12 ]

Chapter 1

Circle to Circle payments are called off-chain payments. Chain in this case
refers to the Blockchain, the data structure used to store all the Bitcoin
transactions. Off-chain means that a payment was recorded outside the
Blockchain, using a private ledger.

For payments sent to a Bitcoin address, there will be a short period of time before
the transaction is confirmed and accepted by the network. Generally, this takes
about 10 minutes, but it can vary depending on the network's computing power.
You can review all your payments by clicking TRANSACTIONS from the
main menu.

Figure 1.7 - Circle's account transactions page

[ 13 ]

Setting up a Wallet

Receiving bitcoins
Circle provides two ways to receive bitcoin. Similar to sending bitcoin, you can send
a request via email or share your Bitcoin address.
To start, click the REQUEST MONEY link from the main menu above. You'll be
prompted to create a request:

Figure 1.8 - Requesting money

If you submit an email address, the recipient will receive an email providing them
with instructions on how to pay. They will be given the following options:

Sign into their Circle account and pay

Open a new Circle account, fund it, and pay

Pay with another service using a Bitcoin address

[ 14 ]

Chapter 1

If you select the option to Create an address and QR code, Circle will generate a new
Bitcoin address for you and present a QR code to scan. You can either copy/paste
the address and share it with the sender, or allow them to scan the QR using
a mobile device.

Figure 1.9 - Requesting money using a QR code

Private keys and wallets


While Bitcoin addresses appear to be a string of random numbers, they are actually
computed from a private key. Private keys are long strings of random characters
generated by your Bitcoin wallet software. There can only be one address generated
from your private key, thus your private key is both the seed and password to your
Bitcoin address.
IMPORTANT
The private keys are normally hidden by your Bitcoin wallet, but they can
be occasionally printed on paper as a physical backup. They should never
be shared publicly as they control access to your funds.

[ 15 ]

Setting up a Wallet

Bitcoin private keys generally contain 51 characters and start with a 5, such as in the
following example:
5Jd54v5mVLvyRsjDGTFbTZFGvwLosYKayRosbLYMxZFBLfEpCS7
Similar to your pocket wallet with credit cards, your Bitcoin wallet is a collection of
addresses and private keys. Each address is used to receive and hold bitcoin.
Bitcoin Address

Bitcoin Amount

Private Key
12yuztN6Ci1p3h334YSKDFWWuexRtGu1f6
5KgtRmuFSgqcjhiE4TLD1pPFvKVLbmfjyavrBwnGV5eW8eRgoKM

3.14000000

1L3cM9UTdEtKVp5nMjgvdNr5wNyBon8kzB
5HrfH1Za4kNEZFmhMe3LKwbztAScAGFkiGZqpq5aGigwX8vsSAh

0.22340000

1EKMiayzXDbLFRVCiMZowewnHNvgWEet16
5HrfH1Za4kNEZFmhMe3LKwbztAScAGFkiGZqpq5aGigwX8vsSAh

1.22395800

1JWk1RG6hgbHCTv85eXvHWjCfebN64PHwV
5JzquBknRfsyiynxjCSho4AWBfuT3nd5LfZxT9VRoq5NCsRcedd

0.00398840

Total wallet balance:

4.59134640
Table 3 - Bitcoin addresses and private keys

In the preceding table, we can see how the balance in a typical wallet is composed
of multiple Bitcoin addresses (in bold) with their corresponding private keys. Each
address holds a balance that can be combined for a payout.
While most Bitcoin software holding your bitcoin are called wallets, they are
technically keychains. Keychains are designed to manage and protect your Bitcoin
keys. The term wallet is a convention carried over from Bitcoin legacy software.
IMPORTANT
It is not possible to recover lost private keys. If you choose to manage
your own private keys, be sure that you're able to backup and restore
them.
Due to the risk of loss, it should also be mentioned that online wallets
are subject to the same risks. Without proper security and procedures,
some online wallets have been hacked, resulting in losses.
Therefore, it is advisable to choose online services that have a good
reputation and offer insurance against loss. Circle and Coinbase,
mentioned later in the book, both carry insurance to help protect their
customers from fraud and theft.

[ 16 ]

Chapter 1

Reputable online wallets take the necessary precautions to protect your private keys.
Most online wallets use a technique called Cold storage. Holding private keys in
cold storage means that your keys are physically stored offline in a vault. Access to
the vault is required to interact with the keys.
Additionally, multi-signature addresses are used to protect the coins in cold storage.
Typically, an address will require one key to transfer its bitcoins. Multi-signature
addresses usually require two or more keys to sign a transfer. With cold-storage,
there will often be a two of three requirement so that no one employee has full
access to the funds.
Private keys are generated from large amounts of random data, called entropy in
computer science, and are very difficult to crack. With all the computing power
available today, it is not possible to find the private key of a Bitcoin address using
brute force methods. Even if computing power were to exponentially increase to the
point where that's possible, the Bitcoin software can be upgraded to include new
cryptographic methods to match.

Transactions and confirmations


The Bitcoin network is essentially a public ledger that's able to record and validate
millions of transactions. Transactions validated by the network are irreversible and
impossible to change or alter. In this section, we're going to look at two core aspects
of the network: transactions and confirmations.

Transactions
A Bitcoin transaction is a record of a transfer between two or more bitcoin addresses.
Similar to a credit or debit on your bank statement, the transaction records the
sender, the receiver, and a date/time stamp.
All Bitcoin transactions are publicly accessible. However, the user's identify is never
stored. Similar to a Swiss Bank account, only their public addresses are recorded.
This makes it difficult to trace the address back to its owner. Therefore, we say that
Bitcoin is pseudonymous.

[ 17 ]

Setting up a Wallet

Bitcoin has been used to fund illegal online markets, such as the Silk
Road, with a special internet protocol call Tor. Using Tor allows the users
to hide their computers' IP addresses, making it difficult to discover their
physical location.
Using Tor, the users are able to place orders for illegal items. With
payments made in Bitcoin and the shipping addresses encrypted, it is
very difficult to link customers with their orders.
While Bitcoin's design hides the owner of an address, if an identity can
be associated with a previous transaction, it can be possible to link a
purchase with a user.

More flexible than a simple bank transfer, a Bitcoin transaction can withdraw from
multiple addresses to pay a list of addresses. The transaction records every address
used and must account for the full balance. Any unspent bitcoin must be sent back to
a "change address". It works like paying for an item that costs 12 dollars with two 10
dollar bills. The merchant accepts the two bills and returns 8 dollars in change.

Figure 1.10 - Bitcoin transaction with change address

[ 18 ]

Chapter 1

In Figure 1.10, we show a starting balance of 5BTC between two addresses in our
bitcoin wallet. We then send 4BTC to the receiver. To account for the full balance, the
transaction returns 1BTC to our change address. After the transaction, the two funding
addresses will contain 0BTC each.
The change address is optional as we can reuse an existing bitcoin address. However,
most wallets create a new address as it's recommended to increase your privacy.
Before sending a transaction to the Bitcoin network for confirmation, it must be
signed with the private keys of the input addresses listed. Similar to your bank
requiring your signature on a check, the Bitcoin network requires you to sign
your transaction before confirming it.

Figure 1.11 -A transaction with a digital signature

[ 19 ]

Setting up a Wallet

Bitcoin uses a digital signature to sign your transaction. The signature can only be
generated by the holder of the private key. Illustrated in Figure 1.9, we can see how
this signature is created and stored in the transaction.
The digital signature is used by the network to verify that the transaction was
created by someone who has access to the private key. Without this verification,
the transaction would be rejected from the public ledger.
The process of computing the digital signature is handled automatically by your
Bitcoin wallet. The digitally signed transaction is now ready for confirmation by the
network. We will discuss digital signatures in detail later in Chapter 4, Understanding
the Blockchain.
Bitcoin wallet software is designed to handle the complexities
of sending/receiving bitcoin. The example is given here to help
deepen our understanding of how transactions work.

Confirmations
After it's digitally signed, the transaction is broadcasted to the Bitcoin network and
reviewed by many nodes on the network. Each node is essentially a computer with a
copy of the ledger, with access to all the transactions since the beginning. The node's
job is to listen for new transactions and relay them to the other nodes on the network.
Some nodes serve as miners. Miners perform computational work to ensure that
each transaction is valid that it does not double the, or spend more than the available.
Each miner must then prove the results to the other miners. Any discrepancies will
cause the network to reject a miner's results.
Miners have a financial incentive to do this work. Along with
confirming the transactions, there is a cryptographic puzzle to
solve. If the miner can prove their solution, they are awarded new
Bitcoins and/or transaction fees. The solution to the puzzle is
called proof-of-work.

This process is what makes the Bitcoin network both resilient and trustworthy. The
larger the network of miners with consensus, the more we can trust the validity of
the ledger. This is how Satoshi was able to design a network for exchanging virtual
cash without a single point of control or failure.

[ 20 ]

Chapter 1

Unconfirmed transactions start with zero confirmations. When a miner's work


is accepted by the network, the number of confirmations for each transaction is
incremented by one. Confirmations are generally accepted every 10 minutes
but can vary depending on the various computational aspects of the network.
As more miners confirm the results of the previous miners, the number of
confirmations for your transaction continues to increase. After some time, your
transaction can have hundreds or even thousands of confirmations. With such a large
number of confirmations, you can be assured that your transaction cannot be reversed.
The more confirmations your transaction has, the more difficult it is to
break, or hack. Mathematically speaking, a total of six confirmations is
accepted as unchangeable but as few as one confirmation is sufficient for
most small transactions.

The Bitcoin network is a very powerful network, especially when there is a large
number of miners working together to validate and confirm the transactions on
a public ledger. The entire ledger is copied by new miners joining the network.
Transactions confirmed by an increasing number of miners results in more trust
in the network. This design creates redundancy to guard against transaction fraud.
Once a transaction is confirmed in the ledger, it cannot be deleted or changed.
Now that we have a basic understanding of how Bitcoin works, let's look at some
wallet services and compare their differences.

Comparing Bitcoin wallets


We have been using Circle as an online wallet to help make the introduction to
Bitcoin gentler and safer. Yet there are other options we can use for sending and
receiving Bitcoin. Each option has its advantages and disadvantages. Let's briefly
discuss them now.

Online wallets
Services such as Circle are called online wallets. Online wallets are web-based services
that manage and store a small amount of your Bitcoins on a public web server.
The rest are stored offline in a physical vault. They generally have the following
characteristics:

Available through a web browser or mobile application

Create and store your private keys online

Offer the option to send/receive via email address


[ 21 ]

Setting up a Wallet

Have a built-in exchange to buy/sell bitcoin

Offer quick and easy account signup

Can be secured via two-factor authentication

May offer insurance for loss of coins

While these are nice features to offer the public, some of the more proficient users are
not in favor of having an organization control their funds.
In the past, some exchanges have suffered security breaches. While some of the
services were able to cover the losses, others were not solvent and were unable to
reimburse its users. That resulted in many users losing their funds.
When choosing an online wallet, be sure to do your research on the company,
the team, and its history.
Service

Description

Circle

Great user experience, offers insurance and mobile


application

http://circle.com
Coinbase
http://coinbase.com
Xapo
http://xapo.com
CoinKite

Offers many additional features, merchant tools, a mobile


app, and full exchange
Great user experience, strong offline storage, and Bitcoin
debit card

http://coinkite.com

Online wallet with a Bitcoin payment terminal and debit


card

ANXPro

Online wallet, offers debit card in USD/EUR/GBP

http://anxpro.com
Table 3 - Online wallets

Desktop wallets
For users who would like more control over their bitcoin, desktop wallets may be a
better choice than online wallets.
Desktop wallets are applications that run on your computer and connect directly
to the Bitcoin network. Having the application installed locally gives the users full
control of their Bitcoin wallet and their private keys.
Some desktop wallets, such as Bitcoin Core, download a full copy of the Bitcoin
ledger to disk. This can require more than 10 gigabytes of local storage and can
take a couple of days to download and verify.
[ 22 ]

Chapter 1

More efficient desktop wallets, called lightweight clients, connect to an online copy of
the ledger. This reduces the storage requirements and the setup time. In most cases,
your wallet can be ready within a few minutes.
The risk of using a desktop wallet includes hardware failures, computer viruses,
and unauthorized access. Before accepting any Bitcoin to your desktop wallet, you
should be familiar with the backup and restore process, and you must ensure that
your computer is safe from malicious attacks.
For more advanced users, many desktop wallets offer a console where they can
interact with their wallet by issuing commands. Users can generate various kinds
of transactions and directly manipulate their list of private keys and addresses.
Service

Description

MulitBit

Lightweight client, easy to set up for non-technical users.

http://multibit.org
Bitcoin/QT
https://bitcoin.org
Electrum

Official Bitcoin desktop wallet. Downloads a full copy of


the Bitcoin ledger. Discussed later in the book.

http://electrum.org

Full featured desktop wallet. Synchronizes with an online


service for quick ledger setup.

Armory

Offers advanced features such as cold storage.

https://bitcoinarmory.
com
Table 4 - Desktop wallets

In Chapter 5, Installing a Bitcoin Node, we'll explain how to safely use and configure
Bitcoin Core, the official Bitcoin client, as a desktop wallet.

Mobile wallets
Having access from your mobile phone is a practical way to carry and spend bitcoins
on the go. Most of the online services mentioned previously have applications
available for download on the iPhone and Android app stores. Because the Bitcoin
keys are stored and managed on servers, your account is protected by your
username and password.
To increase the security of bitcoins stored on a mobile device, make sure
to setup a PIN code for unlocking the phone.

[ 23 ]

Setting up a Wallet

It's also worth mentioning that there are independent mobile wallets that store access
to the keys on the phone. Because storing the private keys on your phone can be
risky, in the event it's lost or stolen, the wallets offer a way to protect your bitcoin
with 24 words that are randomly chosen. You will be able to restore your wallet,
if lost, using the passphrase.
Service

Description

Breadwallet

Well designed standalone mobile wallet and open


source.

http://breadwallet.com
Coinomi
https://coinomi.com
Mycelium
https://mycelium.com

A lightweight wallet that supports multiple languages,


alt-currency exchanges, and is open sourced.
Popular mobile wallet for Android. Accompanying
application, Local trader, offers trading bitcoins
hand-to-hand.
Table 5 - Mobile wallets

Hardware wallets
As one of the most secure options, hardware wallets store and encrypt your private
keys on removable USB devices. Because the keys are never copied to your computer
or made available online, it makes it extremely difficult to hack.
During setup, the hardware wallet will generate 24 random words, similar to the
mobile wallets, as the password to your bitcoin. Backing up your wallet is as simple
as backing up the list of words. To restore your device, you simply provide the same
set of words during setup.
The two commercially available hardware wallets are Ledger (https://www.
ledgerwallet.com/) and Trezor (www.bitcointrezor.com). They both plug into
your USB port and include a user-friendly interface.
Wallets that use a 24-word passphrase implement a type of keychain,
called a Hierarchical Deterministic Wallet, or HD Wallet. This type
of keychain can produce an unlimited number of private keys and
addresses, just from a master seed which is generated from the 24 random
words. We will cover HD Wallets later in the book.

[ 24 ]

Chapter 1

Summary
In this chapter, we covered some of the basics of getting started with Bitcoin. We
walked through a simple tutorial of how to buy bitcoin instantly and discussed
addresses, private keys, and transactions. With this understanding, you can safely
transact using Bitcoin.
In the next chapter, we will dive deeper into buying and selling. We will cover
how to track prices for various currencies and how to trade bitcoin through an
online exchange.

[ 25 ]

Get more information Learning Bitcoin

Where to buy this book


You can buy Learning Bitcoin from the Packt Publishing website.
Alternatively, you can buy the book from Amazon, BN.com, Computer Manuals and most internet
book retailers.
Click here for ordering and shipping details.

www.PacktPub.com

Stay Connected:

You might also like

pFad - Phonifier reborn

Pfad - The Proxy pFad of © 2024 Garber Painting. All rights reserved.

Note: This service is not intended for secure transactions such as banking, social media, email, or purchasing. Use at your own risk. We assume no liability whatsoever for broken pages.


Alternative Proxies:

Alternative Proxy

pFad Proxy

pFad v3 Proxy

pFad v4 Proxy