比特币是如何产生的? (算法)
BTC$48360.41+2.46%ETH$3797.71+2.32%DOGE$0.17511+1.64 %EOS$3.1438+2.27%ADA$1.366187+1.10%XRP$0.85087+1.55%
一:区块的版本
第二:前一个区块的hash值:prev_hash
三:要写入的交易记录的哈希树的值:merkle_root
四:更新时间:ntime
五:当前难度: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 个比特币?
这是规则。初始数量为 50 个比特币,剩余的比特币每形成一半,收益就会减半,这样最终可以形成的比特币总数接近 2100 万个。如果你还坚持自己挖了50个比特币,其他客户端不会接受,这个区块就白挖了。
如何保证平均更新周期为10分钟?
TARGET 越小,求解 x 的难度就越大。每形成 2016 个区块(约 14 天),网络会根据此期间形成新区块的平均间隔调整 TARGET。
估计最快的人总是先解决它吗?
没有。你总是想把挖矿收益当成自己的,所以每个人在估算的时候,发送挖矿收益的地址不一样,所以merkle_root是不一样的,也就是说,每个人都是从不同的初始状态开始求解的。
如何同时解决?
区块链会分叉,有的客户端会接受A,有的会接受B,直到某个分支出现更长,大家都会选择这个更长的分支。如果你挖的不幸的东西没有被选中,你的挖矿收益将无效。
由于我选择了较长的分支,如果我用太低的难度来解决怎么办?
客户端在众多分支中找到与当前难度匹配的最长分支。
这些估计是否浪费了?
如果您要花两次相同的钱,您需要这样做。挖掘一个新区块,但将其隐藏在广播中,并继续挖掘。找到A店,支付比特币,让网上的其他人挖区块,写下这个交易记录。找到B店,支付比特币比特币是如何产生的,写下你挖的区块。如果你能挖出两个区块并广播出去,大家就会用你更长的分支作为当前区块链,商家A收到的比特币就不会被识别。这种成功命中的概率取决于您估计散列的速率。如果整个网络的估计能力足够高比特币是如何产生的,这样的功率攻击要么成功率非常低,要么成本非常高。
欧易okex交易平台,欧易okex交易所官网,欧易okex官方下载APP