收藏 分享(赏)

区块链 - LoopRing去中心化代币交易撮合协议.docx

上传人:oceanpvg 文档编号:2301194 上传时间:2018-09-10 格式:DOCX 页数:23 大小:86.52KB
下载 相关 举报
区块链 - LoopRing去中心化代币交易撮合协议.docx_第1页
第1页 / 共23页
区块链 - LoopRing去中心化代币交易撮合协议.docx_第2页
第2页 / 共23页
区块链 - LoopRing去中心化代币交易撮合协议.docx_第3页
第3页 / 共23页
区块链 - LoopRing去中心化代币交易撮合协议.docx_第4页
第4页 / 共23页
区块链 - LoopRing去中心化代币交易撮合协议.docx_第5页
第5页 / 共23页
点击查看更多>>
资源描述

1、LOOPRING(路印)去中心化代币交易撮合协议1.5 版danielloopring.org alexloopring.org jayloopring.orgLoopring Project Ltd foundationloopring.org 2017 年 12 月 29 日本文仅供参考之用,不构成在任何司法管辖区出售证券或招揽购买证券的要约。摘要本文描述了一个开放的, 支持类 ERC20 和智能合约的代币间多边交易协议。 通过该 协议, 可以建立去中心化且无需资产托管的交易所应用。 我们将该协议定位为下一代数字 资 产 交 易 所 的 开 放 标 准 之 一 和 架 构 基 石 。 传

2、统 交 易 所 可 以 通 过 拥 抱 该 协 议 改 进 目 前 交 易 所的撮合方式,降低用户信任成本和自身运营风险;去中心化应用(dApp)也可以在智 能合约中调用该协议提供的合约实现应用内的代币转换。1目录 2目录1 背景 32 相关工作 33 协议设计 53.1 符号定义 .63.2 订单兑换率恒定 63.3 可规约性 .73.4 环路撮合 .73.4.1 成交条件和价格 .83.4.2 成交量 83.4.3 撮合费用 .93.4.4 交易所费用强制折扣 .103.5 防作弊和防攻击 113.5.1 交易所无风险套利 .113.5.2 交易所拒绝服务 .113.5.3 尘埃订单攻击

3、. 113.5.4 余额不足订单攻击 .113.5.5 撮合窃取 .123.6 市场深度 123.7 数据格式 123.8 订单状态 133.9 智能合约 144 Loopring 协议代币 LRC 144.1 代币的应用 144.2 去中心化自治 154.3 代币的原生流动性 .165 交易所 175.1 传统与 Loopring 上交易所模式的对比 .176 总结 187 感谢 19附 录 22附 录 A Loopring 下单和撮合流程 221 背景 31 背景区块链 12 作为比特币 3 的底层技术,本质上是去中心化无信任环境中的存在 性共识机制 45。 存在性可应用于各种不同的数据

4、, 如股权 , 版权 , 使用权等 。 尽管联 盟链和企业私有链中共识数据的类别正在变得越来越多样化, 但这些数据的价值却有着 明确的边界限制 只限于联盟成员间和企业内部。我们认为区块链的价值网络属性目 前只有在公有链中才能得到更好的体现。 根据 的统计, 截止本文成 稿时间,区块链上代币总市值已经接近 790 亿美元,以太坊区块链 6(ETH)上承载 的代币市值也已超过 170 亿美元。区 块 链 对 各 行 业 都 可 能 有 着 深 远 的 影 响 , 尤 其 是 金 融 领 域 。 我 们 相 信 基 于 区 块 链 的 新 金 融 会 有 一 个 明 显 趋 势 , 即 资 产 代

5、 币 化 ( Tokenization) 75: 一 方 面 链 下 资 产 的 使 用 权 , 所 有 权 , 分 红 权 等 相 关 权 益 通 过 抵 押 , 会 以 代 币 ( Token) 2 的形式发行到区块 链 上 , 另 一 方 面 区 块 链 上 资 产 也 会 进 行 跨 链 发 行 。 资 产 代 币 化 的 目 标 之 一 就 是 低 成 本 , 全 球 化 , 全 天 候 的 高 流 动 性 。 而 流 动 性 则 主 要 通 过 交 易 所 得 以 实 现 , 因 此 一 个 更 适 合 区 块链上代币的交易标准对于区块链金融至关重要。现阶段交易所都采用类似的模式:

6、 交易所要求用户将法币或者代币充值到交易所的 银 行 账 户 或 区 块 链 地 址 中 , 然 后 交 易 所 在 自 己 的 私 有 虚 拟 账 户 系 统 中 为 用 户 进 行 IOU 记账。用户实际交易的是这些 IOU。为了将 IOU 兑换成法币或区块链代币,用户需要 向 交 易 所 提 出 提 现 申 请 , 提 现 成 功 后 , 才 算 真 正 交 易 完 成 。 在 这 个 过 程 中 , 交 易 所 替 用 户 保 管 资 产 的 能 力 是 用 户 最 大 的 风 险 ; 同 时 用 户 还 需 承 担 交 易 所 运 营 者 商 业 道 德 带 来 的其它风险,比如挪用

7、资金造成资不抵债等。2014 年 2 月当时世界最大的比特币交易 所 Mt.Gox 的 85 万个比特币被盗一空 8, 公 司 向 日 本 东 京 地 方 法 院 申 请 破 产 保 护 。 该 公司的用户至今仍在等待其返还尚未被盗的少量比特币。随着调查的不断进行 Mt.Gox 被 曝 出 所 谓 的 比 特 币 被 盗 其 实 是 监 守 自 盗 。 85 万 个 “被偷 窃”的 比 特 币 中 , 实 际 上 因 外部盗窃失踪的仅为 7000 个 。 2016 年 8 月最大的美元比特币交易平台香港的 Bitfinex 由于网站出现安全漏洞,导致用户持有的比特币被盗,被盗的比特币共 119

8、756 枚,总价值约为 6500 万美元。随后该公司决定由所有用户共同分担损失以避免破产。这些发 生过的事件一方面反映出区块链代币交易在各个国家监管政策的缺失, 另一方面也证实 了中心化交易所模式的固有风险。本文描述的基于区块链的去中心化交易机制就是为了彻底解决上述问题。 去中心化 交 易 的 核 心 优 势 之 一 是 避 免 任 何 资 产 被 托 管 , 因 此 资 产 就 不 存 在 被 盗 的 可 能 , 这 会 极 大 降 低 用 户 对 交 易 所 的 信 任 成 本 。 这 种 交 易 机 制 的 另 一 个 优 势 是 没 有 地 缘 和 时 间 限 制 , 以 及 极 高

9、的 透 明 性 和 可 追 溯 性 。 这 些 特 点 会 促 使 交 易 整 体 具 有 更 大 的 流 动 性 和 更 小 的 价 差。2 相关工作开源社区已经有过一些基于区块链搭建去中心化交易所的尝试,如瑞波( Ripple) 、 比特股( BitShares) 、 Openledger 等。Ripple 9 是一个去中心化的银行系统间清算协议,是为了解决银行间清算的高费 用 和 高 延 迟 问 题 而 设 计 , 具 有 快 速 、 方 便 、 超 低 费 用 的 优 点 。 Ripple 提 出 了 一 项 In-2 相关工作 4terledger 10 协议 ( ILP) 实现跨账

10、本的资产交易 。 ILP 本身并不是一个账本, 相反, 它 提 供 了 一 个 顶 层 加 密 托 管 系 统 , 在 称 之 为 “连 接 者 ”的 中 介 机 构 的 帮 助 下 , 可 以 让 资 金 在各账本之间进行流动。 Ripple 交易依赖于网关间信任的建立, 而网关提供代币发行功 能。比特股( BitShares) 1112 是一个区块链开发平台,任何个人和机构都可以在此 平 台 上 自 由 地 进 行 转 账 、 借 贷 、 发 行 资 产 等 , 也 可 以 基 于 这 个 平 台 快 速 搭 建 出 去 中 心 化 的金融服务平台等。 BitShares 内置的去中心化交

11、易所 ( DEX) , 让数字资产的交易撮合 和 交 割 完 全 发 生 在 链 上 , 并 通 过 内 置 智 能 合 约 锚 定 其 他 资 产 , 如 法 币 、 比 特 币 、 黄 金 、 白银等。可惜 BitShares 项目由于开发者自身的问题,已经慢慢被边缘化。Openledger13 是 一 个 新 型 去 中 心 化 交 易 平 台 。 它 允 许 用 户 将 比 特 币 兑 换 成 法 币 锚 定的 SmartCoins, SmartCoins 可以直接通过 paypal、 瑞 波 网 关 兑 换 成 现 金 。 需 要 注 意 的是,Openledger 在很大程度上依赖

12、于 BitShares 2.0 平台以及 Graphene Toolkit。 因 此, Openledger 平台的性能取决于 Graphene Toolkit 的性能和 BitShares 2.0 平台的性 能。比特币的闪电网络 14 和以太坊上的雷霆网络 15 是两个去中心化的系统。它们 的 卓 越 之 处 在 于 , 无 需 信 任 对 方 以 及 第 三 方 即 可 实 现 实 时 的 、 海 量 的 交 易 网 络 。 闪 电 网 络和雷霆网络提供了一个可扩展的微支付通道网络。 交易双方若在区块链上预先设有支 付 通 道 , 就 可 以 多 次 、 高 频 、 双 向 地 通 过 轧

13、 差 方 式 实 现 瞬 间 确 认 的 微 支 付 ; 双 方 若 无 直 接 的 点 对 点 支 付 通 道 , 只 要 找 到 网 络 中 一 条 连 通 双 方 的 、 由 多 个 支 付 通 道 构 成 的 支 付 路 径 即 可 。 闪 电 网 络 和 雷 霆 网 络 的 突 出 贡 献 是 将 链 上 交 易 放 到 链 外 , 只 把 最 后 一 笔 清 算 交 易提交到区块链上,从而变相为区块链扩容。Bancor16 协议引入了一种基于数学模型的方案去试图解决经济学中的 “双重需求 巧合” 问题。其理念和预测市场中的 Logarithmic Market Scoring Ru

14、les( LSMR) 17 类似。Bancor 协 议 基 于 以 区 块 链 为 基 础 的 智 能 合 约 和 储 备 代 币 , 允 许 任 何 人 通 过 这 个 协议创建代币, 新的代币以预先设置的比率来持有一种或几种其它代币作为自己的储备 金 。 这 些 储 备 代 币 可 以 是 法 币 、 数 字 化 资 产 或 其 它 加 密 代 币 。 通 过 使 用 这 些 储 备 金 , 不 论有没有交易,新创建的代币都可以获得价格,并随时可以兑换回其对应的储备代币。0x 18 是一个可以在以太坊区块链上进行 ERC2019 代币对等交易的开放式协议。 该 协 议 旨 在 成 为 通

15、用 开 放 标 准 , 作 为 可 与 其 他 协 议 组 合 的 基 本 模 块 , 用 以 驱 动 越 来 越 复 杂 的 区 块 链 应 用 程 序 。 由 于 它 使 用 的 是 以 太 坊 的 智 能 合 约 系 统 , 因 此 可 以 作 为 各 种 dApps 的 共 享 基 础 架 构 。 而 从 长 远 来 看 , 开 放 式 技 术 标 准 相 比 封 闭 模 式 具 有 更 大 的 优 势,随着每个月有更多的资产在区块链上被代币化,也有更多的 dApps 需要使用这些 不同的代币,开放式标准也因此变得更加重要。此外,由 dApps 耦合到其底层协议所 导 致 的 智 能

16、合 约 冗 余 也 是 未 来 区 块 链 协 议 开 发 的 主 要 障 碍 , 因 此 在 标 准 化 之 余 , 我 们 还 需 要 一 个 合 适 的 解 耦 方 式 。 0x 协 议 试 图 将 信 息 交 换 功 能 从 应 用 层 拉 到 协 议 层 , 推 动 dApps 之 间 的 互 操 作 性 。 然 而 , 0x 协 议 的 局 限 包 括 : taker 必 须 在 线 匹 配 订 单 , 这 导 致 撮合实时性差, 难以优化成交价格; 0x 协议采用的是简单的 OTC 方式, 无法法实现复 杂订单的撮合;不同交易所之间没有明确的竞争激励机制;也没有考虑了矿工的利益。

17、上 述 努 力 由 于 种 种 限 制 , 到 目 前 为 止 依 然 没 有 能 够 撼 动 中 心 化 交 易 所 的 地 位 。 我 们 主要受到支付通道和 0x 协议的启发,提出一种更可行的链上交易撮合标准。3 协议设计 53 协议设计图 1: Loopring 协议:图中示例一个三边交易的撮合我们用上图中的三边交易,简要讲解下采用 Loopring 协议的撮合交易过程。该过 程如下:1. 用户甲、 乙、 丙分别对 Loopring 撮合智能合约 ( Loopring Matching Contract) 授 权,授权后该合约可对用户指定代币账号做不超过一定额度的转出操作 1。在上面

18、实 例 中 , 合 约 可 最 多 从 用 户 甲 的 账 号 转 出 1000 个 A 代 币 , 从 用 户 乙 账 户 转 出 9 个 B 代币,从用户丙账户转出 100 个 C 代币;2. 用 户 甲 、 乙 、 丙 分 别 生 成 自 己 的 订 单 , 并 用 私 钥 对 其 进 行 数 字 签 名 。 订 单 不 再 区 分 买 单 和 卖 单 , 所 有 订 单 都 被 视 为 交 换 单 甲 的 订 单 声 明 : 甲 愿 意 卖 出 不 多 于 1000 个 A 代币, 买到尽可能多但不少于 10 个 B 代币; 如果是部分成交, 那么 A 到 B 的兑换率不得低于 100

19、0/10 = 100.0(卖出代币数量除以买入代币数量) 。 订 单中还可以包含其它参数,我们在章节 3.7中会对订单参数进行说明;3. 甲、乙、丙分别将自己的订单通过适当的方式发送到一个或多个交易所;4. 交易所收到上述三个订单, 将它们分别放到三个对应的订单 表 ( orderbook) 中, 并 实 时 通 过 区 块 链 数 据 更 新 计 算 每 个 订 单 的 状 态 , 同 时 不 断 努 力 寻 找 能 够 撮 合 的 一 组订单 我们后续称之为交易环路或者撮合环路。 一旦确定三个订单的当前状态 可以撮合成功,且收益满足预期,即决定实施这个撮合;5. 交易所对撮合交易签名后发送

20、到 Loopring 撮合智能合约地址;1 通过 ERC20 机制实现。3 协议设计 66. 撮 合 智 能 合 约 验 证 四 方 签 名 , 之 后 验 证 三 个 订 单 ( 的 最 新 状 态 ) 是 否 可 以 真 正 成 交。 若无法成交 , 合约终止 (交易所依然要消耗一定的油费) ; 否则智能合约分别 计 算 出 甲 、 乙 、 丙 三 方 各 自 需 要 支 出 的 金 额 , 以 及 交 易 所 该 收 取 的 费 用 , 并 且 实 时 将 甲 、 乙 、 丙 账 号 中 的 资 产 进 行 互 转 , 并 完 成 对 交 易 所 的 费 用 支 付 如 下 图 所 示

21、。 在 交 易 过 程 中 , 撮 合 智 能 合 约 还 会 调 用 Loopring 注 册 智 能 合 约 ( Loopring Registration Contract) 来 计 算 交 易 所 应 该 给 予 该 笔 交 易 的 费 用 折 扣 ; 在 交 易 完 成 前,还会调用 Loopring 统计智能合约(Loopring Stats Contract) 对 交 易 所 以 及 代币相关的统计数据做更新。图 2: Loopring 协议:交易环路结算7. 交 易 所 监 听 新 的 区 块 和 链 下 新 的 交 易 数 据 , 并 根 据 这 些 数 据 更 新 订 单

22、表 , 然 后 不 断进行新的撮合。接 下 来 我 们 介 绍 可 以 撮 合 成 交 的 交 易 环 路 相 关 的 概 念 , 包 括 交 易 链 , 交 易 链 的 可 归 约性,成交价,成交量,和交易所收益模型。3.1 符号定义在正式介绍协议之前,我们要介绍一些符号的定义。Ci :编号为 i 的代币币种。Oij :一个卖出代币为 Ci, 买 入 代 币 为 Cj 的订单。 sij :表示上述订单的当前卖出代币 Ci 的数量。 bij :表示上述订单的当前买入代币 Cj 的数量。 rij :为订单 Oij 的兑换率,即 sij /bij 。为 了 特 指 订 单 的 原 始 状 态 ,

23、我 们 为 符 号 加 上 水 平 线 , 代 表 其 在 原 始 订 单 中 的 值 , 比 如 sij 和 bij 分别代表原始订单中的卖出和买入代币数量。3.2 订单兑换率恒定除非订单完全成交 , 即 sij = 0, 否则 Loopring 协议保证订单状态更新后 : sij /bij= sij /bij ,即订单中隐含的兑换率不会因为部分成交而变化,亦即 rij = rij 。3 协议设计 7在 实 际 实 施 中 , 兑 换 率 恒 定 是 通 过 先 计 算 部 分 成 交 后 卖 出 代 币 的 剩 余 量 , 再 使 用 原 始订单中隐含的兑换率来计算买入代币数量得以保证的。

24、3.3 可规约性考虑两个订单 Oij 和 Ojk , 我们可以通过中间代币 Cj 的连接 , 将其规约一个卖 出 代 币 为 Ci, 买 入 代 币 为 Ck 的 订 单 。 我 们 用 Oijk 来 表 示 这 样 一 个 订 单 , 它 和 订 单 Oik 在撮合的各种属性上是等价的,且:sijk = min (bij , sjk ) rij (1)bijk = min(bij , sjk )/rjk (2)rijk = rij rjk (3)在 这 里 我 们 顺 便 引 入 订 单 链 这 个 概 念 。 一 个 订 单 链 是 两 个 或 者 两 个 以 上 订 单 , 除 了 最

25、后 一 个 订 单 , 每 个 订 单 的 买 入 代 币 类 型 恰 巧 是 后 一 个 订 单 的 卖 出 代 币 类 型 , 但 最 后 一 个 订 单 的 买 入 代 币 类 型 不 同 于 第 一 个 订 单 的 卖 出 代 币 类 型 (否 则 就 成 了 一 个 环 路) 。 我 们 可 以 将 上 述 规 约 计 算 用 于 一 个 订 单 链 。 通 过 规 约 , 一 个 包 含 n 1 个 订 单 ( n 个不同 的代币) , 即长度为 n 1 的订单链可被视为一个单一订单 O0.n,且有:s01 如 n = 1s0.n = min (b0.n1, sn1n) r0.n1

26、 如 n 1b01 如 n = 1b0.n = min (b0.n1, sn1n)/rn1n 如 n 1n1r0.n =i=0ri i+1订 单 链 的 可 规 约 性 可 以 帮 助 我 们 在 分 析 订 单 路 径 时 简 化 模 型 , 在 后 文 的 讨 论 中 , 我 们 将 符 号 Oij 的 含 义 扩 展 到 即 包 含 简 单 的 卖 出 代 币 为 Ci, 买 入 代 币 为 Cj 的 单 一 订 单 , 也 包 含 可 规 约 成 这 样 一 个 类 型 订 单 的 订 单 链 , 如 果 为 了 强 调 是 个 订 单 链 , 我 们 会 用 Oi.j 或 Oij 表

27、示。3.4 环路撮合传 统 撮 合 系 统 是 在 两 个 币 种 间 , 即 一 个 交 易 对 的 买 卖 两 个 方 向 间 完 成 撮 合 ; 而 Loopring 协 议 将 撮 合 的 概 念 扩 展 到 多 币 种 , 通 过 交 易 环 路 来 完 成 多 个 币 种 之 间 交 易 的撮合。下面介绍一下交易环路的概念。定义 3.1 (交易环路 ) 如果有 n 个币种 C0、 C1、 、 Cn1, 和 n 个 订 单 : O01, , Oii1, , On10, 其 中 , i 1 i + 1 mod n。 那 么 这 些 订 单 可 以 组 成 跨 n 个币 种的交易环路:3

28、 协议设计 8riO01 Oii1 On10 ,其中 n 为环路的长度。当 这 些 订 单 的 价 格 满 足 一 定 条 件 时 , 我 们 可 以 对 整 个 交 易 环 路 进 行 撮 合 , 这 种 交 易 环路称为可交易环路。下面我们对交易环路中的成交价格和成交量进行讨论。3.4.1 成交条件和价格我 们 由 一 个 长 度 为 3 的 交 易 环 路 为 例 , 介 绍 环 路 可 成 交 的 条 件 。 假 定 环 路 中 的 三 个币种为 C0、 C1 和 C2, 三 笔 订 单 分 别 为 : O01、 O12 和 O20。 很 容 易 证 明 , 如 果 r01 r12 r

29、20 = 1 时 , 三个订单都可以用其自身的兑换率成交 。 当 r01 r12 r20 1 时, 三 个 订 单 都 可 以 用 比 自 身 兑 换 率 更 低 的 兑 换 率 成 交 。 我 们 称 第 一 种 情 况 为 原 价 撮 合,称第二种情况为折价撮合。Loopring 协 议 要 求 交 易 环 路 的 折 价 平 均 分 享 给 环 路 中 的 每 个 订 单 。 假 设 每 笔 订 单 兑换率折价比例为 , 那 么 最 终 完 成 撮 合 时 , 三 笔 订 单 的 成 交 价 分 别 为 : r01 (1 ), r12 (1 ), r20 (1 ), 并 且 满 足 :r

30、01 (1 ) r12 (1 ) r20 (1 ) = 1 (4)根据上式我们可以推导出:1 。 = 1 3 r01 r12 r20在更一般的情形下,如果跨 n 个币种的环路中,兑换率折扣为:1 = 1 ,其中r i表示第i个订单的兑换率。n n1i=0显然,只有在兑换率折扣 0 时,交易环路才可以真正成交;且第 i 个订单 Oi的实际兑换率 ri = ri (1 ),且有 ri ri。3.4.2 成交量当 一 个 交 易 环 路 撮 合 完 成 后 , 至 少 有 一 个 订 单 是 被 完 全 成 交 的 。 这 点 很 容 易 得 到 证 明:我们可以先假设该结论不成立,即全部订单都没有

31、完全成交。由于章节 3.2中要求 兑 换 率 在 订 单 新 状 态 ( 尾 单 ) 中 保 持 不 变 , 意 味 着 撮 合 后 新 的 环 路 依 然 满 足 成 交 条 件 。 这 就 意 味 着 之 前 的 撮 合 是 没 有 进 行 完 的 。 因 此 可 以 断 言 : 一 次 完 整 的 撮 合 应 该 会 将 至 少 一 个 订 单 完 全 吃 掉 。 我 们 称 这 个 ( 些 ) 被 完 全 吃 掉 的 订 单 为 交 易 环 路 的 最 小 订 单 。找 到 任 何 一 个 最 小 订 单 , 既 可 循 环 计 算 环 路 中 所 有 订 单 的 成 交 量 。 假

32、设 第 i 个订单 是 最 小 订 单, 那 么 每 笔 订 单 的 卖 出 代 币 成 交 量 s 和 买 入 代 币 成 交 量 b 可 以 以 此 如 下 计 算得出:si = si, bi = si/ri,其中 si为订单的卖出代币余额 ;si1 = bi, bi1 = si1/ri1;si2 = bi1, bi2 = si2/ri2;.3 协议设计 9实 际 实 施 过 程 中 , 可 以 先 假 定 第 一 个 订 单 为 最 小 订 单 , 往 后 循 环 计 算 成 交 量 , 直 到 每 个 订 单 的 成 交 量 都 不 再 变 化 为 止 。 理 论 上 最 多 循 环

33、两 次 即 可 计 算 出 每 单 的 实 际 成 交 量。3.4.3 撮合费用交易所第一种收费形式是手续费。 在订单中可以设置一个以 Loopring 的代币 LRC 为单位的费用, mi, 代表完全成交情况下编号为 i 订单愿意支付给交易所的手续费总和。 实际成交时候按订单卖出代币成交比例支付给交易所,即:f i = bi mi/bi为 了 鼓 励 交 易 所 为 用 户 找 到 兑 换 率 折 价 比 例 最 大 的 成 交 环 路 , Loopring 协 议 要 求 将兑换率折价带来的成本节约分润给交易所。 对于一个订单 Oi, 假设买入订单的成交额 度为 bi( bi bi) ,

34、我们定义成本节约为:i = bi ri Loopring 协 议 允 许 每 个 订 单 设 定 一 个 成 本 节 约 分 享 分 润 比 例 i, 并 将 交 易 环 路 上 所有订单分润比例的最小值作为该环路的分润比例 , 那 么 订 单 Oi 支付给交易所的费 用为:f i = i = bi ri 因此交易所对于一个交易环路,通过成本节约分润获得的收入为:n1F = bi ri i=0采用所有订单中最小的分润比例作为整个交易环路的分润比例, 可以激励订单采用 较 大 的 分 润 比 例 。 这 样 做 会 激 励 交 易 所 对 订 单 进 行 撮 合 , 同 时 一 旦 订 单 成

35、交 , 也 不 一 定 非要支付指定比例的分润。为 了 鼓 励 Loopring 的 代 币 LRC 的 使 用 , 如 果 订 单 中 没 有 指 定 代 币 费 用 mi, 或 mi = 0,那么该笔订单的分润比例实际被认为是 100%,而不管订单中相应参数的值是 多少。如果一个交易环路中的所有订单都没有设置代币费用, = 100%,环路中所有 成本节约归交易所所有。在 下 一 章 节 , 我 们 会 引 入 一 个 激 励 交 易 所 竞 争 的 代 币 抵 押 机 制 , 智 能 合 约 根 据 每 个 交易所代币抵押数量的排名,为每个交易所计算一个费用强制折扣,该折扣会进一 步 影

36、响 交 易 所 的 费 用 收 取 ; 同 时 , 交 易 所 也 可 以 指 定 为 某 个 交 易 环 路 做 进 一 步 的 费 用 优 惠折扣, 。因此,交易所对于一个交易环路的整体费用为:n1F = (1 ) (1 ) (bi ri + bi mi/bi)i=0两 种 不 同 的 费 用 模 型 能 够 满 足 不 同 订 单 的 诉 求 : 对 于 没 有 LRC 代 币 的 账 户 , 可 以 设 置 合 适 的 分 润 比 例 ; 对 于 有 LRC 代 币 的 账 户 , 可 以 选 择 支 付 较 多 的 代 币 费 用 , 并 将3 协议设计 10分 润 比 例 设 为

37、一 个 较 小 值 。 交 易 所 有 可 能 对 每 笔 订 单 的 代 币 费 用 值 有 个 最 小 额 度 限 制 , Loopring 协议并不对此作出明确要求。 交易所可以在自己网站上对相关标准做说明, 并 引导用户设定合适的订单参数值。3.4.4 交易所费用强制折扣Loopring 协 议 要 求 交 易 所 给 交 易 费 强 制 打 一 个 折 扣 , 折 扣 大 小 决 定 于 交 易 所 抵 押LRC 代币数量的排名,排名越靠后,折扣越高。假定排名为 n 的折扣为:n = 0.05 (ln(n + e 1) 1)。 具体返利比例如下表所示:抵押排名 n 费用强制折扣 1

38、0%2 1.57%10 7.31%20 10.39%99 18.06%100 18.11%1000 29.55%1001 30.00%表 1: 抵押 LRC 排名与费用强制折扣对于排名 1001 及以后的交易所, 或未进行抵押的交易所, 统一实施 30% 费用强制 折扣。如下图所示,费用强制折扣的下降并非线性的,如 2 1 100 99。3 协议设计 11图 3: LRC 代币抵押排名与费用强制折扣在 实 际 部 署 时 , 折 扣 函 数 中 的 参 数 需 要 根 据 市 场 行 情 不 断 调 整 , 比 如 交 易 量 和 实 时 性 。 当 市 场 交 易 量 过 于 旺 盛 时 ,

39、 会 导 致 过 多 交 易 无 法 及 时 确 认 , 这 时 需 要 降 低 整 体 折 扣 率 , 尤 其 是 原 本 折 扣 率 高 的 那 些 交 易 所 。 当 交 易 量 低 时 , 需 降 低 折 扣 率 , 刺 激 交 易 的 撮 合。3.5 防作弊和防攻击3.5.1 交易所无风险套利Loopring 协 议 致 力 寻 求 在 用 户 和 交 易 所 间 利 益 的 平 衡 点 , 打 造 公 平 健 康 的 交 易 所 生态。Loopring 协议不反对交易所的套利行为,因为套利行为本质上也是在促成交易。 但 是 我 们 禁 止 交 易 所 利 用 自 己 在 生 态 中

40、 角 色 的 特 殊 性 进 行 套 利 , 具 体 来 说 , 通 过 上 传 一 种 特 殊 的 闭 环 无 风 险 套 取 订 单 间 的 价 差 , 本 节 我 们 将 介 绍 如 何 防 止 交 易 所 的 这 种 行 为 。 在介绍之前,我们首先来分析交易所如何做到无风险套利。假设有两个订单 Oab, Oba,形成一个交易环路,且 rab rba 1。 交 易 所 可 以在这个环路上插入三个自己新生成的订单 Obc, Ocd, Odb, 生成一个长度为 5 的 新 环 路 , 并 使 rab rbc rcd rdb rba = 1。 通 过 这 种 方 式 , 交 易 所 可 以

41、做 到 将 所 有可能的成本节约变成 0,一旦撮合被智能合约接受,即可实现无风险套利。这 种 套 利 的 交 易 环 路 有 个 显 著 的 特 征 : 它 们 包 含 子 环 路 。 在 上 个 例 子 中 , 两 个 子 环 路分别是: Oab Oba 和 Obc Ocd Odb。为了杜绝交易所的这种无风险套 利,Loopring 协 议 要 求 : 合 法 的 闭 环 必 须 保 证 其 订 单 子 集 无 法 组 成 更 小 的 可 交 易 环 路 。3.5.2 交易所拒绝服务Loopring 协 议 允 许 交 易 所 选 择 性 地 为 特 定 订 单 做 撮 合 。 交 易 所

42、有 权 对 订 单 的 代 币 类 型 , 订 单 数 量 , 费 用 等 做 筛 选 , 也 有 权 对 这 些 筛 选 条 件 做 更 改 , 且 有 权 公 开 或 隐 藏 这 些筛选条件。交易发起者与交易所之间是相互选择的关系,彼此没有任何义务。3.5.3 尘埃订单攻击普 通 用 户 可 以 通 过 广 播 大 量 的 尘 埃 订 单 ( 即 数 量 非 常 小 的 订 单 ) 试 图 对 交 易 所 做 攻 击 , 不 过 由 于 撮 合 尘 埃 订 单 获 利 很 低 , 所 以 这 些 订 单 一 定 会 被 交 易 所 抛 弃 , 进 而 对 交 易 所和区块链没有任何影响。交

43、 易 所 也 可 能 采 用 同 样 方 式 发 起 攻 击 , 从 而 试 图 影 响 其 它 交 易 所 对 某 些 订 单 的 撮 合 。 不 过 这 种 努 力 也 不 会 奏 效 , 因 为 协 议 允 许 同 一 个 订 单 在 同 一 个 块 中 参 与 到 多 个 环 路 成 交 (这 些 环 路 可 能 是 不 同 交 易 所 提 交 到 区 块 链 上 的) , 换 句 话 说, 订 单 并 没 有 所 谓 的 锁定状态。3.5.4 余额不足订单攻击交 易 发 起 者 可 能 发 起 多 笔 订 单 , 但 订 单 卖 出 代 币 账 户 实 际 余 额 为 零 。 这 样

44、 的 订 单 提 交 到 交 易 所 后 , 交 易 所 很 容 易 通 过 查 询 区 块 链 地 址 的 余 额 信 息 将 该 订 单 抛 弃 , 不 过 这 种3 协议设计 12攻 击 的 确 会 浪 费 交 易 所 的 处 理 时 间 。 好 在 交 易 所 可 以 通 过 黑 名 单 机 制 , 迅 速 有 效 地 将 某 些地址屏蔽掉,拒绝再为这些地址提供撮合服务。3.5.5 撮合窃取一个懒惰交易所可以监听网络上未被确认的撮合交易, 解析交易环路并生成一个带 有 自 己 签 名 的 新 撮 合 (环 路 相 同, 只 有 受 益 地 址 和 数 字 签 名 不 同) , 通 过

45、提 供 更 高 的 交 易 费 来 窃 取 其 它 交 易 所 的 撮 合 结 果 。 特 别 当 窃 取 者 是 矿 工 时 , 这 种 作 弊 行 为 是 比 较 难 以 预防的。为防止撮合窃取,我们规定交易所上传订单环路的过程分为两步: 交易所在区块链上发一笔交易,上传订单环路的存证, 存证信息被写入区块链后,交易所提交具体环路信息。 这个存证通过哈希来实现,哈希值的生成方法为h = H(r, nonce),其中,H() 为 单 向 函 数 , r 为 订 单 环 路 信 息 。 哈 希 函 数 的 输 入 包 含 了 一 个 随 机 数 nonce, 用 于 防 止 对 哈 希 值 进

46、 行 暴 力 破 解 。 在 提 交 具 体 环 路 信 息 时 , 随 机 数 nonce 需 要 一 并 提 交。3.6 市场深度交 易 所 并 不 一 定 需 要 提 供 市 场 深 度 数 据 。 在 整 个 生 态 中 , 可 能 会 有 单 独 的 组 织 和 机 构 汇 集 全 网 的 未 成 交 订 单 或 者 交 易 的 尾 单 信 息 , 汇 总 成 独 立 的 市 场 深 度 数 据 。 市 场 深 度 数 据 可 以 根 据 章 节 3.3中 的 订 单 的 规 约 方 法 , 计 算 出 任 何 两 个 ERC20 代 币 之 间 的 买 单 卖单数据。3.7 数据格

47、式由于采用 OTC 模 型 , 所 有 订 单 可 以 用 同 一 个 数 据 结 构 表 示 。 该 结 构 包 含 订 单 本 身 的 各 种 参 数 数 据 和 发 起 者 的 数 字 签 名 。 在 签 名 前 , 先 将 订 单 参 数 数 据 连 接 成 一 个 字 节 数 组,通过 Keccak SHA3 方法对这个字节数组做散列计算得到订单的哈希,之后用账户 私钥对这个哈希进行 ECDSA 签名。message Order address protocol; / Loopring协 议 入 口 智 能 合 约 地 址 address owner; / 该 订 单 发 起 者 地

48、 址address outToken; / 卖 出 ERC20代 币 智 能 合 约 地 址 address inToken; / 买 入 ERC20代 币 智 能 合 约 地 址 uint256 outAmount; / 卖 出 ERC20代 币 数 量 上 限 uint256 inAmount; / 买 入 ERC20代 币 数 量 下 限 unit256 expiration / 过 期 时 间unit256 fee; / 交 易 总 费 用 ( LRC) , 部 分 成 交 的 费 用 按 该 次3 协议设计 13/ 撮 合 实 际 卖 出 代 币 额 与 outAmount比 例 计 算uint8 marginSplit; / fee不 为 0时 支 付 给 交 易 所 的 分 润 比 例 , 否 则 视 为 100% unit8 v;bytes32 r; bytes32 s;订 单 中 虽 然 没 有 明 确 指 定 价 格

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 金融证券 > 金融资料

本站链接:文库   一言   我酷   合作


客服QQ:2549714901微博号:道客多多官方知乎号:道客多多

经营许可证编号: 粤ICP备2021046453号世界地图

道客多多©版权所有2020-2025营业执照举报