交易手续费高到V神都看不下去了 于是他提出了新方案
当中本聪设计比特币协议时,他非常有远见地引入了交易费用 (transaction fees) 的概念。这些费用激励矿工将交易确认打包进入区块中。
但从任何意义上说,最初的比特币并不存在费用市场 (fee market)。
早期在 2013 年之前,很大一部分比特币交易都是完全免费的 (上图中的蓝色部分表示免费的比特币交易占据所有交易的百分比变化趋势)。
钱包开发商最终将小额的固定交易费用硬编码到他们的客户端中,作为对矿工的补偿。起初,这些费用的默认金额为 0.1 BTC,但随着比特币价格的上涨,这一默认值也相应地降低了。
直到 2014 年底,第一批比特币区块才实现真正的满块 (full blocks)。2015年见证了很长一段时间的比特币满块,到2016年比特币区块链继续维持着接近全负荷状态运行。
比特币平均区块大小变化趋势图
当比特币区块达到满块之后,比特币区块才真正开始发挥费用市场的作用。程序员开发了动态费用预估工具 (estimator,比如线上的费用预估工具和钱包内置的费用预估工具),它能够检查内存池并为交易者预测在任何特定时间的最佳交易费用。由于区块空间有限,交易费用有时会飙升。
(备注:内存池 (mempool) 也称交易池,当交易被广播并且被矿工接收到时,矿工就会把交易加入到本地的交易池当中,每个矿工又会对自己的交易池设置相应的限制,来保证交易数量不会过多。矿工在打包交易到区块中时,也会根据一定的优先顺序来选择交易,从而让自己能获得尽量多的交易费。)
这就带领我们迎来了当前的情况:当前比特币的费用再次攀升,接近每笔3美元;随着 gas 使用率接近历史最高水平,以太坊的交易费用也在上涨。
中本聪很有先见之明,意识到了交易费用的重要性。但现在我们对费用市场在竞争中的表现有了更多的了解。中本聪实现的费用市场已经从根本上崩溃了,是时候探索其他市场设计了。
在本文中,作者将解释为什么几乎在所有加密货币中使用的区块空间最高价拍卖模式 (first-price auction) 最终对用户不利,继而概述三种最为杰出的费用模式替代提案。
第一种是 EOS 和 Tron 使用的“免交易费”模式,作者认为这种模式并不像看上去那么有效。
第二种模式由以太坊创始人 Vitalik Buterin 提议,这种模式可能将通过以太坊硬分叉得以采用。这是一种在每个区块中固定一笔基本交易费 (BASEFEE) 的全新模式,这笔费用会根据前一个区块的空间使用率而上下浮动,且这笔费用会被销毁,而不是支付给矿工。
第三种模式是康奈尔大学 (Cornell university) 研究人员提出的一项更为激进的建议,他们在区块链设置中采用了一种多单元次价拍卖 (multi-unit second-price auction) 的费用模式。
本文将使用最简单的语言解释所有这些设计。需要涉及的内容很多,但在解释这些设计之前,我们有必要了解一下它们为何会被提出来。
01
为什么需要费用市场?
交易费用让人不悦且昂贵,并会导致复杂的用户体验。为什么我们不能让矿工免费地确认打包交易呢?毕竟互联网就是免费的,路由器对路由数据包就不收取费用。为什么区块链不能像那样?
但互联网本身并不是免费的,实际上你需要为你发送的任何数据包支付费用。
就互联网而言,你可以通过 ISP (互联网服务提供商) 或运营商每月的带宽计划提前批量购买这些数据包。目前还没有针对区块链的此类计划,这在很大程度上是因为需求波动太大,不可能为此类计划提供经济担保。也许有一天我们会看到类似的区块链使用计划。
但是区块链的设置还存在更多的限制:机会成本 (opportunity costs)。如果你不给予矿工一些经济激励,让他们把你的交易打包进入他们的区块中,那他们就不会这么做。这是因为处理交易需要时间和计算,这需要矿工一定的成本支出;同时传输一个更大的区块也需要更长的时间,这就增加了该区块变成孤块的可能性,而孤块意味着矿工将得不到任何奖励。
我们知道,当前比特币挖矿奖励是 12.5 BTC,按照当前 BTC 价格计算 (约 8,000 美元),这就意味着对于矿工来说,每个比特币空块 (empty block) 的价值约为100,000美元;同样地,当前以太坊的挖矿奖励为 2 ETH,按照当前 ETH 价格计算 (约 250 美元),这意味着每个以太坊空块的价值约为 500 美元。对于矿工来说,这是一笔很可观的收入,并且这还没有将交易者支付给矿工的交易费计算在内呢。但只要交易费用相对可以忽略不计,矿工就非常乐意开采一个不包含任何交易的空块。
此外,由交易创建的任何新状态都必须永远存储在区块链中,这是用户强加给区块链系统中每个节点的永久性成本 (permanent cost)。
从这些角度来说,难道交易者不应该支付一笔交易费用给矿工吗?
你可能会反驳道:难道矿工不应该将保护加密货币的完整性作为一种公共事业吗?难道矿工不去遵循中本聪的下方指令?
“他 (矿工) 应该发现遵守规则会比破坏系统和自己财富的有效性更有利可图。”
——中本聪
不,不完全是这样。进行自私挖矿并忽略那些包含低费用的交易,这完全是矿工个人的意愿。这就是为什么到目前为止,每6个比特币区块中就有1个是空块。
因此,我们需要补偿矿工,从而让他们觉得值得去确认打包交易。
那为什么不在每笔交易中附带一笔固定的交易费呢?这似乎会使事情变得更简单,我们也可以避免交易费上涨。
但问题是:矿工如何在潜在的候选交易中优先将哪些交易打包进入区块中?如果候选交易的数量要比某个区块能够容纳的数量更多,那如何决定哪些交易先被打包进入这个区块中?
你可能会觉得应该采取一种平等的方式:每个人 (每笔交易) 都应该受到平等的对等,矿工应该按照先来后到的方式来处理交易。
然而,采取这种“先来后到”方式的设计会存在一些问题,其中最主要的问题是:如何破例优先处理那些真正具有更高优先级的事务?
比如,Alice 可能正懒洋洋地将我的多个钱包中的资产整合到一起,而 Bob 正迫不及待地想要往你的 Maker CDP 中追加资产,因为你的 Maker CDP 马上就要被清算了。Alice 并不特别在乎我的交易何时将被处理,但 Bob 却迫切地想要自己的交易尽快被处理打包进入区块中。
因此,固定交易费的机制意味着无法破例处理这些具有更高优先级的事务 (交易)。
在理想的设置中,我们希望实际找出哪些事务 (交易) 最需要优先被打包进入区块中,从而优先地处理这些事务。
事实证明,市场能为这个问题提供解决方案。市场非常善于将稀缺资源配置到使其最富有成效/最有利可图的用途上。
决定谁最有成效地利用区块空间的最佳信号就是谁愿意为之支付更多的费用 (因为他们希望获得更多的价值,足以抵消这些成本费用)。在经济学中,这就是所谓的配置效率 (Allocative efficiency) -- 本质来说就是把资源分配给那些能充分利用资源的人。
但市场只是一个起点。我们想要什么样的市场?为此,我们有必要将目光投向丰富百态的拍卖设计领域。
02
拍卖设计
当前几乎所有区块链费用市场都是使用最高价拍卖模式 (first-price auction)。
在最高价拍卖模式中,所有竞标者都提交密封的投标价格,由出价最高的竞标者中标并支付他们的出价。这基本上是就是密封投标拍卖模式的最典型方式。(当然,从技术角度来说,区块链上的交易费用并不是密封的,并且往往可以通过 RBF 或是 CPFP 对交易费用进行更新,但这种拍卖模式是最接近当前的区块链交易费用市场所使用的模式)。
由于被拍卖的区块在它的区块空间中包含多个“槽位 (slots)”,因此这种模式被称为多单元拍卖 (multi-unit auction)。区块中的第一个槽位 (slot) 会分配给交易费用最高的交易,第二个槽会给费用排第二的交易,以此类推 (换句话说,矿工会根据交易者附带在交易中的交易费用高低来决定确认交易的时间顺序)。以太坊的情况要更复杂一些,因为这些槽位会相互影响,更多信息参见:
https://arxiv.org/abs/1904.05234
尽管最高价拍卖模式很常见,但人们普遍认为这种模式是最糟糕的拍卖模式之一,原因很容易理解:
首先,最高价拍卖模式迫使竞标者必须具备战略性。换句话说,在出价之前,你必须考虑其他的竞标者会出什么价。万一其他竞标者的出价都非常低呢?你肯定是不想出价过高的,即便竞标的商品对你来说很有价值。但如果你的出价过低,那可能你就会落空而归。每个人都试图钻空子,这意味着某时候对该资产使用效率最高的竞标者将不小心出价过低,而其他人则赢得了此次拍卖。这损坏了上文提及的配置效率。
其次,由于竞标者采用复杂的策略 (通常体现在区块链交易费用预估工具 (estimator) 中),他们往往无法准确地估计市场情况,这通常会导致总体支付费用过高 (由拍卖商 (矿工) 获得)。这种情况在2017年末就发生了,当时设计不良的费用预估工具推动比特币平均交易费用上升至每笔20美元以上。
最后,最高价格拍卖机制导致了长期的网络拥挤 (congestion),即使在最初的竞标者蜂拥而过之后也是如此。毕竟,如果其他所有交易者的费用预估工具处于混乱状态,并且继续支付过高的交易费,即便你知道它们在支付过高的费用,但如果你想要让自己的交易被确认打包进入区块,那你别无选择,只能支付过高的交易费。
通常来说,交易费用预估工具都是吹毛求疵的。大多数的费用预估工具都是基于某种指数移动平均值 (exponetial moving average, EMA),比如 Bitcoin Core:
https://bitcointechtalk.com/an-introduction-to-bitcoin-core-fee-estimation-27920880ad0
但这种费用预估容易受到矿工的操纵--矿工可以单独地将那些包含低交易费的交易排除出去,并将那些虚假的高费用交易打包进入他们自己的区块,以此来提高 EMA 值。此外,不同的费用预估算法往往会以一种不可预测的方式相互作用,这可能导致费用估值的波动。
同时,还存在支付交易费用的用户体验问题。在比特币网络,用户体验没有特别糟糕,用户发送 BTC 的同时支付一定的 BTC 手续费即可;而在像以太坊这样的智能合约平台,如果某个用户获得了一个 NFT 或者一些 Dai,那该用户需要获得一些 ETH 作为手续费才能进行交易:此时你的 MetaMask 钱包就指引你前往 Coinbase 购买一些 ETH。
每个人看到的问题都是一样的。能否将区块链交易费用固定下来?这一问题上并没有多少共识。但当前确实存在三种试图重新设计区块链费用的重要提议。
03
提议#1:EOS 的“免费用”模式
Dan Larimer (BM) 发明了一种创新的区块链费用模式,这种模式首先在 Steem 中实现,之后在 EOS 中得以实现,继而由 Tron 借用。
Dan Larimer 知晓处理波动的交易费用是一件非常令人沮丧的事情。他设想了这样一个系统:在这个系统中,用户无需为区块空间进行投标 (出价),而是有权获得系统吞吐量的一部分。毕竟,区块链应该是一种公共事业,应该为用户基数服务。
由于 EOS 是一个 DPOS 系统,这意味着 EOS 无需许可的方式与 PoW 链不同。在 EOS 系统中,用户如果想要成为一名区块生产者 (block producer),则需要需要由足够多的 EOS 代币持有者投票选出。
因此,EOS 并不需要担心其区块生产者会不去确认打包交易:如果某个区块生产者创建了空块,那他将可能将被 EOS 代币持有者投否决票而被踢出局。
同时,孤块的风险也很低。EOS 的 DPOS 共识机制会以循环的方式作用于每个区块生产者,各区块生产者将获得足够长的时间来进行相关工作。这使得 EOS 可以对区块生产者的行为进行一致的检查。
但即便如此,基本问题仍然存在:给定有限的区块空间,我们应该如何在相互竞争的事务 (交易) 之间来分配这些空间呢?
在这方面,EOS 采取了大胆的立场,即完全取消交易费用。
但如果该区块链系统处于拥挤状态,我们依旧需要通过某种方式来决定将哪些交易进行确认打包。
针对这个问题,EOS 采用了一种看似简单的启发式方法:用户锁定他们的 EOS 代币,锁定的 EOS 代币的数量决定了用户有权拥有一定比例的区块空间。锁定了代币的用户 (也称为质押者,stakers) 也可以自由地将他们多余的资源委托给其他人 (也即将投票权重委托给其他人),这就允许在 EOS 系统中搭建 dApp 的开发者购买大量的 EOS 代币并将其锁定 (质押),继而将这些锁定的代币委托给 dApp 的用户,使这些用户能够免费地与 dApp 进行互动。
那我们应该如何看待 EOS 的这种免交易费模式?
首先,这种模式有很多优点。当系统待处理的交易量没有达到最大容量时,交易确实是免费的,我们不必担心区块生产者会拒绝打包这些交易。也就是说,当系统以低于其最大容量运行时 (EOS 和 Tron 自创立以来一直都处于这种状态),那系统就会运行地很好。这是非常简单明了的。
但这种模式也有很多让人不快的地方。
上文提到,传统的最高价拍卖机制通过这种方式来试图达到资源的最佳配置:谁愿意出最高价来购买区块空间。而 EOS 的方式则是:当前谁质押的 EOS 代币最多,谁就能获得该区块空间。这是很奇怪的。
首先,EOS 代币的最大持有者很有可能就是 Block.one 团队自己、大型区块生产者、托管人、交易所和大鲸鱼们,但这些人不太可能会进行大量交易。当然,普通用户也许可以通过与这样一个持有大量 EOS 代币的持有者交互并获得代理权,从而获得免费的区块空间。但我们希望这种附带的资源配置 (由富裕的 dApp 开发者赞助的免费交易) 能够以某种方式接近于达到配置效率。
那如果你不想使用某个由持有大量 EOS 代币的持有者赞助的 dApp 呢?
在以太坊网络中,你将需要花费一小笔资金来支付交易费用;而在 EOS 系统中,你将需要购买并锁定 (质押) 一些 EOS 代币--本质上来说,这就强制你必须做多这一原生代币才能拥有交易权。这真的是一个非常奇怪的限制。当然,如果你不想长期持有 EOS 代币,你也可以对 EOS 代币价格进行对冲。但这意味着你依旧将需要支付一笔“交易费用”,但现在这笔费用是付给向你提供对冲的人了。
EOS 支持这种模式,因为它声称这种方式有效地消除了费用市场。但作者并不认为这种设计能够让费用市场消失。
一旦区块达到满负荷状态,且区块空间变得稀缺时,持有大量 EOS 代币的质押者将占据着未使用的区块空间权重。这种情况下,与其让他们占有的宝贵资源的权利白白浪费,他们为什么不将其拍卖给出价最高的人呢?
这让我们回到了起点。只要对稀缺资源有需求,市场就会出现。这是经济的复杂性的一个不可避免的特征。因此,只要区块空间的权利分配与对区块空间的需求不一致,最终就会出现一个市场来纠正这种差异。
因此,尽管 EOS 这种类型的设计一开始听起来不错,但如果从博弈论的角度来看,这似乎是一个很糟糕的解决方案。当供应 (区块空间) 持续超过需求时,所有区块链上的事务 (交易) 几乎都是免费的;但试图强制交易免费将不可避免地使此前被压制的费用市场重新崛起。
04
提议#2:以太坊的全新费用市场,EIP-1559
接下来我们要论述的第二个提议是由 Vitalik Buterin 的,Vitalik 于2018年8月在 ethresearch.ch 网站上发表的一份建议书中首次阐述了这一提议:
https://ethresear.ch/t/draft-position-paper-on-resource-pricing/2838
这一提议将考虑在接下来的以太坊伊斯坦布尔硬分叉升级中实现,因此这可能成为未来以太坊的交易费用运行模式。 (截至目前,以太坊的费用市场与比特币的是一样的)
Vitalik 通过不同的设计理念来解决交易费用的问题。他并不是从头开始试图找到理论上最佳的设计,而是优化向后兼容性最好、破坏性最小的协议更改,进而推出了 EIP-1559 提案:
https://github.com/ethereum/EIPs/blob/master/EIPS/eip-1559.md
你可以将 EIP-1559 背后的主要理念看作是将交易费用的预估 (fee estimation) 直接转移至协议中,而不是将其置于费用预估工具 (estimator) 中。既然所有关于交易、区块和费用的信息都完全是在协议内部,那为什么不能在区块链自身内部来进行费用预估呢?
EIP-1559 就是这么提议的。该提案在每个区块中引入了任何交易都必须支付的一笔基本费用 (BASEFEE),这笔费用会根据前一个区块的空间使用率而上下浮动,目的是使区块空间的平均使用率达到50%。
当前一个区块的空间使用率高于50%时,当前区块的基本费就会按比例上升 (上限为每个区块上升12.5%),而当前一个区块的使用率抵御50%时,基本费就会下降。从某种意义上说,这使得所有人都同步在同一个协议内部费用预估工具中。
当前区块的基本费 (curBlockFee) 计算方法
EIP-1559 提案的另一个特点是,实际上这笔基本费用并没有支付给矿工,而是被销毁。这将带来两个很大的影响:其一,这使得矿工更难以操纵这一机制,因为矿工们不能在将自己的交易打包进某个区块中的同时不销毁这笔基本费;其二,由于这笔费用的销毁必须以 ETH 的方式执行,这就巩固了 ETH 作为以太坊网络中唯一可用于支付交易费的方式,从而阻止了经济抽象化问题 (economic abstraction)。
(备注:有人认为,以太坊智能合约的创建者可以在合约中设定,执行合约的用户可以将自己拥有的ERC20 代币直接存入区块矿工的账户地址,同时将Gas价格设为0来避免使用ETH支付手续费。矿工在处理这样的交易时,可以预先检查所收到的ERC20代币的价值,如果高于正常的Gas手续费则进行打包。这种使用非ETH资产支付手续费的情况便是以太坊社区的经济抽象化 (Economic Abstraction)。而经济抽象化将导致ETH的市场需求不断降低,其市场价值也就会相应的降低。当所有的交易都采用这种手段而不支付ETH Gas费用时,ETH价格将会归零。)
目前为止,一切很好。除了一个问题:如果这笔基本费用将被销毁,那矿工们实际上就没有动力去确认打包交易了!
鉴于此,EIP-1559 设计的最后一个部分便是用户必须在每笔交易中增加一笔小额的“tip (小费)”支付给矿工,用以激励矿工确认交易。尽管这依旧会存在少量的“tip”费用最高价竞拍,但如果这种费用调整机制运行正常,那涉及这种最高价拍卖的范围将很小。
EIP-1559 提案能够使费用预估变得相当简单明确:你只需要支付一笔当前区块的基本费 (将被协议销毁) 和一小笔“tip”费用 (用于补偿矿工的计算成本和孤块风险),就可以确保你的交易被矿工确认打包进入该区块。
当然,如果突然出现网络拥堵 (比如 ICO 期间),费用调整算法可能将无法及时对基本费用进行调整。在这种情况下,费用市场将回归到最高价拍卖模式,所有竞标者将在 “tip” 费用上一较高下。但这将不会比我们当前的现状更糟。Vitalik 也表示,由于实际上交易需求和 ETH 的价格紧密相关,因此这些以 ETH 计价的基本费不太可能会存在高波动性。
这一变化还将伴随着区块 gas 上限的加倍 (从当前的 8,000,000 增加至 16,000,000),如此一来,根据当前的区块大小,系统就可以有效地将50%的区块使用率作为目标了。
EIP-1559 提案的一个影响就是更为简单的交易费用预估。除非网络中突然出现拥挤,否则交易者使用的费用预估工具只需要出价“当前区块的基本费 tip费”。
这就将最高价拍卖机制从区块链费用中移除出去了,同时避免了策略性竞标的必要。竞标者只需问自己:当前区块的基本费值得我去进行交易吗?如果不值得,那我就不竞标了。
总而言之,EIP-1559 描述了一种将区块链有史以来一直使用的最高价竞拍模式转变为一种非常实用的模式。这不是一场雄心勃勃的体制变革,而是一个简单的、破坏性最小的改进,有望今年在以太坊红得以实现。
05
提议#3:多单元次价拍卖模式
读到此处,你可能会想:肯定存在某个不知名的学术部门正在研究拍卖机制,他们有一个聪明的机制可以解决所有这些问题。你这种想法差不多是对的。拍卖理论 (auction theory) 是应用经济学和博弈论的一个分支,至少从上世纪60年代就开始研究拍卖设计。
不幸的是,该理论并没有很明确地转化到加密货币领域。这将我们引向了一篇由 Soumya Basu、David Easley、Maureen O’Hara 和 Emin Gün Sirer 等知名学者撰写的优秀文章:Toward a Functional Fee Market for Cryptocurrencies (《通往实用的加密货币费用市场》):
http://hackingdistributed.com/2019/01/22/doing-fees-right/
让我们从一些背景知识开始。
也许拍卖理论的皇冠上的宝石是 Vickrey 拍卖 (次价密封投标拍卖),William Vickrey 在1996年赢得了诺贝尔奖。这种类型的拍卖通常被称为次价拍卖。
次价拍卖是一个简单的想法。就像在最高价拍卖中,所有的出价都是秘密的,出价最高者获胜。但赢家不支付他们出价,而是支付第二高的出价 (有时会在次价的基础上加1美分)。
这种设计上的细微变化最终改变了一切。
次价拍卖是激励相容的。这意味着,与最高价拍卖不同,次价拍卖不需要投标者保持战略性。相反,你应该“诚实”并给出任何你觉得值得的价位。毕竟,如果你的出价被证明太高,你没有任何成本--如果你赢了,无论你出价多高,你都会以次价获得拍卖品。因此,你不需要猜测其他人会出价多少,或者试图比他们更聪明。
因此,我们应该期望各方都能给出他们认为值得的价位。用博弈论的话说,在次价拍卖中,“诚实地”出价是一种占优势的策略。
由于次价拍卖不鼓励战略性投标,这也意味着这种拍卖方式产生了配置效率:由于每个人都只出价自己认为值得的价值,平均而言,出价最高者将是最为看重该拍卖资产的人。投标者没有了认知负担,也不存在奇怪的费用预估把戏,也就不存在系统性的支付过高问题了。
这个拍卖设计简单、巧妙、强大。这就是为什么次价拍卖方式在很多情况下都被用于作为拍卖设计的黄金标准,从 eBay 到 Google,再到 Facebook 的广告市场,皆是如此。
然而,次价拍卖方式对区块链并不十分奏效。
首先,区块链并不是拍卖单个商品:它们实际上是一个多单元拍卖。为此,你需要使用多单元次价拍卖 (multi-unit second-price auction)。在这种变体拍卖方式中,所有区块空间的投标人都提交自己愿意支付的价格 (出价),并且每个人都只需支付被该区块接受的最低出价。
比如,假设某个区块中有三个槽位 (slots),但收到了5个出价:<$10, $8, $6, $5, $3>。这种情况下,只有那些出价<$10, $8, $6>的交易会被确认打包进入该区块,而这三笔交易只需各支付 $6 的交易费即可 (因为 $6 是这三笔交易中出价最低的交易费)。
在这个例子中,出价10美元的竞标者 (交易者) 不需要猜测网络拥堵情况。他只需要决定“我愿意为这笔交易支付的最高价格是10美元”,而如果他的交易被确认打包进入了该区块中,则往往他实际支付的交易费会低于10美元。
现在,如果你像一个优秀的密码经济学家一样思考,你可能已经想到到有一些针对这种方式的攻击。
假设某个矿工的交易池中包含的尚未确认的交易所给出的交易费分别是<$100、$20、$10>。那么如果这个矿工很贪婪,那他就不会将这三笔交易都确认打包并只获得30美元的交易费 (按最低费计算,每笔交易将只需支付10美元费用),他会选择忽视那两笔交易费用更低的交易,而仅仅将那笔交易费是<$100> 的交易确认打包进入区块中。请记住,在 PoW 系统中,我们不应该相信矿工 (拍卖商) 会保持诚实。如果矿工不诚实,那这种次价拍卖方式背后的保障就会瓦解。
一个贪婪的矿业公司可以忽略其他较小的交易,只让它们的区块变成[100美元],而不是把区块里的所有交易都当作[10美元,10美元,10美元],以获得30美元的收入。记住,在PoW系统中,我们不应该相信拍卖商是诚实的。如果没有诚实的假设,二价拍卖背后的保障就会失效。
这就将我们引向了Toward a Functional Fee Market for Cryptocurrencies (《通往实用的加密货币费用市场》)这篇文章。文中作者试图在无需许可的区块链中采用多单元次价拍卖机制 (multi-unit second-price auction)。
他们通过几个步骤来增强该此价拍卖机制。首先,他们引入了所有区块必须完全被交易填满的要求。这阻止了矿工只将交易费最高 (¥100美元) 的那笔交易打包进区块。
但由于矿工是自己给自己发工资,因此他们往往可以通过创建多笔虚假的高费用交易来作弊,于是他们就可以将本该包含<$100, $20, $10>这三笔交易的区块变成包含了<$100, *$99, *$99>的区块 (其中带*号的交易为虚假交易)
为了防止这些滑稽的行为,作者增加了第二个附加要求:矿工获得的奖励将不会来源于它们自己的区块中的交易费,而是来自于前 X 个区块 (比如前10个区块) 的平均交易费用。
如此一来,矿工将只会获得自己区块中的 1/10 (十分之一) 的交易费,如果他们创建了虚假的高费用交易,那他们实际上是将这些虚假交易费的90%都支付给了接下来的10名矿工。当区块以满负荷运行且系统中有很多用户时,这种方式能够激励矿工避免这种恶意行为。
除了降低费用外,多单元次价拍卖方案还具有缓和交易费用波动的作用。随着比特币挖矿奖励的减少,这种方式能够提高比特币的稳定性。在该文章中,作者估计,在2017年比特币费用上涨期间,他们的设计将节省约2.7亿美元的交易费用。
虽然他们的设计在理论上是很吸引人的,但这与目前区块链费用市场的设计方式有很大不同。需要通过硬分叉的方式才能在现有的区块链系统中采用这种方式,而这将破坏几乎所有的钱包和交易所。这也是一种需要用户思考如何支付费用的全新模式,因此毫无疑问在实践中会出现一些不可预见的问题。
尽管如此,从长远来看,多单位次价拍卖可能会简化交易费用方式,降低矿工获得的交易费的波动性,并增加整体社会盈余。
06
结语
在费用市场中还有许多其他重要的概念,包括replace-by-fee, child pays for parent, frontrunning battles 等机制。
最后,作者想坦诚的是,在上文中作者做了一个很大的假设:并不是每个人都想降低交易费用。
在比特币社区,最大限度地提高支付给矿工的交易费用,能够使比特币安全过渡到零通胀 (即所有的 BTC 都将慢慢被全部挖出),这是很多人感兴趣的事情。毕竟,矿工获得的利润越多,网络就越安全。
另一方面,在诸如以太坊等智能合同平台中,将交易费用最小化对于大规模采用来说是至关重要的。
这两个目标是直接矛盾的,并可能导致不同的做法。
当前的支付区块链费用的用户体验非常糟糕。但是,只有通过市场设计、更多的第2层原语以及通过元交易和中继者的费用委托,用户体验才能变得更好 (Dapper Labs 是为数不多真正在推动这一领域前沿的公司之一)。
随着 DFINITY、Spacemesh 和 AVA 等较新的平台进入市场,作者预计我们将看到支付区块链费用的体验进一步迭代发展。目前,当涉及到交易费用市场设计时,区块链还处于起步阶段。
感谢 Tarun Chitra、Ivan Bogatyy 和 Rachel Diane Basse 对本文的校对。
原文链接:
https://hackernoon.com/blockchain-fees-are-broken-here-are-3-proposals-to-fix-them-1f772e1530dd