一. 简介

R1 协议是 ONEROOT 提出的基于以太坊的去中心化交易协议。R1 协议具有去中心化交易协议的基本特性,实现了链下订单中继、链上结算、交易记录可审计、去中心化资产托管。此外,R1 协议还实现了基于委托的链上资产结算机制和订单的链上撮合功能,为基于 R1协议的交易所带来更好的交易体验。

R1协议的链下部分由 Relayer 实现。Relayer 即订单中继,是指接入了 R1 协议的交易所,负责收集用户订单、初步撮合后提交到链上进行结算。当前,接入R1协议的 Relayer 为 ROOTREX 交易所,由 ONEROOT 团队负责实现。

二. 功能

(一)去中心化的链上资产托管

用户资产存放在智能合约中,不受任何第三方控制。即使交易所被攻击,用户资产也是安全的。用户可以通过交易所提取资产,也可以调用合约接口自行提取。

(二)基于委托授权的订单上链

不同于 0x、以德、Kyber 等协议的交易模型,即订单由用户(taker)直接提交到链上结算。R1 协议使用了新的交易模型,用户对委托订单签名,授权 Relayer 在撮合成功后提交到链上完成资产结算,以获得性能提升和更好的用户体验。

(三)订单链上撮合

R1 协议包含了对双方订单的撮合,协议会根据双方订单意图进行价格匹配,满足条件后再结算。在链下,用户将委托订单提交给 Relayer, Relayer 发现订单匹配
后,将双方订单提交到链上,由 R1 协议对双方订单意图做最终的匹配和结算。

(四)共建者计划

OneRoot 共建者计划的目标是建立适配于区块链行业的经济模型,链接生态内外的所有资源。为此,需要打造系列的基础设施,而 R1 协议正是其中最重要的一环。作为基于以太坊的去中心化交易协议,R1 允许各种 ERC20 标准的数字资产在链上自由流通,为生态内各种资源的交互奠定了基础。通过独特的机制设计 R1 协议能够将交易产生的摩擦费用反哺至共建者计划基金会,用于促进生态的良性发育。在 R1 协议的基础上,ONEROOT 团队开发包含钱包、交易接入等功能的模块化配套工具产品,方便流量主更加便捷的使用协议,从而吸引更多资源进入生态。

三. 实现方式

(一)去中心化的链上资产托管

去中心化资产托管是指用户将资产(如 ETH 和 ERC-20Token )存入 R1 智能合约后,依然保持对资产的控制权,能够自由提取,Relayer 不能随意操作用户的资产。

在资产的管理上,0x 协议采用了不同的方案:用户不需要将资产存入智能台约。该方案看似带来了一定便捷性,但是用户使用 0x 交易前还是需要授权 0x 智能合约转账 Token(不授权的情况下0x合约无法转移用户的 Token),这令便捷性大打折扣。此外,如果用户未取消订单却将资产从钱包转出,可能带来交易失效的问题。这使得 Relayer 无法很好的控制订单簿,从而令交易体验大打折扣。

ONEROOT 认为,用户虽然将资产存入了 R1 智能合约,但是依然拥有对资产的百分百控制权。只要用户没有未成交的委托订单,可以随意提取自己的资产,不受第三方限制。R1 协议的去中心化资产托管方案在保证安全性的前提下,能够提升用户的交易体验。

(二)链下订单委托

链下订单需要由 Relayer 收集订单并撮合。用户的挂单不会立即提交到链上,而是先由 Relayer 的撮合引擎进行订单匹配,找到符合条件的对手单后再提交到链上交易。这样做的好处是,用户的挂单可以立即被 Relayer 放入订单簿,避免了订单提交上链的区块等待时间,能够提供近似中心化交易所的体验。

为了防止恶意挂单,Relayer 需要限制挂单的最小额度。如 ROOTREX 交易所规定用户的挂单额度至少为 0.05 ETH。R1 协议禁止挂市价单,只支持限价单交易。因为市价单提交到链上是十分危险的,会出现恶意低价吃单问题。这样可以最大限度保障用户的利益。

为了保证用户订单的真实有效不可伪造、且具有唯一性,用户提交的订单经过了 ECDSA 数字签名, 一旦签名就不可篡改

(三)基于委托授权的订单上链

Relayer 聚集了用户的委托订单, 一旦发现可以成交的订单就提交到链上结算。将交易订单提交到链上结算的动作是由 Relayer 完成的。Relayer 必须具有 R1 协议授予的管理员权限,才可以提交交易订单。通过 ONEROOT 审核的交易所才能成为管理员。

这种方式不同于0x、以德、Kyber等协议的交易模型。在以 0x 为代表的交易模型中,订单由 Taker(吃单的方)直接提交到链上结算。这种方式的好处显而易见,不需要第三方提交交易订单到链上。但是这样会发生“并发抢单失效”的问题。并发抢单失效是指,有两个用户同时吃同个挂单的时候,其中一方会失败,导致用户 Gas 浪费。

为了防止“并发抢单失效”问题,R1 协议规定交易订单由经过授权的 Relayer 来提交。由于订单需要使用用户的私钥签名,保证了唯一性和不可伪造,因此用户的订单是安全可靠的。Relayer 能做的是找出匹配的对手订单,提交到链上结算。为了激励 Relayer 撮合链下订单, Relayer 可以获得部分交易手续费。R1 协议对手续费设置了上限,不超过订单金额的 1%,以防止过高的手续费损害用户利益。

(四)订单链上撮合

R1 协议“基于委托授权的订单上链”的机制要求:Relayer 提交到链上结算的交易订单(Maker 和 Taker 的订单)必须经过用户私钥签名。

在以 0x 为代表的交易模型中,Taker 提交的交易订单只包含了 Maker 的订单信息和自己的意愿成交数量,而在 R1 的交易模型中,Relayer 提交的交易订单包含 Maker 的订单信息和 Taker 的订单信息,如下图所示。

不同于 0x 等协议的交易模型,R1 协议接收到的是 Maker 和 Taker 的订单意图,实际能否成交、成交多少需要 R1 协议来撮合。R1 协议引入的“订单链上撮合”和“基于委托授权的链上资产结算”,保证了 Relayer 可以像中心化交易所样自动撮合订单,并且实现资产的链上结算,以达到最佳的交易体验。

(五)交易记录审计

相比中心化交易所,R1 协议公开透明,避免了暗箱操作、虚假交易、数据回滚等弊端。经过 R1 协议的每笔交易都是可查询、可追溯的,一旦交易提交到链上,它就是真实可靠且不可篡改的。此外,用户的交易、存款、提现都可以在链上追踪到,不受第三方控制,最大限度保证了交易的真实性。

附:R1 协议与其它去中心化交换协议的对比

  R1 协议 0x 协议 Etherdelta Idex
资产去中心化
资产无需存取      
交易可审计
订单自动撮合  
撮合效率高      
无抢单问题      
订单数据共享    
是否开源
避免 Gas 恶意竞争      

R1 协议:基于以太坊的去中心化交易协议相关推荐

  1. 基于以太坊的去中心化存储协议Swarm计划在2季度发布1.0版

    基于以太坊的去中心化存储协议Swarm表示,下一个重要里程碑Swarm 1.0版本预计在今年第二季度发布,在此之前将以约14天的间隔发布定期更新.除此之外,Swarm计划提前在以太坊Goerli测试网 ...

  2. 基于以太坊的去中心化宠物商店构建教程

    策划|Tina编辑|盖磊区块链前哨导语:作为一款以区块链和以太坊为基础建立起来的游戏,"链养猫"游戏<谜恋猫>(CryptoKitties)去年 11 月发布至今,已经 ...

  3. 基于区块链的去中心化抗量子密钥管理系统

    摘要: 区块链技术在2008年被提出被称为比特币(我觉得应该是翻译为比特币应用了区块链技术),区块链技术是一种分布式的数据库.公钥基础设施PKI(Public Key Infrastructure)系 ...

  4. Loopring(路印协议)——去中心化交易协议真的有未来吗?

    路印协议代币的基本情况 路印协议目前流通的代币主要为LRC与LRN,分别为以太坊与小蚁生态下的代币.它们的代币基本面和发行方式都不尽相同,所以我这里来分别介绍一下. LRC: LRN: 其中因为大多数 ...

  5. 基于区块链的去中心化存储(区块链存储)的工作流程

    引入 个人电脑上存储有限,而且如果硬盘损坏数据丢失的话,也不容易恢复.因此很多人愿意把数据上传到云盘里,也就是云存储.但是云存储是服务提供商控制的,比如阿里云,百度云等,我们称为中心化的存储 ,人们对 ...

  6. 去中心化交易协议 Bancor 新增支持限价订单

    据官方消息,去中心化交易协议 Bancor 宣布新增支持限价订单,该功能通过集成 KeeperDAO 和 0x 协议实现.目前,交易者可在 bancor.network 上对任意两种代币执行限价订单交 ...

  7. 去中心化 去区块链_基于区块链的去中心化应用的四种架构模式候选

    去中心化 去区块链 Blockchain has a diverse set of use cases, ranging from finance to a decentralized Interne ...

  8. Drynx: 基于区块链的去中心化隐私保护机器学习系统

    该文章转载自本人的知乎专栏,有兴趣的小伙伴可以来我的专栏学习更多相关知识,包含了同态加密.安全多方计算.机器学习和联邦学习.近世代数等.下面是我的知乎文章首页,可以点专栏去查看确定方向的文章.所有相关 ...

  9. 【学习笔记】Mac基于truffle第一个去中心化应用(Dapp) - 宠物商店

    一.项目背景 Pete 有一个宠物店,有 16 只宠物,他想开发一个去中心化应用,让大家来领养宠物. 在 truffle box 中,已经提供了 pet-shop 的网站部分的代码,我们只需要编写合约 ...

最新文章

  1. C# chart控件基础使用
  2. 【Flutter】Flutter 拍照示例 ( 创建应用 | 安装 image_picker 插件 )
  3. 【转】不用软件,解压Win8/Win8.1的install.wim文件
  4. Storm-源码分析-Topology Submit-Client
  5. css中调整高度充满_6个很棒的PostCSS插件,让您成为一个CSS向导
  6. linux VNC白屏,VNC使用及其常见问题解决方法
  7. Jupyter notebook增加新的kernel
  8. 2021-2025年中国电动门锁行业市场供需与战略研究报告
  9. github操作实用命令
  10. Hadoop完全分布式 小bug -no.1 为啥我的集群只显示一个datanode!
  11. 云计算核心技术的基本理解
  12. DICOMRT-DiBugs:dicomParser解析无头DICOM与cornerstone显示RGB-DICOM错误
  13. jeb安装教程_《教我兄弟学Android逆向番外02 jeb工具的使用》
  14. r语言如何计算t分布临界值_如何利用R语言进行meta分析—详细教程(2)
  15. 浅谈进销存管理-【采购篇】
  16. PTA2017年天梯赛题目整理
  17. iOS系统开发入门至精通学习指南
  18. 基于python的论文摘要怎么写_Django显示文章摘要需要如何写
  19. 基于微信小程序的小程序记账本APP源码
  20. 总结numpy中的ndarray,非常齐全

热门文章

  1. php css加权重,新站如何提高网站权重
  2. 当前计算机主流的视频编辑方式,电脑视频剪辑软件排名 lightworks上榜 第一独创性强...
  3. 2022-2028年中国女性卫生用品行业市场调查研究及未来趋势预测报告
  4. web前端期末大作业 【网页设计】基于HTML+CSS2 华为商城 5页
  5. 对于穷竭搜索算法优化的思考,以一群蚂蚁在竿子上爬行为例
  6. Wondershare Filmora视频叠加教程-轻松制作画中画效果
  7. 汽车Tbox是什么?
  8. 种子网站(大型单机游戏,古老电影必备)
  9. 口罩检测三之测试与应用
  10. Stable Diffusion搭建全过程记录,生成自己的专属艺术照