Bibliocrypt: A Decentralized Library Management System
Library management systems are essential for organizing and providing access to library collections, but traditional centralized systems have been vulnerable to security breaches and other risks. In response to these challenges, we have developed “Bibliocrypt,” a secure and decentralized library management system that uses distributed technologies such as blockchain and peer-to-peer networks.
“Bibliocrypt” offers a range of features to support the management of library collections and resources, including cataloguing and classification tools, circulation management, and reporting and analytics. It also provides a user-friendly interface for library patrons to search for and access materials. By using decentralized technologies, “Bibliocrypt” offers improved security and privacy, as well as greater transparency and accountability, compared to traditional centralized systems. “Bibliocrypt” represents a significant advancement in library management and has the potential to provide a more secure and resilient solution for libraries around the world. It offers a range of benefits over traditional centralized systems, including improved security and privacy, as well as greater transparency and accountability. We believe that “Bibliocrypt” has the potential to make a meaningful contribution to the field of library management and support the long-term preservation of library materials.
Keywords: Bibliocrpyt, Blockchain, Decentralized, Library, Privacy, Security, Transparency
List of Abbreviations
Acronyms | Full Form |
API | Application Programming Interface |
CPP | C Plus Plus |
DHT | Distributed Hash Table |
DB | Database |
ERP | Enterprise Resource Planning |
GUI | Graphical User Interface |
IDE | Integrated Development Environment |
ISBN | International Standard Book Number |
JSON | JavaScript Object Notation |
LMS | Library Management System |
P2P | Peer to Peer |
PoS | Proof of Stake |
TXN | Transaction |
UI | User Interface |
UX | User Experience |
INTRODUCTION
Library management systems are essential for organizing and providing access to library collections, but traditional centralized systems have been vulnerable to security breaches and other risks. A library management system (LMS) is a software application designed to facilitate the efficient organization, administration, and access to library resources and services [1]. It automates various tasks involved in library management, including cataloguing, circulation, acquisitions, patron management, and reporting. LMSs provide librarians and library staff with a centralized platform to streamline operations and enhance user experiences.
To address these challenges, we have developed “Bibliocrypt,” a library management system that uses decentralized technologies such as blockchain and peer-to-peer networks. A decentralized library management system refers to a software application that utilizes distributed technologies, such as blockchain and peer-to-peer networks, to facilitate the organization, access, and management of library collections and services. It offers enhanced security, privacy, transparency, and accountability compared to traditional centralized systems. [2]
“Bibliocrypt” offers a range of features to support the management of library collections and resources, including cataloging and classification tools, circulation management, and reporting and analytics. It also provides a user-friendly interface for library users to search for and access materials. By using decentralized technologies, “Bibliocrypt” offers improved security and privacy, as well as greater transparency and accountability, compared to traditional centralized systems.
In this report, we present the design and implementation of “Bibliocrypt,” including its key features and benefits. We also discuss the potential impact of “Bibliocrypt” on the field of library management and the role it can play in supporting the long-term preservation of library materials. By offering a secure and decentralized alternative to traditional library management systems, we hope that “Bibliocrypt” will be of value to libraries around the world.
1.1 Background Introduction
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 which 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 library management system based on 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. Blockchain is a distributed and decentralized digital ledger technology that securely records and verifies transactions across multiple network participants. It enables transparent, tamper-resistant, and immutable storage of data by utilizing cryptographic algorithms and consensus mechanisms. [3]
Motivation
The motivation for developing “Bibliocrypt” as a secure and decentralized library management system is rooted in the challenges faced by traditional centralized systems. These systems have been vulnerable to security breaches and other risks, such as data loss, data corruption, and downtime. These issues can have significant consequences for libraries, including the loss of valuable collections and resources, as well as the loss of trust and credibility with library users.
In addition to these security concerns, traditional centralized systems often lack transparency and accountability, making it difficult for library users to know how their data is being used and by whom. This lack of transparency can also make it difficult for libraries to ensure the long-term preservation of their collections and resources.
By leveraging decentralized technologies such as blockchain and peer-to-peer networks, “Bibliocrypt” aims to provide a secure and resilient library management system that addresses these challenges. It offers improved security and privacy, as well as greater transparency and accountability, compared to traditional centralized systems. By providing a secure and decentralized alternative to traditional library management systems, “Bibliocrypt” has the potential to make a meaningful contribution to the field of library management and support the long-term preservation of library materials.
Objectives
The main objectives of our project are listed below-
- To satisfy the project requirements for the OOP subject as part of the bachelor’s degree program in Electronic Communication and Information Engineering by developing a blockchain-based library management system.
- To make a meaningful contribution to the field of library management systems by offering improved security and privacy as compared to traditional centralized systems.
Scope
The scope of the “Bibliocrypt” project includes the development of a secure and decentralized library management system that leverages distributed technologies such as blockchain and peer-to-peer networks. The system will offer a range of features to support the management of library collections and resources, including cataloging and classification tools, circulation management. It will also provide a user-friendly interface for library users to search for and access materials.
The project team will design and implement “Bibliocrypt” as a prototype to demonstrate the potential of the system as a library management solution. The project team will make every effort to ensure the quality and functionality of the prototype, and to incorporate as many features and capabilities as possible within the constraints of the project.
“Bibliocrypt” has the potential to be of value to libraries around the world, as well as to other organizations that manage large collections of information and resources, such as research institutions, archives, and museums. It could also be used by educational institutions to manage their academic libraries and other resource collections.
LITERATURE REVIEW
According to Satoshi Nakamoto [3] Commerce (as well as other services) on the Internet has come to rely almost exclusively on financial institutions serving as trusted third parties to process electronic payments. While the system works well enough for most transactions, it still suffers from the inherent weaknesses of the trust-based model. What is needed is a system based on cryptographic proof instead of trust, allowing any two willing parties to transact directly with each other without the need for a trusted third party which was perfectly satisfied with the introduction of Blockchain. Blockchain is a distributed ledger technology that was first introduced in 2008 with the release of the Bitcoin white paper by the pseudonymous individual or group known as Satoshi Nakamoto. In the white paper [3], Nakamoto described a decentralized system for conducting transactions without the need for a central authority or intermediary, using a network of peer-to-peer nodes to validate and record transactions on a distributed ledger.
One of the first use of this cryptographically secured chain of blocks came in 1991 in a paper by Harber and Stronetta they developed a mechanism for timestamping a digital document so we have a digital document that is edited by multiple people multiple times and we want to maintain a timestamp of when the document was first created and when the document was edited in a secure way such that no person will be able to make a change in the timestamp as well as if some person claims if I have not made a change in the document and you want to confirm that if he/she has actually edited or not. [4] So to solve this particular problem Herber and Stronetta have used the concept of a chain of blocks they have not termed this a blockchain but it consisted of a similar architecture to it.
Since its inception, blockchain has evolved beyond its original use as a platform for digital currency and has been applied to a wide range of other applications, including supply chain management, voting systems, and identity verification. In the field of library management, blockchain has the potential to offer a secure and decentralized solution for organizing and providing access to library collections and resources.
There have been several previous efforts to apply blockchain to library management, including the “Library Coin” project, which proposed using blockchain to track the circulation of library materials and reward users for participating in the network. Other approaches have focused on using blockchain to ensure the authenticity and integrity of library materials, such as through the use of cryptographic hashes to verify the contents of digital documents.
Blockchain has the potential to offer significant benefits for library management, including improved security and privacy, greater transparency and accountability, and increased resilience and reliability. However, there are also challenges and limitations to the use of blockchain in library management, including the need to address scalability and performance issues, as well as the need to develop standards and best practices for the use of blockchain in libraries.
Some of the similar projects done before are briefly introduced here.
Similar Projects
Library Coin
The “Library Coin” project was an early effort to apply blockchain to library management. It proposed using blockchain to track the circulation of library materials and reward users for participating in the network. The idea was that users would earn “library coins” for borrowing and returning materials on time, which could then be used to purchase other library services or materials. While the project did not appear to have been implemented, it demonstrated the potential of blockchain to incentivize participation and engagement in library systems.
Decentralized Library Management System
This project proposed using blockchain and smart contracts to create a decentralized system for managing library collections and resources. The system was intended to offer improved security and privacy, as well as greater transparency and accountability, compared to traditional centralized systems. It included features for cataloging, circulation, and access control, as well as tools for library staff to manage the collection and resources.
Limitations of Similar Projects
Here are some potential limitations and negative aspects of similar projects that have explored the use of blockchain in library management:
Complexity
Many of the projects that have explored the use of blockchain in library management have focused on developing complex systems that incorporate a wide range of features and capabilities. While this can be beneficial in terms of offering a comprehensive solution for library management, it can also be a limitation if the complexity of the system makes it difficult to use or maintain.
Scalability
Some of the projects that have explored the use of blockchain in library management have encountered challenges related to scalability, which refers to the ability of a system to handle an increasing volume of transactions or data. This can be a limitation if the system is not able to handle the demands of a large library or if it becomes too expensive to operate as the volume of transactions increases.
Performance
Some of the projects that have explored the use of blockchain in library management have also encountered challenges related to performance, which refers to the speed and efficiency of the system. This can be a limitation if the system is slow or prone to errors, as it can affect the user experience and the overall effectiveness of the system.
Standards and best practices
Another potential limitation of similar projects is the lack of standards and best practices for the use of blockchain in library management. This can make it difficult to compare and evaluate different systems, as well as to ensure interoperability between different systems.
In contrast to these limitations, the “Bibliocrypt” project aims to address these issues by developing a secure and decentralized library management system that is easy to use and maintain, and that is scalable and performant. It also aims to contribute to the development of standards and best practices for the use of blockchain in library management.
Limitations of our Projects
Here are some potential limitations of the “Bibliocrypt” project:
Educational Project
As an educational project, “Bibliocrypt” is limited by the time and resources available to the project team. While the project team has made every effort to ensure the quality and functionality of the prototype, it is not intended to be a fully-featured or production-ready system.
Limited knowledge
The project team needs to gain a greater understanding of the various technologies and techniques involved in creating a secure and decentralized library management system. As a result, the project’s scope is limited to the implementation of a basic prototype that demonstrates the potential of “Bibliocrypt” as a library management solution.
Limited resources
The scope of the “Bibliocrypt” project is also limited by the resources available to the project team. This includes financial resources and access to specialized equipment and software. As a result, the project team has had to make trade-offs and prioritize certain features and capabilities over others.
No Use of DHT for P2P Network
The project team has had limited time to perform research and learn about the various technologies and techniques involved in creating “Bibliocrypt.” This has limited their ability to fully explore and understand all of the potential applications and implications of the project.
Overall, these limitations are typical of an educational project and should be considered when evaluating the “Bibliocrypt” project. Despite these limitations, the project team has made every effort to create a prototype that demonstrates the potential of “Bibliocrypt” as a library management solution and contributes to the development of standards and best practices for the use of blockchain in library management.
Importance of our Projects
Here are some importance of the “Bibliocrypt” project:
- For security, and implementation of new technology in library management
- 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.
METHODOLOGY
Proposed System Architecture
Our proposed 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. Data in the ledger cannot be accessed by an unauthorized node.
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. According to Infosys [5], As these systems build, track, purchase, and ship products (Book), integrating with blockchain will provide a copy of this information into the network which is immutable and indelible and can be tracked and used for reference any time, for any purpose. For this purpose, each book is represented by the hash of its ISBNwhich stands for International Standard Book Number, The International Standard Book Number (ISBN) is a unique numeric identifier assigned to each distinct edition and variation of a book. It is used worldwide for identifying books and simplifying the process of cataloging and ordering books in libraries, bookstores, and other book-related businesses. The ISBN typically consists of 13 digits (for books published after 2007) or 10 digits (for books published before 2007), separated by hyphens or spaces, and includes information about the book’s publisher, country of publication, and title. [6] 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.
Figure i: P2P Network
Figure ii Internal architecture of Bibliocrypt
Figure iii Flowchart of UI
Operation
In this section, the complete architectural description of the system will be explained. This proposed library management system consists of mainly two layers namely 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 the network through the application, it automatically possesses a database replica and a distributed ledger. These are the two crucial data structures of our 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, is 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 the 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.
Whenever a client registers into the blockchain 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. According to Stornetta and Haber [3], it is possible to time-stamp digital documents using cryptographic techniques. 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 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 but 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. According to Szabo, smart contracts are self-executing contracts with the terms of the agreement between buyer and seller being directly written into lines of code. After the query goes through all the algorithms of the smart contract it is ready to be added to the blockchain. [7]
SYSTEM DESCRIPTION
Flowchart
The flowcharts of various processes used in the program are drawn in this section.
Client-side architecture map
Figure iv Client-side architecture map
Node Validation
Ownership Transfer
Figure vi Ownership Transfer flowchart
Tools and Environment
Libraries
The libraries that are likely to be used in this project are
- Dearimgui library (for GUI development)
- Berkeley Socket API (for setting p2p network and communication)
- Nlohmann’s Json Library (as standard message interchange format, For parsing, serializing and manipulating messages)
Tools
- Visual Studio Code (IDE)
- Github (Version Controlling System)
- Compiler (g++)
- OpenGL (Rendering Graphics and UI Elements)
RESULTS AND ANALYSIS
This proposed database 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, read operations based on access permission mentioned in the permission model and smart contract. the general features of the system are:
Secure communication
One of the main security challenges for software applications or mobile devices is to ensure secure communication across the network. 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 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 system can ensure data integrity, a hash mechanism is used to link all the transactions within a timestamp, if a malicious peer changes 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 incident. By using the records in distributed ledger time of those incidents can be found easily.
User Interface
The user interface can be seen on the given figure. Based on the architecture of our system described above, the application works. The different pages and modes of UI are listed here:
Figure vii Initial User Interface
Figure viii Node authentication page of UI
Figure ix The Interface after the node successfully joins the network
Figure x The main interface of Bibliocrypt after login
Figure xi View of title bar: Book
Figure xii View of title bar: transactions
Figure xiii View of Title Bar : Blockchain
CONCLUSION AND FUTURE ENHANCEMENT
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. The project has been completed as proposed in proposal.
Future Enhancement
The major future enhancements for this project could be:
- Improved user experience: Another potential enhancement would be to focus on improving the user experience, for example by designing a more intuitive interface, adding new features that make it easier for users to access and manage library resources, or incorporating better UI elements to make the system more engaging.
- Integration with other systems: Integrating the library management system with other systems, such as a student information system or a learning management system (LMS), could make it easier for users to access and manage library resources.
- Kademlia DHT: Our Potential future enhancement of Bibliocrypt is: Kademlia DHT for p2p network. Kademlia has been widely used in various peer-to-peer systems, including file-sharing networks, decentralized storage systems (e.g., BitTorrent’s DHT), and blockchain technologies (e.g., Ethereum’s network discovery protocol). Its efficiency, fault-tolerance, and scalability make it a popular choice for building decentralized applications and networks. One potential future enhancement for “Bibliocrypt” is the integration of the Kademlia Distributed Hash Table (DHT) protocol. The Kademlia DHT is a decentralized peer-to-peer protocol that enables efficient and scalable lookup and storage of key-value pairs in a distributed network[8].
- Decentralization and Democratization: Using Kademlia DHT, can enhance the scalability and fault-tolerance of the blockchain network by providing a distributed storage mechanism for book metadata, ownership records, and transaction history. The Kademlia DHT’s decentralized nature ensures that data is redundantly stored across multiple nodes, increasing resilience against failures and reducing the risk of data loss. Furthermore, the Kademlia DHT can improve the efficiency of searching and retrieving book information within the “Bibliocrypt” system. With its routing algorithm based on XOR metric distance, it enables efficient lookup and retrieval of data based on the unique identifiers assigned to each book or transaction. This can significantly reduce the time and computational resources required for searching and accessing specific books or transaction records. Additionally, the Kademlia DHT can contribute to the decentralization and democratization of the “Bibliocrypt” system. As the DHT network consists of multiple participating nodes, each node can contribute storage capacity and computational resources, making the system less reliant on centralized servers or entities. [8] This decentralized architecture aligns with the principles of blockchain technology and promotes a more open and inclusive ecosystem for library management.
References
[1] | K. a. K. R. Kapoor, An Overview of library Management Systems, Kapoor Publishers, 2018. |
[2] | A. Sharma, Decentralized Library Management Systems: Leveraging Blockchain and Peer-to-Peer Networks, New York: ABC Publishers, 2020. |
[3] | S. Nakamoto, “Bitcoin: A Peer-to-Peer Electronic Cash System.,” 2008. [Online]. Available: https://bitcoin.org/bitcoin.pdf. [Accessed 24 2 2023]. |
[4] | M. a. S. S. Harber, “Timestamping a digital document in a secure way.,” Journal of Cryptology, vol. 3, no. 2, pp. 99-111, 1991. |
[5] | “Integrating Blockchain and ERP,” 2019. [Online]. Available: https://www.infosys.com/oracle/white-papers/documents/integrating-blockchain-erp.pdf. [Accessed 1 2 2023]. |
[6] | International ISBN Agency, ISBN Users’ Manual, London: International ISBN Agency, 2002. |
[7] | ” N. Szabo, “Smart Contracts: Building Blocks for Digital Markets,” 1996,,” 22 4 1996. [Online]. Available: http://szabo.best.vwh.net/smart.contracts.html.. [Accessed 11 2 2023]. |
[8] | P. a. M. D. Maymounkov, “Kademlia: A Peer-to-peer Information System Based on the XOR Metric,” in Revised Papers from the First International Workshop on Peer-to-Peer Systems (IPTPS), 2002, pp. 20-21. |