美文网首页
Storj V3白皮书分析

Storj V3白皮书分析

作者: tristan_lee | 来源:发表于2018-12-19 14:45 被阅读0次

    云存储现状

    在全球对数据存储需求不断增长的背景下,分布式云存储已成为潜在的替代解决方案。如今世界每年创造的数据量翻了一番,据估计,到2020年每年将达到44个zettabytes。与此同时,全球绝大多数存储设备的实际使用容量低于25%,而传统云存储价格在过去三年里只下降不到10%(平均每年)。而且,传统云模型存在一些重大的问题:包括数据安全性,可用性和性能 —— 特别是在远离主要数据中心的偏远地区。

    分布式云存储的固有优势可以解决这些问题。通过使用现有的未充分利用硬盘和带宽,同时结合传统的差别等级服务(SLA,service level agreement)付费,分布式云存储作为一种兼具性价比和高效的新型解决方案脱颖而出。此外,采用分布式的方案使我们能够构建一个更具持久性抗攻击性的云存储系统。

    Storj网络简介

    我们提出了一个可以横向扩展到exabytes级别的全球数据存储框架,Storj Network是一个强大的分布式对象存储网络,可将加密,分片的数据分发到世界各地的节点进行存储,并且使用相关的算法保证数据存储的持久性,保证数据不会丢失。

    我们将系统设计为完成模块化,由各个完成特定任务的独立组件组成,并将这些独立组件集成起来实现一个安全,高效,且可靠的分布式对象存储系统,并且使用成本比传统的中心式云存储系统更加经济。

    如今的分布式云存储技术已经越来越成熟,但依然存在着一些外部的硬约束;因此在设计分布式云存储系统时,还有许多参数有待优化,这些参数诸如:速度,容量,非可互信性(trustlessness),拜占庭容错,成本,带宽和网络延迟。

    Storj网络的特点:

    • 坚持从简(simplicity)设计原则
    • 坚持使用已被经验证明有效的技术,但创新性的将它们集成起来
    • 坚持不使用区块链或分布式账本来存储数据文件或元数据(基于性能可扩展性考虑)

    分布式云存储系统设计的外部约束

    分布式云存储系统设计面临着诸多外部硬约束,即系统边界。这也是Storj网络框架的基础边界,以下列出几个主要的外部约束(未全列):

    1. 安全与隐私性

      去中心化架构天然提供了比中心化架构更高的抗攻击性与用户数据隐私性

    2. 去中心化

      去中心化储存是可以利用不同地区储存资源的长尾效应(long tail),从而可以降低基础设施的成本,包括维护,电力,和带宽成本。

    3. 市场与经济空间

      激励机制

    4. 与原有去储存系统的兼容性

      兼容AMZ S3的对象接口

    5. 数据持久性

      名词定义:

      持久性(durability) - 网络节点出错的情况下数据依旧有效的概率

    6. 网络延迟与带宽

      ISP服务商提供的带宽经常具有上传与下载的不对称性与节点的长尾效应(long tail)

    7. 拜占庭容错

      • 拜占庭节点(Byzantine nodes)
      • 利他节点(Altruistic nodes)
      • 理性节点(Rational nodes),或称中性节点

      Storj假设网络由大量理性节点(Rational nodes)和少量拜占庭节点(Byzantine nodes)组成,而无任何利他节点(Altruistic nodes)存在。所以Storj需要设计相应的经济激励机制使大量理性节点(Rational nodes)维护网络的可用性,同时相应的机制来抑制拜占庭节点(Byzantine nodes)做恶。同时我们注意到在一个面临拜占庭节点(Byzantine nodes)攻击的网络中,并不一定需要拜占庭共识协议,所以我们避免使用拜占庭共识协议,以提高性能。

    8. 避免协作(避免性能损耗)

      名词定义:

      协作(coordination) - 不同的并行操作能进行协同交流与同步等待

      协作(coordination)不仅存在于分布式网络环境中,同时也是各种并发执行场景(如操作系统的线程调度)所面临的问题,协作(coordination)意味等需要进行同步等待,这就不可避免的造成性能浪费,所以我们对Storj系统的设计尽量避免协作(coordination)操作。

    Storj网络框架

    Storj角色

    • Uplink

    代表用户与Storage Node和Satellite进行通信的客户端软件

    • Storage Node

    网络中负责进行实际数据存储的网络节点(俗称矿工节点)

    • Satellite

    协调Uplink和Storage Node之间的通信;并且为用户存储文件的元数据(metadata),负责文件审计(Audit)即POR(poof of retrievability)相关操作,文件修复操作和付费计算等操作。

    文件分片存储算法(erasure codes)

    Storj工作流程示例

    上传文件的工作流程顺序图

    未来改进工作

    现阶段的拜占庭共识协议为了抵抗拜占庭攻击,在设计上就人为的牺牲了网络性能;使得无法对网络性能进行横向扩展,即增加运算节点并不能明显提高网络的处理性能(如Bitcoin)。Storj未来的长期改进目标在于完全移除Satellite这个角色,通过部署一个可行的拜占庭共识协议,将原由Satelite控制的元数据合理的分配到各个Storage节点上;其中最大的挑战在于如何在效率(避免协作)和拜占庭容错之间找到一个合理的平衡,从而使各个Storage node在稳定地交换数据分片的同时还能为用户提供比中心化云存储额拜托了效能更高的云存储网络。

    相关文章

      网友评论

          本文标题:Storj V3白皮书分析

          本文链接:https://www.haomeiwen.com/subject/skdjkqtx.html