标准详情
- 标准名称:区块链基础架构规范
- 标准号:T/JSHLW 001-2021
- 发布日期:2021-03-16
- 实施日期:2021-05-01
- 中国标准号:/I6490
- 国际标准号:35.020
- 团体名称:江苏省互联网协会
- 标准分类:其他互联网服务
本标准规定了区块链基础架构的术语定义、体系框架和一般要求等内容
本标准适用于区块链基础架构的设计和建立
其他场合的区块链基础架构可参照本标准
在综合考虑区块链底层技术基础上,以区块链技术应用为导向,本标准将区块链整体架构分成三个层次。(1)基础层:该层定义了用户管理、基础服务、智能合约、运营监控等模块,通过定义的SQL和API接口为上次应用场景提供区块链基础服务的功能。(2)产品服务层:该层在基础层上构建高可用性、可扩展性的区块链应用基础平台产品,比如目前比较流行的数字通证服务、数据溯源服务、共享经济等等方向。该层集成相关领域的基础产品功能,可以帮助上层快速搭建区块链应用场景。应用层:该层是面向用户的,为用户提供可信、安全、快捷的区块链应用。1基础层1.1用户管理模块用户管理主要解决用户身份到区块链地址的映射关系、用户隐私的保密性以及监管审计的可追踪性。用户管理系统应由账户管理、密钥管理、权限管理和风控审计四个部分组成,(1)账户管理账户管理负责用户的账户管理,包括账户的注册、登录、注销以及账户跟密钥的不相关性处理。账户注册时,将原来用户习惯的用户名、密码等身份信息映射到区块链地址。账户登录之后,才可以发送区块链相关的业务请求。(2)秘钥管理密钥管理系统负责用户密钥跟账户的关联、密钥安全管理和丢失找回。用户密钥在客户端生成,用户可以选择将密钥保存在密钥保险箱或者委托给关联账户的方式以便密钥丢失后找回。为了保证用户账户跟密钥关联关系可靠性,密钥管理系统应将关联关系的签名采用多节点链式存储。(3)权限管理权限管理模块负责用户账户、密钥系统、节点加入和退出、数据访问等权限的控制和管理。包括审计权限、账户委托权限、节点共识权限以及用户数据访问权限等。审计权限是为监管机构提供审计的功能,对访问权限和数据范围做严格的控制,对共享账本上交易不相关性的用户可以做到用户关联。账户委托权限用来控制用户账户委托关系的访问控制。共识权限对参与或者新加入节点进行共识权限管理。访问权限用来管理客户端对区块链上的数据查询权限。(4)风控审计风控模块负责对区块链中数字资产类的交易行为进行风险控制,通过风控模块及时发现风险、管理风控和控制风险,做到防患于未然。审计模块为审计机构提供审计能力,通过严格的权限控制来保证审计能力只能被审计机构使用。1.2基础服务模块基础服务模块由接口适配、共识管理,网络通信和记录存储四个部分组成,(1)接口适配基础层应对应用层提供SQL和API的接口,其中API接口应支持同步和异步操作两种模式。接口适配层对业务请求进行解析,鉴权和签名校验之后,通过共识算法将业务请求记录到账本存储上。接口适配模块作为共识管理模块的客户端,也会参与共识管理。接口适配模块主要负责各个共识节点返回结果的汇总和一致性判断。另外,当使用具有自主知识产权的“改进的bft-raft”共识算法时候,接口适配模块还会收到来自业务侧的选举切换请求,接口适配模块对选举切换请求进行汇总统计。当符合切换条件的时候,通知共识管理模块重新选举。(2)共识管理共识机制按照共识的过程分两类,第一类是概率一致的共识、工程学上最终确认;第二类是绝对一致之后再共识,共识即确认区块链应该提供其中任意一种共识机制。(3)网络通信网络通信模块负责各节点间以及业务侧的消息数据传输。区块链应采用可以多路复用、连接共享的动态自组织的网络。可以跟现有的防火墙、代理服务器等安全设施很好的兼容,提供点对点的组网和安全可靠的数据传输。(4)记录存储区块链应支持多种的介质的存储,存储介质可以是数据库、文件系统,也可以是云存储介质,如云DB,云KV等。记录存储采用块链的结构,任何对历史数据篡改都能被自校验发现,并进行告警和自动修正。4.1.3智能合约模块智能合约部分应包括标准合约以及业务定制的合约两种类型。标准合约包括资产一致性检查、自动成交撮合、多方共同确认的转账、到期自动清算等逻辑相对简单的合约,是区块链内置合约,可以直接挂在区块链上使用。用户定制的智能合约包括通过合约模板修改配置和添加其他业务逻辑的形式,也可以支持更加复杂的用户自编程的合约,在独立的环境里运行。智能合约包括合约的注册、触发、执行以及注销四个部分,(1)合约注册合约注册是将用户编写好的合约安全检查处理之后,共识存储到区块链的过程。区块链应该至少支持一种语言来编写智能合约。(2)合约触发合约触发是在合约注册之后,通过外部条件来触发合约执行的过程,支持定时触发、事件触发、交易触发和其他合约触发的方式。定时触发是指满足合约中预设的时间之后,节点就触发时间共识之后,自动触发合约调用的过程。事件、交易和其他合约调用都是一次新的请求共识过程中触发合约执行。(3)合约执行合约执行是合约代码在独立的环境中运行的完整过程,包括对合约构造镜像环境、代码执行、执行代码中状态修改的共识以及共识的异常处理。(4)合约注销合约注销,是对已经执行过、过期作废或者业务需求变更不再需要的合约进行转存,清理,清理的过程需要多节点共识之后才能完成。4.1.4运营监控模块为了客户快速接入以及接入之后能够快速准确地识别系统的运行状态以及在运行中满足其他的运维需求,如存储账本扩容、程序升级等。区块链提供完整、快捷、可视化的运营监控系统,运营监控主要包括配置,监控、告警、发布和业务分析等功能。(1)配置负责处理网络节点的相关配置,如共识算法的选择、自适应阈值、存储账本的存储方式、网络路由方式等,配置的本身可以作为区块链中的一个交易的形式下发,通过共识算法达成一致之后再生效。(2)监控负责收集系统中运行的状态数据,并且可视化的呈现出来。系统中的状态数据包括系统的访问量、耗时、节点的健康状态以及比较底层的机器资源(CPU、内存、硬盘)使用状况等,通过可视化监控可以实时了解整个区块链系统的状态。(3)警告对系统中比较严重的情况如欺诈节点、账本篡改、机器故障等情况通过短信、电话、微信、邮件等方式通知到相关人员,以便及时处理。(4)发布对系统初次部署、运行中程序升级以及运行过程中节点扩展等场景下的操作可以通过发布模块来支持。发布模块保证接口、共识算法等重要模块的可执行程序的一致性。(5)业务分析业务分析包括各个节点间数据一致性检测以及交易数据多维度的统计和分析,可以给特定授权用户提供业务统计分析以及业务发展趋势的图表。(6)云适配云适配提供目前云主流运营商的接口适配,让区块链更加方便的部署在云上,方便维护和扩展。4.2产品服务层平台产品服务层抽象了各类典型的区块链应用,提供典型应用的基本能力和实现框架,用户可以基于这些基本能力,叠加自己业务独有的特性,轻松完成业务逻辑的区块链实现。帮助用户快速搬迁已有业务到区块链上,以应对新的场景需求,或者搭建全新的业务场景,利用区块链的不可篡改、防抵赖等特性解决之前难以解决的问题。4.3应用层应用层(TrustApplication)提供基于区块链方案的应用服务给最终用户的使用。应用层将尽力用户提供各类区块链场景的服务。
南京理工大学、江苏省智能交通信息感知与数据分析工程实验室、南京大学、南京纯白矩阵科技、苏州黑云信息科技、苏宁金融研究院金融科技研究中心、江苏荣泽信息科技。
戚湧、赵学龙、秦银
* 特别声明:资源收集自网络或用户上传,仅供个人标准化学习、研究使用。如有侵权,请及时联系我们!