第 9 个模块(共 10 个)

比特币挖矿是如何运作的?

Listen to this chapter

9.0 介绍

在本节中,我们将更深入地了解比特币网络中两个非常重要的部分(以及参与者),它们在第5单元中首次被介绍:

  • 比特币节点:验证的守门人,主要职责是保存一份比特币账本的副本,并确保所有交易都是有效的,且每个人都遵守相同的规则。通过将这项工作分散给全球许多人,My First Bitcoin 能够在不依赖中心化权威的情况下,抵御潜在的欺诈行为。节点帮助系统保持可信和忠于去中心化的理念,没有任何个人或团体能对其他人拥有过多的权力。
  • 比特币矿工:安全的设计师,他们通过使用强大的计算机和电力来解决密码学难题。他们检查并确认交易,确保一切安全。他们的计算工作让账本(或区块链)对任何恶意行为都具有抵抗力,因为篡改区块链会在能源上付出高昂的代价。

比特币节点和矿工共同协作,维护一个去中心化、安全且强大的系统——这是一个全球各地的人们都可以信赖的全新货币体系。让我们更详细地探讨这些角色,了解它们如何为 My First Bitcoin 协议做出贡献。

9.1 比特币节点和矿工

比特币节点听起来很技术化,但其实它们只是将比特币区块链的副本保存在计算机上的一种软件。区块链是所有比特币交易的共享记录。

当你运行自己的节点时,你可以自己验证比特币交易,而不是依赖他人。这让你更加独立,也有助于保持比特币网络的去中心化。

你可以把比特币节点想象成一个数字交通警察,负责几项重要的工作。

  1. 它保存着区块链的副本,也就是所有比特币交易的历史记录。
  2. 节点与世界各地的其他节点连接并共享信息。例如,等待确认的新交易列表被称为内存池(mempool)。
  3. 节点会检查每一笔交易是否遵守比特币的规则。如果交易无效,节点会拒绝它。

节点还会通过与新节点共享区块链,帮助新节点加入网络。不过,每个新节点仍然会独立检查所有规则。

任何人都可以通过安装如 Bitcoin Core 这样的软件并下载区块链来运行节点。设置完成后,节点大约每十分钟会接收新的区块,并在将其添加到自己的区块链副本前进行验证。

运行节点有助于让比特币网络更加安全和去中心化,因为有更多人独立验证这个系统。

什么是比特币节点?

挖矿的目的不是创造新的比特币;那只是激励机制。挖矿是比特币安全去中心化的机制。
Andreas M. Antonopoulos

矿工收集未确认的交易,组成一个区块,并消耗能源寻找一个能添加并保护该区块的密钥。

矿工们竞争将下一组交易区块添加到区块链。为此,他们必须找到一个特殊的数字,生成一个有效的区块哈希。你可以把这想象成在数十亿种可能性中寻找正确的钥匙。第一个找到正确哈希值的矿工赢得比赛,并获得将其区块添加到区块链的权利。

当矿工找到有效的哈希值后,他们会将自己的区块分享给网络。其他矿工会迅速验证这个解答是否正确。如果正确,该区块就会被添加到区块链,帮助保护比特币的公共账本安全。

矿工有两种方式获得比特币奖励:

  • 区块奖励: 新比特币会被创造出来,并奖励给成功添加区块到区块链的矿工。
  • 交易手续费: 当人们发送比特币时,会包含一小笔手续费。添加该区块的矿工可以获得该区块内所有交易的手续费。

比特币减半

2009 2012 2016 2020 2024
50 BTC 25 BTC 12.5 BTC 6.25 BTC 3.125 BTC

矿工完成一个区块的奖励每 210,000 个区块减半一次,大约每四年发生一次。

比特币的最大供应量固定为 21,000,000 枚,但在比特币刚诞生时,并不是所有比特币都已被创造出来。相反,新比特币是通过 挖矿 逐步进入流通的。

当矿工成功将一个新的交易区块添加到比特币网络时,他们会获得 区块奖励 ,以比特币的形式发放。在比特币的早期,每个区块的奖励是 50 枚比特币。这个奖励激励人们投入算力和电力来帮助保护网络。

大约每 210,000 个区块(约每 4 年),区块奖励会减半一次。这个事件被称为 减半。减半会减缓新比特币的产生速度,并确保总供应量永远不会超过 2100 万枚。随着时间推移,这让比特币变得越来越稀缺。

流通供应量 指的是某种货币当前可用的总量。对于比特币来说,流通供应量就是已经被挖出并在流通中的比特币数量。

 Bitcoin Supply Schedule

这个 比特币供应计划 是新比特币进入流通的预定且公开的计划,旨在随着时间推移保持比特币的稀缺性。

每次减半事件后,矿工获得的区块奖励都会减半。这会降低新比特币的产生速度。

矿工仍然可以从他们挖出的区块中包含的交易手续费中获得收入。随着时间推移,这些手续费预计会成为矿工收入的重要部分。

减半事件被写入了比特币协议,并且大约每四年会自动发生一次。正因为如此,比特币的发行计划是可预测且透明的。

下表展示了即将到来的减半事件,包括大致日期、发生时的区块高度、新的区块奖励,以及届时已被挖出的比特币总量占比。

事件 日期 区块高度 区块奖励 已挖出比例
第五次减半 2028年 1,050,000 1.5625 BTC 98.44 %
第六次减半 2032年 1,260,000 0.78125 BTC 99.22 %
第七次减半 2036年 1,470,000 0.390625 BTC 99.61 %

随着比特币不断被挖出,流通中的比特币数量会持续增加,直到达到最大供应量 21,000,000 枚,预计会在2140年左右实现。由于新比特币的产出会逐渐减少,如果需求增加,比特币的价格就有可能上涨。这也激励矿工持续通过贡献算力来保障网络安全。

什么是比特币中的有效区块哈希?

在比特币中,矿工们竞争寻找一种被称为区块哈希的特殊代码。这个代码用来标识一个交易区块,并允许其被添加到区块链上。

每个区块都包含了最近的交易信息,同时也包含了前一个区块的哈希值。这将每个区块连接在一起,从第一个区块(创世区块)一直延续到最新的区块,形成一条链。

哈希就像是区块数据的数字指纹。如果区块中的任何信息被更改,指纹也会随之改变。这让任何人都可以轻松验证区块链的交易历史没有被篡改,有助于保障网络安全。

比特币的创造者中本聪挖出了创世区块,解锁了总计50枚比特币。

争夺挖出新区块的竞赛

矿工们竞争寻找一个有效的区块哈希。第一个找到的矿工可以将新区块添加到区块链上,并获得比特币奖励。

要成为有效区块,区块的哈希值必须低于网络设定的一个名为难度目标的数值。由于哈希值是随机的,矿工们必须不断尝试不同的输入,直到找到符合条件的哈希。

如果参与竞争的矿工太多,区块会被挖得太快;如果参与的矿工太少,区块则会被挖得太慢。为了让系统平稳运行,比特币会每2016个区块(大约每两周)自动调整一次挖矿难度。

这种调整确保平均每10分钟就会有一个新区块被添加到区块链上。

难度等级在比特币挖矿中,难度等级衡量找到一个有效区块哈希的难易程度。网络每2016个区块(大约每两周)会调整一次难度,以保证新区块平均每10分钟被添加到区块链上。难度越高,矿工找到有效区块的难度就越大。

通过找到一个有效的区块哈希,矿工证明了他们已经完成了添加新区块所需的工作。这个过程被称为工作量证明(PoW)。这是比特币用来确认交易和添加新区块的安全机制。第一个找到有效哈希的矿工会获得比特币奖励,包括区块奖励和该区块内所有交易的手续费。

工作量证明(PoW)通过让任何试图作弊或控制网络的人付出极高的代价,从而保障了比特币的安全。相比之下,遵守规则会更加有利可图。

矿工主要有四个角色:

  1. 收集交易:矿工选择已发送到网络的交易,并将它们放入候选区块中。
  2. 执行工作量证明:矿工们通过寻找有效区块哈希,竞争解决一个复杂的数学难题。
  3. 广播区块:第一个找到有效解的矿工会将新区块分享给网络。
  4. 获得奖励:如果区块有效,它会被添加到区块链中,矿工将获得新生成的比特币和交易手续费。

世界各地有许多矿工同时尝试创建下一个区块。当有矿工找到有效解时,网络会检查该区块。如果一切正确,它就会被添加到区块链中。其他竞争的区块会被丢弃。这个过程让网络保持一致,并防止双重支付。

  • 矿工是帮助维护和更新比特币账本的计算机。
  • 他们收集交易并将其分组到一个区块中。然后,他们将区块的数据通过哈希算法处理,生成一个称为哈希的唯一代码。
  • 矿工会多次重复这个过程,寻找符合比特币规则的哈希。第一个找到有效哈希的矿工会获得新生成的比特币作为奖励,他们的区块会被添加到区块链中。
  • 每个区块的哈希也将其与前一个区块连接起来。如果有人试图更改过去的交易,哈希就不再匹配,网络会拒绝被篡改的链。这就是比特币账本安全的原因。

9.2 什么是内存池?

比特币内存池,全称为“内存池”,就像是比特币交易的候车室。当你发送比特币时,你的交易首先会被广播到网络,并被放入内存池中。

你可以把它想象成在餐厅排队等位。你的名字会被写在等候名单上,然后等待有空位。同样地,你的交易会在内存池中等待,直到有矿工把它包含进区块。

比特币节点会检查每一笔新交易,以确保其有效,并且所花费的比特币没有被重复使用。如果交易有效,它就会留在内存池中,直到被确认。

矿工会从内存池中挑选交易,并将它们包含进新的区块。通常,手续费较高的交易会被优先选择。

一旦交易被包含进区块,它就会被确认,并永久记录在比特币区块链上。

活动:探索内存池

本活动让学生接触一个免费且开源的工具,无需技术技能即可使用。它对所有层级的比特币用户都有帮助,无论是初学者还是有经验的人。

要点
  1. 内存池 指的是每个比特币节点维护的未确认交易列表,而不是某个特定的服务或平台。
  2. 并不存在单一、统一的内存池。Mempool.space 只是众多工具之一。
  3. Mempool.space 是开源的,并以易用的可视化区块浏览器而闻名。它提供关于未确认交易、手续费率及其他网络活动的实时数据。
学生提示

Mempool.space 不仅仅是可视化区块。还可以探索比特币生态系统的其他部分:例如,闪电网络、挖矿、算力、矿池,以及区块空间“眼镜”等。

9.3 交易是如何运作的

现在你已经了解了公钥和私钥,以及节点和矿工的作用,下面是一次比特币交易从开始到结束的全过程。

  1. 亚当想要发送比特币给小明。他创建了一笔包含小明地址、发送金额和手续费的交易。
  2. 亚当用他的私钥签署这笔交易,以证明他对比特币的所有权。
  3. 他将这笔交易广播到比特币网络。
  4. 节点收到交易后,会检查其是否符合规则,包括验证签名以及亚当是否有足够的比特币。
  5. 如果交易有效,它会在网络中传播,并被加入到内存池,等待处理的交易都会在这里排队。
  6. 矿工从内存池中挑选交易,并将其包含在他们尝试挖掘的区块中。
  7. 当某个矿工成功挖出一个区块后,这个区块会被分享给网络,并由其他节点进行验证。
  8. 如果区块有效,它就会被添加到区块链上。小明收到比特币。
  9. 随着更多区块的加入,这笔交易获得更多确认,安全性也随之提高。

一旦交易被包含进区块,就算作已确认。亚当不能再次花费这部分比特币,而小明可以在新的交易中使用他收到的比特币。

选择交易和手续费 → 钱包签名并发送 → 节点分发 → 矿工将交易加入区块模板 → 矿工赢得工作量证明竞赛 → 新区块被验证 → 新区块由节点分发

资源
How To Setup Bitcoin Core
观看这个关于比特币节点的视频

↑ 返回目录