PetroBlock: A Blockchain-Based Payment Mechanism for Fueling Smart Vehicles
Abstract
:1. Introduction
- We present PetroBlock: A secure payment mechanism for refueling smart vehicles without human interaction, providing transparency, trust, and privacy.
- The proposed model can share data among the system’s users while securing sensitive information.
- We evaluate the designed system using Hyperledger Caliper in terms of transaction latency (average, percentile, minimum and maximum), transaction throughput, resource utilization (e.g., CPU, memory, I.O. ).
2. Related Work
3. PetroBlock Framework
3.1. Scenario of Adversary Model
- Key attack: This attack exploits the private key leakage vulnerability over a smart car network.
- Replay attack: An adversary tries to intercepts and then replay a valid data transmission over a smart car network. This attack can be used to deceive financial institutions by duplicating transactions, allowing the adversary to withdraw money directly from their victims’ accounts.
- Impersonation attack: Under this attack, an adversary tries to masquerade as a legal user for doing some unauthorized transactions in the blockchain.
- Sybil attack: By frequently interacting in the smart car network, an adversary can form various fake identities using some cars’ reputation.
- False data injection attack: For making smart cars take wrong control decisions, an adversary injects false data wherein data integrity associated with the control system may get compromised.
- Tampering attack: Under this attack, an adversary uses the leakage of the private key or 51% vulnerability to tamper with the amounts, transactions, and other information in the ledger.
- Modification attack: This type of attack consists of modifying the blockchain operation, such as the consensus process.
- Hiding blocks attack: In this attack, only those transactions are displayed, which he holds a positive image and disguises those that have a negative reputation.
- Man-in-the-middle attack: Under this attack, an adversary exploits 51% vulnerability, or the private key leakage and identities of two parties are spoofed in the network of a smart car then modify the transmitted data.
3.2. Scenario of Proposed Blockchain Platform
3.3. PetroBlock System Architecture
3.4. PetroBlock Network Structure
3.5. Workflow for Channel Creation and Setting Chaincode in Proposed Blockchain Network
4. PetroBlock Implementation
4.1. Development Environment
4.2. Business Model
4.3. Smart Contract Modeling
4.4. Distributed Ledger Storage Structure
4.5. Execution Results
5. Performance Evaluation
5.1. Simulation Results
5.2. Security Analysis
- Key attack: PetroBlock uses elliptic curve encryption to generate the key pair, and the attacker cannot compute the private key as solving the elliptic curve logarithm problem is difficult which ensures the key security. In addition, a different temporary private key is generated for each session agreement between nodes. In this way, the leakage of one private key will not affect: (a) during the session, the attacker cannot compute a session key of an already established session between two nodes, and (b) after the session is terminated, the leaked private key becomes useless.
- Replay attack: PetroBlock employs a separate temporary private key for each session agreement between nodes. As private keys have bounded lifetime, the replay attack cannot succeed and can be easily detected.
- Impersonation attack: This attack could only be successful if the attack can obtain the private key. As PetroBlock uses elliptic curve encryption and a separate temporary private key for each session agreement, this attack cannot succeed.
- Sybil attack: There are various ways to mitigate the effect of Sybil attack on PetroBlock: (a) raise the cost of creating a new identity. This resource requirement limits the number of attackers that attempt to create fake identities, (b) adoption of two-factor authentication mechanism, or (c) collecting the I.P. and MAC addresses of participants, which allows detecting those who have different identities that map to the same address.
- False data injection attack: In blockchains, consensus algorithms are executed before validating the records. Each node can verify the integrity of the received record when a positive consensus is reached.
- Tampering attack: Public key cryptosystem is used to encrypt and sign the transactions. This means that a tampering node cannot tamper with the transaction as it does not have the private key of the signer node. In addition, as shown above, PetroBlock is resilient against key attacks, and hence, the private key cannot be exploited by adversaries.
- Modification attack: As shown above, this attack is not possible as adversaries cannot exploit the private keys.
- Hiding blocks attack: In PetroBlock, each record has its sequence number. The requested vehicles must provide their records in case others request them. If any node refuses to provide records, it will be isolated, and no one will interact with others.
- Man-in-the-middle attack: PetroBlock ensures mutual authentication among nodes, as it uses temporary private keys for each session agreement, and hence it can prevent man-in-the-middle attacks.
6. Comparison and Significance
7. Conclusions
Author Contributions
Funding
Acknowledgments
Conflicts of Interest
References
- Evans, D. The internet of things: How the next evolution of the internet is changing everything. CISCO White Paper 2011, 1, 1–11. [Google Scholar]
- Jamil, F.; Iqbal, M.A.; Amin, R.; Kim, D. Adaptive thermal-aware routing protocol for wireless body area network. Electronics 2019, 8, 47. [Google Scholar] [CrossRef] [Green Version]
- Hanada, Y.; Hsiao, L.; Levis, P. Smart Contracts for Machine-to-Machine Communication: Possibilities and Limitations. In Proceedings of the 2018 IEEE International Conference on Internet of Things and Intelligence System (IOTAIS), Bali, Indonesia, 1–3 November 2018; IEEE: New York, NY, USA, 2018; pp. 130–136. [Google Scholar]
- Jing, Q.; Vasilakos, A.V.; Wan, J.; Lu, J.; Qiu, D. Security of the Internet of Things: Perspectives and challenges. Wirel. Netw. 2014, 20, 2481–2501. [Google Scholar] [CrossRef]
- Maroufi, M.; Abdolee, R.; Tazekand, B.M. On the Convergence of Blockchain and Internet of Things (IoT) Technologies. arXiv 2019, arXiv:1904.01936. [Google Scholar]
- Nguyen, Q.K. Blockchain—A financial technology for future sustainable development. In Proceedings of the 2016 3rd International Conference on Green Technology and Sustainable Development (GTSD), Kaohsiung, Taiwan, 24–25 November 2016; IEEE: New York, NY, USA, 2016; pp. 51–54. [Google Scholar]
- Zhaoyang, D.; Fengji, L.; Liang, G. Blockchain: A secure, decentralized, trusted cyber infrastructure solution for future energy systems. J. Mod. Power Syst. Clean Energy 2018, 6, 958–967. [Google Scholar]
- Cachin, C. Architecture of the hyperledger blockchain fabric. In Workshop on Distributed Cryptocurrencies and Consensus Ledgers; IBM: Ruschlikon, Switzerland, 2016; Volume 310. [Google Scholar]
- Androulaki, E.; Barger, A.; Bortnikov, V.; Cachin, C.; Christidis, K.; De Caro, A.; Enyeart, D.; Ferris, C.; Laventman, G.; Manevich, Y.; et al. Hyperledger fabric: A distributed operating system for permissioned blockchains. In Proceedings of the Thirteenth EuroSys Porto Portugal April, 2018; ACM: New York, NY, USA, 2018; p. 30. [Google Scholar]
- Thakkar, P.; Nathan, S.; Viswanathan, B. Performance benchmarking and optimizing hyperledger fabric blockchain platform. In Proceedings of the 2018 IEEE 26th International Symposium on Modeling, Analysis, and Simulation of Computer and Telecommunication Systems (MASCOTS), Milwaukee, WI, USA, 25–28 September 2018; IEEE: New York, NY, USA, 2018; pp. 264–276. [Google Scholar]
- Nasir, Q.; Qasse, I.A.; Abu Talib, M.; Nassif, A.B. Performance analysis of hyperledger fabric platforms. Secur. Commun. Netw. 2018, 2018, 3976093. [Google Scholar] [CrossRef] [Green Version]
- Baliga, A.; Solanki, N.; Verekar, S.; Pednekar, A.; Kamat, P.; Chatterjee, S. Performance Characterization of Hyperledger Fabric. In Proceedings of the 2018 Crypto Valley Conference on Blockchain Technology (CVCBT), Zug, Switzerland, 20–22 June 2018; IEEE: New York, NY, USA, 2018; pp. 65–74. [Google Scholar]
- Sukhwani, H.; Wang, N.; Trivedi, K.S.; Rindos, A. Performance Modeling of Hyperledger Fabric (Permissioned Blockchain Network). In Proceedings of the 2018 IEEE 17th International Symposium on Network Computing and Applications (NCA), Cambridge, MA, USA, 1–3 November 2018; IEEE: New York, NY, USA, 2018; pp. 1–8. [Google Scholar]
- Jamil, F.; Hang, L.; Kim, K.; Kim, D. A novel medical blockchain model for drug supply chain integrity management in a smart hospital. Electronics 2019, 8, 505. [Google Scholar] [CrossRef] [Green Version]
- Jamil, F.; Iqbal, N.; Ahmad, S.; Kim, D. Peer-to-Peer Energy Trading Mechanism based on Blockchain and Machine Learning for Sustainable Electrical Power Supply in Smart Grid. IEEE Access 2021, 9, 39193–39217. [Google Scholar] [CrossRef]
- Jamil, F.; Kahng, H.K.; Kim, S.; Kim, D.H. Towards Secure Fitness Framework Based on IoT-Enabled Blockchain Network Integrated with Machine Learning Algorithms. Sensors 2021, 21, 1640. [Google Scholar] [CrossRef]
- Shahbazi, Z.; Byun, Y.C. Towards a secure thermal-energy aware routing protocol in Wireless Body Area Network based on blockchain technology. Sensors 2020, 20, 3604. [Google Scholar] [CrossRef]
- Shahbazi, Z.; Byun, Y.C. Integration of Blockchain, IoT and Machine Learning for Multistage Quality Control and Enhancing Security in Smart Manufacturing. Sensors 2021, 21, 1467. [Google Scholar] [CrossRef] [PubMed]
- Shahbazi, Z.; Byun, Y.C. Improving Transactional Data System Based on an Edge Computing–Blockchain–Machine Learning Integrated Framework. Processes 2021, 9, 92. [Google Scholar] [CrossRef]
- Shahbazi, Z.; Byun, Y.C. A Procedure for Tracing Supply Chains for Perishable Food Based on Blockchain, Machine Learning and Fuzzy Logic. Electronics 2021, 10, 41. [Google Scholar] [CrossRef]
- Jamil, F.; Ahmad, S.; Iqbal, N.; Kim, D.H. Towards a remote monitoring of patient vital signs based on IoT-based blockchain integrity management platforms in smart hospitals. Sensors 2020, 20, 2195. [Google Scholar] [CrossRef] [Green Version]
- Jamil, F.; Kim, D. Payment Mechanism for Electronic Charging using Blockchain in Smart Vehicle. Korea 2019, 30, 31. [Google Scholar]
- Iqbal, N.; Jamil, F.; Ahmad, S.; Kim, D. A Novel Blockchain-Based Integrity and Reliable Veterinary Clinic Information Management System Using Predictive Analytics for Provisioning of Quality Health Services. IEEE Access 2021, 9, 8069–8098. [Google Scholar] [CrossRef]
- Knirsch, F.; Unterweger, A.; Engel, D. Privacy-preserving blockchain-based electric vehicle charging with dynamic tariff decisions. Comput. Sci. Res. Dev. 2018, 33, 71–79. [Google Scholar] [CrossRef] [Green Version]
- Ginsburgh, I.; Runes, E. Automatic Fueling System for Automobiles. U.S. Patent 3,642,036, 30 April 1972. [Google Scholar]
- Jamil, F.; Kim, D.H. Improving Accuracy of the Alpha–Beta Filter Algorithm Using an ANN-Based Learning Mechanism in Indoor Navigation System. Sensors 2019, 19, 3946. [Google Scholar] [CrossRef] [Green Version]
- Pustišek, M.; Kos, A.; Sedlar, U. Blockchain based autonomous selection of electric vehicle charging station. In Proceedings of the 2016 international conference on identification, information and knowledge in the Internet of Things (IIKI), Beijing, China, 20–21 October 2016; IEEE: New York, NY, USA, 2016; pp. 217–222. [Google Scholar]
- Huckle, S.; Bhattacharya, R.; White, M.; Beloff, N. Internet of things, blockchain and shared economy applications. Procedia Comput. Sci. 2016, 98, 461–466. [Google Scholar] [CrossRef] [Green Version]
- Pedrosa, A.R.; Pau, G. ChargeltUp: On blockchain-based technologies for autonomous vehicles. In Proceedings of the 1st Workshop on Cryptocurrencies and Blockchains for Distributed Systems; ACM: New York, NY, USA, 2018; pp. 87–92. [Google Scholar]
- Liu, C.; Chai, K.K.; Zhang, X.; Lau, E.T.; Chen, Y. Adaptive blockchain-based electric vehicle participation scheme in smart grid platform. IEEE Access 2018, 6, 25657–25665. [Google Scholar] [CrossRef]
- Kim, N.H.; Kang, S.M.; Hong, C.S. Mobile charger billing system using lightweight Blockchain. In Proceedings of the 2017 19th Asia-Pacific Network Operations and Management Symposium (APNOMS), Seoul, Korea, 27–29 September 2017; IEEE: New York, NY, USA, 2017; pp. 374–377. [Google Scholar]
- Ferrag, M.A.; Derdour, M.; Mukherjee, M.; Derhab, A.; Maglaras, L.; Janicke, H. Blockchain technologies for the internet of things: Research issues and challenges. IEEE Internet Things J. 2019, 6, 2188–2204. [Google Scholar] [CrossRef] [Green Version]
- Huang, X.; Xu, C.; Wang, P.; Liu, H. LNSC: A security model for electric vehicle and charging pile management based on blockchain ecosystem. IEEE Access 2018, 6, 13565–13574. [Google Scholar] [CrossRef]
- Kuo, T.T.; Kim, H.E.; Ohno-Machado, L. Blockchain distributed ledger technologies for biomedical and health care applications. J. Am. Med. Informatics Assoc. 2017, 24, 1211–1220. [Google Scholar] [CrossRef] [PubMed] [Green Version]
- Otte, P.; de Vos, M.; Pouwelse, J. TrustChain: A Sybil-resistant scalable blockchain. Future Gener. Comput. Syst. 2020, 107, 770–780. [Google Scholar] [CrossRef]
- Lin, J.; Shen, Z.; Miao, C. Using blockchain technology to build trust in sharing LoRaWAN IoT. In Proceedings of the 2nd International Conference on Crowd Science and Engineering, Beijing, China, 6–7 July 2017; pp. 38–43. [Google Scholar]
- Özyılmaz, K.R.; Yurdakul, A. Work-in-progress: Integrating low-power IoT devices to a blockchain-based infrastructure. In Proceedings of the 2017 International Conference on Embedded Software (EMSOFT), Seoul, Korea, 15–20 October 2017; IEEE: New York, NY, USA, 2017; pp. 1–2. [Google Scholar]
- Huh, S.; Cho, S.; Kim, S. Managing IoT devices using blockchain platform. In Proceedings of the 2017 19th international conference on advanced communication technology (ICACT), PyeongChang, Korea, 19–22 February 2017; IEEE: New York, NY, USA, 2017; pp. 464–467. [Google Scholar]
- Dorri, A.; Kanhere, S.S.; Jurdak, R. Towards an optimized blockchain for IoT. In Proceedings of the 2017 IEEE/ACM Second International Conference on Internet-of-Things Design and Implementation (IoTDI), Pittsburgh, PA, USA, 18–21 April 2017; IEEE: New York, NY, USA, 2017; pp. 173–178. [Google Scholar]
- Ouaddah, A.; Abou Elkalam, A.; Ait Ouahman, A. FairAccess: A new Blockchain-based access control framework for the Internet of Things. Secur. Commun. Netw. 2016, 9, 5943–5964. [Google Scholar] [CrossRef]
- Yu, C.; Zhang, L.; Zhao, W.; Zhang, S. A blockchain-based service composition architecture in cloud manufacturing. Int. J. Comput. Integr. Manuf. 2020, 33, 701–715. [Google Scholar] [CrossRef]
Tools | Description |
---|---|
Hyperledger Fabric | v1.2 |
Docker Engine | Version 18.06.1-ce |
Docker Composer | 1.13.0 |
IDE | Composer-playground |
CLI | Composer-rest-server |
Operating System | Ubuntu Linux 18.04.1 LTS |
Programming Language | HTML, CSS, JavaScript,Node.js |
Browser | Microsoft Edge, Google Chrome, Firefox |
External Libraries | jQuery, Bootstrap |
Resource | Verb | Action |
---|---|---|
/api/CarUser | POST,GET,PUT,DELETE | Smart Car User Management |
/api/PumpManager | POST,GET,PUT,DELETE | Smart Pump Management |
/api/PumpMoneyPool | POST,GET,PUT,DELETE | Pump Money Pool Management |
/api/PayFuelBill | POST | Pay Fuel Bill to Pump |
/api/Bills | POST,GET,PUT,DELETE | Fuel Bill Management |
/api/SmartCar | POST,GET,PUT,DELETE | Smart Car Management |
/api/PaymentRecord | GET,POST,PUT,DELETE | Payment Record Management |
/api/ShareFuelBill | POST | Share Fuel Bill with Car User |
/api/UpdateCarFuel | POST | Update Smart Car |
/api/UpdateFuelPrice | POST | Fuel Management |
/api/UpdatePumpFuelStorage | POST | Pump Management |
/api/UpdateFuelPaymentInformation | POST | Bill Management |
Component | Type | Role |
---|---|---|
Update Fuel Payment Information | Transaction | Update fuel payment Information (e.g., price, date, car_no) |
Update Pump Fuel Storage | Transaction | Update fuel storage information (e.g., currentFuel, remainingFuel) |
Update Fuel Price | Transaction | Update fuel Price |
Update Car Fuel | Transaction | Update car fuel tank level after refueling |
Share Fuel Bill | Transaction | Grant access permission |
Share Fuel Bill | Transaction | Grant access permission |
Pay Fuel Bill | Transaction | Pay fuel bill after refueling |
Update Fuel Payment Information Notification | Event | Notified that the payment information has been modified |
Update Pump Fuel Storage Notification | Event | Fuel level notification has been sent to pump manager if fuel drop or increased from required level |
Update Fuel Price Notification | Event | Price notification has been sent to car user |
Update Car Fuel Notification | Event | Notification has been sent to car user after refueling |
Share Fuel Bill Notification | Event | Notified that the specific record permission has been successfully granted to car user |
Pay Fuel Bill Notification | Event | Notification has be sent after paying refueling bill |
Component | Description |
---|---|
Docker Engine | Version 18.06 -ce |
CLI Tool | Node-gyp |
Docker-Composer | Version 1.130 |
Node | v8.11.4 |
Type | Name | CPU (max) | CPU (avg) | Memory (max) | Memory (avg) | Traffic In | Traffic Out |
---|---|---|---|---|---|---|---|
Process | local-client.js | 14.64% | 8.76% | 105.2 MB | 90.5 MB | - | - |
Docker | peer1.pump1.com | 12.44% | 5.59% | 106.6 MB | 98.5 MB | 1 MB | 421.3 KB |
Docker | peer0.pump2.com | 17.09% | 6.24% | 105.7 MB | 96.7 MB | 1.6 MB | 666.7 KB |
Docker | peer0.pump1.com | 15.02% | 4.56% | 89.5 MB | 82.3 MB | 697 KB | 287.6 KB |
Docker | peer1.pump2.com | 0.00% | 6.54% | 112.8 MB | 105.8 MB | 819 B | 0 B |
Docker | orderer.com | 14.95% | 6.75% | 93.6 MB | 88.7 MB | 5 MB | 5.6 MB |
Docker | ca_nodeDepartment1 | 0.00% | 0.00% | 5.5 MB | 5.5 MB | 546 B | 0 B |
Docker | ca_nodeDepartment2 | 0.00% | 0.00% | 0 B | 0 B | 0 B | - |
Approach | Native Cryptocurrency | Client Supported | Required Mining | Smart Contract | Device as Node | Access Policy | Consensus Mechanism |
---|---|---|---|---|---|---|---|
[36] | ✓ | ✓ | ✓ | ✗ | ✓ | Permissionless | Every Nodes |
[37] | ✓ | ✗ | ✓ | ✓ | ✗ | Permissionless | Every Nodes |
[38] | ✓ | ✓ | ✓ | ✓ | ✓ | Permissionless | Every Nodes |
[39] | ✗ | ✓ | ✗ | ✓ | ✗ | Permissionless/ Permissioned | Arbitrary Nodes |
[40] | ✓ | ✓ | ✓ | ✓ | ✓ | Permissionless | Every Nodes |
[41] | ✓ | ✓ | ✓ | ✓ | ✓ | Permissionless | Every Nodes |
PetroBlock Framework | ✗ | ✓ | ✗ | ✓ | ✗ | Permissioned | Arbitrary Nodes |
Publisher’s Note: MDPI stays neutral with regard to jurisdictional claims in published maps and institutional affiliations. |
© 2021 by the authors. Licensee MDPI, Basel, Switzerland. This article is an open access article distributed under the terms and conditions of the Creative Commons Attribution (CC BY) license (http://creativecommons.org/licenses/by/4.0/).
Share and Cite
Jamil, F.; Cheikhrouhou, O.; Jamil, H.; Koubaa, A.; Derhab, A.; Ferrag, M.A. PetroBlock: A Blockchain-Based Payment Mechanism for Fueling Smart Vehicles. Appl. Sci. 2021, 11, 3055. https://doi.org/10.3390/app11073055
Jamil F, Cheikhrouhou O, Jamil H, Koubaa A, Derhab A, Ferrag MA. PetroBlock: A Blockchain-Based Payment Mechanism for Fueling Smart Vehicles. Applied Sciences. 2021; 11(7):3055. https://doi.org/10.3390/app11073055
Chicago/Turabian StyleJamil, Faisal, Omar Cheikhrouhou, Harun Jamil, Anis Koubaa, Abdelouahid Derhab, and Mohamed Amine Ferrag. 2021. "PetroBlock: A Blockchain-Based Payment Mechanism for Fueling Smart Vehicles" Applied Sciences 11, no. 7: 3055. https://doi.org/10.3390/app11073055
APA StyleJamil, F., Cheikhrouhou, O., Jamil, H., Koubaa, A., Derhab, A., & Ferrag, M. A. (2021). PetroBlock: A Blockchain-Based Payment Mechanism for Fueling Smart Vehicles. Applied Sciences, 11(7), 3055. https://doi.org/10.3390/app11073055