复制成功

分享至

主页 > 数字货币 >

官方出品:波卡与Cosmos的对比

2023.06.12

概述

Polkadot和Cosmos都是提供不同状态机之间通信接口的协议。

这两个协议都基于这样一个论点:未来将有多个区块链需要相互操作,而不是单独存在于孤立中的单条区块链。

模型

Polkadot采用分片模型,在该协议中,每个分片都有一个抽象状态转换函数(STF)。

Polkadot使用WebAssembly(Wasm)作为“元协议”。只要Polkadot上的验证者可以在Wasm环境中执行它,分片的STF就可以是抽象的。

编者注:

在Polkadot上,不同的平行链可以安全地交换任何类型的数据或资产,实现区块链之间的互操作性。

为了实现这种互操作性,Polkadot需要一种统一的方式来描述和执行不同平行链上的状态变化。

状态是区块链上存储的数据,比如账户余额、合约代码、交易记录等。

状态转换函数(STF)是一种规定了如何从一个状态转换到另一个状态的函数,比如通过验证交易、更新账户余额、执行合约代码等。

Polkadot使用WebAssembly(Wasm)作为一种“元协议”,也就是一种用来定义其他协议的协议。

Wasm是一种通用的二进制格式,可以在不同的平台和环境中运行。

Polkadot允许每个平行链使用自己喜欢的编程语言和逻辑来定义自己的STF。

只要它们能够编译成Wasm格式,并且能够被Polkadot上的验证者在Wasm环境中执行。

这样,Polkadot就可以保证不同平行链之间的兼容性和安全性。

通俗易懂地说,Polkadot就像一个大火车站,它可以让不同的火车(平行链)在同一个轨道(Relay Chain)上运行,并且可以让乘客(数据或资产)在不同的火车之间转乘。

为了让火车站能够管理和调度这些火车,它需要有一个统一的标准来了解每个火车上发生了什么事情(状态转换)。

这个标准就是Wasm,它可以让火车站用同样的方式来读取和执行每个火车上发生的事情,无论这些火车是用什么样的语言和逻辑来设计的。

Polkadot的分片被称为“平行链”。每当平行链想进行状态转换时,它会提交一个区块(一批状态转换)以及一个状态证明,供Polkadot验证者独立验证。

当它们被Polkadot的中继链(系统的主链)确认后,这些区块就对于平行链来说是最终确定的。

因此,所有平行链与整个系统共享状态,这意味着单个平行链的链重组将需要重新组织所有平行链和中继链。

Cosmos使用连接Tendermint链的bridge-hub模型。该系统可以有多个Hub(其中主要的是“Cosmos Hub”),但每个Hub连接一组外部链,称为“Zone”。

每个Zone负责通过足够抵押和去中心化验证者集来保护链。Zone使用称为Inter-Blockchain Communication(IBC)的协议通过Hub互相发送消息和通证。

由于Zone不共享状态,因此一个Zone的重新组织不会重新组织其他区域,这意味着每条消息的可信性取决于接收者对于发送方安全性的信任。

结构

Polkadot

Polkadot有一个中继链作为系统的主链。Polkadot中的所有验证者都已开启中继链。

平行链有整理者(Collator),他们构建并提出平行链区块验证者。整理者没有任何安全责任,因此不需要强大的激励制度。

每6秒钟整理者可以为每个中继链区块提交一个平行链区块。一旦平行链提交一个区块,验证者就会执行一系列的可用性和有效性,在将其提交到最终链之前进行检查。

平行链插槽有限,因此平行链候选者要参加拍卖,以保留最长可达两年的插槽。

对于那些没有资金用于购买平行链插槽或没有必要以六秒的区块时间执行的链,Polkadot也有平行线程。

平行线程是按需付费的,只有在需要时才需要支付执行区块的费用。

为了与想要使用自己的最终化过程(例如比特币)的链进行交互, Polkadot具有提供双向兼容性的桥接平行链(Bridge Parachains)。

Cosmos

Cosmos有一个称为“Hub”的主链,该链连接其他名为“Zone”的区块链。Cosmos可以拥有多个Hub,但本概述将考虑单个Hub。

每个Zone都必须维护自己的状态,因此必须拥有自己的验证者社区。当一个Zone想要与另一个Zone通信时,它通过IBC发送数据包。

Hub维护一个多通证账本来记录通证余额(非转账信息被中继,但它们的状态不会存储在Hub中)。

Zone使用轻客户端监视Hub的状态,但Hub不跟踪Zone的状态。Zone必须使用确定性最终算法(目前,所有Zone都使用Tendermint)并实现IBC接口,以便能够通过Hub向其他链发送消息。

Cosmos还可以使用“peg zones”与外部链进行交互,这类似于桥接平行链。

共识

Polkadot采用混合共识协议,其中包括BABE和GRANDPA这两个子协议,一起被称为“Fast Forward”。

BABE(是Blind Assignment for Blockchain Extension,即区块链扩展的盲分配机制的简称)。

使用可验证随机函数(VRF)将插槽分配给验证者,并使用备用的轮询模式(a fallback round-robin pattern)来确保每个插槽都有一个作者。

GRANDPA(是GHOST-based Recursive Ancestor Deriving Prefix Agreement,即基于GHOST的递归祖先推导前缀协议的简称)投票选择链而不是单个区块。

BABE可以创建候选区块以扩展已确定的链,而GRANDPA可以批量对它们进行最终确认(最多可以处理数百万个区块)。

这种任务隔离提供了几个好处。首先,它代表了区块生产和最终确认的传输复杂性的降低。

免责声明:数字资产交易涉及重大风险,本资料不应作为投资决策依据,亦不应被解释为从事投资交易的建议。请确保充分了解所涉及的风险并谨慎投资。OKEx学院仅提供信息参考,不构成任何投资建议,用户一切投资行为与本站无关。

加⼊OKEx全球社群

和全球数字资产投资者交流讨论

扫码加入OKEx社群

相关推荐

industry-frontier