  The growing interest in Internet of Things (IoT) and Industrial IoT (IIoT)
poses the challenge of finding robust solutions for the certification and
notarization of data produced and collected by embedded devices. The blockchain
and distributed ledger technologies represent a promising solution to address
these issues, but rise other questions, for example regarding their practical
feasibility. In fact, IoT devices have limited resources and, consequently, may
not be able to easily perform all the operations required to participate in a
blockchain. In this paper we propose a minimal architecture to allow IoT
devices performing data certification and notarization on the Ethereum
blockchain. We develop a hardware-software platform through which a lightweight
device (e.g., an IoT sensor), holding a secret key and the associated public
address, produces signed transactions, which are then submitted to the
blockchain network. This guarantees data integrity and authenticity and, on the
other hand, minimizes the computational burden on the lightweight device. To
show the practicality of the proposed approach, we report and discuss the
results of benchmarks performed on ARM Cortex-M4 hardware architectures,
sending transactions over the Ropsten testnet. Our results show that all the
necessary operations can be performed with small latency, thus proving that an
IoT device can directly interact with the blockchain, without apparent
bottlenecks.
