Skip to content
IT-803 (B) · Human Computer Interaction/Quick Revision Short Notes

Human Computer Interaction (IT-803 (B)) - Unit 5 Short Notes

UNIT 5: Human-Computer Interaction Aspects of Blockchain Technology

I. Cryptographic Foundations and User Understanding

Cryptographic Hash Function

A one-way function that maps input data of any size to a fixed-size output (hash/digest). It is fundamental to blockchain integrity and user verification.

  • Key Properties (CRYPTO):

    • Deterministic: Same input → same hash.

    • Quick to Compute: Efficient for user wallets/explorers.

    • Pre-image Resistance: Given hash h, infeasible to find input x such that hash(x) = h. Protects against password cracking.

    • Second Pre-image Resistance: Given input x1, infeasible to find different x2 with hash(x1) = hash(x2). Protects against document tampering.

    • Collision Resistance: Infeasible to find any two inputs x1 ≠ x2 with hash(x1) = hash(x2). Core to block linking.

    • Avalanche Effect: A tiny change in input drastically changes the output hash.

[!TIP] Exam Focus: Be ready to define each property and state its user/system implication (e.g., collision resistance ensures block IDs are unique).

Public Key Cryptography (Asymmetric)

Uses a key pair: a private key (secret) and a public key (shared). Forms the basis of ownership and digital signatures in blockchain.

  • User Workflow:

    1. Signing: User signs a transaction with their private key.

    2. Verification: Anyone on the network uses the user's public key to verify the signature is valid and came from the owner of the corresponding private key.

  • Core HCI Principle: Users must protect their private key (often via seed phrase/mnemonic). Loss = permanent loss of assets. The system's security hinges on this user responsibility.

Merkle Trees (Hash Trees)

A binary tree structure where leaves are hashes of transaction data, and each non-leaf node is the hash of its two child nodes. The root hash is stored in the block header.


DiagramCANVAS: A simple binary Merkle Tree. Level 0 (Leaves): Tx1_hash, Tx2_hash, Tx3_hash, Tx4_hash. Level 1: Hash(Tx1+Tx2), Hash(Tx3+Tx4). Level 2 (Root): Hash(Level1_Left + Level1_Right).
  • Why Important for Blockchain & Users:

    • Efficient Verification (Merkle Proof): A user (light client) can verify their transaction is included in a block without downloading the entire block. They only need the transaction hash, the Merkle root (from block header), and a few sibling hashes (O(log n) data).

    • Data Integrity: Any change to a single transaction changes its leaf hash, propagating up to alter the root hash, which would break the chain. Users can trust the root hash in the block header.

    • Scalability: Enables Simplified Payment Verification (SPV) in Bitcoin.

[!TIP] Past Question: "Explain why Merkle Trees are important for Blockchain." Answer must highlight efficient verification for light clients and data integrity.

II. Blockchain Structure and Transaction Lifecycle

Block Structure and Components

A block is a container for transactions and metadata. Its structure is critical for consensus and user trust.


DiagramCANVAS: Annotated Block Diagram. Fields: Block Header (Version, Previous Block Hash, Merkle Root, Timestamp, Difficulty Target, Nonce) and Block Body (Transaction Counter, List of Transactions).
  • Block Header: Contains metadata. The Previous Block Hash links blocks, forming the immutable chain. The Merkle Root commits to all transactions.

  • Block Body: Contains the list of transactions. Size limits (e.g., Bitcoin's 1MB) impact user fees and confirmation times.

Transaction Processing & Propagation (P2P Network)

  1. Creation: User A signs a transaction (e.g., "Send 1 BTC to B") with their private key.

  2. Broadcast: User's wallet broadcasts the signed transaction to its connected nodes in the Peer-to-Peer (P2P) network.

  3. Validation & Propagation: Each node validates the transaction (signature, UTXO existence, fee sufficiency). Valid transactions are added to the node's mempool and rebroadcast to peers.

  4. Mining/Consensus: Miners/validators select transactions from their mempools to include in the next candidate block and run the consensus algorithm.

  5. Confirmation: Once a block is agreed upon, it's propagated. The transaction receives its first confirmation. Subsequent blocks add more confirmations, increasing finality for the user.

Double Spending Problem & Prevention

  • Problem: A malicious user spends the same digital asset (e.g., UTXO) in two different transactions.

  • Prevention in Blockchain:

    1. Global Ledger: There is one canonical, agreed-upon order of transactions (the blockchain).

    2. Consensus: The network agrees on which transaction (the first one seen/mined) is valid. The conflicting later transaction is rejected as invalid by nodes because the input (UTXO) is already spent in the confirmed chain.

    3. User Perspective: Users wait for confirmations (e.g., 6 in Bitcoin). The probability of a double-spend attack succeeding decreases exponentially with each confirmation as the attacker would need to reorg the chain.

Transaction Verification from User Perspective

A user (recipient) verifies a transaction by:

  1. Checking the transaction ID (TXID) is in a block (using a block explorer).

  2. Verifying the number of confirmations meets their risk tolerance.

  3. For complex scripts (e.g., multisig), ensuring the spending conditions (unlocking script) are correctly satisfied.

III. Consensus Mechanisms and User Trust

Overview of Consensus & User Trust

Consensus is the mechanism by which distributed nodes agree on the single, canonical history of transactions. For users, consensus is the bedrock of trust. It answers: "How can I trust this ledger is the real one without a central authority?" The choice of consensus algorithm directly impacts security (attack cost), finality (how quickly irreversible), decentralization, and transaction fees.

Proof-of-Work (PoW)

  • Core Idea: Miners compete to solve a computationally difficult cryptographic puzzle (find a nonce such that hash(block_header) < target). The first to solve it "wins" the right to propose the next block and receives a block reward + fees.

  • Mining Process:

    1. Collect transactions from mempool.

    2. Build candidate block header (with previous hash, merkle root, etc.).

    3. Iterate the nonce (and extra nonce) to find a hash below the difficulty target.

    4. Broadcast the valid block upon success.

  • Types:

    • Solo Mining: Individual miner. Very low probability of reward.

    • Pool Mining: Miners combine hash power in a pool, share rewards proportionally. Dominant model in Bitcoin.

  • HashCash & Bitcoin PoW: HashCash (1997) was an anti-spam PoW. Bitcoin adapted it by making the puzzle target adjust to maintain ~10-minute block time.

  • Attacks on PoW:

    • 51% Attack: If an attacker controls >50% of the total network hash power, they can:

      • Double Spend: Reverse their own transactions after spending.

      • Censor Transactions: Exclude specific transactions from blocks.

      • Monopoly Problem: High hash power centralization (mining pools, ASIC manufacturers) undermines decentralization, a key trust premise for many users.

    • Selfish Mining: Withholding found blocks to gain unfair advantage.

[!TIP] Past Question: "Explain the Monopoly Problem? Explain in detail about Attacks on Proof of Work." Link centralization of mining power to the theoretical 51% attack risk.

Proof-of-Elapsed Time (PoET)

  • Idea: Instead of computational race, use a trusted execution environment (TEE) like Intel SGX to randomly wait for a random amount of time. The validator with the shortest wait time wins.

  • How it Builds Trust: Aims to be as fair as PoW but vastly more energy-efficient. Trust is placed in the hardware manufacturer's TEE integrity. Used in Hyperledger Sawtooth.

  • User Implication: Lower energy cost → potentially lower fees. Trust shifts from decentralized hash power to a few hardware vendors.

Byzantine Fault Tolerance (BFT)

  • Problem: Reaching consensus in a distributed system where some nodes may be malicious/arbitrary (Byzantine faults).

  • Lamport-Shostak-Pease (Practical BFT - PBFT) Algorithm: A classic algorithm for permissioned blockchains.

    1. Pre-Prepare: Leader proposes a block/request.

    2. Prepare: All replicas broadcast agreement on the proposal.

    3. Commit: Replicas broadcast agreement to commit.

    4. Execute: Once 2f+1 commits are received (where f is max faulty nodes), the block is executed and committed.

  • User Trust: Provides immediate finality (no confirmations needed). Trust is based on known, permissioned identities and a supermajority (>2/3) being honest. Used in Hyperledger Fabric (endorsement/ordering) and Corda (Notary).

Raft Consensus Algorithm

  • Idea: A non-Byzantine fault-tolerant consensus algorithm for permissioned systems where nodes are trusted not to lie (only crash faults).

  • Mechanism: Elects a leader. All client requests go to the leader, who replicates the log entry to followers. Once a majority replicate, the entry is committed.

  • User Implication: Simpler, faster, and more efficient than BFT. Provides strong consistency and leader-based finality. Used in Hyperledger Fabric's ordering service (Raft/Kafka) and Ethereum 2.0 (Casper FFG + LMD-GHOST) for block proposal/attestation.

  • Comparison to BFT: Raft is not Byzantine-tolerant. If a node lies, Raft can fail. BFT tolerates malicious nodes.

Bitcoin Consensus Process (PoW in Detail)

  1. Longest Chain Rule: Nodes always consider the longest valid chain as the truth.

  2. Difficulty Adjustment: Every 2016 blocks (~2 weeks), the network adjusts the target so that the average time between blocks remains ~10 minutes, regardless of total hash power.

  3. User Trust Model: Trust in mathematical probability and economic incentives. The cost of a 51% attack (buying hardware, electricity) must outweigh the potential gain from double-spending or censorship. Users wait for confirmations to make reorg attacks economically irrational.

Consensus Protocols for Permissioned Blockchains

Protocol Fault Tolerance Finality Speed Typical Use Case
PBFT Byzantine (f of 3f+1) Immediate Fast Hyperledger Fabric (endorsement), Corda Notary
Raft Crash (f of 2f+1) Immediate Very Fast Hyperledger Fabric (ordering), etcd
PoET Byzantine (via TEE) Probabilistic Fast Hyperledger Sawtooth
Clique (PoA) Byzantine (authorities) Probabilistic Fast Ethereum testnets (Görli)

[!TIP] Past Question: "Give the various types of consensus protocol for permissioned blockchain networks?" Structure answer as a table comparing PBFT, Raft, PoET.

IV. Smart Contracts: Usability and Design

Smart Contract Fundamentals

A smart contract is self-executing code stored on the blockchain that automatically enforces the terms of an agreement when predefined conditions are met.

  • Characteristics: Immutable (once deployed, code cannot be changed), Deterministic (same inputs → same outputs on all nodes), Distributed (executed/verified by all nodes), Trustless (no intermediary needed), Transparent (code is public on-chain).

Smart Contract Languages

Language Platform Paradigm Key Features & User Implications
Bitcoin Script Bitcoin Stack-based, Forth-like, non-Turing complete Limited, secure by design. Only simple conditions (multisig, timelocks). Low attack surface but limited expressiveness.
Solidity Ethereum Turing-complete, high-level (JS-like) Highly expressive → complex DApps/DeFi. Major security risks (reentrancy, overflows). High gas costs. Steep learning curve for secure coding.
Chaincode Hyperledger Fabric General-purpose (Go, Java, JS) Executes in docker containers on peers. Private/permissioned context. Access controlled by policies. More familiar to enterprise devs.

Writing and Deploying Smart Contracts

  • Tools & Interfaces:

    • Remix IDE: Browser-based IDE for Solidity. Great for learning, prototyping. Direct integration with testnets.

    • Truffle / Hardhat: Development frameworks for Ethereum. Provide testing (Mocha/Chai), deployment scripts, local blockchain (Ganache).

    • Hyperledger Fabric SDKs: (Node.js, Java, Go) for interacting with Fabric network, submitting chaincode transactions.

  • Testing & Verification:

    • Unit/Integration Testing: Essential. Test all edge cases.

    • Formal Verification: Mathematically proving code meets specifications (e.g., using K framework). Used for high-value contracts.

    • Audits: Third-party security audits by firms like Quantstamp, Trail of Bits. Critical for user trust.

  • Deployment Process:

    1. Compile: Source code → bytecode + ABI (Application Binary Interface).

    2. Deploy Transaction: Send deployment transaction (with high gas limit on Ethereum) from an externally owned account (EOA). Pay gas fee.

    3. Contract Address: Upon mining/confirmation, contract gets a permanent address on-chain.

    4. Interaction: Users/other contracts interact with this address, calling its functions (paying gas per operation).

Common User Errors & Mitigation Strategies

Error Type Description Mitigation (Design/Process)
Sending to Wrong Address Irreversible. No "undo". Address book/contacts, DNS-like names (ENS), QR codes, multi-step confirmation.
Insufficient Gas Transaction fails, but gas is paid. Wallet gas estimation, clear fee UI, testnet practice.
Reentrancy Attack Malicious contract calls back before state update. Checks-Effects-Interactions pattern, reentrancy guards (OpenZeppelin), formal verification.
Front-Running Miner/validator sees profitable tx and inserts their own first. Commit-reveal schemes, private transaction relays (Flashbots).
Private Key Loss Permanent asset loss. Secure seed phrase backup (metal plates), social recovery wallets, MPC wallets.

Smart Contract Use Cases (User Perspective)

  • Decentralized Finance (DeFi): Lending (Aave), DEXs (Uniswap). Users interact directly via wallet, no bank.

  • NFTs & Digital Ownership: Prove ownership of digital art/collectibles. Users buy, sell, verify provenance.

  • Supply Chain: Automated payments upon IoT sensor confirmation of delivery. Users (retailer) see immutable proof.

  • DAOs (Decentralized Autonomous Organizations): Token-based voting on protocol changes. Users participate in governance.

V. Blockchain Types, Architectures, and User Context

Public vs Private Blockchains: User Access & Control

Feature Public Blockchain (e.g., Bitcoin, Ethereum) Private/Permissioned Blockchain (e.g., Hyperledger Fabric)
Access Permissionless. Anyone can read, write (submit tx), validate. Permissioned. Only known, invited participants can read/write/validate.
Control Decentralized, no single owner. Governance via rough consensus (BIPs, EIPs). Centralized/Consortium control. Governance defined by policies and MSPs.
Identity Pseudonymous (public keys). Known identities (X.509 certificates from an MSP).
Trust Model Trust in open network, math, economics. Trust in known participants and governing bodies.
User Implication Censorship-resistant, global. High onboarding friction (key management). Enterprise-friendly, compliant (KYC/AML). Lower friction, but access controlled by consortium.

Permissioned Blockchains & Design Issues

  • Scalability: Can achieve higher TPS (1000s) than public chains due to trusted validators and no wasteful PoW.

  • Privacy: Channels (Fabric) or confidential identities allow transaction privacy between subsets of participants. Not all data is global.

  • Governance: Clear rules for adding/removing members, updating policies. Critical for enterprise adoption.

Hyperledger Fabric Architecture

A modular, permissioned blockchain framework.


DiagramCANVAS: Hyperledger Fabric Architecture. Shows: Client App (SDK) -> Ordering Service (Raft/Kafka) -> Peers (Endorsing & Committing). Peers host Ledger & Smart Contract (Chaincode). Channels connect subsets of Peers & Orderers. MSP (Membership Service Provider) box issues certificates to all entities.
  • Key Components:

    • Peers: Nodes that host the ledger and chaincode. Endorsing peers simulate transactions. Committing peers validate and commit blocks.

    • Ordering Service: Consensus on transaction order (not validity). Runs Raft/Kafka. Orders transactions into blocks and delivers to peers.

    • Channels: Private subnets of communication between specific peers and orderers. Enable data isolation and privacy.

  • Identities & Policies:

    • MSP (Membership Service Provider): Defines who is in the network by issuing X.509 certificates. The root of trust.

    • ACLs (Access Control Lists): Define which identities can invoke which chaincode functions.

    • Policies: Define endorsement policies (AND('Org1.peer', 'Org2.peer')) and who can update the channel config.

  • Industry Use Cases: Trade finance (we.trade), supply chain (Food Trust), healthcare records.

Ripple vs Corda: Comparison & User Implications

Feature Ripple (XRP Ledger) Corda
Primary Goal Fast, cheap cross-border payments (bank-to-bank). Legal agreement automation for regulated institutions.
Architecture Public ledger with permissioned validators (UNL). All transactions visible to all. Point-to-point transactions. Only counterparties see transaction details. No global ledger.
Consensus Ripple Protocol Consensus Algorithm (RPCA) - Byzantine fault tolerant, validator-based. Notary clusters (BFT or simple) for transaction uniqueness. Consensus on transaction validity is done by counterparties.
Smart Contracts Hooks (limited, WASM-based). CorDapps (JVM-based, full-featured). Encode legal prose into code.
User Implication Banks get fast settlement. Privacy limited to transaction amounts (not counterparties). Perfect for complex, private legal agreements (e.g., derivatives, trade finance). Strong privacy, but interoperability between Corda networks requires "Corda Bridge."

Hybrid & Consortium Models

  • Hybrid: Combines public and private chains. E.g., store document hash on public chain (immutable timestamp), data on private chain (privacy). Aims to balance transparency and scalability.

  • Consortium: A permissioned blockchain governed by a group of organizations (e.g., a trade association). More decentralized than a private chain, but still permissioned. User access is limited to members.

VI. Blockchain Applications and HCI Challenges

Financial Services

  • Cross-Border Payments:

    • Traditional: SWIFT, multiple correspondent banks, 2-5 days, high fees ($30-50), opaque tracking.

    • Blockchain (Ripple, Stellar): Near-instant settlement (2-5 sec), low cost (<$0.01), transparent tracking via ledger. User HCI Benefit: Predictable fees, real-time status for sender/receiver.

  • Mortgages:

    • Traditional: Paper-heavy, manual verification (income, title), 30-45 days, multiple intermediaries (lender, title co, escrow).

    • Blockchain-Based: Digitized assets (title, income proof) on-chain. Smart contracts automate escrow and release upon condition fulfillment (e.g., recording). User HCI Benefit: Faster closing (days), reduced paperwork, transparent status of all steps.

  • Supply Chain Finance:

    • Traditional: Invoices tied up, slow payment cycles, reliance on trust in buyer's credit.

    • Blockchain Improvement: Immutable, verifiable record of goods movement from raw material to shelf. Enables invoice factoring based on provable delivery. Smart contracts can auto-pay suppliers upon IoT sensor confirmation of receipt. User Workflow: Supplier sees instant, verifiable proof of delivery → triggers automated payment → improves cash flow.

Identity Management Systems

  • Self-Sovereign Identity (SSI): Users own and control their identity data (credentials) in a digital wallet. They present verifiable credentials (signed by issuer, e.g., university) to verifiers without revealing unnecessary data.

  • How it Works (User Flow):

    1. User stores credentials (e.g., "Degree in CS") from issuer in wallet.

    2. When applying for a job, user consents to share a zero-knowledge proof that they have a degree from a specific university, without revealing grades or student ID.

    3. Verifier checks the cryptographic proof against the issuer's public key on-chain.

  • Privacy Considerations: Selective disclosure and minimal disclosure are key. Blockchain stores only decentralized identifiers (DIDs) and public keys, not personal data.

  • User Benefit: Control over personal data, reduced identity theft, single sign-on across services without central provider (like Google/Facebook login).

Trade and Logistics

  • Blockchain-Enabled Trade Finance: Digitizes letters of credit (LCs). All parties (importer, exporter, banks, shipper) share a single, immutable copy. Smart contract auto-releases payment when shipping documents (bill of lading) are verified on-chain. User Impact: Reduces processing from 5-10 days to <24 hours, cuts fraud.

  • Provenance Tracking for Users: Consumer scans QR code on product (e.g., coffee, medicine) to see its entire journey: origin farm, processing, shipping, customs. Builds trust through transparency. Combats counterfeits.

Other Domains

  • Healthcare: Patient-controlled medical records. Different providers get permissioned access. Immutable audit trail of record access.

  • Voting: Voter-verified, tamper-evident ballots. Can enable remote voting with auditability. Major HCI Challenge: Usability vs. security (preventing coercion, ensuring secret ballot).

VII. Evaluation and Future Directions

Usability of Blockchain Systems

  • Common Pain Points:

    • Onboarding: Complex key/seed phrase management. High cognitive load.

    • Fees: Volatile, unpredictable gas/transaction fees. Poor UX for fee estimation.

    • Confirmations: Long wait times (Bitcoin: 60 mins for 6 confirmations). User anxiety.

    • Irreversibility: No "forgot password" or "undo" button. High stakes errors.

    • Jargon: "Gas," "nonce," "mempool" – confusing for novices.

  • Design Principles for Blockchain Interfaces:

    • Progressive Disclosure: Hide complexity until needed.

    • Clear State & Feedback: Explicit "Pending," "Confirmed," "Failed" states with clear reasons.

    • Education-in-Context: Tooltips, simple explanations for fees, confirmations.

    • Safety Nets: Transaction simulation before signing, address whitelisting, multi-signature for high-value txs.

    • Abstraction: Layer 2 solutions (e.g., Optimism, Arbitrum) can offer instant, cheap, final transactions to the end-user.

Security and Privacy from User Perspective

  • User Responsibilities: Absolute protection of private keys/seed phrases. Phishing awareness (fake sites, malicious contracts). Understanding transaction signing prompts.

  • System Safeguards: Multi-signature wallets, hardware wallets (Ledger, Trezor), smart contract audits, bug bounties.

  • Phishing & Scams: Fake ICOs, "giveaway" scams, malicious token approvals (infinite spend approval). HCI Failure: Poor distinction between legitimate and malicious interfaces.

  • Smart Contract Vulnerabilities: Not user-coded but user-affected. Reentrancy (The DAO hack), oracle manipulation, flash loan attacks. Users must research contracts before interacting.

Regulatory and Ethical Considerations

  • Compliance (KYC/AML): Tension with pseudonymity. Centralized exchanges (on-ramps/off-ramps) enforce KYC. Privacy coins face regulatory pressure.

  • User Friction: KYC processes add onboarding steps and privacy loss.

  • Environmental Impact: PoW consensus (Bitcoin) has high energy consumption. User/Ethical Choice: Preference for PoS (Ethereum), PoA, or permissioned chains for sustainability. This is a growing factor in user and institutional adoption decisions.

Scalability Solutions and User Impact

  • Layer 1 (Base Protocol): Sharding (Ethereum 2.0), larger blocks. Improves base TPS, but still requires some confirmations.

  • Layer 2 (Off-Chain):

    • Rollups (ZK, Optimistic): Transactions processed off-chain, proof posted on-chain. User Impact: Instant, cheap, final transactions. The L2 becomes the primary user interface. Users must understand bridge risks (locking funds in L1 contract).

    • State Channels: Private payment channels between two parties. Ultimate speed/cost for repeated transactions between known parties.

  • Interoperability: Cross-chain bridges (Wormhole, Axelar). Allow asset/data movement. User Risk: Bridge hacks are a major threat vector. Users must assess bridge security.

Future Trends in Blockchain HCI

  • DeFi (Decentralized Finance): Complex interfaces for lending, borrowing, swapping. HCI Challenge: Simplifying APY/APR, slippage, liquidation risks for average user.

  • NFTs & Digital Ownership: Beyond art – tickets, memberships, in-game assets. HCI Focus: Clear provenance display, utility demonstration, secure marketplaces.

  • Usable Security: Moving beyond seed phrases to social recovery, MPC wallets (no single point of failure), biometric-backed key management (with caveats).

  • Institutional Adoption: Focus on compliance-by-design, private/permissioned networks, clear audit trails. HCI must satisfy both end-users and auditors.

Go to where you left off?

Quick Add to Notes

Save questions, your own notes and screenshots into notes filed by unit. It takes a free account.

Create free account

Have an account? Log in