主页 > imtoken网址 > 比特币挖矿算法到底是什么?比特币算法原理详解

比特币挖矿算法到底是什么?比特币算法原理详解

imtoken网址 2023-02-11 07:24:44

比特币挖矿算法到底是什么?比特币算法原理详解,比特币是区块链的前身实现,区块链是比特币的后期细化;如果你是比特币新手,当你想和别人交流时,你面临的第一个概念可能是挖矿,比特币目前使用的共识机制是 POW,使用的挖矿算法是 SHA2-256,那么,具体是什么?比特币挖矿算法?

比特币挖矿算法具体是什么?比特币算法原理详解

1、区块版本

2、上一个区块的hash值:prev_hash

比特币究竟在计算什么

3、需要写入的交易记录哈希树的值:merkle_root

4、更新时间:ntime

5、当前难度:nbits

挖矿过程就是找x这样

比特币究竟在计算什么

SHA256(SHA256(版本 + prev_hash + merkle_root + ntime + nbits + x )) 目标

上式中x的取值范围是0~2^32,TARGET可以根据当前难度求得。除了 x 之外比特币究竟在计算什么,你还可以尝试更改 merkle_root 和 ntime。由于hash的特性,找到这样一个x只能靠蛮力来完成。

找到 x 后,您可以广播一个新区块,其他客户端将验证您的区块是否有效。如果你的区块被接受,由于每个区块的第一笔交易必须是把新生成的 25 个比特币发送到一个地址,当然你要把这个地址设置为你必须得到这 25 个比特币的地址。

比特币从开始到现在的每一笔交易记录都保存在网络上,一个巨大的交易记录文件(现在大约12G),由整个比特币网络维护。此文件的平均更新周期为 10 分钟。新增的交易记录称为区块,这个巨大的文件由一系列区块组成,称为区块链。

比特币究竟在计算什么

为什么是 25 个比特币?

p>

这是规则。初始数量为50比特币,剩余比特币每产生一半收益将减半,这样最终可产生的比特币总量接近2100万。如果你还声称已经挖了 50 个比特币,其他客户端不会接受,这个区块被认为是浪费挖矿。

如何保证平均更新周期为10分钟?

比特币究竟在计算什么

TARGET 越小,求解 x 的难度就越大。每次产生 2016 个区块(约 14 天),网络会在调整此期间产生新区块的平均间隔后进行 TARGET。

计算速度最快的人总是先解决它吗?

没有。你总是想把挖矿收益当成自己的,所以大家计算的时候,发送挖矿收益的地址不一样,所以merkle_root不一样,也就是说大家从不同的初始状态开始解决问题。

如果同时解决怎么办?

比特币究竟在计算什么

区块链会分叉比特币究竟在计算什么,有的客户接受A,有的接受B,直到某个分支变长,大家都会选择这个更长的分支。如果你挖的不幸的东西没有被选中,你的挖矿收益是无效的。

既然选择了较长的分支,那么难度很低的我该怎么办?

客户端在众多分支中找到与当前难度匹配的最长分支。

这些计算是否浪费了?

如果您要花两次相同的钱,则需要这样做。挖掘一个新区块,但将其隐藏在广播中,并继续挖掘。找到商家A,用比特币支付,让网络上的其他人挖区块,写下这个交易记录。找到商家 B,支付比特币,写下你挖的区块。如果你能抢先挖出两个区块并广播出去,大家就会用你更长的分支作为当前区块链,商家A收到的比特币就不会被识别。这种攻击成功的概率取决于您计算哈希的速度。如果整个网络的计算能力足够高,这样的攻击成功率非常低或者成本非常高。