假设有人走向你,开始向你大声说,他认为他已经想出了如何创造无限的自由能源。 他的计划如下所示。 首先,你得到一个太空飞船,直到低地球轨道。 在那里,地球的引力相当高,所以飞船将开始向地球飞速前进。 宇宙飞船将自己置于轨道上,以便它几乎不会擦过地球大气层,然后继续飞向太空。 进一步在太空中,重力比较低,所以飞船在开始再次下降之前可以升高。 当它下降时,它需要一条朝向地球的弯曲路径,以便在低轨道上最大化其时间,使其从高重力加速度中获得最大化,从而在它通过地球之后甚至更高。 当它达到足够高的水平后,它会飞过地球大气层,放慢速度,但利用废热为热反应堆供电。 然后,它会回到第一步继续前进。

像这样的东西:

</ IMG>

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

一种方法是深入挖掘数学,计算积分,并显示假设净收益实际上完全等于零。 但也有一个简单的方法:认识到能量是独立于路径的 。 也就是说,当宇宙飞船从A点移动到B点,B点更接近地球时,它的动能肯定会上升,因为它的速度会增加。 但是因为总能量(动能加电位) 是守恒的 ,势能只依赖于太空船的位置 ,而不是如何到达那里,我们知道无论从A点到B点航天飞机采取什么样的路径,一旦它获得到B点,动能的总变化将完全相同

</ IMG>
不同的路径,能量变化相同

此外,我们知道, 从点A到点A的动能增益也与您沿途的路径无关:在所有情况下,它完全为零。


有时会引用一些关于链上做市商的担忧 (即完全自动化的链上机制,作为总是可用的交易对手,为那些希望交易另一种类型的权杖的人)是因为它们总是容易被利用。

举一个例子,让我引用最近在Bancor中讨论这个问题的文章:

Bancor为令牌提供的价格与实际市场均衡无关。 Bancor将始终追踪市场,并在这样做时会流失其储备。 一个简单的思想实验足以说明问题。
假设市场恐慌在X周围形成。关于您的系统的未经证实的消息超越了社交媒体。 假设人们确信你的首席执行官已经潜逃到一个没有引渡条约的偏远岛屿,你的首席财务官盗用了钱,而你的首席技术官正从黑网市场上购买毒品并将其运送到他的工作地址,就像他桌上的白色粉末堆。
更糟的是,让我们假设你知道这些指控是错误的。 它们是由一个没有产品的公司运营的巨魔军队传播的,其商业计划是阻止每个人的硬币流。
Bancor在银行运行期间会提供X币的价格不断下降,直到它没有剩余储备。 你会看到市场恐慌情绪持续并吞噬你的储备。 回想一下,在这种情况下,人们确信X的真实价值为0,并且Bancor公式保证提供高于此价格的价格。 所以你的全部储备将会消失。

这篇文章讨论了Bancor协议的许多问题,包括代码质量等细节,我不会谈及任何这些问题; 相反,我将纯粹将注意力集中在链上做市商效率和可利用性的主题上,将Bancor(与MKR一起)纯粹作为例子,而不是对整个项目的质量做出任何评判。

对于许多天真设计的链上做市商,上面关于可开发性和尾随市场的评论适用于逐字,而且非常重要。 然而,也有一些上链做市商,由于某种抽钱攻击,绝对不会怀疑他们的全部储备都被榨干。 举一个简单的例子,考虑一下市场制造者出售ETH的MKR,其内部状态由当前价格p ,并且愿意在每个价格水平上买入或卖出无限多的MKR。 例如,假设p = 5 ,并且您想要购买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的平均价格销售2 MKR(即总成本12 ETH),并且在操作结束时p增加到7。如果有人想卖出1 MKR,它们将是花费6.5 ETH,在该操作结束时 p将降至6。

现在,假设我告诉过你,这样的做市商以p = 5的价格开始,并且在一系列不确定的事件发生之后,现在是4.两个问题:

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

答案是:它获得了1 MKR,并且失去了4.5 ETH。 注意这个结果完全独立于p采用的路径。 那些答案是正确的,如果p从一个买家直接从5到4,他们是正确的,如果有第一个买家从5到4.7,第二个买家将剩下的一直带到4,他们如果p先下降到2,然后增加到9.818,然后又下降到0.53,那么最后再升到4。

为什么会这样? 最简单的方法是看到如果p下降到4以下,然后又回到4,那​​么下降的卖盘正好通过买进来抵消; 每个卖出都以相同的价格进行相应的购买。 但我们也可以通过不同的方式来看待做市商的核心机制。 将做市商定义为具有单维内部状态p ,并且具有由以下公式定义的MKR和ETH余额:

 mkr_balance(p) = 10 - p eth_balance(p) = p^2 / 2 

任何人都有权力“编辑” p (尽管只能使用0到10之间的值),但他们只能通过提供适量的MKR或ETH,并获得适量的MKR和ETH来实现,以便余额仍然匹配; 也就是说,操作后做市商持有的MKR和ETH的数量是根据上述公式保持的数量,并设定了新的p值。 任何编辑到p ,没有与MKR和ETH交易,使余额匹配自动失败。

现在,任何一系列将p从5降至4的事件也会将做市商的MKR平衡值提高1,并将其ETH平衡值降低4.5,无论它是什么系列事件,都应该看起来基本: mkr_balance(4) - mkr_balance(5) = 1eth_balance(4) - eth_balance(5) = -4.5

这意味着对保留这种路径独立性的做市商的“储备出血”攻击是不可能的。 即使一些巨魔成功造成市场恐慌,导致价格接近于零,当恐慌平息,价格恢复到原来水平时,做市商的地位将保持不变 - 即使价格和做市商的余额,同时做了一堆疯狂的动作。

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

</ IMG>

持有均衡的投资组合总会获胜,除非价格保持完全相同,在这种情况下,做市商和平衡投资组合的回报是平等的。 因此,这种做市商的目的是补贴保证流动性,作为用户的公共利益,作为最后手段的交易者,而不是赚取收入。 然而,我们当然可以修改做市商赚取收入,很简单:我们收取差价。 也就是说,做市商可能会收取1.005 * p的买价,卖出的价格仅为0.995 * p。 现在,作为做市商的受益者就成了一个赌注:如果从长远来看,价格倾向于向一个方向移动,那么做市商就会失去,至少相对于他们如果拥有均衡的投资组合能够获得的收益,就会失去。 另一方面,如果价格倾向于大幅反弹,但最终回到同一点,那么做市商可以获得不错的利润。 这牺牲了“路径独立性”的属性,但这样一来,任何偏离路径独立性的偏差总是对做市商有利。

有很多路径独立的做市商可以采取的设计; 如果你愿意创建一个可以发出无限量单位的令牌,那么“常数准备率”机制(对于某个常数比率0 <= r <= 1 ,令牌供给是p ** (1/r - 1) ,并且保留大小为r * p ** (1/r) )也计为1,前提是正确实施并且路径无关性不受边界和舍入误差的影响。

如果你想为没有价格上限的现有代币做庄家,我最喜欢的(信贷给马丁Koppelmann)机制是维持不变tokenA_balance(p) * tokenB_balance(p) = k对于一些常数k 。 所以公式会是:

 tokenA_balance(p) = sqrt(k * p) tokenB_balance(p) = sqrt(k / p) 

</ IMG>

其中p是tokenA中标记的tokenB的价格。 一般来说,您可以通过定义tokenA_balancetokenB_balance之间的任何(单调)关系并在任意时刻计算其衍生产品以给出价格,来创建一个与路径无关的做市商。


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

在最好的情况下,价格(也就是说,“真实”价格,所有用户和交易者之间的供求关系匹配的价格水平)迅速下降,一些幸运交易商抢购了这笔交易,声称8 ETH利润减去可忽略的交易费用。 但如果有多个交易者呢? 那么,如果区块n和区块n + 1之间的价格不同,交易员可以通过设置交易费用相互竞标的事实创建了一个全付费拍卖,收入交给矿工。 作为收入等价定理的结果 ,我们可以推断,我们可以预期,交易者发送到这个机制中的交易费将继续上涨,直到它们大致等于赚取的利润的大小(至少在初始阶段; 真实的均衡对于矿工来说,只需要自己拿钱)。 因此,无论如何,这种方案最终都是给矿工的礼物。

在这样的设计中增加社会福利的一种方法是使创建购买交易成为可能,这对于矿工来说只有在他们实际进行购买时才是有价值的。 也就是说,如果MKR的“实际”价格从5降到4.9,并且有50个交易者竞相套利做市商,并且只有50个交易者中的第一个进行交易,那么只有那个人应该支付矿工交易费用。 这样,其他49次失败的交易不会阻塞区块链。 EIP 86计划为Metropolis开辟了一条通往标准化这种有条件交易费机制的道路(另一个好的副作用是,这也可以使令牌销售更加不显眼,因为类似的全部支付拍卖机制适用于许多令牌销售)。

另外,如果做市商是唯一可用的代币交易场所,还有其他低效率。 例如,如果两个交易者想要交换大量的资金,那么他们需要通过一系列小型买卖交易来做到这一点,不必要地阻塞区块链。 为了降低这种效率,链上做市商应该只是可用的交易场所之一,而不是唯一的交易场所。 然而,这对协议开发人员来说可能不是一个大问题; 如果最终成为促进大规模贸易场所的需求,那么其他人可能会提供。

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

在确定哪个路径独立的做市商是最优的时候,可能需要做大量的研究。 混合半自动做市商也有可能具有相同的担保流动性特征,但其中包括一些不同步的因素,以及在某些情况下,运营商可以“切入线”并收集利润否则大量的资金将被丢给矿工。 对于各种目标以及这些做市商应在多大程度上以及由谁承担补贴,多少(如果有的话)链上自动化担保流动性是最佳的还没有一个连贯的理论。 总而言之,链上机制设计空间还处于初期,当然值得更广泛地研究和探索各种选择。

https://vitalik.ca/general/2017/06/22/marketmakers.html

【译】On Path Independence相关推荐

  1. 多变量微积分笔记(3)——二重积分

    文章目录 3. 多重积分--二重积分(Double Integrals) 3.1 直角坐标系下二重积分 二重积分的定义 如何选择积分上下限 3.2 极坐标下的二重积分 微元及二重积分表达式 如何选择积 ...

  2. 无穷小带来什微积分么大礼包

    无穷小带来什微积分么大礼包?     当今,超实无穷小在我国普通高校的校园中四处游荡,散发微积分"大礼包" ,帮助男.女同学学习微积分.    微积分大礼包里面有40余个微积分重要 ...

  3. 鲁宾逊非标准微积分与国内高等数学“秀肌肉”

    大家知道,数学概念与词组相互对应.对于数学教科书而言,所谓"秀肌肉"就是显示该教科书包含有多少"微概念",也就是说,展示自己的词组索引的丰富度即可. 根据初步统 ...

  4. 谁在为DeFi默默提供流动性?

    本文来自 medium 原标题 |<Constant Function Market Makers: DeFi's "Zero to One" Innovation> ...

  5. MIT 18.02 多变量微积分总结(Part II)

    Line Integrals 三种基本的曲线积分种类 line integrals with respect to arc length 求曲线长度的积分一目了然:L=∫badsL=\int_{a}^ ...

  6. 微信小程序通过云函数生成带参数的小程序码

    小程序云开发还是挺强大啊,以前动不动就需要后端攻城狮进行操作,现在没后端啥事了,但是头发却开始紧张了啊!o(╥﹏╥)o 公众平台模式: 在没有用云函数时,只能先在微信公众平台去生成带参数的小程序码,接 ...

  7. Day 9 Linux samba ngnix

    (摘) Samba服务 一.Samba简介  Samba是在Linux和UNIX系统上实现SMB协议的一个免费软件,由服务器及客户端程序构成.SMB(Server Messages Block,信息服 ...

  8. python文件和异常

    目录 一.从文件中读取数据 1.读取整个文件 2.文件路径 3.逐行读取(for循环) 4.创建一个包含文件各行内容的列表(在with( )代码块外使用 方法readlines( )) 5.使用文件的 ...

  9. 路径无关性、保守场、势函数

    35.路径无关性.保守场.势函数 1.路径无关性.保守场.势函数 1.1 定理1-曲线积分基本定理 1.2 定理2-保守场是梯度场 1.3 定理3-保守场的环路性质 1.4 求保守场的势 1.路径无关 ...

最新文章

  1. telnet时显示:允许更多到 telnet 服务器的连接。请稍候再试
  2. 《Log4j 2 官方文档》Scripts
  3. 【嵌入式】C语言高级编程-地址对齐(07)
  4. c#写字板实现加粗功能_Windows 7中写字板和绘画中的新功能
  5. linux多台主机对比文件大小,Linux主机df和du出来的文件和磁盘大小不相同
  6. Android开发继承webview,WebView如何从当前的Android主题继承颜色?
  7. mybatis分页数据重复
  8. Symmetric Tree (101)
  9. axios文件上传 formdata_基于业务场景下的图片/文件上传方案总结
  10. java工作中mq应用多吗_RabbitMQ消息中间件在工作中的应用场景
  11. call and apply
  12. linux添加动态连接库,CentOS下如何添加动态链接库?
  13. python版本历史_python历史介绍
  14. Java实例化类的几种方法
  15. 银河麒麟系统怎么安装微软雅黑字体
  16. D-link 带USB口无线路由器 配置网络共享打印机
  17. js 截取长图(html2canvas),并下载
  18. 冷冻水和冷却水的区别
  19. WP模板常用调用函数
  20. Characterizing, exploiting, and detecting DMA code injection vulnerabilities,Eurosys2021

热门文章

  1. Ubuntu16安装anaconda没有这个文件或者目录
  2. MATLAB中squeeze函数的作用
  3. linux yum及yum仓库
  4. 编程方法学18:多维数组收尾
  5. 程序php!index.,php.index
  6. JavaScript调用其他函数中的变量
  7. DW Question Answer Pro 1.3.4 DWQA问答系统插件
  8. [云炬创业管理笔记]第6章制定创业行动测试5
  9. [Python语音识别项目笔记] 2矩阵标准化和去标准化
  10. 科大星云诗社动态20210221