作者:扎克-赫斯, Zack Hess https://github.com/zack-bitcoin/amoveo-docs/blob/master/other_blockchains/dxdy.md
dxdy技术评论 #
dxdy是以太坊的一个智能合约。https://github.com/dydxprotocol/solo。
任何人都可以在dxdy solo智能合约里面开一个账户。solo支持多种子货币(subcurrency)。你可以在solo智能合约内将任何支持的子货币(subcurrency)存入你的账户。你可以锁定你账户中的任何货币作为抵押品,以便借入任何其他种类的子货币(subcurrency)。最终,要么你的合同的保证金被超过,导致你的抵押品被solo没收,要么你重新存入你借的币和利息,以获得你的抵押品。
你为解锁抵押品所需支付的利息可能是正数或负数。它试图通过观察其他人如何使用solo来对市场力量作出反应。
这种设计的问题 #
- 链上市场将被矿工抢先交易(front-run)。
- 计算利率的链上机制将总是延迟于子货币(subcurrency)的真实相对价格。
- 计算利率的链上机制可能被操纵,以消耗solo用户的价值。
- 在链上做衍生品是缓慢的,昂贵的,而且是不可扩展的。这些合同应该在闪电网络内。
- 在不知道合同利率的情况下同意签订合同是对现有衍生品运作方式的彻底背离。为什么人们会在一个他们甚至无法选择交易价格的市场上进行交易?
链上市场被矿商抢先交易(front run) #
矿工可以自由选择他们在每个区块中包含的txs的顺序,所以他们会把txs放在一个允许他们从dxdy市场中提取价值的顺序。这里有一篇深入探讨这种失败模式的研究论文https://arxiv.org/abs/1904.05234
利率计算延迟 #
加密货币是不稳定的。想象一下这样的场景:Solo智能合约支持的一个子货币(subcurrency)的真实的链下利率突然发生了根本性的变化。那么,Solo智能合约交易与其他可以对价格变化做出即时反应的衍生品机制之间将存在套利机会。任何投资于Solo智能合约的人都会输钱给套利者,直到DXDY价格调整到它的位置。
利率操纵 #
如果我们调整利率计算算法,使利率能够更快地变化,这就使我们面临这另一个漏洞。攻击者可以在solo智能合约中与自己交易,操纵solo智能合约计算的利率。他可以操纵利率来获利。 如果利率计算太慢,solo智能合约会因为套利而失败。如果利率计算过快,就会因为利率操纵而失败。如果利率计算是中等的,那么它就会同时以这两种方式失败。
链上衍生品不具有可扩展性 #
solo智能合约的交易都是在以太坊的链上进行的。你需要在以太坊区块内发布交易,才能以任何方式参与。 链上交易很慢。你必须等待TXS被纳入,并等待确认。链上TXS很昂贵。你必须向矿工支付瓦斯费以包括tx。链上txs缺乏隐私。每个人都可以看到你在做什么。 最好是在状态通道里面有衍生品,来避免所有这些缺点。如果dxdy的成本是竞争对手的10倍以上,这将导致dxdy失败。
具有神秘利率的合同 #
衍生品是一类大受欢迎的金融合同,在有文字记载的历史之前就已经开始使用了。几千年来通过试验和错误的演变,形成了今天所有流行的衍生品市场都在复制的美丽设计。 衍生品的目的是允许两个人互相交易风险。为了使衍生品发挥作用,我们需要能够衡量被交换的风险数量。只有准确地量化所交易的风险,我们才能计算出为该风险所支付的价格。 额外,未知的利率费用风险与衍生品的目标和设计是矛盾的。它使你不可能计算出你想交易的价格,因为有无法衡量的风险混入合同。
solo 的合同价格并不能告诉你这些资产的真实价格,因为利率费用的额外风险以一种不可知的方式歪曲了一切。