1. 首页
  2. 行情

【译文】阿童木COSMOS白皮书(一)

Jae Kwonjae@tendermint.com
Ethan Buchmanethan@tendermint.com讨论,join our community chat!注意:如果您可以在GitHub上阅读此文档,那么我们仍在积极开发此文档。请定期查看更新!

Jae Kwonjae@tendermint.com
Ethan Buchmanethan@tendermint.com

讨论,join our community chat!

注意:如果您可以在GitHub上阅读此文档,那么我们仍在积极开发此文档。请定期查看更新!

1.介绍

开源生态系统、去中心化文件共享和公共加密货币的共同成功激发了人们的一种认识,即去中心化互联网协议可用于从根本上改善社会经济基础设施。我们已经看到了专门的区块链应用程序,如比特币[1](加密货币)、大零币[2](隐私加密货币)和以太坊[3]等通用智能合约平台,以及无数以太坊虚拟机(EVM)的去中心化应用程序,如Augur(预测市场)和TheDAO [4](投资俱乐部)。

然而,到目前为止,这些区块链还存在许多缺陷,包括其总的能源效率低下、性能差或有限以及治理机制不成熟。扩展比特币交易吞吐量的建议,如隔离见证[5]和BitcoinNG[6],是垂直扩展解决方案,仍受单个物理机容量的限制,以确保完全可审计性的属性。闪电网络[7]可以通过将一些交易完全脱离分类账来帮助扩大比特币交易量,非常适合小额支付和隐私保护支付,但可能不适合更广泛的扩展需求。

理想的解决方案是允许多个并行区块链在保留其安全属性的同时进行互操作。这已经被证明是困难的,如果不是不可能的话,通过工作量证明。例如,联合挖矿允许在子链上重用为保护父链所做的工作,但事务仍然必须按顺序由每个节点验证,并且如果父链上的大多数哈希值功能没有主动联合挖矿子链,则联合挖矿的区块链易受攻击。另一方面,我们提供了对替代区块链网络架构的学术评论,并总结了其他建议及其在相关工作中的缺点。

这里我们介绍Cosmos,一种解决所有这些问题的新型区块链网络架构。Cosmos是一个由许多独立区块链组成的网络,称为区域。这些区域由Tendermint BFT[8]提供动力,它提供了一个高性能、一致性、安全的PBFT式共识引擎,在这里,严格的分叉问责模式可以控制恶意参与者的行为。Tendermint BFT共识算法非常适合公共权益证明区块链。

Cosmos的第一个区域叫做Cosmos Hub。Cosmos Hub是一种具有简单的治理机制的多资产股权证明加密货币,从而促使网络能够适应和升级。此外,Cosmos Hub可以通过连接其他区域来扩展。

Cosmos网络的Hub和区域通过区块链间通信(IBC)协议(一种用于区块链的虚拟UDP或TCP)相互通信。代币可以安全快速地从一个区域转移到另一个区域,而无需在区域之间交换流动性。相反,所有区域间的代币传输都通过Cosmos Hub,Hub跟踪每个区域持有的代币总数。将每个区域与其他区域的故障隔离开来。因为任何人都可以将一个新的区域连接到Cosmos Hub,因此区域允许未来与新的区块链创新兼容。

2.Tendermint

在这一节中,我们将描述Tendermint共识协议和用于构建应用程序的接口。相关详细信息,请参阅附录。

2.1验证器

在经典的拜占庭容错算法中,每个节点具有相同的权重。在Tendermint中,节点具有非负的投票权,具有正投票权的节点称为验证器。验证器通过广播加密签名或投票来参与共识协议,以同意下一个块。

验证程序的投票权在创始确定,或由区块链根据应用程序确定更改。例如,在Cosmos Hub等权益证明应用中,投票权可由作为抵押品的代币数量来确定。

注:像?和?这样的分数是指总投票权的分数,而不是验证器的总数,除非所有验证器的权重相等。>?表示“大于?”,大于等于?表示“至少?”。

2.2共识

Tendermint是一个部分同步的BFT共识协议,源于DLS共识算法[20]。Tendermint以其简单性、性能和分叉问责特性而闻名。协议需要一组固定的已知验证器,其中每个验证器由其公钥标识。验证器试图一次就一个区块达成共识,其中一个区块是事务列表。对一个区块收益共识的投票分轮进行。每一轮都有一个提议区块的领导或提议者。然后,验证器分阶段投票决定接受提议区块还是进入下一轮。一轮投票的提议者根据他们的投票权从验证器的有序列表中确定地选出。

这里将描述协议的全部细节。

Tendermint的安全性源于它通过超级多数(>?)投票和锁定机制使用最佳拜占庭容错。它们共同确保:

l ≥?投票权必须是拜占庭式的,否则超过两个值提交,会导致违反安全规定。

l 如果任何一组验证器成功地违反了安全性,甚至尝试这样做,它们都可以通过协议来识别。这包括对冲突区块的投票和广播不合理的投票。

尽管有很强的保证,Tendermint还是提供了卓越的性能。在5大洲7个数据中心分布的64个节点的基准测试中,在商品云实例上,Tendermint 共识每秒可以处理数千个事务,提交延迟大约为1到2秒。值得注意的是,即使在恶劣的对抗条件下,在验证器崩溃或广播恶意制作投票的情况下,每秒仍能保持超过1000个事务的性能。详见下图。(官网图无法显示)。

2.3轻客户端

Tendermint的共识算法的一个主要优点是简化了轻型客户端安全性,使其成为移动和物联网用例的理想候选。虽然比特币轻客户端必须同步块头的链并找到工作证明最多的块头,但Tendermint轻客户端只需跟上验证程序集的更改,然后验证最新块中的>?预提交以确定最新状态。

简洁的轻型客户端证明也支持区块链之间的通信。

2.4防止攻击

Tendermint有保护措施防止某些值得注意的攻击,如远程无风险双重支出和审查。这些在附录中将讨论得更充分。

2.5ABCI

Tendermint共识算法在一个名为Tendermint Core的程序中实现。Tendermint BFT是一个与应用程序无关的“共识引擎”,可以将任何确定性的“黑盒”应用程序转变为一个分布式复制的区块链。Tendermint BFT通过应用程序区块链接口(ABCI)连接到区块链应用程序[17]。ABCI是定义复制引擎(区块链)和状态机(应用程序)之间边界的接口。通过使用socket协议,我们使在一个进程中运行的共识引擎能够管理在另一个进程中运行的应用程序状态。因此,ABCI允许区块链应用程序以任何语言编程,而不仅仅是共识引擎所用的编程语言。此外,ABCI使得可以很容易地交换出任何现有的区块链共识层。

我们用著名的加密货币比特币做了一个类比。比特币是一个加密货币区块链,每个节点都维护一个完全审计的未支出事务输出(UTXO)数据库。如果有人想在ABCI的基础上创建一个类似比特币的系统,Tendermint BFT将负责

l 节点间共享块和事务

l 建立规范/不变的交易顺序(区块链)

同时,ABCI应用程序将负责

l 维护UTXO数据库

l 验证交易的密码签名

l 阻止交易支出不存在的资金

l 允许客户查询UTXO数据库

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

—-

编译者/作者:灰狼

玩币族申明:我们将尊重作者/译者/网站的版权,促进行业健康发展,如有错误或不完整之处请与我们联系。

联系我们

17805983018

在线咨询:点击这里给我发消息

邮件:943663009@qq.com

工作时间:周一至周五,9:30-18:30,节假日休息

QR code