一文带你了解火爆的区块链互联网cosmos(代码片段)

lucasma.eth lucasma.eth     2022-12-07     278

关键词:

Cosmos诞生的背景

假如时间倒退4,5年前,如果有人跟你说他要做一个区块链的互联网,让市面上所有的公链互联互通。你一定觉得他疯了。因为那个时候公链就没有几个,大家谈来谈去还是比特币,以太坊等这些公链。这个时候搞公链的互联互通确实没有什么意义。

不过随着区块链的发展,大量的链上交互需求导致以太坊过于拥挤,再加上高昂的 Gas fee 也阻挡了大量的用户进入 以太坊 主网。以太坊的TPS(系统吞吐量)只有15笔/秒,程序员都应该清楚这个TPS真的不算高。

在这样的背景下,市面上诞生了很多公链用来抢占以太坊的溢出资金和流量。下面这个图是我在footprint上看到的最新公链市场份额数据,可以看到尽管以太坊还是当之无愧的老大,但是诸如Terra,BSC等公链都开始发力。

于是,区块链市场格局就产生了变化,各种公链像雨后春笋般涌现出来。但由于技术、生态以及一些问题绝大多链与链之间无法连接互通,使得用户的数据、资产、应用割裂,形成孤岛效应。为了解决此问题,业界开始探索跨链技术。

这几年提出的跨链技术有很多,Cosmos就是其中一种。而且是目前最主流的。现在一种普遍的看法是,Bitcoin 是区块链 1.0、Ethereum 是区块链 2.0,而Cosmos 是区块链 3.0——「区块链互联」多链宇宙的基础设施。

Cosmos致力于成为”区块链的互联网“,类比主流公链(如BSC、Avalanche)的发展路径可知,Cosmos生态内上线区块链网络的情况对其发展尤为关键。

通过Cosmos SDK(一个模块化框架),Cosmos支持开发者便捷地为Dapp构建专有的应用链(Cosmos中称为zone)。应用链通过接入IBC(跨链通信协议),可与Cosmos生态中其它接入IBC的链实现互操作,以此构建Cosmos的多链生态系统。

到底什么是Cosmos

一般大家把Cosmos成为区块链互联网,它不像以太坊提供一个独立的公链。而是希望借助于一些技术实现公链的互通互联。

Cosmos的中文是宇宙,从这个名字就能感受到它的创始人的野心。我理解Cosmos想成为一个区块链的宇宙控制者,而一个一个独立的区块链就是星球。这些星球需要在遵循宇宙的规则的前提下各自运转。

下面这张图,来自map of zones,目前接入Cosmos生态的链已经超过40个,可以看到现在Cosmos生态已经做的很不错了。

Cosmos有几项核心的技术来实现它的野心。

首先是Tendermint,Tendermint是一个Pos共识引擎。这个技术可以使在其它链上开发的代币实现跨链转移。

另外一个核心的技术是Cosmos SDK,可以认为这是一个框架或者模块,通过这个SDK,开发者可以为Dapp构建专有的应用链(在Cosmos里叫zone)。一般我们做软件开发都知道,SDK这个玩意可以简化开发,很多功能都给你封装好了直接调用就行,也可以从这个角度理解下这个SDK。

还有一个重要的技术是IBC(跨链通讯协议),上面提到的各个应用链可以通过这个协议实现通讯。IBC其实不只是连接公链,企业的内部链也可以通过IBC接入Cosmos的生态。

Cosmos的多链生态系统主要就是基于上面三个技术底座实现的。

Cosmos背后涉及的技术细节

一般别的写Cosmos的文章,到这里就结束了。但是我是个程序员,喜欢研究事物的底层原理。这部分我们来把前面章节提到的一些概念涉及的技术细节展开说说。

先来说受Tendermint,它是一种将区块链的网络和共识层打包成通用引擎的解决方案,底层使用的算法是BFT 共识算法(拜占庭容错)。这个也是很多区块链的底层算法。

通常情况下,一个区块链系统需要三层
Tendermint相当于帮我们隐藏了下面两层,开发人员只需要在最上层开发区块链的应用即可。这样就大大简化了开发区块链的时间。Tendermint提供的这个通用的引擎使用一种名叫ABCI的socket通讯协议和应用进行交互,这个协议我们可以基于各种开发语言进行封装,比如java,Go等。所以开发人员可以选择自己熟悉的语言进行开发。

然后我们再来说说这个Cosmos SDK。尽管有了Tendermint引擎已经大大降低了我们开发区块链的难度,但是开发一个基于ABCI的app依然是相对比较复杂的,Cosmos SDK就是为了简化app的开发。就好想尽管我们开发一个手机app,都会用到一些封装好的库来简化我们的开发一样。

从这个图可以看出,Cosmos SDK在Tendermint引擎之上,并且它采用了一种模块化的概念,它希望开发者能想搭积木一样在自己的应用里引入模块。模块可以自己定制开发,也可以使用Tendermint内置的一些基础模块。另外,Cosmos sdk还引入了一些安全边界的机制,模块间的通讯不是任意的。这样可以防止一些恶意的交互。具体的安全机制这里就不展开了,想了解这块的朋友可以评论区留言。

最后该说说IBC了。

要把市面上这么多区块链互通互联,肯定要有一个协议,然后所有的区块链都去实现并遵守这个协议就可以了。这个协议就叫做IBC。实现了这个协议的的区块链,无论是公链还是私链都可以进行通讯,包括传输代币和数据。

举一个例子,假设A链上的一个账户想要发送 10 个代币到B链。代币我们给它取个名字叫ATOM。

B链接收A链的头部,反之亦然,且允许每个链跟踪另一个链的验证者集合。本质上相当于每条链执行了另一个链的一个轻客户端。

当 IBC 转账发起时,ATOM 被锁定在A链上。

然后,将10个 ATOM 绑定的证明从链 A 中继到B链。

在B链上根据A链的头部进行验证,如果有效,则在B链上创建 10 个 ATOM 凭证。

需要注意的是,在B链上创建的ATOM并不是真正的ATOM,因为 ATOM只存在于A链上。它们是A链中 ATOM在B上的表示,以及这些ATOM被冻结在A链上的证明。

总结

我们可以看到cosmos的生态越来越强大,慢慢在向着自己的伟大梦想(区块链宇宙)迈进。我个人认为cosmos未来会成为web3.0的重要组成部分,让我们一起拭目以待。


参考:

  • https://mapofzones.com/?testnet=false&period=24
  • https://cosmos.network/

科普|火爆“区块链和互联网”两个行业的元宇宙是什么?

...lobtc)元宇宙可以说是最近整个区块链行业,甚至互联网行业最火的概念。不过它并不是区块链行业诞生的新名词,而是从互联网圈子进入到区块链行业,借势NFT、GameFi等概念迅速蔓延起来的。那么,到底什么... 查看详情

一文弄懂区块链技术原理(代码片段)

前言近期由于工作需要,于是对区块链相关技术展开了大量的研究和学习.本文将以开发者的角度,对整个区块链行业技术的发展做一次全面的总结和归纳.文章宗旨是为了帮助大家理解区块链技术出现的目的、能够解决什么问题还... 查看详情

chainlink对接cosmos区块链(代码片段)

区块链预言机(Oracle)是一种第三方去中心化数据服务,可以为智能合约和区块链提供链外数据。预言机在封闭、确定性的区块链系统与现实世界之间搭建了一座桥梁。区块链开发教程链接: 以太坊 | 比特币 |... 查看详情

带你了解java这么火爆的真实原因!

这几年,中国的互联网行业进入了高速发展的阶段,同时IT行业,也成为了热门,备受追捧和关注的行业。在全球云计算和移动互联网的产业环境下,Java工程师异常火爆,受到众多人的追捧。Java工程师为... 查看详情

cosmos区块链chainlink预言机教程(代码片段)

区块链预言机(Oracle)是一种第三方去中心化数据服务,可以为智能合约和区块链提供链外数据。预言机在封闭、确定性的区块链系统与现实世界之间搭建了一座桥梁。区块链开发教程链接:以太坊|比特币|EOS|Tend... 查看详情

一文说透元宇宙与web3时代的重要基础设施:rollup波卡cosmos...

这是白话区块链的第1485期原创 作者|五火球教主出品|白话区块链(ID:hellobtc)8月底以来,公链市场持续火热,引起不少关注。另外,多链这边Cosmos生态取得持续进展,波卡插槽拍卖也已经开始... 查看详情

区块链-1了解(代码片段)

...术。区块链的优点去中心化,更安全分布式系统通过互联网来维护一个公共的账本,由两个以上节点组成一个整体,节点独立,节点能相互通信。区块链所有节点如何达成共识?通过算法:共 查看详情

一文了解「区块链桥」:区块链桥的工作方式及四种类型

区块链桥如何帮助实现不同网络之间的互操作性。区块链桥如何帮助实现不同网络之间的互操作性。近10年前,比特币为区块链奠定了基础。十多年后的今天,有100多个活跃的区块链公共网络存在。然而,当构建在不... 查看详情

如何在dappnode中运行cosmos节点?

一、什么是Cosmos?Cosmos ,是一种全新的区块链网络架构,支持不同区块链之间互操作和可扩展,从而实现不同区块链之间互联互通的目标。COSMOS提供TendermintCore、COSMOSSDK基础模块。TendermintCore是区块链底层共识和... 查看详情

一文带你了解最火热的nft项目

NFT即非同质化代币,是基于区块链技术的一种资产类型。它代表了某种独一无二的具体资产的所有权,比如数字艺术品、虚拟游戏物品、稀有收藏品或其他数字或实体资产等。进入2021年,NFT市场强势启动,2月至4... 查看详情

技术解析+代码实战,带你入门华为云政务区块链平台

...xff0c;作者:敏捷的小智。1、行业区块链平台诞生背景互联网时代下,区块链作为一种分布式的公开账本,具有去中心化、开放匿名、不可伪造篡改等特点,凭借其独特的信任机制和信息传递技术,在金融、医... 查看详情

一文带您了解区块链五大分类

一、开放技术1、公有链:每个人可参加典型案例:比特币BTC、以太坊ETH特点:系统最为开放,所有人都能够参加区块链数据的维护和读取,易于部署应用程序,完全去中心化不会受到其他机构操纵。2、联... 查看详情

猿创征文|一文带你了解前端开发者工具(代码片段)

...工具1、ApiPost五、写在最后(总结)一、前言随着互联网的高速发展,Web2.0时代的快速演变。用户对于网 查看详情

一文了解全球主要经济体对区块链技术的采纳情况和监管政策

区块链技术最初可能只是支持比特币和其他Crypto的技术,但现在它正被不同行业所采用,包括游戏和物流。这一新兴技术通过引入去中心化生态系统来改变世界的互动方式,这些生态系统正在挑战着当今集中制的基础... 查看详情

一文了解「模块化」区块链的当前形势:执行安全性及数据可用性

来源|polynya纵观区块链行业最初的十年,只存在单一型区块链。像早期的plasma、多链以及分片等实验都尝试突破这种局面,但直到rollups、validiums以及数据可用性链的出现,才预示了单一区块链时代即将结束。然而࿰... 查看详情

一文带你深入了解http

...xff0c;能让我有探究它的兴趣。下面的这张图片就展示了“互联网”诞生至今的发展历程http是什么?HyperTextTransferProtocol直译为“超文本传输协议”。1.超文本:指文字、图片、视频、音频等的混合体,比如最熟悉的html... 查看详情

cosmos基础--ignitecli(代码片段)

...LIv0.26.1官网DOCGitHubTryIgniteCLIonline你的项目值得拥有自己的区块链。Ignite使开发、增长和启动区块链项目比以往任何时候都更快。IgniteCLI是一个一体化平台,可以在自主和安全的区块链上构建、启动和维护任何加密应用程序Inst... 查看详情

区块链-1了解

...lt;/br>去中心化,更安全**分布式系统**</br>通过互联网来维护一个公共的账本,由两个以上节点组成一个整体,节点独立,节点能 查看详情