Trinity钱包开发进度报告 – 8月10日

不出意外,继上周的开发进度报告之后,工作的重点仍然是准备桌面测试版。代码签名所需的准备工作已经接近完成,代码签名可以防止用户下载到假冒官方钱包的恶意应用。在alpha测试中发现的所有重要bug都已经解决,剩下的小的视觉bug也在修复中。我们也对首次使用钱包时的流程做了一些调整,简化了钱包的设置。

在发布之前的其他任务还包括:

  1. Windows PoW库的最终实现。
  2. 对一些额外的代码文档进行整理以便开源repo协议。
  3. 在移动平台上完成SeedVault的实现(见下文)。
  4. 开发一个简化的Mac托盘应用,用于快速查询账户余额和历史。
  5. 增加发送和接收交易时的操作系统通知,这样你就可以坐下来,喝着冰镇啤酒,坐等交易的确认。

正如之前的帖子中所讨论的,我们希望通过采用标准化的加密表单来简化种子的备份:SeedVault(包含种子的受密码保护的KeePass文件)和EncryptedQR(加密二维码)。Trinity项目的初衷是为了在移动和桌面平台上提供无缝的用户体验。随着桌面测试版的发布,我们希望使种子的迁移能够尽可能顺利和安全地进行。我们希望用户能够从移动应用导出SeedVault文件,然后只需将该文件导入到桌面应用中就可继续在PC端使用钱包。因此,在上周,我们一直致力于在移动设备上实现SeedVault导入/导出功能。由于缺少支持Argon2的KeePass读/写mobile库,因此有必要对现有的本地库进行fork以添加支持。这需要一些时间,与此同时,我们提出了一个依赖Node.js的解决方案。这个解决方案的负面影响是不支持iOS 11以下版本的操作系统和armv7架构(例如iPhone 5,5S,5c,iPod Touch-5,iPad-4和iPad Air)。这只是暂时的,当本地库准备就绪时,就可以再次添加对这些设备/操作系统的支持。

我们研究的另一个功能是重新发送失败的交易。目前,如果Trinity中的交易失败,就会存储交易trytes并允许用户从历史页面手动重新发送交易。这样做的原因是inputs(查看什么是交易中的input)已经签名,如果我们再次对其签名,就有可能会泄露私钥。如果不存储失败的trytes,恶意节点就可以存储来自第一次尝试时的签名并且故意不广播该交易。如果你随后重复此交易,则会重新对inputs签名,恶意节点就会得到足够的信息来尝试暴力破解您的私钥。在当前的实现中,当我们要求用户手动重试时,存在一个风险,即用户无法确保该交易当时被广播了。如果用户随后使用其他设备操作钱包,则可能会无意中锁定原始设备上某些inputs中的支出。因此,为了解决这个问题,在交易失败时,我们添加了多节点自动重新广播的功能。此外,如果远程PoW失败,在返回本地做Pow之前,会更换一个节点再次尝试。这样做的主要目的是确保用户在发布交易时能够被发送出去。交易trytes处在未广播状态的时间越长,那么因为使用多个设备操作钱包导致资金被锁定/inputs重签名的机率就会越大。

如果您对该项目有任何疑问,请加入IOTA Discord上的#trinity-discussion频道进行咨询和讨论。

原文链接:https://www.reddit.com/r/Iota/comments/9695x9/trinity_update_10th_august/

inhuman

专栏作者:inhuman

个人简介:我共发表了 189 篇文章,总计被阅读了506,196 次,共获得了 1,848 个赞。

作者邮箱 作者主页 Ta的文章

发表评论

电子邮件地址不会被公开。 必填项已用*标注