如果你曾使用过比特币网络进行交易,可能会意识到接受未经确认的交易是危险的。在未确认的情况下,比特币接收者很容易受到种族攻击、芬尼攻击以及51%攻击。当你至少经过一次交易确认,那么将不再容易受到种族攻击或芬尼攻击。现在你唯一关心的是51%的攻击。它的可接受确认次数的经验法则是什么?1次确认:足以满足1,000美元以下的小额付款。3次确认:付款金额在1,000-1万美元时,大多数交易所需要3次存款确认。6次确认:适用于1万美元至1百万美元之间的大额付款。六次确认被认为是安全的标准。10次确认:建议用于大于1百万美元的大额付款。深入探究
自然比特币并不是那么简单,我们所谓的确认性经验法则只是基于我们并未真正谈论的假设。例如,上面列出经验法则的确认阈值实际上是基于具有全球哈希率10%的攻击者,在这种情况下,6次确认可以99.99%地保证攻击者无法在区块链网络中重写数量较多的历史记录。但是这些计算早在矿池和工业挖矿之前就已经进行了,当时可以合理地假设某人很难拥有超过10%的全球哈希率。自2011年以来,网络上出现了大量的区块生产实体,它们积累了远远超过全球10%的哈希率。在撰写本文时,就有5个这样的矿池。量化实时风险
比特币白皮书的第6页和第7页概述了计算攻击者在给定数量的交易确认后重写区块链所存在风险的方法。诚实链和攻击者链之间的竞争可以描述为二项式随机游走。成功事件是诚实链被延长一个区块,其领先优势增加1,而失败事件是攻击者的链被延长一个区块,差距减少1。攻击者链追上诚实链给定的概率类似于徒破产问题。通俗地说:徒大部分时间能够赢的期望值为负,因此他们玩这个预期值为负的游戏时间越长,他们成为赢家的可能性就越小。鉴于我们假设攻击者拥有不到50%的网络哈希率,攻击者追上的概率随着他们必须追上块数的增加而呈指数下降。由于时间拖的越长,对攻击者越不利,如果他不早点幸运地向前冲刺,他的机会就会随着他越来越落后而变得微乎其微。攻击者的潜在进展概率类似于泊松分布,因为所有挖矿都是泊松过程,因此成功的结果遵循此分布。为了确定攻击者可以从z个块之前重写区块链的概率,我们将攻击者可以取得的每个进步量的泊松密度乘以他可以该位置赶上的概率,其中:p=诚实矿工找到下一个区块的概率q=攻击者找到下一个区块的概率z=需要重组多少个区块lambda=z*(q/p)k=从0到z的整数
这不是一个有趣的计算公式,所以它似乎对开源项目来说是一个不错的选择。确认风险计算器
我创建了以下工具,它将根据具有最高哈希率估计值的矿池动态计算当前的链重组风险当然,您可以使用任何其他哈希率百分比覆盖此参数以及获得风险评分所需的确认数量。
现在很容易看出,如果我们希望有99.9%概率确定我们的交易不会被双花,对于具有给定百分比网络哈希率的攻击者,随着攻击者的哈希率接近50%,确认数量会急剧增加。
你为什么要关心?
在撰写本文时,Foundry拥有全球36%的哈希率,这意味着如果你在3次确认后接受付款,Foundry仍有49%的机会重写区块链,并发起双花攻击。
假设攻击者拥有10%哈希率,6个区块确认的经验法则可确保99.99%不会发生双花,而现在需要60次交易确认才能达到相同的置信度。至于这种攻击的实用性:矿池肯定没有动力进行攻击,因为如果他们这样做,他们可能会失去大量业务。矿工一般都是长期持有者,他们不愿意损害人们对生态系统的信心。但是,矿池仍然可能出现单点故障,有人可以利用漏洞在短时间内劫持矿池。类似的情况曾经发生过,比如这次BGP攻击,它重新路由了大量的矿池流量来为攻击者挖币。总结
尽管比特币在某些方面具有稳健性和稳定性,但在其他方面却非常不稳定。对于在比特币区块链上进行高额交易的人来说,重要的是他们要意识到应该根据挖矿生态系统的当前状态调整他们的风险评估。需要明确的是,关于Foundry的上述观点不应被解释为这是对比特币网络完整性的某种迫在眉睫的或系统性威胁。在过去的十年中,由于多种因素,我们已经看到矿工中心化程度的起伏。例如:
我仍然乐观地认为,推动工业比特币矿工的激励措施是合理的。他们将继续寻找廉价、搁浅、过剩能源来源,而能源的本质是它能够在世界各地获得有效利用。从长远来看,我预计我们会看到矿池的哈希率分布变得更加去中心化。除此之外,还有一些技术改进,例如StratumV2从矿池运营商手中夺走了权力,并将其放回个人手中。
原地址
郑重声明: 本文版权归原作者所有, 转载文章仅为传播更多信息之目的, 如作者信息标记有误, 请第一时间联系我们修改或删除, 多谢。