SlideShare a Scribd company logo
Blockchain 101 – Introduction
for Developers
Razi Rais |Microsoft
@razibinrais
www.razibinrais.com
About Me
www.razibinrais.com
Join THIS group!
What we going to cover today?
{Developer Focus}
What we NOT going to cover today?
Level Set
Crypto 101
š Hashing
š Public Key Encryption
Hashing Function
f(x)
What is Hashing?
FixedSize OutputVariable Size Input
Hashing Function
f(x)
What is Hashing?
FixedSize Output
Hash/Digest
Variable Size Input
Hashing Function
f(x)
Example:
I want to have a cup of coffee 3f7f81df1a1d31cc1af434b711bd8e33b1ce
HashInput
Hashing Function
f(x)
Similar input results in very different hash values
I want to have a cup of coffee 3f7f81df1a1d31cc1af434b711bd8e33b1ce
Hash
Input
I want to have a cup of coffee.
3bf6ca1f84bccfbe63b23d08b6adfb630899
Hashing Function
f(x)
Also..
Hash
Strictly One Way
Common Hashing Algorithms
Secure Hashing Algorithm (SHA)
SHA3 | SHA3-224, SHA3-256, SHA3-384, SHA3-512, SHAKE128
and SHAKE256
SHA-2 |SHA-224, SHA-256, SHA-384, SHA-512, SHA-512/224
and SHA-512/256
Keccak256 ß Ethereum uses it. Similar to SHA3 but..
http://keccak.noekeon.org
MD2/4/5, SHAKE128/256/512. Many more explore
http://emn178.github.io/online-tools/index.html
Public Key Encryption
How to send messages secretly?
How to verify message source?
Public Key Encryption
Key Generation
Function
f(x)
Key 1
Key 2
Input
Public Key Encryption
Key Generation
Function
f(x)
Key 1
Key 2
Input
Public Key Encryption
Rivest Shamir Adleman (RSA) | PKCS#1
Elliptic Curve Cryptography| ECDSA (secp256k1) | Others
Early Days| Homomorphic Encryption
Public Key Encryption In Action!
Bob And Alice
World Domination Plan
Bob and Alice generates key pair
Bob’s
Public
Key
Bob’s
Private
Key
Bob generates a key pair
Alice’s
Public
Key
Alice’s
Private
Key
Alice generates a key pair
Bob and Alice generates key pair
Bob’s
Public
Key
Bob’s
Private
Key
Bob generates a key pair
Alice’s
Public
Key
Alice’s
Private
Key
Alice generates a key pair
Bob and Alice share their Public Keys
Bob’s
Private
Key
Bob share his public key with Alice.
Bob’s
Public
Key
Alice’s
Public
Key
Alice’s
Private
Key
Alice share her public key with Bob.Alice’s
Public
Key
Bob’s
Public
Key
Great!
Bob And Alice
Lets send messages secretly!
Alice and Bob encrypted message exchange
Q198$2#(*N
Encryption
Function
Bob’s
Public
Key
Decryption
Function
Bob’s
Private
Key
Anarchy
Alice
Anarchy
Bob
Evil (Eve)
Bob has a concern?
How do I know that message was send by Alice and not
Eve?
How about we do this….
(1) Hash the Message
(2) Sign the Message | Alice’s Private Key
(3) Encrypt Message | Bob’s Public Key
(4) Send All of Above to Bob
(1) Decrypt Message | Bob’s Private Key
(2) Verify Signature | Alice’s Public Key
(3) Alice’s Message Hash == Bob’s Message Hash
(4) All of above works? we are good!
Alice
Bob
How about we do this….
(1) Hash the Message
(2) Sign the Message | Alice’s Private Key
(3) Encrypt Message | Bob’s Public Key
(4) Send All of Above to Bob
(1) Decrypt Message | Bob’s Private Key
(2) Verify Signature | Alice’s Public Key
(3) Alice’s Message Hash == Bob’s Message Hash
(4) All of above works? we are good!
Alice
Bob
Signing + Hashing + Encryption
Evil (Eve)
Alice
Anarchy
Bob’s
Public
Key
Alice’s
Private Key
Hashing
Signing
BC1EFC
Encryption
HASH:
BC1EFC
SIG:
0E#N8OO
MSG:
0E#N8OO
Bob’s
Private Key
Alice’s
Public Key
Decryption
Verify
Signature
Verify Hash BC1EFC ==
BC1EFC
HASH:
BC1EFC
SIG:
0E#N8OO
MSG:
0E#N8OO
Anarchy
Bob
Eve …
I will find new ways.. Gradatim Ferociter
Evil (Eve)
Blockchain - Core Concepts
Others ..
Blockchain - Core Concepts
Visual Approach
Ethereum
Project was bootstrapped in august 2014
Decentralized platform for Smart Contracts
Public/Private
www.ethereum.org/foundation
Enterprise Ethereum Alliance
https://entethalliance.org/members
https://entethalliance.org/about
Ethereum Accounts
Externally Owned Accounts | Contract Accounts
Externally Owned Accounts (EOA)
Keyfile (JSON)
Public
Private
Account Address
Last 20 bytes ofPublic Key
Never lose your private key!
How to get started with Ethereum?
Tools | Truffle | Remix | Others
Software| Eth |Geth | Parity | Others
Test/Deployment | TestNet | Private | Public
Transaction
Signed data package sent from an externally owned
account to another account on the blockchain.
tx( recipient, sender-signature, value-in-ether, start-gas, gas-price)
Transaction
DEMO
Truffle
DEMO
Smart Contract
{ code } + state
<<Specific Address>>
EVM byte code
Solidity| High Level Language
LLL| Low level Language
Smart Contract
DEMO

More Related Content

Similar to Blockchain 101 - Introduction for Developers

Python slide
Python slidePython slide
Bitcoin MOOC Lecture 1.pptx
Bitcoin MOOC Lecture 1.pptxBitcoin MOOC Lecture 1.pptx
Bitcoin MOOC Lecture 1.pptx
Oluseyi Akindeinde
 
Encryption: It's For More Than Just Passwords
Encryption: It's For More Than Just PasswordsEncryption: It's For More Than Just Passwords
Encryption: It's For More Than Just Passwords
John Congdon
 
Crypto2
Crypto2Crypto2
Crypto2
phanleson
 
Cryptography for Smalltalkers 2
Cryptography for Smalltalkers 2Cryptography for Smalltalkers 2
Cryptography for Smalltalkers 2
ESUG
 
Hashing Considerations In Web Applications
Hashing Considerations In Web ApplicationsHashing Considerations In Web Applications
Hashing Considerations In Web Applications
Islam Heggo
 
4.4 hashing02
4.4 hashing024.4 hashing02
4.4 hashing02
Krish_ver2
 
Invertible-syntax 入門
Invertible-syntax 入門Invertible-syntax 入門
Invertible-syntax 入門
Hiromi Ishii
 
Erlang Concurrency
Erlang ConcurrencyErlang Concurrency
Erlang Concurrency
Barry Ezell
 
Hash presentation
Hash presentationHash presentation
Hash presentation
omercode
 
ScotRuby - Dark side of ruby
ScotRuby - Dark side of rubyScotRuby - Dark side of ruby
ScotRuby - Dark side of ruby
Gautam Rege
 
Source Filters in Perl 2010
Source Filters in Perl 2010Source Filters in Perl 2010
Source Filters in Perl 2010
hendrikvb
 
Cryptographic Hashing Functions
Cryptographic Hashing FunctionsCryptographic Hashing Functions
Cryptographic Hashing Functions
Yusuf Uzun
 
Password Storage Sucks!
Password Storage Sucks!Password Storage Sucks!
Password Storage Sucks!
nerdybeardo
 
ELUTE
ELUTEELUTE
Secure Communication (Distributed computing)
Secure Communication (Distributed computing)Secure Communication (Distributed computing)
Secure Communication (Distributed computing)
Sri Prasanna
 
Cryptography Key Management.pptx
Cryptography Key Management.pptxCryptography Key Management.pptx
Cryptography Key Management.pptx
SurendraBasnet6
 
Happy Go Programming
Happy Go ProgrammingHappy Go Programming
Happy Go Programming
Lin Yo-An
 
Hash function landscape
Hash function landscapeHash function landscape
Hash function landscape
Sandeep Joshi
 
Cryptography for software engineers
Cryptography for software engineersCryptography for software engineers
Cryptography for software engineers
Jas Chhabra
 

Similar to Blockchain 101 - Introduction for Developers (20)

Python slide
Python slidePython slide
Python slide
 
Bitcoin MOOC Lecture 1.pptx
Bitcoin MOOC Lecture 1.pptxBitcoin MOOC Lecture 1.pptx
Bitcoin MOOC Lecture 1.pptx
 
Encryption: It's For More Than Just Passwords
Encryption: It's For More Than Just PasswordsEncryption: It's For More Than Just Passwords
Encryption: It's For More Than Just Passwords
 
Crypto2
Crypto2Crypto2
Crypto2
 
Cryptography for Smalltalkers 2
Cryptography for Smalltalkers 2Cryptography for Smalltalkers 2
Cryptography for Smalltalkers 2
 
Hashing Considerations In Web Applications
Hashing Considerations In Web ApplicationsHashing Considerations In Web Applications
Hashing Considerations In Web Applications
 
4.4 hashing02
4.4 hashing024.4 hashing02
4.4 hashing02
 
Invertible-syntax 入門
Invertible-syntax 入門Invertible-syntax 入門
Invertible-syntax 入門
 
Erlang Concurrency
Erlang ConcurrencyErlang Concurrency
Erlang Concurrency
 
Hash presentation
Hash presentationHash presentation
Hash presentation
 
ScotRuby - Dark side of ruby
ScotRuby - Dark side of rubyScotRuby - Dark side of ruby
ScotRuby - Dark side of ruby
 
Source Filters in Perl 2010
Source Filters in Perl 2010Source Filters in Perl 2010
Source Filters in Perl 2010
 
Cryptographic Hashing Functions
Cryptographic Hashing FunctionsCryptographic Hashing Functions
Cryptographic Hashing Functions
 
Password Storage Sucks!
Password Storage Sucks!Password Storage Sucks!
Password Storage Sucks!
 
ELUTE
ELUTEELUTE
ELUTE
 
Secure Communication (Distributed computing)
Secure Communication (Distributed computing)Secure Communication (Distributed computing)
Secure Communication (Distributed computing)
 
Cryptography Key Management.pptx
Cryptography Key Management.pptxCryptography Key Management.pptx
Cryptography Key Management.pptx
 
Happy Go Programming
Happy Go ProgrammingHappy Go Programming
Happy Go Programming
 
Hash function landscape
Hash function landscapeHash function landscape
Hash function landscape
 
Cryptography for software engineers
Cryptography for software engineersCryptography for software engineers
Cryptography for software engineers
 

Recently uploaded

Biomedical Knowledge Graphs for Data Scientists and Bioinformaticians
Biomedical Knowledge Graphs for Data Scientists and BioinformaticiansBiomedical Knowledge Graphs for Data Scientists and Bioinformaticians
Biomedical Knowledge Graphs for Data Scientists and Bioinformaticians
Neo4j
 
Harnessing the Power of NLP and Knowledge Graphs for Opioid Research
Harnessing the Power of NLP and Knowledge Graphs for Opioid ResearchHarnessing the Power of NLP and Knowledge Graphs for Opioid Research
Harnessing the Power of NLP and Knowledge Graphs for Opioid Research
Neo4j
 
Digital Banking in the Cloud: How Citizens Bank Unlocked Their Mainframe
Digital Banking in the Cloud: How Citizens Bank Unlocked Their MainframeDigital Banking in the Cloud: How Citizens Bank Unlocked Their Mainframe
Digital Banking in the Cloud: How Citizens Bank Unlocked Their Mainframe
Precisely
 
zkStudyClub - LatticeFold: A Lattice-based Folding Scheme and its Application...
zkStudyClub - LatticeFold: A Lattice-based Folding Scheme and its Application...zkStudyClub - LatticeFold: A Lattice-based Folding Scheme and its Application...
zkStudyClub - LatticeFold: A Lattice-based Folding Scheme and its Application...
Alex Pruden
 
Dandelion Hashtable: beyond billion requests per second on a commodity server
Dandelion Hashtable: beyond billion requests per second on a commodity serverDandelion Hashtable: beyond billion requests per second on a commodity server
Dandelion Hashtable: beyond billion requests per second on a commodity server
Antonios Katsarakis
 
Astute Business Solutions | Oracle Cloud Partner |
Astute Business Solutions | Oracle Cloud Partner |Astute Business Solutions | Oracle Cloud Partner |
Astute Business Solutions | Oracle Cloud Partner |
AstuteBusiness
 
Crafting Excellence: A Comprehensive Guide to iOS Mobile App Development Serv...
Crafting Excellence: A Comprehensive Guide to iOS Mobile App Development Serv...Crafting Excellence: A Comprehensive Guide to iOS Mobile App Development Serv...
Crafting Excellence: A Comprehensive Guide to iOS Mobile App Development Serv...
Pitangent Analytics & Technology Solutions Pvt. Ltd
 
Generating privacy-protected synthetic data using Secludy and Milvus
Generating privacy-protected synthetic data using Secludy and MilvusGenerating privacy-protected synthetic data using Secludy and Milvus
Generating privacy-protected synthetic data using Secludy and Milvus
Zilliz
 
GNSS spoofing via SDR (Criptored Talks 2024)
GNSS spoofing via SDR (Criptored Talks 2024)GNSS spoofing via SDR (Criptored Talks 2024)
GNSS spoofing via SDR (Criptored Talks 2024)
Javier Junquera
 
Nordic Marketo Engage User Group_June 13_ 2024.pptx
Nordic Marketo Engage User Group_June 13_ 2024.pptxNordic Marketo Engage User Group_June 13_ 2024.pptx
Nordic Marketo Engage User Group_June 13_ 2024.pptx
MichaelKnudsen27
 
Fueling AI with Great Data with Airbyte Webinar
Fueling AI with Great Data with Airbyte WebinarFueling AI with Great Data with Airbyte Webinar
Fueling AI with Great Data with Airbyte Webinar
Zilliz
 
[OReilly Superstream] Occupy the Space: A grassroots guide to engineering (an...
[OReilly Superstream] Occupy the Space: A grassroots guide to engineering (an...[OReilly Superstream] Occupy the Space: A grassroots guide to engineering (an...
[OReilly Superstream] Occupy the Space: A grassroots guide to engineering (an...
Jason Yip
 
Freshworks Rethinks NoSQL for Rapid Scaling & Cost-Efficiency
Freshworks Rethinks NoSQL for Rapid Scaling & Cost-EfficiencyFreshworks Rethinks NoSQL for Rapid Scaling & Cost-Efficiency
Freshworks Rethinks NoSQL for Rapid Scaling & Cost-Efficiency
ScyllaDB
 
“How Axelera AI Uses Digital Compute-in-memory to Deliver Fast and Energy-eff...
“How Axelera AI Uses Digital Compute-in-memory to Deliver Fast and Energy-eff...“How Axelera AI Uses Digital Compute-in-memory to Deliver Fast and Energy-eff...
“How Axelera AI Uses Digital Compute-in-memory to Deliver Fast and Energy-eff...
Edge AI and Vision Alliance
 
Y-Combinator seed pitch deck template PP
Y-Combinator seed pitch deck template PPY-Combinator seed pitch deck template PP
Y-Combinator seed pitch deck template PP
c5vrf27qcz
 
Essentials of Automations: Exploring Attributes & Automation Parameters
Essentials of Automations: Exploring Attributes & Automation ParametersEssentials of Automations: Exploring Attributes & Automation Parameters
Essentials of Automations: Exploring Attributes & Automation Parameters
Safe Software
 
Northern Engraving | Nameplate Manufacturing Process - 2024
Northern Engraving | Nameplate Manufacturing Process - 2024Northern Engraving | Nameplate Manufacturing Process - 2024
Northern Engraving | Nameplate Manufacturing Process - 2024
Northern Engraving
 
How to Interpret Trends in the Kalyan Rajdhani Mix Chart.pdf
How to Interpret Trends in the Kalyan Rajdhani Mix Chart.pdfHow to Interpret Trends in the Kalyan Rajdhani Mix Chart.pdf
How to Interpret Trends in the Kalyan Rajdhani Mix Chart.pdf
Chart Kalyan
 
Taking AI to the Next Level in Manufacturing.pdf
Taking AI to the Next Level in Manufacturing.pdfTaking AI to the Next Level in Manufacturing.pdf
Taking AI to the Next Level in Manufacturing.pdf
ssuserfac0301
 

Recently uploaded (20)

Biomedical Knowledge Graphs for Data Scientists and Bioinformaticians
Biomedical Knowledge Graphs for Data Scientists and BioinformaticiansBiomedical Knowledge Graphs for Data Scientists and Bioinformaticians
Biomedical Knowledge Graphs for Data Scientists and Bioinformaticians
 
Harnessing the Power of NLP and Knowledge Graphs for Opioid Research
Harnessing the Power of NLP and Knowledge Graphs for Opioid ResearchHarnessing the Power of NLP and Knowledge Graphs for Opioid Research
Harnessing the Power of NLP and Knowledge Graphs for Opioid Research
 
Digital Banking in the Cloud: How Citizens Bank Unlocked Their Mainframe
Digital Banking in the Cloud: How Citizens Bank Unlocked Their MainframeDigital Banking in the Cloud: How Citizens Bank Unlocked Their Mainframe
Digital Banking in the Cloud: How Citizens Bank Unlocked Their Mainframe
 
zkStudyClub - LatticeFold: A Lattice-based Folding Scheme and its Application...
zkStudyClub - LatticeFold: A Lattice-based Folding Scheme and its Application...zkStudyClub - LatticeFold: A Lattice-based Folding Scheme and its Application...
zkStudyClub - LatticeFold: A Lattice-based Folding Scheme and its Application...
 
Dandelion Hashtable: beyond billion requests per second on a commodity server
Dandelion Hashtable: beyond billion requests per second on a commodity serverDandelion Hashtable: beyond billion requests per second on a commodity server
Dandelion Hashtable: beyond billion requests per second on a commodity server
 
Astute Business Solutions | Oracle Cloud Partner |
Astute Business Solutions | Oracle Cloud Partner |Astute Business Solutions | Oracle Cloud Partner |
Astute Business Solutions | Oracle Cloud Partner |
 
Crafting Excellence: A Comprehensive Guide to iOS Mobile App Development Serv...
Crafting Excellence: A Comprehensive Guide to iOS Mobile App Development Serv...Crafting Excellence: A Comprehensive Guide to iOS Mobile App Development Serv...
Crafting Excellence: A Comprehensive Guide to iOS Mobile App Development Serv...
 
Generating privacy-protected synthetic data using Secludy and Milvus
Generating privacy-protected synthetic data using Secludy and MilvusGenerating privacy-protected synthetic data using Secludy and Milvus
Generating privacy-protected synthetic data using Secludy and Milvus
 
GNSS spoofing via SDR (Criptored Talks 2024)
GNSS spoofing via SDR (Criptored Talks 2024)GNSS spoofing via SDR (Criptored Talks 2024)
GNSS spoofing via SDR (Criptored Talks 2024)
 
Artificial Intelligence and Electronic Warfare
Artificial Intelligence and Electronic WarfareArtificial Intelligence and Electronic Warfare
Artificial Intelligence and Electronic Warfare
 
Nordic Marketo Engage User Group_June 13_ 2024.pptx
Nordic Marketo Engage User Group_June 13_ 2024.pptxNordic Marketo Engage User Group_June 13_ 2024.pptx
Nordic Marketo Engage User Group_June 13_ 2024.pptx
 
Fueling AI with Great Data with Airbyte Webinar
Fueling AI with Great Data with Airbyte WebinarFueling AI with Great Data with Airbyte Webinar
Fueling AI with Great Data with Airbyte Webinar
 
[OReilly Superstream] Occupy the Space: A grassroots guide to engineering (an...
[OReilly Superstream] Occupy the Space: A grassroots guide to engineering (an...[OReilly Superstream] Occupy the Space: A grassroots guide to engineering (an...
[OReilly Superstream] Occupy the Space: A grassroots guide to engineering (an...
 
Freshworks Rethinks NoSQL for Rapid Scaling & Cost-Efficiency
Freshworks Rethinks NoSQL for Rapid Scaling & Cost-EfficiencyFreshworks Rethinks NoSQL for Rapid Scaling & Cost-Efficiency
Freshworks Rethinks NoSQL for Rapid Scaling & Cost-Efficiency
 
“How Axelera AI Uses Digital Compute-in-memory to Deliver Fast and Energy-eff...
“How Axelera AI Uses Digital Compute-in-memory to Deliver Fast and Energy-eff...“How Axelera AI Uses Digital Compute-in-memory to Deliver Fast and Energy-eff...
“How Axelera AI Uses Digital Compute-in-memory to Deliver Fast and Energy-eff...
 
Y-Combinator seed pitch deck template PP
Y-Combinator seed pitch deck template PPY-Combinator seed pitch deck template PP
Y-Combinator seed pitch deck template PP
 
Essentials of Automations: Exploring Attributes & Automation Parameters
Essentials of Automations: Exploring Attributes & Automation ParametersEssentials of Automations: Exploring Attributes & Automation Parameters
Essentials of Automations: Exploring Attributes & Automation Parameters
 
Northern Engraving | Nameplate Manufacturing Process - 2024
Northern Engraving | Nameplate Manufacturing Process - 2024Northern Engraving | Nameplate Manufacturing Process - 2024
Northern Engraving | Nameplate Manufacturing Process - 2024
 
How to Interpret Trends in the Kalyan Rajdhani Mix Chart.pdf
How to Interpret Trends in the Kalyan Rajdhani Mix Chart.pdfHow to Interpret Trends in the Kalyan Rajdhani Mix Chart.pdf
How to Interpret Trends in the Kalyan Rajdhani Mix Chart.pdf
 
Taking AI to the Next Level in Manufacturing.pdf
Taking AI to the Next Level in Manufacturing.pdfTaking AI to the Next Level in Manufacturing.pdf
Taking AI to the Next Level in Manufacturing.pdf
 

Blockchain 101 - Introduction for Developers