※ 引述《greprep (@@)》之铭言:
: 看来看去彼特币的电脑科学和数学原理没有清楚的解释,支持彼特币的人只是
: 用文字告诉你,解释彼特币怎么运作,实际上的数学和电脑科学原理从没有看
: 过很好的解释。或许是我孤陋寡闻吧。
: 有个理论性问题想请教大家。在以下这一段里面提到了矿工的挖矿机必须"解决
: 复杂的数学问题",这个说法我听过太多次了。但是到底是什么数学问题呢?有
: 没有人知道?有人专门出数学题给挖矿机去解吗?
一:block的版本version
二:上一个block的hash值: prev_hash
三:需要写入的交易记录的hash树的值: merkle_root
四:更新时间: ntime
五:当前难度: nbits
挖矿的过程就是找到x使得
SHA256(SHA256(version + prev_hash + merkle_root + ntime + nbits + x )) <
TARGET
上式的x的范围是0~2^32, TARGET可以根据当前难度求出的。除了x之外,你还可以尝试改
动merkle_root和ntime。由于hash的特性,找这样一个x只能暴力搜索。
一旦你找到了x,你就可以广播一个新的block,其他客户端会验证你的block是否合法。
如果你的block被接受,由于每个block中的第一笔交易必须是将新产生25个比特币发送到
某个地址,当然你会把这个地址设为你所拥有的地址来得到这25个比特币。