SlideShare a Scribd company logo
1 of 51
Download to read offline
Understanding
Blockchains
Overview
• Hype
• Categorizing blockchain systems
• Elements of a blockchain
• Putting it together – Zerocash
• Conclusion
© Len Bass 2015 2
Hype
• Blockchain is a hot technology but it is not well
understood.
• Based on cryptography – obscure except to experts
• Initial usages are driven by political motives (libertarian)
• Still in its infancy – many variants
• It has multiple different portions that interact.
© Len Bass 2015 3
Blockchain on the Gartner Hype
Cycle (2016)
© Len Bass 2015 4
Blockchain
Interest in Blockchains*
© Len Bass 2015*World Economic Forum: “The future of financial infrastructure”, August
2016
5
World Economic Forum use cases
1. Global payments
2. Insurance – claims processing
3. Syndicated loans
4. Capital raising - Contingent convertible bonds
5. Investment Management – automated compliance
6. Market provisioning
7. Trade/Finance – international trade and supply chains
© Len Bass 2015 6
Identify management blockchain
startups from Angells list
• Voatz – smart phone votng: biometrics for id to
smartphone,blockchain for irrefutability.
• Shocard – identity management
• Stampery – digital notarization service
• Authenticiti
• Vchain – airport security; passenger identification
information,custom checks
© Len Bass 2015 7
Energy market startups
• Sun exchange – solar energy market
• Volt markets – energy trading market
• Transactive grid – home energy networks
© Len Bass 2015 8
Other startups
• Ascribd – sales tax compliance
• Chainlink – real estate titles
• SimplyVital Health – blockchain secured health records
• Scorechain – compliance and CRM
• Aekraes Kodex – supply chain
• Mediachain – connects media to its creator
© Len Bass 2015 9
Observations - 1
• Anticipated benefits for financial use cases are primarily
derived from “removal of friction” from the processes
• Single source of truth – no need for reconciliation
• Simplifies compliance
• All of the World Economic Use Cases use cases require
• coordination among diverse parties
• Revising existing practices and supporting systems
© Len Bass 2015 10
Observations – 2
• Startups are targeting
• Individuals interactions with large monopolies such as electric
companies
• businesses – identity management, supply chain, health record
• Compliance with government regulators or insurance companies
© Len Bass 2015 11
Blockchains and the cloud
• A number of organizations have been reluctant to put
their data into the cloud.Applications include:
• IOT
• Banks’ financial applications
• Medical applications and health data
• Blockchains provide an additional layer of security for all
of these application areas.
© Len Bass 2015 12
Terminological aside
• Platforms vs networks
• Blockchains run on a software platform – frequently open
source.
• There exist networks of users using these software platforms.
• Bitcoin
• Ethereum
• Multichain
• Ethereum is actually both. It is a platform but also a
network of users for the Ethereum cryptocurrency.
© Len Bass 2015 13
Overview
• Hype
• Categorizing blockchain systems
• Elements of a blockchain
• Putting it together – Zerocash
• Conclusion
© Len Bass 2015 14
Categorizing blockchain systems
• Trust model
• Public/private
• Customizability
• On chain/off chain
• Incentive structure
• Permissions/no permissions
© Len Bass 2015 15
Trust model
• Some blockchains have no central authority and rely on
consensus mechanisms within the network of users – e.g.
Bitcoin, Ethereum
• Other blockchains have users with special privileges – e.g.
Multichain
© Len Bass 2015 16
Public/private
• Anyone can use a public network such a Bitcoin or
Ethereum.
• Public networks have rules regarding fees for use.
• Since the platform is (mostly) open source, you could
create a private network using one of the existing
platforms.Then you can set up your own rules.
© Len Bass 2015 17
Customizability
• Some blockchains have hard coded transaction rules–
e.g. Bitcoin or other non government backed digital
currencies.
• Other blockchains allow you to set up your own
transaction rules. E.g. Ethereum has aTuring complete
language to specify transaction rules.
• Programs in these languages are called “smart contracts”
© Len Bass 2015 18
On chain/off chain
• Some blockchains allow you to import/export some data
not on the chain for computational or verification
purposes.
• Such data is no longer protected by encryption or
guaranteed to be immutable although recording a hash
of exported/imported data can provide some guarantees.
© Len Bass 2015 19
Incentive structure for public
networks
• Creating a new block in Bitcoin is computationally
difficult.This is referred to as “mining”
• In public networks, some of the power of blockchain is
due to replication and having new blocks validated.
• The incentive structure is intended both to incentivize
creation of new blocks and to replicate existing blocks.
• If you are a successful miner, you are allocated new Bitcoins
• Collected fees are also allocated to encourage participation.
© Len Bass 2015 20
Permission/no permission
• Private networks require permissions to access
• Public networks can be used for private purposes. E.g.
executing a smart Ethereum contract to manage a supply
chain.
• Public networks that are used for private purposes
require permissions to access the private portions.
© Len Bass 2015 21
Overview
• Hype
• Categorizing blockchain systems
• Elements of a blockchain
• Contract
• Immutability
• Cryptography
• Putting it together – Zerocash
• Conclusion
© Len Bass 2015 22
A blockchain has three elements
1. A contract . Every blockchain is based on one or more
contracts. If more than one, the contracts should be
logically connected.
2. An immutable history of valid transactions within the
contract.
3. A cryptographic encoding of the contract.
Elements of a blockcahin
23
Element 1: blockchain contract
• A contract in a blockchain is a specification of how
individuals or entities can interact with the blockchain
and their obligations and rewards from this interaction.
• Contracts can be
• explicit or implicit
• hard coded into the platform or programmable
• (Smart contracts are a special case of this general notion
of contract)
© Len Bass 2015 24
Bitcoin contract
• Hard coded
• Key concepts:
• Accounts – an individual may have one or more accounts within
the bitcoin network
• Spending – an individual owning an account can transfer bitcoins
to another account
• Mining – a new bitcoin can be created by finding a valid new
block (complicated process)
• Consensus validation.A transaction is not “accepted” until it has
been validated by participants in the network.
© Len Bass 2015 25
Ethereum
• The Ethereum platform supports aTuring complete
programing langage
• You write a “smart contract” in this programming
language that specifies the rules of your contract.
• There are other rules for using the platform that govern
costs and fees.
• The contract for Ethereum users is similar to Bitcoins.
© Len Bass 2015 26
Element 2: An immutable history
© Len Bass 2015 27
• Immutable public ledger
• Time stamped transactions
• Audit trail of what happened
• Distributed and replicated
How is immutability achieved?
• Immutability rests on two foundations
• Hash functions
• Difficulty of modifying blockchain
© Len Bass 2015 28
Use of Hash Functions
© Len Bass 2015 29
Transaction data +
hash of prior block
Transaction data +
330810
Hash of contents 330810 Hash of contents 3430809
Blocks are linked by hash values
so In order to change contents of
one block, must change all of the
subsequent blocks
What prevents someone from
changing the whole blockchain?
• It depends on the trust model
• Consensus model. Each block must satisfy mining
constraints – computationally very difficult.
• It is possible for collusion among a majority of users to modify
blockchain (51% attack).
• Special user model. Each block is signed by one of the
special users. Rules exist to prevent rogue special users
from modifying data.
© Len Bass 2015 30
Element 3: Cryptography
© Len Bass 2015 31
contract Key
Generator
Prover key
Verifier key
Comments:
• Everything is public to
users of the blockchain
except the internals of
the key generator
• Figure might be slightly
different when a
different theoretical
basis is used. This
figure is based on
Quadratic Span
Programs
• All details of the provers
assertion such as
who/what/when can be
kept secret.
• There may be elements
of the contract outside
of the prover’s control.
E.g. Bitcoin consensus
process
Prover – I have
complied with all
elements of the
contract under my
control
Compliance
Token
Compliance
Token
Verifier – Prover
has (has not)
complied
Building blocks of cryptography
• NP completeness
• Zero Knowledge proofs
• Quadratic Span Programs
© Len Bass 2015 32
NP completeness
• An NP complete problem is one in which there is no way
to locate a solution in polynomial time.
• It may be possible, however, to verify a solution in
polynomial time.
• The Boolean satisfiability problem is NP complete.
• Given a statement in Boolean logic, finding an assignment of
True or False to the variables in that statement that makes the
statement evaluate toTrue is computationally difficult.
• Verifying that a particular assignment evaluates toTrue is
computationally easy.
© Len Bass 2015 33
Zero Knowledge Proofs
• We begin with the Diffie Hellman algorithm
• Diffie Hellman is the basis of the SSH protocol.
© Len Bass 2015 34
Start by choosing p and g
• p is a large prime
• g is a base such that gp = 0 (mod p)
• Computing y = gx (mod p) is easy but finding x when given
y, g, and p is NP difficult.
• So y, g, and p can all be made public without
compromising the ability to find x.
© Len Bass 2015 35
Using p and g to implement Diffie
Hellman
• Alice (or Bob) select p and g.These are publically shared.
• Alice and Bob each select random numbers rA and rB.They
keep them secret (even from each other)
• Alice computes mA = grA (mod p) and sends it to Bob
• Bob computes mB = grB (mod p) and sends it to Alice
• Bob computes s = (grA)rB (mod p). I.e. mA raised to his
secret number. Alice does a similar computation. Because
exponents are commutative (xAB = xBA) they both arrive at
the same s but an eavesdropper cannot derive s.
Furthermore, rA and rB are kept secret.
© Len Bass 2015 36
Moving to Zero Knowledge (ZK)
proofs
• Alice generates two keys using techniques similar to
Diffie Hellman. One she keeps secret and one she shares
with Bob.
• Alice claims knowledge of some fact and encodes that
knowledge using her secret key. She shares the encoding
with Bob.
• Bob uses the shared key to verify the truth of the fact that
Alice is claiming.
© Len Bass 2015 37
Security
• It is not possible for Bob to derive Alice’s fact from their
communication without either factoring large numbers
(an NP complete problem) or knowing Alice’s secret key.
• That is, Alice can convince Bob that she knows the fact in
question without divulging the fact – zero knowledge
proof.
• More importantly, there is an efficient way to generate
zero knowledge proofs for any NP complete problem.
© Len Bass 2015 38
Quadratic Span programs
• Roles:
• Prover (Alice in prior examples).
• Verifier (Bob).
• Generating prover/verifier tokens
• Input Boolean expression into the key generator. Output is two
publically available tokens– one for the prover, one for the
verifier
• Proof/verification
• Prover uses prover token to assert a particular string is true for
the Boolean expression.
• Verifier uses verifier token to check prover’s assertion
© Len Bass 2015 39
Cheating
• Prover cannot cheat because then their assertion cannot
be verified.
• Verifier cannot cheat because verifier token is public,
verifier algorithm is public, and assertion is public.
Anyone can verify if assertion is true.
• Tokens are based on secret choices.These choices must
be kept secret.
© Len Bass 2015 40
How do quadratic span prorams
work?
• Key idea – for any Boolean expression can generate a
function that will determine whether an input satisfies
that expression.
• Function can work in linear time
• Function does not find satisfying input, only verifies if a given
input satisfies
• Function is derived by generating vectors that span
possible inputs and modeling each gate in Boolean circuit
associated with Boolean expression as a vector.
• Two different functions – one for input wires (for proving)
and one for internal wires (for verification)
© Len Bass 2015 41
Applying encryption
• Boolean satisfying problem is NP complete so there
exists Zero Knowledge proofs to determine validity. This
is a part of creating a quadratic span program.
• A key generator creates the tokens based on choice of
large primes.These primes must be kept secret but are
only used in the generation phase.
• Prover asserts particular string is true.Verifier uses
verifier token to verify but because quadratic span proofs
and verification are zero knowledge, no information
about the string is available to theVerifier (or anyone
else).
© Len Bass 2015 42
Overview
• Hype
• Categorizing blockchain systems
• Elements of a blockchain
• Putting it together – Zerocash
• Conclusion
© Len Bass 2015 43
Zerocash
• Zerocash (Zcash) is a crypto currency (like bitcoin) such
that transactions can be verified without disclosing any
information about the person initiating the transaction or
the recipient of the transaction.
© Len Bass 2015 44
What is a transaction?
• A transaction describes the transfer of money from one
account to another. It has the following items:
• From account
• To account
• Amount of money to transfer from sender to recipient
• Verification that the from account has sufficient funds
• Verification that the person initiating the transaction owns the
from account
© Len Bass 2015 45
Pieces of zerocash
• Setup – create public tokens
• CreateAddress – open an account
• Mint – create a new zerocash coin
• Verify transaction – verify that a reported transaction
satisfies conditions
• Pour – spend coins
• Receive – add spent coins to your account
© Len Bass 2015 46
Zerocash properties
• Relies on the public tokens
• Relies on an immutable public ledger
• Keeps private (encrypted) all of the elements of the
transaction
• Account identifiers – from and to
• Owners of accounts
• Amount of accounts
• Amount of transaction
© Len Bass 2015 47
Overview
• Hype
• Categorizing blockchain systems
• Elements of a blockchain
• Putting it together – Zerocash
• Conclusion
© Len Bass 2015 48
Conclusion
• Blockchains are widely (over?) hyped for many financial
applications
• They rest on solid technical bases
• Security and privacy properties can be chosen and then
enforced.
• Key cryptographic enablers are
• Zero Knowledge proofs
• Quadratic Span programs
© Len Bass 2015 49
Sources - 1
1. https://www.weforum.org/reports/the-future-of-
financial-infrastructure-an-ambitious-look-at-how-
blockchain-can-reshape-financial-services
2. https://bitsonblocks.net/2016/02/29/a-gentle-
introduction-to-immutability-of-blockchains/
3. http://zerocash-project.org/media/pdf/zerocash-
extended-20140518.pdf
© Len Bass 2015 50
Sources – 2
4. https://eprint.iacr.org/2012/215.pdf
5. https://blog.cryptographyengineering.com/2014/11/27/z
ero-knowledge-proofs-illustrated-primer/
6. http://design.inf.usi.ch/sites/default/files/biblio/icsa2017
-blockchain.pdf
© Len Bass 2015 51

More Related Content

What's hot

Hyperledger Fabric Update - June 2018
Hyperledger Fabric Update - June 2018Hyperledger Fabric Update - June 2018
Hyperledger Fabric Update - June 2018Arnaud Le Hors
 
blockchain and iot: Opportunities and Challanges
blockchain and iot: Opportunities and Challangesblockchain and iot: Opportunities and Challanges
blockchain and iot: Opportunities and ChallangesChetan Kumar S
 
Demystify blockchain development with hyperledger fabric
Demystify blockchain development with hyperledger fabricDemystify blockchain development with hyperledger fabric
Demystify blockchain development with hyperledger fabricBenjamin Fuentes
 
The Blockchain and the Future of Cybersecurity
The Blockchain and the Future of CybersecurityThe Blockchain and the Future of Cybersecurity
The Blockchain and the Future of CybersecurityKevin Cedeño, CISM, CISA
 
Blockchain architected
Blockchain architectedBlockchain architected
Blockchain architectedIBM Sverige
 
Blockchain and Services – Exploring the Links
Blockchain and Services – Exploring the LinksBlockchain and Services – Exploring the Links
Blockchain and Services – Exploring the LinksIngo Weber
 
Blockchain explored
Blockchain explored Blockchain explored
Blockchain explored IBM Sverige
 
Software Architecture and Model-Driven Engineering for Blockchain
Software Architecture and Model-Driven Engineering for BlockchainSoftware Architecture and Model-Driven Engineering for Blockchain
Software Architecture and Model-Driven Engineering for BlockchainIngo Weber
 
Technical Introduction to Hyperledger Fabric v1.0
Technical Introduction to Hyperledger Fabric v1.0Technical Introduction to Hyperledger Fabric v1.0
Technical Introduction to Hyperledger Fabric v1.0Altoros
 
Deploying and Managing a Global Blockchain Network
Deploying and Managing a Global Blockchain NetworkDeploying and Managing a Global Blockchain Network
Deploying and Managing a Global Blockchain NetworkDuncan Johnston-Watt
 
Alternative Consensus & Enterprise Blockchain
Alternative Consensus & Enterprise BlockchainAlternative Consensus & Enterprise Blockchain
Alternative Consensus & Enterprise BlockchainTobias Disse
 
Blockchain explained FIATA Congress 20180910
Blockchain explained FIATA Congress 20180910Blockchain explained FIATA Congress 20180910
Blockchain explained FIATA Congress 20180910Arnaud Le Hors
 
EUIPO DPM knowledge share: Blockchain and IP
EUIPO DPM knowledge share: Blockchain and IPEUIPO DPM knowledge share: Blockchain and IP
EUIPO DPM knowledge share: Blockchain and IPAudrius Ramoska
 
Blockchain and Cryptography - A Primer
Blockchain and Cryptography - A PrimerBlockchain and Cryptography - A Primer
Blockchain and Cryptography - A PrimerGokul Alex
 
How to develop Decentralized App (ĐApp) on Ethereum
How to develop Decentralized App (ĐApp) on EthereumHow to develop Decentralized App (ĐApp) on Ethereum
How to develop Decentralized App (ĐApp) on EthereumDEV Cafe
 
Blockchain technology
Blockchain technologyBlockchain technology
Blockchain technologyAayt Bahaa
 
Testing in the blockchain
Testing in the blockchainTesting in the blockchain
Testing in the blockchainCraig Risi
 

What's hot (20)

Hyperledger Fabric Update - June 2018
Hyperledger Fabric Update - June 2018Hyperledger Fabric Update - June 2018
Hyperledger Fabric Update - June 2018
 
blockchain and iot: Opportunities and Challanges
blockchain and iot: Opportunities and Challangesblockchain and iot: Opportunities and Challanges
blockchain and iot: Opportunities and Challanges
 
Demystify blockchain development with hyperledger fabric
Demystify blockchain development with hyperledger fabricDemystify blockchain development with hyperledger fabric
Demystify blockchain development with hyperledger fabric
 
Brief Introduction to Blockchain Security
Brief Introduction to Blockchain SecurityBrief Introduction to Blockchain Security
Brief Introduction to Blockchain Security
 
The Blockchain and the Future of Cybersecurity
The Blockchain and the Future of CybersecurityThe Blockchain and the Future of Cybersecurity
The Blockchain and the Future of Cybersecurity
 
Blockchain architected
Blockchain architectedBlockchain architected
Blockchain architected
 
Blockchain BTSym '16
Blockchain BTSym '16Blockchain BTSym '16
Blockchain BTSym '16
 
Blockchain and Services – Exploring the Links
Blockchain and Services – Exploring the LinksBlockchain and Services – Exploring the Links
Blockchain and Services – Exploring the Links
 
Blockchain explored
Blockchain explored Blockchain explored
Blockchain explored
 
Software Architecture and Model-Driven Engineering for Blockchain
Software Architecture and Model-Driven Engineering for BlockchainSoftware Architecture and Model-Driven Engineering for Blockchain
Software Architecture and Model-Driven Engineering for Blockchain
 
Technical Introduction to Hyperledger Fabric v1.0
Technical Introduction to Hyperledger Fabric v1.0Technical Introduction to Hyperledger Fabric v1.0
Technical Introduction to Hyperledger Fabric v1.0
 
Deploying and Managing a Global Blockchain Network
Deploying and Managing a Global Blockchain NetworkDeploying and Managing a Global Blockchain Network
Deploying and Managing a Global Blockchain Network
 
Alternative Consensus & Enterprise Blockchain
Alternative Consensus & Enterprise BlockchainAlternative Consensus & Enterprise Blockchain
Alternative Consensus & Enterprise Blockchain
 
Blockchain explained FIATA Congress 20180910
Blockchain explained FIATA Congress 20180910Blockchain explained FIATA Congress 20180910
Blockchain explained FIATA Congress 20180910
 
Build your first blockchain
Build your first blockchainBuild your first blockchain
Build your first blockchain
 
EUIPO DPM knowledge share: Blockchain and IP
EUIPO DPM knowledge share: Blockchain and IPEUIPO DPM knowledge share: Blockchain and IP
EUIPO DPM knowledge share: Blockchain and IP
 
Blockchain and Cryptography - A Primer
Blockchain and Cryptography - A PrimerBlockchain and Cryptography - A Primer
Blockchain and Cryptography - A Primer
 
How to develop Decentralized App (ĐApp) on Ethereum
How to develop Decentralized App (ĐApp) on EthereumHow to develop Decentralized App (ĐApp) on Ethereum
How to develop Decentralized App (ĐApp) on Ethereum
 
Blockchain technology
Blockchain technologyBlockchain technology
Blockchain technology
 
Testing in the blockchain
Testing in the blockchainTesting in the blockchain
Testing in the blockchain
 

Similar to Understanding blockchains

Blockchain and BPM - Reflections on Four Years of Research and Applications
Blockchain and BPM - Reflections on Four Years of Research and ApplicationsBlockchain and BPM - Reflections on Four Years of Research and Applications
Blockchain and BPM - Reflections on Four Years of Research and ApplicationsIngo Weber
 
Block chain fundamentals and hyperledger
Block chain fundamentals and hyperledgerBlock chain fundamentals and hyperledger
Block chain fundamentals and hyperledgersendhilkumarks
 
Blockchain Application Design and Development, and the Case of Programmable M...
Blockchain Application Design and Development, and the Case of Programmable M...Blockchain Application Design and Development, and the Case of Programmable M...
Blockchain Application Design and Development, and the Case of Programmable M...Ingo Weber
 
Blockchain As An Enabler_16 July 2016_David Lee_Final
Blockchain As An Enabler_16 July 2016_David Lee_FinalBlockchain As An Enabler_16 July 2016_David Lee_Final
Blockchain As An Enabler_16 July 2016_David Lee_FinalDavid Lee Kuo Chuen 李国权
 
Blockchain & Islamic Finance
Blockchain & Islamic FinanceBlockchain & Islamic Finance
Blockchain & Islamic FinanceFarrukh Habib
 
Blockchain with HyperLedger (Public version)
Blockchain with HyperLedger (Public version)Blockchain with HyperLedger (Public version)
Blockchain with HyperLedger (Public version)Benjamin Fuentes
 
Blockchain Technology: Adoption Challenges, Platform and Applications
Blockchain Technology: Adoption Challenges, Platform and ApplicationsBlockchain Technology: Adoption Challenges, Platform and Applications
Blockchain Technology: Adoption Challenges, Platform and ApplicationsSanjeev Verma, PhD
 
Blockchain Technology: Adoption Challenges, Platform and Applications
Blockchain Technology: Adoption Challenges, Platform and ApplicationsBlockchain Technology: Adoption Challenges, Platform and Applications
Blockchain Technology: Adoption Challenges, Platform and ApplicationsSanjeev Verma, PhD
 
A Primer on Blockchain and its Potential, with a Focus on the GCC
A Primer on Blockchain and its Potential, with a Focus on the GCCA Primer on Blockchain and its Potential, with a Focus on the GCC
A Primer on Blockchain and its Potential, with a Focus on the GCCZeyad T. Al Mudhaf
 
Ethereum Blockchain with Smart contract and ERC20
Ethereum Blockchain with Smart contract and ERC20Ethereum Blockchain with Smart contract and ERC20
Ethereum Blockchain with Smart contract and ERC20Truong Nguyen
 
An introduction to blockchain and hyperledger v ru
An introduction to blockchain and hyperledger v ruAn introduction to blockchain and hyperledger v ru
An introduction to blockchain and hyperledger v ruLennartF
 
12 Myths about Blockchain Technology
12 Myths about Blockchain Technology12 Myths about Blockchain Technology
12 Myths about Blockchain TechnologyAhmed Banafa
 

Similar to Understanding blockchains (20)

BLOCKCHAIN
 BLOCKCHAIN BLOCKCHAIN
BLOCKCHAIN
 
Blockchain
Blockchain Blockchain
Blockchain
 
Blockchain and BPM - Reflections on Four Years of Research and Applications
Blockchain and BPM - Reflections on Four Years of Research and ApplicationsBlockchain and BPM - Reflections on Four Years of Research and Applications
Blockchain and BPM - Reflections on Four Years of Research and Applications
 
Block chain fundamentals and hyperledger
Block chain fundamentals and hyperledgerBlock chain fundamentals and hyperledger
Block chain fundamentals and hyperledger
 
BlockChain-1.pptx
BlockChain-1.pptxBlockChain-1.pptx
BlockChain-1.pptx
 
Blockchain Application Design and Development, and the Case of Programmable M...
Blockchain Application Design and Development, and the Case of Programmable M...Blockchain Application Design and Development, and the Case of Programmable M...
Blockchain Application Design and Development, and the Case of Programmable M...
 
BlockChain-1.pptx
BlockChain-1.pptxBlockChain-1.pptx
BlockChain-1.pptx
 
Blockchain As An Enabler_16 July 2016_David Lee_Final
Blockchain As An Enabler_16 July 2016_David Lee_FinalBlockchain As An Enabler_16 July 2016_David Lee_Final
Blockchain As An Enabler_16 July 2016_David Lee_Final
 
Blockchain & Islamic Finance
Blockchain & Islamic FinanceBlockchain & Islamic Finance
Blockchain & Islamic Finance
 
Understanding Blockchain
Understanding BlockchainUnderstanding Blockchain
Understanding Blockchain
 
module-1.pptx
module-1.pptxmodule-1.pptx
module-1.pptx
 
Blockchain with HyperLedger (Public version)
Blockchain with HyperLedger (Public version)Blockchain with HyperLedger (Public version)
Blockchain with HyperLedger (Public version)
 
Blockchain Technology: Adoption Challenges, Platform and Applications
Blockchain Technology: Adoption Challenges, Platform and ApplicationsBlockchain Technology: Adoption Challenges, Platform and Applications
Blockchain Technology: Adoption Challenges, Platform and Applications
 
Blockchain Technology: Adoption Challenges, Platform and Applications
Blockchain Technology: Adoption Challenges, Platform and ApplicationsBlockchain Technology: Adoption Challenges, Platform and Applications
Blockchain Technology: Adoption Challenges, Platform and Applications
 
A Primer on Blockchain and its Potential, with a Focus on the GCC
A Primer on Blockchain and its Potential, with a Focus on the GCCA Primer on Blockchain and its Potential, with a Focus on the GCC
A Primer on Blockchain and its Potential, with a Focus on the GCC
 
Ethereum Blockchain with Smart contract and ERC20
Ethereum Blockchain with Smart contract and ERC20Ethereum Blockchain with Smart contract and ERC20
Ethereum Blockchain with Smart contract and ERC20
 
An introduction to blockchain and hyperledger v ru
An introduction to blockchain and hyperledger v ruAn introduction to blockchain and hyperledger v ru
An introduction to blockchain and hyperledger v ru
 
BCT.pptx
BCT.pptxBCT.pptx
BCT.pptx
 
12 Myths about Blockchain Technology
12 Myths about Blockchain Technology12 Myths about Blockchain Technology
12 Myths about Blockchain Technology
 
Blockchain Technology
Blockchain TechnologyBlockchain Technology
Blockchain Technology
 

More from Len Bass

Devops syllabus
Devops syllabusDevops syllabus
Devops syllabusLen Bass
 
DevOps Syllabus summer 2020
DevOps Syllabus summer 2020DevOps Syllabus summer 2020
DevOps Syllabus summer 2020Len Bass
 
11 secure development
11  secure development 11  secure development
11 secure development Len Bass
 
10 disaster recovery
10 disaster recovery  10 disaster recovery
10 disaster recovery Len Bass
 
9 postproduction
9 postproduction 9 postproduction
9 postproduction Len Bass
 
8 pipeline
8 pipeline 8 pipeline
8 pipeline Len Bass
 
7 configuration management
7 configuration management 7 configuration management
7 configuration management Len Bass
 
6 microservice architecture
6 microservice architecture6 microservice architecture
6 microservice architectureLen Bass
 
5 infrastructure security
5 infrastructure security5 infrastructure security
5 infrastructure securityLen Bass
 
4 container management
4  container management4  container management
4 container managementLen Bass
 
3 the cloud
3 the cloud 3 the cloud
3 the cloud Len Bass
 
1 virtual machines
1 virtual machines1 virtual machines
1 virtual machinesLen Bass
 
2 networking
2 networking2 networking
2 networkingLen Bass
 
Quantum talk
Quantum talkQuantum talk
Quantum talkLen Bass
 
Experience in teaching devops
Experience in teaching devopsExperience in teaching devops
Experience in teaching devopsLen Bass
 
Dev ops and safety critical systems
Dev ops and safety critical systemsDev ops and safety critical systems
Dev ops and safety critical systemsLen Bass
 
My first deployment pipeline
My first deployment pipelineMy first deployment pipeline
My first deployment pipelineLen Bass
 
Packaging tool options
Packaging tool optionsPackaging tool options
Packaging tool optionsLen Bass
 
Introduction to dev ops
Introduction to dev opsIntroduction to dev ops
Introduction to dev opsLen Bass
 
Securing deployment pipeline
Securing deployment pipelineSecuring deployment pipeline
Securing deployment pipelineLen Bass
 

More from Len Bass (20)

Devops syllabus
Devops syllabusDevops syllabus
Devops syllabus
 
DevOps Syllabus summer 2020
DevOps Syllabus summer 2020DevOps Syllabus summer 2020
DevOps Syllabus summer 2020
 
11 secure development
11  secure development 11  secure development
11 secure development
 
10 disaster recovery
10 disaster recovery  10 disaster recovery
10 disaster recovery
 
9 postproduction
9 postproduction 9 postproduction
9 postproduction
 
8 pipeline
8 pipeline 8 pipeline
8 pipeline
 
7 configuration management
7 configuration management 7 configuration management
7 configuration management
 
6 microservice architecture
6 microservice architecture6 microservice architecture
6 microservice architecture
 
5 infrastructure security
5 infrastructure security5 infrastructure security
5 infrastructure security
 
4 container management
4  container management4  container management
4 container management
 
3 the cloud
3 the cloud 3 the cloud
3 the cloud
 
1 virtual machines
1 virtual machines1 virtual machines
1 virtual machines
 
2 networking
2 networking2 networking
2 networking
 
Quantum talk
Quantum talkQuantum talk
Quantum talk
 
Experience in teaching devops
Experience in teaching devopsExperience in teaching devops
Experience in teaching devops
 
Dev ops and safety critical systems
Dev ops and safety critical systemsDev ops and safety critical systems
Dev ops and safety critical systems
 
My first deployment pipeline
My first deployment pipelineMy first deployment pipeline
My first deployment pipeline
 
Packaging tool options
Packaging tool optionsPackaging tool options
Packaging tool options
 
Introduction to dev ops
Introduction to dev opsIntroduction to dev ops
Introduction to dev ops
 
Securing deployment pipeline
Securing deployment pipelineSecuring deployment pipeline
Securing deployment pipeline
 

Recently uploaded

Try MyIntelliAccount Cloud Accounting Software As A Service Solution Risk Fre...
Try MyIntelliAccount Cloud Accounting Software As A Service Solution Risk Fre...Try MyIntelliAccount Cloud Accounting Software As A Service Solution Risk Fre...
Try MyIntelliAccount Cloud Accounting Software As A Service Solution Risk Fre...MyIntelliSource, Inc.
 
Project Based Learning (A.I).pptx detail explanation
Project Based Learning (A.I).pptx detail explanationProject Based Learning (A.I).pptx detail explanation
Project Based Learning (A.I).pptx detail explanationkaushalgiri8080
 
A Secure and Reliable Document Management System is Essential.docx
A Secure and Reliable Document Management System is Essential.docxA Secure and Reliable Document Management System is Essential.docx
A Secure and Reliable Document Management System is Essential.docxComplianceQuest1
 
Cloud Management Software Platforms: OpenStack
Cloud Management Software Platforms: OpenStackCloud Management Software Platforms: OpenStack
Cloud Management Software Platforms: OpenStackVICTOR MAESTRE RAMIREZ
 
Optimizing AI for immediate response in Smart CCTV
Optimizing AI for immediate response in Smart CCTVOptimizing AI for immediate response in Smart CCTV
Optimizing AI for immediate response in Smart CCTVshikhaohhpro
 
Building a General PDE Solving Framework with Symbolic-Numeric Scientific Mac...
Building a General PDE Solving Framework with Symbolic-Numeric Scientific Mac...Building a General PDE Solving Framework with Symbolic-Numeric Scientific Mac...
Building a General PDE Solving Framework with Symbolic-Numeric Scientific Mac...stazi3110
 
Advancing Engineering with AI through the Next Generation of Strategic Projec...
Advancing Engineering with AI through the Next Generation of Strategic Projec...Advancing Engineering with AI through the Next Generation of Strategic Projec...
Advancing Engineering with AI through the Next Generation of Strategic Projec...OnePlan Solutions
 
Russian Call Girls in Karol Bagh Aasnvi ➡️ 8264348440 💋📞 Independent Escort S...
Russian Call Girls in Karol Bagh Aasnvi ➡️ 8264348440 💋📞 Independent Escort S...Russian Call Girls in Karol Bagh Aasnvi ➡️ 8264348440 💋📞 Independent Escort S...
Russian Call Girls in Karol Bagh Aasnvi ➡️ 8264348440 💋📞 Independent Escort S...soniya singh
 
The Real-World Challenges of Medical Device Cybersecurity- Mitigating Vulnera...
The Real-World Challenges of Medical Device Cybersecurity- Mitigating Vulnera...The Real-World Challenges of Medical Device Cybersecurity- Mitigating Vulnera...
The Real-World Challenges of Medical Device Cybersecurity- Mitigating Vulnera...ICS
 
Salesforce Certified Field Service Consultant
Salesforce Certified Field Service ConsultantSalesforce Certified Field Service Consultant
Salesforce Certified Field Service ConsultantAxelRicardoTrocheRiq
 
chapter--4-software-project-planning.ppt
chapter--4-software-project-planning.pptchapter--4-software-project-planning.ppt
chapter--4-software-project-planning.pptkotipi9215
 
Unit 1.1 Excite Part 1, class 9, cbse...
Unit 1.1 Excite Part 1, class 9, cbse...Unit 1.1 Excite Part 1, class 9, cbse...
Unit 1.1 Excite Part 1, class 9, cbse...aditisharan08
 
Adobe Marketo Engage Deep Dives: Using Webhooks to Transfer Data
Adobe Marketo Engage Deep Dives: Using Webhooks to Transfer DataAdobe Marketo Engage Deep Dives: Using Webhooks to Transfer Data
Adobe Marketo Engage Deep Dives: Using Webhooks to Transfer DataBradBedford3
 
HR Software Buyers Guide in 2024 - HRSoftware.com
HR Software Buyers Guide in 2024 - HRSoftware.comHR Software Buyers Guide in 2024 - HRSoftware.com
HR Software Buyers Guide in 2024 - HRSoftware.comFatema Valibhai
 
Professional Resume Template for Software Developers
Professional Resume Template for Software DevelopersProfessional Resume Template for Software Developers
Professional Resume Template for Software DevelopersVinodh Ram
 
Alluxio Monthly Webinar | Cloud-Native Model Training on Distributed Data
Alluxio Monthly Webinar | Cloud-Native Model Training on Distributed DataAlluxio Monthly Webinar | Cloud-Native Model Training on Distributed Data
Alluxio Monthly Webinar | Cloud-Native Model Training on Distributed DataAlluxio, Inc.
 
Short Story: Unveiling the Reasoning Abilities of Large Language Models by Ke...
Short Story: Unveiling the Reasoning Abilities of Large Language Models by Ke...Short Story: Unveiling the Reasoning Abilities of Large Language Models by Ke...
Short Story: Unveiling the Reasoning Abilities of Large Language Models by Ke...kellynguyen01
 
EY_Graph Database Powered Sustainability
EY_Graph Database Powered SustainabilityEY_Graph Database Powered Sustainability
EY_Graph Database Powered SustainabilityNeo4j
 
why an Opensea Clone Script might be your perfect match.pdf
why an Opensea Clone Script might be your perfect match.pdfwhy an Opensea Clone Script might be your perfect match.pdf
why an Opensea Clone Script might be your perfect match.pdfjoe51371421
 
Engage Usergroup 2024 - The Good The Bad_The Ugly
Engage Usergroup 2024 - The Good The Bad_The UglyEngage Usergroup 2024 - The Good The Bad_The Ugly
Engage Usergroup 2024 - The Good The Bad_The UglyFrank van der Linden
 

Recently uploaded (20)

Try MyIntelliAccount Cloud Accounting Software As A Service Solution Risk Fre...
Try MyIntelliAccount Cloud Accounting Software As A Service Solution Risk Fre...Try MyIntelliAccount Cloud Accounting Software As A Service Solution Risk Fre...
Try MyIntelliAccount Cloud Accounting Software As A Service Solution Risk Fre...
 
Project Based Learning (A.I).pptx detail explanation
Project Based Learning (A.I).pptx detail explanationProject Based Learning (A.I).pptx detail explanation
Project Based Learning (A.I).pptx detail explanation
 
A Secure and Reliable Document Management System is Essential.docx
A Secure and Reliable Document Management System is Essential.docxA Secure and Reliable Document Management System is Essential.docx
A Secure and Reliable Document Management System is Essential.docx
 
Cloud Management Software Platforms: OpenStack
Cloud Management Software Platforms: OpenStackCloud Management Software Platforms: OpenStack
Cloud Management Software Platforms: OpenStack
 
Optimizing AI for immediate response in Smart CCTV
Optimizing AI for immediate response in Smart CCTVOptimizing AI for immediate response in Smart CCTV
Optimizing AI for immediate response in Smart CCTV
 
Building a General PDE Solving Framework with Symbolic-Numeric Scientific Mac...
Building a General PDE Solving Framework with Symbolic-Numeric Scientific Mac...Building a General PDE Solving Framework with Symbolic-Numeric Scientific Mac...
Building a General PDE Solving Framework with Symbolic-Numeric Scientific Mac...
 
Advancing Engineering with AI through the Next Generation of Strategic Projec...
Advancing Engineering with AI through the Next Generation of Strategic Projec...Advancing Engineering with AI through the Next Generation of Strategic Projec...
Advancing Engineering with AI through the Next Generation of Strategic Projec...
 
Russian Call Girls in Karol Bagh Aasnvi ➡️ 8264348440 💋📞 Independent Escort S...
Russian Call Girls in Karol Bagh Aasnvi ➡️ 8264348440 💋📞 Independent Escort S...Russian Call Girls in Karol Bagh Aasnvi ➡️ 8264348440 💋📞 Independent Escort S...
Russian Call Girls in Karol Bagh Aasnvi ➡️ 8264348440 💋📞 Independent Escort S...
 
The Real-World Challenges of Medical Device Cybersecurity- Mitigating Vulnera...
The Real-World Challenges of Medical Device Cybersecurity- Mitigating Vulnera...The Real-World Challenges of Medical Device Cybersecurity- Mitigating Vulnera...
The Real-World Challenges of Medical Device Cybersecurity- Mitigating Vulnera...
 
Salesforce Certified Field Service Consultant
Salesforce Certified Field Service ConsultantSalesforce Certified Field Service Consultant
Salesforce Certified Field Service Consultant
 
chapter--4-software-project-planning.ppt
chapter--4-software-project-planning.pptchapter--4-software-project-planning.ppt
chapter--4-software-project-planning.ppt
 
Unit 1.1 Excite Part 1, class 9, cbse...
Unit 1.1 Excite Part 1, class 9, cbse...Unit 1.1 Excite Part 1, class 9, cbse...
Unit 1.1 Excite Part 1, class 9, cbse...
 
Adobe Marketo Engage Deep Dives: Using Webhooks to Transfer Data
Adobe Marketo Engage Deep Dives: Using Webhooks to Transfer DataAdobe Marketo Engage Deep Dives: Using Webhooks to Transfer Data
Adobe Marketo Engage Deep Dives: Using Webhooks to Transfer Data
 
HR Software Buyers Guide in 2024 - HRSoftware.com
HR Software Buyers Guide in 2024 - HRSoftware.comHR Software Buyers Guide in 2024 - HRSoftware.com
HR Software Buyers Guide in 2024 - HRSoftware.com
 
Professional Resume Template for Software Developers
Professional Resume Template for Software DevelopersProfessional Resume Template for Software Developers
Professional Resume Template for Software Developers
 
Alluxio Monthly Webinar | Cloud-Native Model Training on Distributed Data
Alluxio Monthly Webinar | Cloud-Native Model Training on Distributed DataAlluxio Monthly Webinar | Cloud-Native Model Training on Distributed Data
Alluxio Monthly Webinar | Cloud-Native Model Training on Distributed Data
 
Short Story: Unveiling the Reasoning Abilities of Large Language Models by Ke...
Short Story: Unveiling the Reasoning Abilities of Large Language Models by Ke...Short Story: Unveiling the Reasoning Abilities of Large Language Models by Ke...
Short Story: Unveiling the Reasoning Abilities of Large Language Models by Ke...
 
EY_Graph Database Powered Sustainability
EY_Graph Database Powered SustainabilityEY_Graph Database Powered Sustainability
EY_Graph Database Powered Sustainability
 
why an Opensea Clone Script might be your perfect match.pdf
why an Opensea Clone Script might be your perfect match.pdfwhy an Opensea Clone Script might be your perfect match.pdf
why an Opensea Clone Script might be your perfect match.pdf
 
Engage Usergroup 2024 - The Good The Bad_The Ugly
Engage Usergroup 2024 - The Good The Bad_The UglyEngage Usergroup 2024 - The Good The Bad_The Ugly
Engage Usergroup 2024 - The Good The Bad_The Ugly
 

Understanding blockchains

  • 2. Overview • Hype • Categorizing blockchain systems • Elements of a blockchain • Putting it together – Zerocash • Conclusion © Len Bass 2015 2
  • 3. Hype • Blockchain is a hot technology but it is not well understood. • Based on cryptography – obscure except to experts • Initial usages are driven by political motives (libertarian) • Still in its infancy – many variants • It has multiple different portions that interact. © Len Bass 2015 3
  • 4. Blockchain on the Gartner Hype Cycle (2016) © Len Bass 2015 4 Blockchain
  • 5. Interest in Blockchains* © Len Bass 2015*World Economic Forum: “The future of financial infrastructure”, August 2016 5
  • 6. World Economic Forum use cases 1. Global payments 2. Insurance – claims processing 3. Syndicated loans 4. Capital raising - Contingent convertible bonds 5. Investment Management – automated compliance 6. Market provisioning 7. Trade/Finance – international trade and supply chains © Len Bass 2015 6
  • 7. Identify management blockchain startups from Angells list • Voatz – smart phone votng: biometrics for id to smartphone,blockchain for irrefutability. • Shocard – identity management • Stampery – digital notarization service • Authenticiti • Vchain – airport security; passenger identification information,custom checks © Len Bass 2015 7
  • 8. Energy market startups • Sun exchange – solar energy market • Volt markets – energy trading market • Transactive grid – home energy networks © Len Bass 2015 8
  • 9. Other startups • Ascribd – sales tax compliance • Chainlink – real estate titles • SimplyVital Health – blockchain secured health records • Scorechain – compliance and CRM • Aekraes Kodex – supply chain • Mediachain – connects media to its creator © Len Bass 2015 9
  • 10. Observations - 1 • Anticipated benefits for financial use cases are primarily derived from “removal of friction” from the processes • Single source of truth – no need for reconciliation • Simplifies compliance • All of the World Economic Use Cases use cases require • coordination among diverse parties • Revising existing practices and supporting systems © Len Bass 2015 10
  • 11. Observations – 2 • Startups are targeting • Individuals interactions with large monopolies such as electric companies • businesses – identity management, supply chain, health record • Compliance with government regulators or insurance companies © Len Bass 2015 11
  • 12. Blockchains and the cloud • A number of organizations have been reluctant to put their data into the cloud.Applications include: • IOT • Banks’ financial applications • Medical applications and health data • Blockchains provide an additional layer of security for all of these application areas. © Len Bass 2015 12
  • 13. Terminological aside • Platforms vs networks • Blockchains run on a software platform – frequently open source. • There exist networks of users using these software platforms. • Bitcoin • Ethereum • Multichain • Ethereum is actually both. It is a platform but also a network of users for the Ethereum cryptocurrency. © Len Bass 2015 13
  • 14. Overview • Hype • Categorizing blockchain systems • Elements of a blockchain • Putting it together – Zerocash • Conclusion © Len Bass 2015 14
  • 15. Categorizing blockchain systems • Trust model • Public/private • Customizability • On chain/off chain • Incentive structure • Permissions/no permissions © Len Bass 2015 15
  • 16. Trust model • Some blockchains have no central authority and rely on consensus mechanisms within the network of users – e.g. Bitcoin, Ethereum • Other blockchains have users with special privileges – e.g. Multichain © Len Bass 2015 16
  • 17. Public/private • Anyone can use a public network such a Bitcoin or Ethereum. • Public networks have rules regarding fees for use. • Since the platform is (mostly) open source, you could create a private network using one of the existing platforms.Then you can set up your own rules. © Len Bass 2015 17
  • 18. Customizability • Some blockchains have hard coded transaction rules– e.g. Bitcoin or other non government backed digital currencies. • Other blockchains allow you to set up your own transaction rules. E.g. Ethereum has aTuring complete language to specify transaction rules. • Programs in these languages are called “smart contracts” © Len Bass 2015 18
  • 19. On chain/off chain • Some blockchains allow you to import/export some data not on the chain for computational or verification purposes. • Such data is no longer protected by encryption or guaranteed to be immutable although recording a hash of exported/imported data can provide some guarantees. © Len Bass 2015 19
  • 20. Incentive structure for public networks • Creating a new block in Bitcoin is computationally difficult.This is referred to as “mining” • In public networks, some of the power of blockchain is due to replication and having new blocks validated. • The incentive structure is intended both to incentivize creation of new blocks and to replicate existing blocks. • If you are a successful miner, you are allocated new Bitcoins • Collected fees are also allocated to encourage participation. © Len Bass 2015 20
  • 21. Permission/no permission • Private networks require permissions to access • Public networks can be used for private purposes. E.g. executing a smart Ethereum contract to manage a supply chain. • Public networks that are used for private purposes require permissions to access the private portions. © Len Bass 2015 21
  • 22. Overview • Hype • Categorizing blockchain systems • Elements of a blockchain • Contract • Immutability • Cryptography • Putting it together – Zerocash • Conclusion © Len Bass 2015 22
  • 23. A blockchain has three elements 1. A contract . Every blockchain is based on one or more contracts. If more than one, the contracts should be logically connected. 2. An immutable history of valid transactions within the contract. 3. A cryptographic encoding of the contract. Elements of a blockcahin 23
  • 24. Element 1: blockchain contract • A contract in a blockchain is a specification of how individuals or entities can interact with the blockchain and their obligations and rewards from this interaction. • Contracts can be • explicit or implicit • hard coded into the platform or programmable • (Smart contracts are a special case of this general notion of contract) © Len Bass 2015 24
  • 25. Bitcoin contract • Hard coded • Key concepts: • Accounts – an individual may have one or more accounts within the bitcoin network • Spending – an individual owning an account can transfer bitcoins to another account • Mining – a new bitcoin can be created by finding a valid new block (complicated process) • Consensus validation.A transaction is not “accepted” until it has been validated by participants in the network. © Len Bass 2015 25
  • 26. Ethereum • The Ethereum platform supports aTuring complete programing langage • You write a “smart contract” in this programming language that specifies the rules of your contract. • There are other rules for using the platform that govern costs and fees. • The contract for Ethereum users is similar to Bitcoins. © Len Bass 2015 26
  • 27. Element 2: An immutable history © Len Bass 2015 27 • Immutable public ledger • Time stamped transactions • Audit trail of what happened • Distributed and replicated
  • 28. How is immutability achieved? • Immutability rests on two foundations • Hash functions • Difficulty of modifying blockchain © Len Bass 2015 28
  • 29. Use of Hash Functions © Len Bass 2015 29 Transaction data + hash of prior block Transaction data + 330810 Hash of contents 330810 Hash of contents 3430809 Blocks are linked by hash values so In order to change contents of one block, must change all of the subsequent blocks
  • 30. What prevents someone from changing the whole blockchain? • It depends on the trust model • Consensus model. Each block must satisfy mining constraints – computationally very difficult. • It is possible for collusion among a majority of users to modify blockchain (51% attack). • Special user model. Each block is signed by one of the special users. Rules exist to prevent rogue special users from modifying data. © Len Bass 2015 30
  • 31. Element 3: Cryptography © Len Bass 2015 31 contract Key Generator Prover key Verifier key Comments: • Everything is public to users of the blockchain except the internals of the key generator • Figure might be slightly different when a different theoretical basis is used. This figure is based on Quadratic Span Programs • All details of the provers assertion such as who/what/when can be kept secret. • There may be elements of the contract outside of the prover’s control. E.g. Bitcoin consensus process Prover – I have complied with all elements of the contract under my control Compliance Token Compliance Token Verifier – Prover has (has not) complied
  • 32. Building blocks of cryptography • NP completeness • Zero Knowledge proofs • Quadratic Span Programs © Len Bass 2015 32
  • 33. NP completeness • An NP complete problem is one in which there is no way to locate a solution in polynomial time. • It may be possible, however, to verify a solution in polynomial time. • The Boolean satisfiability problem is NP complete. • Given a statement in Boolean logic, finding an assignment of True or False to the variables in that statement that makes the statement evaluate toTrue is computationally difficult. • Verifying that a particular assignment evaluates toTrue is computationally easy. © Len Bass 2015 33
  • 34. Zero Knowledge Proofs • We begin with the Diffie Hellman algorithm • Diffie Hellman is the basis of the SSH protocol. © Len Bass 2015 34
  • 35. Start by choosing p and g • p is a large prime • g is a base such that gp = 0 (mod p) • Computing y = gx (mod p) is easy but finding x when given y, g, and p is NP difficult. • So y, g, and p can all be made public without compromising the ability to find x. © Len Bass 2015 35
  • 36. Using p and g to implement Diffie Hellman • Alice (or Bob) select p and g.These are publically shared. • Alice and Bob each select random numbers rA and rB.They keep them secret (even from each other) • Alice computes mA = grA (mod p) and sends it to Bob • Bob computes mB = grB (mod p) and sends it to Alice • Bob computes s = (grA)rB (mod p). I.e. mA raised to his secret number. Alice does a similar computation. Because exponents are commutative (xAB = xBA) they both arrive at the same s but an eavesdropper cannot derive s. Furthermore, rA and rB are kept secret. © Len Bass 2015 36
  • 37. Moving to Zero Knowledge (ZK) proofs • Alice generates two keys using techniques similar to Diffie Hellman. One she keeps secret and one she shares with Bob. • Alice claims knowledge of some fact and encodes that knowledge using her secret key. She shares the encoding with Bob. • Bob uses the shared key to verify the truth of the fact that Alice is claiming. © Len Bass 2015 37
  • 38. Security • It is not possible for Bob to derive Alice’s fact from their communication without either factoring large numbers (an NP complete problem) or knowing Alice’s secret key. • That is, Alice can convince Bob that she knows the fact in question without divulging the fact – zero knowledge proof. • More importantly, there is an efficient way to generate zero knowledge proofs for any NP complete problem. © Len Bass 2015 38
  • 39. Quadratic Span programs • Roles: • Prover (Alice in prior examples). • Verifier (Bob). • Generating prover/verifier tokens • Input Boolean expression into the key generator. Output is two publically available tokens– one for the prover, one for the verifier • Proof/verification • Prover uses prover token to assert a particular string is true for the Boolean expression. • Verifier uses verifier token to check prover’s assertion © Len Bass 2015 39
  • 40. Cheating • Prover cannot cheat because then their assertion cannot be verified. • Verifier cannot cheat because verifier token is public, verifier algorithm is public, and assertion is public. Anyone can verify if assertion is true. • Tokens are based on secret choices.These choices must be kept secret. © Len Bass 2015 40
  • 41. How do quadratic span prorams work? • Key idea – for any Boolean expression can generate a function that will determine whether an input satisfies that expression. • Function can work in linear time • Function does not find satisfying input, only verifies if a given input satisfies • Function is derived by generating vectors that span possible inputs and modeling each gate in Boolean circuit associated with Boolean expression as a vector. • Two different functions – one for input wires (for proving) and one for internal wires (for verification) © Len Bass 2015 41
  • 42. Applying encryption • Boolean satisfying problem is NP complete so there exists Zero Knowledge proofs to determine validity. This is a part of creating a quadratic span program. • A key generator creates the tokens based on choice of large primes.These primes must be kept secret but are only used in the generation phase. • Prover asserts particular string is true.Verifier uses verifier token to verify but because quadratic span proofs and verification are zero knowledge, no information about the string is available to theVerifier (or anyone else). © Len Bass 2015 42
  • 43. Overview • Hype • Categorizing blockchain systems • Elements of a blockchain • Putting it together – Zerocash • Conclusion © Len Bass 2015 43
  • 44. Zerocash • Zerocash (Zcash) is a crypto currency (like bitcoin) such that transactions can be verified without disclosing any information about the person initiating the transaction or the recipient of the transaction. © Len Bass 2015 44
  • 45. What is a transaction? • A transaction describes the transfer of money from one account to another. It has the following items: • From account • To account • Amount of money to transfer from sender to recipient • Verification that the from account has sufficient funds • Verification that the person initiating the transaction owns the from account © Len Bass 2015 45
  • 46. Pieces of zerocash • Setup – create public tokens • CreateAddress – open an account • Mint – create a new zerocash coin • Verify transaction – verify that a reported transaction satisfies conditions • Pour – spend coins • Receive – add spent coins to your account © Len Bass 2015 46
  • 47. Zerocash properties • Relies on the public tokens • Relies on an immutable public ledger • Keeps private (encrypted) all of the elements of the transaction • Account identifiers – from and to • Owners of accounts • Amount of accounts • Amount of transaction © Len Bass 2015 47
  • 48. Overview • Hype • Categorizing blockchain systems • Elements of a blockchain • Putting it together – Zerocash • Conclusion © Len Bass 2015 48
  • 49. Conclusion • Blockchains are widely (over?) hyped for many financial applications • They rest on solid technical bases • Security and privacy properties can be chosen and then enforced. • Key cryptographic enablers are • Zero Knowledge proofs • Quadratic Span programs © Len Bass 2015 49
  • 50. Sources - 1 1. https://www.weforum.org/reports/the-future-of- financial-infrastructure-an-ambitious-look-at-how- blockchain-can-reshape-financial-services 2. https://bitsonblocks.net/2016/02/29/a-gentle- introduction-to-immutability-of-blockchains/ 3. http://zerocash-project.org/media/pdf/zerocash- extended-20140518.pdf © Len Bass 2015 50
  • 51. Sources – 2 4. https://eprint.iacr.org/2012/215.pdf 5. https://blog.cryptographyengineering.com/2014/11/27/z ero-knowledge-proofs-illustrated-primer/ 6. http://design.inf.usi.ch/sites/default/files/biblio/icsa2017 -blockchain.pdf © Len Bass 2015 51