对供应商锁定说不:为原生资产建立一个开放的跨链桥标准[通俗易懂]

对供应商锁定说不:为原生资产建立一个开放的跨链桥标准[通俗易懂]我们将与大家一起建立开放的原生资产跨链桥标准,将用户、dApp开发者和区块链生态的利益放在最核心的位置。

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

对供应商锁定说不:为原生资产建立一个开放的跨链桥标准[通俗易懂]

在这个智能合约兼容链如雨后春笋般层出不穷的时代,用户对各种原生资产的第三方跨链桥的需求也随之日益增长。区块链生态和项目通常采用简单的 「铸币&销毁(mint & burn) 」跨链解决方案,这会导致跨链资产的无限制控制权归属于某个单一的跨链桥供应商。然而很少有人讨论的是,一旦锁定了供应商,就很容易对资产安全和区块链生态造成难以补救的巨大风险。

在这篇文章中,我们将首先详细讨论在使用单一原生资产跨链解决方案和供应商锁定的情况下,存在的各种高安全隐患和区块链生态风险;其次,我们在这里提出一个开放的原生资产跨链桥标准,真正将用户、项目开发者和区块链生态的共同利益置于任何单一桥的短视利益之上;最后,我们呼吁所有跨链桥建造者、区块链生态、区块链应用创始人、意见领袖和用户,采纳这份开放的原生资产跨链桥标准,以共同实现互操作性更好的未来。

第三方原生资产跨链桥的发展历程

当我们需要将一条链上的原生资产跨到另一条链上时,在进行该项跨链的同时保持该资产在市面上的总流通量不变,是一个广泛的需求。比如当一个项目想要扩展到多链发展时,通常需要将自己的合约token进行跨链并用于流动性挖矿奖励或治理(例如 $SUSHI 或任何其他多链 DeFi 项目)。 再如,新推出的 EVM 兼容链通常需要跨链接入一些主流资产(如 WETH、USDT 和 USDC等)以激发 DeFi 生态的活跃度。

这就是 「原生资产跨链桥 」发挥作用的地方,它的「铸币和销毁」工作流程如下:

  • 从源链到目标链: 用户将源链上的原始资产「锁定」在一个主体(去中心化或中心化)控制的保险柜智能合约中,然后由该主体在目标链上向用户「铸造」原始资产的规范映射。

  • 从目标链返回源链:用户在桥接的目标链上「销毁」铸造的规范映射资产,确认销毁后再由该主体向用户在源链上「释放」相同数量的锁定资产(减去相应跨链手续费)。

为了简化下面的讨论,我们借用网络研究界的一个术语,把这个控制资产的主体称为 「桥结构」。

对于像Avalanche或Polygon这样的区块链或二层侧链,或像Arbitrum和Optimism这样的rollup,通常会建立一个官方的原生资产跨链桥来连接到以太坊,并用于主流资产跨链,如WETH、USDT、USDC、DAI等等。通常这些官方跨链桥的「桥结构」具有与底层链共识相同的安全级别(当然也有一些例外),或者在二层Rollup的情况下,与以太坊一层进行安全绑定。由于汇合点是以太坊,在链和其原生资产跨链桥之间形成了一个星形拓扑结构。

对供应商锁定说不:为原生资产建立一个开放的跨链桥标准[通俗易懂]

然而,这种星形拓扑结构并不能满足所有原生资产的跨链需求:

  • 如果一个token最初不是在以太坊上发行的,并且想从例如Avalanche到BSC上有一个直接的原生资产跨链桥,但没有对应的官方原生资产跨链桥可以支持这种用例。

  • 如果一个链选择不运营一个去中心化和非准入的原生资产跨链桥,自然就没有办法直接满足建立在该链上的生态项目跨链需求。这样的例子包括Moonriver, Celo, Oasis Emerald, BSC(目前BSC官方桥已停止运营)等等。在这种情况下,不仅是项目的合约资产,包括USDT/USDC/WETH在内的主流资产都没有办法官方桥接到该链上。

第三方原生资产跨链桥解决方案的出现就是为了满足上述的这些需求。它不使用共享底层链安全级别的「桥结构」,而是构建自己的安全假设和模型,使用自己的「桥结构」进行铸币和销毁这个过程。在许多现有的解决方案中(例如Anyswap),「桥结构」本质上是一个由一组签名者服务器维护的门限多重签名。对于Celer cBridge来说,「桥结构」是状态守卫者网络(SGN),一个基于tendermint的PoS区块链本身。

选择跨链桥时最重要的问题

现在,我们假设Oasis Emerald上的某DEX想要上线$ROSE/$USDT,它应该选择使用哪种版本的跨链$USDT?或者假如一个DeFi项目想扩展到BSC,并希望将自己的合约资产跨过去,应该使用什么跨链桥来创建token的规范映射?

如今每个现有原生桥都创造了自己独有版本的规范映射token,而这些token是完全不兼容的。这是个很讽刺的现实:原生资产跨链桥作为实现区块链互操作性的关键组件,它们相互之间却并不具有互操作性。

既然这样,那么问题来了,只能从中选一个了对吧?

应该选Anyswap、cBridge,Wormhole,还是别的跨链桥?如果你已经开始准备做个对照表格来比较它们的安全模式、UI/UX、SDK、聚合器支持、未来可扩展性和成本等等,那大可不必

对没错,这些都很重要,但你不应该一开始就被迫做出选择!

当你,作为一名DeFi/GameFi/NFT/Metaverse/dApp/blockchain开发者,决定采用第三方原生资产跨链桥作为解决方案时,要问的最重要的事情是:

它是否会被供应商锁定?

供应商锁定的跨链桥会损害dApp健康!

不幸的是,所有现有的第三方原生资产跨链桥都有供应商锁定的问题。那么对项目开发者来说,当你选择使用任何跨链方案的时候,不管它是好是坏,项目都会被永远限制在这个桥上。从技术上讲,这是因为你选择的跨链桥是目标链上该资产唯一的规范映射token的铸造者。

首先从巨大的资产安全风险说起。假设你开发了一个区块链上的DEX,目前完全依赖由一个名为SuperNice Bridge铸造的唯一一版$USDT映射。如果SuperNice Bridge的「桥结构」有一个关键的安全流程漏洞,让黑客能够铸造无限量的$USDT并耗尽你的DEX上的每一个资产,会发生什么?或者说你把你的项目token扩展到了多个链上,现在80%的token被锁定在该桥控制的池子里,同样的安全漏洞发生了,你会经历打击性的市场价格崩溃,而且比任何交易所黑客事件对你的资产的攻击都要严重。

接下来是可靠性的问题。如果跨链系统出现拥堵怎么办?如果跨链服务质量下降怎么办?如果跨链桥倒闭了怎么办?那些持有你项目token的用户就彻底陷入了困境。

最后,这种供应商锁定的跨链桥会产生一系列你难以预料的生态问题:

  • 如果它决定增加手续费怎么办?

  • 如果它决定对你的用户进行费率限制怎么办?

  • 如果它停止了对用户体验的迭代造成你的用户不满怎么办?

  • 如果它不能支持未来通用消息传递的使用场景怎么办?

  • 如果它不与外部的桥接聚合器合作或者API损坏怎么办?

  • …… 

你能做些什么?

没错,你无能为力。而以上列举的只是一小部分可能发生的情况,你的dApp和你的用户将完全受制于难以预测但真实的垄断力量。

一个开放的跨链桥标准:

轻松解决供应商锁定问题

好消息是,这种供应商锁定的情况可以很容易地解决。我们可以制定统一的「单一资产规范映射框架」,把区块链项目和开发者社区放在主导地位,在多个跨链桥当中选择最佳的原生资产跨链解决方案。更重要的是,作为项目开发者,你没有任何额外的负担。

在更多的技术层面上,首先要做的,也是最重要的事是:根除原生token单一铸造者合约的概念。因为在这种情况下,token只能由单一跨链桥铸造,所以会导致供应商锁定的问题。

相反,当一个项目选择扩展到其他链时,该项目的开发者社区应该要求一个多跨链桥兼容的合约。

有了这种token合约,项目可以允许多个跨链桥同时作为其合约token的原生资产跨链桥,因为每个跨链桥将铸造同一种版本的原生规范映射token。DeFi应用还可以要求支持该开放跨链桥标准的USDT/USDC/WETH等主流资产的规范映射。每座桥也可以根据DAO对安全级别、用户体验和其他因素的评估,动态分配最大的铸造值上限。

显而易见,项目方现在成为了跨链桥的支配者。那么让我们回过头来看看上个章节提到的风险设想场景。

在其中一个跨链桥遭到攻击,导致无上限铸币的情况下,只有分配给该跨链桥的剩余铸币配额(通常甚至远小于该跨链桥的铸币上限)会减少,而不会导致该合约token的总供应量急剧下降,大大降低了该情况下的风险。

如果其中一个跨链桥不能正常使用了怎么办?不用担心,还有其他的跨链桥可以继续正常为用户服务! 

如果某个桥费用太高?耗费太多跨链手续费?UI/UX不直观?功能支持有限?没有外部生态系统的整合?别担心,项目的DAO可以简单地降低该跨链桥的铸币上限,并引导用户使用其他的桥! 

现在大家应该很清楚了,一个开放的原生资产跨链桥标准是针对同一种原生资产允许多个跨链桥共存的,同时将用户、dApp开发者和区块链生态的利益放在最核心的位置。

在至关重要的一刻加入吧!我们需要你!

我们想跟大家明确的是,今天我们发布这篇内容并不是为了制定一个标准规范,而是希望它能为这种开放标准的必要性提供一个强有力的理由。我们期待着与区块链生态中的每位成员合作,为更大的共同利益,促进和定义这种标准。

对于跨链及互操作性解决方案的建设者

历史已经一次又一次向我们证明,开放的标准才能实现共赢,闭关自守只会满盘皆输。我们抱着完全开放的态度,期待着与任何跨链桥以及区块链互操作性基础设施项目合作,共同建立这个开放标准,实现共赢的局面。

对于各类应用的DAO

我们希望这篇文章可以让大家认识到,使用非供应商锁定的原生资产跨链方案是极其重要的。如果你正在考虑跨链资产集成或者扩展至新的链,无论你目前考虑的是哪一种跨链桥解决方案,我们希望你能找到一个真正对你有益的方案,而不是单纯地去找一个跨链桥供应商。

如果你已经集成了某些供应商锁定的token,我们希望有幸与你合作,一起将它们迁移到更加开放的版本上,同时为对应的迁移损耗提供额外的激励。别再犹豫,赶快联系我们吧!

社区意见领袖

请加入我们,一起将开放的原生资产标准带来的好处传递给全世界每一位正在寻找建议的开发者,并告知他们供应商锁定的潜在隐患。

让我们携手,一起建立一个开放的互操作未来!

别忘了关注Celer Network公众号哟

对供应商锁定说不:为原生资产建立一个开放的跨链桥标准[通俗易懂]

Celer官方客服二维码

对供应商锁定说不:为原生资产建立一个开放的跨链桥标准[通俗易懂]

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

官网: Celer Network

博客: Celer Network

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

微博:登录 – 新浪微博

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

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

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

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

(0)
blank

相关推荐

  • jquery.tmpl 基础用法

    jquery.tmpl 基础用法jQuer.tmpl通过动态请求返回数据时通过HTML显示到页面快速便捷实用的方法。只需要在预先定义好一个模板在动态数据返回后调用jQuery对应实现的方法即可对HTML进行拼接同时显示出来。并且定义模板时可以使用一些逻辑判断的标签。个人认为jQuer.tmpl有个不好的地方就是没有错误提示;例如在使用标签进行判断时可能有个地方字段写错的但是没有提示需要花一点时间去找问题,那就会有一些苦恼。…

  • javaweb分页显示_java分页查询原理思路

    javaweb分页显示_java分页查询原理思路实现原理很简单,就是建立一个Page类,里面放当前访问的页数和每一页显示的记录行数。然后通过分页计算就可以得出下列数据。总页数=总记录数/每页大小,如果0。=总记录数%每页大小,那么总页数再+1。当前页数。表记录的起始位置=(当前页数-1)想用JAVAWEB实现分页技术。请问应该怎么做如何用java实现分页效果(eclipse工具)用java实现翻页代码跟eclipse没有关系。参…

  • JMESPath_java中jframe怎么用

    JMESPath_java中jframe怎么用前言JMESPath是JSON的查询语言。您可以从JSON文档中提取和转换元素官方文档:https://jmespath.org/tutorial.html基本表达式JMESPath用的最多的

  • matlab 矩阵除法

    matlab 矩阵除法Matlab提供了两种除法运算:左除(/)和右除(/)。一般情况下,x=a/b是方程a*x=b的解,而x=b/a是方程x*a=b的解。例:a=[1  2  3;4  2  6;7  4  9]b=[4;1;2];x=a/b则显示:x=      -1.5000        2.0000        0.5000如果a为非奇异矩阵,则a/b和b/a可通过a的逆矩阵与

  • 520-希望可以做一个会说情话的程序员[通俗易懂]

    做一个积极的人编码、改bug、提升自己我有一个乐园,面向编程,春暖花开今天520,不分享技术了。分享一些动人的情话,作为程序员在工作编码的同时,也不要忘了追求人生的另一半!分享下面内容,内容整理来源网络!王小波除了作家的身份外,还是一名程序员,并且是一名很牛的程序员。值得学习!没有女朋友的可以用下面的代码我一生都在等待 直到你闯进我的世界 我只想对你说:余生请多指教…

  • nginx 静态文件配置(nginx常用配置)

    Nginx的配置文件nginx.conf配置详解如下:usernginxnginx;Nginx用户及组:用户组。window下不指定worker_processes8;工作进程:数目。根据硬件调整,通常等于CPU数量或者2倍于CPU。error_loglogs/error.log;error_loglogs/error.logno

发表回复

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

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