Smart Contracts for Machine-to-Machine Communication: Possibilities and Limitations Yuichi Hanada Luke Hsiao Philip Levis Stanford University Stanford University Stanford University
[email protected] [email protected] [email protected] Abstract—Blockchain technologies, such as smart contracts, present a unique interface for machine-to-machine communication that provides a secure, append-only record that can be shared without trust and without a central administrator. We study the possibilities and limitations of using smart contracts for machine-to-machine communication by designing, implementing, and evaluating AGasP, an application for automated gasoline purchases. We find that using smart contracts allows us to directly address the challenges of transparency, longevity, and Figure 1. A traditional IoT application that stores a user’s credit card trust in IoT applications. However, real-world applications using information and is installed in a smart vehicle and smart gasoline pump. smart contracts must address their important trade-offs, such Before refueling, the vehicle and pump communicate directly using short-range as performance, privacy, and the challenge of ensuring they are wireless communication, such as Bluetooth, to identify the vehicle and pump written correctly. involved in the transaction. Then, the credit card stored by the cloud service Index Terms—Internet of Things, IoT, Machine-to-Machine is charged after the user refuels. Note that each piece of the application is Communication, Blockchain, Smart Contracts, Ethereum controlled by a single entity. I. INTRODUCTION centralized entity manages application state and communication protocols—they cannot function without the cloud services of The Internet of Things (IoT) refers broadly to interconnected their vendors [11], [12].