面对信息化时代,稍不注意就会脱轨,所以及时的补充知识才能让我们与时俱进,今天给大家带来的是关于以太坊大都会难度和以太坊难度调整的一篇文章,相信会给你带来较大的帮助!
待字闺中开发了一门区块链方面的课程:《深入浅出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算法,不足之处,请批评指正。
ETH通过挖矿产生,平均大概每13秒产生2个块,挖矿的时候,矿工使用计算机去计算一道函数计算题的答案,直到有矿工计算到正确答案即完成区块的打包信息,而作为第一个计算出来的矿工将会得到2枚ETH的奖励。
如果矿工A率先算出正确的答案,那么矿工A将获得以太币作为奖励,并在全网广播告诉所有矿工“我已经把答案算出来了”并让所有在答题的矿工们进行验证并更新正确答案。如果矿工B算出正确答案,那么其他矿工将会停止当前的解题过程,记录正确答案,并开始做下一道题,直到算出正确答案,并一直重复此过程。
矿工角色
矿工在这个游戏中很难作弊。他们是没法伪装工作又得出正确答案。这就是为什么这个解题的过程被称为“工作量证明”(POW)。
解题的过程大约每12-15秒,矿工就会挖出2个区块。如果矿工挖矿的速度过快或者过慢,算法会自动调整题目的难度,把出块速度保持在13秒左右。
矿工获取这些ETH币是有随机性的,挖矿的收益取决于投入的算力,就相当你的计算机越多,你答题的正确的概率也就越高,更容易获得区块奖励。
以太坊是一个不断发展与完善的公链平台,按照对外公布的发展路线图以太坊分为4个阶段:前沿”(Frontier)、”家园”(Homestead)、”大都会”(Metropolis)和”宁静”(Serenity),每当一次大的升级之后,都会进入一个新的阶段。
是的
未来的话,以太坊的挖矿难度会越来越大,而且加入挖矿的门槛也要求高了。
与所有区块链技术一样,以太坊使用基于激励的安全模型。声称是网络中的矿工的任何节点都可以尝试创建并阻止验证区。世界各地的许多矿工正在同时创建和验证区块。
一、以太坊采矿的基本原则
1、与所有区块链技术一样,以太坊使用基于激励的安全模型。声称是网络中的矿工的任何节点都可以尝试创建并阻止验证区。世界各地的许多矿工正在同时创建和验证区块。每个矿工通过向块链发送块来提供数学机制的“证据”。此测试类似于保证:如果此测试存在,则此块必须有效。
2、对于要添加到主链的块,矿工必须比其他矿工更快地提供此“测试”。通过矿工提供的数学机制的“证明”,每个区块的确认过程称为工作测试。经证实,新区块内的矿工将获得一定的奖励。什么是奖励?以太坊使用内在数字代币 – 以太作为奖励。每次矿工尝试新的块时,都会生成一个新的以太坊并将其提供给矿工。
第二、以太坊和比特币的区别
1、同点:比特币和以太坊都是成功的区块链技术应用。人们通过比特币认识区块链技术。通过以太坊,人们意识到区块链可以是独立的。所有这些都基于区块链,其中交易是公开记录的,货币和资产交易更方便和让步,并且消除了繁琐的中间人。
2、差异:比特币是一种分散的点对点数字支付系统,类似于全球清算银行。而且这家银行不是一个集中式组织的成员,它没有CEO,它没有管理员,只有代码的基本原则和共识。从同行转移价值,没有其他第三方或信托机构。
3、比特币总量为2100W。对于每生成21W的块,块生成的比特币数量减少一半,每10分钟生成一个块。一般而言,它是一种通货紧缩的电子货币。以太坊的定义是一个分散的点对点虚拟机,可以理解为使用代币执行价值分配并吸引所有各方建立生态系统的平台。以太坊的总量没有上限。
三、智能合约和协议ERC20
1、智能合约首先是合同,它以代码的形式规定交易执行的双方,并规定了执行合同的某些激活条件。一旦这些条件被激活,商定的交易就会自动执行,通常是一些交易。这些交易将由矿工挖掘出来,并最终合并到公共链中,这是不可否认的,不可逆转。
2、以太坊中的智能合约基本上是互联网上的开源。任何用户都可以看到相关接口的定义和激活时间。如果没有统一的标准,许多智能合约将使每个人都难以理解,这份智能合约究竟做了什么?此时,ERC20协议已启动。
3、开发人员可以通过查看其他智能合约然后调用自己的合同轻松了解相关界面的角色。标准化是非常有益的,这意味着这些资产可以在不同的平台和项目中使用,否则它们只能在特定情况下使用。
四、为什么以太坊可以用来发送硬币
因为智能合同的存在的,合同可以被用来安排货币集资最后存入帐户的用户,并且因为0x7D0使用相同的标准ERC20如直接交换0x7D0和FAD支持以太坊生态系统这将更容易。
五、以太坊贸易限制
1、对于每笔交易,交易的发起人必须设定交易的Gas限价和Gas价格。不同的操作将产生不同的Gas,Gas成本当矿工完成后,矿工将停止运行并且用过的Gas将被奖励给矿工。
2、如果某些气体仍然存在,如果用户声明限制值太低或者中间的帐号Eth不足以支付Gas消耗,它将返回到交易的发起人或智能合约的创建者,由于Gas不足,协议将被取消,用于计算的Gas将不会退回账户。
六、网络计算能力为太坊全
以太网中所有当前采矿机器的总计算能力,当前采矿集群是根据该值计算的当前块的难度。
七、以太坊提取难度
块的难度用于提高块验证区的一致性。 Genesis块的难度是131,072,并且有一个特殊的公式用于计算之后每个块的难度。如果检查块比前一个块更快,则以太坊协议将增加块的难度。通过调整块的难度,您可以调整验证区块所需的时间,即突发速度。检查时间的自我调整以继续以恒定速率生成新快。
8、单张卡的计算能力与采矿收入之间的关系
单张卡的计算能力越大,可以进行的检查越多,获得公式结果的概率是,情况越大,如果使用地雷组,所提供的股份数量越大,采矿业的收入就越大。
都看完了嘛?相信现在您对以太坊大都会难度有一个初级的认识了吧!也可以收藏页面获取更多以太坊难度调整知识哟!区块链、虚拟币,我们是认真的!
bitget是正规靠谱平台吗?VIC币流动性挖矿在Bitget平台的参与指南
什么是莱特币挖矿机 下载Bitget交易所体验一下
【本文标题和网址,转载请注明来源】以太坊大都会难度(以太坊难度调整) http://www.gdmzwhlytsq.com/bibaike/362328.html