  The use of the term blockchain is documented for disparate projects, from
cryptocurrencies to applications for the Internet of Things (IoT), and many
more. The concept of blockchain appears therefore blurred, as it is hard to
believe that the same technology can empower applications that have extremely
different requirements and exhibit dissimilar performance and security. This
position paper elaborates on the theory of distributed systems to advance a
clear definition of blockchain that allows us to clarify its role in the IoT.
This definition inextricably binds together three elements that, as a whole,
provide the blockchain with those unique features that distinguish it from
other distributed ledger technologies: immutability, transparency and
anonimity. We note however that immutability comes at the expense of remarkable
resource consumption, transparency demands no confidentiality and anonymity
prevents user identification and registration. This is in stark contrast to the
requirements of most IoT applications that are made up of resource constrained
devices, whose data need to be kept confidential and users to be clearly known.
Building on the proposed definition, we derive new guidelines for selecting the
proper distributed ledger technology depending on application requirements and
trust models, identifying common pitfalls leading to improper applications of
the blockchain. We finally indicate a feasible role of the blockchain for the
IoT: myriads of local, IoT transactions can be aggregated off-chain and then be
successfully recorded on an external blockchain as a means of public
accountability when required.
