中移链节点动态管控介绍

news/2024/11/9 2:45:06/

为对标业界领先区块链架构,满足复杂组织架构的客户对于数字藏品联盟链功能需求,拓宽数字藏品服务领域,同时通过对区块链相关功能多维深度评测,及时发现产品待优化和待提升的能力,来进一步提升数藏产品行业认可度和成熟度,需要进行面向行业领先架构的“可信区块链认证”联盟化改造,因此对照行业领先的区块链评测体系,按照信通院22年下半年第八批《可信区块链认证技术标准(T/TBI 03-2022 4.0-4.5)》进行建设。

其中节点准入管理部分,将构建安全组合约,基于合约层进一步控制节点接入和断开的管理。并基于证书实现节点准入,通过安全组合约管理接入节点,可以通过合约移除节点,禁止接入。

01

术语解释

CMEOS

基于第三代区块链技术EOS改造演进而成。由于EOS并不满足国内的政策监管要求,中国移动在EOS的框架基础上,对资源控制、资源计费模型、共识算法等方面进行了最深层、最核心的技术改造,并增加了准入控制,提出了自主可控的CMEOS框架。

节点

区块链是一个又一个区块组成的链条。每一个区块中保存了一定的信息,它们按照各自产生的时间顺序连接成链条。这个链条被保存在所有的服务器中,只要整个系统中有一台服务器可以工作,整条区块链就是安全的。这些服务器在区块链系统中被称为节点,它们为整个区块链系统提供存储空间和算力支持。如果要修改区块链中的信息,必须征得半数以上节点的同意并修改所有节点中的信息,而这些节点通常掌握在不同的主体手中,因此篡改区块链中的信息是一件极其困难的事。

02

节点安全现状解析

(一)CMEOS P2P节点连接方式

目前CMEOS通过net_plugin插件,通过p2p地址同步区块数据,其职能包括:

1.从对等的节点那里,同步区块数据;

2.发送交易给其他节点进行验证;

3.验证其他节点发送过来的交易;

4.如果自己生产的区块,要发送区块给其他节点;

5.验证其他节点发送过来的区块。

(二)目前的问题和解决方案

1、安全问题

目前,CMEOS节点P2P连接基于明文传输,有被拦截窃听风险,同时P2P接口容易泄漏,遭受网络攻击。任何知道P2P地址和chainID的CMEOS节点都可以加入已有的区块链网络中,存在安全问题。

2、解决方案

为了解决以上问题,节点准入管理通过颁发证书,构建节点间TLS连接,保证节点通讯安全和节点接入控制。同时构建安全组合约,支持管理员添加和删除节点信息,只有在合约表内批准的节点才允许加入P2P网络中,同时支持动态删除,已经批准添加并且已经练入链网络的节点,从安全组合约删除对应信息后,该节点将被踢出链网络,不再继续从链网络中同步区块信息。

03

改造核心设计

由管理员颁发证书,连接节点必须加载对应证书文件,才能被准入节点网络中,整个P2P连接将基于TLS连接。同时节点管理员部署安全组合约,CMEOS链在同步区块数据和节点加入之前会校验链上安全组合约内容,不在安全组合约内的节点将被拒绝同步数据。

在整个设计中,证书保证节点间P2P连接基于TLS安全连接通信,不做其他准入判断;安全组合约存储的是EOS格式的公钥,在节点启动时指定,CMEOS将在连接的时候进行判断,拒绝不在合约组内的节点加入。

本方案约定在整个系统中只能允许一个同证书、同公钥的节点加入链网路,在该节点加入网络后,其他具有同证书、同公钥的节点将被拒绝加入链网络。

(一)基于证书的节点准入

数字证书是指在互联网通讯中标志通讯各方身份信息的一个数字认证,人们可以在网上用它来识别对方的身份,因此数字证书又称为数字标识。SSL证书,也称为服务器SSL证书,将SSL证书安装在网站服务器上,可实现网站身份验证和数据加密传输双重功能。SSL协议及其继任者TLS协议,是一种实现网络通信加密的安全协议,可在客户端(浏览器)和服务器端(网站)之间建立一条加密通道,保证数据在传输过程中不被窃取或篡改。 中移链通过TLS证书认证,完成了节点的身份管控,确保只有携带正确证书的节点才能进行P2P接入。TLS握手是安全超文本传输协议(HTTPS)通信技术的一部分,本次改造后区块链节点正是使用HTTP和TLS证书进行安全的通信,整套通信流程如下:

中移链中节点的TLS握手包括以下步骤:

1.待接入节点会打开一个TLS认证并连接到链主节点。

2.主节点尝试通过请求可识别信息来验证接入节点的真实性。

3.待接入节点发送包含公钥的TLS证书作为回复。

4.主节点会验证TLS证书,确保其有效且与用户名匹配。主节点对TLS证书验证通过,会使用公钥加密并发送包含密钥的消息给接入节点。

5.待接入节点使用其私钥解密消息并检索会话密钥,然后使用会话密钥加密并向链主节点发送确认消息。

(二)安全组合约

添加安全组合约eosio.pub,通过该安全组合约方法add,将节点公钥添加到安全组公钥表publickey中。

1、加入节点

安全组合约内存在存放安全公钥信息的合约表publickey,只有在表内并且已经加载证书的节点可以加入到区块链网络中,基于TLS连接同步区块数据。

放置者(默认为eosio.placer)可以通过add方法将公钥添加到publickey表中,已经存在的公钥不允许重复添加。

2、不允许加入节点

未加入安全组合约的节点和加入安全组但是没有加载证书文件的节点都不允许加入到节点网络中。

放置者(默认为eosio.placer)可以通过delbypub方法将已经添加在安全组合约表的公钥从表中删除。还未连接的节点此后将无法与原生节点连接。

3、节点移除

加入安全组合约并且加载证书文件的节点可以加入链网络中,同步区块数据。想要移除某个节点,只需要在安全组合约表中将其节点信息删除,链网络则将该节点踢出链网络内,实现动态删除节点。

放置者(默认为eosio.placer)可以通过delbypub方法将已经添加在安全组合约表的公钥从表中删除。已经与原生节点连接中若有对应公钥的节点,将被踢出。

-END-


http://www.ppmy.cn/news/296130.html

相关文章

位宽512bit显卡_显卡知识:关于显卡位宽的基础知识科普

显卡的位宽,准确应该说是显存的位宽。众所周知显卡的主要部件有GPU和显存,所谓显存位宽可以理解为数据从显存转移到GPU的通道的运载量,就是车间传送带的运输量。 由于买电脑的时候大家对显卡的显存大小过于重视,很多人忽视了显存位宽的重要性,甚至出现2GB独立显卡但是位宽…

训练时GPU显存太小问题、batchsize 的大小跟GPU的显存的关系

参考链接:https://blog.csdn.net/lien0906/article/details/78863118 问题: tensorflow/core/common_runtime/bfc_allocator.cc:661] Chunk at 0x523cd7d00 of size 2048 tensorflow/core/common_runtime/bfc_allocator.cc:661] Chunk at 0x523cd8500…

gpu相关内容,带宽,显存,填充率等

1、 bus width:显存位宽 bandwidth:显存带宽 显存位宽 * 显存频率 / 8 显存带宽 以740显卡为例 显存位宽是128bit,显存频率是5Gbps 显存带宽就是80GB/s 计算显存带宽时要留意显存类型(Memory Type),对于GDDR1/2/3/4显存&a…

位宽512bit显卡_显卡位宽是什么?详解显卡位宽基础知识科普!

由于买电脑的时候大家对显卡的显存大小过于重视,很多人忽视了显存位宽的重要性,甚至出现2GB独立显卡但是位宽只有64bit这样坑人的显卡。也许有人说,显卡位宽做大点不就好了么。这是不对的,显卡位宽的扩大需要硬件的扩容,就像你要扩马路占用地皮一样,所以成本比提高显存要…

什么是显存带宽

在每一个子系统中,除了子系统与处理器之间的速度交换外,子系统内部也有不同的数据交换, 对于图形子系统而言, 除了显示芯片与核处理器之间的数据交换外, 还有显示芯片与显存之间的数据交换.图型处理芯片与显存之间的数据交换速度就是显存的带宽了,这个速度越高, 也就说明交换速…

DDR3的位宽和容量计算

DDR3的位宽在芯片手册里的说法是Configuration,其位宽就是DDR3芯片DQ管脚的数量,即I/O接口位宽。另外推荐这篇文章DDR扫盲——DDR中的名词解析。 DDR3中一个基本的概念是BANK,很多博文会提到两个概念:逻辑BANK(Logica…

显卡显存带宽的计算

bus width 是显存位宽 bandwidth 才是带宽 带宽(Bytes/s)位宽(bit)x显存有效频率(Hz)/8 公式:显存位宽 X显存频率(GD3X2 ,GD5要X4)再除以8就是显存带宽。 显存有效频率显存基本频率X显存类型(DDR3的乘以2,D…

显卡位宽和带宽的区别

显存位宽是显存在一个时钟周期内所能传送数据的位数,位数越大则瞬间所能传输的数据量越大,这是显存的重要参数之一。目前市场上的显存位宽有64位、128位和256位三种,更高的还有专业显卡的512的,大家习惯上叫的64位显卡、128位显卡…