Aweave 第 17 版白皮书解读(4):存储完整数据副本才是王道

WEEX 唯客博客, 在解读(三)文中,我们通过数学推导对 #SPoRes 的可行性进行了论证。文中的 Bob 与 Alice 一起参与了这场证明游戏。那在 #Arweave 挖矿中,协议部署了这个 SPoRes 游戏的修改版本。在挖矿过程中,协议充当了 Bob 的角色,而网络中的所有矿工共同扮演 Alice 的角色。SPoRes 游戏的每个有效证明都用于创建 Arweave 的下一个区块。具体说来,Arweave 区块的产生与以下参数相关: 其中: BI = Arweave 网络的区块索引 Block Index; 800*n_p = 每个检查点每个分区最多解锁 800 个哈希次数,n_p 是矿工存储的大小为 3.6 TB 的分区的数量,两者相乘是该矿工每秒最大可以尝试的哈希运算次数。 d = 网络的难度。 一个成功有效的证明是那些大于难度值的证明,而这个难度值会随时间变化而被调整,以确保平均每 120 秒挖出一个区块。如果区块 i 与区块(i+10)之间的时间差为 t ,那么从旧难度 d_i 到新难度 d_{i+10} 的调整如下计算: 其中: 公式注解:从上面两个公式中可以看出, 网络难度的调整主要靠参数 r,而 r 意味着实际的区块产生所需要的时间相对于系统期望的 120 秒一个区块的标准时间的偏移参数。 新计算的难度决定了基于每个生成的 SPoA 证明,挖掘区块成功的概率,具体如下: 公式注解:经过以上推导可以得到新难度下的挖掘成功概率是旧难度下成功概率乘以参数 r。 同样,VDF 的难度也会重新计算,目的是为了保持检查点周期在时间上能够每秒发生一次。 完整副本的激励机制 Arweave 通过 SPoRes 机制来生成每个区块是基于这样一个假设: 在激励下,无论是个体矿工还是群体合作矿工,都会以维护完整数据副本作为挖矿的最佳策略来执行。 在先前介绍的 SPoRes 游戏中,存储数据集的同一部分的两个副本所释放的 SPoA 哈希数量与存储整个数据集的完整副本是相同的,这就给矿工留下了投机行为的可能。于是 Arweave 在实际部署这套机制的时候,对其作了一些修改,协议通过将每秒解锁的 SPoA 挑战数量分成两部分 一部分在矿工存储的分区中指定一个分区来释放一定数量的 SPoA 挑战; 另一部分则是在 Arweave 所有数据分区中随机指定一个分区来释放 SP…

Previous:

Next: