Celer 跨链消息框架:开发和使用多链应用的全新模式

Celer 跨链消息框架:开发和使用多链应用的全新模式Celer跨链消息框架(CelerInter-chainMessage)现已正式推出并上线测试网!

大家好,又见面了,我是你们的朋友全栈君。

Celer 跨链消息框架:开发和使用多链应用的全新模式

 

Celer跨链消息框架(Celer Inter-chain Message,以下简称Celer IM)现已正式推出并上线测试网!

Celer IM从根本上改变了多链dApp的开发使用范式。开发人员现在可以通过Celer IM开发能够在多个链之间共享流动性和程序状态的dApp。用户无需手动跨越和切换多个区块链进行复杂交互,就可以通过Celer IM一键享受多个区块链生态系统上的流动性和应用。 

Celer IM让跨链可组合性成为可能,从而推出一系列的全新模式「原生跨链dApp」。 举例如下: 

DEX将能允许用户在一次交易中跨多条链交换资产

收益聚合器将能允许用户从一条链管理多链资产

借贷协议可以允许用户在一条链上提供抵押,在完全不同的链上借出资产

DAO治理协议允许统一的多链治理机制,而无需在不同链之间移动资产

NFT市场中,来自一条链的用户可以对在完全不同的链上的NFT拍卖进行出价

原宇宙游戏 ,用户可以在游戏中与各种链的虚拟物品进行无缝交互

新型跨链资产桥, 实际上cBridge可以看作是建立在Celer IM上的资产桥梁

几乎每个部署在多链上的dApp都可以从使用Celer IM框架中受益。 

Celer IM框架非常易于使用,允许 「即插即用」升级,不需要修改已部署的代码。例如,Uniswap和Sushiswap只需一个简单的插件合约就可以转变为原生跨链DEX 。 

Demo演示视频:https://www.youtube.com/watch?v=Q6Ehe5Bi7-4

在此演示中,Sushiswap的用户可以只需一个操作就把Arbitrum上的ETH,兑换为BSC的BNB。在整个Celer IM的系统中,自动并且去中心化地完成了下列步骤:

把Arbitrum上的ETH在Sushiswap中换成了USDT 

将USDT从Arbitrum桥接到BSC

在BSC上将桥接过去的USDT换成BNB

Celer IM已经上线测试网,并且发布演示程序开发文档智能合约框架示例应用程序代码。我们正在积极寻找开发者合作伙伴,共同打造功能强大、用户友好的原生跨链dApp。 如果有兴趣合作,请与我们联络

「多链原生dApp」的全新模式

目前普遍的开发多链dApp的做法是通过简单地完成复制多个链上相同的代码,这些dApp在不同链上的流动性、应用逻辑和状态是完全隔离的。事实上,除了UI和资产,这些dApp之间没有任何共享。 

这种方法通常存在流动性效率低、状态割裂和用户体验降级的问题。Celer IM通过实现跨链合约调用和消息传递,能够让用户通过“一键操作”享受更高流动性效率和统一的应用逻辑,从而让这些基于Celer IM的dApp挖掘多链区块链世界的真正潜力。 

举一些例子。 

DEX

如今,多链DEX必须为部署在其上的每条链上的相同关键资产对建立流动性池。因此,DEX必须为这些资产对在所有这些不同的链上建立流动性激励。尽管所有链上的总流动性可能相当高,但每条链上每个池的流动性深度实际上很分散。不幸的是,这会造成高滑点,从而影响整体交易体验。另外,如果用户想要交易一种在不同链上存在深度流动性的资产,他必须在原始链上对其进行手动兑换,使用单独的资金桥应用,然后切换到另一条链进行最后的交换。 

使用Celer IM构建的DEX只需一次交易即可自动将交易传递到深度流动性池,从而显着改善交易体验。通过这项创新,DEX项目能够将某一对token的流动性激励聚集在同一个池子里,从而以低滑点创造更深的流动性。 

借贷协议

今天,如果用户在一条链上的借贷协议中提供抵押品,他们只能借用同一条链上的资产。为了从不同的链中借出资产,他们必须提取流动性,手动将其移动到不同的链,然后在新链的抵押池中提供流动性。 

Celer IM实现了一种新型的链间借贷,用户可以在一次交易中将他们的抵押品从一条链上的流动性池无缝转移到另一条链上的池中。然后,他们可以直接借入新链上的资产。有了这个功能,用户将拥有一个简单而干净的用户体验,让他们无需离开贷款应用程序就可以完成他们需要做的事情! 

NFT 市场

如今,如果用户想要参与NFT拍卖,在NFT所在区块链上他们必须得有资金 。但往往存在想要参与拍卖但在该特定链上没有资金的人。以OpenSea为例,因为它当前是一个仅部署在以太坊上的NFT市场,复杂的桥接操作和高昂的gas成本让很多其他链上的用户被排除在外,不能参与OpenSea上的NFT交易。

Celer IM可以帮助扩展NFT市场以覆盖更广泛的受众。除了最初铸造NFT的链,拍卖将能够跨链进行。最重要的是,在拍卖结果最终确定之前,无需进行任何单独的跨链资金转移。这显著降低了参与NFT拍卖的成本,降低了复杂的操作门槛并扩大了整个市场的交易池。 

Celer IM架构及设计模式

那么,如何实现这些原生跨链dApp,开发人员又需要构建什么呢? 

在这个模块,我们会逐步拆解常见的应用设计模式,介绍Celer IM的架构。 

伴随资金转移的跨链逻辑

对于许多原生跨链应用,核心流程通常涉及将资金发送到一个或多个链,并使用这些跨链资金在目标链上「完成其他任务」。上面给出的DEX演示其实就使用了这种设计模式。在接下去的介绍中,我们也会提供DEX演示的具体代码链接。

Celer 跨链消息框架:开发和使用多链应用的全新模式

 

上面的流程图看起来虽然有些复杂,但其实大部分的流程是由Celer IM完成的,dApp 开发人员只需要搭建IM架构应用模板中的两个简单函数。 

第 1 步:用户向dApp发起交易

在Celer IM 中,用户不再直接与dApp现有的智能合约交互,而是与一个新的 dApp Plug-in合约交互(标记 A),表达他们想要执行的跨链逻辑。这个 dApp Plug-in成为整个dApp业务逻辑的一部分,可以与源链上dApp现有的智能合约进行交互。与dApp Plug-in合约的交互通常是用户为与这个跨链dApp 交互所发出的唯一交易。 

在展示的DEX示例中,transferWithSwap函数就是整个流程的起点,它允许用户表达跨链逻辑请求,比如「先在X链上将Token A交换成Token B,再在Y链上用换好的Token B 交换成Token C」。

当然,通常情况下用户不会手动说明这些请求,使用Celer IM框架的dApp应该为调用此类函数构建更抽象的用户目标。 

第 2 步:dApp Plug-in将消息和相关的资金跨链请求发出

在完成源链上的必要操作后,dApp Plug-in会将转换好的资金和相关消息发送到目标链(标记B和C )。该消息说明了需要在目标链上执行的操作。在 这个DEX的例子中,这个消息就是「将跨链的Token B换成Token C,然后将Token C发送给用户」。只需调用sendMessageWithTransfer,消息和资金转账就会自动关联在一起。消息随后会被发送到Message Bus 合约,资金则通过一个资产跨链桥(比如cBridge)完成转移。 

注意: 在这种应用模式中,Celer IM是可以兼容其他资产桥的,以cBridge为例是因为cBridge是IM支持的第一个资产桥。 

第 3 步:状态守卫者网络(SGN)传递消息和资金跨链请求 

为帮助大家理解这一步,我们首先要介绍Celer IM中的一个核心组件:状态守卫者网络(SGN)。SGN 自身是建立在Tendermint上的一个权益证明 (PoS) 区块链,在IM架构下,它是不同区块链之间的消息路由器。节点提供者必须质押CELR才能成为验证者,加入SGN的共识过程。SGN使用的安全机制与Cosmos和Polygon PoS链等L1区块链相同。SGN的CELR质押和罚没机制都是在以太坊L1智能合约上实现的。 

SGN质押节点会持续监控接入的所有链上发生的交易。当一笔交易在Message Bus合约中触发了一个含有预定 header-payload格式的跨链消息事件时(标记D),验证节点将首先对「消息是否存在」达成共识,并同时生成一个加权多签证明。然后,这个证明就存储在SGN链上,等待订阅该消息的Executor中继到目标链上(标记 H)。 

对于资产跨链,我们可以把cBridge合约看作一个自带资产跨链优化的Message Bus。SGN会进行与消息跨链类似的共识和证明过程(标记E)。但是资产跨链时,SGN验证者不会将内置的资产跨链证明中继到一个链下的Executor上,而是直接把链上交易发送给目标链上的cBridge合约(标记F),并触发资金转账,发给目标链上的dApp Plug-in合约(标记G)。再次想向大家强调的是,Celer IM是可以接入任何资产跨链桥的,但是首先默认支持了Celer的cBridge。

第 4 步:Executor执行跨链应用逻辑 

Executor的任务是从SGN区块链读取加权多签证明,并简单将其中继到目标链上的Message Bus(标记 I)。任何人都可以为任何应用运行Executor,因为其功能只是中继消息。当然,dApp应该考虑给予Executor激励,因为负责发送交易并在目标链上支付gas费用的是Executor。
 

目标链上Message Bus的作用是检查证明消息的有效性,并确认dApp Plug-in确实收到了相关的付款(标记 J)。之后,Message Bus会将消息(逻辑执行指令)传递给承载dApp在目标链上跨链业务逻辑的dApp Plug-in合约上(标记 K)。 

目标链上的dApp Plug-in只需要实现executeMessageWithTransfer接口。在我们给出的DEX示例中, 这个函数将在目标链上执行「将Token B换成Token C」的逻辑。

不含资金转移的跨链逻辑

当然,发送跨链消息或逻辑执行指令并不一定伴随资金转移。例如,在NFT市场中,如果用户参与在其他链上的拍卖,不需要将资金实际转移到目标链,只需要在源链锁定资金,就可出价参与竞拍。只有在赢得拍卖后,用户才需要进行资金的跨链转移。 

Celer 跨链消息框架:开发和使用多链应用的全新模式

 

这种流程只是第一个模式的简化版本。dApp Plug-in 只需要在源链上实现逻辑调用sendMessage,然后在目标链上的dApp Plug-in合约中实现executeMessage

故障处理
 

由于上述跨链消息模式的异步特性,应用逻辑应包含故障处理的考量。在这些应用模式中,故障可能发生在以下三个步骤中,应分别进行相应处理:

源链dApp逻辑执行失败。这与Celer IM无关,应由dApp业务逻辑本身处理。故障举例:DEX Token交换超过限定时间。 

跨链桥资产跨链失败。源链dApp将通过一个通用接口得到通知,并应通过重试资产跨链或将资产发回给用户来处理退还的资产。 

目标链dApp逻辑执行失败。当用户资金到达目标链时,目标链上的dApp逻辑执行仍有可能发生故障。dApp开发人员应有所准备,为应对此类故障实现一些回退函数。处理此类故障常见的方法有:停止执行逻辑,并将资金发送给目标链上的用户;或者将资金转回源链。但实现怎样的回退函数逻辑完全取决于dApp开发人员。 

本文旨在抽象概括IM架构的设计和拆解,我们不会详细介绍故障处理的流程,但是会在开发文档中提供详细的设计模式参考。 

链上价值累积和费用

从上面两种模型中,可以明显看到:Celer IM如果要顺利运行,SGN中的CELR质押者和验证者必不可少。 

SGN在IM架构中发挥着达成源链消息共识、存储源链消息证明、实现资金跨链的作用。为了让SGN能够持续提供服务,与其他任何PoS区块链验证者的收费模式类似,使用Celer IM的用户也需要向SGN支付费用。费用本身会根据生成区块的SGN节点分配给 CELR质押者。 

使用Celer IM搭建原生跨链dApp非常简单

在Celer IM架构中,不管是扩大现有dApp的市场规模,还是搭建一个全新的dApp,实现起来都很简单,只需要进行以下3个步骤:

首先,需要编写dApp Plug-in智能合约代码。在源链的智能合约接口中实现的逻辑只要能够表达跨链执行目的,并能在源链上调用sendMessagesendMessageWithTransfer即可;并且,也需要在目标链的dApp Plug-in合约中实现executeMessageexecuteMessageWithTransfer函数。

第二步是运行Executor。这一步骤不需要编写代码。dApp开发或社区成员都可以运行一个Executor, 并订阅SGN上生成的相关消息证明。  

最后一步是进行UI/UX调整。由于应用现在具有的跨链逻辑可能会涉及多个交易,让用户了解一个跨链行为的不同状态自然非常重要。UI的具体展示当然取决于应用本身,但Celer IM提供了一个易于查询的网关服务,可以让dApp获取消息和资金跨链的状态,让dApp开发人员能够搭建一笔跨链交易的完整生命周期。 

我们正在寻找dApp合作伙伴 ,一起构建Celer IM 的生态。Celer会为合作伙伴提供技术支持,我们也在设立专项资金支持,并会在后续提供更多细节。如果您有兴趣加入Celer IM生态,请与我们联系

别忘了关注Celer Network哟!

Celer Network是一个二层扩容平台,旨在为以太坊、Polkadot和其他区块链带来可被大规模采用的快速、安全和低成本的区块链应用。Celer推出了世界上第一个广义状态通道网络,并继续用先进的Rollup技术推进二层扩容。基于Celer的应用程序和中间件,如CelerX、cBridge、layer2.finance,已在游戏、DeFi和区块链互操作性领域吸引了超过100万用户。

官网: Celer Network

博客: Celer Network

电报群: https://t.me/celernetworkcn

微博:登录 – 新浪微博

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

发布者:全栈程序员-用户IM,转载请注明出处:https://javaforall.cn/142863.html原文链接:https://javaforall.cn

【正版授权,激活自己账号】: Jetbrains全家桶Ide使用,1年售后保障,每天仅需1毛

【官方授权 正版激活】: 官方授权 正版激活 支持Jetbrains家族下所有IDE 使用个人JB账号...

(0)
blank

相关推荐

  • postman下载安装和基础使用教程(官网)

    postman下载安装和基础使用教程(官网)postman下载、安装、基础使用教程,亲测有效,有疑问可留言

  • pycharm2022.01.13激活码CSDN-激活码分享

    (pycharm2022.01.13激活码CSDN)2021最新分享一个能用的的激活码出来,希望能帮到需要激活的朋友。目前这个是能用的,但是用的人多了之后也会失效,会不定时更新的,大家持续关注此网站~IntelliJ2021最新激活注册码,破解教程可免费永久激活,亲测有效,下面是详细链接哦~https://javaforall.cn/100143.html…

  • java加壳工具_加壳工具 – virbox加密空间站 – OSCHINA – 中文开源技术交流社区

    java加壳工具_加壳工具 – virbox加密空间站 – OSCHINA – 中文开源技术交流社区VirboxProtectorStandalone加壳工具可直接对dll文件进行加壳,防止代码反编译,更安全,更方便。产品简介VirboxProtectorStandalone提供了强大的代码虚拟化、高级混淆与智能压缩技术,保护您的程序免受逆向工程和非法修改。VirboxProtectorStandalone将被保护的程序代码转换为虚拟机代码,程序运行时,虚拟机将模拟程序执行,进入…

  • 人脸识别系统如何建模_3dmax人脸建模

    人脸识别系统如何建模_3dmax人脸建模本发明涉及生物特征识别,特别是涉及人脸识别中的特征建模方法。背景技术:人脸识别技术一般包括四个组成部分,分别为人脸图像采集、人脸图像预处理、人脸图像特征提取以及匹配与识别,具体来说:人脸图像采集及检测是指通过摄像镜头等视频图像采集装置采集包括有人脸的视频或图像数据,可以是采集对象的静态图像、动态图像、不同的位置、不同表情等。人脸图像预处理是指从采集的图像数据中确定人脸的部分,并进行灰度校正、噪声过…

  • git 修改用户名以及邮箱_git配置了用户名还要输入

    git 修改用户名以及邮箱_git配置了用户名还要输入1.查看gitconfiguser.name查看用户名gitconfiguser.email查看邮箱gitconfig–list也可以看到2.修改修改的话gitconfig–globaluser.name“xxx”修改用户名修改邮箱同理

  • linux mysql数据库备份以及还原[通俗易懂]

    linux mysql数据库备份以及还原[通俗易懂]1备份命令mysqldump-h127.0.0.1-P3306-uroot-p123456databasename>database.sql2数据库还原命令mysql-h127.0.0.1-P3306-uroot-p123456databasename<database.sql

发表回复

您的电子邮箱地址不会被公开。

关注全栈程序员社区公众号