Streaming Data Payment Protocol
As the deployments of IoT systems grow for a wide range of applications, there are new use-cases emerging where the organizations or individuals that own sensor devices are different from the individuals or organizations that have use for the data from those devices. In such settings it is helpful for the data consumer to be able to effortlessly get data streams in return for monetary payments. The advent of cryptocurrency technologies have made the establishment of bidirectional automatic data micro-payment channels (with data flowing in one direction and micro-payments in the other) feasible. We present an application layer client-server protocol for the Internet called the streaming data payment protocol (SDPP) which embodies this very idea. The protocol also makes provisions for the data provider to send automated invoices and the data consumer to provide signed receipts for data to be stored on an immutable distributed ledger for auditing and dispute resolution purposes. We present an implementation of SDPP using TCP for data transport and IOTA as both cryptocurrency and a distributed ledger.