Inevitable

文字所表现出来的美丽、恐惧。。还有率真之类的东西,我觉得在其他事物中还是很难寻得的。

0%

IBC

跨链是今年的热门话题

❓ 为什么需要 IBC ( Inter-Blockchain Communication )

每个区块链都是一个独立,自治的系统。它们不依赖外部信息,独立地生产区块,验证区块。起初开发者们都在以太坊上用智能合约创造自己的 DApp。这些 DApp 可以互相调用。随着需求的扩展,以太坊逐渐不能满足这些复杂的需求。常见的问题有性能瓶颈, EVM 无法满足需求,无法完全自治。因此开发者开始尝试为自己的 DApp 定制一条区块链。当这些 DApp 都建立在各自定制化的链上时,互相交流便困难了起来。区块链自治的特性成了最大的绊脚石。如何安全有效区去中心化的让消息跨链传输困扰了开发者很久。

👀 IBC 是什么

IBC(inter-blockchain communication protocol)Cosmos 推出的通用跨链信息传输协议。在保证各个链自治,处理交易速度的同时,IBC 让信息和资产跨链更加的去中心化,安全和便捷。200+ 的服务和应用,超过 800 亿美金的资产采用了 IBC。IBC 就像区块链世界的 TCP/IP 协议,让区块链网络变得可能。

在 IBC 的帮助下,采用不同共识机制,网络的区块链得以互相交流,只要他们的共识机制满足 Fast Finality,即所有交易都会被快速打包,并且无法撤销,更改。

比特币和以太坊并不满足 Fast Finality,因此 Cosmos 为他们定制化了跨链方案:两条支持 Fast Finality 的定制区块链和 IBC。这两条定制链分别跟踪比特币和以太坊的状态。由于这两条定制链兼容 IBC,并且拥有比特币,以太坊的最新状态,跨链问题就此解决。

🌰 IBC:举个栗子

接下来我们用一个例子来解释一下 IBC 是如何运行的。假设我们有两个使用 IBC 的区块链,地球和 火星。我们希望从地球向火星发送一条 ”Hello World“。我们首先需要运行一个 Relayer 来进行消息的传递。Relayer 会持续检查链的状态,并在另一条链上创建包含对应消息的交易。在使用 IBC 的情况下,地球上会跑一个火星的轻量化客户端,这样地球就可以验证火星的状态,确保 Relayer 传递的信息是具有有效性和准确性。同样,火星也会跑一个地球的客户端。

与 TCP/IP 相同,两条链会先进行握手来进行身份认证,为安全的传输消息做准备。接下来我们只要在地球创建对应的 “Hello World” 消息,Relayer 会将其传输到火星上。IBC 确保数据传输的安全性。接下来便是 onAck,onTimedout 等事件的触发。

需要注意的是 IBC 只负责数据安全的传输。对于数据的序列化则需要建立在区块链上的应用进行处理。

🌌 Cosmos IBC

IBC 是一种协议,目前 IBC 已经在 Cosmos SDK 中实现,未来将支持 Kepler,Substrate,Tendermint,Codechain。

Cosmos 通过 IBC 进一步壮大了 Cosmos SDK 的影响力。跨链,定制区块链开发的玩家可不止 Cosmos 一家,Polkadot 也有着自己的解决方案。有机会的话我们会向你们介绍 Polkadot 的奇妙之处。

❤ 如果你喜欢这篇文章,不妨订阅 un.block

欢迎关注我的其它发布渠道