Blockchain

Blockchain

Blockchains are an emerging digital technology that combines cryptography, data management, networking, and incentive mechanisms to support the checking, execution, and recording of transactions between parties.

A blockchain ledger is a list (' a chain ') of groups (‘block’) of transactions. This technology developed because Instead of trusting third parties, we would trust the collective jointly operating the blockchain and the correctness of their shared technology platform.

Defining Blockchain

Definition 1: (Distributed Ledger) A distributed ledger is an append-only store of transactions that are distributed across many machines.

Definition 2: (Blockchain) A blockchain is a distributed ledger that is structured into a linked list of blocks. Each block contains an ordered set of transactions. Typical solutions use cryptographic hashes to secure the link from a block to its predecessor

Note that any blockchain platform must have client software with which processing nodes can operate the network, including for transaction propagation and block creation. Light clients may additionally exist, e.g. to enable mobile devices to read and write transactions to the network; these typically do not hold a full copy of the blockchain data structure. Alternative clients, both for processing and light nodes, may exist, particularly if the protocol is specified well.

Why Needed Blockchain?

  • Blockchains, particularly public blockchains, offer opportunities for disruptive innovation when implementing decentralized applications. Blockchains provide a new basis for trust in relationships in society, which can allow existing trusted third-party organizations to be disinter-mediated.

  • In economies where trusted third parties are not always trustworthy, a significant benefit of blockchain systems may be in the support they can provide for immutability (not changing prior records on the ledger) and non-repudiation (not being able to disown prior actions on the ledger).

  • Blockchain can be used across all areas. For now, it is used in Defi, data management but it is believed that it has large potential and larger use cases.

Blockchain Functionality

Blockchains are complex, network-based software components, which can provide data storage, computation services, and communication services. Blockchain features can include cryptographically secure payment, mining, transaction validation, incentive mechanisms, and permission management. What is called an oracle supplies information about the external world to the blockchain, usually by adding that information to the blockchain as data in a transaction?

Blockchain Architecture Design

Arh

Blockchain Non-functional Properties

When specifying a system, software engineers often distinguish functional requirements from non-functional requirements. For a computer system, simple functional requirements characterize the relationship between observable inputs and outputs. Non-functional requirements (NFRs) are needs expressed for non-functional properties (NFPs), which are also known as ‘qualities’, or ‘ilities’. These include characteristics such as cost, security (confidentiality, integrity, availability, privacy, non-repudiation), performance (latency, throughput), modifiability, and usability

Non-functional Properties of Blockchain

  • Compared to conventional centralized databases and computational platforms (on-premise or cloud), blockchains can reduce some counterparty and operational risks by providing neutral territory between organizations. Blockchain technologies may provide advantages for immutability, non-repudiation, integrity, transparency, and equal rights.

  • Antages for immutability, non-repudiation, integrity, transparency, and equal rights. If data is contained in a committed transaction, it will eventually become in practice immutable. The immutable chain of cryptographically signed historical transactions provides non-repudiation of the stored data. Cryptographic tools also support data integrity, the public access provides data transparency, and equal rights allow every participant the same ability to access and manipulate the blockchain. These rights can be weighted by the compute power or stake owned by the miner

  • Trust in the blockchain is achieved from the interactions between nodes within the network.

  • Data privacy and scalability are two points of criticism of public blockchains. As discussed earlier, in this setting privacy is limited: there are no privileged users, and every participant can join the network to access all the information on the blockchain and validate new transactions.

Non-functional properties of different types of blockchain

Designing Blockchain-Based Applications

  1. Admittance of Processing Nodes: In a public blockchain system, such as Bitcoin, anyone may become a processing node (or ‘miner’). In private blockchain systems, the admittance of processing nodes is controlled by its governing bodies.

  2. Consensus Mechanism: Most public blockchains use Nakamoto consensus, where processing nodes by convention treat the longest history of blocks as the authoritative history.

  3. Representation of Transactions: A distributed ledger may record financial transactions, such as in Bitcoin. However, as a shared database, a distributed ledger might allow other kinds of data to be recorded. In particular, the data recorded for a transaction may be the text of a computer program, and the integrity checks for that transaction may involve executing that program.

Further Resources:

YouTube Link: NPTEL

Udemy: Blockchain Fundamental

Book :

Architecture for Blockchain Applications