当前位置:首页 > 知识 >

Filecoin挖矿:稳定增长区块奖励的保证

众所周知,Filecoin对矿工的要求非常严苛。算力增长需要完成复制证明,出块需要完成WinningPoSt,而避免受到惩罚需要每天完成WindowPoSt。

复制证明是存储证明的一种实现方式,用于检验矿工节点在某一时刻是否按要求存储了文件数据。

复制证明实现过程:系统验证者会按照一定的规则向节点发起挑战,该挑战带有随机属性节点无法预先知晓,节点需要在规定时间进行算法计算,并向验证者提交结果,证明自己的确存储了相关数据。

Filecoin中有两个重要的证明机制,一个是前面介绍过的复制证明,另一个则是时空证明,其中WinningPoSt和WindowPoSt是测试网二阶段调整后时空证明的实现形式。

Winning代表了出块权,WinningPoSt就是在获得出块权时需要完成的PoSt证明。具体证明过程:Filecoin系统从该矿工节点的有效扇区中随机选取一个扇区,并抽取其中的信息进行验证。矿工节点需要在规定的时间范围内完成WinningPoSt,否则将被判定失败,从而失去该轮次的出块权及区块奖励。

WindowPoSt与Filecoin的“惩罚机制”息息相关,其主要目的是检验矿工是否按要求持续地进行数据存储。

WindowPoSt具体实现方式为:矿工节点需接受Filecoin系统的随机性挑战,以证明自己的确存储了相关数据。矿工每隔一个时间周期都需要挑战接受,并在一定的时间范围内完成证明。一旦未按要求完成或超时,矿工节点将丢失部分算力,同时抵押的FIL也将视严重程度被部分或全部罚没。

如何保证设备的稳定运行并且完成相关证明,是Filecoin运维工程师们面临的一大挑战。

算力的稳定主要跟WindowPoSt相关。Filecoin系统会将每一天分为48个窗口期,矿工每隔半个小时需要完成一次WindowPoSt。一旦矿工出现块高度同步不稳定、扇区计算时间不稳定以及消息上链不稳定等情况,就有可能无法按时完成WindowPoSt,进而导致算力被惩罚,抵押品也将被扣除。

在太空竞赛1阶段时,就出现因消息拥堵、消息无法上链导致很多矿工出现算力下降的情况。针对上述影响因素,我们有一些解决思路:

1)采用高可用部署架构,检测到高度不同步之后切换到备机运行。针对大集群部署多个备用节点,通过自动切换功能,当一个节点出现异常后立即切换到另一个正常节点同步高度。

2)优化存储性能,优化扇区读取方式,通过提高读写并发降低读写时间。这样带来的好处是能够给计算和消息上链预留更充裕的时间。

3)增加消息验证机制,发现消息没上链自动进行重发。目前Filecoin网络出现消息上链失败的情况是没有任何提醒的,只会在30分钟后收到算力被惩罚的提醒。为了确保消息正常上链,需要增加一个自制工具来验证消息是否上链成功。如果未成功,及时进行消息重发。

保证了算力的持续稳定,能否按时完成WinningPoSt顺利出块也是至关重要的。WinningPoSt要求矿工在获得出块权后,需要在30秒内先后完成扇区读取、计算和消息上链,时间更加紧迫。

上述针对WindowPoSt的解决思路也同样适用于WinningPoSt,来保证出块的稳定。

猜你喜欢

关注我们

微信二维码

微信