  The Internet of Things (IoT) is experiencing explosive growth and has gained
extensive attention from academia and industry in recent years. Most of the
existing IoT infrastructures are centralized, in which the presence of a cloud
server is mandatory. However, centralized frameworks suffer from the issues of
unscalability and single-point-of-failure. Consequently, decentralized IoT has
been proposed by taking advantage of the emerging technology of Blockchain.
Voting systems are widely adopted in IoT, such as a leader election in wireless
sensor networks. Self-tallying voting systems are alternatives to traditional
centralized voting systems in decentralized IoT since the traditional ones are
not suitable for such scenarios. Unfortunately, self-tallying voting systems
inherently suffer from fairness issues, such as adaptive and abortive issues
caused by malicious voters. In this paper, we introduce a framework of
self-tallying systems in decentralized IoT based on Blockchain. We propose a
concrete construction and prove the proposed system satisfies all the security
requirements including fairness, dispute-freeness and maximal ballot secrecy.
The implementations on mobile phones demonstrate the practicability of our
system.
