OKEN中合约合约是怎么玩的

R1协议是一种高效的去中心化Token互换協议它解决了传统Token互换协议撮合效率低、用户体验差等问题,将去中心化Token互换协议带入了一个新的高度目前,基于以太坊的版本已经實现后续会开发其他公链版本如NEO、QTUM等。

去中心化Token互换协议的发展

传统互联网是传递信息的网络信息都保存在中心化的机构中,由于缺乏可靠的信任机制陌生节点间无法完成大规模的价值互换。的出现使可信的价值转移成为了可能它对中心化互联网发起了挑战,同时吔带动了区块链技术的蓬勃发展在后比特币时代,涌现了一大批区块链创新技术以太坊正是新型区块链的卓越代表,除了价值转移外它实现了智能合约,将现实世界的规则以算法的形式映射在区块链上极大的扩展了区块链的应用范围。一大批区块链项目基于以太坊嘚ERC-20标准发行了自己的代币据不完全统计,目前以太坊上运行的代币超过一千种 构成了庞大的代币经济体系。

种类繁多的代币对于交换提出了强劲的需求带动了去中心化Token互换协议的研究,陆陆续续涌现了Etherdelta、0x、IDEX等去中心化交易所不断的挑战中心化交易所的地位。但是受限于当前以太坊的性能,他们都存在着或多或少的问题交易体验不尽如人意。

Etherdelta的用户需要把资产存入Etherdelta智能合约在交易时,用户将订單拦到链FRelayer等待别人来成交。如果想要吃别人的订单用户需要手动指定对应的订单发起交易。Etherdelta不会自动撮合用户的订单交易体验较差。

0x用户不需要将资产存入智能合约只需要钱包中拥有ETH或T oken即可。在开始交易之前用户需要将钱包中的ETH转换为一种叫做WETH的代币。WETH是与ETH等价嘚ERC-20代币转换比例为1:1,将ETH转换成W ETH可以使0x合约方便的与其他ERC-20Tokcn进行结算

开始新交易对的交易前,用户还需要设置对应Token的权限授权允许0x合约轉移该Token。尽管0x做到了足够的去中心化但是其撮合效率还是很低。对接0x协议的撮合引|擎必须不问断的***用户钱包的资金进出如果用户錢包的余额不足,就需要把用户的委托订单从订单簿中剔除一旦剔除不及时,该委托订单的对手方将交易失败在网络拥堵或者波动大時,这种情况可能频繁出现严重影响用户体验。

意识到0x协议的不足——0x智能合约和Rela yer无法完美的协调合作IDEX选择由中心化的Relayer将交易提交到鏈上。这样IDEX可以很好的空制订单顺序但是任然没有解决抢单的问题。

R1协议的架构包含三部分

作为去中心化的媒介,R1智能合约部署在以呔坊区块链上可以存储用户的资产、交易记录,达到资产去中心化、交易记录可审计的目标

Relayer是订单中继系统,与R1智能 合约交互主要負责订单撮合与提交上链。Relayer对外提供OpenA允许第三方交易所提交订单到撮合引擎。

第三方交易所的主要职责是收集用户的订单数据并将签洺后的订单提交给Relayer。通过R1协议不同交易所可以成为分布式商业系统的一部分,共享订单数据和流动性为用户带来更好的交易深度和体驗。

订单交易处理流程描述了从用户提交订单开始到Relayer撮合订单,再到将交易数据提交到区块链上的过程如图所示:

1. 用户输入订单信息。用户以一定价格和数量买入或者卖出token 客户端将数据转换成约定的订单数据格式。

2. 用户使用私钥对订单签名私钥由用户保管,任何交噫所以及Relayer不存储用户的私钥放入后台订单池。签名完成后客户端将订单信息发送给Relayer, Relayer对订 单信息进行合法性校验后放入订单池进行撮合。

3. 后台撮合成功Relayer的撮合引擎对来自不同交易所的所有订单进行统一撮合。

4. 后台提交到链上交易撮合成功后,Relayer会将匹配的两个订单信息及交易额提交到区块链上进行最终的结算

以上为订单交易的基本流程,下面详细说明每个过程的技术细节包含:

在交易所中,用戶的订单信息体现为:交易对+交易价格+交易数量

而在R1智能合约中,订单的数据格式如下:

●baseToken:交 易对锚定的基础token默认填0,表示对ETH的交噫对如果是对RNT的交易对,此处填RNT的合约地址

● expires:订单过期区块数默认设置-一个比较大的值,表示永不过期

● nonce: 随机数 用来保证订单唯一性,目前的方案是nonce值为时间藏

●feeToken: 手续 费支付方式如果为0,按传统方法支付即手续费从用户获得的token中扣除。如果为token合约地址则使用该种Token支付手续费,前提是用户存入了该token到R1智能合约中

为了让用户的订单能够在网络中安全的传播并且不被篡改需要用户的私钥对订單数据进行签名。

订单数据的签名过程为:

客户端将订单数据签名完成后会将订单原始数据、订单哈希值和订单签名一起发生到Relayer。Relayer会对這些数据进行合法性校验主要校验订单哈希值是否一致、订单签名是否正确,以防止订单数据被篡改

需要强调的一点是,对于Relayer来说茬接收到用户的订单信息之前,无法知道这个用户是maker还是takerRelayer会根据订单信息到达的时间先后和当前订单池的数据,来决定这个用户是taker还是maker如果订单池中有对应的订单匹配价格,则最新提交订单的用户成为taker另一方则成为maker。所以每个用户提交的订单都应该包含订单原始数據、订单哈希值和订单签名,对于Relayer来说每个用户都是对等的

Relayer主要负责订单撮合、钱包余额维护、提交上链等。Relayer内部各系统组成如下图所礻:

● OpenAPl: Relayer 对外提供API第三方可以通过OpenAPI提交订单、查询交易状态、订单深度以及钱包余额

● Valiator: 对订单数据合法性进行校验,对账广余额进行校验

● BlockSyncing: 负责区块信息同步同步区块链余额信息等

●Store: 存储模块。负责存储信息临时数据缓存等。

Relayer收到订单数据后的内部处理流程如丅:

1. 对订单数据进行校验 这里主要校验订单的哈希值是否匹配,防止订单数据被篡改;校验用户签名是否正确保证订单数据确实由某个擁有正确私钥的账号发起; 校验余额是否充足; 这里任何一步交易不通过都会引发订单提交的失败

2. 订单撮合。订单数据校验成功后订单被放叺撮合引擎进行撮合,同时订单数据记录到中撮合引擎会根据订单提交时间和价格高低来匹配订单,一旦撮合成功会标记订单成交。並且会将匹配的两个订单放入消息队列等待提交到链上结算。

3. 提交上链 提交到链上结算调用合约的batchTrade或trade方法, 并且只有admin账号进行提交admin賬号是由合约owner设置的账号,有权限调用trade方法为了提高并发,Relayer可以用多个admin账号调用trade方法

由于调用trade方法的是admin账号,因此gas费用是从admin账号中扣除的Relayer需 要保证admin账号有足够的ETH额度,否则可能由于额度不足以支付gas费用而无法提交上链

这笔gas费用会由admin事先垫付,但是最终还是需要由交噫双方来共同承担目前的做法是maker和taker各承担gas费用的50%。

所以用户的手续费包含两部分:交易额的0.1%+ gas费用的50%。Relayer会根据这 个原则算出需要扣除的token數量传入trade方法作为参数,trade方法 会扣除相应的费用对于用户来说,用户实际得到的token数量会比交易计算得到的数量少一些少的部分即为扣除的费用。

链上结算的逻辑主要在R1智能合约的trade方法中实现trade方法主要对maker和taker的订单进行校验,以及做资产的链上交割

以下说明trade方法的具體实现细节

trade方法的输入参数包含以下几部分: ;

1. maker的订单数据(见订单数据格式一节说明)

2. taker的订单数据 (见订单数据格式一节说明)

5. 交易额( Relayer根据撮合结果设置本次交易额)

7. 接收手续费的账号 (由Relayer设置)

其中1、2、3、4这四部分的信息由用户提供,其他人都不可篡改;而5、6、7三项数據由Relayer设置

在进行最终的资产交割前,需要交验输入的参数是否合法以保证交易能够按照用户的意图进行成交。需要校验的步骤包含:

●feeAccount (手续费接收账号)必须合法也就是说feeAccount必须是合约owner授权过的

●交易双方的订单必须是同一交易对。合约中的代码片段:

· maker和taker的签名确認 合约中的代码片段如下:

· 订单价格必须匹配。订单成交的基础是价格匹配价格必须满足:

●余额充足。需要保证订单交易的时候囿足够的额度不会超过用户希望交易的额度

以上所有条件校验通过,才能进行最终的资产交割交割成功,该笔交易会完整的记录在区塊链上

R1协议的充值提现与中心化交易所的流程基本一致,不同的是使用R1协议的用户将资金存入智能合约中不受任何第三方控制,即使茭易所被黑客攻击用户的资金也是安全的,做到了资产的去中心化需要注意的是,只有私钥的所有者才能操作转入R1智能合约的资产鼡户需要妥善保管自己的私钥。

R1智能合约中用户通过两个方法进行充值:

deposit方法允许用户将eth充入R1智能合约中该方法会在区块链上登记用户嘚资产余额,同时抛出一个Deposit 充值事件; Relayer通过***该事件感知用户的充值

depositToken方法允许用户将token充入R 1智能合约中。与充值eth的不同之处在于根据ERC-20 Token的標准,用户充值前需要调用token合约的approve 方法授权R 1智能合约转账token。只有完成这一步操作 用户才能成功将token充入智能合约中。为了减少approve操作次数接入R1协议的交易所可以在用户第一次充值token时让用户授权一个比较大的额度。这样用户再次充值该token时,不需要进行额外的approve操作消耗gas 费鼡。

用户可以随时取出自己的资金不需要人工审核。R1智能合约的用户提现有以下几种方法:

adminWithdraw是比较常用的提现方法它的原理是,用户將提现的操作委托给RelayerRelayer根据用户的提现请求调用R1合约的admin Withdraw,将资金转账给用户的钱包由于提现请求需要用户的私钥签名,任何第三方(包括Relayer )都不能篡改用户的数据保证了提现的安全可靠。该方法的意义在于提现请求最先由Relayer感知,Relayer可以快速及时地更新订单池提供更好嘚交易体验。

withdraw适用于懂得如何调用智能合约的用户如果用户不希望将提现数据委托给Relayer,那么他可以选择调用合约的withdraw方法但是在调用该方法前,用户需要经历一个两阶段提现的过程即用户需要先调用apply Withdraw方法申请提现,在满足以下两个条件的情况下用户才能调用

withdraw方法成功提现。这两个条件是:

2. 申请超过了一定的等待期后;

等待期由合约的owner设置当前设置的等待期为7天。合约owner会视不同情况调整等待期如1天甚臸1小时,但不能超过7天

withdrawNoLimit允许用户方便的提现。只需要调用该方法即可提现前提是合约的owner开启该方法的开关。一般情况下该方法是关闭嘚只有在特殊情况如Relayer由于某些原因不能及时响应用户的提现申请时,该方法才会打开方便用户提现。

作为以太坊区块链上的-份智能合約R1 由ONEROOT团队创建并部署,即R1智能合约的owner为ONEROOT团队为了保证R1协议安全稳定的运行,R1 智能合约的owner拥有一些特殊的权限包含:

● 设置手续费账號。只有经过授权的账号才能接受用户支付的手续费

● 调整提现等待时间。R1智能合约的owner可以根据情况调整提现等待时间方便用户提现。

● 开启便捷提现开关在特殊情况下,如Relayer无法提供提现服务时R1 合约的owner需要开启该开关,方便用户快速地提现

admin Withdraw是比较常用的提现方法。它的原理是用户将提现的操作委托给Relayer,Relayer根据用户的提现请求调用R1合约的adminWithdraw将资金转账给用户的钱包。由于提现请求需要用户的私钥签洺任何第三方(包括Relayer )都不能篡改用户的数据,保证了提现的安全可靠该方法的意义在于,提现请求最先由Relayer感知Relayer可以快速及 时地更噺订单池,提供更好的交易体验

作为价值传输网络的重要组成部分,中心化Token互换协议的研究日益深入相关产品层出不穷。R1协议专注于提升用户的交易体验力求达到中心化交易所的标准。然而对所有基于以太坊的协议来说,以太坊网络的处理能力始终是提升交易速度嘚瓶颈但这并非一成不变的,即将到来的Plasma技术为以太坊带来了商用化的希望

Plasma技术的实现将大幅度提升以太坊网络的TPS,改变以太坊网络擁堵的状况同样的,R1协议也可以采用Plasma技术在以太坊上部署-份Plasma合约, 同时启动一条Plasma子链将Relayer的功能迁移到Plasma子链上,在提升性能的同时做箌完全的去中心化

除了以太坊网络的技术发展,在其他公链上实现R1协议也是ONEROOT团队的研究方向以EOS为例,随着生态的不断发展基于EOS的Token将樾来越多,相应的去中心化交易所也会不断涌现受益于良好的TPS性能,这些交易所性能将远超以太坊为用户带来非凡的交易体验,而这吔是ONEROOT研究的方向

据介绍,蚂蚁矿池创新区AntPool Labs将采用独特的新型架构实现小币种快速上币,同时将为用户...

Coinbase声称黑客没有从其账户窃取任哬资金,但这只是针对加密货币及其交易平台的一系列网络犯罪...

使用区块链不仅可以降低成本和节省时间还可以确保更好的数据完整性,更容易地控制欺诈程度而目前的集中...

自从区块链在2008年首次与比特币一起问世以来,这项技术吸引了大量的关注和投资事实上,Junipe...

区块鏈解决了困扰着企业日常运作的现有金融系统和安全基础设施的一系列问题区块链是一个多功能的解决方案...

对于大的开发商来说,出于商业利益的考虑势必是选择有稳定和健康发展的成功产品去运作,***问题虽然被各...

加密货币仍然是一种有趣但令人困惑的金融产品咜们的波动性既有吸引力,同时也有吓人的一面获取比特币或...

速度跟费用是在Ethereum上蛮需要解决的问题,依照目前的资讯目前网路上每秒的岼均交易数量为10个...

加密代币作为一种新兴资产主流认同是由比特币开始。比特币打从设计理念上就具备高度安全的本质按其Po...

加密货币昰全球金融的新前沿;但是,就像美国蛮荒西部的拓荒时代一样无限的机会带来了肆无忌惮的盗窃和欺...

由于下列讨论的原因,我们认为没囿足够的证据表明 CTOR 提议将实际提供其声称的益处并且实现这种有...

比特币区块链有许多替代提议。其中一些替代方案除了解决网络安全問题,还有其他价值或效用一些山寨币已...

区块链技术的主要优势是允许您记录和保存数据,这样几乎不可能伪造或歪曲数据这些数据哃时存储在区块链的...

区块链技术适用于那些需要无信任交易和安全记录保存的公司。它正慢慢地进入我们的世界初创公司和一些大公...

由於开发人员遇到的众多障碍短期内无法克服,原定于去年10月份进行的“君士坦丁堡硬分叉”一再延期先是...

区块链技术领域基础设施——虛拟机,是实现智能合约系统最为关键和核心的技术智能合约不仅是业务逻辑的载...

法律合同仍然是书面的,必须在原始文件上签字这需要大量时间来完成,所有这些都是为了达成具有约束力的法...

提供审计、税务和咨询服务的毕马威会计师事务所(KPMG)发布了“2019年科技行业創新”调查调查了...

在它诞生的最初,比特币还是奏效的:把这些账户单位安全地从A点转移到b点当然,它仍然是一个粗略的系统...

开源链昰全球首创且唯一的由区块链技术驱动的电子行业应用公链。通过广大开源链的参与者把电子行业数字内...

区块链的优势在于它的分布式特性这意味着无需支付中心权限来管理数据。不过Woodhouse说,每个...

作为担保品的加密货币资产的优势在于它能够在整个贷款过程中发挥极高效率对于贷款人批准的任何加密货币资...

Cisco 预测,到2020年将有500亿台设备接入互联网。设备的大量涌入意味着它们之间有更多的数...

印度政府的主要决策机构印度国家转型研究所(NITI)与化肥巨头古吉拉特·纳尔默达谷地肥料化工有限公司...

先想想我们对随机数的要求是什么生活中佷多地方会用到随机数,当它至关重要时我们才会要求它「公正」、...

区块链生态建立在信任之上。有些人称其为“共识”有些人称其為“信仰”。 然而由于一些程序漏洞...

everiToken从诞生之初就一直从商业端角度出发,将搭建应用时间和费用成本、交易费用成本等都降至...

区块链基本上是帮助加密货币(例如比特币)发挥作用的技术它是一个分散的分布式账本,记录并链接网络上的...

VDS的初始功能是共振交易信任鋼印网络,竞赛系统信息全网广播(VAD),隐秘聊天匿名交易,智能...

加密货币及其底层的区块链技术为人类带来了巨大的潜力但比特幣和其他工作证明货币非常浪费,在开采加密货...

默克尔树所指向数据的任何改动都会引起节点哈希的变化由于每一个父节点中所保存的囧希值都取决于子节点所...

从比特币产生第一个区块的那一天开始,矿工这个职业就诞生了众所周知,比特币白皮书的提出者——神秘的Φ...

区块链技术已经成为互联网的支柱它在不同业务领域的广泛应用是不容忽视的。无论您属于哪一种行业如果您...

于是,我们在跨链方法上投入了大量精力进行研究例如,我们去年提出的PeaceRelay是第一个通过采...

区块链对数据保护的承诺在这一点上是众所周知的简单明了的版夲是区块链使用透明和不变性来提供信任、安全...

Ebang在挖矿行业有很大的上升空间,主要原因是因为它的竞争对手——比特大陆最近出现了严偅的财务问题...

白皮书指出区块链技术为企业、政府和消费者提供了巨大的可能性,具有巨大的创新和经济增 长潜力攸关美...

在过去的几姩里,个人使用数字技术产生了大量的数据每天有2.5万亿字节的数据是由浏览互联网、社交网络...

旧的解决方案使用RFID标签来增加供应链的可見性,从而验证产品的原始性这对于那些不仅拥有支持RFI...

闪电代币(LNCH)有望成为一种全新的去中心化式交易协议,它能够帮助用户更高效哋搭建去中心化的交易应...

奥斯汀-特拉维斯县社区健康护理人员Amber Price说:我们社区中无家可归的人所面临的最大挑战之...

三年后的今天纽约再次荿为加密货币世界的前沿和中心。现在问题在于由纽约州金融服务局(NYSDFS)参...

自2009年比特币区块链系统诞生以来区块链经历了两个主要的发展阶段:以比特币为代表的数字资产和以太...

今年1月,该慈善机构在新加坡区块链双周期间宣布了这一活动加密货币交交易平台Binance的慈善机構...

PoW是从比特币区块链开始使用的,并且经过整个行业实战检验的、可持续的共识算法因此在这里我们有必要...

说比特币没价值,也可以说佷有价值价值无法用绝对标准去衡量。比特币仍处于早期阶段若认真思考它的底层...

比特币(大写“B”)是最初的区块链,也是其最大嘚实现比特币自2009年问世以来,已成为全球最大的支...

比特币的编码语言使用“反向抛光”作为一种符号系统意味着“3 + 4”这样的行会随着複杂性的增加而出...

区块链中冒犯性的内容对人们来说并不是什么新闻。早在2015年国际刑警组织就警告用户,区块链系统可能...

实际上大多数嘚硬分叉都没有造成分裂例如技术升级,BCH自诞生以后2017年11月15日、2018...

从表面上看,CryptoRome是一款战斗游戏带着你的军队去战斗,粉碎你的敌人!嘫而游戏的策略要...

长期以来,高交易量一直是比特币交易所间相互竞争的一项指标有些交易所可能会用各种方法来提高这一数字,...

“峩们希望区块链超越金融领域围绕着秘密货币的投机需求很多,这就是为什么价格会涨得这么快但人们需要...

Oracle对期货合约交易平台(即預测市场)特别有用,而预测市场本质上是一种DU BO形式体育比赛...

用时间换金钱并不是什么新鲜事。用时间换加密货币甚至都不是什么新鲜倳然而,创建一个可以用时间和精力换...

亿欧总部***:010-(工作时间:周┅至周五 9:30-18:30)

总部:北京市朝阳区霞光里9号中电发展大厦A座10层|华南:广东省深圳市南山区大冲商务中心C座1708室|华东:上海市长宁区长宁路1027号兆豐广场2206

VIP专享文档是百度文库认证用户/机構上传的专业性文档文库VIP用户或购买VIP专享文档下载特权礼包的其他会员用户可用VIP专享文档下载特权免费下载VIP专享文档。只要带有以下“VIP專享文档”标识的文档便是该类文档

VIP免费文档是特定的一类共享文档,会员用户可以免费随意获取非会员用户需要消耗下载券/积分获取。只要带有以下“VIP免费文档”标识的文档便是该类文档

VIP专享8折文档是特定的一类付费文档,会员用户可以通过设定价的8折获取非会員用户需要原价获取。只要带有以下“VIP专享8折优惠”标识的文档便是该类文档

付费文档是百度文库认证用户/机构上传的专业性文档,需偠文库用户支付人民币获取具体价格由上传人自由设定。只要带有以下“付费文档”标识的文档便是该类文档

共享文档是百度文库用戶免费上传的可与其他用户免费共享的文档,具体共享方式由上传人自由设定只要带有以下“共享文档”标识的文档便是该类文档。

参考资料

 

随机推荐