以太坊PoW light client Ethash proof

1. 引言

相关代码实现有:

为了降低Asic算力冲击,基于Asic芯片对内存的访问能力不足,以太坊设计了基于PoW的Ethash共识算法,在该算法中,增加了内存访问的需求。

2. Ethash基本原理

Ethash中包含2个数据集:

  • 1)小:16MB的cache
  • 2)大:1GB的dataset(DAG)。通常需要数小时来生成,建议将其在内存存储。

设计一大一小的目的是:大的数据集是根据小的cache计算而来的,miner要想更快的命中目标,只能保存大的dataset,以避免重复计算耽误时间,而轻节点只需保存小的cache即可验证。
在这里插入图片描述

Ethash算法的基本流程为:

  • 1)存在种子seed:可扫描迄今为止的每个区块头计算获得。
  • 2)基于该种子seed,可计算16MB的cache,light client会存储这16MB cache。
  • 3)基于16MB cache,可生成1GB dataset,该dataset中每个item的属性仅取决于cache中的一小部分items。全节点和miners需要存储这1GB的dataset。该dataset会随着时间线性增长。
  • 4)mining算法中包括 从1GB dataset中随机抓取slices 然后再一起hash。验证使用cache仅需要很少的内存就可重新生成该dataset中的特定pieces,因此你仅需要存储cache。

大的dataset每3万个区块更新一次,因此,miner的大部分精力在于读取该dataset,而不是修改该dataset。

参考资料

[1] 以太坊中基于Ethash共识算法详解
[2] Ethash DAG
[3] Ethash

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值