Next Article in Journal
How Does the Innovation Openness of China’s Sci-Tech Innovation Enterprises Support Innovation Quality: The Mediation Role of Structural Embeddedness
Previous Article in Journal
Optimizing Convolutional Neural Network Architectures
Previous Article in Special Issue
A Novel Optimized Link-State Routing Scheme with Greedy and Perimeter Forwarding Capability in Flying Ad Hoc Networks
 
 
Font Type:
Arial Georgia Verdana
Font Size:
Aa Aa Aa
Line Spacing:
Column Width:
Background:
Article

RideChain: A Blockchain-Based Decentralized Public Transportation Smart Wallet

1
Department of Information Systems, College of Computer and Information Sciences, King Saud University, Riyadh 12372, Saudi Arabia
2
Department of Information Systems, College of Computer and Information Sciences, Imam Mohammad Ibn Saud Islamic University (IMSIU), Riyadh 13318, Saudi Arabia
*
Author to whom correspondence should be addressed.
Mathematics 2024, 12(19), 3033; https://doi.org/10.3390/math12193033
Submission received: 25 August 2024 / Revised: 25 September 2024 / Accepted: 25 September 2024 / Published: 28 September 2024
(This article belongs to the Special Issue Blockchain and Internet of Things)

Abstract

:
The transportation industry has been recognized as one of the industries that can benefit from investment in blockchain-based systems and services that enable distributed data management and improve the effectiveness and efficiency of the transportation sector. However, the literature needs a guiding framework for integrating blockchain in issuing and preserving public transportation transactions in a technical environment that is secure, efficient, and transparent. This study proposes a blockchain-based transportation wallet (BTW) framework that facilitates the main digital transactions across diverse public transportation services. BTW embodies leveraging blockchain technology, which provides a decentralized and immutable ledger that records and verifies transactions, ensuring trust and reducing the risk of fraud. The framework has been validated by developing a blockchain-based public transportation smart wallet named “RideChain”. This serves as a single decentralized point for making public transportation transactions and payments, as well as identity authorizations and management. RideChain enhances passengers’ and service providers’ experience through a secure and authentic platform for offering several reliable public transportation transactions efficiently. In this study, we implemented a smart contract to establish a protocol between passengers and journey services. The testing methodologies used in this study comprise unit testing, integration testing, performance testing, and user acceptance testing. The findings suggest that BTW has been successfully verified to demonstrate its capability for secure transactions, authenticity of monetary transactions, automated smart contracts, decentralized identity authentication, and effortless payments.

1. Introduction

Public transportation is an industry with many diverse components and a huge number of users, which makes it challenging to manage effectively. Blockchain’s decentralized structure reduces the danger of data breaches and fraud by eliminating the need for a centralized entity to monitor transactions in the field, such as the transportation ticketing system. Additionally, users’ credentials can be kept separate from money activities, improving privacy and security. Integrating blockchain can also help to optimize ticketing procedures by decreasing redundancy and increasing transaction efficiency [1,2]. In transportation ticketing systems, one of the challenges is fare payment, as some payment solutions are unreliable or subject to fraud. Another issue is that applying centralized third-party intermediaries’ platforms between vehicle operators and passengers causes fee increases and may conflict with some countries’ regulations. However, given that the blockchain is decentralized, we can resolve this issue by switching from a centralized environment to a decentralized blockchain environment, in which the blockchain’s participants will automatically carry out specific tasks that enable the system to operate, such as ID verification, confirmation of completed journeys, and funding transfers.
Moreover, the blockchain could store immutable transparent driver and passenger reputation scores which could improve the reputation platform to provide a reputable and trusted reviewing system. According to Enescu et al. [3], using blockchain technology in the transportation industry has various benefits, including secure payment and the possibility for users to earn incentive tokens, thus increasing customer loyalty [4]. Additionally, it might boost the trust of individuals in public transportation providers, which would encourage more people to use it and lower greenhouse gas emissions. Blockchain can also facilitate portable mobility accounts that would give passengers control over their data and identity as well as the ability to communicate their mobility preferences to the appropriate parties [5]. It can also facilitate secure payments, thereby reducing transaction costs, speeding up processes, improving operational efficiency, and facilitating interoperability and market transparency [6,7]. Additionally, studies demonstrate that the adoption of blockchain enhances the security of the exchange of money and information, reducing malicious attacks by increasing security standards [8,9].
Current public transportation systems are extremely fragmented due to the diversity of pricing models, languages used, and data formats. By 2050, the European Union hopes to have a smart ticketing system that allows interoperability across public transportation agencies throughout Europe to avoid this fragmentation [5]. Smart ticketing options give customers a simple, safe entry point to a variety of public transportation providers. One of the biggest challenges brought on by the fragmentation of the current system is the preservation of user accounts across various public transportation networks. Additionally, smart ticketing systems must consider ownership, data integrity, and privacy [10]. Blockchain technology can sustain data ownership, transparency, and integrity. In addition, it can provide the infrastructure required for smart ticketing solutions, enabling the safe exchange of common tickets between various transportation operators [5].
Moreover, the blockchain infrastructure can support decentralized identifiers. These identifiers enable a direct connection between users and the data they are associated with. A unified account management system for public transportation will include users’ information such as their identity, trip histories, GPS locations, account balances, and other account-related personal data, and such a system will produce sensitive user data. The account management will interact with different stakeholders on aspects such as identity verification, yet blockchain-based solutions can promote security and trust among all stakeholders. This study emphasizes the need to incorporate blockchain technology into identity management practices. It seeks to build an open, interoperable system with transparent accounting procedures for each entity, maintaining the required data security and privacy. Deploying blockchain identity management is a revolutionary solution to digital identity security that takes advantage of decentralized technologies that improve user control over personal data while addressing the flaws of traditional centralized systems [11]. In a previous study [10], blockchain technology has been proven suitable for public transportation applications and services.
This study introduces a conceptual framework for a blockchain-based smart transportation wallet (BTW) designed for public transportation services. The wallet enables seamless payments, secure identity authentication, and efficient account management. The framework identifies key stakeholders, defines their roles, and outlines the essential services the system should offer. Its primary goal is to improve user transactions while maintaining strong data security. This framework serves as a blueprint for developing blockchain-based public transportation applications. To assess its practicality, the RideChain application was developed and tested in an empirical study, confirming the framework’s suitability and effectiveness. The testing approaches employed in this study include unit testing, integration testing, performance testing, and user acceptance testing across different phases. The initial phase involved connecting the application to the blockchain using a bottom-up strategy, while performance testing confirmed software functionality, followed by user acceptance testing to assess efficiency and user satisfaction.
The results of this study are expected to provide researchers and decision-makers with insight into possible blockchain applications in the public transportation industry. Additionally, it provides practical solutions to improve payment and identity management for passengers in public transportation services. The developed application will improve the public transportation experience by providing a customized search for journeys based on specific criteria chosen by the passengers, such as time and destination. Additionally, each user can have a lifetime digital wallet, which can be charged (topped up) and then used to pay for transportation journeys securely. Each digital wallet will feature a reward system to reward loyal customers. Additionally, service providers can view trends in what journeys are purchased and use the collected data to improve the passenger experience.
The remainder of this paper is divided into five sections. Section 2 presents background information about blockchain technology and its application in relation to the public transportation sector. The RideChain framework development is presented in Section 3, followed by a detailed implementation in Section 4. Section 5 presents the evaluation process and discussion of the research findings. Finally, Section 6 concludes the paper and discusses some suggestions for potential future work.

2. Background and Literature Review

2.1. Blockchain

Blockchain technology is based on distributed ledger technology that consists of records (ledger) of transactional data that are transparent, immutable, irreversible, permanently recorded, and tamper-proof. The chain grows continuously as new blocks are added. It is managed in a peer-to-peer network in which each peer keeps a copy of the ledger, eliminating the need for intermediaries to validate the transactions [10]. In a blockchain, data are grouped in units called blocks. Each block includes a timestamp and a cryptographic hash of the previous block, and each block is connected to another block, forming a chain of data known as a blockchain, which operates in a decentralized environment.
The blockchain is an innovative technology and an excellent choice for many applications due to several unique features. Firstly, it is decentralized with no single authority, supervision, or central intermediary from a third party. It is also distributed as the full ledger is accessible to the entire network of peers. This improves robustness, resilience, trustworthiness, and durability. Moreover, stored data cannot be altered, and all exchanged data are encrypted, making them accurate, secure, and immutable. Tamper-proofing in blockchain technology can be achieved by the use of cryptographic algorithms and data architectures that assure data integrity and authenticity. Furthermore, the decentralized structure of blockchain implies multiple copies of the data exist among nodes, making it difficult for any single node to alter the data without consensus. The open structure ensures transparency and trust: all parties have agreed upon the predetermined protocols, and all transactions are transparent and traceable [9]. Blockchain boosts efficiency in multistakeholder process trails by significantly minimizing paperwork and bureaucracy, as these tasks can be automated by storing data in a tamper-proof digital format [6].
In the literature, several blockchain-based applications have been proposed and investigated. Despite popular belief, the use of blockchain is not confined to cryptocurrencies and finance, but also includes, but is not limited to, other applications in various industries [12]. Finance, security and privacy, public and social services, the Internet of Things, and reputation systems are the five main application fields that are being concentrated on [8,13]. Nevertheless, few studies have investigated how blockchain might be utilized in the public transportation industry.

2.2. Blockchain in Public Transportation

Blockchain technology can have a positive impact on the transportation industry, as it could have the potential to develop transportation services [8] and transform moving people and goods [1]. Optimizing autonomous transportation subsystems and creating safe, internationally accessible government-managed transportation for improved data integrity and accessibility are all made possible by the application of blockchain technology [14]. Research has proven that blockchain is a suitable technology for the public transportation industry [10]. Nevertheless, this utilization is still in its infancy, and there has been relatively little research on its application to public transportation, according to reviews of the literature [1,6]. Traffic safety and information sharing have been the primary focus of attention thus far.
In a previous study [10], we investigated the suitability of blockchain technology for public transportation using the Technology–Organization–Environment (TOE) technology adoption framework. The analysis revealed that all relevant technological factors are conducive to adoption. However, a lack of strong support from top management could present a significant challenge from an organizational perspective. Additionally, environmental factors remain a hurdle, as further preparations are needed to establish a clear path for adoption. Although several models of blockchain applications have been proposed in the literature, few cases have been implemented in real situations. Reaching maturity in the field still requires a lot of work and research [8]. Several cases have shown that it can be implemented for secure payment successfully. For instance, the VMC.ai company created a fully open and decentralized payment and ticketing network utilizing blockchain in The Netherlands in 2019. Passengers’ payment transactions are conducted using VAI tokens to interact with the network and obtain shared rewards. Brazil, with its large population, has several leading deployments of blockchain in public transportation. In the cities of São Paulo and Rio de Janeiro, passengers can pay their public transportation fares with Bitcoin tickets in addition to normal payments by credit and debit networks. Moreover, in order to decrease local bureaucracy and speed up passenger boarding, the service provider Cootraps in Fortaleza City announced in 2019 that it is accepting Bitcoin as payment [3].
Moreover, some proposals for the use of blockchain in the public transportation industry have been suggested in the literature. Baker et al. [15] suggested a flexible and lightweight fog computing-based architecture for a smart transportation system that uses blockchain for authentication. This enhanced system security, latency, and energy usage. Moreover, a blockchain-based conceptual model for real-time journey-sharing services for intelligent transportation is presented in the study of Yuan and Wang [9]. Another study by Hîrţan et al. [16] presented a proposal that permitted passengers to securely submit their data through crowdsourcing and collective validation using a reputation-based system for intelligent mobility. To prevent the exposure of personal information and identity, Stockburger et al. [5] proposed a blockchain-based self-sovereign robust identity management system. This utilized interoperable ticketing systems across several providers, eliminating the need for multiple travel cards for each transit provider and giving users better control over the use of their identities. Furthermore, Preece et al.’s study [17] introduced a new intelligent transportation ticketing system based on ontochains, a hybrid data format that combines ontologies with blockchains to create a distributed knowledge graph to offer a safe, open, and adaptable platform for ticket issuance, validation, and administration.
Public transportation service providers can benefit from blockchain technology by developing an effective ticketing system that eliminates the need for commuters to purchase tickets in several places and offers a single legitimate source for real-time transportation information. Inconveniences for passengers and commuters can be removed by creating a digital platform to conduct transactions and maintain records of tickets, confirmations, receipts, and other travel-related documents. Additionally, the structure of the blockchain ensures that data may only be accessed by authorized users. This makes electronic transaction receipts like electronic tickets traceable, immutable, unforgeable, and unbackable [6,18].
The e-ticketing system can link different modes of transportation, such as cars, buses, and the metro, into a single ticketing system, making it simpler for a typical passenger to transition between the various modes of transportation [19]. Despite its potential, more analysis of blockchain transactions is required to see how well they fare in contrast to conventional payment options [6]. In addition, the accuracy of data reliability increases with blockchain-shared control of records and smart contracts [18]. Smart contracts deployed by blockchain technology have enabled the improvement and automation of information management and a reduction in costs [20].
Blockchain technology enables decentralized management and the sharing of transactional data across several untrusted participants [5,8]. This distributed and decentralized system reduces the cost of public transportation [21]. Blockchain can facilitate a decentralized structure account management system for public transportation to allow users to manage and access their account data, such as their credentials, user preferences, journey histories, and account balances. These data can be utilized by public transportation operators to give passengers the optimum user experience. The decentralized account management system ensures that the network cannot be disabled, nor can it block users from utilizing their identities and minimizing interference from third parties [5]. It can also be integrated with other systems successfully [22]. The study by Stockburger et al. [5] describes how it can successfully interact with other systems in a number of situations, such as connecting students to their educational institutions to verify their status and directly receive student transit discounts. Blockchain technology can also validate personal credentials across borders. Data will be kept on a shared ledger that is verified and kept by numerous network nodes in this DLT-based management system. In a decentralized identity system, the information is distributed among identity owners, service providers, and identity providers [5]. The data are saved either off-chain or on-chain. On-chain storage is used to validate and revoke claims and identities, but off-chain storage is used for static data [23].
Most of the existing solutions and frameworks in public transportation tend to focus on a single aspect, such as ticketing or identity management. Therefore, we aim to propose a framework that delivers a comprehensive, integrated solution that encompasses smart ticketing, identity authentication and management, and trip administration. Additionally, our framework is designed to collect and analyze relevant data to enhance the overall user experience, making public transportation more efficient, secure, and user-friendly.

3. Methodology: A Blockchain-Based Transportation Wallet Framework

The main goal of this paper is to build and validate a global proof of concept of a blockchain-based transportation digital wallet (BTW) framework that facilitates booking trips, fare payments, and identity management and embodies all the main users and elements interacting with the transportation system [20]. The motivation behind this framework is to show the applicability of using blockchain-based credentials across multiple transportation providers or networks such as buses, taxis, and metro systems. This is to increase the level of trust, transparency, and efficiency related to the public transportation sector as a whole by (1) automating its ticketing transactions using highly effective and trustworthy technologies and (2) ensuring real-time tracking of all such financial activities. This research was conducted in multiple phases. The first phase involved evaluating the suitability of blockchain technology for public transportation using established suitability frameworks. This investigation confirmed that blockchain technology is well-suited for public transportation services, and the results were published in a previous study [10]. The next phase focused on developing a conceptual framework for a blockchain-based smart transportation wallet (BTW), serving as a blueprint for the development of blockchain-based applications in public transportation. Finally, the practicality of the framework was assessed through an empirical study.
The BTW framework, illustrated in Figure 1, emphasizes the main structure of a blockchain-based decentralized public transportation wallet. It principally illustrates a decentralized transportation wallet platform that allows users to access their profiles. This applies to their transactions across numerous providers of public transportation or authorizes and validates their identities among associated authorities. In addition, this framework shows the main interactions that any transportation wallet has along with the main system’s entities and users. The suggested blockchain framework was derived from several studies [24,25].
The blockchain-based decentralized public transport wallet in the BTW framework not only facilitates the regulation of transparent and immutable payment transactions but also protects the data of users. It uses a “permissioned blockchain” (available only to authorized users) to manage identity verification, transportation transactions, payments, and other security characteristics in the public transportation domain. On a permissioned blockchain, most of the transactions are ‘off-chain’, where the transaction occurs on the network but without being stored on the blockchain. The benefit of using this type of blockchain is scalability. Since a permissioned blockchain depends on a predefined list of nodes, it can maintain the increase in transactions by scaling up the computing power [26]. Moreover, permissioned blockchains may prefer some consensus algorithms that are different from those in permissionless blockchains [27].
The BTW framework involves four users and entities interacting directly with the system, namely, passengers, service providers, governmental authorities, and banks (explained in detail in Section Users and Entities). In the transportation context, the passenger is the person who uses the system to book a transportation method to move from one place to another. The governmental authority is the party responsible for authorizing the users’ identities that connect with official governmental privilege. Banks are responsible for authenticating and approving the financial transactions taking place in the BTW.
As shown in Figure 1, the passenger directly interacts with the mobile application as a front end for the blockchain wallet. The transactions include registering in the application, choosing the journey, topping up the wallet, and making the payment. After the passenger registers with the application, the governmental authority’s representative must authenticate the user’s identity in order to open the account and initiate the wallet. Thus, the passenger benefits from a long-life wallet and special features such as disabled facilities or senior discounts.
Meanwhile, the bank entity in this framework is responsible for validating and authorizing financial transactions, which include both the transfer of funding from passengers’ bank accounts to the blockchain wallet and the control of transfers between passengers’ wallets and service providers. The service providers will handle all information regarding routes and transportation by accessing the passenger’s accounts and adding these details through the web portal. In addition, the BTW framework divides the data between the on-chain and off-chain components and transactions, intending to reduce the load on the blockchain due to the large amount of information that would overload the chain. The other data and information can be stored on-chain with centralized database storage, including essential data such as ticket information, history, route details, and transportation.
This framework serves as the fundamental foundation for any other areas and scopes that wish to employ blockchain technology in their transactions (such as the transportation industry in our case), with a focus on achieving trust, transparency, and efficiency.

Users and Entities

RideChain involves several roles of the related users’ and entities’ responsibilities among its characteristics. Table 1 illustrates all the main user roles and entities in RideChain. This starts with the public transportation user (Passenger) who would like to book a public transportation ticket and make a journey. The user identity will be verified and managed by the associated authorities to authorize the passenger’s profile before conducting any transactions.
The second role in RideChain is the Service Provider which represents companies providing a public transportation service. Their responsibilities involve managing the journey information and routes. The service provider can also explore the details of the BlockTicket, which will be described later. They can also benefit from journey data for marketing purposes and to improve provided services. Moreover, one of the main entities in RideChain is the Journey, which holds the main information on the journey that the user can book and explore. The details about the journey include the tickets, prices, routes, and the name of the service provider. The Ticket entity in the RideChain application represents an e-ticket that proves that the user has reserved a seat and paid for the journey. Tickets in RideChain typically have one journey and are kept in BlockTicket, with the option of storing several tickets together.
The BlockTicket, primarily a blockchain representation in the application, is characterized as a growing connected record of tickets purchased through the blockchain wallet Blocto. It keeps the tickets that users have purchased and linked. The BlockTicket can be viewed and explored by Service Providers. All the associated users and components must be connected in order to deliver the best solution in the creation of a wallet DApp for the public transportation industry.

4. Proposed System (RideChain)

This section outlines the application of the proposed blockchain-based transportation wallet framework to test its effectiveness and applicability. It provides a detailed description of the components of the proposed blockchain-based system (RideChain). The application should provide secure transactions between different actors in transportation sectors in a user-friendly environment.

4.1. System Overview and Architecture

RideChain is designed to use blockchain technology to simplify public transportation transactions and user payments by providing each user with an electronic smart wallet that can be used as a secure payment option and for other services in public transportation. Studying DApp architecture requires taking development procedures, structural elements, and security consequences into account. A thorough analysis highlights the cooperative character of DApp ecosystems by taking into consideration both external stakeholders, like users and developers, and internal stakeholders, such as clients, smart contracts, tokens, and blockchain platforms. In previous studies, several authors have explored DApp architecture from various perspectives. For instance, Samanipour et al. described the architecture of Web3.0 DApps by proposing an MDA-based method that addresses all aspects of architecture, including off-chain, on-chain, and on-chain/off-chain communication patterns, using a land leasing DApp as a case study [28].
In the proposed RideChain, the main architecture is demonstrated in Figure 2, which encompasses both on-chain and off-chain transactions combined by smart contracts. Standard coding practices-compliant smart contracts are also a crucial component of DApps, impacting system resilience and perhaps disclosing vulnerabilities. Planning systematically during the design phase is crucial to a successful deployment and user acceptability.
The first functionality in RideChain is the identity verification process, which ensures that the passenger’s identity is verified through authorities. Furthermore, RideChain offers several features, such as discounts for the categories to which they belong and earning the needed authentications from other related authorities, such as student or disability discounts. Additionally, the system requires all individuals to authenticate themselves before being allowed access to the system’s features. Additionally, the RideChain wallet will allow users to collect their reward points for being part of loyalty programs. Aside from this, the user can search for journeys/trips by proximity or by specified place and destination. The RideChain, as shown in Figure 3, consists of six layers, providing higher security through a layered system, as well as increasing flexibility and maintainability through the clear, well-defined structure that it was derived from [29].
The first layer is the User Interface Layer, which the user can interact with. It includes the Service Provider Interface and the Passenger interface. Next is the Application Layer, which consists of the main functionality of the app to perform specific actions. The third layer is the Authorization Layer, which is responsible for authorizing users to assign suitable privileges. Fourth is the Blockchain Layer, which is in control of storing the most important data in the block where it must be immutable. After this comes the Data Access Layer, which provides easier access to permanent data stored in the database. Lastly, the Physical Layer connects with different databases.
The targeted audience for this application is people who will be using public transportation on a daily basis. The language used in the application will be English. The user does not need to have any specialized technical knowledge in order to use the application because it is built with a user-friendly interface with clear instructions for non-technical users.

4.2. Smart Contract and Blockchain Wallet

Leveraging a smart contract for managing participants’ transactions in the transportation system can provide several advantages, including enhanced transparency, immutability, and security [30]. This solution’s implementation of a blockchain smart contract was chosen to resolve the matter of confidence in the reliability and traceability of transportation wallets, an emerging idea [31]. In our case, a smart contract is used to represent digital tickets that have been purchased and processed through a blockchain wallet, Blocto. A blockchain wallet functions as a safe and user-friendly platform for effectively handling digital assets on a blockchain network. The wallet guarantees secure storage, seamless transfer, and receipt of cryptocurrencies, all while enabling users to maintain control over their private keys and financial accounts. The Blocto wallet employed in this application allows the user to control and transfer money to their account by charging their wallet, viewing their wallet balance, and authorizing the wallet balance.
The smart contract outlines the ticket structure, including details such as ticket ID, payment transaction ID, origin, destination, date, time, and seat number. When a user books a ticket, it interacts with the smart contract, leading to the creation of digital tickets on the blockchain. Smart contracts manage ticket ownership and transfer; when a passenger purchases a ticket, ownership is transferred and recorded on the blockchain, which cannot be altered due to its immutability. Additionally, the entire history of each ticket and wallet transaction is logged, providing transparency that allows service providers and passengers to verify the authenticity of their tickets and wallets.
Applying the smart contract, we will adopt a highly efficient ticket validation approach. The smart contract should maintain integration with the blockchain wallet; users must have access to their wallets and be able to send transactions to the smart contract. When a passenger presents a ticket to be scanned, we can effectively verify its authenticity by checking the ownership within the smart contract and confirming that it has not been used or has expired. Our approach in employing the smart contract as ticket verification will lead to more secure and quick verification, which, in return will lead to a safer and more positive public transportation experience for both passengers and service providers.

4.3. Functional and Non-Functional Requirements

Technical specifications of functional and non-functional requirements state that the terms “Shall” and “Should” are used in the requirements [32]. Particularly, the word “shall” is used to denote a necessary requirement, whereas the word “should” is used to denote a secondary requirement that may not be fully satisfied in the system’s implementation. The system’s basic functions, for instance, have been identified and are thought to be a shall. Furthermore, the main system requirements have been divided into functional requirements (FR) and non-functional requirements (NFR) as in the following main transaction in RideChain.
Managing the journey information
  • [FR1] The system shall be able to allow the service provider to create an account;
  • [FR2] The system shall be able to allow the service provider to view or edit account information;
  • [FR3] The system shall be able to allow the service provider to add, edit, or delete a journey;
  • [FR4] The system shall be able to authorize the service provider license;
  • [FR5] The system shall be able to allow the service provider to analyze data.
Authorizing the Identity
  • [FR1] The system shall be able to allow the passenger to create an account that includes a wallet;
  • [FR2] The system shall be able to allow the governmental authority to authorize decentralized identifiers;
  • [FR3] Users shall be able to control their data associated with the authenticated identity;
  • [NFR1] The system shall be able to provide a public/private key pair to the user;
  • [NFR2] The system shall be able to operate on a decentralized information system to issue authenticated identity;
  • [NFR2] The system shall be able to inform the user if someone logs into their account.
Charging the Wallet
  • [FR1] The system shall be able to allow the user to view their wallet balance;
  • [FR2] The system shall be able to allow the user to charge their wallets;
  • [NFR1] The system shall be able to protect user privacy by authenticating.

4.4. Analysis and Design of the Main System’s Functionalities

The design of RideChain required that attention be given to ensuring the project’s optimal availability, usability, trustworthiness, quick response, and high efficiency in carrying out the user’s transactions. Moreover, clarifying the requirements, scope, constraints, exceptions, and expected outcomes of the proposed solution via visual representations is a crucial phase in the development of software applications. The analysis of the systems should include models ranging from the conventional flowchart to structured analysis models (data flow diagrams, entity–relationship diagrams, and similar diagrams) to unified modeling language (UML) notations [33]. This section uses the unified modeling language (UML) to express the proposed RideChain’s logic to accomplish this goal. Two diagrams have been selected to be illustrated in this section of the paper: use case and sequence diagrams.
  • Use Case Diagram
The use case diagram represents the whole system (RideChain) and shows in particular which user will perform which specific functionality. As shown in Figure 4, it represents the use case involving all stakeholders that deal with the RideChain system. Each stakeholder has its own use cases. In addition, some use cases are shared between stakeholders, and some are related to each other, such as banks authorizing the user balance.
  • Sequences Demonstration
In this section, we aim to represent the two main sequence diagrams of the RideChain system. It shows all the interactions between the participants of the smart contract for the file upload process. We focused on two functions, namely Charge Wallet and Identity Authentication. The system ensures that users have a sufficient balance in their bank account to charge the RideChain wallet. As shown in Figure 5, when the user wants to charge their wallet, they will be prompted to choose the desired way to pay and then enter the desired amount. After entering the amount, the system will verify the user account balance through the bank, if it is confirmed, the wallet will be updated with the chosen amount.
The second sequence diagram, as presented in Figure 6, shows that the RideChain system guarantees that the user ID is valid before creating an account in RideChain. When the user first starts using our application, they will need to create an account.
They will be prompted to enter their information, including their ID number. The system will then verify the ID through the governmental authorities; if it is confirmed, the account will be created, and the user will be able to access the system.

4.5. Deployment

The system was deployed to be used by real users for validation purposes after implementing a blockchain-based transportation wallet. Using traditional methods can lead to fraud through counterfeit and duplicate tickets. Meanwhile, with a blockchain-based wallet, data is secured by cryptographic hashing, making it extremely difficult to alter. Once information is recorded, it becomes part of an unchangeable historical record. The transparent and tamper-proof nature of the blockchain makes it extremely difficult to forge or duplicate tickets. Within the blockchain, each ticket has a unique identifier, metadata and terms associated with it that have been approved for purchasing through the blockchain wallet Blocto. Data include details like ticket ID, origin, destination, date, time, seat number, passenger information, and a QR code or barcode for easy scanning. When a passenger purchases a ticket through the RideChain application, they interact with the smart contract. The smart contract generates a unique digital ticket, records all the ticket information, and assigns it to the passenger. The digital ticket is stored as a transaction on the blockchain. Meanwhile, the Blocto wallet is used to request transaction confirmation following the generation of a block. This wallet serves as a manager for cryptocurrency wallets. It makes it possible to regulate the wallet’s transaction charge. A block is added to the blockchain after the user validates the transaction.
These transactions are broadcast within the blockchain network. The blockchain network employs a consensus mechanism to agree on the validity of transactions and the order in which they are added to the blockchain. Nodes known as miners or validators participate in this process. Miners must solve a computationally intensive mathematical puzzle known as the “proof of work”. This puzzle requires significant computational effort in which miners constantly modify a value called a nonce in their block until they find a hashed solution that meets certain criteria. Once a miner finds a valid block solution, they broadcast it to the entire network. Then, other nodes in the network receive the proposed block and verify its validity. When a valid block is added to the blockchain by most nodes within the network, a consensus is achieved. All nodes in the network now have the same version of the blockchain ledger.
Blockchain transactions are stored on multiple nodes in a decentralized network. Each node maintains a copy of the blockchain ledger. This distribution ensures redundancy and resilience, making it difficult to alter the blockchain’s history. Furthermore, it eliminates the need for a central authority or intermediary, reducing the risk of single points of failure.
  • Main Functionalities and Transactions
To deploy blockchain technology to RideChain, we created the smart contract. The smart contract was written in the Cadence programming language that the Flow blockchain development platform provides. The smart contract plays a role in processing the user’s transactions to create a block. Flow Faucet provides developers with one central account that contains 1000 fake FLOWs to develop and interact with the blockchain. In addition, it shows all constructed blocks and their detailed information, such as block hash, timestamp, and transaction history. Following the block creation, a transaction confirmation is requested through the Blocto wallet, then downloaded as an API package in Xcode, which acts as a manager of the crypto wallet. It controls the wallet transaction fee. A block is added to the blockchain after the user confirms the transaction.
The implementation process started by writing a smart contract that included RideChain’s main functionalities. These functionalities include, for example, addTicket and getTicket (a formation of two functions), a ticket function that will return a reference of a ticket that will be collected with its information, and an allTickets function that calls the ticket function described previously.
Additionally, the application provides the user with all the functionalities to maintain wallet transactions. The AuthorizeWalletBalance function allows the user to check the wallet’s current balance of cryptocurrencies. The ViewWalletBalance function explains how the user can display the balance of their pre-paid transportation wallet. This helps users keep track of their accounts. Also, the Top up Wallet function represents how the user tops up the transportation wallet by adding an amount of money.
A sample code is provided below for each function. Then, we deployed the smart contract to the block address. This shows that the ticketManager contract has successfully deployed to the block.
  • Wallet Authentication
The provided code snippet serves as an example of the authentication function for the Blocto wallet. This function facilitates the display of the Blocto API authentication page, enabling users to authenticate their blockchain addresses. By utilizing this code, developers can seamlessly integrate Blocto’s authentication process into their applications, ensuring secure and reliable access to blockchain functionalities through the Blocto wallet. This authentication mechanism enhances user experience and promotes trust and transparency within blockchain-based systems.
  • Charge Top up Wallet
The provided code snippets, Figure 7 and Figure 8, demonstrate the process by which a passenger can conveniently top up their transportation wallet. This procedure involves a straightforward series of steps, commencing with the passenger clicking on the designated “Charge Wallet” button. Upon doing so, a range of payment options become available for the passenger to select from, ensuring flexibility and catering to individual preferences. Once the desired payment method has been chosen, the passenger is prompted to input the desired amount of money they wish to add to their wallet. This feature allows passengers to personalize their wallet recharge according to their specific needs and financial capabilities. Whether it is a small top-up or a substantial sum, this functionality caters to a diverse range of user requirements. After the passenger has input the desired amount, the system processes the transaction, swiftly and securely crediting the entered sum to their transportation wallet.
This seamless integration of the recharge functionality streamlines the passenger’s experience, eliminating the need for manual calculations or cumbersome procedures. By simplifying the process and offering multiple payment options, passengers are empowered to conveniently add funds to their transportation wallets, ensuring a hassle-free and efficient user experience.
  • Schema Definition
The primary purpose of a public transportation provider is to provide passengers with reliable proof of their eligibility to use public transportation services. It serves to authenticate passengers and enable efficient travel. Moreover, the Banking Provider schema offers passengers dependable proof of their financial status. By partnering with banking providers, the application can verify a passenger’s ability to make payments for public transportation services, while the National Government schema provides passengers with reliable proof of their national identity. This credential is crucial for verifying passengers’ identities and ensuring the security and integrity of the public transportation system, as it helps to prevent fraud and unauthorized use of transportation services. These three main credentials play a crucial role in assessing the main authentication processes, as shown in Table 2. These three schemes will work together within RideChain to create a safe and efficient public transportation ecosystem. They ensure a smooth journey for passengers while maintaining system integrity and protecting passenger identity and financial information.
  • Screenshots of the whole system (GUIs)
The following screenshots present the passenger’s flow. We can see the onboarding and welcome screen where the user can choose whether to sign in/up as a passenger or service provider and then complete the required fields. After signing in, the user can navigate to the search tab from the tab bar and search for a journey based on transportation type, pickup, and drop-off location. In the wallet tab, passengers can view their card balance, top up the card, view ticket history, and finally sign out from their accounts. The following Figure 9 represents the screenshots of the main screens (GUIs) in the RideChain application.

5. Evaluation and Discussions

In order to determine the effectiveness and suitability of the system in achieving the intended goals and specifications, the deployed system was evaluated through a variety of tests. Different system testing strategies were used to ensure the system performed all tasks correctly and met all functional and non-functional requirements.

5.1. Testing

This section describes the testing approaches used in this study, which include unit and integration testing, performance testing, and user acceptance testing at various phases. The first phase included connecting the application to the blockchain, involving components like the Flow blockchain infrastructure, smart contracts, and a Blocto digital wallet. This integration was carried out using virtual machines on a single computer. We adopted a bottom-up strategy, starting with the smart contract and connecting it to user accounts, then using Outblock’s iOS SDK to connect the Flow platform to our application. Performance testing was also performed to confirm that each software unit worked as expected and to detect any response concerns. Subsequently, user acceptability testing (UAT) was performed to evaluate whether the system matched the needs of the users by assessing efficiency and satisfaction.

5.1.1. Integration Testing

For the integration testing, the system was integrated into phases. We merged a new component with a previously tested set and checked that the sets continued to function as expected. The bottom-up methodology was used for integration testing in RideChain, where the lowest level of a component was evaluated before the highest-level component. The first phase was integrating the application components using GitHub. This resulted in a complete flow of different interfaces and functionalities of the application. In the next phase, the application interface and Firebase database were integrated successfully, and any updates by the system were shown in the database content based on user actions. The last phase was integrating the application and blockchain components, such as the Flow blockchain infrastructure, the smart contract, and the digital wallet. We added the blockchain component through the usage of the IOS SDK and Outblock, which serves as a bridge between a Flow platform and the application. The testing of this stage showed positive integration results as contracts deployed successfully.

5.1.2. Unit Testing

Unit testing aims to verify that each individual unit performs as expected before integrating with the main application [32]. Table 3 shows that all RideChain components have passed this.

5.1.3. Performance Testing

Performance testing is a form of non-functional testing that aims to check the behavior of a system in terms of its speed, scalability, reliability, and interoperability by applying some workload [34]. Since RideChain is a real-time application where users should have the most updated information, application performance will play an essential role in the effectiveness of such an application. The performance testing was done using an XCode 14.2 software instruments tool that provided visualization for gathered data from the application while it was running.
With regard to CPU usage, as shown in Figure 10, the average CPU usage was 7%, and the tests show that the maximum value is 35% in the ‘Search for a journey’ function of a duration of 34 s, as displayed in Figure 1. The maximum memory usage was 139 MB. This suggests a trivial usage compared to other transportation applications that use more advanced features such as AI and other heavy features [34]. For network utilization, we noticed that our system sends packets, which reached a maximum of 4 KP/s and 8.4 KP/s for receiving in a monitoring period of 5 min. This was considered appropriate in comparison with average transportation applications that used a complicated system of bank transactions, authentications, and GPS [34]. After generating 500 events, RideChain performed as planned and had no crush.

5.2. User Acceptance Testing

User acceptance testing (UAT) is the last phase of the application testing process. It is a very important test that attempts to inform the development team about any system’s limitations and validates that the system is prepared for operational use [32]. During UAT, actual application users test the application in real-life scenarios to make sure it can handle necessary tasks according to specifications. The system was tested on a sample of 15 users. The users were male and female users, aged between 16 and 52 years old. After explaining the system to the sample users, they were asked to perform several tasks while measuring two main criteria:
  • Efficiency: this was determined by how long it took a user to accomplish a task without any error.
  • Satisfaction: this was determined by investigating user experience feedback collected through a questionnaire about user experience.
Table 4 and Table 5 show the average results of the user acceptance testing of some tasks for passengers and service providers. The results show a very reasonable time to complete each task.
Positive results were collected from user experience and feedback from RideChain, which indicated that RideChain is usable and easy to learn. The participants thought the application concept was great, enjoyed using the system, and would strongly suggest it to others. They also showed great interest in using the application if it went live.

5.3. Discussion

Adoption of blockchain typically begins with the proof-of-concept stage, which ensures the technology’s usability and alignment with the business’s strategic goals. This proof-of-concept includes a feasibility study to compare the blockchain’s capabilities with the business requirements [35]. The RideChain application that was used to test the BTW framework demonstrated effectiveness and user-friendliness.
The RideChain system demonstrates the ability to provide seamless communication and data sharing between numerous parties, including passengers and transportation providers. This is accomplished through the use of established protocols and APIs that allow for easy interaction with current systems. Furthermore, smart contract adoption is critical for enabling automated transactions and interactions between numerous platforms without the use of intermediaries. To accomplish this, we used Outblock’s iOS SDK to integrate the application with blockchain components such as the Flow blockchain infrastructure, smart contract, and the digital wallet, acting as a bridge between the Flow platform and the application. Our system also enables various transportation providers by allowing them to enroll on the blockchain network, where they may each establish a unique identity and perform their services. The use of smart contracts ensures that transactions between multiple providers are visible and secure.
Results showed that it can improve the experience of users riding public transportation with a verified lifetime wallet that can be topped up and used for many transportation services. Due to its distinct features and capabilities, the blockchain is considered a valid means to improve the security and data integrity of ticketing, financial transactions, and data exchange through higher security standards [8]. Additionally, smart contract configuration enables service providers to encourage the use of public transportation by conveniently providing a variety of rewards and incentives, strengthening the loyalty of passengers [2].
Other functionalities that benefit from blockchain capabilities could be added gradually to empower the application and user experience with improved transparency, reliability, immutability, and security. Research proved that blockchain can be used to facilitate ticket inspection, removing privileges, and innovative ticketing products such as single-pass-for-all or promotions, which is in line with the findings of [8], which have been achieved and proven in RideChain. Additionally, it would enable actors from other industries and institutions to interact with the ecosystem of public transit. Furthermore, different data from blockchain transactions in the RideChain could be gathered to be used for related tasks, like improving public transportation scheduling, marketing, planning, or even analyzing user behavior for various marketing purposes, such as bus stops, ticket information, and passenger connections between vehicles.
The deployment of blockchain in RideChain enhances the real-time performance of secured clearing and ticketing settlements and resolves disputes due to lost transactions or recordkeeping errors. This reduces costs and boosts efficiency. Additionally, blockchain can provide individual operators with a secure central platform with rules-based access, allowing data to be used for each specific purpose to make ticket sharing easier among different service providers. These transactions necessitate the exchange of information, which can be a cause for concern for operators due to worries about business confidentiality or competition [4].
There are other solutions available offering different functionalities on transportation wallets like booking tickets or managing services. For example, the Moovit app guides users to their destinations effectively and conveniently in more than 3500 cities around the world. The application provides an online wallet to pay for a planned journey. In addition, it notifies the user about issues like construction work, delays, and other disruptions ahead of a journey [34]. The Transit application helps passengers navigate around 175 cities’ public transportation systems with accurate data to help users determine the true location of buses, trains, and other public transportation. In addition, one of the features of Transit is that it provides a color-coded system that matches colors with city modes of transportation for users to quickly associate a color with the mode of transportation [34]. The NextThere application for public transportation gives passengers the destination and time of trains, buses, and ferries in a straightforward interface based on the user’s location and alerts users to special events that may cause a delay without payment options [35]. Nevertheless, it has been noticed that none of the previous applications apply blockchain capabilities, which use unique features that empower the user experience, such as a reward system, a permanent secure payment system, or reliable data exchange. In the RideChain system, the passengers are allowed to authenticate their identity with authorized institutes, which helps in a guaranteed lifetime wallet to be used across several service providers and transportation methods. Also, RideChain provides users with a transparent and immutable data platform that is suitable for reducing fraud and unauthorized ticketing systems. In comparison to existing frameworks and systems, RideChain provides a comprehensive solution that combines all the necessary transactions to provide the best user experience for public transportation users.

6. Conclusions and Future Work

Following the increased interest in employing distributed ledger technology for public transportation sectors, we investigated the literature studies about deploying blockchain technology on public transportation systems. Due to the lack of theoretical frameworks that guide the development of transportation-related blockchain-based transactions, we propose in this study a comprehensive blockchain-based transportation wallet framework (BTW) that sets the boundaries of a smart digital wallet. It facilitates all public transportation passengers’ transactions, including secure payment and identity authentication and management, in a secure, trustworthy, and transparent manner. This framework embodies leveraging blockchain technology, which provides a decentralized and immutable ledger that records and verifies transactions, ensuring trust and reducing the risk of fraud. In this study, we addressed the elements of the BTW to improve the overall user experience, optimize transportation operations, and foster innovation in the transportation industry.
Based on the BTW, we built a proof-of-concept system (RideChain) to test its suitability and efficiency among the related users. This application provides a decentralized application that offers users and service providers a digital platform to perform public transportation transactions. These include booking journeys and browsing routes, topping up wallets, authenticating and managing identity, and offering a single source of legitimacy for real-time transportation information. It facilitates the tracking of receipts, ticket confirmations, and other relevant travel documents. All tickets and financial transactions are recorded and maintained on tamper-proof blockchain technology to be securely processed and verified, ensuring transparency and preventing unauthorized tampering.
The results indicated that the framework has been validated to prove it enables secure transactions, automated smart contracts, decentralized identity, seamless payments, and reliable data management. This paper also describes the design and implementation of a transportation wallet application using the proposed BTW system. It emphasizes the system’s major functionalities, as well as the design and implementation aspects involved, while also defining the transportation wallet application’s core characteristics. It then looks into the system’s design aspects, including architecture, data authentication, and security measures. In conclusion, this study presents a blockchain-based transportation wallet framework that has the potential to revolutionize the transportation industry by providing a secure, efficient, and decentralized platform for managing various transportation-related transactions.
One of the future works based on the results of this study is to develop a journey-sharing and mobility-as-a-service (MaaS) platform as an extension to RideChain. MaaS and journey-sharing platforms rely heavily on AI and can inherit the features of blockchain technology to provide transparency and immutable services. This platform optimizes routing and dispatching, matching drivers and passengers, and dynamically modifying pricing based on supply and demand using predictive analytics. To improve the effectiveness and user experience of these services, AI algorithms examine both historical and current data to forecast demand trends, calculate journey times, and allocate resources as efficiently as possible, which are stored in a trustworthy and immutable platform. Predictive analytics and intelligent transportation can also help in predictive traffic management and maintenance and intelligent incident detection systems.
Future work on this study may also explore how combining blockchain-based transportation wallets with cutting-edge technologies may open up novel opportunities. For instance, tracking transportation assets in real-time and enabling automated payment settlements, by combining the blockchain with Internet of Things (IoT) devices and sensors.

Author Contributions

Conceptualization, A.A. (Areej Alhogail); Methodology, A.A. (Areej Alhogail) and M.A.; Software, A.A. (Alanoud Alsheddi), D.A. and N.A.; Validation, A.A. (Areej Alhogail), A.A. (Alanoud Alsheddi), D.A. and N.A.; Formal analysis, A.A. (Areej Alhogail) and M.A.; Investigation, M.A.; Data curation, A.A. (Alanoud Alsheddi), D.A. and N.A.; Writing—original draft, Areej Alhogail, M.A., A.A. (Alanoud Alsheddi), D.A. and N.A.; Writing—review & editing, Areej Alhogail and M.A.; Visualization, A.A. (Alanoud Alsheddi), D.A. and N.A.; Supervision, A.A. (Areej Alhogail); Project administration, A.A. (Areej Alhogail). All authors have read and agreed to the published version of the manuscript.

Funding

This research received no external funding.

Data Availability Statement

The original contributions presented in the study are included in the article, further inquiries can be directed to the corresponding author.

Acknowledgments

The authors would like to thank Sara AlMezeini and Jawaher Alhussein for their efforts in implementing the system.

Conflicts of Interest

The authors declare that they have no conflicts of interest to report regarding the present study.

References

  1. Kharche, A.; Badholia, S.; Upadhyay, R.K. Implementation of blockchain technology in integrated IoT networks for constructing scalable ITS systems in India. Blockchain Res. Appl. 2024, 5, 100188. [Google Scholar] [CrossRef]
  2. Aldweesh, A. BlockTicket: A framework for electronic tickets based on smart contract. PLoS ONE 2023, 18, e0284166. [Google Scholar] [CrossRef] [PubMed]
  3. Enescu, F.M.; Birleanu, F.G.; Raboaca, M.S.; Bizon, N.; Thounthong, P. A Review of the Public Transport Services Based on the Blockchain Technology. Sustainability 2022, 14, 13027. [Google Scholar] [CrossRef]
  4. Das, D.; Banerjee, S.; Chatterjee, P.; Ghosh, U.; Biswas, U. Blockchain for Intelligent Transportation Systems: Applications, Challenges, and Opportunities. IEEE Internet Things J 2023, 10, 18961–18970. [Google Scholar] [CrossRef]
  5. Stockburger, L.; Kokosioulis, G.; Mukkamala, A.; Mukkamala, R.R.M. Blockchain-enabled decentralized identity management: The case of self-sovereign identity in public transportation. Blockchain Res. Appl. 2021, 2, 100014. [Google Scholar] [CrossRef]
  6. Gambetta, R. Distributed Ledger Technology in Pubic Transport: Use Case for Blockchain. Available online: https://www.uitp.org (accessed on 12 December 2022).
  7. Bahrepour, D.; Maleki, R. Benefit and limitation of using blockchain in smart cities to improve citizen services. GeoJournal 2024, 89, 57. [Google Scholar] [CrossRef]
  8. Astarita, V.; Giofrè, V.P.; Mirabelli, G.; Solina, V. A Review of Blockchain-Based Systems in Transportation. Information 2020, 11, 21. [Google Scholar] [CrossRef]
  9. Yuan, Y.; Wang, F.Y. Towards blockchain-based intelligent transportation systems. In Proceedings of the 2016 IEEE 19th International Conference on Intelligent Transportation Systems (ITSC), Rio de Janeiro, Brazil, 1–4 November 2016; pp. 2663–2668. [Google Scholar]
  10. Alhogail, A. Investigating the Suitability of Blockchain Technology for Public Transportation Systems. In Proceedings of the Intelligent Systems Conference 2023 (IntelliSys 2023), Amsterdam, The Netherland, 7–8 September 2023. [Google Scholar]
  11. Ghadge, N. Analyzing the Role of Blockchain in Identity and Access Management Systems. Int. J. Sci. Res. Arch. 2024, 12, 2249–2256. [Google Scholar] [CrossRef]
  12. Alshahrani, M.; Beloff, N.; White, M. Revolutionising Higher Education by Adopting Blockchain Technology in the Certification Process. In Proceedings of the 2020 International Conference on Innovation and Intelligence for Informatics, Computing and Technologies, Sakhir, Bahrain, 20–21 December 2020; IEEE: Piscataway, NJ, USA, 2020; Volume 3. [Google Scholar]
  13. Yli-Huumo, J.; Ko, D.; Choi, S.; Park, S.; Smolander, K. Where Is Current Research on Blockchain Technology?—A Systematic Review. PLoS ONE 2016, 11, 163477. [Google Scholar] [CrossRef] [PubMed]
  14. Bijalwan, J.G. Navigating the Future of Secure and Efficient Intelligent Transportation Systems using AI and Blockchain. Open Transp. J. 2024, 18, e26671212291400. [Google Scholar] [CrossRef]
  15. Baker, T.; Asim, M.; Samwini, H.; Shamim, N.; Alani, M.M.; Buyya, R. A blockchain-based Fog-oriented lightweight framework for smart public vehicular transportation systems. Comput. Netw. 2022, 203, 108676. [Google Scholar] [CrossRef]
  16. Hîr¸tan, L.A.; Dobre, C.; González-Vélez, H. Blockchain-based reputation for intelligent transportation systems. Sensors 2020, 20, 791. [Google Scholar] [CrossRef] [PubMed]
  17. Preece, J.D.; Morris, C.R.; Easton, J.M. Leveraging ontochains for distributed public transit ticketing: An investigation with the system for ticketing ubiquity with blockchains. IET Blockchain, 2024; early view. [Google Scholar]
  18. Mukherjee, S.; Carter, C.; Koh, S.C.L. Blockchain Disruption in Transport; Working paper; Catapult Transport Systems and The University of Sheffield: Milton Keynes, UK, 2018. [Google Scholar]
  19. Kos-Łabe˛dowicz, J. Telematics—Support for Transport, Proceedings of the 14th International Conference on Transport Systems Telematics, TST 2014, Katowice/Krakow/Ustron, Poland, 22–25 October 2014; Mikulski, J., Ed.; Springer: Berlin/Heidelberg, Germany, 2014; pp. 376–385. [Google Scholar]
  20. Jabbar, R.; Dhib, E.; Ben Said, A.; Krichen, M.; Fetais, N.; Zaidan, E.; Barkaoui, K. Blockchain Technology for Intelligent Transportation Systems: A Systematic Literature Review. IEEE Access 2022, 10, 20995–21031. [Google Scholar] [CrossRef]
  21. Iqbal, A.; Rajasekaran, A.S.; Nikhil, G.S.; Azees, M. A Secure and Decentralized Blockchain Based EV Energy Trading Model Using Smart Contract in V2G Network. IEEE Access 2021, 9, 75761–75777. [Google Scholar] [CrossRef]
  22. Fiorello, D.; Martino, A.; Zani, L.; Christidis, P.; Navajas-Cawood, E. Mobility Data across the EU 28 Member States: Results from an Extensive CAWI Survey. Transp. Res. Procedia 2016, 14, 1104–1113. [Google Scholar] [CrossRef]
  23. Tobin, A. Sovrin: What Goes on the Ledger? Sovrin: Salt Lake City, UT, USA, 2017. [Google Scholar]
  24. Khwaji, A.; Alsahafi, Y.; Hussain, F.K. Conceptual Framework of Blockchain Technology Adoption in Saudi Public Hospitals Using TOE Framework. In Lecture Notes in Networks and Systems; Springer: Berlin/Heidelberg, Germany, 2022; pp. 78–89. [Google Scholar]
  25. Mytis-Gkometh, P.; Drosatos, G.; Efraimidis, P.S.; Kaldoudi, E. Notarization of knowledge retrieval from biomedical repositories using blockchain technology. In IFMBE Proceedings; Springer Nature: Basingstoke, UK, 2018; pp. 69–73. [Google Scholar]
  26. Golosova, J.; Romanovs, A. Overview of the Blockchain Technology Cases. In Proceedings of the 59th International Scientific Conference on Information Technology and Management Science of Riga Technical University (ITMS), Riga, Latvia, 10–12 October 2018; IEEE: Piscataway, NJ, USA, 2018; pp. 1–6. [Google Scholar]
  27. Zheng, Z.; Xie, S.; Dai, H.; Chen, X.; Wang, H. An Overview of Blockchain Technology: Architecture, Consensus, and Future Trends. In Proceedings of the 2017 IEEE 6th International Congress on Big Data, Honolulu, HI, USA, 25–30 June 2017; IEEE: Piscataway, NJ, USA, 2017; pp. 557–564. [Google Scholar]
  28. Samanipour, A.; Bushehrian, O.; Robles, G. MDAPW3: MDA-based development of blockchain-enabled decentralized applications. Sci. Comput. Program. 2025, 239, 103185. [Google Scholar] [CrossRef]
  29. Kamenivskyy, Y.; Palisetti, A.; Hamze, L.; Saberi, S. A Blockchain-Based Solution for COVID-19 Vaccine Distribution. IEEE Eng. Manag. Rev. 2022, 50, 43–53. [Google Scholar] [CrossRef]
  30. Jani, S. Smart Contracts: Building Blocks for Digital Transformation. EXTROPY J. Transhumanist Thought 2020, 1–11. [Google Scholar] [CrossRef]
  31. Shari, N.F.; Malip, A. Blockchain-based decentralized data dissemination scheme in smart transportation. J. Syst. Archit. 2023, 134, 102800. [Google Scholar] [CrossRef]
  32. Sommerville, I. Software Engineering. In Software Engineering, 10th ed.; Pearson Education Limited: London, UK, 2016. [Google Scholar]
  33. Torre, D.; Labiche, Y.; Genero, M.; Baldassarre, M.T.; Elaasar, M. UML diagram synthesis techniques: A systematic mapping study. In Proceedings of the 10th International Workshop on Modelling in Software Engineering, Gothenburg, Sweden, 27–28 May 2018; IEEE Computer Society: Piscataway, NJ, USA, 2018; pp. 33–40. [Google Scholar]
  34. Sims, G. Apple vs Android Ram Management. Available online: https://www.androidauthority.com/apple-vs-android-ram-management-3100032/ (accessed on 2 November 2022).
  35. Almeshal, T.; Alhogail, A.A. Blockchain for Businesses: A Scoping Review of Suitability Evaluations Frameworks. IEEE Access 2021, 9, 155425–155442. [Google Scholar] [CrossRef]
Figure 1. Blockchain-based Transportation Wallet Framework.
Figure 1. Blockchain-based Transportation Wallet Framework.
Mathematics 12 03033 g001
Figure 2. RideChain System Architecture.
Figure 2. RideChain System Architecture.
Mathematics 12 03033 g002
Figure 3. RideChain Layers.
Figure 3. RideChain Layers.
Mathematics 12 03033 g003
Figure 4. Use Case Diagram for RideChain Application.
Figure 4. Use Case Diagram for RideChain Application.
Mathematics 12 03033 g004
Figure 5. Charge Wallet Sequence Diagrams.
Figure 5. Charge Wallet Sequence Diagrams.
Mathematics 12 03033 g005
Figure 6. Identity Authentication Sequence Diagrams.
Figure 6. Identity Authentication Sequence Diagrams.
Mathematics 12 03033 g006
Figure 7. Wallet Authentication.
Figure 7. Wallet Authentication.
Mathematics 12 03033 g007
Figure 8. Charge Wallet.
Figure 8. Charge Wallet.
Mathematics 12 03033 g008
Figure 9. RideChain GUIs.
Figure 9. RideChain GUIs.
Mathematics 12 03033 g009
Figure 10. CPU performance testing.
Figure 10. CPU performance testing.
Mathematics 12 03033 g010
Table 1. Main Roles and Entities.
Table 1. Main Roles and Entities.
Role/EntitiesDescription
PassengerThe user who wants to use the transportation systems.
Service ProviderThe company responsible for providing the journey routes.
Governmental AuthorityThe authorities responsible for verifying the passengers’ identities.
BanksThe financial representation approving and transferring money between wallets.
JourneyThe entity holds the journey details, including the date, time, route, and stations.
BlockTicketThe blockchain representation in the application that is characterized as a growing connected record of tickets.
Table 2. Schema table for RideChain.
Table 2. Schema table for RideChain.
Schema DesignerCredential IssuerPurpose
Transportation AuthorityPublic Transportation ProviderProviding reliable proof for passengers to enable efficient travel across public transportation.
Banking AuthorityBanking ProviderProviding reliable proof of the passenger’s financial state to enable efficient payment for public transportation services.
Government AuthorityNational GovernmentProviding reliable proof of passenger’s national identity.
Table 3. Unit Testing.
Table 3. Unit Testing.
Component NameDescriptionResult
Register as a passengerThe system is able to register a passenger successfully.Pass
Register as a service providerThe system is able to register a service provider successfully.Pass
Add journeyJourney information has been entered, and the journey has been added successfully to the schedule.Pass
Edit journeyEditing the journey information has been updated successfully.Pass
Delete journeyThe journey has been deleted successfully.Pass
Top up walletThe wallet has been topped up successfully.Pass
Search for journeysThe journey list has been displayed successfully.Pass
View journey informationJourney information has been viewed successfully.Pass
Book ticketThe ticket has been booked successfully.Pass
View ticket information retrieved from the blockchainThe information has been retrieved and displayed successfully.Pass
View ticket historyPast tickets have been displayed successfully.Pass
Read Ticket through NFCThe tickets can be read through the NFC system successfully.Pass
Table 4. Measured efficiency of results for passenger UAT.
Table 4. Measured efficiency of results for passenger UAT.
TaskTime Needed Min:Sec:Msc
Register as a passenger01:32:06
Top up wallet00:20:60
Search for journeys00:10:41
View journey information00:08:31
Book ticket00:48:04
View ticket information retrieved from the blockchain00:04:71
View ticket history00:10.43
Table 5. Measured efficiency of results for service provider UAT.
Table 5. Measured efficiency of results for service provider UAT.
TaskTime Needed Min:Sec:Msec
Register as a service provider01:30:47
Add journey01:08:03
Journey00:15:53
Delete journey00:09:12
Search for journeys00:18:38
Disclaimer/Publisher’s Note: The statements, opinions and data contained in all publications are solely those of the individual author(s) and contributor(s) and not of MDPI and/or the editor(s). MDPI and/or the editor(s) disclaim responsibility for any injury to people or property resulting from any ideas, methods, instructions or products referred to in the content.

Share and Cite

MDPI and ACS Style

Alhogail, A.; Alshahrani, M.; Alsheddi, A.; Almadi, D.; Alfaris, N. RideChain: A Blockchain-Based Decentralized Public Transportation Smart Wallet. Mathematics 2024, 12, 3033. https://doi.org/10.3390/math12193033

AMA Style

Alhogail A, Alshahrani M, Alsheddi A, Almadi D, Alfaris N. RideChain: A Blockchain-Based Decentralized Public Transportation Smart Wallet. Mathematics. 2024; 12(19):3033. https://doi.org/10.3390/math12193033

Chicago/Turabian Style

Alhogail, Areej, Mona Alshahrani, Alanoud Alsheddi, Danah Almadi, and Noura Alfaris. 2024. "RideChain: A Blockchain-Based Decentralized Public Transportation Smart Wallet" Mathematics 12, no. 19: 3033. https://doi.org/10.3390/math12193033

APA Style

Alhogail, A., Alshahrani, M., Alsheddi, A., Almadi, D., & Alfaris, N. (2024). RideChain: A Blockchain-Based Decentralized Public Transportation Smart Wallet. Mathematics, 12(19), 3033. https://doi.org/10.3390/math12193033

Note that from the first issue of 2016, this journal uses article numbers instead of page numbers. See further details here.

Article Metrics

Back to TopTop