Undocumented Internals of the Bitcoin, Ethereum and Blockchain
Authors: Vijay Mukhi
Publishing Date: December 2017
In the year 2017, Bitcoin touched a market capitalization of over 100 billion dollars. In the year 2014, one Bitcoin could buy about 500 dollars, just three years later one Bitcoin buys 5,000 dollars. The Initial Coin offering is becoming the preferred method of raising money. Many countries like Dubai have announced their own cryptocurrency called emCash.
Bitcoin, Ethereum, Blockchain are the most difficult technologies to understand. That's why most people including technology folks cannot understand the future direction of these technologies. The only way to understand anything complex is by going back to the basics.
This is what we do in this book. We explain every byte of the Bitcoin blockchain that is downloaded on your computer. only by going back to your roots can you understand anything complex.
Most of the code in this book is written in Python as today, it is the easiest language to use. The Bitcoin Source is written only in C++. Most of the important Bitcoin data structures are only documented in code, a bare knowledge of reading and not writing C++ will help. Finally, the official client for Ethereum is written in the programming language Go.
It is written for a programmer, We use code and not words to describe a blockchain. We believe that all kinds of people including non-technology folks will need some programming knowledge to grasp the basic concepts of the blockchain. There is no other way to understand this technology.
Finally, we end the book with the biggest use of smart Contracts which is raising money using an ICO. Our primary focus is on Bitcoin and Blockchains and not on Ethereum and smart contracts which comprises only 4 chapters.
International Currency transfers are very expensive today. With the advent of the Lightning Network and sidechains, the Bitcoin blockchain can scale to a level where it can handle transactions faster than any credit card transaction.
One of the recent bigger innovations of Blockchain technology is the Initial Coin offering or an ICO. This will enable millions of people to invest in companies using blockchain technology. This will help us understand the technologies under the hood that makes it happen.
Chapter 1: Basics of the Bitcoin Block Header
Chapter 2: Transactions - Basics
Chapter 3: Computing the Merkle Hash
Chapter 4: Bitcoin Addresses
Chapter 5: Vanity Bitcoin Addresses
Chapter 6: Difficulty and Nonce
Chapter 7: Storing Bitcoin Transactions using SQL
Chapter 8: Transactions - Inputs and Outputs
Chapter 9: Hiding Data in the blockchain
Chapter 10: Signing Transactions
Chapter 11: Roll your own transaction
Chapter 12: Client and Server
Chapter 13: Notaries and OP_RETURN
Chapter 14: Pay to Script Hash or Multi-Sig Bitcoin addresses
Chapter 15: Basic Networking
Chapter 16: More Networking
Chapter 17: Hashes SHA0 and SHA1
Chapter 18: Hashes - Sha-256 and RipeMD-160
Chapter 19: ECC with Sage - Part 1
Chapter 20: ECC with Sage Part 2
Chapter 21: Sending our own transaction
Chapter 22: Sending one transaction without using library functions
Chapter 23: Index folder
Chapter 24: UTXO Dataset
Chapter 25: Wallets
Chapter 26: Rev/Undo files
Chapter 27: peers.dat and banlist.dat
Chapter 28: Miners, blocks and more
Chapter 29: fee_estimates.dat
Chapter 30: Building the Bitcoin Source code
Chapter 31: Testing Bitcoin for bugs
Chapter 32: Ethereum Solidity
Chapter 33: Ethereum leveldb keys and GOLANG
Chapter 34: Ethereum Unravelling the State Machine
Chapter 35: Bitcoin Cash vs Segwit vs Segwit2x
Chapter 36: Bitcoin Core 0.15, UTXO and more
Chapter 37: Transactions and Blocks - Error Checks
Chapter 38: ICO and Smart Contract Security
Chapter 39: What is a Bitcoin and a Blockchain
Chapter 40: AI and Blockchain – Never The Twain Shall Meet