白话区块链
从入门到精通,看我就够了!
不少人一直对以太坊很着迷,大部分原因是以太坊拥有「使程序彼此通信」的能力。然而,以太坊目前使「程序彼此通信」的可组合性只能发生在以太坊链上的智能合约之间。如果想构建一个跨多个区块链发送资产的DApp,则需要区块链互操作性——即区块链间相互「通信」的能力(也就是我们常说的“跨链”)。加密学中多链的未来是互操作性。
目前,有不少项目正致力于解决这一问题,其中最突出的项目是Cosmos和Polkadot。
许多人认为Cosmos和Polkadot两个项目很相似:两者都提出了建立连接区块链的方案(Cosmos的Hub和Polkadot的中继链),在其他链之间传递消息;两者都有一个工具箱(Cosmos SDK和Substrate),供开发人员构建可以直接插入相应生态系统的区块链;两者都有桥接机制来连接传统的区块链(Cosmos的Peg Zones和Polkadot的Bridge Chains)。
但从设计理念,技术架构和Token用途的角度来看,这两个项目存在着巨大差异,而这些往往被忽略了。为了解其中细微差别,本文列出与Tendermint/Cosmos 团队的研究员、核心开发人员Sunny Aggarwal的谈话。
Sunny Aggarwal,Cosmos团队研究院及核心开发人员
01
Cosmos介绍
问题1:Cosmos是什么,为什么它这么重要?
Sunny Aggarwal:在解释Cosmos是什么之前,必须先解释一下区块链行业。我喜欢类比历史时期,在人类文明的早期,王国和小村庄是从未真正规模化的独立政治实体。这就是早期区块链生态系统的样子。要构建自己的区块链,您必须引用比特币代码库。因为比特币代码库不是一个通用的系统(它是专门为比特币 (货币) 设计的),所有早期的区块链应用程序都类似于比特币,比如莱特币、狗狗币等,只有少数项目试过做一些创新,但设计依然非常糟糕,因为这些项目试图使用比特币代码库去做和代码库的设计初衷完全不相关的东西。
接着,以太坊出现了。以太坊做了两件大事:第一,人们可以更容易构建应用程序。虽然以太坊的稳定性不是最好的,但比起单纯地引用比特币代码,以太坊使创建复杂的应用程序变得更容易。第二,以太坊还允许这些应用程序相互协作。建立在以太坊区块链上所有不同的应用程序之间都具有这种互操作性。
回到历史的类比:几千年来,为了实现大规模的经济一体化,我们创造帝国,因为我们意识到大规模的政治一体化实现了大规模的经济一体化。这也就是以太坊所做的。他们根据单一制的规则,将所有内容放在单一个区块链上,实现大规模的互操作性。但就像帝国一样,它也带来了许多问题,其中一个问题是可拓展性更差。这里的可拓展性意味着技术可扩展性和社会可扩展性。
历史上,最终罗马帝国崩溃了,因为它在境内有太多的文化和利益竞争。以太坊也有很多利益竞争,Github上有数百个以太坊改进报告(EIP),其中一些EIP甚至是矛盾的。这就像在一个帝国内,要建立一个考虑到所有利益相关者的治理机制一样,这并不容易,且容易导致动乱。
过去的一百年中,人类的一个伟大创新是意识到可以在没有政治一体化的情况下,实现经济一体化,并通过如下途径做到了这一点:
一是自由贸易区,例如欧盟、北美自由贸易协定、世贸组织等等, 这些组织促使自由贸易成为准则。第二个是体系,例如联合国这样的非政府体系,它只是一个共同的论坛,主权国家可以聚集在一起讨论和谈判,不必采取全球冲突来解决分歧。第三个创新就是「集装箱标准化」。我们对集装箱进行了标准化,使得世界上任何港口都可以接受同一个集装箱,比如现在可以把阿根廷某个港口的集装箱运送到世界上任何港口。Cosmos想要尝试的就是这种「集装箱标准化」。第四个是互联网。在地球这一边,可以与地球另一边的任何人做生意,这显然也有助于经济一体化。
回到Cosmos上,我们意识到为了解决以太坊帝国的治理问题,需要创建一个可以拥有很多区块链的系统,每个应用程序或社区都应该拥有自己的区块链,以便对其进行治理。只要这些系统能够进行相互操作和发送资产,我们就能实现 Cosmos的愿景。
02
Cosmos的跨链架构
问题2:Cosmos的IBC架构大致是什么?
Sunny Aggarwal:首先,Cosmos采用了Blockstream多年前的侧链提案,我们的目标是创建一个通用标准——即称之为跨链通信(IBC),它允许两条链相互具有另一条链的轻客户端。
简单地说,假设我们有两个智能合约链:以太坊和Tezos。以太坊在两条链上都有智能合约,在以太坊上,我们可以从 Tezos区块链上提交块头的智能合约,然后会在以太坊上处理块头以确保它们是有效的。同样的,Tezos将接受来自以太坊的块头。Tezos接收块头的目标只是提供一种标准方法向另一个区块链证明它的状态。而其实关于「状态」,人们可以建立更高级别的协议。我们现在在实现Token转移,因为这将解决大多数人80%的运用,这可能是我们能做的最简单的事情之一。
03
Cosmos的资产转移
问题3:Cosmos资产转移如何运作,以及如何证明资产确实在两条链之间转移?
Sunny Aggarwal:如果你要在以太坊和Tezos之间进行资产交易,你在以太坊链上取一枚Token,在一个智能合约中把它锁定,然后全网广播:「看,我的这枚Token被锁定在以太坊了」,这就证明了资产转移。然后,将在Tezos链获得一枚新Token,上面写着「这枚Token标志着对以太坊上锁定Token的占有权」。假设Tezos上的代币以 1:1 的比例可兑换为以太坊上的指定资产,相当于在Tezos链上占有了在以太坊上相应的资产。
然后,可以使用Tezos链上这枚新Token并在Tezos智能合约中使用它,或者可以在Tezos的DEX(去中心化交易平台)上使用它。使用后,就等于是销毁了在Tezos上的代币,在那个销毁上向以太坊提交一个证明:「看,这证明了我在Tezos上的确销毁了代币!」。最后,以太坊智能合约将解锁此前冻结的Token。
这就是实现一对一互操作性的过程以及两种资产如何保持对等。
A 链上锁定的本币在 B 链上出现,图片源于Cosmos官网
04
Cosmos跨链VS跨原子互换
问题4:Cosmos的Token交换方式与现有的跨原子互换实现方式有何不同?
Sunny Aggarwal:原子交换与Cosmos IBC不同。原子互换允许两个人交换他们持有的资产。比如说,我有价值5美元的 BTC,你有价值5美元的 ETH。原子互换意味着我在比特币区块链上转给你价值5美元的BTC,你在以太坊区块链上转给我价值5美元的ETH。事实上,立即交换的只是两条链上那笔资产的所有权(或者非立即交换,因此称为「原子」)。但正如你注意到的那样,BTC 仍然在比特币区块链上,ETH 在以太坊区块链上。实际上,没有任何价值跨链。
Cosmos提出了完全不同的东西。Cosmos说的是,我希望我的BTC在以太坊区块链上。以Maker为例,目前,Maker的 Dai都是由ETH抵押。也许你想用BTC来抵押Dai,但是你需要有一种方式能在以太坊区块链上拥有BTC。原子互换无法解决这个问题,无法让BTC离开比特币区块链。在Cosmos的模式下,我们允许所有资产本身在链上转移。
05
Peg Zone
问题5:Peg Zone究竟是什么呢?
Sunny Aggarwal:目前,IBC的一个主要问题是设计时要考虑到BFT (拜占庭容错机制)。顺便说一句,早在 2014 年我们开始开发时,并没有 BFT,Tendermint是第一家考虑BFT的公司。Jae Kwon写了一篇论文回顾了90 年代所有共识协议,并意识到你可以通过PoS机制将BFT共识协议运用在公共区块链中。于是,他开始创立了Tendermint。然后,许多其他项目开始采用BFT,比如以太坊的Casper、Dfinity等,这些区块链现在基本上都是基于BFT的系统。
IBC有点像集装箱化,Cosmos说,「好吧,让我们推进这些共同标准,以便世界上所有的区块链都可以相互通信」。回到「集装箱标准化」这个类比,世界上所有港口都可以接受相同的集装箱。如果有一个港口非常固执不愿意接受这个标准,你怎么办?这就是比特币。比特币永远不会采用IBC模式!我们仍然希望让BTC成为Cosmos生态的一部分,但是我们不能强迫它使用IBC。所以,这就是我们提出另一个概念桥接分区(Peg zone)的原因,Peg zone是一种将IBC嵌入到一条区块链上的方式。
桥接分区示例图,图源自Cosmos官网
问题6:那么,Peg Zone是如何运行的?
Sunny Aggarwal:您必须为此创建一个「翻译型」链。我们将一个Tendermint区块链放在比特币区块链前,这个 Tendermint区块链充当了反射出比特币区块链上发生的事情的镜子。它将一个确定性小工具放在比特币区块链上,所以我们会说,一旦比特币多了12 块区块,比特币将反映在Tendermint BFT链上,我们会使用Tendermint BFT链与Cosmos通信。它就像是启用了IBC的比特币镜子。Tendermint桥接分区的验证者将拥有比特币区块链上的多重组合,他们将在那里执行该翻译任务。如果他们行为不端,他们在Tendermint和比特币链上的Stake就会减少一半!
06
Cosmos与Polkadot的竞争
问题7:对Cosmos与Polkadot竞争有什么看法?Cosmos的互操作性方法有何不同?
Sunny Aggarwal:我认为Polkadot变得越来越像Cosmos。Polkadot认为中心有一个中继链,并且所有的平行链都连接到Polkadot中继链。Cosmos设计系统的方法就与Polkadot不同,在系统中事物具有默认主权。每个链都有自己的验证者集合,并且拥有很高的主权。我们这样设计使它可以在没有中心区块链的情况下运行。Cosmos Hub(连接所有链条的「指挥」区块链)不一定是该系统的核心,反而我们推动的是想要有许多中心的概念。
所以,现在我们已经有了两个中心区块链。一个是Cosmos Hub,还有一个叫做Iris Hub,后者更专注于企业客户。
问题8:那么,Cosmos在哪些领域与Polkadot竞争呢?
Sunny Aggarwal:我最大爱好是将区块链与历史类比。与帝国相比,小主权国家的问题是他们往往没有能力保卫自己。我们所做的是创建联盟和系统,让较大的国家可以将其安全性「出租」给较弱的国家。北约就是一个例子,一群国家聚集在一起,聚合安全性,当你这样做时,你不可避免地会放弃一些主权。我认为没有人会说欧盟或北约就像一个帝国一样——你仍然拥有很高的主权,但你确实放弃了一些主权。
因此,对于Cosmos,我们想法是让区块链选择他们想要的模型。如果他们想要拥有完整的主权,他们就可以拥有完整的主权。但随后Cosmos Hub就会类似北约——一种超安全的区块链层。区块链有权选择要求中心验证区块链,而中心将收取费用,中心仍将让区块链完全控制自己的治理。Polkadot的目标是提供共享的安全机制(区块链放弃共识主权以换取共享安全)。
问题9:由于Polkadot默认情况下汇集了建立在Polkadot上的平行链的安全性,而Cosmos区块链必须确保他们自己的安全性,开发人员在他们没有足够的资源来保护自身区块链的安全时,是否会更有动力转战Polkadot?
Sunny Aggarwal:Cosmos Network和Cosmos Hub之间存在差异。Cosmos Hub区块链基本上为Cosmos生态系统中的链提供相同的服务(类似Polkadot中继链),Cosmos生态系统将为需要安全性的链提供聚集性安全性。所以Cosmos Hub就与Polkadot中继链非常相似。
问题10:因此,Polkadot的区别在于,如果你是一个平行链,那么你必须参与聚合安全性。而若是在Cosmos上,是否有权选择不参与?
Sunny Aggarwal:对的,可以选择不参与。例如,Binance正在使用Cosmos的框架(Cosmos SDK)构建他们的去中心化交易平台。我认为他们可能会持有一个主权链,但这只是猜测,我认为他们可能会尝试使用他们的BNB作为Stake代币,因为实际上BNB有足够的价值来提供合法安全性。但是,也许另一个DApp开发人员明天会说,「我创建了这个很酷的DApp,但我不知道在哪里能真正引导社区做Stake」。开发人员基本上可以向Cosmos Hub提交验证请求。
07
Cosmos的治理
问题11:对于Polkadot来说,用于平行链的插槽数量有限,整个治理过程决定谁成为平行链。Cosmos是一样的吗?Cosmos的治理过程是什么?
Sunny Aggarwal:不一样。这是Cosmos Hub与Polkadot的共享安全理念之间的主要区别。
Polkadot将有数以千计的验证者,基本上将验证者分配给特定的链。因此,在1000个验证器中,50个分配给一个平行链,50个分配给另一个,依此类推。Cosmos Hub将采用不同的方法,区块链可以随时建立并向Cosmos Hub请求验证,并为验证工作、通胀时间安排、预期的交易费用等提供相应的奖励。然后,Cosmos Hub上的每个验证者都可以单独说「我想验证该链。」然后验证器将把它们的Atoms放在Hub上Stake并执行验证。如果他们验证失败,他们的Atom Stake在Hub被削减。
这在一些方面上是有好处的。我个人经营一家小型验证公司,没有那么大的验证能力。我部分时间运行,因为我主要关注 Cosmos核心开发。因此,我只能验证两个或三个链。但是一些验证者是大公司,有很多服务器,他们已准备好验证成百上千个区块链。因此,利用Stake机制(所拥有的Atoms越多,可以执行的验证工作越多),资本和资源分配就越有效。
问题12:这对终端用户有何影响?
Sunny Aggarwal:目前,Polkadot和以太坊中,所有区块链都必须为相同的安全性付费。所以这意味着在以太坊上,使用CryptoKitties(以太坊加密猫)的人必须与使用Dai交易数百万美元的人支付相同的交易费。这是不对的,因为这意味着使用CryptoKitties的人为安全性付出了过高的代价,这就是CryptoKitties非常昂贵的原因。
Cosmos Hub拥有共享安全模型,经济上相对不重要的区块链将获得更少的奖励,更少的交易费用,因此验证它们的验证者更少。具有高价值应用程序的区块链需要高昂的交易费用支付大量验证者的费用。这就是配置效率对终端用户的影响。
08
在Cosmos上开发
问题13:有没有一些案例,能够说明比起使用Polkadot,更适合使用Cosmos呢?Polkadot似乎更关注区块链链之间的任意函数调用,而Cosmos似乎更专注于链之间交换资产。
Sunny Aggarwal:当然了。你可以将IBC视为TCP/IP协议。但是在TCP/IP之上,你需要这些更高级别的协议。网络上需要HTTP,文件传输需要FTP文件传输,电子邮件需要SMTP电子邮件。与IBC相同,这只是简单的基本协议。我们在基本协议上将构建其他协议,但我们只在Token交换阶段。
Cosmos Tendermint开发团队遵循迭代设计理念。我们不想夸大我们想要建造的东西,因为当人们过度兴奋时发现我们正在推销5年后、10年后的事情,就会变得非常失望。复杂的跨链合约调用是完全可行的。我们正在帮助那些能够实现这一目标的人,但是,让我们首先设定一些预期并专注于Token交易,这是我们的首要任务。
问题14:Polkadot区块链如果想通过加入中继链来与其他区块链建立安全保障,就必须放弃他们的共识。开发人员在 Cosmos上构建时会放弃什么?这里的权衡是什么?
Sunny Aggarwal:主要是开发人员必须确保实施IBC标准。在一些桥接分区上,我们将允许「黑客式」例外——比如比特币和诸如此类——高价值的东西,值得允许例外。但是,如果你不是那几个区块链中的一个,你必须确保将IBC构建到你的核心协议中。这是开发权衡中,为了成为系统的一部分该做的事。现在,假设拥有IBC,那么还有什么必须放弃?很少。
对于某些DApp——例如财务问题——他们并没有使用Cosmos Hub来提高安全性。事实上,如果你根本不想使用Cosmos Hub,你甚至不必连接到Cosmos Hub。你可以连接到其他 Hub,例如Iris Hub,或者可以直接连接到需要与之通信的区块链上。但是,如果每个区块链都试图通过IBC连接与其他链相互连接,那么你就有了n的平方的连接。
我认为,在我们在现实世界中看到的大多数网络中,经常最终会回到中心辐射架构或多中心辐射架构。例如航班,理论上任何飞机都可以从世界上任何机场起飞,但你最终还是会看到世界上有一些主要机场。我只是在Cosmos中看到类似的属性,你将拥有主要Hub链,例如Cosmos Hub,Iris Hub,也许还有一个Polkadot Hub,这些中心将帮助区块链链更容易连接。
问题15:基于此,听起来像是Cosmos运行中,Cosmos Hub并不是必要的。因此,通过扩展,是否需要Atom(Cosmos的Token)才能完全实现 Cosmos愿景?
Sunny Aggarwal:不必要。你不必使用Cosmos Hub。因此,Cosmos网络不必要存在Atom,但Cosmos Hub需要Atom存在。这个想法只是为了创建一个高价值、高安全性的区块链,因为Atom是有价值的。
请记住,Atom并不是钱。我们并没有制造货币,我们不是在制造我们的货币——实际上,Atom是恶性通货膨胀,目的是试图阻止它成为货币。
09
展望未来
问题16:预计在未来5年,互操作性领域是什么样的?Cosmos,Polkadot和以太坊会如何?
Sunny Aggarwal:我认为Tendermint BFT在可扩展性方面有很大帮助,这将有助于创建许多在当前系统下可能无法实现的DApp。我希望人们对资产的看法发生变化。我认为我们会看到更多抵押Token的出现,这些Token会因具有基础功能而具有价值。我们也将看到很多人正在重新思考当前区块链使用的Token模型。
【留言挖矿第210期】你最希望看到哪两条区块链之间率先实现跨链?为什么?欢迎在留言区留言。
相关/热文
一文看懂 | 肖风博士赞不绝口的Cosmos和波卡两大跨链技术项目
PoS生态繁荣,或将进入年产百亿、无需矿机的“挖矿2.0”时代?
价值百亿美元的PoS生态被低估?爆发前可能需要解决这几大问题
BM放狠话,EOS一周年搞事情!你猜得到吗?
腾讯刚刚宣布公测,这或是首款区块链现象级爆款应用
——End——
『声明:本文为转载自「头等仓」,文章为作者独立观点,不代表白话区块链立场,亦不构成任何投资意见或建议。』
亲,据说99.9%有品位的人都点了「在看」?