Sunday, 3 June 2018

Week 2 at Cateina Technologies

In our second week, we started learning blockchain. Now let me explain to you what is blockchain?
Blockchain is a distributed database that maintains a continuously-growing list of records called blocks. Each block contains a timestamp and a link to previous block. Data stored in block is immutable, that means the data cannot be altered. Blockchains are an example of distributed computing system with high byzantine fault tolerance.
Byzantine fault tolerance system: It is actually like an algorithm developed to prevent catastrophic faults in fault-tolerant systems, like distributed computing systems. This algorithm makes sure that any faulty processes by any corrupt member of the system can be detected by other members via consensus or in simple words majority members agree to a particular process in the system. This algorithm is based on a famous problem called the Byzantine Generals problem.
In Cateina Technologies, we work on Hyperledger Fabric and Hyperledger Composer.
Hyperledger is an open source project on blockchain and related tools. It supports the development of blockchain based distributed ledgers. It is a permissioned blockchain solution.
Hyperledger Fabric is a popular framework for developing blockchains and distributed ledgers. Programming can be done in languages like Go language (by Google) and node.js.
Hyperledger Composer is a module for the framework where it can maintain and deploy the developed blockchain solutions. It has its own modelling language and an access control language which decides who does what in business network for blockchain.

Hyperledger Composer has a software called Composer Playground where you can develop the entire business network for your blockchain solution. It has model files which define assets, participants, transactions and events in business  network.
The modelling language is Object-Oriented modelling language. Assets, participants, transactions are class definitions. Assets and participants are followed by an identifying field. Transactions and events; their identifying fields are selected automatically.
An asset can be anything which has a value. It can be physical asset(house) or non physical (mortgage).
Participants are the organizations or people taking part in the business network.
Transactions are submitted by a participant to affect the assets held in the asset registries on the Hyperledger blockchain.
Events are defined set of instructions which can implemented once a transaction is carried out.
ACL(Access Control Language) determines which users are permitted to create, read, update or delete elements in business network. 

In our IOT project, which I mentioned in my previous blog; we now will combining the IOT project with a blockchain solution for it. The IOT project prototype consists of a contactless temperature sensor, arduino board and wireless sensor. The data from temperature sensor gets conveyed to the wireless sensor via arduino board. The wireless sensor sends the data to Hyperledger Composer and data gets registered in a block of the blockchain. An event gets triggered which enables a financial transaction for claim of goods in business between two parties within few seconds. 

No comments:

Post a Comment