反驳费用替代的必要性

Unknown view 340 2015-4-12 03:26
share to
Scan QR code with WeChat

最近我被Peter Todd问到费用替代(RBF)补丁,他同时还提到了“焦士策略”。

我认为费用替代是一个欠缺深思熟虑的想法,它不会起作用,它不能实现它声称能做到的并且如果采用可能对比特币有害。在本文中我将会反驳费用替代。不只我一人认为这个提议很糟糕,我希望读完这篇文章你们会认同我们:

重复过去的言论,Peter的焦士策略费用替代提议公认命名巧妙,且在现有的网络中将是广泛反社会的。 — Jeff Garzik

费用替代不合理且对比特币有害。 — Coinbase 技术经理Charlie Lee

费用替代是个糟糕的想法。 — Gavin Andresen

我同意Jeff。发起零确认交易是破坏行为。 — Adam Back (Blockstream创始人之一)

在第二篇文章中,我讨论了一般的重复支付和其它让重复支付更困难的提议解决方案。

什么是费用替代?

这个规则不可以通过区块链自身强制执行,但是它对于比特币如何工作仍然很关键。在选择挖掘哪个区块的情况中,当一个区块被发现时它激励人们开始创建新区块而不是通过找到其它某些程度上“更好”的区块来尝试分解这个链。在交易情况下,它允许我们在商店购物时几秒钟之内就能完成支付,而不是要等上几个小时。

费用替代补丁用新的规则替代了这个规则,新规则规定如果给到两笔交易,哪个费用更高就哪个赢。它没有打算改变区块的初见规则,尽管如我们立刻将见到的那样,驱动费用替代的被破坏的逻辑应用到区块就像进行交易一样容易,因此这个不一致没什么意义。

采纳费用替代的初始效应会是让未受确认交易的重复支付变得非常简单。Todd希望钱包有一个撤销键,它使用高额费用传播重复支付交易,这个费用会退回到用户的钱包。

焦士策略

这导致了一个明显的问题——数秒之内就能把钱转走而不用等区块反应是一个非常抢手的功能。在商店中买东西时这绝对是必不可少的。一种货币如果不能在街上买报纸,那么它不会被街上的人们当作真正的货币。

所以Todd坚持第二件事情:他把这件事叫做“焦士策略”。这个想法实际上是一个自称为John Dillon的匿名作者提出来的,尽管他并没有在任何一篇公开的文章中明显地描述“焦士策略”。

这依赖于第二个改变,这个改变叫做子女为父母买单。这个改变多年前初次提出(提出人已经在时间的长廊中遗失了),由Luke Dashjr在Eligius团体中实施。对它本身而言,这颇具意义,且有希望整合到下一个比特币核心版本中。子女为父母买单意味着挖矿人会考虑把交易图费用作为一个整体而不仅是一个独立的组成部分。直观说来,这意味着如果有个没有费用的交易等着确认,那么另一个先支付且确实有费用的交易相比于这个免费交易优先权增加。这对挖矿人来说有意义,因为不这样的话,他们有一部分钱会困在一个免费的交易后头。这对用户和商户来说也有意义,因为他们现在可以通过在上方添加一个支付给自己的交易来挪走那些长时间不被确认的交易费用。

“焦士策略”背后的想法是如果有人用未确认交易购买了某物,当他们走出商店并按下撤销键时,他们重复支付了该原始输出给自己,这伴随着高额的费用,但是商户看到了然后在原始支付上方添加一比付给自己的交易,这也有稍高的费用,接着行骗者钱包在交易中他的链上进行了相同的费用挪用,等等等等,直到整个支付全都用在了交易费用上。行骗者得到了商品,支付的钱现在去到了挖矿者那而不是商户那,而商户什么也没得到。

博弈论和合理性

John Dillon表示,通过让原始交易支付远高于购买物品实际价格的钱(商户在价格差在第二次交易中返还给购买者),企图重复支出会导致购买者失去双商品本身价值更多的钱,因此以这种方式重复支付就变得不合理了。这样未确认的交易就变得安全了。

注意:这意味着人们钱包中有一部分钱很难花出去,因为买东西需要提交比物品实际的花费更多的钱。这将是一个严重的可用性问题,但是为了本文的目的我将忽略这一点。

另外,费用替代拥护者认为RBF-SE的采用是不可避免的,因为任何理性的挖矿人都希望从费用中最大化收入,随着比特币中没有事情执行初见规则,为了最大化短期收益它会被遗弃。

这些言论听上去不错,因为它们似乎只依赖于博弈论、激励的谨慎安排和对协议的一些小型技术调整。智谋也帮了它们大忙——通过保证来吸引比特币持有人。

问题是这两个言论都依赖于非常狡猾的对合理性的定义。如果合理性被错误定义了,那么基于博弈论的言论会导致无用的结论。

第一个言论听上去很好,直到你想起商户自己的商品还在行骗者那,而挖矿人获得了有问题的超过物品价格的收益。这种情况是稳定的,直到挖矿人和行骗者发现他们可以组队来获取更多收益。这很容易实施:运行补丁套的挖矿人只须添加另一个补丁,这个补丁拾取重复支付的输出然后发出一些重复支付的价值(比如说1/4)。现在行骗者拿到了偷来的商品和返还的一半的钱,所以他们实际上只用支付一半的价格,并且他们现在可以锁定该商品来获得比稳定收益流高一些的收入。

换句话说,费用替代焦士策略只用一个额外的小步骤进行了完全的颠覆。

但是它变得更糟了!即使这个联合没有发生,商户还是失去了自己的商品,他们的商品被偷走了。这意味着任何有钱的公司都能简单地对小型的竞争对手进行重复支付来重复地偷走他们的商品。这比市场更有力度,因为即使是竞争对手的产品更好价格更低它也能起作用。

当然实际上,哪种结果都不会对商户造成太大伤害,原因非常明显:面对这一类支付欺诈,他们只会放弃比特币转向银行的怀抱。信用卡可能有退款,但是它们是常规的交易纷争并且商户在40%的情况下能赢。在愉悦的情况下很容易忘记这个但是提取博弈论的言论。我们的竞争对手不是某些学术理念,而是主流认可。如果我们比主流认可做得差,那么比特币不会被接纳。

还有一个终极问题。Peter Todd推出的代码不能实现这个系统,因此使用它不会出现他认为的结果,即使我们忽略潜在原因下的漏洞。具体地说,他还没有实现协议的钱包端,不仅是模糊钱包,现实中也没人注意到第二次重复支付并开启焦士策略机制。他们只会失去所有钱,而它会给行骗者付出一次中本聪。

最终,所有这些代码实际上做的就是让欺诈更容易。这对任何人都没帮助。

失败不可避免

费用替代拥护者可能认为费用替代是必要的,即使它导致很多重复支付,因为理性的挖矿人总是想找到有最高费用的交易,区块链算法中没有东西能阻止它们这么做。

这个言论还是依赖于对理性的荒谬定义。

同时理性的经济界人士确实企图最大化他们的利益,这个言论忽略了这个发生的环境是不同的时间窗。实际上它认为是“理性”带来了今天收益的小增长,即使它毁掉了你的生意和所有你明天或之后可能得到的潜在的长期收益。这个定义很荒谬,没有真正的企业这么做。

现实中,企业在某些时间段企图最大化利益,这个时间通常比商户放弃比特币转向信用卡(可能是几周或几天)来得长。如果我们看到大量的重复支付,那么大量商户会发现使用比特币的麻烦远大于获益,他们会停止使用它,而公信力的遗失最终会杀死比特币。这反过来会降低挖矿人的收益,让他们的投资打了水漂。

只有在大部分挖矿人没有任何利益可失去且有绝对相信比特币将来会一文不值的世界中, 这样集体破坏他们的生意才有意义。但是支持费用替代的言论表示这个结果是不可避免的!这并没有显示出太多对比特币未来的信心。

当然,偶尔会有一个挖矿人的投资回报时间远比其他人少。也许他们突然意外地需要一笔钱,也可能他们接到通知在他们国家挖矿要被禁止了,也可能是企业中一个没有股份的内部人员决定欺诈商户并卷走一笔钱。比特币可用来容忍少数不诚实的挖矿人,而少量利用未确认交易的支付欺诈对商户而言是可以容忍的。起不了作用的是规则的全球变更,这让每个挖矿人默认地按照这种方式行动。

用于区块的变更费用

变更费用定义的一个问题是当Peter的补丁只为未确认交易实现逻辑时,如果挖矿人被期望为了新的传播忽略这个规则,按理说他们也可以为确认的交易忽略它。

简单地说,如果一个挖矿人看到一个已确认交易的一次传播重复支付,这会导致费用比分支该链条的预期成本要高一些,完全执行费用替代策略的挖矿人接着开始着力于分支该链条。由于他们都是同时执行的,这会鼓励有更多只有少量费用增长的已确认交易进行重复支出的传播。但是由于挖矿人无论如何都要根据时间轴的重写来工作,这不耗费什么就能返还而且还包括其它重复支出。

因此采用期逻辑结论的费用替代不只导致未确认交易变得无用,也让已确认交易没有用了!

下面是中本聪的论文摘要陈述的原因:

只要少数CPU资源由那些以不配合为手段攻击网络的节点控制,它们会产生最长的链条并超过攻击者。

中本聪的论文和常识都会告诉你赶紧退回去,重复支付是网络上的一次攻击。

再引用一段中本聪的话:

在本文本,我们提出一个重复支付问题的解决方案,使用P2P分布式时间戳服务器来生成交易时间次序的计算证明。只要诚实节点集中控制的CPU资源比攻击节点的任何配合小组更多,这个系统就是安全的。

默认地让挖矿人忽略“交易的时间次序”让他们所有人都转变为不诚实的攻击者,这会完全的摧毁这个系统。

比特币真的受诚实的保护吗?

尽管中本聪的论文用了诚实一词,我们现在会称之为理性,但有时候人们对比特币依赖于很多人坚持规则而不是纯算法这个想法理解起来有些困难。

我怀疑比特币受纯算法保护的想法起源于加密货币一词,这是一个假朋友。毕竟,每个人都知道没有人可以打开一个加密的信息,不管多少人同意打开它。所以按理说加密货币应该和加密算法给予信息的钱一样强大。但是比特币中没什么是加密的。它所做的是产生两个文件——帐簿和显示帐簿如何进入该状态的审计日志。对这些文件的解释总是由人来决定,这些人可以按照自己的意愿选择完全忽略它们或者有选择地使用它们。

因此,钱不只是一个数学方程式。它是一个社会构造。比特币使用一些基本数据来在互联网上协调社会决策的事实不会改变这一属性。

费用替代已经发生了吗?

偶尔有人声称费用替代已经被挖矿人使用了,该策略已经存在了,我们应该使用它。事实上,一个名为Tom Harding的人专为重复支付而监控了比特币网络。他观察了想利用费用替代的尝试,他发现,间隔10秒的交易间只有1%的机率能起作用。这比机率为0的想法要高一些,但是有了10秒的时间差,有些可以被解释为只是通过了缓慢的传播,但不管怎样,钱包可以小心提防扩散的重复支付并告诉商户中止该交易。所以在实际中,由于这类攻击,很容易避免损失。10秒仍然比10分钟好得多。

结论

现有的费用替代是不完全的,因为它不在任何钱包中执行协议。因此它并不提供该作者声称的那些效果。即使它有更多实现,基本的逻辑需要博弈论的变异形式,这与现实世界不相符。一旦挖矿人一支付欺诈人开始联合它就失败了。 即使它以声称的方式运行,它会允许大公司能轻易地摧毁小型的竞争对手,只需要对竞争对手进行重复支付。

它需要人们在钱包中放置的钱多于他们在商店中实际需要花费的钱。要向普通人解释我们想要采用比特币这一点,你就只能自求多福。

让未确认交易无用会毁了比特币,导致商户弃用、压低价格从而让很多挖矿人的投资打了水漂。挖矿人参与这些是非常不合理的。

在白皮书中,费用替代策略直接反驳了比特币的定义。它将有逻辑地应用到区块和未确认交易中,给予足够高的费用和足够低的通货膨胀奖励。这样的策略下比特币完全无法运行。

考虑以上几点,费用替代不能广泛实施,而利用它的尝试通常都会失败。费用替代绝不是必须的,而接受它的挖矿人是搬起石头砸自己的脚。

btcfans公众号

Scan QR code with WeChat

From the Internet
Disclaimer:

Previous: 蹲下是为了跳得更加高,比特币一定会有美好的未来! Next: 比特币不是货币,它更像邮票

Related