19 February 2023

我们应用物联网的云服务的时候,会考量其服务等级协议 SLA。服务等级协议描述的是双方的一种约定,是一种服务可用性的指标。服务可用性可以用以下公式计算:

\(\textit{SLA} = \frac{\sum_{i=i}^n V}{\sum_{i=1}^n V + \sum_{i=i}^n F} \times 100\%\)

其中 V 表示有效服务,F 表示无效服务。

但是,目前 SLA 的结果通常由用户来提供证明。服务提供方和用户之间又会存在猜疑,有时候还会需要上升到法律仲裁。

那么,具有不可篡改(immutability)、分布式、不可抵赖的区块链技术是否能解决这个问题呢?

是的,英国纽卡斯尔大学和瑞典吕勒奥科技大学的研究人员就提出了一个基于分布式区块链智能合约的 SLA 方案。

云服务商用户部署智能合约SLA协议区块链节点区块链节点区块链节点区块链节点区块链节点云服务调用智能合约SLA监控物联网设备

云服务商和用户签订 SLA 协议,并部署到联盟区块链 Hyperledger Fabric 上。物联网设备通过 MQTT Broker 发送消息的时候,监控消息是否发送成功,并在区块链账本记录有效请求和失败请求数据。等到核算日期,计算失败率。如果消息发送失败率出发 SLA 惩罚条件,触发智能合约执行。

但是区块链的执行速度还不能满足物联网大量数据通信的要求,论文作者也提出,下一工作方向是调研可行的改进方法。