第 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

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

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

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

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

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

比特币减半

20092012201620202024
50 BTC25 BTC12.5 BTC6.25 BTC3.125 BTC

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

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

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

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

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

 Bitcoin Supply Schedule

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

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

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

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

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

事件日期区块高度区块奖励已挖出比例
第五次减半2028年1,050,0001.5625 BTC98.44 %
第六次减半2032年1,260,0000.78125 BTC99.22 %
第七次减半2036年1,470,0000.390625 BTC99.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
观看这个关于比特币节点的视频

↑ 返回目录