《Streaming Data Payment Protocol (SDPP) for the Internet of Things》笔记

                    Streaming Data Payment Protocol (SDPP)

                           for the Internet of Things

出版时间:Aug 15, 2018

出处:南加利福尼亚大学论文

下载:http://anrg.usc.edu/www/papers/streamingDataPaymentProtocol_2018.pdf

目录

Abstract

Introduction

Protocol Description

Implementation


Abstract

随着加密货币技术的出现,使得建立双向数据微支付渠道(数据在一个方向流,微支付在另一个方向)变的可行。提出一个应用层协议:流数据支付协议(SDPP)。这个协议做了一下规定:对于数据提供者,自动发送数据发票(invoices)。对于数据消费者,对数据提供签名收据(receipts),这个被存储在不可变的去中心化账本中,它主要用来审计和解决争议。在这篇论文中介绍了使用TCP进行数据传输和使用IOTA作为加密货币和分布式账本的SDPP实现。

Introduction

物联网通过从广泛部署的传感器中提供细粒度实时的数据流来实现一系列丰富的应用程序。最初的物联网应用集中于与终端设备、云计算和应用的垂直集成解决方案,这些程序不仅有同一个人或组织开发,并且也是由同一个人或组织部署和管理,这造成了扩展性和互操性的挑战。因为对于第三方应用开发者或终端用户,从另一个实体拥有或管理的特定传感器访问数据流是很有趣的。

我们设计的SDPP协议可以是买卖双方很容易的使用微支付进行IOT数据流的连接和交易。设计有三个关键组件:(1)数据传输通道(作为一个传统的互联网C/S应用层协议,TCP之上的),(2)支付通道(使用加密货币协议实现)(3)记录介质(使用分布式账本技术实现)。由于加密货币和分布式账本(包括私有和开发系统)可选操作太多,所以在协议描述层,关于支付通道和记录介质的实现,我们故意保留其技术无关的知识。

SDPP是第一个用于IOT类型流数据的集成数据支付记录协议,该协议利用传统的TCP/IP和创新的去中心化区块链/DAG基础的分布式账本技术。

Protocol Description

SDPP有三个主要的组件:数据通道、支付通道和记录介质,如图所示为SDPP的结构示意图:

数据通道利用TCP sockets实现典型的应用层客户端/服务器协议,目前只实现了基本的安全特征,没有实现TLS。支付通道使用加密协议实现(或者一些电子支付形式)。记录介质使用不变的分布式账本实现。如果需要的话,支付通道和记录介质可以进行合并,使用区块链/DAG基础技术实现它们。

如图所示,显示了SDPP协议的数据通道如何随着交易发送支付和创建/存储新记录的时间而演变的过程。

在协议中,我们为不同类型消息定义了简单的JSON格式。所有的消息都使用如图所示的消息格式,假设client/buyer已知server/seller的公钥。

SDPP的消息流程:

(1)当客户端和服务器建立连接后,先发送一个hello类型消息;(2)然后服务器响应连接的初始配置和menu消息,menu消息中包括一系列传感器、每个传感器的价格、默认的支付选项、要求支付的粒度(如每K个数据项必须支付);(3)客户端响应order消息,这个order消息不光发送给服务器,也发送给区块链作为消息组件,该消息中包括:购买哪个传感器、那个类型的传感器购买个数、客户单的发货地址、自己的公钥(用来加密和签名)、消息完整性的哈希签名;(4)当服务器收到order消息后,它会发送一个对称会话密钥(使用客户端的公钥加密过),这个会话密钥会用来加密所有通道中的消息;(5)然后数据就开始从服务器发送给客户端;(6)然后客户端会发送一个简单的ack消息,用来确定每个数据信息的收据;(7)当客户端想要关闭服务器时,支付交易并终止连接即可,服务器将等待新的连接。

Implementation

对于支付通道和记录介质我们决定使用IOTA,因为他交易费用低、对于嵌入式的实现好,并且很容易使用相关的API。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章