匿名包含列表(anon-ILs)- 密码学

本文提出了一种名为匿名包含列表(anon-IL)的设计,旨在通过使用可链接环签名和匿名广播协议(ABP)来匿名化以太坊上的包含列表(IL)提议者,从而增强网络的审查抵抗性。该设计在保护参与者身份的同时,降低了贿赂和敲诈等承诺攻击的风险,从而促进更广泛的IL采用,并提升以太坊的链中立性。

Thomas ThieryLuca Zanolini 撰写,并与 Mary MallerMark SimkinAntonio Sanso 合作完成

– 2024年5月23日

特别感谢 Julian MaBarnabé MonnotFrancesco D’Amato 提供的有益意见和反馈。

简介

在以太坊上,依赖少数复杂的实体来构建基础设施会削弱网络的抗审查性。目前,超过 60% 的区块 由主动审查与受制裁地址交互的交易的构建者创建。因此,人们重新燃起寻找方法的兴趣,以使 更去中心化的 提议者集合能够在以太坊区块中强制包含交易。这种兴趣已经体现在专注于包含列表(ILs)的研究和开发工作中。在 ILs 的第一个实际实现方面已经取得了重大进展,目前正在考虑将其纳入即将到来的 Pectra 分叉中(参见设计EIP规范 此处)。

与此同时,一些工作致力于通过限制创建和提议 ILs 对单一实体的依赖来提高 IL 设计的稳健性,例如通过委员会强制包含集合(COMIS)多个并发提议者。然而,据我们所知,还没有人尝试开发一种机制,既能保护参与 IL 构建的参与者的身份,又能减少像贿赂和敲诈勒索游戏这样的承诺攻击载体的攻击面。

保护 IL 提议者的身份对于确保隐私、防范任何形式的问责或身份泄露以及促进以太坊上 ILs 的采用至关重要。这一原则类似于投票系统中提供的保密性,参与者可以在没有暴露或报复风险的情况下表达自己的偏好(例如,法律后果)。在这里,我们通过引入匿名包含列表(anon-IL)来解决这一差距,该设计利用可链接的环签名和一个匿名广播协议(ABP)来匿名化以太坊上的 IL 提议者。

免责声明

本文旨在初步探索匿名化 IL 提议者的分布式机制,为未来的研究和讨论奠定基础。我们以模块化的方式构建该机制,详细说明每个模块的角色以及我们认为实现匿名性所必需的属性。这些模块可以与其他模块交换或作为独立的构建块进行研究。

高级思路

每个 slot n,信标委员会的一个子集 C,被称为 IL 委员会,从验证者中随机选择,以参与构建一个全局包含列表(IL^G),该列表由 mempool 中待处理的交易 t 组成。在 IL^G 的构建过程中,秘密选出 IL 委员会成员的一个子集 P 作为 IL 提议者,创建、签名和传播本地包含列表 IL^L,而不泄露他们的身份(第 1 轮)。随机选择的 IL 提出者,即 IL 聚合器 A,收集所有观察到的 IL^L,以创建原始 IL^G 交易及其相关的 IL^G_\text{summary} 并分发给 IL 委员会的其余成员,然后他们对 IL^G_\text{summary} 的有效性进行投票(第 2 轮)。图 1 说明了如何从信标委员会的验证者中选择 P、C 和 A。如果被认为是有效的,则区块 n+1 必须包含 IL^G_\text{summary}、一个证明其有效性的法定人数证书以及满足摘要条目的交易。至关重要的是,我们使用可链接的环签名方案和一个匿名广播协议(ABP)来确保 IL 委员会成员可以签名和广播消息(ILs、投票),而无需泄露其身份。

Screenshot 2024-05-13 at 10.38.02\ Screenshot 2024-05-13 at 10.38.021320×1300 111 KB

图 1. Anon-IL 参与者选择。 在每个 slot 中,从信标委员会中随机选择 256 个验证者来组成公开已知的 IL 委员会 C。大约有一半的 IL 委员会成员(即 ≈128),即 IL 提议者 P,被秘密选出以参与 IL 的构建。这些提议者之一被随机选出担任 IL 聚合器 A,负责传播最终的全局 IL,以便其他 IL 提议者可以验证它。

设计

在本节中,我们将说明(图 2)并提供 anon-IL 机制的逐步描述。

Screenshot 2024-04-24 at 16.51.22\ Screenshot 2024-04-24 at 16.51.221898×1032 174 KB

图 2. 说明 anon-IL 设计的示意图。

第 1 轮

  1. 在每个 slot 中,从信标委员会中选择256个验证者来构建包含列表。这 256 个 IL 委员会成员是公开已知的。
  2. 256 个 IL 委员会成员中,平均只有一半(即 ≈128)被秘密选为 IL 提案者 P,以准备 mempool 中观察到的交易的本地包含列表(IL^L)并参与环签名方案。每个 IL 提议者使用他们的私钥以及所有 256 个 IL 委员会成员的公钥签署他们的列表。然后,每个 IL 提案者在 slot n 截止日期 d 之前,通过 ABP 将他们的 IL^L 及其环签名传播到专用的 inclusion_set 子网。

第 2 轮

  1. 在第一轮可链接环签名方案中成功发送承诺的 IL 提案者中随机选择一个 IL 聚合器(参见下面的 构建块 部分)。它的作用是收集截止日期 d 之前观察到的所有 IL^L,如果交易在 available IL^L\text{s} 中超过包含阈值(例如,10%)的数量中出现,则构建最终的、去重的全局包含列表(IL^G),并从中派生出 IL^G 摘要。IL^G_\text{summary} 包含一个(addressgasLimit)对的列表,用于指定所有 IL^L 中每个交易的 fromgasLimit。每个对都被称为一个 Entry。然后,聚合器的 IL^G_\text{summary} 及其所有 IL 提案者的签名,以及与汇总条目相对应的原始交易列表,在使用 第 1 轮 中使用的 ABP 在 inclusion_set 子网中广播。
  2. IL 提案者还收集所有观察到的 IL^L,并构建他们自己的 IL^Gs 以评估聚合器生成的 IL^G_\text{summary}。如果他们自己的 IL^G 中的交易与聚合器的 IL^G_\text{summary} 中的给定百分比的条目重叠,则他们投票 TRUE。此步骤确保对聚合器提议的全局 IL 进行质量检查,并防止单个方生成任意 IL。为了保留投票者的匿名性,投票也使用相同的环签名方案和 ABP 进行传播。如果收到足够多的 TRUE 投票,IL 聚合器(匿名地)通过 ABP 广播有效的 IL^G_\text{summary}、IL^G 原始交易以及验证在全球主题上累积了足够 TRUE 投票的法定人数证书(:white_check_mark:)。

区块有效性

  1. 为了被认为是有效的,区块 n+1 必须包含:

    • IL^G_\text{summary} 及其相关的法定人数证书 :white_check_mark:
    • 满足 IL^G_\text{summary} 条目的原始交易

Attester 必须验证提案者 n+1 提议的区块是否包含了满足聚合器传播的有效 IL^G_\text{summary} 条目的所有交易,以及在为区块 n+1 投出证明之前的所有其他标准有效性检查。

确认区块的有效性后,证明者将为区块 n+1 投出证明。

如果 IL^G 没有及时提供,或者没有达到 TRUE 投票的法定人数,则区块 n+1 在不包含满足 IL 的交易的情况下是有效的。

构建块

在本节中,我们将介绍选择验证者成为 IL 委员会成员的过程,并介绍 anon-IL 的两个主要组成部分:一个可链接的环签名方案,该方案允许选定的验证者签署他们的本地包含列表和投票,从而证明他们是 IL 委员会的成员,而无需泄露他们的身份;以及一个同步匿名广播协议,该协议使 IL 委员会成员能够在对等网络子网中传播消息,而他们的身份不会因网络流量模式而泄露。

可链接环签名方案

可链接环签名是一种密码学结构,允许一个组(环)的成员代表该组匿名签署消息。这种类型的签名确保以下属性:

  1. 匿名性:签名者的身份隐藏在组中。环中的任何成员都可能签署了消息,因此无法确定实际的签名者。
  2. 可链接性:即使签名者的身份被隐藏,也可以确定两个不同的消息是否由该组的同一成员签署。这是在不透露哪个成员的情况下完成的。此属性可防止同一人进行双重签名,而无需透露其身份。

环中的每个参与者都维护一对公钥和私钥。公钥是每个人都知道的,并且共同用于形成环。签名者从组中选择几个公钥,通常包括他们自己的公钥,以创建一个环。这种选择的目的是不可能识别参与者中谁是实际的签名者,从而在组内保持匿名性。重要的是,签名验证非常简单,不需要任何特殊访问权限或权限;任何有权访问环成员公钥的人都可以验证签名是否有效,以及签名是否由环的成员之一创建。这确保了任何参与者都可能是特定交易的签名者,从而保持了强大的匿名性和安全性。

对于 anon-IL 设计,我们使用 Groth 和 Kohlweiss“one-out-of-many” 环签名方案。在该方案中,参与者“拥有作为承诺的公钥,并证明他们知道其中一个承诺的开放,以不可链接地表明他们属于该组”。该方案唯一依赖的密码学是组操作和哈希函数。零知识证明者和验证者也可以直接使用,无需编辑,使其特别适合 anon-IL 用例。最后,我们希望它能够很好地扩展到 IL 委员会中选择的参与者数量。

IL 委员会选择

  • 每个 slot,信标委员会中的 256 个验证者被随机选择以形成 IL 委员会 C(即,环)。这些 IL 委员会成员必须发送一个承诺来证明他们是环的一部分。
  • 然后,一半的 IL 委员会成员(128)被秘密选为 IL 提案者 P,并积极参与 IL 的构建。
  • 从在环签名方案的第一轮中成功发送承诺的 IL 提案者中选择一个 IL 聚合器 A。

匿名广播协议

虽然我们采用可链接的环签名方案来隐藏 IL 签名者的身份,但匿名化发送者也至关重要。这是因为,尽管签名者的身份被环签名方案所掩盖,但仍然存在观察者可能将签名者的身份与传输环签名的 IL 的实体联系起来的风险。这种联系可以通过分析与传输相关的元数据或网络模式来实现。为了防止这种情况并充分保护提案者的匿名性,匿名广播协议似乎必不可少。该协议将确保签名的 IL 的传输无法追溯到其来源,从而保障所涉及的身份。

概述

我们引入了一个匿名广播协议 (ABP),其灵感来自 DandelionDandelion ++,并根据以太坊的要求量身定制。ABP 旨在于消息传播时(即 IL 和投票),保护委员会成员免受去匿名化攻击。这是通过一个随机化的多阶段过程来路由他们的通信来实现的,该过程隐藏了消息的来源,从而大大复杂化了基于网络流量将这些消息追溯到其原始来源的努力。该协议由两个阶段组成:STEM 阶段和 FLUFF 阶段。在 STEM 阶段,每个委员会成员,无论是作为中继还是扩散器,都会将其本地生成的包含列表转发给一个或两个对等方。委员会成员可以是中继或扩散器。如果委员会成员充当 中继,则在收到本地包含列表后,会将该列表转发给另一个或两个对等方。如果委员会成员是 扩散器,则它通过将收到的列表广播给所有成员来启动 FLUFF 阶段。重要的是要注意,扩散器的角色(涉及为每个消息充当扩散器)是通过一种随机机制确定的,该机制考虑了 slot 编号和成员的身份。

Screenshot 2024-05-23 at 09.56.42\ Screenshot 2024-05-23 at 09.56.421925×553 59.9 KB

图 3. 在 slot n 期间执行 ABP 期间,消息的生命周期位于 (A) STEM 和 (B) FLUFF 阶段。 发送方节点以白色着色,中继节点以黑色着色,扩散器节点以红色着色。

为了进一步明确:

  • 该协议以 STEM 阶段开始:每个委员会成员通过 4 正则图 (即一种网络,其中每个节点都连接到正好 4 个节点) 内的两条不同路径发送其本地包含列表。此 4 正则图是更大的网络 G 的一部分,该网络覆盖为特定 slot 选择的所有 IL 委员会成员。
  • 此图的结构要求每个委员会成员随机选择接下来的两个中继节点,这也为整个图中的每个消息跳增加了随机延迟。
  • 收到来自另一个成员的本地包含列表后,接收者将确定其在该 slot 中的角色 - 中继或扩散器。作为中继,该成员将遵循前面点中描述的转发过程。作为扩散器,该成员启动 FLUFF 阶段。
  • FLUFF 阶段,委员会成员同时将其本地包含列表传播给所有成员。
  • STEM 阶段充当中继时,委员会成员还为其收到的每个消息启动定时截止日期 f。通过这种方式,我们实施了一种失效安全机制,该机制要求中继监控其转发的消息是否已成功扩散。这样做是为了防止黑洞攻击,在这种攻击中,路径中的恶意节点决定不转发消息。具体来说,该协议会在每次 STEM 中继时收到交易消息后,立即设置一个随机过期计时器。然后,中继会监控网络以查看交易是否重新出现。如果计时器过期,但交易未重新出现,则节点会自动扩散交易。在 Dandelion++ 中,此机制提供了两个关键优势:(1)它确保消息最终一定会通过网络传播,以及 (2) 随机计时器有助于匿名化启动扩散阶段的对等方,从而降低了黑洞攻击的风险。

ABP 参数

我们进行了初步分析,以确定 ABP 参数,使其能够在以太坊的时间和带宽约束下有效运行。这些分析是了解选择这些参数的权衡和后果的第一步。还应进行详细、全面的分析,以评估延迟、参与者数量以及角色分配(中继与扩散器)对 anon-IL 提供的安全性和匿名化保证的影响。如前所述,我们的设计需要两轮消息交换(一轮用于本地 IL,一轮用于对全局 IL 进行投票),这意味着 ABP 必须在每 12 秒的 slot 中运行两次。我们假设最大 IL 大小为 3M gas,这相当于大约 0.33 Mb (有关更多详细信息,请参见附录 1.1)。我们预计环签名方案每轮需要大约 1 秒,为 ABP 留下每轮 5 秒 来完成 STEMFLUFF 阶段。我们评估了传输延迟和网络大小对传播时间的影响 (附录 1.2) 以及拜占庭节点对消息传播成功的影响 (附录 1.3)。此评估帮助我们为 ABP 选择初始参数,并为每个阶段(STEMFLUFF)分配 2.5 秒,网络大小为 128 个节点,并在 100 毫秒900 毫秒 之间随机选择一个额外的传输延迟。

评估与权衡

在本节中,我们将讨论如何评估 anon-IL 以及在其设计中所做的权衡。

匿名性保证

anon-IL背后的核心思想是允许验证者参与构建IL,而不泄露他们的身份。这是通过使用可链接的环签名方案实现的。重要的是,拥有两倍于秘密IL提案者( 128 )的IL委员会成员( 256 )的数量,使每个参与者都可以合理地否认签署或发送任何特定消息。此外,IL提案者使用匿名广播协议来传播消息,从而进一步保护他们的匿名性,防止外部观察者分析网络流量。这些匿名性保证的有效性取决于:

  • 所选环签名方案的密码学完整性:在这里,我们利用Groth-Kohlweiss签名,该签名使所有IL提案者都可以在一秒钟内签名,同时保持强大的安全性。从理论上讲,签名可以提供长期匿名性,这种匿名性可以抵御密码分析的进步,因为该协议实现了统计零知识。需要注意的是:这假设验证者正在使用良好的随机源,并且没有实现错误。
  • ABP设计及其相关参数受到Dandelion ++的启发。这些参数经过调整,以满足以太坊12秒slot持续时间的时限。有必要进行进一步的分析,以评估分配给节点(中继或扩散器)的角色、网络大小(即IL提案者的数量)以及在将消息广播到其他节点时引入的最大随机延迟所提供的匿名性保证。附录1中的初步分析有助于为这篇文章建立可信的参数。为了全面评估协议的鲁棒性,至关重要的是进行深入的模拟,并建立devnet,以评估真实和多变的网络条件下提供的匿名性保证。

假设anon-IL提供强大的匿名性保证,我们相信它代表了对其他IL设计的重大改进。允许验证者参与维护链中立性,同时受到有针对性的法律或监管措施的保护,大大提高了IL采用的机会。目前,根据censorship.pics,大约7.5%的提案者审查交易。随着IL的引入,这个百分比可能会增加,因为提案者的代理权将是明确要求的。通过保护他们的身份,我们允许整个验证者集合,包括今天审查交易的提案者,参与提高网络对审查的抵抗力,而不受监管措施的针对。此外,依靠秘密选择的IL提案者集合来参与IL的构建,降低了承诺攻击的可行性。似乎合理的推测是,我们的设计将要求攻击者贿赂 256 个IL委员会成员的很大一部分,以便将交易包含在全局IL中或从全局IL中排除。与COMIS不同,在anon-IL中,IL聚合器还使用ABP将其全局IL广播给其他委员会成员,这实际上消除了针对单个方的承诺攻击,除非聚合器自愿自我暴露。攻击者总是可以针对提案者 n+1 ,但这会迫使其错过其slot(否则块不是有效的),从而错过所有执行和共识层奖励,并且可能在将来招致错过slot的处罚

包含保证

在 anon-IL 中,包含保证在 第 2 轮 中通过包含阈值明确确定,IL 聚合器使用该包含阈值在他们收集的 IL^L\text{s} 中超过 X% 时包含交易。我们建议将此包含阈值设置为 10%,这意味着最终包含在超过 128 个 IL 提案者中的 12 个 本地 IL 中的每个交易都应包含在 IL^G 及其关联的摘要中。选择相对较低的非零包含阈值可提供良好的包含保证,同时防止来自单个方的垃圾邮件交易填充全局 IL。这种方法避免了单个 IL 提案者可以用其交易淹没系统的情况,从而确保仅包含与其他提案者的本地 IL 重叠的那些交易。通过要求在多个本地列表中看到交易,该协议减轻了恶意 IL 提案者使用垃圾信息交易支配全局列表的风险。这种选择性包含有助于维护 IL 的完整性和效率。第 2 轮 中的另一个参数也会影响包含保证,因为只有当交易的 IL 提案者的 IL^G\text{s} 满足聚合器的 IL^G_\text{summary} 中的至少一部分条目时,才会投 TRUE 投票。这为可能由于 p2p 网络延迟而错过第 1 轮中传播的一些 IL^L\text{s} 的 IL 提案者提供了一些回旋余地。但是,我们建议使用较高的重叠百分比(例如,90%)来约束聚合器的 IL^G 构建并提高包含保证。

我们还需要考虑 IL 已满的情况。当有资格包含的交易超过 IL gas 限制(即 3M gas)时,IL 提案者和聚合器应如何构建 IL?如果填充 IL 成为一种有利可图的策略,则超过包含阈值的协调 IL 提案者可能会在其 IL^L\text{s} 中添加完全相同的交易,从而挤出其他候选交易。为了减轻这种担忧,我们可以:

  • 建立对 IL 交易进行排序的优先级规则:在所有收集的 IL^L\text{s} 中出现频率最高的交易应优先包含。
  • 提高包含阈值。
  • 增加 IL 大小以容纳更多交易。我们还可以考虑可能更大的条件 IL,或具有累积的、非过期的属性的 IL。

激励方案

保护 IL 提案者身份最明显的缺点是,它使得设计激励方案来奖励为该机制提供有用输入的各方或惩罚那些不提供有用输入的各方变得非常困难。在这篇文章中,anon-IL 不以任何方式奖励 IL 委员会成员,并且假定为改善网络的抗审查性做出贡献是一项验证者可以在不期望额外奖励的情况下承担的任务。也就是说,我们可以设计依赖于指标来评估 IL 提案者构建的全局 IL 质量的激励措施,而无需识别特定的贡献者来奖励个人输入。例如,IL 委员会成员可以根据所有本地 IL 之间的重叠程度获得统一奖励,从而鼓励 IL 提案者包含他们看到的所有在 mempool 中等待的公共交易。

这是一个实现此目的的简单模型,如果我们假设奖励来自与交易相关的费用(请参见条件性小费)。我们让 C 代表委员会成员的总数(在当前的 anon-IL 设计中为 256 ),而 T 表示在 mempool 中等待的所有交易的集合。T 中的每个交易 t 都与费用 f_t 相关联,而 I_i 是提案者 i 在其本地 IL 中包含的交易集合。

  • 奖励计算

    • 所有 IL 委员会成员包含的交易的交集 U 计算为 U = I_1 \cap I_2 \cap \ldots \cap I_N。
    • 每个委员会成员 i 的奖励 R_i 的计算方式如下:

R_i = \frac {1} {N} ∑_{t ∈ U} f_t

  • 示例场景

    • 场景 1:所有成员(A、B 和 C)在其 IL 中包含所有 5 个交易,交易为 T = {t_1, t_2, t_3, t_4, t_5},费用为 f_{t_1} = 0.1, f_{t_2} = 0.3, f_{t_3} = 0.4, f_{t_4} = 1, f_{t_5} = 0.6。鉴于所有成员都包含所有交易,奖励计算简化为:每个提案者都包含相同的交易集 U = T,并且

    R_i = \frac {1} {3}(0.1+0.3+0.4+1+0.6) = 0.8 对于每个成员。

    • 场景 2:假设提案者 A 和 B 各包含 4 个交易(例如 t_1 到 t_4),而 C 仅包含 2 个交易(t_1 和 t_2)。所有成员共有的交易为 U = {t_1, t_2},奖励计算为:R_i = \frac {1} {3}(0.1+0.3) = \frac {0.4} {3} ≈ 0.133 每个。

请注意,如果奖励来自发行,我们还可以考虑有多少 IL 提案者(在所有可能的提案者中)为激励参与做出了贡献。另一个有趣的途径是让所有委员会成员参与抽奖。所有 256 个参与者都有机会赢得抽奖并获得一部分奖励,但是获胜的概率可能会因 IL 提案者和聚合器秘密证明他们角色的贡献和贡献而有所偏差。这将提供一种奖励个人角色或贡献的方式,同时仍然提供合理的否定(例如,“我得到了奖励,因为我很幸运,但我实际上根本没有参与创建列表”)。我们认为,探索在不损害 IL 提案者匿名性的情况下奖励其贡献的解决方案(例如,将来使用受保护的奖励池、隐形地址或全同态加密)值得进一步研究。

IL 属性

  • 现货: 由于除了提案者之外的各方负责构建 $IL$s(IL 提案者和聚合器),因此 anon-IL 机制可以与区块构建过程并行运行,从而有效地在区块级别提供实时审查抗性。
  • 无条件:此属性确保一旦 IL 包含交易,则保证该交易最迟在 slot n+1 上链。

    • 区块末尾:现货、 无条件 anon-IL 应附加在区块 n+1 的末尾。重要的是,如果满足 IL 摘要要求的交易已经包含在有效负载中,则它们将优先于 IL 交易。如果发生这种情况,IL 交易将被还原。
  • 不可拥挤性 我们认为上述 anon-IL 属性使它们对于除链中立性之外的其他用途“足够不方便”。需要在区块末尾且可进行抢先交易的交易需要一组秘密选出的参与者看到(即公开),这为引入 MEV 或预确认的二级市场提供了一些机会。

拜占庭和容错

在 anon-IL 中,拜占庭节点能够在机制的不同阶段发起各种攻击。这些攻击可以大致分为两种类型:

  • 去匿名化攻击: 这些是外部或内部各方试图损害 IL 委员会成员、提案者和聚合器的匿名性,从而增加揭示其身份的可能性。需要考虑的一个关键因素是,拥有大量股份的单个实体可以控制 IL 委员会的大部分。因此,该机制必须设计为能够抵抗去匿名化努力,即使委员会的许多验证者都隶属于同一实体。
  • 活性攻击: IL 提案者可以选择不参与 IL 的创建、签署或广播。这种不参与可能导致活性故障,其特征在于无法在整个网络中传播消息。可以在附录 1.2 中找到一个示例,我们在其中检查了所谓的“黑洞”攻击(其中拜占庭节点选择不转发任何消息)对 STEM 阶段消息传播成功的影响。为了应对这种攻击,我们引入了一种故障安全机制,该机制要求节点监视其消息是否已在 STEM 阶段结束时成功传播,如果未发生传播,则自行启动消息扩散。

必须进行彻底的安全分析,以尽可能减轻去匿名化和活性攻击。但是,重要的是要记住,最坏的情况会导致为一个 slot 构建不了 IL:可审查的交易可能仍在 mempool 中等待,并且可以被下一个 IL 委员会拾取。

局限性

我们对以太坊上的 IL 提案者进行匿名化的方法虽然在其设计中很强大,但遇到了需要注意的特定局限性:

  • 匿名广播协议(ABP)的调整:我们机制中的一个核心要素是ABP,它是Dandelion++协议的修改版本,最初是为异步通信设计的。 为了我们的目的,我们已将其调整到同步设置,保持原始结构,但调整了对消息传播的期望。 指导此调整的一个关键观察结果是,没有必要将所有提议的IL完整地传播给每个委员会成员。 这一假设允许设置特定的截止日期,并承认某些交易尽管经过多次中继,可能无法到达所有委员会成员。 这可能会导致一些交易被排除在考虑范围之外。 尽管这不会引起重大关注,因为我们的目标是将大部分提议的IL纳入全局包含列表中,但有必要进行全面的安全分析,以评估这些更改所带来的匿名性和安全性之间的权衡。 虽然从已经在其他地方实施的协议开始是有利的,但未来从头开始设计一个协议可能更实用——一个具有更少参数的协议。 进行必要的分析以评估其稳健性和安全性将确保对其进行优化,以满足我们的特定需求。
  • 单一聚合器模型:当前的协议考虑在IL提议者中随机选择一个单一聚合器。 虽然这简化了设计,并且本身不是一个约束——可以集成多个聚合器而无需更改核心机制——但这种设置可能会带来特定的挑战。 需要进行讨论,以探讨仅有一个聚合器可能出现的潜在问题,例如处理瓶颈或可能被恶意行为者利用的故障点。
  • 同样重要的是检查 RANDAO 如何影响我们的协议,因为验证者能够在很小程度上产生偏差。 应该进行分析,以了解这些偏差如何影响我们机制中使用 RANDAO 的部分。

补充材料

附录 1. ABP 参数

1.1. IL gas 和大小 (h/t Toni)

之前的 IL 规范经常提到使用 3M gas 的 IL 大小。 我们为 anon-IL 设计选择了相同的 gas 量,并证明了在 snappy 压缩后,一个块可以拥有的最大字节大小是零字节占比 28% 的块(图 S1)。 鉴于零字节的成本较低(4 gas),而非零字节的成本较高(16 gas),我们计算一个 3M gas 的 IL 可以拥有的最大大小如下:3M \times 0.28/4 + 3M \times 0.72/16 = 0.33Mb。

Screenshot 2024-04-25 at 10.42.20\ Screenshot 2024-04-25 at 10.42.201920×782 68.6 KB

**图 S1.** A. 在 Snappy 压缩后,相对于 30M gas 区块中零字节的百分比,Mb 为单位的最大区块大小。 B. 热图显示了区块中零字节的百分比与应用 Snappy 压缩后区块的压缩大小(以 MB 为单位)之间的关系,以及不同的 gas 限制(两个图均来自 Toni)。

1.2. 传输延迟和网络规模对传播时间的影响

然后,我们评估了改变最大传输延迟和网络规模(即 IL 提议者的数量)如何影响 STEMFLUFF 阶段中给定消息的传播时间。

  • FLUFF 阶段:根据共识规范,给定一个 MS 大小的 8,并且秘密的 IL 提议者在每轮中使用 ABP 发送消息,我们假设最小 100 ms 的传输延迟 T_{delay},以及由我们添加到每个消息传输中的最大随机延迟决定的最大值,以帮助去匿名参与者。 因此,我们使用一个简单的分析模型来计算在 FLUFF 阶段到达所有节点所需的传播时间 PT_{FLUFF}:

PT_{FLUFF} = T_{delay} \times \log_{(MS - 1)}(R)

其中 \log_{(MS - 1)}(R) 用于计算给定消息到达所有节点所需的跳数。 使用这些参数,根据 T_{delay},计算的传播时间 *PT_{FLUFF}* 在 FLUFF 阶段到达所有节点的情况如图 S2. A 所示。

  • STEM 阶段:作为提醒,每个 slot,一半的节点被随机选择为中继(转发给 1 或 2 个邻居),另一半是扩散者(转发给所有其他节点)。 鉴于此阶段涉及的更复杂的网络动态,我们使用模拟来估计 PT_{STEM} 相对于网络规模和 T_{delay}(图 S2.B)。

然后,我们简单地将 PT_{FLUFF} 和 PT_{STEM} 相加,以找到允许在每轮 5 秒 内将消息传播给每个人的可行参数(图 S2.C.)。 因此,我们选择为每个阶段分配 2.5 秒,将参数设置为 128 个节点的网络规模,最大添加随机延迟为 900ms

Screenshot 2024-05-23 at 15.20.17\ Screenshot 2024-05-23 at 15.20.171920×919 127 KB

**图 S2.** (**A**) FLUFF 阶段,(**B**) 在 100 次模拟运行中 STEM 阶段,(**C**) 给定轮次的总传播时间(FLUFF + STEM)的**传播时间相对于传输延迟和网络大小**。 x 轴表示传输延迟 T\_{delay},y 轴显示网络大小(64、128、256 个节点)。 颜色强度从快到慢变化。

1.3 拜占庭节点对消息传播成功率的影响

我们考虑了拜占庭节点可能对 IL 委员会成员网络中消息(IL 和投票)的传播产生的影响。 在图 S3 中,我们显示了在 STEM 阶段,对于各种网络规模,在拜占庭参与者不同百分比的情况下,成功到达所有节点的消息比例。

Byzantine_Nodes\ Byzantine_Nodes7200×3600 442 KB

**图 S3. 拜占庭节点对消息传播成功率的影响。** 此热图显示了对于 _STEM_ 阶段,在具有不同大小和拜占庭节点比例的网络中,完整消息传播的成功率,并对 100 次模拟运行求平均值。 x 轴表示拜占庭节点的百分比(0% 到 50%),y 轴显示网络大小(64、128、256 个节点)。 颜色强度从蓝色(较高成功率)到红色(较低成功率)不等,说明了拜占庭节点增加如何影响网络可靠性。
  • 原文链接: ethresear.ch/t/anonymous...
  • 登链社区 AI 助手,为大家转译优秀英文文章,如有翻译不通的地方,还请包涵~
点赞 0
收藏 0
分享
本文参与登链社区写作激励计划 ,好文好收益,欢迎正在阅读的你也加入。

0 条评论

请先 登录 后评论
以太坊中文
以太坊中文
以太坊中文, 用中文传播以太坊的最新进展