选择页面

Cosmos 白皮书指南(1):介绍及概述

开源生态系统、去中心化文件共享和公共加密货币的成功结合,让人们认识到去中心化互联网协议可用于从根本上改善社会的经济基础结构。我们已经看到如比特币、Zerocash(一种保护隐私的加密货币)等特别的区块链用例,以及以太坊这样的通用智能合约平台,还有无数去中心化应用程序例如 Augur(预测市场平台)和 TheDAO(一个投资俱乐部)。

然而,迄今为止,这些区块链存在着许多缺点,比如能效低下、性能不佳或有限,以及治理机制的不成熟。一些用于扩展比特币交易吞吐量的建议,为确保完全审计的属性,都是垂直扩展解决方案,仍会受到单个物理机器容量的限制。还有闪电网络,虽然可以通过将一些交易完全排除在分类帐之外来帮助扩展数字币交易量,但也只适合小额支付和保护隐私的支付轨道,并不适用于更广泛的扩展需求。如今,作为一个理想的解决方案,应该允许多个并行区块链在保持其安全性的同时还拥有互操作性。

在这里,我们介绍一种可以解决所有这些问题的新型区块链网络架构——Cosmos Cosmos 是一个连接许多独立区块链的网络,称为区域。这些区域由 Tendermint Core提供支持,它提供了一个高性能、一致、安全的类似 PBFT 的共识引擎,其中严格的Fork问责机制保证了恶意行为的可控性。 Tendermint Core BFT 共识算法非常适合扩展公共权益证明区块链。具有其他共识模型的区块链,包括以太坊和比特币这样的工作证明区块链,可以使用适配器区域连接到Cosmos网络。

Cosmos 上的第一个区域称为 Cosmos Hub,其通过一种新型的跨链通信协议与许多其他区块链(或区域)连接。 Cosmos Hub 跟踪多种代币类型,并记录每个连接区域中的代币总数。代币可以安全快速地从一个区域转移到另一个区域,而无需在区域之间进行流动性交换,因为所有区域间的代币转移都需通过 Cosmos Hub。Hub将每个区域与其他区域的故障隔离开来。任何人都可以将一个新区域连接到 Cosmos Hub,区域允许未来与新的区块链创新兼容。

Cosmos 网络的中心Hub和区域通过区块链间通信 (IBC) 协议相互通信,这是一种用于区块链的虚拟UDPTCP协议。这种架构解决了当今区块链领域面临的许多问题,例如应用程序互操作性、可扩展性和无缝升级性。例如,来自 BitcoindGo-EthereumCryptoNoteZCash 或任何区块链系统的区域都可以插入 Cosmos Hub。这些区域允许 Cosmos 无限扩展以满足全球交易需求,它们也非常适合分布式交换。

📚 Tendermint-BFT 简述

作为Cosmos 网络中的第一公共区块链Cosmos Hub,是由 Tendermint BFT 共识算法提供支持。 Tendermint 开源项目诞生于 2014 年,旨在解决比特币工作量证明共识算法的速度、可扩展性和环境问题。通过使用和改进 1988 年在 MIT 开发的经过验证的 BFT 算法,Tendermint 团队率先在概念上展示了一种权益证明加密货币,该类加密货币(比如NXT BitShares1.0)解决了第一代权益证明所面临的无利害攻击问题。

今天,几乎所有比特币移动钱包都使用可信服务器为它们提供交易验证。这是因为工作量证明需要等待许多确认,然后才能将交易视为不可逆转地提交。双花攻击已经在 CoinBase 等平台上得到证实。

与其他区块链共识系统不同,Tendermint 提供即时且可证明安全的移动客户端支付验证。由于 Tendermint 的设计根本不会分叉,因此移动钱包可以接收即时交易确认,这使得智能手机上的去信任化和实用支付成为现实。这对物联网应用程序也有重大影响。

 Cosmos 中的验证者与比特币矿工的角色相似,但使用加密签名进行投票。验证者是负责提交区块的安全专用机器。非验证者可以将他们的质押代币(称为“atoms”)委托给任何验证者,以赚取部分区块费用和atom奖励,但如果代理验证者被黑客入侵或违反协议,他们将面临受到惩罚(削减)的风险。 Tendermint BFT 共识,经过验证的安全保障以及利益相关者(验证者和委托者)的抵押担保,为节点和轻客户端提供了可证明和可量化的安全性。

Tendermint 安全性的确保,源于其使用了通过超多数 (大于⅔) 投票的最优拜占庭容错,和一种锁定机制:

  • 在确认超过两个值得情况下,必须具有不低于三分之一的拜占庭式投票权才能造成安全违规。
  • 如果任何一组验证者成功地违反了安全性,或者试图这样做,它们就可以被协议识别。这包括对冲突区块的投票和广播不合理的投票。

 即有强有力的保证,Tendermint 同时也能提供卓越的性能。在分布于五大洲 7 个数据中心的 64 个节点的基准测试中,在商业云实例上,Tendermint 共识每秒可以处理数千个事务,提交延迟大约为 1 2 秒。值得注意的是,即使在恶劣的对抗条件下(验证者崩溃或广播恶意的投票)也能保持每秒超过 1000 笔交易的性能。

与其他区块链共识系统不同,Tendermint 提供即时且可证明安全的移动客户端支付验证。由于 Tendermint 的设计根本不会分叉,因此移动钱包可以接收即时交易确认,这使得智能手机上的去信任化和实用支付成为现实。这对物联网应用程序也有重大影响。

📚 什么是ABCI

Tendermint 共识算法在一个名为 Tendermint Core 的程序中实现。 Tendermint Core 是一个与应用程序无关的共识引擎,可以将任何确定性黑盒应用程序转变为分布式复制的区块链。 Tendermint Core 通过应用程序区块链接口 (ABCI) 连接到区块链应用程序。因此,ABCI 允许使用任何语言编写区块链应用程序,而不仅仅是编写共识引擎所用的编程语言。此外,ABCI 可以轻松交换任何现有区块链堆栈的共识层。

我们用著名的加密货币比特币做了一个类比。比特币是一种加密货币区块链,其每个节点都维护一个经过全面审核的未使用交易输出 (UTXO) 数据库。如果有人想在 ABCI 之上创建一个类似比特币的系统,Tendermint Core 将负责:

  • 在节点之间共享区块和交易
  • 建立规范/不可变的交易顺序(区块链)

同时,ABCI 应用程序将负责:

  • 维护 UTXO 数据库
  • 验证交易的加密签名
  • 防止交易花费不存在的资金
  • 允许客户端查询 UTXO 数据库

Tendermint 能够通过在应用程序和共识的进程之间提供一个非常简单的 API 来分解区块链设计。

📚 关于治理

分布式公共账本应该有章程和治理体系。比特币依靠比特币基金会和挖矿来协调升级,但这是一个缓慢的过程。以太坊为解决 TheDAO 黑客问题,在硬分叉后分裂为 ETH ETC,主要是因为没有事先的社会契约或做出此类决定的机制。

 Cosmos Hub 上的验证者和委托人可以对自动更改系统预设参数(例如区块 gas 限制)的提案进行投票,协调升级,以及对管理区块链政策的规章的修正案进行投票。该章程允许利益相关者在盗窃和漏洞(如 TheDAO 事件)等问题上保持一致性,从而实现更快、更清晰的解决方案。

 每个区域也可以有自己的章程和治理机制。例如,Cosmos Hub 可以有一个在 Hub 上强制执行不可变性的规则(除了 Cosmos Hub 节点实现的bug外,没有回滚),而每个区域都可以设置自己的回滚策略。

 通过实现不同策略区域之间的互操作性,Cosmos 网络为其用户提供了最大的自由和无需许可试验的潜力。

📚 Hub(枢纽) Zones(区域)

在这里,我们描述了一种新的去中心化和可扩展性模型。 Cosmos 是由 Tendermint 提供支持的多区块链构建的网络。虽然现有提案旨在创建一个具有全球交易排序的单一区块链,但 Cosmos 允许多个区块链彼此同时运行,并保持互操作性。

 在此基础上,Cosmos Hub 管理着许多称为区域的独立区块链(有时也称为分片,参考称为分片的数据库扩展技术)。通过Hub 上发布区域的最近块提交的持续数据流,允许 Hub 跟上每个区域的状态。同样,每个区域都与 Hub 的状态保持同步(但区域之间不会彼此保持同步,除非通过 Hub 间接地保持同步)。然后通过发布 Merkle 证明作为信息已发送和接收的证据,将信息包从一个区域传递到另一个区域。这种机制称为跨链通信,简称 IBC

任何一个区域本身都可以是hub以形成无环图,但为了清楚起见,我们将仅描述只有一个hub和许多非hub区域的简单配置。

✔ Hub 枢纽

Cosmos Hub 是一个托管多资产分布式账本的区块链,代币可以由个人用户或区域自己持有。这些代币可以通过“coin packet”的特殊IBC包从一个区域移动到另一个区域。Hub负责保持跨区域的每个代币总量的全局不变性。 IBC币包(coin packet)交易必须由发送者、Hub和接收者区块链提交。 

由于 Cosmos Hub 充当整个系统的中央账本,因此 Hub 的安全性至关重要。虽然每个区域可能是一个 Tendermint 区块链,由少至 4个验证(如果不需要 BFT 共识,或更少)保护,Hub 必须由一组全球分散的验证者保护,这些验证者可以承受最严重的攻击设定,例如国家性质发起的攻击。

✔ Zone 区域

Cosmos zone 是一个独立的区块链,与 Hub 交换 IBC 消息。从 Hub 的角度来看,zone 是一个多资产动态成员多重签名帐户,可以使用 IBC 数据包发送和接收代币。与加密货币帐户一样,一个区域不能转移超过它拥有数量的代币,且可以从拥有它们的其他人那里接收代币。一个区域可以被指定为一种或多种代币类型的来源,拥有增加该代币供应的权力。

Cosmos Hub Atoms 可以由连接到Hub的区域的验证者质押。虽然对这些区域的双花攻击会导致 Tendermint 的分叉问责制削减atoms,但超2/3 的投票权属于拜占庭的区域可能会提交无效状态。 Cosmos Hub 不会验证或执行在其他区域提交的交易,因此用户有责任将代币发送到他们信任的区域。在未来,Cosmos Hub 的治理系统可能会通过解决区域故障的 Hub 改进提案。例如,当检测到攻击时,可能会限制来自某些(或所有)区域的出站代币传输,以允许区域的紧急断路(代币传输临时停止)。

📚 跨链通信(IBC

现在我们看看 Hub 和 Zone 如何相互通信。例如,如果有“Zone1”“Zone2”“Hub”三个区块链,我们希望“Zone1”产生一个通过“Hub”发往“Zone2”的数据包。要将数据包从一个区块链移动到另一个区块链,需要在接收链上发布一个证明。发送链为所谓的目的地发布了一个数据包。为了让接收链检查这个证明,它必须能够对应发送者的区块头。这种机制类似于侧链使用的机制,需要两个交互链通过一个双向的存在证明数据流(有关交易的)来了解彼此。 

IBC 协议可以自然地使用两种类型的交易来定义:

  1. IBCBlockCommitTx 交易,它允许区块链向任何观察者证明其最近的块哈希;
  2. IBCPacketTx 交易,它允许区块链向任何观察者证明,给定的数据包确实是由发送者的应用程序通过Merkle证明发布到最近的块哈希的。

 通过将 IBC 机制拆分为两个单独的交易,我们允许接收链的本地费用市场机制来确定哪些数据包被提交(即确认),同时允许发送链完全自由地决定允许多少数据包出站。

以上就是对整个 Cosmos 区块链网络的一个简述,下一篇我们将对Cosmos的生态系统和其热门应用进行探讨。

编译:LeYeng@Q.W

声明:作为区块链信息平台,本站所提供的资讯信息不代表任何投资建议及暗示,本站所发布文章仅代表第三方作者个人观点,与链龙社区官方立场无关。虚拟货币不具有法定货币等同的法律地位,参与虚拟货币投资交易存在法律风险。请广大公众理性看待区块链,不要盲目相信天花乱坠的承诺,树立正确的货币观念和投资理念,切实提高风险意识。