小白理财
财富从此刻开始!

011:Ethash算法|《ETH原理与智能合约开发》笔记

011Ethash算法|《ETH原理与智能合约开发》笔记|《ETH原理与智能合约开发》笔记

待字闺中开发了一门区块链方面的课程:《深入浅出ETH原理与智能合约开发》,马良老师讲授。此文集记录我的学习笔记。

课程共8节课。其中,前四课讲ETH原理,后四课讲智能合约。

第四课分为三部分:

这篇文章是第四课第一部分的学习笔记:Ethash算法。

这节课介绍的是以太坊非常核心的挖矿算法。

在介绍Ethash算法之前,先讲一些背景知识。其实区块链技术主要是解决一个共识的问题,而共识是一个层次很丰富的概念,这里把范畴缩小,只讨论区块链中的共识。

什么是共识?

在区块链中,共识是指哪个节点有记账权。网络中有多个节点,理论上都有记账权,首先面临的问题就是,到底谁来记帐。另一个问题,交易一定是有顺序的,即谁在前,前在后。这样可以解决双花问题。区块链中的共识机制就是解决这两个问题,谁记帐和交易的顺序。

什么是工作量证明算法

为了决定众多节点中谁来记帐,可以有多种方案。其中,工作量证明就让节点去算一个哈希值,满足难度目标值的胜出。这个过程只能通过枚举计算,谁算的快,谁获胜的概率大。收益跟节点的工作量有关,这就是工作量证明算法。

为什么要引入工作量证明算法?

Hash Cash 由Adam Back 在1997年发表,中本聪首次在比特币中应用来解决共识问题。

它最初用来解决垃圾邮件问题。

其主要设计思想是通过暴力搜索,找到一种Block头部组合(通过调整nonce)使得嵌套的SHA256单向散列值输出小于一个特定的值(Target)。

这个算法是计算密集型算法,一开始从CPU挖矿,转而为GPU,转而为FPGA,转而为ASIC,从而使得算力变得非常集中。

算力集中就会带来一个问题,若有一个矿池的算力达到51%,则它就会有作恶的风险。这是比特币等使用工作量证明算法的系统的弊端。而以太坊则吸取了这个教训,进行了一些改进,诞生了Ethash算法。

Ethash算法吸取了比特币的教训,专门设计了非常不利用计算的模型,它采用了I/O密集的模型,I/O慢,计算再快也没用。这样,对专用集成电路则不是那么有效。

该算法对GPU友好。一是考虑如果只支持CPU,担心易被木马攻击;二是现在的显存都很大。

轻型客户端的算法不适于挖矿,易于验证;快速启动

算法中,主要依赖于Keccake256 。

数据源除了传统的Block头部,还引入了随机数阵列DAG(有向非循环图)(Vitalik提出)

种子值很小。根据种子值生成缓存值,缓存层的初始值为16M,每个世代增加128K。

在缓存层之下是矿工使用的数据值,数据层的初始值是1G,每个世代增加8M。整个数据层的大小是128Bytes的素数倍。

框架主要分为两个部分,一是DAG的生成,二是用Hashimoto来计算最终的结果。

DAG分为三个层次,种子层,缓存层,数据层。三个层次是逐渐增大的。

种子层很小,依赖上个世代的种子层。

缓存层的第一个数据是根据种子层生成的,后面的根据前面的一个来生成,它是一个串行化的过程。其初始大小是16M,每个世代增加128K。每个元素64字节。

数据层就是要用到的数据,其初始大小1G,现在约2个G,每个元素128字节。数据层的元素依赖缓存层的256个元素。

整个流程是内存密集型。

首先是头部信息和随机数结合在一起,做一个Keccak运算,获得初始的单向散列值Mix[0],128字节。然后,通过另外一个函数,映射到DAG上,获取一个值,再与Mix[0]混合得到Mix[1],如此循环64次,得到Mix[64],128字节。

接下来经过后处理过程,得到 mix final 值,32字节。(这个值在前面两个小节《 009:GHOST协议 》、《 010:搭建测试网络 》都出现过)

再经过计算,得出结果。把它和目标值相比较,小于则挖矿成功。

难度值大,目标值小,就越难(前面需要的 0 越多)。

这个过程也是挖矿难,验证容易。

为防止矿机,mix function函数也有更新过。

难度公式见课件截图。

根据上一个区块的难度,来推算下一个。

从公式看出,难度由三部分组成,首先是上一区块的难度,然后是线性部分,最后是非线性部分。

非线性部分也叫难度炸弹,在过了一个特定的时间节点后,难度是指数上升。如此设计,其背后的目的是,在以太坊的项目周期中,在大都会版本后的下一个版本中,要转换共识,由POW变为POW、POS混合型的协议。基金会的意思可能是使得挖矿变得没意思。

难度曲线图显示,2017年10月,难度有一个大的下降,奖励也由5个变为3个。

本节主要介绍了Ethash算法,不足之处,请批评指正。

一文读懂以太坊—ETH20,是否值得长期持有?

8月5日,以太坊主网伦敦硬分叉升级,在区块链高度12,965,000正式激活,以太坊EIP-1559提案随之生效。

从2019年3月被提出,EIP-1559提案便引发以太坊社区内的巨大争议——反对者认为这项提案“治标不治本”、“伤害不大,侮辱性极强”,支持者则表示提案将“优化用户体验”、“降低以太坊通胀率”。随着伦敦硬分叉生效,EIP-1559提案正式写进了以太坊网络的DNA。

对于生态用户、矿工、DeFi、生态价值反哺,这项提案将会带来哪些影响和波动?8月5日,欧科云链链上大师正式上线EIP-1559专题数据。在这里,伦敦硬分叉前后带来的风向变动,你都能最早知道!

什么是EIP-1559提案?

2019年3月,以太坊创始人Vitalik Buterin和Ethhub创始人Eric Conner联合提出了EIP-1559提案,希望改变以太坊的交易手续费机制,使费用市场更加稳定,缓解以太坊网络的拥堵问题。

EIP-1559提案提出,在今后的费用市场,每笔交易用户需要支付固定基础费,如需加快交易确认可向矿工支付小费,小费归矿工所有,基础费全部销毁。 在链上大师EIP-1559专题页面,我们对提案细节、影响等做了详细分析。 在新的交易手续费机制下,以太坊生态迎来了一场“交易改革”。

EIP-1559专题有哪些数据?

基于以太坊全节点链上数据,欧科云链链上大师推出了EIP-1559专题数据,涵盖硬分叉倒计时、数据概览、矿工收入、交易手续费、小费分布统计等数据,展示了EIP-1559提案生效前后的数据波动,为用户判断以太坊生态的发展态势提供数据参考。

在EIP-1559专题页面,首先看到的是以太坊生态的数据概览。价格走势、最新块高、以太坊当前供应量、以太坊燃烧量等基础数据都汇总在这里。

数据概览下方,便是欧科云链链上大师针对此次升级所做的一系列数据指标。

EIP1559提案对矿工有哪些影响?

新的交易手续费机制给矿工带来了最直接的冲击,因此在EIP-1559提案的反对声音中,一股重要的群体就是矿工。

在矿工收入和交易手续费一栏,链上大师提供了1张折线图和2张柱状图,直观展示EIP-1599提案给矿工带来的影响。

折线图以EIP-1559提案生效时间为轴,展示了在这一大事件发生前后,矿工收入、交易手续费、ETH价格的变化趋势,并且提供ETH和USDT两种计价单位,直观展示EIP-1559协议对这3项数据的影响。

柱状图则分别展示了矿工收入和交易手续费的柱状图,前者展现了原模式下矿工收入和EIP-1559生效后的区块收入、手续费,后者则提供了原模式下总手续费和EIP-1559生效后的基础费、小费数据。

依据这部分数据,矿工和生态用户可以提前做出理性的判断和市场行为。

ETH会出现通缩吗?生态会不会变得更好?

关于EIP-1559提案,一部分人认为它能降低Gas费,并通过销毁一定数量的ETH,一定程度上抵消新发行的ETH、进而带来通缩效应。一部分人则认为从长远来看并不能降低 Gas费,通缩也难以实现。

为了验证这些判断,链上大师提供了3张图表,来展示ETH供应量和销毁量数据。

“ETH供应量”以折线图的形式,分别展示了预估供应量和实际流通量的区别与变化,可以验证EIP-1559提案对于以太坊通胀带来的影响。

“ETH销毁量”则以折线图+柱状图的形式,展示了ETH价格、gas利用率、basefee、交易数和ETH销毁量的变化和相关关系。利用这项数据,可以分析ETH销毁量与ETH价格、交易数等数据的相关性,客观分析EIP-1559提案的意义。

除了基础费之外,以后要给矿工打赏多少小费?

在EIP-1559提案生效后,小费成为ETH生态用户最经常用到的一个数据。

在“小费统计”栏,链上大师提供了3张数据图表,分别展示小费分布统计、小费交易数和具体数据表格呈现。

小费分布统计表以“折线图+箱线图”的形式,展示了最近1000个区块的小费平均数和小费数据;小费交易数,则以“堆叠柱状图(交易数量)+折线图(ETH价格)”的形式,展示最近1000个区块内,小费交易数量和ETH价格的动态关系;而数据表格呈现表,则给出了EIP-1559生效后近N日的平均数据。

伦敦硬分叉后,会引发矿工抵制吗?

EIP-1559提案生效后,支付给矿工的交易费用预计将会减少,这会不会导致矿工投降或反抗,进而影响以太坊生态的稳定性呢?

针对这点,链上大师推出了“链上数据”折线图,将ETH价格、全网算力、区块大小、单位算力收益等数据,并标注出伦敦硬分叉的时间轴,展示各个数据的关联性和在硬分叉前后的变动。

通过观察这张图表,可以直观得到此次硬分叉对以太坊生态的影响。

小结

随着以太坊伦敦硬分叉正式上线,以太坊网络迎来了一场夏风。生长在以太坊上的矿工、用户、DeFi协议等生态参与者,都将被吹动。

这场夏风是急是缓,是利是弊,是热是凉?在我们切身感受到它的冲击之前,欧科云链链上大师推出“EIP-1559专题”,提前洞悉链上数据,充当这场夏风的“测风仪”,不仅为生态参与者带来诸多便利,也进一步完善了以太坊生态的大数据基础设施,开拓了区块链大数据的发展空间和想象力。

本文源自金融界网

ETH 20 的影响:以太坊网络用户会很高兴,因为 ETH 将改变其费用结构,用户将为交易支付更少的费用。这意味着当前的矿工将减少每笔交易的新包含费用,而不是以太坊的拍卖式费用市场,但预计由于 PoS 的能源效率提高和数量的增加,他们的每笔交易成本将下降。由于成本较低,用户和验证者都受益,因此交易量会更高。

ETH 20 降低的成本和更高的速度将使更多类型的 Defi 交易成为可能,并为新的和不同类型的安全令牌、NFT 和其他分布式金融应用程序提供机会,这些应用程序在 ETH 10 中没有经济意义。

ETH 20 还将允许使用零知识汇总和乐观汇总的更复杂和更便宜的智能合约。通过汇总,所有交易数据都以比使用常规基于区块链的交易更便宜的方式捆绑并在以太坊上可用。汇总所需的计算负载是在链下完成的,进一步提高了吞吐量和交易成本效率。

分片将使网络民主化,最终使普通用户能够在个人设备上操作以太坊。越来越多的网络参与者将进一步分散区块链。ETH 的发行量也会减少;ETH 联合创始人 Vitalik Buterin 曾表示,在 ETH 20 下,新代币的发行量应在每年 10 万至 200 万之间,低于目前的每年 470 万,这可能会增加硬币需求。

总结:

ETH 20 升级将使这个有益的全球去中心化智能合约系统能够以其速度、安全性和可靠性的愿景向前发展,减少其碳足迹,并为投资者提供公平的竞争环境,通过赌注他们对 ETH 的未来拥有民主发言权以太坊。以太坊 20 是对已经最广泛用于智能合约的区块链网络的必要升级。随着加密货币、智能合约 Dapp 和 NFT 的接受度不断增长,以太坊 20 网络的可扩展性无疑将吸引更多用户,使其成为首选服务。

以上就是关于011:Ethash算法|《ETH原理与智能合约开发》笔记全部的内容,包括:011:Ethash算法|《ETH原理与智能合约开发》笔记、以太坊伦敦升级!欧科云链链上大师上线EIP-1559专题数据把脉“生态波动”、一文读懂以太坊—ETH2.0,是否值得长期持有等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

赞(0)

评论 抢沙发

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址

理财,财富从此刻开始!