欧易下载

欧易交易所
欧易交易所APP官网下载

欧易交易所(Huobi Global)是最老牌的比特、莱特、以太交易所,欧易交易平台支持OTC法币交易,支持微信、支付宝和银行卡转账,安全方便快捷,欧易下载官方APP链接。

金色观察 | 硬核解读比特币具体是怎么减半的

就在5月12日凌晨3:23,比特币成功完成众所瞩目的第三次减半。

自2009年诞生,比特币已经走过波澜壮阔的十年。从交易所、矿机、投资者到媒体,比特币已经带动加密货币行业形成一个完整的生态系统。比特币区块奖励减半从供给侧直接减少一半的货币供给,显然在边际和投资者心理上都极大彰显了比特币的稀缺性。

因此,四年一次的比特币减半成为整个加密货币行业关注的焦点。

但看了那么多比特币减半的文章,你可能还不知道比特币具体是怎么减半的,比如四年减半一次的四年是怎么来的,怎么计算当前区块的奖励等问题。

值此比特币第三次减半之际,来跟随金色财经记者看看Bitcoin Core的代码是具体怎么执行比特币区块奖励减半的。

比特币减半代码

比特币减半,是比特币区块奖励减半的简称。而比特币的区块奖励减半是比特币共识的一部分,直接写在比特币软件代码里。

OpenSea已恢复NFT项目Azuki市场挂单:10月1日消息,据官方页面数据显示,OpenSea 现已恢复 NFT 项目 Azuki 市场挂单,当前 Azuki 地板价暂报 10.2 ETH。金色财经此前报道,OpenSea已将NFT项目Azuki全部市场挂单下架。[2022/10/1 22:42:53]

具体减半代码在这里,下面是截图。

比特币区块奖励减半代码 来源:Bitcoin Core github

就这6行代码定义的函数GetBlockSubsidy决定着不同区块高度下的比特币区块奖励。中本聪创造的比特币共识设置区块奖励从50个比特币开始每210000个区块比特币奖励减半,减半64次后区块奖励为0。

210000个区块的时间大约为四年,这也是币圈人说的四年一次减半的由来。因为比特币减半事件是写进比特币软件代码里并有分布在全世界的比特币全节点验证,其共识很难改变,这也是“In Code We Trust”的由来。

DOGE 24小时资金净流入40.20亿元人民币:金色财经监测数据显示,加密货币市场24小时资金净流入排名前三分别为[2021/4/30 21:11:52]

逐行解读比特币减半

上诉代码主要有几个函数和参数:GetBlockSubsidy、nHeight、Consensus.nSubsidyHalvingInterval、halving、nSubsidy。它们的涵义如下:

GetBlockSubsidy主要是活的当前区块高度下的区块奖励(nSubsidy );

nHeight为当前区块高度;

Consensus.nSubsidyHalvingInterval为比特币共识决定的区块奖励减半间隔区块,此值为一个常数,为210000。

halvings为减半次数,是一个整数变量,也就是对nHeight/210000取整;

中币(ZB) 早行情:BTC 现报37205美元:据中币(ZB)交易平台行情数据,截止到今日09:42时,BTC 现报37205美元(-5.80%),ZB 积分现报0.27美元(+0.15%)。据CoinMarketCap 统计的数字货币总市值为一万亿美元,24 小时总交易额为1525亿美元,比特币市值占比 68.0%。全球市值前 100 名的数字货币有61支上涨,39支下跌。主流资产价格为:ETH 报1181.94美元(-5.13%),EOS 报2.76美元(-2.10%),XRP 报0.28美元(-5.88%),LTC币种 报144.73美元(-6.16%)。中币(ZB)24 小时内涨幅前三的数字货币是:DIP(+268.14%)、CENNZ(+185.16%)、EP(+135.16%)。[2021/1/16 16:19:07]

COIN为常数,为100000000,也就是说,在比特币代码里,比特币的单位是聪。

nSubsidy为区块奖励。

1239行代码调用GetBlockSubsidy函数。

1240行代码:halvings=nHeight/Consensus.nSubsidyHalvingInterval,计算当前区块对应的减半次数。比如截止本文发稿,区块高度为629929,629929/210000=2.99,取整halvings=2。当区块高度达到630000时,halvings=3。

1242和1243行代码:if (halvings >= 64) return 0;判断减半次数是否大于64,如果减半次数大于等于64,则区块奖励为0。这也是来自比特币共识,只有64次减半,64次减半后区块奖励为0。

1245行代码nSubsidy=50*COIN,比特币软件每次执行代码都把区块奖励设置成50* COIN,也就是5000000000。

1247行代码nSubsidy>>=halvings,这一句是真正起作用的比特币区块奖励减半代码。>>= 是二进制右移操作,nSubsidy>>=halvings等价于nSubsidy=nSubsidy除以2的halvings次方。

1248行代码返回比特币当前高度的区块奖励值。

上述代码最后的实质是下面的公式:

因此,1-209999区块每个区块奖励为50/(2^0) =50枚比特币;210000-419999区块奖励减半为50/(2^1)=25枚比特币,420000-629999区块奖励减半至50/(2^2)=12.5个BTC。区块高度630000后减至50/(2^3)=6.25枚比特币。

大神也有BUG

不过,上述6行代码不是中本聪的原始代码,中本聪的原始代码如下:

尽管中本聪是大神,但不代表其代码就没有bug。因为nSubsidy是个64位的有符号整数,而>>= 超过64在C++中属于未定义行为,会导致数值环回,最终导致BTC数量不断重复2100万个比特币的释放过程,见下图。

Pieter Wuille修复了这个bug,有一个专门的比特币改进协议BIP042描述这个bug,文档见这里。

参考资料:

Where in the Code Does the Halving Take Place

BIP042

郑重声明: 本文版权归原作者所有, 转载文章仅为传播更多信息之目的, 如作者信息标记有误, 请第一时间联系我们修改或删除, 多谢。

欧易交易所

欧易okex官网金色观察 | 矿工费占区块奖励比例近20% BTC头上乌云或已散

“在几十年后,当【区块】奖励变得微不足道时,交易费将成为【矿工】的主要补偿。” ——中本聪 长久以来,比特币上空都飘着一朵乌云,也是中本聪最担心的一件事。那就是当比特币多次减半之后,是否有足够的区块激励让矿工继续挖矿,来打包交易并维持比特币网络的安全。 2020年5月12日凌晨,比特币成功完成第三次减半。截止今天,比特币网络持续稳定运行近3天了。

Uniswap金色趋势丨BTC谨防再次下破风险

日线上升楔形三角末端整理,昨日大跌未有效跌破下边线支撑,触及后快速向上拉起,这个位置存在一定的多头撑盘,今日属于大跌后的整理阶段,目前反弹量能一般,上方短期压制0.5回撤位8900美金,站上才有望向上测试14000-10500下降趋势压力位9350-9400压力,而一旦下破楔形下边线支撑,那么后面回落至7600-7800区域将成为可能。

以太坊金色观察 | 2020年加密货币的三个机会还能抓住吗?

眼看着比特币马上要减半了,我们想要的减半行情还没有实现,2019年众多业内人士预测的10万美金遥遥无期。2020年第一个最大的机会要结束了吗? 2019年我们预测2020年的机会时,列举了很多关键词,包含有矿币减半、Eth2.0上线、波卡主网上线、Filecoin挖矿、Defi、产业联盟链等等,但实际结果表明,很多关键词代表的机会,都在市场考验中受挫。

SAND金色观察丨详解Block.one初始投票标准和后续步骤

金色财经 区块链5月15日讯 在委派权益证明(Delegated-Proof-of-Stake)中,对于使代币持有者的利益与网络运营商保持利益一致、以及保护网络本身而言,投票选出区块生产者(Block Producer)候选人并让他们进行投票是至关重要的。Block.one很高兴分享初始投票计划,并希望和社区一起讨论该如何投票。

[0:0ms0-0:687ms