查看原文
其他

话题|波卡的跨链信息传递 (XCMP) 意味着什么?

波卡世界 PolkaWorld 2020-11-10

加入 www.polkaworld.org 社区,共建 Web 3.0!

跨链消息传递 (XCMP) 对波卡有什么重要意义,对整个区块链行业有什么意义?


本期的 PolkaWorld 话题讨论,我们找到了 6 位波卡生态的开发者,来谈谈他们对 XCMP 的看法。虽然是开发者的讨论,但是大家用了很多类比,让没有技术背景的人也可以很容易地理解跨链消息传递的意义。所以这篇文章,我们推荐每一个关心波卡、跨链和区块链的发展的人都来读一读。


关于 XCMP 的更多信息可以查看《Polkadot 的跨链消息传递方案(XCMP)》。



让波卡生态的区块链之间能安全、高效地交互

Laminar CTO 陈锡亮


一个不是非常准确的比喻:


比特币网络就好比一台大型服务器,有着非常完善(和昂贵)的安保,只允许一个程序,就是记账。速度有限,功能有限,但是作为全世界唯一的一台如此无处不在如此安全的服务器,大家都很愿意使用。


以太坊则是重新搭建了一台大型服务器,也有着完善的安保。但和比特币不同,这个服务器运行开发者上传自己的软件,就可以支持各种各样不同的应用了。不同应用直接还可以互相调用,构建了一个丰富的生态。但作为一台服务器,性能是有限的,不同应用之间也需要争夺执行的权利,有着种种弊端。


那么怎么办呢?一台服务器性能不够,那就多搭建几台呗。但是搭建一台去中心化的服务器是非常昂贵的,也是非常困难的。所以波卡就提供了一个解决方案:我搭建一个机房,一开始有 100 台服务器,你们只要付少量的租金就可以把其中一台租给你,所有的安保我都帮你解决。这就是波卡的共享安全,让平行链项目可以廉价地共享波卡网络的安全性。


但单纯的有一台服务器,其实是不够的。比如说要开发一个游戏链,那么需要给用户一个充值的功能。用户的账本可能是放在另外一台服务器的,那么就需要有一个跨链协议才可以充值。如果是账本服务器和游戏服务器不是在一个机房,那么所有的交互都要跨过安全屏障,困难重重。但波卡的平行链和波卡中继链交互则简单了很多,因为它们的服务器都是在同一个机房之中,互相可以有内部直连的网线,所以交互无需跨过安全屏障。这样就使得波卡生态之间的项目可以高效、安全地跨链交互,这就是 XCMP



从 “区块链的松散集合” 到 “交互的生态系统”

波卡技术大使 John


我们知道,波卡生态是由中继链和许多平行链(包括平行丝)组成的。我一直把波卡的整个架构比喻成以太坊超级升级版:在其他基本不变的情况下,在以太坊生态中的智能合约在波卡生态中则是以平行链的形式存在的应用链。


而大家都知道以太坊的合约之间是可以交互的,举个例子你可以把 MakerDAO 产生的 Dai 拿到 Uniswap 里面去交易,这是因为在以太坊中所有智能合约之间的调用语言是统一的,也就是说一个智能合约能理解另一个智能合约发来的信息。


既然波卡是以太坊的升级版,而合约之间可以交互,那么应用链也必须能够互相交互。XCMP 就规定了这些应用链和中继链之间的相互交互的规范。应用链也可以通过中继链互相理解对方的信息,于是波卡不再是一些零星区块链的松散集合,而变成了一个保持交互的庞大的生态系统。在 Substrate 开发框架的基础上,正是由于 XCMP 的存在,使得波卡成为异构分片的领跑者,在设计架构上当之无愧可以说是下一代的以太坊。



区块链世界的 TCP/IP 协议

冰链科技创始人、波卡大使、Ethereum Community Fund 专家委员张晓


从目前区块链技术的发展来看,未来的区块链网络一定是多种区块链结构共存的。因为不同的应用场景对区块链设计的需求肯定是不一样的,例如有的区块链需要高效,有的需要保护隐私,有的需要支持特定的硬件,有的需要在某国合规……所以 “设计一条区块链来包打天下,满足一切应用场景” 这样的想法是不切实际的,也是不太可能实现的。从计算机工程的角度上讲,就是没有最好的设计,一切都是 trade-off(设计指标的权衡和取舍)。


既然未来一定是多种区块链共存,那么链与链之间的交流和沟通就非常重要了,否则我们又要回到信息孤岛、数据烟囱的时代。波卡跨链最大的设计优势就是可以实现链与链之间价值和信息的互联互通。做一个简单的类比,可以把每条区块链都想象为一个国家。价值互通,就相当于建设了国际金融和贸易市场,让资本和货物可以跨国流动。信息互通,就相当于建设了国际因特网,让信息可以跨国分享。这样,世界各国就从闭关锁国、各自为政的状态进入了全球化大分工、大发展的时代。这对人类文明的促进作用是不言而喻的。


跨链消息传递协议(XCMP)对于波卡的作用和意义相当于互联网世界的 TCP/IP 协议。不同结构、不同功能的平行链(Parachain),通过统一的 XCMP 协议进行连接,每条链专注做好自己擅长的工作(来自 Unix 哲学的微笑),然后通过巧妙的排列组合和网络放大效应,就可以实现让人眼花缭乱的应用创新。比如我们现在在论证的一个数据资产类的公链设计,就可能要用到数据存储、存证确权、DeFi 稳定币、Tokenization 和隐私计算相关的功能。每个功能都由相应的平行链来提供,组合在一起,就可以实现一个充满科幻感的数据资产市场公链。


值得一提的是,现在以跨链为口号的公链并不在少数。但是此跨链非彼跨链,XCMP 协议能在波卡区块链上实现,离不开波卡底层的优异设计,尤其是共享安全模型的思想(shared securiry model)。与之相对的,是桥接模型(bridge model)。我们用上面国与国的场景来举个例子。如果 A 国通知 B 国,A 国的张三给 B 国的李四进行了一笔转账,B 国把钱给了李四,李四把钱拿走之后,A 国又告诉 B 国我们银行的会计都是实习生,算错账了,刚才的转账作废,那 B 国是不是就要傻眼了?根据木桶理论,木桶的容量取决于最短的那根木板。所以在桥接模型下,互相连通的区块链的集体安全,取决于安全性最差的那条链。也就是说,桥接模型下的跨链,是基于信任的跨链(trust-based),而非去信任(trsutless)的跨链。而使用波卡区块链的共享安全模型,所有的平行链都可以共享波卡中继链上的验证节点提供的最高等级的安全保障。其它平行链可能通过分叉来赖账的顾虑就不复存在了,这样平行链之间才能实现无需信任(trustless)的跨链互通。


最近看了 XCMP 的 API 设计,已经为开发者们抽象好了很简洁的接口,使用上是比较方便的。我们也很期待后续的测试和上线的消息。



让区块链能像 DAPP 一样互相交互 ,却又不像 DAPP 一样互相争夺资源

Acala Network CTO 王健江


多年来以太坊上 DAPP 聚合成的强大生态,是让其他公链所羡慕的。


在以太坊上,你想到过的以及还未想到的一些 DAPP,可能都已经实现,而且这些 DAPP 之间相辅相成,互相连接。比如我们熟悉的 DeFi 就是一个由超额抵押借贷稳定币,去中心化交易所,点对点借贷等众多 DAPP 聚合而成的商业整体。


基于以太坊提供了一致的运行环境与接口,DAPP 之间可以自由地传递信息与相互操作,以太坊生态仿佛是一个不断发散需求,自我循环的共同生命体。但是,底层的设计决定了这个生命体的先天不足与极其脆弱,所有的 DAPP 都在使用相同的底层资源,平时压力不大时看似运转得井然有序,当出现价格崩跌之类的情况时,以太坊网络通常开始变得拥堵,一些 DAPP 的运转近乎停滞,用户蒙受了巨大的损失。


我们不由得思考,以太坊本身糟糕的性能,如何承载去中心化商业应用的需求?


首先,DAPP 之间需要传递信息并不等于其所有业务都需要跨 DAPP 通信,也不等于所有 DAPP 之间都要两两相互通信,区块链行业需要拿出更好的解决方案,去兼得高性能与低成本的信息传递。


波卡的 XCMP 使得 DAPP 可以选择运行在独立运算资源的一条平行链上,拥有着高 tps 来处理业务,平行链之间可以通过中继链这个枢纽进行信息传递,整个流程都受共识约束,享有独立资源的同时也能互相通信,DAPP 之间竞争底层资源的常态将不复存在。这个由平行链和中继链构成的生命体会是更加健壮的,有着更多的商业可能,这也是 Acala 选择波卡生态的重要原因。如果说过去在以太坊上证明了去中心化商业的模式确实可行,波卡则承载着去中心化商业真正落地的星辰大海。



网络效应和效率提升

Phala Network 联合创始人 Marvin


业界公认跨链的难点,在于保持安全性、性能的前提下实现真正的互操作性:这一部分的难点是需要实现跨链数据通信,因为资产跨链其实有不少可用解法。因此如果不能充分利用波卡的跨链能力,仅仅成为平行链是没有意义的。当一条平行链连接到波卡之后,就意味着它得到了平行链之间的通信能力。XCMP 协议实现了链间的通信,波卡的共识算法就主要为它服务。


平行链可以向另一条链发送消息,XCMP 确保消息依照次序、准确无误的投递到目的地。收到消息的链可以采取任意的逻辑来解读。波卡创造性地实现了链间“共享安全性”,不仅确保平行链区块的产生与接受,更重要的是保持整个网络状态的一致性。在没有共享安全性的网络上,任何操作都需要大量的区块确认时间(就像中心化交易所一样)。网络的确定性是 XCMP 能够得以实施的关键。下面我从两个角度说下:


第一是网络效应,目前我们看到跨链有两种方式:


- 第一种是独立的桥,例如 ETH-BTC 桥,一般用来连接两个独立的链。典型例子就是 RSK,他用联盟的方式实现,在 BTC 上创建了一个多重签名钱包,由多个机构持有。这些机构观测到收款就会在 RSK 链上发行对应的跨链资产,反之亦然。桥的两端都支持智能合约,就可以实现更去中心化的协议。


- 第二种就是波卡平行链上的桥。波卡提供的其实是平行链之间的通信能力,但如果波卡下的链要和博卡生态外的链通信,就要借助转接桥了。平行链上可以实现一个或多个转接桥,就像和刚刚提到的独立桥一样,可以采用多样的技术。但因为波卡提供了平行链之间的通信,一条平行链上实现的桥,不仅可以为自己服务,也可以为其他平行链服务。这样就形成了网络效应。


第二是基于共享安全性的效率提升


如果关注波卡官方,会发现他们一直在反复提 “共享安全性” 这个概念,这是一个非常非常重要的功能,可以说没有共享安全性,跨链的意义会大打折扣。


波卡允许平行链之间相互调用,比如我的链上发的 Token,可以被另一个 DEX 链使用。大家都用过交易所,充提币需要等待几个区块确认,这是为了保证转账的安全。如果不等待,交易还没有结算,那么链一旦出现回滚等问题,交易所就会丢钱。而波卡的设计就解决了这个问题,所有链的交易同步执行,由波卡验证人统一验证。


这种安全跨链能力是我们选择波卡的主要原因,目前波卡平行链已经开源,即将上线,详细跨链通信也会很快推出。


XCMP 是非常底层的基础设施,直接使用 XCMP 实现应用层的跨链依然是很繁重的工作,因为 XCMP 只负责消息的发送,但没有定义接受方如何响应。波卡提出的解决方案称为 SPREE (共享安全区):SPREE 允许在每个平行链上开辟一块与平行链独立的安全区,在里面执行公认安全的代码,确保这份代码不会受到平行链的干扰,从而解决接收方不可信的问题。利用 SPREE 可以实现非常高效的跨链资产转移。这部分和 TEE 思路很类似,当然我们也很赞赏~



被连接的链越多,使用场景就越多

Plasm CTO 渡边创太


波卡是下一代创新的基础。从我的理解来说,这意味着我们能够创造联合的用例。比如我们假设 Plasm 网络和 Acala 网络是相互连接的,那么我们就能做出可伸缩的、即时性的稳定币支付系统了 。这只是个简单的案例,被连接起来的区块链越多,我们能做出的使用场景就越多。这是游戏规则的改变者。



  • 欢迎学习 Substrate: 

    https://substrate.dev/

  • 关注 Substrate 进展:

    https://github.com/paritytech/substrate

  • 关注 Polkadot 进展:

    https://github.com/paritytech/polkadot

  • 申请 Bootcamp: 

    https://bootcamp.web3.foundation/

直播预告:


识别下方二维码,报名下周三的在线直播「Substrate 的无分叉升级和利用 Offchain Workers 创建身份 Oracles」⬇️


更多内容:


Polkadot 的跨链消息传递方案(XCMP)

Substrate Offchain Workers

用十几分钟开发出一条区块链|Substrate 区块链框架


扫码关注公众号,回复 “1” 加入波卡群

关注 PolkaWorld

发现 Web 3.0 时代新机遇


点个 “在看” 再走吧!

Modified on

    您可能也对以下帖子感兴趣

    文章有问题?点此查看未经处理的缓存