【BTC】挖矿

adminadmin 欧易资讯 2026-07-16 62 0

目录

这节课讲解比特币挖矿中出现的一些趋势。

首先总结一下前面的讲课内容。

一、比特币节点类型及职责

比特币中有全节点和轻节点。全节点一直在线,维护 utxo 集合,监听交易信息并验证交易与区块合法性,每两周调整挖矿难度;轻节点不一直在线,只保存区块头,只能验证与自身相关交易及挖矿难度,依赖全节点保证交易合法性。

这部分内容老师对比特币中的两种节点类型(全节点和轻节点)的定义、特征、职责等方面进行了详细讲解,具体如下:

全节点: 调整挖矿难度:每两周还要按照比特币协议的要求调整挖矿难度。

【BTC】挖矿

轻节点:

【BTC】挖矿

二、挖矿原理及相关注意事项

挖矿分为决定沿哪条链挖和实际挖矿两部分,通常沿最长合法链挖。若监听到合法且在延伸最长合法链的新区块,应停止现有挖矿重新开始,虽看似可惜,但挖矿具有无记忆性,不影响成功概率。挖到合法区块发布后也不一定成功,可能因竞争条件导致交易冲突。

这部分内容中老师围绕比特币挖矿的原理,详细阐述了挖矿的具体步骤、面临新情况时的处理方式,以及挖矿成功后的不确定性和背后的特性原理,具体如下:

挖矿的步骤: 遇到新区块的处理方式:在挖矿过程中,如果监听到别人发布了一个区块,且这个区块是合法的,也是在延伸最长合法链,此时应该停止已有的挖矿,然后重新进行挖矿。这是因为要沿着新发布的区块往下挖的话,block header 的内容会发生变化,像 block header 里由交易所组成的 merkle root 哈希值,还有指向前一个区块的指针等都会改变,所以要停止已有挖矿并从头开始挖。重新挖矿不可惜的原因:看似前面的努力白费很可惜,但其实不可惜。因为挖矿具有无记忆性(memories,也叫 progress free)的性质,无论继续在原来的区块上挖,还是停下来改成挖新组装出来的区块,只要当前还没有挖到符合要求的目标值(nonce值),前面已经挖了多长时间对最后的结果都没有影响,成功的概率是一样的。挖到合法区块后的情况:即使挖到了合法的区块并把它发布出去,也不意味着就胜利了。因为有可能发布的这个区块最终没有成为最长合法链,可能存在一些竞争条件(race condition),即别人同时发布了一个合法的区块,使得自己发布的区块中某些交易最后变成是有冲突的,导致该区块不被认可。 三、挖矿设备的演化

挖矿设备从通用走向专用。最早用普通 cpu 挖矿,因性价比低被淘汰;gpu 挖矿效率高于 cpu,但仍有资源闲置;现在多用 asic 芯片挖矿,它专为挖矿设计,性价比高,但研发周期长,比特币价格波动会影响其收益,且易过时。

这部分内容中老师主要讲述了比特币挖矿设备从早期到现在的发展历程,分析了不同阶段设备的特点、优势与不足,以及设备演化带来的影响和问题,具体如下:

CPU 挖矿阶段:最早的时候,人们使用普通的 CPU 去挖矿,比如家里的计算机、笔记本电脑都可以用来挖矿。但用计算机专门挖矿很不划算,因为计算机中的大部分内存都是闲置的,挖矿只用到其中很少一部分内存;CPU 当中的大部分部件也是闲置的,挖矿计算哈希值的操作只用到通用 CPU 中的很少一部分指令,硬盘和其他很多资源也都是闲置的。随着比特币挖矿难度的提高,用 CPU 挖矿、用通用计算机挖矿很快就变得无利可图,性价比太低。GPU 挖矿阶段:随着 CPU 挖矿的淘汰,挖矿设备进入第二代,即 GPU 挖矿。GPU 主要用于大规模的并行计算,有大量的矩阵乘法运算能力,相比 CPU 挖矿,GPU 挖矿的效率有了很大提高。然而,GPU 挖矿仍然存在浪费现象,因为 GPU 是为通用并行计算而设计的,用于挖矿时,里面有很多部件仍处于闲置状态,比如用于浮点数运算的那些部件,而比特币的挖矿只用到了整数操作。所以,虽然 GPU 挖矿比 CPU 效率大幅提升,但还是有不少资源浪费。此外,最近几年 GPU 的价格因挖矿需求上涨很快,不过随着比特币挖矿难度的进一步提升,用 GPU 挖矿已经超过了其算力范围,变得划不来,因此也使得因挖矿而竞争购买 GPU 的情况减少,这对打游戏等应用来说是个好消息,不过仍有一些新开发的加密货币会用 GPU 挖矿。ASIC 芯片挖矿阶段:现在一般使用 ASIC 芯片进行挖矿。ASIC 是专门为了挖矿而设计的芯片,上面没有多余的电路逻辑,整个芯片就是为比特币挖矿计算哈希值的操作而设计的,所以它的性价比是最高的。但这种芯片功能单一,除了挖矿之外什么事都干不了,而且为某一种加密货币设计的 ASIC 芯片,通常只能挖该种加密货币,除非两种加密货币使用同一个挖矿算法(如有些加密货币新发行时,为解决启动问题,会采用和比特币一样的挖矿算法,以吸引更多人来挖矿,这种情况叫 “imitation mining”)。ASIC 芯片的研发周期很长,一款比特币 ASIC 芯片从设计、流片到最后生产出来可能需要 1 年时间,这已经算是非常快的速度,与通用芯片相比,这样的研发速度创造了芯片史上的奇迹。在如此长的研发周期内,如果比特币的价格出现剧烈变化,前期投入的研发费用就有可能打水漂,历史上比特币价格曾多次在几个月内下跌 80% 然后又慢慢恢复。即使在比特币发展的黄金时期,价格不断上涨,挖矿有利可图,但竞争也越来越激烈,定制的 ASIC 芯片可能用不了几个月就过时,又得购买新的、更强大的芯片,就如同一个军备竞赛。有研究表明,一款 ASIC 矿机刚刚上市的前两个月,大部分利润都能获得,因为此时它的算力在同类产品中最强,基本上头两个月就能获得整个生命周期中一半以上的利润,之后可能就会被淘汰。购买矿机时,时机很重要,需要先交钱,过很长一段时间厂商才会发货,如果厂商不能及时交货,对矿工伤害很大。有些不良厂商生产出 ASIC 矿机后,自己先用这些矿机挖矿,等最赚钱的前两个月过去后才发给用户,还找借口说矿机在生产测试当中。当比特币系统中算力突然明显提高时,通常意味着某个大厂商有新的矿机生产出来了。所以在比特币浪潮中,真正赚大钱的不一定是挖矿的,可能是卖矿机的。对挖矿设备演化的评价:挖矿设备总的演化趋势是从通用变成越来越专用,CPU 属于通用计算,GPU 是通用并行计算,ASIC 则变成挖矿专用。现在基本上都得用 ASIC 芯片去挖矿,该芯片一旦过时就作废,不像 CPU 和 GPU 还能作其他用途。很多人认为这种情况不好,违背了比特币去中心化的理念和设计初衷,因为最初设想是用普通家里的计算机(CPU)挖矿,不论是否从事 IT 行业都能参与,进入 GPU 时代后,用普通家里的计算机挖矿已比较困难,且 GPU 噪音大,例如一台计算机配上四块 GPU 后,运行时噪音大到让人无法在房间里呆下去。当然现在一些比较新的加密货币,引入了一些机制,可以让通用设备也能参与挖矿。 四、矿池的出现及运作

单个矿工挖矿收入不稳定且任务重,矿池将矿工组织起来。矿池架构一般是一个全节点驱动很多矿机,矿主负责全节点其他职责,矿工只计算哈希值。矿池有两种组织形式,收益按矿工贡献分配,通过降低挖矿难度,以矿工提交的 almost valid block(share)数量衡量工作量。

【BTC】挖矿

这部分内容中老师详细讲述了矿池出现的原因,其架构、组织形式、收益分配方式,以及矿工行为的可能性和矿池存在的潜在问题等方面,具体如下:

矿池出现的原因: 矿池的架构:矿池就是把矿工组织起来作为一个整体。其架构一般是一个全节点会驱动很多矿机,一个矿池有一个矿主(pool manager),下面连着很多矿工。矿工只负责计算哈希值(也就是矿工只负责挖矿),全节点的其他职责都由矿主承担,矿主要负责监听网上的交易,查看有没有其他节点抢先发布区块,并进行相应调整。矿池的组织形式: 收益分配方式:如果矿池中的矿工来自不同机构,平均分配收益不可行,因为会出现 “吃大锅饭” 的情况,导致有的矿工不干活(挖矿需耗电交电费)。所以收益分配要按照每个矿工的贡献大小进行,即需要工作量证明。具体做法是降低挖矿难度,原来要求矿工找到的数值(nonce)计算 block header 的哈希值前面至少有 70 个零才是合法的,现在降低难度,比如前面只要有 60 个零就行,这样挖到的叫做一个 share(almost valid block)。矿工挖到 share 后提交给矿主,矿主记录每个矿工提交的 share 数量,将来某个矿工真的挖到合法区块后,矿主再把出块奖励按照每个矿工提交的 share 数目进行分配。因为每个矿工挖到矿的概率取决于他尝试的 nonce数目,尝试的 nonce越多,找到的 share 就越多,所以可以用提交的 share 数目衡量其工作量。矿工行为分析: 五、矿池带来的问题

矿池使得 51% 攻击更容易,攻击者可隐藏算力,通过降低管理费吸引矿工,发动分叉攻击回滚交易或封锁特定账户交易。虽然目前算力分布看似不集中,但仍存在潜在风险。

这部分内容中老师主要从矿池导致攻击的可能性、算力分布的潜在风险以及矿池攻击的具体方式等方面,阐述了矿池带来的一系列问题,具体如下:

降低 51% 攻击门槛:矿池的存在使得发动 51% 的攻击更加容易。在没有矿池的情况下,攻击者要发动 51% 攻击,需自己投入大量硬件成本购买足够多的矿机,以达到系统中半数以上的算力。而有了矿池后,攻击者自身可能只占很少比例的算力,通过降低矿池管理费等手段吸引足够多不明真相的矿工加入自己的矿池,就能发动攻击。因为矿工转换矿池很容易,只需按照不同矿池的通讯协议与相应矿主联系,接受任务并计算哈希值即可。算力分布的潜在风险:从统计数据来看,中国的矿池算力占比达到 81%,远超其他国家。在 2014 年,曾有 GHash.io 的矿池,其算力占到全球算力的一半以上,这足以发动 51% 的攻击,在当时引起了恐慌,后来该矿池主动大幅减少了算力占比。虽然目前的算力分布看起来没有那么集中,且该矿池已停止运营,但挖矿集中化程度仍然较高,几个大型矿池占据了相当大的比重。尽管没有哪个矿池的算力占比达到一半以上,但可能存在表面现象。假设某个机构拥有半数以上的算力,它可以将这些算力分散隐藏在很多个矿池中,平时分散状态下不易被察觉,而在真正需要发动攻击时再将算力集中起来。常见的攻击方式:

【BTC】挖矿

无法直接转走他人钱财:攻击者即使掌握了半数以上的算力,也不可能把别人账户的钱转走,因为他没有别人账户的私钥,无法伪造签名。但攻击者算力很强时会造成分叉,因为诚实的矿工会沿着另外的一条分叉去挖,而不会沿着攻击者发布的区块往下挖,所以无法实现转走他人钱财的目的。

相关文章:【BTC】比特币网络-CSDN博客

【BTC】比特币系统的具体实现_btc操作系统-CSDN博客

【BTC】协议(共识机制)_btc协议-CSDN博客

【BTC】数据结构_比特币区块头数据结构-CSDN博客

【BTC】密码学原理-CSDN博客

【BTC】挖矿难度调整-CSDN博客

版权声明

本文仅代表作者观点,不代表xx立场。
本文系作者授权xx发表,未经许可,不得转载。

喜欢0评论已闭