基于一种用于边缘计算云服务的加密货币PolarChain介绍
扫描二维码
随时随地手机看文章
随着 5G、物联网、无人驾驶、AR/VR、车联网、AI 等众多新兴业务应用的快速涌现,对网络的传输容量、数据分发处理能力提出了越来越高的要求,同时,5G 的应用服务的进一步发展使用网络流量量呈现出爆炸时的增长态势。根据 Cisco 最新发布的预测报告,到 2021 年全球 IP 流量将达到3.3ZB,IP 视频流量将占有消费者互联网的 82%;此外,移动数据流量将在2016 年至 2021 年间增长 7 倍,到 2021 年流量将达到每月 48.3EB,其中易懂视频流量将占移动数据流量的 75%。传统的云计算技术已经无法满足终端侧“大连接,低时延,大带宽”的需求。随着边缘计算技术的出现,云计算将必然发展到下一个技术阶段,将云计算的能力拓展至距离终端最近的边缘侧,并通过云边端的统一管控实现云计算服务的下沉,供端到端的云服务,由此产生了“边缘云计算”。
在本文中我们分析了 PolarChain(一种用于边缘计算云服务的加密货币)中所使用的主要技术。该技术作为云计算的下一个延续发展阶段边缘云网络,使传统边缘计算和区块链技术成为一个有机结合。
PolarChain 核心技术实现
1. PolarChain 技术框架图
2. Polar OS
众所周知,IT 信息技术的基础框架中包含三大组成部分 – 计算处理、存储、以及网络。以 IoT 的未来发展潜力来看,IT 领域的计算处理能力将随着 IoT 业务的普及化而不断提升;而在网络及存储层面,则可以直接受益于 OS(Operating System)操作系统的进化迭代。作为项目核心技术,Polar OS 是一款基于 Linux 定制精简和强化的操作系统,可为 POC、POW、POS 类公链提供一个可信任的运行环境。
物联网预计将在接下来的几年时间中,逐步走近数十亿消费者身边,渗透进城市和企业所使用的各种设备。这样的发展速度,也给物联网系统的安全要求提出了巨大的挑战。遍布世界的物联网设备已经引起了黑客的注意,这就迫使我们在利用 p2p 技术的同时,要保证端对端系统的安全,以此来为用户及整个 IoT 行业提供数据安全保障。下图是星际比特 OS 系统的技术架构图。
2. Polar OS 安全协议
Interplanetary File System 星际文件系统(IPFS) 是点对点(peerto-peer,简称p2p)文件共享系统,旨在从根本上改变信息在全球范围内的传播方式。IPFS 本质是分布式的文件系统,旨在用同一个文件系统来连接所有的计算设备。这和传统的服务器/客户端的文件系统有着极大的不同,基于 IPFS 协议构建的网站是完全分布式的,没有源服务器,而且可以完全在客户端的浏览器上运行。
IPFS 是很多领先技术的结合体,例如 Kademlia DHT(Distributed HashTables)分布式哈希表这种数据结构被用来执行文件的分发工作,以便有效地协调,实现节点之间的有效访问和查找。通过分布式哈希表,节点可以存储和共享数据,而无需中央协调;利用 Merkle DAG (Merkle 树和有向无环图 Directed Acyclic Graph 的混合体)确保在 p2p 网络上交换的数据块是正确的、没有受到损害的和未被修改的。在 IPFS 中,哈希值(hash value)替代了传统互联网体系中的 URL,利用独一无二的哈希值,我们能够轻易验证存储于 IPFS 网络中信息的真伪及完整性(IPFS 上的所有内容能够被唯一地标识,因为每个数据块有独一无二的哈希值。此外,数据是防篡改的,因为数据的更改会改变哈希值)。Hash Value 的简洁性使得 IPFS 成为区块链系统中理想的存储层。
利用 IPFS 作为存储协议的同时,我们使用 libp2p 作为 p2p 工程的底层协议构建了 p2p 网络,以确保可以轻松应对各种复杂的网络环境。libp2p作为整个网络层,可以实现发现节点、连接节点、发现数据、传输数据的功能。利用 js-libp2p,千千万万的节点被连接起来,只要通过浏览器即可以实现节点之间的通信。而 libp2p 在 IoT 领域的最大优势是,它可以支持不同传输层之间的通信,不必担心其它的因素。通过 DHT 及 MDNS,libp2p 可以进行节点发现,并通过 pubsub 进行信息传输,十分符合 IoT 设备所处的应用场景。
3. Polar OS 数据安全
利用 p2p 网络、IPFS 协议等,我们实现了整个操作系统的安全性。接下来,我们将详细介绍如何实现网络中数据的真实性及完整性,最后我们将展示如何在无信任的环境中达成节点中的共识。
在大多数 IoT 和 P2P 的应用场景中,需要了解存储数据的位置及所有权,以进行协调及运算执行。区块链技术天赋的属性,使得链上数据能够防止被篡改,被复制,这也使得区块链变成理想的信息存储介质。Ericsson提出了使用以区块链为基础的系统,进行数字资产的溯源;而 Viant 则利用区块链技术进行对供应链的溯源追踪。以太坊是一种加密货币,由图灵完备可编程语言构建而成。而以太坊网络的智能合约是可以一次性以确定性和不可否认的方式执行的程序。借助智能合约,我们可以构建在特定条件下运行的程序。一个示例用法是 Town Crier。可编程区块链的一个最大弱点是在平台上运行的程序必须是确定性的,因为程序的结果必须是可公开验证的,这就使得服务依赖于易受攻击的单一来源。比如,我们不能在 EVM 上运行web crawler。由于 crawler 的结果差异很大,不同的人会得到不同的网站。Town crier 则使用 Intel 的 SGX,利用可信的方式传递传感器数据,识别故障节点。
虚拟化技术是将计算机的各种实体资源(CPU、内存、磁盘空间、网络适配器等)资源池化,并使用 软件进行智能化调度,由此打破实体结构间不可分割的障碍,使用户可以比原本配置更好的方式应用硬件 资源。边缘计算中计算、存储、网络资源均采用了虚拟化技术。边缘计算中,设备就近将数据整合并存储 到最近的移动边缘平台(虚拟资源池)上,多个第三方应用和功能共享平台层,极大地方便了移动边缘计 算实现统一的资源管理;同时网络虚拟化技术提升了数据传输的智能化程度,减少传输时间,使得网络传输进一步优化。
4. 共识算法
在上述的讨论中,我们已经提供了验证 IoT 数据的真实性和完整性的解决方案。然而,仅仅依靠这些技术,我们仍无法解决 IoT 网络中出现的共识问题。因为总会存在一些故障节点(由于电源故障,bug 或其它原因导致)。作恶节点是导致网络遭受 sybil 攻击的原因之一,为了应对这一系列问题,我们需要行之有效的共识算法。值得一提的是,目前通用的 PoW 共识算法并不适用于 IoT 的商业应用场景。大多数接入 IoT 网络的设备都有算力及存储能力的局限性,而 PoW 带来的极高能耗是不符合这一场景特性的。不夸张地说,单一的共识算法并无法适应 IoT 多种多样的应用场景,我们应该做的,是将共识算法模板化,以适应不同的应用场景。
在 IoT 的应用场景中,设备不断离开和连接到网络的现象是极为频繁的,我们无法保证在特定时间内某个设备可以确定被访问到。同样,IoT 设备对环境的敏感性使得这一问题更加凸显,很多设备会时不时失灵。
解决这类的问题一般要采用故障容错算法(CFT)来构建同步容错系统。最常用的方式就是通过 Paxos 协议及其变种来实现的状态机复制(state machine replicaTIon)。Paxos 算法是由 Lamport 提出的,该机制将节点分为两类,领袖(提议者)和追随者(接受者),整个算法的大致流程如下所示:
Paxos 算法是由 Lamport 提出的,该机制将节点分为两类,领袖(提议者)和追随者(接受者),整个算法的大致流程如下所示:
• 客户端发送请求给领袖节点、
• 领袖节点发送提议给每一个追随者
• 追随者进行运算,返回给领袖结果
• 通过判断返回的结果,领袖节点发送合适的值给追随
• 追随者返回自己的判断,接受/不接受领袖的发送的值
• 如果绝大多数的追随者接受这一值,则全部网络将选择其为最终的结果。
Paxos 算法能够大大简化共识达成的流程,但是在分布式系统中,作恶节点如果成为领袖,结果将是灾难性的。尤其是在 IoT 的应用场景下,我们需要多方无信任节点的共识。
Lamport 在 The ByzanTIne Generals Problem 曾经讨论过这一问题,如何在任意节点都可能作恶的情况下,达成系统共识。他提出一种算法,能够在广泛意义上解决拜占庭问题,但是这种算法的成本过高也并不实用。而PracTIcal ByzanTIne Fault Tolerance 这篇论文则提出了一种切实有效的解决办法。PBFT 算法在多进程系统中,同时满足了 safety 和 liveness 的要求。Paxos 和 PBFT 的最大区别在于,PBFT 在主要节点作恶的情况下仍然能够运行。但是 PBFT 算法要求网络中的每一个节点都要进行通讯,这对于整个网络的可拓展性是极大的限制。为了解决这一问题,我们提出了硬件协助的密钥共享机制(hardware-assisted secret sharing)。在这一机制中,我们不将信息发送至每个节点,而是发送至主节点(the primary node),而后者将对其进行集合、传输处理。不过,如果主节点作恶的话,它将把错误的信息发送给其它不作恶的节点。我们采用了其它的一些机制来避免这一问题。首先,我们可以借助公钥机制保证信息不被篡改。对于 IoT 应用场景来说,更合适的方法是借助 TEE(Trusted Execution Environment)可信应用环境。要使用 TEE 安全有效地发送消息,我们需要使用安全区域(Secure Enclave)来存储用于通信的秘密。即使受损节点可以无限期地运行,故障节点也无法检索这些机密。 完整的实现机制,可以参阅 Scalable Byzantine Consensus via Hardware-assisted Secret Sharing。
云技术可实现按用户需求使用资源,网络和服务部署的灵活性和可扩展性高。边缘计算需要满足多用 户共享网络边缘计算和存储资源,但服务器容量相比起云计算处理中心的服务器容量较小,因此需要引入云化的软件架构,将软件功能按照不同能力属性分层解耦部署,实现有限资源条件下任务处理更具高可靠性、高灵活性与高性能。
PolarChain 未来商业场景
1. 视频加速
智能视频加速业务主要是通过缩短内容的开始时间和减少视频停止时间,提升用户的体验质量(QoE),并保证无线网络资源的最大利用。
2. CDN
随着移动互联网技术的快速发展,移动网络数据流量呈现出爆发式增长的趋势。根据 2017 年思科 VNI 报告,到 2021 年,全球移动数据流量将达到每月 49EB,移动视频流量将占全球移动数据流量的 78%。 内容提供商每日都会上传成千上万个视频内容,这样的内容大量存储在提供商的集中式数据库中,然后从源格式转换为最终传递格式,分发到位于网络不同位置的多个流服务器中,并进行进一步传递。尽管进行了内容分发工作,但内容到用户的距离依旧很远,特别是在移动环境境中,由于缓冲问题和抖动,个别用户可能会遇到服务中断。因此, PolarChian 通过将 CDN 服务扩展到移动边缘来提供分布式缓存,可以增强用户的 QoE,并减少回程网和核心网的使用。
3. 物联网
物联网作为下一个推动世界高速发展的“重要生产力”,近年来得以迅速发展。“物联网”概念是在“互联网”概念的基础上,将其用户端延伸和扩展到任何物品与物品之间,进行信息交换和通信的一种网络概念。物联网是指通过各种信息传感设备,实时采集任何需要监控、连接、互动的物体或过程等各种需要的信息,与互联网结合形成的一个巨大网络。
PolarChian 可以更轻松地集成和规范化数据。智能设备上的 I/0 设备可以轻松连接传统工业系统和 PolarChian 网络。网关可以使用 Wi-Fi、WWAN 和以太网与终端进行连接和通信。另外,网关的处理能力支持中间设备对来自所有不同协议(从 ModBus、BACnet 到 Zigbee 等)的数据进行汇总、转换和标准化,再通过网关将数据传送到核心网上。PolarChian 可以对连接的终端进行边缘分析,将决策转移到边缘,提供实时操作,还可以帮助管理网络问题,通过决定数据是否移动到边缘来解决网络带宽问题。
4. 车联网
车联网(Internet of Vehicle)一般认为是由车辆位置、速度和路线等信息构成的巨大交互网络。车联网服务不断发展,并且在接下来的几年内仍会保持持续扩张的态势。 为了有一个稳健的发展基础,必须先满足连通性的要求,而这将导致互联车辆中传感器和处理器传输数据流量的急剧增加。 连接需求可能会根据所提供的服务有所不同,包括不同的延迟级别、数据接近度、计算成本和带宽可用性。
PolarChain 技术可以用于将车联网云扩展到高度分布的移动基站环境中,并且使数据和应用能够在车辆附近部署。 应用程序可以运行在PolarChain 服务器上,这些服务器部署在 LTE 基站站点上,如小的单元站点或聚集的站点位置,以提供路边功能。PolarChain 技术为互联车辆所依赖的新一类应用提供了一个平台,当互联车辆移动或与路边传感器通信时,数据与应用依旧能够处于靠近互联车辆的地方。PolarChain 还能为应用程序提供托管服务,为应用程序提供更低的延迟。 PolarChain 应用程序可以直接从车辆和路边传感器中的应用程序接收本地消息,对其进行分析,然后将(具有极低延迟)危险警告和其他等待时间敏感信息传播到该区域的其他车辆,这使附近的汽车可以在几毫秒内接收数据,从而允许驾驶员立即做出反应。