NER:关于 Nervos 钱包硬分叉升级与钱包转账服务暂停事件说明_ALLY

各位Nervos社区朋友与imToken用户

2022年5月10日Nervos成功执行Mirana硬分叉升级。在Nervos社区的协调下imToken作为Nervos生态中的钱包服务商第一时间发布了2.10.0系列版本支持升级。

新版本发布后imToken收到来自Nervos社区用户的反馈,发现在使用imToken向Nervos长地址转账时可能会出现异常。

排查问题

收到反馈后imToken与Nervos官方团队建立沟通,随后定位到问题的原因:

Nervos的Mirana升级中引入了新长地址类型Bech32m,Nervos社区常用的ckb-sdk-js也支持了此类地址格式;ckb-sdk-js的地址格式处理过程中未覆盖极端边界场景,会导致将新长地址类型识别成旧长地址类型处理;imToken兼容新老地址过程中调用ckb-sdk-js未能正确处理上述极端边界情况,最终导致向新长地址转账的资金被异常锁定;受影响的用户有多少

通过筛选检查节点日志,从2.10.0版本以来广播的交易中筛选符合上述特征的交易数据,发现极个别用户受到上述问题的影响,经处理所有资金已安全退回受影响的用户钱包;发现问题后imToken将NervosCKB服务进行停机维护,并阻断转账功能,将可能扩大的影响面控制在发现的一刻前;问题如何被处理的

imToken将发布2.10.2版本修复上述问题;低于2.10.2的imToken版本的CKB转账功能在客户端被关闭,收款功能以及余额查询功能不会受到影响;低版本的用户需要升级到经过安全修复的2.10.2后可以正常使用CKB转账功能;学习到了什么

去中心化钱包资产在用户签名那一刻的数据处理正确性极为重要,每个改动都需要全流程进行完整代码审查,不仅钱包自身代码,也包含相关的社区依赖。代码健壮性直接关乎用户资产安全,需要如履薄冰,不得掉以轻心,这是团队和行业里每个人都要谨记于心的最低原则。imToken也将在未来的每一次升级中向生态合作伙伴提供更多的测试合作空间,多方共建以覆盖各种场景与边界;区块链生态发展日新月异,创新者NervosCKB做出不少前沿的改进创造,在钱包地址格式上做出利于长远的改动,这需要社区相关产品在这个过程中更紧密地配合,更好理解变化和建立更好的工程协作。?

imToken&NervosNetwork

2022.05.18SGT

郑重声明: 本文版权归原作者所有, 转载文章仅为传播更多信息之目的, 如作者信息标记有误, 请第一时间联系我们修改或删除, 多谢。

区块博客

[0:15ms0-5:497ms