The Internet of Things (IoT) is inspired by network interconnectedness of humans, objects, and cloud services to facilitate new use cases and new business models across multiple enterprise domains including healthcare. This creates the need for continuous data streaming in IoT architectures which are mainly designed following the broadcast model. As more devices communicate with each other via the Internet, it will be crucial to determine the origins of requests and responses. Being able to store records related to the life cycle of requests and responses in an immutable form will provide documentary evidence that will help to establish transparency and accountability within the IoT. Previous works employed provenance techniques to address this problem but focus on the request perspective. However, little or nothing has been done regarding the response perspective. Consequently, this paper proposes and develops a blockchain-based provenance system to trace bi-directionally the sources of requests and responses in the IoT. This is achieved through the investigation of historical communication records. Several empirical evaluations are conducted in a real-world IoT ecosystem to prove the superiority of the proposed work.