摘要:政务区块链平台是行业区块链平台的初步实践,未来在区块链技术的发展下,还会打造面向其他领域的链管平台,构建多方协同的分布式账本,让区块链应用更便捷高效的为产业服务。

本文分享自华为云社区《技术解析+代码实战,带你入门华为云政务区块链平台》,作者:敏捷的小智。

1、行业区块链平台诞生背景

互联网时代下,区块链作为一种分布式的公开账本,具有去中心化、开放匿名、不可伪造篡改等特点,凭借其独特的信任机制和信息传递技术,在金融、医疗、教育等各个领域都有着广泛的应用,推动着科技领域的变革。

传统BaaS(Blockchain as a Service)平台将区块链集成为云服务提供给客户,想比于PaaS平台而言,充分利用了云计算的弹性、稳定性和灵活性;而行业区块链平台又是在BaaS平台之上的区块链中台应用,在业界标准不统一、架构参差不齐的大背景下,充分屏蔽了底层链在模型和部署流程上的差异,进一步节省了用户部署业务和应用的成本,实现了跨云服务的一站式异构链管理。即便是技术薄弱的用户也可通过此平台实现快速统一的规划建站,满足各类业务需求,解决了区块链技术人才短缺、运维人力成本高的难题。

2、政务区块链平台介绍

政务领域的用户具有主体多、环节复杂、信息量大等特点,传统数据共享模式下,业务办理效率和数据共享能力较低,不仅需要大量的人工审批,文件、库表在复制传递的过程中还可能引发数据不一致,信息泄露,时效性较弱,且不易管理。自2016年起,国家鼓励探索“政务上链”,利用区块链的数据共享模式实现政务数据跨部门、跨区域的共同维护和利用,推动政务数字化改革,实现智能化的社会治理。

政务区块链平台UGBaaS(Unified Governmental BaaS)是针对政务行业开发的新型链管平台,一个集中式的运营运维系统,允许用户平滑接入名下的各类区块链,实现统一的管理监控。它极大的简化了业务流程,包含身份认证管理、业务管理、凭证转换服务、数据采集和展现服务、合约仓库和应用仓库、内部api网关等功能模块,使得管理员可以轻松地治理底层资源,管理租户配额,一键部署联盟和智能合约,并监控底层链和节点。底层自然支持Hyperledger Fabric区块链,亦可纳管Ethereum、Quorum等异构链。

3、主要功能模块

管理员视角:

租户视角:

4、平台主要技术:

• 组件多活与多region容灾:

政务区块链平台部署在一个多节点高可用集群上,每个容器都有相同处理业务的能力,部分节点故障时服务仍能继续使用,达到一定的容灾性。平台内部需要存储大量数据,因此在部署时同期部署了分布式的数据库,均匀的部署在集群的每个节点上。数据库内部采用高一致性算法,并维护多个历史版本数据,在检测到当前监听的数据库节点健康状态异常后会自动建立新的客户端连接,切换连接源,保证数据的强一致性和高可用性。

• 双重缓存层与请求消息队列:

政务区块链平台组件对外开放一套标准政务接口,部署时会签发一套tls证书并提供下载方式,用户可以通过该证书连接到组件上,通过调用开放API运行相应功能。由于涉及大量接口调用,组件入口处设置了双重缓存层,保证不必要的底层接口调用,加强接口性能。当用户请求到达组件时,消息处理的流量控制器会拒绝容量外的请求,容量内的请求会按到达顺序依次下发,并在消费请求后以一定的qps继续填充队列,保证组件的稳定。

• 流程引擎与任务树:

平台内部需维护联盟、业务链、组织和底层BaaS平台相应的实体关系,通过映射的方式屏蔽了异构链模型上的差异(如子链、通道的区别,联盟、网络的概念,组织、节点等最小粒度),通过抽象任务模板对象封装每个业务操作对应的具体步骤,自动化的并行或串行执行区块链创建、邀请、通知、审批等任务。处理器在任务调度的时候根据反射自动匹配不同的任务类型,并通过分析嵌套深度解析任务下的子任务,生成多个并行任务流。自动化的流程引擎可以处理用户下发的特定任务、执行定时任务(如监控、日志、审计、告警、清理等)。任务执行需具备原子性,一旦任务失败会自动回滚该任务中已经执行的部分。任务下发后,用户可通过任务进度查询接口获取当前业务操作的处理进度,一旦任务失败会展示详细的执行记录和处理建议。树状的任务结构能够保证同级任务并发执行,任务的处理可以使用颜色标记法进行标记,每次执行允许一定的容错并设置超时时间,父节点在检测到全部子节点为某个非进行中状态时便会更新,由底向上,直至根节点状态变更完成。

• 异构区块链平台统一接入:

异构链统一接入主要有鉴权方式、模型差异、建链审批流程差异等难点。对于无管理面的自有区块链,政务区块链平台制订了一套统一接入接口,希望被平台纳管的区块链只需实现这套接口便可注册后接入;对于已有管理面并开放接口的区块链平台,政务区块链平台提供接口映射的注册方式,厂商可以通过注入模板自动将一个或多个自有接口映射到政务区块链平台的统一接口上,新链接入后平台会自动执行接入校验流程,通过默认的内置租户进行调测,检查新平台接口的连通性,并通过服务器健康状态的接口定期巡检平台的可用性。对于注册全部变更接口的接入方式,平台全生命周期的维护该平台下的所有区块链网络;也提供只注册管理类接口的纳管模式,使用户对接已部署的区块链。同时,未来还将考虑以跨链方式实现异构链的互联互通。

5、UGBaaS客户端sample代码:

从行业区块链平台新建实例处点击下载证书压缩包,ugbaascert/tls路径下包含client.crt client.key两个文件,示例代码如下

图1 证书导入代码

导入证书后,默认连接端口32623,url设置成政务接口文档中的接口,调用获取已注册组织列表接口并解析返回至结构体。

图2 获取已注册组织列表接口代码

使用政务区块链平台前均需调用组织注册接口/v1/ugbaas/orgs,注册组织和底层租户的对应关系(域信息、项目信息及aksk等,从IAM处获取),然后即可进行创建联盟、业务链、部署智能合约等操作。变更类操作均会返回操作ID,根据操作ID调用查询流程处理进度接口获取当前任务的进行状态。

结语:

区块链技术在数据共享、数据安全、隐私保护、确权确责等方面的技术优势,使其在政府、金融、供应链、交通等各个领域展现出广阔的应用前景。政务区块链平台是行业区块链平台的初步实践,未来在区块链技术的发展下,还会打造面向其他领域的链管平台,构建多方协同的分布式账本,让区块链应用更便捷高效的为产业服务。

点击关注,第一时间了解华为云新鲜技术~

技术解析+代码实战,带你入门华为云政务区块链平台相关推荐

  1. 【问链财经-区块链基础知识系列】 第二十二课 贸易金融区块链平台的技术机理与现实意义

    简介:贸易金融区块链平台的技术机理.模式.优势与现实意义都有哪些?对湾区贸易金融区块链平台的未来建设有何展望?本文将进行详述. 小微企业贡献了我国60%以上的GDP.50%以上的税收以及80%的城镇就 ...

  2. 《TensorFlow技术解析与实战》——导读

    前言 2017年2月,TensorFlow的首届开发者峰会(2017 TensorFlow Dev Summit)在美国的加利福尼亚州举行.在会上,谷歌公司宣布正式发布TensorFlow 1.0版本 ...

  3. 重磅发布 | 承载亿级流量的开发框架,闲鱼Flutter技术解析与实战大公开

    简介: 闲鱼是国内最早接触使用 Flutter 的团队,经过多次研讨验证并大规模上线,在App性能.稳定性.开发效率上收益甚多.现在,闲鱼将这个过程中的一手实践知识和技术沉淀,整理成册 --<F ...

  4. 《TensorFlow技术解析与实战》——第3章 可视化TensorFlow 3.1PlayGround

    本节书摘来自异步社区<TensorFlow技术解析与实战>一书中的第3章,第3.1节,作者李嘉璇,更多章节内容可以访问云栖社区"异步社区"公众号查看 第3章 可视化Te ...

  5. 《TensorFlow技术解析与实战》——第3章 可视化TensorFlow

    本节书摘来异步社区<TensorFlow技术解析与实战>一书中的第3章,作者:李嘉璇,更多章节内容可以访问云栖社区"异步社区"公众号查看. 第3章 可视化TensorF ...

  6. 《TensorFlow技术解析与实战》——1.2 什么是深度学习

    本节书摘来异步社区<TensorFlow技术解析与实战>一书中的第1章,第1.2节,作者:李嘉璇,更多章节内容可以访问云栖社区"异步社区"公众号查看. 1.2 什么是深 ...

  7. 《TensorFlow技术解析与实战》——3.1 PlayGround

    本节书摘来异步社区<TensorFlow技术解析与实战>一书中的第3章,第3.1节,作者:李嘉璇,更多章节内容可以访问云栖社区"异步社区"公众号查看. 3.1 Play ...

  8. 一文带你了解华为云DevCloud为何能全面领跑中国DevOps云服务市场

    近日,国际权威调研机构IDC发布了<IDC MarketScape:中国DevOps云服务市场2019厂商评估>报告,该报告从战略和能力两个维度对国内主流DevOps云厂商进行了评估,报告 ...

  9. 蚂蚁区块链平台BaaS技术解析与实践

    摘要: 以"数字金融新原力(The New Force of Digital Finance)"为主题,蚂蚁金服ATEC城市峰会于2019年1月4日在上海如期举办.在ATEC区块链 ...

最新文章

  1. vue从入门到进阶:Vuex状态管理(十)
  2. Oracle 数据库表空间不足拓展方法实例演示,表空间剩余大小查看,通过新增表空间文件拓展表空间,表空间文件路径查看
  3. 音视频技术开发周刊 56期
  4. 安装ipython时python setup.py egg_info错误的解决办法
  5. Angular单元测试框架里API toHaveBeenCalledTimes的工作原理
  6. 70后存款100万,有房有车无贷款,每月租金1.5万,可以退休吗?
  7. mysql linux 中文乱码怎么解决_如何解决mysql linux 中文乱码的问题
  8. Html设置div重置样式,CSS 重置样式
  9. 一份工作一年半的java开发个人简历,欢迎拍砖
  10. 迅捷pdf虚拟打印机怎么安装打印
  11. 有效的数独 python_LeetCode 36. 有效的数独 | Python
  12. 继微信dat之后的PC端微信解密后数据库数据抽取
  13. 整理农行面试软开最常问到的题---------框架
  14. 【Spring学习03】Spring简单入门实例
  15. smb协议讲解_SMB/CIFS协议解析(一)
  16. FreeSwitch双轨录音
  17. 计算机无法读取智能卡,电脑智能卡读卡器驱动程序丢失怎么办?如何重新安装智能卡服务?...
  18. 用Matlab实现人脸 68 landmarks详细教程
  19. android 热更新 方案,与Android热更新方案Amigo的初次接触
  20. 使用OBS录屏有很大的电流回声

热门文章

  1. 街头霸王背景_街头霸王与摇滚明星:开放式领导的艺术
  2. 离线 ocr 开源_在线和离线开始使用开源
  3. (8)css常用样式属性3
  4. VSCode自定义代码片段7——CSS动画
  5. Bootstrap3 表单静态控件
  6. CSS3 变换/变形(transform)
  7. mysql 多行 连续_mysql多表连续查询的问题
  8. devc++不兼容_Mac压缩文件Win不支持?BetterZip帮你解决!
  9. python远程执行linux命令256_python远程操作Linux——使用paramiko库
  10. html 苹果桌面浮窗,苹果手机钉钉悬浮窗设置打开的方法