1

2

LECTURE OUTLINE 1

Intro and Terminology

2

Bitcoin and Consensus

3

Bitcoin Concepts

4

Mining Sketch

5

Bonus Content: Merkle Trees and Consensus Updates

3

1

INTRODUCTION

4

TERMINOLOGY





● ● ●

5

2

BITCOIN AND CONSENSUS

6

SATOSHI NAKAMOTO'S INNOVATION

● ○ ● ○ ○ Dorian Satoshi Nakamoto (not actually Satoshi Nakamoto)

Slide by Viget

v1 Alice writes and signs a message describing her transaction

A

“I, Alice, am giving Bob one bitcoin.”

G

A

Slide by Viget

C

v1

E

Alice sends her message to the world

F A J

B H

G

A

Slide by Viget

C

v1

E

Alice sends five identical messages

F A J

B

? H

G

A

Slide by Viget

C

v2

E

Introducing uniquely identifiable serial numbers

F A J

8732

B H

Slide by Viget

v2 Where do serial numbers come from?

8732

?

Slide by Viget

v2 A central bank manages transactions and balances

E D

G

B

A

H

C

I

Slide by Viget

v2 Centralization

E D B

A

G H

01

01

01

C

01

I

Slide by Viget

v3 Making everyone the bank. Everyone has a complete record of transactions

E D B

A

G C

I

Slide by Viget

v3 Alice sends her transaction to Bob

E D B

A

G C

I

Slide by Viget

v3 Bob announces the transaction to the world

E D B

A

G C

I

Slide by Viget

v3 Alice double spends on Bob and Charlie

E D B

A

G C

I

Slide by Viget

v4 Everyone verifies transactions

E D B

A

G C

I

Slide by Viget

v4 Alice is prevented from double spending

E D B

A

G C

I

Slide by Viget

v4 Alice sets up multiple identities

A A B

A

A C

A

Slide by Viget

v4 Alice double spends with her multiple identities Sybil Attack: Creating many fake identities to subvert a system

A A B

A

A C

A

G

A

Slide by Viget

v5

CProof-of-work F A J

E

B H

Slide by Viget

v5 Other users add to list of pending transactions

1.

I, Tom, am giving Sue one bitcoin, with serial number 3920.

2.

I, Sydney, am giving Cynthia one bitcoin, with serial number 1325.

3.

I, Alice, am giving Bob one bitcoin, with serial number 1234.

Slide by Viget

v5 Verifying transactions

1 Check blockchain

2 Solve puzzle

3 Announce block

Slide by Viget

v5 Why the math?

Slide by Viget

v4 Alice double spends with her multiple identities

A A B

A

A C

A

Slide by Viget

v5 Proof-of-work as a competition

Slide by Viget

Summary Version

Major feature

Value added

1

Signed messages announced to the network

Basis of entire system

2

Serial numbers

Uniquely identifiable transactions

3

The block chain

Shared record of transactions

4

Everyone verifies transactions

Increased security

5

Proof-of-work

Prevents double spending

29

BASIC CONCEPTS - IDENTITY IN BITCOIN ● ○ ● ○ ■ ○ ● ○ ○ ○ ○ ○

30

TRANSACTION - A BASIC VERSION

● ○ ○ ● ○ ●

Coinbase interface

31

BASIC CONCEPTS - TRANSACTIONS ● ● ●

Source: Bitcoin Developer Guide

32

BLOCKS AND BLOCKCHAIN

● ○ ●

● Source: Bitcoin Developer Guide

33

BLOCKS AND BLOCKCHAIN

Source: blockchain.info

Basic Concepts - UTXO analogy UTXOs stands for "Unspent Transaction Outputs" ● ●

Global set of unspent bitcoins "I'm spending THIS bitcoin," not "I'm spending A bitcoin."

Analogous to Rai Stones of the Yap Islands ● ●

Rai Stones never moved Instead: Agreed on change of ownership

Source: Wikipedia

35

MINING SKETCH

● ● ● ●

● ● ●

36

MINING SKETCH - FINDING BLOCKS ● ○ ■ ○ ○ ● ○ ■ ○ ■ ● ○ ○ ○ ○

37

MINING SKETCH - FINDING BLOCKS ● ○ ● ● ○ ● ● ○ ○ ■

38

A TRANSACTION FLOW ● ○ ○ ● ○ ○ ● ○ ●

39

51% ATTACKS

41

BONUS: FORKING + CONSENSUS UPDATES Source: Bitcoin.org Developer Guide

42

BONUS: MERKLE TREE

● ●

Makes transaction history immutable PoW to add chains Source: Nakamoto 2009

43

NEXT TIME: CRYPTOGRAPHY AND WALLETS

● ○ ● ○ ● ○ ● ○

02 Bitcoin Protocol and Consensus - A High Level Overview.pdf ...

Whoops! There was a problem loading more pages. Retrying... 02 Bitcoin Protocol and Consensus - A High Level Overview.pdf. 02 Bitcoin Protocol and Consensus - A High Level Overview.pdf. Open. Extract. Open with. Sign In. Main menu. Displaying 02 Bitcoin Protocol and Consensus - A High Level Overview.pdf.

3MB Sizes 13 Downloads 304 Views

Recommend Documents

02 Bitcoin Protocol and Consensus - A High Level Overview.pdf ...
Page 2 of 43. 2. 5 Bonus Content: Merkle Trees and Consensus Updates. 1 Intro and Terminology. 4 Mining Sketch. 3 Bitcoin Concepts. 2 Bitcoin and ...

A High-Level Protocol Specification Language for Industrial Security ...
Even assuming “perfect” cryptography, the design of security protocols is ..... has no access whatsoever; and channels which provide non-repudiation properties.

Ripple Protocol Consensus Algorithm Review - GitHub
May 11, 2015 - 1. Reviewed white papers and development documentation at https://ripple. com. 2. .... denial of service due to the Ripple network being unable to process transactions, ..... https:// download.wpsoftware.net/bitcoin/pos.pdf. 15 ...

FAB: An Intuitive Consensus Protocol using Raft and ...
Mar 23, 2015 - also provides weighted leader election to influence ... highest weighted member to become the Leader. ...... I would also like to thank my team.

A High Level Group and Stakeholders' Platform to accelerate North ...
Jan 28, 2016 - Supergrid (FOSG) call for an increased regional cooperation in the North Sea in view of the upcoming high level meeting on energy organised ...

High Level Transforms for SIMD and low-level ...
The second part presents an advanced memory layout trans- ..... We call this phenomenon a cache overflow. ... 4, center). Such a spatial locality optimization can also be used in a multithreaded ... In the following, we call this optimization mod.

Tri-Message: A Lightweight Time Synchronization Protocol for High ...
dealt with: clock offset and clock skew (clock drift speed). Clock skew is ... well over Internet paths with high latency and high variability and estimates both offset ...

TIMESTAMP LIQUID LEVEL (LTS) LOW LEVEL ALARM HIGH LEVEL ...
TIMESTAMP. LIQUID LEVEL (LTS). LOW LEVEL ALARM. HIGH LEVEL ALARM. 8/10/2017 9:27:11. 115. 0. 0. 8/10/2017 10:10:05. 115. 0. 0. 9/15/2017 13:52:06.

1.3.7 High- and low-level languages and their translators.pdf ...
An Interpreter reads the statements of a program, analyzes them and then executes them on the virtual. machine by calling the corresponding instructions of the ...

Research Article A simple and efficient protocol for high quality of DNA ...
high quality DNA with average purity of 1.8 and yield 200 g per gm stem tissue that appropriate for molecular ... Small sample of the subject's DNA which is.

Towards a High Level Approach for the Programming of ... - HUCAA
... except in the data parallel operations. ▫ Implementation based on C++ and MPI. ▫ http://polaris.cs.uiuc.edu/hta/. HUCAA 2016. 6 .... double result = hta_A.reduce(plus());. Matrix A Matrix B .... Programmability versus. MPI+OpenCL.

Towards a High Level Approach for the Programming of ... - HUCAA
Page 1 .... Build HPL Arrays so that their host-side memory is the one of the HTA tile ... Build an HTA with a column on N tiles of size 100x100. (each tile is placed ...

A Survey on Routing Protocol Routing Protocol Routing ... - IJRIT
The infrastructure less and the dynamic nature .... faster convergence, it employs a unique method of maintaining information regarding the shortest distance to.

IndiGolog: A High-Level Programming Language for ... - Springer Link
Giuseppe De Giacomo, Yves Lespérance, Hector J. Levesque, and Sebastian. Sardina. Abstract IndiGolog is a programming language for autonomous agents that sense their environment and do planning as they operate. Instead of classical planning, it supp