火星链 火星链
Ctrl+D收藏火星链
首页 > USDT > 正文

COI:比特币时间戳的安全性

作者:

时间:1900/1/1 0:00:00

JamesonLopp文

本文由币信原创编译,原文链接:

https://medium.com/@lopp/bitcoin-timestamp-security-8dcfc3914da6

本文版权归原作者所有,仅代表作者本人观点,不代表币信的观点或立场。

本文约4000字,阅读全文需约10分钟。

比特币通常被称为一种安全的时间戳服务。我们从未获得过一种带有可信时间戳的全球性真实记录,那么这是怎么产生的呢?这主要是得益于工作量证明与矿工必须遵守的一些简单规则的结合。矿工的主要职能是:

?获取无序的未确认交易并以特定顺序对其进行排列

?将交易打包到有效容器当中

?在可接受的时间范围内为区块盖上时间戳

最后一个属性使得比特币能够控制比特币供应的释放。否则,只要算力增加,比特币就会受到快速通胀的影响。但事实证明,这个属性为比特币协议赋予了相当多的实用性,也使得人们可以将比特币用作其他服务的数据锚点。因为我们有合理强度的保证,让时间戳落在给定范围内,并且我们有重写区块链历史所需能量的数学保证,所以,比特币为数据的时间戳提供了一个可靠的锚点。但是,它有多可靠呢?

数据:比特币实际资本超过2017年最高纪录:加密市场数据分析公司Glassode发布的数据显示,自2017年底比特币达到2万美元的历史最高点以来,比特币实现的资本化增长了50%以上。比特币的实际上限目前为1,150亿美元,比2017年的历史最高水平高出430亿美元。比特币目前价值1,900亿美元的市值表明,比特币长期交易投资者的总利润为65%。[2020/9/24]

比特币时间戳的弹性

为了使区块头的时间字段被各个节点视为有效,它必须满足两个标准:

小于你电脑的当前时间2小时大于过去11个区块的中位数时间戳

第一条规则是有道理的——我们显然不希望任何人声称来自未来,并且,节点很容易拒绝这样的声明,因为我们大家对当前时间是一致认可的。有多种方法可以检查当前时间,而一种非常流行的计算机同步时钟的方法,是通过网络时间协议。

但是,确保时间不要在合理点之前太远要难一些。这是因为我们不能假设节点在区块被最初创建的时间附近验证区块。节点需要能够离开并重新加入网络,这可以是出于任何原因或并无理由。如果必须在当前时间的几个小时内创建区块,那么距离链顶端太远的节点将开始拒绝历史区块。

“节点可以随意离开并重新加入网络,接受工作量证明链作为它们离开时发生的事情的证明。”——中本聪,比特币白皮书

犯罪分子偏爱使用比特币 隐私币功能未被完全利用:使用加密货币进行犯罪活动的人往往要面临两个选择,要么选择门罗币这样的加密货币以增强私密性,要么选择比特币来增加便利性、可用性和流动性。随着交易所根据法规将门罗币这样的币种从交易所清除,比特币经常会获胜。而人们并没有完全利用加密货币的隐私功能,ZEC上只有14%的交易受部分保护,6%的交易被完全保护。(Ambcrypto)[2020/7/19]

也许这很违背直觉,但并没有规则要求区块的时间戳必须在前一个块的时间戳之后。如果你考虑一下,这样一个规则可能会导致问题——如果一个矿工创建了一个时间戳接近未来2个小时的区块,那么下一个区块也必须在未来很久以后——对其他矿工来说,自我纠正过去11个区块的中位数时间就更难了。

此外,要记得,虽然预计约每10分钟生产一个区块,但并没有真正的保证。区块的时间间隔可以从几毫秒到几个小时不等。虽然过去11个区块的预期中位时间应该是1小时前,但它可能早得多或者晚得多。

来源:https://en.bitcoin.it/wiki/Confirmation

推动时间戳窗口

如果您考虑一下敌对矿工可能会如何尝试扩展可接受的时间戳窗口,很明显,无论他有多少算力,他都无法将时间戳推迟超过2小时。然而,一个拥有足够算力的攻击者,可能会通过只打包时间戳几乎没有效的区块——过去11个块的中值时间之后仅一秒——来对“比特币时间”的累进施加一些拖拽。

Ripple的ODL支付网络在比特币市场比往年更受欢迎:Ripple的ODL支付网络在2020年第一季度的交易量增长了两倍,而使用ODL交易的美元价值增长了294%以上。

根据流动性指数Bot显示,XRP/AUD的BTC市场的流动性指数在6月2日攀升至15640530澳元——大约1060万美元,超过了之前的ATH值。尽管自5月10日以来XRP在澳大利亚市场的价格一直保持在0.20美元左右,但自2020年初以来,XRP在澳大利亚市场的流动性一直在稳步上升。(Cointelegraph)[2020/6/2]

是否存在激励去这样做?在极端情况下,“时间扭曲攻击”会提供短期的财务激励,我们将在稍后讨论它们。对于只是将时间戳到处拖拽几个小时,目前还不太清楚可能存在什么样的激励。虽然考虑到其他协议可以构建在比特币之上并且可能涉及时间锁,但未来也可能存在其他协议可能被减慢区块链上的时间戳累进过去。

算力时间拖拽

由于最早的有效区块时间基于过去11个块的中位数时间,一个敌对矿工需要生成大量区块来在过去的中位数时间上引起任何明显的拖拽。

我们假设一种情况,所有矿工都通过网络时间协议大致同步,但有一个敌对矿工试图尽可能地拖拽过去11个区块的中位数时间。

有一点非常明确:中本聪使用过去11个区块的中位数时间戳而非平均值是一个聪明的决定,因为平均值会更易于操纵。另一种思考“过去的中位数时间”的方法是,如果所有时间戳都按顺序排列,它简单来说就意味着第6个最新块的时间戳。如果不是,算法会对它们重新排序。因此,如果你希望对这个值产生不可忽略的影响,你需要算出过去11个块中的6个。为了维持这种攻击,你需要55%的算力,此时比特币的热力学安全性的一个主要假设就会破裂。但是运气好,一个拥有较少算力的矿工有时候仍然可以实现这一目标。

加密研究人员:比特币面临的系统性风险正在增加:加密研究人员Hasu警告称,监管银行业务层的不断增长给比特币(Bitcoin)带来了系统性风险。Hasu在最近的Deribit博客文章中说,虽然比特币可以通过增加其区块大小来扩大规模,允许每个区块有更多的交易,但这会让交易的保障变得更糟。他补充说,比特币通过排除超出安全容量限制的使用来保护其财产,然而比特币排除用户的能力比通常假设的要小。它无法控制银行层(通过托管银行接入网络的用户数量)的增长,这可能会成为比特币的系统性风险。(CryptoNews)[2020/5/26]

在11个块中挖出6个有多难?好吧,给定矿工算出下一个块的可能性,基本上等同于其占全网算力的百分比。因此,如果你只有1%的算力,那么你在任意11个连续块中挖出6个的机会=(0.01?*0.99?)*(11!/(5!*6!))=约20亿分之一。如果你保持1%的算力,那么在你挖出11个中的6个之前需要发生的预期块数将超过43000年。

对于实现一次成功的时间拖拽攻击的预期等待时间,一个更一般化的公式将是:

(1/(462*(算力百分比?*(1-算力百分比)?)))/144区块/天=天数

我们可以看到,对于想在任何有意义的时间尺度上进行此类攻击的攻击者来说,他们需要一个相当大的矿池,至少占全网算力的10%。

Evrial木马替换剪贴板复制的地址窃取比特币:最近一个名为Evrial的窃取新的的木马正在犯罪论坛上出售。该木马可以Evrial可以窃取浏览器cookie和存储的凭证,还可以改变复制到剪贴板上的比特币地址,从而导致比特币被转到错误的地址。由于很多人在转账前都会将收件地址复制到Windows剪贴板,因此任何通过桌面客户端或硬件钱包来转账的人都可能面临风险。现在用户最好的做法就是不要下载陌生人发送的邮件附件,避免点击网络上的恶意链接,并更新计算机上的杀软件。目前其他操作系统的用户似乎不受这种恶意软件的影响。[2018/1/24]

最大拖拽

然而,为了在过去的中位数时间上引起最大拖拽,矿工必须连续算出6个块。如果他们在过去11个区块中的6个不是全部按顺序挖的,那么其他矿工创建的时间间隔将迫使该敌对矿工将其区块的时间戳设置为超过彼此一秒,因为每个区块的过去的中位数时间将显著地跳向诚实矿工在其区块上设置的更准确的时间戳。

连续挖出6个块有多难?如果我们再次假设矿工拥有1%的全网算力,那么挖到任意连续6个块的机会是0.01?=大约万亿分之一。如果你保持1%的算力,那么在你挖出连续6个块之前需要发生的预期块数将近200万年。

对于一次成功的时间拖拽攻击的预期时间,更一般化版本的公式将是:

(1/算力百分比?)/144区块/天=天数

这种攻击更难以实现,需要更多的全网算力,比如20%或30%,才能在合理的时间范围内发生。你可以想象,这很少发生,而当它发生时,人们会注意到。它最后一次发生,是在2014年7月的GHash,GHash有一段时间算力超过了40%,甚至在短时间内触及了51%。再9个月前也发生了一次,当时BTCGuild有近一半的算力。如果你有50%的算力,你连续挖出6个块的机会是0.5?=64分之一。如果你保持50%的算力,那么你几乎每12小时就能连续找到6个块。

很明显,在没有大多数算力的情况下,不可能长期拖拽比特币的过去的中位数时间,但是你可以在短时间内用运气和耐心的正确组合拖动它几个小时。如果你假设其他矿工的时间戳相当准确,那么过去的中位数时间应该大约是1小时前,虽然由于挖出的区块的波动性可能会多出几个小时。如果您设法制作6个时间戳为1小时前加1秒、2秒、3秒等的块,那么在第6个块,过去的中位数时间就大约是2小时前。如果我们假设区块间隔为1小时的极端条件,则过去的中位数时间将是6小时前。

通过允许区块时间戳存在合理的灵活性,然后采用最近区块的中位数时间,我们最终得到一种非常难以愚弄的算法,但又不那么脆弱,以至于对与真实时间不同步的矿工产生负面影响。

让我们再做下时间扭曲

如果攻击者确实拥有超过50%的全网算力并且他们想减缓比特币时间的流逝怎么办?他们可以做一些非常讨厌的事。这样的敌对矿工可以防止时间戳以每个新区块超过1秒的速度前进。如果他们在足够长的时间里一直这么做,并最终在难度调整间隔上创建了区块,而时间戳使得它看起来像创建时间远超2周的之前的2016个区块,他们就可以操纵调整逻辑,让每2016个区块的难度减少高达75%。最终,在难度足够低的情况下,他们可以在给定的时间段内随心所欲地产生区块,从而获得高于预期的挖矿奖励。一次优化的时间扭曲攻击可以在18.7天内挖出所有剩余的比特币。我们实际上已经看到类似的行为发生在比特币的测试网3上,因为难度调整异常,现在测试网3在8年内挖出了1482878个区块,约为预期产量的350%。

时间扭曲攻击并不是什么新鲜事。这种攻击最初是在2011年针对一种名为“GeistGeld”的币进行的,这在BitcoinTalk上被讨论为“51%攻击的变种”。GeistGeld想通过非常短的出块时间来测试区块生成速率的上限,以及具有稳定的生成速率且没有供应上限或供应变化的加密货币的行为。

白币在2014年似乎也遭到了时间扭曲攻击。

在2018年,Verge受到了这样的攻击。然后在6周后再次被攻击!

通常,对于给定类型的硬件,算力小的加密货币容易受到时间扭曲攻击,因为它们本身容易受到51%攻击。

有趣的是,虽然时间扭曲通常被称为攻击,因为它会导致系统的意外行为,但是有些人已经表明它可以被用于潜在的期望用途。2015年,VitalikButerin描述了一种通过一次软分叉加速区块从而提高了链上容量的方法。在2018年,比特币开发者马克·弗里邓巴赫提出了利用这种意外行为的建议,以便为比特币添加新功能。在他的“前向区块”提案中,马克阐述了他的方法,它可以将链上交易量扩容到当前水平的3584倍,以向后兼容的方式改变工作量证明算法,分片,一个可退回的费用市场用于共识费用检测,平滑地终止矿工补贴,以及保密交易的先决协议,mimblewimble,不可链接的匿名支出和侧链。

然而,这些提议是有争议的,并且可能会强迫那些依靠比特币区块头的时间戳来构建的系统对该数据另寻出路。正如GregMaxwell在比特币开发者邮件列表上所说的那样,阻止这样的改变也相当容易:

它可以通过一次进一步限制区块时间戳的软分叉来修复,并且沿着这个思路人们已经提出了一些提案。

结论

比特币的时间戳安全性,和限制可接受时间戳窗口的一些简单规则,在对抗环境中经受了10年的考验,尽管它们存在着已知的缺陷。我们知道,51%的矿工可能会在网络上造成严重破坏,至少在短时间内会如此,但这种情况从未发生过——可能是因为激励措施并不适合矿工这样做。理性的矿工不会选择短期收益而杀死长期的金鹅。

-END-

标签:比特币COICOINOIN比特币红包appCOIN价格GrandcoinTuxcoin

USDT热门资讯
比特币:比特币多次触底,大盘要反弹了吗?6月10日行情分析

币圈老村长第一时间获取币圈财富资讯及服务!村长币说比特币大区间震荡已经有11天时间了,比特币现在的行情处于这个尴尬的位置,跌不下去,也涨不上去,相信很多散户和韭菜都心里都极度难受.

1900/1/1 0:00:00
比特币:LTC“神助攻”上线在即,历史走势现翻倍机会

今年8月,莱特币将迎来第二次减半。从供需角度来看,区块奖励减半意味着产量减少,矿工挖矿成本激增,而随着需求增大,LTC价格将随之水涨船高.

1900/1/1 0:00:00
数字资产:K网国际站关于发放 IPWT活动奖励的通知

尊敬的用户:IPWT交易活动已经结束,感谢广大用户对活动的积极参与,相关奖励现已发放完毕,请登录K网在“财务中心”中查收.

1900/1/1 0:00:00
BTC:丁佳永:多头力量隐蔽,但仍具拉升条件,今日将再次挑战8000

昨夜走势全线回暖,如果经常参考日线级别图的朋友一定会发现近期走势规律,不同于四月五月的月初发力随后震荡整理,六月以来走势是月初向下发力随后走势宽幅震荡,不过总体依旧处于高位.

1900/1/1 0:00:00
DAX:IDAX开放BAW充提、交易公告

亲爱的用户:??IDAX将上线BAW。开通BAW/BTC交易,立即前往。充值开放时间:2019年6月15日11:00(UTC8)交易开放时间:2019年6月17日11:00(UTC8)提币开放时.

1900/1/1 0:00:00
WEB:BM:如今的监管环境若存在于 5 年前,bitshares、Steem 可能不会存在

据MEET.ONE报道,昨日晚间至今日凌晨,BM在电报群谈论有关监管的话题,他表示:如今这样的监管环境若存在于5年前,那么bitshares、Steem甚至EOS就不会存在.

1900/1/1 0:00:00