Celer跨链消息框架现已正式推出并上线测试网!
CelerIM从根本上改变了多链dApp的开发和使用范式。开发人员现在可以通过CelerIM开发能够在多个链之间共享流动性和程序状态的dApp。用户无需手动跨越和切换多个区块链进行复杂交互,就可以通过CelerIM一键享受多个区块链生态系统上的流动性和应用。?
CelerIM让跨链可组合性成为可能,从而推出一系列的全新模式「原生跨链dApp」。举例如下:?
DEX将能允许用户在一次交易中跨多条链交换资产
收益聚合器将能允许用户从一条链管理多链资产
借贷协议可以允许用户在一条链上提供抵押,在完全不同的链上借出资产
DAO治理协议允许统一的多链治理机制,而无需在不同链之间移动资产
NFT市场中,来自一条链的用户可以对在完全不同的链上的NFT拍卖进行出价
元宇宙游戏,用户可以在游戏中与各种链的虚拟物品进行无缝交互
新型跨链资产桥,实际上cBridge可以看作是建立在CelerIM上的资产桥梁
几乎每个部署在多链上的dApp都可以从使用CelerIM框架中受益。?
CelerIM框架非常易于使用,允许「即插即用」升级,不需要修改已部署的代码。例如,Uniswap和Sushiswap只需一个简单的插件合约就可以转变为原生跨链DEX。?
在此演示中,Sushiswap的用户可以只需一个操作就把Arbitrum上的ETH,兑换为BSC的BNB。在整个CelerIM的系统中,自动并且去中心化地完成了下列步骤:
Gate.io已上线CHR永续合约交易:据官方公告,Gate.io已上线CHR/USDT永续合约实盘交易,支持1-20倍做多和做空操作,杠杆率可以在下单时自行选择。Gate.io永续合约是全球最活跃的区块链资产合约市场之一,日交易量高达8亿美金,结算类型分为“BTC结算永续合约”和“USDT结算永续合约”两种。Gate.io提示:请用户务必在完全了解风险并能承担风险的情况下参与,Gate.io平台不对投资行为承担担保、赔偿等责任。[2021/3/11 18:36:17]
把Arbitrum上的ETH在Sushiswap中换成了USDT?
将USDT从Arbitrum桥接到BSC
在BSC上将桥接过去的USDT换成BNB
CelerIM已经上线测试网,并且发布演示程序、开发文档、智能合约框架和示例应用程序代码。我们正在积极寻找开发者合作伙伴,共同打造功能强大、用户友好的原生跨链dApp。如果有兴趣合作,请与我们联络。
「多链原生dApp」的全新模式
目前普遍的开发多链dApp的做法是通过简单地完成复制多个链上相同的代码,这些dApp在不同链上的流动性、应用逻辑和状态是完全隔离的。事实上,除了UI和资产,这些dApp之间没有任何共享。?
这种方法通常存在流动性效率低、状态割裂和用户体验降级的问题。CelerIM通过实现跨链合约调用和消息传递,能够让用户通过“一键操作”享受更高流动性效率和统一的应用逻辑,从而让这些基于CelerIM的dApp挖掘多链区块链世界的真正潜力。?
OKEx将于明日16时开启DOTUSD永续、交割合约实时结算:据官方公告,OKEx将于近期陆续上线所有永续、交割以及期权合约的实时结算功能。本次计划于2020年12月30日16:00正式开启DOTUSD永续、交割合约的实时结算。[2020/12/30 16:01:37]
举一些例子。?
DEX
如今,多链DEX必须为部署在其上的每条链上的相同关键资产对建立流动性池。因此,DEX必须为这些资产对在所有这些不同的链上建立流动性激励。尽管所有链上的总流动性可能相当高,但每条链上每个池的流动性深度实际上很分散。不幸的是,这会造成高滑点,从而影响整体交易体验。另外,如果用户想要交易一种在不同链上存在深度流动性的资产,他必须在原始链上对其进行手动兑换,使用单独的资金桥应用,然后切换到另一条链进行最后的交换。?
使用CelerIM构建的DEX只需一次交易即可自动将交易传递到深度流动性池,从而显着改善交易体验。通过这项创新,DEX项目能够将某一对token的流动性激励聚集在同一个池子里,从而以低滑点创造更深的流动性。?
NFT市场
如今,如果用户想要参与NFT拍卖,在NFT所在区块链上他们必须得有资金。但往往存在想要参与拍卖但在该特定链上没有资金的人。以OpenSea为例,因为它当前是一个仅部署在以太坊上的NFT市场,复杂的桥接操作和高昂的gas成本让很多其他链上的用户被排除在外,不能参与OpenSea上的NFT交易。
CelerIM可以帮助扩展NFT市场以覆盖更广泛的受众。除了最初铸造NFT的链,拍卖将能够跨链进行。最重要的是,在拍卖结果最终确定之前,无需进行任何单独的跨链资金转移。这显著降低了参与NFT拍卖的成本,降低了复杂的操作门槛并扩大了整个市场的交易池。?
当前BTC全网合约持仓总量为24.71亿美元 24小时减少1.26亿美元:据合约帝持仓报告显示,截止18:00,当前全网合约持仓总量为24.71亿美元,24小时减少1.26亿美元。其中,Huobi合约6.34亿美元,24小时减少6.24%;OKEx合约6.69亿美元,24小时减少6.37%;BitMEX合约7.64亿美元,24小时减少2.45%;Binance合约4.03亿美元,24小时减少6.04%。[2020/7/24]
伴随资金转移的跨链逻辑
对于许多原生跨链应用,核心流程通常涉及将资金发送到一个或多个链,并使用这些跨链资金在目标链上「完成其他任务」。上面给出的DEX演示其实就使用了这种设计模式。在接下去的介绍中,我们也会提供DEX演示的具体代码链接。
上面的流程图看起来虽然有些复杂,但其实大部分的流程是由CelerIM完成的,dApp开发人员只需要搭建IM架构应用模板中的两个简单函数。?
第1步:用户向dApp发起交易
在CelerIM中,用户不再直接与dApp现有的智能合约交互,而是与一个新的dAppPlug-in合约交互,表达他们想要执行的跨链逻辑。这个dAppPlug-in成为整个dApp业务逻辑的一部分,可以与源链上dApp现有的智能合约进行交互。与dAppPlug-in合约的交互通常是用户为与这个跨链dApp交互所发出的唯一交易。?
在展示的DEX示例中,transferWithSwap函数就是整个流程的起点,它允许用户表达跨链逻辑请求,比如「先在X链上将TokenA交换成TokenB,再在Y链上用换好的TokenB交换成TokenC」。
当然,通常情况下用户不会手动说明这些请求,使用CelerIM框架的dApp应该为调用此类函数构建更抽象的用户目标。?
第2步:dAppPlug-in将消息和相关的资金跨链请求发出
在完成源链上的必要操作后,dAppPlug-in会将转换好的资金和相关消息发送到目标链。该消息说明了需要在目标链上执行的操作。在这个DEX的例子中,这个消息就是「将跨链的TokenB换成TokenC,然后将TokenC发送给用户」。只需调用sendMessageWithTransfer,消息和资金转账就会自动关联在一起。消息随后会被发送到MessageBus合约,资金则通过一个资产跨链桥完成转移。?
注意:在这种应用模式中,CelerIM是可以兼容其他资产桥的,以cBridge为例是因为cBridge是IM支持的第一个资产桥。?
第3步:状态守卫者网络(SGN)传递消息和资金跨链请求?
为帮助大家理解这一步,我们首先要介绍CelerIM中的一个核心组件:状态守卫者网络(SGN)。SGN自身是建立在Tendermint上的一个权益证明(PoS)区块链,在IM架构下,它是不同区块链之间的消息路由器。节点提供者必须质押CELR才能成为验证者,加入SGN的共识过程。SGN使用的安全机制与Cosmos和PolygonPoS链等L1区块链相同。SGN的CELR质押和罚没机制都是在以太坊L1智能合约上实现的。?
SGN质押节点会持续监控接入的所有链上发生的交易。当一笔交易在MessageBus合约中触发了一个含有预定header-payload格式的跨链消息事件时,验证节点将首先对「消息是否存在」达成共识,并同时生成一个加权多签证明。然后,这个证明就存储在SGN链上,等待订阅该消息的Executor中继到目标链上。?
对于资产跨链,我们可以把cBridge合约看作一个自带资产跨链优化的MessageBus。SGN会进行与消息跨链类似的共识和证明过程。但是资产跨链时,SGN验证者不会将内置的资产跨链证明中继到一个链下的Executor上,而是直接把链上交易发送给目标链上的cBridge合约,并触发资金转账,发给目标链上的dAppPlug-in合约。再次想向大家强调的是,CelerIM是可以接入任何资产跨链桥的,但是首先默认支持了Celer的cBridge。
第4步:Executor执行跨链应用逻辑?
Executor的任务是从SGN区块链读取加权多签证明,并简单将其中继到目标链上的MessageBus。任何人都可以为任何应用运行Executor,因为其功能只是中继消息。当然,dApp应该考虑给予Executor激励,因为负责发送交易并在目标链上支付gas费用的是Executor。
目标链上MessageBus的作用是检查证明消息的有效性,并确认dAppPlug-in确实收到了相关的付款。之后,MessageBus会将消息传递给承载dApp在目标链上跨链业务逻辑的dAppPlug-in合约上。?
目标链上的dAppPlug-in只需要实现executeMessageWithTransfer接口。在我们给出的DEX示例中,这个函数将在目标链上执行「将TokenB换成TokenC」的逻辑。
不含资金转移的跨链逻辑
当然,发送跨链消息或逻辑执行指令并不一定伴随资金转移。例如,在NFT市场中,如果用户参与在其他链上的拍卖,不需要将资金实际转移到目标链,只需要在源链锁定资金,就可出价参与竞拍。只有在赢得拍卖后,用户才需要进行资金的跨链转移。?
这种流程只是第一个模式的简化版本。dAppPlug-in只需要在源链上实现逻辑调用sendMessage,然后在目标链上的dAppPlug-in合约中实现executeMessage。
故障处理
由于上述跨链消息模式的异步特性,应用逻辑应包含故障处理的考量。在这些应用模式中,故障可能发生在以下三个步骤中,应分别进行相应处理:
源链dApp逻辑执行失败。这与CelerIM无关,应由dApp业务逻辑本身处理。故障举例:DEXToken交换超过限定时间。?
跨链桥资产跨链失败。源链dApp将通过一个通用接口得到通知,并应通过重试资产跨链或将资产发回给用户来处理退还的资产。?
目标链dApp逻辑执行失败。当用户资金到达目标链时,目标链上的dApp逻辑执行仍有可能发生故障。dApp开发人员应有所准备,为应对此类故障实现一些回退函数。处理此类故障常见的方法有:停止执行逻辑,并将资金发送给目标链上的用户;或者将资金转回源链。但实现怎样的回退函数逻辑完全取决于dApp开发人员。?
本文旨在抽象概括IM架构的设计和拆解,我们不会详细介绍故障处理的流程,但是会在开发文档中提供详细的设计模式参考。?
链上价值累积和费用
从上面两种模型中,可以明显看到:CelerIM如果要顺利运行,SGN中的CELR质押者和验证者必不可少。?
SGN在IM架构中发挥着达成源链消息共识、存储源链消息证明、实现资金跨链的作用。为了让SGN能够持续提供服务,与其他任何PoS区块链验证者的收费模式类似,使用CelerIM的用户也需要向SGN支付费用。费用本身会根据生成区块的SGN节点分配给CELR质押者。?
使用CelerIM搭建原生跨链dApp非常简单
在CelerIM架构中,不管是扩大现有dApp的市场规模,还是搭建一个全新的dApp,实现起来都很简单,只需要进行以下3个步骤:
首先,需要编写dAppPlug-in智能合约代码。在源链的智能合约接口中实现的逻辑只要能够表达跨链执行目的,并能在源链上调用sendMessage或sendMessageWithTransfer即可;并且,也需要在目标链的dAppPlug-in合约中实现executeMessage或executeMessageWithTransfer函数。
第二步是运行Executor。这一步骤不需要编写代码。dApp开发或社区成员都可以运行一个Executor,并订阅SGN上生成的相关消息证明。??
最后一步是进行UI/UX调整。由于应用现在具有的跨链逻辑可能会涉及多个交易,让用户了解一个跨链行为的不同状态自然非常重要。UI的具体展示当然取决于应用本身,但CelerIM提供了一个易于查询的网关服务,可以让dApp获取消息和资金跨链的状态,让dApp开发人员能够搭建一笔跨链交易的完整生命周期。?
我们正在寻找dApp合作伙伴,一起构建CelerIM的生态。Celer会为合作伙伴提供技术支持,我们也在设立专项资金支持,并会在后续提供更多细节。如果您有兴趣加入CelerIM生态,请与我们联系!
郑重声明: 本文版权归原作者所有, 转载文章仅为传播更多信息之目的, 如作者信息标记有误, 请第一时间联系我们修改或删除, 多谢。