主页 > imtoken钱包安全吗 > 什么是以太坊挖矿算法?

什么是以太坊挖矿算法?

imtoken钱包安全吗 2023-06-19 06:01:49

与所有区块链技术一样,以太坊使用激励驱动的安全模型。共识基于选择总难度最高的区块。矿工创建区块,其他人检查有效性。区块只有在包含特定难度的工作量并且还有其他资格条件时才有效。请注意以太坊 Serenity 里程碑,它可能会被取代(参见权益证明模型)。

以太坊区块链在许多方面与比特币区块链相似以太坊是挖矿出来的吗,但也存在一些差异。在区块链架构方面,以太坊和比特币的主要区别在于,与比特币不同的是,以太坊区块不仅包含交易列表以太坊是挖矿出来的吗,还包含最近的状态(merkle patricia trie 的根哈希表在状态中被编码得更精确) ) 除此之外,还有另外两个值,块数和难度,也存储在块中。

使用的工作量证明算法称为 Ethash(Dagger-Hashimoto 算法的改进版本),它涉及找到一个随机数输入算法,以使结果低于某个难度阈值。工作量证明算法的要点在于,要找到这样一个随机数,没有比枚举可能性更好的策略了,而且解决方案的验证简单且便宜。由于输出具有均匀分布(由于应用了散点表函数),我们可以保证,平均而言,找到这样一个随机数所需的时间取决于难度阈值。这使得仅通过操纵难度来控制何时发现新块成为可能。

如协议中所述,难度以这样的方式动态调整,即整个网络每 15 秒产生一个块。我们说网络产生了一个区块时间为 15 秒的区块链。这个“心跳”基本上是强调系统状态同步,保证不可能维持分叉(允许双花)或者被恶意行为者重写,除非攻击者拥有超过网络一半的算力(所谓的51%)攻击)。 )。

参与网络的任何节点都可能是矿工,预期的挖矿收入与其(相对)挖矿能力成正比,即每秒尝试的随机数数量,由网络的总速率标准化。

Ethash 工作量证明是内存难以处理的,因此可以抵抗 ASIC。内存难处理性是通过工作量证明算法实现的,该算法需要选择依赖随机数和块标题的固定资源子集。该资源(数 GB 的数据)称为 DAG。 DAG 每 3000 个区块完全不同,125 小时的窗口称为一个 epoch(大约 5.2 天),需要一点时间来生成。由于 DAG 仅由区块高度决定,因此可以提前生成。如果没有提前生成,客户端需要等到流程结束才能生成区块。如果客户端没有提前预生成和缓存 DAG,网络可能会在每个 epoch 转换时遇到大量的块延迟。请注意,验证工作量证明不需要生成 DAG,可以在 CPU 和内存较小的情况下进行验证。

在特殊情况下,从头开始创建节点时,只有在为现有 epoch 创建 DAG 时才会开始挖掘。