前言:跨链网络本质上是扩展的解决方案,它跟以太坊和Harmony的分片一样,都是为了实现更大的交易吞吐量。在跨链领域,目前Cosmos和Polkadot都有很大的社区关注度,那么,两者之间有什么异同?本文简单易读,适合初学者阅读。本文由“蓝狐笔记”社群的“Cipher”翻译。
区块链互操作性可能是下一波创新浪潮,它在扩展去中心化网络方面创造巨大价值。
其中创建区块链网络的两个顶级竞争者分别是Cosmos网络和Polkadot网络。我们将对比探讨两者的协议、网络设计、安全模型、技术堆栈等。
但首先,我们需要从更高层面来解释区块链互操作性意味着什么。
什么是区块链互操作性?
区块链互操作性非常复杂,因此让我们尝试用最简单的方法来解释它。
区块链互操作性意味着一个人可以发送以太,并通过区块链协议自动接收到比特币,这一个过程无需交易平台等第三方参与。这是一个简单的愿望,但尚未实现。
Polkadot和Cosmos都在为区块链构建协议,以实现安全、可靠地交互。这些协议允许新创建的区块链之间能够相互发送交易和消息。
为什么它很重要?
区块链构成的网络能通过网络效应改善去中心化的互联网。当一切都连接在一起时,它带来了更多的资本、更好的用户体验和更多的头脑风暴,从而改善网络。
区块链互操作性可以显著提高区块链的可扩展性、速度和延展性。例如,如果你的区块链上限交易数量为100TPS,则可以创建一个相同的区块链,且能与前一区块链互操作,这样就可以达到200TPS。按照这种方法,你可以实现1000TPS。
它还允许私有链、公有链和联盟链进行连接。最终,区块链甚至可以与SWIFT等法币银行系统进行互操作。
为什么要关注Cosmos和Polkadot?
从我的研究中,我发现它们是非常有希望的项目。他们都有强大的技术团队,在去中心化社区拥有良好声誉,他们已经在区块链领域浸润多年,并且他们都从零开始写了大量代码。
它们用类似的策略来解决区块链互操作性,但在协议和设计方面存在差异。这些差异在安全性、隐私性、效率、灵活性和易用性之间有不同的权衡。
现在让我们深入了解一下区块链互操作性的未来是什么样子!
Cosmos网络
自2014年以来,随着Tendermint的发布,Cosmos团队一直致力于区块链互操作性。Tendermint是一个拜占庭容错(BFT)共识引擎,以及点对点网络八卦协议。
Cosmos——区块链的互联网
他们构建的Cosmos网络,是建立在Tendermint之上的区块链。Tendermint和Cosmos都在InterChain基金会之下。下面两个简单的示意图解释了他们是如何设计网络的。
。
。此图显示了通过ABCI协议与Tendermint交互的ABCI应用程序,下一节将对此进行说明。)
技术设计和协议
Tendermint(共识和网络)
Tendermint是一种实用拜占庭容错(PBFT)状态机。它要求一组已知的验证者就一个区块达成共识。Cosmos网络至少需要2/3多数才能达成共识。如果不到1/3的验证者是拜占庭,网络将永远不会分叉,因为验证者不能在相同的高度上提交冲突的区块,这源于Tendermint重视链的安全胜过链活性。
本体将构建波卡平行链将DeID解决方案集成至波卡网络:11月11日,本体Ontology宣布与Polkadot合作,将其分布式ID解决方案DeID集成到Polkadot上,以加强两个生态系统之间的协作。至此,本体将构建一个Polkadot平行链,并提供与DeID和跨链协作相关的一组信用基础架构服务。[2020/11/11 12:18:51]
应用区块链接口(ABCI)
ABCI是一个接口,用于定义复本引擎(Tendermint)和状态机(区块链)之间的边界。ABCI是区块链状态更新的唯一途径,只有Tendermint才能获得区块链的状态更改功能。这种设计是一个很好的安全策略,因为只有一个入口能更改状态。
下图对Tendermint堆栈进行了细分,显示了节点在对等网络中的连接方式,以及每个节点的组件。
Cosmos的互操作性
区块链通信(IBC)
Cosmos网络具有跨区块链通信(IBC)协议,允许区块链与其他区块链互动。区块链网络将通过IBC进行通信,以Cosmos网络为中心枢纽。区块链通过一种枢纽和辐条模型(ahubandspokemodel)被连接到Cosmos枢纽(Hub)。网络的辐条(spoke)称为"区域(Zone)",如下图所示。
都有自己的区块链,它们共同创建了一个用于连接的枢纽和分支模型。)
IBC有一个更专业的技术用语,即链中继。链中继允许区块链读取和验证其他区块链中的事件。例如,链A上的智能合约想知道链B上是否发生了某个事件。为此,链B上的智能合约需要取一个链A的区块头,并验证它是否已经满足共识并达到最终性。
从本质上讲,Cosmos正在建立一种网络,使创建新的区块链变得很容易,并且这些新创建的区块链从一开始就能通过链中继进行互动。每个区块链都将在Tendermint上运行,如下图所示。
新的区块链只要遵循IBC协议,就能加入网络,且不论是公有链还是私有链,这条规则都适用。
PegZone
PegZone将允许Cosmos网络连接到已上线的区块链网络,比如以太坊的主网。能够连接到已上线的区块链是对任何区块链互操作网络的主要要求。PegZone很复杂,但让我们尝试用简单的语言来解释它们是如何工作的。
首先,你必须有一个共享的安全模型,在这个模型中CosmosPegZone的验证节点也需要运行一个以太坊主网节点,并由这个特殊的验证节点批准两个链之间的相互作用。这是一个复杂的基础设施,为此你还需要信任负责运行PegZone的团队。
资产的实际交易需要一个以太坊主网的智能合约锁定以太,并同时在锚定区域创建代表"Cosmos-以太"的新代币,这种新代币可以通过IBC在Cosmos网络上使用。而在Cosmos这边验证者将锁定Cosmos本地代币ATOM,然后将创建一个ERC-20版本的ATOM代币,可以在以太主网中使用。这将允许Cosmos和以太坊主网间资产的完全互操作性。
实现两链之间的互操作性
任何可互操作的网络都需要至少两个可以交换消息和进行交易的区块链。Ethermint将是第一个与CosmosHub互动的区块链。
本体将gas费从500上调至2500:本体(ONT)在电报群表示,根据最新发布经济模型,从7月7日(UTC)起,本体链上gas费将从500调整为2500,gaslimit保持不变。所有本体Triones节点将在此时间之前进行此项调整。如果上述调整未能及时进行,则链上用户可能无法正常进行ONT或ONG交易。节点申请的500ONG质押合约费用保持不变。[2020/7/3]
Ethermint是Cosmos团队在CosmosHub主网上线后推出的一条区块链。描述Ethermint的最简单的方式是:它就是Ethereum区块链,但其原有的PoW共识算法被Tendermint共识引擎取代。这使得基于以太坊虚拟机(EVM)的区块链可以通过IBC轻松地与Cosmos网络进行互动。
Ethermint将在某个时间点对所有以太帐户进行“快照”,并使用该状态创建一个新的Ethernintzone。这使得他们能够以最小成本吸引现有的以太坊开发者群体,并将为Ethermint使用者提供新的代币和更快的交易速度。
首先选择创建Ethermint,而不是通过PegZone连接到现有的以太坊主网,是因为前者在技术上更容易搭建。然而,一个区块链网络必须有PegZone。比特币和以太坊如此强大,忽视它们对Cosmos或Polkadot来说都将是一个非常危险的举动。
CosmosHub
CosmosHub是主要的区块链,作为Cosmos网络中所有区块链的中心连接器。它是一个由Tendermint驱动的多资产权益证明区块链。CosmosHub的原生代币是ATOM,ATOM用于区块链的质押(staking)和治理(governance)。该Hub以100名验证者启动,后续每年将持续增加。
ATOM持有人可以是验证者,也可以是委托者。验证者设置一个完整的节点,以维护网络安全并处理交易。委托者根据他们个人对验证者的审查,将其代币委托给值得信任且能够运行节点的验证者。
验证者通过质押ATOM获得额外的ATOM作为区块奖励。验证者会在扣除少量代理费用之后把这些奖励分发给委托者。
为了保持验证者的诚实,做出恶意行为或向区块链发布错误数据的验证者,会受到经济上的处罚——损失一部分他们的ATOM。这通常被称为“消减(slashing)”。这些博弈论层面的要求被用来激励权益证明区块链中的正确行为。
代币还被用于治理。一个Atom代表对网络上任何建议的一票,比如软件升级。Cosmos的治理协议相当简单。委托者可以选择自己投票,也可以将投票权给他们委托的验证者。验证者必须对每一项提案进行表决,否则其代币会被“消减”。
Cosmos上的开发人员
开发人员可以通过两种方式在Cosmos网络的基础上进行开发。构建使用IBC互动的新区块链,并在Cosmoszones中构建智能合约。为此,他们开发了CosmosSDK,允许开发人员轻松地在Cosmos网络上构建新的区块链。
CosmosSDK
Cosmos的"CosmosSDK"允许开发人员使用简单的模块化方法在网络上设计自己的区块链。SDK也被用来构建CosmosHub。
动态 | 本体Ontology宣布加入国际可信区块链应用协会:据官方消息,本体Ontology宣布加入国际可信区块链应用协会。[2019/12/5]
这将允许开发人员能够通过使用SDK选择基本的区块链应用程序,添加治理或staking质押等模块,构建自己的模块,并轻松发布自己的区块链,且这些定制的区块链还能与其他区块链互动。这是一个令人兴奋的机会,因为它将为开发人员提供一个能够自由发挥的全新的去中心化平台,而不仅仅是使用以太坊发行代币。
SDK是用Golang编写的,并计划在未来支持更多的语言。但在第一年,Cosmos网络中的区块链将只能使用Golang编写。
基于Cosmos构建应用
Ethermint将是第一个在CosmosNetwork上构建dApp的实现。由于它是基于EVM的区块链,因此可以用Solidity编写合约。该网络的交易速度也将提高,因为Tendermint共识每秒能处理比以太坊的PoW更多的交易。
Polkadot
Polkadot网络是另一个项目,它有强大的技术团队来处理区块链互操作性问题。Polkadot是用Rust语言编写,由Parity团队开发,该团队也开发了以太坊客户端。
Polkadot网络
技术设计和协议
共识
和Cosmos团队一样,他们也将共识架构与状态应用进行了分离。根据Polkadot的白皮书,他们的共识引擎实际上是受Tendermint和HoneyBadgerBFT的启发诞生的。
Polkadot技术堆栈的详解。具有共识作为外层的点对点网络,通过WebAssembly解释器连接到区块链状态机。(蓝狐笔记Cipher注:WebAssembly是一种可以直接部署在服务器端的解释器,支持多种语言编译,最直观的影响是虽然Polkadot是使用Rust编写,但是理论上Polkadot网络中的智能合约可以使用任何编译到WebAssembly中的语言编写,比如C,C等)
他们也提到,他们计划使用Aurand和TendermintPBFT结合的混合共识机制。Aurand允许随机选择的验证者在不需要2/3共识的情况下直接产出一个区块。混合设计允许更快的共识,但它也带来了一种可能性,即如果验证者出现恶意行为,某些区块将不得不需要逆转。
Polkadot互操作性
Cosmos和Polkadot的互操作性策略也是相似的。Polkadot网络有中继链,它是中央连接器,其功能类似于Cosmos枢纽(Hub)。它有连接到中继链的区块链,他们将其命名为平行链(Parachain)。Cosmos的Zone和平行链也有相同用途。Polkadot还会有连接到已上线区块链的桥(Bridge),这与Cosmos的锚定区域(PegZone)相似。
平行链(Parachains)
平行链和CosmosZone都使用链中继来实现区块链的互操作性。但它们的实施情况确实不同。最大的区别在于他们是如何连接链和共享安全。使用Polkadot,网络安全是集中和共享的。这意味着,单独的链可以直接享受集体安全,而不必从零开始构建吸引力和信任。
声音 | 人民网:各国央行研究试验的数字货币与比特币有所区别:据人民网消息,国际清算银行最近公布的一项调查显示,全球大多数央行都在研究发行数字货币,瑞典、乌拉圭等少数国家的央行已进入试点阶段,一些央行还就此展开了合作项目。目前各国央行研究试验的数字货币,实际上是“数字化的法币”,也就是现金替代品,与去中心化的比特币不同。未来的法定数字货币,更像是个人手机上安装的电子钱包,或直接连接央行,或连接央行监管运行的支付机构,或两者兼有。利用这个电子钱包,人们可以进行“点对点”的支付,就像使用现金一样。[2019/1/25]
这是通过将Polkadot原生代币DOT绑定到新创建的平行链中,以及通过解绑DOT删除无用的Parachain来实现的。Cosmos并不要求通过结合ATOM来创建另一个链,它们使用治理来决定CosmosHub是否应该连接到某个Cosmoszone。
桥(Bridge)
Bridge和PegZone是同一事物的两个名称。它们都允许连接到已上线的区块链网络,如以太坊主网。预计Cosmos和Polkadot都希望在开始时迅速与以太坊主网连接。
实现两链之间的互操作性
如前所述,与CosmosHub互操作的第一条链将是Ethermint。Polkadot也会创造一个,这对他们来说应该没有太多困难,因为他们已经对以太坊的Parity客户端有了很多的经验。
Polkadot网络
Polkadot网络是一个权益证明区块链,原生代币是DOT。DOT提供治理,以及激励代币持有人诚实行事。网络中心hub是中继链,其功能类似于Cosmos网络中的CosmosHub。Polkadot网络中有验证者(Validator)、提名者(Nominator)、核对者(Collator)和渔民(Fishermen)四种权益持有者。Polkadot也有惩罚恶意行为的“消减”(slashing)。
Polkadot上的验证者与Cosmos中的验证者作用相同,Polkadot的提名者类似于Cosmos中的委托者(Delegator)一样。下面来自Polkadot白皮书的示意图显示了权益持有者之间的相互作用。
验证者不会维护一个含有所有平行链的完全同步的数据库,因为数据太多。因此,验证者将把存储和验证新的平行链区块的任务交给第三方,即核对者。核对者的主要功能是生成有效的平行链区块,他们必须维护一个完整的节点。他们将对未密封区块(unsealedblock)执行零知识证明(zkp),并将其提供给一个或多个负责向中继链提议平行链区块的验证者。核对者和验证者将获得这些任务的交易费用。
渔民就像独立的赏金猎人,他们寻求大额的奖励。预计仅仅是它们的存在就会导致恶意行为很少发生,因为验证者和核对者知道他们会被抓住和消减(slash)。渔民将发送验证者或核对者的任何非法活动的证据。
治理有几个层次,最主要的一点是通过DOT代币进行网络投票。另外,他们还计划成立一个由12-24个账户组成的理事会,对没有得到权益持有方足够关注的提案进行投票,这是一个应对低投票参与率的备份方案。他们还承诺添加自适应仲裁偏差正偏差修正方案为:如果同意数*√投票参与率>反对数,则提案通过)。他们也可能会尝试增加不同投票机制,比如对长期DOT代币持有者或验证者,甚至是对网络有长期贡献的dApp团队提供一定的额外投票权重。但这些只是目前的想法。
主网上线的现状
他们的第一个概念证明(ProofofConcept)已经能够验证区块和就状态转换达成共识。它们已经能够通过测试网发送DOT。概念证明是用Rust编写的,runtime是在WebAssembly上构建的。
在Polkadot上开发
Substrate
Substrate是一个技术堆栈,开发人员能够基于Substrate构建区块链。这和Cosmos所开发的CosmosSDK的非常相似。
Polkadot网络是建立在Substrate之上的,就像Cosmos枢纽是建立在CosmosSDK之上一样。你不必担心共识或网络,只需要专注于区块链应用程序。
Substrate是用Rust编写的,但是状态机的核心功能会将其编译到WebAssembly中。它可以使用经过编译的Rust代码在本地运行,也可以通过WebAssembly解释器运行。这可以在下图中看到。
在Polkadot上构建dApps
你可以在支持智能合约的平行链上构建dApps。这与Cosmos相似,Polkadot中继链和Cosmos枢纽都不支持智能合约,但连接到它们的链可以支持。
Cosmos与Polkadot的比较
让我们来看看每个网络的主要组件,以及它们是如何堆叠起来的。这是最有趣的部分,你可以比较差异,自己决定哪个网络可能会更成功!
共识协议
他们都使用TendermintPBFT共识,尽管Polkadot承诺将使用结合Aurand的混合共识。混合的方法将加速共识,但它可能会导致区块逆转。这两种方法仍需在正式上线的区块链网络上进行实地测试。这两个协议都比以太坊或比特币的工作证明协议快得多。
Polkadot还在他们的网站上提到,他们计划使用"积极BFT权威证明",但并不清楚这到底是什么意思。Web3基金会最近指出,"polkadot被预设成完全开放和公开,不需要任何特定的组织或可信的权威维护的区块链网络"。从白皮书中列出的Polkadot整体设计来看,结合DOT的权益证明显然将是达成共识的主导因素。如果权威证明(proof-of-authority)被使用,可能会扮演次要角色。
代币和权益证明设计
它们都有一个用于治理和质押的代币。两者都有保护网络的验证者,以及将代币委托给验证者的委托者/提名者。Polkadot还增加了核对者(Collator)这一角色来帮助平行链,以及渔民(Fisherman)则密切关注任何恶意行为者。
两者都能对恶意行为者进行代币消减的惩罚,消减参数很可能会在网络启动时调整。Polkadot的权益证明设计更为先进,但这也使其更加复杂。
Cosmos的优势是,他们将率先上线;他们简单的设计将使权益持有者更容易组织和创建一个稳定的去中心化网络。Polkadot的优势是,四个权益持有方允许网络更加去中心化。现在我们很难挑出哪种策略会更好,但时间会给出答案。
治理
Cosmos在治理方面有一个相对简单的协议,因为它只基于验证者、委托者和成文的宪法。
Polkadot希望在治理方面做更多的工作,通过自适应仲裁偏差,和一个验证者理事会,他们对权益持有者投票率较低的提案进行投票。
在目前已上线的区块链中,权益证明治理基本上没有得到足够的测试,可以预期这两个团队都会在一开始就提出调整治理协议的提案。这两种设计都足够简单,从而能够通过小的迭代实现改进,自然地朝着更强大的去中心化治理系统迈进。最好是从简单开始,然后逐步增加复杂性,而不是一开始就强加一堆规则和法规。这两个网络的去中心化程度似乎足以防止少数验证者控制网络。
安全
Polkadot允许平行链和中继链共享安全池,而Cosmos则需要它平台上的区域(zone)自己负责保护自己的网络。这意味着要开启一个新的平行链,你需要积累大量的DOT,并通过质押这些代币将你的平行链连接到Polkadot网络。因此,每个Parachain的安全都植根于DOT代币本身,这将为整个网络创建一个共享的安全模型。
Cosmos计划允许区域(zone)管理自己的安全模型,即所谓的自主区域。CosmosHub将使用治理来决定允许哪些区域连接到它。其他Hub和Zone可以选择自己的安全方法,这为网络提供了很大的灵活性。
在任何情况下,只对你信任的另一个zone或Hub进行IBC代币传输。一个zone可能会计划在未来进行交易审查,因此你需要查看该zone的历史,并确定它们是否真正去中心化和值得信赖。不过,这对任何区块链都适用,因为你不会想用你的比特币去交易另一个你从未听说过的区块链代币。
请务必注意,在执行IBC传输时,你必须信任与之交换代币的zone以及任何中继者。如果你在zoneB收到源自zoneA的代币,且该代币经过Hub(ZoneA->CosmosHub->ZoneB),那你则需要信任所有三个区块链(而不仅仅是ZoneA)。
这和今天区块链之间的代币交易类似,因为你需要信任中心化交易所。你必须同时信任区块链A和B,以及作为受信任第三方的中心化交易所。
由于Cosmos有自主的zone,连接的每一个zone都必须自己建立一个安全的去中心化网络。因此,如果CosmosHub有5个完全可用的Zone,可能会有100个CosmosHub验证者,和5x100个Zone验证者。这是一个比Polkadot更去中心化的模式,如果有效,应该运作良好。
可以想象,100个Polkadot验证者能够确保中继链和5个平行链的安全,而Cosmos网络则需要100个Hub验证者和500个Zone验证者。这表明,Polkadots模型使创建新的平行链变得更加容易,但也意味着权力集中在DOT所有权中。Cosmos允许更去中心化的安全模式,但这会更难实施。
不过,Cosmos表示,他们也计划在上线后不久支持共享安全模式。一旦他们有了这个,它就会给开发者更多的灵活性,因为在Cosmos上,他们可以分享基于ATOM的安全性,或者创建自己的代币和安全模型。他们在这两种模式中需要进行的权衡是:自主zone通过治理被添加到网络中,这就为恶意zone的连接提供了可能性,尽管这种情况可能性不大。
Polkadot有一个独特的功能是能够在无需分叉(fork)的情况下进行升级runtime。他们通过在链上存储WebAssemblyruntime来做到这一点。尚未更新其本地版本的客户端的节点将被迫使用该runtime。这样就无需通过验证者链下的协调来更新软件,从而消除了链分叉的可能性,提高了安全性。
速度和可扩展性
这两种共识协议都允许1000TPS的交易。这取决于有多少节点以及参数值。每增加一个平行链或区域(Zone),网络的TPS都将增加,两个网络都能很容易达到1000TPS。实际瓶颈将出现在它们的zone/平行链中运行的状态机应用程序中。
互操作性
两个网络都使用中继链连接到中心hub。它们都使用“锚定区域”/或“桥”来连接到以太坊主网。它们都将在各自的网络上让运行EVMZone或EVM平行链更简单。
开发人员
Cosmos-sdk和PolkadotsSubstrate对于开发平台的想法是相同的。它们使开发人员在网络上创建自己的区块链变得简单。这两个团队都专注于对开发者友好,并试图打造一个新的开发平台,就像以太用智能合约和代币所实现的那样。
在这两个平台上的开发不同的地方是Polkadots致力于使用WebAssembly和Rust,而Cosmos致力于Golang。
Polkadot通过支持WebAssembly展望未来。WebAssembly得到了谷歌、苹果、微软和Mozilla的支持,在未来十年中,它被广泛使用的可能性很大。Rust也一直在推动成为被编译到WebAssembly的主要语言之一。从5年的前景来看,Polkadot似乎做出了长期吸引开发者的正确举措。
然而,正如我们在以太坊的经历上看到的,有时第一个进入市场更重要。虽然有其他智能合约链允许用其他语言编写智能合约,但Ethereum几乎占了智能合约开发的全部,因为它们围绕Solidity和EVM在早期就吸引了开发者,并构建了一个生态系统。
Cosmos将首先进入市场。在Cosmos上开发的主要方式将是通过Cosmos-SDK使用Golang,它们也有Lotion-JS,这是一个Javascript实现,可以创建基于Tendermint的区块链。然而,Cosmos网站指出,Lotion-JS代码尚未经过安全审核,如果要确保价值安全,最好使用Cosmos-SDK。
目前Cosmos没有支持WebAssembly的工作。然而,你可以打,也许在不久的某个时候,Golang将添加支持并能编译到WebAssembly。他们已经取得了良好的进展。最后,与Rust相比,Golang也是一种更容易学的语言,在全球范围内也有更多的Golang开发人员.
总结
现在很难判断哪个网络会更成功。但可以肯定的是,吸引了更多的开发者的一方,将会是增长最快、占据市场最大份额的一方。
作为一名开发者,如果你认为Cosmos会更成功,你就会想开始学习Golang,如果你相信Polkadot,你会想学习Rust。你还可以用编译到WebAssembly的任何其他语言(如C或C)编写平行链。
虽然一方最终会比另一方更大,但有趣的是,有可能出现两者都存在且相互连通的情况。例如,如果这两个网络都在以太坊上创建PegZone/Bridge,则可以用ERC20版本的DOT来交换ERC20版本的ATOM。这将导致这两个网络可互操作。这可能会创建一个巨大的交织在一起的区块链网络,在这个网络中,以太坊上的所有代币、Polkadot的所有平行链和Cosmos的所有Zone都是可互操作的。这将允许以太坊Plasma链(EthereumPlasmachains)也被连接进来。
正如你所看到的,Polkadot和Cosmos所创建的区块链互操作网络的网络效应是天文数字级别的。这非常值得我们花时间来跟踪每个网络的进展,寻找这两个网络成功的根源。
------
风险警示:蓝狐笔记所有文章都不构成投资推荐,投资有风险,投资应该考虑个人风险承受能力,建议对项目进行深入考察,慎重做好自己的投资决策。
郑重声明: 本文版权归原作者所有, 转载文章仅为传播更多信息之目的, 如作者信息标记有误, 请第一时间联系我们修改或删除, 多谢。