(2) 有效性证明:
有效性证明需在领奖时提供,如无法提供,则不能领奖。该证明可以保障重节点存储了链上认可的有效文件,而不是本地随机生成文件片;而且因为文件存储上链需要耗费成本,所以重节点们也不会为了提高获奖几率而主动上传无用文件。
有效性证明是一棵树,包括从文件根CID到待证明文件片CID的路径,及该路径上所有节点的兄弟节点,如下图中,希望生成绿色节点的有效性证明,则绿色、黄色节点的CID均需包括在该证明中,蓝色节点的CID无需包含在该证明中。

3.1.3.5 重节点获奖概率
可以预见,对于同一个挑战值,总是会有多个节点存储最佳CID,为了避免节点无差别的存储所有文件,浪费存储资源,并且文件总量超出节点的存储能力时给节点一些取舍依据,多个找到最佳CID的节点获奖概率将会依据节点与挑战值/最佳CID的距离不同而不同。
(1) 前置条件:重节点逻辑位置均匀
IPFS节点的地址空间(addressSpace)大小为2256,地址address可以表示为:

对于重节点而言,有效地址空间随着重节点网络世代(generation)变化重节点网络的世代(generation)随着重节点数量(CorePeerNum)变化而变化

而在每个generation,重节点的生效地址空间eeffectAddress 为:


(2) 重节点的获奖权重
重节点网络中,每一个分片至少有 2n 个重节点持有,只需保证激励中至少有 2n个节点处于奖励的第一梯队就可以满足这个需求。基于重节点网络逻辑位置的均匀性,我们规定在generation-n的长度内,与分片逻辑位置越接近的节点在参与抽奖时有更大的获奖概率。
例如,在generation=4即(CorePeerNum >= 16,为了方便起见,这里假设CorePeerNum = 16),n = 2 时,假设16个节点都存储了某个开奖文件片,该文件片地址为CAddress,并且都参与了激励。
那么在抽奖时,每个节点将依据与该分片的逻辑距离分别获取20,21,22三种权重Weight,每个节点地址addressi 权重Weighti计算方式如下:

函数CommonPrefixLen(x,y)用于求两个相同位数的二进制数值的共同前导零个数,go语言实现如下:

每个节点获奖概率Pi计算如下:

每个节点自由选择是否存储某个文件片,在正常情形下,节点将优先存储与自己更近的文件片,在存储能力还有空余时一级一级的选择存储更远的文件片。
(3) 重节点的存储门槛
在generation较大的情况下,可以发布一个门槛数值threshold(数值默认为0),只有节点与文件片的地址的共同前导大于threshold时才能参与激励服务,此设置可以强制避免一个文件片存储在过多的节点上,同时也有助于减少激励服务和文件检索的压力,因为网络中将只有1/2threshold的节点存储某个分片和参加对应的激励。
四. 存储生态建设
纵观互联网的各项技术的发展,或多或少都符合这样一个趋势,就是从单点走向多点,由中心化转为多中心化或者去中心化。存储技术的迭代当然也符合这样的规律,从最早的单点的硬件存储到后面的云存储,再到后面的分布式存储,去中心化存储也是历史的必然。
海峡链的“许可IPFS存储网络”旨在为用户提供可信任的、不可篡改、抗物理攻击的文件存储服务,以及文件权限管理、版本管理以及全生命周期追溯等功能。海峡链面向生态建设者开放“许可IPFS存储网络”存储生态,存储服务提供商可通过建设重节点来分享收益。海峡链希望与存储服务提供商一起,“共识、共建、共治、共享”海峡链去中心化存储生态!