澳门威尼斯人线上下注>彩民故事>国际服亚洲版-IPFS社区炸开锅:“下一个Filecoin测试网需要搭配GPU”

国际服亚洲版-IPFS社区炸开锅:“下一个Filecoin测试网需要搭配GPU”

[2020-01-11 17:20:25] 【

国际服亚洲版-IPFS社区炸开锅:“下一个Filecoin测试网需要搭配GPU”

国际服亚洲版,免责声明:本文旨在传递更多市场信息,不构成任何投资建议。文章仅代表作者观点,不代表火星财经官方立场。

小编:记得关注哦

投资区块链,猛戳:火星财经app下载

来源:星想法

原文标题:区块链 - filecoin为什么需要gpu?

今天ipfs/filecoin的各种群炸开了锅,原因是filecoin内部开发人员透露,下一个filecoin的测试网络需要搭配gpu。而且filecoin内部测试使用的是2080ti的显卡。

同时,聊天记录表明,下一个测试网络需要在一个区块时间内完成post的计算。晚上下了一下最新的go-filecoin的代码,看了看。奇怪的是,最新代码的共识部分(ec)以及节点选举流程和之前没有多大的差别。

01目前节点选举流程

核心逻辑在go-filecoin/internal/pkg/mining/worker.go文件中的mine函数,由以下几步组成:

创建下一个区块的ticket

获取上一个tipset中的最小的ticket,并使用nextticket函数生成下一个区块的ticket。计算方式非常简单,就是对上一个tipset中的最小的ticket进行签名。目前签名支持两种算法:bls以及secp256k1。默认采用secp256k1算法。

延迟一个区块时间

一个区块时间(blocktime)默认是30秒。目前的代码实现直接采用delay。从todo可以看出,这一部分设计中是想采用vdf。但是,目前代码还没有完全实现。

从前面一些区块获取election ticket

从前面一些区块中获取最小的ticket,作为election ticket。从前面一些区块选举,是为了保证随机性。

生成election proof

获取了election ticket,并对其签名,生成election proof。

确定是否是winner

通过iselectionwinner函数判断是否是winner。逻辑也非常明了,查看election proof是否小于有效存储率。如果小于,说明是winner,可以生产区块。

整个逻辑非常清楚,计算过程也没有复杂的计算,最复杂的计算也就是签名。目前的区块生成流程没有必要使用gpu。问题来了,下一版本的区块生成流程变了。

02下一版本的节点选举流程

下一版本的区块链生成流程,没有公开源代码。但是,在filecoin的设计文档已经有体现:

https://filecoin-project.github.io/specs/#algorithms__proof_of_spacetime__election_post

post的部分多了一个算法:election post。election post,目的是在生成区块的时候,绑定post的计算。也就是说,一个节点需要生成区块,必须提供post的计算和证明。

设计文档给出了大致的生成区块的算法:

随机数生成(sample randomness)

也就是从前面一些区块获取一个ticket,并签名,签名结果作为随机数。

确定partial ticket

从上述获取的随机数,确定k次挑战的sector以及相应的数据。由这些数据,上一步骤生成的随机数和节点的id生成partial ticket。

生成post证明

如果partial ticket的系数小于节点的存储率的话,说明节点是winner,可以生成区块。在生成区块前,必须生成post证明。

显而易见,新的区块生成流程,需要在一个区块时间内,生成post证明。post证明生成,涉及k次零知识证明(zk-snark)的证明计算,相当来说,计算时间较长。通过gpu加速,可以缩短post证明的时间。

澳门永盈会在线娱乐

本栏最新

本栏推荐