关于比特币矿工的问题!_比特币矿工的问题与对策
这篇文章就和大家聊聊比特币矿工!以及比特币矿工的问题及对策对应的知识点,致力于为用户带来全面可靠的币圈资讯,希望对你有所帮助!
区块链可视为记录所有交易的公共主账本(清单),比特币网络中的每一个参与者都将其视为所有权的权威记录。
比特币没有中心组织,几乎所有完整的节点都有一份公共账本。这个总分类账可以被视为一个认证的记录。到目前为止,还没有一次对主干网区块链的成功攻击,一次也没有。
通过创造新的区块,比特币以一定但递减的速率被铸造出来。。大约每十分钟产生一个新块,每个新块都伴随着一定数量的新比特币从无到有。每开采21万块需要4年左右,货币发行率降低50%。
2016年的某个时候,在第420,000块之后挖掘出",降为12.5比特币/块。在第1323万块(2137年发掘)之前,新币的发行速度将"减半"指数增长64倍。。届时,每块发行的比特币数量将成为比特币的最小货币单位,——1丛。最终,1344万块之后,20.99999997.69亿丛比特币将全部发行完毕。换句话说,到2140年左右,将会有将近2100万个比特币。之后,新区块不再包含比特币奖励,矿工';收入来源于交易手续费。
每个节点接收到事务后,会在全网广播前检查这些事务,并在接收时按照相应的顺序进行。,为有效的新事务创建一个池(事务池)。
在验证每一笔交易时,每个节点都需要参考一长串标准:
交易的语法和数据结构必须正确。
输入和输出列表都不能为空。
事务的字节大小小于MAX_BLOCK_SIZE。
每个产值,以及总金额,必须在指定的范围内(少于2100万币。大于0)。
没有哈希等于0且n等于-1的输入(不应中继coinbase事务)。
nLockTime小于或等于INT_MAX。
事务的字节大小大于或等于100。
交易中的签名数应小于签名操作数的上限。
解锁脚本(Sig)只能将数字推入堆栈。,并且锁脚本(Pubkey)必须符合isStandard的格式(会拒绝不标准的交易)。
池或主分支块中必须存在匹配的事务。
对于每个输入,如果引用的输出存在于池中的任何事务中,则该事务将被拒绝。对于每个输入,在主分支和事务池中找到引用的输出事务。如果输出事务缺少任何输入。,该事务将成为一个孤立的事务。如果匹配的事务没有出现在池中,它将被添加到隔离事务池中。
对于每个输入,如果引用的输出事务是coinbase输出。,输入必须至少获得COINBASE_MATURITY(100)个确认。
对于每个输入,引用的输出必须存在且未被消耗。
使用引用的输出事务获取输入值。,并检查每个输入值和总值是否在指定范围内(小于2100万个硬币,大于0)。
如果输入值之和小于输出值之和,事务将被中止。
如果交易成本太低,无法进入空区块,交易将被拒绝。每个输入解锁脚本都必须根据对应的输出锁定脚本进行验证。
以下挖掘节点被命名为挖掘节点
。挖掘节点总是在监听传播到比特币网络的新块。这些新添加的块对于挖掘节点具有特殊的意义。矿工之间的竞争随着新块的扩散而结束,就像宣布谁是最后的赢家。对于矿工来说,得到一个新的积木意味着参与者赢了,他们输了比赛。但是,一轮比赛的结束也代表着下一轮比赛的开始。
验证交易后,比特币节点会将这些交易添加到自己的内存池中。内存池也称为事务池。一个,用于临时存储尚未添加到块中的事务记录。[XY002][XY001]节点A需要为内存池中的每个事务分配一个优先级,选择优先级较高的事务记录来构建候选块。
事务希望成为"更高的优先级"。需要满足的条件:优先级值大于57,600,000,该值的生成依赖于三个参数:一个比特币(即1亿丛),一天的年龄(144块),交易大小250字节:
Highpriority100,000,000Satoshis*144blocks/250bytes=57,600,000
用于存储块中事务的前50K字节保留给更高优先级的事务。在填充这50k字节时,节点将优先考虑这些优先级最高的事务,而不管它们是否包括矿工';收费与否。这种机制使得高优先级事务甚至零矿工';费用,也可以先治疗。
然后,挖掘节点A将选择包含最小挖掘者的那些事务';的费用,并根据"矿工';每千字节的费用",并优先考虑与高矿工的交易';填充剩余区块的费用。
如果块中还有剩余空间,挖掘节点可以选择那些不包括矿工的事务';费用。一些矿商将尽力整合那些没有矿商的交易';费用,而其他人可能会选择忽略这些交易。
块填满后,内存池中的剩余事务将成为下一个块的候选。因为这些事务仍然在内存池中,所以当新的块被添加到链中时,这些事务引用的UTXO深度(即事务"阻止年龄")也会增加。。因为事务的优先级值取决于"阻止年龄"由它输入,这个事务的优先级值也增加了。最后,一个零矿工的优先值';的收费交易可能满足高优先级的阈值,并被免费打包到块中。
[Xy001]UTXO(未用交易输出):每笔交易都有若干笔交易输入,即资金来源,也有若干笔交易输出,即资金去向。一般而言每一笔交易都需要投入并产生产出,而产出就是"未使用的事务输出",也就是UTXO。 积木时代阻止年龄"UTXO的是自区块链记录UTXO以来经历的块数,即区块链中此UTXO的深度。块中的第一个事务是一个特殊事务,称为硬币创建事务或硬币库事务。。该事务由挖掘节点构成,用于奖励矿工的贡献。假设此时一个区块的奖励是25个比特币,A的挖矿节点会创建一个"支付25.1比特币给A'地址(包括矿工';0.1比特币的手续费)"。,将生成交易的奖励发送到您的钱包。a挖出区块获得的奖励金额是coinbase奖励(25个全新比特币)和所有交易矿工的总和';整块收费。
一个节点构建了一个候选块。然后就轮到A'矿机到"我的这种新的区块和解决工作量证明算法,使这种区块有效。比特币挖掘过程中使用SHA256哈希函数。
最简单的来说,挖掘节点不断尝试。直到它找到使生成的散列值低于特定目标的随机调整。hash函数的结果是无法预先知道的,也没有模式可以得到一个具体的hash值。比如你一个人在屋里打台球,白球从a点到达B点。但是一个人推门进来,看到了B点的白球,但是他没有';不管怎样,我不知道如何从A地到B地。hash函数的这一特性意味着获取哈希值的唯一方法是不断尝试,每次都随机修改输入,直到出现合适的哈希值。
需要以下参数
?block的版本
?最后一个块的哈希值:prev_hash
?要写入的事务的哈希树的值:merkle_root
?更新时间:ntime
?当前难度:nbits
挖矿的过程就是找到x使得
sha256(sha256(版本prev_hashmerkle_rootntimenbitsx))目标
上式中x的取值范围为0~2^32,根据当前难度即可获得目标。
举个例子,想象一下,人们不断地掷出一对骰子来获得一个少于一定点数的游戏。第一局,目标是12。只要你不';不要扔两个六。,你会赢的。那么下一局的目标就是11。玩家只能投10分以下才能赢,但也很简单。如果几局后目标减少到5。现在掷出的骰子有一半以上加起来会超过5分,所以无效。随着目标越来越小,如果你想赢,掷骰子的次数将呈指数增长。最终,当目标是2(最小可能点数)时,平均投36次或2%次,只有一个人能赢。
如上所述,目标决定难度,进而影响求解工作量证明算法所需的时间。。那么问题来了:为什么这个难度值是可调的?谁来调节?怎么调整?
平均每10分钟产生一个比特币块。这是比特币的心跳,是货币发行率和交易速度的基础。不仅仅是短期内。相反,它必须保持几十年不变。在此期间,计算机性能会迅速提高。此外,参与挖掘的人和计算机也会不断变化。为了保持每10分钟产生一个新块的速度,挖掘的难度必须根据这些变化进行调整。实际上难度是一个动态参数,会定期调整,达到每10分钟一个新块的目标。简单来说,难点就是保持每10分钟新块的速率,不考虑开采能力。
因此,在完全分散的网络中,这种调整是怎么做到的?难度的调整在每个完整的节点中独立自动地发生。每2016块(2周内生成的块)中的所有节点都会调整难度。。难度的调整公式是将最近的2016块所用的时间与20160分钟(两个星期,即这些块以10分钟的速度所用的预期时间)进行比较得出的。根据实际持续时间与预期持续时间的比率来调整难度(或变得困难或容易)。。简单来说,如果网络发现块生成速率快于10分钟,会增加难度。如果发现慢于10分钟,难度会降低。
为了防止难度变化过快,每期的调整幅度必须小于一个因子(值为4)。。如果要调整的范围超过4倍,则调整4倍。因为下一个2016区块的周期不平衡会继续存在,下一个周期会进行进一步的难度调整。。因此,可能需要几个2016的块周期来平衡哈希计算能力和难度的巨大差异。
比如目前节点A正在挖掘277,316块,一旦完成挖掘节点A的计算,,立即将该块发送给它的所有邻居节点。在接收和验证这个新块之后,这些节点将继续传播这个块。当这个新块在网络中传播时,每个节点会将其作为第277,316个块(父块是277,315)添加到其自己节点的区块链副本中。当挖掘节点接收并验证这个新块时,它们将放弃先前构建这个具有相同高度的块的计算。,并立即开始计算区块链中的下一个块。
比特币共识机制的第三步是通过网络中的每个节点独立检查每个新块。当一个新的块在网络中传播时,每个节点将它转发给它的节点。,将进行一系列测试来验证它。这确保了只有有效的数据块才会在网络中传播。
每个节点对每个新块的独立验证保证了矿工无法作弊。在前一章中,我们看到矿工如何记录交易。来获得这个街区创造的新比特币和交易费。为什么唐';t矿工为自己录一笔交易获得几千比特币?这是因为每个节点根据相同的规则检查块。无效的coinbase事务将使整个块无效。,这将导致该冻结被拒绝,因此该交易不会成为总帐的一部分。
比特币去中心化的共识机制的最后一步,是在最大工作量证明下,将区块组装成链。一旦节点验证了新的块,它将尝试将新的积木连接到现有的区块链上,并进行组装。
节点维护三种类型的块:[XY002][XY001]。第一种连接主链,[XY002][XY001]。第二种是主链分支(备用链)。
第三是在已知链中没有找到已知的父块。
有时,由新块扩展的区块链不是主链,这一点我们将在下面看到"区块链分叉"。
如果节点收到有效块,但在现有区块链中找不到其父块,则该块被视为"孤立块"。孤儿被保留在孤儿池中,直到它们的父块被节点接收。一旦接收到父块并将其连接到现有的区块链。该节点将从孤立块池中取出孤立块,并将其连接到其父块,作为区块链的一部分。当两个块在短时间间隔内被挖出时,节点可能会以相反的顺序接收,此时就会出现孤块现象。
选择最难的区块链后,所有节点最终在全网达成共识。随着更多的工作量证明加入到链中,链中的暂时差异最终会得到解决。挖掘节点通过"投票"当他们挖出一个新块,延伸出一个链条,这个新块本身就代表了他们的一票。
因为区块链是一种分散的数据结构,所以它在不同的副本之间并不总是一致的。数据块可能在不同的时间到达不同的节点。,导致节点具有不同的区块链视角。解决方案是每个节点总是选择并试图扩展代表累积最大工作量证明的区块链,即最长或累积最多的难度链。
当两个候选块想要同时扩展最长的区块链时,,将发生分叉事件。在正常情况下,当两个矿工在短时间内制定出工作量证明解决方案时,就会出现分叉。两位矿工一在各自的候选区块中找到答案,就立即展开他们的"获胜"阻止网络。,先扩散到邻居节点再扩散到全网。接收到有效块的每个节点将合并它并扩展区块链。如果该节点随后接收到另一个候选块,并且该块具有相同的父块,则该节点将该块连接到候选链。。结果,一些节点接收到一个候选块,而其他节点接收到另一个候选块。这时,出现了两个不同版本的区块链。分叉前
分叉开始
我们看到两名矿工几乎同时在两个不同的街区挖掘。为了便于跟踪这一分叉事件,我们假设有一个来自加拿大的标为红色的区块和一个来自澳大利亚的标为绿色的区块。假设加拿大的一名矿工找到了"红色"块并扩展了"蓝色"父块。几乎与此同时,一名澳大利亚矿工发现了解决这个"绿色"块并扩展了"蓝色"阻止。。所以现在我们有两个区块:一个是"红色"来自加拿大的区块;另一个是"绿色"来自澳大利亚。两个块都是有效的,都包含有效的工作负载证明解决方案,并扩展了相同的父块。这两个块可能包含几乎相同的事务。,只是交易顺序有点不同。
比特币网络中与加拿大相邻的节点(在拓扑上相邻,但在地理上不相邻)将收到"红色"先分块,建立一个累积难度最大的块。"红色"块是这个链中的最后一个块(蓝红色),忽略"绿色"稍后到达的块。相反,更靠近澳大利亚的节点将决定"绿色"块获胜,并将其作为延伸区块链(蓝绿色)的最后一块。,忽略了"红色"几秒钟后到达的块。那些接收"红色"blockfirst会立即将此块作为父块来生成新的候选块,并尝试找到此候选块的工作负载证明解决方案。类似地接受"绿色"block将开始以这个块作为链的顶点生成新的块,并扩展链。
分叉问题几乎总是在一个块中解决。网络中的一些计算能力集中在"红色"块作为父块。在其上创建一个新块;计算能力的另一部分集中在"绿色"阻止。即使计算能力在两个阵营之间平均分配,一个阵营总会在另一个阵营之前找到工作负载证明解决方案并传播出去。在这个例子中,我们可以做一个类比如果矿工在一个"绿色"阻止查找粉色"屏蔽并扩展区块链(蓝绿色粉色),他们会立刻传播这个新的屏蔽,整个网络都会认为这个屏蔽是有效的,如上图所示。
选择了"绿色"block作为上一轮的赢家,会直接把这个链条延长一个block。然而,那些选择"红色"作为获胜者的区块现在将看到两条链:蓝绿色粉色"和"蓝红色"。如上图所示这些节点会根据结果将蓝绿粉链设置为主链,蓝红链设置为备用链。这些节点接受了新的和更长的链,并被迫改变他们原来对区块链的看法,这被称为链重新一致。。因为"红色"当父块不再在最长的链上时,它们的候选块变成了"孤立块"所以现在任何原本想延长区块链的矿工蓝红色"链条会停下来。全网公认的"蓝绿色粉色"链为主链。"粉色"块是这个链中的最后一个块。所有挖掘者立即将他们生成的候选块的父块切换到"粉色"延长"蓝绿色粉色"链条。
理论上,两个块的分叉是可能的。这发生在因为之前的分歧而对立的矿工身上,几乎同时找到了两个不同区块的解。但是,这种情况发生的概率很低。单块分叉每周都会发生,双块分叉非常少见。
比特币将区块间隔设计为10分钟,这是在更快的交易确认和更低的分叉概率之间的折中。较短的块生成间隔会使交易清算更快,同时也会导致更频繁的区块链分叉。相反,较长的间隔将减少分叉的数量。,却会导致更长的清算时间。
2008年全球经济受到金融危机的严重打击。集权的弊端开始显现。基于去中心化的思想,比特币的概念由中本聪提出,并于2009年正式落地。比特币的独特之处在于它的去中心化机制。,可以不依赖特定的金融机构发行,可以实现点对点传输,网络中众多节点组成的分布式账本记录了所有的交易行为。利用密码学等知识建立信任机制,保证比特币在所有流通环节的安全性;与此同时,比特币严重匮乏,总量只有2100万。
比特币有一个独特的"采矿"机制,而这里的挖掘并不是你传统思维中所想的。,去矿上挖煤、铜、金、银那种原始的采矿。相反,计算机被用来计算和解决一个极其困难的数学问题。所有矿工同时在做一个问题,最先计算出哈希值的人,也就是数学问题的答案,可以获得相应的挖掘奖励。。这里的矿工,当然是指所有用电脑算数学题的人。
挖矿的奖励当然是比特币,但是挖矿的奖励分两部分,一部分是区块奖励。同时,矿工需要负责包装用户';的交易行为分成块,并将它们连接到比特币网络。街区奖励不固定。比特币设计了减半机制。最初的块奖励是50个比特币,以后每四年减半。目前已经有三次减半,最近一次发生在今年5月,目前的块奖已经减到6.25;交易的一部分是用户会支付一定数量的比特币作为矿工的记录小费,但这笔费用并不固定。是用户自己设定的,就像点外卖需要配送费一样。当然是现在商家定的。如果用户可以自己设置,自然是配送费用越高,越多人愿意为你的配送接单,配送也会更快。但如果配送费低,愿意接单的人就少了。送货会很慢。比特币交易也是如此。如果手续费高,矿工会优先考虑你的交易。手续费低的话会比较落后。
回到之前所有关于用户挖坑解数学题的问题,为什么有的算起来很快?有些计算很慢?这就要谈到"计算能力"。计算能力就像计算能力。算力高,算力高,算出来的答案会又快又准。既然计算机是在计算数学问题,那么计算能力就是指计算机的计算能力,专门用来提供计算能力的,叫做"矿机"。顺便说一句,初期开采并没有复杂到需要矿机。一台简单的家用电脑就可以挖掘。想想最高价19000美元的比特币。有没有感觉自己错过了一亿?
讲了这么多比特币交易。这种点对点系统是如何进行交易的?这可以和我们真实的银行转账相比,通过输入金额和密码,从一个银行卡账户到目标银行卡账户。在比特币的世界里,有两种密码:公钥和私钥。公钥类似于银行卡号。私钥类似于银行卡密码。你需要用一个"钱包"转账的时候,就像网银APP一样。你可以通过输入自己的私钥,输入对方';的公钥,输入转账金额,设置一定的手续费。
(欧科连云鲲鹏计划第二天打卡)
#比特币手表##数字货币#
最近很多朋友私下问我什么是挖矿?
今晚抽空举个例子说说比特币挖矿是什么意思!仔细看相信会对币圈小的你有帮助
Whatdo";采矿"币圈里的意思?首先,我们要明确一个概念。数字货币没有';起初我没有。数字货币可以通过挖掘产生,我们称之为挖矿。而矿机就是电脑。通过专业的矿用电脑,以数字货币的形式奖励矿工,以获得市场上交易的数字货币!
什么是挖矿?首先,我们要明确一个概念,数字货币没有';t一开始是不存在的,但是数字货币是可以通过挖掘产生的,我们称之为挖矿。矿机就是电脑。通过专业的挖矿电脑,先精确计算出答案,以数字货币的形式奖励矿工。,从而获得市场上交易的数字货币!
采矿可以盈利。通常,矿工';挖矿过程是运行比特币节点、同步历史账本、记录账本最新交易、获取比特币区块奖励的过程。。对于比特币网络来说,矿工通过挖矿来维护比特币网络的安全。对于矿工来说,通过挖矿获得比特币奖励。
那么我们如何挖掘,挖掘时需要注意什么?我给你好好分析一下。!首先要知道,最开始可以用电脑挖出硬币,现在需要专业的挖矿机才能挖出硬币。经过多次迭代和更新,大大提高了我们自己挖掘的难度。那么如何才能选择更合适的采矿方法呢??必须了解目前市场上的挖矿方式。自2008年中本聪首次用计算机挖出第一枚比特币以来,它就掀起了一股挖掘热潮。越来越多的人开始使用计算机进行挖掘,人数的增加也增加了挖掘的难度,普通计算机无法满足挖掘的需要。随着科技的进步,矿机也开始改进,人们开始购买专业矿机。曾经他们在市场上买不到CPU,但这几年科技突飞猛进,越来越多的人认可数字货币,又变得更难了。云计算能力开始显现。与前者相比,这项技术已经有了很大的进步。挖矿已经普及,让每个人都可以挖矿。不得不说,这种人人都可以参与的采矿方式,很快得到了大众的认可,但对于以采矿为生的老矿工来说,却只能被迫分一杯羹!
一般情况下,计算能力与挖矿收入呈正相关,计算能力与收入的关系如下:
1)同等难度下,计算能力越高,收入越高;
2)比特币每2016块难度会每两周调整一次。有可能调整全网难度,导致计算能力增加,收入减少;
3)开始挖矿时,必须有一个操作方便、产量稳定的矿池,其作用是为每个终端细分数据包。,终端计算出来的数据包可以通过精密的算法进行比例分配,支付相应金额的比特币
。采矿是原始的"探索方法"获取数字货币,本质上是用计算机解决一个复杂的数学问题。如果把区块链比作一本大账簿,块是账本里的一页,矿工都是记账的。挖矿的过程就是记账,维持整个网络的正常运行。
以比特币为例。每10分钟,所有矿工一起解决一道数学题。谁先算出答案?相当于挖了这一块,获得了相应的比特币作为奖励。最早的挖矿设备可以是电脑。计算机的CPU用于计算采矿的数学问题。随着比特币价格的上涨,越来越多的人参与挖矿,CPU挖矿逐渐转变为专业显卡。近几年成为特定矿机。
温馨提示:
本信息不构成任何投资建议,投资者不应以此类信息代替自己的独立判断或仅基于此类信息做出决策。
投资有风险,选择要慎重。。在进行任何投资之前,都要确保自己充分了解产品的投资性质和所涉及的风险,在对产品进行认真了解和仔细评估后,再自行判断是否参与交易。
响应时间:2021年3月18日请以平安银行在官网公布的最新业务变动为准。
[我了解平安银行]想了解更多?过来看看"我知道平安银行"~
都吃完了吗?相信现在你对比特币矿工有疑问了吧!你有基本的了解了吗?!也可以收藏页面获取更多关于比特币矿工的知识';问题及对策!区块链,虚拟货币,我们是认真的!