以太坊共识算法是什么?ETH使用的共识协议介绍
以太坊共识算法是什么?
以太坊中设计了一套基于POW的Ethash共识算法。以太坊中共识设计的主要思想是设计一大一小的2个数据集,初始大小是:小:16M的cache 大:1G的dataset(DAG)
设计一大一小的目的是:大的数据集是小的cahce通过计算生成的,矿工为了能更快的挖矿只能保存大的dataset,以免重复计算耽误时间,而轻节点只需保存保存小的cache即可验证。
大小数据集的生成原理

1.小cache:
初始大小为16M,容量大小以后每30000个区块会更改一次。
通过Seed种子进行一些运算得到第一个数,之后在小cache中的每个数都是前一个数取哈希后得到的,一般轻节点存储此小cache。
2.大DAG:
大的数据集中的元素都是通过小的cahe计算得到的,小cache中通过伪随机顺序先得到一个位置的元素A的值,再通过A计算哈希得到B位置的值,循环迭代256次后得到了大数据集中的第一个元素,依次类推直到得到全部的DAG元素。
3.挖矿过程
在以太坊中挖矿成功的条件跟比特币一样,找到一个nonce值,需要满足H(header) <= target.
尝试一个随机数nonce时,在大的DAG中,通过header及nonce计算出一个初始的哈希值映射到初始位置A,然后读取A位置元素和A的相邻后一个位置A'的元素,再通过(A和A')计算出位置(B和B'),依次类推,迭代64次后,一共读取出128个数,最后计算这128个数的哈希值与目标值target比较,若满足<=target,则挖矿成功;否则重新尝试nonce。如下图所示:

整体的挖矿过程如下图所示:

4.验证过程
验证过程跟比特币类似,给定一个nonce值,只需验证一次即可。
验证过程跟挖矿过程类似,对于全节点来说,在内存中保存了大的DAG,只需循环计算64次后得到最后的哈希值与目标值比较即可;对于轻节点来说,首先通过小的cache计算出大的DAG后再计算,后面过程跟全节点一样了。
ETH使用的共识协议介绍
以太坊共识机制共有四个阶段,即Frontier(前沿)、Homestead(家园)、Metropolis(大都会)、Serenity(宁静)。以太坊前三个阶段采用的是POW共识机。第四个阶段将采用自己创建的POS机制,名为Casper投注共识,这种机制增加了惩罚机制,并基于POS的思想在记账节点中选取验证人。
POW即工作量证明,是比特币系统中采用的共识机制。(本文主要讲解以太坊的共识机制)
谈起Casper投注共识,要先说POS。POS即权益证明,主要特点以权益证明代替工作量证明,由具有最高权益的节点实现新块加入和获得激励收益。POS共识是为解决POW共识机制的资源浪费和安全性缺陷而提出的替代方案。它的本质是采用权益证明来代替POW中的基于哈希算力的工作量证明,是由系统中具有最高权益而非最高算力的节点获得区块记账权。权益体现为节点对特定数量货币的所有权,称为币龄或币天数(Coindays)。
币龄是特定数量的币与其最后一次交易的时间长度的乘积,每次交易都将会消耗掉特定数量的币龄。例如某人在一笔交易中收到10个币后并持有10天,则获得100币龄;而后其花掉5个币后则消耗掉50币龄,显然采用POS共识机制的系统在特定时间点上的币龄总数是有限的,长期持币者更倾向于拥有更多币龄,因此币龄可视为其在POS系统中的权益。
投注共识是以太坊下一代的共识机制Casper(鬼马小精灵)引入的一个全新概念,属于POS。Casper的共识是按区块达成的,而不像POS那样按链达成。
为了防止验证人在不同的世界中提供不同的投注,还有一个简单严格的条款:如果你两次的投注序号一样,或者说你提交了一个无法让Casper依照合约处理的投注,你将失去所有保证金。从这一点可以看出,Casper与传统的POS不同的是,Casper有惩罚机制,这样非法节点通过恶意攻击网络不仅得不到交易费,而且还面临着保证金被没收的风险。
Casper协议下的验证人需要完成出块和投注两个活动。具体如下:
出块是一个独立于其他所有时间而发生的过程,验证人收集交易,当轮到他们的出块时间时,他们就制造一个区块,并签名,然后发送到网络上。投注的过程更为复杂一些,目前Casper默认的验证人策略被设计为模仿传统的拜占庭容错共识:观察其他的验证人如何投注,取33%处的值,向0或1进一步移动。
而客户端确认当前状态的过程是这样的:一开始先下载所有的区块和投注,然后用上面的算法来形成自己的意见,但是不公布意见;它只是简单地按顺序在每个高度进行观察,如果一个区块的概率高于0.5就处理它,否则就跳过它。在处理所有的区块之后,所得到的状态就可以显示为区块链的当前状态”。
总之,ethash基本思路和比特币的pow类似,都是不断随机nonce得到的值与难度进行比较,满足条件则挖矿成功,否则继续尝试。与比特币比拼cpu算力不同的是,ethash通过生成一个巨大的数据集,通过限制内存来防止具备强大算力的ASIC矿机垄断,增强了去中心化能力。
以上就是以太坊共识算法是什么?ETH使用的共识协议介绍的详细内容,更多关于以太坊共识算法知识分享的资料请关注脚本之家其它相关文章!
你可能感兴趣的文章
-
OK链安全可靠吗?怎么样?如何为OK链代币添加流动性并定价?
OK链是一个旨在实现高性能、低成本和跨链互操作的Layer1区块链,致力于构建一个开放、互操作的Web3生态系统,OK链的核心业务是提供链上数据分析、合规工具和区块链浏览器,那…
2025-10-07 -
如何参与Reagent空投?免费领取Reagent空投代币步骤教程
Regent是一款5v5第一人称射击游戏,专注于Web3环境中激烈的团队战斗,Reagent空投为加密货币爱好者和竞技游戏玩家提供了25,000美元的奖金池,那么,如何参与Reagent空投?下…
2025-10-04 -
以太坊网络上的 gas 费是多少?如何降低与计算 gas 费?一文介绍
以太坊的 Gas 费是用户在进行链上交易和调用智能合约时支付的计算和存储成本,它既反映了网络的资源使用情况,也决定了交易能否顺利执行,Gas 的价格由基础费用和优先费组成…
2025-09-30 -
什么是加密货币交易费用?加密货币转账交易费最低的五个个网络盘点
对于当今的加密货币投资者来说,了解哪个网络的加密货币转账手续费最低至关重要,手续费是直接影响加密货币转账成本的因素之一,许多投资者倾向于使用手续费最低的网络进行转…
2025-09-30 -
Solana链上如何发币?基于Solana的最全一键发币教程
随着SOL代币价格的不断上涨,Solana生态再度成为热点,那么,Solana链上如何发币?下文将为大家详解基于Solana的最全一键发币教程…
2025-09-30 -
如何克隆代币?教你用PandaTool克隆Solana代币完整指南
代币克隆指的是创建一个与目标代币一模一样的代币,正常我们创建Solana代币,需要手动输入代币的名称、数量、头像等,比较麻烦一点,如果你想复制一个别人的币,通过克隆工…
2025-09-30 -
Hyperliquid (HYPE) 现货 ETF 是什么?何时推出?风险、投资介绍
Hyperliquid在 DeFi 领域的崛起现正迈向华尔街的策略,Bitwise 已向美国 SEC 提交 S-1 文档,旨在推出首档现货 Hyperliquid (HYPE) ETF,该基金将直接持有 HYPE 代币,并允…
2025-09-30 -
代币销毁 VS 重新分配:谁是更健康的选择?一文详解
当经济价值直接影响系统安全性时,重新分配比销毁更能维持系统健康并保障机制合理性,本文小编给大家分析了代币销毁和重新分配,谁是更健康的选择,需要的朋友可以参考下…
2025-09-30 -
什么是 NEAR 协议?Nightshade 分片、AI 融合与区块链扩展深度解析
NEAR 协议是一条第三代的权益证明(Proof-of-Stake)区块链,专门为了解决早期公链的扩展性瓶颈而诞生,它采用了名为 Nightshade 的独特分片技术,能同时在多条平行链上处理…
2025-09-30 -
TON链一键发币手把手教程(全网最详细TON发币教程)
TON全称为The Open Network,是一条为数十亿用户设计的去中心化的第一层公链,具有可扩展性和可分片性能,在TON爆发式增长的背景下,越来越多的用户开始寻求在TON链上发币的…
2025-09-30










