From a3418acf369f571c03e5e30e19a0b8bd0990758b Mon Sep 17 00:00:00 2001 From: "Andreas M. Antonopoulos" Date: Wed, 24 Jul 2013 12:58:12 -0700 Subject: [PATCH] initial outline import, all chapters --- .gitignore | 1 + Introduction.asciidoc | 64 +++++++++++++++-------------------- appdx01.asciidoc | 78 +++++++++++++++++++++++++++++++++++++++++++ book.asciidoc | 27 +++++++++++++-- ch01.asciidoc | 27 +++++++++++++++ ch02.asciidoc | 15 +++++++++ ch03.asciidoc | 11 ++++++ ch04.asciidoc | 24 +++++++++++++ ch05.asciidoc | 19 +++++++++++ ch06.asciidoc | 26 +++++++++++++++ ch07.asciidoc | 24 +++++++++++++ ch08.asciidoc | 28 ++++++++++++++++ 12 files changed, 304 insertions(+), 40 deletions(-) create mode 100644 .gitignore create mode 100644 appdx01.asciidoc create mode 100644 ch01.asciidoc create mode 100644 ch02.asciidoc create mode 100644 ch03.asciidoc create mode 100644 ch04.asciidoc create mode 100644 ch05.asciidoc create mode 100644 ch06.asciidoc create mode 100644 ch07.asciidoc create mode 100644 ch08.asciidoc diff --git a/.gitignore b/.gitignore new file mode 100644 index 00000000..2d19fc76 --- /dev/null +++ b/.gitignore @@ -0,0 +1 @@ +*.html diff --git a/Introduction.asciidoc b/Introduction.asciidoc index c75afa83..3ae0e55e 100644 --- a/Introduction.asciidoc +++ b/Introduction.asciidoc @@ -1,37 +1,27 @@ -[[introduction]] -== Introduction - -=== 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 consumer - -===== As a developer, integrator - -===== As an entrepreneur - -===== As an investor - -==== The bitcoin community - -===== Bitcointalk - -===== Bitcoin Wiki - -===== The Bitcoin Foundation - -===== Conferences and Events - - -=== How does bitcoin work? +[[ch01_how_does_bitcoin_work]] +== Chapter 1 - 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 diff --git a/appdx01.asciidoc b/appdx01.asciidoc new file mode 100644 index 00000000..aaf3ef6c --- /dev/null +++ b/appdx01.asciidoc @@ -0,0 +1,78 @@ +[[appdx01]] +== Appendix: Bitcoin financial services + +This appendix describes the main financial services offered in the bitcoin economy, comparing them to traditional financial services that are already familiar to consumers. It's not a list of sites or companies, as that would go stale immediately. Instead it is a list of service primitives with examples of existing implementations. For example, an escrow +service would be described as an archetype, by analogy to a real-estate escrow, showing the unique characteristics, use case and need for escrow in the bitcoin world. The escrow service archetype would be followed by two or three examples of well implemented actual escrow services, each demonstrating a capability unique to bitcoin. + +=== 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 + +=== Lending + +=== P2P Lending + +=== Securities + +=== Mutual Funds + +=== Angel investing + +== 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. + +=== Currency transfer + +=== US domestic + +=== Other in-country + +=== International + +=== Retail commerce + +=== Physical (tangible) goods + +=== Intangible products + +=== Services + +=== Technology services + +=== Re-selling and Cross-selling + +=== Wholesale commerce + + +== 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 diff --git a/book.asciidoc b/book.asciidoc index 36d7f442..a9425bdc 100644 --- a/book.asciidoc +++ b/book.asciidoc @@ -1,7 +1,28 @@ -:bookseries: safari +:bookseries: animal = Mastering Bitcoin -include::preface.asciidoc[] +include::preface.asciidoc[] + +include::Introduction.asciidoc[] + +include::ch01.asciidoc[] + +include::ch02.asciidoc[] + +include::ch03.asciidoc[] + +include::ch04.asciidoc[] + +include::ch05.asciidoc[] + +include::ch06.asciidoc[] + +include::ch07.asciidoc[] + +include::ch08.asciidoc[] + +include::appdx01.asciidoc[] + + -include::Introduction.asciidoc[] \ No newline at end of file diff --git a/ch01.asciidoc b/ch01.asciidoc new file mode 100644 index 00000000..72c455ca --- /dev/null +++ b/ch01.asciidoc @@ -0,0 +1,27 @@ +[[ch01_how_does_bitcoin_work]] +== Chapter 1 - 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 diff --git a/ch02.asciidoc b/ch02.asciidoc new file mode 100644 index 00000000..c18c10a1 --- /dev/null +++ b/ch02.asciidoc @@ -0,0 +1,15 @@ +[[ch02_where_do_i_start]] +== Chapter 2 - 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 diff --git a/ch03.asciidoc b/ch03.asciidoc new file mode 100644 index 00000000..e28ed907 --- /dev/null +++ b/ch03.asciidoc @@ -0,0 +1,11 @@ +[[ch03_consumers]] +== Chapter 3 - 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 command-line. + +=== Transactions +=== Anonymity and address "taint" +=== Recycling addresses +=== Identity Verification +=== Transaction non-reversal +=== Vanity addresses diff --git a/ch04.asciidoc b/ch04.asciidoc new file mode 100644 index 00000000..6d63bdee --- /dev/null +++ b/ch04.asciidoc @@ -0,0 +1,24 @@ +[[ch04_merchant]] +== Chapter 4 - 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. + +=== 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 diff --git a/ch05.asciidoc b/ch05.asciidoc new file mode 100644 index 00000000..79a6c572 --- /dev/null +++ b/ch05.asciidoc @@ -0,0 +1,19 @@ +[[ch05_entrepreneurs]] +== Chapter 5 - 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. + +=== 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 diff --git a/ch06.asciidoc b/ch06.asciidoc new file mode 100644 index 00000000..0571dc29 --- /dev/null +++ b/ch06.asciidoc @@ -0,0 +1,26 @@ +[[ch06_bitcoindev]] +== Chapter 6 - 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 + +=== 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 +==== JSON/RPC client API +==== Stratum API +==== Middleware diff --git a/ch07.asciidoc b/ch07.asciidoc new file mode 100644 index 00000000..77e7e8c8 --- /dev/null +++ b/ch07.asciidoc @@ -0,0 +1,24 @@ +[[ch07_security]] +== Chapter 7 - 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. + + +=== Risks and non-risks +==== Cracking the bitcoin protocol or encryption (debunk) +==== Password loss, brute force, dictionary attacks +==== Keyloggers +==== 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 diff --git a/ch08.asciidoc b/ch08.asciidoc new file mode 100644 index 00000000..5bbd4d9c --- /dev/null +++ b/ch08.asciidoc @@ -0,0 +1,28 @@ +[[ch08_future]] +== Chapter 8 - The Future of Bitcoin + +This chapter is a forward-looking analysis of bitcoin technology, adoption and social impact. It 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. + +=== 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. + +