BTCV光复资讯 > 数字货币 > 在整个链中为六个核心接口投票就足够了

在整个链中为六个核心接口投票就足够了

来源:btcv-光复资讯  |   作者:btcv-光复资讯  |   时间:2020-09-06 07:24  |   点击量:

界面作为跨链交互的基础,是跨链平台的重要组成部分。目前,各种区块链平台提供了丰富的界面。这些接口应该在跨链平台中重新实现吗?为了实现通用的跨链平台,如何确定界面设计的基调?哪些接口是满足复杂多变的跨链需求所必需的?WeCross的接口实现是什么?这篇文章将带你去发现。

区块链接口众多,跨链是否“我都要”

随着区块链技术的发展,区块链被广泛应用于各行各业。为了支持越来越多的应用场景和复杂的业务需求,区块链链接正在增长和改进。目前,主流区块链平台通常提供数十种接口。丰富的界面极大地促进了开发。然而,对于跨链,是否需要使用所有的块链接是有疑问的。

以FISCO BCOS的getPbftView为例,该接口用于获取节点所在的指定组中最新的PBFT视图,是PBFT一致性算法的独特接口,但对于采用其他一致性算法的异构区块链平台来说,显然不够通用。

因此,虽然模块中有很多环节,但如何选择合适的接口来设计交叉链接平台需要根据实际情况进行详细分析。

明确核心诉求,跨链可以“我只要”

跨链平台是连接异构链的桥梁。为了屏蔽区块链的差异,降低跨链访问的复杂性,平台与不同区块链之间的交互需要一个共同的接口。因此,跨链所需的区块链接口必须是不同区块链的公共接口。

通过对主流区块链平台的服务接口进行分类,大致可以分为以下三类:

合约类:等接口用于实现智能合同部署、智能合同调用等功能。它们是支持区块链业务的主要接口,经常被访问。其中,合同调用可以细分为查询类的读接口(无事务)和更新类的写接口(事务),这通常称为“收尾”。

事件类:主要用于构建区块链事件响应机制,实现区块链与业务层的触发联动功能。块链通过回调或日志实现事件推送,然后业务层根据后续逻辑的监听接口完成事件捕获。

状态类:主要用于区块链系统管理,例如获取块标题、查询块高度和查看事务。这种接口主要面向操作和维护系统。通过与区块链节点日志的配合,可以实现对整个区块链系统的实时监控和异常情况的报警。

对于跨链平台,需要契约接口来操作跨链资源;为了监控跨链请求,事件类接口还必须具有;为了完成跨链事务验证,需要获取每个链的块头,因此状态类接口也需要它。

虽然每个分类中有许多接口,但是只有每个区块链共有的接口交集才是跨链的接口基础。可以看出,跨链的功能需求是相对确定的,并且涉及的接口数量也可以收敛。

抽象凝练,跨链6个接口就够了

既然交联界面的基调已经确定,交联需要哪些界面?首先需要明确一点,跨链平台的接口设计包含两个层面,面向上层业务提供的服务接口,以及面向各类异构区块链平台的交互接口.

熟悉的超文本传输协议将所有网络访问操作抽象为两种方法:获取数据和提交数据。在跨链场景中,有许多需求,例如跨链资产循环、资源原子交换、信息获取、数据跨链更新和相关事务。它们的本质是获取或更新链上的数据。

因此,在服务接口方面,我们借鉴了互联网的成功经验,抽象而简洁的跨链行为,并发现只有以下三个可以包含:

初始化:跨链资源初始化界面,如部署智能合同;

读接口:获得了链条上的信息,面对只读场景;

面对跨链交易场景,写接口:更新了链中的数据。

除了获取和发送数据之外,跨链访问还肩负着跨链可信验证和跨链事务保证的使命,这依赖于块头同步、跨链事务验证和跨链事件监控的功能。通过抽象和浓缩交互过程,跨链还需要以下三个交互界面:

获取块高:查询当前块高度以完成块标题同步;

获取区块:查询该块的一级信息,完成跨链交易验证;

注册事件:被用来监控跨链事件。

有了上层服务和底层交互六个接口,可以打开业务层和区块链之间的信息链接,同时屏蔽不同区块链平台接口访问协议的差异,实现跨链应用,通过统一的数据协议和调用格式完成与多个区块链的交互。

设计落地,WeCross带你一探究竟

WeCross接口的实现就是基于上述思想。WeCross包括两个核心组件,即交叉链接路由器和交叉链接适配器,其中交叉链接适配器作为插件集成到交叉链接路由器中。

交叉链接提供的三个主要服务接口是调用、发送事务和自定义命令。其中,调用和发送事务用于调用合同,自定义命令用于其他自定义命令,如合同部署,这也为平台保留了扩展的可能性,以适应不断发展的跨链需求。

跨链适配器定义了6个核心区块链操作接口,包括call、sendTransaction、customCommand、getBlockNumber、getBlock和registerEvent.

前三个对应于服务接口,getBlockNumber和getBlock分别用于块头同步和跨链事务验证,registerEvent用于监控跨链事件。

在为不同的区块链开发跨链适配器时,异构区块链的访问只能通过实现上述六个接口基于插件来完成。

交叉链接由管理不同区块链的交叉链接适配器组成。当接收到来自业务层的呼叫请求时,通过请求包中的呼叫目标字段确定请求的最终目的地,然后选择相应的交叉链路适配器完成请求转发,最后完成交叉链路呼叫。

基于上述接口,WeCross支持基于HTLC的跨链资产原子交换和基于2PC的跨链交易,并完成了多种数字存款场景的跨链功能验证。

跨链技术仍处于探索阶段。考虑到业务实用性,接口协议设计应该简化,“小而美”比“大而全”更好。

随着区块链平台的发展和跨链需求的不断演进,跨链港口将与时俱进,不断改进和完善,不断向前发展。目前,整个链中有六个接口可以处理它!将来,我们的社区会加入你,看看你能做些什么!

btcv矿机
在整个链中为六个核心接口投票就足够了
网站分类
友情链接
    热门文章
    标签云
    btcv矿机