华为&杭州复杂美区块链联合解决方案

原创
1635 天前
1432

以工业互联网,防伪溯源为例,说明区块链应用的架构。现有的产品溯源系统大多基于集中式的溯源信息录入,由生产厂家在产品出厂时为每一个产品分配唯一条码,即一物一码,但这类溯源一般只能追溯到生产企业,溯源信息也极度有限,并未深入到产品生产和流通全过程追溯,尤其缺乏消费者所关注的生产信息,产地信息,物流信息等;并且,传统的溯源技术难以保证一物一码,溯源条码复制、溯源信息伪造等问题突出。区块链作为一种公开的、分布式的账本,基于哈希函数、数字签名等安全技术和共识机制等技术手段,可以实现链上数据的不可复制、不可篡改、不可否认、可靠性及可追溯等特性,不仅可以有效解决传统中心化数据存储面临的单点失效、可信存储等安全题,更可以为构建新型跨机构可信溯源体系提供有力的技术支撑。 在溯源领域使用区块链,有利于改善和解决已有溯源技术中存在的数据采集难、信息孤岛和信任度低等问题,以及将进一步促进溯源技术的研究与发展。 从功能架构上,我们将溯源系统按照功能划分为区块链核心层、接口层、运维管理层、溯源平台层和用户端层。(1) 区块链基础层:面向整个溯源平台提供基础信息服务,主要是为上层架构组件提供基础设施,保证上层服务可靠运行,溯源数据从IOT设备采集数据,再通过防伪溯源平台写入区块链,IOT设备决定了数据来源的可靠性,区块链保证了数据的真实性,最后将数据安全的存储、分析和计算,提供高效、精准的数据服务。区块链还提供智能合约的执行环境,包括各类产品溯源相关信息上链前的数据验证,根据预先定义好的合约,自动执行相关算法。同时提供数据共享安全能力,比如加密上链、完整性保证、不可否认保证等能力。(2) 接口层:提供了上层防伪溯源平台和下层区块链的对接, 支持JAVA-SDK。 SDK中提供了区块链地址,私钥的生成, 数据的签名(支持国际标准,也支持国密标准), 数据的上链,数据的加密。 (3) 运维管理层:提供联盟链的可视化部署(目前只支持项目方提供服务器模式, 如果要对接云服务商,需要项目方确定云服务商,由我们来技术对接), 提供联盟链新节点的加入, 提供每个节点的CPU,内存,硬盘和区块链高度的监控。(4) 防伪溯源层:是整个平台的应用层,处理应用层的业务逻辑,接收缓存物联网设备上报的数据并签名上链,接收来自于客户端的查询请求等。从网络拓扑上,可以对区块链节点做以下分类1. 所有主链的区块链节点(包括共识节点,监管节点,验证节点)都是通过P2P网络实现互联,每一个节点都存有全量的账本数据。区块链网络的每个节点既是一个客户端,同时也具备服务端的功能。节点可以向别的节点请求服务,也可以为别的节点或是外部应用提供服务。节点之间通过P2P实现节点发现,交易转发,区块上传下载;节点为外部应用提供交易上链,交易查询等能力。2. 由于区块都是由共识节点打包并同步给全网所有区块链节点。所以从公平性和安全性上来看,每一个组织或行业都应该有打包区块的权利, 所以各个行业,以及大型企业(九阳,柳桥等)都应该部署一些共识节点来参与区块的轮流打包。3. 监管节点是一个特殊的节点,它的作用是能对链上的交易做统计审查。 从本质上来说它其实还是一个区块链节点,只不过给该节点赋予了很高的权限,比如监管智能合约,只能允许监管人员通过监管节点来进行访问。 监管节点部署在轻工协会,以及每一个行业中,从权限上来看,轻工协会的监管节点权限要高于行业中的监管节点。权限的高低是通过智能合约来进行设置。4. 验证节点是最普通的节点,它的作用是只同步和校验区块,既不参与共识,也没有监管的权利。验证节点可以部署在每一个组织或行业中,充当服务端的功能,应用层可以通过验证节点往区块链上写数据或查询数据;各行业的平行子链可以通过grpc接口连接验证节点,实现同主链的互联。5. 行业节点属于各个细分行业,对应于行业中的具体企业。 行业节点属于行业平行链,通过grpc接口连接主链,每个行业平行链都有自己独有的名称,行业平行链之间数据相互隔离,但又能通过主链进行跨链交互。6. 不论是共识节点,监管节点,验证节点还是行业节点,它们可以使用天臣机房中的服务器,也可以采用公有云服务器,或者是自己提供服务器来加入区块链网络。区块链网络安全区块链采用P2P网络的架构,决定了这个系统几乎不会存在单点故障,并且就算网络中的节点频繁的进入或退出也不会影响整个系统的稳定性。​由于此平台承担的是工业互联网防伪溯源的能力,节点之间可能会传递企业的信息,产品信息等,这些信息不太适合暴露到联盟之外, 所以节点与节点之间需要建立安全的加密隧道(TLS加密),防止区块和交易在网络传播的过程当中暴露给外部。新节点要加入区块链网络,需要通过可信CA服务申请TLS证书,区块链节点实时从CA服务更新证书链信息。只有获取到证书的节点才能加入到区块链,否则无法同区块链中节点实现连接。用户或应用想要对接区块链,同样也需要向可信CA服务申请证书,然后使用结合证书对交易签名;区块链节点实时从CA认证中心更新证书链信息,收到用户/或应用层的交易后校验交易的公钥信息的真实性,验证用户证书的是否合法。从而交易才能上链执行。总结:通过身份认证技术来识别合法节点/客户端和非法节点/客户端,从而阻止非法节点或客户端接入P2P网络来发起攻击。 本平台通过认证来确保节点和客户端的合法性以及网络中数据的真实性。 除了网络本身的防护,本平台还通过区块链BAAS平台的节点监控功能查看节点高度的同步状态,节点是否有可疑流量激增行为,提前预警早作分析。