区块链 · 数字资产知识 · 行业资讯
文章库关于本站

技术原理

比特币挖矿安全有哪些常见误区:哈希、矿池与验证的边界

摘要

挖矿增加了修改交易历史的难度,但哈希算法的安全性不能代表整个挖矿系统安全。理解区块目标、矿池份额、任务分配和交易可见性的区别,有助于识别常见误区,并判断不同技术机制的适用范围。

比特币挖矿工作量证明的科技主题配图

误区一:挖矿让交易历史绝对无法修改

Bitcoin Developer Guides 的挖矿说明指出,挖矿通过增加新区块,使交易历史更难修改。这里描述的是修改难度,不能把它理解为任何条件下都不可能改变。

判断安全性时,应区分机制提供的保护与绝对保证。挖矿对交易历史的保护,也不能直接证明矿工的软件、连接和结算环节都可靠。

区块链技术数字签名的科技主题配图

误区二:哈希算法安全,整个系统就安全

NIST 的哈希函数说明区分了抗碰撞、抗原像和抗第二原像能力,分别涉及寻找相同摘要的不同输入、由摘要寻找输入,以及为指定输入寻找同摘要的另一输入。它们描述的是不同的计算难题。

智能合约区块链的科技主题配图

这些性质有各自的适用范围。算法具备某种安全性质,并不等于使用它的软件正确实现了全部功能,更不能据此认定矿池运营可靠。评价算法与评价整套挖矿系统,需要不同的证据。

误区三:挖矿就是破解哈希,份额就是有效区块

矿工反复改变区块头相关数据,寻找低于目标值的哈希结果。这种目标搜索与寻找哈希碰撞不是同一问题,找到符合条件的结果也不表示哈希算法被破解。

矿池份额用于衡量提交的工作,通常采用比网络出块条件更容易满足的目标。因此,份额被矿池接受,不能直接推出已经产生网络可接受的区块。理解这一点,可以避免把工作量记录与出块结果混为一谈。

误区四:加入矿池就消除了风险

矿池把参与者的工作汇集起来,并按其分配规则结算。它能够改变单个矿工收到支付的波动特征,但这不构成对运营安全或结算可靠性的证明。

份额是否有效、区块是否符合网络规则,以及矿池如何结算,是不同的问题。技术上能够核验某份工作,并不意味着其他环节也已经得到核验。

常见问题:收到任务是否等于看到了全部交易

不一定。区块模板方式可以提供交易信息;开发指南所描述的 Stratum 方式主要提供构造区块头所需的数据,矿工无法据此逐笔检查或添加交易。这一限制应限定于所描述的协议方式,不能推广到所有版本和实现。

能持续接收任务,只能说明任务传递在进行,不能单独证明矿工拥有完整交易可见性。阅读挖矿安全说明时,应核对它讨论的是算法性质、工作有效性还是参与者权限,避免用一个环节的结论替代整个系统的判断。

← 返回全部文章

延伸阅读 · 相关栏目

区块链基础技术原理数字资产知识资料与核验