跨链,该怎么跨?
在区块链技术领域,关于跨链的研究从来都是热潮迭起。其实分析起来也不奇怪。区块链经过几年的喧嚣、沉淀、升华,尤其是在国家政策的大力支持下,区块链应用落地逐步成熟。落地应用的成熟发展,逐渐催生与其他应用交互的外联需求,而跨链作为解决这种需求的基础设施,自然而然会被重视起来
大家是怎么聊跨链的
跨链不是个新鲜话题,早在2016年9月, Vitalik Buterin所著的《Chain Interoperability》就对跨链的技术方案和应用价值进行了详细阐述。其中提到,较为实用的三种跨链技术为「公证人机制」、「侧链/中继」、「哈希锁定」;几种可能的跨链应用场景包括资产交换、原子交易、预言机、信息互通等。
此后国内外讨论跨链的各类话题,大多绕不开这三种跨链技术,正如同早期大家讨论区块链时,都在讨论共识机制一样。但其实,共识机制的先进性只是区块链平台设计的维度之一,譬如安全性、易用性、可扩展性等其他维度,也是区块链平台设计的考虑重点。再者,区块链的性能也不单纯依赖共识机制,全流程处理机制、异步化、并行性以及其他编码、压缩、传输机制等,均对区块链性能有所影响。
好比共识机制之于区块链,前面所提三种技术对于跨链而言,只是保证跨链访问安全可信的一种机制。机制固然重要,但站在应用落地的角度看,如何设计合理的跨链架构、如何设计简便的适配协议、如何提供易用的跨链接口、如何保证可信的跨链治理等等问题,都是跨链设计所应考虑的。
因此,本文不再赘述跨链三种技术的解析,而尝试从跨链的技术必要性分析切入,挖掘出跨链的基本诉求,进而思考跨链的设计理念,以及跨链整体解决方案的设计。
跨链是必不可少的催化剂
本文从联盟链角度分析。
当下,联盟链底层平台的数量已经双手都数不过来,这些平台或多或少存在独有的特性,且各自落地了多领域应用。这些基于同构平台(通常为同一个底层平台),或基于异构平台(通常为不同厂商的底层平台)构建的应用之间,要实现互联互通,就会面临一些技术上的挑战。
然而,区块链作为构建和传递信任的机器,是基础设施层面的技术,而基础设施就如同网络协议、存储协议一样,最终都将走向趋同的标准化方向。因而,联盟链当前状态是发展中的一个过渡状态,不是最终稳定态。
随着技术进一步发展,联盟链底层平台在基本功能、协议、接口、数据、安全机制等多方面会日渐趋同,朝标准化方向演进,但在增强功能、内部架构、性能以及技术选型等方面,仍然会呈现异彩纷呈的形态。这也符合“合久必分、分久必合”的规律,只有走向基本同构,才能进一步释放联盟链的活力,进一步推动联盟链应用的发展。
在“所有的链会基本同构”那一天到来之前,当下最明智的策略莫过于要求同存异,寻找最优设计,推动标准化进程,尽早实现基本同构目标。
讲到这里,可能你会问,既然联盟链本身发展将走向基本同构,为何还需要研究跨链呢?这其中,跨链是联盟链走向基本同构的动力源泉和技术支撑,是这个过程必不可少的催化剂。
首先,联盟链之所以会走向基本同构,本质上不是技术驱动,而是业务驱动。随着应用落地数量增多,一家机构可能要面对多个底层平台,机构与机构之间要面对更多底层平台。
作为业务方,这些机构肯定希望低成本、便捷地接入不同底层平台,联通应用孤岛,此时,这些机构将面临以下几种情形:
同一种底层平台,同一种应用,不同链如何互通
同一种底层平台,不同的应用,不同链如何互通
不同的底层平台,同一种应用,不同链如何互通
不同的底层平台,不同的应用,不同链如何互通
上述问题均需要通过跨链来解决,而底层异构给跨链带来的性能和安全等技术挑战,将会迫使联盟链技术进行迭代升级,走向标准化。
其次,联盟链走向基本同构的过程中,需要跨链作为技术支撑。为满足一段时间内基本异构情况下的联盟链应用互通,跨链方案将会先于底层平台进行接口、协议、数据结构、基本功能的抽象整合,而这些工作将反哺各底层平台,支撑联盟链走向基本同构。
举个例子,为了做跨链交易的合法性证明,需要有类似SPV的机制,包括Merkle、MPT、AVL等,可能就会促使底层平台去支持这个功能。再比如,跨链为了统一访问区块链资源的方式,对访问协议设计相关规范,可能也会激发底层平台去调整协议,从而更好地与其他链互通。
跨链的核心是降低扩展成本
跨链作为联盟链发展过程中必不可少的催化剂,要解决“不同链如何互通”的问题,本质上是要解决“联盟链扩展”的问题。关于区块链扩展的方案,主要有以下三种不同方向:
跨链是Scale Out的重要技术支撑,Scale Out依赖跨链才有办法进行。
Scale Out提供可平行扩展、无限扩容的可能,是必不可少的扩展方案,事实证明,已经有越来越多的平台支持多链、多通道、多群组等方式进行Scale Out扩展。但是,要进行这种平行扩展,尤其是涉及多种平台多种链交错交互的时候,这里就给业务方带来巨大的扩展成本,包括部署建设、管理管控、安全保障、信任传递等。
跨链的核心就是要降低扩展成本,要从东西和南北两个方向提供低成本、快速便捷的解决方案。南北方向因部署方式、接口协议、业务模式等不同,需要给出简化的接入和管理方案,东西方向因底层架构、安全机制、数据结构等不同,需要封装安全可信的互通方案。
跨链方案设计需融入三个理念
围绕降低扩展成本的核心诉求,跨链技术要在东西和南北两个方向提供简化的、封装的解决方案,在跨链方案的设计和落地中,需融入以下三个理念:
通用化设计,提炼共识的基本同构点
先让代码跑起来,快速适配主流平台
建立开源开放的社区文化,让协议尽早传播开来
在通用化设计方面,跨链方案要承担起“催化剂”的作用,提炼广泛共识的基本同构需求点,在架构、协议、资源等方面进行抽象提炼。
例如,在IEEE C/BDL目前公布的几个跨链相关提案中,P3203有关资源命名和寻址方式,P3204有关跨链交易证明的模型、交互协议,P3205涉及跨链访问协议以及数据认证等,这些都是在广泛共识的需求点上进行提炼设计。
“粗略的共识,可运行的代码”——这句话是TCP/IP协议工作组的座右铭,也非常适合跨链设计。先让代码跑起来,能够快速适配各种主流平台,满足跨链业务协作的需求,在发展中实践,在实践中发展,这一点很关键。
更重要的是,跨链本身涉及多条链,已经不是某一个平台,或者某一个机构的事儿,其方案的建设离不开众多平台建设方、使用方、爱好者的参与。因而,建立一个开源开放的跨链协作社区就非常重要,所谓“万人操弓,用射一招,招无不中”,通过社区的群智群策,可以让协议尽早传播开来
案例:WeCross实践
在这里用一个案例来让大家更好地理解跨链:WeCross是微众银行区块链团队打造的跨链协作平台,也是针对以上理念的实现方案。WeCross在设计上属于“通用化设计”,提炼了通用区块链接口、异构链互联协议、可信事务机制和多边跨域治理四个核心技术。值得一提的是,相关的细节在白皮书中做了详细阐述。
WeCross 的理念是让“代码跑起来”,实现了总体跨链架构,提供了快速适配底层链的Stub扩展方案,目前已支持FISCO BCOS、Hyperledger Fabric等平台,并且也是一个完全开源的社区,想体验的小伙伴可戳:
https://github.com/WeBankFinTech/WeCross
https://github.com/WeBankFinTech/WeCross/wiki
风起于青萍之末,一场围绕区块链技术的变革正在徐徐拉开帷幕。与一个具备无限潜力的趋势共同成长,现在,正是最好的时节。