上海品茶

微众银行:WeCross技术白皮书:区块链跨链协作平台[45页].pdf

编号:9173 PDF 45页 1.13MB 下载积分:VIP专享
下载报告请您先登录!

微众银行:WeCross技术白皮书:区块链跨链协作平台[45页].pdf

1、WeCross 技术白皮书 区 块 链 跨 链 协 作 平 台 2020 年 2 月 微众银行区块链团队编著 前言 区块链作为构建未来价值互联网的重要基础设施,深度融合分布式存储、点对点通信、 分布式架构、共识机制、密码学等前沿技术,正在成为技术创新的前沿阵地。全球主要国家 都在加快布局区块链技术,用以推动技术革新和产业变革。经过行业参与者十年砥砺前行, 目前区块链在底层技术方案上已趋于完整和成熟,国内外均出现可用于生产环境的区块链解 决方案。其所面向的创新应用场景覆盖广泛,已在对账与清结算、跨境支付、供应链金融、 司法仲裁、政务服务、物联网、智慧城市等众多领域落地企业级应用。 在广泛的场景应

2、用背后,来自于性能、安全、成本、扩展等方面的技术挑战也愈发严峻。 目前不同区块链应用之间互操作性不足,无法有效进行可信数据流通和价值交换,各个区块 链俨然成为一座座信任孤岛,很大程度阻碍了区块链应用生态的融合发展。未来,区块链想 要跨越到真正的价值互联网,承担传递信任的使命,开启万链互联时代,需要一种通用、高 效、安全的区块链跨链协作机制,实现跨场景、跨地域不同区块链应用之间的互联互通,以 服务数量更多、地域更广的公众群体。 作为一家具有互联网基因的高科技、创新型银行,微众银行自成立之初即高度重视新兴 技术的研究和探索,在区块链领域积极开展技术积累和应用实践,不断致力于运用区块链技 术提升多机

3、构间的协作效率和降低协作成本,支持国家推进关键技术安全可控战略和推动社 会普惠金融发展。微众银行区块链团队基于一揽子自主研发并开源的区块链技术方案,针对 不同服务形态、不同区块链平台之间无法进行可信连接与交互的行业痛点,研发区块链跨链 协作平台WeCross,以促进跨行业、机构和地域的跨区块链信任传递和商业合作。 WeCross 着眼应对区块链行业现存挑战,不局限于满足同构区块链平行扩展后的可信 数据交换需求,还进一步探索异构区块链之间因底层架构、数据结构、接口协议、安全机制 等多维异构性导致无法互联互通问题的有效解决方案。作为未来区块链互联的基础设施, WeCross 秉承多方参与、共享资源

4、、智能协同和价值整合的理念,面向公众完全开源,欢迎 广大企业及技术爱好者踊跃参与项目共建。 风起于青萍之末,一场围绕区块链技术的变革正在徐徐拉开帷幕。与一个具备无限潜力 的趋势共同成长,现在,正是最好的时节。 微众银行区块链团队 mNoRnNqMqNrPpNpOqPuNtQ6MaO8OmOpPtRqQeRmMmPeRpOpOaQqRqRwMpNmNMYmMmN 目录 第一章 WeCross 设计背景与理念 -1 1.1 设计背景:行业现状与挑战 -1 1.2 设计理念:4S 原则 -3 第二章 WeCross 整体架构设计 -5 2.1 区块链体系抽象 -5 2.2 跨链系统架构 -7 2.3

5、 可信交互流程 -8 第三章 WeCross 核心技术与优势 - 10 3.1 通用区块链接口 -11 3.1.1 统一资源范式 -12 3.1.2 抽象区块链结构 -16 3.2 异构链互联模型 -17 3.2.1 通用接入范式 -17 3.2.2 跨链交互模型 -19 3.3 可信事务机制 -22 3.3.1 数据互信机制 -22 3.3.2 跨链事务机制 -24 3.4 多边跨域治理 -29 3.4.1 权限事务管理 -30 3.4.2 监管准入管理 -31 3.5 平台优势 -32 3.5.1 开源开放 -32 3.5.2 开发友好 -33 3.5.3 安全可信 -34 第四章 WeC

6、ross 应用前景- 35 4.1 司法跨域仲裁 -35 4.2 物联网跨平台联动 -36 4.3 数字资产交换 -37 4.4 个体数据跨域授权 -38 第五章 展望 - 39 技术路线 -40 目录 1 第一章 WeCross 设计背景与理念 1.1 设计背景:行业现状与挑战 近年来,区块链行业经历了高速发展,诞生许多形态各异的底层技术平台, 基于这些 平台建设的区块链应用百花齐放。随着应用生态本身的发展壮大,越来越多应用在既有用户 和价值积累基础上,为追求更大的网络效应,产生了与其他应用实现交互、建立关联的外延 需求,于是整个区块链生态需要一个更加开放、易于协作、多方共赢的交互环境。由于

7、目前 区块链平台技术实现上存在多维异构性,在应用和数据上存在“孤岛效应”,无论是基于不 同平台或者同一个平台构建的不同应用,都难以便捷地跨平台联通协作,区块链生态要向下 一阶段演化需要“超越平台、链接应用”的创新性解决方案。 为了应对这一挑战,旨在搭建链与链之间可信交互渠道的跨链技术逐渐成为业界关注的 焦点,业界普遍认同高效通用的跨链技术是实现万链互联的关键。跨链技术能够连通分散的 区块链生态孤岛,成为区块链整体向外拓展的桥梁纽带。当前,业界在跨链领域已有初步的 探索和积累,讨论较多的跨链方案有公证人机制、中继、侧链、哈希锁定和分布式密钥控制 等。较早出现的 BTC-Relay 使用侧链技术来

8、实现区块链数字资产之间的单向跨链。Ripple 提出的跨链价值传输协议 ILP 采用哈希锁定的方案来解决跨账本之间的支付问题。Cosmos 和 Polkadot,则关注如何建立通用跨链开发框架,分别提出了 Tendermint 和 Substrate 的 开发框架,它们的跨链核心设计是基于中继链的思想。 上述跨链方案,仅适用于面向数字资产的跨链转移场景,难以扩展涵盖到更为广阔的应 用场景。微众银行在 2018 年提出“公众联盟链”的概念,将联盟链进一步升华为面向公众 提供服务的联盟链,公众作为“链”的服务对象,可通过公开网络访问联盟链提供的服务, 联盟是“链”的属主和运营方,通过“链”实现信息

9、与价值交换。公众联盟链并非单一区块 链生态,而是一种全新的区块链商业应用跨域融合形态。要支撑这样的融合形态,需要能够 支持多链并行、跨链通信以及处理来自互联网海量交易的能力。在公众联盟链的大生态中, 必然需要应对底层平台异构化、应用场景多样化等特点,构建公众联盟链的可信跨链交互面 临着更大的挑战。 2 底层架构不同,互通难:业内已有多种区块链平台,这些平台在整体架构设计上存在很 大的不同,包括计算、存储、网络等各个方面。例如,Hyperledger Fabric 采用 Endorser- Orderer-Comitter 三层架构,交易先经过 Endorser 节点进行预执行背书,得到状态读写

10、集 RW-Set 返回客户端,客户端再次打包交易发送至 Orderer,Orderer 打包排序后交给 Commiter 节点进行落盘存储。同为金融级、企业级的区块链平台 FISCO BCOS,交易在客 户端完成签名之后被发送到区块链节点,节点将交易打包成区块,并且交给 EVM 执行,状态 数据以 MPT 树状组织存储。不难看出,这两个底层平台在架构上存在巨大差别,不仅交易处 理时序不同,计算与存储结构也不同,想让交易直接在两个平台互通,存在较大挑战。 数据结构不同,互认难:不同区块链平台的数据结构设计往往各不相同。例如, FISCO BCOS 的区块结构中,区块头包含三个默克尔根字段:世界状

11、态根 state-root、交 易根 tx-root、交易回执根 receipt-root,这些字段可用于交易和执行结果的存在性证 明。而Hyperledger Fabric,以其最新发布的稳定版本(v1.4)为例,使用一个 DataHash 字段来标记该块的数据变化,其区块头设计中并没有默克尔根的相关字段,不容易实现类似 交易存在性证明机制。基于默克尔树的存在性验证是常用的跨链认证手段,但由于不同区块 链平台数据结构和预期的应用场景不同,并非所有平台都支持,所以想要实现数据互认依旧 存在着一定挑战。 接口协议不同,互联难:常见的网络传输编码协议有 Protobuf、JSON 和二进制等协 议

12、。这些编码协议各有其优势与适用场景。例如,Protobuf 协议具备支持语言多、格式紧 凑、易于扩展的优势,被 Hyperledger Fabric 选用为 P2P 网络传输消息包的编码协议。而 二进制编码协议有编码速度快、格式紧凑和可自由定制的优势,被 FISCO BCOS 选用为 P2P 网络传输消息包的编码协议。除此之外,因为架构与数据结构的不同,不同平台暴露的 访问接口在功能和格式字段方面也大不相同。综上所述,由于接口与协议的不兼容,这些平 台间难以互联通信。 安全机制不同,互信难:区块链安全涉及面很广,包括共识记账模式的安全、数据传输 安全、数据存储安全、准入机制安全以及接口访问权限

13、安全控制等多方面。由于区块链设计 的安全边界往往是以平台范围为界, 以确保用这个平台建设的一个区块链实例内部是安全的。 当涉及到链和链之间、平台和平台之间进行衔接时,会因为多种安全机制参差不齐,且敏感 数据跨越安全边界,如共识者列表不同、准入机制严格程度有高低、权限配置差异等因素, 导致平台之间的互信条件不成立。 3 业务模式不同,互访难:区块链技术已经在众多应用领域初露头角,以 FISCO BCOS 披露的落地场景为例,已经覆盖政务、金融、溯源、文化、游戏等众多行业。不同业务场景 的合约逻辑千差万别,各个场景都是内在闭环的系统。要打通场景之间的互访,例如要实现 金融场景区块链与政务场景区块链

14、有关备案信息的互通跨链,会面临比传统数字资产跨链更 复杂的业务逻辑,过程中任意一个环节的疏漏都可能导致异常使跨链失败,如何保障整体衔 接过程中事务和事务之间的完整性和一致性将会是巨大的挑战。 除了上述由于不同平台架构差异而导致的挑战,基于相同区块链平台的多个区块链之间 也存在着显著的跨链挑战。受限于区块链本身的架构特征,单链架构难以同时满足高安全、 高性能和高扩展三个需求,无法应对需要承载海量数据的服务场景。尽管可以借鉴传统互联 网海量服务的经验,采取多通道、多群组或多链架构等方式进行平行扩展,但有别于传统互 联网服务,区块链应用作为多方参与的弱信任业务模式,多方之间既有协作也有博弈。即便 对

15、于构建在同一个平台上的区块链应用,也需要构建一个多方可信的渠道对平行扩展之后的 通道、群组和多链进行可信数据互联。 因此,同 / 异构区块链平台都需要依赖于跨链解决方案来连接信任孤岛,实现信任在更 大范围内的传递,推动区块链应用生态的深度融合发展。 1.2 设计理念:4S 原则 面对区块链应用生态中互联互通的诸多挑战,我们从底层平台的架构设计开始深层次思 考,在众多主流平台中探寻可信融合连通所需的“最小化”抽象设计,充分考虑跨链交互的 安全、扩展和可用性问题,提出跨链方案需遵循的 4S 原则。 Synergetic:跨链业务高效协同 跨链的目标是打通区块链业务之间的高墙,连接众多信任孤岛,让信

16、任得到更大范围的 传递。为了使这些基于众多区块链平台的业务能够无缝协同,首先需要设计普适通用的数据 结构和交互协议,使不同区块链平台之间数据格式转化和网络协议适配所产生的代价降到最 低。 WeCross 遵循满足跨链业务高效协同的设计理念,根据“一次适配,随处可用”原则, 提炼跨链交互必需的“核心接口子集”,设计通用数据结构和网络协议,解决因设计目标不 同而导致的各平台接口差异性难题。 4 Secure:跨链操作安全可信 区块链的重要特征之一是通过多中心化、 共识机制以及密码学技术来实现数据可信存取。 但这种安全机制往往只能在一个区块链平台内部形成闭环,在两个或者多个区块链平台之间 进行交互访

17、问时,需要进一步突破原有平台的安全边界,建立更强的安全保障机制。 WeCross 遵循保障跨链操作安全可信的设计理念,引入 CA 身份认证机制,对通信链路 进行加密加固,严格限制访问权限,设计多维度的默克尔证明机制,以及多种原子事务机制, 保障跨链交互全流程数据的可信性。 Scalable:跨链网络分层可扩展 跨链不仅能够支持异构区块链之间互联,也能够帮助同构区块链平台进行扩展。常见的 多通道、多群组和多链等扩展方案都需要依赖跨链组件打通通道、群组以及链与链之间的交 互。随着跨链业务协作的演进,越来越多的业务有相互连接的需求,一对一的跨链将演变成 一对多、多对多、甚至更为复杂的拓扑结构。这就要

18、求跨链组件本身具备足够的灵活性,能 够应对多种复杂的网络模型和业务需求。 WeCross 遵循支持跨链网络分层扩展的设计理念,设计跨链路由协议与模块,支持多个 区块链分布式互联,承载树型、星型等各种拓扑架构,支持多层次纵深跨链协作。同时,设 计多方共建、共治的治理架构,实现跨链网络的可持续扩展。 Swift:跨链接入高效便捷 由于区块链平台存在多样化特性,开发者每接入一个新的区块链平台就需要学习一套区 块链开发运维流程,跨越不同区块链平台的接入将导致学习成本的增加。 WeCross 遵循为开发者提供高效便捷接入方式的理念,设计通用 SDK、交互式控制台 以及可视化浏览器等全套开发组件,简化跨链

19、交互流程,设计“所见即所得”的运维工具, 支持一键发起跨链操作。 综上,4S 设计理念以业务协同为核心,在多个关键维度上追求跨链操作的高安全性、 高扩展性和高易用性,以应对未来形式多样、层出不穷的跨链应用场景。 5 第二章 WeCross 整体架构设计 以融合连通各大主流区块链平台(例如 FISCO BCOS 和 Hyperledger Fabric)为目标定 位,基于对当前行业现状、应用场景和区块链技术发展的全面分析,WeCross 对主流区块链 平台体系进行标准化抽象提炼,并以此设计跨链整体架构。 2.1 区块链体系抽象 为打通异构区块链之间的交互,首先为这些异构区块链设计统一的“语言”,

20、即统一的 体系结构抽象。基于统一的体系结构,异构区块链之间找到双方都能理解的“语言”,互联 互通才有可能实现。基于跨链所需的关键要求,WeCross 在核心数据结构、区块链交互模式 和事务管理上提取业界主流区块链产品核心且必需的公共子集, 对区块链平台进行多层抽象。 数据层:跨链交互的核心是数据在链间的流动,数据层的抽象就尤为重要。跨链涉及 的数据维度包括区块、交易、合约、消息等多个方面。WeCross 以满足跨链基本要求为前提, 提炼通用区块数据结构,将交易、合约和消息等抽象设计成资源类型,为资源设计通用的寻 址协议。 6 交互层:不同业务场景有不同的跨链交互模型,基于抽象数据层,WeCro

21、ss 建设通用 区块链适配与路由中继网络,结合标准默克尔证明机制,实现跨链交互层抽象设计。 事务层:基于数据结构和交互的抽象层,实现跨链事务效果。目前支持两类机制:两 阶段事务和哈希时间锁定事务。未来将依据场景需求设计更多事务机制。 WeCross 抽象体系结构中的任一层都是通用可替换的,无论底层技术实现如何替换, 上层的逻辑都可以通用。WeCross 对区块链的多层次抽象可以类比 Java ORM(Object Relational Mapping)对数据库的多层次抽象。ORM 技术作为 Java 访问数据库的通用“语 言”,可以将数据库层完全隐蔽,呈现给开发的只有 Java 对象。开发者只

22、需要根据业务逻 辑的需要调用 Java 对象的方法,即可实现对后台数据库的操作,无需关注后台采用什么 数据库。相应地,WeCross 数据结构抽象可以对应 Java 中对 SQL 和数据库驱动的抽象如 ODBC 和 JDBC,WeCross 交互抽象类似于 Java 对数据库访问模型的 ORM 抽象如 MyBatis 和 Hibernate,而 WeCross 事务管理则与 Java 的事务管理类似,但支持更多事务模式。 7 WeCross 系统架构包括以下组件: 跨链分区(Zone)指运行着同一类业务的区块链集合。WeCross 可以对这个区块链 集合本身和内部的区块链资源进行命名和寻址。例

23、如,图中存证业务的命名空间为“存证分 区”,结算业务的命名空间为“结算分区”。存证分区里有两条存证链分别是存证链 A 和存 证链B, 存证链 A 链上部署一个资产存证资源, 产生的费用和相关的资产可能需要存证。 于是, 根据业务需要,跨链操作会产生分区和分区之间,以及分区内部的链和链之间。 跨链路由(Router)指用于桥接业务系统与区块链的服务进程。多个跨链路由之间可 以相互连接,相互转发请求。用户通过向跨链路由发起请求来访问跨链分区中的资源。 2.2 跨链系统架构 WeCross 的跨链系统架构设计充分考虑跨行业、机构和地域的多区块链互联,无论是新 部署的区块链平台还是已有的区块链平台,都

24、可以基于上一节中的区块链体系抽象,在不改 动原有区块链平台底层的前提下,无缝接入 WeCross 平台。 8 跨链适配器(Stub)指连接一个区块链的接口实现,可由跨链路由加载。跨链路由可 以配置多个区块链适配器,达到连接多条区块链的效果。跨链路由间会自动同步区块链适配 器的配置信息,从而帮助用户寻址位于其他区块链上的资源。 跨链资源(Resource)指区块链上的智能合约、数字资产等用户可访问的数据对象。 类似于区块链适配器的配置信息,跨链资源的元信息也在跨链路由之间同步。用户通过统一 的接口对跨链分区中的资源进行寻址和调用。 为了满足未来多样化的业务互联需求,针对海量数据跨链的典型业务特征

25、,WeCross 为 网络交互和部署架构设定了以下关键设计目标。 跨地域互联:作为多方参与的区块链应用,通常涉及多个服务机构,业务部署在多个 跨地域的数据中心。WeCross 为跨地域场景设计安全、可靠和高效的网络架构,基于 TCP 长连接、心跳、自动重连和加密通信技术的网络机制来保证大范围跨地域互联的稳定性、及 时性和安全性。 部署架构灵活:由于跨链需求通常源自成熟的区块链应用项目,跨链部署架构需要具 备兼容现存区块链实例的能力。WeCross 采用 “非侵入式”设计,跨链路由以独立进程的 方式与区块链节点分离部署,无需变更既有的区块链网络架构,即可实现灵活的架构部署。 跨链路由间使用网络传

26、输跨链消息和区块链消息,结合网络自动寻路功能,只要跨链路由间 有直接或间接可触达的网络链路,就能完成跨链交互。 可自由定制:现实业务场景中的跨链需求千差万别,接入的区块链平台多种多样,因 此定制化可裁剪的跨链能力不可或缺。WeCross 的区块链适配器和跨链资源支持自由定制, 根据接入的区块链类型、系统资源和网络情况,选择不同的区块链适配器和跨链资源。 2.3 可信交互流程 区块链平台设计的基本安全假设是“每个参与者皆有可能作恶”,在此假设下通过密码 学与共识算法等机制构建分布式可信环境。然而此可信环境往往只在区块链平台内部生效, 无法简单被另一个区块链平台信任,需要引入额外的可信证明信息来实

27、现跨区块链平台的可 信交互。WeCross 在处理跨链交互时除了传输区块链交易信息外,还会额外传输区块链交易 的相关证明数据,并使用这些信息进行交易和回执(交易执行结果)的存在性证明,以证明 链上信息的真实与可靠。 9 以上图所示的跨链交互为例,机构 1 和机构 2 分别部署了区块链 A 和区块链 B,现在机 构 1 的用户要访问机构 2 的区块链 B,并要求访问的结果真实可信,其跨链交互时序如下图 所示。 与传统的区块链交易处理流程相比,WeCross 跨链路由除了传输交易和回执的信息,还 额外传输交易和回执的默克尔证明,交易的发送方使用这些证明来进行跨链数据访问的可信 验证,使交易的发送方

28、能确认交易在目标区块链上真实发生且获得结果,保证交易和回执的 真实可信。 WeCross 遵循跨链交互数据皆可自证的原则,要求交互响应消息同时携带数据和证明, 该规则普遍适用于各类跨链场景,可用于保障整个交易流程的真实可信。 10 第三章 WeCross 核心技术与优势 为了实现跨链交互的高效可用、 安全可信和便捷治理, WeCross基于区块链体系的抽象、 跨链系统的架构和可信交互流程的顶层设计,提炼四个技术点,以实现跨链的核心功能: 通用区块链接口(UBI,Universal Blockchain Interface):WeCross 设计一 套通用的区块链数据协议,抽象提炼主流区块链共通

29、的核心数据结构与资源定义,使多 种区块链平台可以用统一的数据协议交互,极大程度减小区块链平台之间的交互难度。 异构链互联协议(HIP,Heterogeneous Interchain Protocol):WeCross 设 计主流区块链平台通用的网络交互协议及统一的交互模式,通过简便适配,即可实现异 构区块链平台的连通。 可信事务机制(TTM,Trust Transaction Management):WeCross 采用密码 学技术和分布式算法,保证区块链平台之间交互数据的真实可信且难以篡改,保证业务 逻辑的原子事务性, 使得区块链平台之间任何关联的两个交易能够完全执行或完全回滚。 多边跨域

30、治理(MIG,Multilateral Inter-Domain Governance):WeCross 设计一套可扩展、去中心的跨链治理架构,让多个区块链业务能够根据其特定需求共同 搭建一条治理链进行跨链交互方面的治理。治理链承载了权限控制、事务管理、准入机 制和监管介入等治理功能。 开源开放:WeCross 秉承开源、开放的原则,与社区共同维护平台的迭代升级,群策 群力,共建更强大、更好用的跨链平台。 开发友好:WeCross 提供多语言版本的 SDK 供开发者使用,提供可视化的管理工具, 方便用户开发、调试以及运维。 安全可信:WeCross 基于加密、准入、隔离以及追溯等多种机制保障跨

31、链数据的机密 性以及系统的安全性。 结合设计理念,用户体验以及平台特性等方面的综合考量,WeCross 具备以下三个主要 优势: 11 3.1 通用区块链接口 各家区块链平台有着各自的 SDK、智能合约框架和交互逻辑,开发者不得不针对性地学 习每一种区块链平台的 API 和调用逻辑,做定制化开发。当两个异构平台存在跨链需求时, 双边业务需要重新学习对方平台的 API 和调用逻辑,这不仅是对开发者精力和成本的巨大浪 费,也是跨链落地难的一个重要原因。 区块链平台虽各有不同,但万变不离其宗,主流区块链的底层原理都有其共通之处。经 过抽象后,大部分区块链平台的区块链逻辑、区块数据结构和交易数据结构等

32、都具有较高的 相似性。 以 FISCO BCOS 和 Hyperledger Fabric 的交易数据结构为例,两者有各自的 SDK、合 约框架等接口规范。尽管它们之间有一定的差异性,但对于关键数据结构和合约调用接口, 两者之间有很多共同点。 FISCO BCOS 和 Hyperledger Fabric 虽然使用不同的智能合约引擎,但智能合约的调用 方式是类似的,都是通过给出智能合约的地址、智能合约的方法名和调用智能合约的参数, 获得智能合约方法返回的数据。不仅是 FISCO BCOS 和 Hyperledger Fabric,其它主流区块 链平台的智能合约调用也基本如此。 本着“求同存异”

33、、“聚焦最大公约数”的基本思路,通用区块链接口(UBI)对交易、 智能合约与资产等数据进行抽象包装,设计统一的资源范式,对主流区块链的关键数据结构 进行提炼,设计普适跨链场景的抽象区块数据结构,为异构区块链的交互建立数据协议一致 的基础,实现“一次适配,随处可用”的效果。 12 3.1.1 统一资源范式 各家区块链平台上的资源多种多样,有智能合约、资产、信道和数据表等,无论这些资 源的功能如何多样,其核心接口主要可以归纳为数据、调用和事件三类固定的接口。为了更 好地打通区块链平台资源交互,UBI 提出统一资源接口范式,使得用户在调用区块链智能合 约、资产、信道或数据表时无需关心具体的智能合约语

34、言和区块链的底层架构,只需传入通 用的参数,并处理统一定义的返回值即可。 统一资源范式包括数据、调用和事件三类接口,如下表所示。 13 单个区块链上的资源可以通过合约地址或名称来定位和访问,在跨链和多个业务互通的 复杂网络模型下则需要一个更高层的资源定位协议。为了让用户在复杂跨链分区下定位和访 问区块链资源时无需关心资源位于哪个地域、机构或机房,也无需关心所在区块链的具体实 现,只需提供资源地址和相关参数即可实现资源定位和访问,UBI 使用统一资源寻址协议, 实现自动路由转发机制,为用户智能定位所需资源。 public interface Resource / 获取数据 public Stri

35、ng getData(String key); / 设置数据 public void setData(String key, String value); / 调用智能合约接口 public Receipt call(Transaction transaction); / 向智能合约发送交易 public Receipt sendTransaction(Transaction transaction); / 注册事件回调 public void registerEventHandler(EventCallback callback); 统一资源接口的定义如下(伪代码): 14 正如 2.2 “

36、跨链系统架构”章节所介绍的跨链系统架构,WeCross 将跨链系统定义为跨 链分区、业务链和业务链上的资源的组合,以上图中的支付分区为例: 以图中的支付分区为例: 跨链分区、业务链和区块链资源都有唯一的标识,通过组合三种标识,可以唯一地定 位到跨链系统中的任一资源的位置,这个寻址的标识称为跨链路径(iPath,Interchain Path),跨链路径定义为: 跨链分区 . 业务链 . 区块链资源 http:/IP:Port/ 跨链分区 / 业务链 / 区块链资源 / 资源方法 跨链分区(Zone):管辖若干具有一定关联性的业务链,关联性可能包括业务模式、 地域、领域等。图中的支付分区就是一个

37、跨链分区。 业务链(Chain):业务链运行在某个跨链分区,而且仅属于一个跨链分区。图中的 交易链、积分链和结算链都是支付分区中的业务链。 区块链资源(Resource):指业务链中的智能合约和资产等对象。如图中的资产资 源是交易链的资源,结算资源是结算链的资源,账户资源是积分链的资源。 访问交易链的资产资源,跨链路径为:支付分区 . 交易链 . 资产资源 访问结算链的结算资源,跨链路径为:支付分区 . 结算链 . 结算资源 访问积分链的账户资源,跨链路径为:支付分区 . 积分链 . 账户资源 WeCross 设计实现 HTTP Restful 接口访问跨链路径,支持以 HTTP URL 的形

38、式访问跨 链系统中的资源,URL 格式为: 以 FISCO BCOS 的智能合约为例,智能合约通过接口读写合约的数据比如 getData 为读 接口, setData 为写接口,两者的参数都可以是合约内的变量名,在合约代码内实现读写流 程;对智能合约的调用称为调用接口,分为 call 和 sendTransaction 两种,call 接口仅调用 15 合约读接口以返回数据,不会改变链上状态,sendTransaction 会往链上发送交易并改变区 块链状态;另外还有事件接口,供客户单接收智能合约的 event 事件。 以下用伪代码来描述资源的获取和调用流程: / 根据配置初始化 Stub S

39、tub stub = context.getBean(fisco-bcos); / 通过 iPath 获取智能合约资源 Resource myResource = stub.getResource(payment.fisco-bcos.HelloWeCross); / 根据合约地址、方法名以及参数列表拼接调用交易 Transaction getTransaction = myResource.newTransaction(); getTransaction.setFrom(myAccount); getTransaction.setMethod(get); / 使用 call 方法,调用智能合

40、约的 get 函数 Receipt myReceipt = myResource.call(getTransaction); / 根据合约地址、方法名以及参数列表拼接调用交易 Transaction setTransaction = myResource.newTransaction(); setTransaction.setFrom(myAccount); setTransaction.setMethod(set); setTransaction.setArgs(new ObjectHello WeCross!); / 使用 sendTransaction 方法,向链上发送交易,调用智能合约的 set 函数 Receipt myReceipt = myResource.sendTransaction(setTransaction); / 解析返回值 Object results = myReceipt.decode(); 16 3.1.2 抽象区

友情提示

1、下载报告失败解决办法
2、PDF文件下载后,可能会被浏览器默认打开,此种情况可以点击浏览器菜单,保存网页到桌面,就可以正常下载了。
3、本站不支持迅雷下载,请使用电脑自带的IE浏览器,或者360浏览器、谷歌浏览器下载即可。
4、本站报告下载后的文档和图纸-无水印,预览文档经过压缩,下载后原文更清晰。

本文(微众银行:WeCross技术白皮书:区块链跨链协作平台[45页].pdf)为本站 (开心时刻) 主动上传,三个皮匠报告文库仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知三个皮匠报告文库(点击联系客服),我们立即给予删除!

温馨提示:如果因为网速或其他原因下载失败请重新下载,重复下载不扣分。
客服
商务合作
小程序
服务号
会员动态
会员动态 会员动态:

 钟** 升级为至尊VIP wei**n_... 升级为至尊VIP 

 139**46... 升级为标准VIP  wei**n_... 升级为标准VIP

wei**n_... 升级为高级VIP   150**80... 升级为标准VIP

wei**n_... 升级为标准VIP  GT   升级为至尊VIP

 186**25...  升级为标准VIP  wei**n_... 升级为至尊VIP

 150**68... 升级为至尊VIP  wei**n_...  升级为至尊VIP

130**05...  升级为标准VIP wei**n_... 升级为高级VIP 

wei**n_...  升级为高级VIP wei**n_... 升级为高级VIP 

138**96...  升级为标准VIP    135**48... 升级为至尊VIP

wei**n_... 升级为标准VIP   肖彦  升级为至尊VIP

 wei**n_...  升级为至尊VIP  wei**n_... 升级为高级VIP

wei**n_...  升级为至尊VIP  国**... 升级为高级VIP

158**73...  升级为高级VIP  wei**n_... 升级为高级VIP 

 wei**n_...  升级为标准VIP   wei**n_... 升级为高级VIP

 136**79... 升级为标准VIP 沉**... 升级为高级VIP  

 138**80... 升级为至尊VIP  138**98... 升级为标准VIP 

 wei**n_... 升级为至尊VIP wei**n_...  升级为标准VIP

wei**n_...  升级为标准VIP wei**n_... 升级为至尊VIP 

189**10...  升级为至尊VIP wei**n_...  升级为至尊VIP

準**... 升级为至尊VIP  151**04...  升级为高级VIP 

155**04...  升级为高级VIP wei**n_...  升级为高级VIP

sha**dx... 升级为至尊VIP   186**26... 升级为高级VIP 

136**38... 升级为标准VIP  182**73...  升级为至尊VIP

136**71...  升级为高级VIP 139**05... 升级为至尊VIP 

wei**n_...  升级为标准VIP wei**n_...  升级为高级VIP 

wei**n_...  升级为标准VIP 微**...  升级为标准VIP

Bru**Cu...  升级为高级VIP  155**29...  升级为标准VIP

wei**n_...   升级为高级VIP  爱**...  升级为至尊VIP

 wei**n_...  升级为标准VIP wei**n_...  升级为至尊VIP

150**02...  升级为高级VIP   wei**n_... 升级为标准VIP

 138**72... 升级为至尊VIP wei**n_... 升级为高级VIP 

 153**21... 升级为标准VIP  wei**n_...  升级为高级VIP

wei**n_...  升级为高级VIP ji**yl 升级为高级VIP

 DAN**ZD... 升级为高级VIP  wei**n_... 升级为至尊VIP 

wei**n_...  升级为高级VIP wei**n_...  升级为至尊VIP

186**81... 升级为高级VIP  wei**n_... 升级为高级VIP 

wei**n_...  升级为高级VIP  wei**n_...  升级为至尊VIP

wei**n_...  升级为标准VIP wei**n_... 升级为高级VIP 

升级为至尊VIP  msl**ng 升级为高级VIP

刷** 升级为至尊VIP 186**12...   升级为高级VIP

 186**00... 升级为至尊VIP 182**12...  升级为高级VIP

 185**05...  升级为至尊VIP Za**ry  升级为标准VIP

wei**n_...  升级为高级VIP 183**46...  升级为高级VIP

孙**  升级为标准VIP wei**n_... 升级为至尊VIP

 wei**n_... 升级为高级VIP   wei**n_... 升级为至尊VIP

 微**... 升级为至尊VIP 180**79... 升级为标准VIP 

Nik**us  升级为至尊VIP 138**86... 升级为高级VIP 

wei**n_...  升级为标准VIP   183**37... 升级为高级VIP 

wei**n_...  升级为标准VIP  wei**n_...  升级为标准VIP

 159**85... 升级为至尊VIP 137**52... 升级为高级VIP