SlideShare a Scribd company logo
1 of 33
Download to read offline
WTF is Blockchain???
Retro Friday Talk
Guy Kloss
guy.kloss@qrious.co.nz
Enterprise Architect
Qrious Limited
7 October 2016
Nuts’n’Bolts Explanation Beyond Money Issues
What’s Money?
Token, representing value
By social contract
Without acceptance, people won’t care.
Law doesn’t matter!
Guy Kloss | WTF is Blockchain??? 2/33
Nuts’n’Bolts Explanation Beyond Money Issues
Outline
1 Nuts’n’Bolts Explanation
2 Beyond Money
3 Issues
Guy Kloss | WTF is Blockchain??? 3/33
Nuts’n’Bolts Explanation Beyond Money Issues
Outline
1 Nuts’n’Bolts Explanation
2 Beyond Money
3 Issues
Guy Kloss | WTF is Blockchain??? 4/33
Nuts’n’Bolts Explanation Beyond Money Issues
Building a Digital Currency: Infocoin
The protocol: “Infocoin”
The money: “infocoin”
Guy Kloss | WTF is Blockchain??? 5/33
Nuts’n’Bolts Explanation Beyond Money Issues
First Step: A Signed Letter of Intent
The problem: Double spending
(using the same money multiple times)
Procedure
Statement of transaction
Sign that statement (with a crypto signature)
→ No-one else could have created that statement
Announcement of that statement “to the entire world”
Guy Kloss | WTF is Blockchain??? 6/33
Nuts’n’Bolts Explanation Beyond Money Issues
Using Serial Numbers: Unique Coins
Problem
What if a statement is sent multiple times?
More money, or a “stutter”?
Solution
Introduce identifiers (serial numbers) for infocoins
Needs a trusted source of serial numbers (e. g. a bank)
“Bank” keeps track of all infocoins
& verifies all transactions are legit
Procedure
Bob checks back with bank
(A) The serial number belongs to Alice
(B) The infocoin hasn’t been spent, yet
Guy Kloss | WTF is Blockchain??? 7/33
Nuts’n’Bolts Explanation Beyond Money Issues
Making a “Collective” Bank
We don’t want anyone to be in control of the currency
→ Let’s eliminate the bank
Procedure
Everyone keeps a complete record of
transactions/ownerships
A shared public ledger
→ The Blockchain
(not quite, yet, but we’ll call it that way already)
Bob checks the transaction from Alice
against (his copy of) the blockchain
If it checks out:
Bob sends the transaction to the entire network
Everyone updates their copy of the blockchain
Guy Kloss | WTF is Blockchain??? 8/33
Nuts’n’Bolts Explanation Beyond Money Issues
Making a “Collective” Bank
The Problem:
What if Alice sends the same infocoin to Bob and
Charlie within a brief period time?
→ Double spending problem
Broadcast a transaction to the entire network
Only accept on collective OK
(when “enough” people have confirmed it’s OK)
What’s “enough”?
We don’t know who’s all on the Infocoin network!
Guy Kloss | WTF is Blockchain??? 9/33
Nuts’n’Bolts Explanation Beyond Money Issues
The Cheating Problem
Scenario:
Alice wants to take over the Infocoin network
She creates a large number of “bots” (identities)
Alice’s sock puppet identities swamp the network,
announcing the transaction is OK
One or both (Bob and Charlie)
are fooled into accepting the transaction
Guy Kloss | WTF is Blockchain??? 10/33
Nuts’n’Bolts Explanation Beyond Money Issues
Proof-of-Work
Idea: Proof-of-work
Make it hard to validate transactions
(computationally costly)
Reward validated transactions
Why does that help?
Costly effort:
Not feasible to influence with many identities
Reward is to incentivise others to still do it
→ Impractical to cheat
Guy Kloss | WTF is Blockchain??? 11/33
Nuts’n’Bolts Explanation Beyond Money Issues
Proof-of-Work Details
Impractical to apply proof-of-work to every transaction
Queue unapproved transactions
Validate transactions against own copy of blockchain
Solve a hard computational puzzle – the proof-of-work
The puzzle is related to the queued transactions
The network accepts a validation only with the solution
Guy Kloss | WTF is Blockchain??? 12/33
Nuts’n’Bolts Explanation Beyond Money Issues
Block by Block
Guy Kloss | WTF is Blockchain??? 13/33
Nuts’n’Bolts Explanation Beyond Money Issues
The Puzzle
Bitcoin uses a hash function – SHA-256
(also other functions will do)
Queue has a label l
A random number x (a nonce) is appended
This is hashed h(l|x)
If the hash starts with n zeros, the puzzle is solved
If not, choose a new nonce x, rinse and repeat
Guy Kloss | WTF is Blockchain??? 14/33
Nuts’n’Bolts Explanation Beyond Money Issues
The Puzzle
h("Hello, world!0")
1312af178c253f84028d480a6adc1e25e81caa44c749ec81976192e2ec934c64
h("Hello, world!1")
e9afc424b79e4f6ab42d99c81156d3a17228d6e1eef4139be78e948a9332a7d8
x = 2, 3, . . .; At x = 4250 we get:
h("Hello, world!4250")
0000c3af42fc31103f1fdc0151fa747ff87349a4714df7cc52ea464e12dcd4e9
Number of leading zeros is adjusted regularly
Caters for increase in compute performance
Normalises new block frequency
(Bitcoin: average 10 min per block)
Guy Kloss | WTF is Blockchain??? 15/33
Nuts’n’Bolts Explanation Beyond Money Issues
Rewarding the Sweat & Tears
Competition with “the world”
Successful block wins a reward
(in bitcoin, ether, infocoin, . . . )
→ This is mining
Acts as an incentive for the hard work
Keeps the network honest
Adjustments to rewards system
Halving events
Superceding with transaction fees for miners
→ Capping of total number of coins ever
Guy Kloss | WTF is Blockchain??? 16/33
Nuts’n’Bolts Explanation Beyond Money Issues
Rewarding the Sweat & Tears
Guy Kloss | WTF is Blockchain??? 17/33
Nuts’n’Bolts Explanation Beyond Money Issues
Another Block in the Chain
We’d like to retain order of transactions
Otherwise:
Uncertainty on who owns which infocoin at a time
A linear chain: Next block refers to the previous
→ A new block is added to the chain
Guy Kloss | WTF is Blockchain??? 18/33
Nuts’n’Bolts Explanation Beyond Money Issues
Another Block in the Chain
Guy Kloss | WTF is Blockchain??? 19/33
Nuts’n’Bolts Explanation Beyond Money Issues
Concurrency Causes Forks
Occasionally a fork happens
If two miners succeed in solving the puzzle
(nearly simultaneously)
Guy Kloss | WTF is Blockchain??? 20/33
Nuts’n’Bolts Explanation Beyond Money Issues
What now?
This is what we’re trying to avoid
Keep track of both paths
Miners only work on the longest fork
One will eventually get longer
“B” gets the next block first, work on “A” will cease
Outstanding transactions on “B” will be integrated
→ Agreed upon ordering in time will be achieved
Guy Kloss | WTF is Blockchain??? 21/33
Nuts’n’Bolts Explanation Beyond Money Issues
Dishonesty on Forking
Back to the double spending problem:
Forks can be a chance to double spend
Will be detected once both blocks are available
Variant on double spending if Alice = Bob
(multiple identities)
Forking intentionally after Charlie accepts the coin
Community will continue on longest/earliest branch
Not feasible to “catch up” with the legit branch
Guy Kloss | WTF is Blockchain??? 22/33
Nuts’n’Bolts Explanation Beyond Money Issues
Outline
1 Nuts’n’Bolts Explanation
2 Beyond Money
3 Issues
Guy Kloss | WTF is Blockchain??? 23/33
Nuts’n’Bolts Explanation Beyond Money Issues
Content of Records
For money, a block contain payment records.
What if it contained . . .
Multiple columns?
“Documents” (e. g. JSON)?
Code?
Guy Kloss | WTF is Blockchain??? 24/33
Nuts’n’Bolts Explanation Beyond Money Issues
Private Chains
Within organisations
Within user groups
Guy Kloss | WTF is Blockchain??? 25/33
Nuts’n’Bolts Explanation Beyond Money Issues
“Non-Chains”
Just the hash trees (Merkle trees)
Not using cryptographic signatures
One-sided assurance only (from the CA side)
→ No assurance from the client/user
Only proving the positive (document exists)
→ Not the negative (document does not exist)
Guy Kloss | WTF is Blockchain??? 26/33
Nuts’n’Bolts Explanation Beyond Money Issues
Side Chains?
What is the biggest, most used
and most secure blockchain in operation?
→ Bitcoin
So we should be using that one, right?
Can’t do. Not useful for non-payment purposes.
→ Pegging a “side chain” to another (e. g. Bitcoin)
Also possible for private chains
→ Federation approach
Guy Kloss | WTF is Blockchain??? 27/33
Nuts’n’Bolts Explanation Beyond Money Issues
Visions
New take on identity management
Ownership
Land registries
Assets
Transparency for KiwiSaver & weapons/tobacco/. . .
NZX trading for (smaller) companies
Proof of ownership
Instant trading any time
Simplified Support Contracts
Guy Kloss | WTF is Blockchain??? 28/33
Nuts’n’Bolts Explanation Beyond Money Issues
Outline
1 Nuts’n’Bolts Explanation
2 Beyond Money
3 Issues
Guy Kloss | WTF is Blockchain??? 29/33
Nuts’n’Bolts Explanation Beyond Money Issues
Proof of Work
Waste of energy?
US$ 1 million in electricity for every day
10–100 times Google’s global compute capacity
Scalability?
Alternatives
Proof of Stake
Hybrids
Centralised
→ May defeat the purpose
Guy Kloss | WTF is Blockchain??? 30/33
Nuts’n’Bolts Explanation Beyond Money Issues
Which Chain?
Which chain to adopt for use?
The scene is still much in flow
Not all problems are solved, yet
Guy Kloss | WTF is Blockchain??? 31/33
Nuts’n’Bolts Explanation Beyond Money Issues
Resources
Videos & talks:
David Birch
“A new way to stop identity theft”
http://www.ted.com/talks/david_birch_identity_without_a_name
Don Tapscott
“How the blockchain is changing money and business”
http:
//www.ted.com/talks/don_tapscott_how_the_blockchain_is_changing_money_and_business
Introduction:
Michael Nielsen
“How the Bitcoin protocol actually works”
http://www.michaelnielsen.org/ddi/how-the-bitcoin-protocol-actually-works/
Guy Kloss | WTF is Blockchain??? 32/33
Nuts’n’Bolts Explanation Beyond Money Issues
Questions?
Be Safe!
Guy Kloss
guy.kloss@qrious.co.nz
Guy Kloss | WTF is Blockchain??? 33/33

More Related Content

Similar to WTF is Blockchain???

Smart contracts and applications part II
Smart contracts and applications   part IISmart contracts and applications   part II
Smart contracts and applications part IIvpnmentor
 
Some Thoughts On Bitcoin
Some Thoughts On BitcoinSome Thoughts On Bitcoin
Some Thoughts On BitcoinDan Kaminsky
 
What is cryptocurrency everything you need to know - ultimate guide
What is cryptocurrency  everything you need to know - ultimate guideWhat is cryptocurrency  everything you need to know - ultimate guide
What is cryptocurrency everything you need to know - ultimate guidePreparationInfo
 
Final bc and c ppt.pptx
Final bc and c ppt.pptxFinal bc and c ppt.pptx
Final bc and c ppt.pptxBhoomiGupta43
 
The Future of Money: Decentralized Finance
The Future of Money: Decentralized FinanceThe Future of Money: Decentralized Finance
The Future of Money: Decentralized FinanceJ. Scott Christianson
 
A beginners Guide to NFTs.pdf
A beginners Guide to NFTs.pdfA beginners Guide to NFTs.pdf
A beginners Guide to NFTs.pdfAkash Agrawal
 
20170620 MEETUP intro to blockchain and smart contracts (1)
20170620 MEETUP intro to blockchain and smart contracts (1)20170620 MEETUP intro to blockchain and smart contracts (1)
20170620 MEETUP intro to blockchain and smart contracts (1)Brussels Legal Hackers
 
Smart contracts and applications part I
Smart contracts and applications   part ISmart contracts and applications   part I
Smart contracts and applications part Ivpnmentor
 
Nasscom Ahmedabad Demystifying blockchain 101
Nasscom Ahmedabad Demystifying blockchain 101Nasscom Ahmedabad Demystifying blockchain 101
Nasscom Ahmedabad Demystifying blockchain 101Mayank Jain
 
IEEE ICDM 2018 Tutorial on Blockchain Data Analytics
IEEE ICDM 2018 Tutorial on Blockchain Data AnalyticsIEEE ICDM 2018 Tutorial on Blockchain Data Analytics
IEEE ICDM 2018 Tutorial on Blockchain Data AnalyticsCuneyt Gurcan Akcora
 
Nasscom Demystifying Blockchain 101
Nasscom Demystifying Blockchain 101Nasscom Demystifying Blockchain 101
Nasscom Demystifying Blockchain 101Mayank Jain
 
Multisignatures for Cryptocurrency-backed Tokens
Multisignatures for Cryptocurrency-backed TokensMultisignatures for Cryptocurrency-backed Tokens
Multisignatures for Cryptocurrency-backed TokensAlexei Zamyatin
 
14 Jan17- Nullmeets -Blockchain concept decoded by Ninad Sarang
14 Jan17- Nullmeets -Blockchain concept decoded by Ninad Sarang14 Jan17- Nullmeets -Blockchain concept decoded by Ninad Sarang
14 Jan17- Nullmeets -Blockchain concept decoded by Ninad SarangNinad Sarang
 
Ethereum: From there to here, and ownards yonder
Ethereum: From there to here, and ownards yonderEthereum: From there to here, and ownards yonder
Ethereum: From there to here, and ownards yondergavofyork
 
Blockchain. A Guide For Beginners
Blockchain. A Guide For BeginnersBlockchain. A Guide For Beginners
Blockchain. A Guide For BeginnersElifTech
 
Jason simeon genge theory of coin
Jason simeon genge theory of coinJason simeon genge theory of coin
Jason simeon genge theory of coinJason Simeon Genge
 
Introduction to Bitcoin & Blockchain
Introduction to Bitcoin & BlockchainIntroduction to Bitcoin & Blockchain
Introduction to Bitcoin & BlockchainLon Barfield
 
An Introduction to Blockchain
An Introduction to BlockchainAn Introduction to Blockchain
An Introduction to BlockchainArun Sharma
 
BLOCKCHAIN PPT.pptx
BLOCKCHAIN PPT.pptxBLOCKCHAIN PPT.pptx
BLOCKCHAIN PPT.pptxSohanaAmreen
 
Blockchain is WTF
Blockchain is WTF Blockchain is WTF
Blockchain is WTF Gerrie Smits
 

Similar to WTF is Blockchain??? (20)

Smart contracts and applications part II
Smart contracts and applications   part IISmart contracts and applications   part II
Smart contracts and applications part II
 
Some Thoughts On Bitcoin
Some Thoughts On BitcoinSome Thoughts On Bitcoin
Some Thoughts On Bitcoin
 
What is cryptocurrency everything you need to know - ultimate guide
What is cryptocurrency  everything you need to know - ultimate guideWhat is cryptocurrency  everything you need to know - ultimate guide
What is cryptocurrency everything you need to know - ultimate guide
 
Final bc and c ppt.pptx
Final bc and c ppt.pptxFinal bc and c ppt.pptx
Final bc and c ppt.pptx
 
The Future of Money: Decentralized Finance
The Future of Money: Decentralized FinanceThe Future of Money: Decentralized Finance
The Future of Money: Decentralized Finance
 
A beginners Guide to NFTs.pdf
A beginners Guide to NFTs.pdfA beginners Guide to NFTs.pdf
A beginners Guide to NFTs.pdf
 
20170620 MEETUP intro to blockchain and smart contracts (1)
20170620 MEETUP intro to blockchain and smart contracts (1)20170620 MEETUP intro to blockchain and smart contracts (1)
20170620 MEETUP intro to blockchain and smart contracts (1)
 
Smart contracts and applications part I
Smart contracts and applications   part ISmart contracts and applications   part I
Smart contracts and applications part I
 
Nasscom Ahmedabad Demystifying blockchain 101
Nasscom Ahmedabad Demystifying blockchain 101Nasscom Ahmedabad Demystifying blockchain 101
Nasscom Ahmedabad Demystifying blockchain 101
 
IEEE ICDM 2018 Tutorial on Blockchain Data Analytics
IEEE ICDM 2018 Tutorial on Blockchain Data AnalyticsIEEE ICDM 2018 Tutorial on Blockchain Data Analytics
IEEE ICDM 2018 Tutorial on Blockchain Data Analytics
 
Nasscom Demystifying Blockchain 101
Nasscom Demystifying Blockchain 101Nasscom Demystifying Blockchain 101
Nasscom Demystifying Blockchain 101
 
Multisignatures for Cryptocurrency-backed Tokens
Multisignatures for Cryptocurrency-backed TokensMultisignatures for Cryptocurrency-backed Tokens
Multisignatures for Cryptocurrency-backed Tokens
 
14 Jan17- Nullmeets -Blockchain concept decoded by Ninad Sarang
14 Jan17- Nullmeets -Blockchain concept decoded by Ninad Sarang14 Jan17- Nullmeets -Blockchain concept decoded by Ninad Sarang
14 Jan17- Nullmeets -Blockchain concept decoded by Ninad Sarang
 
Ethereum: From there to here, and ownards yonder
Ethereum: From there to here, and ownards yonderEthereum: From there to here, and ownards yonder
Ethereum: From there to here, and ownards yonder
 
Blockchain. A Guide For Beginners
Blockchain. A Guide For BeginnersBlockchain. A Guide For Beginners
Blockchain. A Guide For Beginners
 
Jason simeon genge theory of coin
Jason simeon genge theory of coinJason simeon genge theory of coin
Jason simeon genge theory of coin
 
Introduction to Bitcoin & Blockchain
Introduction to Bitcoin & BlockchainIntroduction to Bitcoin & Blockchain
Introduction to Bitcoin & Blockchain
 
An Introduction to Blockchain
An Introduction to BlockchainAn Introduction to Blockchain
An Introduction to Blockchain
 
BLOCKCHAIN PPT.pptx
BLOCKCHAIN PPT.pptxBLOCKCHAIN PPT.pptx
BLOCKCHAIN PPT.pptx
 
Blockchain is WTF
Blockchain is WTF Blockchain is WTF
Blockchain is WTF
 

More from Guy K. Kloss

Kauri ID - A Self-Sovereign, Blockchain-based Identity System
Kauri ID - A Self-Sovereign, Blockchain-based Identity SystemKauri ID - A Self-Sovereign, Blockchain-based Identity System
Kauri ID - A Self-Sovereign, Blockchain-based Identity SystemGuy K. Kloss
 
Qrious about Insights -- Big Data in the Real World
Qrious about Insights -- Big Data in the Real WorldQrious about Insights -- Big Data in the Real World
Qrious about Insights -- Big Data in the Real WorldGuy K. Kloss
 
Building a (Really) Secure Cloud Product
Building a (Really) Secure Cloud ProductBuilding a (Really) Secure Cloud Product
Building a (Really) Secure Cloud ProductGuy K. Kloss
 
Representational State Transfer (REST) and HATEOAS
Representational State Transfer (REST) and HATEOASRepresentational State Transfer (REST) and HATEOAS
Representational State Transfer (REST) and HATEOASGuy K. Kloss
 
Introduction to LaTeX (For Word users)
 Introduction to LaTeX (For Word users) Introduction to LaTeX (For Word users)
Introduction to LaTeX (For Word users)Guy K. Kloss
 
MataNui - Building a Grid Data Infrastructure that "doesn't suck!"
MataNui - Building a Grid Data Infrastructure that "doesn't suck!"MataNui - Building a Grid Data Infrastructure that "doesn't suck!"
MataNui - Building a Grid Data Infrastructure that "doesn't suck!"Guy K. Kloss
 
Operations Research and Optimization in Python using PuLP
Operations Research and Optimization in Python using PuLPOperations Research and Optimization in Python using PuLP
Operations Research and Optimization in Python using PuLPGuy K. Kloss
 
Python Data Plotting and Visualisation Extravaganza
Python Data Plotting and Visualisation ExtravaganzaPython Data Plotting and Visualisation Extravaganza
Python Data Plotting and Visualisation ExtravaganzaGuy K. Kloss
 
Lecture "Open Source and Open Content"
Lecture "Open Source and Open Content"Lecture "Open Source and Open Content"
Lecture "Open Source and Open Content"Guy K. Kloss
 
Version Control with Subversion
Version Control with SubversionVersion Control with Subversion
Version Control with SubversionGuy K. Kloss
 
Beating the (sh** out of the) GIL - Multithreading vs. Multiprocessing
Beating the (sh** out of the) GIL - Multithreading vs. MultiprocessingBeating the (sh** out of the) GIL - Multithreading vs. Multiprocessing
Beating the (sh** out of the) GIL - Multithreading vs. MultiprocessingGuy K. Kloss
 
Thinking Hybrid - Python/C++ Integration
Thinking Hybrid - Python/C++ IntegrationThinking Hybrid - Python/C++ Integration
Thinking Hybrid - Python/C++ IntegrationGuy K. Kloss
 
Thinking Hybrid - Python/C++ Integration
Thinking Hybrid - Python/C++ IntegrationThinking Hybrid - Python/C++ Integration
Thinking Hybrid - Python/C++ IntegrationGuy K. Kloss
 
Gaining Colour Stability in Live Image Capturing
Gaining Colour Stability in Live Image CapturingGaining Colour Stability in Live Image Capturing
Gaining Colour Stability in Live Image CapturingGuy K. Kloss
 
LaTeX Introduction for Word Users
LaTeX Introduction for Word UsersLaTeX Introduction for Word Users
LaTeX Introduction for Word UsersGuy K. Kloss
 
Thinking Hybrid - Python/C++ Integration
Thinking Hybrid - Python/C++ IntegrationThinking Hybrid - Python/C++ Integration
Thinking Hybrid - Python/C++ IntegrationGuy K. Kloss
 

More from Guy K. Kloss (16)

Kauri ID - A Self-Sovereign, Blockchain-based Identity System
Kauri ID - A Self-Sovereign, Blockchain-based Identity SystemKauri ID - A Self-Sovereign, Blockchain-based Identity System
Kauri ID - A Self-Sovereign, Blockchain-based Identity System
 
Qrious about Insights -- Big Data in the Real World
Qrious about Insights -- Big Data in the Real WorldQrious about Insights -- Big Data in the Real World
Qrious about Insights -- Big Data in the Real World
 
Building a (Really) Secure Cloud Product
Building a (Really) Secure Cloud ProductBuilding a (Really) Secure Cloud Product
Building a (Really) Secure Cloud Product
 
Representational State Transfer (REST) and HATEOAS
Representational State Transfer (REST) and HATEOASRepresentational State Transfer (REST) and HATEOAS
Representational State Transfer (REST) and HATEOAS
 
Introduction to LaTeX (For Word users)
 Introduction to LaTeX (For Word users) Introduction to LaTeX (For Word users)
Introduction to LaTeX (For Word users)
 
MataNui - Building a Grid Data Infrastructure that "doesn't suck!"
MataNui - Building a Grid Data Infrastructure that "doesn't suck!"MataNui - Building a Grid Data Infrastructure that "doesn't suck!"
MataNui - Building a Grid Data Infrastructure that "doesn't suck!"
 
Operations Research and Optimization in Python using PuLP
Operations Research and Optimization in Python using PuLPOperations Research and Optimization in Python using PuLP
Operations Research and Optimization in Python using PuLP
 
Python Data Plotting and Visualisation Extravaganza
Python Data Plotting and Visualisation ExtravaganzaPython Data Plotting and Visualisation Extravaganza
Python Data Plotting and Visualisation Extravaganza
 
Lecture "Open Source and Open Content"
Lecture "Open Source and Open Content"Lecture "Open Source and Open Content"
Lecture "Open Source and Open Content"
 
Version Control with Subversion
Version Control with SubversionVersion Control with Subversion
Version Control with Subversion
 
Beating the (sh** out of the) GIL - Multithreading vs. Multiprocessing
Beating the (sh** out of the) GIL - Multithreading vs. MultiprocessingBeating the (sh** out of the) GIL - Multithreading vs. Multiprocessing
Beating the (sh** out of the) GIL - Multithreading vs. Multiprocessing
 
Thinking Hybrid - Python/C++ Integration
Thinking Hybrid - Python/C++ IntegrationThinking Hybrid - Python/C++ Integration
Thinking Hybrid - Python/C++ Integration
 
Thinking Hybrid - Python/C++ Integration
Thinking Hybrid - Python/C++ IntegrationThinking Hybrid - Python/C++ Integration
Thinking Hybrid - Python/C++ Integration
 
Gaining Colour Stability in Live Image Capturing
Gaining Colour Stability in Live Image CapturingGaining Colour Stability in Live Image Capturing
Gaining Colour Stability in Live Image Capturing
 
LaTeX Introduction for Word Users
LaTeX Introduction for Word UsersLaTeX Introduction for Word Users
LaTeX Introduction for Word Users
 
Thinking Hybrid - Python/C++ Integration
Thinking Hybrid - Python/C++ IntegrationThinking Hybrid - Python/C++ Integration
Thinking Hybrid - Python/C++ Integration
 

Recently uploaded

DevoxxFR 2024 Reproducible Builds with Apache Maven
DevoxxFR 2024 Reproducible Builds with Apache MavenDevoxxFR 2024 Reproducible Builds with Apache Maven
DevoxxFR 2024 Reproducible Builds with Apache MavenHervé Boutemy
 
Streamlining Python Development: A Guide to a Modern Project Setup
Streamlining Python Development: A Guide to a Modern Project SetupStreamlining Python Development: A Guide to a Modern Project Setup
Streamlining Python Development: A Guide to a Modern Project SetupFlorian Wilhelm
 
Scanning the Internet for External Cloud Exposures via SSL Certs
Scanning the Internet for External Cloud Exposures via SSL CertsScanning the Internet for External Cloud Exposures via SSL Certs
Scanning the Internet for External Cloud Exposures via SSL CertsRizwan Syed
 
Anypoint Exchange: It’s Not Just a Repo!
Anypoint Exchange: It’s Not Just a Repo!Anypoint Exchange: It’s Not Just a Repo!
Anypoint Exchange: It’s Not Just a Repo!Manik S Magar
 
Story boards and shot lists for my a level piece
Story boards and shot lists for my a level pieceStory boards and shot lists for my a level piece
Story boards and shot lists for my a level piececharlottematthew16
 
SIP trunking in Janus @ Kamailio World 2024
SIP trunking in Janus @ Kamailio World 2024SIP trunking in Janus @ Kamailio World 2024
SIP trunking in Janus @ Kamailio World 2024Lorenzo Miniero
 
Human Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR SystemsHuman Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR SystemsMark Billinghurst
 
Developer Data Modeling Mistakes: From Postgres to NoSQL
Developer Data Modeling Mistakes: From Postgres to NoSQLDeveloper Data Modeling Mistakes: From Postgres to NoSQL
Developer Data Modeling Mistakes: From Postgres to NoSQLScyllaDB
 
WordPress Websites for Engineers: Elevate Your Brand
WordPress Websites for Engineers: Elevate Your BrandWordPress Websites for Engineers: Elevate Your Brand
WordPress Websites for Engineers: Elevate Your Brandgvaughan
 
SAP Build Work Zone - Overview L2-L3.pptx
SAP Build Work Zone - Overview L2-L3.pptxSAP Build Work Zone - Overview L2-L3.pptx
SAP Build Work Zone - Overview L2-L3.pptxNavinnSomaal
 
Nell’iperspazio con Rocket: il Framework Web di Rust!
Nell’iperspazio con Rocket: il Framework Web di Rust!Nell’iperspazio con Rocket: il Framework Web di Rust!
Nell’iperspazio con Rocket: il Framework Web di Rust!Commit University
 
TeamStation AI System Report LATAM IT Salaries 2024
TeamStation AI System Report LATAM IT Salaries 2024TeamStation AI System Report LATAM IT Salaries 2024
TeamStation AI System Report LATAM IT Salaries 2024Lonnie McRorey
 
"Debugging python applications inside k8s environment", Andrii Soldatenko
"Debugging python applications inside k8s environment", Andrii Soldatenko"Debugging python applications inside k8s environment", Andrii Soldatenko
"Debugging python applications inside k8s environment", Andrii SoldatenkoFwdays
 
Dev Dives: Streamline document processing with UiPath Studio Web
Dev Dives: Streamline document processing with UiPath Studio WebDev Dives: Streamline document processing with UiPath Studio Web
Dev Dives: Streamline document processing with UiPath Studio WebUiPathCommunity
 
From Family Reminiscence to Scholarly Archive .
From Family Reminiscence to Scholarly Archive .From Family Reminiscence to Scholarly Archive .
From Family Reminiscence to Scholarly Archive .Alan Dix
 
Artificial intelligence in cctv survelliance.pptx
Artificial intelligence in cctv survelliance.pptxArtificial intelligence in cctv survelliance.pptx
Artificial intelligence in cctv survelliance.pptxhariprasad279825
 
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptx
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptxMerck Moving Beyond Passwords: FIDO Paris Seminar.pptx
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptxLoriGlavin3
 
What's New in Teams Calling, Meetings and Devices March 2024
What's New in Teams Calling, Meetings and Devices March 2024What's New in Teams Calling, Meetings and Devices March 2024
What's New in Teams Calling, Meetings and Devices March 2024Stephanie Beckett
 
CloudStudio User manual (basic edition):
CloudStudio User manual (basic edition):CloudStudio User manual (basic edition):
CloudStudio User manual (basic edition):comworks
 
How AI, OpenAI, and ChatGPT impact business and software.
How AI, OpenAI, and ChatGPT impact business and software.How AI, OpenAI, and ChatGPT impact business and software.
How AI, OpenAI, and ChatGPT impact business and software.Curtis Poe
 

Recently uploaded (20)

DevoxxFR 2024 Reproducible Builds with Apache Maven
DevoxxFR 2024 Reproducible Builds with Apache MavenDevoxxFR 2024 Reproducible Builds with Apache Maven
DevoxxFR 2024 Reproducible Builds with Apache Maven
 
Streamlining Python Development: A Guide to a Modern Project Setup
Streamlining Python Development: A Guide to a Modern Project SetupStreamlining Python Development: A Guide to a Modern Project Setup
Streamlining Python Development: A Guide to a Modern Project Setup
 
Scanning the Internet for External Cloud Exposures via SSL Certs
Scanning the Internet for External Cloud Exposures via SSL CertsScanning the Internet for External Cloud Exposures via SSL Certs
Scanning the Internet for External Cloud Exposures via SSL Certs
 
Anypoint Exchange: It’s Not Just a Repo!
Anypoint Exchange: It’s Not Just a Repo!Anypoint Exchange: It’s Not Just a Repo!
Anypoint Exchange: It’s Not Just a Repo!
 
Story boards and shot lists for my a level piece
Story boards and shot lists for my a level pieceStory boards and shot lists for my a level piece
Story boards and shot lists for my a level piece
 
SIP trunking in Janus @ Kamailio World 2024
SIP trunking in Janus @ Kamailio World 2024SIP trunking in Janus @ Kamailio World 2024
SIP trunking in Janus @ Kamailio World 2024
 
Human Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR SystemsHuman Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR Systems
 
Developer Data Modeling Mistakes: From Postgres to NoSQL
Developer Data Modeling Mistakes: From Postgres to NoSQLDeveloper Data Modeling Mistakes: From Postgres to NoSQL
Developer Data Modeling Mistakes: From Postgres to NoSQL
 
WordPress Websites for Engineers: Elevate Your Brand
WordPress Websites for Engineers: Elevate Your BrandWordPress Websites for Engineers: Elevate Your Brand
WordPress Websites for Engineers: Elevate Your Brand
 
SAP Build Work Zone - Overview L2-L3.pptx
SAP Build Work Zone - Overview L2-L3.pptxSAP Build Work Zone - Overview L2-L3.pptx
SAP Build Work Zone - Overview L2-L3.pptx
 
Nell’iperspazio con Rocket: il Framework Web di Rust!
Nell’iperspazio con Rocket: il Framework Web di Rust!Nell’iperspazio con Rocket: il Framework Web di Rust!
Nell’iperspazio con Rocket: il Framework Web di Rust!
 
TeamStation AI System Report LATAM IT Salaries 2024
TeamStation AI System Report LATAM IT Salaries 2024TeamStation AI System Report LATAM IT Salaries 2024
TeamStation AI System Report LATAM IT Salaries 2024
 
"Debugging python applications inside k8s environment", Andrii Soldatenko
"Debugging python applications inside k8s environment", Andrii Soldatenko"Debugging python applications inside k8s environment", Andrii Soldatenko
"Debugging python applications inside k8s environment", Andrii Soldatenko
 
Dev Dives: Streamline document processing with UiPath Studio Web
Dev Dives: Streamline document processing with UiPath Studio WebDev Dives: Streamline document processing with UiPath Studio Web
Dev Dives: Streamline document processing with UiPath Studio Web
 
From Family Reminiscence to Scholarly Archive .
From Family Reminiscence to Scholarly Archive .From Family Reminiscence to Scholarly Archive .
From Family Reminiscence to Scholarly Archive .
 
Artificial intelligence in cctv survelliance.pptx
Artificial intelligence in cctv survelliance.pptxArtificial intelligence in cctv survelliance.pptx
Artificial intelligence in cctv survelliance.pptx
 
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptx
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptxMerck Moving Beyond Passwords: FIDO Paris Seminar.pptx
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptx
 
What's New in Teams Calling, Meetings and Devices March 2024
What's New in Teams Calling, Meetings and Devices March 2024What's New in Teams Calling, Meetings and Devices March 2024
What's New in Teams Calling, Meetings and Devices March 2024
 
CloudStudio User manual (basic edition):
CloudStudio User manual (basic edition):CloudStudio User manual (basic edition):
CloudStudio User manual (basic edition):
 
How AI, OpenAI, and ChatGPT impact business and software.
How AI, OpenAI, and ChatGPT impact business and software.How AI, OpenAI, and ChatGPT impact business and software.
How AI, OpenAI, and ChatGPT impact business and software.
 

WTF is Blockchain???

  • 1. WTF is Blockchain??? Retro Friday Talk Guy Kloss guy.kloss@qrious.co.nz Enterprise Architect Qrious Limited 7 October 2016
  • 2. Nuts’n’Bolts Explanation Beyond Money Issues What’s Money? Token, representing value By social contract Without acceptance, people won’t care. Law doesn’t matter! Guy Kloss | WTF is Blockchain??? 2/33
  • 3. Nuts’n’Bolts Explanation Beyond Money Issues Outline 1 Nuts’n’Bolts Explanation 2 Beyond Money 3 Issues Guy Kloss | WTF is Blockchain??? 3/33
  • 4. Nuts’n’Bolts Explanation Beyond Money Issues Outline 1 Nuts’n’Bolts Explanation 2 Beyond Money 3 Issues Guy Kloss | WTF is Blockchain??? 4/33
  • 5. Nuts’n’Bolts Explanation Beyond Money Issues Building a Digital Currency: Infocoin The protocol: “Infocoin” The money: “infocoin” Guy Kloss | WTF is Blockchain??? 5/33
  • 6. Nuts’n’Bolts Explanation Beyond Money Issues First Step: A Signed Letter of Intent The problem: Double spending (using the same money multiple times) Procedure Statement of transaction Sign that statement (with a crypto signature) → No-one else could have created that statement Announcement of that statement “to the entire world” Guy Kloss | WTF is Blockchain??? 6/33
  • 7. Nuts’n’Bolts Explanation Beyond Money Issues Using Serial Numbers: Unique Coins Problem What if a statement is sent multiple times? More money, or a “stutter”? Solution Introduce identifiers (serial numbers) for infocoins Needs a trusted source of serial numbers (e. g. a bank) “Bank” keeps track of all infocoins & verifies all transactions are legit Procedure Bob checks back with bank (A) The serial number belongs to Alice (B) The infocoin hasn’t been spent, yet Guy Kloss | WTF is Blockchain??? 7/33
  • 8. Nuts’n’Bolts Explanation Beyond Money Issues Making a “Collective” Bank We don’t want anyone to be in control of the currency → Let’s eliminate the bank Procedure Everyone keeps a complete record of transactions/ownerships A shared public ledger → The Blockchain (not quite, yet, but we’ll call it that way already) Bob checks the transaction from Alice against (his copy of) the blockchain If it checks out: Bob sends the transaction to the entire network Everyone updates their copy of the blockchain Guy Kloss | WTF is Blockchain??? 8/33
  • 9. Nuts’n’Bolts Explanation Beyond Money Issues Making a “Collective” Bank The Problem: What if Alice sends the same infocoin to Bob and Charlie within a brief period time? → Double spending problem Broadcast a transaction to the entire network Only accept on collective OK (when “enough” people have confirmed it’s OK) What’s “enough”? We don’t know who’s all on the Infocoin network! Guy Kloss | WTF is Blockchain??? 9/33
  • 10. Nuts’n’Bolts Explanation Beyond Money Issues The Cheating Problem Scenario: Alice wants to take over the Infocoin network She creates a large number of “bots” (identities) Alice’s sock puppet identities swamp the network, announcing the transaction is OK One or both (Bob and Charlie) are fooled into accepting the transaction Guy Kloss | WTF is Blockchain??? 10/33
  • 11. Nuts’n’Bolts Explanation Beyond Money Issues Proof-of-Work Idea: Proof-of-work Make it hard to validate transactions (computationally costly) Reward validated transactions Why does that help? Costly effort: Not feasible to influence with many identities Reward is to incentivise others to still do it → Impractical to cheat Guy Kloss | WTF is Blockchain??? 11/33
  • 12. Nuts’n’Bolts Explanation Beyond Money Issues Proof-of-Work Details Impractical to apply proof-of-work to every transaction Queue unapproved transactions Validate transactions against own copy of blockchain Solve a hard computational puzzle – the proof-of-work The puzzle is related to the queued transactions The network accepts a validation only with the solution Guy Kloss | WTF is Blockchain??? 12/33
  • 13. Nuts’n’Bolts Explanation Beyond Money Issues Block by Block Guy Kloss | WTF is Blockchain??? 13/33
  • 14. Nuts’n’Bolts Explanation Beyond Money Issues The Puzzle Bitcoin uses a hash function – SHA-256 (also other functions will do) Queue has a label l A random number x (a nonce) is appended This is hashed h(l|x) If the hash starts with n zeros, the puzzle is solved If not, choose a new nonce x, rinse and repeat Guy Kloss | WTF is Blockchain??? 14/33
  • 15. Nuts’n’Bolts Explanation Beyond Money Issues The Puzzle h("Hello, world!0") 1312af178c253f84028d480a6adc1e25e81caa44c749ec81976192e2ec934c64 h("Hello, world!1") e9afc424b79e4f6ab42d99c81156d3a17228d6e1eef4139be78e948a9332a7d8 x = 2, 3, . . .; At x = 4250 we get: h("Hello, world!4250") 0000c3af42fc31103f1fdc0151fa747ff87349a4714df7cc52ea464e12dcd4e9 Number of leading zeros is adjusted regularly Caters for increase in compute performance Normalises new block frequency (Bitcoin: average 10 min per block) Guy Kloss | WTF is Blockchain??? 15/33
  • 16. Nuts’n’Bolts Explanation Beyond Money Issues Rewarding the Sweat & Tears Competition with “the world” Successful block wins a reward (in bitcoin, ether, infocoin, . . . ) → This is mining Acts as an incentive for the hard work Keeps the network honest Adjustments to rewards system Halving events Superceding with transaction fees for miners → Capping of total number of coins ever Guy Kloss | WTF is Blockchain??? 16/33
  • 17. Nuts’n’Bolts Explanation Beyond Money Issues Rewarding the Sweat & Tears Guy Kloss | WTF is Blockchain??? 17/33
  • 18. Nuts’n’Bolts Explanation Beyond Money Issues Another Block in the Chain We’d like to retain order of transactions Otherwise: Uncertainty on who owns which infocoin at a time A linear chain: Next block refers to the previous → A new block is added to the chain Guy Kloss | WTF is Blockchain??? 18/33
  • 19. Nuts’n’Bolts Explanation Beyond Money Issues Another Block in the Chain Guy Kloss | WTF is Blockchain??? 19/33
  • 20. Nuts’n’Bolts Explanation Beyond Money Issues Concurrency Causes Forks Occasionally a fork happens If two miners succeed in solving the puzzle (nearly simultaneously) Guy Kloss | WTF is Blockchain??? 20/33
  • 21. Nuts’n’Bolts Explanation Beyond Money Issues What now? This is what we’re trying to avoid Keep track of both paths Miners only work on the longest fork One will eventually get longer “B” gets the next block first, work on “A” will cease Outstanding transactions on “B” will be integrated → Agreed upon ordering in time will be achieved Guy Kloss | WTF is Blockchain??? 21/33
  • 22. Nuts’n’Bolts Explanation Beyond Money Issues Dishonesty on Forking Back to the double spending problem: Forks can be a chance to double spend Will be detected once both blocks are available Variant on double spending if Alice = Bob (multiple identities) Forking intentionally after Charlie accepts the coin Community will continue on longest/earliest branch Not feasible to “catch up” with the legit branch Guy Kloss | WTF is Blockchain??? 22/33
  • 23. Nuts’n’Bolts Explanation Beyond Money Issues Outline 1 Nuts’n’Bolts Explanation 2 Beyond Money 3 Issues Guy Kloss | WTF is Blockchain??? 23/33
  • 24. Nuts’n’Bolts Explanation Beyond Money Issues Content of Records For money, a block contain payment records. What if it contained . . . Multiple columns? “Documents” (e. g. JSON)? Code? Guy Kloss | WTF is Blockchain??? 24/33
  • 25. Nuts’n’Bolts Explanation Beyond Money Issues Private Chains Within organisations Within user groups Guy Kloss | WTF is Blockchain??? 25/33
  • 26. Nuts’n’Bolts Explanation Beyond Money Issues “Non-Chains” Just the hash trees (Merkle trees) Not using cryptographic signatures One-sided assurance only (from the CA side) → No assurance from the client/user Only proving the positive (document exists) → Not the negative (document does not exist) Guy Kloss | WTF is Blockchain??? 26/33
  • 27. Nuts’n’Bolts Explanation Beyond Money Issues Side Chains? What is the biggest, most used and most secure blockchain in operation? → Bitcoin So we should be using that one, right? Can’t do. Not useful for non-payment purposes. → Pegging a “side chain” to another (e. g. Bitcoin) Also possible for private chains → Federation approach Guy Kloss | WTF is Blockchain??? 27/33
  • 28. Nuts’n’Bolts Explanation Beyond Money Issues Visions New take on identity management Ownership Land registries Assets Transparency for KiwiSaver & weapons/tobacco/. . . NZX trading for (smaller) companies Proof of ownership Instant trading any time Simplified Support Contracts Guy Kloss | WTF is Blockchain??? 28/33
  • 29. Nuts’n’Bolts Explanation Beyond Money Issues Outline 1 Nuts’n’Bolts Explanation 2 Beyond Money 3 Issues Guy Kloss | WTF is Blockchain??? 29/33
  • 30. Nuts’n’Bolts Explanation Beyond Money Issues Proof of Work Waste of energy? US$ 1 million in electricity for every day 10–100 times Google’s global compute capacity Scalability? Alternatives Proof of Stake Hybrids Centralised → May defeat the purpose Guy Kloss | WTF is Blockchain??? 30/33
  • 31. Nuts’n’Bolts Explanation Beyond Money Issues Which Chain? Which chain to adopt for use? The scene is still much in flow Not all problems are solved, yet Guy Kloss | WTF is Blockchain??? 31/33
  • 32. Nuts’n’Bolts Explanation Beyond Money Issues Resources Videos & talks: David Birch “A new way to stop identity theft” http://www.ted.com/talks/david_birch_identity_without_a_name Don Tapscott “How the blockchain is changing money and business” http: //www.ted.com/talks/don_tapscott_how_the_blockchain_is_changing_money_and_business Introduction: Michael Nielsen “How the Bitcoin protocol actually works” http://www.michaelnielsen.org/ddi/how-the-bitcoin-protocol-actually-works/ Guy Kloss | WTF is Blockchain??? 32/33
  • 33. Nuts’n’Bolts Explanation Beyond Money Issues Questions? Be Safe! Guy Kloss guy.kloss@qrious.co.nz Guy Kloss | WTF is Blockchain??? 33/33