《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。

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