主页 > imtoken冷钱包官方 > 以太坊(Ethereum ETH)奖励机制详解

以太坊(Ethereum ETH)奖励机制详解

imtoken冷钱包官方 2023-03-03 06:26:57

单位时间.media

以太坊合约地址是什么_以太坊的智能合约是什么_购买以太坊秒合约

全球视野,独到见解

“如果你问显卡最讨厌什么,答案一定是以太坊。

以太坊,矿工为之疯狂,显卡为之瑟瑟发抖,游戏玩家为之大骂。

但是,除了买矿机,连接矿池,卖币套现之外,有没有人关注过以太坊的奖励机制? “

以太坊的智能合约是什么_以太坊合约地址是什么_购买以太坊秒合约

临时叉子

由于区块链是去中心化技术,全球所有矿工同时工作,独立开采符合要求的区块。 由于他们的独立工作,有可能两个独立的矿工发现了两个符合要求的不同区块,如下图所示,称为临时分叉。

注:箭头指向一个区块的意思是它保存了上一个区块的Hash

以太坊的智能合约是什么_购买以太坊秒合约_以太坊合约地址是什么

两个矿工都找到了一个高度为2的区块,那么应该采纳谁呢?

购买以太坊秒合约_以太坊合约地址是什么_以太坊的智能合约是什么

于是撕逼开始了,区块链是势利眼,只认最长链,谁先有后继块,谁成为黄色和绿色块之间的最长链,谁就认,失败的就拒绝。 放弃。 双方矿工为了成为最长链,都拼命将自己挖到的区块广播给更多的节点,希望自己的区块能传播得更广,让更多的矿工在你挖出的区块下挖下一个区块购买以太坊秒合约,最后做出自己的阻止最长链的一部分。

然而,只有一个赢家。 赢者写入历史,输者将被丢弃,其中的交易将被重新打包到后续区块中。 下图是绿色块获胜,黄色块成为孤儿块被抛弃。

以太坊合约地址是什么_以太坊的智能合约是什么_购买以太坊秒合约

这种事情屡见不鲜。 如果一个区块被废弃,其中包含的挖矿奖励会怎样? 对于比特币来说,赢者通吃,输者一无所有,竹篮打水一场空。 挖出黄块的矿工伤心欲绝,痛哭流涕。

大叔块

以太坊创造了一个新名词叔块(Uncle Block)。 对于高度为 3 的块,绿色块是其父块。 黄色块虽然失败了,但它仍然是高度为1的块的子块和绿色块的兄弟块。 因此,高度为3的区块尊称这个黄色区块为叔叔,叔叔区块由此得名。

注:虚线仅用于描述关系,不代表实际连接。

以太坊合约地址是什么_购买以太坊秒合约_以太坊的智能合约是什么

不能成为主链一部分的孤立块如果幸运地被后来的块通过叔叔字段接受到区块链中,就会成为叔块。 如果一个孤儿块没有被任何区块接受,这个孤儿块仍然会被丢弃,不会进入区块链,也就是说购买以太坊秒合约,孤儿块只有被接受后才会成为叔块。

以太坊的设计比比特币更人性化。 叔块也可以得到奖励,矿工再也不用担心忙不过来了。 而在未来的区块中,谁接受了这个叔块,谁就会对接受这个叔块的区块有额外的奖励。 接受叔块也称为包含叔块。

下图显示高度为3的区块包含一个叔块,但只包含叔块,叔块中的交易会返回交易池等待重新打包。 一个块最多只能包含 2 个叔块。

购买以太坊秒合约_以太坊的智能合约是什么_以太坊合约地址是什么

以太坊的智能合约是什么_购买以太坊秒合约_以太坊合约地址是什么

为什么以太坊是这样设计的? 因为以太坊的出块时间在20秒左右,所以比比特币更容易出现临时分叉和孤块。 而且,较短的出块时间也使得区块更难在全网充分传播,尤其是对于那些网速较慢的矿工来说,这是一种极大的不公平。 为了平衡各方利益,设计了这样的叔块机制。 叔块占所有挖出区块的比例称为叔块率,目前叔块率约为9.7%。

以太坊合约地址是什么_购买以太坊秒合约_以太坊的智能合约是什么

驱动程序运行的汽油(Gas)

以太坊是一个运行智能合约的去中心化平台。 它提供了一个以太坊虚拟机(Ethereum Virtual Machine,简称EVM),开发者可以在上面开发各种应用。 您可以将此 EVM 视为您的计算机,它能够运行以太坊定义的一些指令。 与比特币的脚本引擎不同,以太坊的 EVM 非常强大,被称为“图灵完备”。 不管“图灵完备”是什么,只要知道一个“图灵完备”的虚拟机可以实现循环语句即可。 有了循环,肯定会有小坏蛋或者不合格的程序员搞死循环,计算机最终陷入死循环。 最坏的情况是死机了,重启就好了,但是以太坊是去中心化的,如果EVM死循环,是没法重启的。

有没有办法解决这个问题?

不幸的是,这个问题在很多年前就已经被研究过了。 它被称为图灵停机问题(The Halting Problem),已经证明没有办法检测程序是否会死循环。

既然检测不到,有没有其他方法可以防止死循环呢?

在加油站加油的时候,以太坊的开发者陷入了沉思,自言自语:为什么车子不一直发疯停车呢? “因为不会有油!” 加油师傅边说边拔出加油枪。

这个故事只是我自己脑补的,增加一点趣味。

如果程序在EVM上的每条指令都要消耗一点“资源”,“资源”用完了,不管程序执行与否,都会被强行终止,所以不管是不是无限循环与否。

执行程序时消耗的资源称为汽油(Gas),每条指令消耗的汽油量不同。

举几个例子:

以太坊合约地址是什么_购买以太坊秒合约_以太坊的智能合约是什么

• ADD:加法操作3Gas

• MUL:乘法运算5Gas

• SUB:减法运算3Gas

• DIV:除法运算5Gas

• HASH:计算哈希值30Gas

计算越复杂,需要消耗的Gas越多。 只需给程序的gas消耗加一个上限,就可以防止程序出现死循环,无法停止。 同时,以太坊还对每个区块包含的程序所消耗的Gas总量设置了一个上限,以防止区块包含的程序过多影响到一些性能相对较弱的节点。 每个区块可以消耗的Gas上限也是可以调整的,由矿工投票决定。 目前是 6,725,538 Gas。

Gas在现实生活中不是免费的,在以太坊中也不是,你必须使用以太坊购买Gas。 每个程序都会给出他们愿意用多少以太币来购买 1 单位的 Gas,这称为天然气价格(Gas Price)。

每个程序需要支付 Gas 的以太坊可以通过以下公式计算:

Gas 成本 = 消耗的 Gas 量 x Gas 价格

你愿意支付的 Gas 价格越高,你的交易被矿工打包的速度就越快,类似于比特币的交易手续费。

以太坊区块奖励

前面介绍了叔块和Gas,下面进入核心部分,以太坊的奖励机制。 上面说了,以太坊中有两种类型的块,普通块和叔块。 我们需要根据情况讨论每个区块的奖励。

以太坊合约地址是什么_购买以太坊秒合约_以太坊的智能合约是什么

普通区块奖励:

• 固定奖励5ETH,每个普通区块都有

• 区块中包含的所有程序的gas成本总和

• 如果普通区块包含叔块,则每个叔块可以获得固定奖励5ETH的1/32,即0.15625ETH。

叔块奖励:

叔块奖励的计算有些复杂,公式为:

叔块奖励=(叔块高度+8-包含叔块的区块高度)*普通块奖励/8

练习它

首先感谢@江左小梅让我知道了一个非常不错的以太坊区块浏览器以太坊区块信息,可以详细查看每个区块的奖励。

我们来看看刚刚挖出的一个区块4222300。 因为我们是在主链上看到的,所以是一个普通的区块。

它的奖励包括三个部分:

固定奖励:5ETH

购买以太坊秒合约_以太坊合约地址是什么_以太坊的智能合约是什么

总gas成本(有人称之为交易费):0.281837168043699381ETH

包含两个叔块的奖励:5 * ( 1 / 32 ) * 2 = 0.3125ETH

这里需要注意一点,官方文档中的原文是“an extra reward for including uncles as part of block”。 2015年刚接触以太坊的时候,网上很多文章直接说“包括叔块奖励”,让我误以为我得到的奖励和挖这些叔块的奖励一样多,就是Uncles Reward上图中:8.75ETH。 这是错误的。 “包括叔块奖励”是指叔块包括对进入区块链行为的奖励,希望大家避免踏入这个坑。

再来看看另一个叔块

0x1c2cbba0403f1079dcdb70e5971a87ce0fbc03d4572be30e2d17e4e4a0f136d5,看着是不是很别扭? 叔块不方便用高度来表示,因为已经有一个主链块在同一个高度,简直太惨了。 其实叔块也是有高度的,叔块的父块高度+1就是叔块的高度。

以太坊的智能合约是什么_购买以太坊秒合约_以太坊合约地址是什么

直接代入公式:

( 4222271 + 8 – 4222272 ) * 5 / 8 = 4.375ETH

题外话

这就是奖励机制的全部内容。 有没有细心的读者注意到之前挖的坑:

• “每个区块可以消耗的Gas上限也可以调整,由矿工投票决定。” 此次投票调整的流程是怎样的?

为了不让这篇文章太长,给大家阅读带来不便,我先放一放,以后会慢慢补上这些坑。 以太坊确实是一个很好的平台,而且发展也很快。 希望大家能够关注它、了解它、控制它,而不是炒作它,最终摧毁它。