Cosmos网络由许多独立的并行区块链组成,网络中第一个区块链是Cosmos Hub,其他的并行链称为Zone,通过跨链协议(IBC)与Hub进行跨链操作。严格来说,Cosmos是一个独立的并行区块链的去中心化网络,每个区块链均由BFT共识算法,例如Tendermint共识。

Cosmos解决了当今最困难的区块链问题

更新日期:2020-12-21
项目网站:https://cosmos.network/
微信号码:bitcreate
浏览次数:
项目简介:

Cosmos网络由许多独立的并行区块链组成,网络中第一个区块链是Cosmos Hub,其他的并行链称为Zone,通过跨链协议(IBC)与Hub进行跨链操作。严格来说,Cosmos是一个独立的并行区块链的去中心化网络,每个区块链均由BFT共识算法,例如Tendermint共识。

项目介绍

Cosmos解决了当今最困难的区块链问题

什么是Cosmos?

介绍

严格来说,Cosmos是一个独立的并行区块链的去中心化网络,每个区块链均由 共识算法,例如Tendermint共识。

换句话说,Cosmos是一个生态系统 

可以相互扩展和互操作。在Cosmos之前,区块链很孤立,无法相互通信。他们很难建造,只能处理少量的每秒。Cosmos以新的技术视野解决了这些问题。为了理解这一愿景,我们需要回到区块链技术的基础。

什么是区块链

区块链可被描述为由一组验证器维护的数字分类帐,即使某些验证器(少于三分之一)是恶意的,该验证器也保持正确。各方在接收计算机交易时,将分类帐的副本存储在其计算机上,并根据协议定义的规则对其进行更新。区块链技术的目标是确保正确地复制分类帐,这意味着每个诚实方在任何给定时刻都可以看到相同版本的分类帐。

区块链技术的主要好处是各方无需依靠中央授权即可共享总账的能力。区块链是去中心化的。今天,区块链技术的第一个也是最著名的应用是比特币,一种去中心化的货币。

现在我们已经从更高的角度更好地了解了区块链是什么,让我们从技术角度来看区块链的定义。区块链是复制在其上的确定性状态机全节点只要不到三分之一的维护者保持共识安全 拜占庭。让我们分解一下。

  • 状态机只是持有状态并在接收到输入时对其进行修改的程序的幻想字。有一个状态,可以根据应用程序表示不同的事物(例如 加密货币的余额)和修改状态的交易(例如,通过从一个余额中减去余额)  并将它们添加到另一个)。
  • 确定性意味着,如果您从相同的创始状态重播相同的事务,则最终将始终具有相同的结果状态。
  • 共识安全是指以下事实:在其上复制状态机的每个诚实节点都应同时看到同一状态。当节点接收到事务块时,它们将验证该事务是否有效,这意味着每笔事务都是有效的,并且该块本身已由三分之二以上的维护者(称为验证器)进行了验证。只要少于三分之一的验证者是拜占庭式的,即恶意的,就将保证安全。

从架构的角度来看,区块链可以分为三个概念层:

  • 应用程序:负责在给定一组交易的情况下更新状态,即处理交易。
  • 联网:负责交易和共识相关消息的传播。
  • 共识:使节点能够就系统的当前状态达成共识

状态机与 应用层。它定义了应用程序的状态和状态转换功能。其他层负责在连接到网络的所有节点上复制状态机。

Cosmos如何适应更广泛的区块链生态系统?

比特币故事(BLOCKCHAIN 1.0)

要了解Cosmos如何适应区块链生态系统,我们需要回到区块链故事的开始。第一个区块链是比特币,比特币是一种于2008年创建的对等数字货币,它使用一种称为工作量证明(PoW)。它是区块链上的第一个去中心化应用程序。不久,人们开始意识到去中心化应用程序的潜力,并且社区中出现了构建新应用程序的愿望。

当时,有两种选择来开发去中心化应用程序:要么分叉比特币代码库,要么在其基础上构建。但是,比特币代码库非常单一。网络,共识和应用程序这三层混合在一起。此外,比特币脚本语言是受限制的,并且不友好。需要更好的工具。

以太坊的故事(区块链2.0)

2014年,以太坊提出了构建分散式应用程序的新主张。只有一个区块链,人们可以在其中部署任何类型的程序。以太坊通过将应用程序层转换为称为以太坊虚拟机(EVM)的虚拟机来实现这一目标该虚拟机能够处理称为智能合约 任何开发人员都可以将其部署到以太坊区块链中未经许可时尚。这种新方法使成千上万的开发人员开始构建分散式应用程序(dApps)。但是,这种方法的局限性很快变得显而易见,并且一直持续到今天。

局限性1:可扩展性

第一个限制是 缩放-以太坊之上构建的分散式应用程序受到每秒15个事务的共享速率的抑制。这是因为以太坊仍然使用工作量证明,并且以太坊dApp争夺单个区块链的有限资源。

局限性2:可用性

第二个限制是授予开发人员的灵活性相对较低。因为EVM是一个沙箱,需要容纳所有用例,所以它针对平均用例进行了优化。这意味着开发人员必须在其应用程序的设计和效率上做出折衷(例如,要求在可能首选UTXO模型的支付平台中使用帐户模型)。其中,它们仅限于几种编程语言,并且无法实现代码的自动执行。

局限性3:主权

第三个限制是每个应用程序都受到限制主权,因为它们都共享相同的基础环境。本质上,这将创建两层治理:应用程序以及基础环境的功能。前者受后者的限制。如果应用程序中存在错误,未经以太坊平台本身的管理的批准,将无法对其进行任何处理。如果应用程序需要EVM中的新功能,则它必须再次完全依赖以太坊平台的管理才能接受它。

这些限制并不只适用于以太坊,而是适用于所有试图创建适合所有用例的平台的区块链。这就是Cosmos发挥作用的地方。

Cosmos愿景(区块链3.0)

Cosmos的愿景是通过允许开发人员彼此进行交易,使开发人员可以轻松构建区块链并打破区块链之间的障碍。最终目标是创建一个区块链互联网,这是一个能够以分散方式相互通信的区块链网络。借助Cosmos,区块链可以维护主权,快速处理交易并与生态系统中的其他区块链进行通信,使其成为各种用例的最佳选择。

通过一系列开源工具(例如, ,  和 旨在让人们快速构建自定义,安全,可扩展和可互操作的区块链应用程序。让我们仔细研究生态系统中的一些最重要工具以及Cosmos网络的技术架构。请注意,Cosmos是一个最初由Tendermint团队构建的开源社区项目。欢迎每个人构建其他工具,以丰富更大的开发人员生态系统。

什么是Tendermint BFT和ABCI

直到最近,构建区块链还需要从头开始构建所有三个层(NetworkingConsensusApplication)。以太坊通过提供虚拟机区块链简化了去中心化应用程序的开发,任何人都可以在其上以智能合约的形式部署自定义逻辑。但是,它并没有简化区块链本身的开发。就像比特币一样,以太坊仍然是一个整体的技术堆栈,很难从中进行分叉和定制。这是Jae Kwon在2014年创建的Tendermint进入的地方。

Tendermint BFT是一种将区块网络共识打包到通用引擎中的解决方案,允许开发人员专注于应用程序开发,而不是复杂的基础协议。结果,Tendermint节省了数百小时的开发时间。请注意,Tendermint还指定拜占庭式容错(BFT)的名称共识算法

在Tendermint BFT引擎中使用。有关共识协议和BFT的历史的更多信息,请查看Tendermint联合创始人Ethan Buchman的精彩播客。

所述Tendermint BFT发动机被连接到由套接字协议称为应用程序的应用Blockchain接口()。该协议可以包装在任何编程语言中,从而使开发人员可以选择适合其需求的语言。

但这还不是全部以下是使Tendermint BFT成为最先进的区块链引擎的属性:

  • 可以使用公共或私有区块链: Tendermint BFT仅处理区块链的网络连接共识,这意味着它可以帮助节点传播交易,并且验证程序可以同意一组交易以附加到区块链上。应用的作用是定义如何构成。因此,开发人员可以在Tendermint BFT引擎之上构建公共和私有区块链如果应用程序根据验证者所拥有的令牌数量来选择验证者,则可以将区块链表征为但是,如果应用程序定义只有一组有限的预授权实体可以是验证者,则可以将区块链表征为允许或私有。开发人员拥有自定义规则的所有自由,这些规则定义了其区块链的验证程序集如何更改。
  • 高性能: Tendermint BFT的阻塞时间约为1秒,每秒可处理多达数千笔交易。
  • 即时终结性: Tendermint共识算法的一个属性是即时终结性。这意味着只要超过三分之一的验证者是诚实的(拜占庭),就永远不会创建派生。用户可以确保一旦创建一个区块即可完成交易(在工作量证明区块链(如比特币和以太坊)中不是这种情况)。
  • 安全性: Tendermint共识不仅是容错的,而且是负责任的。如果区块链分叉,有一种确定责任的方法。

Cosmos SDK和其他应用程序层框架

Tendermint BFT将区块链的开发时间从数年缩短至数周,但是从头开始构建安全的ABCI应用仍然是一项艰巨的任务。这就是为什么


 存在。

CosmosSDK是一个广义的框架,简化了建立在Tendermint BFT的顶级安全blockchain应用程序的过程。它基于两个主要原则:

  • 模块化: Cosmos SDK的目标是创建一个 使开发人员可以轻松旋转 无需从头开始编写其应用程序的每一个功能。任何人都可以为Cosmos SDK创建一个模块,在区块链中使用现成的模块就像将它们导入到应用程序中一样简单。例如,Tendermint团队正在构建一套基本模块,这些模块是任何开发人员在构建自己的应用程序时都可以使用这些模块。此外,开发人员可以创建新模块以自定义其应用程序。随着Cosmos网络的发展,SDK模块的生态系统将会扩展,这使得开发复杂的区块链应用程序变得越来越容易。
  • 基于功能的安全性:功能限制了模块之间的安全性边界,使开发人员可以更好地说明模块的可组合性,并限制恶意或意外交互的范围。要更深入地了解功能,请单击此处。

Cosmos SDK还附带了一组有用的开发人员工具,用于构建命令行界面(CLI),REST服务器和各种其他常用的实用程序库。

最后一点:Cosmos SDK与所有Cosmos工具一样,都是模块化的。今天,它允许开发人员在Tendermint BFT之上构建。但是,它可以与实现ABCI的任何其他共识引擎一起使用。随着时间的流逝,我们期望出现多个SDK,它们使用不同的体系结构模型构建并与多个共识引擎兼容-所有这些都在一个单一的生态系统:Cosmos Network中。

要了解如何在SDK上对应用程序进行编码,可以查看教程。

醚薄荷

Cosmos SDK的伟大之处在于它的模块化特性使开发人员可以在Golang之上移植几乎任何现有的区块链代码库。例如,醚薄荷是一个将以太坊虚拟机移植到SDK模块的项目。Ethermint的工作原理与以太坊完全相同,但也受益于Tendermint BFT的所有属性。所有现有的以太坊工具(松露,Metamask等)均与Ethermint兼容,您无需进行额外工作即可移植智能合约。

当我将分散的应用程序部署在虚拟机区块链之上时,为什么还要使用Cosmos SDK创建区块链呢?

考虑到当今大多数去中心化应用程序都是在以太坊等虚拟机区块链之上开发的,因此这个问题是合理的。首先,应该指出的是,这种现象的原因是,到目前为止,区块链比智能合约更难开发。多亏有了Cosmos SDK,情况已不再如此。现在,开发人员可以轻松地开发整个特定于应用程序的区块链,这具有多个优势。其中,它们提供了更大的灵活性安全性性能主权要了解有关特定于应用程序的区块链的更多信息,请阅读这篇文章。当然,如果您不想构建自己的区块链,则仍然可以通过将智能合约部署在Ethermint上来使其与Cosmos兼容。

将区块链连接在一起-IBC

现在,开发人员可以快速构建自定义的区块链,让我们看看如何将这些区块链连接在一起。区块链之间的连接通过称为区块链间通信协议(IBC)的协议来实现IBC利用Tendermint共识的即时最终特性(尽管它可以与任何“快速最终”区块链引擎一起使用),以允许异构链彼此之间传递价值(即代币)或数据

什么是异构链?

从本质上讲,它可分为两件事:

  • 不同的层:异构链具有不同的层,这意味着它们在实现网络共识应用程序部分的方式上可能有所不同为了与IBC兼容,区块链只需要遵循一些要求,主要的是共识层必须具有快速的确定性。工作量证明链(如比特币和以太坊)不属于此类,因为它们具有概率确定性。
  • 主权:每个区块链均由一组验证器维护,这些验证器的工作是就下一个区块提交区块链达成协议。在工作量证明区块链中,这些验证器称为矿工。主权区块链是具有自己的验证器集的区块链。在许多情况下,重要的是让区块链拥有主权,因为验证者最终负责修改状态。在以太坊中,所有应用程序都由一组通用的验证程序运行。因此,每个申请仅具有有限的主权。

IBC允许异构区块链彼此之间传递令牌和数据,这意味着具有不同应用程序和验证器集的区块链可以互操作。例如,它允许公共和私有区块链相互之间交换令牌。当前,没有其他区块链框架支持这种级别的互操作性。

IBC如何运作

IBC背后的原理非常简单。让我们以一个示例为例,链A上的一个帐户要发送10个令牌(让我们称它们为原子)链B。

追踪

连续地,链B接收链A的标题,反之亦然。这允许每个链跟踪另一个链的验证器集。本质上,每个链条都运行一个轻客户其他的。

粘接

启动IBC传输后,ATOM被锁定(保税区)在链A上。 

证明继电器

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

验证方式

在链B上针对链A的标头验证该证明,如果有效,则在链B上创建10个ATOM凭证。 

请注意,在链B上创建的ATOM不是真正的ATOM,因为ATOM仅存在于链A上。它们是链A上ATOM的B上的表示形式,以及这些ATOM冻结在链A上的证明。

当ATOM返回其原始链时,可以使用类似的机制来解锁ATOM。有关IBC协议的更全面描述,请参见此规范。

设计“区块链互联网”

IBC是一种协议,它允许两个异构区块链相互之间传递令牌。从那里开始,我们如何创建区块链网络?

一种想法是通过直接IBC连接将网络中的每个区块链相互连接。这种方法的主要问题是,网络中的连接数与区块链的数量成平方增长。如果网络中有100个区块链,并且每个区块链之间都需要维持IBC连接,那么就是4950个连接。这很快就失控了。

为了解决这个问题,Cosmos提出了具有两类区块链的模块化架构: 集线器 和 区域。区域是常规的异构区块链,而集线器是专门设计用于将区域连接在一起的区块链。当区域创建与集线器的IBC连接时,它可以自动访问与其连接的所有其他区域(即向其发送和从其接收)。结果,每个区域仅需要与有限的集线器建立有限数量的连接。集线器还可以防止区域之间的双重支出。这意味着,当区域从集线器接收到令牌时,它仅需要信任此令牌和集线器的原始区域。

Cosmos网络中启动的第一个Hub是Cosmos Hub。Cosmos Hub是一个公共的权益证明区块链,其本机权益标记称为ATOM,在哪里交易费用将以多个令牌支付。Hub的启动也标志着Cosmos网络的启动。

桥接非嫩薄荷链

到目前为止,我们介绍的Cosmos架构显示了基于Tendermint的链如何实现互操作。但是波斯菊不仅限于嫩薄荷链。实际上,任何种类的区块链都可以连接到Cosmos。

我们有两种情况可以区分:快速最终链和概率最终链。

快速确定链

使用任何快速确定共识算法的区块链都可以通过调整IBC与Cosmos连接。例如,如果以太坊要切换到Casper FFG(友好终结小工具),则可以通过使IBC与Casper配合使用,在以太坊和Cosmos生态系统之间建立直接连接。

概率最终链

对于没有快速确定性的区块链,例如工作量证明链,事情会变得有些棘手。对于这些链,我们使用一种称为钉区的特殊代理链。

一种 钉区是一个跟踪另一个区块链状态的区块链。钉区本身具有快速确定性,因此与IBC兼容。它的作用是为所桥接的区块链确定最终性。让我们看下面的例子。

示例:以太坊钉区

我们希望桥接工作量证明以太坊区块链,以使其能够在以太坊和Cosmos之间来回发送令牌。由于工作量证明以太坊不具有快速确定性,因此我们需要创建一个挂钉区以充当两者之间的桥梁。

首先,钉区需要确定源链的最终阈值。例如,当在原点链的给定块之后添加100个块时,它可以认为是最终块。

其次,在主要的以太坊区块链上部署合同。当用户想要将令牌从以太坊发送到Cosmos时,他们首先将令牌发送到该合约。然后合同冻结资产,并在100个区块之后,在钉区释放这些资产的表示。使用类似的机制将资产发送回以太坊链。

有趣的是,钉区还允许用户将驻留在Cosmos中的任何令牌发送到以太坊链(Cosmos令牌在以太坊链上将表示为ERC20)。Tendermint团队目前正在为名为Peggy的以太坊链开发一种钉区实现。

钉区需要针对它们所桥接的特定链进行定制。建立以太坊钉区相对简单,因为以太坊是基于帐户的并且具有智能合约。然而,建立一个比特币钉住区更具挑战性。在此介绍的范围内,无法解释如何构建类似比特币的钉区,但知道在理论上是可行的。如果您想了解更多有关钉区的信息,请查看此规格。

解决可伸缩性

现在我们可以轻松地创建和连接区块链,还有一个要解决的最后问题:可伸缩性。Cosmos利用两种类型的可伸缩性:

  • 垂直可扩展性:这包括扩展区块链本身的方法。通过远离工作量证明并优化其组件,Tendermint BFT每秒可以完成数千笔交易。瓶颈因素是应用程序本身。例如,像虚拟机这样的应用程序(例如以太坊虚拟机)将对交易吞吐量施加比在其中交易类型和交易类型不同的应用程序低得多的限制。函数直接嵌入其中(例如,标准的Cosmos SDK应用程序)。这是专用区块链之所以有意义的原因之一(在此处了解更多原因)。
  • 横向可伸缩性:即使共识引擎和应用程序得到了高度优化,但在某个时候,单链的交易吞吐量不可避免地会碰到它无法超越的障碍。那是垂直缩放的极限。超越它,解决方案是转向多链架构。这个想法是让多个并行链运行同一应用程序,并由一个公共的验证器集进行操作,从而使区块链在理论上可以无限扩展。关于水平可伸缩性的详细信息非常复杂,因此在本介绍中并不涵盖。

Cosmos将在发布时提供非常好的垂直可扩展性,这将是对当前本身的区块链解决方案的重大改进。稍后,在完成IBC模块后,将实施水平可伸缩性解决方案。

那么,到底什么是Cosmos

希望到目前为止,您对Cosmos项目有了更清晰的了解。以下是三个简要说明,概述了Cosmos:

  1. Cosmos使用Tendermint BFT和Cosmos SDK的模块化功能,使区块链功能强大且易于开发。
  2. Cosmos使区块链能够通过IBC和Peg-Zones相互转移价值,同时让它们保持主权。
  3. Cosmos允许区块链应用程序通过水平和垂直可扩展性解决方案扩展到数百万用户。

最重要的是,Cosmos并非产品,而是基于一系列模块化,可适应和可互换工具生态系统鼓励开发人员共同努力改进现有工具并创建新工具,以实现区块链技术的承诺。这些工具是创建明天的去中心化互联网和全球金融系统所需的基础。

标签:
  • 比特币区块链技术重大升级Schnorr签名和Taproot介绍(图文)
    阅读个赞
    比特币技术迎来了重大的技术升级,这对于区块链的发展至关重要,这次升级主要是Schnorr Signature(施诺尔签名) 和 Taproot(树的主根)的推出和发布到Bitcoin Core 0.21.0 版本中。这次升级主要解决的是区块链隐私方面的问题。下面我们重点介绍这次技术升级的全过程。
  • 加密货币对OCC批准银行使用公共区块链的信函做出反应
    阅读个赞
    美国货币审计长办公室(OCC)发出一封信,批准美国银行使用公共区块链网络后,加密货币价格猛涨。
  • 学术级区块链零知识证明zk-SNARK讲解
    阅读个赞
    现在知识快餐行业发达,区块链这么热的地区自然不会倒。经过一轮轮的扫盲,共识、工作量证明、闪电网等概念已不再为一般大众所陌生,甚至各种解构、隐喻、延伸,都使术语比原意更神秘。然而,如果你不理解甚至没有听说过零知识证明,那么你基本上属于区块链初学者。
  • 深入学习密码学的历史、工作原理、零知识证明的区块链知识(图文)
    阅读个赞
    本文描述了密码学的历史、工作原理、零知识证明及其未来的潜在影响。如果读者对区块链有基本的了解,读这篇文章就相对容易了。然而,本文试图让读者感到有趣和与自己相关。
  • 高盛调查加密货币托管权,解决了区块链“三难”问题
    阅读个赞
    祝我们的美国读者马丁·路德·金纪念日快乐!加拿大前总理表示,比特币可能成为全球储备货币,据报道,高盛(Goldman Sachs)正在寻求进入加密货币托管业务,大都会人寿(MetLife)看好CBDC。 
  • 消息来源称,IBM因失去收入而裁员后,IBM区块链不再是其前身
    阅读个赞
    一位知情人士说:“不再有真正的区块链团队了。”据四位知情人士透露,IBM已将其区块链团队削减到几乎没有。 
  • 关于比特币投资以及对于比特币区块链认知的看法
    阅读个赞
    每个投资者必须承认自己在某些事情上是错的,这一点很重要。就我而言,我对比特币及其是否会被视为合法资产类别是错误的。上个月,当比特币的价格超过其2017年12月的高点20,000美元时,我才意识到这一点。我先前的信念是,即使有,比特币也不会多年来超过这些高点。我不认为比特币会“跌至零”,但我也认为比特币不会很快超过2017年12月的峰值。
  • 区块链可以推向主流的4种方式
    阅读个赞
    采用区块链技术很大程度上是自上而下的故事。这里有一些想法可能会获得更多的自下而上的吸引力。区块链革命是人民的产物,而不是精英的产物。 
  • Coinbase收购区块链基础设施初创公司Bison Trails
    阅读个赞
    加密货币交易所Coinbase宣布将收购区块链基础设施公司Bison Trails。 美国顶级加密货币交易所周二在博客中表示,Bison Trials建立了链接不同协议的跨区块链集成工具,将成为Coi
  • 2020年推进DeFi去中心化金融生态发展的区块链项目
    阅读个赞
    2020年马上就要结束了,但是在2020年推动以太坊平台生态发展的区块链项目层出不穷,但是无疑DeFi去中心化金融领域最为活跃,DeFi带动了区块链技术的应用和革新,下面我们重点分析一下,具体哪些项目为DeFi生态领域做出了贡献,排名不分先后。

官方声明

免责声明:本文不代表信比特官方立场,且不构成投资建议,请谨慎对待。

以前所未有的方式在NEAR区块链上构建去中心化应用
« 上一篇 2020-12-21
Hashing24专业人士为想参与比特币挖矿的个人而打造的区块链项目
下一篇 » 2020-12-23

微信扫一扫

微信扫一扫

微信扫一扫,分享到朋友圈

Cosmos解决了当今最困难的区块链问题