Enhancing B2B supply chain traceability using smart contracts and IoT
Abstract
EconStor is a publication server for scholarly economic literature, provided as a non-commercial public service by the ZBW.
Full text
Ahmed, Mohamed; Taconet, Chantal; Ould, Mohamed; Chabridon, Sophie; Bouzeghoub, Amel Conference Paper Enhancing B2B supply chain traceability using smart contracts and IoT Provided in Cooperation with: Hamburg University of Technology (TUHH), Institute of Business Logistics and General Management Suggested Citation: Ahmed, Mohamed; Taconet, Chantal; Ould, Mohamed; Chabridon, Sophie; Bouzeghoub, Amel (2020) : Enhancing B2B supply chain traceability using smart contracts and IoT, In: Kersten, Wolfgang Blecker, Thorsten Ringle, Christian M. (Ed.): Data Science and Innovation in Supply Chain Management: How Data Transforms the Value Chain. Proceedings of the Hamburg International Conference of Logistics (HICL), Vol. 29, ISBN 978-3-7531-2346-2, epubli GmbH, Berlin, pp. 559-589, https://doi.org/10.15480/882.3110 This Version is available at: https://hdl.handle.net/10419/228933 Standard-Nutzungsbedingungen: Die Dokumente auf EconStor dürfen zu eigenen wissenschaftlichen Zwecken und zum Privatgebrauch gespeichert und kopiert werden. Sie dürfen die Dokumente nicht für öffentliche oder kommerzielle Zwecke vervielfältigen, öffentlich ausstellen, öffentlich zugänglich machen, vertreiben oder anderweitig nutzen. Sofern die Verfasser die Dokumente unter Open-Content-Lizenzen (insbesondere CC-Lizenzen) zur Verfügung gestellt haben sollten, gelten abweichend von diesen Nutzungsbedingungen die in der dort genannten Lizenz gewährten Nutzungsrechte. Terms of use: Documents in EconStor may be saved and copied for your personal and scholarly purposes. You are not to copy documents for public or commercial purposes, to exhibit the documents publicly, to make them publicly available on the internet, or to distribute or otherwise use the documents in public. If the documents have been made available under an Open Content Licence (especially Creative Commons Licences), you may exercise further usage rights as specified in the indicated licence. https://creativecommons.org/licenses/by-sa/4.0/
Published in: Data science and innovation in supply chain management Wolfgang Kersten, Thorsten Blecker and Christian M. Ringle (Eds.) ISBN: 978-3-753123-46-2 , September 2020,epubli Mohamed Ahmed, Chantal Taconet, Mohamed Ould, Sophie Chabridon, and Amel Bouzeghoub Enhancing B2B supply chain traceability using smart contracts and IoT Proceedings of the Hamburg International Conference of Logistics (HICL) –29 CC-BY-SA4.0
First received: 11. Mar 2020 Revised: 2. Jun 2020 Accepted: 12 Aug 2020 Enhancing B2B supply chain traceability using smart contracts and IoT Mohamed Ahmed 1, Chantal Taconet 2, Mohamed Ould 3, Sophie Chabridon 2, and Amel Bouzeghoub 2 1 – ALIS – Institut Polytechnique de Paris 2 – Institut Polytechnique de Paris 3 – ALIS Purpose: The management of B2B supply chains that involve many stakeholders requires traceability processes. Those processes need to be secured. Furthermore, quality traceability data has to be transparently shared among the stakeholders. In order to improve the traceability process, we propose to enhance blockchain based traceability architectures with the capability to detect and record well-qualified incidents. Methodology: To achieve this goal, we propose a generic smart contract for B2B traceability data management, including transport constraints such as temperature, delay and allowing automatic incident detection and recording. We propose an architecture where data are collected by connected objects and verified and qualified before being sent to the smart contract. This proposition has been validated with medical equipment transport use cases. Findings: As results, the proposed generic template contract can be used in various traceability use cases, well qualified incidents are transparently shared among stakeholders, and secured, qualified and verified traceability data can be used in case of claims or litigation and can facilitate also the automation of invoicing process. Originality: The originality of this work arises from the automated B2B traceability management system based on qualified IoT data, contractual milestones and process coded in a generic smart contract, and also from the fact that traceability related data and incidents are verified and qualified in order to increase the integrated data quality.
560 Mohamed Ahmed et al. 1 Introduction The collection and management of traceability data and the agreement on its management rules are today major challenges for the B2B supply chain. According to Van Dorp (2002), ISO defines the traceability as: "the ability to trace the history, application or location of an entity by means of recorded identification". Consequently, the traceability requires to store and share securely the data and the process related to an entity among all its stakeholders. The supply chain with all its stakeholders was among the firsts use cases of the blockchain technology outside the cryptocurrency’s domain, as this technology responds to the issues of securing data sharing between stakeholders. The usage of the blockchain in the supply chain helps to meet key supply chain management objectives such as cost, quality, speed, dependability, risk reduction, sustainability and flexibility as stated by Kshetri (2018). The emergence of the blockchain has facilitated the development of smart contracts. According to Szabo (1997), smart contract designates the hard coding of all contract clauses in a hardware or software in order to be executed automatically in a secured and distributed environment. In the end of 2013, Ethereum comes with an integrated framework for smart contract development Buterin (2014). Since, it has become a standard in blockchain implementations to integrate the support of smart contracts. Traceability solutions are proposed in many articles using the blockchain. However, many of these proposals stop at the first level of use of the blockchain, using it just as a storage medium, and thus, they do not take ad-
Enhancing B2B supply chain traceability using smart contracts and IoT 561 vantage from the automation possibilities offered by smart contracts to implement distributed, secure and reliable process of contractual milestones and incidents management. Additionally, many solutions of the state of the art propose to use premissionless blockchains in a private network (as in Lin et al. (2019), Westerkamp et al. (2018) and Hasan et al. (2019)), but these blockchains are not adapted to the B2B supply chain context. All stakeholders are well identified in the B2B supply chain and there is a certain level of trust established by contracts between them. The needs, in this specific context, are more to share securely and reliably data and processing rules among those stakeholders and manage different access levels to the shared data and process. The combination of the IoT with blockchain traceability-based systems provides those systems with auto collected and real time field data. In the state of the art, some works propose to set up blockchains at the level of the IoT network as in Hinckeldeyn & Jochen (2018), but the blockchain with its resources needs is not adapted to the IoT network level which is resource limited. Some other works propose to integrate in the blockchain raw data captured and transmitted by the various connected objects of the supply chain without any IoT data qualification process as in Hasan et al. (2019). Those above cited two propositions are not adequate, and there is a need to provide the blockchain traceability-based systems with only relevant IoT data without outlier or redundant data. Automation possibilities of smart contracts and the IoT auto data collection capabilities open new opportunities for enhancing the traceability with secured, transparent, reliable and shared rules and data. The traceability enhancing brings questions about incidents management. The incidents are elements of the daily life in the supply chain and the lack of secured and
562 Mohamed Ahmed et al. transparent process for their management affects seriously the data quality of traceability systems. The contributions of this work to enhance B2B supply chain traceability are the proposition of a generic smart contract to handle contractual milestones, IoT data, incidents creation and qualification rules. The genericity of the proposed smart contract means that it can be deployed across the majority of B2B supply chain contexts without needs for new development efforts. We propose also to use IoT data qualification servers to automatically qualify the IoT data, collected from connected objects or provided by the traceability process stakeholders, before its integration in the smart contract, in order to reduce the amount of data to be stored in the underlying blockchain. A stakeholder's confirmation process is also proposed in the smart contract for some elements such as incidents to confirm the stakeholder's involvement in those elements and their agreement on their related data. The rest of the paper is organized as follows: in Section 2 we study the works related to supply chain traceability using smart contracts and IoT. In Section 3 we present the architecture of the proposed B2B supply chain traceability solution. Section 4 presents an evaluation of the proposed solution. Finally, we conclude in Section 5 and present some future works.
Enhancing B2B supply chain traceability using smart contracts and IoT 563 2 Related works The usage of smart contract combined with IoT in the supply chain is a recent research trend, and several solutions have been proposed using those technologies. As state Rejeb et al. (2019), the combination of smart contracts and IoT could enhance the transparency, the confidence, the efficiency and the traceability of the supply chain. In this paper, we focus on the traceability enhancing and we analyze literature concerning the works that use smart contracts to tackle the supply chain traceability problem. We studied the related works according to five traceability enhancing requirements. Firstly, the usage of the IoT technology (R1) which is essential to accelerate and automate the field data collection and incidents detection. Secondly, the genericity (R2) of the proposed smart contract in term of logic and manipulated entities, such as milestones, transport conditions and incidents. This means that the proposed smart contract could be applied in another supply chain traceability context without needs for further development efforts. Thirdly, the usage of contractual milestones (R3) between stakeholders, which are essentials for B2B traceability. Fourthly, the integration of an IoT data qualification module (R4), which is necessary for submitting into the smart contract only relevant IoT data, and consequently alleviate the underlying blockchain data amount. Finally, the support of traceability incidents management (R5), for example the auto detection and qualification of non-compliance with contractual milestones dates or transport conditions, which are essentials for B2B supply chain traceability systems. Some of the related works try to resolve the supply chain traceability issues using only smart contracts without IoT as in Lin et al. (2019), Westerkampet
564 Mohamed Ahmed et al. al. (2018), Cui et al. (2019), Yong et al. (2020), Salah et al. (2019) and Helo & Hao (2019). Yong et al. (2020) proposed a traceability solution for the vaccine supply chain, allowing to detect vaccine expiration which is an incident related to the vaccine lifecycle management rather than the supply chain process. Chang et al. (2019) tried to reengineer theoretically the tracking process and proposed to introduce control points for B2B scenarios by modifying the data structure without giving more detail on how to do that. The lack of use of IoT affect the automation and the data collection capabilities of those solutions. Other related works take advantage of the combination of smart contract and IoT to resolve traceability problems as in Bumblauskas et al. (2020). Wen et al. (2019) proposed a privacy compliant traceability solution, but with a limited number of stakeholder roles that does not cover all the possible roles in the supply chain such as the broker role for example. The shipment management system in Hasan et al. (2019) handles only some limited package status and transport conditions that could not cover all different contexts specific needs in terms of status and transport conditions. In the model of architecture for Food Supply Chain (FSC) traceability proposed by Casino et al. (2019), the IoT data are stored only locally and a reference to the locally stored data is used in blockchain, but there is no reference in their work to an IoT data qualification process. All the aforementioned smart contracts have been developed for some specifics supply chain contexts and are not generic to be used in other contexts. Also, their proposed solution lacks methods to qualify IoT Data before its integration in the smart contract. That impacts the performance because of the huge amount of data generated by the IoT and that need to be
Enhancing B2B supply chain traceability using smart contracts and IoT 565 stored in the underlying blockchain. The incidents management also is an important part of the traceability process that has not been or not well treated in those related works. Table 1 summarizes the studied works and how they meet the studied five requirements: Table 1: Related works comparison Related work IoT (R1) Genericity (R2) Contractual Milestones (R3) IoT data Qualification (R4) Incidents Management (R5) Lin et al. (2019), Westerkamp et al. (2018), Cui et al. (2019), Yong et al. (2020), Salah et al. (2019) and Helo & Hao (2019) N/A N/A N/A N/A N/A Chang et al. (2019) N/A N/A B2B control points N/A N/A
572 Mohamed Ahmed et al. milestone to be updated and gives as output the updated milestone, see Algorithm 1. If necessary, it creates a milestone date compliance incident. Algorithm 1: Update milestone Input: An existing shipment id and an existing milestone related to the given shipment Begin if The update requestor company is in the shipment stakeholders list and also in the milestone stakeholders then Retrieve and update the given milestone actual date and location using the milestone code if The milestone actual date is after the milestone negotiated date then Create a milestone non-compliance incident involving all the milestone stakeholders end if else Throw error: unauthorized update end if End Output: Updated milestone The addIoTEvent is called by the IoT data qualification server when an IoT event (ShipmentConditionValue) is received and is eligible to be sent to the smart contract. It takes as argument the qualified IoT event and gives as output the updated shipment, see Algorithm 2. It may also generate a transport conditions compliance incident.
Enhancing B2B supply chain traceability using smart contracts and IoT 573 Algorithm 2: Add IoT event Input: An existing shipment id and an IoT event related to an existing transport condition of the given shipment Begin if The update requestor company is in the shipment stakeholders list and also in the transport condition stakeholders then Retrieve the concerned transport condition using its code and add the event to the transport condition events if The event value is not compliant with the fixed transport condition ranges then Create a transport condition non-compliance incident involving all the transport condition stakeholders end if else Throw error: unauthorized update end if End Output: Updated shipment The createIncident method is called by the shipment stakeholders to report manually other types of incidents that are not directly related to the milestone’s dates or the transport conditions respect. For examples a damaged material incident. It takes as arguments the shipment's id and the incident to be created and gives as output the updated shipment.
574 Mohamed Ahmed et al. The confirmIncident method is called by shipment stakeholders to confirm that they are effectively involved in the given incident. It takes as arguments the shipment id and the id of the incident to be confirmed, and gives as output the updated shipment, see Algorithm 3. Algorithm 3: Confirm incident Input: An existing shipment id and an existing incident id related to the given shipment Begin if The confirm requestor company is in the shipment stakeholders list and also in the given incident stakeholders then Retrieve the concerned incident and remove the requestor company from the list of the incident waited for confirmation stakeholders else Throw error: unauthorized update end if End Output: Updated shipment As instantiation examples of our generic smart contract, we use the above presented three scenarios. For all those scenarios, the stakeholders will be the shipper, the carrier and the consignee. Those stakeholders agree on the following basic milestones list: Pickup (involving the shipper and the carrier), Departure (carrier), Arrival (carrier) and Delivery (carrier and consignee). The shipper calls the smart contract method createShipment to create a shipment.
Enhancing B2B supply chain traceability using smart contracts and IoT 575 In the first scenario, we only have a temperature transport condition with a minimum of +2°C and a maximum of +8°C, which results in the following transport condition instance: («TEMP (code)», «Temperature (label)», «2 (min)», «8 (max)», «the shipper and the carrier as temperature transport condition stakeholders»). When an out-temperature range value (10 for example) is received by the smart contract, it creates automatically an incident related to the temperature transport condition with the following information: («incident auto generated id (id)», «Non-compliance with Temperature transport condition [2,8], the received value was 10 (Label)», «the received Temperature date (Creation date)», «the shipper and the carrier as incident stakeholders (the incident stakeholders are the same as the transport condition stakeholders)»). In the second scenario, we have a delivery date of 12/03/2020 at 13h00 for the shipment delivery milestone, which results in the following milestone instance: («DLV (code)», «Delivery (Label)», «12/03/2020 at 13h00 (negotiated date)», «the carrier and the consignee (delivery milestone stakeholders)»). When the smart contract receives an actual date which is after the negotiated date (12/03/2020 at 16h00 for example), it automatically creates an incident related to the delivery milestone with the following information: («incident auto generated id (id)», «Non-compliance with Delivery milestone negotiated date 12/03/2020 at 13h00, the received actual date was 12/03/2020 at 16h00 (Label)», «The received milestone actual date (Creation date)», «the shipper and the carrier as incident stakeholders (the incident stakeholders are the same as the milestone stakeholders)»). In the last scenario, the incident related to the damaging of transported material is reported manually. For example, the shipper calls the smart contract method createIncident and gives all the incident related information,
576 Mohamed Ahmed et al. for example: (« Damaging of transported material (Label)», «The formal date of the incident (Creation date)», «the carrier as incident stakeholders (the incident stakeholders designated by the shipper)»). The above presented smart contract, in contrast to the existing smart contracts in the state of the art, is more adapted to the B2B traceability context, with its integrated milestones, IoT data and incident management. The genericity of this smart contract allows its deployment in various B2B traceability context without needs of further development efforts. 3.3 The IoT Data collection and qualification The architecture of our traceability solution is designed to automatically detect traceability incidents by the smart contract based on the data collected by the IoT. Due to the encryption and the replication of blockchain data, the blockchain is not a good storage support for huge data amount. The data generated by the connected objects is not directly integrated into the smart contract. An IoT data server is used to improve the IoT data quality and send to the smart contract only qualified IoT data, see Figure 2. We consider the following approaches for enhancing IoT data quality: outlier detection, data cleaning and data deduplication as stated by Karkouch et al. (2016). Other aspects of the IoT data qualification such as interpolation and data integration need to be considered in future work.
Enhancing B2B supply chain traceability using smart contracts and IoT 577 In this work, we consider as outlier data, every value that is outside the ranges of the possible values defined by the sensor's specifications. The outlier data are not sent to the smart contract. The data cleaning is performed through the comparison of the format of the received IoT data with the expected data format and the verification of the IoT data date which should be valid and not a future date. The IoT data deduplication is performed by an IoT data filter used to reduce the number of IoT events sent to the smart contract. This filter takes as argument the IoT event to qualify, the last received IoT event and the shipment. It gives as output the list of events sent to the smart contract, see Algorithm 4. Figure 2: IoT Data qualification process
578 Mohamed Ahmed et al. Algorithm 4: IoT Data Filter Input: An existing shipment id or shipment tag number and a new IoT event value Begin Retrieve the correspondent transport condition ranges and the shipment IoT data timeout interval if The shipment IoT data timeout interval is not elapsed then if The new IoT event value is in the ranges AND the last sent value to the smart contract was outside the ranges OR the new IoT event value is outside the ranges AND the last sent value to the smart contract was in the ranges then send the new IoT event value to the smart contract send also the previous received value to the smart contract, if it has not been already sent end if else send the new IoT event value to the smart contract end if End Output: Events sent to the smart contract
Enhancing B2B supply chain traceability using smart contracts and IoT 579 4 Implementation, Test and Evaluation In this section we present an implementation of the smart contract proposed in this work. Some performance tests and results are also presented, in order to prove the ability of the proposed architecture to be deployed in real live production scenarios. Finally, we evaluate the proposed architecture based on performance test results. 4.1 Implementation The proposed smart contract has been implemented using Hyperledger Fabric Java Chaincode. Hyperledger Fabric is a permissioned blockchain implementation designed for enterprise purposes. It presents many advantages in comparison with the other permissioned blockchain implementations, among them : a parametrized consensus protocol, a node architecture based on the notion of organization to establish a trust model more adapted to the enterprise context and the support of Go, Javascript and Java for smart contracts writing. For the development and the deployment of our smart contract, we have used the following software versions:
580 Mohamed Ahmed et al. Table 2: Test software versions Software Version Hyperledger Fabric Docker Images Tag 1.4.6 Hyperledger Fabric Java Chaincode 1.4.3 Hyperledger Fabric Gateway Java 1.4.1 Docker 19.03.6 Java 1.8.0 For deployment purpose, we implemented a simplified Hyperledger Fabric architecture (Figure 3) with three stakeholders interacting with the blockchain: a shipper, a carrier and a consignee. In this architecture, the IoT data Figure 3: Global architecture of the solution
Enhancing B2B supply chain traceability using smart contracts and IoT 581 sent by the shipment IoT tag or by the carrier is qualified in local IoT Data Servers before its integration in the smart contract. The stakeholders have been created as independent Hyperledger Fabric organizations. Each organization has the following components: Certificate Authority, responsible of the organization user certificates management; Tow peers, with a local CouchDB database for each peer. One of the two peers is designated as the endorser peer, which is responsible of the correct execution of the smart contract on the organization side. All the endorsers peers are connected to a channel called « my-channel ». The transaction order is handled by one ordering service node, see Figure 4. 4.2 Test and evaluation The objective of this subsection is to test the performance of the proposed smart contract and the IoT data qualification module, in order to show that Figure 4: Detailed architecture of the Test Hyperledger Fabric Network
588 Mohamed Ahmed et al. Helo, P. & Hao, Y. (2019), ‘Blockchains in operations and supply chains: A model and reference implementation’, Computers & Industrial Engineering 136, 242–251. Hinckeldeyn, J. & Jochen, K. (2018), (short paper) developing a smart storage container for a blockchain-based supply chain application, in ‘2018 Crypto Valley Conference on Blockchain Technology (CVCBT)’, pp. 97–100. Karkouch, A., Mousannif, H., Al Moatassime, H. & Noël, T. (2016), ‘Data quality in internet of things: A state-of-the-art survey’, Journal of Network and Computer Applications. Kshetri, N. (2018), ‘1 blockchain’s roles in meeting key supply chain management objectives’, International Journal of Information Management 39, 80. URL: http://search.proquest.com/docview/2059164679/ Lin, Q., Wang, H., Pei, X. & Wang, J. (2019), ‘Food safety traceability system based on blockchain and epcis’, IEEE Access 7, 20698–20707. Ongaro, D. & Ousterhout, J. (2014), In search of an understandable consensus algorithm, in ‘2014 USENIX Annual Technical Conference (USENIX ATC 14)’, USENIXAssociation, Philadelphia, PA, pp. 305–319. URL: https://www.usenix.org/conference/atc14/technicalsessions/presentation/ongaro Rejeb, A., Keogh, J. & Treiblmaier, H. (2019), ‘Leveraging the internet of things and blockchain technology in supply chain management’, Future Internet 11, https://www.mdpi.com/1999–5903/11/7/161. Salah, K., Nizamuddin, N., Jayaraman, R. & Omar, M. (2019), ‘Blockchain-based soybean traceability in agricultural supply chain’, IEEE Access 7, 73295–73305. Sigfox technology (n.d.). URL: https://www.sigfox.com/en/what-sigfox/technology Szabo, N. (1997), ‘Formalizing and securing relationships on public networks’, First Monday 2(9). URL: https://ojphi.org/ojs/index.php/fm/article/view/548 Van Dorp, K. (2002), ‘Tracking and tracing: a structure for development and contemporary practices’, Logistics Information Management 15(1), 24–33. URL: https://doi.org/10.1108/09576050210412648
Enhancing B2B supply chain traceability using smart contracts and IoT 589 Wen, Q., Gao, Y., Chen, Z. & Wu, D. (2019), A blockchain-based data sharing scheme in the supply chain by iiot, in ‘2019 IEEE International Conference on Industrial Cyber Physical Systems (ICPS)’, pp. 695–700. Westerkamp, M., Victor, F. & Küpper, A. (2018), Blockchain-based supply chain traceability: Token recipes model manufacturing processes, in ‘2018 IEEE International Conference on Internet of Things (iThings) and IEEE Green Computing and Communications (GreenCom) and IEEE Cyber, Physical and Social Computing (CPSCom) and IEEE Smart Data (SmartData)’, pp. 1595–1602. Yong, B., Shen, J., Liu, X., Li, F., Chen, H. & Zhou, Q. (2020), ‘An intelligent blockchainbased system for safe vaccine supply and supervision’, International Journal of Information Management 52. Yuan, P., Zheng, K., Xiong, X., Zhang, K. & Lei, L. (2020), ‘Performance modeling and analysis of a hyperledger-based system using gspn’, Computer Communications 153, 117 – 124. URL: http://www.sciencedirect.com/science/article/pii/S0140366419306474 Zhou, R., Shao, S., Li, W. & Zhou, L. (2016), How to define the user’s tolerance of response time in using mobile applications, in ‘2016 IEEE International Conference on Industrial Engineering and Engineering Management (IEEM)’, pp. 281– 285.