直播回顾 | 2022年长安链三季度研发工作总结及四季度计划

2022年长安链三季度研发工作总结及四季度计划由长安链两位架构师老师进行分享并与社区成员进行问答交流。

长安链三季度工作围绕长安链v2.3.0的版本开展,并新增多个重要的周边生态工具:预言机、迁移工具、长安链测试网络等,对文档进行了重构改版。

关于复杂网络支持

长安链v2.3.0版本是长安链新的Lts版本,版本中对P2P网络模块进行了调整,以节点中继及NAT穿透两种方案优化对复杂网络的支持,打通不同网络间的通信。详细内容可查看Liquid对于复杂网络环境适应性的提升

更多内容查看文末视频>>

图1

关于国密支持的增强

《GMT 0024-2014 SSL VPN 技术规范》要求TLS加密证书及签名证书需分开使用,当前长安链TLS配置文件和之前有所不同,RPC与P2P通信私钥和证书的配置都新增了加密的证书私钥,以更加满足国密要求。国密TLS代码也完成了国内其他主流厂商多语言的适配,例如三未信安,江南天安的TLS库加密套件。除此之外开发者也可以基于我们开源开放的多语言TLS国密底层开发其他应用。

区块链系统安全性相对薄弱的一个环节是私钥大部分以明文直接配置到配置文件里,假设服务器被攻破私钥安全可能会得不到保障,为此我们把私钥放到硬件模块里保障私钥安全性,这也满足某些比较严苛的安全检测规范。硬件密码设备我国有我们的国家规范sdf,也存在国际标准pkcs#11,长安链同时满足支持pkcs#11、sdf标准的硬件密码设备。

更多内容查看文末视频>>

图2

关于重构docker go vm

长安链重构docker go vm。本次重构采用自研基于docker的虚拟机,使智能合约实现接近原生程序的性能,根据当前交易情况,智能分配每个智能合约占用的运行资源,最大化资源利用率。docker go vm重构后一方面提升了整体性能,另一方面架构更加清晰合理,方便我们后续拓展其他合约语言,目前java版本合约已经在研发中。

更多内容查看文末视频>>

图3

关于交易池优化

长安链之前提供了single交易池和batch交易池,分别可以逐个处理交易和批量处理交易。在此基础上出于性能考虑可以采用batch交易池,出于更加安全的考虑可以采用single交易池。如何实现既要有性能,又要有安全?为此我们对交易池进行了改造,normal交易池是我们提供的一个选择。其次是交易池dump持久化的问题,在v2.3.0中交易池数据不会因节点停止而丢失,安全性得到提升。

更多内容查看文末视频>>

图4

关于随机交易剔除

引入随机性的智能合约可能导致无法达成共识、无法同步账本、无法验证账本的正确性和一致性等问题,而使用随机函数、获取当前系统时间、外部资源调用、Map迭代、指针地址输出等多种原因都会对合约引入随机性。长安链在v2.3.0引入随机交易剔除方案以解决此问题。

更多内容查看文末视频>>

图5

关于跨合约调用和地址完善

长安链之前没有地址概念,出于对evm的兼容性考虑,长安链v2.3.0开始支持地址的格式。地址分为用户地址和合约地址。用户地址基于公钥生成,合约地址基于合约名Hash生成,长安链v2.3.0之后的版本将支持通过合约地址调用合约。

引入地址概念除evm兼容性的另一个考虑是实现跨虚拟机的跨合约调用,我们之前的跨合约调用支持docker go 之间的跨合约调用,支持evm之间的跨合约调用,而新的v2.3.0版本中我们实现各个语言之间的跨合约调用,例如:DockerGo可以调用Solidity的合约,Solidity也可以调用DockerGo的合约。

更多内容查看文末视频>>

图6

关于生态工具

长安链此版本中上线了迁移工具、长安链开放测试网络以及预言机等应用。我们之前有不同的内容进行了介绍,并设置了对应的活动鼓励大家积极参与体验生态工具。具体内容可以点击视频下方的活动链接了解详情。

更多内容查看文末视频>>

猜你喜欢

转载自blog.csdn.net/weixin_55760491/article/details/127652881