长安链2.3.0_alpha版本已发布。本次版本对交易池、国密及共识算法等多部分进行了迭代。
业内首个生产可用的批量交易池
长安链Batch交易池是业内首个生产可用的批量交易池。区块中只需放入批次ID,实现对区块的极致剪裁;通过以批次为单位的交易并发处理机制,进一步提升交易池性能。在一轮共识中(16核/64G,4节点),长安链Batch交易池相较Single交易池耗时整体提升32倍,提升区块压缩率至0.23%;结合MaxBFT共识模式下新的区块剪枝和交易防重模式,为大规模节点性能测试奠定基础(后续文章详细介绍)。
保障底层数据通讯安全合规
国密《GM/T 0024-2014 SSL VPN 技术规范》要求,在使用国密SSL加密通讯时,需要分为加密、签名两套独立的SM2私钥与证书,两套证书的秘钥用法(KeyUsage)不同,各自行使独立的功能。现有的区块链平台大多只支持使用一套证书进行国密加密通讯,不符合国家密码标准。长安链本次迭代开源了国密双证书体系的加密通讯代码,完全符合国家密码标准,保障区块链底层数据通讯安全合规。
自研共识算法Maxbft正式版发布
Maxbft 拜占庭共识算法发布正式版本,基于Hotstuff论文实现了它的流水线模式,使用Epoch机制来提供共识节点的变更能力,优化了链上长时间无用户交易数据时连续生成空块的场景。
自研网络Liquid应对复杂网络环境
为了解决复杂网络环境下区块链节点间的连接问题,Liquid在chainmaker的v2.3.0版本加入了节点中继和NAT穿透功能。若仅有部分节点间网络互通,可通过配置中继节点的方式,由中继节点在无法直接相连的节点间转发数据流量,实现节点间互联互通。若节点处于内网环境,Liquid在NAT类型允许的情况下,无需任何额外配置,利用打洞的方式实现NAT穿透与节点连接。综合运用以上两种方式,可提升长安链对复杂网络环境的适应性。
完整迭代内容如下:
新增以下功能特性:
1. 支持国密TLS双证书体系,满足《GM/T 0024-2014 SSL VPN 技术规范》对通信加密的要求。
2. 支持SDF接口硬件加密机,满足《GM/T 0018—2012 密码设备应用接口规范》对加密机接口的要求。
3. 新增normal交易池(原single交易池改进版),batch交易池(原batch交易池改进版),提升交易池存放和读取性能。
4. 新增交易池数据备份恢复、导入导出机制,防止节点宕机导致交易丢失。
5. 支持流水线共识算法MaxBFT正式版。
6. TBFT共识算法新增对各节点执行不一致交易(随机交易)的投票剔除逻辑。
7. 新增若水(liquid)网络模块的节点中继和NAT穿透功能,提升对复杂网络环境的适应性。
8. 新增跨虚拟机下的跨合约调用功能。
9. 新增使用地址调用合约(包括系统合约)的功能。
10. 新增以太坊地址格式类型。
11. 新增对各模块独立配置日志存储路径等属性的功能。
12. 新增docker go与rust合约语言的示例合约。
完善以下功能特性:
13. TBFT算法重构,优化TBFT消息机制,使用一致性引擎管理节点状态,模块独立可运行。
14. 容器虚拟机(docker go)重构,减少通讯流程,优化任务调度算法,提升执行效率。
15. 重构内部模块回调机制,完善配置类型交易的生效流程。
16. 修复部分合约引擎中部署合约与跨合约调用的事件丢失问题。
17. 修复windows下使用文件存储区块数据问题。
18. 优化与新增了部分区块校验逻辑。
19. 其他功能优化、bug修复。
文档链接:https://docs.chainmaker.org.cn/v2.3.0_alpha/html/instructions/%E7%89%88%E6%9C%AC%E8%BF%AD%E4%BB%A3%E8%AF%B4%E6%98%8E.html#v2.x