In recent years there have been increased efforts to make supply chains transparent and traceable to better protect the end consumer's interests against counterfeiting, contamination, false claims, and inadequate processes. The actors in the supply chain can also leverage additional visibility to proactively tune their operations in response to upstream or downstream disruptions. Blockchain technology, with its promise of immutability, transparency, and provenance is a natural fit to supply chain problems. Several works have discussed the improved design of supply chains leveraging blockchain technology. There have been attempts to address some of the privacy concerns of participants on the blockchain network by using encryption schemes to hide confidential data and group signatures to hide the participant identities. But these do not handle the complexities of the supply chain, where items are constantly packaged, repackaged, and transformed before reaching the end consumer. Our work presents a blockchain-based model for the supply chain that provides privacy and traceability with efficient contamination tracing while accounting for the aforementioned complexities of the supply chain operations. The last property enables an end consumer to be convinced about a product to be unaffected by identified faulty upstream processes (contamination) without access to the entire history of the product. Our solution makes novel use of cryptographic tools such as zero-knowledge proofs and cryptographic accumulators to provide these guarantees. The choice of the cryptographic components is grounded in concrete efficiency, and we present an experimental evaluation of the implementation of our protocol on Hyperledger Fabric, a popular platform for enterprise blockchains.