以太网开采机理全分析_今日财经_智行理财网

以太网开采机理全分析

智行网 0

随着以太坊正式运行的临近,询问以太坊开采方法的朋友也越来越多。 这篇文章总结了我们现在知道的信息,希望对大家有帮助。 开采算法的设计和改进还在进行中,以下信息仅供参考。

设计目标电阻矿机(ASIC Resistance )。 使用专门优化的芯片开采的好处应该尽可能小,小到使用普通CPU开采也能获得收益。 可进行写客户端验证

。 灯光客户端应该有能力验证每个块的真实性。 目标是在普通桌面电脑上运行C实现的验证算法,验证时间小于0.01秒,Python或Javascript小于0.1秒,使用内存不超过1MB。

采掘算法Ether(Ether )的采掘算法称为Ethash,又名dashi moto (dagger-Hashimoto )

是Hashimoto算法和Dagger组合的变种。 其特点是开采效率与CPU几乎无关,与内存大小和内存带宽呈正相关

。 对存储器大小和带宽的要求意味着以共享存储器方式大规模部署的采掘机芯片在采掘效率方面没有实现线性或超线性增长。

接下来,我们来看看Dashimoto的基本流程。 对于每个块,首先计算种子。 种子的计算仅取决于当前块的信息,如block number和block

标题。 用种子生成32MB的伪随机数据集,称为cache。 灯光客户端必须保存缓存。 根据cache重新生成1GB的数据集,称为the

达吉。 此数据集中的每个元素仅依赖于cache中的某些元素。 换言之,有了cache,就可以快速计算DAG中指定位置的元素。 完整的可开采客户端必须保存DAG。

开采可以概括为从DAG中随机选择元素并散列的过程。 验证的过程也是如此。 但是,它基于cache计算获取指定位置的元素,而不是从DAG中选择元素

,验证此元素集合的散列结果是否小于某个值。 cache很小,指定位置的DAG元素很容易计算,因此验证过程只需要普通的CPU和普通的内存就可以完成。

cache和DAG在每个周期更新,一个周期的长度为1000个块。 也就是说,这1000个块体产生的cache和DAG完全相同,因此开采的主要工作是从DAG中读取数据

不是更新cache和DAG。 随着时间的推移,DAG的大小呈线性增加,从1GB开始每年增加约7GB。 因此,到2015年12月为止约为8GB,到2016年12月为止约为15GB。

注:上述步骤的数字随着开发的进行而调整,正确的值请参考源代码。 采掘软件预计上线时至少有两种采掘方法。 使用Mist客户端(官方客户端实现)

、基于Go语言)进行CPU开采。 通过以太网守护进程(eth daemon )和sgminer的组合进行GPU开采。 守护进程和sgminer以前的数据通信可以通过JSON-RPC进行

API完成了。 目前有两个与开采相关的API。 eth_getWork和eth_submitWork。

以太网开采机理全分析文档下载: PDF DOC TXT