比特币_区块链_数字货币_资讯-比特币吧

一文读懂去中心化交易所经典设计模型

比特币吧

  一文去中心化交易所经典设计模型

  币安等中心化交易所发布公链,并推出自己的去中心化交易所,更多新的去中心化交易所正在市场上出现。可以预见,交易所行业即将出现新一轮去中心化的变革热潮。

  去中心化交易所的核心要素是什么?如何设计去中心化交易所?著名的区块链基金 confirmation 分析师 Richard Chen 最近撰写文章,进行了全方位的剖析。这篇文章对于希望了解去中心化交易所的读者会有极大的价值。

  

一文读懂去中心化交易所经典设计模型

  撰文:Richard Chen,confirmation 分析师,confirmation 是一家位于旧金山的早期加密风险基金

  编译:Neo

  校译:代世超,去中心化交易所 DDEX 市场负责人

  中心化交易所的历史就是一部血腥的被盗史,而去中心化交易所(DEX)正在成为一种解决方案涌现出来。

  去中心交易所的创新在于允许用户直接从自己的钱包进行交易,无需信任交易所来托管资金。用户自托管是去中心化交易所的核心功能。

   X Hydro 批注:

  事实上,设计一去中心化的加密货币交易所,本质上应该满足三功能:

  去中心化:用户资金自托管

  加密货币:链上资产作为交易对象

  交易所:执行资产交换及结算

  交易所的三经典设计模型是订单簿模型、自动化做市模型和荷兰式拍卖模型。如何在这 种经典交易模型中,做到去中心化交易,是每去中心化交易所的课题。

  市场的先锋者们,是怎么做的?

  订单簿模型

  订单簿包含了代币的买单和卖单列表。买单称为出价(bid),卖单称为要价(ask)。订单簿列出了在每价格点出价或要价的代币数量。最高出价(买一)和最低要价(卖一)被称作买卖一(top of the book)。它们标志着市场情绪以及获得订单所需的买入价和卖出价。最高出价和最低要价之间的差异叫价差(spread)。

  DDEX 的订单簿

  目前,IDEX、DDEX、Radar Relay、EtherDelta、Paradex 和 Ethfinex 都是订单簿式 DEX。

  在订单簿式去中心化交易所(以下简称订单簿式 DEX)中,你可以提交两种类型的订单:市价订单和限价订单。

  提交市价订单时,你可以设定买入 / 卖出的代币数量,DEX 会立即以最优市场价执行你的市价单。下一市价单意味着,优先保证订单成交速度,无论订单簿上现有订单价格是多少。执行市价单的方式是,为买家匹配现有的卖一订单,为卖家匹配现有的买一订单。

  提交限价订单时,DEX 会以你设定的价格和数量买入或卖出代币,如果当前没有能与你匹配的订单,你的订单会被挂在订单簿上,等待交易。

  Radar Relay 的订单簿

  订单簿可以存储在链上或链下。链下的订单簿式交易所(例如 0x)需要 Relayer (指的是采用此交易协议的 DEX)将订单簿存储在中心化服务器上。而链上的订单簿式交易所不需要中心化服务器,但用户需要自己创建交易并为挂单和取消订单的操作支付 gas 费用,即使订单没有被成交,gas 费也无法退还。

  在订单簿式交易所中,做市商通过挂单来提供流动性,这些订单可以减少价差并补偿库存风险。通常,交易量越低,价差越大,因为做市商承担的流动性匮乏的风险更大。

  优点

  适合流动性市场。一订单簿交易所的交易量越大、价差越小,证明一交易所的流动性越好。在高流动性市场中,订单簿式交易所最适合于显示市场价格,并且大额订单不受价格滑点影响。Coinbase 和币安等大型中心化交易所、以及纽约证券交易所等传统交易所都依赖于订单簿模式。

  缺点

  不适合缺乏流动性的市场。只有当出价和要价相匹配时,订单才会被完成,反之亦然;如果你的最高出价仍然要低于最低要价,那么你将无法进行交易。因此,对于流动性不足的市场,订单簿交易所将导致大额差价,交易成功率低,而且小量资金即可对市场价格造成巨大影响。

  矿工抢先交易 (front-running)。部分链上订单簿式交易所面临着矿工与交易者之间的抢先交易问题。

  矿工可以在交易被区块打包之前就看到所有交易。如果你下了一大买单,一旦矿工看到这订单,他们发现你的订单已经大到足以拉高代币价格,那么矿工便可以自己创建一买单并把自己的买单在你之前添加到区块中。当这区块被挖出,相当于这矿工低价买入了代币,然后代币价格被大单拉高。矿工再高价卖出这代币,就能无风险套利。

  针对订单簿式交易所的矿工抢先交易有几种创新解决方案。Injective Protocol 使用可验证延迟函数(VDFs)来为订单添加时间戳,防止矿工抢跑用户。0x 建议使用一交易执行协调器,交易所将交易发送至一实体来确保交易上链结算之前根据价格-时间优先级执行交易。到目前为止,矿工与交易者之间的抢先交易主要是一理论问题,但也有少数在悄悄发生的案例。

   X Hydro 批注:

  其实还有另外一些实践,一些 Hybrid 模式的订单簿交易所,如 DDEX 和 IDEX,因为将提交订单上链的操作交给交易所而非矿工,能够避免抢先交易的问题。

  市场操纵。订单簿提供了资产价格方向的短期信号。比如,大量买单可能预示价格上涨。但是这些信号可以随时改变。例如,一交易者可以挂很多大单,但他们本身的动机并不是成交这些订单,而是只是试图表现出市场情绪,诱导交易者。

  订单簿式 DEX 容易被市场操纵行为影响,例如拉盘砸盘、幌骗和刷单。这些操纵行为造成了市场的不稳定和虚假交易量。纽约证券交易所这样的传统交易所对这种不道德行为有严格的惩罚。但目前,现实世界的法律并不适用于智能合约程序,因此我们需要找到一种技术解决方案,代替法律来解决市场操纵问题。

  自动化做市(AMM)模型

  自动化做市商是提供市场流动性的算法代理商。自动化做市商的概念在博弈论和机制设计领域已有十多年的历史(参考资料:https://www.cs.cmu.edu/~sandholm/automatedMarketMakersThatEnableNewSettings.AMMA-.pdf),最近才进入加密领域。

  AMM 交易所不存在订单簿的概念:交易所不提供订单簿来展示买家和卖家想要交易的价格,而是将流动性汇集到一起,并根据确定性算法做市。该算法根据某预定义的公式向用户报价。不同的自动化做市商使用不同的算法。

  Uniswap 和 Bancor 都设定了一种币币之间的兑换算法,用户可以选定一种交易对,以交易所当前给定的兑换率,进行两代币之间的兑换,这种交易类似在机场换汇。

  Uniswap 是使用恒定乘积做市(Constant Product Market Maker 模型即 x * y = k 模型)的去中心化交易所。在 Unisawp 上,每人都可以成为做市商。用户可以通过向资金池为特定交易对添加资金,如选择 ETH/DAI,需要同时添加相等价值的 ETH 和 DAI。当池子里的 ETH 或 DAI 被兑换后,每用户都可以按照比例分得交易手续费。

  用户可以随时删除自己添加到池子里的资金,以当前池子计算的兑换率来提现本金。

  Uniswap:添加和删除流动金

  Bancor 则是一款使用平台币为其自动化做市的去中心化交易所。

  优点

  为缺乏流动性的市场持续提供流动性。这对于流动性高度分散的市场来说非常有用,例如对于像 Augur 和 Veil 这样的预测市场,流动性分散在各市场之间。用自动化做市商预测市场取代订单簿预测市场,更容易对长尾市场下注。

  缺点

  大额订单滑点较高。滑点指的是下单的价格点位和最后成交的价格点位差距。在自动化做市商交易所中,滑点体现为下单的瞬间兑换率发生变化。

  在恒定产品做市交易所购买 ETH 的价格细分,流动性池为 00,000 DAI 和 ,000 ETH

  滑点取决于交易对的流动性池的大小。在 Uniswap 的情况下,从上图看出,订单规模占流动性池的的比例越大,滑点溢价越高。比如,一占流动池规模一半的订单会导致每代币的平均价格翻倍,即滑点率 00%,这种情况在在订单簿式交易所中几乎不可理喻。为了使滑点率保持在 % 以下,流动性池需要比订单金额大 00 倍。

  只有当订单规模占流动性池的一小部分时,自动化做市商交易所才能为代币获得的最佳平均价格,大额订单不适用于自动化做市商交易。因此,每天执行数十亿美元订单的传统金融交易所和大型机构交易者,是不会使用 AMM 模型的。

  做市商风险。一常见的误解是 AMM 流动性提供者会获得固定的收益。恰恰相反,AMM 的流动性提供者并不像作为 Compound 和 Dharma 这样的 借贷产品的贷方一样有固定收益,而是存在更大的亏损风险。

  Pintail 和 Mohamed Fouda 发现, 只有在用户从资金池提取本金时的兑换率,和添加资金时的兑换率一致时,才能稳赚手续费提成。以 ETH/DAI,为例,不论 ETH 价格涨跌,我的总本金都会贬值,只有我赚的手续费能抵消这部分损失,才不会亏本。当价格发生重大变化,相比于持有这些代币来说,我亏本的可能性更大。

  这对于正常波动的代币是很严重的风险,风险最大的是那些交易量低、价格波动大的代币。做市商可以通过不断向资金池添加和删除资金来应对价格变化,降低风险。

  荷兰式拍卖模型

  区块链的时间是离散的。每区块将时间分成非连续的时间段,区块间的时间使矿工能比交易者提前知道一区块中包含哪些交易,于是有了抢先交易的机会。这是链上交易所的一种弊端。

  但是有一种交易所,恰恰利用了区块链的时间离散性。

  荷兰式拍卖交易所,正是这样的设计。荷兰式拍卖,是一种减价拍卖,广泛用于花卉水果海产品等物品,简单来说是不断降低报价直到有买家愿意买,由这买家直接完成交易。

  荷兰式拍卖应用在 IPO 定价中,所有买家暗箱声明自己的出价和购买量,后台按照价格从高到低排序后,累加购买量直到总发行量,以最后一累加的订单价格为最终交易价格,每报价高于此价格的买家都以这交易价格买到自己声明的股权数量。

  在加密货币的荷兰式拍卖交易所,利用区块的时间窗口,交易按批次进行。在拍卖开始前,所有卖单收集在同一批次中。(卖家仍然可以在拍卖期间提交订单,不过订单会在被放在下一批拍卖中。)

  拍卖开始时,代币初始价格设定为上次拍卖收盘价的两倍,然后价格逐渐降低,价格反映买家的最大支付意愿时,买家就会提交出价。报价降低的过程持续到所有代币卖完,达到清算价格,则拍卖结束。

  交易所设计的关键在于,收盘时每买家以相同的价格收到代币。买家只需按最终的清算价格支付(即使买家出价更高),买家收到的代币数量由其出价的订单规模决定。

  资料来源:Gnosis DutchX

  Gnosis 建立了一名为 DutchX 的荷兰式拍卖交易协议,FairDEX 是 DutchX 协议上的交易平台。FairDEX 的前两次大额拍卖已经顺利完成。第一次和第二次 DAI/ETH 的拍卖成交价格,分别低于 Bitfinex 上同交易对价格的 .% 和 .%。这表明 DutchX 交易协议在处理大额订单上没有问题,并且拍卖的收盘价与市场价格相差不远。

  0x 上也有荷兰式拍卖合约,用来来创建荷兰式拍卖市场。

  优点

  为缺乏流动性的代币提供价格发现。相比于传统的订单簿式交易所,荷兰式拍卖通过累积订单同批执行,能为缺乏流动性的代币更好地确定一公平的市场价格。Decentraland 和 CryptoKitties 等网站就使用荷兰式拍卖来为非同质代币(NFT)实现价格发现。

  减少抢先交易。同一批卖单在同一时间执行,防止矿工抢先成交自己的订单。

  缺点

  交易时间较慢。拍卖结束,交易才会执行,而拍卖可能花费几小时。由于交易非即时,使得快速交易(如订单簿交易所中的市价订单)无法实现。

  所以呢?

  交易所设计三种方法中的每一种 —— 订单簿模型、自动化做市模型和荷兰式拍卖模型都有其独特的优势和利弊权衡。

  我认为,订单簿式交易所将继续作为 BTC 和 ETH 等主流代币的交易场所,而自动化做市交易所和荷兰式拍卖交易所将作为补充,帮助用户在长尾代币市场获得更好的价格。

  但不论哪种模型,要成为交易所领域的赢家,最重要的是价格和流动性。即使产品设计一般般,哪里价格更好、流动性更充足,用户就会往哪里去。

  感谢与 Alex Evans 的交流启发了这篇文章。

  头条科普学习区块链过程中的高频概念:哈希函数

   今天也是热爱学习的一天~

  #小白:小条!比特币的区块链浏览器里看到这个区块链为啥记录这个叫做"哈希值"的东西啊?又长又臭又难记!

  #小条:啊哈!这哈希值可是区块链里"区块"的精髓呢!给你画张图吧:

  所以"哈希值"就是用来囊括一个区块所有信息,作为辨别这个区块的"身份证"呢。

  #小白:哈希这么神奇?这是怎么实现的噢?

  #小条:哈希值是一种数学上的密码算法,下面让我慢慢讲吧

  01

  区块链与密码学

  密码学(Cryptography)是数学和计算机科学的分支,同时其原理大量涉及信息论。

  密码学的发展促进了计算机科学,特别是在于电脑与安全所使用的技术。

  在区块链领域里,参与者的数据需要经过大量的加密、签名、验证处理,因此我们首先从密码学里出现频率最高的哈希算法开始吧!

  02

  什么是哈希?

  哈希是将任意长的输入程加密的固定长度输出的过程。哈希并不等同于加密方法,因为无法解密哈希值来获取原始数据。事实上哈希是一种单项加密函数。

  有了哈希函数,就可以将互联网上的数据以固定长度字符串的形式来保存。其中一种方法就是SHA-256(安全哈希算法-256位),SHA-256是SHA-1的后继者,SHA-1的输出是160位的。

   哈希算法有什么特点?

  单向不可逆:你无法通过哈希之后数据值(key)倒推出原(data)。

  哈希函数的单向性可以用一个不准确但十分形象的类比来直观理解——来猜猜下巴的主人是谁?

  这 Man 味十足的迷人下巴主人是白宇?是张震?还是赵又廷?

  谜底揭晓:是我们喜爱的坤坤,不是蔡徐坤,而是乡村 F4 谢广坤↓

  无冲突:两个不同的data算出的key一定不会相同。

  雪崩效应:输入的data发生微小的改变会导致算出的key具有巨大的差别。

  市面上有一种言论说,量子计算机的出现会让比特币一不值,但现在你应该知道,即使量子计算机出现,目前也难以攻破哈希函数,哈希函数是中本聪为比特币设置的一道安全锁,希望比特币有充足的时间升级到抗量子的加密算法。

  哈希函数为加密货币提供了高度的安全性。尽管在理论上没有任何东西可以完全避免被黑客攻击,但是这个功能提供了当今最高级别的难度。

  我们应该明白,尽管加密货币确实是匿名的、受保护的,但在一切都依赖技术的现代世界,没有人能免受攻击。即使是最受保护的系统也可能成为黑客攻击的目标。一个聪明的黑客可以找到办法渗透系统,但我们应该采取一切措施来保护我们的免受任何迫在眉睫的攻击。

  声明:投资有风险,入市须谨慎。本资讯不作为投资理财建议。