Alqahtani, SarraHe, XinchiGamble, RoseMauricio, Papa2020-01-042020-01-042020-01-07978-0-9981331-3-3http://hdl.handle.net/10125/64392The smart contract technology has increasingly attracted the attention of different industries. However, a significant number of smart contracts deployed in practice suffer from several bugs, which enable malicious users to cause damage. The research community has shifted their focus to verifying the correctness of smart contracts using model checkers and formal verification methods. The majority of the research investigates the correctness of systems built on one smart contract. This paper proposes a verification approach for systems composed of interacting smart contracts developed and controlled by different entities. We use the NuSMV model checker and the Behavioral Interaction Priority tool to model the behaviors of smart contracts and their interactions with the aim of verifying their compliance with the systems’ functional requirements. These requirements are formalized by Linear Temporal Logic propositions. The applicability of our approach is illustrated using a case study from The American Petroleum Institute and implemented using Hyperledger Fabric.10 pagesengAttribution-NonCommercial-NoDerivatives 4.0 InternationalBlockchain Cases and Innovationsformal verificationhyperledger fabricnusmvsmart contractsupply chainFormal Verification of Functional Requirements for Smart Contract Compositions in Supply Chain Management SystemsConference Paper10.24251/HICSS.2020.650