系统管理-数据接口(Interface)

更新时间:2019-08-16 22:28:00点击:481 技术架构

系统管理层负责对区块链体系结构中其他部分进行管理,主要包括权限管理和节点管理两大类功能。
权限管理是区块链技术的关键部分,尤其对于数据访问有更多要求的许可链而言。
权限管理可以通过以下几种方式实现:
将权限列表提交给账本层,实现分散权限控制
使用访问控制列表
使用权限控制,例如评分/子系统
通过权限管理,可以确保数据和函数调用只能由响应的操作员操作。
节点管理的核心是节点标识的识别,通常有以下技术实现:
CA认证,集中式颁发CA证书给系统中的各个应用程序,身份和权限由这些证书进行认证和确认
PKI认证,身份由基于PKI的地址确认
第三方身份验证,身份由第三方提供的认证信息确认
由于各种区块链具有不同的应用场景,因此节点管理具有更多差异。现有的业务扩展,可以与现有的身份验证和权限管理进行交互。
数据接口(Interface)
数据接口层主要用于完成功能模块的封装,为应用层提供简洁的调用方式。
应用层通过调用RPC接口与其他节点进行通信,通过调用SDK工具包对本地账本数据进行访问、写入等操作。
同时,RPC和SDK应遵守以下规则:
一是功能齐全,能够完成交易和维护分布式账本,有完善的干预策略和权限管理机制
二是可移植性好,可以用于多种环境中的多种应用,而不仅限于某些绝对的软件或者硬件平台
三是可扩展和兼容,应尽可能向前和向后兼容,并在设计中考虑可扩展性
易于使用,应使用结构化设计和良好的命名方法方便开发人员使用。常见的实现技术包括调用控制和序列化对象等。
上层应用(Application)
应用层作为最终呈现给用户的部分,主要作用是调用智能合约层的接口,适配区块链的各类应用场景,为用户提供各种服务和应用。
由于区块链具有数据确权属性以及价值网络特征,目前产品应用中很多工作都可以交由底层的区块链平台处理。
在开发区块链应用的过程中,前期工作必须非常谨慎,应当合理选择去中心化的公有链、高效的联盟链或者安全的私有链作为底层架构,以确保在设计阶段核心算法无致命错误问题。
因此,合理封装底层区块链技术,并提供一站式区块链开发平台将是应用层发展的必然趋势。同时,跨链技术的成熟可以让应用层选择系统架构时增加一定的灵活性。
根据溯源链(OTI)项目的当前开发程度,以及未来的发展规划,溯源链(OTI)生态系统主要在数字资产交易所、溯源社区、大数据溯源服务建设等场景进行开发。
运维管理
运维管理层主要负责区块链系统的日常运维工作,包括日志、监控、管理和扩展等。
在统一的架构之下,各主流平台根据自身需求和定位不同,其区块链体系中存储模块、数据模型、数据结构、编程语言、沙盒环境等也都存在很大的差异。




下表将要针对各体系架构差异进行对比:

平台差异 比特币 以太坊 Fabric OTI
编程语言 Script Solidity Go/Java Kotlin/Java
沙盒环境 无 EVM Docker JVM
共识算法 POW POS PBFT/Kafka PBFT
数据类型 资产 账户 账户 资产
区块存储 文件存储 LeveIDB LeveIDB/CouchDB 关系数据库


推荐阅读