共计 2413 个字符,预计需要花费 7 分钟才能阅读完成。
为对标业界当先区块链架构,满足简单组织架构的客户对于数字藏品联盟链性能需要,拓宽数字藏品服务畛域,同时通过对区块链相干性能多维深度评测,及时发现产品待优化和待晋升的能力,来进一步晋升数藏产品行业认可度和成熟度,须要进行面向行业当先架构的“可信区块链认证”联盟化革新,因而对照行业当先的区块链评测体系,依照信通院 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-