Hyperledger Fabric is a permissioned blockchain framework that provides confidential transactions and smart contract functionality. It uses channels to isolate data on the ledger and provide private and confidential transactions between authorized participants. Key components include assets that represent real-world value, chaincode/smart contracts that define transactions and update assets on the ledger, and a ledger to record the immutable transaction history.
2. http://www.unicomlearning.com/2017/Devops_Microservices_and_Containers_Summit_Bangalore/
Who am I?
Murughan Palaniachari
Principal Consultant –
Blockchain & DevOps at
Pingala Software
With my Guru –
John Willis & Jez Humble
Organizer of
Technical Agility Conference
Cloud and DevOps meetup
DevOps and Blockchain meetup
Blockchain Developers meetup
https://elevate-org.com/
https://devopsgames.com/
https://in.linkedin.com/in/murughan
@Murughan_P
3. Challenges with centralized technology
Centralized
Lack of trust & integrity
Lack of traceability
Lack of visibility
Fraud & Data tamper
High operating cost
Middlemen
7. Public Blockchain
Anonymous - Anyone can read, write and join network
Decentralized – no entity owns the network
Cryptocurrency involved
Proof-of-Work consensus
Example: Bitcoin, Ethereum, EOS, Stellar
@Murughan_P
8. How Blockchain works
Node
2
Node
5,000
Node
N
Node
25
Transaction is
Broadcasted
to Blockchain
peer-to-peer
network
User
Requests
a transaction
Transaction will be validated by any
node in this Network through some
algorithms and smart contract
Once the transaction is verified by
multiple Nodes in the Blockchain
network then new block gets added to
chain and replicated across all the nodes
User
Requested
Transaction
Is completed
Node
500
Node
5
Node
1
Node
20,00
0
https://www.slideshare.net/arunmurughan/blockchain-concepts @Murughan_P
9. Challenges with Public Blockchain
https://medium.com/@preethikasireddy/fundamental-challenges-with-public-blockchains-253c800e9428
@Murughan_P
Low performance
Scalability issue
Anonymous
Limited privacy & confidentiality
Storage constraint
Unsustainable consensus mechanisms
Lack of governance and standards
Quantum computing threat
Not suitable for Enterprises where privacy and confidential is needed
10. Permissioned Blockchain for Enterprises
@Murughan_P
Restricts who can access and do what on the network
Participants must be identified/identifiable
Network is permissioned
High transaction throughput performance
Low latency of transaction confirmation
Privacy and confidentiality of transactions
Decentralized within the involved parties
Governance is enabled
Interoperable
11. Public vs Permissioned Blockchain
Public Blockchain - Ethereum Private Blockchain - Hyperledger Fabric
Blockchain Platform Framework
Governance Ethereum is developed by a
worldwide team of passionate
developers
Linux Foundation
Network Public and Permissioned Private and Permissioned
Consensus Mechanism PoW Pluggable Consensus
Currency Ether None
Smart Contract Solidity Golang, Java, Node.js
When to choose If the transactions are public If the transactions needs privacy,
confidentiality and identity.
@Murughan_P
12. Hyperledger Projects
Hyperledger is an
Umbrella project of
open source
Blockchain and
related tools started
in December 2015 by
the Linux Foundation
Hyperledger project is an open source
collaborative effort created to advance
cross-industry blockchain technologies.
It is a Linux Foundation Project and
implements many open source best
practices familiar to other leading projects.
@Murughan_P
15. Supply chain without Blockchain
Suppliers
Factory Distributor
Whole
Seller
Retailer
ConsumerSuppliers
Suppliers
Raw Materials
Raw Materials
Raw Materials
Raw Materials
Raw Materials
Raw Materials
Retailer
Retailer
Ledger maintained by each party – Mutable, Not Trustable, Traceability issue, Non auditable
@Murughan_P
16. Supply chain with Blockchain
Suppliers
Factory Distributor
Whole
Seller
Retailer
ConsumerSuppliers
Suppliers
Raw Materials
Raw Materials
Raw Materials
Raw Materials
Raw Materials
Raw Materials
Retailer
Retailer
Decentralized and Share Ledger – Immutable, Transparency & Data Visibility, decentralized, traceable, auditable,
encrypted, Eliminating middlemen, Reduced cost, Real-time true data and Privacy & Confidential.
@Murughan_P
Blockchain
Share Ledger
17. Hyperledger Fabric
Private and permissioned blockchain
Open Source & Governed by a diverse set of maintainers from multiple organizations.
Development community over 35 organizations and nearly 200 developers.
Blockchain framework for Business Blockchain applications
Enables privacy and confidentiality of transactions
Enables trust, transparency and accountability in network
@Murughan_P
18. Hyperledger Fabric
Highly modular and configurable architecture
Pluggable consensus protocols that enable the platform to be more effective
High transaction throughput performance
Low latency of transaction confirmation
No cryptocurrency to incent costly mining or to fuel smart contract execution
@Murughan_P
19. The sample network for 4 organizations
https://hyperledger-fabric.readthedocs.io/en/release-1.4/network/network.html @Murughan_P
21. Asset – Exchange of Value
Exchange of almost anything with monetary
value over the network, from whole foods to
antique cars to currency futures.
Tangible - Real estate, Hardware etc.
Intangible – Contracts, Intellectual property
etc.
Represented as a collection of key-value pairs
in binary and/or JSON form
asset Car {
o String serialNumber
o String owner
.
}
@Murughan_P
22. Chaincode – Smart Contract
Business logic
Enforces rules to read or altering state
Defining an assets
Transaction instruction to change Asset state
Write smart contracts in Java, Go or Node.js
Chaincode execution results in a state change in ledger
Governed by System chaincode’s Endorsement Policy
Each Chaincode instance in its own container
@Murughan_P
23. Ledger
Record of all state transitions of asset
Immutable, append-only, sequenced, tamper-resistant record.
Each transaction results in entry to Ledger.
All participant have replica of ledger
There is one ledger per channel.
Each peer maintains a copy of the ledger for each channel of which they are a
member.
@Murughan_P
24. Ledger
Chaincode modified Ledger data
• Transaction Log
• Records all transactions
• Immutable
• Can perform only Create and Read
• Uses Level DB - Embedded within the peer
• State database
• Records current state of Asset
• Can Perform Create, Read, Update, Delete
• New Versioned created on update with Key-Value pair
• We can use Couch DB to execute complex queries
@Murughan_P
25. Permissioned Network
Restricts who can
access and do what
on the network
Authentication -
Known Identities
Access Control -
Role assigned
restricts the actions
Transaction
Validations - Carried
out by a subset of
participants
@Murughan_P
26. Privacy & Confidential
Privacy Participant not visible to the public but can decide to
disclose identity to trusted entities
immutable ledger on a per-channel basis
Confidential Only authorized participants are allowed to have access
to the information
@Murughan_P
27. Identity
Every actors(participants, peers, orderers, client applications, administrators and more)
in a blockchain network has a digital identity encapsulated in an X.509 digital certificate.
Determine the exact permissions over resources & access to information that actors have
in a blockchain network.
For an identity to be verifiable, it must come from a trusted authority this is achieved
through MSP -Membership Service Provider
Certificates issued & revoked by Certification Authority (CA)
@Murughan_P
28. Membership Service Provider
Provides the credentials to various entities
Component that defines the rules that govern the valid identities for this
organization.
The default MSP implementation in Fabric uses X.509 certificates as identities,
adopting a Public Key Infrastructure (PKI)
Members in org can create certificates for their participants and infrastructure
For modularity, network can be governed by one or more MSPs
@Murughan_P
29. Channels
Org 1
Org 2
Org 5
Org 4
LEDGER 1
LEDGER 2
Private communication between two or more
members for private and confidential transactions.
Each party must be authenticated and authorized
to transact on that channel.
Independent Ledger in each channel
Isolates the Ledger
Chaincode installed on peers that need visibility
also provides data encryption
Org 3
Org 6
LEDGER 3
@Murughan_P
LEDGER 1
LEDGER 1
LEDGER 1
LEDGER 1
LEDGER 2
LEDGER 3
31. Client Node
Client node acts on behalf of the
end user
Creates Txn Request and send
Endorser(s)
Connects to a Orderer for
broadcasting validated transaction
Chaincode defines the
endorsement policy
Uses policy to validate the
transaction
@Murughan_P
32. Endorser
Validates the transaction e.g.,
Certificate checks
Simulates the
chaincode
Executes the code
But does NOT save the state to the Ledger
Primary objective =
Protect the network
Intentional attack on the network
Misbehaving or misconfigured nodes on the network
Improve scalability
as only endorsers
need to execute the
code
NO need for all nodes to execute the chaincode
@Murughan_P
33. Peer Node
Adds the transaction to the ledger
Receives requests from client
Local Ledger Synchronization
Highly Scalable Architecture
@Murughan_P
Peers leverage gossip to broadcast
ledger and channel data in a scalable
fashion. Gossip messaging is continuous,
and each peer on a channel is constantly
receiving current and consistent ledger
data from multiple peers.
34. Anchor Peer
Anchor Peers receive the blocks
Anchor Peers update other peers in
the org
Setup at the channel level
Discoverable
@Murughan_P
35. Orderer Node - Ordering Service
Communication channel for fabric
Responsible for consistent ledger state
across the network
Consensus mechanism
Ensures order of transactions
Creates the blocks & guarantees atomic
delivery
SOLO or Kafka messaging service
@Murughan_P
37. Access Control Lists
Manage access to resources
by associating a policy —
which specifies a rule that
evaluates to true or false,
given a set of identities
@Murughan_P
38. The sample network for 4 organizations
https://hyperledger-fabric.readthedocs.io/en/release-1.4/network/network.html @Murughan_P
39. Transaction Flow in Asset Exchange
https://hyperledger-fabric.readthedocs.io/en/release-1.4/txflow.html
The scenario includes two clients, A and B, who are buying and selling radishes.
@Murughan_P