软硬核:彻底读懂 Cosmos 如何一键发链与万链互联

  • 时间:
  • 浏览:2

本文来自于微信公众号链闻ChainNews(ID:chainnewscom),作者:李画,站长之家经授权转载。

有些人如此自造「软硬核」你这个 词汇来描述这篇文章的特点:首先,这是一篇实打实的关于 Cosmos 硬核技术的全面解读;但会 ,它却把极「硬」的技术和理论,用易懂的语言深入浅出地进行了拆解,化「硬核」于柔掌之中,保证你充分理解。

Cosmos 主网上线会是区块链世界的一件大事,关于其意义,都都不能参考著名区块链投资机构 1confirmation 创始人 Nick Tomaino 撰写的文章:「Cosmos 的前世今生、未来前景和投资价值」。

今天推送的这篇文章,用作者的原话则是:从 Cosmos 最小的细胞行态讲起,直到讲清楚它是如保以你这个 行态为基础实现庞大的宇宙图景。而「cosmos」你这个 单词的本意正好是「宇宙」的意思。

Enjoy reading

致谢:IRISnet 创始人 & Cosmos 中国 Harriet Cao

跨链是区块链正确的发展方向吗?万链互连是区块链未来的落地图景吗?问你。有些人都不 观望。

不过,合适有一另一个标本可供观察:Cosmos 与 PolkaDot。

Cosmos 在 3 月 14 日的早 7:00 启动主网,它是以伯克利的 Tendermint 团队为核心团队开发的跨链项目,要实现两件事情:第一件,是让公链开发变得简单;第二件,是让所有的链不能连接起来。

它是如保完成这两件事情的?以这两件事情的实现为基础,Cosmos 希望构建出如保的区块链世界?它的跨链生态目前的进展如保?本文将逐一解答那此间题报告 。

Cosmos 的工作原理

让有些人通过分析和拆解公链的行态,来清楚地理解 Cosmos 是如保把比较复杂的公链开发变成一件容易完成的事情。

三根公链从底层至上层都都不能粗略地被分为一另一个每段 如下图所示:

  • 网络层:底层的数据行态和通信协议的设计。

  • 共识层:共识机制的设计。

  • 应用层:具体业务逻辑的设计。

一每段公链的设计目的是为了对公链你这个 基础设施五种生活做出改进,比如以太坊、Nervos、Conflux 等等,它们是都不能在网络层、共识层、应用层上都进行思考和建设的。

但有些绝大多数的公链是为了处里具体的应用需求而存在的,它们是要处里当时人的业务间题报告 ,而都不 处里公链的间题报告 。也也不说,它们实际上不想关心网络层和共识层,只都不能设计为自身业务逻辑服务的应用层即可。

基于你这个 思路,Cosmos 把网络层和共识层设计好并封装起来,提供给公链开发者使用,在你这个 清况 下开发者就只用考虑应用层。

被封装起来的网络层和共识层叫「tendermint core」,应用层调用 tendermint core 的接口叫「ABCI Application Blockchain Interface」。通过 ABCI 接口,应用层与共识层、网络层组成一另一个都都不能协同工作的删改的公链系统。整个系统,都都不能用下图展示:

到你这个 步,Cosmos 把开发三根公链的工作减少为设计一另一个应用层的工作。但 Cosmos 并如此就此打住,它继续「切分」应用层。

应用层都不能实现一系列的功能来完成最终的业务逻辑,不过那此功能暗含也与非 都都不能通用的,比如账户管理的功能,Cosmos 把那此功能分解出来,再以模块化的土办法加以实现。

原来一来,开发者在进行应用层开发时,只都不能实现自身业务逻辑中特殊的功能,有些的功能都都都不能直接调用 Cosmos 的功能模块。

如下图所示,Accounts、Governance、Staking、Slashing 等均是功能模块,不能以「插拔」的土办法被组合到并肩使用。

Cosmos 把当时人提供的你这个 模块化开发工具叫做「Cosmos SDK」,它覆盖了应用层都不能实现的大每段的功能,到你这个 步,Cosmos 把设计一另一个应用层的工作减少为实现少数具体的功能模块的工作。

最终,如下图所示,通过对公链的分层设计以及对应用层的分模块设计,开发者不能以 tendermint 共识引擎和 Cosmos SDK 开发工具为基础,快速地完成公链的开发。有些人不再都不能设计整条公链,而只都不能实现核心的业务功能。

正但会 原来,币安都都不能在较短的时间内迅速了 了 基于 Cosmos 的开发工具和共识引擎,开发完成应用方向非常聚焦的「Binance Chain」,并基于 Binance Chain,开发出币安去中心化交易所。

Binance Chain 和币安去中心交易所的具体运行清况 ,但会 成为检验 Cosmos 公链开发体系的重要案例。

Cosmos 的跨链实现

理解 Cosmos 跨链,最关键的是了解 IBC Inter-Blockchain Communication,即 Cosmos 的跨链通信协议。

IBC 定义了链与链之间的通信标准,但会 说它定义了五种生活跨链行态,具有相同行态的链就都都不能实现互相连通,它允许区块链读取和验证同行态的有些链上的事件。

利用 Cosmos SDK 开发的公链盐晶 具备你这个 跨链行态,它们之间从创立之初就都都不能通过 IBC 实现链链交互。

那此都不 使用 Cosmos SDK 开发,未暗含 IBC 跨链标准的链为什连通?土办法是使用 Cosmos SDK 为原链开发三根「代理链」。

这条代理链既遵守原链的通信标准,都都不能与原链连通;又采用 IBC 标准,都都不能与有些 Cosmos SDK 开发的链连通,从而间接实现了原链与 Cosmos 链的跨链。如下图所示,右上角的 Ethermint 即是以太坊的三根代理链,通过它都都不能实现以太坊与 Cosmos 链的连接。

Cosmos 跨链实现中的原来重要角色是「Hub」,它承担的是里面枢纽的角色。

以上图为例,图中最左侧和最右侧的 4 条公链在如此 Hub 的清况 下要实现连接,就都不能在彼此之间新建三根通道,但但会 有了 Hub,它们都只都不能与 Hub 连接,由 Hub 实现跨链的中转。

Hub 五种生活也是三根公链,使用 Cosmos SDK 开发,具备 tendermint 行态;Hub 连接的公链以及公链的代理链被称作「Zone」,所有的 Zone 都都不能实现 IBC 通信标准。 

最终,如下图所示,以 IBC 通信标准为跨链的基础行态,以 Hub 为跨链的里面枢纽,Cosmos 实现了链与链的互联。

Cosmos 主网,让跨链生态从理论阶段进入实现阶段

Cosmos 主网是指由 Cosmos 团队当时人开发的第一另一个官方版 Hub,也也不不同链进行跨链操作时的第一另一个中央枢纽。随着该主网的上线,Cosmos 的跨链生态将从理论阶段进入到实现阶段。

首先介绍有些人最为关注的,Cosmos 与有些非 Cosmos SDK 开发的公链的连接。

以太坊将是 Cosmos 最先连接的公链,目前有一另一个项目去实现你这个 连接: Cosmos 开发团队主导的 Ethermint 项目,以及由 Loom Network 主导的 PlasmaChain。

Ethermint 是一另一个单独的 Zone,基于 Tendermint ,但会 删改兼容以太坊的 web3 接口和 RPC 调用土办法,其跨链实现是:以太坊连接 Ethermint Zone,Ethermint 连接 Cosmos Hub,Cosmos Hub 连接有些遵守 IBC 通信标准的 Zone/链。通过你这个 连通关系,最终实现以太的跨链转移。

目前 Ethermint 仍在开发中,但会 完成了 web3 兼容 API 层的每段开发。

PlasmaChain 则是以 Zone 和 Hub 的双重身份再次经常出现,它是以太坊的 DPoS 侧链。

作为 Zone,PlasmaChain 一边连接以太坊主链,一边连接 Cosmos Hub,实现以太的跨链转移;作为 Hub,PlasmaChain 都都不能连接起以太坊的有些侧链,作为那此侧链间代币转移的里面枢纽。PlasmaChain 将在 Cosmos 主网启动后完成与 Cosmos Hub 的连通。

接下来,介绍基于 Tendermint 和 Cosmos SDK 展开的,因而盐晶 实现了链与链互联的 Cosmos 跨链生态。该生态目前但会 暗含了 1000 多个项目。

最被有些人熟知的应该是 IRISnet,它由中国的边界智能团队开发,是目前 Cosmos  网络中除 Cosmos Hub 外的最重要的一另一个 Hub。

IRISnet 对 Cosmos SDK 和 IBC 进行了扩展,用以支持公链、联盟链以及传统商业系统之间的集成,使得数据和比较复杂计算不能跨异构网络互联互通,实现服务的跨链调用 本文将在下一小节删改介绍 Hub 的你这个 扩展性及其意义。

IRISnet 在 3 月 1 日启动了主网,目前已有 81 个节点成为网络共识的验证人,当 Cosmos 主网正式启动后,Cosmos Hub 和 IRISnet Hub 将完成跨链生态中的双 Hub 链接。

基于 Cosmos 的原来著名项目则是上文提到过的 Binance Chain。

Binance Chain 是 Cosmos 上的第一另一个去中心化交易所平台,不过它对标准 Cosmos SDK 进行了缩减,比如加进去对智能合约的支持每段,用以更简单、高效地实现其作为交易所的功能。

在目前发布的第一版中,Binance Chain 也不作为去中心化的交易平台来运行,并如此开通与有些链的跨链连接和链间操作。币安表示你说要到第二版或第三版才会加进去去你这个 功能。

有些的具体项目不再一一介绍,总而言之,基于 Tendermint 和 Cosmos SDK 开发的项目,都都不能是 Zone,也都都不能是 Hub,它们都遵守 IBC 跨链通信协议,都都不能轻松实现彼此地互联。

通过 https://cosmos.network/ecosystem 不能查都看那此项目的信息,这其中包括 IOV,它是基于 Cosmos 的第一另一个分布式区块链 DNS;包括 Kava,它是基于 Cosmos 的第一另一个跨链钱包协议提供者。

随着 Cosmos 主网的上线,包括 IRISnet 在内的主 Hub 的上线,以及这类于 PlasmaChain 的、用以实现与不具备 IBC 跨链行态的公链连接的项目的实现,还有原来就基于 Cosmos SDK 开发的项目的上线,Cosmos 将一步步地连接起更多的链,不断扩张其跨链生态。

Hub 的潜力

本文的最后一另一个主题是探讨 Hub 的潜力,它在 Cosmos 生态中扮演着重要角色。

试想,有了 Tendermint 和 Cosmos SDK,公链的开发从设计实现一整条公链变成设计实现多个只与自身业务逻辑相关的功能模块,如此,开发公链的工作还都都不能被进一步减少吗?

有了 IBC,不同的链在基于相同的跨链行态下完成了连通,从而实现了代币的跨链转移,如此,链链互联还都都不能完成除了流通代币外的更多的任务吗?

答案是都都不能,通过「定制」Hub。

Hub 既都都不能是这类于 Cosmos Hub 的通用 Hub,也都都不能是针对具体应用场景或特定业务需求而开发的专业 Hub。

这类专业 Hub 都都不能扩展 Cosmos SDK 的功能模块,也都都不能扩展 IBC 的数据接口,原来一来,当开发者进行你这个 具体应用场景下的公链开发时,便都都不能直接使用该 Hub 扩展后的 Cosmos SDK 以及 IBC 通信标准。

到你这个 步,公链的开发就只都不能实现极少的特殊功能模块,而通过该专业 Hub 连接起来的具有相同 IBC 通信标准的链,都都不能完成除代币转移外的、基于更丰沛 接口实现的更多功能的连接。

上文但会 提到的 IRISnet 也不一另一个典型的例子。

IRISnet 是 Cosmos 在中国的技术和运营协作协议伙伴边界智能作为核心开发团队,与 Tendermint 研发团队协作协议打造的一另一个 Hub,其目标是成为链接数字经济和实体经济的可信「桥梁」,为构建比较复杂的分布式商业应用提供满足你这个 特定需求的公链基础设施。

IRISnet 对 Cosmos SDK 和 IBC 协议进行了扩展,采用面向服务的设计思想,开发了新的区块链跨链服务的基础设施和跨链协议,并提供 IRIS SDK 开发工具和名为「iService」的服务框架。

iService 服务框架定义了一整套商业应用逻辑,但会 说标准,提供了服务从定义、发布、调用、治理 分析和争端处里 的全生命周期的管理。但会 ,我希望采用 iService 服务框架,不仅不能实现通证的跨链转移,不能实现包括数据、比较复杂计算在内的跨链网络调用。  

换句话说,这意味 专有链开发者不能以 IRIS SDK 为基础,快速开发公链或联盟链或应用专有链,以 iService 为标准发布服务,并通过 IRIS Hub 实现与有些链的跨链互联,从而实现基于区块链的分布式商业应用。

就像有多个项目基于 Cosmos Hub 开发一样,作为主 Hub,目前都不 众多项目基于 IRISnet 展开,实现自身的分布式商业应用的需求。

区块链智能信息边缘分析网络「BEAN」是其中之一,它是一另一个分布式的大数据分析和交换网络,处里了医疗大数据应用场景中处方外配、隐私保护下的医疗数据的可信使用和多方可信交互等间题报告 。并肩,IRISnet 也与复星、Hashkey、PlatON 等达成协作协议,实践分布式商业应用链的落地。

好难发现,通过 Hub,Cosmos 让当时人具备了真正的可扩展性,在链的功能上以及跨链的实现上。随着更多聚焦于不同主题的 Hub 的开发和上线,Cosmos 将成长为一另一个包容的、强大的生态。

如保用 1000 秒说清楚 Cosmos 是那此?

讲了如此多,但会 只用 1000 秒钟,如保说明 Cosmos 是那此,以及它是如保实现一键发链与万链互联的?很简单:

  • 通过 tendermint 共识引擎和 Cosmos SDK,实现公链的简单、快速开发。

  • 通过 IBC 跨链通信协议,实现相同行态下的链与链之间的可通信、可互连。

  • 通过 Hub,连接起不同的 Zone 与 Hub,实现 Cosmos 整体的跨链生态。

  • 通过定制的 Hub,进一步比较复杂开发工作和满足特定领域的开发需求,并实现除代币跨链外的更多跨链的但会 。

这也不 Cosmos。

参考资料及数据来源:

1.《Blockchain Interoperability: Cosmos vs. Polkadot》,Dave Kajpust

2.《对话 Cosmos:未来是人个都用三根公链,还是每当时人都不 当时人的链?》,李阳

3.《Beginner’s Guide to Cosmos: The Tendermint-Based Blockchain Ecosystem》,Brian Curran

4. 基于 Cosmos SDK 的项目信息,https://cosmos.network/ecosystem