Skip to content

AntChain Bridge跨链:介绍

zouxyan edited this page Nov 22, 2024 · 1 revision

AntChain Bridge是什么

蚂蚁链跨链桥(AntChain Bridge)是蚂蚁链在区块链互操作领域探索的技术产品,是基于IEEE P3205标准跨链协议的实现,为部署在不同区块链上的智能合约提供跨链可信通信能力。

  • AntChain Bridge是一个区块链的域名服务系统,为区块链提供唯一ID与认证;

AntChain Bridge实现了一套区块链域名规范,为区块链赋予唯一域名。经过申请,域名系统会为接入的区块链颁发域名证书,该域名将会和某条区块链的共识信息唯一绑定,整个跨链网络都可以通过验证域名证书,进而验证该链的合法性。

  • AntChain Bridge是一个链上数据的背书系统,为区块链数据在链下提供存在性背书;

在AntChain Bridge的早期设计中,基于硬件技术实现了一套预言机系统,提供区块链账本数据的验证和背书能力。经过长期的发展和实践,背书系统可以抽象为一种通用的角色,即证明转换组件(Proof Transformation Component, PTC),比如上文的预言机、常见的中继链等都可以看做PTC,PTC响应中继发来的请求,其中有包含跨链消息的账本数据以及其证明,然后执行验证过程,比如SPV等,通过之后,会提供一套签名,比如预言机在硬件中的签名、中继链的共识签名等,中继会收到PTC返回的证明和跨链消息,最终接收链会完成这套签名的验证,来确保链路的可信。

  • AntChain Bridge是一个区块链之间的中继网络,为区块链上的实体提供通信能力;

AntChain Bridge的主干是由多个中继组网构成,中继之间维护了区块链域名的路由表,可以互相转发跨链数据,完成跨链数据的上链。中继节点是区块链跨链通信的核心角色,中继节点直接服务区块链,和区块链节点或者代理程序通信,监听区块链的账本数据、过滤跨链消息,并获取链上存在性证明,发送给证明转换组件完成验证和背书,证明转换组件会为自己验证过的跨链消息提供证明,比如一个签名,这之后,中继网络会继续转发这个消息和证明到目标区块链,并发送交易提交上链,链上合约完成验证和最终的合约调用。

  • AntChain Bridge是一个多层多模块的协议栈,为区块链提供跨链的可信通信能力;

AntChain Bridge主要为链上智能合约服务,基于IEEE P3205的协议设计,为合约提供发送/接收跨链消息的能力和跨链获取区块链账本数据的能力。基于可认证消息协议(Authentic Message Protocol, AMP)和消息推送协议(Smart Contract Datagram protocol, SDP),AntChain Bridge为每种异构链实现一套系统合约,这个系统合约具备消息构造、传递与验证的功能,系统合约会部署在接入AntChain Bridge的区块链上,该链上的智能合约通过调用系统合约特定的接口,可以向某个域名的某个账户发送一个自定义的消息,而接收合约则会收到来自系统合约转发的消息,如此,则完成了一个跨越区块链的合约通信;除此之外,AntChain Bridge还通过域名实现了一套URI方案,使得跨链网络中的每个资源,比如交易、区块等,智能合约都可以通过跨链的方式获取到。 AntChain Bridge的通用架构如下,包括了区块链、系统合约(SysContracts)、中继(Relayer)、证明转化组件(PTC)等角色。

AntChain Bridge做了什么

AntChain Bridge通过对跨链技术的探索深入和对落地应用的实践积累,目前已经形成了一个具备成熟跨链互操作能力的技术产品,可以提供对区块链的域名注册、账本数据监听以及跨链消息路由等功能。

我们在AntChain Bridge的开源项目中支持了异构链快速接入跨链系统,以及区块链域名系统(BlockChain Domain Name System, BCDNS)的实现规范,并和星火链网合作实现了初步的BCDNS,并在未来逐步建设开放网络,从而为构建万链互联网做好了充分的准备。

AntChain Bridge网络架构

基于我们当前的进度,AntChain Bridge 区块链网络已经初具雏形,实现了AntChain Bridge RelayerAntChain Bridge SDKAntChain Bridge PluginServer星火链网BCDNS,除了PTC都已经开源完成。

在下图中,可以看到星火链网BCDNS,可以为Relayer、PTC、区块链等签发跨链证书,跨链身份详情可以参考文档,同时作为顶级BCDNS,可以为次级BCDNS签发域名空间证书,将特定域名空间分配给次级BCDNS,这与社会的多数组织架构相符合,有助于不同组织加入AntChain Bridge网络,推进可信互联网建设。

跨链流程详解

AntChain Bridge的跨链流程主要包括区块链域名注册、区块链注册到中继网络、中继监听区块链账本、中继路由跨链消息四个部分。

区块链域名注册

区块链运营者向BCDNS选取并注册一个域名,BCDNS会为其颁发一个证书,证书中包含运营者的公钥、身份信息颁发者以及域名等信息。在获得域名证书之后,区块链运营者可以自行对区块链的信任锚定(Blockchain Trust Anchor, BTA)信息签名,并将其发布到BCDNS,在协议中,一个域名只可以绑定一条存在的区块链。这样,其他跨链参与者可以通过BCDNS获得该域名的持有者信息。

区块链注册到中继网络

区块链的运营者下面需要将区块链注册到中继网络。 整个注册过程可以分为如下几点:

  • 将从BCDNS获得的域名证书和自签名的BTA提交给中继节点;
  • 中继节点会请求默认的或者由运营者指定的PTC,要求其帮助验证域名证书和BTA,然后为该链颁发一个第三方信任根(Third-Party Blockchain Trust Anchor, TP-BTA),TP-BTA中包含了一个公钥集合,后续PTC会为该链提供验证和背书服务,PTC对账本数据执行验证,并提供一个背书证书,说明其完整验证,其他人通过TP-BTA可以验证该证明,进而确认数据确实来自链上。
  • 区块链的运营者将区块链的上下文,比如为中继分配的账户、节点地址等信息,发送给中继,中继通过这些信息去构造该链的区块链链桥接组件(Blockchain Bridge Component, BBC)实例,实现包括账本监听、交易上链、合约管理等功能,通过BBC实例和区块链网络建立连接,完成系统合约部署和配置等工作。每个异构链需要实现一套BBC插件,AntChain Bridge会提供SDK、工具、教程,帮助开发者完成插件开发,详情请见异构链插件接口描述和其他教程文档。
  • 在完成上述步骤后,区块链运营者此时收到了中继返回的TP-BTA、中继地址,运营者对域名-中继地址、TP-BTA等数据进行签名,将这些信息和签名,提交到BCDNS,更新域名的路由表信息、TP-BTA信息。

中继监听区块链账本

中继会通过异构链实现的BBC实例,监听账本数据。 首先,中继会维护一个受保护的区块头链,用来对区块链每个高度的状态做存根,具体操作为对每个高度的区块进行解析,获取区块头并使用TP-BTA和BTA交给PTC验证,最后完成存储,维护一个区块头链,如下图:

然后,当有交易调用应用合约,应用合约调用系统合约的跨链发送接口,会产生特定的跨链事件,而中继会过滤账本数据中的跨链事件等信号,从事件等数据结构中获取出跨链的消息体,获取账本提供的存在性证明,比如默克尔证明,连同当前高度验证过的区块头一起交给PTC,完成存在性验证和背书,并给出第三方证明(签名集合),这之后将进入跨链消息的中继路由阶段。常见的存在性证明比如SPV,这需要开发者以插件或者其他形式集成到PTC中,这部分技术内容将在未来逐步开放。

中继路由跨链消息

  • 中继在完成跨链消息和PTC背书之后,将解析消息中的接收域名,请求BCDNS询问该域名的路由信息,即应该将消息转发给哪个中继节点,如果发送中继本身正在服务这个域名,则直接跳过转发阶段;
  • 调用接收中继,转发消息以及证明;
  • 接收中继执行ACL验证等操作,通过后,接收中继将通过接收链的BBC实例,发送交易,提供跨链消息、证明和TP-BTA;
  • 系统合约使用TP-BTA验证证明,并解包可认证消息、消息推送协议消息,进而找到接收的账户地址,系统合约调用接收合约完成消息投递;

异构链插件化接入

AntChain Bridge支持异构链以插件化的形式轻松接入跨链网络。 异构链的开发者基于SDK,实现异构链插件,部署插件服务并加载插件,中继和插件服务之间可以通信,就可以将该异构链注册到AntChain Bridge中了,实现该异构链和其他AntChain Bridge支持的区块链的互通。

  • SDK:定义了插件核心的SPI,提供通用的数据结构以及工具方法;
  • 插件服务:一个无状态的RPC服务,用于响应中继与异构链的通信请求,插件服务可以通过加载不同异构链插件,实现SPI中描述的操作;
  • 文档:AntChain Bridge将提供详尽的介绍文档、开发教程和Demo,合作伙伴将会和AntChain Bridge一起实现异构链接入的Demo;

为了更好地理解AntChain Bridge的架构设计,这里给出一个简单的部署架构:

关于这些组件的具体功能和使用方法会在开发文档中给出详细介绍。

AntChain Bridge未来规划

AntChain Bridge在商业闭源时代积累的经验和思考,我们将其汇总为一套完整的协议,依据这套协议,AntChain Bridge将走向开放与标准化的未来。我们的协议(协议编号P3205)已经通过了IEEE的流程,该协议将跨链抽象为一般化的模型,使用标准化的语义表达整个跨链流程,并且对关键概念给出具体的解释和字段设计,本协议已正式发布,点击此链接🔗下载IEEE P3205的详细文档。 AntChain Bridge将保持开放,逐步实现IEEE协议的设计,并开源相关的代码、文档,建立开源社区,助力可信网络的基础设施建设。

IEEE协议落地

AntChain Bridge将基于IEEE协议标准打造,并逐步开源各个功能模块,最终达到系统全部开源目标。

  • 2023年,开放异构链接入能力,开源Relayer,建立BCDNS;
  • 2024年,实现不同架构的PTC、BCDNS并开源,构建AntChain Bridge开放网络;

开放区块链域名系统

AntChain Bridge将区块链域名功能模块单独实现为一套协议,邀请伙伴共建区块链域名系统(BlockChain Domain Name System, BCDNS),实现类似于当前互联网的DNS,为区块链网络甚至于Web3提供域名服务,打造在社会层面的数据可信、可追溯。BCDNS将作为多节点组网运行,由多个组织参与维护,为多链并存、多链隔离的现状,提供解决基础。

目前,AntChain Bridge和中国信通院的星火链网团队共同推出了基于星火链网的BCDNS服务,并已经开源。在AntChain Bridge的SDK中,我们给出了BCDNS的标准接口,所有的AntChain Bridge组件都将基于该接口与不同的BCDNS服务交互。基于该接口,我们实现了与星火链网BCDNS交互的客户端,可以通过输入配置创建客户端实例,详细使用可见“AntChain Bridge跨链:如何实现跨链”。

我们目前提供了简单的教程“AntChain Bridge跨链:如何实现跨链”,开发者可以在本地尝试基于星火链网BCDNS和开源的AntChain Bridge Relayer实现以太坊合约的跨链调用。

在未来我们将提供更多的BCDNS实现,并逐步建立一个开放共享的区块链跨链网络。

提供多种PTC实现

AntChain Bridge将在未来提供PoA预言机、中继链等标准PTC实现,使得社会中具有权威的机构和个人,可以轻易地将自身信息价值和权威转化为可信互联网中的信任锚点,为跨链数据提供背书,比如法院、检察院等机构,可以作为PTC,为业务区块链完成背书,并提供证明。