PeerDAS L1 研发分组讨论纪要

本文记录了以太坊DAS相关的一次会议讨论,重点包括:1. Blob交易的证明分发方案,由交易发送者计算单元格证明并放在网络包装中,接收方在转发前验证所有证明,优点是不需在区块构建时计算证明,缺点是EL层验证时间(16ms)但数量少可接受。

参考基准

证明分发提案(未提出异议)

  • 提案内容
    • 单元证明由交易发送者计算,并放入 blob 交易的网络包装器中:轻量级(6 KB,约增加 5% 大小),验证速度快(16 毫秒),但计算速度慢(约 200 毫秒)
    • blob 本身以原始形式发送,不进行扩展:发送扩展数据开销大(大小增加 2 倍),但计算速度快(约 2.5 毫秒)
    • 收到 blob 交易后,对 blob 进行扩展(2.5 毫秒),并在转发之前验证所有(扩展后 blob 的)单元证明(16 毫秒)。
  • 优势:无需在区块构建过程中计算证明,更无需在分布式区块构建的关键路径中计算证明。
  • 劣势:在 EL 层进行证明验证(尽管不属于交易格式的一部分)。
  • 备注在之前的分布式区块构建会议中,曾有人对内存池传播中证明验证时间过长表示担忧。然而:
    • 只会存在少量 blob 交易,而非数千笔。
    • 每笔 blob 交易本身已经很重,增加 16 毫秒验证时间相对影响较小。

分片 blob 内存池

  • 大致共识:对于首次 DAS 部署,可能不需要分片内存池。由于内存池基于拉取,每个节点的平均带宽消耗仅为每个 blob 约 10 KB/s,且内存池传播对时间不敏感,在整个 Slot 内分散进行。即使目标为 16 个 blob,也应可管理。
  • 如果需要,是否可以进行简单的水平内存池分片,而不必立即承诺采用更宏大的设计(例如垂直分片)?例如,仅从与你的分片(一个或多个)重合的发送者处拉取交易,完全本地规则。
  • 我们是否需要显式的内存池分片?对于带宽不足的节点,内存池会自然分片。
    • 问:EL 无法了解 CL 的带宽需求。如果没有通过显式分片或某种形式的带宽优先级来限制使用量,如何防止 blob 内存池最终饱和节点的连接,干扰 CL?

本地区块构建

  • 交易选择
    • 没有(显式或其他形式的)内存池分片时,这里没有问题,只需包含你拥有的所有 blob 交易即可。
    • 有(显式或其他形式的)内存池分片时,仍然可以在提议前的 Slot 内尝试下载尽可能多的交易,而不必宣布所有交易(例如,仍然只宣布你分片内的那些)。即使有 128 个 blob,也只需要约 20 MBit/s 的下载(仅针对一个 Slot)。
  • 列传播
    • 如果我们能够发送单元而非列,传播将更加分布式(不会因拥有所有交易的节点成为瓶颈,允许更小的贡献等)。
    • 或许无论如何更兼容长期设计?(例如内存池采样、2D 采样、本地重构)
    • 希望至少研究这样做的可行性。主要担忧是会失去批量验证?验证单个单元需要 3 毫秒,但验证包含 16 个单元的列只需 6 毫秒(效率提升 8 倍)。
  • 原文链接: hackmd.io/jx1bepcuTvy6I6...
  • 登链社区 AI 助手,为大家转译优秀英文文章,如有翻译不通的地方,还请包涵~
点赞 0
收藏 0
分享
本文参与登链社区写作激励计划 ,好文好收益,欢迎正在阅读的你也加入。

0 条评论

请先 登录 后评论
jx1bepcuTvy6I619mFdSxQ
jx1bepcuTvy6I619mFdSxQ
江湖只有他的大名,没有他的介绍。