浏览器
双核浏览器
游戏浏览器
高速浏览器
视频浏览器
IE浏览器
浏览器周边
手机浏览器
安卓游戏
音乐舞蹈
养成游戏
儿童游戏
仙侠手游
角色扮演
策略塔防
休闲益智
动作冒险
飞行射击
模拟经营
体育运动
赛车竞速
网络游戏
安卓软件
资讯阅读
生活服务
影音播放
购物理财
效率办公
趣味娱乐
交通出行
学习教育
摄影图像
在线音乐
系统工具
网络购物
聊天工具
安全杀毒
图片编辑
新闻资讯
软件资讯
游戏资讯
手机教程
手游攻略
游戏攻略
软件教程
IE专区
安卓专题
文章合集
电脑软件专题
安全软件
杀毒软件
系统安全
加密解密
防火墙
远程控制
木马查杀
影音软件
网络电视
视频播放
音乐播放
视频制作
音频编辑
录音录像
教育学习
外语学习
教育管理
早教启蒙
在线课堂
成人教育
资格考试
聊天社交
即时通讯
视频聊天
在线交友
变声器
表情包
办公软件
线上会议
文档管理
行业管理
考勤打卡
应用工具
输入法
下载工具
时钟日历
记事本
文件管理
计算器
编程开发
编程工具
JAVA相关
加壳脱壳
编程控件
数据库
网页源码
软件开发
补丁制作
系统美化
桌面制作
壁纸大全
系统主题
屏幕保护
桌面辅助
系统软件
系统优化
备份还原
系统检测
U盘工具
磁盘工具
驱动补丁
图文处理
图片素材
图像处理
图片制作
图片压缩
电子相册
抓图工具
其他软件
电子书籍
模拟器
辅助工具
交通出行
手机管理
其他工具
素材下载
字体素材
PPT素材
专区
文章合集
软件
游戏
浏览器
安卓专题
软件
游戏
浏览器
IEfans/ 新闻资讯/ 软件教程 /以太坊的挖矿机制是怎样的?以太坊的挖矿机制是什么?

以太坊的挖矿机制是怎样的?以太坊的挖矿机制是什么?

2023-02-23 21:48:02 编辑:匿名

随着以太坊正式运行的临近,询问以太如何挖矿的朋友也越来越多。这篇文章综合了我们目前所知道的信息,希望能对大家有一些帮助。由于挖矿算法的设计和改进仍在进行中,以下信息仅供参考。下面小编给大家介绍一下!

设计目标

    抵抗矿机(ASIC Resistance)。使用专门优化的芯片产生的挖矿优势应该尽可能的小,小到即使使用普通CPU挖矿也能产生收益。

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

挖矿算法

以太币(ether)的挖矿算法叫做Ethash, 又名Dashimoto (Dagger-Hashimoto),是Hashimoto算法结合Dagger之后产成的一个变种。它的特点是挖矿的效率基本与CPU无关,却和内存大小和内存带宽正相关。对内存大小和带宽的要求意味着那些通过共享内存的方式大规模部署的矿机芯片并不能在挖矿效率上有线性或者超线性(super-linear)的增长。

接下来让我们看看Dashimoto的基本流程:

    对于每一个块(block),先计算出一个种子(seed)。种子的计算只依赖于当前块的信息,例如block number以及block headers。

    使用种子产生32MB的伪随机数据集,称为cache。轻客户端需要保存cache。

    基于cache再生成一个1GB大小的数据集,称为the DAG。这个数据集中的每一个元素都只依赖cache中的某几个元素,换句话说,只要有cache就可以快速计算出DAG中指定位置的元素。完整的可挖矿的客户端需要保存DAG。

    挖矿可以概括为从DAG中随机选择元素然后对其进行hash的过程。验证的过程也是一样,只不过不是从DAG里面选择元素,而是基于cache计算得到指定位置的元素,然后验证这个元素集合的hash结果小于某个值。由于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。

相关推荐

软件更新