PPIO去中心化存储的了解和记录
介绍
- PIO是一个去中心化的可编程存储和分发网络。用户可以随时从任何位置使用PPIO存储和检索任意数量的数据。PPIO在使用体验和功能方面类似于现有的云存储服务,例如AWS S3。但它不仅可以显著降低成本,同时传输速度更快,并提供更好的隐私保护。
- PPIO存储公链主要有以下特点:
- 更便宜:基于区块链的激励措施设计,使PPIO能够充分利用互联网上大量闲置的带宽和存储资源,以更低的成本提供强大的存储服务。
- 更快速:通过分布式的存储节点代替传统的中心化机房和带宽,文件和数据得以就近存储和传输,充分利用了本地带宽资源,极大的提高了传输速度。
- 更隐私:PPIO先将数据通过端到端双重加密后,再切片成多个分段,不同的分段存放在不同的机器上。平台方自身也不存放数据,完全杜绝泄漏的风险。PPIO的设计初衷是通过利用创始团队PPLabs多年积累的技术和工程经验,在全球范围内高效部署和运营。该团队之前曾为数亿用户设计并运行去中心化P2P网络。PPIO将同时满足传统中心化互联网服务以及新兴的去中心化应用程序(DApps)的存储和数据传输需求。
- PPIO的P2P技术特点包括:
- 数据驱动的智能调度算法,通过设计一套基于预分配方式的P2P多点调度系统,网络可实现智能动态节点选择和调度调整,大幅提升传输效率。
- 分布式哈希技术和算法,使用Kademlia构建DHT网络,既能避免“中央集权式”服务器的单一故障带来的整个网络瘫痪,同时避免单一节点时失效。
- P4P网络优化。P4P是P2P技术的升级版,意在加强服务供应商(ISP)与客户端程序的通信,降低骨干网络传输压力和运营成本,并提高P2P文件传输的性能。不同于传统P2P随机挑选节点,P4P网络优化算法可以协调网络拓扑数据,有效选择节点,从而提高网络路由效率。
- 基于P2P的数据内容分发(PCDN),PPIO的设计支持PCDN服务,并提供了DApp开发接口,不仅用户可以体验到CDN加速服务,开发者也很容易使用PCDN接口为自己的服务提供加速。
- 去中心化存储相关证明
- 以比特币和以太坊的数字货币类证明机制非常简单,数学上非常严密,只要这个计算过程在数学上是不可反向推算的,就没有任何漏洞,不过这种数学计算却变得没有意义:挖比特币的人越多,人类的资源被白白消耗的也就越多。而去中心化存储公链就是把比特币这样浪费资源的挖矿方式,变成能提供服务,做对人类社会有意义的事。
- 去中心化存储证明都不只是靠单机算法就能完成,都需要用网络通讯,由第三方节点对双方做见证的机制来完成证明,而如果这个第三方不可信,就需要多个第三方来共同见证,再由这些第三方共识达成一致。同时去中心化存储系统要对在一段时间提供了服务的所有节点,根据贡献给予奖励,而比特币每次在出块的时候,哪个节点先做对数学题谁获得奖励。所以去中心化存储的证明机制比比特币的证明机制要困难得多。
- 复制证明:Proof-of-Replication (PoRep):确保存储节点将专用物理存储用于存储数据。存储节点不能假装存储数据两次并删除存储重复数据。 这种结构在云存储和分散存储网络设置中非常有用,确保适当的复制级别非常重要,重名存储节点可以创建女巫身份并向同一用户出售其服务两次。 PoRep方案确保每个副本独立存储。
- 时空证明:Proof-of-Spacetime (PoSt) :PoSt允许存储节点说服验证者,存储节点已经花费了一些随时间使用的存储空间(时空)资源。 这是一个随时间推移检查序列的PoSpace。
- 下载证明:Proof-of-Download (PoD):由验证节点来验证数据已经从矿工下载到用户的过程。
FileCoin
FileCoin的环境下,IPFS节点间不仅仅只是利用libp2p来传输共享文件,而又承载了维护区块链的重要能力
Peer连接别的有Blockchain的Peer
Peer传播block
Peer传播transactions
Peer之间传输需要保证安全可靠
P2P技术给去中心化云存储的好处
- 并行处理提高传输速度和优化用户体验所有存储的文件或记录可以安全的被分片保护在不同的节点服务器中,用户不必担心文件损坏或丢失问题;去中心化云存储的并行处理数据的特征也使得数据传输的速度加快,额外地优化了用户的操作体验。
- 数据分块机制和密码学的应用提升安全属性在P2P的技术下,将对文件进行加密上传,文件被分成许多小块,每个加密的小块都被复制以确保冗余。最后, 文件碎片被发送到P2P网络上的各种独立的计算机的存储空间。那些承载文件的个人只拥有文件内容的一个小碎片, 并且加密,这意味着主机无法从文件中获取信息。这也意味着对任何节点发起攻击是毫无意义的,比传统云服务更安全、可靠,大幅降低了隐私数据泄露与数据遭受劫持、篡改的可能性,用户数据操作的安全性也得到提升。
- PS:难点在于P2P技术在对外提供商业服务上面,还需要有很多改造,比如针对Web访问、视频、图片等的处理需求并不相同。
剩余资源的再次使用
-
带宽按月付费,即使当月不用完,也要付同样的价钱,并且大部分人并没有满带宽使用。商业带宽与家用带宽相比要贵得多。运营商内部有大量的未用完的带宽,在部分发展中国家,有资源和关系的人能拿到很便宜甚至免费的价格。使用 PC 的人越来越少,过去大量的硬盘现在被闲置,没有很好的处理方式。使用 NAS 设备的人越来越多,其实使用率不高。5G 时代的来临,将迎来万物互联时代,大量的 IoT 设备都拥有存储能力。
-
通过以上几种现象可以发现:不论是存储,还是带宽,都存在大量的闲置资源,而且因为它们本来就是闲置的资源,成本其实很低,一定远远低于云服务部署机房和硬件的成本。如果把这些闲置资源利用起来,显然,构建的服务成本也会很低。
-
PPIO 项目的本质是一个共享网络,共享网络里面包含有存储和带宽资源,
- 为了鼓励人们共享,引入了激励;
- 为了保证激励的公正和透明,引入了区块链技术。
- 这个共享网络有三个群体,
- 服务者是 PPIO 网络的存储节点,它们贡献带宽和存储;
- 使用者就是 PPIO 网络中的用户,他们享受这些服务;
- 建设者就是 PPIO 网络中的开发者,他们在 PPIO 网络上开发 App,让用户间接的体验到 PPIO 网络。
- 既然是共享经济,就存在一个定价的问题。PPIO 效仿的是现实中的市场经济,由市场决定定价。在同等条件下(比如地域,质量,网速,抵押和承诺等),
- 出价低的存储节点优先签约存储任务,从而获得收益。
- 这样就能鼓励存储节点给出更低价格。另外,PPIO 也采取预言机的机制,
- 通过锚定 AWS 的定价,从而给出官网建议指导价。
- 这个机制的好处是给予了开发者和用户建议,从而提倡开发者和用户拒绝高价,也反向提倡了存储节点不要给出不合理的价格,不然很难成交。这样的市场竞争机制能使得存储价格越来越低,不仅仅如此,还能激发民间的智慧,下面来讲讲何为 PPIO 的民间智慧。
市场竞争会激发民间的智慧
比特币开创了挖矿算力竞争,全世界的矿工都在想办法进行算力竞赛。在这场竞赛当中,起决定性因素主要有 2 点,一个是电费,一个是矿机。民间的比特币矿工也在围绕这两点进行优化。
从全世界范围寻找最便宜的电。
从比特大陆(矿机公司)抢先购买最先进的矿机
因为比特币的算力竞争机制,民间的挖矿的工具也在不断进化,最开始用的是 CPU 家庭挖矿,后来 GPU 家庭挖矿,再后来 ASIC 矿机挖矿,目前来看,只有那些用 ASIC 矿机的专业机构才能赚钱,其他都是亏本的。这个过程就是民间智慧迭代的结果。
比特币挖矿是在浪费资源,在这一点上,PPIO 和比特币不同,PPIO 不是资源的凭空消耗,而是为人类提供存储和分发服务,这对于社会发展是有意义的。不过 PPIO 也有和比特币相同的想法,PPIO 设计市场竞争机制,也是希望 PPIO 的存储节点和和比特币矿工一样,发挥民间智慧,不停地寻找性价比更高的方式来提供服务。我相信最终聪明的存储节点会想办法做以下事情:寻找质量高且更便宜的网络寻找更便宜的硬盘研发更便宜的存储方案
在市场经济中会有法律来维护秩序与规则,同样,PPIO 的经济设计上有抵押和惩罚机制,如果存储节点的带宽和硬盘出现故障,会被监督节点发现从而产生巨大的惩罚。所以存储节点还会想办法改造存储方案,使其有更高的容错率。
另外,也可以想象一下,假如比特币不是基于区块链技术的,会有矿工愿意投入挖矿吗?这也是为什么 PPIO 要使用区块链技术的原因,区块链真正解决的是公正透明;因为有了公正透明,才能让大家在 PPIO 网络中放心地投入资金,努力建设可靠且有竞争力的存储节点来提供服务,而不用担心投入的资金打水漂,这就是信任的价值。
PPIO的2种冗余模式
全副本模式
全副本模式就是把文件,完整地拷贝,新文件和老文件一模一样,这样做并不节约空间,但是P2P能多点下载数据,速度更快,同时可以保证用户下载体验。
纠删副本模式
纠删副本模式就是通过纠删技术来做冗余。简单地说就是,数据分成碎片并编码,使用可配置数量的冗余分片,将所有文件分片存储在不同矿工上。这样做虽然不利于P2P多点传输,但是可以大大节约冗余空间。
下面简单说一下纠删技术产生的数学特征:不妨用 (k,n) 纠删码来编码数据,其中:n表示总共有n个纠删片段k表示在n个纠删片段中,任何k个纠删片段就能完全恢复原始数据。如果数据大小是s字节,则每个纠删片段的大小大约是s/k 字节。如果k = 1时,就相当于复制一个全副本。例如,1MB数据, 如果采用(10,16)纠删码,并且每个纠删片段大小是0.1M,则总存储数据大小就是1.6M。它实际总共用了1.6倍的数据空间大小
让存储供应商(矿工)稳定,淘汰和惩罚不稳定地矿工
为什么PPIO要设计支付代理节点?
支付代理节点(也叫币池节点)
PPIO提供一个类似于支付网关的节点,称为支付代理节点。支付代理节点是一个自负盈亏的盈利机构,用户或开发者可以和支付代理节点签约,购买该节点提供的各种PPIO服务套餐,这个套餐包含了价格,容量,和费用。后续在使用PPIO服务的时候,只要在套餐约定时间和容量范围,所有费用均由该节点来代理支付。
steemit 对标
Steem股权: 可以行使投票权利,可以获益,不能直接购买交易,可以兑换
Steem债券: 稳定,对标美元,可以兑换为货币
Steem货币: 跟市场挂钩,不稳定,可交易
Steemit区块链里每一次产生的新代币,75%发配到奖金池,用于作者的奖励和助力者的奖励,15%的新代币用于奖励给Steem Power的持有者。剩下的10%奖励给区块链的提供动力的见证人
可验证随机函数可以看作是一个随机预言机(Random Oracle,RO),就是可以通过任意的一个输入,获得一个随机数输出。可验证随机函数比随机预言机多了一个非交互的零知识证明,可以用来该随机数输出的正确性,表明这个随机数的确是某个人生成的。
VRF 的方式是,让各个节点自己抽签,如果抽中了之后,大家可以很容易地验证这个结果确实是你生成的。
假设现在是 round 10(第 10 轮),节点们可能会轮流抽签,以节点自己的私钥 + 一个全网都知道的随机数(比如是这轮的轮次 10)作为输入,生成了一个随机数(0-100);设置一个条件:100 个节点轮流抽签,谁先抽出来的随机数大于 10,就是这一轮的打包者。假设 5 号节点抽到了 11,可是只有 5 号知道其他人不知道,因此他在广播这个随机的同时还需要广播一个零知识证明。通过零知识证明,全网只需要通过 5 号的公钥就可以验证,接受 5 号为这轮打包者。
可验证随机函数一共包含四个函数:
1、生成密钥,生成一个公钥私钥对;
2、生成随机数输出;
3、计算零知识证明;
4、验证随机数输出。
POW 被诟病的问题是功耗大和性能低,但是安全边界明显,而且比特币运行已久都没有大问题。POS 共识算法本身不需要大量算力,VRF 可又以在本地抽签,所以 POS 共识算法用 VRF 的好处是功耗比较低,而且最新的算法,验证零知识证明的速度已经非常快。有不少知名的公链项目都用到了 VRF,包括本体、Cardano (共识算法为 Ouroboros,已经迭代了 uroboros、Praos 和 Genesis 三个版本)、Dfinity 和 Algorand。
一些原则
- 出价低的存储节点优先签约存储任务,从而获得收益(防止垄断),存储节点数据丢失
- 寻找质量高且更便宜的网络寻找更便宜的硬盘研发更便宜的存储方案
- 存储节点的带宽和硬盘出现故障,会被监督节点发现从而产生巨大的惩罚。所以存储节点还会想办法改造存储方案,使其有更高的容错率。(存储节点或者说挖矿节点需要抵押代币)
节点理解
- (消费者,本节点主要用来访问数据)用户节点:PPIO的消费者,通过消耗一定的PPIO Coin,来获得存储或下载数据的服务
- (提供云API给多端,多方提供服务)发布源节点:发布内容服务的节点,属于一种特殊的用户节点,它们通常不下线,且能够长期提供下载服务;发布源节点类似于IPFS。
- (矿工,需要抵押)存储节点:通过提供存储空间和带宽服务来获得PPIO Coin激励的节点。
- (索引节点,快速路由)检索调度节点:可同时提供检索和调度两种服务, 并可获得PPIO Coin激励的节点,检索功能方便为用户快速定位到指定数据的位置,调度功能管理数据的上传和下载,并根据供需关系调整存储数据副本的流动。
- (共识节点, 验证节点)监督节点:承担存储证明中的验证任务并可获得激励的节点,监督节点确认存储节点的总存储容量,验证用户数据存储下载,检查存储时空和下载带宽的有效性;
- 结算中心,中心化的,负责计算节点之间Token的支付
- 支付代理节点,本来用户应该直接付款的,但是用户和支付代理节点签订了包年或者包月合约。那么在该合约的有效期内,只要该用户或开发者在符合条件下,都由支付代理节点代替用户付款。
PPIO飞轮效应
- 用户数量增加,带来平台更多的收入 (用户付费,存储更多文件)
- 平台收入增加,存储节点的收入也会增加 (代币增发,挖矿节点激励,跟激励池有关系)
- 存储节点收入增加,吸引更多的存储节点加入 (网络效应)
- 存储节点数量增加,竞争开始变得激烈,只有速度更快,质量更高,报价更低的存储节点会存活下来 (市场竞争)
- 存活下来的优质存储节点,使得平台拥有了更低的价格和更好的服务 (优势沉淀)
- 因为价格和服务更好,从而吸引到更多用户 (闭环)
- 更多用户给平台带来更多收入,… 从而开启了飞轮。
PPIO飞轮效应, 我的理解
- 平台提供优秀的工具和服务,吸引用户使用,并邀请早期矿工(存储节点)
- 用户数量增加,给平台带来更多收益,平台收集用户需求,完善工具和产品,平台邀请其他企业(验证节点)一起提供云产品,提供服务
- 平台收益增加,给矿工带来更多的奖励收益,同时鼓励矿工形成社区
- 存储节点增加,激发矿工寻找更优质方案
- 更优质方案提高平台整体实力,为用户提供更优质的服务
三个阶段(一个主+多个侧链)
- “强中心”阶段
- 平台自己运营
- “弱中心”阶段
- 邀请联盟公司
- “去中心”阶段
- 多接点去中心化,共识算法完成
用户存储过程
- 用户向交易节点购买存储服务,该交易发送到区块链上,链上用户存储空间增加
- 用户上传文件,该文件先会被传送到缓存节点(监控节点,定时检查该文件所在交易是否成功),然后把上传交易上链,链上验证成功,那么,监控节点把数据分发出去
- 数据被存放到了储存节点
- 监控节点定时监控存储节点的数据,并存储
- 结算中心,根据区块链或者定时分发到多个节点产生共识去清算监控节点的数据,然后分发激励到对应的账户在链上直接操作
用户购买方式
-
先付费空间时间
- 用户选择包年,包月,包空间大小方式
-
动态扩容
- 设置想要的存储空间大小和时间
- 用户交押金(该模式只从押金扣除费用)
- 定期扣除押金,直到押金扣除完毕,然后保留数据1月后删除
作者:百里求一
出处:http://www.cnblogs.com/bergus/
我的语雀: https://www.yuque.com/barry.bai
本文版权归作者和博客园共有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接,否则保留追究法律责任的权利。