Neo如何消除恶意MEV(下)

Neo智能经济

共 4394字,需浏览 9分钟

 ·

2024-04-11 22:18

📖在上篇中

我们讨论了恶意MEV的特性

【详情🔎:Neo如何消除恶意MEV(上)


本篇文章将会展开解释

Neo利用dBFT共识机制和密封交易

在这一解决方案中的应用

10708acd2bc3a8d41f760d4f7d80c8cf.webp


Neo X继承dBFT共识机制,杜绝时间强盗攻击和扣块现象


作为使用dBFT共识机制的主要公链之一,Neo区块链本身就具备防止时间强盗和扣块这两类MEV攻击的能力。Neo X继承了这种能力,继续从中获益:

Neo在区块生成后即完成区块确认,因此攻击者没有机会重新排列已提交的交易来获利。

此外,每个共识节点的行为都在社区审查之下。如果某些节点扣留一个区块的时间太长,其他节点将启动新的共识提议并继续生产区块。如果一些节点稍稍扣留了一个区块,该行为也会被社区审查。社区将惩罚那些做坏事的人。如果一个节点是理性的,那么他会更重视长期的出块奖励,而不是短期的MEV利润。

 Neo X通过「密封交易」清除恶意的MEV 


如上文解释的,有一整类恶意MEV都是交易的重新排序,其中包括了抢先交易和三明治攻击。这类交易都是因为操作者可以提前监测交易内容。为了减轻这类恶意MEV对市场带来的伤害,解决交易监测问题至关重要。在以太坊上,超过60%的区块是通过Flashbots中继构建的,加剧了对用户交易内容的审查。


关键策略在于阻止MEV搜索者和区块生产者在交易在区块中被确认之前访问交易的详细信息。通过在Neo X中引入 “密封交易” 手段,使得即使是区块生产者本人也无法在这些交易被打包到下一个区块并最终确认之前搞清楚重组这些交易将获得多少利润。同时,这种策略也将降低共识节点扣块的可能性。


102ca31341d03944e15edc326b57d29d.webp


Neo X会先把交易信息加密封装起来,直到这些交易被放进下一个区块,并被最终确认。然后,再由多个共识节点一起来解密交易。为了实现这一设计,我们应用了一种叫做 “门限解密”(Threshold Decryption)的关键密码学工具。同时,我们还搭配使用了 “分布式密钥生成”(Distributed Key Generation, DKG)来设置门限解密的密钥。

 「门限解密」在构建密封交易中扮演的角色 


因为应用了 “分布式密钥生成”(DKG),每个共识节点只都拥有一部分私钥;同时,所有共识节点共同拥有一个公钥。用户可以使用公钥对其交易进行加密,防止交易内容在交易被排序进下一个区块之前被其他人看到。交易确认之后,每个共识节点拿出自己的部分私钥,运行门限解密。只有部分的私钥并不能直接解密原始交易信息。如果要恢复整个原始交易信息,需要足够数量的共识节点(大于或等于门限门槛,即 2/3)提供他所拥有的部分私钥,对结果进行解密。


为了确保交易更加公平和安全,我们允许重复设置新的DKG密钥。具体操作中,我们要求一个DKG的使用流程完成之后,才可注册以发起一个更改DKG的新提案。然后,共识节点检查新提案是否有效。确认有效,才允许更改密钥。


此外,为了帮部分用户节约GAS成本,我们仍然支持传统的、不抗MEV的非加密交易。并且,在每一个区块中,非加密的交易总是排在抗恶意MEV的交易之后。


本质上来说,DKG和门限解密在区块链网络中充当强大的隐私保护机制。它们确保即使个别共识节点持有有关某个交易的部分信息,但也只有在足够数量的节点共同参与合作,才能安全重建完整的交易数据,从而确保了区块链生态系统的保密性和完整性。


Neo X的这种独特创新的抗MEV解决方案无需对协议层进行大的改动,也无需牺牲安全性和性能。 


下文将详细解释Neo X如何在不影响共识安全或内存池安全的情况下消除恶意的MEV。

 保证共识安全的完整性 


在区块确认之前隐藏交易内容,并在区块确认之后揭示交易内容,这两者对于抵抗恶意MEV都至关重要。已确认的区块内的交易内容对于公共区块链至关重要,但实现这个目标并不简单。

 解决这个问题的其中一种方法是依赖某个人在共识过程中隐藏和揭示交易。这与以太坊的基于PoS的Flashbots操作过程类似,向第三方引入了一种新的信任模型。由于第三方监督区块生成,如果任何节点在收到足够的投票后拒绝发布交易,则应放弃该区块,这会导致产生一个空的块。这种情况的弊端是,如果受委托的第三方自己想发起MEV攻击,那其他努力都白费了。因此,在共识步骤之后依赖于任何一方揭示交易细节都离理想效果甚远。

● 解决这个问题的另一种方法涉及使用先进的工具,例如将可验证的随机函数(Verifiable Random Function,VRF)和零知识证明(Zero-Knowledge Proof)结合起来。这可以让用户生成一个ZKP,验证他们的加密交易,再利用VRF结果,最终将其公之于众。然而,使用这种方法需要谨慎考虑,因为它可能会无意中在交易被包含在区块之前暴露交易细节。


dBFT共识算法提供了更好的替代方案。因为dBFT共识算法假定在 n 个节点中最多有⌈(n-1)/3⌉个节点是恶意的,将DKG集成到dBFT过程的最后一步可以确保在收集到⌊(2n+1)/3⌋个节点确认时(这意味着区块已确认),同时也可以收集到⌊(2n+1)/3⌋个DKG密钥。这样一来,可以通过向其他人公开共识节点的DKG公钥来加密交易,而无需担心在打包到区块之前有人攻击交易。其他人随后可以使用⌊(2n+1)/3⌋个DKG密钥来揭示这些交易。


Neo X还在区块的结构上稍作改变,使所有抗恶意MEV的交易都被打包在区块的前部,而不抗恶意MEV的交易都被打包在后面。不抗恶意MEV的交易只需要支付常规GAS费用,就像和在Neo N3一样,不需要额外抵抗MEV的费用。抗恶意MEV的交易则享有优先权。

 保证内存池安全的完整性 


在消除恶意MEV的过程中,确保装有未确认交易的内存池(mempool)的安全性至关重要。Neo X设置了一个专用的内存池,用于抗MEV的交易,确保常规交易不会受到任何不利影响。为了最小化可能潜在问题(例如:DoS攻击,或过了时效的抗MEV交易的解密失败),Neo在新的内存池中设置了额外的检查。


假设出现这种情况:

 一个MEV搜索者A在区块链上定位到一个机会,并提交了一笔交易tx1,gas价格为1 gwei。

 很快,MEV搜索者B也定位到同样的机会,可能会提交tx2,并把 gas价格提高到2 gwei,确保自己的优势。

 随着越来越多的搜索者加入,这种竞争的氛围可能会升级,在区块链上引起混乱,挤掉正常的交易。


在Neo X上,抗MEV的交易和普通交易被分开放置在不同的内存池中,确保抗MEV交易不会影响到普通交易。虽然抗MEV交易在内存池中保持其隐私,但交易发送者可以事先设立一个合理的gas费为优先加码,不必担心交易被其他人顶替。


如果某个共识节点不遵守这种方法(例如,连续优先考虑某人的交易),不遵守规定的情况都可以通过dBFT的力量识别和解决。社区有权投票排除不合规的节点,确保避免有害的竞争。

 Neo首次将门限解密引入抗MEV领域,提高性能和安全 


Neo当前的设计无缝地组合了dBFT共识和门限解密,同时没有牺牲太多区块链性能。解密的步骤可能会造成一定的延迟,因为需要交换密钥,但只有几秒,不会造成很大的问题。


一些基于BFT共识的链可能会迅速复制我们的设计,但这可能会把错误风险引入到共识算法中。非BFT链则将需要一个第三方聚合器,该聚合器接收大量加密的交易,解密这些交易,然后将整批交易一起发送到最终的共识。由于EVM链不能在单个交易中执行任意多个合同调用(而不部署新合同),让第三方运行门限解密可能会太过昂贵。对于大多数EVM链来说,更实际的解决方案是运行另一个侧链。


门限解密是一种经典密码学工具,有一定的历史了,至少在2010年之前就已经出现。但据我们所知,只有Neo把它用在了抗恶意MEV 这个问题上。2020年代的一些论文中提到了将它使用在区块链领域中的想法,但我没有看到任何行业里的实际应用。


门限解密是对抗MEV的一种简单有效的手段。当然,我们也可以使用零知识证明,将抗MEV进行的更加彻底。


门限解密是对抗MEV的一种简单有效的手段。并且极大地提高了安全性。展望未来,如果再在Neo X上实施零知识证明(ZKP),那可以提供更高安全保障。这一构想仍在考虑之中。

 加入我们,共同打造Neo X,为区块链行业开辟新的道路 


这篇文章讨论的这些要点是Neo数月来的深思熟虑和广泛讨论的精髓。我们的目的是构建一个不仅兼容EVM,而且具有独特功能的侧链,这样才能更好地服务Neo社区,以及实现智能经济这个更宏大的目标。我为Neo的下一步深感骄傲,我相信我们正在引领区块链行业朝着整体安全性和性能的显著飞跃迈进。


当我们的团队和社区正努力将这些新侧链的构想和愿景变成现实时,我们真诚邀请您参与进来——不论是建议、见解还是建设性的批评,我们都欢迎。您可以在Twitter或Discord群中与我们联系,分享您的观点。一直以来,Neo都是一个由社区推动的区块链平台,您的参与推动着我们前进。


fe6fd33e70cacf8930d367c4f3809e61.webp

Neo 成立于 2014 年,是一个由社区驱动的开源区块链平台,旨在欢迎开发者探索智能经济。通过帮助开发者利用智能合约实现资产管理的数字化和自动化,Neo 致力于实现未来优化的数字世界。作为对开发者最为友好的区块链,Neo 无缝式集合了全球最广泛使用的编程语言和工具,并提供最全面的区块链平台用于搭建全栈去中心化应用,最大限度满足开发者需求。同时,Neo具备强大基础设施的原生支持,包括去中心化存储、预言机、域名服务等,是开发者建设下一代互联网的理想根基。

自 2016 年上线至今,Neo 主网已稳定运行7年。全新版本 Neo N3 已于 2021 年发布,提供了更高吞吐量、更强稳定性与安全性,带来了优化的智能合约系统及功能丰富的基础设施集合,旨在赋能开发者并加速企业级区块链创新。


浏览 9
点赞
评论
收藏
分享

手机扫一扫分享

分享
举报
评论
图片
表情
推荐
点赞
评论
收藏
分享

手机扫一扫分享

分享
举报