SmartDED: A Blockchain- and Smart Contract-Based Digital Electronic Detonator Safety Supervision System
Abstract
:1. Introduction
- To the best of our knowledge, this is the first work on a DED supervision system to achieve traceability and verification on the blockchain network using blockchain and smart contracts.
- We propose a novel DED supervision model, together with three codes in one and the algorithms that can regulate the whole process of DED circulation.
- We designed a blockchain- and smart contract-based DED supervision system that instantiates the supervision model. We used a blockchain to store the circulation of the DED in the supply chain. During the circulation process, the smart contracts can be used to verify that the DED data on the blockchain are consistent with the received DED information.
- We leveraged a consortium blockchain platform, i.e., FISCO BCOS, to implement the DED system for supervision. We conducted empirical studies to validate the performance of the supervision system.
2. Related Work
2.1. Blockchain for Supply Chain Management
2.2. Explosives Management System
3. Blockchain-Based DED Supervision Model and Architecture
3.1. DED Supervision Model
3.2. System Architecture
4. The Design of Smart Contracts
4.1. Product Contract
Algorithm 1 Submit a detonator production |
Input: MAU identity number , name, amount, batch number, raw materials, and suppliers |
Output: |
1: if (identity management passes) then 2: create table T; 3: create entry object e; 4: ; 5: ; 6: ; 7: ; 8: ; 9: ; 10: ; 11: ; 12: ; 13: end if 14: return ; |
4.2. Order Contract
Algorithm 2 Submit a purchase order |
Input: MAU identity number |
Output: |
1: if (identity management passes) then 2: create table object T; 3: create entry object e; 4: create condition object condition; 5: ; 6: ; 7: ; 8: end if 9: return ; |
4.3. Transport Contract
Algorithm 3 Submit an environment data hash |
Input: , , |
Output: |
1: if (identity management passes) then 2: create table object T; 3: create entry object e; 4: create condition object condition; 5: e.set("transport_data",transport_data); 6: ; 7: ; 8: ; 9: end if 10: return ; |
4.4. Regulation Contract
Algorithm 4 Query circulating information (SAE to BAE, circulationtable) |
Input: MAU number , order number , batch number , |
Output: DED circulation data |
1: create new object SAE; 2: create new object BAE; 3: ; 4: append(circulation,SAE[consignee_no]); 5: while do 6: ; 7: append(circulation,BAE[consignee_no]); 8: end while 9: return ; |
4.5. Blasting Contract
Algorithm 5 Submit blasting information |
Input: BAE_no, UID, latitude,longitude |
Output: |
1: if (identity management pass) then 2: create table T; 3: create entry object e; 4: ; 5: ; 6: ; 7: ; 8: ; 9: ; 10: end if 11: return ; |
5. System Simulation
5.1. Experimental Settings
5.2. Performance Metrics
5.3. Results
- Gap consumption: We examined the gas consumption for the smart contracts including both contract deployment, as well as contract calling. Every contract includes two functions. For example, the product contract corresponds to the function of pro_submit, and pro_process.pro_submit means that the MAUs submit production data to the supervision organization. pro_process means that the supervision organization processes the productapplication. We set the number of blockchain nodes to 40, 45, 50, 55, 60, 65 and 70, respectively. The results of varying the total number of blockchain nodes are shown in Figure 3. We introduced a logarithmic overhead to the gas consumption. Clearly, the gas consumption is small, and the gas consumption does not increase with the expansion of nodes. This is because the gasLimit was introduced to prevent a smart contract from consuming too many computational resources, and hence, we can take the gas consumption as a metric of system performance.
- Communication:We measured the communication cost of invoking smart contracts corresponding to different numbers of nodes. Table 10 shows the communication cost in detail. It includes five aspects, which record the communication cost of every functional contract corresponding to the functions. It costs no more than 400 bytes when invoking smart contract functions. Note that the network bandwidth has been commonly measured as faster than 20 Mb/s (i.e., bytes per second) in the network. Therefore, it is reasonably acceptable for practical use in terms of communication cost.
- Computation: To examine the computational cost to pack transactions, we varied the transaction pool from 1000 to 20,000. Table 11 shows the result of varying the transaction pools. It costs less than 1 s with the setting of the 20,000 transactions. The computational cost increases linearly with increasing transactions. With the default setting of one second of block generation time, the highest number of processed transactions is about 30,000, which is not the upper bound of the supervision system. This is because the transaction packing time is dominated by the machine’s performance and the algorithm’s computation approach.
6. Conclusions
Author Contributions
Funding
Data Availability Statement
Conflicts of Interest
References
- Roy, J.A.; Koushanfar, F.; Markov, I.L. EPIC: Ending piracy of integrated circuits. In Proceedings of the Conference on Design, Automation and Test in Europe, Munich, Germany, 10–14 March 2008; pp. 1069–1074. [Google Scholar]
- Xu, X.; Rahman, F.; Shakya, B.; Vassilev, A.; Forte, D.; Tehranipoor, M. Electronics supply chain integrity enabled by blockchain. ACM Trans. Des. Autom. Electron. Syst. (TODAES) 2019, 24, 1–25. [Google Scholar] [CrossRef] [PubMed]
- Jadon, S.; Rao, A.; Jagadish, N.; Nadakatti, S.; Thanushree, R.; Honnavalli, P.B. Blockchain in the electronics industry for supply chain management: A survey. IEEE Access 2024, 12, 7089–7120. [Google Scholar] [CrossRef]
- Cao, Y.; Jia, F.; Manogaran, G. Efficient traceability systems of steel products using blockchain-based industrial Internet of Things. IEEE Trans. Ind. Inform. 2019, 16, 6004–6012. [Google Scholar] [CrossRef]
- Agrawal, T.K.; Kumar, V.; Pal, R.; Wang, L.; Chen, Y. Blockchain-based framework for supply chain traceability: A case example of textile and clothing industry. Comput. Ind. Eng. 2021, 154, 107130. [Google Scholar] [CrossRef]
- Omar, I.A.; Debe, M.; Jayaraman, R.; Salah, K.; Omar, M.; Arshad, J. Blockchain-based supply chain traceability for COVID-19 personal protective equipment. Comput. Ind. Eng. 2022, 167, 107995. [Google Scholar] [CrossRef] [PubMed]
- Zoughalian, K.; Marchang, J.; Ghita, B. A blockchain secured pharmaceutical distribution system to fight counterfeiting. Int. J. Environ. Res. Public Health 2022, 19, 4091. [Google Scholar] [CrossRef] [PubMed]
- Mishra, P.; Bolic, M.; Yagoub, M.C.; Stewart, R.F. RFID technology for tracking and tracing explosives and detonators in mining services applications. J. Appl. Geophys. 2012, 76, 33–43. [Google Scholar] [CrossRef]
- Malik, S.; Kanhere, S.S.; Jurdak, R. Productchain: Scalable blockchain framework to support provenance in supply chains. In Proceedings of the 2018 IEEE 17th International Symposium on Network Computing and Applications (NCA), Cambridge, MA, USA, 1–3 November 2018; pp. 1–10. [Google Scholar]
- Abeyratne, S.A.; Monfared, R.P. Blockchain ready manufacturing supply chain using distributed ldedger. Int. J. Res. Eng. Technol. 2016, 5, 1–10. [Google Scholar]
- Liu, Y.; Zhou, Z.; Yang, Y.; Ma, Y. Verifying the smart contracts of the port supply chain system based on probabilistic model checking. Systems 2022, 10, 19. [Google Scholar] [CrossRef]
- Zhang, X.; Sun, Y.; Sun, Y. Research on cold chain logistics traceability system of fresh agricultural products based on blockchain. Comput. Intell. Neurosci. 2022, 2022, 1957957. [Google Scholar] [CrossRef]
- Rajput, S.; Jadhav, A.; Gadge, J.; Tilani, D.; Dalgade, V. Agricultural Food supply chain Traceability using Blockchain. In Proceedings of the 2023 4th International Conference on Innovative Trends in Information Technology (ICITIIT), Kottayam, India, 11–12 February 2023; pp. 1–6. [Google Scholar]
- Li, J.; Zhu, S.; Zhang, W.; Yu, L. Blockchain-driven supply chain finance solution for small and medium enterprises. Front. Eng. Manag. 2020, 7, 500–511. [Google Scholar] [CrossRef]
- Haque, B.; Hasan, R.; Zihad, O.M. SmartOil: Blockchain and smart contract-based oil supply chain management. IET Blockchain 2021, 1, 95–104. [Google Scholar] [CrossRef]
- Maity, M.; Tolooie, A.; Sinha, A.K.; Tiwari, M.K. Stochastic batch dispersion model to optimize traceability and enhance transparency using Blockchain. Comput. Ind. Eng. 2021, 154, 107134. [Google Scholar] [CrossRef]
- Weber, I.; Xu, X.; Riveret, R.; Governatori, G.; Ponomarev, A.; Mendling, J. Untrusted Business Process Monitoring and Execution Using Blockchain. In Business Process Management; BPM 2016. Lecture Notes in Computer Science; Springer: Cham, Switzerland, 2016; Volume 9850. [Google Scholar]
- Veerasamy, V.; Hu, Z.; Qiu, H.; Murshid, S.; Gooi, H.B.; Nguyen, H.D. Blockchain-enabled peer-to-peer energy trading and resilient control of microgrids. Appl. Energy 2023, 353, 122107. [Google Scholar] [CrossRef]
- Chen, L.; Lee, W.K.; Chang, C.C.; Choo, K.K.R.; Zhang, N. Blockchain based searchable encryption for electronic health record sharing. Future Gener. Comput. Syst. 2019, 95, 420–429. [Google Scholar] [CrossRef]
- Zhuang, C.; Dai, Q.; Zhang, Y. BCPPT: A blockchain-based privacy-preserving and traceability identity management scheme for intellectual property. Peer-to-Peer Netw. Appl. 2022, 15, 724–738. [Google Scholar] [CrossRef]
- Ismail, S.; Reza, H.; Salameh, K.; Kashani Zadeh, H.; Vasefi, F. Toward an Intelligent Blockchain IoT-Enabled Fish Supply Chain: A Review and Conceptual Framework. Sensors 2023, 23, 5136. [Google Scholar] [CrossRef]
- Dos Santos, R.B.; Torrisi, N.M.; Pantoni, R.P. Third party certification of agri-food supply chain using smart contracts and blockchain tokens. Sensors 2021, 21, 5307. [Google Scholar] [CrossRef]
- Wu, H.; Li, H.; Luo, X.; Jiang, S. Blockchain-Based On-Site Activity Management for Smart Construction Process Quality Traceability. IEEE Internet Things J. 2023, 10, 21554–21565. [Google Scholar] [CrossRef]
- Liu, C.; Li, Y.D.; Ji, S.W. Application of the internet of things technology in explosive dangerous goods transport. Appl. Mech. Mater. 2012, 178, 1725–1728. [Google Scholar] [CrossRef]
- Qin, X.; Ying, W. Design of explosive production information and managing system based on Internet of Things. In Proceedings of the 2015 International Conference on Control, Automation and Robotics, Singapore, 20–22 May 2015; pp. 173–176. [Google Scholar]
- Zhang, H.; Li, B.; Karimi, M.; Saydam, S.; Hassan, M. Recent advancements in IoT implementation for environmental, safety, and production monitoring in underground mines. IEEE Internet Things J. 2023, 10, 14507–14526. [Google Scholar] [CrossRef]
- FISCO BCOS. The Building Block of Open Consortium Chain. 2021. Available online: http://fisco-bcos.org (accessed on 6 May 2023).
Pro_No. | DED_Batch | Name | Amount | Time | State | Hash_Data | Identify_Code |
---|---|---|---|---|---|---|---|
010001 | 521,894 | HHH | 0 × 3971… | 180,000 | 2023-6-1 15:43 | 1 | 300,000,000 |
010002 | 134,241 | HHC | 0 × 8456… | 240,000 | 2023-6-1 16:45 | 1 | 300,000,000 |
… | … | … | … | … | … | … |
Notation | Description |
---|---|
Pro_no | MAU identity number |
DED_batch | DED batch number |
DED_name | DED name |
Time | The time of submitting the operation such as production, purchase, and so on |
State | The status value is initially set to 0. It is set to 1 if the supervisor approves and −1 if it is refused. |
identify_code | Identification code converted from the work code |
SAE_no | SAE identity |
Order_no | Order identification number |
BAE_no | BAE identity number |
LE_no | Logistic enterprise number |
Shipper_no | Shipper identity number |
consignee_no | Consignee identity number |
UID | The identity of the DED |
latitude | The location of DED initiation |
longitude | The location of DED initiation |
Function | Description |
---|---|
manufacturercheck | query the provider number in the identity management contract to verify if the caller’s account address matches the address recorded in the table |
DED_submit | apply and submit the data |
DED_process | query the provider number in the identity management contract to verify whether the caller’s account address matches the address stored in Table 1 |
order_submission | used by the SAE to submit order requests to the MAU |
order_process | used by the manufacturer to process orders and modify the status value of the Table 4 |
order_select | used to query order data according to pro_no and order_no |
transport_process | used by the MAU to process orders and change the status field in the Table 5 |
circulation_table_BAE_insert | used to insert circulation data in Table 6 |
circulation_table_SAE_insert | used to insert circulation data in Table 7 |
trace_select | used to query DED circulation data according to the label number |
hash_submit | used to submit the hash value of environmental data |
transport_select | used to query order information according to the manufacturer number and order number |
blasting_submit | used by the BAE to submit blasting requests to the SAE |
blasting_process | used to process blasting record and modify the status value of Table 8 |
Pro_No. | Batch | Amount | Name | Time | State | Hash_Data | SAE_No. | Order_No. |
---|---|---|---|---|---|---|---|---|
010001 | 521,894 | 180,000 | HHC | 2023-7-2 15:43 | 1 | 0 × 3971… | 020002 | 000245 |
010002 | 134,241 | 240,000 | HHH | 2023-7-2 16:45 | 1 | 0 × 8456… | 020002 | 000246 |
… | … | … | … | … | … | … | … |
LE_No. | Shipper_No. | Consignee_No. | Time | State | Hash_Data | Order_No. |
---|---|---|---|---|---|---|
040002 | 010001 | 020003 | 2023-7-3 17:03 | 1 | 0 × 3971… | 00001664 |
040002 | 020001 | 020003 | 2023-7-3 18:12 | 1 | 0 × 8456… | 00001665 |
… | … | … | … | … | … | … |
Pro_No. | Batch | SAE_No. | BAE_No. | Time | State | Identify_Code |
---|---|---|---|---|---|---|
010001 | 521,894 | 020002 | 025001 | 2023-7-3 14:03 | 1 | 30,000,000 |
010002 | 134,241 | 020002 | 025002 | 2023-7-3 15:12 | 1 | 30,000,000 |
… | … | … | … | … | … | … |
Pro_No. | DEDBatch | Shipper_No. | Consignee_No. | Time | State | Identify_Code |
---|---|---|---|---|---|---|
010001 | 521,894 | 02002 | 025001 | 2023-7-3 14:05 | 1 | 30,000,000 |
010002 | 134,241 | 02002 | 025002 | 2023-7-3 15:25 | 1 | 30,000,000 |
… | … | … | … | … | … | … |
BAE_No. | UID | Longitude | Latitude | Time | State |
---|---|---|---|---|---|
030002 | 010001 | 40.2583 | 116.2933 | 2023-7-4 13:06 | 1 |
030002 | 020001 | 30.2345 | 90.2357 | 2023-7-4 15:25 | 1 |
… | … | … | … | … | … |
Object Size | Numbers of Nodes | Channel Listen Port | Node Port | Gas Limit (WEI) | Block Generate (s) | |||
---|---|---|---|---|---|---|---|---|
MAU | SAE | LE | BAE | |||||
8 | 8 | 8 | 40 | 127.0.0.1 | 20,200 | 30,300–30,330 | 1 |
Contract | Function | Communication (byte) |
---|---|---|
Product Contract | pro_submit | 365 |
pro_process | 236 | |
Order Contract | order_submit | 338 |
order_process | 237 | |
Transport Contract | transport_submit | 357 |
transport_process | 224 | |
Regulation Contract | circulation_table_BAE_insert | 391 |
circulation_table_SAE_insert | 385 | |
Blasting contract | blasting_submit | 378 |
blasting_process | 249 |
Threshold | Product Contract | Order Contract | Transport Contract | Regulation Contract | Blasting Contract |
---|---|---|---|---|---|
1000 | 145 | 156 | 167 | 201 | 198 |
2000 | 246 | 211 | 254 | 287 | 205 |
6000 | 376 | 317 | 314 | 365 | 345 |
10,000 | 476 | 423 | 418 | 426 | 435 |
20,000 | 854 | 876 | 852 | 837 | 820 |
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. |
© 2024 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 (https://creativecommons.org/licenses/by/4.0/).
Share and Cite
Liu, N.; Tsai, W.-T. SmartDED: A Blockchain- and Smart Contract-Based Digital Electronic Detonator Safety Supervision System. Future Internet 2024, 16, 171. https://doi.org/10.3390/fi16050171
Liu N, Tsai W-T. SmartDED: A Blockchain- and Smart Contract-Based Digital Electronic Detonator Safety Supervision System. Future Internet. 2024; 16(5):171. https://doi.org/10.3390/fi16050171
Chicago/Turabian StyleLiu, Na, and Wei-Tek Tsai. 2024. "SmartDED: A Blockchain- and Smart Contract-Based Digital Electronic Detonator Safety Supervision System" Future Internet 16, no. 5: 171. https://doi.org/10.3390/fi16050171
APA StyleLiu, N., & Tsai, W.-T. (2024). SmartDED: A Blockchain- and Smart Contract-Based Digital Electronic Detonator Safety Supervision System. Future Internet, 16(5), 171. https://doi.org/10.3390/fi16050171