比特币技术原理和获取机制

    |     来源:版权所有者      |      2024-01-27 04:41:05

技术原理

比特币是由网络节点在完成一个特定数学问题计算之后生产出的。这些数学计算需要相当的运算能力才能完成,并能够通过生成有效运算工作的证明来检验。在比特币网络中运算难度可以自动调节:在最初的四年里会有10500000个比特币被制造出来,这个数值每四年减半,所以在第四到第八年中会有5250000个比特币被制造,而在第八到第十二年中会有2625000个比特币被制造,以此类推。因此,比特币的数额会无限趋近于21000000个比特币。

从技术上讲,在目前的数据结构下,一个比特币可以被分区到8位小数,所以,0.00000001BTC是目前比特币的最小单位。如果将来有需要的话,会考虑更小的分区单位。即使比特币的允许精度从目前的8位小数扩展,最终流通中的比特币将总是略低于2100万。

系统运行内建的机制会在平均大约每10分钟确认一个区块。参与制造新比特币的人数变动,新比特币制造的难度也随之变动,这是将整个分布式网络作为一个整体来分析,分析的依据是之前2016个区块的制作时间。因此制造的难度与一定时间内全网投入制作的平均运算能力相关。单一个体“发现”新区块的可能性是创建在他的计算能力与全网计算能力的综合比较之上的。

 区块的总数乘以每个区块的比特币值就是现存的比特币总数。每个区块的币值在最初的210000个区块中是50BTC,之后210000区块是每区块25BTC,然后是12.5BTC、6.25BTC......以此类推。最后一个产出比特币的区块将是#6929999号区块,这大约会在公元2140年前后发生。届时流通中比特币的总数将恒定维持在20999999.9769BTC,生产的奖励会从0.00000001BTC变为0,然后将不再有新的比特币被生产出来。

获取机制

 比特币的发行规则是根据比特币网络上大多数计算力同意的规则进行的。核心规则对比特币的发行速率进行约束,构建出一个竞争性的交易处理系统,并使得货币总量限定为2100万个。而与传统货币不同的是,比特币并没有专门的“铸币局”,所有货币的产出都依赖“比持币矿工”。比特币矿工通过计算、处理全网的交易数据,可以得到比特币作为奖励,业内也形象地把这种行为称作“挖矿”。

比特币矿工负责解决具有一定工作量的“工作量证明机制”问题来确认交易和防止双重支付。中本聪在他的论文中阐述:在没有中央权威存在的条件下,既鼓励了矿工支持比特币网络,又让比特币的货币流通体系有了最初的货币注入源头。中本聪把通过消耗CPU的电力和时间来产生比特币,比喻成金矿消耗资源,将“黄金”注入经济。

比特币的挖矿和节点软件是基于P2P网络、数字签名、密码学证据来发起和验证交易的。节点向网络广播交易,这些广播出来的交易在经过矿工的验证后,矿工用自己的工作证明结果来表达确认,确认后的交易会被打包到数据块中,数据块会串起来形成连续的数据块链。

除了将接收到的交易信息打包到数据块,每个数据块都会允许发行一定数量的比特币,用来激励成功发现数据块的矿工。比特币系统按照预定的货币增发节奏决定发行的比特币数量。如果其他支付交易有给手续费的,那么矿工琮会获得手续费。由于矿工可以自行决定是否将某一个交易数据打包到数据块中,因此矿工有可能优先选择手续费较高的交易来打包。

数据块产生速率的预期为每10分钟一个,但每个数据块中新发行的比特币不能超过50个,而这个数字每隔四年就会减半,因此比特币的总数量不会超过2100万个。随着新发行比特币数量的下降,手续费将成为挖矿的主要激励。

比特币早期通过CPU来获取,而随着GPU通用计算的优势不断显现以及GPU速度的不断发展,矿工们逐渐开始使用GPU取代CPU进行挖矿。比特币挖矿采用的是SHA-256哈希值运算,这种算法会进行大量的32位整数循环右移运算。有趣的是,这种算法操作在AMD GPU里可以通过单一硬件指令实现,而在NVIDIA GPU里则需要三次硬件指令来模拟,仅这一条就为AMD GPU带来额外的1.7倍的运算效率优势。凭借这种优势,AMD GPU因此深受广大矿工青睐。