最近有人在讨论矿工是否可能采用一个还不存在的、修改过的以太坊客户端,主要为了使矿工可以接受贿赂,对区块链进行短程的重组(创造这种贿赂的主要用例是攻击DeFi协议)。
在这篇文章里,我们将解释这个攻击向量为什么在以太坊2.0合并后更难执行。
什么是分叉选择规则,为什么重要
分叉选择规则是一个函数,由客户端来求值,该函数把区块集和见过的其他消息作为输入,然后把「权威链」的内容输出给客户端。之所以需要分叉选择规则,是因为可能有多条有效链可选(即如果同一个父区块有两个竞争子区块同时发布)。
重组(reorg)?是这样一种事件——本来属于权威链的区块变成不再是权威链的一部分了,因为有一个竞争区块把它击败了。最终确定性是这样一种情况——分叉选择规则强有力地支持某个区块,以至于该区块在数学上不可能被重组(或至少是经济行不通)。
在有些分叉选择规则里(例如Tendermint),重组是不可能发生的;分叉选择规则只通过添加任何已经通过BFT(拜占庭容错共识协议)共识、最终敲定的区块来扩展现有的链。在其他分叉选择规则里,重组是很常见的。
以太坊的现状如何
在以太坊这样的PoW区块链里,我们通常看到的是「最长链规则」(或更准确来说,是「最高总挖矿难度规则」)。这意味着,当客户端看到两条区块链时,它会选择总难度(即该链里所有区块的难度总和)最高的那条。
为了方便举例,假设区块难度可以是100或110,想象以下这样的场景:
美SEC专员:不明白为何比特币现货ETF申请决定需要花费这么长时间:1月5日消息,在周二发布的一份通知中,SEC指出,“指定一个较长的期限来发布批准或不批准该ETF的指令是合适的”。消息传出后,比特币的价格并未受到影响,仍在4.7万美元以下的盘整区间内徘徊。
虽然加密货币爱好者已经习惯了比特币现货ETF申请被拒绝和延迟,但SEC专员Hester Peirce也想知道为什么要花这么长时间。在接受行业媒体采访时,Peirce表示:“我不敢相信我们还在谈论这件事,就好像我们在等待一件事发生一样……甚至在最近,我们还否决了一系列的此类ETF申请,而那些声明仍在使用我认为在现下已经过时的论证方法。”(Cointelegraph)
此前消息,美国SEC已将有关NYDIG比特币ETF的决定推迟至3月16日。[2022/1/5 8:27:29]
1、我们从难度为100的区块1开始同步。
2、区块2a和3a都以难度100到达,我们把它们嵌入到我们的区块链里,构成总难度为300的分叉。
3、区块3b以难度110到达,并声称2a是它的父区块,构成总难度为310的分叉。分叉选择规则会发现目前「最重」的链是第二个分叉,然后转为选它。这种情况属于1个区块的重组,因为只有区块3a被改变了。请注意,区块不是直接被丢弃的,因为新到达的区块可能会导致分叉选择转为选择第一个分叉。
4、区块2b和3c都以难度110到达,构成总难度为320的新分叉。这意味着分叉选择规则现在将使用2b而不是2a,3c而不是3b,区块2a和3b都曾在上一条权威链里。这种属于2个区块的重组。
网友向推特黑客转币包含隐藏信息:比特币可追踪 为何不使用门罗币:7月16日消息,在今日早间推特众多名人账户遭攻击,并发布数字货币钓鱼局后,根据Reddit网友发布的链上数据信息,有用户正在向黑客相关的七个不同的地址发送0.00005348 BTC(约合0.5美元)。而在这7笔交易中隐藏着一份信息:使用比特币时您处于危险之中,比特币可以被追踪,为何不使用门罗币。(JP.Cointelegraph)[2020/7/16]
读者应该能看到逻辑是怎么发展下去的。如果一个新区块4a到达并声称3a是它的父区块,分叉选择规则会转为选第一个分叉,如此类推。
链重组的影响
由于延迟,短程的重组经常发生。矿工A和矿工B可能同时找到一个有效区块,但由于区块是在p2p网络里广播的,部分网络可能先看到矿工A的区块,而另一部分先看到矿工B的区块。如果两个区块的难度相同,就会出现平局,客户端端要么随机选择,要么选先看到的那个区块。通常,当第三个矿工C在矿工A或B构建的区块上构建了一个区块时,另一个区块就会被遗忘。偶尔运气不好还会导致2-5个区块重组。比那更长的重组几乎总是由于极端的网络故障、客户端漏洞、或恶意攻击。
短程重组并不致命,但对网络的确仍会带来一些严重的有害后果:
·节点开销:当一起重组发生时,因为需要转用新的分叉,可能需要重新执行交易或状态编辑,节点会有一些内存和磁盘开销。
·用户体验下降:可能重组意味着用户需要等待更长的时间,才能安全处理需要「被确认」的交易。这方面的一个重要子用例是交易平台等企业在接受存款前需要等待更长的时间。
·交易背景的不确定性:当一个用户发送一笔交易时,他们会更不确定该笔交易会在什么背景下执行(例如,最新的N个区块会被回滚吗)。显然,这会使DeFi交易更容易出现意外的失败、比预期更糟的交易结果、或有害的MEV提取。
动态 | 澳本聪回应江卓尔“为何不了解Base58 编码”:我想通过 Base58 来误导听众:江卓尔和澳本聪在昨日辩论上,江卓尔问澳本聪名:为什么在销毁(burn)地址中使用 X 而不是 0。中本聪发明了用于这些地址的 Base58 编码模式,中本聪有意地排除了看起来相似的数字和字母,比如零和字母 O。为什么您会不了解中本聪发明的Base58 编码?
澳本聪(CSW)回应称,这是我的代码。我想通过 Base58 来误导听众,想让人们以为我不了解比特币。实际上 Base58 和交易无关,它只是钱包的实现方式,checksum 是钱包层面的东西,它是钱包交易时用来验证的东西,它并不存在比特币网络上。[2019/7/24]
·更容易受到51%攻击:在以最长链作为分叉选择规则的系统里,如果区块链从选择B1转为B2进行重组,那么B1的难度不再为链提供安全性。攻击者不再需要击败所有诚实矿工,他们只需击败没被重组的那部分诚实矿工。如果重组进行得频繁,这会使得攻击变容易很多。
可能出现的最坏情况
在最坏的情况里,频繁的重组会使区块链的结算保证完全失效,并阻止它继续进行。正常来说,对于出块者来说,「激励相容」的策略应该是延长最长的链。但如果某个区块执行后的状态异常有利可图呢(例如,交易费很高,或只有直接在该区块后构建新区块才能提取MEV)呢。这个问题在过去讨论「没有区块奖励的比特币」和自私挖矿问题上探讨过,而在今天「以太坊生态里DeFi相关的MEV"问题上也探讨过。
这些情况都存在很强的动机试图通过与其他区块竞争」窃取「费用,而不是延长权威链。在下面的例子里,区块1的执行后状态非常有利可图,且区块2a已经被挖了。然而,不是一个,而是三个出块者已经选了在区块1上继续挖,而不是区块2a(以获得区块1后显露出的MEV),这可以扩展到任意数量的出块者。
韩国金融消费院:政府为何不对自己的无能进行反省反而打压加密货币市场:7日,韩国金融消费院表示很难理解为什么政府没有对加密货币政策的失败或自己的无能进行反省,反而一直在用权利打压加密货币市场。[2018/3/7]
很明显,这样的模式为恶意51%攻击打开了一扇大门。我们把矿工参与这种重组挖矿策略的情况称为」短视理性「,因为决定这样做在短期内可能是理性的。但是,他们都或显式地(质押者)、或隐式地(矿工)看涨ETH(因为交易费和区块奖励都是以ETH计价的),这意味着这种减少用户对以太坊信任的攻击是与他们的最佳利益有冲突的,因此在长期来说是不理性的。
合并后的PoS以太坊
在NakamotoPoW共识算法里,区块在分叉选择里是被」连续「敲定的。首先,当一个区块被挖,此时一个竞争区块有可能可以对其进行重组。如果一个区块成功被打包进权威链,(平均)13秒后会有其他矿工在该区块上构建第二个区块。此时,一条链要重组的话需要有两个竞争区块。随着构建了越来越多的区块,对链进行重组的难度会持续上升,但速度很慢。
以太坊信标链实现的是一个名为Gasper的权益证明协议,其分叉选择规则称为LMD-GHOST。不同于NakamotoPoW,在Gasper里,参与出块的有两个角色:
·提议者:负责提议区块的一名验证者
·证明者:由一组验证者构成,他们对应该成为权威链链头的区块进行投票。证明者的投票被称为」证明(attestation)",这是他们给区块的「权重」。控制了证明者意味着控制了分叉选择规则。
美国“韭菜”跑步进场 美国70岁买家不知比特币为何物:据报道,美国70岁的比特币投资者Rita Scott在孙子的帮助下卖掉了她的比特币,短短几周赚了45%的收益率。在这之前,她根本不知道什么是比特币,还以为是硬币。而在美国,有很多人甚至想刷信用卡来买比特币。[2017/11/30]
每12秒就有一个slot,这代表着提议一个区块的一次机会。在每个slot里会有一个混洗算法伪随机地选出一个委员会,这个委员会由所有验证者数的大约1/32组成,其中每个委员会里的一名验证者会作为提议者,其余的验证者作为证明者。证明者同时对他们认为应该被打包到权威链的区块进行投票。因为委员会是通过伪随机采样组成的,攻击者是没有办法把他们的验证者都集中到一个单一slot里的。
当前,信标链有大约19.6万名验证者,意味着每个slot里的委员会人数大约是6125。因此,即使是一个区块的重组也是极其困难的,因为一个只控制了一些验证者的攻击者是无法击败数千名诚实的多数验证者的。
为了更好理解为什么是这样,让我们看看以下这个例子:有2个slot和24名验证者,其中9名是恶意的。验证者被分成2个委员会,经过随机混洗,对手不太可能可以控制他们被分配到的委员会人数的50%,更不能实现重组。
更正式地说,拥有p%质押量的恶意行为者控制N名验证者大小委员会的50%以上的概率遵循二项式分布(其中k=N/2):
算出多个质押值的概率后,我们得出下表:
现在我们了解到,攻击者如果想直接进行重组的话需要控制总验证者数的50%。
如果控制证明者的25-49%(参阅此论文、或这里的概要),控制者还是可能发起一些更小型的攻击的。但是,对这些攻击已经有修复方法了,它们可以被悄悄执行,从而达到接近50%的无条件安全性。
最后,长程重组是不可能了,因为所有比过去两个epoch更深的区块都会被认为「最终确定了」,也就是说,对它们进行回滚是不可能的了。如果一个攻击者造成两个冲突区块被最终确定了(例如,控制了67%的质押量),系统需要倒回去,通过社会性干预来恢复。
采用重组策略的博弈论
现在我们了解了在不同的分叉选择规则下重组是如何发生的,不妨通过一个简单的博弈论例子来了解,对于矿工或验证者来说,什么时候运行软件来执行重组以获利是有意义的。
我们可以用收益矩阵非正式地描述每个场景,其中「叛变」意味着「下载并使用执行重组的软件」。收益是「短视的」,没有考虑长期后果。
NakamotoPoW
在最长链PoW里,即使是验证者集里的一小部分人,也有可能实现短程重组。执行后状态是异常有利可图的区块总会偶尔出现,即使是1-10%的成功几率也值得尝试,与该区块现有的子区块进行竞争。
矿工可以形成一个中型矿池,等待找到未来连续2-3个区块的机会,或把部分他们的收入发送到一个任何人都可以认领的合约,以贿赂其他矿工也运行相同的软件,以构建他们的区块链,帮助它击败现有的权威链。
因此,有些矿工可能会尝试运行重组客户端。
Gasper
在Gasper里,重组1-64个slot是可能的,但需要攻击者控制整个验证者集的大部分(由于他们不能把他们的押金集中在某个特定的slot,所以他们的质押量需要足够大才能在他们想要攻击的slot里被随机选中)。采用重组挖矿软件用处不大,除非有非常大量其他验证者也同时采用。
因此,如果51%的验证者都稍微有点利他主义精神或懒惰,那么没有人会运行重组挖矿软件这件事基本可以确定。
Tendermint
在Tendermint里,事情会更加简单:重组是完全不可能的,任何违反单个slot最终敲定规则的实现都需要超过三分之一的验证者被罚没。与Gasper的情况相似,这也意味着没有人会运行重组挖矿软件这件事基本可以确定。
从上面我们可以看出,尽管在三种情况里采用"reorggeth"都是可能的,基于并行证明这个理念的分叉选择规则比Nakamoto分叉选择规则带来更稳定的诚实平衡。
总结
在以太坊的语境里,最有效的预防措施是进一步加快合并的工作,特别是赶快发展出能实现可接受的「紧急合并」的能力,以把以太坊转化为PoS机制。仓促合并会带来很高风险,还会毁坏基础设施,但如果很多矿工开始对链进行重组攻击的话,还是需要一个可信的承诺来抵御这样的行为。
接近合并的时候就是风险最大的时候,因为矿工仍然主导着这个系统,但他们的时间不多了。然而,有两个因素会缓解这个风险:
·以太坊矿工经常同时是(i)其他区块链的矿工,和/或(ii)以太坊社区具有其他能力的成员,因此作出良好行为的动机会继续存在。
·随着合并临近,实现紧急合并的成本和风险都在降低。在预计合并日期的前几个月进行紧急合并是非常具有破坏性的。在预计合并日期的前两周进行紧急合并则能为验证者操作员已经下载好的客户端提供参数设置。
合并后,重组验证将成为一个更小的问题,因为单个验证者或小群体证明者无法独自重组一个区块。成功的重组攻击需要解决让大部分验证者都同时参与进来的协作难题。但是,还是存在一些小风险的。如果想要进一步提高安全性,那么以太坊可以要么进一步调整分叉选择规则,将重组攻击的要求提到到50%的理论最大值;要么转为直接单个slot实现最终敲定的共识。
标签:比特币以太坊LOTSLOT比特币害死了多少人以太坊币最高价格是多少LOTCSleepy Sloth Finance
7月9日下午,由上海市人民检察院第四检察部、上海市第一中级人民法院刑事审判庭、上海市局法制总队、华东政法大学金融监管与刑事治理研究中心联合举办.
1900/1/1 0:00:00近日,比特币挖矿上市公司BitDigital,Inc.(纳斯达克代码:BTBT)发布其截至2021年6月30日的第二季度未经审计的比特币挖矿业务报告.
1900/1/1 0:00:00当我们谈论元宇宙时我们在谈论什么?元宇宙已成为加密世界的风口浪尖。数据显示,截至2021年7月,Metaverse市场月交易总额已经达888万美元,较2018年-2020年107万美元的平均交易.
1900/1/1 0:00:00暴走时评:链上数据表明,加拿大最大的比特币基金的BTC储备出现了两次大幅缩水,但其中实则另有玄机.
1900/1/1 0:00:00继内蒙古、新疆、青海、云南、四川等地之后,安徽也将全面清理关停虚拟货币挖矿项目。合肥在线今日发布文章《我省全面清理关停虚拟货币挖矿项目》.
1900/1/1 0:00:00Optimism是否名副其实?自己看吧。下面是如何使用它。亲爱的Bankless社区,Layer2来了。Layer2来了。?本周早些时候,UniswapV3在Optimism主网上部署.
1900/1/1 0:00:00