主页 > imtoken官网下载广告 > 区块链比特币挖矿与难度调整

区块链比特币挖矿与难度调整

imtoken官网下载广告 2023-04-13 06:15:44

区块链比特币挖矿与难度调整

发表于2021-05-06 苏羽笔记

前言:本文由小畅感网(cha138.com)小编整理整理。 主要介绍区块链比特币挖矿和难度调整相关知识。 希望对你有一定的参考价值。

》这篇区块链笔记是根据北大肖震老师的公开课和网络资料自行整理的,由于文章篇幅,将分为比特币和以太坊进行更新,非常感谢肖老师。肖震为区块链公开课使之成为我个人区块链技术学习过程中的一笔宝贵财富,有兴趣的朋友可以参考肖震老师的个人网站:zhenxiao.com”

1—前言 挖矿的本质:不断尝试随机数,使得区块头中的哈希值≤目标阈值。 即:H(Block Header)≤Target(Target越小,挖矿难度越高)

2—全节点和轻节点 1. 全节点:

【区块链】比特币挖矿及难度调整

2、轻节点:

【区块链】比特币挖矿及难度调整

扩展:比特币有两个主要的安全保证。

1、密码学:因为私钥的存在,没有私钥就没有签名。

2. 共识机制。

中国比特币矿池_比特币矿池新版下载_比特币矿池注册

3—挖矿设备 1、CPU2、GPU(主要用于大规模并行计算) 3、ASIC(目前比较主流的挖矿方式只能计算HASH值,不能做其他全节点可以做的事情)(Application Specific Integrated电路)

4—矿池 Q:为什么要有矿池?

答:对于单个矿工来说,即使使用ASIC矿机,其算力也只占整个系统的一小部分。 即使从平均收入中盈利,其收入也很不稳定。

另外,单个矿工除了挖矿之外,还要承担全节点的其他职责,造成算力消耗。

因此,为了解决这些问题,引入了矿池的概念。 矿工只需要不断计算哈希值,全节点的其他责任由矿工承担。 此外,矿池的出现解决了个体矿工收益不稳定的问题。 所有矿工在获得收益后,对收益进行分配,从而保证了收益的稳定性。

引自CSDN网友:Sinocifengs

【区块链】比特币挖矿及难度调整

上图展示了矿池和矿工的关系。 其中,矿池主要负责全节点的工作,矿工负责计算哈希值。

Q:假设矿工来自世界各地,如何公平分配收益? 思路一:平均分配,假设有100个矿工,那么100个矿工会得到一个平均分。 但是这个想法有一个问题,就是会导致矿工懈怠和偷懒,因为不管他们有没有真正挖矿,最终都会得到收益,所以这个想法是无法实现的。 思路二:按劳分配,矿工的主要工作是计算hash值,也就是找到nonce。 我们假设当前的目标阈值是要求hash值的前70位为0,但是很难找到随机数nonce比特币矿池新版下载,使得最终的hash值满足前70位为0,所以矿池可以降低一些要求,只要矿工挖到A股就可以分配到前60位为0的hash值。整个矿池最终挖出矿后,按照金额分配收益每个矿工手中的份额。 (share可以理解为工作量证明,因为hash值前60位为0,对矿池没有意义,因为不符合目标门槛要求,但可以作为证明供矿池判断矿工的工作量。所以我们可以大概理解为share ≈ almost vaild block)

以下数据截至2021年5月5日

【区块链】比特币挖矿及难度调整

(全球比特币矿池主要分布国家)

比特币矿池注册_中国比特币矿池_比特币矿池新版下载

【区块链】比特币挖矿及难度调整

(占全球比特币矿池的主要份额)

【区块链】比特币挖矿及难度调整

(全球比特币矿池主要份额分布)

5—几个问题 根据上一节比特币矿池的份额,我们可以发现没有一个矿池的份额超过51%。 从表面上看,比特币的安全性似乎还是有保障的,但如果几个大份额的矿池联合起来,他们的份额很可能会超过51%,所以从这个角度来看,矿池的出现很可能会影响到比特币的安全性。比特币系统的安全性。 那么我们现在假设有一个矿池,份额为51%,那么用这51%的算力可以发起什么样的攻击呢? 1. 可以发起分叉攻击吗? 答:是的。 通常,我们认为6个区块被确认后,就意味着交易不可篡改。 但由于矿池拥有51%的算力,矿池中的M仍有可能发起分叉攻击。 如下图,M先转账给A,等待6个区块确认后,M转账到自己的另一个账户M'。 由于矿池持有全网51%的算力,下链的出块时间会比上链快很多,这样下链就成为了最长的合法链,而下链的交易上层 M 向 A 的传输被回滚,从而实现分叉攻击。

【区块链】比特币挖矿及难度调整

2. 可以激活抵制吗? 例如,A 希望全网抵制任何与 B 相关的交易。

答:是的。 如果A的矿池拥有51%的算力,A就可以通过分叉攻击回滚所有涉及A的交易,一旦A广播全网公布,其他小矿工就不敢再发送包含B的交易了打包进区块,因为A会进行分叉攻击。 如果小矿工还这么干,那么小矿工就拿不到支付奖励,等于白挖了。 在这种情况下,B 等于社会死亡。

【区块链】比特币挖矿及难度调整

3.我可以偷币吗?

A:这几乎是不可能的,除非被盗账户的私钥可用。 因为即使矿池算力达到51%,他也没有他想窃取的账户私钥,所以这个目的是无法实现的。 如果你强行将签名不正确的交易纳入区块,其他矿工是无法识别的,所以不管这条链有多长,其他矿工仍然不会识别这条链是最长的合法链,所以盗币几乎是不可能实现的。

5—挖矿难度 挖矿难度是指计算出一个满足给定目标的HASH值的难易程度。 比特币网络存在全球区块难度。 有效区域必须有一个HASH值,并且HASH值必须小于给定的目标HASH。 简单的说就是哈希值前n位0的个数是否满足目标阈值要求。 我们在 中提到过,目前的比特币哈希算法是SHA256,即哈希值为256位,输出空间为2的256次方,即取值范围为2的256次方。 挖矿难度计算公式:

比特币矿池注册_比特币矿池新版下载_中国比特币矿池

【区块链】比特币挖矿及难度调整

目标:目标阈值。

Difficulty_1_target:挖矿难度(Target)等于1时对应的目标阈值。

我们知道 H(Block Header) ≤ Target 是挖矿成功的必要条件。 Target 越小,越难开采。 当挖矿难度等于1时,对应的Target很大。 可以看出,挖矿难度与目标阈值成反比。

我们来看几个问题:

1、为什么要调整挖矿难度?

答:假设不调整挖矿难度,系统总算力越来越强,挖矿难度不变,那么出块时间会越来越短。 从出块到插入BTC网络之间存在延迟,此时会频繁出现分叉,因此必须调整挖矿难度。

2、出块时间越来越短会怎样? (这是对上一个问题的补充)

答:出现分叉,如下图。 当出块时间过短时,不仅会出现两次分叉,甚至可能出现n次分叉,不利于比特币系统达成共识,还可能影响系统的安全性。 当前的比特币区块时间是每个区块 10 分钟。

【区块链】比特币挖矿及难度调整

3、10分钟出块一次是不是最好的设置?

答:当然不是比特币矿池新版下载,但是10分钟作为一个固定值,为比特币系统达成共识提供了更好的基础。 相比之下,以太坊的出块时间更快,大约15秒,所以以太坊更容易出现分叉,所以以太坊专门设计了一个新的共识协议ghost来解决分叉问题,这个我们后面会讲到。

比特币矿池新版下载_比特币矿池注册_中国比特币矿池

6—如何调整挖矿难度 首先,比特币系统规定每2016个区块调整一次挖矿难度。 根据出块时间间隔为10分钟,我们可以计算出挖矿难度的调整周期:

【区块链】比特币挖矿及难度调整

挖矿难度计算公式:

【区块链】比特币挖矿及难度调整

目标阈值的计算公式为:

【区块链】比特币挖矿及难度调整

实际时间:系统产生2016个区块的实际时间。 预计时间:系统生成2016个区块的预计时间(14天)。 刚才我们提到挖矿难度与目标门槛成反比,可以通过上面的公式来确认。 注:当实际时间超过系统预设的最大或最小时间时,所有计算均以预设的最大或现场时间计算。最小时间:半周

最长时间:8周 由此我们可以知道,比特币的单次难度调整是有上下限的,不可能一次性调整到无限困难或者无限简单。

问:如果有恶意节点不调整挖矿难度怎么办? 答:如果恶意节点不调整挖矿难度,那么诚实节点将不会接受恶意节点发送的未调整挖矿难度的区块。

【区块链】比特币挖矿及难度调整

根据上图可以发现,挖矿难度和平均算力的增长基本一致

根据上图可以发现,近年来出块时间基本保持在10分钟左右

比特币矿池注册_比特币矿池新版下载_中国比特币矿池

7—总结 本文介绍了比特币挖矿和难度调整的相关内容。 如有错误请指正。 班级。

关于我 我是南京师范大学研究生,区块链技术爱好者。 欢迎通过公众号与我交流,希望大家都能圆梦,Peace! Github:

以上就是关于区块链比特币挖矿和难度调整的主要内容。 如果您的问题无法解决,请参考以下文章

区块链IPFS挖矿及IPFS项目介绍 杭州

比特币自私挖矿

该国已开始大规模规范比特币挖矿和交易。 对ipfs影响大吗?

该国已开始大规模规范比特币挖矿和交易。 对ipfs影响大吗?

没有深入学习区块链,不要急于挖矿

比特币挖矿对环境的真正影响是什么?

比特币挖矿

区块链技术——比特币

区块链学姐:7月18日,比特币短暂维持回调。 后续回调什么时候出现?

区块链系列教程:比特币挖矿