内容字号:默认大号超大号

段落设置:段首缩进取消段首缩进

字体设置:切换到微软雅黑切换到宋体

全球如何保证区块生成是匀速的

2018-03-12 12:28 出处:清屏网 人气: 评论(0

1 分钟了解区块链的本质 》,介绍了什么是区块链,区块链是一个没有管理员,每个节点都拥有全部数据,高可用的分布式存储系统。

1 分钟了解挖矿的本质 》,介绍了什么是挖矿,挖矿是在最新区块链的数据上,生成一个符合条件的区块,链入区块链的过程。

区块链有个特点: 虽然大家都在采矿,但挖到矿的速度是均匀的 。以承载比特币的区块链为例, 平均每 10 分钟产出一个区块 ,这个速度基本是不变的。

有朋友就有疑问了,计算能力越来越强,计算节点越来越多,计算区块头 hash 的速度理论上应该是越来越快的呀。 技术上,区块链如何动态调节,以保证匀速生成区块 ,是今天这一分钟要聊的内容。

画外音:之前不少朋友说文章太长, 1 分钟读不完,好吧,我错了,这次真的是 1 分钟。

回顾,区块是怎么生成的?

:对最新的区块头进行两次 SHA256 计算,得到的 256bit 哈希结果, 高位 48bit 必须是 0x00000000FFFF ,才算新区块有效。

可以认为哈希的结果是完全随机的,要得出前 48bit 必须是 0x00000000FFFF 的哈希结果,就如同连续抛了 48 次硬币,每次都得到我们想要的结果,其概率是 (1/2)^48 ,所以概率非常小,生成区块的难度很高。

画外音:区块的生成原理详见《 1 分钟了解挖矿的本质 》。

区块如何保证生成速度匀速?

:假设期望比特币全球区块链每 10 分钟生成一个区块,需要设定一个动态调节机制, 每两周做一次统计

  • 如果统计结果是,最近两周平均每 5 分钟 生成了一个区块,说明生成太快了, 需要变慢 50%

  • 如果统计结果是,最近两周平均每 20 分钟 生成了一个区块,说明生成太慢了, 需要加速 一倍

如何控制加速和变慢呢?

:区块链中有一个 难度系数 ,可以调节区块生成的变快与变慢,难度系数影响的是, 区块头哈希结果,有多少 bit 必须与预期相同

例如 ,原计划哈希结果高位 48bit 符合预期,才算挖矿成功,现在改为, 49bit 符合预期,才算挖矿成功 ,这样得到预期 hash 的概率就降低了,挖矿就会 变慢

想反,如果改为, 47bit 哈希结果符合预期,就算挖矿成功 ,这样得到预期 hash 的概率就变高了,挖矿就会 变快

总结,如何保证全球匀速挖矿?

  • 需要 定期统计 ,动态加速或减慢生成速度

  • 通过难度系数, 影响 hash 结果多少位必须符合预期 ,才算合法的区块,来控制速度

技术人,聊技术,这个匀速方案,巧妙吗?

一分钟很短,希望这一分钟,大家有收获。

分享给小伙伴们:
本文标签: 区块链

相关文章

发表评论愿您的每句评论,都能给大家的生活添色彩,带来共鸣,带来思索,带来快乐。

CopyRight © 2015-2016 QingPingShan.com , All Rights Reserved.

清屏网 版权所有 豫ICP备15026204号