(文章首发于微信公众号:bixu2018。转载请附微信公众号:bixu2018。)
区块链间的互操作性可能会是下一个为扩展去中心化的网络创造巨大价值的新浪潮。
在创建区块链网络方面两个顶级竞争者分别是Cosmos网络和Polkadot网络。下文将探索它们的团队协议、网络设计、安全模型、技术堆栈等信息,并进行对比分析。
我们先介绍区块链互操作性的含义开始。
区块链的互操作性是什么?
区块链间的互操作性很复杂,我们试着用最简单的方式解释一下。
区块链互操作性可以做到:发送以太币,通过区块链协议自然地接收比特币,无需第三方(如交易所)。这是一个简单的愿景,但它尚未实现。
Polkadot和Cosmos都在为区块链安全可靠地交互构建协议。协议允许创建的新的能够在彼此之间发送交易和消息的区块链。
区块链的互操作性为什么如此重要?
区块链网络带来的网络效应可以改善去中心化网络。当一切都连接起来时,这将会带来更多的资金,更好的用户体验,以及更多的思维和头脑风暴来改善网络。
区块链互操作性可以显著提高区块链的可扩展性、速度和可延展性。例如,如果一个区块链的上限为每秒100个交易,则可以创建第二个相同的区块链,以达到每秒200个可与其他区块链互操作的交易。依次类推,甚至可以创建每秒1000次的交易。
区块链的互操作性还允许私有、公共和联盟区块链连接。最终区块链甚至可以与银行的法币结算系统进行互操作连接。
为什么要关注Cosmos和Polkadot?
根据我的研究,我发现它们是最有前景的项目。他们都拥有强大的技术团队,在去中心化的社区中享有良好的声誉,他们已经在区块链领域工作了很多年,他们从头开始编写了大量的区块链代码。
他们解决区块链互操作性的方案相似,但在协议和设计方面存在细微差别。这些差异是在安全性、隐私性、效率、灵活性和易用性之间进行权衡。
接下来,让我们深入了解区块链互操作性的未来!
Cosmos网络
自2014年以来,随着Tendermint的发布,Cosmos团队一直致力于区块链互操作性研究。 Tendermint是一个带有点对点Gossip协议的拜占庭容错共识引擎。
Cosmos 团队正在构建基于Tendermint之上的区块链网络——Cosmos网络。Tendermint和Cosmos都属于InterChain基金会。下面两张简图说明了Cosmos 的网络是如何设计的。
▲
概括的说,区块链由三个主要组成部分构成,即相互通信的计算机节点网络,允许节点就新块达成一致的共识协议,以及具有自己状态的应用层(如以太坊账号,将以太币余额存储为状态。)
▲
Tendermint负责区块链的网络层和共识层。可以基于Tendermint创建应用程序。
技术设计和协议
Tendermint(共识和网络)
Tendermint是一种实用的拜占庭容错(PBFT)状态机。它需要一组已知的验证者同意就一个区块达成共识。Cosmos网络要求至少2/3的人达成共识。假设验证者不到1/3,网络永远不会分叉,因为验证者不能在相同的高度提交冲突的区块。这是因为Tendermint更热衷于安全而不是灵活。
应用区块链接口(ABCI)
ABCI是定义复制引擎(Tendermint)和状态机(区块链)之间边界的接口。ABCI是区块链状态更新的唯一方式,只有Tendermint可以访问区块链的状态更改功能。这种设计是一种很好的安全策略,因为改变状态只有一个入口点。
下图分解了Tendermint堆栈,显示了节点在点对点网络中的连接方式,以及每个节点的组件。
▲
五个节点彼此创建点对点网络。每个节点都是运行Tendermint Core的计算机。Tendermint可以通过ABCI协议连接到区块链。左下角的Light Client节点可以通过RPC调用连接到任何Tendermint节点。
Cosmos的互操作性
区块链间的通信(IBC)
Cosmos 网络具有区块链间通信(IBC)协议,允许区块链与其他区块链交互。区块链网络将通过IBC进行通信,将Cosmos网络作为中心枢纽。区块链以中心和轮辐模型连接到Cosmos网络。这些轮辐模型网络称为Zone,如下图所示。
▲
Cosmos中心枢纽是主要的区块链,它将连接构建在Cosmos网络之上的所有其他区块链。每个Zone都是自己的区块链,它们共同创建了一个用于连接的中心和轮辐模型。
IBC更为技术性的术语是链中继。链中继允许区块链读取和验证其他区块链中的交易 。例如,A链上的智能合约想要弄清楚链B上是否发生了一个事件。为此,B链上的智能合约需要采用链A的块头并验证它已达成共识并最终完成。
从本质上讲,Cosmos正在构建一个可以轻松创建新区块的网络,该网络能够从一创建起就可以通过链中继进行交互。每个区块链都将在Tendermint上运行,如下图所示。
▲
Cosmos中心枢纽与在Tendermint之上运行的其他4个区块链进行交互。他们可以通过IBC协议的设计轻松阅读并对彼此进行操作。左上方链是Peg Zone,将在下一节中介绍。
只要新的区块链遵循IBC协议,它就能够加入Cosmos网络。无论是公链或者私链。
Peg Zone
Peg Zones将允许Cosmos网络连接到实时区块链网络,例如以太坊主网。能够连接到实时区块链是区块链可互操作网络的主要要求。Peg Zones很复杂,但我们试着用简单的术语解释它们是如何工作的。
共享安全模型,Cosmos的Peg Zone验证者也运行以太坊主网节点。特殊的验证者准许两个链之间相互作用。这是一个复杂的基础架构,还需要信任运行Peg Zone的团队。
实际的资产交换需要以太坊主网的智能合约才能锁定以太币,Cosmos在Peg Zone 创建“Cosmos-Ether”的新代币,可以通过IBC在Cosmos网络中发送。在Cosmos方面,验证者会锁定Atom,并依次创建一个可以在以太坊主网发送的ERC-20Atom代币。这样,Cosmos网络和以太坊主网之间的资产就具有完全互操作性。
实现两种链之间的互操作性
任何可互操作的网络都需要至少两个可以交换消息和交易的区块链。Ethermint是Cosmos为解决与Cosmos Hub交互而提出的第一条链。
Ethermint是Cosmos团队计划在Cosmos Hub Mainnet发布后推出的区块链。它将在2018年第四季度的启动。对Ethermint最简单的描述是:它是以太坊区块链,取消了PoW共识,取代了Tendermint共识引擎。Ethermint将允许以太坊的区块链轻松地通过IBC与Cosmos网络进行交互。
Ethermint背后的天才团队计划在某个时间点对以太坊账户进行快照,并使用该状态创建新的Ethermint Zone 。这使他们能够引导现有的以太坊网络的开发者,并为用户提供新的代币和更快的交易速度。
首选创建Ethermint到Ethereum主网,而不是Peg Zone,因为它在技术上更容易构建。但区块链网络必须具有Peg区域。比特币和以太坊背后有如此多的动力,忽视这些动力对Cosmos或 Polkadot来说都是非常冒险的举动。
Cosmos枢纽中心
Cosmos枢纽中心是主要的区块链,充当Cosmos网络中所有区块链的中心连接器。它是由Tendermint提供支持的PoS区块链。Cosmos枢纽中心主要的代币是Atom,Atom将用于区块链的stake和治理。该中心将启动100个验证者,且每年增加。
Atom持有者可以是验证者或者代理人。验证者设置一个完整节点以保护网络并处理交易。代理人根据他们对验证者的信赖程度运行节点的验证。
验证者可以stakeAtom代币,并获得Atom作为每个区块的奖励。这些奖励会传递给代理人,只需支付少量费用就可以操作验证器的节点。
为了保持验证者的诚实,一个恶意行为的验证者向区块链发布不正确的数据会受到经济上的惩罚而失去一些 Atom。这通常被称为“ 削减”。这些规则是用于激励PoS区块链中的良好行为。
代币也代表治理。每一个Atom是网络上提案的一票,例如软件升级。 Cosmos的治理协议相当简单。代理人可以选择自己投票,也可以将投票权传递给委托的代理人。验证者必须对每个提案进行投票,否则会被削减。
主网发布的现状
目前正在测试主网的测试版本的部分功能,该测试版本非常接近于正式版本。 Cosmos计划在2018年第三季度发布主网。但Cosmos会冻结交易直到对网络稳定满意为止。
一旦主网发布完成,Cosmos将实施IBC,然后做Ethermint。
基于Cosmos的开发人员
开发人员可以通过两种方式在Cosmos网络上构建。构建使用IBC相互交互的新区块链,并在Cosmos区域中构建智能合约。为构建区块链,创建Cosmos SDK,允许开发人员便捷地在Cosmos网络上启动新的区块链。
Cosmos SDK
Cosmos团队发布了“Cosmos SDK”,允许开发人员使用简单的模块化方法在网络上设计自己的区块链。SDK用于构建Cosmos枢纽中心,因此当主网启动时,SDK也可供开发人员构建自己的区块链。Cosmos枢纽中心构建在使用Tendermint的Cosmos网络上运行的基础应用程序,为stake、治理和IBC做了模块添加。
SDK是用Go语言编写的,支持未来语言的计划。但上线的第一年,网络上的区块链必须用Go语言。
在Cosmos上构建dApp
Ethermint将会是Cosmos网络上构建的第一个dApp。由于它是基于以太坊智能合约虚拟机的区块链,因此合约可以用Solidity编写。网络的交易速度也将提高,因为Tendermint的共识每秒可以处理比以太坊主网PoW共识更多的交易。
Polkadot
Polkadot网络是另一个有着强大技术团队来解决区块链互操作性的项目。Polkadot由Parity团队开发,Parity是Web3基金会的一部分。以Ethereum客户端Parity而闻名,使用Rust语言编写。
技术设计和协议
共识
正如Cosmos所做的那样,他们还将共识架构从状态应用程序中分离开来。根据他们的白皮书,他们的共识引擎实际上受到了Tendermint和HoneyBadgerBFT的启发。
▲
Polkadot技术堆栈的细分。具有共识作为外层的点对点网络,通过WebAssembly连接到区块链状态机。
然而,最近Polkadot在Youtube视频中提到,他们计划在Aurand和Tendermint上使用混合共识机制用于PBFT。Aurand允许随机选择的验证者出块,而不需要2/3的共识。混合设使得共识更快,但也存在着如果验证者出现恶意行为则必须恢复某些块的可能性。
▲
Tendermint PBFT和Aurand的混合设计。Tendermint保证了上图中每5个区块的最终结果,而其间的四个区块可以快速处理而无需2/3的共识。它比PBFT快,但有折中。如果发布了坏块,需要还原它们。
Polkadots互操作性
Cosmos和Polkadot的互操作性策略也类似。Polkadot网络具有中继连接器,它是中央连接器,其功能类似于Cosmos的枢纽中心。它有连接到中继链的区块链,称为Parachain。Cosmos Zone和Parachain具有相同的用途。Polkadot还将拥有连接区块链的桥梁,类似于Cosmos的Peg Zone。
Parachain
Parachain和Cosmos Zone都使用链中继来实现区块链互操作性。但他们的实施却不同。最大的区别在于连接链和共享安全方面。使用Polkadot,可以汇集和共享网络安全。这意味着各个链条可以利用集体安全性,而无需从头开始获得牵引力和信任。
这是通过粘合点来创建新的Parachain,以及通过取消粘合点去除无用的Parachains。Cosmos不要求原子被绑定以创建另一个链,而是使用治理来决定主要的Cosmos枢纽中心是否应该连接到Cosmos Zone上。
Bridge
Bridge和Peg Zone是一样的功能。使用它们可以连接到区块链网络,例如以太坊主网。预计Cosmos和Polkadot都希望一开始就能快速连接到以太坊主网。
实现两种链间的互操作性
如前所述,第一个与Cosmos枢纽中心互操作的链将是Ethermint。Polkadot很可能也会创建一个。这对Polkadot团队来说应该会很轻松,因为他们在以太坊Parity客户端方面已经拥有了很多经验。
Polkadot网络
Polkadot网络是PoS共识的区块链,其原生代币是“Dot”。Dot提供治理以及代币持有者良好行为的激励。网络中心枢纽是中继链,其功能类似于Cosmos枢纽中在Cosmos网络中的作用。网络拥有Validators、Nominators、Collators和Fishermen 作为四个主要的利益相关者。Polkadot也削减惩罚不良行为。
Polkadot上的Validators与Cosmos中的验证器具有相同的目的,而Polkadot中的Nominator就像Cosmos中的代理人一样。下面是Polkadot白皮书中的图表显示了利益相关者间如何相互作用。
▲4个利益相关者的相互作用
所有Parachain不需要完全同步数据库,因为存储的数据太多。因此,验证者将把存储和验证新的Parachain块的任务交给第三方,称为Collator(校对者)。Collator的主要功能是生成有效的Parachain区块并维护一个完整的节点。Collators执行一个零知识证明的未密封区块,并将其提供给一个或多个负责向中继链提出Parachain区块的验证器。Collator(校对者)和Validator(验证者)将收取这些任务的交易费用。
Fisherman(渔民)就像一个独立的寻觅赏金的猎人,追求丰厚的回报。只有恶意行为——这种很难得出现的情况才会存在Fisherman(渔民),因为验证者和校验者会被抓获和削减。Fisherman(渔民)将发送验证活动或验证者创建的非法活动的证据。
治理有几个层次,主要是通过Dot在网络上投票。 Polkadot还计划设立一个由12-24个账户组成的理事会,对没有得到利益相关方关注的提案进行投票。这是低选民投票率的备用解决方案。为增加不同的投票指标打开了大门,例如为长期持有者或验证者,甚至是长期为网络做出贡献的dApp团队赋予更多权重。但这些只是目前的想法。
Polkadot主网发布的现状
第一个概念证明已经能够验证区块并同意状态转换。 Polkadot已经能够通过测试网络发送一些Dot。概念的证明是用Rust编写的,后续将支持WebAssembly。
Polkadot宣布在2019年第三季度发布主网,并表示一直在努力实现这一目标。
基于Polkadot的开发人员
Substrate
Substrate是用于构建区块链的技术堆栈。这与Cosmos的Cosmos SDK所做的完全相似。Polkadot网络建立在Substrate之上,就像Cosmos建立在Cosmos SDK之上。用户不必担心共识或网络,只需关注区块链上的应用程序就可以了。
Substrate是用Rust编写的,但是状态机的核心功能也可以编译到WebAssembly中。它可以使用编译的Rust代码或通过WebAssembly转译。具体如下图。
▲
如果本机客户机节点是最新的,它可以本机运行WebAssembly代码,但如果不是,则必须使用链上WebAssembly解释器,这样会更慢。
在Polkadot上构建dApp
用户可以在支持智能合约的Parachains之上构建dApp。这类似于Cosmos,其中Polkadot 中继链和Cosmos枢纽中心都不支持智能合约,但它们的连接链可以。
Cosmos & Polkadot大PK
让我们来看看每个网络的主要组件,以及它们如何相互叠加。这是本文章干货最多的部分,您可以通过比较两者的差异从而自行决定哪一个更可能获得成功!
共识协议
两者都使用PBFT共识,尽管Polkadot表示使用Aurand进行混合共识。混合机制将加速共识的达成,但可能导致区块的修复。这两种方法都需要在区块链网络上进行实战测试。这两种协议都比以太坊或比特币的PoW共识要快得多。
Polkadot还在他们的网站上提到计划使用“乐观的BFT权威证明”,但目前尚不清楚其含义。WEB3基金会最近表示说,“Polkadot设想是完全开放和公开,而无需维护它所需的任何特定组织或信任的机构。”从Polkadot在白皮书里的整体设计和布局来看,很显然,PoS将会是达成共识的主要因素。如果使用了权威证明,它可能只是次要角色。
代币和PoS设计
两者都有用于治理和激励的代币。并且都有验证者保护其网络。Polkadot加入了 Collator(校验者)以帮助Parachain,而Fisherman则会密切注意任何不良行为者。他们都会对不良行为进行大幅削减,并且在网络发布时都可能会调整参数进行调试。Polkadots的Pos设计更先进,但这也使它更复杂。
Cosmos的优势在于它将先发布主网,它们的设计将使利益相关者更简单组织和创建稳定的去中心化网络。Polkadots的优势在于四个利益相关者让网络更加去中心化。很难找出哪种策略能更好地运作,但时间会证明一切。
治理
Cosmos在治理方面的协议不太复杂,因为它仅基于验证器(Validators)、代理人(Delegator)和成文的章程。
Polkadot在治理方面承诺了更多,通过增加自适应仲裁偏见,以及一个对利益相关者投票率较低的提案进行投票的验证者委员会。
两个项目的PoS治理机制都未在发布的主网上测试过,并且两个团队都可能在一开始就调整治理协议的提案。这两种设计都很简单,通过小规模的迭代和改进,可以实现更强大的去中心化治理体系。最好从简单开始慢慢增加到增加到复杂的,而不是在一开始就强加一堆规章和制度。
网络似乎都足够去中心化到足以防止一些验证者控制网络。希望这能让他们避免EOS主网上线时出现的一些问题。
安全
Polkadot允许Parachains和中继链之间的共享安全性,而Cosmos已经用Zone来保护网络安全。这些意味着为了创建一个新的Parachain,需要积累大量的Dot。因此,每个Parachain的安全性都植根于Dot本身,这为整个网络创建了一个共享的安全模型。
Cosmos计划使用Zone管理安全模型,即所谓的主权区域。这意味着Cosmos枢纽中心将使用治理来决定允许哪些区域连接到Cosmos枢纽中心上。理论上是有效,如果他们可以欺骗验证者相信他们是良好的行为者,确实也能让恶意区域连接到网络。如果恶意区域连接,它可能有多种方式攻击主枢纽中心,并从网络中获取Atom。
通过Cosmos的Sovereign Zones,每个连接的区域都必须自己创建安全的去中心化网络。因此,如果Cosmos枢纽中心有5个完全可用的区域,则可能有100个Cosmos验证器和5个100区域验证器。这是比Polkadot更去中心化的模型,如果这能运行起来,应该会很棒。
速度和可扩展性
两种共识协议都允许每秒1000次的交易处理。这取决于有多少节点以及参数是什么。添加每个Parachain或Zone将增加可以网络处理的交易量,轻松达到每秒1000次的交易。实际的瓶颈将出现在每个Zone或Parachain运行的状态机应用程序中。
互通性
每个网络都使用链中继来连接到中央枢纽中心。他们使用Peg Zone或者Bridge连接到以太坊主网上,他们都希望能够非常快速地建立这种连接。在主网发布稳定后,Cosmos将推出Ethermint,而Polkadot也可能会做类似的事情。
开发者
Cosmos-SDK和Polkadots Substrate对开发平台的想法相同。它们都能使开发人员轻松地在网络上创建自己的区块链。两个团队都致力于开发者体验的友好,并试图创建一个新的开发平台。就像以太坊的智能合约和代币一样。
Polkadot未来将支持WebAssembly。WebAssembly由谷歌、苹果、微软和Mozilla的支持,很有可能在未来十年内得到广泛应用。 Rust也一直在努力成为编译成WebAssembly的主要语言之一。在未来5年的规划中,Polkadot似乎采取着正确的措施长期吸引开发者。
然而,正如我们在以太坊中看到的那样,有时首先进入市场更为重要。
Cosmos将率先推向市场。在Cosmos上开发的主要方式是在Go语言,Cosmos不支持WebAssembly。但可能很快也会支持WebAssembly的。与Rust相比,Go语言也是一种比较易于学习的语言,全球Go语言的开发人员更多。
主网发布
Cosmos将于2018年第三季度发布主网。但他们表示,会将锁定交易,直到网络稳定,并且开放回滚,直到每个人都确信网络可以安全运行。
Polkadot将于2019年第三季度发布主网,所以Cosmos会有长达一年时间的的领先优势。
从这个角度看,Cosmos似乎更具有优势,但Polkadot能从Cosmos的错误中汲取经验。
总结
现在很难说哪个网络会更成功。但可以肯定地说,吸引更多的开发人员的将会是增长最快并占据市场最大份额的项目。
作为开发人员,如果你认为Cosmos会更成功,你会开始学习Go语言。如果你认为Polkadot能成,你会开始学习Rust和WebAssembly。
虽然最终只能有一个最成功的,但值得注意的是,两者可能会交织成一个相互联系的世界。例如,如果两个网络都在以太坊主网上创建Peg Zones / Bridges,那么用户可以使用Dot的ERC20副本交换Atom的ERC20副本。那么这两个网络之间也可以实现互操作。这可能会创建一个巨大的交织区块链网络,以太坊、Parachain和Zone的所有代币都可以可互操作。
正如您所看到的,Polkadot和Cosmos创建区块链可互操作网络产生的网络效应是天文数字。很值得花时间关注其网络的进展,最后,希望两者都能取得成功。
翻译自:
https://medium.com/@davekaj/blockchain-interoperability-cosmos-vs-polkadot-48097d54d2e2
文章首发于微信公众号bixu2018
转载请附微信公众号:bixu2018
备用微信公众号:bixu2019
微博号:franzyuan
知乎https://zhuanlan.zhihu.com/bixu2018
币先锋
区块链知识提升
长按加关注
加币先锋小秘微信,邀您进入币先锋交流群。
加好友备注币先锋
网友评论