区块链上互联网。解决区块链可互操作性和可扩展性问题,提升交易速度。
解决区块链可互操作性和可扩展性问题,提升交易速度。某种程度上,成为区块链上的互联网。
Cosmos 被誉为「区块链的互联网」,也被认为是区块链的 3.0 版本,旨在解决区块链交互操作和可扩展性问题,其区块链间通讯协议可以实现区块链的互联,支持不同区块链之间的资产转移。
Cosmos 认为这个世界不可能由一个区块链主导,一定是多链并存,多币并行的世界。如何把多链和多币整合成一个生态系统,就是 Cosmos 的终极理想。它认为币和链应该是分离的。Cosmos 的核心技术 Tendermint,使得代币可以跨区块链进行转移,是区块链领域较早的基于拜占廷容错协议的 PoS 共识引擎。
Tendermint 架构的创新之处在于将区块链应用(状态)与底层进行了分离,核心代码 Tendermint Core 涵盖了可重用可配置的共识和网络层功能,同时它还定义了一组 ABCI 回调接口与应用层进行交互,应用逻辑可以用你熟悉的任何语言来写。客户端发给 Tendermint 的交易,通过 ABCI 接口到达应用,比如检查交易的有效性。有效交易进入 Tendermint 内存池,提议节点从内存池选择交易进入候选新块,经过PoS达成共识的新块向全网广播。收到新块的全节点都会通过 ABCI 接口把交易播放给应用,应用逻辑在执行交易的过程中相应地改变自身内部状态,最后把状态哈希以 AppHash 的形式返回给 Tendermint,计入新块头部。
当新一轮的区块开始选择的时候,会有一个验证人以轮询等方式选出来,作为提议节点提交一个候选新块。这个新块里包含一些已经跟应用确认过是有效的交易。把这个块广播到网络里以后,所有的验证人进行 Prevote 预投票。这里因为有超时机制,所以 Tendermint 协议是一个弱同步协议。Prevote 投票超过三分之二后,系统达成所谓的「Polka」状态,接着对这个块进行 Precommit 投票,一旦 Precommit 超过三分之二,新块就被提交 Commit 生成新区块高度,进入下一轮提议。
Tendermint 共识算法的特色是拜占廷容错。它最多可以容纳整个网络里面三分之一的验证人犯错,包括无意的犯错或者有意的作恶。投票的时候三分二不是指三分之二的验证人数,而是三分之二的权益。
另外它有即时最终性,这是跟 PoW 的最大区别;当它生成新区块高度,这个块就是最终的,它将来不会被推翻,所以它会带来比以太坊、比特币高的性能。
它通过应用逻辑和共识逻辑进行整合,通过 ABCI 接口进行通讯,可以用任何语言编写应用。这个应用做的事情实际上就是状态机控制。它把共识引擎这部分抽象出来,可以用它做公有链,也可做私有链。
Tendermint 强调一致性的算法,必须三分之二的投票才能生成新的块。如果网络达不到三分之二的人投票,这个协议就被停了。所以它强调的是一致性而不是可用性,它不允许短暂的分叉。