小姐姐带你玩转区块链项目:Loopring(路印)协议设计
我有小广播,你要听我说:小姐姐辛苦翻译分享,心疼小姐姐的转载总可以注明来路吧!!如遇币豪们,文章下面有小姐姐的打赏地址,收基于ERC-20的各种币,一个都不嫌弃哦!
有人的地方定有交易 路印协议:去中心化交易所协议(备注:本文小姐姐参考loopring英文白皮书解读page3-4.loopring英文白皮书地址:https://loopring.org/en/index.html)
Loopring(路印协议)的交易协议设计思路
1.
用户X,Y,Z授权路印协议智能合约进入他们的代币交易账号,从上面图可以看出,智能合约从用户X中转出1000个A,从用户Y中转出9个B,从账户Z中转出100个C.
2.
用户X,Y,Z用单私钥给订单签名,所有签名的订单全网广播并且等待交易,订单1是买不多余1000个A,买不少于10个B,如果这个订单部分匹配,那么A和B之间的交易兑换率不应是不少于1000/10(卖出的代币数量除以买入的代币数量),而且订单里还可以包含其他参数。在3.7章中阐述。
3.
用户X.Y,Y继续发送订单到一个或者多个交易所。(这里英文白皮书貌似有个错误of-应该是or)
4.
接下来,交易所分别收到这3个订单,他们被替换到一个相应的订单簿中,同时实时更新区块链上的数据并且计算每个订单的状态以寻找能够匹配的订单,由此创建的交易环路和匹配撮合环路,所有的订单都能够被有效确认并且最大可能成功的被匹配和撮合。
5.
交易所对撮合成功的交易签名后发到智能合约地址完成交易。
6.
Loopring智能合约将验证4方签名,为了验证3个订单是否可以成交,如果成交失败,智能合约将中止(有些交易费用会免除)然而,路印智能合约需要计算每个用户的交易流程和成本之后才能完成整个代币交易。如下面的图示。每个交易过程,路印智能合约都会使用路印注册合约计算交易关闭前的所有的费用和折扣,这个系统也要使用到路印智能统计合约对交易所的数据进行更新。
7.
交易所从链上接收新的块和交易数据,根据这些数据更新订单表,以便最大匹配度的撮合新建订单和订单池里已有订单的交易达成。
Loopring(路印协议)解决了什么问题:
1)订单的流动性被众多交易所分割
2)资产托管的高风险问题
3)不同的交易所之间存在价差
Loopring(路印协议)如何工作?
链你的资产不需要托管,在你的区块钱包里,只需要用私钥对订单进行授权签名,Loopring协议的去中心化网络对你的订单进行全网广播,而你的资产仍然在你的钱包了并且可以转入转出,既安全又提高资产的可用性。
例如:
假如你想用eth 换eos ,你只需要用你的私钥对订单进行授权签名。如果有另外一个用户恰好想用eos换eth,那么去中心化网络的矿工们忙着给你们进行撮合,并且通过链上的智能合约对这两个token进行交换,路印协议的订单是在链外传播和撮合的,撮合成功的交易是在区块链上进行,这对目前公有链的性能问题得到了缓解。
Loopring(路印)的特色:环路协议撮合交易技术
传统的币币交易中只能实现两种代币对手单交易
两个订单的对手单交易:
例如小花同学有10个eth,她想用10个eth换100个eos,于是,发送一个订单到交易所,一般的传统交易所是接到订单后,需要的等待有人愿意用eos换eth的订单出现,对于交易量大的交易所或者代币种类需求量大的可能不需要等待很久,如两种都不是的情况下,你就需要等待过长时间才能达成交易。
中心化交易所的困扰这时候,如果各大交易所用路印协议监听链上交易,同时接收到小花同学的订单,这时如果某小草同学发出了用100eos换500uip的订单,接着小石头同学用500uip换10个eth,那么这时候各大交易所就会赶紧撮合成交。
交易完成结果就是:
小花同学从小草同学处得到100个eos
小草同学从小石头同学处得到500uip
小石头同学从小花同学处得到10个eth
这个例子是个相对完美的撮合流程,如果每个人的订单的代币是部分成交易或者其他情况,那么剩余部分会等待继续被撮合。这就是路印的撮合环路特点。
路印的环路撮合可以实现多个订单的对手单交易
面对上千种代币交易的交易市场,交易路径将会更加复杂,假如用户小花同学想用lrc换eos,用户小草同学想用eos换zil,用户小石头同学想用zil换oct等,传统的币币交易是无法将这个三个订单撮合成功的。或者他们分别在不同的交易所挂了订单,且都没有成交。那么Loopring会把订单转移到其他一个或者多个交易所找到合适的价格促成这些订单交易。Loopring保证会得到最好的价格,Loopring的环路撮合技术可以一次性的处理包括多种代币的多个订单,Loopring将市场上把所有参与交易的订单形成了一个巨大的订单池。这也确保大量资金流入流出市场时数字货币价格的相对稳定,Loopring的环路撮合技术不仅仅可以提高交易收益,更可以提高流动性和交易成功率。
一个成功的订单的循环周期每个人都可以成为去中心化交易所
路印是个开放时的撮合生态,如果你想要创建一个自己的去中心化交易所,在家里打开电脑,下载并运行路印的撮合软件,你的电脑就成了去中心化的交易所,你可以享受撮合成功带来的交易手续费用和利润分成,如果你有一定的数字资产还可以改进撮合算法作为做市商直接提供流动性获取更大的收益。
lola
2018.02.09 17:00
今天玩到这里,小姐姐辛苦,还请币豪们慷慨打赏:
小姐姐的打赏地址:(imToKen)
0x9a91F261dDA8619fC8E022886D293e0f64FA9e8c
备注:以下是LOOPRING 英文白皮书page3-4内容
1.User X, Y, and Z authorize the Loopring smart contract to access their accounts for token trading. From the above figure, such a contract may transfer out 1000 A tokens from User X’s account, transfer out 9 B tokens from User Y’s account, and 100 C tokens from User Z’s account;
2. User X, Y, and Z place their own orders with signature using their private keys. Thus, all orders go into a medium and are ready to be exchanged - Order 1 is selling no more than 1000 A tokens and purchasing no less than 10 B tokens; if the order is partially matched, then the exchange rate between tokens A to B should be no less than 1000/10=100.00 (number of tokens sold divided by number of tokens purchased). Furthermore, to illustrate other parameters involved in chapter 3.7;
3.User X, Y, and Z continue to send their orders to one of the other multiple exchanges;.
4.After the exchange received all three separated orders, they will replace them into a corresponding order-book, while updating a new block and calculating each orders status to match the set order - creating a loop we delineate as a ring exchange or matching exchange. Once all the orders are confirmed and successfully mix-matched;
5.Exchange will send out a signature to the given Loopring smart contract address;
6.Loopring smart contract will verify quadruple signatures in order to verify three orders closing. If closing fails, the contract will be terminated (certain exchange gas cost exempt); otherwise, Loopring smart contract needs to calculate the proceeds and cost for each users, to complete the token exchange — as illustrated in the figure below. During each step, Loopring smart contract will use Loopring Registration Contract to calculate all the fees and discount before closing. The system will also need to use Loopring Stats Contract to update the database.
7. Exchange begins receiving new block and new data from the chain in order to update the order-book to mix-match new and existing orders.