区块链服务网络如何适配不同企业的底层框架?

2020 年 7 月 31 日

区块链服务网络如何适配不同企业的底层框架?

随着我国将区块链上升为国家战略和纳入“新基建”,各行各业都在对区块链技术展 开 研究, 国内腾讯、阿里巴巴、百度等大型科技企业 都在研发自己的区块链底层框架、 争相 制定技术标准 。新一轮的区块链竞赛已经开始。


百家争鸣的现状一方面反映了区块链行业的繁荣,另一方面, 技术标准的多元化也使得链上数据互通成为难题。 如同当年互联网早期,现在 每个 DApp 就 像 一个局域网,底层系统异构使得 DApp 之间的链上数据互不相通。


而目前,我们看到区块链服务网络(BSN)作为一个跨云服务、跨门户、跨底层框架的全球性公共基础设施网络,其支持的所有底层框架在密钥算法、SDK、CA 管理和各方面证书等机制都做了统一,可以让运行在不同底层框架上的应用相对比较简单地实现业务数据的互通。


为此,InfoQ 采访了微众银行区块链高级架构师周禄和北京红枣科技 BSN 项目高级研发经理高晨曦,为读者详细介绍了 BSN 底层架构适配方面的标准和适用情况等。


底层框架的选择标准


目前,BSN 已经支持 Hyperledger Fabric、FISCO BCOS。7 月 31 日,BSN 更新了国内版本,完成了 FISCO BCOS 适配商用优化,实现应用服务商用计费计价;完成百度 XuperChain 适配,并推出公测版本;完成 Hyperledger Fabric 国密适配(目前已支持 Golang 链码语言)并推出公测版本,正在进行适配工作的联盟链底层框架有 CITA、梧桐链、Brochain 和 JDChain 等。


国际版本中,目前正在适配 Nervos、NEO、ETH、Tezos、EOS 和 IRISnet 六种公链框架,最新的国际官网将在 8 月 10 日更新。


当前的区块链有公有链和许可链两大分支,BSN 将两者视作区块链技术的延伸,从推动区块链纯技术发展的角度,对其底层框架进行支持。具体落地时,BSN 将根据各国及地区的相关法律规定进行设计和提供服务。


高晨曦表示, BSN 国内选择适配区块链底层框架时有四个标准 。


首先, 要具有联盟链的特点。运行在同一节点上的多个应用链的交易执行和数据账本是 要 安全隔离的 ,而 FISCO BCOS 中的群组具备这样的特性,这与 BSN 的资源共享和业务隔离的概念高度契合,也是 BSN 技术上优先适配 FISCO BCOS 的主要考虑。


其次,是密码算法。BSN 是面向全国和全球的区块链网络平台, 很注重 数据和通信安全,所以底层框架一定是要支持 国密算法,同时也 要 能支持其他主流的密码算法,以适用不同行业、场景、地域的安全要求。


再次,是 可以 对链节点、应用、合约等的创建、部署、扩展、更新、移除以及运行数据的监控等操作实现自动化 。 BSN 是一个具有上百个城市节点的庞大服务网络,自动化的运营 和 运维服务可以提升开发者的应用管理体验 , 并有效降低运营成本。


最后就是生态。一个好的区块链底层框架都有着完整的生态体系, 拥有活跃的社区、大量的开发者与应用基础,完善的文档与 SDK、丰富的培训等才能与 BSN 相互促进、共同发展,打造一个区块链“互联网”。


当然,即使有了标准,底层框架的适配工作也不是一帆风顺的。


高晨曦表示,对于 BSN 来说,统一的身份认证服务是整合各个框架访问链上数据并进行身份认证的基础。但是,各个底层框架都有自己的密钥管理服务,并且每一个框架所使用的的密码算法类型都有所不同,这为整个适配工作增加了难度。


为了适应各个框架的密码算法,提供统一的身份认证服务,BSN 开发了统一的身份认证服务来集合各种不同的算法,适应不同的底层框架。


现在,BSN 在每一个城市节点都有统一的身份认证服务和网关服务,为用户管理不同链的身份和为用户访问链上数据提供身份认证、交易鉴权和交易路由的功能。通过统一的身份认证和交易鉴权,用户可以通过同一个身份访问不同的区块链框架,甚至可以使用同一个密钥证书来访问和使用相同密码算法的不同框架,并进行不同应用权限的业务操作。


另外还有资源的使用统计问题。对于运行在单独容器中的应用链智能合约,BSN 可以方便获取和限制资源的使用情况,但对于运行在进程内的合约,其资源的使用和限制情况不太容易进行精确地统计。


在适配 FISCO BCOS 的过程中,GAS 是一个合约在运行过程中使用资源量的指标。由于 BSN 是以 CPU 和内存为资源运行指标来计费的,为了最精确的统计 GAS 和合约所消耗的资源情况,开发人员进行了大量的测试和数据计算,才得出一个 精确的计算规则。


底层框架平台要做什么?


作为首个加入 BSN 的国产底层技术平台,BSN 在推出的 12 个官方指定区块链应用中,有 4 个使用了 FISCO BCOS 作为底层框架,分别应用在存证、防伪溯源、供应链管理等方面。


据周禄介绍,目前 FISCO BCOS 单链 TPS 已超过 2 万,支持并行多链的平行扩展。平台配套了众多周边组件,如运维部署工具、合约命名服务、数据归档与迁移工具、合约生命周期管理工具等,实现功能上的“开箱即用”。


FISCO BCOS 构建了包括白名单验证、CA 认证、密钥管理等的安全体系,同时完整支持了国家密码局的密码算法体系,采用权限控制、零知识证明、同态加密、群签名、环签名等技术确保联盟链的安全可控和隐私保护。


FISCO BCOS 开源社区开发者超万名。基于底层平台和一系列解决方案,目前生态内企业基于 FISCO BCOS 落地了数百个应用案例,其中已在生产环境内运行的应用超 80 个。


在 BSN 适配 FISCO BCOS 的过程中,为满足 BSN 众多的管理功能和应用接口要求,微众银行引入了自研区块链中间件 WeBASE(WeBank Blockchain Application Software Extension)。WeBASE 是在区块链应用和 FISCO BCOS 节点之间搭建的一套通用组件,围绕交易、合约、密钥管理、数据、可视化管理来设计各个模块,开发者可以根据业务所需,选择子系统进行部署。


除此之外,微众银行也参与到 BSN 底层架构适配标准制定中,和相关方一起推动形成了底层框架适配到 BSN 的统一技术标准。


周禄介绍到,4 月 25 日,FISCO BCOS 完成适配并进入公测期后,很多 FISCO BCOS 的开发者使用 BSN,也有很多已经认证成为 BSN 合作开发者。在 BSN 指定区块链应用招募覆盖的 14 类场景中,均有企业和个人开发者正在 BSN 上基于 FISCO BCOS 开发、部署应用项目。


在供应链管理领域,南京安链数据科技有限公司的“惠运链”项目,为物流无车承运平台、保险、银行等企业提供的物流保险供应链金融解决方案;在防伪溯源领域,浙江天演维真网络科技股份有限公司落地了“基于区块链的农业全过程溯源”;在 建筑领域,深圳市建信筑和科技有限公司的“伊 OS 透明建筑平台”;在 存证领域,杭州亦笔科技有限公司的“区块链电子数据保全系统”、杭州米链科技有限公司的“短视频存证系统”、武汉链动时代科技有限公司的"区块链存证服务系统"等都是具有代表性的应用。


此外,开发者们也会积极反馈,提出一些新的功能需求。周禄表示,微众银行后续将继续把基于 FISCO BCOS 的应用组件发布到 BSN 门户上,方便开发者使用。


“技术应当在多种场景下长时间地运行来检验可靠性,同时,也应当保证技术高频持续迭代,保持开源技术生命力。”周禄说道。


专家介绍(排名不分先后):


周禄,微众银行区块链高级架构师


高晨曦,北京红枣科技 BSN 项目高级研发经理


2020 年 7 月 31 日 17:451962

评论

发布
暂无评论
发现更多内容

我愿沉迷于学习,无法自拔(一)

孙瑜

深度思考 个人成长

南丁格尔科普

Sicolas Flamel

多云的一点思考

HU

怎样算是一个好的开发者?

水滴

开发者

Day 47|Week 07-5 曾国藩家书|问学篇-学问何处何时都可做

熊小北同学

浅析 Cocoapods-Packager 实现

Edmond

ruby ios CocoaPods binary packager

Netty 源码解析(四): Netty 的 ChannelPipeline

猿灯塔

Arthas安装及基本用法

编程随想曲

Java

下一代存储NVMe over Fabrics

HU

神经网络的激活函数为什么要使用非线性函数

王坤祥

神经网络 激活函数

学习来应对创业的未知

Neco.W

创业 重新理解创业

DDD 实践手册(2. 实现分层架构)

Joshua

设计模式 领域驱动设计 DDD 系统架构 分层架构

“我代码写完了,QA可以测了。”

蔡建斌

Scrum 敏捷 质量管理 测试

InfoQ写作平台首秀,来个自我介绍

nuhcoad

个人感想

使用 jsDelivr 免费加速 GitHub Pages 博客的静态资源

mzlogin

CDN Jekyll GitHub Pages 个人博客

如何写作一本书(2):前言与正文

英子编辑

技术 写作

说出来就不灵啦

伯薇

糊涂 活在当下 享受状态 生活状态 观察者

MySQL的死锁系列- 锁的类型以及加锁原理

程序员历小冰

MySQL

死磕Java并发编程(7):读写锁 ReentrantReadWriteLock 源码解析

七哥爱编程

Java并发 读写锁 ReentrantReadWriteLock

你真的理解 Java 的基础数据类型吗

Rayjun

Java

和邓小平、基辛格“谈笑风生”的世界第一女记者:奥琳亚娜·法拉奇

赵新龙

记者 编辑 采访 法拉奇

如何优雅滴在手机上跑Python代码

王坤祥

Python 移动应用 手机编程

经济大萧条对我的启示

Neco.W

创业 自我管理 职场 自我提升

MySQL中order by语句的实现原理以及优化手段

天堂

Java MySQL 性能优化

阿里巴巴Java开发手册泰山版解读

Bruce Duan

Java并发编程系列——锁

孙苏勇

Java Java并发 并发编程 多线程

消息队列Kafka - acks参数

Java收录阁

kafka

从数据闭环谈微服务拆分

松花皮蛋me

微服务架构 微服务拆分 微服务冶理

为什么正在使用的Java版本跟环境变量的版本不一致

阡陌r

Java 踩坑

韦小宝真的幸福吗 | Random Forest

张利东

Python 学习

把成功过成自己的生活

子铭

成功学 生活状态

区块链服务网络如何适配不同企业的底层框架?-InfoQ