企业级部署工具

基本介绍

FISCO BCOS generator为企业用户提供了部署、管理和监控多机构多群组联盟链的便捷工具。

  • 本工具降低了机构间生成与维护区块链的复杂度,提供了多种常用的部署方式。
  • 本工具考虑了机构间节点安全性需求,所有机构间仅需要共享节点的证书,同时对应节点的私钥由各机构自己维护,不需要向机构外节点透露。
  • 本工具考虑了机构间节点的对等性需求,多机构间可以通过交换数字证书对等安全地部署自己的节点。

../../_images/toolshow.png

设计背景

在联盟链中,多个对等机构是不完全信任的。联盟链的节点之间需要使用数字证书互相进行身份认证。

证书是机构对外身份的凭证,生成证书的过程中需要使用机构本身的公钥和私钥对。私钥即为机构在互联网上的身份信息,是私密的,不可对外告诉其他人的。节点在启动、运行过程中,需要使用私钥对数据包进行签名,从而完成身份认证过程。假设私钥泄露,则任何人都可以伪装成对应的机构,在不经过该机构授权行使该机构的权利。

重要

即在联盟链部署、运行过程中,机构节点的私钥是不应该告诉任何人,应当只能由本机构生成和保管。

在FISCO BCOS的群组初始化过程中,需要多个节点协商生成群组的创世区块。创世区块在同一个群组中是唯一的,其中包含了初始节点身份信息的区块。这些身份信息需要通过交换数字证书的方式来构建。

现有的联盟链运维管理工具在初始化时都没有考虑联盟链间多个企业地位对等安全的诉求。联盟链在初始化时,需要协商创世节点中包含的节点信息。因此谁来生成这些信息就显得十分重要。现有做法为某一机构生成自己的节点信息,启动区块链,再加入其它机构的节点;或是由权威第三方机构直接生成所有机构内的节点信息,并将节点配置文件夹发送给各机构。

另一方面,FISCO BCOS 2.0引入了隐私性和可扩展性更强的多群组架构。在群组架构下,群组间数据、交易相互隔离,每个群组运行独立的共识算法,可满足区块链场景中的隐私保护需求。

在上述模式中,总有一个机构会优先加入到联盟链之中;并且在这种模式中,总有一个机构会获得所有节点的私钥。

如何保证企业间如何对等、安全、隐私地新建群组。新建群组之后如何保证节点可靠,有效的运行;群组账本的隐私性和安全性,以及企业建立群组、使用群组操作的隐私性都需要一个有效的方式来保证。

设计思路

FISCO BCOS generator从上述背景出发,根据灵活、安全、易用、对等的原则,从不同机构对等部署、新建群组的角度考虑,设计了解决上述问题的解决方案。

灵活:

  • 无需安装即可使用
  • 支持多种部署上报方式
  • 支持多种架构改动

安全:

  • 支持多种架构改动
  • 节点私钥不出内网
  • 机构间只需协商证书

易用:

  • 支持多种组网模式
  • 多种命令满足不同需求
  • 监控审计脚本

对等:

  • 机构地位对等
  • 所有机构共同产生创世区块
  • 机构对等管理所属群组

针对同一根证书的联盟链,本工具可以快速配置链内的多个群组,满足不同企业的不同业务需求。

不同机构间通过协商节点证书、IP、端口号等数据的模式,填写配置项,每个机构都可以在本地生成不含节点私钥的节点配置文件夹,节点的私钥可以不出内网,即使节点配置文件丢失,防止恶意攻击者伪装节点的同时,不会泄露链上任何信息。使用这种方式,在保证节点可用的同时,保护节点的安全性。

用户通过协商生成创世区块,生成节点配置文件夹后,启动节点,节点会根据用户配置信息进行多群组组网。