为什么“坏”想法对Solana是有益的 - 一场关于交易优先级的探索

  • thogiti
  • 发布于 2025-03-19 21:21
  • 阅读 65

本文探讨在高吞吐量区块链(尤其是Solana)中,勇敢探索被认为“糟糕”的设计理念的重要性。作者提出了多种机制来处理交易优先级和垃圾邮件预防,强调即使一些想法是实验性或未完成的,但探讨它们也有助于深入理解潜在问题和启发未来解决方案。

为什么探索“坏”想法?

在高吞吐量区块链设计的世界中——尤其是在 Solana 上——人们常常关注那些“能够正常工作的”经过打磨的最终解决方案。但这种心态可能抑制创造力,让我们对替代方法视而不见。如果我们大胆深入整个设计空间,包括那些半成品或实验性想法,会如何呢?当然,其中许多想法不会经得起更深入的审视——有些甚至可能被称为“坏”的。然而,每一次尝试,无论成功还是失败,都帮助我们揭示隐藏的约束、新的角度,以及为什么某些机制在压力下能够成功。

这篇文章倡导开放探索的精神。通过展示多种机制——一些是合理的,一些纯属猜测——我们看到不同的交易处理和垃圾邮件防范模型如何与 Solana 的架构契合(或冲突)。真正的价值在于发现它们 在哪里 以及 为什么 会失效,从而为下一次迭代获取见解。因此,无论这些想法是否能够变得成熟投入生产,所获得的学习都是无价之宝——而且这可能激发出下一个重大突破。

背景:Fikumni 的提案和 Toly 的担忧

我的朋友,以及 Solana 的深刻思想者, Fikumni,最近 提议了一种在 Solana 上动态收费的方法SIMD-253),以解决 Solana 的费用估算和优先级挑战。这个想法是让优先费用在交易排序中发挥更大的作用,从而潜在地更有效地将成本与需求对齐。

然而, Toly (Anatoly Yakovenko,Solana 的联合创始人) 指出 如果 Solana 在验证收费付款方 之前 依据优先费用来优先处理交易,会出现一个重要的安全漏洞。在这种情况下,恶意攻击者可以用声称高优先费用的交易填满管道, 即使 费用付款人是无效的。这将淹没验证者资源——类似于垃圾邮件或 DDoS 攻击——因为管道将忙于处理这些虚假的高费交易,直到它们最终未能通过验证。

Toly 建议将早期优先级限制为基于权益加权的连接,以惩罚或断开推送无效费用付款人的权益发送者。这个方法很好地契合了 Solana 的权益证明设计——权益验证者拥有经济动机以避免可能危及他们权益或连接的恶意垃圾邮件。

根据这段对话,显然交易优先级的问题比动态费用更广泛。如果我们愿意探索,许多潜在的想法——从部分验证到专业拍卖——可能会浮出水面, 即使 有些被证明是不切实际或不完整。因此,这篇文章:探索替代机制,从简单到“超出常规”,看看什么可能激发出新的见解或下一代解决方案。

鼓励说明

如果你是一个有想法的人——也许你是加密新手,或者只是担心你的想法或提案会被拒绝——不要让被评判的恐惧阻止你分享。即使是“坏”的想法也可以促成宝贵的讨论,突显重要的边缘案例。每一次探索,无论多么古怪,都能帮助你(和社区)更好地理解这个领域。通过每一次迭代和每一种“失败”的方法,我们不断完善我们的思维模型,逐渐接近那些真正能够带来改变的解决方案。

让我们勇敢地探索一些“坏”想法。


1. 早期筛选与“延迟验证”层

简要描述

这个方法旨在迅速剔除明显无效的交易(如余额为零的费用付款人或完全错误的签名),以防它们洪水般涌入管道。通过在早期做一个便宜的、 浅层 验证步骤,系统阻止这些无效交易占用资源,同时将完整的验证延迟到底层以保持性能。

可能的工作方式

  • 阶段 1: 浅层检查
    • 在进入或 SigVerify,运行最低限度的验证(例如,签名存在性、费用付款人的基本 Lamport 检查)。
    • 将通过的交易标记为“临时有效”,根据其声明的费用分配一个 临时优先级
  • 阶段 2: 详细检查
    • 在银行阶段或专业子阶段执行。
    • 进行高级检查(并发后的精准账户余额、特定程序约束等)。
    • 在这里失败的交易将被丢弃,尽管它们已经消耗了一些资源。

优点

  • 减少垃圾邮件: 对明显无效的费用付款人快速拒绝。
  • 更早优先级: 通过浅层检查的交易可以更早按照优先级进行调度。
  • 较低的开销: 与每个交易在高 TPS 上运行全面深入的验证步骤相比,低开销。

挑战

  • 不完整: 一些无效交易可能会在阶段 1 中溜过,堵塞阶段 2 的资源。
  • 实施复杂性: 定义“浅层”检查是便宜且有效的并非易事。
  • 自适应攻击者: 攻击者可以制作临界有效的费用付款人,尽管通过阶段 1 却在深入检查中失败。

实施细节与问题

  • 必须仔细调整浅层检查的内容(例如,快速的 Lamport 检查、基本的签名存在性)。
  • 验证者代码更改需要高速并发安全读。
  • 如果浅层检查逻辑在负载下停滞,必须有后备机制(例如,缓存、批量读取)。

2. “可逆批次”与自动回滚

简要描述

在这里,管道乐观地调度高费用交易批次,假设它们是有效的。如果任何交易后来未能通过深入检查,系统将回滚无效的交易(或整个批次),为另一个排队的交易释放插槽。这保持了高吞吐量,同时允许协议 事后 纠正无效或垃圾邮件交易。

可能的工作方式

  • 批量调度
    • 按优先级(费用大小)对交易进行分组,然后以批量方式执行。
  • 条件执行
    • 如果某个交易未能通过深入检查(例如,资金不足或并发冲突),则撤消该交易的状态变化(或撤消整个批次),并用备用交易替换。

优点

  • 乐观吞吐: 链迅速运行高费用交易,而无需预防性检查。
  • 垃圾邮件威慑: 无效交易在处理中被剔除,限制其影响。
  • 资源利用: 通过最初调度所有高优先级交易,鼓励充分区块使用。

挑战

  • 回滚复杂性: 在并行执行下,为每批次保留部分或全部快照并非简单。
  • 性能开销: 如果频繁发生回滚,重复播放会拖慢吞吐量。
  • 潜在攻击: 攻击者可能故意造成回滚以消耗验证者资源。

实施细节与问题

  • 可以存储一个“预批次状态检查点”,需要时进行回滚。
  • 必须仔细处理并发性,确保某些交易保持有效,同时只是无效的交易回滚。
  • 开销必须尽可能低,以保持 Solana 的亚秒最终性。

3. 与 Solana 插槽对齐的“拍卖窗口”

简要描述

与持续的交易流不同,每个 Solana 插槽(或子插槽)成为一个区块空间的迷你拍卖。用户提交费用出价,协议计算清算价格,只有有效且出价足够高的交易才能进入。这为价格发现提供了结构化的方式,同时让网络逐槽适应需求变化。

可能的工作方式

  • 离散拍卖期
    • 在一个插槽内,交易到达,为空间进行出价。在插槽结束时,系统选择清算费用。
  • 费用付款人验证
    • 无效付款人失败。满足或超过清算费用的有效交易将被纳入下一个区块。

优点

  • 清晰的价格发现: 出价者在每个插槽看到明确的“市场价格”。
  • 垃圾邮件控制: 无效或虚假的出价在无法通过最终检查时支付零费用。
  • 稳定性: 频繁的拍卖适应变化的需求。

挑战

  • 延迟提升: 用户在看到自己是否被包括之前,需要等待插槽拍卖结果。
  • 实施大改: Solana 的管道是为连续流构建的,因此逐槽拍卖需要重大的调度变更。
  • 潜在利用: 如果设计不当,封闭出价或二次拍卖可能被利用。

实施细节与问题

  • 可以与 SIMD-253 集成,推荐基本费用,然后在其上叠加拍卖溢价。
  • 需要在每个插槽上获得验证者之间对清算价格的共识。

4. 通过密码学证明实现 Layer-0 声誉

简要描述

用户或 RPC 节点可以建立有效的诚实交易的公共记录,获得可加密验证的“信誉分数”。该分数给予他们额外的基本优先级,避免完全依赖于权益规模。这鼓励持续的良好行为,并劝阻来自新用户或可疑账户的垃圾邮件。

可能的工作方式

  • 声誉积累
    • 每个有效交易增加用户的“分数”。垃圾邮件或无效交易则降低分数。
  • 证明
    • 每个交易包含用户更新的声誉证明。调度器查看此信息,若分数足够高则提升优先级。

优点

  • 广泛激励: 非权益但声誉良好的地址可以获得优先。
  • 垃圾邮件威慑: 攻击者如果发送垃圾邮件,就很难保持良好的声誉。
  • 可扩展: 如果只做最小化的证明开销(如局部 ZK),验证声誉时迅速便捷。

挑战

  • 复杂计算: 定义多少个“好交易”足以获得信任是棘手的。
  • 利用模式: 攻击者可能通过微小的有效交易获取良好的声誉,然后发起大规模的垃圾邮件。
  • 实施开销: 在链上存储、更新、验证声誉可能会很贵,特别是未经过精心优化时。

实施细节与问题

  • 可能将声誉数据存储在一个状态合约中,由验证者每个纪元更新。
  • 可能需要部分权益绑定以避免廉价的声誉获取。

5. 资源代币化(“多代币费用”)

简要描述

与单一的“Lamport”费用不同,网络在每个插槽中铸造特定资源的代币(CPU 代币、MEM 代币等)。用户必须持有正确的代币组合来覆盖其交易所需的资源。如果内存使用尖峰,MEM 代币的价格会上涨,确保成本反映现实的限制。

可能的工作方式

  • 维度特定代币
    • 例如,CPU_TokenMEM_TokenIO_Token,每个按可用容量的比例铸造。
  • 交易支付
    • 交易必须附加足够的代币以覆盖其所使用的每个维度。
    • 如果内存严重拥堵,则需要更多的 MEM 代币,这在二级市场中推高其价格。

优点

  • 精细化公平: 准确收取真正瓶颈的资源费用。
  • 强有力的反垃圾邮件: 攻击者需要大量的每种资源代币来饱和链。
  • 市场驱动: 资源特定代币的价格反映使用情况,无需全球聚合。

挑战

  • 用户复杂性: 持有多个资源代币会很令人困惑,除非钱包能够无缝处理。
  • 实施: 每个插槽铸造/销毁逻辑可能会负担繁重;这与标准的 Lamport 收费有很大不同。
  • 市场波动: 资源代币价格波动剧烈,可能会使用户预期复杂化。

实施细节与问题

  • 可以将 CPU + I/O 统一为一个“CU 代币”。
  • 有潜在的协同效应与 SIMD-253,使推荐费用包含资源代币的成本。

6. 二级层的“闲置容量”拍卖

简要描述

如果在主调度过程中一个区块没有填满,剩下的“闲置”容量将在一个快速微拍卖中出售。出价最高的交易可以在最后一刻插入,避免区块空间的浪费,并给予初始出价过低或到达晚的用户一次第二机会。

可能的工作方式

  • 主流程
    • 正常的管道(基于费用或权重)。
  • 检测闲置容量
    • 在插槽结束时,检查是否使用量低于某个目标门槛。
  • 微拍卖
    • 剩余交易出价争夺剩余资源,若出价有效则提交。

优点

  • 高利用率: 尽量减少未使用的区块空间。
  • 额外市场: 晚来的或低出价者如果有闲置容量可以多支付。
  • 轻量化: 不替换整个费用模型——只是一个结束过程。

挑战

  • 时间关键: 微拍卖的时间窗口非常短,可能有利于专业化的机器人。
  • 潜在攻击: 如果闲置容量检测被利用或滥用,在插槽结束时可能会出现混乱。
  • 实施复杂性: 必须与最终区块提交良好结合,以避免重组问题。

实施细节与问题

  • 可能由链下聚合器发出闲置容量信号价格。
  • 必须确保并发正确性和稳定的最终性,即使在最后时刻交易进入。

7. 预测调度与松弛预留

简要描述

在这里,网络根据历史使用数据为已知、稳定的流(例如,主要的 DeFi 协议)预留部分容量。这确保这些“可预测”的交易不会因随机需求的激增而受阻,而区块的其他空间保持开放市场。

可能的工作方式

  • 使用预测
    • 跟踪使用稳定的主要地址/程序。
    • 为它们保留部分区块。
  • 松弛与重新分配
    • 如果它们不使用预留的容量,剩余容量返回正常费用市场。

优点

  • 抵抗尖峰: 大的,稳定的流保持一致,即使新动态(例如,NFT)出现。
  • 提升关键协议的用户体验: 重要的 dApp 或交易所获得基本吞吐量。
  • 更少波动: 普通费用市场只竞争未预留空间。

挑战

  • 偏袒: 决定谁获得“预留”可能会集中权力。
  • 可能的浪费: 如果预留未被使用,容量可能会闲置,除非迅速返回一般池。
  • 治理开销: 协议级别或链下的委员会可能决定有关预留的事项。

实施细节与问题

  • 可以作为协议升级进行集成,或专门为白名单地址设置。
  • 必须处理 возможно геймингаар, б вух что --- методами п искусственнымующей прогрессии ложных данных например, спидейм.

8. NFT 票务或“时间窗口”方法

简要描述

大型活动(如 NFT 铸造或代币发布)常常会引发大量交易,压垮 Solana 的管道。票务或“时间窗口”系统可以通过提前分配特定插槽或交易“票据”给参与者来平缓这些高潮,减少实时混乱。

可能的工作方式

  • 事件前票据分发

    • 事件主办方或协议发放“铸造票”,每个票据保证在特定插槽/时间窗口的优先级。
  • 在活动期间

    • 持票人提交交易,享受优先权。
    • 如果还有剩余容量,正常交易填补缺口。

优点

  • 防止蜂拥事件: 当成千上万用户同时涌入时,网络崩溃的几率降低。
  • 可靠: 持票人知道他们不会在活动期间被机器人超越。
  • 链的稳定性: 将狂热转变为有序的队列。

挑战

  • 二次炒作: 票可能会以高价转售,引入新的投机。
  • 排除: 如果没有票,就无法获得优先权。
  • 实施负担: 网络或 dApp 必须处理票务跟踪和执行。

实施细节与问题

  • 通常被 launchpad dApps 或专业框架使用。
  • 可能需要与 Solana 的验证者客户端深入集成,以覆盖票持有者的正常费用调度。

结论

这八种机制各自具有不同的优点、权衡和实施考量:

  1. 早期筛选: 对明显无效交易的快速浅层检查。
  2. 可逆批次: 乐观调度,交易未能通过深入检查时回滚。
  3. 拍卖窗口: 基于插槽的拍卖结构化费用发现。
  4. Layer-0 声誉: 通过内置优先给予积极行为者奖励。
  5. 资源代币化: 针对 CPU/内存使用的多维费用模型。
  6. 闲置容量拍卖: 在插槽最终确认前出售剩余区块空间。
  7. 预测调度: 为稳定或高使用量协议预留容量。
  8. NFT 票务: 为重大事件预先分配吞吐量,平滑峰值。

在实际应用中,Solana 或任何高吞吐量链可能会结合多个想法:例如,浅层检查与部分回滚逻辑结合,或推荐费用(如 SIMD-253)与基于权益的早期优先化修正结合。尽管每种方法会增加复杂性,但它们提供了丰富的设计空间,以应对在量与稳健、抗垃圾邮件的交易处理之间寻求平衡这一永恒挑战。

正如 Toly 与 Fikumni 的 SIMD-253 交流所示,即使一个有前景的费用机制也可能因恶意攻击者利用预验证漏洞而被削弱。通过无畏地探索这些(和其他)“不完整”想法,我们获得了关于什么有效——以及什么无效——在 Solana 极高吞吐要求下的宝贵经验。而有时,这正是好主意诞生的途径。

  • 原文链接: github.com/thogiti/thogi...
  • 登链社区 AI 助手,为大家转译优秀英文文章,如有翻译不通的地方,还请包涵~
点赞 0
收藏 0
分享
本文参与登链社区写作激励计划 ,好文好收益,欢迎正在阅读的你也加入。

0 条评论

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