Outline - Mastering Bitcoin

Agreement: Anything you add here becomes the property of the author of Mastering Bitcoin, so that it may (or may not) be used in the book.

Contribution Guide: To contribute to the outline of this book, please:

1) Read the whole outline first

2) Highlight a section or heading, use the “Comments” button in the upper right to comment

3) or Add a section, heading or chapter and then highlight it and add a comment to describe your addition.

4) Refresh the table of contents if changed, so others can see it.

Most important feedback

Thanks for contributing or commenting on this outline!

Using bitcoin as a consumer

This chapter introduces bitcoin from the perspective of a consumer. The goal is to show a user how to adopt bitcoin as a working currency for daily transactions, savings and money transfer. This chapter is illustrated at a graphical and workflow level and does not contain code or

Using bitcoin as a merchant

This chapter examines bitcoin from the perspective of a retail merchant who wishes to sell goods or services, priced or paid (or both) in bitcoin. The chapter examines the differences between consumer single-wallet use and merchant-level use of the bitcoin software.

Bitcoin for entrepreneurs

This chapter is presented from the perspective of entrepreneurs who wish to venture in the bitcoin economy. The main focus is on understanding the particular challenges, but also opportunities, introduced by a bitcoin venture vis-a-vis a more traditional software or technology startup. A few different case studies will be referenced from the beginning of the chapter, with detail added as new concepts are introduced. The case studies will be based on existing, successful and long running bitcoin businesses in the US and abroad.

Bitcoin Software Development

This chapter will be examining bitcoin from the perspective of an open-source social-coding

software developer. The chapter will introduce the developer to some of the basic tools of the open-source software world and outline the workflow for contribution and review of code. Developers will see the entire process of community software development (social coding) within the bitcoin project, from a feature idea or bug fix all the way through to code release and code maintenance. This chapter equips a developer with the tools, vocabulary, insight into process and community culture and etiquette to quickly join and contribute to the bitcoin

project. As a side-effect, this chapter also serves as a primer on social coding, distributed version-control systems, project management, continuous integration and quality control as practiced by modern open-source global projects

Bitcoin Security

This chapter looks at the fundamental issue of bitcoin security, from a technology and process perspective. Users of bitcoin will learn about the main risks surrounding a crypto-currency, from the theoretical (but often unlikely), to the practical and commonly used scams, tricks and hacks. Bitcoin is, after all, digital money which enables frictionless, instant,

irreversible and pseudonymous transactions. Why would a thief be interested in bitcoin? Because that's where the money is. Bitcoin theft encompasses in a single transaction the theft (compromise), the fencing (monetization), the money laundering (obfuscation) and the payout (distribution).  All of the advantages of crypto-currencies (frictionless, irreversible etc)

turn into advantages for thieves once compromised. Most importantly, this chapter offers practical, effective and robust security solutions and best practices to defend against the most common threats.

The Future of Bitcoin

This chapter is a forward-looking analysis of bitcoin technology, adoption and social impact. It

Table of Contents

Most important feedback


What is Bitcoin?



Obtaining the bitcoin software

bitcoin-qt, bitcoind

mobile client



History of bitcoin

A brief history of crypto currencies

Public key cryptography and crypto-currency

Peer-to-Peer networks

The history of bitcoin

Why would I use bitcoin

As a merchant

As a consumerDigiCash Inc. was an electronic money corporation founded by David Chaum in 1990. DigiCash transactions were unique in that they were anonymous due to a number of cryptographic protocols developed by its founder.[1] DigiCash declared bankruptcy in 1998, and subsequently sold its assets to Ecash, another digital currency company, which was acquired by InfoSpace on Feb. 19, 2002.

As a developer, integrator

As an entrepreneur

As an investor

The bitcoin community


Bitcoin Wiki

The Bitcoin Foundation

Conferences and Events

How does bitcoin work?

Bitcoin currency and units

Bitcoin addresses and public key crypto

Simple Transactions

Wallets, addresses and coins

The Blockchain

Bitcoin mining

Transaction Fees

Currency exchange

Complex transactions

Peer-to-peer protocol

Transaction pool

Double-spend protection

Asymptotic reward reduction

Finite monetary supply

Divisibility and deflation

Full node client

Overlay networks (Stratum)

Light-weight clients

Offline processing

Hardware clients

Brain wallets

Paper wallets

Where do I start

Getting the software

Creating a wallet

Getting currency

Buying with fiat (national) currency

Earning bitcoin

Mining bitcoin

Hosted wallets

Setting up the bitcoin client (full node)

Files and storage options

Syncing the blockchain for the first time

Independent transaction verification (SPV)

Bitcoin-QT client options

Best practices

Using bitcoin as a consumer


Anonymity and address "taint"

Recycling addresses

Identity Verification

Transaction non-reversal

Vanity addresses

Using bitcoin as a merchant

Merchant and payment services

Transaction fees and conversion fees

Handling thousands of transactions

Address per transaction

Deterministic key generation

Master public key (MPK)

Cold storage

Customer culture (early adopter) and expectations

Anonymity and privacy expectations

Trust without chargebacks

Corporate and personal identity for trust

Refunds and reversals

Pricing in bitcoin or fiat currencies

Exchange rate and Conversion timing

Handling currency risk

Currency exchange and liquidity risk

Volatility risk

Regulatory risk

Bitcoin for entrepreneurs

Risk and uncertainty

Political and regulatory risk

The reputation of early use patterns

Dealing with "legacy" banking

Friction on the bitcoin on/off ramps

Bitcoin accounting and book-keeping

Bitcoin payroll

Bitcoin angel investors and investment clubs

Bitcoin securities listings (going bitcoin IPO)

Crowdfunding for bitcoin

Bitcoin source, licensing and intellectual property

Bitcoin trademarks

Bitcoin patent base

Bitcoin business community resources

Bitcoin Software Development

git and github

Contributing to bitcoin

Issue List

Forking the code

Branching and Merging

Making a code change

Manual testing

Automated Testing and Continuous Integration

Pull request and discussion

Merging and maintaining features

Bitcoin Improvement Proposals (BIP)

Protocol extension

Script extension (SPV)

Client extension

User Interface extension

API development


Stratum API


Bitcoin Security

Risks and non-risks

Cracking the bitcoin protocol or encryption (debunk)

Password loss, brute force, dictionary attacks


Hosted wallet compromise

Two-Factor Authentication

OTP, Software token

Hardware Token

Challenge-Response (SMS, email)

Secondary key

On-screen keyboard

Secure Storage

Backup and recovery

Cold storage

Offline transaction signing

The Future of Bitcoin

Bitcoin's Future

Bitcoin Improvement Proposals

BIP11 - Multi Signature Transactions

BIP38 - Split Key Signing

Software and Hardware developments

Adoption Barriers or Reversals

Reputation and Trust

Regulatory Exile

Value Crash

Adoption Accelerators

National Currency Collapse

Leap-frogging in Developing Countries

Serving the 2.5bn Unbanked

Sovereign Issuance of Alt-Coin.

Speculation and Prediction (Crystal Ball Section)

Will Bitcoin be the World Currency?

Crypto-Currency success, despite Bitcoin failure

Legitimacy, co-option and rebirth.

Appendix: Bitcoin financial services

Currency Exchanges

Bitcoin market data services

Bitcoin ticker, order book, chart and analysis services

Peer-to-peer exchange

OTC and Web-of-Trust (WoT)

Escrow services

Monitoring services

Alert and notification services


P2P Lending


Mutual Funds

Angel investing

Appendix: Bitcoin markets and applications

Currency transfer

US domestic

Other in-country


Retail commerce

Physical (tangible) goods

Intangible products


Technology services

Re-selling and Cross-selling

Wholesale commerce

Appendix: Bitcoin Protocol Structure and Conventions

Appendix: Bitcoin Transaction Script Operands and Tokens

Appendix: Bitcoin Cryptography Algorithms, Conventions and Conversions.

Appendix: Bitcoin Meta-protocols: Mining Pool Protocols, Lightweight Client Protocols




Obtaining the bitcoin software



History of bitcoin

This chapter introduces the basic concepts of digital money and cryptographic currency. Then it discusses the history of bitcoin, from inception until today, connecting it to major historical developments in technology such as peer-to-peer networking, mobile applications, cryptography and online commerce. This chapter identifies and explains the motivations for different types of users of bitcoin, preferably by quoting some of the people behind the

technology. Finally, the chapter points to some key online resources that are time-capsules of the history of bitcoin and are at the center of the bitcoin community.

How does bitcoin work?

Demonstrates with simple and easy diagrams, the operation of bitcoin and the emerging characteristics of security through consensus, transactional integrity, availability, non-

repudiation and frictionless commerce. As each concept is introduced, it reinforces the previous topics and builds upon them. The chapter is illustrated with diagrams showing the interactions between bitcoin users, acting in various roles (buyers, sellers, miners, etc), in an industry standard style 'Alice wants to pay Bob for a cup of coffee. Alice's wallet contains a several addresses.'

This chapter does not include source code or command-line examples, it is presented at a higher level closely related to the user experience and workflow.

Where do I start

This chapter begins the introduction of bitcoin applications and tools, mostly concentrating on the reference client and its use. Basic functions are narrated and demonstrated in the Graphical User Interface (bitcoin-qt) using screenshots, more advanced functions will include command-line samples and program output.

examines the means for future bitcoin development, the likely barriers and accelerators of adoption and the possible impact of bitcoin use on the world economy.

Appendix: Bitcoin financial services

Appendix: Bitcoin markets and applications

As above, this appendix describes services offered in the bitcoin economy. Each service is described a a service archetype which is compared to a real-world example familiar to anyone. The description of such a service is followed by real-world examples that express

these bitcoin features.

Appendix: Bitcoin Protocol Structure and Conventions

Reference index of main protocol primitives, packet structure, opcodes, state enumerations, protocol mechanics, time diagrams and protocol validation mechanisms.

Appendix: Bitcoin Transaction Script Operands and Tokens

More reference material as above

Appendix: Bitcoin Cryptography Algorithms, Conventions and Conversions.

More reference material as above

Appendix: Bitcoin Meta-protocols: Mining Pool Protocols, Lightweight Client Protocols

More reference material as above