【区块链】BTC-挖矿

挖矿概念

mining puzzle: 寻找nonce,使得

比特币使用的哈希算法是SHA-256,输出空间有256位,有 $2^{256}$ 种取值

挖矿难度

与target范围大小成反比

为什么要增加挖矿难度

不调整挖矿难度,会导致挖矿难度过小,出块时间缩短,增加分叉的几率,或产生多分叉

系统的总算力越强,越安全(发动51%攻击需要的算力就更大)

如何提高挖矿难度

每2016个区块调整难度,即14天

实际代码中,上调和下调有4倍的限制(不得超过)

提高难度的功能是写死在代码中的

挖矿工具

CPU->GPU->ASIC(Application Specific Integrated Circuit专用集成电路,只能为一种mining puzzle使用)

通用->专用

alternative mining puzzle 实现 ASIC resistance

大型矿池:pool manager 下属很多miner,miner只负责挖矿,manager负责全节点的其他职责,能解决收益不稳定的问题。矿工使用自己开采出的almost valid block来证明自己的工作量获得奖励

矿池的存在使得51%攻击更容易了,因为更容易召集算力

Author: iwannaeat
Link: https://iwannaeat.github.io/2022/05/07/【区块链】BTC-挖矿/
Copyright Notice: All articles in this blog are licensed under CC BY-NC-SA 4.0 unless stating additionally.