在上一篇文章中,我们主要从价值取向、技术层次、服务质量、分权程度和经济激励机制五个方面分析了三个项目的差异。本文将重点介绍区块链的架构设计、数据传输技术设计和数据存储技术设计。
区块链架构Storj仅使用ERC20的令牌来标识其存储节点的贡献,而平台本身没有区块链支持。因此,客户端/用户与存储节点/挖掘器之间的事务是通过集中式服务节点(卫星)完成的。所以严格来说,Storj不是一个公链项目,而是一个基于以太坊的应用。Filecoin和PPIO都有自己的链条,不仅在链条上实现价值的流通,而且在链条上完成交易和证明。它们是真正基于区块链的存储和分配平台。
#1共识算法
Filecoin在设计上从一开始就是去中心化的,发明了一种共识算法,叫做EC。Storj没有自己的共识算法,而是使用以太坊公链的算法。PPIO在完全分权阶段将采用VRF和BFT的组合,类似于无限公共链的机制。为了简化前期的技术难度,PPIO采用了相对集中的DPoS共识算法。
#2存储验证算法
在常见的公链项目中,共识算法和证明算法是集成在一起的,比如PoW、PoS等。但在分散存储项目中,这部分难度很大,所以我把存储证明算法拿出来单独分析。
Filecoin支持PoRep(复制证明)和PoSt(时空证明)。复制证书是指实际进行网络复制后获得的证书;时空证明是文件占据一定空间并保持一定时间的证明。Filecoin是这两种已被证明的算法的支持者。在Filecoin的白皮书中,证明这两种算法的过程占据了70%以上的篇幅。Storj的白色皮肤上透露出来的采用证明是PoS (Storage Proof),没有白皮书中的PoRep和PoSt那么严谨。PPIO还使用了两种更严格的算法,PoRep和PoSt。此外,PPIO还创建了自己的PoD(下载证明),主要用于证明从多个点下载的数据。该算法有利于流媒体传输。PPIO还在白皮书中提到了一种LPoC(轻量级容量证明算法)来进行存储节点的冷启动。但后来,官方已经决定取消LPoC,因为LPoC并不产生有价值的服务,而是像BurstCoin一样,无所畏惧地消耗硬盘资源,这不符合PPIO项目的初衷。三个项目的区块链架构比较
#3区块链架构
PPIO设计了主链加多个契约链的架构,契约链相当于侧链。这种设计有两个主要原因:
为了更好的性能扩展。当一条链的性能不够用的时候,可以有多条链来扩展,侧链本身就相当于做分片技术。出于不同地区内容管理的合规性考虑。PPIO被定位为一家公司。考虑到它必须遵守不同国家的法律,不同国家可能需要部署独立的合同链。可以支持的合同的细节有些不同。#4上行链路信息
传说数据一旦被写入区块链中的块(这个过程也叫上传),就不能被删除或篡改。的确,区块链的本质是分布式数据库,全球数百万台机器同步识别的信息无法删除。所以说到存储区块链,大家的直觉都是,既然需要存储的数据内容是链式的,那么存储的内容是否不能被删除或修改。答案是否定的。Filecoin、Storj和PPIO没有将实际存储的内容写入区块链。因此,实际存储的数据可以被删除和修改。
那么这三条公链上存储的是什么信息呢?
Storj是基于ETH公链实现的,链上的信息写在ETH上的Stroj契约中。这就是著名的ERC20合约,所以只有资产和交易是挂钩的。除了资产和交易,Filecoin还与认证信息相关联。Filecoin的合约都是在链下完成,而不是链上。PPIO不仅将资产、交易和证书连锁化,还将合同连锁化。传输#1覆盖网络
PPIO支持覆盖网络,每个存储节点/挖掘器将与自己物理连接的存储节点作为邻居。在数据传输和信息交互过程中,邻居节点的优势将得到充分发挥,网络效率将大大提高。Storj目前没有设计类似支付网关的功能。Filecoin本身没有类似支付网关的功能。不过这个功能可能是第三方开发者在上层实现的。#2流媒体传输优化
Filecoin和Storj针对的是文件下载,不考虑流媒体的特殊处理。PPIO实现了专门的流媒体数据驱动下载算法,从而保证了实时流媒体的流畅播放。PPIO的传输算法
# 3技术支持
全称proactive network provider participation for P2P,既可以加强同一个服务提供商(ISP)的网络流量,又可以降低骨干网的传输压力和运营成本,从而提高P2P文件的传输性能。与P2P随机选择节点不同,P4P模式可以协调网络拓扑数据,有效选择节点,从而提高网络路由效率。
PPIO团队之前做PPTV的时候有丰富的跟运营商打交道的经验,采用了P4P的技术。Filecoin和Storj在他们的设计中没有考虑P4P。
#4流行内容的自适应调度
PPIO支持P2P-CDN。在P2P-CDN中,热门内容的自适应调度非常重要,也是提高服务质量(QoS)的重要手段。流行内容的自适应调度是指当一个文件在网络中变得流行时,系统会自动触发调度机制,允许更多的存储节点存储该文件。这种设计不仅可以提高用户体验,还可以增加更多存储节点的收入。相反,当一个热门文件失去热度时,系统会自适应地减少存储这个文件的存储节点数量。这就形成了一种动态平衡。PPIO在热点内容调度算法上做了很大的努力。目前Filecoin和Storj还没有设计出类似的机制。
PPIO热点内容自适应调度
存储技术第一名擦除技术
PPIO实现了全拷贝和擦除共存;Storj是纯纠删码模式;Filecoin可能不会考虑这个问题。
要理解这个问题,首先要明白纠删码对存储系统非常重要。擦除技术可以大大降低数据丢失率,专业的指标叫耐久性。擦除技术是将文件适当扩展,分成N份。只要有K个副本,就可以恢复一个完整的文件。如果这N个切片放在不同的机器上,即使n-k台机器离线,文件恢复也不受影响。
因为PPIO的定位是存储和分发,所以针对上层的文件碎片设计了纠删码和全拷贝模式。全副本主要用于分发,因为全副本传输可以保证数据获取的效率,最快的得到数据。而擦除可以更好地保证数据不丢失。即使矿工人数不稳定,纠删码技术也可以在冗余很少的情况下实现高耐久性(俗称11个9)。
#2基于覆盖网络的存储节点优先级选择
存储节点的选择可以比喻为BitTorrent下载中的Tracker功能,专门针对资源和用户。
PPIO设计了一种算法,首先根据网络距离选择存储节点。这个算法是多维的,不仅考虑了网络距离(从重叠网络中获得),还考虑了价格、承诺时间、节点稳定性、节点信用值等历史条件。但是网络距离是首先要考虑的。Filecoin的定位是基础设施,存储和认证是匹配的。Filecoin的供给端和需求端在链下是完全自己匹配的,有签名有证明就可以获得奖励。也就是说,整个Filecoin设计中没有类似BitTorrent Tracker的角色来匹配资源和矿工的关系。Storj在这一点上没有透露太多细节。但是Storj肯定考虑过这个问题,因为每个P2P项目都要考虑节点的选择。以上是以上三个项目的八个异同点。我们用一张图来总结一下:
三个项目的异同总结
如果您有更多问题,请关注PPIO官方微信账号,或者加入PPIO开发者社区,直接与我们的核心开发团队见面。