比特币的每一个区块是怎样构造出来的?

发布时间:2020-10-13 19:16   浏览次数:次   作者:货币
比特币的每一个区块是怎样构造出来的?它是由矿工们“挖”出来的。任何一个数字货币系统以及区块链系统,它的目的都是实现交易。在比特币系统中,同样也存在着各种各样的交易,每一笔交易都包括一些数据:支付方的比特币钱包ID、支付的比特币数额、接收方的比特币钱包ID、交易的详情,等等。每一笔交易发生后,由节点向比特币的全部网络广播,取得全网络的共识后予以确认。
而在当前时点,这笔交易还需等待一个区块把它装人,这时候就需要矿工的参与。因为这是一个需要计算力的过程,普通参与者在计算力的硬件装置、电力消耗上不具备条件,所以只能由一些组织或个人进行计算,具体的过程是这样的:
矿工们在接人网络后,保持对全网络的监听,实时接收其他节点广播的交易信息。在当前时点上,矿工已经通过网络获知了前一区块完成以来一定时间段内的每一笔交易的信息,然后矿工使用SHA一256的哈希算法,计算每一笔交易的哈希值。计算完成后,再把这些交易两两组合,再次计算SHA一256哈希值,并不断重复这一过程,形成类似于金字塔的结构,最终得到一个所有交易的最终SHA一256哈希值,称为“默克根”(Merkleroot),也称Merkle根。
取得默克根后,矿工将其与上一区块的ID号、一个随机数再次组合,进行SHA一256哈希计算,得到一个哈希值。将这个哈希值与给定的条件对照,一般给定的条件要求哈希值的前20位为0,这是一个相当苛刻的条件,达成的概率为百万分之一。
因此,矿工的第一次随机哈希显然不能匹配给定条件的要求。于是矿工增加随机值,再次进行哈希计算和结果.对...这一过程一般要持续几百万次,从概率上来说已经接近于买彩票中奖的概率了,而且同一时间点全网络内不同地理位置的矿工都在进行计算竞争,所以对于硬件的计算力要求较高,还要消耗大量的电力。如果某一个矿工以最短时间第一个完成了“前20位为0”这一给定条件的哈希计算,那么他就可以向全网发送通知,声明他已经完成了一个区块的构造,其他节点根据该矿工发出的通知信息(包括前一区块的ID、交易默克根、随机数等),经哈希计算确认后确实能够得到“前20位为0”,大家就公认他创建的区块是成立的,系统给予他一定的比特币奖励(目前是25个比特币)。而其他矿工则马上以他构造的这个区块作为父区块,即用这个区块的ID号作为哈希计算的参数,进行下一个区块的计算竞争。规则还是透明、一致的,看谁计算力强、谁的运气好,在所有参与的矿工中尽早算出符合给定条件的最终哈希值。对于系统来说,这25个比特币就像是“无中生有”般地出现了,所以这些计算者被形象地称为“矿工”.面不是“交易计算者”或者“区块组装著”。

根据中本聪设定的规则,每过两年,奖励给矿工的比特币就要或半(2016年7月以后,挖矿得到的比特币奖励减到2.5个比特币),预计到12040年奖励的比特币趋近F0.此时系统所产生的总体比特币为2100万个,而且不再新增。因为对于矿工来说,“挖矿”所耗费的资源巨大,而并没有得到足够的比特币回报,所以将不再有动力去“挖矿”了。这一方面保证了比特币的总量稳定,不像传统的中央银行货币那样总量不断增长导致通货膨胀,但另方面也意味着在2100万个比特币被“挖”出来后,比特币系统衢要构造新的激励机制(比如,可以采取将每笔交易收取1%手续费的方式,作为给成功挖矿的矿工的奖励),促使矿工们继续进行区块计算,因为即使比特币没有了,但是交易还是在不断发生、不断需要有人来对交易进行哈希计算。到这时,也许矿工就恢复到了“交易计算者”或“区块组装者”的本来特点。
以上内容由智币通自动炒币量化机器人软件提供!
下一篇没有了