其他帐号登录: 注册 登录

ITN杉之链生态平台总体架构

 二维码 635237
作者:ITN杉之链来源:微信公众号:杉之链官微网址:http://weibo.com/gszxbb

总体架构

体系概述

ITN杉之链生态平台的总体架构分为3 个层次:区块链协议、组件框架、服务平台。采用自顶而下的设计方法,首先聚焦区块链协议的设计,解决企业级应用中的数据标准化和多链互通的问题;其次是定义一个通用的区块链系统的组件模型,实现具体功能组件松耦合和可插拔,解决企业级应用中可根据具体情况自定义扩展的需求;最后,我们基于标准化的区块链协议和组件模型,提供一个具体的区块链平台实现以及相关的工具和开发包,为快速实现企业级区块链应用提供平台和工具。

●区块链协议

ITN CHAIN协议作为最顶层的架构设计,定义了区块链的数据格式标准,包括账本状态、历史证明、账本操作集、合约指令集 4 个方面的数据标准。

●组件模型

“组件模型”是区块链逻辑组件的框架模型,是对ITN杉之链协议的实现框架。包括了共识网络、账本、持久化引擎、合约引擎四个组件。

●服务平台

“服务平台”是对上层的区块链协议和组件模型的具体实现,由网关、服务、节点网络、SDK 和一套工具集组成。

设计原则

ITN CHAIN将提供食品溯源领域,企业级的区块链技术与服务,建设具有高性能、良好扩展性、广泛场景通用性、安全合规、接口友好和易部署管理的区块链基础网络设施,打造开放共赢的大健康+区块链技术与服务生态。

ITN CHAIN在架构上遵循以下的几个顶层设计原则,确保实现这些具有挑战性的目标。


●面向业务

面向业务是ITN CHAIN的第一设计原则。

企业场景的特点是需求非常的多样化,性能要求高。ITN CHAIN定位为企业级的区块链平台,需要适用广泛的企业场景,在设计上首先从定义企业场景的核心用例出发,设计ITN CHAIN的协议、数据结构和功能特性。

●标准化

由于区块链应用场景是一种跨主体的有多方参与和协作的场景,ITNCHAIN从顶层开始设计了标准化的协议和数据结构,目标是使区块链真正地成为一种标准化的互联网基础协议。

●松耦合与模块化

ITN CHAIN采用模块化设计,通过定义模块间清晰的接口实现模块之间的松耦合,以此获得整个系统的良好扩展性,系统可以根据不同用户和场景的需要,采用不同的可插拔的模块组件。

●安全可审计

企业数据的保存需要满足“安全可审计”的要求,ITN CHAIN在设计上将“安全可审计”作为十分关键的一条原则贯穿到每一个功能特性的设计和实现上,设计了可灵活定义的安全访问策略、基于密码学完整地标记数据变化的过程、提供记录级的数据证明。

●简洁与效率

ITN CHAIN信奉“大道至简”的架构哲学,可靠和高效的运行来源于简洁的系统设计,在协议设计、组件模型、系统实现、外部接口、部署管理各个方面都认真地遵循这一原则。

架构协议

区块链是一种全新的架构形式:a、从技术视角看,区块链是一种健壮和安全的分布式大数据技术;b、从业务视角看,区块链是一种面向业务的跨多主体的数据协议。

区块链将成为一种新形式的价值互联网协议,它能够使跨主体的业务协作变得简单、高效和安全。与传统的互联网协议不同(如 TCP/IPHTTP 等),传统协议都是面向通讯过程的,而区块链是面向业务过程的,是一种全新的面向业务的架构体系。

账本协议

账本协议是从数据的角度定义的一个标准模型,包含两个方面的定义:

●账本数据的标准格式由两部分构成:

a)“账本状态”表示当前实时的数据内容;

b)“历史证明”表示账本数据的特征以及数据变更历史的特征。

●读写账本数据的指令的标准格式由两部分构成:

a)“账本操作集”定义了对账本数据的写入操作类型的标准表述以及参数的标准格式。

b)“合约指令集”定义了标准化的合约语言指令格式。

定义账本协议的目的是让链上的数据可以被标准化地进行交换、验证、存储和使用,能够跨越不同技术实现的区块链网络,无关特定的数据存储实现。

1)账本状态

“状态”一词在此是一个计算机领域的概念,在此表示区块链系统在某一时刻所处的状况,由系统保存的业务数据以及系统运行的控制属性构成。

ITN CHAIN的“账本状态”由“身份”、“KV数据”、“权限”、“合约代码”组成。


ITN CHAIN账本状态示意

●“身份”由一个“区块链地址(Address)”和相应的非对称密钥对/证书表示;

●“KV 数据”是账本数据表示形式,通过键(Key)唯一标识,通过值(Value)记录内容;

●“合约代码”表示状态变更的逻辑,以合约指令序列表示;

●“权限”是“身份”对“KV数据”和“合约代码”的访问控制码

2)账本操作集

“账本操作集”是为了实现跨链互操作而定义一个通用的标准,包含“类型”的标准码,“参数”的标准格式。

典型的操作包括:

●身份注册

●状态数据读写

●合约部署

●合约调用

●权限设置

3)合约指令集

区块链以合约语言的形式定义业务状态的控制和转换逻辑。

通过设计一个标准化的合约语言指令集,可以用一种通用的方式来表述各种复杂的业务逻辑,从而与具体的编程语言无关。

一方面,遵循标准的合约指令集,区块链系统能具备良好的通用性;

另一方面,开发者可以用不同编程语言编写智能合约,降低了学习使用门槛,满足不同企业的团队技术要求。


文章分类: 币圈解析
分享到:
会员登录
登录
其他帐号登录:
我的资料
留言
回到顶部