PPIO是一个分布式云存储项目,目的在于为开发者提供一个去中心化的存储和分发平台,能做到更便宜,更高速,更隐私。
目前做去中心化存储的项目也有好几个,FileCoin,SiaCoin,MaidSafe等,但是仔细查看他们流出的资料,官网,白皮书,文章以及各个社区的言论,可以看出他们主要将重心放在了:完全去中心化,安全性,完全的社区化治理这三方面。(显然,这些项目是将存储项目完全当做区块链项目来做了,与这些项目不同,PPIO宣扬的是另一种理念,下面来进行详细介绍。)从项目诞生之初,就一直宣扬会像比特币一样地去中心化,以便于把币的价值通过共识做起来。甚至可以说,这些项目都是把存储项目纯粹当作区块链项目来做, 但是这样能把去中心化存储做好吗?
去中心化存储也是数据的网络存储,而数据存储和比特币等数字货币其实是不同的。
数字货币是钱,钱对安全性的要求非常高。每当用户支付出一笔钱出去,用户手上的钱就会变少,而钱支付的快和慢并不是那么重要。
数据网络存储是使用场景,在互联网上到处都需要数据存储。对于个人用户而言,苹果的iCloud,Google Drive, 微软的OneDrive就可以数据存储;而对于开发者而言,AWS S3和微软的Axure就是对开发者的存储服务。存储这个需求最终要落地到产品,作为一款产品,服务质量非常重要,贵了,慢了,数据丢了,网盘服务关停了,都有可能是用户不使用的理由。在这个场景下,存储价格合理,服务质量高,就非常重要了。所以存储价格合理,服务质量高,才是真正地做好去中心化存储的关键。
回过头来看前面几个项目,他们输出的资料、官网、白皮书、文章中几乎没有提到过服务质量(QoS)这个指标。甚至还有人在社区里抱怨,去中心化存储的价格相对于传统云存储的价格,不但没有变低,反而还高了很多。
再仔细一想,去中心化存储是现在才出现的吗?其实不是,早就有了,如BitTorrent,Emule以及国内的PPTV (数据早就存在很多节点上,并且广阔地部署在全网,然后相互免费共享)。它们本质就是去中心化存储。
所以总架构师在设计PP.io项目的时候,想法和Filecoin、SiaCoin等几个项目有很大的不同。架构师是把传统P2P项目的精髓结合区块链项目的特点来做,提出以用户服务质量为导向的去中心化存储项目。 也因为如此,PP.io项目的实施过程并不是上来就直接完全去中心,而要经历3个阶段,”强中心“、”弱中心“、”完全去中心“。
你没有看错,PPIO没有一开始就直接完全去中心。这不同于现在的区块链项目,下面详细说一下是怎么考虑的。
区块链解决的是信任问题,不是数据存储问题。所以架构师在设计PPIO的时候,不会将存储文件放在链上,在链上只存放资产,合约,证明等和激励相关的信息。数据存放在分散的存储节点上,使用P2P存储技术来分配和调度,不存入区块链,数据是可以被所有者删除的,但也只能被数据所有者删除。就像比特币,只有所有者能发起转账一样。
从本质上来说,PPIO拥有两个系统:
一个是分布式存储系统,是由P2P存储技术构建,以Qos为导向,目标是做出不低于AWS S3的Qos(服务质量)。
另外一个是区块链系统,是由区块链技术构建,以经济激励为导向,目标是做出良性的市场经济,让真正价廉物美的服务商获得收益。
下面先来解释一下“中心”是什么意思。
首先,PPIO在存储方面从头到尾都是去中心的,数据永远存放在去中心化的网络中。但是一个高效的P2P系统并不是只有存储节点,还有一些中心化的服务器。这些服务器是用于管理大量的索引信息,跟踪信息等,让节点之间相互发现对方,让节点之间相互协调。
就像Bitorrent系统中的Tracker服务器角色。这些服务器是不存放数据的,但是如果没有这些中心化服务器,P2P网络会变得非常低效。PPIO系统中也存在这样的角色,这就是所谓的“中心”。
简单来说,区块链、激励、存储是始终去中心的, 只有类似于Bittorrent的Tracker角色,才需要经历3个阶段。
PPIO中的存储角色包括:
用户节点:PPIO的消费者,通过消耗一定的PPIO Coin,来获得存储或下载数据的服务。
发布源节点:发布内容服务的节点,属于一种特殊的用户节点,它们通常不下线,且能够长期提供下载服务;发布源节点类似于IPFS。
存储节点:通过提供存储空间和带宽服务来获得PPIO Coin激励的节点。
检索调度节点:可同时提供检索和调度两种服务, 并可获得PPIO Coin激励的节点,检索功能方便为用户快速定位到指定数据的位置,调度功能管理数据的上传和下载,并根据供需关系调整存储数据副本的流动。
监督节点:承担存储证明中的验证任务并可获得激励的节点,监督节点确认存储节点的总存储容量,验证用户数据存储下载,检查存储时空和下载带宽的有效性;
其他去中心化存储项目,如FileCoin, MaidSafe,都没有单独的监督节点角色,需要用他们的矿工节点兼做监督节点。架构师核算了矿工节点的性能,如果承担监督工作,会有大量的密码学工作,就对矿工们来说要求更高。FileCoin里面的矿工作用,有点类似PPIO里面的存储节点。不同的是PPIO为了降低存储节点的门槛,将提供存储服务的角色和监督角色分开,所以将监督节点独立出来了。
在介绍了以上信息后,下面再来详细介绍PPIO未来发展的3个阶段。
其中去中心化的节点有:用户节点、发布源节点、存储节点。
中心化的节点有:检索调度节点、监督节点。
除此之外,PPIO还有一个结算中心,也是中心化的,负责计算节点之间Token的支付。
这个阶段,区块链只有一条主链。主链上只存放资产信息,也就是用户有多少币,以及相应的转账记录。
其实,StorJ现在也处于目前这个状态,它的分布式存储是自己做的,激励是直接使用以太坊上的ERC20代币。它是靠中心化统计,然后每个月按时给矿工发工资的方式来激励的。
其中去中心化的节点有:用户节点、发布源节点、存储节点。
中心化的节点有:检索调度节点、监督节点。
联盟部署必须有PPIO的许可才能加入并部署节点。这样做的目地是使用人为的方式来避免这些节点作恶,从而降低这个阶段的开发难度。
之前的结算中心服务器,在这个阶段演化成了一组侧链,每条侧链上有多个节点交替产生区块。由出块节点做结算,其他节点对结算的结果做验证。侧链和主链之间分别做共识,侧链和主链之间通过预言机机制来通讯。
这条侧链我们称为合约链。如果这条侧链的性能不够,可以分裂出多条合约链。
这个阶段,区块链只有一条主链和多条合约链构成,资产、合约、证明均写在区块链上。但是合约链相关的节点是必须有授权才能部署的,简单地说,合约链处于联盟链状态。
这个阶段,所有节点都是去中心化的。
这是PPIO的最终状态,之前在”弱中心“状态下联盟部署的节点,如检索调度节点、监督节点在这个阶段就没有接入限制了,任何人都可以加入PPIO网络并进行部署这些节点。
这个阶段,区块链依然保持一条主链和多条合约链构成。合约链也不再是联盟链,变成了公链。区块链共识算法也会在这个阶段实现。
这篇文章详细解释了PPIO的三个阶段,如果你还有疑问,不要着急,下一篇将介绍《为何PPIO要设计成三个阶段》。敬请期待!
想了解更多有关PPIO的信息,可以移步官网:PPIO