
交易所是市场的 DNA 。交易所的内部运行模式,决定了它下面所有的交易动态。
目前交易所提供流动性(liquidity)的方式,主要有四种:
中央限价订单簿(CLOB, 即 central limit order books)
联合曲线自动化做市(bonding curve automated market maker)
询价单(RFQ,即 requests for quote)
拍卖(auction)
每种模式各有自己的优缺点,它们需要在以下这些特性优先级中做出权衡:
价格发现(price discovery,匹配的买卖双方发现对方的难易程度)
流动性(liquidity,资产买入和卖出的方便程度)
滑点(slippage,订单请求水平和订单实际执行价格的差额)
对价格波动的反应(responsiveness to volatility,对资产价格波动的响应速度)
做市商的资本效率(capital efficiency for market makers,做市商的资本可否被最优化配置)
可操作性(manipulability,影响资产价格的能力)
可组合性(composability,组合资产的能力)
防御性(defensibility,抵御外部因素攻击的能力)
中央限价订单簿(CLOB)就是一本由出价和报价组成的权限透明账本,从最好价开始依次排序(两边分别是参与者愿意买/卖的价格)。
所有的参与者都能看到所有的报价和出价,他们也可以参与其中。
订单簿中两边的第一行,即是最好的报价/出价。

举个例子,如下图,是一个包含了前三行的中央限价订单簿(CLOB)。
订单簿中所有的订单,都是“剩余订单”(即还没人买的报价单和还没人卖的出价单)。
买卖数量(qty)即是这个价位所有订单的数量总和。

这时,Alice 创建了一个买入订单:BUY 2@9652 (以 9652 的价格买入 2 份)。
她的买入订单价格“越过(crosses)”了第一行的最好价卖单:OFFER 1@9651 (以 9651 的价格卖出 1 份)。
所以,Alice “拿下(takes)”了 OFFER 1@9651。
但是如果她想要两份,剩余的买单不足以匹配她的价格。
所以剩余的一份买单被继续留在了订单簿中。

一个多份订单如果“越过”了多行,就可以“拿下”这些行,从而让这个账本簿变得更薄。
举个例子,如果 Bob 给出了一个:OFFER 4@9649 的卖单,那么前三行买单都会被满足: 1@9652 2@9650 1@9649
所以订单簿变成了这个样子:

至此为止,给出的都是限价(limit)单。
现在我们假设,在图二的状态中,Bob 给出了一个 OFFER 4x 卖单(不限价卖出四份)。
对比最高价 9652,Bob 的平均收入是 (19652+29650+1*9649)/4 = 9650.25 。
这种情况下,由于订单簿太薄导致了滑点,Bob 每单损失了 1.75 。
传统金融:
纽交所
纳斯达克
芝加哥商业交易所
芝加哥期权交易所
伦敦证券交易所
港交所
CEX(中心化加密货币交易所):
FTX
Coinbase
币安
欧易
火币
DEX(去中心化加密货币交易所):
Serum
Raydium
Dexlab
Slope
dydx(链下账本簿)
优势:
透明的流动性
市场是不对称的
做市商可自由出入
做市商可以自由决定价格与数量
劣势:
冷启动问题(很难给出初始流动性)
对非流动性资产不利
如果是链上交易所,则对链的 TPS 的要求很高
以太坊的 TPS 对于支撑链上订单簿的实时更新来说,太低了(故大多数的 DEX 使用的都是自动化做市商模式)。
一个例外是,dydx,它使用了链下订单簿(所以向订单簿发单和价格更新都是链下的,仅在链上处理最终交易)。
反面例子是,Solana 链由于其 60K 的 TPS,导致了其上有许多订单簿模式的交易所。
针对去中心化交易所的 TPS 问题,自动化做市模式孕育而生。
自动化做市模式,可以想象成是一系列的货币交换机器(例如 ETH/USDT,MATIC/USDT,ETH/MATIC 等等)。
交易所里没有订单簿。只有一系列预设的函数,为各类货币的互相交换来定价。
这些预设的函数(例如 x*y=k)基于两头货币在各自流动性池中的供给变化率,来设定价格。在某个货币的流动性池内,任何人都能够提供该种货币以增加其流动性,从而获得收益。

更多流动性池详情可参阅:
传统金融:
无
CEX(中心化加密货币交易所):
无
DEX(去中心化加密货币交易所): --- 以太坊 ---
Uniswap
Curve
Bancor
Balancer --- Solana ---
Saber
Orca
Raydium (自动化做市与订单簿皆有)
优势:
对于新的代币,可以很方便的冷启动
去中心化
代币交换可组合性很高
劣势:
强制性的市场对称
所有价格点的统一流动性(在 Uniswap V3 中已解决)
滑点频繁
波动性大,经常有很大的临时亏损(流动性提供者在平均表现上是盈利的)
询价单(RFQ)模式通常被用于流动性更低的交易市场中(例如,固定收益产品,金融衍生品,开放式指数基金)。
该模式让交易者基于产品和数量,向交易方(特定交易所内的参与做市商)“提出一个报价”。
所以询价单模式是非对称的:
交易者之间不能自由报价,因此他们之间不可互相交易,交易者仅能和交易所内的参与做市商进行交易
没有公开的订单簿
有腐败风险
所有场外交易市场(OTC)都是以询价单模式运行的。
传统金融:
Tradeweb
任意大型银行的结构性产品柜台(花旗,美林等等)
CEX(中心化加密货币交易所)
无
DEX(去中心化加密货币交易所) --- 以太坊 ---
0x
Hashflow --- Solana ---
无?
优势:
对交易频率低的非流动性资产有利
在去中心化金融社群中,由于很少有人知道它,所以社交性接受度(socially acceptable)很好
劣势:
缺乏透明度
非真正的去中心化(订单的保存和匹配都是链下的,仅完成交易是链上的)
纳斯达克如何在每天早晨,设定股票定价:
9 点 - 9 点 30 分:纳斯达克向交易者传输历史订单数据,让交易者调整报价。
如果有迟到的突发新闻,纳斯达克会让指定的做市商调整报价。
一个指定做市商(designated MM)会被给与指定证券的特殊权限:
做出价格调整
对指定的证券延迟交易的开始时间
获得第一批证券(如果需要“维持市场的平稳运行”)
指定做市商也会得到补充流动性做市商(supplemental liquidity providers)的帮助。补充性流动性做市商,是纳斯达克通过高回扣和红酒以说服它们向市场注入流动性的高频交易商户。
下图是纳斯达克目前的补充流动性做市商:

9 点 30 分之后:
市场终于开放。任何人其他的 MOOs 和 LOOs (市场开始时交易 & 限制取消时交易)得以机会可以被执行。
优势:
激动人心(所以对 NFT 很有效)
劣势:
高度可操控性
可以轻易的给与特定的机构特权和激励
低效,可扩展性低
各类交易所得设计模式,都有各自的权衡。我们能做的,就是根据资产的特征,挑选最合适的交易所模式进行交易。模式是至关重要的,因为它塑造了生态中的所有后续交易行为。
该文是基于推文:https://twitter.com/FabiusMercurius/status/1452349285865984000 的翻译,并添加了相关额外中文注解。

交易所是市场的 DNA 。交易所的内部运行模式,决定了它下面所有的交易动态。
目前交易所提供流动性(liquidity)的方式,主要有四种:
中央限价订单簿(CLOB, 即 central limit order books)
联合曲线自动化做市(bonding curve automated market maker)
询价单(RFQ,即 requests for quote)
拍卖(auction)
每种模式各有自己的优缺点,它们需要在以下这些特性优先级中做出权衡:
价格发现(price discovery,匹配的买卖双方发现对方的难易程度)
流动性(liquidity,资产买入和卖出的方便程度)
滑点(slippage,订单请求水平和订单实际执行价格的差额)
对价格波动的反应(responsiveness to volatility,对资产价格波动的响应速度)
做市商的资本效率(capital efficiency for market makers,做市商的资本可否被最优化配置)
可操作性(manipulability,影响资产价格的能力)
可组合性(composability,组合资产的能力)
防御性(defensibility,抵御外部因素攻击的能力)
中央限价订单簿(CLOB)就是一本由出价和报价组成的权限透明账本,从最好价开始依次排序(两边分别是参与者愿意买/卖的价格)。
所有的参与者都能看到所有的报价和出价,他们也可以参与其中。
订单簿中两边的第一行,即是最好的报价/出价。

举个例子,如下图,是一个包含了前三行的中央限价订单簿(CLOB)。
订单簿中所有的订单,都是“剩余订单”(即还没人买的报价单和还没人卖的出价单)。
买卖数量(qty)即是这个价位所有订单的数量总和。

这时,Alice 创建了一个买入订单:BUY 2@9652 (以 9652 的价格买入 2 份)。
她的买入订单价格“越过(crosses)”了第一行的最好价卖单:OFFER 1@9651 (以 9651 的价格卖出 1 份)。
所以,Alice “拿下(takes)”了 OFFER 1@9651。
但是如果她想要两份,剩余的买单不足以匹配她的价格。
所以剩余的一份买单被继续留在了订单簿中。

一个多份订单如果“越过”了多行,就可以“拿下”这些行,从而让这个账本簿变得更薄。
举个例子,如果 Bob 给出了一个:OFFER 4@9649 的卖单,那么前三行买单都会被满足: 1@9652 2@9650 1@9649
所以订单簿变成了这个样子:

至此为止,给出的都是限价(limit)单。
现在我们假设,在图二的状态中,Bob 给出了一个 OFFER 4x 卖单(不限价卖出四份)。
对比最高价 9652,Bob 的平均收入是 (19652+29650+1*9649)/4 = 9650.25 。
这种情况下,由于订单簿太薄导致了滑点,Bob 每单损失了 1.75 。
传统金融:
纽交所
纳斯达克
芝加哥商业交易所
芝加哥期权交易所
伦敦证券交易所
港交所
CEX(中心化加密货币交易所):
FTX
Coinbase
币安
欧易
火币
DEX(去中心化加密货币交易所):
Serum
Raydium
Dexlab
Slope
dydx(链下账本簿)
优势:
透明的流动性
市场是不对称的
做市商可自由出入
做市商可以自由决定价格与数量
劣势:
冷启动问题(很难给出初始流动性)
对非流动性资产不利
如果是链上交易所,则对链的 TPS 的要求很高
以太坊的 TPS 对于支撑链上订单簿的实时更新来说,太低了(故大多数的 DEX 使用的都是自动化做市商模式)。
一个例外是,dydx,它使用了链下订单簿(所以向订单簿发单和价格更新都是链下的,仅在链上处理最终交易)。
反面例子是,Solana 链由于其 60K 的 TPS,导致了其上有许多订单簿模式的交易所。
针对去中心化交易所的 TPS 问题,自动化做市模式孕育而生。
自动化做市模式,可以想象成是一系列的货币交换机器(例如 ETH/USDT,MATIC/USDT,ETH/MATIC 等等)。
交易所里没有订单簿。只有一系列预设的函数,为各类货币的互相交换来定价。
这些预设的函数(例如 x*y=k)基于两头货币在各自流动性池中的供给变化率,来设定价格。在某个货币的流动性池内,任何人都能够提供该种货币以增加其流动性,从而获得收益。

更多流动性池详情可参阅:
传统金融:
无
CEX(中心化加密货币交易所):
无
DEX(去中心化加密货币交易所): --- 以太坊 ---
Uniswap
Curve
Bancor
Balancer --- Solana ---
Saber
Orca
Raydium (自动化做市与订单簿皆有)
优势:
对于新的代币,可以很方便的冷启动
去中心化
代币交换可组合性很高
劣势:
强制性的市场对称
所有价格点的统一流动性(在 Uniswap V3 中已解决)
滑点频繁
波动性大,经常有很大的临时亏损(流动性提供者在平均表现上是盈利的)
询价单(RFQ)模式通常被用于流动性更低的交易市场中(例如,固定收益产品,金融衍生品,开放式指数基金)。
该模式让交易者基于产品和数量,向交易方(特定交易所内的参与做市商)“提出一个报价”。
所以询价单模式是非对称的:
交易者之间不能自由报价,因此他们之间不可互相交易,交易者仅能和交易所内的参与做市商进行交易
没有公开的订单簿
有腐败风险
所有场外交易市场(OTC)都是以询价单模式运行的。
传统金融:
Tradeweb
任意大型银行的结构性产品柜台(花旗,美林等等)
CEX(中心化加密货币交易所)
无
DEX(去中心化加密货币交易所) --- 以太坊 ---
0x
Hashflow --- Solana ---
无?
优势:
对交易频率低的非流动性资产有利
在去中心化金融社群中,由于很少有人知道它,所以社交性接受度(socially acceptable)很好
劣势:
缺乏透明度
非真正的去中心化(订单的保存和匹配都是链下的,仅完成交易是链上的)
纳斯达克如何在每天早晨,设定股票定价:
9 点 - 9 点 30 分:纳斯达克向交易者传输历史订单数据,让交易者调整报价。
如果有迟到的突发新闻,纳斯达克会让指定的做市商调整报价。
一个指定做市商(designated MM)会被给与指定证券的特殊权限:
做出价格调整
对指定的证券延迟交易的开始时间
获得第一批证券(如果需要“维持市场的平稳运行”)
指定做市商也会得到补充流动性做市商(supplemental liquidity providers)的帮助。补充性流动性做市商,是纳斯达克通过高回扣和红酒以说服它们向市场注入流动性的高频交易商户。
下图是纳斯达克目前的补充流动性做市商:

9 点 30 分之后:
市场终于开放。任何人其他的 MOOs 和 LOOs (市场开始时交易 & 限制取消时交易)得以机会可以被执行。
优势:
激动人心(所以对 NFT 很有效)
劣势:
高度可操控性
可以轻易的给与特定的机构特权和激励
低效,可扩展性低
各类交易所得设计模式,都有各自的权衡。我们能做的,就是根据资产的特征,挑选最合适的交易所模式进行交易。模式是至关重要的,因为它塑造了生态中的所有后续交易行为。
该文是基于推文:https://twitter.com/FabiusMercurius/status/1452349285865984000 的翻译,并添加了相关额外中文注解。

以太坊黄皮书公式解析(上)
前言与版本笔者最近在结合以太坊黄皮书读以太坊源码,结合自己的理解解析下黄皮书内的公式,与大家共同学习进步,若大家在阅读以太坊黄皮书时,对公式产生理解上的困惑,可以参阅本文一起看。文章基于当前(2022/1/10)的黄皮书,版本号为 BERLIN VERSION fabef25 ,若有不准确之处,欢迎指出。由于该黄皮书内除附录外有 183 个公式,为了让文章篇幅不过长,该解析会由三部分组成一个系列,每个系列解析约 60 个公式,本文为上篇。公式解析(1)σ 为以太坊世界状态。Υ 为以太坊状态转换函数。T 为一个交易。上述公式阐述的是,以太坊是一个基于交易而改变状态的状态机。即每进来一个交易,都会改变一次以太坊的旧世界状态,从而进入一个新世界状态。(3)B 为一个区块。T0, T1, ... 为一组交易。在实际运作时,基于效率考量,以太坊是批量处理交易的,一个批次的交易,会被打包在一个区块中,这就是 (3) 公式的含义。(2)Π 表示区块层面上的状态转换函数。上述公式即是 (1) 的批量处理版本,以太坊的世界状态通过区块(即一组交易)批量更新。(4)Ω 为区块确定性状态转换函数,会奖...
[译]对于 zk-SNARKs 运行的简介
在过去十年中,普适的简洁零知识证明或许是密码学领域最有影响力的发展方向之一,通常简称为 zk-SNARKs(zero knowledge succinct arguments of knowledge)。zk-SNARKs 可以让你为执行的计算生成一些证明(proof),虽然这些证明的生成可能会耗费非常多的算力,但是却可以被很快地验证。并且这些证明还拥有“零知识”的特性,即证明中会隐藏计算中的输入信息。 举个例子,你可以给出一个关于你确实知道某个密码数字的证明:你会把这个数字加到字符 cow 后面,然后执行 100 万次 SHA256 哈希,最终结果会以 0x57d00485aa 开头。在 zk-SNARKs 的应用场景里,验证者可以以远比执行 100 万次哈希快的时间验证你是否确实知道你所说的密码数字,并且该数字不会暴露给验证者。 在区块链中,zk-SNARKs 有两个非常有用的应用场景:可扩展性(scalability):如果一个区块需要花很多时间才能被验证,那么某人可以预先为其生成证明,然后其他人只需要快速地验证生成的证明即可隐私性(Privacy):你可以在隐藏具体收到资...

以太坊黄皮书公式解析(下)
前言与版本笔者最近在结合以太坊黄皮书读以太坊源码,结合自己的理解解析下黄皮书内的公式,与大家共同学习进步,若大家在阅读以太坊黄皮书时,对公式产生理解上的困惑,可以参阅本文一起看。文章基于当前(2022/1/10)的黄皮书,版本号为 BERLIN VERSION fabef25 ,若有不准确之处,欢迎指出。由于该黄皮书内除附录外有 183 个公式,为了让文章篇幅不过长,该解析会由三部分组成一个系列,每个系列解析约 60 个公式,本文为下篇。公式解析(130)此处 Ξ 为 EVM 指令执行函数。σ 为执行前世界状态。σ' 为执行后世界状态。g 为执行前 Gas 剩余。g' 为执行后 Gas 剩余。I 所包含的字段参阅公式 (91) - (99)。A' 为执行后子状态。o 为执行输出内容(output)。公式 (130) 给出了 EVM 指令执行函数的输入输出定义。(144)u 为机器状态(machine state),包含:ug: 剩余可用 Gas 。upc:当前执行程序计数器。um:内存的内容。ui:内存中激活的字节数。us:栈的内容。公式 (144)...

以太坊黄皮书公式解析(上)
前言与版本笔者最近在结合以太坊黄皮书读以太坊源码,结合自己的理解解析下黄皮书内的公式,与大家共同学习进步,若大家在阅读以太坊黄皮书时,对公式产生理解上的困惑,可以参阅本文一起看。文章基于当前(2022/1/10)的黄皮书,版本号为 BERLIN VERSION fabef25 ,若有不准确之处,欢迎指出。由于该黄皮书内除附录外有 183 个公式,为了让文章篇幅不过长,该解析会由三部分组成一个系列,每个系列解析约 60 个公式,本文为上篇。公式解析(1)σ 为以太坊世界状态。Υ 为以太坊状态转换函数。T 为一个交易。上述公式阐述的是,以太坊是一个基于交易而改变状态的状态机。即每进来一个交易,都会改变一次以太坊的旧世界状态,从而进入一个新世界状态。(3)B 为一个区块。T0, T1, ... 为一组交易。在实际运作时,基于效率考量,以太坊是批量处理交易的,一个批次的交易,会被打包在一个区块中,这就是 (3) 公式的含义。(2)Π 表示区块层面上的状态转换函数。上述公式即是 (1) 的批量处理版本,以太坊的世界状态通过区块(即一组交易)批量更新。(4)Ω 为区块确定性状态转换函数,会奖...
[译]对于 zk-SNARKs 运行的简介
在过去十年中,普适的简洁零知识证明或许是密码学领域最有影响力的发展方向之一,通常简称为 zk-SNARKs(zero knowledge succinct arguments of knowledge)。zk-SNARKs 可以让你为执行的计算生成一些证明(proof),虽然这些证明的生成可能会耗费非常多的算力,但是却可以被很快地验证。并且这些证明还拥有“零知识”的特性,即证明中会隐藏计算中的输入信息。 举个例子,你可以给出一个关于你确实知道某个密码数字的证明:你会把这个数字加到字符 cow 后面,然后执行 100 万次 SHA256 哈希,最终结果会以 0x57d00485aa 开头。在 zk-SNARKs 的应用场景里,验证者可以以远比执行 100 万次哈希快的时间验证你是否确实知道你所说的密码数字,并且该数字不会暴露给验证者。 在区块链中,zk-SNARKs 有两个非常有用的应用场景:可扩展性(scalability):如果一个区块需要花很多时间才能被验证,那么某人可以预先为其生成证明,然后其他人只需要快速地验证生成的证明即可隐私性(Privacy):你可以在隐藏具体收到资...

以太坊黄皮书公式解析(下)
前言与版本笔者最近在结合以太坊黄皮书读以太坊源码,结合自己的理解解析下黄皮书内的公式,与大家共同学习进步,若大家在阅读以太坊黄皮书时,对公式产生理解上的困惑,可以参阅本文一起看。文章基于当前(2022/1/10)的黄皮书,版本号为 BERLIN VERSION fabef25 ,若有不准确之处,欢迎指出。由于该黄皮书内除附录外有 183 个公式,为了让文章篇幅不过长,该解析会由三部分组成一个系列,每个系列解析约 60 个公式,本文为下篇。公式解析(130)此处 Ξ 为 EVM 指令执行函数。σ 为执行前世界状态。σ' 为执行后世界状态。g 为执行前 Gas 剩余。g' 为执行后 Gas 剩余。I 所包含的字段参阅公式 (91) - (99)。A' 为执行后子状态。o 为执行输出内容(output)。公式 (130) 给出了 EVM 指令执行函数的输入输出定义。(144)u 为机器状态(machine state),包含:ug: 剩余可用 Gas 。upc:当前执行程序计数器。um:内存的内容。ui:内存中激活的字节数。us:栈的内容。公式 (144)...
Node.js core collaborator emeriti; LearningBooks && codingMonkey; NFT Collector;
Node.js core collaborator emeriti; LearningBooks && codingMonkey; NFT Collector;
Share Dialog
Share Dialog

Subscribe to DavidCai.eth

Subscribe to DavidCai.eth
<100 subscribers
<100 subscribers
No activity yet