blockchain beyond bitcoin - snia · blockchain is the name of a new class of distributed...

30
Mark O’Connell [email protected] Blockchain Beyond Bitcoin

Upload: others

Post on 20-May-2020

5 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Blockchain Beyond Bitcoin - SNIA · Blockchain is the name of a new class of distributed application which can coordinate independent operations across multiple machines in an untrusted

Mark O’[email protected]

Blockchain Beyond Bitcoin

Page 2: Blockchain Beyond Bitcoin - SNIA · Blockchain is the name of a new class of distributed application which can coordinate independent operations across multiple machines in an untrusted

Blockchain Beyond BitcoinApproved SNIA Tutorial © 2017 Storage Networking Industry Association. All Rights Reserved.

SNIA Legal Notice

The material contained in this tutorial is copyrighted by the SNIA unless otherwise noted. Member companies and individual members may use this material in presentations and literature under the following conditions:

Any slide or slides used must be reproduced in their entirety without modificationThe SNIA must be acknowledged as the source of any material used in the body of any document containing material from these presentations.

This presentation is a project of the SNIA Education Committee.Neither the author nor the presenter is an attorney and nothing in this presentation is intended to be, or should be construed as legal advice or an opinion of counsel. If you need legal advice or a legal opinion please contact your attorney.The information presented herein represents the author's personal opinion and current understanding of the relevant issues involved. The author, the presenter, and the SNIA do not assume any responsibility or liability for damages arising out of any reliance on or use of this information.

NO WARRANTIES, EXPRESS OR IMPLIED. USE AT YOUR OWN RISK.2

Page 3: Blockchain Beyond Bitcoin - SNIA · Blockchain is the name of a new class of distributed application which can coordinate independent operations across multiple machines in an untrusted

Blockchain Beyond BitcoinApproved SNIA Tutorial © 2017 Storage Networking Industry Association. All Rights Reserved.

Abstract – Blockchain Beyond Bitcoin

Blockchain is the name of a new class of distributed application which can coordinate independent operations across multiple machines in an untrusted network and produce a consensus result on both the correctness of the individual operations as well as the order in which the operations were executed. While the most well known use case for blockchain is Bitcoin, the technology itself has many other applications and

implementations and use cases are arising in areas as diverse as international finance, B2B transactions, identity management, domain name registration, and many more. This tutorial will introduce the blockchain family of technologies, will discuss the technical aspects of the implementations and how consensus is achieved despite the lack of trust amongst the machines, will explore how this basic technology can be applied for non-currency related use cases, and will discuss alternative implementations of the technology and their advantages and

disadvantages.

3

Page 4: Blockchain Beyond Bitcoin - SNIA · Blockchain is the name of a new class of distributed application which can coordinate independent operations across multiple machines in an untrusted

Blockchain Beyond BitcoinApproved SNIA Tutorial © 2017 Storage Networking Industry Association. All Rights Reserved.

Definitions: Bitcoin vs Blockchain

Digital currencyNo gov’t controlCryptographically secured payments

Ordered list of recordsDistributed ledgerDecentralizedSelf-policing

4

Page 5: Blockchain Beyond Bitcoin - SNIA · Blockchain is the name of a new class of distributed application which can coordinate independent operations across multiple machines in an untrusted

Blockchain Beyond BitcoinApproved SNIA Tutorial © 2017 Storage Networking Industry Association. All Rights Reserved.

How does the bitcoin blockchain work?

5

New tx Is it valid? Create a new block with this and other txs

Try to add it to the chain

If successful, tell other blockchain nodes about the new block

Page 6: Blockchain Beyond Bitcoin - SNIA · Blockchain is the name of a new class of distributed application which can coordinate independent operations across multiple machines in an untrusted

Blockchain Beyond BitcoinApproved SNIA Tutorial © 2017 Storage Networking Industry Association. All Rights Reserved.

Why does this work?

• Cryptographically signed (PKI)

• Sent to multiple nodes

• Must reference txswhere money originated

Page 7: Blockchain Beyond Bitcoin - SNIA · Blockchain is the name of a new class of distributed application which can coordinate independent operations across multiple machines in an untrusted

Blockchain Beyond BitcoinApproved SNIA Tutorial © 2017 Storage Networking Industry Association. All Rights Reserved.

Why does this work?

• Validate signature• Validate origin txs

• Must reference txswhere money originated

• Validated on multiple nodes

Page 8: Blockchain Beyond Bitcoin - SNIA · Blockchain is the name of a new class of distributed application which can coordinate independent operations across multiple machines in an untrusted

Blockchain Beyond BitcoinApproved SNIA Tutorial © 2017 Storage Networking Industry Association. All Rights Reserved.

Why does this work?

• Block hash must match a certain pattern

• ~10 minutes to generate, by varying nonce

Page 9: Blockchain Beyond Bitcoin - SNIA · Blockchain is the name of a new class of distributed application which can coordinate independent operations across multiple machines in an untrusted

Blockchain Beyond BitcoinApproved SNIA Tutorial © 2017 Storage Networking Industry Association. All Rights Reserved.

Why does this work?

Other nodes validate:• Txs are valid• Hash matches pattern• Links to final block

Page 10: Blockchain Beyond Bitcoin - SNIA · Blockchain is the name of a new class of distributed application which can coordinate independent operations across multiple machines in an untrusted

Blockchain Beyond BitcoinApproved SNIA Tutorial © 2017 Storage Networking Industry Association. All Rights Reserved.

Why all the trouble?

Validate multiple times?10 minute Proof of Work?Designed for a no-trust environment

Page 11: Blockchain Beyond Bitcoin - SNIA · Blockchain is the name of a new class of distributed application which can coordinate independent operations across multiple machines in an untrusted

Blockchain Beyond BitcoinApproved SNIA Tutorial © 2017 Storage Networking Industry Association. All Rights Reserved.

There’s more to life than money

Property deedsArtwork provenanceCar title / ownershipMedical history…

11

Page 12: Blockchain Beyond Bitcoin - SNIA · Blockchain is the name of a new class of distributed application which can coordinate independent operations across multiple machines in an untrusted

Blockchain Beyond BitcoinApproved SNIA Tutorial © 2017 Storage Networking Industry Association. All Rights Reserved.

There’s more than one way

12

Po-tay-to ? Po-tah-to ?

Page 13: Blockchain Beyond Bitcoin - SNIA · Blockchain is the name of a new class of distributed application which can coordinate independent operations across multiple machines in an untrusted

Blockchain Beyond BitcoinApproved SNIA Tutorial © 2017 Storage Networking Industry Association. All Rights Reserved.

What makes a distributed ledger?

Forgery protectionInformation distributionRedundant networkDecentralized networkInternal fraud protection

13

Page 14: Blockchain Beyond Bitcoin - SNIA · Blockchain is the name of a new class of distributed application which can coordinate independent operations across multiple machines in an untrusted

Blockchain Beyond BitcoinApproved SNIA Tutorial © 2017 Storage Networking Industry Association. All Rights Reserved.

An example

Forgery protection - PKIInformation distribution – nodes chatterRedundant network – mining rewardsDecentralized network – mining rewardsInternal fraud protection – Proof of Work

14

+

Page 15: Blockchain Beyond Bitcoin - SNIA · Blockchain is the name of a new class of distributed application which can coordinate independent operations across multiple machines in an untrusted

Blockchain Beyond BitcoinApproved SNIA Tutorial © 2017 Storage Networking Industry Association. All Rights Reserved.

An example

Forgery protection - PKIInformation distribution – nodes chatter – whitelistRedundant network – Interested participantsDecentralized network – Interested participantsInternal fraud protection – Whitelisted nodes

15

Page 16: Blockchain Beyond Bitcoin - SNIA · Blockchain is the name of a new class of distributed application which can coordinate independent operations across multiple machines in an untrusted

Blockchain Beyond BitcoinApproved SNIA Tutorial © 2017 Storage Networking Industry Association. All Rights Reserved.

An example

Forgery protection - PKIInformation distribution – Known node membershipRedundant network – Specific named nodesDecentralized network – Specific named nodesInternal fraud protection – Round robin mining

16

Page 17: Blockchain Beyond Bitcoin - SNIA · Blockchain is the name of a new class of distributed application which can coordinate independent operations across multiple machines in an untrusted

Blockchain Beyond BitcoinApproved SNIA Tutorial © 2017 Storage Networking Industry Association. All Rights Reserved.

Proof of Work alternatives

Once there is some trust:Round robinProof of StakeProportional to previously mined blocksPractical Byzantine Fault Tolerance

2/3rds of participants agree

17

Page 18: Blockchain Beyond Bitcoin - SNIA · Blockchain is the name of a new class of distributed application which can coordinate independent operations across multiple machines in an untrusted

Blockchain Beyond BitcoinApproved SNIA Tutorial © 2017 Storage Networking Industry Association. All Rights Reserved.

A world of possibilities

IdentityB2BSmart ContractsDRM

18

Page 19: Blockchain Beyond Bitcoin - SNIA · Blockchain is the name of a new class of distributed application which can coordinate independent operations across multiple machines in an untrusted

Blockchain Beyond BitcoinApproved SNIA Tutorial © 2017 Storage Networking Industry Association. All Rights Reserved.

Attribution & Feedback

19

Please send any questions or comments regarding this SNIA Tutorial to [email protected]

The SNIA Education Committee thanks the following Individuals for their contributions to this Tutorial.

Authorship History

Mark O’Connell

Updates:

Additional Contributors

Page 20: Blockchain Beyond Bitcoin - SNIA · Blockchain is the name of a new class of distributed application which can coordinate independent operations across multiple machines in an untrusted

Blockchain Beyond BitcoinApproved SNIA Tutorial © 2017 Storage Networking Industry Association. All Rights Reserved.

How does the Bitcoin blockchain work?

1. Send transaction to blockchain node (x bitcoins to Y)2. Node validates the transaction3. Node groups (ordered) transactions together4. Node “mines” the group

Competing against other miners5. Node broadcasts its results

If another miner got here first, go back to step 2

20

Page 21: Blockchain Beyond Bitcoin - SNIA · Blockchain is the name of a new class of distributed application which can coordinate independent operations across multiple machines in an untrusted

Blockchain Beyond BitcoinApproved SNIA Tutorial © 2017 Storage Networking Industry Association. All Rights Reserved.

How does the Bitcoin blockchain work?

21

Tx 1

Tx 2

Tx 3

Tx 4

Tx 5

Tx N-1

Tx N

Hash of block

Hash of prior block

Nonce

Tx aa

Tx ab

Tx ac

Tx ad

Tx ae

Tx ay

Tx az

Hash of block

Hash of prior block

Nonce

Tx zkjdaa

Tx zkjdab

Tx zkjdac

Tx zkjdad

Tx zkjdae

Tx zkjday

Tx zkjdaz

Hash of block

Hash of prior block

Nonce

Tx new1

Tx new2

Tx new3

Tx new4

Tx new5

Tx new N-1

Tx new N

TBD hash of block

Hash of prior block

TBD Nonce

Page 22: Blockchain Beyond Bitcoin - SNIA · Blockchain is the name of a new class of distributed application which can coordinate independent operations across multiple machines in an untrusted

Blockchain Beyond BitcoinApproved SNIA Tutorial © 2017 Storage Networking Industry Association. All Rights Reserved.

How does the Bitcoin blockchain work?

22

Tx 1

Tx 2

Tx 3

Tx 4

Tx 5

Tx N-1

Tx N

Hash of block

Hash of prior block

Nonce

Tx aa

Tx ab

Tx ac

Tx ad

Tx ae

Tx ay

Tx az

Hash of block

Hash of prior block

Nonce

Tx zkjdaa

Tx zkjdab

Tx zkjdac

Tx zkjdad

Tx zkjdae

Tx zkjday

Tx zkjdaz

Hash of block

Hash of prior block

Nonce

Page 23: Blockchain Beyond Bitcoin - SNIA · Blockchain is the name of a new class of distributed application which can coordinate independent operations across multiple machines in an untrusted

Blockchain Beyond BitcoinApproved SNIA Tutorial © 2017 Storage Networking Industry Association. All Rights Reserved.23

New tx Is it valid? Create a new block with this and other txs

Try to add it to the chain

Page 24: Blockchain Beyond Bitcoin - SNIA · Blockchain is the name of a new class of distributed application which can coordinate independent operations across multiple machines in an untrusted

Blockchain Beyond BitcoinApproved SNIA Tutorial © 2017 Storage Networking Industry Association. All Rights Reserved.

How does the bitcoin blockchain work?

24

New tx Is it valid? Create a new block with this and other txs

Try to add it to the chain

If successful, tell other blockchain nodes about the new block

Page 25: Blockchain Beyond Bitcoin - SNIA · Blockchain is the name of a new class of distributed application which can coordinate independent operations across multiple machines in an untrusted

Blockchain Beyond BitcoinApproved SNIA Tutorial © 2017 Storage Networking Industry Association. All Rights Reserved.

Large size slide page number is deliberate Easier for audience to follow from handouts

Keep slide-count to amount you can cover in time allottedMaximum 40-45 slides for 60-minute sessionMaximum 30-35 slides for 45-minute sessionTitle, boilerplate (e.g. legal, Attribution & Feedback contents, and ‘separator’ slides don’t count against limitYou may have extra slides in an Appendix (max. of ~30% extra)

3 levels of bullets maximum 4 to 6 Bullets: use 2 column text slideUse www.snia.org scheme colors for hyperlinks

AVOID Moving or resizing the text areaChanging fonts, point sizes or spacing

Use color, bold and italics for emphasis

Tutorial Preparation Guidelines

26

Page 26: Blockchain Beyond Bitcoin - SNIA · Blockchain is the name of a new class of distributed application which can coordinate independent operations across multiple machines in an untrusted

Blockchain Beyond BitcoinApproved SNIA Tutorial © 2017 Storage Networking Industry Association. All Rights Reserved.

Tutorial Preparation Guidelines (cont.)Title Slide: List the presentation title, presenter name/company name; if a co -presenter, list name/company name (no email addresses). Always include: Legal, Abstract, and Attribution & Feedback slides (do not delete these slides)

Legal slide is #2 slideAbstract Slide is #3: View the sample abstract in “SNIA Tutorial Preparation Guidelines” presentation and modify your abstract to fit that format. Attribution & Feedback (authorship history & contributors) is the final slide before any appendix

Please try to stay with template colors in case re-coloration is necessary. For information on approved colors, view https://members.snia.org/members/Style%20Guide_07.pdf

Run spell check when doneChoose Tools, Spelling in Powerpoint 97-2003Choose Review, Spelling in Powerpoint 2007

Save your presentation as a Powerpoint 2007.pptx presentation file Refer to the FAQ for SNIA Tutorials “General Information” at http://www.snia.org/education/tutorials/faq/

27

Page 27: Blockchain Beyond Bitcoin - SNIA · Blockchain is the name of a new class of distributed application which can coordinate independent operations across multiple machines in an untrusted

Blockchain Beyond BitcoinApproved SNIA Tutorial © 2017 Storage Networking Industry Association. All Rights Reserved.

Graphics

28

Page 28: Blockchain Beyond Bitcoin - SNIA · Blockchain is the name of a new class of distributed application which can coordinate independent operations across multiple machines in an untrusted

Blockchain Beyond BitcoinApproved SNIA Tutorial © 2017 Storage Networking Industry Association. All Rights Reserved.

Graphics

29

Page 29: Blockchain Beyond Bitcoin - SNIA · Blockchain is the name of a new class of distributed application which can coordinate independent operations across multiple machines in an untrusted

Blockchain Beyond BitcoinApproved SNIA Tutorial © 2017 Storage Networking Industry Association. All Rights Reserved.

Graphics

30

Page 30: Blockchain Beyond Bitcoin - SNIA · Blockchain is the name of a new class of distributed application which can coordinate independent operations across multiple machines in an untrusted

Blockchain Beyond BitcoinApproved SNIA Tutorial © 2017 Storage Networking Industry Association. All Rights Reserved.

Use this icon to refer to other SNIA Tutorials where applicable

31

Check out SNIA Tutorial:

Enter Tutorial Title Here

Refer to Other Tutorials