漫谈WeBASE之交易两三事

作者:刘明臻|FISCO BCOS 核心开发者

2019年7月2日,区块链中间件平台WeBASE正式对外开源,大家首先会想到的就是:WeBASE是什么,有什么用?WeBASE是WeBank Blockchain Application Software Extension的简写,是在区块链应用和FISCO BCOS节点之间搭建的一套通用组件。开发这套通用组件的目的是为了屏蔽区块链底层的复杂度,降低开发者的门槛,提高区块链应用的开发效率。WeBASE主要包含:节点前置、节点管理、交易链路,数据导出,Web管理平台等子系统。其完整部署架构如下图:

详细了解WeBASE请点击前往:《FISCO BCOS迎来区块链中间件平台WeBASE,应用落地提速》。我们计划推送WeBASE系列文章,与你一道体验WeBASE的“简约而不简单”。本文是系列文章第一篇《漫谈WeBASE之交易两三事》,打算谈谈WeBASE在交易相关方面做的一些工作。

交易的概念、基本数据结构及过程

交易可认为是一段发往区块链系统的请求数据,用于部署合约,调用合约接口,以求达到维护合约的生命周期,管理资产,进行价值交换等目标。交易的基本数据结构包括发送者,接受者,交易数据等。

一个完整的交易过程可分为交易构建并链上执行、交易展示、交易审计三步:

大家对交易有了初步的了解,接下来我们就从交易的三步曲中,详细探讨WeBASE在其中充当的角色和发挥的作用。

交易上链

通过WeBASE有多种发送交易上链的方式,比较常见的有WeBASE管理平台和交易上链代理子系统等两种,前者由WeBAS管理平台提供一个合约IDE,可以部署和调用合约接口,这里就不赘述了。今天我们重点介绍下交易上链代理子系统(WeBASE-Transaction

目前,区块链开发者主要面临以下几个痛点:

为了解决这些痛点,WeBASE-Transaction应运而生。WeBASE-Transaction是从很多区块链存证类型项目中总结出来的一套服务系统,以帮助大家快速搭建区块链应用,其功能主要是接收无状态交易请求,缓存到数据库中,再异步上链,服务支持分布式任务,多活部署,异地容灾。部署架构如下图:

从部署结构图可以看到,WeBASE-Transaction具有以下几大特性:

交易展示

交易上链代表着终于把数据写入区块链了。兴冲冲地跑去给老板汇报:我们数据上链啦!老板听了既高兴,也很好奇。区块链这么高深,写入区块链的数据如何展示出来?区块链交易长啥样?

此时你可以搭建一套WeBASE管理平台。搭建方法可以查看《安装部署文档》。使用方法可以查看《WeBASE管理平台使用手册》。搭建完成后,打开WeBASE管理平台,你会发现交易是这样的:发送者、接受者、交易输入数据等。交易执行后,会产生交易回执。交易回执里面有event,记录了交易执行过程中的事件日志。

老板看后第一感觉,肯定是五味杂陈。此时你轻点“解码”按钮,把交易从一串“0x的天书”翻译成人类能读懂的模样。哪个用户通过哪个合约方法上链的,一目了然。老板看后必投来赞许的目光。此时你想必会有一种普天之下,舍我其谁的感觉。

交易审计

交易上链了,也展示了,但这还不够。联盟链中各个机构,按照联盟链委员会制定的规章,在链上共享和流转数据。这些规章往往是字面的,大家是否遵守,缺乏监管和审计。因此为了规范大家的使用方式,避免链的计算资源和存储资源被某些机构滥用,急需一套服务来辅助监管和审计链上的行为。WeBASE管理平台提供的交易审计,就是一套辅助监管和审计链上行为的服务。它结合区块链数据、WeBASE管理平台的私钥管理和合约管理三者的数据,以区块链数据为原材料,以私钥管理和合约管理为依据,做成的一个综合性的数据分析功能。

交易审计主要指标:

用户交易数量统计 监控链上各个外部交易账号的每日交易量
用户子类交易数量统计 监控链上各个外部交易账号的每种类型的每日交易量
异常交易用户监控 监控链上出现的异常交易用户(没在区块链中间件平台登记的交易用户)
异常合约部署监控 监控链上合约部署情况,非白名单合约(没在区块链中间件平台登记的合约)

交易审计界面如下

WeBASE管理平台提供可视化的去中心化合约部署、交易监控、审计功能,方便识别异常的用户、异常的合约,还有异常的交易量,为联盟链治理提供依据。

回归初心

到这里,我们可以看到一条交易,从组装发到区块链节点,然后节点执行落盘成交易回执,交易和state,再到交易展示,交易事后审计和监管。WeBASE参与了其中的组装上链、交易展示、交易审计,基本上可以说WeBASE参与了交易的全过程。

在组装上链过程中提供了交易上链代理子系统,其有效屏蔽了区块链底层的复杂度,降低了开发者的门槛,助力开发者高速搭建联盟链应用。在交易展示过程中,WeBASE搭建了可视化的管理平台,对交易进行了立体化展示,方便开发者实时监控和查看交易数据。在交易事后审计和监管过程中,还提供了综合的数据分析功能,辅助监管和审计链上的行为,高效治理联盟链。


链接指引