Introduction to Blockchain - BILLSLATER.COM

0 downloads 0 Views 14MB Size Report
Nov 3, 2018 - By Satoshi Nakamoto. Retrieved from https://bitcoin.org/bitcoin.pdf. November 3, 2018. Introduction to Blockchain - William Favre Slater, III. 18 ...
Introduction to Blockchain November 3, 2018

William Favre Slater, III, M.S., MBA, PMP, CISSP, CISA, SSCP, Security+ Adjunct Industry Instructor

***** CAUTION ***** •



• • •

• •

Blockchain and Bitcoin are sophisticated applied technologies that work together to provide trusted computing. They are built on complex rules with the objective of providing reliable, trusted, anonymous transactions on decentralized distributed ledgers via the Internet. It took the time, experience, knowledge and hard work of many geniuses to mature the technology. It takes time, energy, patience and many hours of study to just begin to wrap your head around it. If you are lazy or have a short attention span, or are overwhelmed after this presentation these topics are probably not a good career direction for you. This path will not be easy, but it will be worthwhile if you are up for investing your time and energy to learn it. As of February 2018, there are 14 open positions for every single Blockchain engineer who is looking for a job.

November 3, 2018

Introduction to Blockchain - William Favre Slater, III

2

Presentation Location

https://tinyurl.com/yccft2e7

November 3, 2018

Introduction to Blockchain - William Favre Slater, III

3

Blockchain Resources

http://billslater.com/blockchain

November 3, 2018

Introduction to Blockchain - William Favre Slater, III

4

Blockchain Resources

https://tinyurl.com/yatsvsl8

November 3, 2018

Introduction to Blockchain - William Favre Slater, III

5

Bitcoin Resources

http://billslater.com/bitcoin

November 3, 2018

Introduction to Blockchain - William Favre Slater, III

6

New Blockchain Daily Newspaper:

More information: https://paper.li/billslater/1530793250#/ November 3, 2018

Introduction to Blockchain - William Favre Slater, III

7

Agenda • • • • • • • • • • •

Introduction What is Blockchain? Types of Blockchains How does Blockchain work? Blockchain Architecture Blockchain Uses and Use Cases Blockchain DApp Development Steps How Can You Accelerate Your Blockchain Understanding, Knowledge and Skills? Conclusion Questions References

William Favre Slater, III Forensecure 2018

November 3, 2018

Introduction to Blockchain - William Favre Slater, III

8

WHAT IS BLOCKCHAIN AND BLOCKCHAIN TECHNOLOGY? November 3, 2018

Introduction to Blockchain - William Favre Slater, III

9

A Logical Diagram of a Blockchain Network

This Photo by Unknown Author is licensed under CC BY-SA

November 3, 2018

Introduction to Blockchain - William Favre Slater, III

10

What Is Blockchain? • • • • • • • •

Distributed Ledger Decentralized Popularized by Satoshi Nakamoto Uses Cryptography and Hashing Append-only Transactions The Open Source Code already exists in Github Immutable First discussed in 1991

November 3, 2018

Introduction to Blockchain - William Favre Slater, III

11

What Is Blockchain? Blockchain Consensus Protocol Guide. A blockchain is a decentralized peer-to-peer system with no central authority figure. While this creates a system that is devoid of corruption from a single source, it still creates a major problem. How are any decisions made? How does anything get done? Think of a normal centralized organization.

All the decisions are taken by the leader or a board of decision makers. This isn’t possible in a blockchain because a blockchain has no “leader”. For the blockchain to make decisions, they need to come to a consensus using “consensus mechanisms”. November 3, 2018

Introduction to Blockchain - William Favre Slater, III

12

What is Blockchain? • A Decentralized, Distributed Ledger • Updated using software, messaging and databases with Append-only transactions • Records are immutable. • There are multiple copies • Updated by miners, and synchronized using Proof of Work, and Consensus • The foundation technology for Cryptocurrency • The Future of Trusted Computing Transactions on the Internet and in public and private networks • First described by Satoshi Nakamoto in his 9page January 2009 paper: https://bitcoin.org/bitcoin.pdf • The world’s largest Blockchain Database is the Bitcoin Blockchain Database, with 160 GB (it doesn’t scale very well)

November 3, 2018

Introduction to Blockchain - William Favre Slater, III

13

The Term Blockchain • • • •

Name for a data structure Name for an algorithm Name for a suite of Technologies An umbrella term for purely distributed peer-to-peer systems with a common application area • A peer-to-peer-based operating system with its own unique rule set that utilizes hashing to provide unique data transactions with a distributed ledger

November 3, 2018

Introduction to Blockchain - William Favre Slater, III

14

Blockchain – Simplified View

Source: Drescher, D. (2017). Blockchain Basics. Frankfort am Main, Germany: Apress. November 3, 2018

Introduction to Blockchain - William Favre Slater, III

15

Characteristics of the Blockchain

Source: Drescher, D. (2017). Blockchain Basics. Frankfort am Main, Germany: Apress. November 3, 2018

Introduction to Blockchain - William Favre Slater, III

16

Properties of the Blockchain Non-functional Aspects

November 3, 2018

Introduction to Blockchain - William Favre Slater, III

17

Blockchain Transactions: Satoshi Nakamoto’s Vision

Source: Bitcoin: A Peer-to-Peer Electronic Cash System. By Satoshi Nakamoto. Retrieved from https://bitcoin.org/bitcoin.pdf November 3, 2018

Introduction to Blockchain - William Favre Slater, III

18

Technologies and Events that Led to the Creation of Bitcoin and Blockchain • • • • • • • • • • • • •

Cryptography Transistors Digital Computers Databases Silicon Chips Programming Applied Cryptography Computer Networks Transaction Processing TCP/ IP and The Internet The World Wide Web Evolution of Security and Privacy Thought The Great 2008 Economic Recession

November 3, 2018

Introduction to Blockchain - William Favre Slater, III

19

Technologies and Events that Led to the Creation of Bitcoin and Blockchain

November 3, 2018

Introduction to Blockchain - William Favre Slater, III

20

Blockchain Technologies Technology

Source

The Internet (TCP/IP) Cryptography Bitcoin software Ethereum Software (geth) Blockchain Database

November 3, 2018

Built into every modern OS Cryptography software Github Github JSON, Bigchain, NEM, Factom, etc.

Introduction to Blockchain - William Favre Slater, III

21

TYPES OF BLOCKCHAINS

November 3, 2018

Introduction to Blockchain - William Favre Slater, III

22

Types of Blockchains • Bitcoin vs. Ethereum vs, Hyperledger (Linux and IBM) • Public vs. Private • Permissioned (private) vs. Permissionless

November 3, 2018

Introduction to Blockchain - William Favre Slater, III

23

Bitcoin vs. Ethereum

November 3, 2018

Introduction to Blockchain - William Favre Slater, III

24

Bitcoin vs. Ethereum vs. Hyperledger

November 3, 2018

Introduction to Blockchain - William Favre Slater, III

25

Bitcoin vs. Ethereum vs. Hyperledger

November 3, 2018

Introduction to Blockchain - William Favre Slater, III

26

Ethereum Public Blockchain

Source: Blockchain Basics: A Non-technical Introduction in 25 Steps by Daniel Drescher November 3, 2018

Introduction to Blockchain - William Favre Slater, III

27

Public vs. Private

November 3, 2018

Introduction to Blockchain - William Favre Slater, III

28

Types of Blockchain Architecture

November 3, 2018

Introduction to Blockchain - William Favre Slater, III

29

DEMOS FROM ANDERS.COM

November 3, 2018

Introduction to Blockchain - William Favre Slater, III

30

31

Anders.com Blockchain Demo

Copyright 2018 By William F. Slater, III

32

Anders.com • https://anders.com/blockchain/block.html

Copyright 2018 By William F. Slater, III

33

Source: Udacity Blockchain Developer Course Copyright 2018 By William F. Slater, III

34

Source: https://anders.com/blockchain/block.html Copyright 2018 By William F. Slater, III

35

Source: Udacity Blockchain Developer Course Copyright 2018 By William F. Slater, III

36

Source: https://anders.com/blockchain/blockchain.html Copyright 2018 By William F. Slater, III

HOW DOES BLOCKCHAIN WORK?

November 3, 2018

Introduction to Blockchain - William Favre Slater, III

37

The Great and Beautiful News… Everything you are about to see already works and works well, right now, and it is in Open Source on Git at https://github.com/bitcoin/

November 3, 2018

Introduction to Blockchain - William Favre Slater, III

38

How Does Blockchain Work?

November 3, 2018

Introduction to Blockchain - William Favre Slater, III

39

Typical Block Composition: Block Header Block Transactions

Source: Blockchain Enabled Applications: Understand the Blockchain Ecosystem and How to Make it Work for You by Vikram Dhillon, David Metcalf, Max Hooper November 3, 2018

Introduction to Blockchain - William Favre Slater, III

40

Source: Blockchain Enabled Applications: Understand the Blockchain Ecosystem and How to Make it Work for You by Vikram Dhillon, David Metcalf, Max Hooper November 3, 2018

Introduction to Blockchain - William Favre Slater, III

41

Bitcoin Mining Principles

Source: Drescher, D. (2017). Blockchain Basics. Frankfort am Main, Germany: Apress. November 3, 2018

Introduction to Blockchain - William Favre Slater, III

42

More on Bitcoin Blockchain Mining

Source: Drescher, D. (2017). Blockchain Basics. Frankfort am Main, Germany: Apress. November 3, 2018

Introduction to Blockchain - William Favre Slater, III

43

Proof of Work

Source: Blockchain Enabled Applications: Understand the Blockchain Ecosystem and How to Make it Work for You by Vikram Dhillon, David Metcalf, Max Hooper November 3, 2018

Introduction to Blockchain - William Favre Slater, III

44

Solving the Proof of Work Problem

Source: Blockchain Enabled Applications: Understand the Blockchain Ecosystem and How to Make it Work for You by Vikram Dhillon, David Metcalf, Max Hooper November 3, 2018

Introduction to Blockchain - William Favre Slater, III

45

Block Creation

Source: Drescher, D. (2017). Blockchain Basics. Frankfort am Main, Germany: Apress. November 3, 2018

Introduction to Blockchain - William Favre Slater, III

46

How Blockchain Works – In Detail (part 1)

Source: Drescher, D. (2017). Blockchain Basics. Frankfort am Main, Germany: Apress. November 3, 2018

Introduction to Blockchain - William Favre Slater, III

47

How Blockchain Works – In Detail (part 2)

Source: Drescher, D. (2017). Blockchain Basics. Frankfort am Main, Germany: Apress. November 3, 2018

Introduction to Blockchain - William Favre Slater, III

48

How Blockchain Works – In Detail (part 3)

Source: Drescher, D. (2017). Blockchain Basics. Frankfort am Main, Germany: Apress. November 3, 2018

Introduction to Blockchain - William Favre Slater, III

49

How Blockchain Works – In Detail (part 4)

Source: Drescher, D. (2017). Blockchain Basics. Frankfort am Main, Germany: Apress. November 3, 2018

Introduction to Blockchain - William Favre Slater, III

50

Why It Works – Part 1

structure

Source: Drescher, D. (2017). Blockchain Basics. Frankfort am Main, Germany: Apress. November 3, 2018

Introduction to Blockchain - William Favre Slater, III

51

Why It Works – Part 2

Source: Drescher, D. (2017). Blockchain Basics. Frankfort am Main, Germany: Apress. November 3, 2018

Introduction to Blockchain - William Favre Slater, III

52

Why It Works – Part 3

Source: Drescher, D. (2017). Blockchain Basics. Frankfort am Main, Germany: Apress. November 3, 2018

Introduction to Blockchain - William Favre Slater, III

53

Why It Works – Part 4

Source: Drescher, D. (2017). Blockchain Basics. Frankfort am Main, Germany: Apress. November 3, 2018

Introduction to Blockchain - William Favre Slater, III

54

BLOCKCHAIN ARCHITECTURE

November 3, 2018

Introduction to Blockchain - William Favre Slater, III

55

Microsoft Windows NT Software Architecture – Circa 1996

Source: Solomon, D. (1998). Inside Windows NT, 2nd Edition. Redmond, WA: Microsoft Press. November 3, 2018

Introduction to Blockchain - William Favre Slater, III

56

Blockchain Architecture

Source: Drescher, D. (2017). Blockchain Basics. Frankfort am Main, Germany: Apress. November 3, 2018

Introduction to Blockchain - William Favre Slater, III

57

Blockchain Architecture • By default, the Blockchain data store is a JavaScript Object Notation or JSON, data store.

• The location of the Ethereum Blockchain JSON file on my machine is at: – C:\Users\William\AppData\Roaming\Ethereum\geth\chaindata

• The technical specifications of JSON are found at RFC 4627 and RFC 7159 (most current) – https://www.ietf.org/rfc/rfc4627.txt – https://www.rfc-editor.org/rfc/rfc7159.txt November 3, 2018

Introduction to Blockchain - William Favre Slater, III

58

Blockchain Architecture

Source: Drescher, D. (2017). Blockchain Basics. Frankfort am Main, Germany: Apress. November 3, 2018

Introduction to Blockchain - William Favre Slater, III

59

Blockchain Architecture

Source: Drescher, D. (2017). Blockchain Basics. Frankfort am Main, Germany: Apress. November 3, 2018

Introduction to Blockchain - William Favre Slater, III

60

Blockchain Software Architecture

Source: Drescher, D. (2017). Blockchain Basics. Frankfort am Main, Germany: Apress. November 3, 2018

Introduction to Blockchain - William Favre Slater, III

61

Blockchain Software Architecture – Storage Logic Components

Source: Drescher, D. (2017). Blockchain Basics. Frankfort am Main, Germany: Apress. November 3, 2018

Introduction to Blockchain - William Favre Slater, III

62

Blockchain Software Architecture – Peer-to-Peer Components

Source: Drescher, D. (2017). Blockchain Basics. Frankfort am Main, Germany: Apress. November 3, 2018

Introduction to Blockchain - William Favre Slater, III

63

Blockchain Software Architecture – Consensus Components

Source: Drescher, D. (2017). Blockchain Basics. Frankfort am Main, Germany: Apress. November 3, 2018

Introduction to Blockchain - William Favre Slater, III

64

Blockchain Software Architecture – Application Specific Components

Source: Drescher, D. (2017). Blockchain Basics. Frankfort am Main, Germany: Apress. November 3, 2018

Introduction to Blockchain - William Favre Slater, III

65

Blockchain Database Nodes are Peer-to-Peer

Source: Drescher, D. (2017). Blockchain Basics. Frankfort am Main, Germany: Apress. November 3, 2018

Introduction to Blockchain - William Favre Slater, III

66

Consensus Logic – What Makes Blockchain Trusted

Source: Drescher, D. (2017). Blockchain Basics. Frankfort am Main, Germany: Apress. November 3, 2018

Introduction to Blockchain - William Favre Slater, III

67

Architecture Summary

Source: Drescher, D. (2017). Blockchain Basics. Frankfort am Main, Germany: Apress. November 3, 2018

Introduction to Blockchain - William Favre Slater, III

68

Ownership

Source: Drescher, D. (2017). Blockchain Basics. Frankfort am Main, Germany: Apress. November 3, 2018

Introduction to Blockchain - William Favre Slater, III

69

Major Tasks Involved in Designing a System that Manages Ownership

Source: Drescher, D. (2017). Blockchain Basics. Frankfort am Main, Germany: Apress. November 3, 2018

Introduction to Blockchain - William Favre Slater, III

70

Documenting Ownership with the Blockchain

Source: Drescher, D. (2017). Blockchain Basics. Frankfort am Main, Germany: Apress. November 3, 2018

Introduction to Blockchain - William Favre Slater, III

71

Purposes and Property of a Ledger

Source: Drescher, D. (2017). Blockchain Basics. Frankfort am Main, Germany: Apress. November 3, 2018

Introduction to Blockchain - William Favre Slater, III

72

WHY IS BLOCKCHAIN AN INTERESTING AND IMPORTANT TECHNOLOGY? November 3, 2018

Introduction to Blockchain - William Favre Slater, III

73

Why Is Blockchain Important? • • •

Accessible Open source Easily provides three challenging elements of the Parkerian Hexad model for security: • Authenticity • Control • Utility

• • • • •

It WORKS! Business enabler Reduces risk of computer fraud It is being widely adopted for trusted computing Blockchain developers and architects are in great demand: for every Blockchain professional there are 14 open positions Donn B. Parker

November 3, 2018

Introduction to Blockchain - William Favre Slater, III

74

Parkerian Hexad

Donn B. Parker November 3, 2018

Introduction to Blockchain - William Favre Slater, III

75

Trending The Trends – 8 Years of Research

November 3, 2018

Introduction to Blockchain - William Favre Slater, III

76

Blockchain as an Emerging Technology

November 3, 2018

Introduction to Blockchain - William Favre Slater, III

77

Blockchain as an Emerging Technology

November 3, 2018

Introduction to Blockchain - William Favre Slater, III

78

November 3, 2018

Introduction to Blockchain - William Favre Slater, III

79

WHY BLOCKCHAIN?

November 3, 2018

Introduction to Blockchain - William Favre Slater, III

80

November 3, 2018

Introduction to Blockchain - William Favre Slater, III

81

BLOCKCHAIN USE CASE CATEGORIES

November 3, 2018

Introduction to Blockchain - William Favre Slater, III

82

November 3, 2018

Introduction to Blockchain - William Favre Slater, III

83

Case Study: Blockchain Use Cases Across Industries

Source: https://www.mckinsey.com/business-functions/digital-mckinsey/ourinsights/blockchain-beyond-the-hype-what-is-the-strategic-business-value November 3, 2018

Introduction to Blockchain - William Favre Slater, III

84

Case Study: Blockchain Feasibility Across Industries

Source: https://www.mckinsey.com/business-functions/digital-mckinsey/ourinsights/blockchain-beyond-the-hype-what-is-the-strategic-business-value November 3, 2018

Introduction to Blockchain - William Favre Slater, III

85

November 3, 2018

EXAMPLES OF REAL-WORLD BLOCKCHAIN APPLICATIONS

Introduction to Blockchain - William Favre Slater, III

86

USE CASES November 3, 2018

Introduction to Blockchain - William Favre Slater, III

87

November 3, 2018

Introduction to Blockchain - William Favre Slater, III

88

November 3, 2018

Introduction to Blockchain - William Favre Slater, III

89

November 3, 2018

Introduction to Blockchain - William Favre Slater, III

90

November 3, 2018

Introduction to Blockchain - William Favre Slater, III

91

BLOCKCHAIN SOLUTION EXAMPLES

November 3, 2018

Introduction to Blockchain - William Favre Slater, III

92

Smart Contract: Formal Definition

Source: http://www.fon.hum.uva.nl/rob/Courses/InformationInSpeech/CDROM/Literature/LOTwinter school2006/szabo.best.vwh.net/smart_contracts_2.html November 3, 2018

Introduction to Blockchain - William Favre Slater, III

93

How is a Typical Smart Contract Initiated?

Source: Digital Chamber of Commerce https://digitalchamber.org/wp-content/uploads/2018/02/Smart-Contracts-12-Use-Cases-forBusiness-and-Beyond_Chamber-of-Digital-Commerce.pdf November 3, 2018

Introduction to Blockchain - William Favre Slater, III

94

Types of Blockchain Architecture

November 3, 2018

Introduction to Blockchain - William Favre Slater, III

95

Formal Smart Contract Design: 6 Parts

November 3, 2018

Source: Digital Chamber of Commerce https://digitalchamber.org/wp-content/uploads/2018/02/Smart-Contracts-12-Use-Cases-forBusiness-and-Beyond_Chamber-of-Digital-Commerce.pdf Introduction to Blockchain - William Favre Slater, III

96

Different Models for Smart Contracts

Source: Digital Chamber of Commerce https://digitalchamber.org/wp-content/uploads/2018/02/Smart-Contracts-12-Use-Cases-forBusiness-and-Beyond_Chamber-of-Digital-Commerce.pdf November 3, 2018

Introduction to Blockchain - William Favre Slater, III

97

SMART CONTRACTS: 12 GENERAL USE CASES November 3, 2018

Introduction to Blockchain - William Favre Slater, III

98

Source: Digital Chamber of Commerce https://digitalchamber.org/wpcontent/uploads/2018/02/SmartContracts-12-Use-Cases-for-Businessand-Beyond_Chamber-of-DigitalCommerce.pdf

November 3, 2018

Introduction to Blockchain - William Favre Slater, III

99

Source: Digital Chamber of Commerce https://digitalchamber.org/wpcontent/uploads/2018/02/SmartContracts-12-Use-Cases-for-Businessand-Beyond_Chamber-of-DigitalCommerce.pdf

November 3, 2018

Introduction to Blockchain - William Favre Slater, III

100

Source: Digital Chamber of Commerce https://digitalchamber.org/wpcontent/uploads/2018/02/SmartContracts-12-Use-Cases-for-Businessand-Beyond_Chamber-of-DigitalCommerce.pdf

November 3, 2018

Introduction to Blockchain - William Favre Slater, III

101

Source: Digital Chamber of Commerce https://digitalchamber.org/wpcontent/uploads/2018/02/SmartContracts-12-Use-Cases-for-Businessand-Beyond_Chamber-of-DigitalCommerce.pdf

November 3, 2018

Introduction to Blockchain - William Favre Slater, III

102

Source: Digital Chamber of Commerce https://digitalchamber.org/wpcontent/uploads/2018/02/SmartContracts-12-Use-Cases-for-Businessand-Beyond_Chamber-of-DigitalCommerce.pdf

November 3, 2018

Introduction to Blockchain - William Favre Slater, III

103

Source: Digital Chamber of Commerce https://digitalchamber.org/wpcontent/uploads/2018/02/SmartContracts-12-Use-Cases-for-Businessand-Beyond_Chamber-of-DigitalCommerce.pdf

November 3, 2018

Introduction to Blockchain - William Favre Slater, III

104

Source: Digital Chamber of Commerce https://digitalchamber.org/wpcontent/uploads/2018/02/SmartContracts-12-Use-Cases-for-Businessand-Beyond_Chamber-of-DigitalCommerce.pdf

November 3, 2018

Introduction to Blockchain - William Favre Slater, III

105

Source: Digital Chamber of Commerce https://digitalchamber.org/wpcontent/uploads/2018/02/SmartContracts-12-Use-Cases-for-Businessand-Beyond_Chamber-of-DigitalCommerce.pdf

November 3, 2018

Introduction to Blockchain - William Favre Slater, III

106

Source: Digital Chamber of Commerce https://digitalchamber.org/wpcontent/uploads/2018/02/SmartContracts-12-Use-Cases-for-Businessand-Beyond_Chamber-of-DigitalCommerce.pdf

November 3, 2018

Introduction to Blockchain - William Favre Slater, III

107

Source: Digital Chamber of Commerce https://digitalchamber.org/wpcontent/uploads/2018/02/SmartContracts-12-Use-Cases-for-Businessand-Beyond_Chamber-of-DigitalCommerce.pdf

November 3, 2018

Introduction to Blockchain - William Favre Slater, III

108

Source: Digital Chamber of Commerce https://digitalchamber.org/wpcontent/uploads/2018/02/SmartContracts-12-Use-Cases-for-Businessand-Beyond_Chamber-of-DigitalCommerce.pdf

November 3, 2018

Introduction to Blockchain - William Favre Slater, III

109

Source: Digital Chamber of Commerce https://digitalchamber.org/wpcontent/uploads/2018/02/SmartContracts-12-Use-Cases-for-Businessand-Beyond_Chamber-of-DigitalCommerce.pdf

November 3, 2018

Introduction to Blockchain - William Favre Slater, III

110

Source: Digital Chamber of Commerce https://digitalchamber.org/wpcontent/uploads/2018/02/SmartContracts-12-Use-Cases-for-Businessand-Beyond_Chamber-of-DigitalCommerce.pdf

November 3, 2018

Introduction to Blockchain - William Favre Slater, III

111

DAPP DEVELOPMENT STEPS

November 3, 2018

Introduction to Blockchain - William Favre Slater, III

112

DApp Development Steps Analysis Design Implementation

Analysis Identify the entities involved, their roles and types of interactions between them (e.g. contract owner, users, devices)

Design Model the entity attributes as state variables and interactions between them as functions. Also capture the dependencies and constraints

Implementation Implement the contracts (including state variables, functions, modifier and events) in a higher-level languages such as Solidity For Dapp, also implement the front-end (HTML and CSS) and backend (Javascript).

November 3, 2018

Introduction to Blockchain - William Favre Slater, III

113

DApp Development Steps - Analysis Campaign Owner

· ·

Creates campaign Checks Campaign status

Crowdfunding Campaign

·

Fund campaign

Campaign backers

Source: Blockchain Applications: A Hands-on Approach by Arsheep Bahga and Vijay Madisetti November 3, 2018

Introduction to Blockchain - William Favre Slater, III

114

DApp Development Steps – Design Example Campaign Owner

}

·

address public owner;

· · · · · ·

uint public backers; uint public deadline; string public campaignStatus; bool ended; uint public goal; uint public amountRaised;

· ·

struct Backer {address addr; uint amount;} mapping (uint => Backer) backers;

}

· ·

Creates campaign Checks Campaign status

}

Crowdfunding Campaign

·

Fund campaign

Campaign backers · · ·

Crowdfunding(uint_deadline, uint_goal) checkGoalReached () fund()

Source: Blockchain Applications: A Hands-on Approach by Arsheep Bahga and Vijay Madisetti November 3, 2018

Introduction to Blockchain - William Favre Slater, III

115

DApp Development Steps – Implementation - Example (Example Business Case: Crowdfunding Application)

Creates and owns

Externally Owned Account

Transaction: Create Contract

Create contract

Contract Crowdfunding State Variables

· ·

uint deadline uint goal

Transaction: checkGoalReached ()

Check if crowdfunding goal is reached

· · · · · · · · ·

struct Backer {address addr; uint amount;} address public owner; uint public backers; uint public deadline; string public campaignStatus; bool ended; uint public goal; uint public amountRaised; mapping (uint => Backer) backers;

Functions · · · ·

EOAs send transactions

Crowdfunding(uint_deadline, uint_goal) checkGoalReached () fund() destroy()

Modifiers Transaction: fund () EOAs

·

Fund campaign

value

·

onlyOwner()

· ·

Deposit (address_from,uint_amount) Refund (address_to,uint_amount)

Events

Source: Blockchain Applications: A Hands-on Approach by Arsheep Bahga and Vijay Madisetti November 3, 2018

Introduction to Blockchain - William Favre Slater, III

116

BLOCKCHAIN APPLICATION TEMPLATES

November 3, 2018

Introduction to Blockchain - William Favre Slater, III

117

Blockchain Application Templates Many-to-One Contract owner Creates and owns

Externally Owned Account (EOA)

Calls and Transactions

Contract

State Variables

Account Address Account Keys

Functions

Ether Balance

Modifiers

Users

Events Calls and Transactions EOAs

Some Current Examples · · · ·

Crowdfunding Event Registration Voting Name Registration

Source: Blockchain Applications: A Hands-on Approach by Arsheep Bahga and Vijay Madisetti November 3, 2018

Introduction to Blockchain - William Favre Slater, III

118

Blockchain Application Templates Many-to-One for IoT Applications

Contract owner

Externally Owned Account (EOA)

Contract

Calls and Transactions

State Variables

Functions Calls and Transactions Modifiers

Users

IoT Device

Events

Calls and Transactions EOAs

Some Current Examples · ·

Solar charging stations Smart switch

Source: Blockchain Applications: A Hands-on Approach by Arsheep Bahga and Vijay Madisetti

November 3, 2018

Introduction to Blockchain - William Favre Slater, III

119

Blockchain Application Templates Many-to-One for Financial Applications Contract owner

Calls and Transactions EOA

Contract Calls and Transactions

Users

State Variables

Calls and Transactions

Users

Functions EOAs

EOAs Modifiers Roles

Roles · · ·

Events

Seller Producer Creator

· · ·

Buyer Consumer Verifier

Some Current Examples · · ·

Product sales Stock photos Document verification

Source: Blockchain Applications: A Hands-on Approach by Arsheep Bahga and Vijay Madisetti November 3, 2018

Introduction to Blockchain - William Favre Slater, III

120

Blockchain Application Templates Many-to-Many or Peer-to-Peer

Party B

Contract 2. Initiate contract

5. Validate contract

State Variables 3. Authorize account

6. Authorize account

nd t Fu un 1. cco a

Functions

A’s Trading Account 8. Settlement

Modifiers

B’s Trading Account

4 ac . Fu co n d un t

Party A

7. Settlement

Events

Some Current Examples · ·

Call option Interest rate swap

Source: Blockchain Applications: A Hands-on Approach by Arsheep Bahga and Vijay Madisetti

November 3, 2018

Introduction to Blockchain - William Favre Slater, III

121

2142 Ethereum DApps currently Source: https://www.stateofthedapps.com/

2142 Ethereum DApps currently Source: https://www.stateofthedapps.com/

Ethereum DApps By Category

Source: https://www.stateofthedapps.com/

GETTING STARTED IN BLOCKCHAIN

November 3, 2018

Introduction to Blockchain - William Favre Slater, III

125

The Required Skills for a Blockchain Development Staff

November 3, 2018

Introduction to Blockchain - William Favre Slater, III

126

Additional Required Skills for a Blockchain Development Staff Web3.js DApp development UI and UX Design and Testing Skills Deep understanding of compiled code, Gas, and the Ethereum Virtual Machine (EVM) Secure coding Defensive coding Egoless Programming And don’t forget Stringent Code Reviews PROJECT MANAGEMENT! Networking Understanding of Protocols Planning Requirements Technical Specifications and Writing Design Architecture – Infrastructure, Data, and Security Testing – Testing – Testing Simulation Troubleshooting

November 3, 2018

Introduction to Blockchain - William Favre Slater, III

127

Blockchain Introduction and Orientation

Review RealWorld Use Cases and Applications

Read Papers & Join Blockchain Meetup Groups, and other Blockchain-related Organizations like www.isoc-bsig.org

Analyze your initial Blockchain Needs and Requirements

Baseline your Capabilities

Perform Gap Analysis of Needs versus Capabilities

Remediate Skills Gap with Consultants, Training, and/or Mentoring

Perform Detailed Requirements Analysis

Create a Blockchain Solution Design Based on the Detailed Analysis

Crawl

Perform a Baseline Skills Inventory and Assessment

Select the Type of Blockchain

Prepare and Validate the Blockchain DApp Development Environment

Implement a Prototype a Proof of Concept DApp solution

Validate the DApp Prototype

Add Additional Features to the DApp Prototype

Test, Validate, and Publish Results

Walk

Start

Learn the Terminology and Concepts.

Perform Detailed Requirements Analysis

Identify the Appropriate Blockchain Solutions Template

Create a Blockchain Solution Design Based on the Detailed Analysis and the Appropriate DApp Template

Create an Implementation Diagram for the Blockchain Dapp Solution based on the Design

Implement the Blockchain DApp Solution based on the Implementation Diagram

Test and Optimize the DApp for Optimal Performance, and Validate against Requirements

Run

Preparation Orientation

Roadmap to "Blockchain" Your IT Organization: How to Help Your IT Staff GoThe from Roadmap Square One to Competence & Dominance in Blockchain Technologies

Review Lessons Learned from Previous Tracks or DApps

Focus on Implementing Techniques to Optimize the Analysis, Design, Testing and Implementation

Incorporate the use of Agile/Scrum and DevOps in the Blockchain Solution Development Lifecycle

Perform Analysis, Design Testing and Implementation based on Previous Experience and Lessons Learned

Test and Optimize the DApp for Optimal Performance, and Validate against Requirements & Publish Results

Continue Continuosly

November 3, 2018

Introduction to Blockchain - William Favre Slater, III

128

November 3, 2018

Introduction to Blockchain - William Favre Slater, III

129

The Challenges • Huge Learning Curve • DApps with Web3 and the EVM are not your Father’s Web Developer Workbench • You can really screw this up – easily • Learning Egoless Programming • Turnover – Once people get training and experience they may leave

November 3, 2018

Introduction to Blockchain - William Favre Slater, III

130

Solving the Challenges and Winning • Find and utilize quality resources to accelerate your learning curve and immersion into the Blockchain World • Establish a Blockchain Expert or Champion imbued with the responsibility to be the Blockchain Evangelist • Build strong Learning Teams – Use Peter Senge’s Learning Team Disciplines • • • • •

Shared Vision Personal Mastery Mental Modeling Team Learning Systems Thinking

• Stay abreast of Blockchain Technologies and Blockchain Politics and Blockchain Evolution • Join and participate in Local Blockchain Meetups • Go International - Get involved with the Internet Society and the Blockchain Special Interest Group - Both are free and the Blockchain SIG has great people and projects and leadership www.internetsociety.com https://www.isoc-bsig.org/ https://www.linkedin.com/company/isoc-blockchain-sig/

November 3, 2018

Introduction to Blockchain - William Favre Slater, III

131

CASE STUDIES

November 3, 2018

Introduction to Blockchain - William Favre Slater, III

132

Case Study 1 • Timeframe: Summer of 2018 • Location: Chicago • Topic: Teaching Interns who are Technical People with Graduate degrees free Blockchain classes • 33 started, 4 remain • First Project: We are converting and existing Time Tracking GUI Application to an Ethereum DApp • Second Project: Designing and Implementing a DApp Solution from Scratch • We are working together from June 1 – December 31, 2018

November 3, 2018

Introduction to Blockchain - William Favre Slater, III

133

Case Study 2 • Timeframe: November 2017 • Location: User devops199 somewhere on the Ethereum Blockchain • Topic: Placement in Production of flawed Smart Contract • Results: Loss of over $150 million

November 3, 2018

Introduction to Blockchain - William Favre Slater, III

134

$150,000,000 bug

SOME VALUABLE RESOURCES

November 3, 2018

Introduction to Blockchain - William Favre Slater, III

136

Sample Code Resources

Mastering Blockchain, Second Edition by Imran Bashir

November 3, 2018

Ethereum Smart Contract Development by Mayukh Mukhopadhyay

Introduction to Blockchain - William Favre Slater, III

Solidity Programming Essentials: A beginner's guide to build smart contracts for Ethereum and blockchain by Ritesh Modi

137

Sample Code Resources

Building Blockchain Projects: Building Decentralized Blockchain Applications with Ethereum and Solidity By Narayan Prusty

November 3, 2018

Blockchain Applications: A Hands-On Approach by Arshdeep Bahga and Vijay Madisetti

Introduction to Blockchain - William Favre Slater, III

Ethereum, Tokens & Smart Contracts: Notes on getting started by Eugenio Noyola

138

CONCLUSION

November 3, 2018

Introduction to Blockchain - William Favre Slater, III

139

Conclusion We covered: • • • • • • •

What is Blockchain? Types of Blockchains How does Blockchain work? Blockchain Architecture Blockchain Uses and Use Cases Blockchain DApp Development Steps How Can You Accelerate Your Blockchain Understanding, Knowledge and Skills?

November 3, 2018

Introduction to Blockchain - William Favre Slater, III

140

Polite Reminder Monday, November 5, 2018, you have a great opportunity to sign up for the very first academic Blockchain class that will be taught at IIT in the School of Applied Technology. It is a 3-credit hour class. ITMS 479 (Undergraduate) ITMS 579 (Graduate)

By the end of this class you should have some very marketable skills You already know the Professor who is assigned to teach it. November 3, 2018

Introduction to Blockchain - William Favre Slater, III

William Favre Slater, III

141

Special Thanks To Chicago’s Best Blockchain Buddies:

Joe Hernandez Co-Founder of the Chicago Blockchain Project

November 3, 2018

Hannah Rosenburg Co-Founder of the Chicago Bitcoin and Open Blockchain Meetup

Introduction to Blockchain - William Favre Slater, III

142

Special Thanks To:

Vitalik Buterin Inventor of Ethereum

November 3, 2018

Introduction to Blockchain - William Favre Slater, III

143

Questions?

Crypto Rebels Revealed Wired Magazine, February 1993

November 3, 2018

General George S. Patton

Introduction to Blockchain - William Favre Slater, III

144

November 3, 2018

Introduction to Blockchain - William Favre Slater, III

145

William Favre Slater, II ➢ 312-758-0307 ➢ [email protected][email protected]

➢ http://billslater.com/interview ➢ 1515 W. Haddon Ave., Unit 309 Chicago, IL 60642 United States of America November 3, 2018

Introduction to Blockchain - William Favre Slater, III

William Favre Slater, III 146

REFERENCES

November 3, 2018

Introduction to Blockchain - William Favre Slater, III

147

References •Antonopoulos, A. M. (2018). Mastering Bitcoin: Programming the Open Blockchain, second edition. Sebastopol, CA: O’Reilly Media, Inc. •Associated Press. (2014). Mt. Gox finds 200,000 missing bitcoins. Retrieved from http://money.msn.com/business-news/article.aspx?feed=AP&date=20140321&id=17454291 on March 21, 2014. •Bahga, A. and Madisetti, V. (2017). Blockchain Applications: A Hands-On Approach. Published by Arshdeep Bahga and Vijay Madisetti. www.blockchain-book.com . •Bambara, J. J. and Allen P. R. (2018). Blockchain: A Practical Guide to Developing Business, Law, and Technology Solutions. New York, NY: McGraw-Hill Education. •Bashir, I. (2018). Mastering Blockchain, second edition. Birmingham, UK: Packt Publishing Ltd. •BBC. (2014). Troubled MtGox Bitcoin boss emerges after shut down Retrieved from http://www.bbc.com/news/technology-26352442 on February 26, 2014. •Bitcoin. (2014). Bitcoin. Retrieved from https://bitcoin.com/ on April 10, 2014. •Bitcoin Charts. (2014). Bitcoin Charts. Retrieved from http://bitcoincharts.com/ on March 1, 2014. •Bitcoin Foundation. (2014). Bitcoin Foundation. Retrieved from https://bitcoinfoundation.org/ on April 10, 2014. •Bitcoin Links: http://bit.ly/1eixu78 (over 272 million) •Bitcoin.org. (2014). Bitcoin.org FAQs.. Retrieved from https://bitcoin.org/en/faq on April 10, 2014.

November 3, 2018

Introduction to Blockchain - William Favre Slater, III

148

References •Bitcoin Scammers. (2014). Bit Coin Scammers. Retrieved from http://bitcoinscammers.com/ on April 9, 2014. •Brown, E. Bitcoin bubble could burst as investors rush to withdraw cash. Retrieved from http://www.zdnet.com/bitcoin-bubble-could-burst-as-investors-rush-to-withdraw-cash-7000026410/ on February 17, 2014. •Casey, M. J. and Vigna, P. (2018). The Truth Machine: The Blockchain Reference and the Future of Everything. New York, NY: St. Martin’s Press. •Caughey, M. (2013). Bitcoin Step by Step, second edition. Amazon Digital Services. •Caughey, M. (2013). Bitcoin Mining Step by Step. Amazon Digital Services. •Champagne, P. (2014). The Book of Satoshi: The Collected Writings of Bitcoin Creator Satoshi Nakamoto. Published by E53 Publishing, LLC. •Chen, C. (2014). PBOC Orders All Chinese Banks And Third Party Payment Processors To Close Accounts Of Chinese Bitcoin Exchanges by 4/15. Retrieved from http://www.cryptocoinsnews.com/2014/03/27/pboc-orders-all-chinese-banks-third-party-paymentprocessors-shut-accounts-15-chinese-bitcoin-exchanges-april-15th/ on March 27, 2014. •Dannen, C. (2017). Introducing Ethereum and Solidity: Foundations of Crytocurrency and Blockchain Programming for Beginners. New York, NY: Apress •De Filippi, P. and Wright, A. (2018). Blockchain and the Law: the Rule of Code. Cambridge, MA: President and Fellows of Harvard College.

November 3, 2018

Introduction to Blockchain - William Favre Slater, III

149

References •Demeester, T. (2014). Whither the Price of Bitcoin? Retreived from http://www.coindesk.com/whither-price-bitcoin/ on April 12, 2014. •Dhillon, V., Metcalf, D., and Hooper, M. (2017). Blockchain Enabled Applications: Understand the Blockchain Ecosystem and How to Nake It Work for You. New York, NY: Apress. •Drescher, D. (2017). Blockchain Basics. Frankfort am Main, Germany: Apress. •Eddison, L. (2017). Ethereum: A Deep Dive into Ethereum. Published by Leonard Eddison. •Etwaru, R. (2017). Blockchain Trust Companies. Indianapolis, IN: Dog Ear Publishing. •Gerard, D. (2107), Attack of the 50 Foot Blockchain: Bitcoin, Blockchain, Ethereum, and Smart Contracts. Published by David Gerard. www.davidgerard.co.uk/blockchain . •Hacking, J. (2014). Calif. man, Satoshi Nakamoto denies to be a Bitcoin founder. Retrieved from http://www.thewestsidestory.net/2014/03/07/calif-man-satoshi-nakmoto-denies-bitcoin-founder/ on March 7, 2014. •Hornyak, T. (2014). 'Malleability' attacks not to blame for Mt. Gox's missing bitcoins, study says. Retrieved from http://www.pcworld.com/article/2114200/malleability-attacks-not-to-blame-for-mtgoxs-missing-bitcoins-study-says.html on March 27, 2014. •Incencio, R. (2014). Ransomware and Bitcoin Theft Combine in BitCrypt. Retrieved from http://blog.trendmicro.com/trendlabs-security-intelligence/ransomware-and-bitcoin-theft-combine-inbitcrypt/ on March 27, 2014. •Kadhim Shubber, K. 2014. Gavin Andresen Steps Down as Bitcoin’s Lead Developer. Retrieved from http://www.coindesk.com/gavin-andresen-steps-bitcoins-lead-developer/ on April 8, 2014.

November 3, 2018

Introduction to Blockchain - William Favre Slater, III

150

References

•Laurence, T. (2017). Blockchain for Dummies. Hoboken, NJ: John Wiley & Sons, Inc. •Lee, T. B. (2013). 12 questions about Bitcoin you were too embarrassed to ask. Retrieved from http://www.washingtonpost.com/blogs/the-switch/wp/2013/11/19/12-questions-you-were-tooembarrassed-to-ask-about-bitcoin/ on November 19, 2013. •Markowitz, E. (2014). Cryptocurrencies Are the New Spam Frontier. Retrieved from http://www.vocativ.com/tech/bitcoin/cryptocurrencies-new-spam-frontier/ on March 28, 2014. •Kadhim Shubber, K. 2014. Gavin Andresen Steps Down as Bitcoin’s Lead Developer. Retrieved from http://www.coindesk.com/gavin-andresen-steps-bitcoins-lead-developer/ on April 8, 2014. •Laurence, T. (2017). Blockchain for Dummies. Hoboken, NJ: John Wiley & Sons, Inc. •Lee, T. B. (2013). 12 questions about Bitcoin you were too embarrassed to ask. Retrieved from http://www.washingtonpost.com/blogs/the-switch/wp/2013/11/19/12-questions-you-were-tooembarrassed-to-ask-about-bitcoin/ on November 19, 2013. •Markowitz, E. (2014). Cryptocurrencies Are the New Spam Frontier. Retrieved from http://www.vocativ.com/tech/bitcoin/cryptocurrencies-new-spam-frontier/ on March 28, 2014. •Ma, M. (2017). Blockchain Design Sprint: An Agile Innovation Workbook to Implement an Agile Design Sprint for your Blockchain Business. Published by Future Lab www.futurelabconsulting.com •NameCheap. (2014. NameCheap accepts Bitcoin for Domain Name Registration. Retrieved from https://www.namecheap.com/domains/registration.aspx?utm_source=facebook&utm_medium=ppc&ut m_content=Namecheap%2Baccepts%2Bbitcoin%2Bpayments&utm_campaign=Bitcoin%2Bcampaign on March 25, 2014. •Nakamoto. S. (2008). Bitcoin: A Peer-to-Peer Electronic Cash System. Retrieved from https://bitcoin.org/bitcoin.pdf on November 1, 2013. November 3, 2018

Introduction to Blockchain - William Favre Slater, III

151

References •Noyola, E. (2018). Ethereum: Ethereum, Tokens and Smart Contracts. Published by Eugenio Noyola. •Peterson, O. (2018). An Introduction of Programmable Smart Contracts in Ethereum (Pt 1). Retrieved from https://www.linkedin.com/pulse/introduction-programmable-smart-contractsethereum-p1-%CE%BE%CE%BE%CE%BE-oliver/ on February 1, 2018. •Petrovan, B. (2014) Researchers find Android apps that covertly mine Dogecoin, one of them with more than a million downloads. Retrieved from http://www.androidauthority.com/dogecoin-miningandroid-apps-362142/ on March 27, 2014. •Popper, N. (2013). Into the Bitcoin Mines, Retrieved from http://dealbook.nytimes.com/2013/12/21/into-the-bitcoin-mines/?hp&_r=0 on December 21, 2013. •Preev. (2014). Current Value of Bitcoin. Retrieved from http://preev.com/ on March 20, 2014. •Prusty, N. (2017). Building Blockchain Projects: Building Decentralized Blockchain Applications with Ethereum and Solidity. Birmingham, UK: Pact Publishing. •SCGNEWS. (2014). Bitcoin Flash Crash - 80% Drop in Seconds - Down 20% After Stabilizing. Retrieved from http://scgnews.com/bitcoin-flash-crash-80-drop-in-seconds-down-20-after-stabilizing on February 10, 2014. •SCGNEWS. (2014). The IRS Just Declared War on Bitcoin - Retroactively. Retrieved from http://scgnews.com/the-irs-just-declared-war-on-bitcoin-retroactively on March 27, 2014. •Sharkey, T. (2014. Inside Bitcoins NYC Day 1: Bitcoin 2.0 Takes Center Stage. Retrieved from http://www.coindesk.com/inside-bitcoins-nyc-day-1-bitcoin-2-0-takes-center-stage/ on April 8, 2014.

November 3, 2018

Introduction to Blockchain - William Favre Slater, III

152

References: Best Blockchain Texts •Mastering Blockchain - Second Edition –by Imran Bashir

•Introducing Ethereum and Solidity: Foundations of Cryptocurrency and Blockchain Programming for Beginners –By Chris Dannen

•Blockchain Applications: A Hands-On Approach –by Arshdeep Bahga and Vijay Madisetti

•Ethereum, tokens & smart contracts: Notes on getting started –by Eugenio Noyola

•Blockchain Enabled Applications: Understand the Blockchain Ecosystem and How to Make it Work for You –by Vikram Dhillon, David Metcalf, Max Hooper

•The Book of Satoshi: The Collected Writings od Bitcoin Creator Satoshi Nakamoto –By Phil Champagne

November 3, 2018

Introduction to Blockchain - William Favre Slater, III

153

November 3, 2018

SUPPLEMENTAL SLIDES

Introduction to Blockchain - William Favre Slater, III

154

SOLIDITY DAPPS STRUCTURE

November 3, 2018

Introduction to Blockchain - William Favre Slater, III

155

DApps

November 3, 2018

Introduction to Blockchain - William Favre Slater, III

156

High-Level Dapp Architecture

Source: Ethereum Smart Contract Development by Mayukh Mukhopadhyay November 3, 2018

Introduction to Blockchain - William Favre Slater, III

157

Web3.js Tech Stack

November 3, 2018

Introduction to Blockchain - William Favre Slater, III

158

Web Apps and Dapps

November 3, 2018

Introduction to Blockchain - William Favre Slater, III

159

Summarized Declarations of a Solidity Smart Contract

Source: Ethereum Smart Contract Development by Mayukh Mukhopadhyay November 3, 2018

Introduction to Blockchain - William Favre Slater, III

160

November 3, 2018

Introduction to Blockchain - William Favre Slater, III

161

Structure of a Smart Contract

Source: Building Blockchain Projects: Building Decentralized Blockchain Applications with Ethereum and Solidity By Narayan Prusty

November 3, 2018

Introduction to Blockchain - William Favre Slater, III

162

November 3, 2018

Contract

State Variables

Functions

Modifiers

Events

Introduction to Blockchain - William Favre Slater, III

163

November 3, 2018

Contract Crowdfunding State Variables · · · · · · · · ·

struct Backer {address addr; uint amount;} address public owner; uint public backers; uint public deadline; string public campaignStatus; bool ended; uint public goal; uint public amountRaised; mapping (uint => Backer) backers;

Functions · · · ·

Crowdfunding(uint_deadline, uint_goal) checkGoalReached () fund() destroy()

Modifiers ·

onlyOwner()

Events · ·

Introduction to Blockchain - William Favre Slater, III

Deposit (address_from,uint_amount) Refund (address_to,uint_amount)

164

DATA CENTER DAPP

November 3, 2018

Introduction to Blockchain - William Favre Slater, III

165

Commissioning Process

November 3, 2018

Introduction to Blockchain - William Favre Slater, III

166

Commissioning Process

November 3, 2018

Introduction to Blockchain - William Favre Slater, III

167

Commissioning Process

November 3, 2018

Introduction to Blockchain - William Favre Slater, III

168

Commissioning Reports

November 3, 2018

Introduction to Blockchain - William Favre Slater, III

169

Commissioning Reports

November 3, 2018

Introduction to Blockchain - William Favre Slater, III

170

Commissioning Phases Design & Planning Construction Startup & Commissioning Occupancy

November 3, 2018

Introduction to Blockchain - William Favre Slater, III

171

Commissioning Phase – Construction

November 3, 2018

Introduction to Blockchain - William Favre Slater, III

172

Commissioning Phase – Design & Planning

November 3, 2018

Introduction to Blockchain - William Favre Slater, III

173

Commissioning Phase – Startup & Commissioning

November 3, 2018

Introduction to Blockchain - William Favre Slater, III

174

Commissioning Phase - Occupancy

November 3, 2018

Introduction to Blockchain - William Favre Slater, III

175

Commissioning Reports

November 3, 2018

Introduction to Blockchain - William Favre Slater, III

176

Commissioning Reports

November 3, 2018

Introduction to Blockchain - William Favre Slater, III

177

UI IMPLEMENTATION November 3, 2018

Introduction to Blockchain - William Favre Slater, III

178

Logon

November 3, 2018

Introduction to Blockchain - William Favre Slater, III

179

Main Menu

November 3, 2018

Introduction to Blockchain - William Favre Slater, III

180

Entry

November 3, 2018

Introduction to Blockchain - William Favre Slater, III

181

Queries

November 3, 2018

Introduction to Blockchain - William Favre Slater, III

182

Reports

November 3, 2018

Introduction to Blockchain - William Favre Slater, III

183

AUTHENTICATION IN THE BLOCKCHAIN November 3, 2018

Introduction to Blockchain - William Favre Slater, III

184

Authentication in the Blockchain •Blockchain uses asymmetric cryptography for two purposes –Identification of actors –Authorization of transactions

Source: Drescher, D. (2017). Blockchain Basics. Frankfort am Main, Germany: Apress. November 3, 2018

Introduction to Blockchain - William Favre Slater, III

185

Authentication in the Blockchain

Source: Drescher, D. (2017). Blockchain Basics. Frankfort am Main, Germany: Apress. November 3, 2018

Introduction to Blockchain - William Favre Slater, III

186

ETHEREUM BLOCKCHAIN TECHNOLOGY November 3, 2018

Introduction to Blockchain - William Favre Slater, III

187

Overview of Ethereum

Source: Building Blockchain Projects, by Narayan Prusty (Published by Packt.) November 3, 2018

Introduction to Blockchain - William Favre Slater, III

188

Overview of Ethereum (continued)

by mining blocks Source: Building Blockchain Projects, by Narayan Prusty (Published by Packt.) November 3, 2018

Introduction to Blockchain - William Favre Slater, III

189

Ethereum Accounts

Source: Building Blockchain Projects, by Narayan Prusty (Published by Packt.) November 3, 2018

Introduction to Blockchain - William Favre Slater, III

190

Ethereum Accounts (continued)

Source: Building Blockchain Projects, by Narayan Prusty (Published by Packt.) November 3, 2018

Introduction to Blockchain - William Favre Slater, III

191

Ethereum Accounts (continued)

Source: Building Blockchain Projects, by Narayan Prusty (Published by Packt.) November 3, 2018

Introduction to Blockchain - William Favre Slater, III

192

Ethereum Transactions

Source: Building Blockchain Projects, by Narayan Prusty (Published by Packt.) November 3, 2018

Introduction to Blockchain - William Favre Slater, III

193

Ethereum Transactions (continued)

Source: Building Blockchain Projects, by Narayan Prusty (Published by Packt.) November 3, 2018

Introduction to Blockchain - William Favre Slater, III

194

Consensus

Source: Building Blockchain Projects, by Narayan Prusty (Published by Packt.) November 3, 2018

Introduction to Blockchain - William Favre Slater, III

195

Consensus (continued)

Source: Building Blockchain Projects, by Narayan Prusty (Published by Packt.) November 3, 2018

Introduction to Blockchain - William Favre Slater, III

196

Consensus (continued)

Source: Building Blockchain Projects, by Narayan Prusty (Published by Packt.) November 3, 2018

Introduction to Blockchain - William Favre Slater, III

197

Consensus (continued)

Source: Building Blockchain Projects, by Narayan Prusty (Published by Packt.) November 3, 2018

Introduction to Blockchain - William Favre Slater, III

198

Consensus (continued)

Source: Building Blockchain Projects, by Narayan Prusty (Published by Packt.) November 3, 2018

Introduction to Blockchain - William Favre Slater, III

199

Consensus (continued)

Source: Building Blockchain Projects, by Narayan Prusty (Published by Packt.) November 3, 2018

Introduction to Blockchain - William Favre Slater, III

200

Consensus (continued)

Source: Building Blockchain Projects, by Narayan Prusty (Published by Packt) November 3, 2018

Introduction to Blockchain - William Favre Slater, III

201

Ethereum Blockchain Block Validator Algorithm

Source: Introducing Ethereum and Solidity – by Chris Dannen (Published by Apress) November 3, 2018

Introduction to Blockchain - William Favre Slater, III

202

Ethereum Blockchain Block Validator Algorithm

Source: Introducing Ethereum and Solidity – by Chris Dannen (Published by Apress) November 3, 2018

Introduction to Blockchain - William Favre Slater, III

203

Merkle Patricia Trees

Source: Introducing Ethereum and Solidity – by Chris Dannen (Published by Apress) November 3, 2018

Introduction to Blockchain - William Favre Slater, III

204

Merkle Trees •Merkle Trees are used to add transactions to Blocks in Bitcoin Blockchains

Source: Drescher, D. (2017). Blockchain Basics. Frankfort am Main, Germany: Apress. November 3, 2018

Introduction to Blockchain - William Favre Slater, III

205

Merkle Tree

Source: Nakamoto, S. (2008). November 3, 2018

Introduction to Blockchain - William Favre Slater, III

206

Merkle Trees •Merkle Patricia Trees (MPT) data structures are used to add transactions to Blocks in Ethereum Blockchains to permit the use of Smart Contracts •MPTs use private and public keys to authenticate •The Ethereum Blockchain is categorized as “Turing Complete” because it can be programmed using languages, like Solidity and Java, and Javascript that contain looping and testing capabilities.

Source: Peterson, O. (2018). An Introduction of Programmable Smart Contracts in Ethereum (Pt 1). Retrieved from https://www.linkedin.com/pulse/introduction-programmable-smart-contractsethereum-p1-%CE%BE%CE%BE%CE%BE-oliver/ November 3, 2018

Introduction to Blockchain - William Favre Slater, III

207

Merkle Patricia Trees

Source: Introducing Ethereum and Solidity – by Chris Dannen (Published by Apress) November 3, 2018

Introduction to Blockchain - William Favre Slater, III

208

Ethereum Hashing – SHA-3

Source: Mastering Blockchain by Imran Bashir (Published by Packt.) November 3, 2018

Introduction to Blockchain - William Favre Slater, III

209

ERC Tokens

Source: Mastering Blockchain by Imran Bashir (Published by Packt.) November 3, 2018

Introduction to Blockchain - William Favre Slater, III

210

ERC Tokens • ERC-721 is the standard for Ethereum tokens that are not related to cryptocurrency. – http://erc721.org/ – https://medium.com/@brenn.a.hill/noobs-guide-to-understanding-erc20-vs-erc-721-tokens-d7f5657a4ee7

Source: Mastering Blockchain by Imran Bashir (Published by Packt.) November 3, 2018

Introduction to Blockchain - William Favre Slater, III

211

Ethereum Blockchain

Source: Mastering Blockchain by Imran Bashir (Published by Packt.) November 3, 2018

Introduction to Blockchain - William Favre Slater, III

212

Ethereum Architecture

Source: Mastering Blockchain by Imran Bashir (Published by Packt.) November 3, 2018

Introduction to Blockchain - William Favre Slater, III

213

EVM Operation and Architecture

Source: Mastering Blockchain by Imran Bashir (Published by Packt.) November 3, 2018

Introduction to Blockchain - William Favre Slater, III

214

Huge Resources for Ethereum and Solidity

Huge Goldmine!!! Source: Chris Dannen - http://trees.eth.guide/#resources-abi November 3, 2018

Introduction to Blockchain - William Favre Slater, III

215

Solidity and Smart Contracts

Source: http://solidity.readthedocs.io/en/develop/index.html November 3, 2018

Introduction to Blockchain - William Favre Slater, III

216

Download Geth

Source: https://geth.ethereum.org/downloads/ November 3, 2018

Introduction to Blockchain - William Favre Slater, III

217

Installing Geth

Source: https://ethereum.github.io/go-ethereum/install/ November 3, 2018

Introduction to Blockchain - William Favre Slater, III

218

Starting the Javascript Console

Source: https://github.com/ethereum/go-ethereum/wiki/JavaScript-Console November 3, 2018

Introduction to Blockchain - William Favre Slater, III

219

Getting Started with Ethereum Private Blockchain

Source: https://dzone.com/refcardz/getting-started-with-etherium-private-blockchain?chapter=1/ November 3, 2018

Introduction to Blockchain - William Favre Slater, III

220

Geth Command Line

Source: https://github.com/ethereum/go-ethereum/wiki/Command-Line-Options November 3, 2018

Introduction to Blockchain - William Favre Slater, III

221

In Windows, Geth at the Command Line

November 3, 2018

Introduction to Blockchain - William Favre Slater, III

222

In Windows, Geth at the Command Line

Source: Introducing Ethereum and Solidity – by Chris Dannen (Published by Apress) November 3, 2018

Introduction to Blockchain - William Favre Slater, III

223

In Windows, Geth at the Command Line

Source: Introducing Ethereum and Solidity – by Chris Dannen (Published by Apress) November 3, 2018

Introduction to Blockchain - William Favre Slater, III

224

In Windows, Geth at the Command Line

Source: Introducing Ethereum and Solidity – by Chris Dannen (Published by Apress) November 3, 2018

Introduction to Blockchain - William Favre Slater, III

225

In Windows, Geth at the Command Line

Source: Introducing Ethereum and Solidity – by Chris Dannen (Published by Apress) November 3, 2018

Introduction to Blockchain - William Favre Slater, III

226

In Windows, Geth at the Command Line

Source: Introducing Ethereum and Solidity – by Chris Dannen (Published by Apress) November 3, 2018

Introduction to Blockchain - William Favre Slater, III

227

In Windows, Geth at the Command Line

November 3, 2018

Introduction to Blockchain - William Favre Slater, III

228

In Windows, Geth at the Command Line

November 3, 2018

Introduction to Blockchain - William Favre Slater, III

229

In Windows, Geth at the Command Line

Source: Introducing Ethereum and Solidity – by Chris Dannen (Published by Apress) November 3, 2018

Introduction to Blockchain - William Favre Slater, III

230

In Windows, Geth at the Command Line

Source: Introducing Ethereum and Solidity – by Chris Dannen (Published by Apress) November 3, 2018

Introduction to Blockchain - William Favre Slater, III

231

In Windows, Geth at the Command Line

Source: Introducing Ethereum and Solidity – by Chris Dannen (Published by Apress) November 3, 2018

Introduction to Blockchain - William Favre Slater, III

232

Smart Contract Execution

Source: https://dzone.com/refcardz/getting-started-with-etherium-private-blockchain?chapter=1/ November 3, 2018

Introduction to Blockchain - William Favre Slater, III

233

OTHER BLOCKCHAINS TO EXPLORE

November 3, 2018

Introduction to Blockchain - William Favre Slater, III

234

235

Other Blockchains • Factom • NEM • BigchainDB

Copyright 2018 By William F. Slater, III

236

Factom • http://www.factom.com • https://apollo-docs.factom.com/

Copyright 2018 By William F. Slater, III

NEM • http://nem.io • Download the NEM Nano Wallet and get started

BigchainDB • www.bigchaindb.com

Suggest Documents