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