Podcast
Questions and Answers
What is the main purpose of chaincode in Hyperledger Fabric?
What is the main purpose of chaincode in Hyperledger Fabric?
- To manage the network's consensus mechanism.
- To handle the business logic and interact with the blockchain network. (correct)
- To encrypt all data stored on the ledger.
- To define the physical structure of the blockchain network.
In a Hyperledger Fabric transaction flow, what is the role of endorsing peers?
In a Hyperledger Fabric transaction flow, what is the role of endorsing peers?
- To validate the identity of the client submitting the transaction.
- To execute the transaction proposal and provide a response with their signature. (correct)
- To order the transactions into blocks.
- To update the ledger with the committed transactions.
Which languages are commonly used to write chaincode in Hyperledger Fabric?
Which languages are commonly used to write chaincode in Hyperledger Fabric?
- C++, Python, and Ruby
- JavaScript and HTML
- Go, Java, and Node.js (correct)
- Solidity and Vyper
What is the role of the Certificate Authority (CA) in Hyperledger Fabric?
What is the role of the Certificate Authority (CA) in Hyperledger Fabric?
What is the purpose of the Membership Service Provider (MSP) in Hyperledger Fabric?
What is the purpose of the Membership Service Provider (MSP) in Hyperledger Fabric?
What is the initial step in a Hyperledger Fabric transaction flow?
What is the initial step in a Hyperledger Fabric transaction flow?
What is the role of the ordering service in Hyperledger Fabric?
What is the role of the ordering service in Hyperledger Fabric?
What action is performed after an invocation response is sent to the peers?
What action is performed after an invocation response is sent to the peers?
Which of the following statements is an assumption for the transaction flow in Hyperledger Fabric?
Which of the following statements is an assumption for the transaction flow in Hyperledger Fabric?
What information is contained in a transaction in Hyperledger Fabric?
What information is contained in a transaction in Hyperledger Fabric?
What is the primary function of chaincode in Hyperledger Fabric?
What is the primary function of chaincode in Hyperledger Fabric?
Which containerization technology is used to deploy chaincode in Hyperledger Fabric?
Which containerization technology is used to deploy chaincode in Hyperledger Fabric?
When can chaincodes be invoked in Hyperledger Fabric?
When can chaincodes be invoked in Hyperledger Fabric?
What does a chaincode package contain?
What does a chaincode package contain?
What is the significance of approving a chaincode definition for an organization?
What is the significance of approving a chaincode definition for an organization?
In the context of Hyperledger Fabric's Certificate Authority, what is 'enrollment'?
In the context of Hyperledger Fabric's Certificate Authority, what is 'enrollment'?
What does a Fabric-CA root server represent in the architecture?
What does a Fabric-CA root server represent in the architecture?
What is the purpose of LDAP in the Fabric CA architecture?
What is the purpose of LDAP in the Fabric CA architecture?
What is a 'Transaction Certificate' (TCert) used for in Hyperledger Fabric?
What is a 'Transaction Certificate' (TCert) used for in Hyperledger Fabric?
What is the purpose of a 'Revocation List' in the context of Hyperledger Fabric's Certificate Authority?
What is the purpose of a 'Revocation List' in the context of Hyperledger Fabric's Certificate Authority?
What functionality does the Hyperledger Fabric Certificate Authority (CA) provide?
What functionality does the Hyperledger Fabric Certificate Authority (CA) provide?
The Hyperledger Fabric utilizes Certificate based Network Control. What functionality does this feature provide?
The Hyperledger Fabric utilizes Certificate based Network Control. What functionality does this feature provide?
How does Hyperledger Fabric control permissions for Root cert, e-cert, t-cert by default?
How does Hyperledger Fabric control permissions for Root cert, e-cert, t-cert by default?
What is a 'Channel' in Hyperledger Fabric?
What is a 'Channel' in Hyperledger Fabric?
What is required to consider MSP Identifier valid?
What is required to consider MSP Identifier valid?
Regarding the default implementation of Management Service Provider (MSP) parameters, what is the purpose of the X.509 certificates?
Regarding the default implementation of Management Service Provider (MSP) parameters, what is the purpose of the X.509 certificates?
Which tool is most applicable for generating X.509 certificates?
Which tool is most applicable for generating X.509 certificates?
What subfolder should be created by an administrator for a local MSP?
What subfolder should be created by an administrator for a local MSP?
Which statement applies to a valid identity rule within the parameters of the MSP?
Which statement applies to a valid identity rule within the parameters of the MSP?
What is Hyperledger Besu primarily designed for?
What is Hyperledger Besu primarily designed for?
What is a key characteristic of Hyperledger Fabric regarding its architecture?
What is a key characteristic of Hyperledger Fabric regarding its architecture?
What is the focus of Hyperledger Indy?
What is the focus of Hyperledger Indy?
Which feature is unique to Hyperledger Iroha??
Which feature is unique to Hyperledger Iroha??
What consensus mechanisms are available for Hyperledger Sawtooth?
What consensus mechanisms are available for Hyperledger Sawtooth?
What type of toolkit is Hyperledger Aries?
What type of toolkit is Hyperledger Aries?
What is the main goal of Hyperledger Transact?
What is the main goal of Hyperledger Transact?
What problem does Hyperledger Ursa address?
What problem does Hyperledger Ursa address?
What is the purpose of Hyperledger Caliper?
What is the purpose of Hyperledger Caliper?
What is the primary role of peers on an organization in the Hyperledger Fabric?
What is the primary role of peers on an organization in the Hyperledger Fabric?
Flashcards
Certificate Authority
Certificate Authority
A tool for generating certificates in Hyperledger Fabric
Hyperledger Chaincode
Hyperledger Chaincode
Functions for interacting with the blockchain network, similar to Ethereum smart contracts
Membership Service Provider (MSP)
Membership Service Provider (MSP)
Ensures transaction requests come from authenticated users.
Developing Chaincode
Developing Chaincode
Signup and view all the flashcards
Packaging Chaincode
Packaging Chaincode
Signup and view all the flashcards
Installing Chaincode on Peers
Installing Chaincode on Peers
Signup and view all the flashcards
Approving Chaincode Definition
Approving Chaincode Definition
Signup and view all the flashcards
Committing Chaincode Definition
Committing Chaincode Definition
Signup and view all the flashcards
Invoking Chaincode
Invoking Chaincode
Signup and view all the flashcards
Upgrading Chaincode
Upgrading Chaincode
Signup and view all the flashcards
Transaction Proposal
Transaction Proposal
Signup and view all the flashcards
Endorsement Response
Endorsement Response
Signup and view all the flashcards
Ordering Services
Ordering Services
Signup and view all the flashcards
Invocation Response
Invocation Response
Signup and view all the flashcards
Ledger Update
Ledger Update
Signup and view all the flashcards
Root Certificate
Root Certificate
Signup and view all the flashcards
Revocation List
Revocation List
Signup and view all the flashcards
Certificate Based Network Control
Certificate Based Network Control
Signup and view all the flashcards
What is Hyperledger?
What is Hyperledger?
Signup and view all the flashcards
Hyperledger Besu
Hyperledger Besu
Signup and view all the flashcards
Hyperledger Fabric
Hyperledger Fabric
Signup and view all the flashcards
Hyperledger Indy
Hyperledger Indy
Signup and view all the flashcards
Hyperledger Iroha
Hyperledger Iroha
Signup and view all the flashcards
Hyperledger Sawtooth
Hyperledger Sawtooth
Signup and view all the flashcards
Hyperledger Aries
Hyperledger Aries
Signup and view all the flashcards
Hyperledger Quilt
Hyperledger Quilt
Signup and view all the flashcards
Hyperledger Transact
Hyperledger Transact
Signup and view all the flashcards
Hyperledger Ursa
Hyperledger Ursa
Signup and view all the flashcards
Hyperledger Avalon
Hyperledger Avalon
Signup and view all the flashcards
Hyperledger Cactus
Hyperledger Cactus
Signup and view all the flashcards
Hyperledger Caliper
Hyperledger Caliper
Signup and view all the flashcards
Hyperledger Cello
Hyperledger Cello
Signup and view all the flashcards
Hyperledger Explorer
Hyperledger Explorer
Signup and view all the flashcards
Hyperledger Privacy
Hyperledger Privacy
Signup and view all the flashcards
Peers
Peers
Signup and view all the flashcards
MSP
MSP
Signup and view all the flashcards
Channel
Channel
Signup and view all the flashcards
Study Notes
Hyperledger Fabric Transaction Flow
- Transaction proposal is sent to endorsing peers
- Endorsing peers respond to the transaction proposal
- Invocation request is sent to the ordering services
- Invocation response is sent to the peers, updating the ledger and committing transactions
- The ledger is updated
Transaction Flow Assumptions in Hyperledger
- A properly set up channel is necessary
- Application users must register and enroll with the organization's Certificate Authority (CA)
- The CA provides a cryptographic key for user authentication
- Chaincode contains transaction instructions and an agreed-upon price for assets
- The endorsement policy dictates that all peers must endorse transactions
Transaction Flow Breakdown
- A transaction proposal is initiated by sending a request to endorsing peers
- Endorsing peers respond with their endorsement or rejection of the proposal
- An invocation request is then sent to the ordering services to arrange the transaction
- The ordering service sends an invocation response to the peers, initiating the ledger update
- The ledger is updated to reflect the committed transaction
Transaction Proposal Details
- Clients use an SDK or an application to initiate the transaction
- The transaction proposal is prepared and sent to endorsing peers for evaluation
- The proposal invokes a chaincode function for reading from or writing to the peer ledger
Endorsement Response Details
- Endorsing peers validate the transaction proposal by checking the format, duplicates, and signatures
- Signature verification involves using the MSP and client authorization to validate the authenticity of the request
- Endorsing peers pass transaction proposal inputs to their chaincode function
- The chaincode produces a response value and read/write set by referencing its database
- The outcome along with the endorsing peer's signature is sent back to the SDK, this constitutes the "proposal response"
Ordering Services Details
- The SDK application validates the endorsing peer signatures and compares endorsement responses for consistency and agreement
- The application broadcasts the transaction with the transaction proposal and endorsement responses
- The transaction contains read/write sets, endorsing peer signatures, and the channel ID
- The ordering service receives transactions from all channels, chronologically orders them, and creates transaction blocks
Invocation Response Details
- The invocation response sends blocks of transactions to all peers in the channel
- Transactions are validated to check whether they meet the endorsement policy
- Verification ensures that changes to the ledger state correspond with the execution
- Transactions are tagged as valid or invalid based on the validation results
Ledger Update Details
- All peers append the block to the channel chain
- Valid transactions is written to the current state database
- An event is emitted that an invocation response has been immutably appended to the chain
- This also reports the validation status of whether the transaction was validated or invalidated
Chaincode Details
- Chaincode handles the business logic of the Hyperledger blockchain
- Chaincode functions similarly to Ethereum smart contracts, providing functions for blockchain network interaction
- Chaincode functions include creating assets/tokens, executing calculations, managing data on the blockchain, and setting permissions
- Chaincodes require a proposal to be invoked, such as updating/querying the ledger
- Chaincode must be installed on channel peers
- Multiple chaincodes can be deployed, each with different endorsement policies coded
Chaincode Technology Details
- Chaincodes can be written in Go, Java, and Node JS
- Chain codes are deployed using Docker containers
- Docker container ensures that the code stays environment free ensuring no OS dependency
- Chaincodes reside in isolated Docker containers for endorsing peer process isolation
Chaincode Lifecycle
- Developing Chaincode: The first step in the process
- You can carry out this in a language that Fabric supports, such as Go, JavaScript, or Java
- Packaging Chaincode: Once the chaincode is developed, it then gets packaged into a chaincode package
- The Chaincode package contains chaincode binaries and metadata
- Installing Chaincode on Peers designates it for the peers
- Approving Chaincode Definition, each organization must approve a smart contract definition to fit their organization
- Committing Definition to Channel happens after a number of organizations have approved the chaincode definitions
- Invoking Chaincode involves submitting transaction proposals for endorsement, collecting endorsements, and then submitting the endorsed transaction to the ordering service
- To Upgrade Chaincode you must follow a similar process to the initial deployment but with a new version
Hyperledger Fabric Certificate Authority and Membership Service Provider
- Hyperledger Fabric certificate authority is a tool for generating certificates
- Certificates are generated by specifying the username, password and affiliations
- A new user connecting to blockchain networks must be granted a certificate from an issuing authority, a part of MSP
- This certificate generation acts as enrollment in the Hyperledger System
- CA functionalities involves:
- Issuance of Enrollment Certificates
- Certificate renewal and revocation
- Registration of identities, or connects to LDAP as the user registry
Fabric CA Architecture
- Fabric CA follows a server-client architecture
- Fabric-CA root server is the root node of the entire tree
- Types to Fabric CA Server interaction:
- Fabric-CA client
- or Fabric SDK
- HA Proxy Server:
- Balances traffic to CA server cluster
- CA-servers in the cluster share a common database
- MySQL/PostgreSQL and LDAP is common for identities and certs
CA (Certificate Authority) types
- Root Certificate: Serves as the trust anchor for the network, signing other certificates
- Intermediate CA Certificate: Issued by the root CA to create a chain of trust also used to sign other certificates below the root level
- Enrollment Certificate (ECert): Issued to entities when they join the network for identity authentication
- TLS Certificate: Used to secure communications between network entities through Transport Layer Security (TLS)
- Transaction Certificate (TCert): Used for conducting transactions, allowing users to maintain privacy
- Signing Certificate: Specifically used to sign transactions and messages to verify the message's origin and integrity
- Revocation List: Indicates revoked certificates before expiration
CA Features
-
Certificate based Network Control:
- Restricts access to private channels, applications and data
- Allows for permission based access control within the network
-
Custom permission based access
- Root cert, e-cert, t-cert are provided by default
- Custom certificates for specific access
-
-- Access to only one specific channel
-
-- Access to multiple channels
Membership Service Provider (MSP) details
- MSP is an interface to support credentials architectures
- MSP handles these functions:
- Identity format
- User credential validation
- User credential revocation
- Signature generation and verification
MSP implementation
- The MSP is installed for peer authentication and authorization
- Each MSP needs a unique MSP ID
- Default implementation has these parameters:
- self-signed certs to represent CAs,
- admin certs (X.509),
- member lists,
- certificate revocation lists (CRLs),
- intermediate TLS CAs certs,
- TLS root certs
MSP Identity Rule requires validity and authorization to satisfy:
- X.509 certificate
- Not included in any CRL
- Lists organizational units following the X.509 cert structure
MSP Certificates
- Generates an X.509 cert through Openssl, Cryptogen or Hyperledger Fabric CA
- To setup a local MSP you need a folder containing these subfolders and files: admincerts, intermediatecerts, tlscacerts, cacerts, crls, signcerts, Tlsintermediatecerts, and a config.yaml file
Hyperledger Fabric setup
- Set-up involves MacOS or VM-ware/Virtualbox with Ubuntu and the fabric samples
- Install all pre-requisites before other actions
- A link to download instructions: https://hyperledger-fabric.readthedocs.io/en/release-2.5/
Introduction to Hyperledger
- Hyperledger is opensource and framework for constructing you own blockchain
- Hyperledger has Key points:
- -- Enterprise grade blockchain networks
- -- Created by Linux Foundation in 2015
- -- Supported by > 100 members including Intel, IBM, Samsung, J.P.Morgan
What is Hyperledger Besu?
- Hyperledger Besu is developed for enterprise use on both public and private permissioned networks
- Can be used on Rinkeby, Ropston, Goerli test network
- Support for PoW (Proof-of-Work) for authorization
- Authorization is primarily suited for sophisticated authorization in consortium networks
Hyperledger Fabric
- Hyperledger Fabric by IBM is one of the Blockchain framework for applications using modular architecture
- Modules like consensus and membership services are plug-and-play, so it's very adaptable across a wide range
- Chaincode has smart contracts, and uniquely adapts to maintain privacy
Hyperledger Indy
- Designed for delivering Digital identities
- Can support with various blockchains
- Supports identity centralization with applications
- Has ZKP Support
Hyperledger Iroha
- Ihoha is configured for mobile and IoT (Internet of Things)
- Has chain and BFT consensus with sync algorithms
- Has Module distributed blockchain network for mobile and IoT
- Support for multiple signatures
Hyperledger Sawtooth
- Hyperledger Sawtooth is has a modular and scalable architecture by Intel
- Hyperledger Sawtooth has separated business rules
- Has Practical Byzantine Fault Tolerance (PBFT) and Proof of Elapsed Time (POET) for Consensus algorithm
Hyperledger Libraries
- Hyperledger Aries collaborative tool for creating, transmitting, and storing verified data while managing data
- Hyperledger Quilt is A Java version of Interledger protocol with payments
- Hyperledger Transaction reduces development work
- Hyperledger Ursa has cryptology features
What are Hyperledger functions?
- Hyperledger Avalon has specification code for EEA
- Hyperledger Cactus for enabled blockchains
- Hyperledger Caliper measures performance
- Hyperleder Cello start, maintains and completes with services
- Hyperledger Explorer analyzes data
Hyperledger Guarantees
- Hyperledger is Private and Permissioned so there is data privacy
- Hyperledger Fabric has modularized and adaptable architecture
- Hyperledger Fabric supports smart contracts
- Hyperledger Fabric supports customizable consensus
Hyperledger key functions
- Peers: Nodes responsible for Executing code, endorsement and maintains the ledger
- Service handles ordering
- Managing identities with permission
- Channels are built with members and have strong data protection
Fabric Roles
- Key parts include : peers of execution, code handling and identity protection
- Orderer is the networks operation
- Certificate Authority handles identity
- and channels handle scalability
Fabric Privacy and Scalability Using Channels
- Fabric uses channels to meet the privacy and scalability requirements for enterprise networks
- Channels authorize only privileged participants to access shared private ledgers
Studying That Suits You
Use AI to generate personalized quizzes and flashcards to suit your learning preferences.