路印协议新一代区块链资产交易协议和交易所。它采用去中心化技术,提供零风险的代币交易所模式,并允许多家交易所通过竞争,对同样的订单进行链外撮合及链上清结算。
路印协议将彻底解决现有中心化交易所模式的一些固有风险。
主要特性有:
路印协议订单中的卖出代币不必充值到交易所做资金托管,在下单、撮合、清结算过程中一直保存在用户自己区块链的地址中。订单不锁定用户区块链上的代币,下单后用户依然可以任意使用自己的数字代币,余额不足时路印协议自动调整订单的数额且保持价格恒定。使用路印协议,交易所倒闭跑路都不会对用户有任何影响。
路印协议一次撮合可将十几个包含不同类型代币的订单做环路撮合。
订单在区块链外生成,传播、撮合;链上清算转账。理论上100%安全,用户资金不会丢失或被盗。
路印协议中一个订单可以被广播给多个交易所,被这些交易所并行撮合。一个订单可被一个交易所撮合成功一部分,被另一个交易所撮合成功另一部分。交易所之间存在竞争关系,因此订单会被更快、更好(价格最优)地撮合。使用路印协议下单,交易不会因交易所被DDOS攻击而无法得到及时撮合。
路印协议是个去中心化安全交易的协议层,可在多个智能合约公有链上实现,而不依赖于某个特定平台。我们会在以太坊上率先实现第一个版本,接下来会在EOS,ETC,量子链上部署协议,为这些平台提供代币流动性支持
1 背景
区块链 [1][2] 作为比特币 [3] 的底层技术,本质上是去中心化无信任环境中的存在
性共识机制 [4][5]。存在性可应用于各种不同的数据,如股权,版权,使用权等。尽管联
盟链和企业私有链中共识数据的类别正在变得越来越多样化,但这些数据的价值却有着
明确的边界限制 — 只限于联盟成员间和企业内部。我们认为区块链的价值网络属性目
前只有在公有链中才能得到更好的体现。根据 coinmarketcap.com 的统计,截止本文成
稿时间,区块链上代币总市值已经接近 790 亿美元,以太坊区块链[6](ETH)上承载
的代币市值也已超过 170 亿美元。
区块链对各行业都可能有着深远的影响,尤其是金融领域。我们相信基于区块链的
新金融会有一个明显趋势,即资产代币化(Tokenization)[7][5]:一方面链下资产的使
用权,所有权,分红权等相关权益通过抵押,会以代币(Token)[2] 的形式发行到区块
链上,另一方面区块链上资产也会进行跨链发行。资产代币化的目标之一就是低成本,
全球化,全天候的高流动性。而流动性则主要通过交易所得以实现,因此一个更适合区
块链上代币的交易标准对于区块链金融至关重要。
现阶段交易所都采用类似的模式:交易所要求用户将法币或者代币充值到交易所的
银行账户或区块链地址中,然后交易所在自己的私有虚拟账户系统中为用户进行 IOU
记账。用户实际交易的是这些 IOU。为了将IOU 兑换成法币或区块链代币,用户需要
向交易所提出提现申请,提现成功后,才算真正交易完成。在这个过程中,交易所替用
户保管资产的能力是用户最大的风险;同时用户还需承担交易所运营者商业道德带来
的其它风险,比如挪用资金造成资不抵债等。 2014 年2 月当时世界最大的比特币交易
所 Mt.Gox 的 85 万个比特币被盗一空 [8],公司向日本东京地方法院申请破产保护。该
公司的用户至今仍在等待其返还尚未被盗的少量比特币。随着调查的不断进行 Mt.Gox
被曝出所谓的比特币被盗其实是监守自盗。 85万个“被偷窃”的比特币中,实际上因
外部盗窃失踪的仅为 7000 个。2016 年 8月最大的美元比特币交易平台香港的 Bitfnex
由于网站出现安全漏洞,导致用户持有的比特币被盗,被盗的比特币共 119756枚,总
价值约为 6500 万美元。随后该公司决定由所有用户共同分担损失以避免破产。这些发
生过的事件一方面反映出区块链代币交易在各个国家监管政策的缺失,另一方面也证实
了中心化交易所模式的固有风险。
本文描述的基于区块链的去中心化交易机制就是为了彻底解决上述问题。去中心化
交易的核心优势之一是避免任何资产被托管,因此资产就不存在被盗的可能,这会极大
降低用户对交易所的信任成本。这种交易机制的另一个优势是没有地缘和时间限制,以
及极高的透明性和可追溯性。这些特点会促使交易整体具有更大的流动性和更小的价
差。
2 相关工作
开源社区已经有过一些基于区块链搭建去中心化交易所的尝试,如瑞波(Ripple)、
比特股(BitShares)、 Openledger 等。
Ripple [9] 是一个去中心化的银行系统间清算协议,是为了解决银行间清算的高费
用和高延迟问题而设计,具有快速、方便、超低费用的优点。 Ripple 提出了一项In-
2 相关工作 | 4 |
terledger [10] 协议(ILP)实现跨账本的资产交易。ILP 本身并不是一个账本,相反,它 | |
提供了一个顶层加密托管系统,在称之为“连接者”的中介机构的帮助下,可以让资金 | |
在各账本之间进行流动。 Ripple交易依赖于网关间信任的建立,而网关提供代币发行功 | |
能。 | |
比特股(BitShares)[11][12] 是一个区块链开发平台,任何个人和机构都可以在此 | |
平台上自由地进行转账、借贷、发行资产等,也可以基于这个平台快速搭建出去中心化 | |
的金融服务平台等。 BitShares内置的去中心化交易所(DEX),让数字资产的交易撮合 | |
和交割完全发生在链上,并通过内置智能合约锚定其他资产,如法币、比特币、黄金、 | |
白银等。可惜 BitShares项目由于开发者自身的问题,已经慢慢被边缘化。 | |
Openledger[13] 是一个新型去中心化交易平台。它允许用户将比特币兑换成法币锚 | |
定的 SmartCoins,SmartCoins 可以直接通过paypal、瑞波网关兑换成现金。需要注意 | |
的是, Openledger在很大程度上依赖于 BitShares 2.0平台以及 Graphene Toolkit。因 | |
此, Openledger平台的性能取决于 Graphene Toolkit的性能和 BitShares 2.0平台的性 | |
能。 | |
比特币的闪电网络 [14]和以太坊上的雷霆网络 [15] 是两个去中心化的系统。它们 | |
的卓越之处在于,无需信任对方以及第三方即可实现实时的、海量的交易网络。闪电网 | |
络和雷霆网络提供了一个可扩展的微支付通道网络。交易双方若在区块链上预先设有支 | |
付通道,就可以多次、高频、双向地通过轧差方式实现瞬间确认的微支付;双方若无直 | |
接的点对点支付通道,只要找到网络中一条连通双方的、由多个支付通道构成的支付路 | |
径即可。闪电网络和雷霆网络的突出贡献是将链上交易放到链外,只把最后一笔清算交 | |
易提交到区块链上,从而变相为区块链扩容。 | |
Bancor[16] 协议引入了一种基于数学模型的方案去试图解决经济学中的“双重需求 | |
巧合”问题。其理念和预测市场中的 Logarithmic Market Scoring Rules(LSMR)[17] | |
类似。 Bancor协议基于以区块链为基础的智能合约和储备代币,允许任何人通过这个 | |
协议创建代币,新的代币以预先设置的比率来持有一种或几种其它代币作为自己的储备 | |
金。这些储备代币可以是法币、数字化资产或其它加密代币。通过使用这些储备金,不 | |
论有没有交易,新创建的代币都可以获得价格,并随时可以兑换回其对应的储备代币。 | |
0x [18] 是一个可以在以太坊区块链上进行ERC20[19] 代币对等交易的开放式协议。 | |
该协议旨在成为通用开放标准,作为可与其他协议组合的基本模块,用以驱动越来越 | |
复杂的区块链应用程序。由于它使用的是以太坊的智能合约系统,因此可以作为各种 | |
dApps 的共享基础架构。而从长远来看,开放式技术标准相比封闭模式具有更大的优 | |
势,随着每个月有更多的资产在区块链上被代币化,也有更多的 dApps需要使用这些 | |
不同的代币,开放式标准也因此变得更加重要。此外,由 dApps耦合到其底层协议所 | |
导致的智能合约冗余也是未来区块链协议开发的主要障碍,因此在标准化之余,我们 | |
还需要一个合适的解耦方式。 0x协议试图将信息交换功能从应用层拉到协议层,推动 | |
dApps 之间的互操作性。然而,0x 协议的局限包括: taker 必须在线匹配订单,这导致 | |
撮合实时性差,难以优化成交价格; 0x协议采用的是简单的 OTC 方式,无法法实现复 | |
杂订单的撮合;不同交易所之间没有明确的竞争激励机制;也没有考虑了矿工的利益。 | |
上述努力由于种种限制,到目前为止依然没有能够撼动中心化交易所的地位。我们 | |
主要受到支付通道和 0x协议的启发,提出一种更可行的链上交易撮合标准。 |
3 协议设计 | 6 |
6. 撮合智能合约验证四方签名,之后验证三个订单(的最新状态)是否可以真正成 | |
交。若无法成交,合约终止(交易所依然要消耗一定的油费);否则智能合约分别 | |
计算出甲、乙、丙三方各自需要支出的金额,以及交易所该收取的费用,并且实 | |
时将甲、乙、丙账号中的资产进行互转,并完成对交易所的费用支付 —如下图 | |
所示。在交易过程中,撮合智能合约还会调用 Loopring注册智能合约(Loopring | |
Registration Contract)来计算交易所应该给予该笔交易的费用折扣;在交易完成 | |
前,还会调用 Loopring统计智能合约(Loopring Stats Contract)对交易所以及 | |
代币相关的统计数据做更新。 |
3 协议设计 | 7 |
在实际实施中,兑换率恒定是通过先计算部分成交后卖出代币的剩余量,再使用原 | |
始订单中隐含的兑换率来计算买入代币数量得以保证的。 |
3 协议设计 | 9 |
实际实施过程中,可以先假定第一个订单为最小订单,往后循环计算成交量,直到 | |
每个订单的成交量都不再变化为止。理论上最多循环两次即可计算出每单的实际成交 | |
量。 |
3 协议设计 | 10 |
分润比例设为一个较小值。交易所有可能对每笔订单的代币费用值有个最小额度限制, | |
Loopring 协议并不对此作出明确要求。交易所可以在自己网站上对相关标准做说明,并 | |
引导用户设定合适的订单参数值。 |
抵押排名 n | 费用强制折扣 λ |
1 | 0% |
2 | 1:57% |
10 | 7:31% |
20 | 10:39% |
99 | 18:06% |
100 | 18:11% |
1000 | 29:55% |
1001 | 30:00%∗ |
3 协议设计 | 12 |
攻击的确会浪费交易所的处理时间。好在交易所可以通过黑名单机制,迅速有效地将某 | |
些地址屏蔽掉,拒绝再为这些地址提供撮合服务。 |
message MatchRing { Order[] orders; |
// 该次匹配的所有订单 |
address feeRecipient; | // 费用收取地址 |
4 LOOPRING 协议代币LRC | 14 |
max(balance; outAmount)作为实际的可成交金额。这里可以看出,订单的卖出代币并 | |
不需要锁定的过程。用户提交订单后依然可以任意支配卖出代币作为他用。交易所不仅 | |
仅要监听订单被(其它交易所)撮合的结果,还需要监听订单账户的余额变动情况。看 | |
起来这种对区块链数据的监听和对订单状态的更新有些复杂,但这些反而极大简化区块 | |
链上合约的逻辑,这种思路和比特币闪电网络,以太坊的雷霆网络的思路是一致的。 |
4 LOOPRING 协议代币LRC | 15 |
• 作为交易所注册抵押—订单发起者希望自己的订单得到最好的撮合,这要求交易 | |
所在各个方面都做到专业,特别是对全部订单的汇聚情况。由于去中心化交易没 | |
有地域限制,一个好的交易所应该能比一个相对差的交易所看到更多的订单,也 | |
应能在最短时间内找到最好的交易环路。为了鼓励实力强的交易所,淘汰实力差 | |
的交易所,我们提供一种交易所注册抵押机制:交易所可以将一定数量的 LRC 代 | |
币抵押给智能合约。交易所可以随时申请抵押代币的解冻,但申请提出后,一年 | |
后才锁定的代币才可以转账出去。并不是所有交易所都必须进行注册抵押。交易 | |
所代币抵押的另一个作用是防止交易所为了抛弃不利的历史统计数据而频繁变动 | |
身份。 |
4 LOOPRING 协议代币LRC | 16 |
• 强制折扣函数强制折扣函数需要根据市场行情不断调整,比如交易量和实时性。当 | |
市场交易量过于旺盛时,会导致交易过多而无法及时确认,这时需要降低整体折 | |
扣率,尤其是原本折扣率高的那些交易所。当交易量低时,需降低折扣率,刺激交 | |
易的撮合。如下图所示,其中蓝色为交易量正常时的折扣率,黄色为市场交易量 | |
过高时的折扣率,红色为交易量过低时的折扣率。 |
6 总结 | 18 |
的概念。一个从 A到 B 的订单不一定要一个反向的从B 到 A订单才能撮合,只要有 | |
一个交易环路被发现,就可以撮合。也可以说传统交易所的交易对是多边交易环路的一 | |
个最简特例。为激励撮合价格最优的交易环路, Loopring协议的收费模式以成交的“成 | |
本节约分润”为主,交易手续费为辅。 |
传统交易所 | Loopring 交易 所 |
|
托管下单资金 | 是 | 否1 |
下单资金冻结 | 是 | 否2 |
需充值提现 | 是 | 否3 |
有内部交易风险 | 是 | 否4 |
倒闭会造成用户损失 | 是 | 否5 |
收入主要来源为手续费 | 是 | 否6 |
支持法币 | 是 | 是7 |
同一个订单可以提交给多个交 易所 |
否 | 是8 |
Maker 和 Taker 是否平等 | 否 | 是9 |
支持环路交易 | 否 | 是10 |
监管必要性 | 强 | 弱11 |