中国人民银行-区块链技术金融应用评估规则-2020.7-100页_6mb
报告摘要
区块链技术金融应用评估规则总结
核心内容概述
本标准《区块链技术金融应用评估规则》旨在规范金融机构在区块链技术金融应用中的实现要求、评估方法和判定准则,确保系统在基本要求、性能和安全性方面符合金融行业标准。该标准适用于金融机构在区块链技术金融应用中的产品设计、软件开发和系统评估。
主要观点与关键信息
1. 评估目标
- 评估区块链金融应用系统的基本要求、性能和安全性。
- 客观、公正地判断系统是否能够保障区块链金融设施与应用的安全稳定运行。
2. 启动条件
- 系统版本应与生产版本一致。
- 系统需完成内部测试。
- 相关文档(如设计文档、使用手册等)应准备齐全。
- 确保系统在最小硬件环境下能够正常运行。
- 评估环境需配置正确,与生产环境一致。
3. 评估方法
- 查阅材料:审查系统设计、开发、管理文档等。
- 查看系统:检查系统日志、配置文件、参数设置等。
- 访谈人员:获取系统相关人员的反馈与信息。
- 测试系统:使用专业工具进行系统测试,验证功能、性能和安全。
4. 评估判定准则
- 符合:未发现严重性或一般性问题。
- 不符合:发现严重性或一般性问题。
- 不适用:评估项不适用于系统。
6.1 账本技术
数据存储方式
- 支持至少2种主流数据库类型,每类至少支持3个版本。
- 系统应能正确读写数据库,支持空间监控与预警。
- 数据应具备高可靠性,应对节点异常恢复。
- 支持数据库重置,确保安全级别。
账本结构
- 数据文件应具备防篡改性和完整性校验功能。
- 区块头需包含交易和状态的梅克尔树根信息。
- 支持通过接口查询区块信息和数据变更记录。
历史数据可追溯
- 支持查询账本当前状态、历史更新记录、指定账户历史信息。
- 能根据数据对象唯一标识查询历史数据文件。
- 支持对数据来源和变更操作者身份进行追溯。
- 支持按时间、记录数等条件查询数据更新记录。
- 支持查询状态变更记录的区块文件唯一标识和时间戳。
- 支持交易记录排序功能。
- 支持通过账本查看功能对底层存储进行查询。
- 系统异常恢复后仍能正确完成历史数据溯源。
数据同步
- 节点间数据应保持一致,支持异常场景下的数据同步。
- 新增节点需同步历史数据后与原节点保持一致。
- 单节点重启或网络波动后,应能自动同步并保持一致性。
- 支持源节点切换、数据校验和断点续传。
- 系统应具备自动校验数据一致性的能力。
数据归档
- 支持账本数据归档,包括磁盘文件和数据库存储。
- 归档应由管理员权限用户发起。
- 支持按时间、区块序号等条件设置归档范围。
- 归档数据应保持完整性,不丢失账本数据。
- 归档存储介质应具备高可靠性。
- 归档过程中系统仍可提供服务。
- 归档完成后支持历史状态查询。
- 不同节点归档数据应存放在不同存储设备,防止集中丢失。
- 支持归档数据恢复还原功能。
数据扩容
- 支持节点动态或静态增加、删除。
- 提供数据扩容方案,确保性能稳定。
- 数据扩容后应保持账本数据一致性。
- 支持在异常场景恢复后完成数据扩容并正常运行。
- 提供数据校验和日志记录功能。
6.2 共识协议
共识算法
- 支持声明的共识算法,确保系统正常运行。
- 支持在不同节点状态变化时切换共识机制,达成全网共识。
一致性
- 节点更新账本状态时应保持一致性。
- 节点在异常恢复后应保持数据一致。
- 交易执行结果应唯一且确定。
- 交易执行应具备可终止性。
共识节点数量
- 明确共识算法最少和最多支持的节点数量。
- 系统应能正确处理最少节点和最大节点数量下的共识。
容错阈值
- 系统应具备容错阈值说明。
- 在不超过容错阈值的恶意节点下,系统能正确达成共识。
- 在超过容错阈值的恶意节点下,系统无法达成共识。
- 系统应具备拜占庭容错能力。
可靠性
- 系统应具备抗攻击能力,识别恶意节点。
- 节点异常恢复后应能正常参与共识流程。
- 系统应具备在篡改与故障节点总数低于容错阈值时达成共识的能力。
可拓展性
- 支持节点动态增加与删除。
- 系统应具备良好的可扩展性设计。
6.3 智能合约
智能合约虚拟机
- 支持智能合约的运行环境,如虚拟机或容器。
智能合约编程语言
- 智能合约应具备图灵完备性。
- 支持主流编程语言的稳定版本。
- 提供开发工具支持,如IDE、编译器等。
智能合约编译
- 系统应确保编译工具或方法的正确性。
- 支持主流稳定版本的编译工具。
智能合约正确性
- 系统应能正确执行智能合约操作,返回对应结果。
智能合约一致性
- 各节点执行智能合约应结果一致。
- 多节点并行调用同一合约时应互不干扰。
智能合约可靠性
- 支持合约执行的原子性,确保异常操作可回滚。
- 支持系统升级后智能合约的正常运行。
智能合约业务隔离性
- 不同合约之间应实现数据和运行资源隔离。
- 对敏感业务逻辑应进行严格授权控制。
- 系统应提供智能合约审核机制,确保部署安全。
智能合约生命周期管理
- 支持智能合约的部署、运行、升级、冻结、解冻、废止等全生命周期管理。
- 需有授权机制控制部署行为,防止恶意部署。
- 部署后的智能合约应具有唯一标识。
- 系统应保证不同节点部署的合约版本一致。
- 支持智能合约在线滚动升级。
- 支持数据迁移和校验,确保升级无误。
- 支持合约的冻结、解冻和废止功能。
智能合约版本控制
- 支持在部署时指定合约版本号。
- 交易信息中应明确调用的合约版本。
- 系统应确保不同节点合约版本一致性。
- 升级后,交易只能调用新版本合约。
6.4 节点通信
组网方式
- 节点组网方式应可动态配置。
- 系统应具备应对单一节点故障的能力。
- 节点通信应与上层业务解耦合。
- 支持心跳机制,确保节点在线状态。
- 异常恢复后,节点应能恢复组网功能。
消息转发
- 系统应支持消息的转发功能。
- 确保消息在节点间正确传递和处理。
总结
该标准涵盖了区块链技术在金融应用中的多个关键方面,包括账本技术、共识协议、智能合约、节点通信等。通过系统化的评估方法和判定准则,确保区块链系统在实现、性能和安全性方面达到行业标准,保障金融业务的安全、稳定与合规。
展开完整摘要
试读结束,高清完整版pdf/doc/ppt,请点下载