当前位置:首页 » 挖矿知识 » 比特币挖矿机挖矿过程

比特币挖矿机挖矿过程

发布时间: 2023-07-10 01:30:30

『壹』 天天说挖矿比特币挖矿流程概述。

通俗易懂的大概流程

如果你之前对挖矿根本没有了解,这段介绍就适合你阅读,进入状态后再进行更深层次的学习。

其实通俗来讲原理很简单,比特币作为一种点对点的电子货币体系,挖矿的过程就是一个纪录数据的过程,因为整个系统是开放的,人人可参与的,所以人人都可以进行挖矿,虽然理论上人人都可以参与,但无利不起早没有人会平白无故的参与到网络的建设中,中本聪就利用Hash函数设计了一种激励和竞争方式。

大家都进行数据的处理工作,谁处理的又快又准确,谁就获得记账权,同时获得该区块的奖励。既有奖励又有竞争才使得比特币网络得以正常运转。

想要竞争成功就要经历几个基本的流程。

一、首先你要将没有被记录的交易信息检查并归集到一个数据块中。

二、数据块打包好后,进行哈希运算,算出哈希值,哈希值这个概念在昨天文章中已经详细的介绍过。

三、算出哈希值后进行全网广播,其他矿工接收到后进行验证,验证没有问题就会将这一个数据块连接到整个区块链上,就可以获得这个区块的奖励了。

大致过程了解后就可以开始详细的了解整个过程了。

开始挖矿前的准备工作

这里所说的准备,可不是让你准备买矿机或者给矿机通电,说的是在进行POW工作量证明之前记账节点所作的准备工作。也就是前面流程的第一步的具体解释。

想要收集齐全交易信息,第一步就是收集广播中还没有被记录账本的原始交易信息。收集完成后就要自己先进行验证,主要验证两个方面,1.每个交易信息中的付款地址有没有足够付款的余额。2.验证交易是否有正确的签名。这两项必不可少,通俗一点就是你给别人打钱银行需要确认的就是两点,你账号里到底有没有那么多钱,是不是你本人或本人同意的行为。

这两项验证完后就可以将验证好的数据进行打包,打包完成后当然没有完,因为还有对于矿工来说最最重要的 一 步,添加一个奖励交易,写一个给自己地址增加6.25枚比特币的交易。

如果你竞争成功,那么你的账户地址内就会增加6.25枚比特币,在这里也顺便提一下减半,最开始一个区块的记账奖励是50个比特币,比特币大概每4年奖励就进行减半,前一段时间的减半过后比特币一个区块的奖励已经变成了6.25枚。

值得一提的是前两次减半后都伴随着牛市的来临,现在第三次减半已过,在之后会有什么样的变化呢?

准备工作完成后就要正式的争夺了

因为10分钟左右就一个记账的名额,在这个阶段全世界的矿工,都进行着一场没有硝烟的战争。

那这场仗怎么打呢?其实就是计算Hash函数,矿工算力的比拼,所以说在比特币网络哪里都离不开Hash函数。为了保证在10分钟只有一个人能够成功,这个哈希函数的难度必须适当。直接哈希难度过低,所以规定Hash出的结果必须以若干个0构成。

可能直接这么说开头若干个0还没有什么难度概念,那就简单分析一下,进行这样的计算有多难 , 也就顺便可以解释为什么单打独斗的矿工已经不吃香了。

Hash值跟平常我们设置的密码要求相似,是由数字、字母组成,其中字母区分大小写。也就是说每一位都有62种可能,哈希运算本质就是试错,相当于给你一个不限出错次数的手机让你开锁一样 。 而比特币的哈希值是以18个0开头的,理论上需要进行62的18次方,这个数字在普通计算器上都是以科学计数法显示的,结果为1.832527122*10的32次方。

指数爆炸式的运算次数增长保证了其挖矿的难度。同时也因为难度大带来了一些争议,有人就会说耗费那么大却不产生价值,之前挖矿还在一份意见征集稿中放到了落后产能里。可以说对于挖矿行业的争议是一直存在的。

最后一步验证

找到哈希值后,进行广播打包区块,网络节点就会进行验证。

情况无非就是两种,一种是验证通过,那么表明这个区块成功挖出,其他矿工就不再竞争,选择接受这个区块,将这个区块进行记录,挖出这个区块的矿工就获得了该区块的奖励,并且进入下一个区块的竞争。

另外一种就是不通过,那么前面的那些工作都白费了,投入的成本就没有办法收回,所以矿工们都自觉的遵守着打包和验证的规则,因为作恶成本较高,也就维护了比特币网络的安全。

相信你读完文章已经大致了解了比特币挖矿的整个流程,不过挖矿实际操作起来又是另一个概念了,其中什么时候适合进场挖矿、入手什么样的矿机进行挖矿、通过什么样的方式参与挖矿都是有一定学问的。

挖矿有风险投资需谨慎呀,搞懂再行动,没搞懂之前就要多学习。

『贰』 比特币挖矿是一个什么过程

简单的说,大概每十分钟发行一次。新比特币在每个网络节点在解决了一定的数学计算(比如,创建新的区块)后生成。这个生成过程被认为是难以重现的。解决问题后得到的回报是自动调节的,因此在比特币网络的头4年,将会产生总额为10,500,000比特币的比特币。这个数量每隔4年就自动减半,也就是说在第4至第8年会产生5,250,000比特币,第8至12年则只有2,625,000比特币,以此类推。到最后,总共产生的比特币数量为21,000,000比特币。
另外,伴随着网络一同建立的还有一个系统。平均每隔10分钟,该系统就尝试去收集网络上产生的区块里面的新比特币。创建新比特币的难度系数是随着参与尝试产生新比特币的人数而变化的。某个人“发现”一个区块的可能性是他所用的计算资源和比特币网络上所有计算资源的比值。

『叁』 比特币怎么挖

第一步:准备矿机和矿池 如果你想挖比特币,你必须准备好专业的设备。 目前市面上有很多专业的矿机,矿池也是必不可少的。 在选择矿池时,还应该比较每个矿池。 产出和收入差距,然后选择最合适的矿池。 第二步:注册矿池账号并设置 准备好矿池后,需要注册一个矿池账号,设置一个普通的邮箱。 设置矿工账号时,每个CPU或GPU都需要设置一个矿工账号。 第 3 步:下载比特币矿工 注册并设置帐户后,您需要下载比特币矿工。 下载矿机时,一定要选择能最大限度发挥你的CPU和显卡性能的矿机。 下载后,设置服务器、用户名、密码、设备等。 第 4 步:采矿 设置好矿机后,点击“开始挖矿”按钮,矿机进入全速运行状态,矿机自动开始挖矿。

『肆』 比特币挖矿原理是什么

比特币挖矿就是通过挖矿节点,然后比特币挖矿机(电脑)不断消耗自身的算力,来换取比特币。在比特币系统,通过自身的算法可以动态调整全网节点的挖矿难度,保证每过大约10分钟,就会有一个节点挖矿成功,这时比特币系统就会奖励此人一定数量的比特币。挖比特币是一个比较复杂的过程,不过挖比特币一般会经过这几个步骤,分别是准备工作、找到矿池、注册矿池账号、矿池账号设置、下载比特币挖矿器(软件)、比特币挖矿机配置;经过以上步骤就可以挖矿了。
本条内容来源于:中国法律出版社《中华人民共和国金融法典:应用版》

『伍』 比特币怎么挖矿

比特币挖矿是利用计算机硬件为比特币网络做数学计算进行交易确认和提高安全性的过程。作为对他们服务的奖励,矿工可以得到他们所确认的交易中包含的手续费,以及新创建的比特币。挖矿是一个专业的、竞争激烈的市场,奖金按照完成的计算量分割。并非所有的比特币用户都挖矿,挖矿赚钱也并不容易。

通俗点就是利用你计算机的算力解决数学难题,然后给予你一定的比特币回报。
比特币挖矿经历了三个阶段,CPU、GPU、ASIC 。目前,比特币挖矿需要专业的ASIC矿机。目前市场上比较著名的矿机厂商有Avalon(阿瓦隆)、美国蝴蝶实验室和烤猫,但美国蝴蝶实验喜欢逃票,烤猫则只出售算力很小的矿机。阿瓦隆生产出了世界上第一台Asic矿机,目前,Avalon已经交付首批三代芯片订单。Avalon3也即将进入市场。

还有就是现在挖矿你需要加入一个矿池,因为孤军奋战挖到比特币的几率是很小的,希望能的上你。

『陆』 如何挖比特币

1、首先连接好网线,把网线插进矿机的网线接口,记得插紧一点哦。只有连接上网线矿机才能挖矿,宽带没有限制。

(6)比特币挖矿机挖矿过程扩展阅读

用户可以买到比特币,同时还可以使用计算机依照算法进行大量的运算来“开采”比特币。在用户“开采”比特币时,需要用电脑搜寻64位的数字就行,然后通过反复解谜密与其他淘金者相互竞争,为比特币网络提供所需的数字,如果用户的电脑成功地创造出一组数字,那么就将会获得25个比特币。

由于比特币系统采用了分散化编程,所以在每10分钟内只能获得25个比特币,而到2140年,流通的比特币上限将会达到2100万。换句话说,比特币系统是能够实现自给自足的,通过编码来抵御通胀,并防止他人对这些代码进行破坏。

『柒』 能源区块链研究丨比特币挖矿的发展进程

比特币目前还没发展到成长期,但随着比特币挖矿速度开始加快,该行业有望实现大幅增长。

2008年10月,在中本聪发表白皮书详细介绍如何创建新货币体系时,没有人料到在之后不到13年的时间里,比特币的市值能够飙升至8500亿美元。此外,比特币还衍生出了数千种其他类型的加密货币,形成了一整个金融服务行业,并发展成为一种新的资产类别,彻底改变了我们所熟知的货币类型。

我们公司已从事比特币挖矿活动七年了,并推动了该行业的发展和适应。下面我们将介绍一些鲜为人知的比特币挖矿发展过程以及对该行业有重大影响的一些趋势。

比特币挖矿的产生

比特币是一种去中心化货币体系,其作用类似于黄金,是一种拥有价值储藏手段的有限商品。这意味着比特币的供应有限,目前仅存2100万个比特币,这使得其不易受通货膨胀影响。想要使用比特币的人们无需受有权改变其价值或决定用户使用权的政府监督。

那么,比特币本身从何而来呢?与黄金一样,比特币必须经过挖掘才能获得,但不是用镐和铁锹,而是用计算机进行挖掘。

比特币以区块链技术为基础。世界各地的矿工们竞相解一种算法,为的是可以在区块链中添加一个区块。率先解出该算法的人可以获得该区块的交易费用和新币发行的固定奖励(目前是每个区块获得6.25个比特币),而这会增加比特币的流通量。

最初创建比特币时,挖矿非常容易,矿工们在厨房就可利用配备标准中央处理器的笔记本电脑进行挖矿。但随着越来越多矿工的加入,解算法这一竞争愈发激烈,这也意味着矿工们需要更强的数据处理能力和更新的硬件设备。为了有效运行更强大的计算机,电费价格开始受到重视。很快,由于挖矿竞争过于激烈,个体挖矿便不再具有盈利性。

价值数十亿美元行业的诞生

要想盈利,就必须扩大挖矿业务的规模。目前,市场上出现了新的挖矿专用硬件,矿工们也在拖车和仓库中安装了矿机,以便拥有数千台矿机的大型矿场全天候解决算法问题。大规模矿场的运营包括布局和设计、能源、软件管理以及硬件更新,在这些运营需求的推动下,比特币挖矿迅速发展为一个价值数十亿美元的行业。

方舟投资(ARK Invest)的报告显示,支持生态系统的硬件成本约为72亿美元,此外,该报告称,“自比特币专用硬件2013年面世以来,我们认为已有数十亿美元用于设计、生产和流片,这也衍生出了一个专门制造这种强大而又专业硬件的行业。

比特币挖矿虽然操作复杂,但是利润颇丰。方舟投资预计,矿工们可以获得150亿美元的收入,这些收入来自交易费用和比特币固定奖励。

竞争催生新硬件

比特币挖矿的竞争不断加剧,但由于比特币是一种有限商品,所以挖矿的竞争也是有限的。这意味着挖矿运算需要尽可能以高性能保持高速运行,如此才能获得奖励。

由于比特币挖矿日益激烈的竞争提高了对计算能力的要求,所以挖矿竞争也就变成了显卡竞争,而显卡是 游戏 玩家通常在高端 游戏 中才会使用的硬件。后来,专用集成电路逐渐取代了显卡,这是专门用于挖掘加密货币的一种硬件,是比特币挖矿中速度最快、效率最高的硬件,目前仅在挖矿中使用。

但硬件依赖于芯片,虽然目前芯片技术不断加速发展,但芯片还是供不应求。这意味着挖矿运算需要提前规划升级,而且必要的硬件经常售罄,比如比特大陆最近正面临短缺。

新技术最有望实现盈利

同样,比特币挖矿需要跟上技术发展的步伐,能使挖矿硬件更大、更好、更快,因为一旦效率滞后就会造成盈利受损。如今,技术不断超越创新,因此挖矿不仅需要跟上购买新硬件的步伐,还需要迅速安装新硬件。这是因为时间至关重要,即使只延迟几天都会造成严重损失,所以许多挖矿作业(比如我们公司的挖矿)都租用了波音747s以减少运输时间。

西方矿工人数增加

长期以来,全球超过一半的挖矿能源来自中国,主要原因是在中国设立工厂的成本更低,运输速度更快。但随着中国加大对比特币挖矿的打击力度,这些优势正在消亡。据《连线》杂志报道,“比特币挖矿的地理分布可能正在发生变化,”该业务或转向北美、欧洲和拉美等地。矿工们也计划在北欧国家、加拿大和美国等地寻找挖矿地点,这些地方拥有大量廉价的可持续能源,如风能、太阳能和水能等。

比特币的未来

尽管比特币最近出现了许多波动(这并不新鲜),但是比特币的未来是光明的,其价值将继续上涨,并且会吸引新的投资者。随着越来越多的人们开始了解比特币,了解其来源和挖矿方式,人们还将从比特币中发现更多价值。

『捌』 挖矿机怎么挖比特币

比特币挖矿机,就是用于赚取比特币的电脑,这类电脑一般有专业的挖矿芯片,多采用烧显卡的方式工作,耗电量较大。用户用个人计算机下载软件然后运行特定算法,与远方服务器通讯后可得到相应比特币,是获取比特币的方式之一。

比特币挖矿机的价格从一台两三百元到20万元不等。从2011年到2013年,高配置的比特币"挖矿机"从1万元涨到了30万元,但性能也比此前好了不少。据业内人士介绍,以前的老机器100天才能挖到1个比特币,如今(2013年)的机核誉器,100天就能挖到3.5个。按照国内组装团队公布的矿机资料,一台售价3000元的最低配置挖矿机,按照比特币挖矿速度,30多天便可以回本。采矿速度10G/s的机器每天陵运24小时能挖到大约0.03个比特币,而13G/s的机器按照2013年的全网算力和难度,每天24小时能挖大约0.035个比特币。

『玖』 详解比特币挖矿原理

可以将区块链看作一本记录所有交易的公开总帐簿(列表),比特币网络中的每个参与者都把它看作一本所有权的权威记录。

比特币没有中心机构,几乎所有的完整节点都有一份公共总帐的备份,这份总帐可以被视为认证过的记录。

至今为止,在主干区块链上,没有发生一起成功的攻击,一次都没有。

通过创造出新区块,比特币以一个确定的但不断减慢的速率被铸造出来。大约每十分钟产生一个新区块,每一个新区块都伴随着一定数量从无到有的全新比特币。每开采210,000个块,大约耗时4年,货币发行速率降低50%。

在2016年的某个时刻,在第420,000个区块被“挖掘”出来之后降低到12.5比特币/区块。在第13,230,000个区块(大概在2137年被挖出)之前,新币的发行速度会以指数形式进行64次“二等分”。到那时每区块发行比特币数量变为比特币的最小货币单位——1聪。最终,在经过1,344万个区块之后,所有的共20,999,999.9769亿聪比特币将全部发行完毕。换句话说, 到2140年左右,会存在接近2,100万比特币。在那之后,新的区块不再包含比特币奖励,矿工的收益全部来自交易费。

在收到交易后,每一个节点都会在全网广播前对这些交易进行校验,并以接收时的相应顺序,为有效的新交易建立一个池(交易池)。

每一个节点在校验每一笔交易时,都需要对照一个长长的标准列表:

交易的语法和数据结构必须正确。

输入与输出列表都不能为空。

交易的字节大小是小于MAX_BLOCK_SIZE的。

每一个输出值,以及总量,必须在规定值的范围内 (小于2,100万个币,大于0)。

没有哈希等于0,N等于-1的输入(coinbase交易不应当被中继)。

nLockTime是小于或等于INT_MAX的。

交易的字节大小是大于或等于100的。

交易中的签名数量应小于签名操作数量上限。

解锁脚本(Sig)只能够将数字压入栈中,并且锁定脚本(Pubkey)必须要符合isStandard的格式 (该格式将会拒绝非标准交易)。

池中或位于主分支区块中的一个匹配交易必须是存在的。

对于每一个输入,如果引用的输出存在于池中任何的交易,该交易将被拒绝。

对于每一个输入,在主分支和交易池中寻找引用的输出交易。如果输出交易缺少任何一个输入,该交易将成为一个孤立的交易。如果与其匹配的交易还没有出现在池中,那么将被加入到孤立交易池中。

对于每一个输入,如果引用的输出交易是一个coinbase输出,该输入必须至少获得COINBASE_MATURITY (100)个确认。

对于每一个输入,引用的输出是必须存在的,并且没有被花费。

使用引用的输出交易获得输入值,并检查每一个输入值和总值是否在规定值的范围内 (小于2100万个币,大于0)。

如果输入值的总和小于输出值的总和,交易将被中止。

如果交易费用太低以至于无法进入一个空的区块,交易将被拒绝。

每一个输入的解锁脚本必须依据相应输出的锁定脚本来验证。

以下挖矿节点取名为 A挖矿节点

挖矿节点时刻监听着传播到比特币网络的新区块。而这些新加入的区块对挖矿节点有着特殊的意义。矿工间的竞争以新区块的传播而结束,如同宣布谁是最后的赢家。对于矿工们来说,获得一个新区块意味着某个参与者赢了,而他们则输了这场竞争。然而,一轮竞争的结束也代表着下一轮竞争的开始。

验证交易后,比特币节点会将这些交易添加到自己的内存池中。内存池也称作交易池,用来暂存尚未被加入到区块的交易记录。

A节点需要为内存池中的每笔交易分配一个优先级,并选择较高优先级的交易记录来构建候选区块。

一个交易想要成为“较高优先级”,需满足的条件:优先值大于57,600,000,这个值的生成依赖于3个参数:一个比特币(即1亿聪),年龄为一天(144个区块),交易的大小为250个字节:

High Priority > 100,000,000 satoshis * 144 blocks / 250 bytes = 57,600,000

区块中用来存储交易的前50K字节是保留给较高优先级交易的。 节点在填充这50K字节的时候,会优先考虑这些最高优先级的交易,不管它们是否包含了矿工费。这种机制使得高优先级交易即便是零矿工费,也可以优先被处理。

然后,A挖矿节点会选出那些包含最小矿工费的交易,并按照“每千字节矿工费”进行排序,优先选择矿工费高的交易来填充剩下的区块。

如区块中仍有剩余空间,A挖矿节点可以选择那些不含矿工费的交易。有些矿工会竭尽全力将那些不含矿工费的交易整合到区块中,而其他矿工也许会选择忽略这些交易。

在区块被填满后,内存池中的剩余交易会成为下一个区块的候选交易。因为这些交易还留在内存池中,所以随着新的区块被加到链上,这些交易输入时所引用UTXO的深度(即交易“块龄”)也会随着变大。由于交易的优先值取决于它交易输入的“块龄”,所以这个交易的优先值也就随之增长了。最后,一个零矿工费交易的优先值就有可能会满足高优先级的门槛,被免费地打包进区块。

UTXO(Unspent Transaction Output) : 每笔交易都有若干交易输入,也就是资金来源,也都有若干笔交易输出,也就是资金去向。一般来说,每一笔交易都要花费(spend)一笔输入,产生一笔输出,而其所产生的输出,就是“未花费过的交易输出”,也就是 UTXO。

块龄:UTXO的“块龄”是自该UTXO被记录到区块链为止所经历过的区块数,即这个UTXO在区块链中的深度。

区块中的第一笔交易是笔特殊交易,称为创币交易或者coinbase交易。这个交易是由挖矿节点构造并用来奖励矿工们所做的贡献的。假设此时一个区块的奖励是25比特币,A挖矿的节点会创建“向A的地址支付25.1个比特币(包含矿工费0.1个比特币)”这样一个交易,把生成交易的奖励发送到自己的钱包。A挖出区块获得的奖励金额是coinbase奖励(25个全新的比特币)和区块中全部交易矿工费的总和。

A节点已经构建了一个候选区块,那么就轮到A的矿机对这个新区块进行“挖掘”,求解工作量证明算法以使这个区块有效。比特币挖矿过程使用的是SHA256哈希函数。

用最简单的术语来说, 挖矿节点不断重复进行尝试,直到它找到的随机调整数使得产生的哈希值低于某个特定的目标。 哈希函数的结果无法提前得知,也没有能得到一个特定哈希值的模式。举个例子,你一个人在屋里打台球,白球从A点到达B点,但是一个人推门进来看到白球在B点,却无论如何是不知道如何从A到B的。哈希函数的这个特性意味着:得到哈希值的唯一方法是不断的尝试,每次随机修改输入,直到出现适当的哈希值。

需要以下参数

• block的版本 version

• 上一个block的hash值: prev_hash

• 需要写入的交易记录的hash树的值: merkle_root

• 更新时间: ntime

• 当前难度: nbits

挖矿的过程就是找到x使得

SHA256(SHA256(version + prev_hash + merkle_root + ntime + nbits + x )) < TARGET

上式的x的范围是0~2^32, TARGET可以根据当前难度求出的。

简单打个比方,想象人们不断扔一对色子以得到小于一个特定点数的游戏。第一局,目标是12。只要你不扔出两个6,你就会赢。然后下一局目标为11。玩家只能扔10或更小的点数才能赢,不过也很简单。假如几局之后目标降低为了5。现在有一半机率以上扔出来的色子加起来点数会超过5,因此无效。随着目标越来越小,要想赢的话,扔色子的次数会指数级的上升。最终当目标为2时(最小可能点数),只有一个人平均扔36次或2%扔的次数中,他才能赢。

如前所述,目标决定了难度,进而影响求解工作量证明算法所需要的时间。那么问题来了:为什么这个难度值是可调整的?由谁来调整?如何调整?

比特币的区块平均每10分钟生成一个。这就是比特币的心跳,是货币发行速率和交易达成速度的基础。不仅是在短期内,而是在几十年内它都必须要保持恒定。在此期间,计算机性能将飞速提升。此外,参与挖矿的人和计算机也会不断变化。为了能让新区块的保持10分钟一个的产生速率,挖矿的难度必须根据这些变化进行调整。事实上,难度是一个动态的参数,会定期调整以达到每10分钟一个新区块的目标。简单地说,难度被设定在,无论挖矿能力如何,新区块产生速率都保持在10分钟一个。

那么,在一个完全去中心化的网络中,这样的调整是如何做到的呢?难度的调整是在每个完整节点中独立自动发生的。每2,016个区块(2周产生的区块)中的所有节点都会调整难度。难度的调整公式是由最新2,016个区块的花费时长与20,160分钟(两周,即这些区块以10分钟一个速率所期望花费的时长)比较得出的。难度是根据实际时长与期望时长的比值进行相应调整的(或变难或变易)。简单来说,如果网络发现区块产生速率比10分钟要快时会增加难度。如果发现比10分钟慢时则降低难度。

为了防止难度的变化过快,每个周期的调整幅度必须小于一个因子(值为4)。如果要调整的幅度大于4倍,则按4倍调整。由于在下一个2,016区块的周期不平衡的情况会继续存在,所以进一步的难度调整会在下一周期进行。因此平衡哈希计算能力和难度的巨大差异有可能需要花费几个2,016区块周期才会完成。

举个例子,当前A节点在挖277,316个区块,A挖矿节点一旦完成计算,立刻将这个区块发给它的所有相邻节点。这些节点在接收并验证这个新区块后,也会继续传播此区块。当这个新区块在网络中扩散时,每个节点都会将它作为第277,316个区块(父区块为277,315)加到自身节点的区块链副本中。当挖矿节点收到并验证了这个新区块后,它们会放弃之前对构建这个相同高度区块的计算,并立即开始计算区块链中下一个区块的工作。

比特币共识机制的第三步是通过网络中的每个节点独立校验每个新区块。当新区块在网络中传播时,每一个节点在将它转发到其节点之前,会进行一系列的测试去验证它。这确保了只有有效的区块会在网络中传播。

每一个节点对每一个新区块的独立校验,确保了矿工无法欺诈。在前面的章节中,我们看到了矿工们如何去记录一笔交易,以获得在此区块中创造的新比特币和交易费。为什么矿工不为他们自己记录一笔交易去获得数以千计的比特币?这是因为每一个节点根据相同的规则对区块进行校验。一个无效的coinbase交易将使整个区块无效,这将导致该区块被拒绝,因此,该交易就不会成为总账的一部分。

比特币去中心化的共识机制的最后一步是将区块集合至有最大工作量证明的链中。一旦一个节点验证了一个新的区块,它将尝试将新的区块连接到到现存的区块链,将它们组装起来。

节点维护三种区块:

· 第一种是连接到主链上的,

· 第二种是从主链上产生分支的(备用链),

· 第三种是在已知链中没有找到已知父区块的。

有时候,新区块所延长的区块链并不是主链,这一点我们将在下面“ 区块链分叉”中看到。

如果节点收到了一个有效的区块,而在现有的区块链中却未找到它的父区块,那么这个区块被认为是“孤块”。孤块会被保存在孤块池中,直到它们的父区块被节点收到。一旦收到了父区块并且将其连接到现有区块链上,节点就会将孤块从孤块池中取出,并且连接到它的父区块,让它作为区块链的一部分。当两个区块在很短的时间间隔内被挖出来,节点有可能会以相反的顺序接收到它们,这个时候孤块现象就会出现。

选择了最大难度的区块链后,所有的节点最终在全网范围内达成共识。随着更多的工作量证明被添加到链中,链的暂时性差异最终会得到解决。挖矿节点通过“投票”来选择它们想要延长的区块链,当它们挖出一个新块并且延长了一个链,新块本身就代表它们的投票。

因为区块链是去中心化的数据结构,所以不同副本之间不能总是保持一致。区块有可能在不同时间到达不同节点,导致节点有不同的区块链视角。解决的办法是, 每一个节点总是选择并尝试延长代表累计了最大工作量证明的区块链,也就是最长的或最大累计难度的链。

当有两个候选区块同时想要延长最长区块链时,分叉事件就会发生。正常情况下,分叉发生在两名矿工在较短的时间内,各自都算得了工作量证明解的时候。两个矿工在各自的候选区块一发现解,便立即传播自己的“获胜”区块到网络中,先是传播给邻近的节点而后传播到整个网络。每个收到有效区块的节点都会将其并入并延长区块链。如果该节点在随后又收到了另一个候选区块,而这个区块又拥有同样父区块,那么节点会将这个区块连接到候选链上。其结果是,一些节点收到了一个候选区块,而另一些节点收到了另一个候选区块,这时两个不同版本的区块链就出现了。

分叉之前

分叉开始

我们看到两个矿工几乎同时挖到了两个不同的区块。为了便于跟踪这个分叉事件,我们设定有一个被标记为红色的、来自加拿大的区块,还有一个被标记为绿色的、来自澳大利亚的区块。

假设有这样一种情况,一个在加拿大的矿工发现了“红色”区块的工作量证明解,在“蓝色”的父区块上延长了块链。几乎同一时刻,一个澳大利亚的矿工找到了“绿色”区块的解,也延长了“蓝色”区块。那么现在我们就有了两个区块:一个是源于加拿大的“红色”区块;另一个是源于澳大利亚的“绿色”。这两个区块都是有效的,均包含有效的工作量证明解并延长同一个父区块。这个两个区块可能包含了几乎相同的交易,只是在交易的排序上有些许不同。

比特币网络中邻近(网络拓扑上的邻近,而非地理上的)加拿大的节点会首先收到“红色”区块,并建立一个最大累计难度的区块,“红色”区块为这个链的最后一个区块(蓝色-红色),同时忽略晚一些到达的“绿色”区块。相比之下,离澳大利亚更近的节点会判定“绿色”区块胜出,并以它为最后一个区块来延长区块链(蓝色-绿色),忽略晚几秒到达的“红色”区块。那些首先收到“红色”区块的节点,会即刻以这个区块为父区块来产生新的候选区块,并尝试寻找这个候选区块的工作量证明解。同样地,接受“绿色”区块的节点会以这个区块为链的顶点开始生成新块,延长这个链。

分叉问题几乎总是在一个区块内就被解决了。网络中的一部分算力专注于“红色”区块为父区块,在其之上建立新的区块;另一部分算力则专注在“绿色”区块上。即便算力在这两个阵营中平均分配,也总有一个阵营抢在另一个阵营前发现工作量证明解并将其传播出去。在这个例子中我们可以打个比方,假如工作在“绿色”区块上的矿工找到了一个“粉色”区块延长了区块链(蓝色-绿色-粉色),他们会立刻传播这个新区块,整个网络会都会认为这个区块是有效的,如上图所示。

所有在上一轮选择“绿色”区块为胜出者的节点会直接将这条链延长一个区块。然而,那些选择“红色”区块为胜出者的节点现在会看到两个链: “蓝色-绿色-粉色”和“蓝色-红色”。 如上图所示,这些节点会根据结果将 “蓝色-绿色-粉色” 这条链设置为主链,将 “蓝色-红色” 这条链设置为备用链。 这些节点接纳了新的更长的链,被迫改变了原有对区块链的观点,这就叫做链的重新共识 。因为“红”区块做为父区块已经不在最长链上,导致了他们的候选区块已经成为了“孤块”,所以现在任何原本想要在“蓝色-红色”链上延长区块链的矿工都会停下来。全网将 “蓝色-绿色-粉色” 这条链识别为主链,“粉色”区块为这条链的最后一个区块。全部矿工立刻将他们产生的候选区块的父区块切换为“粉色”,来延长“蓝色-绿色-粉色”这条链。

从理论上来说,两个区块的分叉是有可能的,这种情况发生在因先前分叉而相互对立起来的矿工,又几乎同时发现了两个不同区块的解。然而,这种情况发生的几率是很低的。单区块分叉每周都会发生,而双块分叉则非常罕见。

比特币将区块间隔设计为10分钟,是在更快速的交易确认和更低的分叉概率间作出的妥协。更短的区块产生间隔会让交易清算更快地完成,也会导致更加频繁地区块链分叉。与之相对地,更长的间隔会减少分叉数量,却会导致更长的清算时间。

『拾』 比特币的挖矿的原理是什么

比特币挖矿的原理是,执行由人制定的、由计算机自动执行的规则 。

比特币的发明者萨拓喜·那卡摩托(Satoshi Nakamoto,中本聪)在一开始就规定了这一规则,参与比特币区块链的人都必须无条件自动遵守。

规则的内容大致是

将比特币的流通数据进行打包,整理成固定大小,然后上传到区块链上进行比特币全网同步广播的人,就可以得到由系统奖励的50个比特币。

在特定条件下,这些奖励会减半,时间大约是4年减半一次。

那么怎么完成这个数据的打包整理呢?

要完成这个动作的人必选先拥有必要的工具,即执行比特币区块链的软件,还有运行该软件的机器(一开始是电脑);然后下载保存有所有已获得全网承认的的比特币交易数据,这个时候你就成为了“节点”,成为了保护区块链数据的一份子。

节点运行特定的数学公式,得出正确答案后才能获取打包数据的优先权。获得优先权的节点,谁先完成打包然后上传到区块链上,并得到其他节点的接收和认可,那系统将自动把奖励发放到他手中。

如果打包的交易中有用户塞给打包节点的比特币手续费,手续费归该节点所有。

人们觉得计算数学公式然后完成打包获得奖励的过程,就和在大河里捞金沙一样,要摒弃掉许多错误的答案才能找到正确的钥匙获取黄金,所以人们把这个过程比喻为挖矿。

所以比特币挖矿不是真的去挖什么玩意儿,就是用计算机不停的碰撞不停的猜,谁先猜到谁就抢得奖励,仅此而已。

热点内容
堡垒矿机藏宝图 发布:2025-06-24 03:00:55 浏览:126
卖eth币手续费多少 发布:2025-06-24 01:49:34 浏览:666
gtx960挖eth 发布:2025-06-24 01:45:14 浏览:336
元宇宙200 发布:2025-06-24 01:32:22 浏览:307
trx4灯光怎么控制 发布:2025-06-24 01:22:13 浏览:726
蚂蚁A3矿机是挖什么币 发布:2025-06-24 00:52:47 浏览:437
和家长合约怎么写 发布:2025-06-24 00:52:19 浏览:248
trx850出售 发布:2025-06-24 00:51:29 浏览:224
区块链内容上链 发布:2025-06-24 00:39:45 浏览:136
这么久没习惯币圈的大起大落 发布:2025-06-24 00:38:58 浏览:95