Go-filecoin 0.1.4更新简介

Go-filecoin 0.1.4更新简介就在不久前的3月27日,协议实验室于Github上Release了新版go-filecoin客户端,版本号为0.1.4。同时Filecoin测试网中的数据也进行了重置以配合本次更新所添加的“时空证明(proof of spacetime)。我们将花费少许时间,为大家介绍本次更新的具体内容。

一句话总结:新版本的go-filecoin令客户端的安装体验更好,实装时空证明验证体系,优化了网络信息传输与链接速度。

具体更新内容:

一、安装和设置优化:

1、支持以二进制(Binary)形式安装

新版本中明显改善了go-filecoin在Linux和MacOS系统下安装体验,并支持以二进制格式(Binary)安装go-filecoin,有效提高偏远地区的下载速度并减少安装报错。

2、”证明参数(Proofs parameters)“现可直接下载

在之前的版本中,为了保证下载客户端和部署节点时数据的完整,系统会在”安装“操作执行之前生成证明参数,这将占用大量的外部储存空间,降低安装速度并提高系统要求,让许多低配置用户无法正常运行节点。而现在用户可以在安装过程中通过下载已经预编译好的证明参数,减少系统自生成参数所导致的相关问题。

3、版本验证

现在节点在加入网路后将自动验证客户端的版本,以明确网络版本与节点运行的版本之差距,在未来协议实验室将令Filecoin网络支持不同版本的客户端。

二、新的特性

时空证明(Proof of space-time)现已集成在客户端中

在新版本中,矿工可以用 rust-fil-proofs 相关指令来周期性的生成长期储存证明。后续的更新中,协议实验室将会对时空证明的底层结构与表现进行相关优化,并不断测试时空证明是否有导致储存挖矿故障的可能。

三、可靠性与运行优化

1、网络优化

协议实验室升级了Libp2p至最新的6.0.35版本,该版本修复了auto-relay的可靠性问题,并新增了 go-filecoin dht 指令集来对DHT进行交互和调试。

2、信息传送优化

之前的版本中,如果网络信息(比如请求同步区块)发送失败,那么客户端不仅不会提示信息发送失败,go-filecoin还会基于发送失败的信息之Nonce值,继续引用更高的Nonce值发送消息。由于低Nonce值的信息并未发送到网络中,高Nonce值的消息即使发送到网络也会被其他节点拒绝。新版本中,协议实验室对信息传送进行了数项优化:新增信息传入和传出队列,优化选择Nonce值的逻辑,以及在信息传递失败后的提示。详细的更新内容集成在了 Mpool ls/show/rm 命令中

3、区块同步优化

新版本中以Bitswap seesoins工具优化了节点同步区块的速度。

4、修复了 内容传输超时 报错

之前的版本中,文件传输的时间窗口被设置的太短,导致一些大文件无法进行正常传输,引起相关内容的储存交易迟迟无法完成。目前协议实验室延长了文件传输的时间窗口,大文件可以正常传输了。

参考文献:

①Filecoin Blog:http://filecoin.io/blog/go-filecoin-0.1.4-release/

② go-filecoin github: https://github.com/filecoin-project/go-filecoin

详细的更新内容请参考Changelog更新日志:

https://github.com/filecoin-project/go-filecoin/blob/master/CHANGELOG.md

总结:

本次更新最亮眼的莫过于时空证明的实装了,经过之前复制证明游戏(Replication game)的测试,时空证明已经确定无法在短期内碰撞出证明参数来攻击和窃取储存的文件,说明其具有相当的安全性。今年上半年协议实验室的工作速度明显加快,Filecoin主网的准时上线也不再只是一纸空谈,我们也将实时关注协议实验室相关项目的最新进展,及时反馈测试信息,助力Filecoin主网准时上线。、

另外,虽然最新版本优化了区块同步速度,但实际操作过程中,基于Ubuntu系统,在国内网络环境下,仍然有较大概率出现同步错误,表现在区块同步超过两个后程序即停止运行,无法继续同步区块。