  This paper presents a comprehensive survey of the existing blockchain
protocols for the Internet of Things (IoT) networks. We start by describing the
blockchains and summarizing the existing surveys that deal with blockchain
technologies. Then, we provide an overview of the application domains of
blockchain technologies in IoT, e.g, Internet of Vehicles, Internet of Energy,
Internet of Cloud, Fog computing, etc. Moreover, we provide a classification of
threat models, which are considered by blockchain protocols in IoT networks,
into five main categories, namely, identity-based attacks, manipulation-based
attacks, cryptanalytic attacks, reputation-based attacks, and service-based
attacks. In addition, we provide a taxonomy and a side-by-side comparison of
the state-of-the-art methods towards secure and privacy-preserving blockchain
technologies with respect to the blockchain model, specific security goals,
performance, limitations, computation complexity, and communication overhead.
Based on the current survey, we highlight open research challenges and discuss
possible future research directions in the blockchain technologies for IoT.
