Total raised
undefined ETH
Collectors
undefined
first collector
top collector
latest collector
Cosmos/IBC 手把手教你玩转IBC 功能
0xf1E2
April 10th, 2022
今日讨论提纲
今日讨论提纲

今天我们的讨论将涵盖以上几个部分

  • Cosmos 论述
  • 区块链乐高的核心部分
  • IBC 和互操作性
  • 中心 vs 区的概念
  • 应用链 vs 广义智能合约平台
  • 利用IBC 做跨链应用的现场演示
COSMOS到底是什么
COSMOS到底是什么

Cosmos 不仅仅是区块链而是基于区块链的开发框架。基于Cosmos SDK 开发,你可以看到Cosmos生态非常繁荣, 不管是Polygon,还是Terra生态, 都是比较成功的案例。除了基本的模块化组件 Cosmos SDK, Tendermint共识机制, ABCI, 是建立在共识层上的协议调用接口,除了可以实现快速获取区块堆栈的信息以外,还可以实现开发者不限语言进行开发。目前核心的模块包括IBC通讯协议、跨链安全、Cosmwasm、和流动性质押等。它和其他的layer0 例如波卡有很多类似,但拥有自己的特点:

1) 共享安全:每个中心都有自己的安全性,例如Terra比Juno 更加安全,原生治理代币也用于维护链的安全

2)可组合性,目前可组合性仅限于同一条应用链,比如Terra生态内部不同协议间的可组合性,举个例子,比如你在AAVE 借贷后,用btoken 作为底层资产,去其他协议进行操作,如何实现跨链间的可组合性?在实现可组合EVM后,可以实现更高级别、跨链间的可组合性

3)可扩展性,所有应用链通过IBC 实现跨链通讯而不是单片协议

4)可信的中立性, 这主要有命名的困惑,Cosmos Hub 并不代表Cosmos, 所有接入cosmos 的应用链,都不依赖于Cosmos Hub, 即使Cosmos Hub有任何问题, Osmosis 和Terra 仍然会运行的很好。

什么是IBC
什么是IBC

IBC 是通讯跨链传输协议,需要实现不同链间的数据和信息传输, 例如我们如何把资产从Terra的轻客户端到转入到Osmosis的轻客户端,并且使用目的链的资产。这里我们讲下在IBC上可以实现模块的搭建,可以把他们理解为互联网领域的应用程序,例如ICS20, 跨链代币转账功能,例如跨链账户,能够真正实现不同链间的可组合性,作为Osmosis上的流动性提供者,可以到Juno网络上赚取收益。 

链与链之间,中心与中心间的交互,都创造了渠道,并且产生中继链和轻节点,当链拥有越来越多的通讯通道,它会成为一个中心(或是区), Osmosis 的出现让Cosmos 生态的可组合性成为可能,基础设施需要端口、通道、中继者、轻客户端(原有/目标)端等。

IBC交互数量
IBC交互数量

IBC 需要基础设施去运行,所以我们通常利用一些参数比如通道数量去衡量链的运行情况,当交易数量越多,意味着越多用户使用量和需求。

Mapofzone上的IBC运行网络
Mapofzone上的IBC运行网络

这个是mapofzone的显示IBC的运行情况,每条Cosmos链都是独立主权链, 链与链之间可以实现资金转账和活动。例如Terra 上UST的需求, Osmosis上的AMM 交易, Umee 的借贷协议。Osmosis 上最近上线的超级质押功能,允许流动性提供者获得更高收益提高了整条链的安全性。

Zone和Hub的区别
Zone和Hub的区别

Cosmos上基于 Cosmos SDK主权链有很强的灵活性, 可以选择搭建哪些模块,便于使用,更快开发和设计空间.例如币安智能链采用了SDK, 但并没有接入IBC,和TerdermintBFT  的共识机制。以太坊这样的的智能合约平台更新, 不是针对所有链上开发的应用的更新, 比如无法做到专门为Uniswap 进行更新。链上有100-1000条应用,很难实现协调和兼顾,所以根据平均应用案例进行优化, 而Cosmos 上的协议层更新,,这些协议层更新会传输到应用端, 协议更新非常快, 对于特定应用进行优化, 例如Superfluid staking。

应用链和通用链的区别
应用链和通用链的区别

Q&A:以太坊和Cosmos区别?

Cosmos 是一个区块链框架,所有应用链都具有互操作性, 2.0的版本将通过数据可用协议Celesita, 设计迅速,不仅仅运用EVM, 同时通过中心化的桥等方式实现异构链通信, IBC则提供同构链之间的资产和信息的互通,将所有的协议通过可信任的方式连接。目前的问题在于如果你需要运行传输协议, 你需要运行轻客户端,非常昂贵, 我们看到了Layer0 这样的协议, 试图解决这些问题.

似乎跨链帐户降低了将帐户连接到安全性最弱的链的用户的安全性。是否有缓解措施来防止这种情况发生?

当你设置这些连接的时候, 你就是信任这个链的安全性,  当新的链加入Cosmos 网络提升可组合性的同时, 的确存在风险, 但目前不是个问题。跨链安全,类似于波卡的中继链,Celestia, 作为数据可用协议,在开发Rollup功能, Osmosis上线的superfluid 质押功能,允许用户将资产存入Osmosis, 同时通过IBC协议,可以实现与比如Akash 网络通讯交互 和质押 绑定,真正意义上实现跨链安全功能。

Demo展示
Demo展示
Kpler钱包UI
Kpler钱包UI

Keplr 与Metamask 相似,可以在不同EVM 兼容链之间转账, 如果你选择Osmosis, 你可以看到对应的Osmosis 上的钱包,差别是这些都是不同的应用链,你需要在不同链之间进行转账交易。你可以从Terra Station,中心化交易所等转账到Kepler 钱包, 你可以参与每条链的治理/治理, 用每个链对应的钱包,钱包地址以每条链的名称打头。如果你打开Terra钱包,你就会获得Terra地址。其他链也是一样的情况。我们现在做一笔将Atom从Cosmos Hub 转账到Osmosis 的操作。

Cosmos Hub和Osmosis之间的通道
Cosmos Hub和Osmosis之间的通道

我们需要去定义我们需要发送资产的通道,起始链(Cosmos) 和目的地链(Osmosis),我们通过mintscan, 区块浏览器, 选择IBC Relayer, 并且输入相应信息,在Channel ID栏输入channel-141。

Cosmos Hub向Osmosis发起的通道141
Cosmos Hub向Osmosis发起的通道141

手续费用发起链的原生代币支付的,所以你需要确保在你发起转账的链上有原生代币(非常便宜),我们复制目的链地址,粘贴进去,我们提交并且批准交易。到账Osmosis 协议后,我们可以用于质押、流动性提供、交换等功能。

用IBC和以太坊的关键区别是如果你通过IBC做交易,如果交易没有成功,你没必要再发起10笔交易,和以太坊不同,如果你发起交易,就是在排队等待,等待中继链发送包含有代币交易信息的数据包至目标链,如果你再发起10笔交易,会让情况变得更糟,这让中继链承担了更多的信息去relayer over, 我们只需要刷新UI 就可以了。

Osmosis AMM界面
Osmosis AMM界面

Osmosis 为什么会被这么广泛的应用,因为所有IBC的链上的资产都需要经过Osmosis进行存储和交易,每个保护链安全的代币都作为链的交易代币,类似于以太坊上的燃料费用,比如你在Osmosis 上操作,你需要消耗Osmosis, 你在Secret Network上操作,需要消耗Secret, 你需要确保在Secret网络上拥有Secret代币。接下来我们把Osmosis 换成Secret 代币,Osmosis 上的目前手续费用为0 (average and low)。 

ATOM和SCRT交易之间AMM界面
ATOM和SCRT交易之间AMM界面

点击取款,会自动弹出你的secret wallet 的地址,之前你必须要点击Keplr钱包,在不同的链间做交换,你需要搜索Secret 网络页面, 复制以Secret打头的相应地址,同时你需要Channel ID, 但是更加简单的方法你可以从Osmosis资产页面,直接发送交易,它会自动显示出你的地址,非常注重用户体验。

在Osmosis上SCRT通过IBC跨链转账到Secret链
在Osmosis上SCRT通过IBC跨链转账到Secret链

非 Terdemint支持IBC, 目前波卡的Substract 在做,Solana,EVM Bridge, Ocotopus 网络基于Near 协议开发,但是致力于将Parachain接入IBC, Celo也在IBC 实现端进行大量的研究。Layer0, Whormhole, Thorchain 都是不错的案例。现在很多桥都在激进pitch Osmosis, 看他们最后选择哪个。IBC 还很重要的点是, Terra是SDK, 你仅仅可以转账Luna UST,  把IBC 接入智能合约, 智能合约创建在Cosmwasm, 目前用RUST 语言编写,和ERC20 代币类似,他们有CW20代币,如果你直接将IBC 植入到合约,他们能够直接发送接受代币。Cosmwasm, 是搭建在Cosmos SDK上的智能合约平台,目前他们主要被Terra生态运用,所以前段时间一直有Terra代币的炒作,自称为是Cosmos 生态的中心,而非Cosmos Hub 。你需要在Layer1 上搭建应用,现在你可以特定链上搭建特定应用,减少了开发者的开发门槛,同时也提升了应用程序的互操作性和设计空间。Osmosis也通过了接入Cosmwasm 的治理提案。Cosmos生态目前有三种虚拟机,一种是Cosmwasm,一种是Evmos 上的EVM,最后是Golden Harvest Javascript 的设计和执行,代表项目有Agoric。

Osmosis也通过了接入Cosmwasm 的治理提案。如果你是Osmosis协议, 你不需要几千个apps 在你的链上开发,你会遇到可扩展性的问题,很难去协调,更多的质押者,所以作为应用链的点在于,他们都有一个核心产品,有10-15个apps 在他们上面同时存在,插入Cosmwasm智能合约组件, 你可以搭建一个借贷协议,可以搭建一个永续合约协议。随着跨链账户功能上线,届时你的机枪池可以在Juno network, 也可以在Osmosis 上创建,底层通过跨链合约进行交互(Contract Call),以往需要双边复杂的升级等待,跨链账户功能可以很好地解决这个问题。

Arweave TX
I8CJ8CiU3hFTIFbkyvKnaOkDahrJ62X_aW0SLxfC7-w
Ethereum Address
0xf1E26c020a084E77A4931fEE4c997a2b064566fc
Content Digest
R-Rzb6EFtuWnG-BxDHi1tzOXgx15GCEU50zBxV5TnwI