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