1 of 25

Bitcoin

The Protocol For Digital Money

2 of 25

Technology Breakdown

Ledger

-Blockchain

-Transactions

Identity

-Public Key Cryptography

Consensus

-P2P Networks

-Nodes

Security

- Proof Of Work

- Mining

2

3 of 25

Consensus

Consensus is an ambiguous and problematic word that can mean several different things...

"No significant objection among the set of people who 'matter'"

"A strong majority when the participants are weighted for expertise and/or strength of argument."

General Agreement

Non-Contentious

Near-Unanimous

3

4 of 25

Centralized VS Decentralized Networks

Centralized networks have a central coordinator who manages consensus.

Decentralized networks reach consensus individually and validate with each participant.

4

5 of 25

Bitcoin Nodes

A Bitcoin node is a computer that connections to the peer-to-peer Bitcoin network.

The role of a Bitcoin node is to fully verify all of the consensus rules.

Consensus Rules

  • Enforce only a certain number of bitcoins are being created.
  • Enforce the format of transactions / blocks.
  • Enforce a bitcoin is not being double-spent.

5

6 of 25

Summary

The Bitcoin network reaches consensus by using a peer-to-peer network of Bitcoin nodes to enforce and validate the rules of the Bitcoin protocol.

6

7 of 25

Identity

Identity is an ambiguous and problematic word that can mean several different things...

Personal Identity

(Government Issued)

Online Identity

(Privately Issued)

Drivers License

Passport

Email

Username

7

8 of 25

Identity In Money

Send

Receive

History

Bitcoin

  • Public Key
  • Private Key
  • Blockchain

Banking

  • Account Number
  • Password
  • Centralized Ledger

8

9 of 25

Public / Private Key Cryptography

Account Number

Username

PIN

Password

9

Identity is proven by controlling the private key that allows you to transfer bitcoin stored at a public address or (Key).

Identity is determined by owning a public address or (Key).

Public address

Amount

1F1tAaz5x1HUXrCNLbtMD

3.0 BTC

Private Key

5Kb8kLf9zgWQnogidDA76MzPL6TsZZY36hWXMssSzNydYXYB9KF

Bitcoin Public Ledger

10 of 25

Summary

A user of the Bitcoin network establishes their identity by generating a public key and proves their identity by controlling the associated private key.

10

11 of 25

Ledger

A ledger is a format for recording and totaling economic transactions measured in terms of a monetary unit of account.

Bitcoin

  • Decentralized Ledger
  • Bitcoin Unit Of Account

Banking

  • Centralized Ledger
  • Fiat Unit Of Account

11

12 of 25

Transactions

A transaction is a transfer of bitcoin that is broadcasted to the Bitcoin network. Transactions broadcasted to the Bitcoin network are added to the Blockchain, through a process called mining.

12

13 of 25

Blockchain

A blockchain is a transaction database shared by all nodes on the Bitcoin Network. Each “block” contains a list of transaction with a reference to the transaction history of the prior block. Referencing the history of the prior block creates a “chain” guaranteeing all historical bitcoins transactions are irreversible.

13

~20m ago

~30m ago

~40m ago

~10m ago

Block of previous txs

Block of previous txs

Block of previous txs

Public ledger aka “blockchain”

Block of previous txs

14 of 25

Summary

A Bitcoin transaction is how value is transmitted on the Bitcoin network. The transaction ledger is stored using a Blockchain which is historical list of transactions stored by every node on the Bitcoin network.

14

Node

Node

Node

Node

Node

Node

Node

Node

Node

Node

Node

Every node has its own copy of the Blockchain.

15 of 25

Security

The Bitcoin network is secured by an incentive system called Proof-of-Work Mining.

Irreversible Transactions

Immutable Ledger History

Barer Asset

Censorship Resistant

Decentralized

15

16 of 25

Transaction Pool

A transaction sent to the the Bitcoin network is not instantly settled in the Blockchain. A transaction must first be selected from the transaction memory pool based on the transaction fee included.

Transaction Fee

Block Size

Supply & Demand

16

17 of 25

Proof-Of-Work

Bitcoin Miners race to solve a simple math problem in a process called Proof-of-Work. As more Miners join the network and race to solve the problem, the difficulty of the math problem increases proportionally to the amount of new competitors.

Solve the puzzle → Win Bitcoin

17

18 of 25

Summary

18

Miner A

mining...

Miner B

mining...

Miner C

mining...

Proof-of-Work Process

Miners choose txs based on fees

Block of latest transactions

Reward

New

block!

Tx Fees

New BTC

~20m ago

~30m ago

~40m ago

~10m ago

Block of previous txs

Block of previous txs

Block of previous txs

Public ledger aka “blockchain”

Block of previous txs

TX Pool

New txs arrive

Bitcoin Node

Miner B Finds A Block!

Bitcoin Nodes validate this block follows Consensus rules

19 of 25

Appendix

  • Blockchain Diagram
  • Encryption and Signature Examples
  • Transaction Example
  • Mining A Block

19

20 of 25

Blockchain

21 of 25

Signature & Encryption Example

22 of 25

One Way Hash Functions

23 of 25

Generating A Bitcoin Address

24 of 25

What happens when you send bitcoin?

Generate a transaction.

A digital signature is created using your private key that proves ownership of the coin, allowing them to be transferred.

3 BTC

3wdpspso3i2

Amount to send:

To:

SEND

2

Transaction

Private Key

Only known to you

Authorizes tx without revealing private key

Digital Signature

Fee

Recipient Address

Amount

Cryptography!

25 of 25

The cost of mining a block: illustrated

Y

N

Match?

Is the output less than some target threshold?

Output hash

Example: 00000000000000001e8d6829a8a21adc5

New block!

Only way to find a block is by hashing LOTS and LOTS of times—this is the “proof of work”.

This sequence is currently executed 120 quintillion times every second by miners

SHA-256

Previous block

Transactions

Random #

Including a link to the previous block in the hash ensures the integrity of the blockchain.

Inputs

Hashing function

Runs on ASIC hardware