在线时间:8:00-16:00
迪恩网络APP
随时随地掌握行业动态
扫描二维码
关注迪恩网络微信公众号
网页区块(Blocks)中表示,比特币挖掘过程实际上是在解决数学问题,但再阅读Block hashing algorithm这篇文章感觉还是不太理解没。也想尝试阅读bitcoind源代码,但阅读代码比阅读文档需要多得多的时间:) 谁可以从程序员的角度解释比特币挖掘过程(挖矿)?
最佳解释挖掘算法如下:
从程序员的角度来看,伪代码可能看起来像这样:
需要注意的是,上面的描述中可能有一些不准确的地方,但大多数情况下,这应该足够好。下面是一些更有用的补充说明: 什么是哈希(散列)? 哈希是一种将数据(字符串或者二进制数据序列)转换为一定范围内的数字的函数。哈希具有输出基本上不可预知(在给定范围内)的特性。用于比特币挖掘的特定哈希函数是将SHA256应用两次。 难度级别如何工作? 哈希函数的这种不可预测的性质意味着,输入随机数据(交易+随机数)本质上会产生一定范围内的随机数。进一步限制期望输出的范围,影响一个人在一轮中找到它的可能性。这创建了一种方式:基于算法可以在网络上运行的次数概率性地确定找到解决方案的频率。特别是,当你听到术语千兆或千赫时,这是指步骤3可以运行的次数。随着整个网络每秒哈希次数的增长,网络会自动提出困难级别,以便在大约10分钟内找到解决方案。 当一个区块被挖掘时会发生什么? 当一个区块被开采时,矿工将该区块发送给网络上的所有其他矿工,作为它找到它的证据。该块包含事务列表,找到的哈希,特定的随机数以及对前一个哈希的引用。当每个矿工接收到新开采的矿块时,它会删除该矿块内存在的所有正在开采的交易(因为它们已经在块链中得到确认),并将该块广播给其他做同样事情的矿工。传播发生得非常快。注意:该矿区的原矿商获得“矿工费”,这是对除了”coinbase”奖励之外的所有交易中未使用的硬币的奖励,其开始时为50比特币,每210,000个区块后减半(大约每隔4年)。与矿工的花费相比,比特币奖励最终会变得很小,以至于微不足道。 参考资料
|
2023-10-27
2022-08-15
2022-08-17
2022-09-23
2022-08-13