  Smart home IoT systems utilize trigger-action platforms, e.g., IFTTT, to
manage devices from various vendors. However, they may be abused by triggering
malicious rule execution with forged IoT devices or events violating the
execution integrity and the intentions of the users. To address this issue, we
propose a ledger based IoT platform called Ruledger, which ensures the correct
execution of rules by verifying the authenticity of the corresponding
information. Ruledger utilizes smart contracts to enforce verifying the
information associated with rule executions, e.g., the user and configuration
information from users, device events, and triggers in the trigger-action
platforms. In particular, we develop three algorithms to enable ledger-wallet
based applications for Ruledger and guarantee that the records used for
verification are stateful and correct. Thus, the execution integrity of rules
is ensured even if devices and platforms in the smart home systems are
compromised. We prototype Ruledger in a real IoT platform, i.e., IFTTT, and
evaluate the performance with various settings. The experimental results
demonstrate Ruledger incurs an average of 12.53% delay, which is acceptable for
smart home systems.
