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

  • 时间:
  • 浏览:0

本文来自于微信公众号链闻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 跨链生态。该生态目前将会含晒 了 1150 多个项目。

最被你后能 们 熟知的应该是 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 将成长为好几个 包容的、强大的生态。

咋样用 150 秒说清楚 Cosmos 是哪些地方?

讲了如此多,将会只用 150 秒钟,咋样说明 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