高性能区块链中的主导资源公平性 - 超越EIP-1559的多维飞跃

  • thogiti
  • 发布于 2025-02-02 16:20
  • 阅读 38

本文探讨了如何将Dominant Resource Fairness(DRF)引入Solana的动态费用模型,以处理多资源瓶颈带来的复杂性。文章深入分析了DRF的基本原理及其适用于区块链的优势,强调了通过调整费用来实现多维公平性的策略,并详细讨论了实现中的挑战与潜在研究方向。

引言

如果高性能区块链像 Solana 的费用模型可以自动调整,不仅基于计算使用率,还基于内存、网络带宽和 I/O 会怎样?在高吞吐量环境中,可能出现多个资源瓶颈——然而传统的一维费用机制很少能捕捉到这一现实。

在我们系列的 第一部分,我们探讨了 Solana 上的动态基本费用(受 Ethereum 的 EIP-1559 启发)如何帮助:

  • 在高负载下通过提高费用来防止垃圾邮件,
  • 当使用率适中时保持费用较低,以及
  • 按照“计算单元”使用量对交易收费。

但是,计算单元并不是唯一的瓶颈。现代区块链节点也可能饱和内存、网络带宽或磁盘 I/O。让我为你介绍主导资源公平性(Dominant Resource Fairness,DRF)。借鉴自高性能计算和数据中心调度,DRF 是一种多维公平性机制,认识到每个工作(或交易)可以对多个资源造成压力。通过将 Solana 的动态费用与 DRF 原则(无嫉妒性、策略无效性和帕累托效率)对齐,我们可以确保:

  • 重内存使用者在内存稀缺时支付额外费用,
  • 网络密集型交易在网络带宽成为真正瓶颈时支付更高费用,
  • 没有任何单一维度成为隐藏的瓶颈,从而导致便宜的垃圾邮件淹没系统。

本文探讨了为何以及如何扩展 Solana 的动态费用模型,以处理所有主要资源类型。我们将展示 DRF 的“主导资源”方法——对多资源的最大最小公平性(Max-Min Fairness,MMF)如何自然与在 第一部分 中讨论的类似 EIP-1559 的费用更新相结合。结果是一个随着现实约束而升维的多资源机制,并根据每个交易对网络的实际负担自动定价。

因此,如果你想了解区块链费用机制的下一个飞跃——超越简单的计算单元——请继续阅读。我们将阐述来自 DRF 论文 (SIGCOMM 2011) 的理论基础、区块链环境中的实际挑战,以及将多维公平性引入不间断吞吐量的好处。


动机:多资源区块链费用中的 DRF

Solana(和类似的高性能区块链)必须处理多个瓶颈——CPU、内存、网络、I/O——而不仅仅是“计算单位”(CUs)。多资源动态费用模型需要:

  • 按照每个交易消耗的资源进行收费,
  • 在所有资源维度的拥塞中调整费用,
  • 防止操纵:用户不应通过虚假报告资源需求获利,
  • 在对抗性或突发需求下保持稳健性。

这些挑战反映了集群计算环境中的多资源调度。Ghodsi 等人在其 SIGCOMM 2011 论文中提出的主导资源公平性(DRF),为多资源分配提供了深入研究的解决方案:

  • DRF 将 最大最小公平性(Max-Min Fairness,MMF)推广到多种资源类型。
  • 每个用户的“主导份额”是他们在该资源容量的最高比例上usage的分数。
  • DRF 旨在平衡这些主导份额,以满足一系列优雅的公平性属性(策略无效性、无嫉妒性、帕累托效率、瓶颈公平性等)。

尽管 DRF 最初是为集群调度任务开发的,如果我们把每个用户(或交易流)视为需要某些资源向量的“工作”,它自然可以扩展到区块链中。然后,我们可以将 DRF 的核心洞见适配到一个 自动 定价多维使用的费用机制中,与已经讨论的 Solana 的类似 EIP-1559 的动态基本费用更新良好对接。


回顾:重要的 DRF 属性和定理

要理解 DRF 如何为区块链费用市场提供信息,有助于重述其核心定理。所有引用均来自 Ghodsi 等人,SIGCOMM 2011。以及同一论文中的附录。

  • 用户 $i$ 的主导份额:
    $$ si \;=\; \max{r \in \mathcal{R}} \Bigl(\tfrac{d_i^{(r)}}{B^{(r)}}\Bigr), $$

    其中 $d_i^{(r)}$ 是用户 $i$ 对资源 $r$ 的使用量,$B^{(r)}$ 是资源 $r$ 的总容量。

  • 逐步填充算法:直观而言,DRF 不断“填充”分配,以与每个用户的需求向量成比例,直到至少一个资源对该用户饱和。这确保没有用户可以在不减少其他用户份额的情况下增加她的“主导份额”。

  • 重要定理(在理想的连续场景中,需求严格为正):

    • 定理 9:DRF 是帕累托有效的(没有用户可以增加她的份额而不减少其他用户的份额)。
    • 定理 10:DRF 满足分享激励和瓶颈公平性。
    • 定理 11:每个 DRF 分配都是无嫉妒的(没有用户会更喜欢其他用户的分配)。
    • 定理 12:在同质资源池中,DRF 是策略无效的,因此撒谎关于你的需求不会增加一个更高的主导份额。
    • 定理 14:在需求严格为正时,DRF 满足人口单调性(虽然牺牲了资源单调性)。

这些定理共同表明,DRF 是多资源环境中一个很有吸引力的机制,确保公平性并缓解需求膨胀等操纵。


将 DRF 应用于区块链费用市场

用户、交易和资源向量

在 DRF 通常将每个“用户”视作一项工作或一队任务的地方,我们可以将 Solana 上的每个地址(或优先费用支付者)比作一个“用户”,其交易共同请求一个资源向量: $$ \mathbf{d}_i = \bigl( d_i^{(\text{CPU})},\, d_i^{(\text{Memory})},\, d_i^{(\text{Network})},\dots \bigr). $$

在实践中,用户 $i$ 的每笔交易 $\tau$ 可能有其自己的资源向量 $\mathbf{u}(\tau)$。对用户 $i$ 在一个区块中所有交易求和或取平均,将得到区块级请求 $\mathbf{d}_i$。如果区块链试图“公平”地容纳所有用户对下一个区块的需求,我们可以在区块边界运用 DRF 的思想。

费用计算:基于主导份额的定价

在 DRF 中,每个用户的分配结束于均衡“主导资源份额”。在区块链费用上下文中,我们可以反转这一逻辑:

  • 如果用户 $i$ 的主导资源份额高(即他们声称占用某个瓶颈资源的很大一部分),则协议可以收取更高的费用。
  • 相反,如果用户 $i$ 使用每种资源的数量较少,其总成本就较低。

这暗示着一个动态基本费用倍增器,惩罚大的主导份额。例如,用户 $i$ 的交易费用可能是:

$$ \text{Cost}(i) \;=\; M \times \max_{r}\Bigl{ w^{(r)}\,d_i^{(r)}\Bigr}

  • \text{tip}(i), $$

其中 $w^{(r)}$ 为资源权重,$M$ 是随整体系统负载升降的全局缩放因子。这本质上是将 DRF 的“主导资源”原则迁移到一个定价模型中。

动态更新(从区块到区块)

正如在 EIP-1559 中,我们希望每个区块自动调整 $M$,以便总使用量保持在目标阈值附近。单一资源的 EIP-1559 使用 $\exp[\alpha(\phi_n - \phi^*)]$,但在这里 $\phi_n$ 必须反映多资源负载。DRF 建议我们查看每个用户的“主导份额”,以确定区块是否饱和任何资源维度:

  • 如果区块在至少一种资源上接近容量,增加 $M$。
  • 如果资源未被充分利用,降低 $M$。

一种可能性是定义一个函数 $$ \phin = \max{r\in\mathcal{R}} \Bigl(\tfrac{un^{(r)}}{B^{(r)}}\Bigr), $$ 就像“主导资源使用份额”一样。然后我们做: $$ M{n+1} = M_n \times \exp!\bigl(\alpha\,[\phi_n - \phi^*]\bigr). $$ 这确保任何资源被大量使用时,费用会自动上涨,符合 DRF 的概念,即饱和一个维度就构成了系统瓶颈。

策略无效性问题

DRF 的一个标志是用户无法通过要求不需要的资源而受益。在区块链中,“撒谎”关于资源使用可能意味着在交易中人为地膨胀(或缩小)CPU/内存使用字段以操净费用。DRF 的定理 12 声明如果资源来自单一同质池,则对于每个用户真实声明需求是策略无效的。

  • 区块链相关性:我们必须对验证者进行仪器化,以测量实际使用(CPU周期、内存字节、网络开销),而不是信任自我报告的需求。通过强大的测量能力,用户没有直接的撒谎方式,从而继承了策略无效性。
  • 离散任务与碎片化:实际交易通常是全有或全无(交易要么适合一个区块,要么不适合)。如果使用是通过运行时事后测量的,DRF 的策略无效性依然很大程度上成立,但离散容量可能导致“碎片化”问题(见 DRF 论文的第 6.2 节)。

无嫉妒性与瓶颈公平性

  • 无嫉妒性:如果用户 $i$ 的主导份额与用户 $j$ 平衡,那么 $i$ 无法偏好 $j$ 的资源使用,因为这将推高 $i$ 的主导份额(并导致更高费用)。将无嫉妒性转化为费用系统意味着没有用户愿意支付其他用户使用包的费用。
  • 瓶颈公平性:DRF 确保如果某个资源是用户的瓶颈,其他每个人也至少看到相同比例的个人瓶颈。在区块链中,这将确保没有单一用户的资源使用“在相对其他用户方面不公平地”支配一个维度,除非他们也按比例支付更高费用。

更深入的形式化:将 DRF 与动态费用合并

让我们勾勒出一个更正式的基于 DRF 的区块级费用机制:

  • 用户与需求向量:

    • 在区块 $n$ 中,我们有 $N_n$ 个活动用户(地址) ${1,\dots,N_n}$。
    • 用户 $i$ 提出一组其总资源需求为 $\mathbf{d}_{i,n}$ 的交易。
    • 我们通过实际运行时度量来测量 $\mathbf{d}_{i,n}$。
  • 容量:

    • 每个资源 $r\in\mathcal{R}$ 具有区块容量 $B^{(r)}$。对于区块 $n$,我们不超过 $B^{(r)}$ 的资源使用。
  • 主导份额:

    • 对于用户 $i$,定义 $$ s{i,n} \;=\; \max{r\in\mathcal{R}} \bigl(\tfrac{d_{i,n}^{(r)}}{B^{(r)}}\bigr). $$
    • 系统试图“分配”每个用户到某个份额,以确保所有 $s_{i,n}$ 尽可能平衡。
  • 定价:

    • 令 $M_n$ 为基本费用倍增器。
    • 每个用户 $i$ 支付:
      $$ \text{Cost}(i,n) \;=\; Mn \times s{i,n} \;\; +\; \text{tips},
      $$ 或等效 $Mn \cdot \max{r} {w^{(r)}\,d{i,n}^{(r)}}$ 如果我们纳入权重。(如果需要,也可以将 $s{i,n}$ 解释为无量纲比例,并按每种资源的“成本”缩放)。
  • 费用更新:

    • 区块完成后,测量总使用 $u_n = \sumi d{i,n}$。
    • 定义 $\phin = \max{r} (u_n^{(r)}/B^{(r)})$。
    • 更新 $$ M_{n+1}

      M_n \times \exp![\alpha\,(\phi_n-\phi^*)]. $$

    • 这确保基本费用因区块总的“主导资源使用份额”而升降,保持系统负载接近 $\phi^*$。

这种混合方法的优缺点

  • 优点:

    • 与 DRF 对齐:大资源使用者支付更多,内建公平性。
    • 继承策略无效性(假设使用被准确测量)。
    • 随着区块级使用自动扩展。
    • 无嫉妒性和瓶颈公平性可以在“用户”级别延续。
  • 缺点:

    • 实施复杂性:我们必须测量真实资源使用 $\mathbf{d}_{i,n}$。
    • 在离散环境中,DRF 可能导致“碎片化”或某一维度部分使用。
    • 与地方费用市场的紧张关系:Solana 也存在本地热点(例如,特定账户或程序)。将本地竞拍与基于 DRF 的全球定价结合起来相当复杂。

处理离散任务、碎片化和位置约束

DRF 论文的未来工作(第 9.1 节)指出的几个方向在区块链上下文中似乎也很相关:

  • 最小化碎片化:

    • 区块链对交易有离散的“插槽”。如果某一维度的部分资源使用残留,但没有单笔交易可以适应它,则该容量实际上是浪费的。这有点类似于箱子打包或在离散机器上调度任务。
    • DRF 对连续资源的解决方案具有很强的公平性,但不一定最小化碎片化。同样,让“小”交易进入可能并不总是提高整体公平性。
  • 位置约束:

    • 在集群调度中,某些任务需要特定的机器。在区块链中,我们可能有约束,即交易必须读取/写入特定的链上状态或必须在拥有所需账户数据缓存的特定验证者集合上运行。
    • 带约束的 DRF 可能会失去其一些简单的策略无效性证明。用户可能将需求集中在某些“首选”资源分配中。
  • 操作系统级 DRF:

    • DRF 论文建议在多核心操作系统内应用 DRF 作为调度策略。类比之下,区块链运行时环境(例如,Solana 在每个验证者上的运行时)可以采用类似 DRF 的调度机制来执行交易。这比简单地分配“计算单元”更细致,但它可能导致更好的多核利用和真正的并发公平性。
  • 微观经济视角:

    • DRF 不是唯一的多资源公平方法。例如,来自通用收入的竞争均衡(CEEI)是无嫉妒和帕累托有效的,但不是策略无效的。
    • 一个更深层次的问题:“DRF 是否在其他公平性属性下是 唯一 的策略无效机制?”论文提出调查 DRF 是否是多资源分配中满足所有这些约束的唯一可能性。对于区块链,这提出了未来方向:也许存在替代的多资源费用机制,但破坏了策略无效性或无嫉妒性。

验证者操纵与多资源测量:两个重要问题

一个多资源费用系统可以非常抵御验证者操纵,并对所有用户公正——但它需要在资源跟踪和诚实测量方面进行仔细设计。

验证者是否可以调整其使用模式以最小化费用?

简短回答:虽然验证者可能尝试通过巧妙地重组交易或将其拆分成多个较小的方式来减少“主导资源”费用,但一个设计良好的多资源费用框架(受 DRF 启发)限制了这种操纵的优势——尤其是在资源使用被准确测量并妥善汇总的情况下。

调整个人交易

提交自己交易的验证者可能尝试将大型高资源交易拆分成多个较小的交易,以减少“主导资源”成本。但是,DRF 的策略无效性(假设资源测量准确)确保刻意操控系统通常带来的净收益微乎其微。拆分交易通常只是重新分配资源使用,但并不根本降低总费用,因为协议会汇总区块中所有交易的使用。

在区块生产中偏好某些交易

验证者可能会省略或重新排序用户交易,以保持下一个区块的费用较低。然而,下一区块的费用也取决于整体使用情况和其他验证者的选择。此外,丢弃交易意味着放弃潜在的小费收入,这通常会使此类操纵不具激励。

准确测量多资源利用的难度有多大?

简短回答:每笔交易的 CPU、内存、网络和 I/O 使用情况的测量并不简单,尤其是在拜占庭环境下。这需要强大的仪器、潜在的跨验证者检查或可信硬件,以确保诚实报告。

仪器的复杂性

  • CPU 使用相对简单(例如,计算单元)。
  • 内存使用的归属在并行执行环境中可能很棘手。
  • I/O 跟踪需要详细记录运行时的读/写。
  • 如果多个节点处理部分数据,网络使用的跟踪可能尤其具有挑战性。

可能的方式

  • 基于运行时的仪器:验证者实时监控资源消耗并记录每笔交易的使用。
  • 可信硬件(TEE):安全隔离或其他 TEE 解决方案可以提供篡改证明的使用指标。
  • 跨验证者验证:多个验证者重新检查使用数据的一致性,以检测任何异常。这可能还需要某种激励机制,以鼓励验证者准确报告。

操纵风险

如果验证者可以单方面错误报告其交易的使用情况,则可能会少交费用。缓解措施包括严格的运行时检查(以减少手动报告)或测量证明方案。

平衡开销与公平性

准确跟踪每个资源增加了实施复杂性和运行时开销,但这个好处是真正的多维公平性——按交易实际消耗的资源收费,而不仅仅是所谓的“计算”。


结论与研究方向

通过采用主导资源公平性理念,在 Solana 上的多资源费用模型有可能实现在 CPU、内存、I/O 和网络使用方面实现强势公平性和防止垃圾邮件。DRF 的已证明属性——策略无效性、无嫉妒性、瓶颈公平性、帕累托效率——为它提供了一个理论基础,而单一维度或临时定价方法往往缺乏这一基础。

DRF 增强模型摘要

  • 测量每笔交易在多个资源维度的使用。
  • 按用户(或优先费用支付者)汇总使用情况。
  • 计算每个用户的主导份额。
  • 根据他们的主导份额和全局基本费用倍增器 $M_n$ 的函数向该用户收费。
  • 根据上一个区块中的最大资源利用情况,从区块到区块更新 $M_n$。

这确保了如果任何资源维度接近容量,整个系统的费用会自动上涨,鼓励用户减少消耗或分散使用。

开放的研究问题

  • 离散“任务”:就像大型 HPC 集群有离散任务一样,区块链也有离散交易。最小化碎片化并保持 DRF 公平性相当于多维箱子打包问题及公平性约束。
  • 机器或验证者约束:某些交易只能由特定的验证者处理或必须读取某些状态。这使得均匀资源汇聚更加复杂。
  • 本地vs. 全球费用:Solana 对“热门”账户有地方费用竞标。将地方拍卖与基于 DRF 的全球动态费用底线结合起来是一个未解问题。
  • 实施开销:精准测量每笔交易的内存或网络使用可能会很昂贵。我们需要强大的仪器来保持策略无效性(以免任何人对使用进行撒谎)。
  • 微观经济独特性:调查 DRF 是否确实是区块链多资源、公平、帕累托高效方法中唯一的策略无效政策。

总之,DRF 为公平的多维资源分配提供了一种严谨的蓝图。将其仔细适配到 Solana 的动态费用结构中将提供强大的理论保证,确保没有用户通过错误陈述资源需求来“游戏”系统,且所有主要资源(CPU、内存、I/O、网络)都以一种平衡,关注瓶颈的方式定价。虽然仍存在显著的工程细节——特别是围绕离散交易和验证者约束——但潜在收益是一个强健的、公平的、抵御垃圾邮件的多资源费用市场,能够与 Solana 的并行执行模型一起扩展。

参考文献

  1. 主导资源公平性:多资源类型的公平分配
  2. 在 Solana 中建模动态基本费用
  3. 通过来自通用收入的竞争均衡进行公平分配
  • 原文链接: github.com/thogiti/thogi...
  • 登链社区 AI 助手,为大家转译优秀英文文章,如有翻译不通的地方,还请包涵~
点赞 0
收藏 0
分享
本文参与登链社区写作激励计划 ,好文好收益,欢迎正在阅读的你也加入。

0 条评论

请先 登录 后评论
thogiti
thogiti
https://thogiti.github.io/