主页 > imtoken华为 > 比特币挖矿算法有哪些?比特币算法原理解读

比特币挖矿算法有哪些?比特币算法原理解读

imtoken华为 2023-03-23 07:45:35

什么是比特币挖矿算法? 比特币算法原理解读btc挖矿的原理,比特币是区块链的前身,区块链是比特币后来的提炼; 如果你第一次接触比特币,当你想和别人交流的时候,你面对的第一个概念可能就是挖矿。 比特币目前使用的共识机制是POW,使用的挖矿算法是SHA2-256。 那么,比特币挖矿算法具体有哪些呢?

1.区块的版本

2. 上一个区块的哈希值:prev_hash

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

4.更新时间:ntime

5.当前难度:nbits

挖矿的过程就是找到x来推广

SHA256(SHA256(version + prev_hash + merkle_root + ntime + nbits + x )) TARGET

上式中x的取值范围为0~2^32,TARGET可以根据当前难度计算。 除了x,你也可以尝试改变merkle_root和ntime。 由于hash的特性,要找到这样一个x只能通过brute force search来完成。

找到 x 后,您可以广播一个新块,其他客户端将验证您的块是否有效。 如果你的区块被接受了,由于每个区块的第一笔交易一定是发送新形成的25个比特币到一个地址btc挖矿的原理,当然你会把这个地址设置为你拥有的地址来得到这25个比特币。

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

为什么是 25 个比特币?

这是规则。 最初是50个比特币,每形成剩余的一半比特币,这笔收益就会减半,这样最终可以形成的比特币总数接近2100万个。 如果你还坚持说你挖了 50 个比特币,其他客户是不会接受的,即使这个区块已经白挖了。

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

TARGET 越小,求解 x 就越困难。 每形成2016个区块(约14天),网络会根据这段时间平均形成新区块的间隔时间调整TARGET。

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

不。 你总是想把挖矿收益据为己有,所以每个人在估算的时候,发送挖矿收益的地址是不同的,所以merkle_root是不同的,也就是说每个人从不同的初始状态解开始。

如何同时解决?

区块链会出现分叉,有的客户接受A,有的接受B,直到出现某个分支更长,大家就会选择这个更长的分支。 如果你挖的不幸没有被选中,你的挖矿收益将无效。

既然选择了更长的分支,那么难度很低怎么办呢?

客户端在众多分支中找到满足当前难度的最长分支。

这些估计是浪费了吗?

如果你打算两次花一笔钱,你需要这样做。 一个新的块被挖掘,但隐藏而不是广播,并继续挖掘。 找到商店A,支付比特币,让网络上的其他人挖出区块,写下这条交易记录。 找到B店,支付比特币,写入你挖到的区块。 如果你能提前挖出两个区块并广播出来,大家就会把你较长的分支作为当前区块链,商家A收到的比特币就不会被认可。 这种攻击成功的可能性取决于您估计散列的速率。 如果整个网络的算力足够高,这样成功的攻击要么成功率非常低,要么成本极高。

本文部分内容来源于网络,如有疑问请联系我们