Bcta 24co1001
Bcta 24co1001
Architecture,
Components, and Working
Mechanism
Presenter: Gaurav R. Birajdar
Motivation &
Objectives
Why permissioned blockchains?
Secure, private networks for trusted participants
Enterprise use-cases
Supply chain, finance, healthcare applications
What is Hyperledger Fabric?
2 2019
Fabric v1.4 LTS for production
3 2020 (v2.0)
Chaincode governance and privacy features
4 2020–2024
Incremental improvements, stable 2.5.x line
5 2024
Moved to Linux Foundation Decentralized Trust
Modular Architecture Overview
Policy Control
Per-channel endorsement and access policies
Consensus Layers in
Hyperledger Fabric
Crash-Fault-Tolerant (CFT): Solo, Kafka/ZooKeeper, Raft
Use Cases
Designed for high-security, multi-party environments
Identity & Security with
MSP
MSP Components X.509 Certificates
• cacerts, admincerts, Bind identities to
signcerts, keystore organizations securely
Role-Based Policies
For endorsement, lifecycle, read/write ACLs
Deployment Topologies Overview
Single-Org Network Multi-Org Consortium Hybrid Cloud & On-Prem
Simple test or demo environment Multiple MSPs share ordering Flexible deployment across
service governance environments
Operational
Considerations
Enrollment
Request and receive CA-signed certificate
Revocation
Update MSP CRL to expire or revoke certs
Fabric CA Structure & High Availability
Fabric CA Server HA Clusters LDAP Integration
Private root CA issuing X.509 Multiple CA servers, common Optional external user registry
certificates database for reliability support
Access Control & Policy
Framework
Endorsement Lifecycle Policies
Policies Govern chaincode
Specify required MSP installation and approval
signatures, e.g., majority
ACLs
Restrict resource access in configtx.yaml
Advanced IAM: OAuth 2.0 Integration
Hybrid Model Use Case Benefits
Fabric CA combined with OAuth 2.0 Healthcare data sharing with RBAC, • Scalable token-based access
authorization HIPAA compliance control
• Immutable audit trail of token
issuance
Understanding Chaincode
in Hyperledger Fabric
Chaincode: business logic or smart contracts in Fabric networks
4 Commit 5 Invoke
Consensus finalizes chaincode on the channel Applications submit transactions via installed
chaincode
Chaincode as a Service
(CCaaS)
External Builder & Benefits
Launcher • Decoupled deployment
Run chaincode outside peer via Kubernetes
process (Fabric v2.0+) • Faster startup times
• Independent scaling
Configuration
Set externalBuilders in core.yaml configuration file
Chaincode Development Environments
Go Node.js Java SDK Support
Chaincode reads but cannot write • Defined in JSON configuration Secure sharing like KYC without
across different channels • PutPrivateData and creating new channels
GetPrivateData APIs
Execute–Order–Validate Overview
3 Signature
Peers sign RW sets and send endorsements
Ordering Service Phase
Collection Batching
Clients submit endorsed RW Transactions grouped into
sets to ordering service blocks by policies
Consensus
• Raft/Kafka for crash-fault tolerance
• SmartBFT for Byzantine fault tolerance (v3.0+)
Validation & Commitment
Phase
Block Delivery
Peers receive ordered blocks via gossip protocol
Endorsement Check
Verification of endorsement policies
Commit or Invalidate
Update ledger and world state accordingly
Detailed RW Set & Conflict
Handling
Read Set: Keys and versions read during simulation
Submits transaction Simulate and return Batches, orders, Validate then commit or
(e.g., CreateAsset 'A1') signed RW sets broadcasts blocks invalidate transactions
Error Handling & Retry
Strategies
Endorsement Errors
Retry alternate peers or update chaincode
Ordering Timeouts
Client retries or secondary orderer failover
Validation Conflicts
Refresh world state and resubmit proposals
Best Practices
Exponential backoff, idempotent ops, error logging
Network Setup & Tools
Fabric Binaries & Docker & Docker- Fabric-Samples SDKs & CLI
Samples Compose Repos
Go, Node.js, Java SDKs
Download curl -sSL Containerize peers, BYFN and Test-Network and peer CLI
https://bit.ly/2ysbOFE | orderers, CAs for prototyping
bash
Configuration Files
configtx.yaml core.yaml / peer CLI
Defines channel profiles, orgs, policies
ENV
Peer settings like MSP paths, chaincode builder
Channel Join
Peers join channel
Chaincode Lifecycle
Package, install, approve, commit, invoke
Channel Updates
Modify policies or add orgs
Performance Modeling
Transaction Pool
Limits HLF 2.5 Analytics
Backlog impact on Validating models against
throughput deployments
Queuing Models Key Metrics
Ordering & endorsement Throughput, latency, block
delay characterization size trade-offs
2 3
1 4
Monitoring & Logging
Prometheus Metrics
Enable peer and orderer exporters
Grafana Dashboards
Use community dashboards (e.g., 10716)
Alerting Rules
Notify on failures and high latency
Log Aggregation
Forward logs to ELK or Splunk via Filebeat
Upgrading Fabric Versions
Upgrade Orderers
Upgrade Peers
Upgrade Chaincode
Interoperability
Fabric gateways and cross-chain connectors
Upcoming Features
Version 3.1 and SDK improvements
Research Frontiers
Zero-knowledge proofs, verifiable random functions