1. An Introduction to Blockchain and
Hyperledger
Lennart Frantzell
IBM Developer Advocate
San Francisco
alf@us.ibm.com
V1.2 February 1 2019
Blockchain Explored Series
IBM Blockchain Platform Explored
Fabric Explored
Composer Explored
Whatโs New
Architectures Explored
5. 5
The Ledger problem
inefficient, expensive, vulnerable
Participant Aโs records Participant Bโs records Bank records
Insurer records Regulator records Auditor records
6. 6
Blockchain
Participant Aโs records Participant Bโs records Bank records
Insurer records Regulator records Auditor records
The Ledger Solution
A shared, replicated, permissioned ledgerโฆ
โฆwith consensus, provenance, immutability and finality
8. 8
Linux Foundation Open Source Hyperledger
โข
App Layer: Hyperledger Sawtooth
Supply Chain
Cargill
https://sawtooth.hyperledger.org/examples/seafood.html
In December 2015, the Linux Foundation announced the creation of the Hyperledger Project.
Visual Studio Code
9. Roadmap
โข Channels
โข Selective endorsement
โข SOLO/Kafka orderers
โข LevelDB or CouchDB
โข Javascript chaincode
โข Connection profile
โข Encryption library
โข Attribute access control
โข CouchDB indexes
โข Channel based events
โข ACLs
โข Service discovery
โข Pluggable endorsement and validation
โข Private Data Collections
โข State based endorsement
โข Java chaincode
โข CouchDB pagination
โข Identity Mixer
โข Local collections
โข SDK improvements
โข Lifecycle changes
โข Revocation for Idemixer
โข Tokenisation
โข RAFT
โข Operational metrics and logging
โข SDK and SHIM improvements
โข Burrow EVM
โข Long Term Service (LTS) support
07/17 03/18 06/18 10/18 4Q/18
*
1Q/19
*
Based on https://wiki.hyperledger.org/projects/fabric/roadmap - Dates determined by the Hyperledger community - (*) Subject to change
v1
v1.1
v1.2
v1.3
v1.4
v2.0
11. 11
Pluggable Consensus
โข https://www.slideshare.net/MattLucas3/blockchain-whats-new-in-hyperledger-fabric-oct-2018
โข This modular architecture allows the platform to rely on well-established toolkits for
CFT (crash fault-tolerant) or BFT (byzantine fault-tolerant) ordering.
โข In the currently available releases, Fabric offers a CFT ordering service implemented
with Kafka and Zookeeper. Kafka is fault tolerant, but not Byzantine fault tolerant
โข In subsequent releases, Fabric will deliver a Raft consensus ordering service
implemented with etcd/Raft and a fully decentralized BFT ordering service.
12. 12
Hyperledger Fabric components
โข Hyperledger has three components:
โ membership services โ which manages digital certificates and access,
โ ordering service โ which keeps the peers in alignment,
โ and peers โ which hold the ledger.
โข A peer is also where chaincode, also known as smart contracts, are executed.
โข Membership and ordering services align well to being centralized.
โ Peers, on the other hand, can be distributed and placed anywhere you desire in the
world.
โ Each member of the Hyperledger network should have their own peer.
โ The channels (databases) that a peer subscribes to, and transacts against, determines
the memberโs role and capabilities in the blockchain network.
https://www.ibm.com/blogs/systems/blockchain-how-should-you-organize-your-peers/
14. 14
IBM Blockchain Platform
Platform Architecture Overview
Application SDK
Membership
Services
Peer
Endorser
Ledger
Committer
A
Chaincode B
!Events
Ordering-Service
O
O
O
Fabric-CAExternal-CA
optionaloptional Admin
Users
CACA
Hardware
Security
Module(*)
IBP UI
(*) Enterprise Plan
Certificate
Authority
IBM Blockchain
Platform
15. 15
The Ledger, Blockchain and World State Database
https://hyperledger-fabric.readthedocs.io/en/release-1.4/ledger/ledger.html#example-ledger-fabcar
world state โ a database that holds a cache of
the current values of a set of ledger states.
The world state makes it easy for a program
to directly access the current value of a state
rather than having to calculate it by traversing
the entire transaction log (= Blockchain).
16. 16IBM Blockchain Platform
How applications interact with the IBM Blockchain
Platform
Blockchain
Developer
Develops
Chaincode
Submits
0 1 2 3
Ledger
Blockchain WorldState
Get, Put, Delete
Record
SDK
Application
!
Emits
Emits
!
Peer
Accesses
18. 18
What makes a good Blockchain Use Case?
โข
โข A Business problem that cannot easily be solved
with existing techniques
โข An identifiable business network
โข With a shared ledger
โข With Participants, Assets and Transactions
โข A need for embedded trust but no Trusted Third
Party
22. 22
3) Re-use IBM Code Patterns for Blockchain
โข IBM Code Patterns for Blockchain: https://developer.ibm.com/patterns/category/blockchain/
โข 10 Lessons: Design Thinking for Blockchain
https://www.ibm.com/blogs/insights-on-business/government/10-lessons-design-thinking-blockchain/
38. 38
Where do we go from here?
LinkedIn: lennartfrantzell
IBM Blockchain: https://www.ibm.com/blockchain
Build for free on IBM Cloud: https://ibm.biz/Bd2L5W
https://developer.ibm.com/startups/
Startup with IBM. Build. Scale. Win.
With $120,000 in free IBM Cloud credits, Startup with IBM can
put your business on the path to transformative growth. Disrupt
your industry with IBM.