Gud afternoon everyone. Myself prangana das.
I will be taking forward this presentation
explaning about the platform that we have used and it's architecture. So we have used
hyperledger fabric platform under blockchain. Hyperledger fabric is a permissioned blockchain
which indicates that when a network is created with organisations , u must have the permission,
the access, the authority from the existing organisations to get into that network. So it ensures
that only trusted entities can participate.
Next benefit is that it provides privacy and [Link] provides immutability of
data right like we cannot change any data once it has been recorded but it also provides
transparency. So data's are visible to all . Here's where fabric provides an opportunity for us to
specify data which needs to remain private. We can mention which data should be visible to all
and which data should remain safe and invisible to some for the users security. Sensitive
information remains secure, and confidential smart contracts protect logic and data from
unauthorized access.
Also Hyperledger Fabric prioritizes security and auditing. It supports access control, identity
management, and transaction auditing. These features ensure only authorized entities
participate in the network, providing traceability and accountability for regulatory
compliance……..
There are many more features that this fabric provides but lets get a better picture to
understand by the workflow process.
—------------------------
So firstly lets see how a transaction commits in a blockchain network, how an external
application interacts with ledger. So this is a peer or in simple term we can say the computer of
an organisation where blockchain or our network is running.
There is a blockchain developer developing both the client application and the smartcontract .
smart contract is also called chaincode in hyperledger fabric which defines the rules and
conditions that must be met for a transaction to be considered valid. This is the business logic
that runs inside the blockchain in decentralised manner. Client application uses sdk which is
software development kit to submit transaction onto blockchain and also client appli can directly
access the blockchain checking if the transaction is committed or not. The transaction records
are inside the ledger . Ledger stores all the state information and is maintained by each peer
and it is replicated to all involved. you can see here, ledger has two components – one is the
blockchain itself and other is the world state. World state keeps the current data where we have
the access to modify, delete data etc . and blockchain keeps the recorded transactions already
committed which cannot be modified or be deleted . So all of this is part of a one peer which
means that every peer in the network is going to be performing this function . when the client
application submits this to the smart contract, smart contract gets executed on all the nodes. All
of the nodes simultaneously will update their world state, will agree that this output is valid and
this is consistent among all and then the block will get added with that transaction onto the
blockchain. And once we commit the transaction we call it a final transaction.
—--------------------------------------
Now that I have explained on the transaction flow in blockchain, we will see how it is processed
in the fabric. Since it is a permissioned blockchain , we will be having an authority who will
provide the certificate to be a member of the network to commit transactions. So there are
some key components in hyperledger fabric , firstly the membership service provider—-it will be
providing the identity to the users who are going to be transacting on the blockchain. So this
identities in the form of a digital certificate and users are going to be using the certificate to sign
the transactions and submit them to the blockchain and the benefit here is they authenticate that
they are a legitimate user and also ensures they get the right access privileges on the
blockchain for the transactions they are performing. Basically your certificate is going to say
what are the informations we can have, what privileges we have and so on
Certificate authority can be external also. There are many organizations providing this . Now
there is client application using hyperledger fabric client as SDK here, next important
component here we have is the peer which i have already briefed on . Multiple organisations
can have multiple peers , or one organisation runs multiple peers as [Link] suppose we are
doing a transaction between peer1 and peer2, now who is responsible to add that transaction
onto the block and who will add that block in the blockchain. If we say any peer can do that then
that peer can be malicious right? So at this what we need is we need a special service who will
be unbiased and who can add the transaction in the block in a particular sequence and thats
where we got orderer peer. So what orderer will do is everytime there is a transaction endorsed,
it will add that transaction in a block. Now within the peer there many notions like the peer is
going to be maintaining the ledger, it has the chaincode, and after transaction completion we
can have an event that this transaction being committed. Now here in the peer— committing
peer maintains the ledger and the state but it doesnot execute any transactions and it doesnot
hold the smartcontracts, , next endorsing peer , so beyond just committing all transactions you
are also responsible for executing the transactions coming up with the output and then agreeing
whether it is a legitimate transaction or not. And endorsing peer must hold the smart contract.
So this is all about the transaction flow in hyperledger fabric. We can create multiple channels
with multiple peers and also create some private channels among few peers so as to secure the
important data of the users. Now my team member will relate all this features of the fabric with
our Inner line permit system .
Gud afternoon everyone, myself prangana das representing all my fellow authors and present
our paper on Innerline permit system using hyperledger fabric.
The Inner Line Permit (ILP) system is a travel permit required for non-residents to enter certain
restricted areas within India. Like nagaland mizoram , himachal pradesh, uttarakhand to protect
their culture and natural environments. The process begins when interested individuals submit
an application form to the designated authorities, which can be done either online or in person
at designated offices but all these processes are executed in a centralised manner i.e,they are
handled by a central authority or a single governing body. But there are several limitations of a
centralized Inner Line Permit (ILP) system It involves slow process of verifications ,privacy
concerns, potential misuse of personal information, lack of transparency in security checks, and
risks of unauthorized access, therefore we aim to implement the system using a decentralized
permissioned blockchain which is provided by the platform named Hyperledger fabric which will
provide more transparent, secure, and responsive ILP process.
Permissioned blockchain : It ensures that only trusted entities can participate.
Privacy and confidentiality:fabric provides an opportunity for us to specify data which needs to
remain private and which should be public.
Security and auditability:It supports access control, identity management, and transaction
auditing
And there are many more advantages.
Workflow
Now lets see the general workflow of our ILP, how it actually functions. Firstly the application,
where the user submits the form, next the details provided with necessary documents are
verified by the local authorities of that particular state, they verify the documents and submit it
to the local police for further security checks. And then after successful verification the ILP will
be issued to the applicant. That's all we need to focus on the workflow Let us now see the
architecture.
Architecture
Firstly in ILP , Participants that are involved are the Applicants who will apply for the permit
issuance and the verifiers officials responsible for verifying applicant information. Since its a
permissioned blockchain, every organisation or peer involved will have their own membership
certificate to validate that they are legitimate users of that network. When the applicant submits
the details for permit, the application details are then transmitted to the Hyperledger Fabric
network. This is when the actual process of our fabric network begins. Firstly and most
importantly we will have the chaincode or smart contract, the brain of our hyperledger fabric
network which is responsible to specify the process of committing a transaction. To commit a
transaction to the ledger it involves many steps followed like the orderer first orders the
transactions into a block and delivers them to endorsing peer who will validate the transaction
from all members in the network and then committing peer will commit those transactions into a
block and executes it to the world state and form a ledger. This process will be followed by every
peer in the network. Then in our external system we will notify the updated details to the
applicant with their identity and the permit issuance. This was all about our architecture.
Channel
Here we will look into how we have distinguished our network and the peers as to who will have
the access to the particular information. Since we have many organizations involved in our ILP
process like state body , local police, Check points etc so for a secure environment and to secure
personal information of the user that facilitates our hyperledger fabric network , we have the
privilege to specify which peer will have what access and to what extent. This can be created by
channel creation in our network. We can have private channels and public channels. So a more
simplified diagram is shown here. If there are two verifiers acting as peer, these two verifiers will
have a private channel to secure the transactions within themselves and public channel will act as
the transparent channel which will be visible to all nodes in the network.
Let me give an overview of our implementation .
frontend
This is the frontend of our system which includes the homepage. This is the
layout the users will see and then proceed to fill up the form.
These are the datasets that the users will provide and the ILP
will be generated.
Next is the verifiers [Link] will validate the applicant's information, updating the
application status on the network through the execution of smart contracts.
Ilp network
Organizations
Coming to our network
the organizations that we have created are
applicant, verifier A and verifier B. and an orderer organization.
The crypto materials generated for each organization are as follows.
Docker Container
We have used Fabric CA to generate the crypto materials for each organization. So after
starting the docker engine we can see that we have ca-applicant, ca-verifierA, ca-verifierB and
ca-orderer running as image in docker container.
Also we can see that 3 peer organizations and an orderer organization are running as images in
the docker container.
Channel
In our system we have two channels created. ILPChannelpublic and ILPchannelprivate.
Conclusion
In conclusion I would like to sum up by saying that the ILP process that is legally going on in the
present is centrally processing and are prone to face lots of issues regarding the datas and
malicious acts. So we can propose the decentralized method by introducing the Hyperledger
fabric platform to the process of ILP and provide transparency as well as privacy and a secure
environment for both verifiers and applicants .