BTC $79,721.63 +0.31%
ETH $2,458.77 +0.13%
BNB $766.65 +6.97%
XRP $1.41 +0.92%
SOL $102.75 +1.19%
TRX $0.3338 +1.19%
DOGE $0.0878 +3.85%
ADA $0.2174 +1.73%
BCH $249.89 -0.39%
LINK $11.92 +2.10%
HYPE $85.48 +1.17%
AAVE $131.81 +0.39%
SUI $0.7967 +6.42%
XLM $0.1843 +2.96%
ZEC $1,018.20 +3.48%
BTC $79,721.63 +0.31%
ETH $2,458.77 +0.13%
BNB $766.65 +6.97%
XRP $1.41 +0.92%
SOL $102.75 +1.19%
TRX $0.3338 +1.19%
DOGE $0.0878 +3.85%
ADA $0.2174 +1.73%
BCH $249.89 -0.39%
LINK $11.92 +2.10%
HYPE $85.48 +1.17%
AAVE $131.81 +0.39%
SUI $0.7967 +6.42%
XLM $0.1843 +2.96%
ZEC $1,018.20 +3.48%

关于路径独立

Summary:
Vitalik Buterin
2022-08-22 15:42:30

作者:Vitalik Buterin

原标题:《On Path Independence

发表时间:2017 年 7 月 22 日

 

假设有人走到你面前,开始对你大喊,他认为他已经想出了如何创造无限自由能量的来源。他的方案如下所示。首先,你得到一艘宇宙飞船到近地轨道。在那里,地球的重力相当高,因此宇宙飞船将开始向地球猛烈加速。这艘宇宙飞船将自己置于一条轨道上,使其几乎不掠过地球大气层,然后继续飞向遥远的太空。在太空中,重力较低,因此宇宙飞船可以在再次开始下降之前飞得更高。当它下降时,它会沿着一条弯曲的路径朝向地球,以最大化它在低轨道的时间,最大化它从那里的高重力获得的加速度,这样它在经过地球后会飞得更高。升到足够高之后,它飞过地球大气层,使自身减速,但利用废热为热反应堆提供动力。然后,它会回到第一步并继续前进。

像这样的东西:

image

现在,如果你对牛顿动力学有所了解,你很可能会立即意识到这个方案完全是胡扯。但是你怎么知道?你可以诉诸对称性,说“看,对于你说重力给你高加速度的轨道路径的每一片,有一个相应的轨道路径片,重力给你同样高的减速度,所以我不看看净收益来自哪里”。但是,假设那个男人逼着你。“啊,”他说,“但是在那个高加速度的切片中,你的初始速度很低,所以你在里面花了很多时间,而在相应的切片中,你的传入速度很高,所以你减速的时间更少”。你怎么真的,最终,证明他错了?

一种方法是深入研究数学,计算积分,并证明假定的净收益实际上完全等于零。但也有一个简单的方法:认识到能量是独立于路径的。也就是说,当飞船从点移动时指向, 哪里点离地球越近,它的动能肯定会上升,因为它的速度增加了。但是因为总能量(动能加势能)是守恒的,而势能只取决于飞船的位置,而不是它是如何到达那里的,所以我们知道无论从哪个点出发的路径指向宇宙飞船需要,一旦它指向 动能的总变化将完全相同。

image

不同的路径,相同的能量变化

此外,我们知道从点出发的动能增益指向也与你沿途所走的路径无关:在所有情况下,它都完全为零。有时对链上做市商(即完全自动化的链上机制,对于希望将一种代币交易另一种代币的人始终可用的交易对手)提出的

一个担忧是它们总是很容易被利用。

例如,让我引用最近在 Bancor 的背景下讨论这个问题的帖子:

Bancor 为代币提供的价格与实际的市场均衡无关。Bancor 将永远落后于市场,这样做会耗尽其储备。一个简单的思想实验足以说明问题。假设市场恐慌围绕 X 展开。关于你的系统的毫无根据的消息超过了社交媒体。假设人们确信你的 CEO 潜逃到了一个没有引渡条约的偏远岛屿,你的 CFO 一直在挪用资金,而你的 CTO 正在从暗网市场购买毒品并将它们运送到他的工作地址以制作一张疤面煞星——就像他桌上的一堆白色粉末。更糟糕的是,假设你知道这些指控是错误的。它们是由一家没有产品的公司操纵的巨魔军队传播的,该公司的商业计划是阻止每个人的硬币流。Bancor 会在银行挤兑期间为 X 代币提供不断降低的价格,直到它没有剩余储备。你会眼睁睁地看着市场恐慌占据上风,吃掉你的储备。回想一下,人们确信在这种情况下 X 的真实值为 0,并且 Bancor 公式保证提供高于该值的价格。所以你的整个储备都会消失。

这篇文章围绕 Bancor 协议讨论了许多问题,包括代码质量等细节,我不会涉及其中任何一个;相反,我将纯粹专注于链上做市商效率和可利用性的主题,仅使用 Bancor(以及 MKR)作为示例,而不是对整个项目的质量做出任何判断。

对于许多设计天真的链上做市商来说,上面关于可利用性和跟踪市场的评论一字不差地适用,而且非常认真。但是,也有一些链上做市商绝对不会怀疑他们的全部储备由于某种抽水攻击而被耗尽。举个简单的例子,考虑做市商为 ETH 出售 MKR,其内部状态由当前价格组成,,并且愿意在每个价格水平上购买或出售无限量的 MKR。例如,假设,并且你想购买 2 MKR。市场会卖给你:

0.00...01 MKR,价格为 5 ETH/MKR
0.00...01 MKR,价格为 5.00...01 ETH/MKR
0.00...01 MKR,价格为 5.00...02 ETH/MKR
....
0.00...01 MKR,价格为 6.99...98 ETH/MKR
0.00...01 MKR,价格为 6.99...99 ETH/MKR

总而言之,它以 6 ETH/MKR 的平均价格(即总成本 12 ETH)向你出售 2 MKR,并且在操作结束时已增加到 7。如果有人想出售 1 MKR,他们将花费 6.5 ETH,并且在该操作结束时会回落到6。

现在,假设我告诉过你,这样的做市商开始时的价格为, 在一系列未指明的事件之后现在是4。两个问题:

  1. 做市商获得或损失了多少 MKR?
  2. 做市商获得或损失了多少 ETH?

答案是:它获得了 1 MKR,并损失了 4.5 ETH。请注意,此结果完全独立于路径拿。如果这些答案是正确的直接与一个买家从 5 到 4,如果有第一个买家接受,他们是正确的从 5 到 4.7 和第二个买家剩下的路到 4,他们甚至是正确的,如果首先跌至 2,然后上涨至 9.818,然后再次下跌至 0.53,最后再次上涨至 4。

为什么会这样?看到这一点的最简单方法是看看如果跌至 4 以下然后回升至 4,下跌过程中的卖出正好被上涨过程中的买入抵消;每次卖出都有相应的相同数量的买入,价格完全相同。但我们也可以从不同的角度看待做市商的核心机制来看到这一点。将做市商定义为具有一维内部状态,并具有由以下公式定义的 MKR 和 ETH 余额:

image

任何人都有权“编辑”(虽然仅限于 0 到 10 之间的值),但他们只能通过提供适量的 MKR 或 ETH 并取回适量的 MKR 和 ETH 来做到这一点,以便余额仍然匹配;即做市商操作后持有的 MKR 和 ETH 的数量就是按照上述公式应该持有的数量,新的值为那是设定的。任何编辑没有使余额自动匹配的 MKR 和 ETH 交易失败。

现在,任何一系列事件的下降从 5 到 4 也会将做市商的 MKR 余额提高 1 并将其 ETH 余额降低 4.5,无论它是什么系列事件,应该看起来很简单:

image

image

这意味着对保留这种路径独立属性的做市商进行“储备出血”攻击是不可能的。即使一些巨魔成功制造了市场恐慌,将价格降至接近于零的水平,当恐慌消退,价格恢复到原来的水平时,做市商的头寸将保持不变——即使价格和做市商的余额,在此期间做出了一系列疯狂的举动。

现在,与其他持有策略相比,这并不意味着做市商不会赔钱。如果,当你开始时,1 MKR = 5 ETH,然后 MKR 价格变动,我们将在做市商中持有 5 MKR 和 12.5 ETH 的表现与仅持有资产的表现进行比较,结果如下所示:

image

持有平衡的投资组合总是获胜,除非价格保持完全相同,在这种情况下,做市商和平衡投资组合的回报是相等的。因此,这类做市商的目的是补贴有保障的流动性,作为用户的公共物品,充当最后的交易者,而不是赚取收入。但是,我们当然可以修改做市商来赚取收入,而且很简单:我们让它收取点差。也就是说,做市商可能会收取仅用于购买和报价出售。现在,成为做市商的受益者变成了一种赌注:如果从长远来看,价格倾向于朝一个方向移动,那么做市商就会亏损,至少相对于他们拥有平衡投资组合可能获得的收益而言。另一方面,如果价格倾向于剧烈反弹但最终回到同一点,那么做市商可以获得可观的利润。这牺牲了“路径独立性”属性,但是任何偏离路径独立性的方式总是对做市商有利。

路径独立的做市商可以采用许多设计;如果你愿意创建一个可以发行无限数量单位的代币,那么“恒定准备金率”机制(其中对于一些恒定比率,代币供应量为并且储备大小是也算作一,前提是它被正确实现并且路径独立性不受边界和舍入误差的影响。

如果你想为现有代币做一个没有价格上限的做市商,我最喜欢的(归功于 Martin Koppelmann)机制是保持不变的机制对于一些常数. 所以公式是:

image

在哪里是价格以. 一般来说,你可以通过定义任何(单调)关系来创建路径独立的做市商和并在任何时候计算其导数以给出价格。

以上仅讨论了路径独立性在防止一种特定类型问题中的作用:攻击者以某种方式在一系列价格变动的背景下进行一系列交易,以反复榨取做市商的资金。对于路径独立的做市商,这种“资金泵”漏洞是不可能的。但是,当然也可能存在其他类型的低效率。如果 MKR 的价格从 5 ETH 下降到 1 ETH,那么上面示例中使用的做市商将损失 28 ETH 的价值,而平衡的投资组合只会损失 20 ETH。那 8 个 ETH 去哪儿了?

在最好的情况下,价格(即“真实”价格,所有用户和交易者之间供需匹配的价格水平)迅速下跌,一些幸运的交易者抢购交易,获得 8 ETH利润减去微不足道的交易费用。但是如果有多个交易者怎么办?那么,如果块之间的价格并阻止不同的是,交易者可以通过设置交易费用来相互竞标,这一事实创造了全付费拍卖,收入归矿工所有。由于收入等价定理,我们可以推断,我们可以预期交易者发送到该机制的交易费用将继续上升,直到它们大致等于所赚取利润的大小(至少在最初;真正的均衡是让矿工自己抢钱)。因此,无论哪种方式,像这样的方案最终都是给矿工的礼物。

在这种设计中增加社会福利的一种方法是使创建购买交易成为可能,这些交易只有在矿工实际进行购买时才值得包括在内。也就是说,如果 MKR 的“真实”价格从 5 跌至 4.9,并且有 50 位交易者竞相为做市商套利,而这 50 位交易者中只有第一个会进行交易,那么只有那个人应该向矿工付款一笔交易费。这样,其他 49 次失败的交易就不会阻塞区块链。计划用于 Metropolis 的EIP 86为标准化这种有条件的交易费用机制开辟了道路(另一个好的副作用是,这也可以使代币销售更加不引人注目,因为类似的全付费拍卖机制适用于许多代币销售)。

此外,如果做市商是代币的唯一可用交易场所,则还有其他低效率。例如,如果两个交易者想要进行大量交易,那么他们将需要通过一连串的小额买卖交易来进行,从而不必要地堵塞区块链。为了降低这种效率,链上做市商应该只是可用的交易场所之一,而不是唯一的一个。但是,对于协议开发人员来说,这可以说不是一个大问题。如果最终需要一个促进大规模交易的场所,那么其他人可能会提供它。

此外,这里的论点只讨论做市商的路径独立性,假设给定的起始价格和结束价格。然而,由于各种心理效应以及多重均衡效应,收盘价似乎不仅是影响资产“基本”价值的起始价格和近期事件的函数,也是交易模式的函数这是为了响应这些事件而发生的。如果发生价格下跌事件,并且由于流动性差,资产价格迅速下跌,它最终可能会恢复到比最初存在更多流动性时更低的点。也就是说,这实际上可能是支持补贴做市商的论据:如果存在这种乘数效应,那么它们将对价格稳定产生积极影响,超出做市商本身提供的流动性的一阶效应。

在确定哪个路径独立做市商是最优的方面可能需要做大量研究。也有可能混合半自动做市商具有相同的保证流动性属性,但其中包括一些异步元素,以及运营商“插队”并在以下情况下收取利润的能力否则矿工将损失大量资金。对于各种目标而言,链上自动化担保流动性到底有多少(如果有的话)是最优的,以及这些做市商应该得到补贴的程度和由谁补贴,目前还没有一个连贯的理论。总而言之,链上机制设计空间仍处于早期阶段,当然值得更广泛地研究和探索各种选择。

关联标签
warnning 风险提示
app_icon
ChainCatcher 与创新者共建Web3世界