能力详情

联盟链

FISCO BCOS 联盟链,成绩单与关键记录上链存证,可核验、防篡改。

01 / 技术决策

三个绕不过去的取舍

每个都有代价,我们选了哪边、为什么。

要不要用链:真需要,还是为了概念

常见做法什么数据都上链
另一种只在需要「多方互不信任但要共同记账」时上链
我们的做法结构化数据上链存哈希,原始文件留在本地
链解决的是「多方之间不信任中心化账本」的问题。如果只有一个主体在写数据,用数据库加审计日志就够了,上链只会增加成本。我们的判断标准是:有 3 个以上互不隶属的主体共同产生或使用同一份记录时,才值得上链。

存什么上链:原文还是哈希

常见做法把完整数据写进链上
另一种只写哈希,原文留在业务库
我们的做法关键字段 + 哈希上链,其余留本地
全文上链的代价是链的存储与同步成本随数据量线性增长,且链上数据不可删除,一旦写入错误信息无法修正。实际做法是:把能唯一标识这条记录的关键字段(编号、时间、主体)+ 内容哈希写链,原文存业务库。验证时用哈希比对,效果一样,成本低一个量级。

节点怎么布:谁出机器,谁维护

常见做法全部节点由我们托管
另一种每个参与方各出一个节点,各自维护
我们的做法监管方 + 主要参与方各出节点,我们做运维支持
全托管等于又回到中心化,失去了链的意义。理想是每个参与方各出一个节点,但现实中很多单位不愿意为一条链单独维护服务器。折中方案是:关键参与方(尤其是监管方)各出节点,其余接入托管节点。
02 / 方案对比

同样是这件事,三种做法

没有最优方案,只有适配场景。

方案可信度成本适用场景
数据库 + 审计日志依赖中心方信用低单一主体内部追溯
联盟链(3 节点起)多方共同背书中(要 3 台机器 + 运维)多主体协作、要防篡改
公有链完全开放高(gas + 性能差)需要对外公开验证的场景
绝大多数政务与企业场景是联盟链,不是公有链。

我们做什么

  • 3 节点联盟链 · PBFT 共识
  • 成绩单 SHA-256 指纹锚定
  • 7 大考核系统 · 9 个软件模块
  • 链上核验接口 · 防篡改可追溯

聊具体需求

交付形态

部署方式私有化 / 专有云 / 内网
交付内容系统 + 文档 + 培训
运维支持远程 + 现场
源码交付可谈
相关案例

已跑通的系统

客户名称按保密要求匿名。

政务 / 联盟链 + 考核系统

某省级安全生产考核平台

背景
省级安全生产培训考核需要可信记录,传统方式成绩单可被修改,无法跨机构核验。
方案
AI 综合考核系统:7 大考核系统、9 个软件模块,成绩单指纹上链。
技术
FISCO BCOS 3 节点 · SHA-256 指纹锚定 · 链上核验接口 · 多机构协同
成效
成绩单可在链上独立核验,跨机构互认,无法篡改。
港口 / 智能体 + 联盟链 + APP

某大型集装箱港口 · 智慧安全实训中心

背景
年吞吐量居国内前列的集装箱港口。原有培训以课堂讲授为主,高危作业实操训练无法覆盖。
方案
综合安全实训中心 + 培训考核平台 + 移动端学习。7 类考核系统、9 个软件模块、3 节点联盟链。
技术
FISCO BCOS 联盟链(PBFT)· 成绩单 SHA-256 上链 · node.js 后台 · Android 移动端 · 3D 模型交互
成效
培训记录可链上核验,成绩单防篡改;覆盖 55 类设备、66 台设备台账。

查看全部案例

03 / 实施路径

从零到上线分几步

顺序不能反 —— 先做写操作、先做多步编排,出错都很难查。

确认多主体

先问清:有几个互不隶属的主体参与?只有 1 个就不要上链。

定共识与节点数

3 节点 PBFT 是最小可用配置,能容忍 1 个节点故障。再多按参与方数量加。

设计上链数据结构

明确哪些字段上链、哪些留本地、哈希怎么算。这一步定了后面很难改。

接业务系统

通过 SDK 把业务操作映射成链上交易,注意做异步与失败重试 —— 链的写入比数据库慢。

做核验入口

给最终用户一个能查的页面:输入编号,返回链上记录与哈希比对结果。没有核验入口的链,等于没做。

04 / 关键指标

能被验证的数字

不写形容词,写口径。

节点数3 起 PBFT 共识,容忍 1 节点故障
单笔上链耗时1–3 秒 联盟链,非高并发场景
哈希算法SHA-256 内容指纹
核验方式按编号查链 + 哈希比对 对外可查
05 / 常见问题

技术负责人最常问的

这些是真实问过的问题,答案不带营销话术。

3 个节点够吗?
对小规模场景够。PBFT 在 3 节点下容忍 1 个节点故障(含作恶),可用性满足大多数内部系统。参与方多于 3 个时按实际数量扩。
链上数据能删吗?
不能。这是链的特性,也是它的问题 —— 所以上链前必须确认数据是终态。我们的做法是只把确认后的结果上链,过程数据留在业务库。
性能会不会很慢?
联盟链的写入通常是秒级,比数据库慢一两个数量级。所以要做异步:业务操作先落库,再异步上链,用户在核验时看到的是最终一致的记录。
能不能对接已有的业务系统?
可以,通过 SDK 或中间服务。我们做过成绩单、设备台账、考核记录三类数据的接入。
要不要买第三方 BaaS?
小规模自建更可控,成本也低(3 台机器)。BaaS 的优势是省运维,但数据敏感性高的场景通常不愿意把链托管出去。