比特币矿工可提取价值(MEV)的概念早在2013年就已经出现。虽然相对于以太坊的MEV来说,比特币的MEV还比较新兴,但随着BRC-20、Ordinals和Runes等元协议的引入,迅速发展的比特币生态系统预计将在未来带来更多的可编程性、表达能力和MEV机会。本文将分析比特币MEV的日益复杂性,并评估其对更广泛生态系统的影响。
在Ordinals引入之前,比特币上的MEV并未得到广泛关注,主要关注点集中在闪电网络和侧链挖矿攻击。然而,Taproot升级带来了更多的表达能力和可编程性,促进了如Ordinals和Runes等元协议的推出,将MEV问题提到了前台。比特币的10分钟区块时间也加剧了这一问题,使得经验不足的用户更容易成为各种MEV攻击(如在铭文市场竞标时的费用狙击)的受害者。随着区块奖励的减少,矿工盈利受损,推动矿工专注于最大化交易费用,这可能解释了MEV活动的增加。下图展示了在备受期待的Ordinals和Runes发布期间,费用相对于区块奖励的激增,曾一度占到比特币挖矿总收入的60%以上。
资料来源:Dune Analytics (@data_always),交易费占挖矿奖励的百分比,数据截至 2024 年 7 月 22 日
迄今为止,我们已看到越来越多的BTCFi应用和发展,将比特币的地位从仅仅是数字黄金/支付网络转变为一个快速增长的生态系统。这可能会带来更多的MEV机会到比特币上。
关于比特币MEV的讨论较少,可以归因于比特币和以太坊之间的架构设计差异巨大。
以太坊通过以太坊虚拟机(EVM)执行智能合约,利用全球状态机实现可编程性。以太坊采用基于账户的模型,通过管理交易的nonce来顺序执行交易。这意味着交易的顺序可能影响其执行结果,导致搜索者能够轻松识别MEV机会,并在用户交易之前或之后直接插入他们的交易。例如,如果Alice和Bob都提交交易到Uniswap以交换1 ETH为USDT,则在区块中首先执行的交易将获得更多USDT。
相比之下,比特币运行在不具备状态性的Script语言上,采用UTXO模型。如果只是标准的比特币转账,只有预定的接收者才能通过有效的签名支出输出,这不会导致其他用户争夺资金。然而,在比特币上,也可以构造可以由多个方使用脚本或SIGHASH解锁的UTXO。首先确认的交易是能够支出UTXO的交易。然而,由于每个UTXO的解锁条件仅与该UTXO本身相关,不依赖于其他UTXO,因此竞争条件仅限于该UTXO。
除了上述提到的基本设计差异外,引入BTC之外的有价值资产也创造了矿工可提取价值(MEV)的激励。这些MEV的产生本质上与协议设计者在使用脚本 + UTXO构建新的资产类别和链上行为时,规定资产所有权和链上操作合法性的顺序有关。在基于顺序定义的事件中,存在争夺顺序的激励,从而产生MEV。
在不考虑其他资产的情况下,理性的矿工只会根据交易费用打包合法交易,并根据交易大小收取费用。然而,如果比特币交易不仅仅是标准转账,比如铸造新有价值的资产(如Runes等),矿工可能会采取多种策略,不仅仅考虑比特币交易费用:1)审查交易并用自己的铸造交易替换;2)向用户要求更高的费用(链上、链下或侧链支付);3)让多个用户互相竞标,导致费用战。
一个直接的例子是像Runes或BRC20这样的资产的铸造过程,其中通常会设置一个铸造资产的最大限制。第一个确认的铸造交易被视为成功,而其他交易则被视为无效。因此,在这种情况下,交易的顺序变得至关重要,并通过交易排序提供了MEV的机会。
此外,Ordinals引入的稀有satoshis概念甚至引发了担忧,矿工可能在减半期间进行区块重组,以争夺高价值的稀有satoshis。
除了铸造之外,像Babylon这样的质押协议也设定了每个阶段可以质押的资产上限。即使用户超过了上限,他们仍然可以构造并发送比特币到质押锁定脚本,但这些资产将不再被视为成功质押,也不符合未来奖励的资格。换句话说,质押交易的排序同样至关重要。
例如,在Babylon主网启动后不久,第一个阶段的质押上限1,000 BTC 达到,导致约300 BTC 超出上限,需要解除绑定。
在Babylon主网启动时,手续费率飙升至超过1,000 sats/vBytes,来源:Mempool.space。
除了链上铸造/刻印资产和质押外,一些侧链或Rollup上的活动也受到MEV的影响。我们将在“比特币上的MEV事件”部分提供更多示例。
那么,什么可以被认为是比特币上的MEV?毕竟,MEV的定义在不同情况下有所不同。
一般来说,比特币上的MEV指的是矿工通过操控区块创建过程来提取最大利润的各种方式。我们可以大致将其分类如下:
一种倾向于公开市场的费用竞标方法(如RBF)在整体经济系统中扮演了相对积极的角色,促进了自由市场经济。然而,当用户与矿池进行链外支付时,这无疑对网络的去中心化和抗审查性构成威胁,这被标记为“MEVil”。
根据上述分类,我们可以观察到几种 MEV 病例。
比特币核心软件仅允许节点处理高达100 kvB的标准交易。然而,矿池仍然将高费用的非标准交易包含在区块中,通常以排除其他低费用交易为代价。
一些典型的例子包括:
默认情况下,比特币核心节点只允许转发标准交易。因此,非标准交易必须通过私人内存池直接提交给矿池。私人内存池允许矿池接受非标准交易并优先处理用户的交易。虽然这可以加快交易处理速度,但更多交易转向私人内存池可能导致矿池集中化加剧和审查风险增加。显然,一些矿池已经在利用运营私人内存池的盈利性。
例如,Marathon Digital推出了“Slipstream”,这是一种直接交易提交服务,允许客户提交复杂的非标准交易。
Stacks侧链使用了一种独特的共识机制——转移证明(Proof of Transfer, PoX),允许比特币矿工挖掘Stacks区块并在比特币区块链上结算交易,同时获得STX奖励。
过去,Stacks采用了一种简单的矿工选举机制,拥有高哈希率的比特币矿工有更高的机会挖掘Stacks区块,从而可能会屏蔽其他矿工的承诺交易,从而将所有奖励都收入囊中。如果更多矿工采用这种策略,未来的Stacks持有者可能会面临收益不理想的问题。
对生态系统的影响:
通过排除其他诚实矿工的承诺,最终传递给Stacks持有者的奖励减少。
如果大型矿工继续滥用其计算能力,排除诚实矿工的承诺,这可能导致集中化问题,使少数矿工获得全部Stacks奖励。
然而,Stacks Nakamoto升级将缓解这一问题,这将使得这种策略再次变得无利可图。此次升级将从简单的矿工选举转变为使用排序算法和采用假设总承诺带前向(Assumed Total Commitment with Carryforward, ATC-C)技术,以减少MEV挖矿的盈利性。矿工预计需要在最后10个区块中保持一致的参与才能获得排序资格。未在至少5个最近10个区块中进行挖矿的矿工将被取消获得任何Stacks奖励的资格。通过ATC-C,矿工赢得Stacks区块的概率现在等于矿工的BTC支出除以最近10个区块中的中位数总BTC承诺。这减少了矿工通过排除其他矿工的区块承诺来获得不成比例利益的激励。
与Ordinals和Runes等替代资产相关的MEV可以归纳为之前提到的两种类型:
对于矿池来说,Runes的初期成功提供了一个额外的利润来源。例如,在减半事件期间,Runes的高度期待推出导致了网络交易量和费用的创纪录增长,因为许多用户争相将他们的交易包含在历史性的比特币减半区块中。减半后的交易费用飙升至超过1,500 sats/vByte(相比于减半前的不到100 sats/vByte)。ViaBTC通过挖掘与Runes推出同时发生的减半区块,利用了这一费用激增,获得了40.75 BTC的利润,其中37.6 BTC来自与Runes相关的交易费用。由于区块奖励现在已经减半,Runes的交易费用已证明是矿工的一个盈利来源。
来源:Mempool.space
来源:Mempool.space
对于交易者来说,使用Runes和Ordinals的比特币交易采用了SIGHASH_SINGLE|SIGHASH_ANYONECANPAY,这种方式适用于PSBTs(部分签名比特币交易),允许只有一个签名输入对应一个输出。再加上内存池的透明性,这使得许多买家可以发现潜在的盈利交易。因此,交易者经常使用RBF和CPFP,从而导致竞争激烈的费用战争,使矿工能够从这种需求中捕获MEV。例如,当卖家将资产列出出售时,买家可以出价,并在遇到竞争者时使用RBF来提高他们的交易费用,希望他们的交易能够被确认。
一个典型的交易者竞争的例子是交易ID:2ffed299689951801a68b5791f261225b24c8249586ba65a738ec403ba811f0d。在卖家列出他们的资产后,这笔交易通过RBF被反复替换,费用率依次为238、280、298和355 sat/vB。
来源:Mempool.space
另一个例子涉及Magic Eden平台上的OrdiBots铸造过程。多个用户成为了交易池前置攻击的受害者。OrdiBots在Magic Eden上的铸造铭文使用了PSBTs。PSBT的存在和10分钟的比特币区块间隔使得任何潜在买家可以通过引入不同的地址和签名,仅仅支付更高的费用,就能竞争相同的交易。这导致一些白名单用户因前置攻击机器人干扰而无法铸造。(团队后来道歉,并承诺用定制的OrdiBots补偿受影响的用户。)
然而,并非所有与MEV相关的技术或事件都是对用户有害的。MEV技术在某些情况下也可以保护用户资产。例如,如果没有RBF,错误的交易将无法挽救,被卡住的交易可能会长时间处于悬而未决的状态,导致机会成本。此外,运行RBF有助于比特币网络的安全性。随着未来区块补贴相对于交易费用的减少,交易费用将在激励矿工继续参与比特币网络中发挥关键作用。比特币开发者Peter Todd也提过RBF的好处,并建议矿工运行完整的RBF。
那么,哪些关键技术组件或方法在比特币上支持这些MEV机会呢?常涉及的技术领域包括内存池、替代费用机制(RBF)、子交易费用支付(CPFP)、矿池加速服务和矿池协议。
与以太坊和其他典型区块链网络类似,比特币也有一个交易池结构,用于存储已经被P2P节点接收但尚未包含在区块中的交易。内存池的透明和去中心化特性使所有交易都能够传播给矿工,从而为MEV机会提供了有利环境。
然而,与以太坊的燃气机制不同,比特币的费用仅与交易大小相关。因此,比特币的交易池可以视为一个更直接的区块空间拍卖市场,人们可以观察到哪些用户在为下一个区块进行竞标以及竞标价格。
由于不同节点从P2P传播中接收到不同的交易,每个节点的内存池都不同。此外,每个节点可以主动定制自己的转发策略(内存池政策),定义它希望接收和转发哪些交易。矿池也可以根据其偏好选择哪些交易包含在区块中(尽管从经济角度来看,它们会优先考虑高费用交易)。例如,比特币Knots节点过滤掉任何Ordinals交易,而Marathon Mining则在区块浏览器中创建了像素风格的logo。
区块 836361(像素的颜色显示费用率),来源:mempool.space
因此,用户可能会考虑将交易直接发送给特定的矿工或矿池,以加快交易的确认,但这种做法可能会妨碍比特币社区高度重视的两个关键特性:隐私和抗审查性。
通过P2P节点传播的交易,而不是直接发送(例如,通过RPC端点)给矿工或矿池,有助于模糊交易的来源,使得矿工和矿池更难基于识别信息审查交易。
除了利用交易加速服务,用户还可以通过RBF和CPFP来加速他们的交易。
替代费用机制(RBF)和子交易费用支付(CPFP)是用户常用来提高交易优先级的方法。
RBF(替代费用机制)允许将交易池中的未确认交易替换为另一笔费用更高且与之冲突(即至少引用了相同输入之一)的交易。RBF可以通过多种方式实现。最常见的是可选RBF(opt-in RBF),由BIP125设计,只有特别标记的交易可以被替换。另一种方法是完全RBF(full RBF),在这种情况下,无论交易是否标记,都可以进行替换。
CPFP(子交易费用支付)采用不同的方法来加速交易确认。与RBF中替换停滞在内存池中的交易不同,CPFP允许接收者通过发送一个子交易来加速待确认的父交易,子交易使用待确认交易中的UTXO,并且支付更高的费用。这有可能促使矿工将这些交易一起打包到下一个区块中。因此,有时你可能会看到费用非常低的交易被包含在区块中,尽管当时的费用率很高;这些交易可能使用了CPFP(因为后续交易支付了费用)。
该交易使用了CPFP,使得费用率较低的父交易(7.01 sat/VB)得以确认,来源:mempool.space
RBF和CPFP的主要区别在于,RBF允许发送者用费用更高的交易替换待处理交易,而CPFP允许接收者通过发送费用更高的子交易来加速待处理交易。CPFP在需要从闪电网络(例如,锚定输出)退出的交易中也很有用。在费用方面,RBF相对更具成本优势,因为它不需要额外的区块空间。
除了 RBF(Replace-by-Fee)和 CPFP(Child Pays for Parent)等方法外,用户还可以选择使用带外费用支付来加速他们的交易。例如,许多矿池提供免费和付费的交易加速服务,通过提交交易ID来加快交易的打包速度。如果是付费服务,用户需要支付服务费以补贴矿池。由于此类服务涉及通过比特币网络之外的系统(如网站、信用卡支付等)支付费用,因此被称为带外费用支付。
尽管带外费用支付为无法使用 RBF 或 CPFP 的交易提供了一种补救措施,但长期大量使用可能会影响比特币的抗审查性。
在之前的讨论中,我们将矿池和矿工视为一个整体,但实际上,二者之间需要分工协作。矿池汇集了矿工的算力进行挖矿,并根据算力贡献分配奖励。这一合作过程需要通过某些协议来进行协调。
在常见的矿池协议中,例如 Stratum v1,矿池只需向矿工提供一个区块模板(包括区块头和 coinbase 交易信息),矿工则根据该模板进行哈希计算。同时,还有一些工具,如 stratum.work,可以可视化来自不同矿池的 Stratum 信息。
在这个过程中,矿工无法选择要打包的交易;相反,矿池会选择交易并构建模板,再将任务分配给矿工。
因此,在 Stratum v1 协议中,我们可以大致将角色映射到以太坊生态系统中,如下:
为缓解 MEV(矿工可提取价值)对比特币的负面影响,一些有前景的解决方案已经被开发或正在进行中。
在一些新的矿池协议中,例如Stratum v2 和 BraidPool,矿工可以自主选择要打包的交易。Stratum v2 已经被一些矿池(如 DEMAND)和挖矿固件(如 Braiins)采用,允许个体矿工构建自己的区块模板。这提高了数据传输的安全性、去中心化程度和效率,同时减少了交易审查和比特币上 MEV 的风险。
因此,顺应这一趋势,未来矿池和矿工的角色演变可能不会像以太坊的 PBS(提议者/构建者分离)模型那样发展。此外,比特币核心中关于交易池的新设计可能会带来一些变化,主要包括备受讨论的 v3 交易中继策略的改进和集群内存池。然而,这些新设计的影响(例如对闪电网络通道退出的实现)仍在讨论中。
矿工奖励的减少是一个重要问题。随着区块奖励在未来进一步减少,可能会对网络产生各种影响。比特币开发者早期已经认识并讨论了某些问题,例如费用狙击问题,即矿池可能故意重新挖掘之前的区块以捕获交易费用。比特币核心已实施了一些措施来应对费用狙击,但当前的方法仍不够完善。
除了原生交易费用外,未来替代资产也可能成为可持续的收入来源。因此,一些项目正在尝试构建基础设施,以更好地识别与替代资产相关的有价值交易。例如,Rebar 正在开发一个替代公共内存池,以更好地识别具有价值的替代资产交易。
然而,正如在“带外费用支付”部分所讨论的那样,这些链下的比特币经济激励对比特币自我调节的激励兼容性系统的影响还有待观察。
无论如何,比特币上的 MEV 与以太坊有相似之处,但由于架构和设计理念的不同,也存在差异。比特币的实用性增加、区块补贴奖励的减少以及 BTCFi 生态系统的演变,将使人们对 MEV 相关因素更加关注。
谢谢 Ajian 供审核和建议!
比特币矿工可提取价值(MEV)的概念早在2013年就已经出现。虽然相对于以太坊的MEV来说,比特币的MEV还比较新兴,但随着BRC-20、Ordinals和Runes等元协议的引入,迅速发展的比特币生态系统预计将在未来带来更多的可编程性、表达能力和MEV机会。本文将分析比特币MEV的日益复杂性,并评估其对更广泛生态系统的影响。
在Ordinals引入之前,比特币上的MEV并未得到广泛关注,主要关注点集中在闪电网络和侧链挖矿攻击。然而,Taproot升级带来了更多的表达能力和可编程性,促进了如Ordinals和Runes等元协议的推出,将MEV问题提到了前台。比特币的10分钟区块时间也加剧了这一问题,使得经验不足的用户更容易成为各种MEV攻击(如在铭文市场竞标时的费用狙击)的受害者。随着区块奖励的减少,矿工盈利受损,推动矿工专注于最大化交易费用,这可能解释了MEV活动的增加。下图展示了在备受期待的Ordinals和Runes发布期间,费用相对于区块奖励的激增,曾一度占到比特币挖矿总收入的60%以上。
资料来源:Dune Analytics (@data_always),交易费占挖矿奖励的百分比,数据截至 2024 年 7 月 22 日
迄今为止,我们已看到越来越多的BTCFi应用和发展,将比特币的地位从仅仅是数字黄金/支付网络转变为一个快速增长的生态系统。这可能会带来更多的MEV机会到比特币上。
关于比特币MEV的讨论较少,可以归因于比特币和以太坊之间的架构设计差异巨大。
以太坊通过以太坊虚拟机(EVM)执行智能合约,利用全球状态机实现可编程性。以太坊采用基于账户的模型,通过管理交易的nonce来顺序执行交易。这意味着交易的顺序可能影响其执行结果,导致搜索者能够轻松识别MEV机会,并在用户交易之前或之后直接插入他们的交易。例如,如果Alice和Bob都提交交易到Uniswap以交换1 ETH为USDT,则在区块中首先执行的交易将获得更多USDT。
相比之下,比特币运行在不具备状态性的Script语言上,采用UTXO模型。如果只是标准的比特币转账,只有预定的接收者才能通过有效的签名支出输出,这不会导致其他用户争夺资金。然而,在比特币上,也可以构造可以由多个方使用脚本或SIGHASH解锁的UTXO。首先确认的交易是能够支出UTXO的交易。然而,由于每个UTXO的解锁条件仅与该UTXO本身相关,不依赖于其他UTXO,因此竞争条件仅限于该UTXO。
除了上述提到的基本设计差异外,引入BTC之外的有价值资产也创造了矿工可提取价值(MEV)的激励。这些MEV的产生本质上与协议设计者在使用脚本 + UTXO构建新的资产类别和链上行为时,规定资产所有权和链上操作合法性的顺序有关。在基于顺序定义的事件中,存在争夺顺序的激励,从而产生MEV。
在不考虑其他资产的情况下,理性的矿工只会根据交易费用打包合法交易,并根据交易大小收取费用。然而,如果比特币交易不仅仅是标准转账,比如铸造新有价值的资产(如Runes等),矿工可能会采取多种策略,不仅仅考虑比特币交易费用:1)审查交易并用自己的铸造交易替换;2)向用户要求更高的费用(链上、链下或侧链支付);3)让多个用户互相竞标,导致费用战。
一个直接的例子是像Runes或BRC20这样的资产的铸造过程,其中通常会设置一个铸造资产的最大限制。第一个确认的铸造交易被视为成功,而其他交易则被视为无效。因此,在这种情况下,交易的顺序变得至关重要,并通过交易排序提供了MEV的机会。
此外,Ordinals引入的稀有satoshis概念甚至引发了担忧,矿工可能在减半期间进行区块重组,以争夺高价值的稀有satoshis。
除了铸造之外,像Babylon这样的质押协议也设定了每个阶段可以质押的资产上限。即使用户超过了上限,他们仍然可以构造并发送比特币到质押锁定脚本,但这些资产将不再被视为成功质押,也不符合未来奖励的资格。换句话说,质押交易的排序同样至关重要。
例如,在Babylon主网启动后不久,第一个阶段的质押上限1,000 BTC 达到,导致约300 BTC 超出上限,需要解除绑定。
在Babylon主网启动时,手续费率飙升至超过1,000 sats/vBytes,来源:Mempool.space。
除了链上铸造/刻印资产和质押外,一些侧链或Rollup上的活动也受到MEV的影响。我们将在“比特币上的MEV事件”部分提供更多示例。
那么,什么可以被认为是比特币上的MEV?毕竟,MEV的定义在不同情况下有所不同。
一般来说,比特币上的MEV指的是矿工通过操控区块创建过程来提取最大利润的各种方式。我们可以大致将其分类如下:
一种倾向于公开市场的费用竞标方法(如RBF)在整体经济系统中扮演了相对积极的角色,促进了自由市场经济。然而,当用户与矿池进行链外支付时,这无疑对网络的去中心化和抗审查性构成威胁,这被标记为“MEVil”。
根据上述分类,我们可以观察到几种 MEV 病例。
比特币核心软件仅允许节点处理高达100 kvB的标准交易。然而,矿池仍然将高费用的非标准交易包含在区块中,通常以排除其他低费用交易为代价。
一些典型的例子包括:
默认情况下,比特币核心节点只允许转发标准交易。因此,非标准交易必须通过私人内存池直接提交给矿池。私人内存池允许矿池接受非标准交易并优先处理用户的交易。虽然这可以加快交易处理速度,但更多交易转向私人内存池可能导致矿池集中化加剧和审查风险增加。显然,一些矿池已经在利用运营私人内存池的盈利性。
例如,Marathon Digital推出了“Slipstream”,这是一种直接交易提交服务,允许客户提交复杂的非标准交易。
Stacks侧链使用了一种独特的共识机制——转移证明(Proof of Transfer, PoX),允许比特币矿工挖掘Stacks区块并在比特币区块链上结算交易,同时获得STX奖励。
过去,Stacks采用了一种简单的矿工选举机制,拥有高哈希率的比特币矿工有更高的机会挖掘Stacks区块,从而可能会屏蔽其他矿工的承诺交易,从而将所有奖励都收入囊中。如果更多矿工采用这种策略,未来的Stacks持有者可能会面临收益不理想的问题。
对生态系统的影响:
通过排除其他诚实矿工的承诺,最终传递给Stacks持有者的奖励减少。
如果大型矿工继续滥用其计算能力,排除诚实矿工的承诺,这可能导致集中化问题,使少数矿工获得全部Stacks奖励。
然而,Stacks Nakamoto升级将缓解这一问题,这将使得这种策略再次变得无利可图。此次升级将从简单的矿工选举转变为使用排序算法和采用假设总承诺带前向(Assumed Total Commitment with Carryforward, ATC-C)技术,以减少MEV挖矿的盈利性。矿工预计需要在最后10个区块中保持一致的参与才能获得排序资格。未在至少5个最近10个区块中进行挖矿的矿工将被取消获得任何Stacks奖励的资格。通过ATC-C,矿工赢得Stacks区块的概率现在等于矿工的BTC支出除以最近10个区块中的中位数总BTC承诺。这减少了矿工通过排除其他矿工的区块承诺来获得不成比例利益的激励。
与Ordinals和Runes等替代资产相关的MEV可以归纳为之前提到的两种类型:
对于矿池来说,Runes的初期成功提供了一个额外的利润来源。例如,在减半事件期间,Runes的高度期待推出导致了网络交易量和费用的创纪录增长,因为许多用户争相将他们的交易包含在历史性的比特币减半区块中。减半后的交易费用飙升至超过1,500 sats/vByte(相比于减半前的不到100 sats/vByte)。ViaBTC通过挖掘与Runes推出同时发生的减半区块,利用了这一费用激增,获得了40.75 BTC的利润,其中37.6 BTC来自与Runes相关的交易费用。由于区块奖励现在已经减半,Runes的交易费用已证明是矿工的一个盈利来源。
来源:Mempool.space
来源:Mempool.space
对于交易者来说,使用Runes和Ordinals的比特币交易采用了SIGHASH_SINGLE|SIGHASH_ANYONECANPAY,这种方式适用于PSBTs(部分签名比特币交易),允许只有一个签名输入对应一个输出。再加上内存池的透明性,这使得许多买家可以发现潜在的盈利交易。因此,交易者经常使用RBF和CPFP,从而导致竞争激烈的费用战争,使矿工能够从这种需求中捕获MEV。例如,当卖家将资产列出出售时,买家可以出价,并在遇到竞争者时使用RBF来提高他们的交易费用,希望他们的交易能够被确认。
一个典型的交易者竞争的例子是交易ID:2ffed299689951801a68b5791f261225b24c8249586ba65a738ec403ba811f0d。在卖家列出他们的资产后,这笔交易通过RBF被反复替换,费用率依次为238、280、298和355 sat/vB。
来源:Mempool.space
另一个例子涉及Magic Eden平台上的OrdiBots铸造过程。多个用户成为了交易池前置攻击的受害者。OrdiBots在Magic Eden上的铸造铭文使用了PSBTs。PSBT的存在和10分钟的比特币区块间隔使得任何潜在买家可以通过引入不同的地址和签名,仅仅支付更高的费用,就能竞争相同的交易。这导致一些白名单用户因前置攻击机器人干扰而无法铸造。(团队后来道歉,并承诺用定制的OrdiBots补偿受影响的用户。)
然而,并非所有与MEV相关的技术或事件都是对用户有害的。MEV技术在某些情况下也可以保护用户资产。例如,如果没有RBF,错误的交易将无法挽救,被卡住的交易可能会长时间处于悬而未决的状态,导致机会成本。此外,运行RBF有助于比特币网络的安全性。随着未来区块补贴相对于交易费用的减少,交易费用将在激励矿工继续参与比特币网络中发挥关键作用。比特币开发者Peter Todd也提过RBF的好处,并建议矿工运行完整的RBF。
那么,哪些关键技术组件或方法在比特币上支持这些MEV机会呢?常涉及的技术领域包括内存池、替代费用机制(RBF)、子交易费用支付(CPFP)、矿池加速服务和矿池协议。
与以太坊和其他典型区块链网络类似,比特币也有一个交易池结构,用于存储已经被P2P节点接收但尚未包含在区块中的交易。内存池的透明和去中心化特性使所有交易都能够传播给矿工,从而为MEV机会提供了有利环境。
然而,与以太坊的燃气机制不同,比特币的费用仅与交易大小相关。因此,比特币的交易池可以视为一个更直接的区块空间拍卖市场,人们可以观察到哪些用户在为下一个区块进行竞标以及竞标价格。
由于不同节点从P2P传播中接收到不同的交易,每个节点的内存池都不同。此外,每个节点可以主动定制自己的转发策略(内存池政策),定义它希望接收和转发哪些交易。矿池也可以根据其偏好选择哪些交易包含在区块中(尽管从经济角度来看,它们会优先考虑高费用交易)。例如,比特币Knots节点过滤掉任何Ordinals交易,而Marathon Mining则在区块浏览器中创建了像素风格的logo。
区块 836361(像素的颜色显示费用率),来源:mempool.space
因此,用户可能会考虑将交易直接发送给特定的矿工或矿池,以加快交易的确认,但这种做法可能会妨碍比特币社区高度重视的两个关键特性:隐私和抗审查性。
通过P2P节点传播的交易,而不是直接发送(例如,通过RPC端点)给矿工或矿池,有助于模糊交易的来源,使得矿工和矿池更难基于识别信息审查交易。
除了利用交易加速服务,用户还可以通过RBF和CPFP来加速他们的交易。
替代费用机制(RBF)和子交易费用支付(CPFP)是用户常用来提高交易优先级的方法。
RBF(替代费用机制)允许将交易池中的未确认交易替换为另一笔费用更高且与之冲突(即至少引用了相同输入之一)的交易。RBF可以通过多种方式实现。最常见的是可选RBF(opt-in RBF),由BIP125设计,只有特别标记的交易可以被替换。另一种方法是完全RBF(full RBF),在这种情况下,无论交易是否标记,都可以进行替换。
CPFP(子交易费用支付)采用不同的方法来加速交易确认。与RBF中替换停滞在内存池中的交易不同,CPFP允许接收者通过发送一个子交易来加速待确认的父交易,子交易使用待确认交易中的UTXO,并且支付更高的费用。这有可能促使矿工将这些交易一起打包到下一个区块中。因此,有时你可能会看到费用非常低的交易被包含在区块中,尽管当时的费用率很高;这些交易可能使用了CPFP(因为后续交易支付了费用)。
该交易使用了CPFP,使得费用率较低的父交易(7.01 sat/VB)得以确认,来源:mempool.space
RBF和CPFP的主要区别在于,RBF允许发送者用费用更高的交易替换待处理交易,而CPFP允许接收者通过发送费用更高的子交易来加速待处理交易。CPFP在需要从闪电网络(例如,锚定输出)退出的交易中也很有用。在费用方面,RBF相对更具成本优势,因为它不需要额外的区块空间。
除了 RBF(Replace-by-Fee)和 CPFP(Child Pays for Parent)等方法外,用户还可以选择使用带外费用支付来加速他们的交易。例如,许多矿池提供免费和付费的交易加速服务,通过提交交易ID来加快交易的打包速度。如果是付费服务,用户需要支付服务费以补贴矿池。由于此类服务涉及通过比特币网络之外的系统(如网站、信用卡支付等)支付费用,因此被称为带外费用支付。
尽管带外费用支付为无法使用 RBF 或 CPFP 的交易提供了一种补救措施,但长期大量使用可能会影响比特币的抗审查性。
在之前的讨论中,我们将矿池和矿工视为一个整体,但实际上,二者之间需要分工协作。矿池汇集了矿工的算力进行挖矿,并根据算力贡献分配奖励。这一合作过程需要通过某些协议来进行协调。
在常见的矿池协议中,例如 Stratum v1,矿池只需向矿工提供一个区块模板(包括区块头和 coinbase 交易信息),矿工则根据该模板进行哈希计算。同时,还有一些工具,如 stratum.work,可以可视化来自不同矿池的 Stratum 信息。
在这个过程中,矿工无法选择要打包的交易;相反,矿池会选择交易并构建模板,再将任务分配给矿工。
因此,在 Stratum v1 协议中,我们可以大致将角色映射到以太坊生态系统中,如下:
为缓解 MEV(矿工可提取价值)对比特币的负面影响,一些有前景的解决方案已经被开发或正在进行中。
在一些新的矿池协议中,例如Stratum v2 和 BraidPool,矿工可以自主选择要打包的交易。Stratum v2 已经被一些矿池(如 DEMAND)和挖矿固件(如 Braiins)采用,允许个体矿工构建自己的区块模板。这提高了数据传输的安全性、去中心化程度和效率,同时减少了交易审查和比特币上 MEV 的风险。
因此,顺应这一趋势,未来矿池和矿工的角色演变可能不会像以太坊的 PBS(提议者/构建者分离)模型那样发展。此外,比特币核心中关于交易池的新设计可能会带来一些变化,主要包括备受讨论的 v3 交易中继策略的改进和集群内存池。然而,这些新设计的影响(例如对闪电网络通道退出的实现)仍在讨论中。
矿工奖励的减少是一个重要问题。随着区块奖励在未来进一步减少,可能会对网络产生各种影响。比特币开发者早期已经认识并讨论了某些问题,例如费用狙击问题,即矿池可能故意重新挖掘之前的区块以捕获交易费用。比特币核心已实施了一些措施来应对费用狙击,但当前的方法仍不够完善。
除了原生交易费用外,未来替代资产也可能成为可持续的收入来源。因此,一些项目正在尝试构建基础设施,以更好地识别与替代资产相关的有价值交易。例如,Rebar 正在开发一个替代公共内存池,以更好地识别具有价值的替代资产交易。
然而,正如在“带外费用支付”部分所讨论的那样,这些链下的比特币经济激励对比特币自我调节的激励兼容性系统的影响还有待观察。
无论如何,比特币上的 MEV 与以太坊有相似之处,但由于架构和设计理念的不同,也存在差异。比特币的实用性增加、区块补贴奖励的减少以及 BTCFi 生态系统的演变,将使人们对 MEV 相关因素更加关注。
谢谢 Ajian 供审核和建议!