Summary README Foreword Introduction Why Blockchain Programming and not Bitcoin Programming? Why C#? Why this book? Crowdfunding this book Complementary Reading Diagrams License: CC (ASA 3U) Pre-requisites Project Setup Bitcoin transfer Bitcoin Address Payment script Private Key Transaction Blockchain “The Blockchain is more than just Bitcoin” Spend your coin Proof of ownership as an authentication method Key Storage and Generation Is it random enough? Key Encryption Key Generation Other types of ownership P2PK[H] (Pay to Public Key [Hash]) P2WPKH (Pay to Witness Public Key Hash) Multi Sig P2SH (Pay To Script Hash) P2WSH (Pay to Witness Script Hash) P2W* over P2SH Arbitrary Using the TransactionBuilder Other types of asset Colored Coins Issuing an Asset Transfer an Asset Unit tests Ricardian contracts Liquid Democracy Proof of Burn and Reputation Proof of existence The challenge of Bitcoin Development Security How to prove a Coin exists in the Blockchain How to prove a Colored Coin exists in the Blockchain Breaking trust relationship with a third party API Preventing Malleability attacks Protecting your private keys