PBS(Proposer-Builder Separation)设计理念:公平与去中心化
这将是抗审查小组的系列文章的第二篇,我们将由以太坊的 EIP-4844 开始,讨论区块链上各种不同的抗审查题目。敬请留意 Uncommons 公众号逢星期五推出的抗审查小组的系列文章!
PBS(Proposer-Builder Separation)设计理念:公平与去中心化
抗審查小組系列 #1
write / Joycelyn
design / Piggy & 瓶子(公眾號封面)
edit / @swiftevo
TL;DR
构建者(Builder)负责打包区块,而提议者(Proposer)负责区块竞价。
因为 PBS 采用了竞标机制,Builder 竞价价高者得。中心化的 Builder 没有办法对交易进行审查或者操纵交易的排序。正是因为他们无法控制竞标结果,这使得以太坊网络更加抗审查,确保了交易的公平性和中立性。
上文我们提到 Danksharding,其设计核心思想主要围绕着中心化的出块 + 去中心化的验证 + 抗审查性。接下去我们将来探索抗审查中的 PBS 的设计理念、诞生过程以及具体方案。
PBS 的设计理念:公平与去中心化
截止到目前为止,PBS 暂时没有特定的实现形式,本质上它是一种设计理念,其核心是强调公平和去中心化。参与协议的各方往往会出现专业化分工和对第三方服务的需求,这是不可避免的现象。为了确保区块链的顺利、公平运作,PBS试图通过协议去规范这种需求。
Note:“协议参与者”指的是以太坊的权益证明(POS)机制中受到约束且活跃的验证者,他们预期会执行各种职责,包括构建区块、验证证明或是参与当前的验证委员会成为其中一员。
回归到最早以太坊设计之初,它只有 2 个参与者:
User:运行着自己的节点,通过点对点网络将交易发送给 Validator;
Validator:原则上 Validator 是验证区块的中立参与者,将构建一个区块并包含该交易。
但在运行的过程中,我们会发现起过程并不顺利。验证者同时承担了 Builder 和 Proposer 两个角色:他们既要构建区块的内容,也要负责对出块进行验证 + 投票。这样去中心化就无法得到保障。
Source:jamesbachini, PBS;验证者的角色被拆分成 Proposer 和 Builder:Proposer(排序权) 将区块生产权出售给 Builder,Builder(区块打包)竞价争夺区块内交易顺序的特权。
于是,PBS 中出块者验证投票的角色被拆分为两个新的子角色:Builder 和 Proposer。
Builder:负责区块打包,通过选择包含哪些交易并确定其顺序来创建区块。
Proposer:负责交易排序,采用构建者创建的最佳区块并将其添加到区块链中。
在当前情况下,由于最大化矿工收益(MEV)的存在,区块的构建可能会逐渐集中到更先进、更强大的运营商手中,必然导致 Builder 的中心化问题。然而 PBS 作为解决去中心化验证的一个解决方案,可以防止这种集中趋势对区块验证或质押奖励分配造成的影响。PBS 允许验证者 Proposer 选择每个区块中的交易以及它们的顺序,这意味着我们能够预知谁将成为下一个区块的生产者 Builder,这是一个重大的转变。
接下来,我们将简单分析下在 PBS 是如何诞生前后中攻击者要审查一笔交易所需要付出的代价,来自 Vitalik 的如何提高 PBS 方案的交易抗审查性的例子:
PBS 使用前后对比,
审查者无法通过控制 Base Fee 来审查或排除特定交易
假设攻击者在正常情况下想要审查一笔愿意支付 X ETH 的交易(消耗 150k gas),首先,填满区块。攻击者需要持续提交大量交易,以确保区块总是超过目标 gas fee,从而使 Base Fee 持续上升。其次,抬高 Base Fee。通过不断提交交易,攻击者使 Base Fee 提高到一个程度,使得 Base Fee * 150k gas > X ETH。这意味着原本的交易因为支付不起如此高的 Base Fee,所以无法被包含在区块中。最终攻击者需要燃烧大量的 Base Fee 来审查一笔交易。
然而在 PBS 中,每个区块的构建者 Builder 是通过竞标来确定的,而不是像之前那样尽量塞满区块增加交易来提高 Base fee。如果现在一名区块上的 Builder A 想要审查一笔交易,他只需确保他的竞标价高于其他 Builders 即可,而区块又有时间限制,当一段时间内交易无法进入区块,便能达到审查目的。
与过去不同,PBS 机制允许区块 Builder 根据竞标价来确定下一个区块的产生者,而不是通过增加交易量来提高基础费。这种机制使得审查者无法通过控制 Base fee 来审查或排除特定交易,从而增强了区块链网络的抗审查性。
PBS 历史提案整理
回归到 PBS 的提案中,我们详细来看一下其中的解决方案。
PBS 提案从 2018 年开始逐渐形成,主要来自于以太坊基金会 Vitalik Buterin 和 Justin Drake 两位。
PBS 原始解决方案
原文:https://ethresear.ch/t/proposer-block-builder-separation-friendly-fee-market-designs/9725
Vitalik 早在 2021 年初就提出了两个解决方案,旨在提高区块链网络的效率和可用性,但各自的侧重不同。
PBS 试图达到以下五个目标:
Untrusted proposer friendliness(无需信任 Proposer 友好性):Proposer 无需欺诈 Builder,因此 Builder 也不会依赖关系或声誉来选择 Proposer。
Untrusted builder friendliness(无需信任 Builder 友好性):同上,Builder无需欺诈 Proposer,因此 Proposer 也不会依赖关系或声誉而选择 Builder。
Weak proposer friendliness(弱 Proposer 友好性):PBS 不应该要求 Proposer 拥有高性能电脑或高技术水平。
Bundle un-stealability(Bundle 不可窃取性):Proposer 不能偷取 Builder 的交易内容,以确保 Builder 能够获利。
Consensus-layer simplicity and safety(共识简单与安全性):PBS 应简单易懂,并且能够像现有的区块提议机制一样安全。
方案 1 设计较为简单,价高者得
区块 Builder 构建并发布交易捆头(Bundle head),其中包含交易捆主体(Bundle body)的承诺(Commit)、Proposer 的付款信息以及 Builder 的签名。
Proposer 选择具有最高价的交易捆头,对其进行签名,并发布包含该交易捆头的提议。
一旦收到带有签名的提议,负责打包交易捆头的区块 Builder 将发布完整的交易捆。
方案 2 设计较为复杂,增加 list 更去中心化
区块 Builder 构建并发布交易捆头,其中包含了对交易捆主体的承诺、Proposer 的付款信息以及Builder 的签名。
Proposer 选择他们看到的交易捆头,形成一个列表(list),并对该列表进行签名。
当看到该签名声明后,被选中的区块 Builder 会发布相应的交易捆主体。
Proposer 只能从他们之前承诺的交易捆头列表(list)中选择一个并发布提议。
这两种方案的目标都是通过提高竞标的效率和公平性,来改善区块链网络的性能和安全性。通过 PBS机制,可以更好地管理区块,防止中心化和审查攻击等问题的发生。
综上,Proposer-Builder Separation 是指将原本由验证者负责的交易排序工作拆分给另一个角色 Builder 来处理,使 Proposer 专注于验证区块并投票,以确保 PoS 网络的安全。PBS 能减轻 Proposer 负担,使整个过程更去中心化,以应对未来 Danksharding 带来的区块容量大幅提升的挑战。
我们将会在第 三篇深入討論 2 种实现 PBS 的路径,Single Slot PBS vs. Two Slot PBS,尽情期待!
Reference
https://www.ethereum.cn/Eth2/proposer-block-builder-separation-friendly-fee-market-designs?
https://ethresear.ch/t/optimised-proposal-commitment-scheme/1314
https://medium.com/@JuliaOfoegbu/danksharding-and-proto-danksharding-8e915b94e166
https://foresightnews.pro/article/detail/40775
https://ethresear.ch/t/proposer-withholding-and-collation-availability-traps/1294/9
https://ethresear.ch/t/alternative-fix-for-proposer-withholding-attack/1268
https://ethresear.ch/t/proposal-confirmation-separation-a-bug-and-a-fix/1261
https://ethresear.ch/t/separating-proposing-and-confirmation-of-collations/1000/4
https://ethereum.org/zh/roadmap/
https://www.bankless.com/ethereum-censored-flashbots-centralization-lido?ref=bankless.ghost.io
https://hackmd.io/@EspressoSystems/fair-exchange-in-proposer-builder-separation
Uncommons is a public sphere where a collective of Commons Builders explores Crypto Thoughts together.
Uncommons 是一群致力于公共物品建设的 Web3 爱好者、社会建设者和互联网公民自发组织的公益性社区,前身为GreenPill 中文社区。
Notion 社区协作文档 : https://uncommons.notion.site
Telegram 面对面数字花园 : https://t.me/theuncommons
Twitter Global Publicity︰https://twitter.com/Un__commons
喜欢我的作品吗?别忘了给予支持与赞赏,让我知道在创作的路上有你陪伴,一起延续这份热忱!
- 选集
- 来自作者
- 相关推荐