首页 > 品牌人物 > 查看内容
  • 分享到

达鸿飞:区块链行业现状是圈钱的多 做事的少

2018-08-10 22:46

来源:笔记侠

作者:佚名



区块链的每一个区块的第一个值是前一个区块的Hash值。

所谓Hash值就是一个函数,输入任何内容,都输出一个固定长度的字符串(即Hash值);输入内容不变,输出结果不变,即将输入内容固化;输入内容一旦发生变化,比如修改一个符号,输出的Hash值都会发生变化。

比特币的Hash值是256位二进制数,代表2的256次方个可能性或者状态。如果给宇宙中所有的原子一个不重复的数字作为其状态,仍然用不完。

Hash值重复(即Hash碰撞)的可能性很低,我们可能忽略。

因此,我们可以得出结论:往Hash函数中输入任意两个不同数字,最后得到的Hash值一定不一样,一定不会重复(即不会发生碰撞)。

每个区块首先引用前一个区块的Hash值,像指针一样,形成前后序列的关系;通过互相引用,就会形成一个区块的链条。

然后默克尔树(Merkle Tree)将每一个交易都取Hash值,两个Hash值之间再取Hash值。

比如原来的8笔交易会变成4个Hash值,再合并成2个Hash值,然后再合并成1个Hash值,最后将这个Hash值写入区块中,这样就把所有交易的内容都固化下来。

此外,还有一个区块用来存放交易的原文。

生成Hash值时非常快(大概几十毫秒),而我们通常所说的比特币挖矿要消耗很多电能,要做很大的运算,这到底为什么呢?

要想获得比特币,除了满足它是前一个区块内容的数据指纹之外,还得满足256位二进制数的前N位为0。

比特币运营初期时,只要生成一个Hash值,就很快生成一个新区块,即没有任何难度。

每个区块里都有一个时间戳,当两个区块的生成间隔小于10分钟时,难度就会增大,开始要求Hash值的前多少位为零,这样运算量就会增加;当两个区块的生成间隔大于10分钟时,难度就会降低。

由于比特币价格在上涨,所以比特币的运算难度不断增大。正是因为持续不断地调整难度,才使区块的平均生成时间保持在10分钟。


发表评论
回顶部