欢迎阅读 ChainFeeds PRO #75。本次内容将包含 IL 的两种设计选择、去中心化的以太坊区块构建网络 BuilderNet,以及每周更新内容:比特币协议进展、以太坊治理相关、最新研究和进展,和最新论文。
重点
Same Slot vs. Next Slot Inclusion List
以太坊协议开发者兼 Prysm 维护者 Terence 讨论了关于包含列表(Inclusion List)的两种设计选择:同一时隙包含列表和下一时隙包含列表。包含列表是一个由提议者或委员会发布的交易列表,旨在确保特定的交易被包括在区块链中,以防止交易被审查或排除。
在 EIP-7547 中,提议者本身就是包含列表的发送者,负责控制包含列表的发布时机。这种设计方式强制要求在下一时隙执行包含列表。EIP-7805 提出了一个灵活的包含列表设计,通过引入一个新的包含列表委员会,负责生成和发布包含列表。这使得可以选择同一时隙或下一时隙的设计模式:
同一时隙设计:交易在 n 时隙提交,提议者在 n+1 时隙发布区块并将包含列表加入该区块。
下一时隙设计:交易在 n 时隙提交,包含列表将在 n+1 时隙生成,提议者将该列表在 n+2 时隙加入区块。
同一时隙设计的优点:
更容易理解和推理:用户提交的交易在下一时隙立刻被强制执行。
更好的用户体验:无延迟的执行提高了用户对被审查交易的信心。
更简单的共识规范。
更简洁的验证者视图锁定。
下一时隙设计的优点:
更长的传播和区块构建时间:给包含列表更多的时间传播到所有参与者并且给提议者更多时间将其纳入区块。
更简化的客户端 API:通过复用现有的 fork_choiceUpdated 接口来传递包含列表,降低了实现复杂性。
更好的未来兼容性,尤其对于像 PeerDAS 和 ePBS 这类技术。
尽管下一时隙设计有一些优点,如时间上的宽松,当前的规格和原型将默认使用同一时隙设计,除非通过测试和基准评估证明下一时隙设计有更大优势。
Introducing BuilderNet
Flashbots 和 Nethermind 参与开发的 BuilderNet ,是一个去中心化的以太坊区块构建网络。传统模式下一个节点运行一个区块构建器,BuilderNet 模式下多个节点共同运行一个区块构建器。 每个节点在自己的 TEE 中运行一个独立的区块构建实例,每个实例从整个网络中获取订单流并独立地构建一个完整的区块。同时会将订单流共享给同一个构建器里的其他实例。然后,所有的区块都会提交给 MEV-Boost 中继,并通过竞标机制选择哪个区块被最终包含在链上。被选中的区块将根据每个为该区块提供订单流的参与者(如应用程序、钱包、搜索者、实例等)的贡献来分配退款。这种模式消除当前区块构建中的少数几个大型构建者主导的现象,并更加公平分配 MEV。
比特币协议进展
比特币地址类型概说
匿名作者探讨了比特币地址的概念、类型和经济性,比特币地址不仅仅是接收比特币的工具,它实际上是经过编码的比特币脚本的特殊形式,用于存储关键信息并确保交易安全。比特币采用标准化脚本来确保交易能够在网络中传播,而这些标准化脚本通过不同的编码方式(如 Base58 和 Bech32)转化为便于用户操作的地址形式。随着比特币的发展,出现了多种标准化脚本类型,如 P2PKH、P2PK 和 P2SH 等,它们各自具有不同的编码和经济性优势。比特币交易的经济性与交易体积密切相关,不同类型的地址占用的交易空间不同,从而影响交易费用。隔离见证(SegWit)和 Taproot 技术引入了新的脚本和编码方法,优化了比特币交易的体积,减少了手续费。
论定型与比特币协议的未来
Casa 联创 Jameson Lopp 探讨了比特币协议「定型」(ossification)的问题,即协议进化和变更速率放缓的现象。核心观点是在比特币协议上推动定型过早可能会限制协议的潜力和灵活性,阻碍未来的创新和发展。定型指的是随着比特币协议的广泛采用,协议变更的难度和成本不断增加。随着网络规模的扩大,协议变更的协调和执行变得越来越复杂,尤其是没有中心化的参与者的情况下。比特币在其基础协议上仍有很大的优化空间,过早定型可能会抑制这一潜力。Jameson Lopp 反对主动定型比特币协议,认为比特币应继续在共识推动下进行谨慎且合理的升级,只有这样才能确保其长期的安全性、吸引力和功能性。
Bitcoin Optech Newsletter #331
为比特币脚本语言创建 Lisp 方言(Lisp dialect)的工作进展:
Lisp 方言的创建:Lisp 方言是指基于 Lisp 语言的编程语言变种,在比特币中的主要作用是提升脚本语言的表达能力,使得复杂的智能合约和签名算法得以实现。Towns 通过吸取 Chia Lisp 开发者 Art Yerkes 的建议,设计了一个高层语言与低层语言之间良好映射的 Lisp 方言,类似于 miniscript 的方法。bll(基本比特币 Lisp)是低层语言,计划通过软分叉加入比特币。symbll(符号 bll)是高层语言,能够转换为 bll,易于熟悉函数式编程的开发者使用。bllsh(bll shell)是一个 REPL 环境,允许用户测试 bll 和 symbll 脚本,支持从 symbll 编译到 bll,并具备调试功能。
量子安全签名的实现:Towns 讨论了如何在 symbll 中实现 Winternitz 一次性签名(WOTS+),并将其与 Rusty Russell 提出的 GSR(脚本恢复)提案进行了对比。使用 symbll 实现 WOTS+ 将比使用传统方法减少至少 83% 的链上数据,最大可能减少超过 95%,使得量子安全签名的成本仅比 P2WPKH 输出高 30 倍。
灵活的代币标记:Towns 提出了一个通用构造,支持将一个 UTXO 分割为特定金额和支出条件。若支出条件满足,相关金额可被花费,剩余价值返回至新的 UTXO。支出条件可以根据需求灵活变化,例如所有方同意更新部分条件。这个机制类似于 Towns 之前提出的 OP_TAP_LEAF_UPDATE_VERIFY(TLUV),但与 TLUV 提案中出现的 x-only 公钥问题不同。该机制可用于提高闪电网络(LN)通道的安全性与可用性、作为 BIP345 版本金库的替代方案,以及设计一个类似于 TLUV 提案的支付池方案。
以太坊
研究和进展
In-Protocol Transaction Ordering
以太坊核心开发者 Matthew Keil 提出了一个基于 FOCIL(强制包含列表)设计的改进提案,旨在通过去中心化的方式确保交易的选择和排序不会被恶意操控。原始的 FOCIL 设计已经很好地解决了交易选择的问题,但在交易排序方面可能仍存在一些缺陷。例如,提议者可能会通过调整交易的顺序来最大化 MEV。为了进一步优化这一点,提出了在 FOCIL 设计基础上加入交易排序机制的改进提案:
引入包含种子(Inclusion Seed):改进提案提出通过使用一个基于随机数(nonce)生成的「包含种子」来确定交易的排序。这个种子是通过 FOCIL 生成的包含列表和额外的随机化数据生成的,确保交易的排序是不可预测的,从而防止了恶意的排序攻击。
去中心化的交易排序:通过去中心化的包含委员会来决定交易是否被包含在区块中,交易的排序则通过包含种子来决定,消除了单个提议者操控交易顺序的空间。
奖励和惩罚机制:提案建议调整奖励机制,将更多的奖励分配给负责提交交易到包含列表的搜索者,而不是区块提议者,以减少提议者在交易选择上的自主权。违反协议规则的行为将受到惩罚。
Block Arrivals, Home Stakers & Bumping the blob count
以太坊开发者 Sam Calder-Mason 讨论了以太坊网络中与 blob 数量增加 相关的性能分析,特别是对家庭节点质押者(home stakers)的影响。数据表明,绝大多数家庭节点能够在 4 秒内接收到区块和 blob,即使是本地构建的区块,也能够迅速传播到网络中。然而,随着 block/blob bundle 的大小增加,数据传输时间也会相应增加。
通过对主网数据的分析发现,主网能够支持 4/8 或 6/9 (Target/Max)的 blob 数量,并且仍能保持 95% 的数据在 4 秒内到达。这表明,即使在带宽较低的节点上,数据传输依然可以保持较高的效率。此外,使用 MEV Relay 提供的区块支持的 blob 数量要更高,最多可支持 20个 blob,因为这些高带宽节点能够更有效地分发区块和 blob。
总体来说,4/8 或 6/9 的 blob 数量增加是可行的,特别是在 EIP7623 提升了区块大小的情况下。即使在最坏的情况下,即使是较大的区块(最大为 720KB),主网仍能支持更多 blob 数量。
QUIC Support Among Ethereum Consensus Layer Clients
ProbeLab 分析了以太坊共识层客户端对 QUIC 协议的支持情况。QUIC 是一种基于 UDP(用户数据报协议)构建的传输协议,旨在提高互联网连接的效率。与传统的 TCP 协议不同,UDP 是一种「无连接」的协议,发送数据时不需要先建立连接,这使得它的延迟比 TCP 更低。QUIC 利用了这一特性,进一步减少了连接建立的时间,从而大幅提高了数据传输的速度。在以太坊生态中,QUIC 协议通过 libp2p(一种用于节点之间通信的协议) 得到支持,用于优化客户端之间的对等网络通信。
根据分析,约 42% 的 CL 节点支持 QUIC,其中大多数节点使用 Lighthouse 客户端,并且 Lighthouse 默认启用 QUIC。Prysm 客户端的 QUIC 支持较低,只有约 2% 的节点启用该协议,但这显示出 Prysm 在未来可能增加 QUIC 支持的潜力。Grandine 客户端的所有节点都支持 QUIC,但由于其在网络中的比例较小,因此对整体影响有限。目前,Teku、Nimbus、Lodestar 和 Erigon 等客户端尚未支持 QUIC,但预计随着协议的更新,它们将在未来的版本中加入对 QUIC 的支持。
MEV 相关
The MEV Letter #64
Flashbots 团队推出垂直于 MEV 研究领域的 Newsletter,以下是一些重点摘录:
文章《Introducing contender》介绍了 Contender,一个 EL 客户端基准工具的预发布版本,旨在模拟现实可重复的交易场景,以测试节点性能。
文章《Portait of a TEE: applications and identity》研究了识别 TEE 实例和应用的方法,强调了现有基于证明的认证方法的局限性,以及智能合约在其中可能扮演的角色。
文章《The 5 Levels of Secure Hardware》定义了五个安全硬件层级,每个层级支持更多用例、更好的性能和更高的安全性。
文章《Analysing Expected Proposer Revenue from Preconfirmations》提出了依赖子槽拍卖(DSSAs)预确认协议,即使没有预确认小费,也能增加提议者的收入。
文章《Dynamic Finalization Considering 51% Attacks》识别了与 PoS 以太坊相关的风险,特别是 51% 攻击,并提出了新的检测和延迟机制,以提高网络的韧性。
直播《speedrunning anoncast natively on X with TEEs》编写了基于 TEE 的 anoncast_,并在 Twitter 上进行本地运行。
来自以太坊基金会主办的 Devcon SEA 的新增录音已上传
由 Uniswap 基金会、Unichain 和 Flashbots 主办的 Uniday 录音已上传
preconf.erence 由 Primev、Nethermind、Taiko Gwyneth 和 Puffer Finance 主办录音已上传
📑论文
Two Sides of the Same Coin: Large-scale Measurements of Builder and Rollup after EIP-4844
作者来自:National University of Singapore
作者研究了在 EIP-4844 升级实施后,构建者和 rollups 市场中出现的新策略。EIP-4844 是以太坊为支持 Layer 2 扩展方案所做的升级,推出了一种新的 128 KB 数据结构——blob,并通过引入类型-3 交易与这些 blob 一起使用,来验证数据可用性并降低 rollups 的燃气费。这一升级对构建者和 rollups 的策略产生了显著影响,构建者和 rollups的策略相互依赖,彼此之间无法同时优化。具体来说,当构建者优化操作时,rollups 往往会支付过高的费用;反之,当 rollups 优化费用时,构建者可能会因交易选择效率低下而遭受损失。具体数据显示,在这些交易中,29.48%的区块被低效构建,未能为构建者带来足够的利润;同时,72.53%的类型-3 交易支付了不必要的费用,导致 rollups 承担了较大的经济成本。