加密货币难度
什么是加密货币难度?
加密货币难度是衡量在区块链中为特定加密货币挖掘区块的难度的指标。加密货币的高难度意味着需要额外的计算能力来验证在区块链上输入的交易——这个过程称为挖矿。
加密货币难度是比特币和其他加密货币用来在网络哈希功率变化时保持块之间的平均时间稳定的参数。加密货币难度很重要,因为高难度可以帮助保护区块链网络免受恶意攻击。
理解加密货币的难度
比特币和其他使用工作量证明区块链的加密货币通过挖矿过程进行维护。矿工验证在区块链上完成的交易并履行审计员的职责以防止欺诈并确保交易的合法性。挖矿是由比特币的创始人中本聪( Satoshi Nakamoto )构思的。
在这个系统中,矿工——在他们的计算机上运行加密货币的软件——竞争寻找一个新的区块,将最新的一批交易数据添加到链中。当验证了足够多的交易后,就会将一个新块添加到区块链中。矿工可能会因为他们的努力而获得报酬,但在矿工获得补偿(如果有的话)之前还有其他要求。挖掘一个块所需的计算能力的程度由加密货币难度表示。找到新区块所需的时间取决于加密货币难度和随机机会的水平。
为了衡量一个新区块的加密货币难度,了解哈希算力非常重要,它代表了用于挖掘和处理区块链上交易的综合计算能力。
随机哈希
哈希是用于表示单词或数据的字母数字代码。矿工获取一批交易数据并通过哈希算法运行它,这是一种单向函数,给定一组特定的数据,将始终产生相同的输出,但其输出不能反转以显示原始数据。散列算法用于创建这些随机散列码。在可以将新数据添加到区块链之前,矿工必须竞争产生小于或等于称为目标哈希的数值的哈希。
矿工通过更改单个值(称为nonce或使用一次的数字)来完成散列过程,每次更改 nonce 时,都会使用自己的一组数字创建一个新的散列。没有办法预测哈希将是什么,并且由于每组数据对于给定的哈希函数只有一个输出,因此矿工必须重复向数据添加新随机数的过程,直到满足哈希要求。
加密货币难度
哈希必须满足的要求对应于难度。有效的哈希值必须低于加密货币协议自动设置(并定期调整)的某个目标值。目标值越低,矿工必须通过的哈希函数重复次数越多才能获得可接受的结果——换句话说,难度越高。理论上,矿工可以幸运地在第一次尝试时获得给定块的有效哈希值。然而,随着时间的推移,更高的难度意味着矿工必须平均每块插入更多的随机数。
个人和组织通过他们的采矿设备贡献他们的计算能力来处理数据并产生哈希值。加密货币网络的哈希算力代表所有采矿设备的总哈希率。哈希率是每秒可以计算的哈希数。
由于每个散列都是随机创建的,因此在满足目标散列要求并将新的加密货币硬币铸造给成功的矿工之前,可能需要数百万次猜测或散列。只有这样,交易才会被添加到区块链中的新区块中。在某种程度上,散列过程类似于彩票系统。结果,通过这个挖掘过程发行了新的硬币。
哈希率越高,欺诈者就越难控制区块链,因为需要更多的哈希能力。换句话说,难度越高,网络越安全。
加密货币难度的好处
有人可能想知道,如果结果意味着矿工一遍又一遍地重复相同的功能,为什么网络的参与者会建立更高的加密货币难度。加密货币难度有两个主要好处。
稳定的新区块率
Satoshi Nakamoto 的比特币白皮书解释了工作量证明的难度如何帮助稳定生产添加到区块链的新块。
“为了补偿不断提高的硬件速度和随着时间的推移对运行节点的不同兴趣,工作量证明的难度由针对每小时平均块数的移动平均值确定。如果生成速度过快,难度会增加。”
比特币旨在平均每 10 分钟向区块链添加一个新区块。其他加密货币的目标是更频繁的区块;例如,莱特币的目标是 2.5 分钟。问题是网络矿工共同控制的计算能力可能会有很大差异。
当中本聪挖出第一个区块时,网络上只有一台机器——可能是一台简单的笔记本电脑或台式机。今天有许多庞大的、仓库大小的 ASIC 农场。 ASIC 是专门设计用于尽可能快地通过哈希函数的机器。
为了确保网络以稳定的平均速率产生新块,软件设置为自动向上或向下调整目标哈希,从而分别导致难度降低或提高。当中本聪挖出创世区块时,比特币的难度是一。
### 网络安全
总体哈希率提供了对加密货币网络安全性的洞察,因为欺诈者或不良行为者需要克服网络的总哈希能力才能控制恶意攻击。专门设计的计算机用于执行散列函数,每秒能够进行数万亿次猜测以解决散列问题。
加密货币难度越高,达到目标哈希要求所需的猜测或哈希就越多。因此,这个过程使得攻击者很难获得区块链网络的多数控制权(称为51% 的多数),而且成本很高。
加密货币难度示例
截至 2021 年 4 月 2 日,比特币的加密货币难度为 23.14 万亿。如果我们比较难度的变化,我们可以看到,2018 年 4 月 1 日,比特币的难度为 3.51 万亿。
下图描绘了比特币多年来的难度变化:
## 强调
加密货币难度是衡量在区块链中为特定加密货币挖掘区块的难度。
加密货币的高难度意味着需要额外的计算能力来验证在区块链上输入的交易。
创建区块所需的难度越高,加密货币网络的安全性就会提高,因为攻击者需要大量资源来控制。