作为跨链交互的基础,接口(API)是跨链平台中重要一环。目前各大区块链平台提供了丰富的接口,这些接口是否都要在跨链平台中重新实现?为了实现普适通用的跨链平台,如何确定接口设计基调?为了满足复杂多变的跨链需求,哪些接口是必须的?WeCross的接口实现是怎样的?本文将带你一探究竟。
随着区块链技术的发展,区块链被广泛地运用到各行各业中,为了支撑越来越多样的应用场景与复杂的业务需求,区块链接口也在不断增长、完善。目前,主流区块链平台动辄提供几十个接口。丰富的接口极大方便了开发,不过,对跨链而言,是不是所有区块链接口都需要用上,有待商榷。
以FISCO BCOS的getPbftView为例,该接口用于获取节点所在指定群组内的最新PBFT视图,是面向PBFT共识算法特有的接口,而对于采用其它共识算法的异构区块链平台,这个接口显然不够通用。
跨链聚合器PLEXUS疑似被攻击:4月20日消息,慢雾发布提醒称,跨链聚合器 PLEXUS 合约疑似被攻击。[2023/4/20 14:16:20]
因此,虽然区块链接口众多,如何挑选合适的接口来设计跨链平台,还需结合实际情况具体分析。
跨链平台是联通异构链的桥梁。为了屏蔽区块链的差异性,降低跨链访问复杂度,平台与不同区块链之间的交互需要通用统一的接口,因此,跨链所需的区块链接口一定是不同区块链都有的共性接口。
通过对主流区块链平台的服务接口进行分类整理,大致可分为如下三类:
合约类:这类接口用于实现智能合约部署、智能合约调用等功能,它们是支撑区块链业务的主力接口,被频繁访问。其中合约调用又可以细分为查询类(不发交易)的读接口和更新类(发交易)的写接口,常说的“上链”就是通过这个写接口完成。
Findora公链推出跨链桥“Prism”以增强其DeFi功能:据官方消息,金融隐私公链Findora在成功完全兼容以太坊虚拟机(EVM)后于2月16日宣布推出“Prism”跨链桥。Prism将链接Findora原生链与EVM智能链,允许用户和开发者跨链转移数字资产,以增强其DeFi功能。
据悉,大多数区块链遵循一种保存记录模型:UTXO模型或账户模型。比特币和ZCash等区块链使用UTXO模型。以太坊和波卡等区块链则使用账户模型。而Findora将这两种模型集成到其公链架构中,以充分利用他们的优势。通过将这些平行链由Prism整合起来,Findora可以在两种链之间自由转移通证并协同运转,而无需信任中央中介。Prism 功能目前包含在Findora 官方钱包的最新版本中。[2022/3/7 13:42:08]
事件类:主要用于构建区块链事件响应机制,实现区块链与业务层的触发式联动功能。区块链通过回调或者Log的方式实现事件推送,然后业务层基于监听接口完成事件捕获以进行后续逻辑。
现场 | 蚂蚁区块链发布ODATS跨链产品:金色财经现场报道,9月26日在蚂蚁区块链生态峰会专场召开上,蚂蚁金服集团副总裁、智能科技事业群总裁蒋国飞表示,巨大的上链量背后,我们也看到来自于性能、安全、成本、连接等千万日活背后的技术挑战。对此,区块链自主研发了金融级区块链引擎。并得到了权威机构的认可、国家级安全机构检测。未来将万链互联,跨链将是万链互联的基础。蚂蚁金服区块链平台部技术总监,阿里巴巴达摩院区块链实验室负责人张辉宣布,蚂蚁区块链与Hyperledger共同开发的ODATS产品跨链产品发布。张辉表示,ODATS技术会给用户提供更灵活的区块链网络协作能力。ODATS构建跨链通讯基础设置,承载区块链价值互联网。[2019/9/26]
状态类:主要用于区块链系统管理,例如获取区块头、查询区块高度、查看交易等。这类接口多面向运维系统,通过配合区块链节点日志,能够实现整个区块链系统的实时监控,并对异常情况进行告警。
动态 | IOSG VC和 Fundamental Labs组团向跨链项目Polkadot投资超千万美元:金融科技早期美元基金IOSG Venture与区块链投资基金Fundamental Labs宣布,共同参与了Polkadot 最近一轮融资。此外,除了这两家之外,该投资组团中还有另一家不愿具名的投资机构,三家机构向Polkadot投资超过千万美元,IOSG Venture在该投资组团中领投。此外,Polkadot将在近期推出Collator Parachain Node及Ethereum Bridge公测版。(链闻)[2019/7/1]
对跨链平台而言,要操作跨链资源,合约类接口必不可少;为了监听跨链请求,事件类接口也得有;为了完成跨链交易验证,就得拿到各个链的区块头,因此,状态类接口也需要。
声音 | EOS Cochain联合创始人:EOS应通过跨链技术横向扩展处理性能:据IMEOS消息,日前,EOS Cochain联合创始人周亚松在接受媒体采访时表示,EOS的TPS已经达到4000,可目前单链处理能力依然受限于单线程执行模型的非JIT使能的webAssembly虚拟机。他认为,除了纵向极限压榨单机性能外,还应该通过跨链技术横向扩展单链处理性能。[2018/11/1]
虽然每个分类都有不少接口,但只有各个区块链通用的接口交集才是跨链的接口基础。由此可见,跨链的功能需求是相对确定的,涉及的接口数量也可以收敛。
既然已经确定跨链接口的基调,那么跨链到底需要哪几个接口?首先需要明确一点,跨链平台的接口设计包含两个层面,面向上层业务提供的服务接口,以及面向各类异构区块链平台的交互接口。
大家熟悉的HTTP协议将所有网络访问操作抽象成了GET(获取数据)和POST(提交数据)两种方法。在跨链场景中有跨链资产流通、资源原子兑换、信息获取、数据跨链更新以及关联交易等众多需求,它们本质是获取链上数据或更新链上数据。
因此,在服务接口方面,我们借鉴互联网的成功经验,对跨链行为进行抽象凝练,发现只需要包含以下三个即可:
初始化:跨链资源初始化接口,例如部署智能合约;
读接口:获取链上信息,面向只读场景;
写接口:更新链上数据,面向跨链发交易场景。
跨链访问除了获取和发送数据外,还肩负了跨链可信验证以及跨链事务保证的使命,这依赖于区块头同步、跨链交易验证以及跨链事件监听等功能。通过对交互过程进行抽象凝练,跨链还需要以下三个交互接口:
获取块高:查询当前块高以完成区块头同步;
获取区块:查询区块头等信息完成跨链交易验证;
注册事件:用于监听跨链事件。
有了上层服务和底层交互6个接口,便能打通业务层到区块链之间的信息链路,同时也为跨链应用屏蔽了不同区块链平台在接口访问协议上的差异性,通过统一的数据协议和调用格式完成与多条区块链的交互。
WeCross的接口实现基于上述思路完成。WeCross包括跨链路由(router)和跨链适配器(stub)两个核心组件,其中跨链适配器以插件的方式集成到跨链路由中。
跨链路由向外提供的三个主要服务接口分别是call、sendTransaction和customCommand。其中call和sendTransaction用于合约的调用,customCommand用于其它自定义命令如合约部署,也为平台保留扩展的可能性,以适应不断发展的跨链需求。
跨链适配器定义了6个核心区块链操作接口,包括call、sendTransaction、customCommand、getBlockNumber、getBlock和registerEvent。
其中前三个与服务接口对应,getBlockNumber和getBlock分别用于区块头同步和跨链交易验证,registerEvent用于监听跨链事件。
在开发不同区块链的跨链适配器时,只需要实现上述6个接口便可基于插件化的方式完成异构区块链的接入。
跨链路由管理不同区块链的跨链适配器,当收到来自业务层的调用请求,通过请求包中的调用目标字段确定该请求的最终去向,然后挑选对应的跨链适配器完成请求的转发,最终完成一次跨链调用。
基于上述接口,WeCross目前已实现对基于HTLC的跨链资产原子兑换、基于2PC的跨链事务等功能的支持,并面向数字存证场景完成多种跨链功能验证。
跨链技术尚处探索阶段,从业务实用性考虑,接口协议设计应去繁从简,“小而美”胜过“大而全”。
随着区块链平台发展以及跨链需求的不断演化,跨链接口也会与时俱进,不断改进和完善,迭代式前行。目前,跨链6个接口就能应对!未来,WeCross社区和你一起,见招拆招!
8月26日,北京数字货币研究中心在京成立。为顺应以数字化、网络化、智能化为主要特征的全球科技创新趋势,更好地把握数字货币的理论与实践,追踪和产出数字经济前沿研究成果,服务“新商科”人才培养和北京.
1900/1/1 0:00:00金色财经挖矿数据播报 | ETH今日全网算力上涨1.86%:金色财经报道,据蜘蛛矿池数据显示: BTC全网算力134.844EH/s,挖矿难度18.67T,目前区块高度662424.
1900/1/1 0:00:00今天,我们采访了UMA的联合创始人Allison Lu,她谈到了她和她团队的使命,即通过合成资产代币、去中心化预言机和无价的金融合约为所有人带来市场准入.
1900/1/1 0:00:00加密货币基金管理公司灰度投资的一份新报告认为,目前的比特币市场结构“与2016年初开始历史性牛市之前的结构相似.
1900/1/1 0:00:008月24日下午,人民网舆情数据中心/人民在线与杭州趣链科技有限公司签署战略合作协议,并宣布人民链全域数据治理共享与应用平台上线.
1900/1/1 0:00:00金色财经 区块链8月24日讯 国际清算银行分析师表示,随着2020年新冠病疫情大爆发,可能会推动全球中央银行发行央行数字货币,而且这股势头已经开始“起飞”了.
1900/1/1 0:00:00