2.7 区块时间 - 数据结构 - 机器学习
数据结构 - 机器学习
深度学习

当前位置:首页 » 区块链精品文章 » 正文
2.7 区块时间
1084 人参与 2018年09月18日 09:51 分类 : 区块链精品文章 评论
我们看到的区块难度值公式使用了一个长达10s的阈值,以确保挖出父区块和子区块的时间差在10s和20s之间。但为什么是10~20s,而非其他数值呢?为什么时间差是恒定的,而非难度值是恒定的?
假设有一个恒定的难度值,矿工只需要发现一个随机数使得区块的哈希小于等于该难度值即可。假设该难度值大,且在此情况 下,用户又无法估算用户间发送以太币的时间延迟。如果网络算力不足,计算随机数需要较长时间,那么用户需要等待很长时间来确定交易。有时网络算力充足,可 能很幸运,很快就发现了随机数,用户交易确认就比较快。这类系统延迟不确定的特点自然很难受到用户青睐,因为用户总想知道需要多长时间完成交易,就像我们 从一个银行账户向另一个银行账户汇款,银行会告诉我们在多长时间之内会完成汇款。如果设定的难度值小,它将影响区块链的安全,因为大矿工可以比小矿工更快 挖出区块,网络中最大的矿工就会拥有控制DApp的能力。不可能发现一个可以使网络稳定的恒定难度值,因为网络算力并非恒定值。
现在我们知道了,为什么总是需要有一个相对稳定的生成区块的平均时间(即区块时间)。问题是最合适的平均时间是多长。 它可以短至1s,长至几乎无限多秒。降低难度值可以使平均时间较短,反之增加难度值可以使平均时间较长。但是,平均时间的长短各有什么优缺点呢?在讨论之 前,首先需要知道无效无效块(stale block)是什么。
如果两个矿工用几乎相同的时间挖下一个区块,会发生什么呢?两个区块肯定都是合法的,但是区块链不能包含区块序号相同 的两个区块,而且两个矿工都得不到回报。尽管这是个常见问题,解决方法却很简单,最后难度值较高的区块链将被网络接受。所以最后被忽略的合法区块叫作无效 无效块。
网络中生成的无效无效块总数与生成新区块所需的平均时间成反比。更短的区块生成时间意味着新挖出来的区块向整个网络广 播的时间更短,矿工发现问题解决办法的概率更大,所以当区块向整个网络广播时,其他一些矿工可能也解决了问题并进行了广播,由此产生了无效块。但是如果生 成区块的平均时间长一点,多个矿工能解决问题的概率就小一点,而且即使它们都解决了问题,也很可能存在时间差,在这个时间差里,第一个被解决的区块就可以 进行广播,另一个矿工就可以停止挖那个区块并继续挖下一个区块。如果无效块在网络中经常出现,就会出现大问题;如果仅是偶尔出现,就对网络没有损害。
但是无效块有什么问题呢?它们延迟了交易确认。当两个矿工几乎同时挖一个区块时,它们可能有不同的交易,因此如果交易出现在其中,就不能说交易已经确认了,因为交易中出现的区块可能是无效块。我们应该等待再挖出几个区块。无效块导致平均确认时间不等于生成区块的平均时间。
无效块会影响区块链安全吗?答案是肯定的。我们知道网络安全由网络中矿工的全部算力衡量。当算力增长时,难度值也要增 加,以确保区块不是在平均时间之前生成的。所以更高的难度值意味着更安全的区块链——节点想篡改区块链将需要更多算力,使篡改区块链更困难,因此区块链被 认为是更安全的。当几乎同时挖出两个区块时,我们将把网络分成两部分,在两个不同的区块链上工作,但是其中一个将成为最终区块链。所以在无效块上工作的网 络是在无效块上挖下一个区块,结果是网络算力损失,因为算力用在了没有用的事情上。网络的两个部分很可能用比平均时间更长的时间去挖下一个区块,因为它们 损失了算力。所以,在挖出下一个区块之后,难度值将降低,原因是用于挖区块的时间比平均时间更长。难度值降低会影响整体区块链安全。如果无效块率太高,将 在很大程度上影响区块链安全。
以太坊用ghost协议解决无效块带来的安全问题。以太坊使用这个真实ghost协议的一个修正版本。ghost协议 仅仅把无效块添加到母链上,掩盖了安全问题,由此增加了区块链的整体难度值,因为区块链的整体难度值还包括无效块的难度值之和。但是如何才能在不产生交易 冲突的情况下把无效块添加到母链中呢?事实上,任何区块链都可以接纳零个或者多个无效块。为了激励矿工接纳无效块,矿工接纳无效块将得到回报。此外,发现 无效块的矿工也将得到回报。无效块中的交易不用于计算确认,无效块矿工也不向无效块接纳的交易收取交易费。注意,在以太坊中,无效块称为“叔块 (uncle block)”。
矿工接纳无效块得到的回报计算公式如下。其余回报归侄块(nephew block),即包含孤块(orphan block)的区块:
你肯定在奇怪为什么要给无效块矿工回报。即便不给它们任何回报,也不会影响安全。这是因为无效块经常出现在网络中会导 致另一个问题,而这个问题可以通过给无效块矿工回报解决。矿工应当得到一定比例的回报,大致相当于它为网络贡献的算力比例。如果两个不同的矿工几乎同时挖 出一个区块,则算力比较大的矿工挖出的区块更有可能被添加到最终区块链中,因为该矿工挖下一个区块的效率会比较高,所以小矿工将失去回报。如果无效块比例 低,就不是大问题,因为大矿工增加回报的概率不大。但是,如果无效块比例高,就会产生大问题,也就是说,大矿工在网络中最终将得到比它应得的更多的回报。 ghost协议通过回报无效块矿工找到平衡。由于大矿工不拿走全部回报,但是仍比它们应得的多,我们不能对无效块矿工和侄块给予同等回报,而是给得少一 点。前面的公式很好地解决了问题。
ghost协议会限制一个侄块可以指向的无效块总数,这样矿工不会只挖无效块并使区块链生成速度变慢。
所以一旦无效块出现在网络中,它会或多或少地影响网络。无效块出现得越频繁,网络受到的影响越大。
来源:我是码农,转载请保留出处和链接!
本文链接:http://www.54manong.com/?id=598
微信号:qq444848023 QQ号:444848023
加入【我是码农】QQ群:864689844(加群验证:我是码农)
- 3.6 用new操作符创建合约2018-09-17 18:03
- 序2018-10-15 12:49
- 4.7 货币兑换市场2018-09-12 14:27
- 金融拥抱区块链2018-09-14 22:54
网站分类
- 数据结构
- 数据结构视频教程
- 数据结构练习题
- 数据结构试卷
- 数据结构习题解析
- 数据结构电子书
- 数据结构精品文章
- 区块链
- 区块链精品文章
- 区块链电子书
- 大数据
- 大数据精品文章
- 大数据电子书
- 机器学习
- 机器学习精品文章
- 机器学习电子书
- 面试笔试
- 物联网/云计算
标签列表
- 数据结构 (39)
- 数据结构电子书 (20)
- 数据结构习题解析 (8)
- 数据结构试卷 (10)
- 区块链是什么 (261)
- 数据结构视频教程 (31)
- 大数据技术与应用 (12)
- 百面机器学习 (14)
- 机器学电子书 (29)
- 大数据电子书 (37)
- 程序员面试 (10)
- RFID (21)
最近发表
- 找出数组中有3个出现一次的数字
- 《百面机器学习》电子书下载
- 区块链精品电子书《深度探索区块链:Hyperledger技术与应用_区块链技术丛书》张增骏
- 区块链精品电子书《比特币:一个虚幻而真实的金融世界》
- 区块链精品电子书《图说区块链》-徐明星 & 田颖 & 李霁月
- 区块链精品电子书《是非区块链:技术、投机与泡沫》-英国《金融时报》
- 区块链精品电子书《商业区块链:开启加密经济新时代》-威廉·穆贾雅
- 区块链精品电子书《人工智能时代,一本书读懂区块链金融 (互联网_时代企业管理实战系列)》-马兆林
-
(function(){
var bp = document.createElement('script');
var curProtocol = window.location.protocol.split(':')[0];
if (curProtocol === 'https'){
bp.src = 'https://zz.bdstatic.com/linksubmit/push.js';
}
else{
bp.src = 'http://push.zhanzhang.baidu.com/push.js';
}
var s = document.getElementsByTagName("script")[0];
s.parentNode.insertBefore(bp, s);
})();
全站首页 | 数据结构 | 区块链| 大数据 | 机器学习 | 物联网和云计算 | 面试笔试
var cnzz_protocol = (("https:" == document.location.protocol) ? "https://" : "http://");document.write(unescape("%3Cspan id='cnzz_stat_icon_1276413723'%3E%3C/span%3E%3Cscript src='" + cnzz_protocol + "s23.cnzz.com/z_stat.php%3Fid%3D1276413723%26show%3Dpic1' type='text/javascript'%3E%3C/script%3E"));本站资源大部分来自互联网,版权归原作者所有!
评论专区