Permissioned Blockchain.

  • A permissioned blockchain has all the features of the public/permissionless blockchain.
  • Blockchain is run among identified and known participants.
  • Users know each other but do not trust each other.
  • Participants need to obtain an invitation or permission to join the network.
  • This places restrictions on who is allowed to participate in the network, and only in certain transactions.

Applications of Permissioned Blockchain.

Financial Services:

  • Trade Finance: Trade finance provides delivery and payment assurance to buyers and sellers. The blockchain can be used by the legal entities to sign all approvals, keeping all parties informed regarding the approval status, when goods are received and when payment is transferred from the importer’s to the exporter’s bank.
  • Cross-border transactions: Nostro(ours)/vostro(yours) accounts can become stored account transactions on a blockchain to dramatically improve transparency and efficiency through automated reconciliation of accounts.

Government:

A considerable amount of government involves recording transactions and tracking ownership of assets, all of which can be made more efficient and transparent through the use of blockchain.

Organisations can apply blockchain by issuing digitally authenticated birth certificates that are unforgeable, time-stamped, and accessible to anyone in the world.

Supply Chain Management:

  • Food Safety: Powered by IBM Blockchain, IBM Food Trust directly connects participants through a permissioned, permanent, and shared record of food origin details, processing data, shipping details, and more.
  • Global Trade: More than $4 trillion in goods are shipped each year, with 80 percent of those shipments carried by the ocean shipping industry.
    Yet the cost of trade documentation is estimated to reach one-fifth of the actual physical transportation costs. Blockchain’s distributed ledger technology to help speed goods on their journey from manufacturer to market, providing one universal view of the truth to unleash new transparency and remove friction.

Health Care:

Blockchain holds the complete medical history for each patient, with multiple granularities of control by the patient, doctors, regulators, hospitals, insurers, and so on, providing a secure mechanism to record and maintain comprehensive medical histories for every patient.

Further Use Cases: https://www.ibm.com/blockchain/use-cases/

Difference in Permissioned & Permission-less Blockchain:

Smart Contracts.

  • A smart contract is an agreement or set of rules that govern a business transaction.
  • It is stored on the blockchain and is executed automatically as part of a transaction.
  • Smart contracts allow transactions to be carried out without the need for a governance, legal system, central authority or external enforcement mechanism.
  • Smart contracts are created by computer programmers with the help of smart contract development tools available that are digital and compiled using programming code languages such as C++, Go, Python, Java.

Benefits of Smart Contract:

  • Trust: All documents are encrypted on a shared ledger. Also all the entities or parties could have access to these documents.
  • Autonomous: All third parties become obsolete in the interactions
  • Security: All documents are encrypted end to end which makes them near-impenetrable by unethical methods.
  • Redundancy: Documents are duplicated many times over on the blockchain, and can’t ever be “lost”.
  • Savings: Smart contracts save you money by taking out the middleman.
  • Speed: These contracts automatically self-execute, saving you precious time.
  • Transparency: For organisations like governments, they could add another level of transparency to dealings.
  • Precision: Smart contracts execute the exact code provided, ensuring zero errors.
Courtesy: Scalablockchain

Design Limitations of Smart Contract:

  1. Sequential Execution:
  • Smart Contract executes transactions sequentially based on consensus.
  • Requests to the application (smart contract) are ordered by the
    consensus, and executed in the same order.
  • This give a bound on the effective throughput — throughput is
    inversely proportional.
  • There can be a possible attack on the smart contract platform by introducing contract which will take long time to execute.

2. Non-deterministic Execution:

  • Smart-contract execution should always needs to be deterministic;
    otherwise the system may lead to inconsistent states (many fork in
    the blockchain).
  • Iteration over a map may produce a different order in two executions like in Go Lang.

3. Execution on all nodes:

  • Execute smart contracts at all nodes, and propagate the state to others to reach consensus.
  • Propagate same state to all nodes, verify that the states match.

Actors in Blockchain.

  • Blockchain Architect: Responsible for the architecture and design of the blockchain solution.
  • Blockchain Developer: The developer of applications and smart contracts that interact with the Blockchain and are used by Blockchain users.
  • Blockchain User: The business user, operating in a business network. This role interacts with the Blockchain using an application. They are not aware of the Blockchain.
  • Blockchain Regulator: The overall authority in a business network. Specifically, regulators may require broad access to the ledger’s contents.
  • Blockchain Operator: Manages and monitors the Blockchain network. Each business in the network has a Blockchain Network operator.
  • Membership Services: Manages the different types of certificates required to run a permissioned Blockchain.
  • Traditional Processing Platform: An existing computer system which may be used by the Blockchain to augment processing. This system may also need to initiate requests into the Blockchain.
  • Traditional Data Sources: An existing data system which may provide data to influence the behavior of smart contracts.
Courtesy: IBM

Components in Blockchain Solution.

Ledger:

A ledger is a channel’s chain and current state data which is maintained by each peer on the channel.

Smart Contract:

Software running on a ledger, to encode assets and the transaction instructions (business logic) for modifying the assets.

Peer Network:

A broader term overarching the entire transactional flow, which serves to generate an agreement on the order and to confirm the correctness of the set of transactions constituting a block.

Membership:

Membership Services authenticates, authorizes, and manages identities on a permissioned blockchain network.

Events:

Creates notifications of significant operations on the blockchain (e.g. a new block), as well as notifications related to smart contracts.

System Management:

Provides the ability to create, change and monitor blockchain components.

Wallet:

Securely manages a user’s security credentials.

System Integration:

Responsible for integrating Blockchain bi-directionally with external systems. Not part of blockchain, but used with it.

More About Ledger.

A ledger consists of two data structures:

  • Blockchain:
    - A linked list of blocks or hash chain.
    - Each block describes a set of transactions.
    - Immutable, i.e., blocks can not be tampered.
  • World State:
    - Stores the most recent state of smart contracts/output of transactions.
    - Stored in a traditional database.
    - Data elements can be deleted, added, modified.

How Applications interact with ledger?

A developer like you and me develops client application and smart contract. The client application will do the following:

  • Invoke the functions written in the smart contract.
  • Use SDK to submit transactions on the blockchain.
  • Access blockchain to see the committed transactions and history of transactions.

Smart Contract will do the following:

  • Record all the transactions on the blockchain.
  • Record the modified data elements on world state for every ‘get’, ‘put’ or ‘delete’.

Every peer in the network will perform the above functions. Whenever client application submits data to smart contract, the contract is executed on all the peers and all the nodes update their world state simultaneously. Then, they will agree that the output is valid and consistent. After that the block gets added in the blockchain.

Unlike bitcoin, there will not be any folks or orphaned blocks in permissioned blockchain. An event can be emitted whenever a block is committed/rejected, a function is invoked, disk is full, etc. The event emission depends on the internal processing of the organisation for asynchronous processing systems.

Integrating Blockchain with Existing Systems.

In an organisation, the blockchain can be integrated with the exiting systems. The information can be sent to blockchain and can also be get from the blockchain. This is a two way exchange.

About this Series.

This is a series of notes based on the Blockchain Course by NPTEL, which serves as a primer for understanding the blockchain fundamentals. You can find previous articles here:

I am always open to discussions so shoot your thoughts about this topic in the comment section below.

About MoatFund.

We are continuously assisting people get educated about how rapidly this technology is advancing and revolutionising our world. Our mission is to create a decentralised fund managing protocol operated on smart contracts, which is publicly accessible and can control the entire network of fund managing capabilities on blockchain. Here’s Everything You Need to Know About MoatFund, All In One Place.

--

--

Divya Jain
MoatFund

Jainism Influencer. Writer. Nature cure student. Blogger @ jaindivya.com