Decentralized Library Management System
Dinanath Padhya
Introduction
The Decentralized Library Management System which we have proposed can keep track of activities like authoring (adding new books to the system), adding new books to the system, and updating (transferring the ownership of existing books). A database activity or query request from a client is initially recorded in the distributed ledger. Asset provenance tracking is the name of this technique. It is done in a way that makes it unlikely that the person who carried out the activity will be able to refute it in the near future. A decentralized library management system is built using a permissioned paradigm, which implies that while each node knows the others in the system and is verified before joining via an external database, it is still assumed that they do not trust one another. An unauthorized node cannot access data in the ledger.
Background
Software and hardware are becoming an integral part of business, communication, health, and other popular cultural practices. People interact with each other through the internet to perform physical activities remotely. These applications are hosted in public or private servers under the control of the server admin. When clients allow their data to be collected through software and mobile devices to such servers, they must have some level of trust and control over their data. But these servers mostly use cloud-based computing or a client-server architecture do not ensure the security, and integrity of their client’s data.
If we consider a library system of such architecture, the risk of stolen books, inefficient and un-tampered database structure, and unorganized ways of borrowing and returning books can be a challenge. In addition, The students’ usage data can be stored in a private platform, used for processing and monitoring users’ online behavior and emotional factors, and also shared with third parties to facilitate making their business decisions. To mitigate these kinds of limitations, we propose a Decentralized Library Management System with blockchain.
Blockchain is a completely decentralized information-sharing platform that enables multiple peers or authoritative domains who do not trust each other to work with each other on a shared platform where all the peers coordinate with each other collectively and share the information among themselves in a secure way.
Objectives of Decentralized Library Management System
- Improving the accuracy and efficiency of inventory management: By using a decentralized and tamper-proof database, a blockchain-based system can help libraries keep track of their resources in real-time, reducing the risk of errors and improving the speed of operations.
- Enhancing security and transparency: Blockchain technology allows for secure and transparent record-keeping, which can help prevent fraud and ensure that all transactions are accurately recorded.
- Streamlining the borrowing and returning process: With a blockchain-based system, libraries can automate many of the manual processes involved in borrowing and returning resources, making it easier and more convenient for clients to access materials.
- Enhancing data privacy and protection: Blockchain technology allows for secure and decentralized storage of data, which can help protect the privacy of patrons and ensure that their personal information is not compromised.
- The main objective of a blockchain-based library management system is to improve the efficiency and accuracy of library operations while also enhancing security and transparency.
- For fulfilling the academic needs: A project based on an Object-Oriented Approach
Project Description
Our proposed Decentralized Library Management System is also capable of tracking operations such as reading (access transactions of books), writing (adding new books to the system), and updating (transferring the ownership of existing books). When a client requests a database operation or a query, it is first stored in the distributed ledger. This process is called provenance tracking of assets. It is done in such a way that in the near future a person performing such an action wouldn’t be able to deny the event. This blockchain system is based on a permissioned model which means that every node in the system knows each other and is also validated through an external database to enter into the system but it is considered that they don’t trust each other. An unauthorized node cannot access data in the ledger.
By passing through a certain algorithm, each node entering the network is issued a particular amount of utility token, by which the transaction can be initiated. Utility tokens are a special type of crypto token designed for serving a particular use case in a concerned ecosystem. Basically, utility tokens grant the rights to users to perform some actions on a specific blockchain network or decentralized application. In our case, it is used to transfer the ownership of books.
The book is the main asset that is being tracked in this system using blockchain. For this purpose, each book is represented by the hash of its ISBN, which stands for International Standard Book Number, is a 13 or 10-digit number that’s used as a unique identifier for books, including a specific book, a book edition, or any other book-like products. An ISBN number can be used to identify the book’s code digits, language, publisher, book title, edition, and format. This number is used for validating the authenticity of all our books in the system, validating transactions, and transferring ownership.
Block-Diagram


Operation
In this section, the complete architectural description of the Decentralized Library Management System will be explained. This proposed Decentralized Library Management System consists of mainly two layers namely the blockchain-based ledger which is called the on-chain layer and this user interface application and algorithms which are termed as an off-chain layer. Once a peer joins in the network through the application, it automatically possesses a database replica and a distributed ledger.
These are the two crucial data structures of the Decentralized Library Management System as represented in fig (ii), the database replica is also termed as world state which stores the most recent state of data that can be read by the user in the application itself and is updated with the most recent successful transaction and the one which is also the one of those to be added in the blockchain. The next one is the actual blockchain itself which is an append-only log of all the transaction events or any other
Activities that happen in the system, are a linked list of blocks which is a group of transactions that have been put together within a certain timestamp. There is a hash computed on each block which is a part of the previous block; we can also term it a hash chain. Details of applications such as a number of columns and rows for different parameters which can be read and understood by the user are stored in the world state whereas every transaction performed on the network is kept in the blockchain in the name of transactions. These data structures are distributed throughout every node and everyone possesses the same thing.
Recommended for Reading
New Nepal Poem By Siddhicharan Shrestha | Best Summary
Summary of A Poison Tree [Poem] by William Blake
Whenever a client registers into the blockchain or Decentralized Library Management System with his/her id the user application creates a digital certificate/ID for the user to transact and perform other activities in this blockchain as shown in fig (ii), it mainly consists of the public and private key, and an ownership id with addition to the original id which was used to register into the system. The public key is used as an address of the client, every transaction a client performs is seen with his/her public key whereas a private key is to digitally sign a user’s transaction.
After registration and verification of a user, he/she can write a READ, UPDATE, WRITE query[fig(i)] to the Decentralized Library Management System whose actual mechanism is mentioned above. All these operations and their execution status will be stored in the distributed ledger with the timestamp of that action signed with the private key of the person performing such actions. When a request for a certain transaction is sent by a node it propagates through all the nodes for validation of the transaction from the perspective of that node.
If a consensus is achieved from the majority of the nodes that that transaction is valid then it is termed a success and the world state is updated with that transaction. Then the transaction proceeds toward the miner node to be added to the blockchain. A miner node can be viewed as the most important component of a blockchain which bundles a set of transactions within a certain time period and adds it to the blockchain creating a new block. A miner node is selected on the basis of the availability of utility tokens as mentioned earlier, the peer which possesses more tokens has a higher chance of getting selected(PoS).
Token in our case is given to every node equally in the process of registration. Still, it can also be earned a certain amount through book donation to the library node which is transferring ownership of the book to the library node as well as by returning the borrowed book to the owner that is the library node within the specified time. Similarly, it can also be lost if a certain client decided to return the book after the predefined period of time. This creates a sort of disciplined ecosystem in the system where the peers who transact properly following the rules are rewarded whereas the ones who break the rules are punished till the point they cannot even transact.
When the minor node is selected it passes the query validated by all the nodes through a smart contract which invokes various functions such as transferring ownership from one peer to another, rewarding a node, and deducting tokens from a node. After the query goes through all the algorithms of the smart contract it is ready to be added to the blockchain.
Analysis and Discussion
A decentralized Library Management System consists of two layers(off–chain layer and on-chain layer, application layer, and blockchain layer) to ensure key features such as secure communication, data integrity, privacy, query processing, and data availability. Every participating node has a copy of the database replica and a copy of the distributed ledger. User interface applications can perform insert, update, and read operations based on access permission mentioned in the permission model and smart contract. the general features of our proposed system are:
Secure Communication
One of the main security challenges for software applications or mobile devices is to ensure secure communication across the network with cloud platforms and third-party applications. This blockchain-based library management system ensures authentication via asymmetric key cryptography and digital signature. If a client has the authorization key which is the id in this case it can transact data from the database. In this way, access can be controlled over the data of the application.
Efficiency
Every request, query or transaction or any other event which happens in the blockchain is verified from the viewpoint of every peer since the copy of every past transaction is present for every possible node. It is easier and faster to verify and the peer must not search elsewhere In the network for such files. Faster verification results in fast chaining which eventually means efficient blockchain.
Ensure data privacy and integrity
Once the data is transmitted into the network, it needs to be stored and processed securely. Threats to data integrity and privacy are high as tampering with data may maliciously affect crucial decisions. This threat is very high if the record of every event related to books is stored in a central environment in the library itself, where the people couldn’t control fundamental data aspects such as physical storage of data and control of its assets.
But this blockchain-based Decentralized Library Management System can ensure data integrity, a hash mechanism is used to link all the transaction within a timestamp, if a malicious peer change the has of a previous block then the hash of the next block will not match through which we can know data in the database has tampered then eventually blockchain-based distributed method and the client itself can easily identify the corrupted blocks and discard it.
Detect Vulnerability and Incidents
The complexity of a general library management system depends upon the number of devices connected and the variety of devices apps, services, and communication protocols involved can make it difficult to identify the time of the incident. By using the records in distributed ledger time of those incidents can be found easily.
Conclusion
The objective of this proposed library management system was to consider the possibility of using blockchain technology in data access protection. In this particular use case, we are trying to ensure data protection in the library but despite this, it can also be used for the protection of personal data like medical records, home, and environmental records. We have proposed the architecture to protect, monitor, and control the data which was being corrupted and taken advantage of.