写点什么

微众银行区块链李辉忠:跨链是联盟链走向基本同构的技术支撑

2020 年 6 月 22 日

微众银行区块链李辉忠:跨链是联盟链走向基本同构的技术支撑

在区块链技术领域,关于跨链的研究从来都是热潮迭起。其实分析起来也不奇怪。区块链经过几年的喧嚣、沉淀、升华,尤其是在国家政策的大力支持下,区块链应用落地逐步成熟。落地应用的成熟发展,逐渐催生与其他应用交互的外联需求,而跨链作为解决这种需求的基础设施,自然而然会被重视起来。


大家是怎么聊跨链的

跨链不是个新鲜话题,早在 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 白皮书


同时,WeCross 秉持先让“代码跑起来”的理念,实现了总体跨链架构,提供了快速适配底层链的 Stub 扩展方案,目前已支持 FISCO BCOS、Hyperledger Fabric 等平台,欢迎体验


不仅如此,WeCross 还是一个完全开源的开放社区,拥有完备的社区规范、CIP(CrossChain Improvement Proposal)规范、多元活动等,欢迎加入社区一起玩转跨链


正如 WeCross 白皮书中所言——风起于青萍之末,一场围绕区块链技术的变革正在徐徐拉开帷幕。与一个具备无限潜力的趋势共同成长,现在,正是最好的时节。


2020 年 6 月 22 日 10:321263

评论

发布
暂无评论
发现更多内容

寻找被遗忘的勇气(八)

Changing Lin

3月日更

山东部署公安新平台!智慧警务情指行一体化系统解决方案

源中瑞-龙先生

2021金三银四必备:“基础-中级-高级”Java程序员面试复习路线

比伯

Java 编程 程序员 架构 面试

Apache Ranger的部署安装

大数据技术指南

大数据 3月日更

助力金三银四!一线大厂379道面试真题(Java岗)收录成册,开源分享!

程序员小毕

Java 程序员 架构 面试 分布式

LeetCode题解:518. 零钱兑换 II,动态规划,JavaScript,详细注释

Lee Chen

算法 LeetCode 前端进阶训练营

深入理解Linux内核 RCU 机制

赖猫

Linux linux编程 Linux内核

十四五,鹏城应作先锋看,山河同襄智能体

脑极体

容器 & 服务:K8s 与 Docker 应用集群 (四)

程序员架构进阶

Docker Kubernetes 容器技术 28天写作 3月日更

redis工作原理(上)

Sakura

28天写作 28天挑战 3月日更 21天挑战

SRS流媒体服务器源码分析--RTMP消息play

赖猫

流媒体 SRS 音视频开发 流媒体开发

接口测试--apipost接口断言详解

测试人生路

接口

芯翌科技领跑NIST-FRVT戴口罩人脸识别评测,助力后疫情时代科技创新

朋湖网

雪花算法,到底是个啥?

架构精进之路

算法 七日更 3月日更

女神营业!云通信产品运营带你玩转号码隐私保护:网约车、外卖等O2O行业的最佳实践

阿里云Edge Plus

云通信 通信云

Linux/Centos Epoll 原理解析

赖猫

Linux 高并发 epoll

什么是职业

ES_her0

28天写作 3月日更

线上MySQL读写分离,出现写完读不到问题如何解决

程序员历小冰

MySQL 读写分离

音视频之opengl渲染图片

赖猫

音视频 音视频开发

Go语言学习笔记:抓取XKCD中文站的漫画

worry

go

新人报道

shun123456789

话说cas

木子的昼夜

职场求生攻略答疑篇之 5 —— 我,程序员,非常焦虑

臧萌

职场 成长

one day

旭陽

程序员成长第二十三篇:员工不符合预期,怎么办?

石云升

程序员成长 28天写作 职场经验 管理经验 3月日更

半个多月时间4面阿里,已经成功拿下offer,分享一下个人面经

Java架构之路

Java 程序员 架构 面试 编程语言

全靠这份阿里大佬的“Java进阶面试手册”收获蚂蚁offer

周老师

Java 编程 程序员 架构 面试

拼多多五面面经(Java岗),全面涵盖Java基础到高并发级别

Java架构之路

Java 程序员 架构 面试 编程语言

翻译:《实用的Python编程》04_02_Inheritance

codists

Python 继承 inheritance

几千次的重复提交,我用 SpringBoot+Redis 居然扛住了!

Java小咖秀

redis 后端 springboot 幂等

搞定计算机网络的常见面试问题

海量并发场景下的缓存架构设计

海量并发场景下的缓存架构设计

微众银行区块链李辉忠:跨链是联盟链走向基本同构的技术支撑-InfoQ