对不起,你们可能关注了一个爱拖更的公众号…
不过不拖更,可能这篇也不会有这么多 猛料…
欢迎大家来到第五章,经过前章 《【Filecoin源码仓库全解析】第四章:存储需求方(用户)的配置操作》的内容阅读后,我们应该对存储需求方(用户)的配置操作有了系统的了解,并在实践中反过来验证了第三章中所描述的存储矿工挖取新块的过程以及整个的生命周期。
我们将在这一章《【Filecoin源码仓库全解析】第五章:检索服务(矿工)的配置操作》中介绍与存储市场并驾齐驱而又息息相关的检索市场,以及Filecoin体系中另一重要角色:检索服务(矿工) 的基本配置操作。
5.1 检索市场
小编认为,检索市场协议在当下的互联网环境中,是非常非常关键,且有潜力的,这也是Filecoin体系设计中的一大亮点。
为什么这么说?
太远的就不追溯了,一起来看下,这两天发生在我们身边,与我们(公司或者个人)息息相关的事件:
事件一:3月2日23点55分阿里云出现大规模宕机故障
这种事这几年好像越来越频繁了,作为一个感同身受的企业客户(以下称为甲方),想吼一句:
如果有一次让你重新上谈判桌的机会,你愿意吗?
你可能会在谈判桌上看到一份这样的不平等协议:
甲方重金购置XXX服务器或者XXX对象存储服务之前,先冻结乙方一部分的抵押金,并同时委托其他方为甲方生成多副本数据冷存。检索数据时,乙方出事了,宕机超过阈值了,甲方可无条件没收抵押金,还有一堆丙丁戊方抢在乙方之前,第一时间立即为您恢复副本数据,并继续提供实时检索服务。(小编猜测,Filecoin未公布的Repair Miner角色设定正是为了平衡这块:你不干,别人抢着干,抵押金会分给最先帮助修复的朋友)
说到这里:
是不是比差遣研发运维兄弟来得省心?
是不是比事后看阿里云脸色来获得理赔更值得推崇?
是不是更能保障甲方的利益?
不知道你怎么想,真有这种好协议,反正我是签定了…
你说巨头们会不会改?
我觉得短时间内(也可能是十几年)、体制难改革…
毕竟这是道人性题,和技术无关…
阿里云做不到,
腾讯云也做不到,
亚马逊应该根本不Care…
但把人性和市场经济研究透了的Filecoin,或许真做得到…
事件二:感谢黑客0xDUDE让我们知道中国普通民众的明文聊天记录
情理之中,有数据黑产的利益驱动,有实力的黑客们都很难淡定。
而且,以现在网民的平均素质,关于自身数据有多值钱这件事,大部分是意识不到的…
身处于目前互联网体制下的巨头们都建立在"网络中间商"的基础上,中间商赚的不仅是差价,还有大量的用户数据。
毕竟大部分投资人都比你精明,你就不好奇,那些年的补贴大战,大家究竟烧钱是为了争夺什么?领完红包的你,究竟是得了便宜,还是被人套路?
我们真的能够相信,中间商有意愿,有能力善待网民的数据?
至少我不相信,大部分"被害人"不相信,协议实验室更不相信…
不仅不信,还设计了IPFS+Filecoin这套体系,毕竟 “请把你的脏手从我的隐私数据上拿开” 这件事总归还是有人带头做的,而且,还做得这么认真且彻底…
Filecoin的检索市场则是其中最重要的一环:帮助数据确权和去中间商交易。
5.1.1 定位
看完慷慨激昂的,我们来点内涵的:
正如Star Li在《Filecoin逻辑梳理及源代码导读》06小节所描述的一样,Filecoin在协议层目前设计的模块有:Hello协议,Storage协议以及Retrieval协议。(PS:小编通读完一遍,觉得很棒,作者同样花费了很多心血研究Filecoin源码和架构,并为大家梳理好了其中最为重要的一些关键点,值得大家仔细阅读。)
Retrieval协议用以规范检索市场,负责文件检索读取等交易事务,与负责区块同步的Hello协议和之前详细介绍的Storage市场协议并驾齐驱,分别发挥不同的专属职能(与存储市场协议不同,检索市场协议的实时并发响应要求更高,参与链上的事务会更少)。
5.1.2 职能
Filecoin体系下的检索市场(Retrieval Marketing Protocol)是未来真正意义实现Web3.0目标的一个产品雏形。
Web3.0我理解为:消灭网络中间商,建造可信互联网基础设施,让用户真正拥有数据自主权,保障用户身份安全以及数据交易。
5.2 实现程度
需要注意的是,协议实验室目前在这块的开发进度还处于比较早期,优先级并不如其他模块,仅支持检索订单的正常交易和数据响应,版本号也因此暂设为0。
为了搭建一个完善的检索市场,已经部分实现的依赖功能有:
- 链下支付通道的Actor扩展
- 基于libp2p的检索服务
- 链上内容寻址接口
- 节点客户端的相关命令行操作
下面将分别介绍每个子模块的细节:
5.3 链下支付通道的Actor扩展
Filecoin的交易市场将承载大量的实时交易,因此,订单撮合和支付渠道被设计为链下事务,同时在未来,除了使用FIL作为支付媒介,还将使用比特币、以太坊等其他跨链支付方案作为支持。下面是支付通道的相关源码结构:
//通道ID
type ChannelID *big.Int
//区块高度