对比跨链双雄:Polkadot与Cosmos分别有哪些特点?
“波卡知识图谱” 是我们针对波卡从零到一的入门级文章,我们尝试从波卡最基础的部分讲起,为大家提供全方位了解波卡的内容,当然这是一项巨大的工程,也充满了挑战,然而我们希望通过这样的努力让大家能够正确认知波卡,也让不了解波卡的人方便快速掌握波卡相关知识, 今天是该栏目的第42期,一起看看在跨链赛道的两大巨头波卡与Cosmos之间都有哪些异同?
随着区块链行业的发展,万联互通的未来也逐渐被广泛认可,因此跨链技术成为了区块链蓬勃发展亟需的解决方案。
与波卡同为跨链之王的Cosmos,被称为是区块链的互联网。
Cosmos基于Tendermint开发,具有高性能、一致性、具备拜占庭容错等特点 ,Cosmos Hub(跨链消息的信任中心)通过与兼容链建立IBC(区块链间通信协议)连接,从而实现资产和数据的跨链交换。
2022年初,Cosmos作为跨链赛道的代表引发了诸多关注,而波卡自主网平行链插槽Auction开启后,也在不断地探索自身生态,那么波卡与Cosmos之间究竟有哪些不同呢?
Polkadot和Cosmos都是为不同状态机相互通信提供接口的协议。
这两种协议都基于这样一个前提,即未来将有多个需要相互操作的区块链,而不是孤立存在的单个区块链。
模型
Polkadot使用分片模型,其中协议中的每个分片都有一个抽象状态转换函数(STF)。Polkadot使用WebAssembly(Wasm)作为“元协议”。
只要Polkadot上的验证者可以在Wasm环境中执行,分片的STF就可以是抽象的。
Polkadot的分片被称为“parachain”(平行链)。 每次平行链想要进行状态转换时,它都会提交一个块(一批状态转换)以及Polkadot验证者可以独立验证的状态证明 。
当这些区块在被Polkadot的中继链,也就是系统的主链最终确定时,这些区块将最终确定为平行链。
因此,所有平行链与整个系统共享状态,这意味着单个平行链的链式重组将需要所有平行链和中继链的重新组织。
Cosmos使用连接Tendermint链的桥接集线器模型。该系统可以有多个Hub(主要是“Cosmos Hub”),但每个枢纽连接一组外部链,称为“Zone”。 每个Zone负责用足够质押和去中心化的验证者集来保护链的安全 。
Zone与Zone之间通过Hub发送消息和通证,使用的协议称为区块链间通信(IBC),由于各个Zone之间不共享状态,一个Zone的重组不会重新组织其他Zone,这意味着每条消息都是由收件人对发件人安全的信任所约束的。
架构
波卡
Polkadot有一个中继链作为系统的主链。Polkadot中的所有验证者都在中继链上。
平行链有收集者,他们为验证者构建平行链区块并提出建议。收集者没有任何安全性相关的责任,因此不需要强大的激励系统 。
收集者可以每6秒为中继链区块提交一个平行链区块。平行链提交区块后,验证者会在将其提交到最终链之前执行一系列可用性和有效性检查。
平行链插槽是有限的,因此平行链候选人参与拍卖,以保留一个长达2年的插槽。
对于没有资金用于平行链插槽或需要以6秒出块时间执行的链,Polkadot也有平行线程。平行线程的执行方式是随用随付,只在需要的时候付费执行区块。
为了与想要使用自己的最终确定过程(例如比特币)的链进行交互,Polkadot具有提供双向兼容性的桥接平行链。
Cosmos
Cosmos有一个称为“Hub”的主链,它连接其他被称为“Zone”的区块链。Cosmos可以有多个Hub,但本概述将考虑一个Hub。
每个Zone必须保持自己的状态,因此拥有自己的验证者社区 。当一个Zone想要与另一个Zone通信时,它会通过IBC发送数据包。Hub维护一个通证余额的多通证分账本(非传输消息被转发,但它们的状态不存储在Hub中)。
Zone使用轻客户端监控Hub的状态,但Hub并不跟踪各Zone的状态。
Zone必须使用确定性的最终算法(目前都使用 Tendermint)并实现IBC接口,以便能够通过Hub向其他链发送消息。
Cosmos还可以通过“peg zone”与外部链进行交互,这与桥接的平行链类似。
共识
Polkadot使用混合共识协议,其中包含两个子协议:BABE和GRANDPA,统称为“Fast Forward”。
BABE(Blind Assignment for Blockchain Extension)使用可验证随机函数(VRF)将插槽分配给验证器,并使用回退循环模式来保证每个插槽都有作者。
GRANDPA(GHOST-based Recursive Ancestor Deriving Prefix Agreement)对链进行投票,而不是对单个块进行投票。BABE可以一起创作候选区块来扩展最终链,而GRANDPA可以分批完成它们(一次最多有数百万个区块)。
这种任务隔离提供了几个好处。 首先,它代表了区块生产和最终确定的传输复杂性的降低 。
BABE具有线性复杂性,可以轻松扩展到成千上万的区块生产者并且网络开销低。GRANDPA具有二次复杂度,但它可以通过延迟(即在一个批处理中完成多少区块)的因子来降低。
其次, 具有使用未完成区块扩展链的能力允许其他验证者执行广泛的可用性和有效性检查,以确保没有无效的状态转换进入最终链 。
Cosmos(包括Hub和Zone)使用Tendermint共识,这是一种提供即时最终结果的循环协议。
区块生产和最终确定在算法的同一条路径上,这意味着它一次生产和最终确定一个区块。因为它是一种基于PBFT的算法(如GRANDPA),它具有二次传输复杂性,但一次只能最终确定一个区块。
质押机制
Polkadot使用提名权益证明(NPoS)来选择使用顺序Phragmén算法的验证者。
验证者集的大小由治理设定(计划1000个验证人),不想运行验证者基础设施的质押者最多可以提名16个验证者。Phragmén的算法选择股权的最优分配,其中最优基于拥有最均匀的股权集。
Polkadot中的所有验证者在共识协议中具有相同的权重 。
也就是说,要获得超过2/3的支持率,必须有超过2/3的验证者对其做出承诺,而不是2/3的股权。
同样,验证者的奖励与他们的活动相关,主要是区块生产和确定性证明,而不是他们的股权数量。 这会激励提名具有较低质押的验证者,因为他们将获得更高的质押回报 。
Cosmos Hub使用Bonded Proof of Stake(委托PoS的一种变体)来选举验证者。质押者必须为他们想要委托给的每个验证者绑定资金并提交委托交易,其中包含要委托的通证数量。Cosmos Hub计划支持多达300个验证者。
在Cosmos中,共识投票和奖励都是基于权益的。 在共识投票的情况下,超过2/3的权益必须提交,而不是2/3的验证者。同样,持有总股份10%的验证者将获得10%的奖励 。
最后,在Cosmos中,如果质押者未在治理公投中投票,验证者将承担其投票权。正因为如此,Cosmos中的许多验证者都是零佣金,以便获得对协议的更多控制权。
在Polkadot中,治理和质押是完全脱节的;提名验证者不会将任何治理投票权分配给验证者。
消息传递
Polkadot使用交叉共识消息传递格式(XCM)让平行链相互发送任意消息。平行链相互之间打开连接,并可以通过他们建立的渠道发送消息。
收集者是平行链的全节点和中继链的全节点,因此收集者节点是消息传递的关键组成部分 。消息不通过中继链,只有发布和通道操作(打开、关闭等)的证明进入中继链。这通过将数据保留在系统的边缘来增强可扩展性。
在链重组的情况下,消息可以根据中继链中的发布证明回滚到重组点。中继链之间的共享状态意味着消息不受信任的限制;它们都在相同的环境中运行。
Polkadot有一个名为SPREE的附加协议,它为跨链消息提供共享逻辑。使用SPREE发送的消息带有关于接收链出处和解释的额外保证。
Cosmos使用称为跨链通信(IBC)的跨链协议。目前Cosmos的实现使用Hub在区域之间传递通证 。
但是,Cosmos确实有一个用于传递任意数据的新规范。尽管如此,由于链不共享状态,因此接收链必须信任消息来源的安全性。
治理
Polkadot有一个多院治理系统,有多种通过提案的途径。所有提案最终都要通过公投,大多数通证通常可以控制结果。
对于低投票率的公投,Polkadot使用自适应法定人数偏差来设置通过门槛。 公投可以包含各种提案,包括来自链上国库的资金分配。决策在链上制定,同时具有约束力和自主性 。
Polkadot有几个链上的、无需许可的机构。最重要的是理事会,它由一组以Phragmén方式选举产生的账户组成。
理事会代表少数人的利益,因此,理事会一致通过的提案在公投中的通过门槛较低。还有一个技术委员会来提出技术建议(例如,紧急runtime升级以修复错误)。
Cosmos使用coin-vote信号来通过公投。治理决策的实际制定是通过协议分叉执行的,就像其他区块链一样。
所有通证持有者都可以投票,但是,如果委托者弃权,则他们委托的验证者将承担其投票权。Polkadot中的验证者不会根据其提名者获得任何投票权。
升级
使用Wasm元协议,Polkadot可以在没有硬分叉的情况下进行链升级和成功的建议。 任何在STF、交易队列或链下工作人员中的东西都可以在不分叉链的情况下被升级 。
由于Cosmos不是基于元协议,它必须通过正常的分叉机制来制定升级和提案。
开发框架
Cosmos和Polkadot的设计使得每条链都有自己的STF,并且都为Wasm和以太坊虚拟机 (EVM)中的智能合约提供支持。
Polkadot提供了一个超前的Wasm编译器以及一个用于执行的解释器(Wasmi),而Cosmos只在解释器中执行智能合约。
Cosmos链可以用Go语言编写的Cosmos SDK来开发。 Cosmos SDK包含大约10个模块(例如质押、治理等),可以包含在链的STF中 。该SDK建立在Tendermint之上。
平行链的主要开发框架是用Rust编写的Substrate。Substrate带有FRAME,这是一组大约40个模块(称为“"pallets”),可以在链的STF中使用。
除了简单地使用pallets之外,Substrate还添加了进一步的抽象层,允许开发人员通过添加自定义模块和配置链的参数和初始存储值来组合FRAME的pallets。
Polkadot可以支持用任何语言编写的STF
只要它能编译到其元协议Wasm。同样,它仍然可以使用Substrate客户端(数据库、RPC、网络等);它只需要在接口上实现基元。
后记
Polkadot的设计原则是可扩展性和互操作性需要共享验证逻辑,以创建无信任的环境。随着越来越多的区块链被开发出来,它们的安全性必须是合作的,而不是竞争的。
因此,Polkadot提供跨链共享的验证逻辑和安全流程,以便它们可以交互,知道它们的对话者在相同的安全背景下执行 。
Cosmos网络使用bridge-hub模型来连接具有独立安全保障的链,这意味着链间通信仍然受到接收链对发送链的信任的约束。
尽管在发展的前几年,Cosmos似乎尚未激起什么水花,但随着几年时间的探索, 区块链行业已经进入了多链时代,对跨链的需求也随之升温,Cosmos生态发展也再次焕发新的活力 。
Cosmos通过提供模块化的区块链,为开发者使用公链提供便利,而波卡更具深度的跨链方式,使其有着明晰的价值捕获。
目前,链间消息传递格式XCM v2已完成第二次审计,XCM v3也处于开发的最后阶段了,未来将实现成为两个共识系统间的通用和可扩展性语言的目标。
Bitcoin Price Consolidates Below Resistance, Are Dips Still Supported?
Bitcoin Price Consolidates Below Resistance, Are Dips Still Supported?
XRP, Solana, Cardano, Shiba Inu Making Up for Lost Time as Big Whale Transaction Spikes Pop Up
XRP, Solana, Cardano, Shiba Inu Making Up for Lost Time as Big Whale Transaction Spikes Pop Up
Justin Sun suspected to have purchased $160m in Ethereum
Justin Sun suspected to have purchased $160m in Ethereum