当前市面上有众多处在萌芽期的去中心化存储项目,比如 Filecoin,Sia,MaidSafe 等,但是仔细阅读他们公开的资料,官网,白皮书,文章以及各个社区的言论,不难看出他们注重这几点:完全的去中心化和社区化治理,以及绝对的安全性。这几乎像宣传比特币一样的宣传区块链精神,目的便是通过共识来提高币的价值。甚至可以说,这些创业者将存储项目当作纯粹的区块链项目, 以这样的姿态是否能做好去中心化存储?对于这个问题的答案,相信大家都有一个问号在心里。

不同于比特币等数字货币,对于数据网络存储来说,存储这个需求最终是要落地到产品上,比如:对于个人用户而言,存储主要依靠苹果的 iCloud,谷歌的 Google Drive,微软的 OneDrive 等;对于开发者而言,存储主要依靠 AWS S3 和微软的 Azure。

作为一款存储产品,价格贵了、速度慢了、数据丢了、网盘服务关停了等等理由,都是用户放弃使用存储产品的原因。但是归根究底,存储价格合理,服务质量高才是存储产品的关键。

所以我们在设计 PPIO 的时候,把传统 P2P 项目的精髓与区块链项目的特点相结合,建设以服务质量为导向的去中心化存储与分发平台。也因为如此,PPIO 项目的实施过程并非直接实行完全的去中心,而要经历 3 个阶段,依次是强中心”、“弱中心”、“完全去中心

显然,在理念上这不同于现在的区块链项目,下面详细介绍一下我们是如何考虑的。

区块链解决的是信任问题,不是数据存储问题,这是目前的共识。所以在设计 PPIO 的时候,我们在链上只存放资产、合约、证明等和激励相关的信息。数据则存放在分散的存储节点上,使用 P2P 存储技术来分配和调度。其中数据是可以被所有者删除的,当然也只能被数据所有者删除。

从本质上来说,PPIO 拥有两个系统:

  • 一个是分布式存储系统,是由 P2P 存储技术构建,以 QoS(服务质量)为导向,目标是做出不低于 AWS S3 的 QoS。
  • 另一个是区块链系统,由区块链技术构建,以经济激励为导向,目标是构建一个良性的市场经济,让真正提供价格低廉且服务质量稳定的服务商获得收益。

图:分布式存储系统 和 区块链系统

在数据存储方面,PPIO 从头到尾都是去中心的,因为数据永远存放在去中心化的网络中。但是一个高效的 P2P 系统并不是只有存储节点,还有一些中心化的服务器。就像 BitTorrent 系统中的 Tracker 服务器角色。这些服务器是不存放数据的,但是如果没有这些中心化服务器,P2P 网络会变得非常低效。PPIO 系统中也存在这样的角色,这些服务器用于管理大量的索引信息、跟踪信息等,从而让节点之间相互发现对方,相互协调。

简单来说,区块链、激励、存储是始终去中心的,只有类似于 BitTorrent 的 Tracker 角色,才需要经历 3 个阶段。

PPIO 中的存储角色包括:

  • 用户节点( User Node ):PPIO 的消费者,通过消耗一定的 PPIO Coin,来获得存储或下载数据的服务。
  • 发布源节点( Source Node ):发布内容的节点,属于一种特殊的用户节点,它们通常不下线,且能够长期提供下载服务;发布源节点类似于 IPFS。
  • 存储节点( Miner Node ):通过提供存储空间和带宽服务的节点,并可获得 PPIO Coin。
  • 检索调度节点( Indexer Node ):可同时提供检索和调度两种服务的节点,并可获得 PPIO Coin。检索功能的作用是方便用户快速定位到指定数据的位置。调度功能的作用是管理数据的上传和下载,并根据供需关系调整存储数据副本的流动。
  • 监督节点( Verifier Node ):承担存储证明中的验证任务的节点,并可获得 PPIO Coin。监督节点的作用是确认存储节点的总存储容量,验证用户数据存储下载,检查存储时空和下载带宽的有效性。

值得一提的是,其他的去中心化存储项目,如 Filecoin,MaidSafe,都没有单独的监督节点,而是用矿工节点兼做监督节点。我们在核算了矿工节点的性能后发现,如果矿工节点同时承担监督工作,需要进行大量的密码学工作,这对矿工们来说要求会很高,并且不利于商业化。

Filecoin 里面的矿工节点有点类似 PPIO 里面的存储节点。不同的是,PPIO 为了降低存储节点的门槛(让更多的人可以使用 PPIO,而不仅仅是专业矿工),从而将存储和监督这两个角色分开,各自完成自己的任务。

接下来将详细介绍 PPIO 的 3 个阶段。

“强中心” 阶段

在“强中心”的阶段中,

去中心化的节点有:用户节点、发布源节点、存储节点。

中心化的节点有:检索调度节点、监督节点。

除此之外,PPIO 还有一个结算中心,也是中心化的,负责计算节点之间 Token 的支付。

图:“强中心”阶段的架构图

在本阶段,区块链只有一条主链。主链上只存放资产信息和转账记录。目前 Storj 正处于“强中心”阶段,它的分布式存储是自己做的,激励是直接使用以太坊上的 ERC20 代币。通过中心化统计,按月给矿工发工资。

“弱中心” 阶段

在弱中心的阶段中,去中心化的节点和中心化节点与上一阶段相同。

联盟部署必须有 PPIO 的许可才能加入并部署节点。目的是通过人工审核,减少作恶节点的加入,从而降低这个阶段的开发难度。

“强中心”阶段里的结算中心服务器,在本阶段将演化成一组侧链,每条侧链上有多个节点交替产生区块。由出块节点做结算,其他节点对结算的结果做验证。侧链和主链之间分别做共识,侧链和主链之间通过预言机机制来通讯。

这条侧链称为合约链,如果合约链的性能不够,可以分裂出多条合约链。

图:“弱中心”阶段的架构图


在“弱中心”阶段,区块链只由一条主链和多条合约链构成,资产、合约、证明均写在区块链上,合约链相关的节点必须有授权才能部署,此时合约链处于联盟链的状态。


“去中心” 阶段

最后阶段里,所有节点都是去中心化的,这是 PPIO 的最终状态。本阶段,检索调度节点、监督节点将没有接入限制,任何人都可以加入 PPIO 网络并进行部署。

图:“去中心” 阶段的架构图

本阶段,区块链依然是由一条主链和多条合约链组成。合约链从联盟链变成公链,当然,区块链共识算法也会在这个阶段实现。

优秀的项目都不是一蹴而就的,漫长的等待都是为了更好的见面,PPIO 的三个阶段都是为了提供更高质量的用户服务而必须历经的过程,让我们一起见证 PPIO 实现的瞬间。