区块重组MEV对区块链安全的影响
关于矿工可提取价值(MEV)的话题,最近Crypto社区在热议一种名为区块重组(Block reorg)的新MEV类型,对此,Ava Labs 首席协议架构师Kevin Sekniqi认为,区块重组(Block reorg)MEV会使得PoW链的确认时间大幅延迟,而对于PoS区块链,尽管从技术上讲它可能易受此类攻击的影响,但那些确定交易的节点无法被迫取消确定,从而保证了交易的安全。
这篇文章关注的是区块重组MEV的后果,区块链在遭到破坏前可以承受多大的压力,以及我们可以做哪些协议层的事情来永久纠正这个问题。实际上,写这篇文章也是为了回答下面这个问题(谢谢Jeremy!):
先总结一下:区块重组MEV既不是什么新鲜事,也可能不会对区块链构成长期威胁。这种 MEV 的形式从一开始就存在,即使在比特币身上也是如此(例如参见Eyal 和 Sirer 的自私挖矿论文)。话虽如此,区块重组MEV可能很会烦人,而工程师们需要意识到这些问题。因为一旦变得普遍的话,我们确实需要进行更多的人工干预。
旁注:在我写这篇文章的时候,我注意到 Dragonfly Capital 的 Tom Schmidt撰写了另一篇关于MEV的文章,这可以帮助大家理解这篇文章,因为它讨论了MEV的投机影响,还包括了一些博弈论解决方案。
深入区块重组(Block reorg)MEV话题
什么是MEV?它的字面意思是“矿工可提取价值”,但它实际意味着在交易中为了优先待遇而向矿工支付的价值。优先待遇可用于烦人但最终是良性的行为,例如在公开拍卖中给矿工钱让其优先处理你的交易,也可以用于恶性活动,如重写数据库(即区块链)或“重新排序”。我们不关心用户使用MEV来进行套利,相反,我们关心的是后一种危险的MEV形式:贿赂矿工以改写数据库。
所以,回到Jeremy提出的问题:“潜在的最坏情况是什么?”
在回答这个问题之前,我们必须回答一些初步的问题:
是否违反了正确性假设?
区块链是基于PoW还是PoS?
问题 1:是否违反了正确性假设?
所有区块链使用的所有共识协议的基础是一组需要维护的假设,以便区块链“正常”运行。而其中最重要的假设是,协议中的大多数矿工行为正确,这意味着他们完全按照预期遵循共识协议。
在构建复杂的动态系统时,我们不得不“假设”某些条件,这看起来可能很奇怪,但实际上这是非常明智的,而且我们一直都这么做。例如,航空工程师们会假设飞机永远不会遭遇流星袭击,因此他们没有提供任何保护措施来抵御中途的流星袭击。共识协议也是如此:我们假设大多数矿工是正确的,因此并没有真正针对他们设计任何保护机制。
为什么?因为事实证明,没有这个正确性假设,不管其他任何假设,都无法建立一个既有效又安全的共识协议。事实上,这个性质是不可能的,并且是分布式系统的基本结果之一。
在任何区块链中,你都会假设大多数矿工是正确的。不管你认为这是因为理性的经济行为还是利他主义,这都无关紧要,你只是假设它而已。由于与底层消息传递层的同步性和异步性的更多假设相关的细节,基于 PoW 的区块链需要大约 51% 的正确性,基于 PoS 的区块链需要大约 67% 的正确性(p.s.为了可读性,我在这里有意地进行了简化)。
MEV 是危险的,因为你付钱给矿工违反这个正确性假设,让他们放弃预定的协议。
问题2: 区块链是基于PoW还是基于PoS?
如果正确性假设得到保证,那么PoW和PoS提供的保证最终是没有区别的。但是,由于它们构造的特殊性,如果违反假设,它们确实会有所不同。
具体来说,PoW链没有身份(即验证器身份)的概念,而只依赖于工作量证明来生成交易。只要有一个矿工在线生成nonce随机数,那么区块链将保持活跃并继续运行。这意味着重组可以在任何时间以任何原因发生,但需要注意的是,如果不违反正确性假设,那么随着链的深度越来越大,重组在概率上会变得越来越不可能。相反,PoS 链具有身份的概念,并依赖矿工对交易进行“投票”。这意味着一旦大多数矿工批准交易,它就会立即完成。因此,交易完成后不支持重组。如果发生了重组,客户端会恐慌并不再取得进展。
最终,如果违反了正确性假设,问题就会出现。在 PoW 中,因为重组是生活的正常组成部分,客户端不会惊慌并会自动接受真正的深度重组。事实上,在 PoW链中,我们没有办法(除了一些粗略的概率计算)去“确定”网络的大部分矿工是否已被贿赂。客户端不接受一次深度重组的唯一原因是,如果客户端实施了自定义规则来关闭操作,以防发生比 X 区块更深的重组。而在PoS 中,重组并不是生活的正常部分,因此客户端会停止取得进展。在 PoS 中,我们可以确定是否发生了重组,因为你之前确定的不再是最终的。
好的,现在回到上面的问题:“潜在的最坏情况是什么?”
根据“PoW或PoS”与“正确多数或不正确多数”的二乘二矩阵,我们大致有四个答案。
情况1: 区块链基于PoW,且大多数矿工是正确的。在这种情况下,客户端可能只需要在“最终确定”一个区块之前增加确认次数。如果有一小部分矿工试图重组(少于 20%),那么 35 个Coinbase 区块确认时间就足够了。如果你假设会有很大一部分矿工试图叛逃,但不是大多数,那么确认时间可能需要延长很多个小时。
情况2: 区块链基于PoS,且大多数矿工是正确的。在这种情况下,你实际不需要做什么。一旦你在交易中获得最终确认,那它就不会发生逆转了。
情况3: 区块链基于PoW,且大多数矿工都被贿赂了。在这种情况下,再多的确认时间都不够,但客户端至少可以实施反重组机制。基本上,如果看到超过 X 个区块的重组(可能与最后接受的区块策略的深度相同),那么客户端就会停止运行。在这一点上,重组区块链并过滤掉不良矿工是一个社会共识的问题。
情况4: 区块链基于PoS,且大多数矿工都被贿赂了。与PoW链相同,但在这种情况下,不需要明确实施应急出口(exit hatch),因为它是根据共识的设计方式自动实现的。
总结
总而言之,只要有应急出口,那么一如既往,人类必须出现并纠正问题,但至少资金将是“安全的”。除了应急出口之外,没有其他可以实施的保护机制。你可以通过取消对验证者的奖励或罚没他们来抑制这种行为,但如果大多数人都被贿赂了,那么最终这种机制依旧是无法解决问题。
Scan QR code with WeChat