交易如何写入区块

交易最终被确认就是要将交易写入到区块链里,而区块链是由一个个区块串联起来的,区块才是记录交易的实体,因此要写入区块链,首先要将信息写到区块里。那么区块是如何产生的呢?
区块的产生是有网络中一个个矿机来完成。但是矿机要产生一个新区块并没有那么容易。这里我们首先讲下区块的数据结构,区块分为区块头和区块体,区块体里存储的就是一条条的交易记录,这些交易记录都是被支付方例如B广播到网络中去的交易记录。
在比特币系统里一个块的大小本指定为1个mb,一笔交易大概500个字节,因此一个区块大概可以存储2000笔左右的交易。区块的里最关键因素在区块头里,区块头里有该区块的很多特征值,比较关键的有
区块生成时间区块体的Hash值上一个区块的Hash值以上值都是外部获取的,除此之外区块头还包含一个难度系数difficulty和Nonce的随机数,矿机系统里还有一个固定的常量值。这里有个公式:
target = 固定的常量值/difficulty
由此可见难度系数越大,target的值就会越小。矿机会对区块头的数据进行hash计算,hash的结果是一串二进制数字,如果最终的hash结果要小于target那么该区块才会被认为有效区块,这个有效区块才能被同步到区块链里,但是计算出一个有效的区块可没有那么容易,需要反复的计算才能得到最终结果。可是由于一个区块特征属性一般都是固定的,为了让每次区块头的每次计算出来的hash值都不同,每次无效的hash结果计算后,矿机程序就会动态调整Nonce的值,让最终hash的值发生变化。Nonce是一个32位的二进制数字,因此它的取值范围就是0到21.47亿。那么命中target就是一个穷举的数学过程了,一个矿机可能幸运很快算出来,也有可能算满了21.47亿次都不能命中,这时候框架就得重新同步区块链数据,重新计算。这就是区块链技术里的工作量证明,可见一个区块产生是相当的麻烦和困难的。
回到区块产生的讲述,由上面流程,我们发现一个区块的产生是非常耗费资源即耗费计算机的算力和电力资源,那么为什么矿机都乐此不疲的想产生区块呢?这是因为每产生一个区块的经济奖励是非常诱人的。
中本聪是这么来设立生成区块的奖励的,比特币系统是2008年运行的,当时产生一个有效新区块的奖励是50个比特币,这个数值每4年减半,也就是说到了2012年后就是25个,2016年后就是12.5个,现在是2018年就是一个新区块的奖励就是12.5个,而时下的比特币价格都超过了1万美金,这个收入是极其可观的。从这个规则我们也可以发现比特币的总有一天是不会在增加的,到了新区块不给新比特币奖励,那么这时就没有矿可以挖了,为了激励框架继续挖矿,中本聪还建立了另外一种奖励措施那就是手续费,区块是记录交易,每个交易被记录都是要付费的,而且每个区块都会根据手续费的高低排列交易,那么没给手续费的或者手续费很低的交易往往很难写入到区块,也就是最终很难写入到区块链,交易就会很难成立,这就可以让矿机有无限动力挖矿。
新区块诞生会奖励比特币,这就是比特币发行的流程,这也就是人们为什么会乐此不疲的做矿工的原因,有巨大的利益驱使的。
新区块产生了就要将新区块加入到区块链里了。

交易如何写入区块

扫一扫手机访问

发表评论