Unit-1 Foundations of Software Systems and Blockchain

 

Unit 1: Foundations of Software Systems and Blockchain


1. Layers of a Software System

Software systems are typically organized into layers to separate responsibilities, improve maintainability, and allow independent scaling. Common layers include:

  • Presentation Layer: Handles user interface (UI) and user interaction (e.g., web pages, mobile app screens).
  • Application/Business Logic Layer: Contains the core business rules and orchestrates data flow, processing user requests (the "brains" of the application).
  • Data Access Layer (DAL): Provides an interface for the application to interact with data storage, abstracting database complexities.
  • Data Layer: The actual persistent storage for data (e.g., databases, file systems).

This layered approach promotes modularity and makes systems easier to develop, test, and update.

2. Integrity

Integrity in software systems ensures that data is accurate, consistent, and trustworthy throughout its lifecycle, and that processes operate correctly without unauthorized alteration. It means data has not been tampered with or corrupted accidentally or maliciously. Key aspects include data integrity (accuracy of information) and system integrity (system operating as intended). Mechanisms like data validation, access controls, and cryptographic hashing help maintain integrity.

3. A Payment System

A payment system is a network of technologies, rules, and institutions that facilitates the transfer of money between parties for transactions. It involves several components: the Payer (initiator), Payee (recipient), a Payment Instrument (e.g., credit card), a Payment Gateway (authorizes transactions), Acquiring Bank (merchant's bank), Issuing Bank (customer's bank), and Payment Networks (e.g., Visa, Mastercard) that connect them for authorization and settlement. Its purpose is to enable secure and efficient financial exchanges.

4. Types of Software Architecture

Software architecture defines the fundamental structure of a software system. Key types include:

·         Monolithic Architecture: A single, tightly coupled unit for all functionalities. Simple for small apps but hard to scale.

·         Layered (N-Tier) Architecture: Components separated into logical layers (Presentation, Business, Data Access) for better organization and maintainability.

·         Microservices Architecture: Application broken into small, independent services communicating via APIs. Offers high scalability and resilience but adds complexity.

·         Client-Server Architecture: Clients request services from central servers. Centralized control but a single point of failure.

·         Peer-to-Peer (P2P) Architecture: All nodes act as both clients and servers, communicating directly without a central authority. Highly resilient but challenging for consistency and management.

·         Event-Driven Architecture: Components communicate by emitting and reacting to events, promoting loose coupling and scalability.

5. Purpose of the Blockchain

The core purpose of the Blockchain is to create a secure, transparent, and immutable distributed ledger for recording transactions or data. It eliminates the need for a central intermediary by building trust through cryptographic proof and decentralized consensus. This enables verifiable, tamper-resistant record-keeping, fostering a "trustless" environment where participants rely on the system's integrity rather than a single authority.

6. Peer-to-Peer (P2P) System

Definition:

A Peer-to-Peer (P2P) system is a decentralized network where all participants (nodes) are equally privileged, acting as both clients and servers. They communicate directly to share resources and services without a central server.

Architecture:

P2P architectures are decentralized. They can be Unstructured (random connections, easy to build but inefficient search) or Structured (nodes organized for efficient content lookup, more complex). Hybrid models combine central elements with P2P data transfer.

Link between P2P and Blockchain:

The P2P system is the foundational network for Blockchain. Blockchain uses a P2P network to enable decentralized communication, propagate transactions and blocks, and achieve consensus among nodes on the shared, distributed ledger. Without P2P, a blockchain would be a centralized database.

Integrity Threats in P2P Systems:

P2P systems face threats like Data Corruption/Tampering (malicious alteration of shared data), Sybil Attacks (single entity creating multiple fake identities), Free Riding (users consuming resources without contributing), Denial-of-Service (DoS) Attacks, and Eclipse Attacks (isolating a peer from the network). Cryptographic methods and consensus mechanisms help mitigate these, especially in blockchain.

7. Four Ways of Defining Blockchain

Blockchain can be defined as:

1.       A Distributed Ledger Technology (DLT): A decentralized, shared, and immutable database.

2.       A Chain of Cryptographically Linked Blocks: Sequential blocks of data linked by cryptographic hashes, forming an unalterable history.

3.       A Trustless Consensus Mechanism: A system allowing disparate parties to agree on a shared ledger state without a central authority.

4.       A Public, Immutable Record-Keeping System: A transparent and unchangeable system for verifiable data recording.

8. The Purpose of the Blockchain (Re-emphasized)

The central purpose of the Blockchain is to establish a decentralized, trustless, and highly secure system for maintaining an immutable and transparent ledger of transactions or data. It solves the problem of needing an intermediary to verify trust, allowing participants to directly agree on the state of shared information.

9. Blockchain Properties

Key properties that define blockchain technology:

·         Decentralization: No central control; network distributed across multiple nodes.

·         Immutability: Once recorded, data cannot be altered or deleted.

·         Transparency: All transactions are publicly visible (though often pseudonymous).

·         Security: Achieved through strong cryptography and consensus mechanisms.

·         Distributed Ledger: Every node holds a copy of the entire ledger.

·         Consensus: All participants agree on transaction validity and block order.

·         Programmability (Smart Contracts): Ability to execute self-enforcing code on the blockchain.


 

Comments

Popular posts from this blog

digital marketing ppt-u1

SOFTWARE

cn lab

Computer Operations and Performing - D L Unit-1-1

DBMS Degree Lab Records

DS-Record-mca-04) write a program for evaluating a given postfix expression using stack.

Unit 2: Foundations of Ownership, Security Related Concepts in Blockchain

Access the Internet to Browse Infromation & E-Mail Operation- D L Unit-2-1

6)what are the various service of internet and protocols ICT-unit-1