12月3日晚八点,DefiGo波卡之月邀请来12月第一期嘉宾,Map Protocol研究员知一博士,给大家讲解波卡生态黑马- Map Protocol 跨链协议。
以下为知一博士的分享实录:

1. 请知一博士介绍一下MAP Protocol?

知一博士: MAP Protocol是一个波卡系的无中继的跨链桥接协议,基于密码学的可信验证,实现对数级空间复杂度的即时链间互操作。基于MAP Protocol设计的波卡跨链桥MAP bridge已经获得了波卡Web3基金会的grant资助。

波卡最早出现在 2016 年,当时 Gavin Wood 发表了白皮书,概述了其背后的技术愿景和基本的原理。他指出,尽管区块链技术是有前景的,但存在一些问题,导致它在现实世界中还没有重要的落地。Polkadot 旨在解决这些问题,并创建一个可扩展(可随需求增长)的区块链架构,在一个强大的共享安全系统中,具有不同功能的不同区块链可以共存并相互通信,为下一代互联网奠定基础。波卡是现在最热门的区块链赛道,具有大量的生态项目基于波卡的substrate架构发布。

2. MAP Protocol在波卡生态的角色是什么?

知一博士:波卡生态中的跨链有两大类,同构链的互跨和异构链的互跨。同构链之间的互跨主要是通过波卡的XMCP协议来达成的。异构链之间的互跨需要通过桥接链来达成。MAP Protocol能够提供无需额外信任的,基于纯密码学证据的桥接组件,沟通波卡的生态和其他公链生态(例如以太坊)

3. MAP的桥接方案和其他的桥接方案的主要区别是什么?

知一博士:目前市面上的大部分跨链桥接方案基本都需要依赖于中继集群来提供跨链信息的安全保证。而MAP协议是基于密码学证据来提供对应的安全保证的,因此MAP Protocol不需要中继集群,安全性更高,确认速度更快,但是实现相对复杂。

4. MAP协议技术特点是什么?

知一博士:

  • MAP Protocol的跨链验证是基于密码学证据的:

MAP Protocol通过随机抽样和MMR路径证明来验证跨链数据流的合法性,是纯密码学的证据,任何节点可以本地验证这些密码学证据。

  • MAP Protocol的跨链算法的空间复杂度是对数级的:

MAP Protocol的跨链算法要求通讯时交换的的跨链数据流时与链的长度呈logN增长的。也就是说链长为N的区块链,跨链数据流的数量级只有logN。

  • MAP Protocol的跨链互操作是即时的:

MAP Protocol会在底层实现不同区块链系统的P2P节点之间的直接连接和数据传输,从而达到即时互操作的目的。

  • MAP Protocol的技术架构是什么样的?

知一博士:
我们用下面这个图来看一下

6. MAP Protocol的核心模块有哪些?

知一博士: MAP Protocol的核心模块包括负责跨链读取的Ultra-Light Verification Protocol(ULVP),负责跨链写入的MAP Feeder和负责P2P节点发现和数据传输的MAP Standardized P2P Stack.

7. 能否详细介绍一下这三个模块?

知一博士:大部分现有方案的跨链读取是通过SPV的方式,这就需要有专门的角色去负责同步不同的区块链的区块头,在波卡的生态之中这个角色就Validator. Validator会将各个平行链里面的区块头同步到中继链上。这样平行链的节点就可以通过SPV的方式去验证其他平行链里面的交易或者状态了。

但是对于非波卡的区块链,就无法直接通过这种方式直接去获取对方链的相关状态,这时候就需要我们MAP Protocol来提供相应的服务了。

首先MAP Protocol需要实现一个Substrate-based的MMR数据结构,该数据结构是默克尔树的变种,他的特点是新加入的叶子节点不会改变历史中间节点的内容,也就是俗称“append friendly”。这个特点和区块链的区块添加机制是高度吻合的。这个数据结构我们会用来维护所有的历史区块头信息。也就是说,每一个新产生的区块都会被作为叶子节点添加到MMR之中。而新的MMR的Root会被存在新生成的区块头之内。大概就是如下图所示一样。

在有了MMR之后,任意节点就可以只通过最新的区块头获取到整个历史区块头链了。获取的方法就是通过一个MMR的路径证明。如刚才图中所示,如果需要获取Block5的区块头,只需要提供绿色的MMR路径以及Block12的内容就可以了。而一旦获得了Block5的区块头之后,所有Block5这个区块内部包含的交易,状态或者交易收据都可以依据类似SPV的方式来获取。我就不一一赘述了。

但是这只是ULVP的部分设计,我们还缺少的是关于最新区块头的获取的方案。这一部分的实现就有2个方式,首先第一种就是依靠一个可信任的第三方来进行传递,而校验的逻辑就是验证可信第三方的数字签名。这个方案的优点是易于实现,而缺点是中心化,容易被攻击。第二种方案就是基于随机抽样的工作量累积证明来实现。下面我们来介绍一下这个方案的大概思路。

我们来试想一下,一条大部分节点是诚实节点的POW公链,相同时间内攻击者能够生成的区块一定是少于诚实节点的。因此,攻击者如果想要提供一个假的最高区块头,就需要伪造一部分区块来使得自己的区块高度高于真实的主链。如下图所示:

黄色的区块是合法完成了挖矿的,而四个绿色区块是攻击者随意伪造的,如果只提供最新的一个区块,由于攻击者提供的最新区块是合法完成挖矿的,那么验证者就会无法分辨真实的主链以及攻击者伪造的链。因此,我们需要让攻击者和诚实节点都提供更多的区块。这一过程是通过抽样的方式来完成的。我们设计的抽样算法能够保证,无论攻击者如何放置伪造的区块头,验证者只需要抽样很少的区块头,就可以找出攻击者伪造的区块。具体的细节可以去参考稍后我们提供的相关技术文档。

通过这样的方式我们就可以实现不基于可信第三方的跨链信息读取。而这也是我们ULVP设计的初衷。

MAP-Feeder子模块是用来提供跨链写入功能的,MAP-Feeder模块会提供被动链上的一个Reference系统合约范式,该合约会通过ULVP模块提供的接口获取到主动链上的信息。这样,被动链上的任一智能合约都可以通过调用该Reference系统合约获取到主动链上的信息并依此进行各自后续操作,从而达成主动链对被动链的数据写入。如下图所示:

MAP Standardized P2P Stack子模块是基于LibP2P库设计的标准化P2P节点发现和数据传输协议。能够提供不同区块链系统的P2P节点之间互相发现和传输数据流的能力。通过将不同的区块链系统的底层P2P网络打通,使得不同区块链系统的节点可以直接连接到一起,提升整个通信的效率和安全,达到即时互操作的目的。

8. MAP Protocol有计划参与波卡的卡槽拍卖吗?

知一博士:MAP Protocol 作为波卡的生态资助项目,当然也会参与波卡的卡槽拍卖。目前的计划是分两步走。首先MAP Protocol 会参与Kusama网络的卡槽拍卖,MAP测试网Makalu会作为Kusama网络的一条平行链,沟通波卡Kusama网络和以太坊网络,对各个模块进行充分的测试和校验。之后MAP Protocol会参与到波卡主网的卡槽拍卖之中,并在成功之后发布MAP主网成为波卡的平行链。

9. MAP Protocol的路线图是怎样的?

知一博士:

10. MAP的愿景是什么?
知一博士:MAP Protocol期望构建一个具有可互操作性的波卡互链网,通过桥接不同的区块链接入波卡生态,将各链资源及能力整合互链,为区块链应用开发者提供统一的区块链基础设施,为金融、AI、物联网、溯源、治理等领域应用提供完整可用的区块链底层基础设施。

最后,大家可以关注 Map Protocol 的官方公众号,微信搜索公众号 Map Protocol 即可。或者登录MAP的官网 maplabs.io