当前位置:区块链之家 > 区块链技术 > 以太坊共识算法知识分享

以太坊共识算法是什么(ETH使用的共识协议介绍)

发布:2023-01-05 09:41:15 59


很多网友在找以太坊共识算法是什么、ETH使用的共识协议介绍、、的相关内容,网友马佳怜珊根据主题投稿了本篇文章,涉及到以太坊、共识算法、ETH、共识协议、区块链、比特币相关内容,已被321网友关注。

以太坊共识算法知识分享

以太坊共识算法是什么?

以太坊中设计了一套基于POW的Ethash共识算法。以太坊中共识设计的主要思想是设计一大一小的2个数据集,初始大小是:小:16M的cache 大:1G的dataset(DAG)

设计一大一小的目的是:大的数据集是小的cahce通过计算生成的,矿工为了能更快的挖矿只能保存大的dataset,以免重复计算耽误时间,而轻节点只需保存保存小的cache即可验证。

大小数据集的生成原理

以太坊共识算法是什么?ETH使用的共识协议介绍

1.小cache:

初始大小为16M,容量大小以后每30000个区块会更改一次。

通过Seed种子进行一些运算得到第一个数,之后在小cache中的每个数都是前一个数取哈希后得到的,一般轻节点存储此小cache。

2.大DAG:

大的数据集中的元素都是通过小的cahe计算得到的,小cache中通过伪随机顺序先得到一个位置的元素A的值,再通过A计算哈希得到B位置的值,循环迭代256次后得到了大数据集中的第一个元素,依次类推直到得到全部的DAG元素。

3.挖矿过程

在以太坊中挖矿成功的条件跟比特币一样,找到一个nonce值,需要满足H(header) lt;= target.

尝试一个随机数nonce时,在大的DAG中,通过header及nonce计算出一个初始的哈希值映射到初始位置A,然后读取A位置元素和A的相邻后一个位置A'的元素,再通过(A和A')计算出位置(B和B'),依次类推,迭代64次后,一共读取出128个数,最后计算这128个数的哈希值与目标值target比较,若满足lt;=target,则挖矿成功;否则重新尝试nonce。如下图所示:

以太坊共识算法是什么?ETH使用的共识协议介绍

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

以太坊共识算法是什么?ETH使用的共识协议介绍

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使用的共识协议介绍的详细内容,更多关于以太坊共识算法知识分享的资料请关注码农之家其它相关文章!

相关文章

  • 什么是以太坊虚拟机EVM?EVM有什么作用?

    区块链技术发布:2022-12-03

    这篇文章主要介绍了什么是以太坊虚拟机EVM?EVM有什么作用?每个参与到以太坊协议中的节点都会在各自电脑上运行软件,这就被称为以太坊虚拟机(EVM)。具体的请大家参考一下内容吧!


  • Nvidia将推专业显卡CMP矿卡(以太坊挖矿性能和效率提升)

    区块链技术发布:2022-11-26

    这篇文章主要介绍了Nvidia将推专业显卡CMP矿卡 以太坊挖矿性能和效率提升,为了缓解游戏芯片被挖矿工抢夺的情况,Nvidia也下定决心将推出以太坊挖矿专用芯片CMP 系列。下面一起来参考一下吧!


  • ETH显卡算力表,2021最新以太坊ETH挖矿显卡算力排行

    区块链技术发布:2022-12-01

    这篇文章主要介绍了ETH显卡算力表,2021最新以太坊ETH挖矿显卡算力排行,那么本文将列出NVIDIA显卡跟AMD显卡热门的显卡挖矿算力与功耗排名数据,根据目前的显卡挖矿行情,以太坊(ETH)跟CFX(Conflux)收益最佳,所以仅列出这两个币的算力,需要的朋友可以参考下。


  • 火币网用人民币购买以太坊(ETH)操作步骤步骤

    区块链技术发布:2022-11-19

    这篇文章主要介绍了火币网用人民币购买以太坊(ETH)操作步骤教程,推荐使用交易量最大的数字货币交易所之一火币网,火币网有直接的“闪电交易”,支持以太坊(ETH),一键买币,对于新手来说用人民币购买以太坊等数字货币非常便捷,需要的朋友可以参考下。


  • 在ouyi购买以太坊ETH操作步骤步骤

    区块链技术发布:2022-11-19

    这篇文章主要介绍了在OKEx购买以太坊ETH操作步骤教程,在OKEx交易所中,购买、出售、或保管以太坊ETH都非常方便,下面这篇文章就教大家如何购买以太坊ETH,需要的朋友可以参考下。


  • 以太坊2.0信标链的目标是什么与发展现状

    区块链技术发布:2023-01-03

    这篇文章主要介绍了以太坊2.0信标链的目标是什么与发展现状,以太坊2.0现在正处于阶段0,在这个阶段,会测试并启动信标链,而信标链是 ETH 2.0 中权益证明(PoS)系统的核心。这篇文章会解释信标链的作用以及为了它的正式发布我们现在正在进行的工作。一起来看看吧!


  • 以太坊ETH挖矿教程,手把手教你用笔记本电脑挖以太坊(ETH)教程

    区块链技术发布:2022-11-30

    这篇文章主要介绍了以太坊ETH挖矿教程,手把手教你用笔记本电脑挖以太坊(ETH)教程,随着这一轮数字货币牛市的开启,目前的显卡可以说是一卡难求,基本上都溢价超过2倍了,在台式机显卡不好买的情况下,不如买台笔记本来玩玩,下面一起来看看如何用笔记本电脑挖矿的吧!


网友讨论

  • 扩展迷