BCT
BCT
315-317)
To understand how Ethereum works from a user's perspective, let's break down the process using relevant
information from the provided citations.
Step-by-Step Explanation:
1. Requesting Ether:
o A user (e.g., Irshad) can request funds from another user (e.g., Bashir) by providing their
Ethereum address. This request can be sent via a QR code or manually inputted into the wallet
software. For example, Irshad might send a QR code to Bashir through email or text.
2. Initiating a Transaction:
o Once Bashir receives the request, they can initiate a transaction by either scanning the QR code
with their Ethereum wallet app or manually entering Irshad's address into the wallet software.
This step involves specifying the amount of Ether to be sent.
o After confirming the details, the transaction is broadcasted to the Ethereum network. The
sender must digitally sign the transaction to prove ownership of the Ether, ensuring authenticity
and security.
o Once the transaction is sent, it propagates across the network for verification by other nodes
(miners). The transaction can be tracked on a block explorer like Etherscan.io to monitor its
status and confirm that it has been added to the blockchain.
Key Takeaways:
• User-Friendly Interfaces: Ethereum wallets (like Jaxx) provide an intuitive way for users to send,
receive, and manage their Ether.
• Smart Contracts: While not directly mentioned in this context, smart contracts enable automated
processes on the Ethereum network, which can be explored further as you delve deeper into its
features.
This process exemplifies how Ethereum operates from a user's point of view, emphasizing simplicity and
accessibility for individuals interacting with cryptocurrency.
6. Explain Transaction substate and state storage in the Ethereum blockchain. (Pg. 329-330)
The Ethereum blockchain operates as a transaction-driven state machine, where transactions are processed
through the state transition function. The Transaction Substate refers to the specific aspects of this process
that manage the execution and validation of transactions within the state machine.
Transaction Substate:
• Definition: The Transaction Substate is an integral part of Ethereum's state transition function, ensuring
that each transaction is validated according to predefined rules.
• Function: It involves confirming the validity of a transaction by checking its syntax, signature, and
nonce. Additionally, it calculates transaction fees, resolves the sender's account using their signature,
deducts the appropriate amount from the sender's balance, and increments the nonce.
• Execution Steps:
1. Validation: The transaction is checked for syntactic correctness and valid signature (e.g.,
message authentication code).
2. Fee Calculation: Gas fees are computed based on the transaction's size, and the miner's
address is determined using the signature.
3. Balance Check and Transfer: The sender's balance is checked to ensure it can cover the
transaction's costs. If sufficient funds are available, the transfer proceeds; otherwise, an error
occurs.
4. Nonce Incrementation: After a valid transaction, the nonce at the sender's account is
incremented for future reference.
State Storage:
The state of accounts on the Ethereum blockchain is stored using a data structure that ensures efficient and
secure storage. The State Storage mechanism in Ethereum uses a Merkle Patricia Trie (MPT) to organize and
manage the account states, which are then serialized using the Recursive Length Prefix (RLP) encoding
scheme.
1. World State: This is an extensive data structure that maps each account address to its state. The state
includes information such as nonce, balance, storage root, and code hash.
2. Account State:
o Nonce: A unique value incremented each time a transaction is sent from the account.
o Storage Root: The root node of the MPT that encodes the account's storage data.
o Code Hash: An immutable hash of the smart contract code associated with the account.
RLP Serialization:
The Recursive Length Prefix encoding is used to serialize binary data for efficient storage and transmission over
the network. This process converts complex data structures into a compact byte sequence, making them
suitable for storage within the MPT.
Conclusion:
The Transaction Substate ensures that each transaction is validated and executed according to the rules
defined by Ethereum's state transition function. The State Storage mechanism efficiently organizes and stores
account states using advanced data structures and serialization techniques, ensuring the integrity and
accessibility of blockchain data.
9. Explain EVM and its operation with pictorial representation. (Pg. 333-335)
Definition:
The Ethereum Virtual Machine (EVM) is the runtime environment for executing smart contracts on the
Ethereum blockchain. It is a Turing-complete, stack-based virtual machine that ensures secure and isolated
execution of code.
Key Features:
1. Isolated Environment: EVM executes smart contracts without direct access to external systems like
files or networks.
2. Stack-Based Architecture: Operates using a LIFO (Last In First Out) stack with a depth of 1024
elements.
3. Word Size: Processes 256-bit word size, optimized for cryptographic operations.
5. Gas Mechanism: Each operation costs gas to prevent infinite loops and misuse.
Component Description
Execution Flow:
Pictorial Representation:
Conclusion:
The EVM is critical to Ethereum's functioning. It ensures secure, decentralized, and deterministic execution
of smart contracts using its stack-based, gas-regulated model.
Definition:
Geth is the official Go language implementation of the Ethereum protocol. It allows users to interact with the
Ethereum blockchain — joining networks, mining Ether, deploying smart contracts, and more — using a
command-line interface.
Key Features:
1. Written in Go: Lightweight and fast, ideal for servers and embedded systems.
2. Command Line Interface (CLI): Provides full access to blockchain functions via terminal.
o $ geth
• Connect to Testnet:
o $ geth --testnet
Flag Description
Geth Console:
Conclusion:
Geth is an essential tool for developers and miners to interact with Ethereum networks. It supports public and
private networks and enables full blockchain functionality via a simple terminal interface.
Let me know if you need this converted to a PDF format or visual summary for quick revision.
2. Explain Hyperledger as a protocol or Hyperledger reference architecture model that serve to build
permissioned distributed ledgers. (Pg. 533-534)
Definition:
Hyperledger is an open-source collaborative project by the Linux Foundation. It is not a blockchain itself but a
protocol and reference architecture used to build permissioned distributed ledger systems for enterprise
use.
1. Hyperledger as a Protocol:
This model consists of several key layers and components to enable a complete permissioned DLT system:
Ledger & Transactions Contains the distributed ledger, ordering services, validation mechanisms.
Smart Contracts Executes business logic using “chaincode” hosted in secure containers.
Consensus Layer Ensures agreement among participants on transaction order and validity.
Security & Crypto Offers privacy, confidentiality, and non-repudiation using cryptography.
Data Stores Pluggable storage (e.g., LevelDB, CouchDB) for storing the world state.
APIs & SDKs Provide interfaces for apps to interact with the blockchain (e.g., deploy chaincode).
The Hyperledger reference architecture is a modular, flexible, and enterprise-grade model for building
permissioned blockchain networks. It addresses key needs like privacy, scalability, and regulatory
compliance — making it suitable for real-world business applications.
Hyperledger Fabric is designed to meet the needs of enterprise-grade permissioned blockchain systems. Its
architecture is based on several core design principles:
1. Modular Architecture
• Key components like consensus, membership services, smart contracts (chaincode), and storage
can be swapped based on business needs.
• Critical for business use where sensitive data must be shared only with authorized parties.
• Hyperledger allows the use of advanced cryptographic techniques and supports private channels for
confidential transactions.
3. Scalability
• Fabric is built to support high transaction throughput and scale to many users without performance
degradation.
• It achieves this through the separation of transaction processing into three phases: execution,
ordering, and validation.
4. Deterministic Transactions
• All transactions must produce the same result on all nodes to ensure consistency and consensus.
• Non-deterministic operations (e.g., reading from system time or random values) are discouraged to
avoid inconsistencies.
• Uses Membership Service Providers (MSPs) to manage user identities and permissions.
• Supports role-based access control, including the possibility of anonymous identities when needed.
6. Auditability
• Enables compliance with regulatory requirements and allows authorized auditors to trace activities.
7. Interoperability
8. Portability
• Supports advanced query mechanisms using traditional query languages (e.g., CouchDB enables
JSON queries).
• Enhances usability and allows for integration with existing enterprise systems.
Hyperledger Fabric follows a modular, secure, and scalable design approach. It emphasizes privacy,
interoperability, and compliance, making it suitable for enterprise blockchain applications.
Let me know if you want this formatted for print or as a flashcard-style PDF!
Hyperledger Sawtooth is a modular blockchain platform designed for enterprise use. It supports both
permissioned and permissionless blockchain networks.
Core Features:
1. Modular Architecture
2. Transaction Families
• Instead of using a general-purpose virtual machine like Ethereum’s EVM, Sawtooth uses transaction
families.
• These are modular logic units that define rules for specific domains (e.g., supply chain, finance).
• Examples:
7. Multi-language Support
• Developers can write transaction processors in multiple languages, such as Python, Go, Rust, etc.
Hyperledger Sawtooth is a flexible and scalable enterprise blockchain platform that introduces innovations
like PoET consensus and transaction families. It is ideal for building domain-specific distributed ledger
applications.
Let me know if you’d like a diagram of Sawtooth architecture or a printable revision sheet.
8. With pictorial representation explain Corda high-level network architecture. (Pg 675)
Overview:
Corda is a distributed ledger platform designed specifically for businesses, particularly in financial
services. Unlike traditional blockchains, Corda does not use blocks and does not broadcast transactions
globally. Instead, it shares data only with relevant parties.
Component Function
Permissioning Service Issues and manages TLS certificates using an X.500-based naming system.
Network Map Service Provides a registry of all nodes and their services in the network.
Oracle Service Injects real-world data (e.g., FX rates, prices) into Corda transactions.
Communication Protocol:
1. AMQP (Advanced Message Queuing Protocol) over TLS is used for peer-to-peer communication.
Explanation of Diagram:
2. Vault: Each node stores its own relevant state data in a local database.
8. Network Map: Maintains list of all participating nodes and their services.
Corda’s high-level network architecture is modular, secure, and privacy-oriented. It replaces global
broadcasting with peer-to-peer communication and uses notary services for consensus, making it ideal for
enterprise-level DLT solutions.
Let me know if you'd like this diagram exported as a PNG or PDF for notes!