FISCO BCOS 区块链

FISCO BCOS是由国内企业主导研发、对外开源、安全可控的企业级金融联盟链底层平台,由金链盟开源工作组协作打造,并于2017年正式对外开源。深圳市金融区块链发展促进会,英文名称为Financial Services Blockchain Consortium (Shenzhen)(缩写为FISCO)

社区以开源链接多方,截至2022年末,FISCO BCOS已支撑300余个产业数字化标杆应用,开源生态圈汇聚超4000家机构 、超90000名个人成员,以及38家认证合作企业、400余名核心贡献者。底层平台可用性经广泛应用实践检验,数百个应用项目基于FISCO BCOS底层平台研发,超300个已在生产环境中稳定运行,覆盖文化版权、司法服务、政务服务、物联网、金融、智慧社区等领域,共同推动最大最活跃国产开源联盟链生态圈的形成。

FISCO BCOS以联盟链的实际需求为出发点,兼顾性能、安全、可运维性、易用性、可扩展性,支持多种SDK,并提供了可视化的中间件工具,大幅缩短建链、开发、部署应用的时间。此外,FISCO BCOS通过信通院可信区块链评测功能、性能两项评测,单链TPS可达两万。

关键特性

整体架构
架构模型一体两翼多引擎
群组架构支持链内动态扩展多群组
分布式存储支持海量数据存储
并行计算支持块内交易并行执行
节点类型共识节点、观察节点
计算模型排序-执行-验证
系统性能
峰值TPS2万+ TPS(PBFT)
交易确认时延秒级
硬件推荐配置
CPU2.4GHz * 8核
内存8GB
存储4TB
网络带宽10Mb
账本模型
数据结构链式结构,区块通过哈希链相连
是否分叉不分叉
记账类型账户模型(非UTXO)
共识算法
共识框架可插拔设计
共识算法PBFT、Raft、rPBFT
存储引擎
存储设计支持KV和SQL
引擎类型支持leveldb、rocksdb、mysql
CRUD接口提供CRUD接口访问链上数据
网络协议
节点间通信P2P协议
客户端与节点通信JsonRPC,Channel协议
消息订阅服务AMOP协议
智能合约
合约引擎支持Solidity和预编译合约
引擎特点图灵完备,沙盒运行
版本控制基于CNS支持多版本合约
灰度升级支持多版本合约共存、灰度升级
生命周期管理支持合约和账户的冻结、解冻
密码算法和协议
国密算法支持
国密SSL支持
哈希算法Keccak256、SM3
对称加密算法AES、SM4
非对称加密算法ECDSA、SM2
非对称加密椭圆曲线secp256k1、sm2p256v1
安全控制
存储安全支持落盘数据加密存储
通信安全支持全流程SSL
准入安全基于PKI身份认证体系
证书管理支持证书颁发、撤销、更新
权限控制支持细粒度权限控制
隐私保护
物理隔离群组间数据隔离
隐私保护协议支持群签名、环签名、同态加密
场景化隐私保护机制基于WeDPR支持隐匿支付、匿名投票、匿名竞拍、选择性披露等场景
跨链协议
SPV提供获取SPV证明的接口
跨链协议基于WeCross支持同构、异构跨链
开发支持
合约开发工具WeBASE-IDEChainIDE
开发建链工具提供一键搭链脚本工具
合约部署与测试工具交互式控制台 基于Java SDK的控制台
SDK语言Javanodejsgopython
快速开发组件提供Spring-boot-starter
压测工具SDK内嵌压测工具,支持Caliper
运维支持
运维建链工具提供企业级联盟链部署工具
可视化数据展现区块链浏览器
可视化节点管理基于WeBASE,提供节点管理器
动态管理节点支持动态新增、剔除、变更节点
动态更改配置支持动态变更系统配置
数据备份与恢复提供数据导出与恢复服务组件
监控统计输出统计日志,提供监控工具
监管审计基于WeBASE,提供监管审计入口

架构

FISCO BCOS 在2.0中,创新性提出“一体两翼多引擎”架构,实现系统吞吐能力的横向扩展,大幅提升性能,在安全性、可运维性、易用性、可扩展性上,均具备行业领先优势。

一体指代群组架构支持快速组建联盟和建链,让企业建链像建聊天群一样便利。根据业务场景和业务关系,企业可选择不同群组,形成多个不同账本的数据共享和共识,从而快速丰富业务场景、扩大业务规模,且大幅简化链的部署和运维成本。

两翼指的是支持并行计算模型和分布式存储,二者为群组架构带来更好的扩展性。前者改变了区块中按交易顺序串行执行的做法,基于DAG(有向无环图)并行执行交易,大幅提升性能;后者支持企业(节点)将数据存储在远端分布式系统中,克服了本地化数据存储的诸多限制。

多引擎是一系列功能特性的总括,比如预编译合约能够突破EVM的性能瓶颈,实现高性能合约;控制台可以让用户快速掌握区块链使用技巧等。

上述功能特性均聚焦解决技术和体验的痛点,为开发、运维、治理和监管提供更多的工具支持,让系统处理更快、容量更高,使应用运行环境更安全、更稳定。

核心模块

FISCO BCOS采用高通量可扩展的多群组架构,可以动态管理多链、多群组,满足多业务场景的扩展需求和隔离需求,核心模块包括:

  • 共识机制:可插拔的共识机制,支持PBFT、Raft和rPBFT共识算法,交易确认时延低、吞吐量高,并具有最终一致性。其中PBFT和rPBFT可解决拜占庭问题,安全性更高。

  • 存储世界状态的存储从原来的MPT存储结构转为分布式存储,避免了世界状态急剧膨胀导致性能下降的问题;引入可插拔的存储引擎,支持LevelDB、RocksDB、MySQL等多种后端存储,支持数据简便快速扩容的同时,将计算与数据隔离,降低了节点故障对节点数据的影响。

  • 网络:支持网络压缩功能,并基于负载均衡的思想实现了良好的分布式网络分发机制,最大化降低带宽开销。

性能

为提升系统性能,FISCO BCOS从提升交易执行效率和并发两个方面优化了交易执行,使得交易处理性能达到万级以上。

  • 基于C++的Precompiled合约:区块链底层内置C++语言编写的Precompiled合约,执行效率更高。

  • 交易并行执行:基于DAG算法根据交易间互斥关系构建区块内交易执行流,最大化并行执行区块内的交易。

  • 交易生命周期的异步并行处理:共识、同步、落盘等各个环节的异步化以及并行处理。

安全性

考虑到联盟链的高安全性需求,除了节点之间、节点与客户端之间通信采用TLS安全协议外,FISCO BCOS还实现了一整套安全解决方案:

  • 网络准入机制:限制节点加入、退出联盟链,可将指定群组的作恶节点从群组中删除,保障了系统安全性。

  • 黑白名单机制:每个群组仅可接收相应群组的消息,保证群组间网络通信的隔离性;CA黑名单机制可及时与作恶节点断开网络连接,保障了系统安全。

  • 权限管理机制:基于分布式存储权限控制机制,灵活、细粒度地控制外部账户部署合约和创建、插入、删除和更新用户表的权限。

  • 支持国密算法:支持国密加密、签名算法和国密通信协议。

  • 落盘加密方案:支持加密节点落盘数据,保障链上数据的机密性。

  • 密钥管理方案:在落盘加密方案的基础上,采用KeyManager服务管理节点密钥,安全性更强。

  • 同态加密群环签名:链上提供了同态加密、群环签名接口,用于满足更多的业务需求。

可运维性

联盟链系统中,区块链的运维至关重要,FISCO BCOS提供了一整套运维部署工具,并引入了合约命名服务数据归档和迁移合约生命周期管理等工具来提升运维效率。

  • 运维部署工具: 部署、管理和监控多机构多群组联盟链的便捷工具,支持扩容节点、扩容新群组等多种操作。

  • 合约命名服务: 建立合约地址到合约名和合约版本的映射关系,方便调用者通过记忆简单的合约名来实现对链上合约的调用。

  • 数据归档、迁移和导出功能: 提供数据导出组件,支持链上数据归档、迁移和导出,增加了链上数据的可维护性,降低了运维复杂度。

  • 合约生命周期管理: 链上提供合约生命周期管理功能,便于链管理员对链上合约进行管理。

易用性

FISCO BCOS引入开发部署工具、交互式控制台、区块链浏览器等工具来提升系统的易用性,大幅缩短建链、部署应用的时间。

为了便于不同语言开发者快速开发应用,FISCO BCOS同时支持Java SDKNode.js SDKPython SDKGo SDK

社区开发工具

依托庞大的开源生态,社区内众伙伴秉承“来自开发者,用于开发者”的共建理念,在FISCO BCOS底层平台之上,自主研发多个趁手开发工具并回馈给社区,从不同业务层面需求上降低区块链应用开发难度和成本。以下作部分列举,欢迎更多机构或开发者向社区反馈更多好用的工具。

  • 区块链中间件平台WeBASE:面向多种对象,如开发者、运营者,并根据不同的场景,包括开发、调试、部署、审计等,打造丰富的功能组件和实用工具,提供友好的、可视化的操作环境。

  • 分布式身份解决方案WeIdentity:基于区块链的分布式多中心的技术解决方案,提供分布式实体身份标识及管理、可信数据交换协议等一系列的基础层与应用接口,可实现实体对象(人或物)数据的安全授权与交换。

  • 分布式事件驱动架构WeEvent:实现了可信、可靠、高效的跨机构、跨平台事件通知机制。在不改变已有商业系统的开发语言、接入协议的情况下,实现跨机构、跨平台的事件通知与处理。

  • 跨链协作方案WeCross:支持跨链事务交易,满足跨链交易的原子性,对跨链进行治理,可支持多方协作管理,避免单点风险。

  • 场景式隐私保护解决方案WeDPR:针对隐匿支付、匿名投票、匿名竞拍和选择性披露等应用方案,提供即时可用场景式隐私保护高效解决方案,助力各行业合法合规地探索数据相关业务。

  • 区块链数据治理组件解决方案:稳定、高效、安全的区块链数据治理组件解决方案,分别从底层数据存储层、智能合约数据解析层和应用层三个方面,提供了区块链数据挖掘、裁剪、扩容、可信存储、抽取、分析、审计、对账、监管等数据治理方面的关键能力。

  • 区块链多方协作治理组件解决方案:可无缝适配FISCO BCOS的区块链治理组件解决方案。首批开源的四个组件分别从私钥丢失重置、合约权限细粒度管控、私钥和证书的全生命周期管控等方面着手,提供了可部署的智能合约代码、易于使用的SDK和可参考的落地实践Demo等交付物。

  • 区块链应用开发组件解决方案:一套开放、轻量的开发组件集,覆盖智能合约的开发、调试、应用开发等环节,包含了Solidity智能合约开发工具库、 智能合约Gradle编译插件、应用开发脚手架。

  • ChainIDE:提供智能合约云端开发工具,帮助开发者节约边际成本,加速推送区块链应用落地。

  • FISCO BCOS区块链工具箱:与WeBase/Remix/VSCode/ChainIDE等IDE协同工作,提升开发体验与开发效率。

  • Ansible for FISCO BCOS 自动化生成企业级部署文件:本项目由为区块链开源项目 FISCO-BCOS 提供了自动化生成企业级配置文件的 ansible playbook。2 群组 3 机构 6 节点的环境,可以在 30 秒内(除下载时间)生成配置,极大简化了部署难度,避免了手工配置容易发生的错误。

FISCO BCOS 2.x 新特性

群组架构

群组架构是FISCO BCOS 2.0众多新特性中的主线,创造灵感来源于人人都熟悉的群聊模式——群的建立非常灵活,几个人就可以快速拉个主题群进行交流。同一个人可以参与到自己感兴趣的多个群里,并行地收发信息。现有的群也可以继续增加成员。

采用群组架构的网络中,根据业务场景的不同,可存在多个不同的账本,区块链节点可以根据业务关系选择群组加入,参与到对应账本的数据共享和共识过程中。该架构的特点是:

  • 各群组独立执行共识流程,由群组内参与者决定如何进行共识,一个群组内的共识不受其他群组影响,各群组拥有独立的账本,维护自己的交易事务和数据,使得各群组之间解除耦合独立运作,可以达成更好的隐私隔离;

  • 机构的节点只需部署一次,通过群组设置即可参与到不同的多方协作业务中,或将一个业务按用户、时间等维度分到各群组,群组架构可快速地平行扩展,在扩大了业务规模同时,极大简化了运维复杂度,降低管理成本。

更多的群组介绍,请参考 群组架构设计文档 和 群组使用教程

分布式存储

FISCO BCOS 2.0新增了对分布式数据存储的支持,节点可将数据存储在远端分布式系统中,克服了本地化数据存储的诸多限制。该方案有以下优点:

  • 支持多种存储引擎,选用高可用的分布式存储系统,可以支持数据简便快速地扩容;

  • 将计算和数据隔离,节点故障不会导致数据异常;

  • 数据在远端存储,数据可以在更安全的隔离区存储,这在很多场景中非常有意义;

  • 分布式存储不仅支持Key-Value形式,还支持SQL方式,使得业务开发更为简便;

  • 世界状态的存储从原来的MPT存储结构转为分布式存储,避免了世界状态急剧膨胀导致性能下降的问题;

  • 优化了数据存储的结构,更节约存储空间。

同时,2.0版本仍然兼容1.0版本的本地存储模式。更多关于存储介绍,请参考 分布式存储操作手册

并行计算模型

2.0版本中新增了合约交易的并行处理机制,进一步提升了合约的并发吞吐量。

1.0版本以及大部分业界传统区块链平台,交易是被打包成一个区块,在一个区块中交易顺序串行执行的。 2.0版本基于预编译合约,实现一套并行交易处理模型,基于这个模型可以自定义交易互斥变量。 在区块执行过程中,系统将会根据交易互斥变量自动构建交易依赖关系图——DAG,基于DAG并行执行交易,最好情况下性能可提升数倍(取决于CPU核数)。

更多并行计算模型的介绍,请参考并行交易的 设计文档 和 使用手册

预编译合约

FISCO BCOS 2.0提供预编译合约框架,支持采用C++编写合约,其优势是合约调用响应更快,运行速度更高,消耗资源更少,更易于并行计算,极大提升整个系统的效率。FISCO BCOS内置了多个系统级的合约,提供准入控制、权限管理、系统配置、CRUD式的数据存取等功能,这些功能天然集成在底层平台里,无需手动部署。

FISCO BCOS提供标准化接口和示例,帮助用户进行二次开发,便于用户编写高性能的业务合约,并方便地部署到FISCO BCOS里运行。预编译合约框架兼容EVM引擎,形成了“双引擎”架构,熟悉EVM引擎的用户可以选择将Solidity合约和预编译合约结合,在满足业务逻辑的同时获得巨大的效率提升。

另外,还有类似CRUD操作等也由预编译合约实现,更多预编译合约的介绍,请参考 预编译设计文档 和 预编译合约开发文档

CRUD接口

FISCO BCOS 2.0新增符合CRUD接口的合约接口规范,简化了将主流的面向SQL设计的商业应用迁移到区块链上的成本。其好处显而易见:

  • 与传统业务开发模式类似,降低了合约开发学习成本;

  • 合约只需关心核心逻辑,存储与计算分离,方便合约升级;

  • CRUD底层逻辑基于预编译合约实现,数据存储采用分布式存储,效率更高;

同时,2.0版本仍然兼容1.0版本的合约,更多关于CRUD接口的介绍,请参考 使用CRUD接口 。

控制台

FISCO BCOS 2.0新增控制台,作为FISCO BCOS 2.0的交互式客户端工具。

控制台安装简单便捷,简单配置后即可和链节点进行通信,拥有丰富的命令和良好的交互体验,用户可以通过控制台查询区块链状态、读取和修改配置、管理区块链节点、部署并调用合约。控制台给用户管理、开发、运维区块链带来了巨大的便利,降低了操作繁琐性和使用门槛。

相比于传统的nodejs等脚本工具,控制台安装简单、使用体验更好。详细请查看 基于Java SDK的控制台使用手册 和 基于Web3SDK的控制台使用手册

虚拟机

2.0版本引入了最新的以太坊虚拟机版本,支持Solidity 0.5版本。同时,引入了EVMC扩展框架,支持扩展不同虚拟机引擎。 底层内部集成支持interpreter虚拟机,未来可扩展支持WASM/JIT等虚拟机。

更多关于虚拟机的介绍,请参考 虚拟机设计文档

密钥管理服务

2.0版本对落盘加密进行了重塑升级,开启落盘加密功能时,依赖KeyManager服务进行密钥管理,安全性更强。

KeyManager在Github开源发布,节点与KeyManager的交互协议是开放的,支持机构设计实现符合自身密钥管理规范的KeyManager服务,比如采用硬件加密机技术。 该部分更详细的文档请参考 使用文档 和 设计文档

准入控制

2.0版本对准入机制进行了重塑升级,包括网络准入机制和群组准入机制,在不同维度对链和数据访问进行安全控制。

采用新的权限控制体系,基于表进行访问权限的设计,另外还支持CA黑名单机制,可以实现对作恶/故障节点的屏蔽。 详情请查看 准入机制设计文档

异步事件

2.0版本同时支持交易上链异步通知、区块上链异步通知以及自定义的AMOP消息通知等机制。

模块重塑

2.0版本对核心模块进行升级重塑,进行模块化的单元测试和端对端集成测试,支持自动化持续集成和持续部署。

更多版本

FISCO BCOS 2.x Releases

FISCO BCOS 1.x Releases

FISCO BCOS 1.3 正式版:

FISCO BCOS 1.2 正式版:

FISCO BCOS 1.1 正式版:

FISCO BCOS 1.0 正式版:

FISCO BCOS 预览版:

查看节点和数据版本

转自:FISCO BCOS 区块链 — FISCO BCOS 2.0 v2.9.0 文档 

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
众所周知,围绕区块链技术的术语令人困惑,因为有关区块链是否与分布式分类帐相同,或者应用币与协议令牌相同的争议。 在本文中,我探讨了试图理解,治理和潜在使用区块链技术的监管机构面临的Swift变化的,有争议的词汇表所带来的困难,并为如何克服语言模糊带来了建议。 在第一部分中,我提供了区块链技术领域中波动的,有争议的语言的示例,并描述了塑造语言时所发挥的作用。 在第二部分中,我阐述了该语言给监管机构带来的问题,包括在识别有关技术的事实,区分技术的多种变体,清晰地交流技术以及增加监管捕获机会方面的挑战。 ,跨辖区和主题领域的不一致监管以及“不正当创新”。 在第三部分中,我仔细分析了区块链话语中“不变”一词的用法,以阐明单个术语可能给监管机构(以及整个公众)造成的混乱。 我认为,考虑到(i)现实世界的事件表明,区块链记录的不变性始终受到其人类管理者的决定的限制,因此术语“不变”作为区块链技术的定义特征的广泛使用具有误导性。对其进行更改,以及(ii)区块链记录的“不可变性”的来源存在争议,这意味着尚不清楚该技术的任何特定变化是否可以公平地描述为创建“不可变”记录。 这是有问题的,因为监管机构已经开始制定法律,将由区块链技术创建的记录描述为不可变的,并且由于其“不可变性”而在很大程度上决定使用该技术。 在第四部分中,我建议监管者可以更好地接受有关区块链技术的教育,这对于他们负责任地管理或使用该技术至关重要。 我还建议监管机构采取高度批评的方法,以:(i)试图将炒作与现实分开; (ii)对激励措施如何影响行业和行业发起者对区块链技术的描述方式以及在最高声望级别的出版物中出现误导性术语感到敏感; (iii)包括技术的拥护者和批评者,多种学科以及性别,种族,地理和经济发展领域的不同观点; (iv)从表面上不采取任何措施,包括对技术本身的描述,而是对技术及其既定能力进行深入的审视和审查; (v)要求监管者对技术及其益处进行自我思考,而不是屈从于畜群行为。 我希望这些建议,再加上认识到区块链词汇是危险的,可以帮助监管机构发现有关区块链技术的事实并做出适当回应。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值